From 2f7fbca49bce30640145feff76bf2b881209796e Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Wed, 2 Oct 2013 14:27:51 +0200 Subject: [PATCH] Added Kavu Predator, Skarrgan Skybreaker, Skarrgan Firebird and Orcish Lumberjack. --- .../mage/sets/guildpact/SkarrganFirebird.java | 52 +++++++ .../sets/guildpact/SkarrganSkybreaker.java | 52 +++++++ .../sets/heroesvsmonsters/KavuPredator.java | 140 ++++++++++++++++++ .../heroesvsmonsters/OrcishLumberjack.java | 126 ++++++++++++++++ .../heroesvsmonsters/SkarrganFirebird.java | 99 +++++++++++++ .../heroesvsmonsters/SkarrganSkybreaker.java | 79 ++++++++++ .../mage/sets/iceage/OrcishLumberjack.java | 52 +++++++ .../mage/sets/planarchaos/KavuPredator.java | 52 +++++++ 8 files changed, 652 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/guildpact/SkarrganFirebird.java create mode 100644 Mage.Sets/src/mage/sets/guildpact/SkarrganSkybreaker.java create mode 100644 Mage.Sets/src/mage/sets/heroesvsmonsters/KavuPredator.java create mode 100644 Mage.Sets/src/mage/sets/heroesvsmonsters/OrcishLumberjack.java create mode 100644 Mage.Sets/src/mage/sets/heroesvsmonsters/SkarrganFirebird.java create mode 100644 Mage.Sets/src/mage/sets/heroesvsmonsters/SkarrganSkybreaker.java create mode 100644 Mage.Sets/src/mage/sets/iceage/OrcishLumberjack.java create mode 100644 Mage.Sets/src/mage/sets/planarchaos/KavuPredator.java diff --git a/Mage.Sets/src/mage/sets/guildpact/SkarrganFirebird.java b/Mage.Sets/src/mage/sets/guildpact/SkarrganFirebird.java new file mode 100644 index 00000000000..cf5af7609d0 --- /dev/null +++ b/Mage.Sets/src/mage/sets/guildpact/SkarrganFirebird.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.guildpact; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class SkarrganFirebird extends mage.sets.heroesvsmonsters.SkarrganFirebird { + + public SkarrganFirebird(UUID ownerId) { + super(ownerId); + this.cardNumber = 77; + this.expansionSetCode = "GPT"; + } + + public SkarrganFirebird(final SkarrganFirebird card) { + super(card); + } + + @Override + public SkarrganFirebird copy() { + return new SkarrganFirebird(this); + } +} diff --git a/Mage.Sets/src/mage/sets/guildpact/SkarrganSkybreaker.java b/Mage.Sets/src/mage/sets/guildpact/SkarrganSkybreaker.java new file mode 100644 index 00000000000..d95f864a485 --- /dev/null +++ b/Mage.Sets/src/mage/sets/guildpact/SkarrganSkybreaker.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.guildpact; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class SkarrganSkybreaker extends mage.sets.heroesvsmonsters.SkarrganSkybreaker { + + public SkarrganSkybreaker(UUID ownerId) { + super(ownerId); + this.cardNumber = 130; + this.expansionSetCode = "GPT"; + } + + public SkarrganSkybreaker(final SkarrganSkybreaker card) { + super(card); + } + + @Override + public SkarrganSkybreaker copy() { + return new SkarrganSkybreaker(this); + } +} diff --git a/Mage.Sets/src/mage/sets/heroesvsmonsters/KavuPredator.java b/Mage.Sets/src/mage/sets/heroesvsmonsters/KavuPredator.java new file mode 100644 index 00000000000..cabd4626fa7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/heroesvsmonsters/KavuPredator.java @@ -0,0 +1,140 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.heroesvsmonsters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class KavuPredator extends CardImpl { + + public KavuPredator(UUID ownerId) { + super(ownerId, 46, "Kavu Predator", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{G}"); + this.expansionSetCode = "DDL"; + this.subtype.add("Kavu"); + + this.color.setGreen(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + // Whenever an opponent gains life, put that many +1/+1 counters on Kavu Predator. + this.addAbility(new KavuPredatorTriggeredAbility()); + } + + public KavuPredator(final KavuPredator card) { + super(card); + } + + @Override + public KavuPredator copy() { + return new KavuPredator(this); + } +} + +class KavuPredatorTriggeredAbility extends TriggeredAbilityImpl { + + public KavuPredatorTriggeredAbility() { + super(Zone.GRAVEYARD, new KavuPredatorEffect()); + } + + public KavuPredatorTriggeredAbility(final KavuPredatorTriggeredAbility ability) { + super(ability); + } + + @Override + public KavuPredatorTriggeredAbility copy() { + return new KavuPredatorTriggeredAbility(this); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType() == GameEvent.EventType.GAINED_LIFE && game.getOpponents(this.controllerId).contains(event.getPlayerId())) { + this.getEffects().get(0).setValue("gainedLife", new Integer(event.getAmount())); + return true; + } + return false; + } + + @Override + public String getRule() { + return "Whenever an opponent gains life, " + super.getRule(); + } +} + +class KavuPredatorEffect extends OneShotEffect { + + public KavuPredatorEffect() { + super(Outcome.BoostCreature); + this.staticText = "put that many +1/+1 counters on {this}"; + } + + public KavuPredatorEffect(final KavuPredatorEffect effect) { + super(effect); + } + + @Override + public KavuPredatorEffect copy() { + return new KavuPredatorEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent permanent = game.getPermanent(source.getSourceId()); + if (permanent != null) { + Integer gainedLife = (Integer) this.getValue("gainedLife"); + if (gainedLife != null) { + permanent.addCounters(CounterType.P1P1.createInstance(gainedLife.intValue()), game); + Player player = game.getPlayer(source.getControllerId()); + if (player != null) { + game.informPlayers(new StringBuilder(player.getName()).append(" puts ").append(gainedLife).append(" +1/+1 counter on ").append(permanent.getName()).toString()); + } + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/sets/heroesvsmonsters/OrcishLumberjack.java b/Mage.Sets/src/mage/sets/heroesvsmonsters/OrcishLumberjack.java new file mode 100644 index 00000000000..3a47e902b09 --- /dev/null +++ b/Mage.Sets/src/mage/sets/heroesvsmonsters/OrcishLumberjack.java @@ -0,0 +1,126 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.heroesvsmonsters; + +import java.util.LinkedHashSet; +import java.util.Set; +import java.util.UUID; +import mage.MageInt; +import mage.Mana; +import mage.abilities.Ability; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.ManaEffect; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.choices.Choice; +import mage.choices.ChoiceImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class OrcishLumberjack extends CardImpl { + + public OrcishLumberjack(UUID ownerId) { + super(ownerId, 44, "Orcish Lumberjack", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{R}"); + this.expansionSetCode = "DDL"; + this.subtype.add("Orc"); + + this.color.setRed(true); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // {tap}, Sacrifice a Forest: Add three mana in any combination of {R} and/or {G} to your mana pool. + Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new OrcishLumberjackManaEffect(), new TapSourceCost()); + ability.addCost(new SacrificeSourceCost()); + this.addAbility(ability); + + } + + public OrcishLumberjack(final OrcishLumberjack card) { + super(card); + } + + @Override + public OrcishLumberjack copy() { + return new OrcishLumberjack(this); + } +} + +class OrcishLumberjackManaEffect extends ManaEffect { + + public OrcishLumberjackManaEffect() { + super(); + this.staticText = "Add three mana in any combination of {R} and/or {G} to your mana pool"; + } + + public OrcishLumberjackManaEffect(final OrcishLumberjackManaEffect effect) { + super(effect); + } + + @Override + public OrcishLumberjackManaEffect copy() { + return new OrcishLumberjackManaEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); + if(player != null){ + Choice manaChoice = new ChoiceImpl(); + Set choices = new LinkedHashSet(); + choices.add("Red"); + choices.add("Green"); + manaChoice.setChoices(choices); + manaChoice.setMessage("Select color of mana to add"); + + for(int i = 0; i < 3; i++){ + Mana mana = new Mana(); + while (!player.choose(Outcome.Benefit, manaChoice, game) && player.isInGame()) { + game.debugMessage("player canceled choosing color. retrying."); + } + + if (manaChoice.getChoice().equals("Green")) { + mana.addGreen(); + } else if (manaChoice.getChoice().equals("Red")) { + mana.addRed(); + } + player.getManaPool().addMana(mana, game, source); + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/sets/heroesvsmonsters/SkarrganFirebird.java b/Mage.Sets/src/mage/sets/heroesvsmonsters/SkarrganFirebird.java new file mode 100644 index 00000000000..d05451b998b --- /dev/null +++ b/Mage.Sets/src/mage/sets/heroesvsmonsters/SkarrganFirebird.java @@ -0,0 +1,99 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.heroesvsmonsters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.condition.Condition; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; +import mage.abilities.keyword.BloodthirstAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.game.Game; +import mage.watchers.common.BloodthirstWatcher; + +/** + * + * @author LevelX2 + */ +public class SkarrganFirebird extends CardImpl { + + public SkarrganFirebird(UUID ownerId) { + super(ownerId, 57, "Skarrgan Firebird", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{4}{R}{R}"); + this.expansionSetCode = "DDL"; + this.subtype.add("Phoenix"); + + this.color.setRed(true); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Bloodthirst 3 + this.addAbility(new BloodthirstAbility(3)); + // Flying + this.addAbility(FlyingAbility.getInstance()); + // {R}{R}{R}: Return Skarrgan Firebird from your graveyard to your hand. Activate this ability only if an opponent was dealt damage this turn. + this.addAbility(new ConditionalActivatedAbility( + Zone.GRAVEYARD, + new ReturnSourceFromGraveyardToHandEffect(), + new ManaCostsImpl("{R}{R}{R}"), + new OpponentWasDealtDamageCondition(), + null)); + } + + public SkarrganFirebird(final SkarrganFirebird card) { + super(card); + } + + @Override + public SkarrganFirebird copy() { + return new SkarrganFirebird(this); + } +} + +class OpponentWasDealtDamageCondition implements Condition { + + public OpponentWasDealtDamageCondition() { + } + + @Override + public boolean apply(Game game, Ability source) { + BloodthirstWatcher watcher = (BloodthirstWatcher) game.getState().getWatchers().get("DamagedOpponents", source.getControllerId()); + return !watcher.conditionMet(); + } + + @Override + public String toString() { + return "an opponent was dealt damage this turn"; + } +} diff --git a/Mage.Sets/src/mage/sets/heroesvsmonsters/SkarrganSkybreaker.java b/Mage.Sets/src/mage/sets/heroesvsmonsters/SkarrganSkybreaker.java new file mode 100644 index 00000000000..e1623068c1b --- /dev/null +++ b/Mage.Sets/src/mage/sets/heroesvsmonsters/SkarrganSkybreaker.java @@ -0,0 +1,79 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.heroesvsmonsters; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.dynamicvalue.common.SourcePermanentPowerCount; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.keyword.BloodthirstAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; +import mage.constants.Zone; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author LevelX2 + */ +public class SkarrganSkybreaker extends CardImpl { + + public SkarrganSkybreaker(UUID ownerId) { + super(ownerId, 60, "Skarrgan Skybreaker", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{4}{R}{R}{G}"); + this.expansionSetCode = "DDL"; + this.subtype.add("Giant"); + this.subtype.add("Shaman"); + + this.color.setRed(true); + this.color.setGreen(true); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Bloodthirst 3 + this.addAbility(new BloodthirstAbility(3)); + // {1}, Sacrifice Skarrgan Skybreaker: Skarrgan Skybreaker deals damage equal to its power to target creature or player. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(new SourcePermanentPowerCount()), new GenericManaCost(1)); + ability.addCost(new SacrificeSourceCost()); + ability.addTarget(new TargetCreatureOrPlayer(true)); + this.addAbility(ability); + } + + public SkarrganSkybreaker(final SkarrganSkybreaker card) { + super(card); + } + + @Override + public SkarrganSkybreaker copy() { + return new SkarrganSkybreaker(this); + } +} diff --git a/Mage.Sets/src/mage/sets/iceage/OrcishLumberjack.java b/Mage.Sets/src/mage/sets/iceage/OrcishLumberjack.java new file mode 100644 index 00000000000..47094456095 --- /dev/null +++ b/Mage.Sets/src/mage/sets/iceage/OrcishLumberjack.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.iceage; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class OrcishLumberjack extends mage.sets.heroesvsmonsters.OrcishLumberjack { + + public OrcishLumberjack(UUID ownerId) { + super(ownerId); + this.cardNumber = 210; + this.expansionSetCode = "ICE"; + } + + public OrcishLumberjack(final OrcishLumberjack card) { + super(card); + } + + @Override + public OrcishLumberjack copy() { + return new OrcishLumberjack(this); + } +} diff --git a/Mage.Sets/src/mage/sets/planarchaos/KavuPredator.java b/Mage.Sets/src/mage/sets/planarchaos/KavuPredator.java new file mode 100644 index 00000000000..a227b5f2d31 --- /dev/null +++ b/Mage.Sets/src/mage/sets/planarchaos/KavuPredator.java @@ -0,0 +1,52 @@ +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.sets.planarchaos; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class KavuPredator extends mage.sets.heroesvsmonsters.KavuPredator { + + public KavuPredator(UUID ownerId) { + super(ownerId); + this.cardNumber = 132; + this.expansionSetCode = "PLC"; + } + + public KavuPredator(final KavuPredator card) { + super(card); + } + + @Override + public KavuPredator copy() { + return new KavuPredator(this); + } +}