From cf41b3f4b20adaf76abe52f2f059bc5f2942f32b Mon Sep 17 00:00:00 2001 From: Loki Date: Mon, 20 Dec 2010 00:33:07 +0200 Subject: [PATCH 1/3] WWK --- .../sets/worldwake/AvengerofZendikar.java | 115 ++++++++++++++ .../src/mage/sets/worldwake/BattleHurda.java | 63 ++++++++ .../src/mage/sets/worldwake/BullRush.java | 62 ++++++++ .../mage/sets/worldwake/ClawsofValakut.java | 145 ++++++++++++++++++ .../src/mage/sets/worldwake/CosisRavager.java | 68 ++++++++ .../mage/sets/worldwake/CreepingTarPit.java | 82 ++++++++++ .../mage/sets/worldwake/CunningSparkmage.java | 73 +++++++++ .../mage/sets/worldwake/FledglingGriffin.java | 66 ++++++++ .../mage/sets/worldwake/GoblinRoughrider.java | 62 ++++++++ .../mage/sets/worldwake/GoliathSphinx.java | 63 ++++++++ .../mage/sets/worldwake/GrapplerSpider.java | 65 ++++++++ .../src/mage/sets/worldwake/HedronRover.java | 64 ++++++++ .../src/mage/sets/worldwake/HorizonDrake.java | 74 +++++++++ .../mage/sets/worldwake/IonasJudgment.java | 71 +++++++++ .../src/mage/sets/worldwake/JagwaspSwarm.java | 65 ++++++++ .../src/mage/sets/worldwake/JointheRanks.java | 60 ++++++++ .../src/mage/sets/worldwake/KhalniGarden.java | 16 +- .../mage/sets/worldwake/KorFirewalker.java | 114 ++++++++++++++ .../sets/worldwake/LeatherbackBaloth.java | 61 ++++++++ .../mage/sets/worldwake/MarshThreader.java | 64 ++++++++ .../src/mage/sets/worldwake/PilgrimsEye.java | 79 ++++++++++ .../mage/sets/worldwake/SnappingCreeper.java | 67 ++++++++ .../mage/sets/worldwake/VeteransReflexes.java | 65 ++++++++ .../mage/game/permanent/token/PlantToken.java | 15 ++ .../game/permanent/token/SoldierToken.java | 2 +- .../target/common/TargetBasicLandCard.java | 3 +- 26 files changed, 1667 insertions(+), 17 deletions(-) create mode 100644 Mage.Sets/src/mage/sets/worldwake/AvengerofZendikar.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/BattleHurda.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/BullRush.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/ClawsofValakut.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/CosisRavager.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/CreepingTarPit.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/CunningSparkmage.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/FledglingGriffin.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/GoblinRoughrider.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/GoliathSphinx.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/GrapplerSpider.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/HedronRover.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/HorizonDrake.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/IonasJudgment.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/JagwaspSwarm.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/JointheRanks.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/KorFirewalker.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/LeatherbackBaloth.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/MarshThreader.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/PilgrimsEye.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/SnappingCreeper.java create mode 100644 Mage.Sets/src/mage/sets/worldwake/VeteransReflexes.java create mode 100644 Mage/src/mage/game/permanent/token/PlantToken.java diff --git a/Mage.Sets/src/mage/sets/worldwake/AvengerofZendikar.java b/Mage.Sets/src/mage/sets/worldwake/AvengerofZendikar.java new file mode 100644 index 0000000000..62049d587b --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/AvengerofZendikar.java @@ -0,0 +1,115 @@ +/* + * 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.worldwake; + +import java.util.UUID; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Duration; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.common.LandfallAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.AddPlusOneCountersControlledEffect; +import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; +import mage.filter.FilterPermanent; +import mage.game.Game; +import mage.game.permanent.token.PlantToken; +import mage.game.permanent.token.Token; + +/** + * + * @author Loki + */ +public class AvengerofZendikar extends CardImpl { + private static FilterPermanent filter = new FilterPermanent("Plant creature"); + + static { + filter.getCardType().add(CardType.CREATURE); + filter.setScopeCardType(ComparisonScope.Any); + filter.getSubtype().add("Plant"); + filter.setScopeSubtype(ComparisonScope.Any); + } + + public AvengerofZendikar (UUID ownerId) { + super(ownerId, 96, "Avenger of Zendikar", Rarity.MYTHIC, new CardType[]{CardType.CREATURE}, "{5}{G}{G}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Elemental"); + this.color.setGreen(true); + this.power = new MageInt(5); + this.toughness = new MageInt(5); + this.addAbility(new EntersBattlefieldAbility(new AvengerofZendikarTokensCreateEffect(), "put a 0/1 green Plant creature token onto the battlefield for each land you control")); + this.addAbility(new LandfallAbility(new AddPlusOneCountersControlledEffect(1, filter), false)); + } + + public AvengerofZendikar (final AvengerofZendikar card) { + super(card); + } + + @Override + public AvengerofZendikar copy() { + return new AvengerofZendikar(this); + } +} + +class AvengerofZendikarTokensCreateEffect extends OneShotEffect { + private static FilterPermanent filter = new FilterPermanent(); + private Token token = new PlantToken(); + + static { + filter.getCardType().add(CardType.LAND); + filter.setScopeCardType(ComparisonScope.Any); + } + + public AvengerofZendikarTokensCreateEffect() { + super(Constants.Outcome.PutCreatureInPlay); + } + + public AvengerofZendikarTokensCreateEffect(final AvengerofZendikarTokensCreateEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + for (int i = 0; i < game.getBattlefield().countAll(filter); i++) { + token.putOntoBattlefield(game, source.getId(), source.getControllerId()); + } + return true; + } + + @Override + public AvengerofZendikarTokensCreateEffect copy() { + return new AvengerofZendikarTokensCreateEffect(this); + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/worldwake/BattleHurda.java b/Mage.Sets/src/mage/sets/worldwake/BattleHurda.java new file mode 100644 index 0000000000..b3dffa0f48 --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/BattleHurda.java @@ -0,0 +1,63 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.cards.CardImpl; + +/** + * + * @author Loki + */ +public class BattleHurda extends CardImpl { + + public BattleHurda (UUID ownerId) { + super(ownerId, 4, "Battle Hurda", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{4}{W}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Giant"); + this.color.setWhite(true); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + this.addAbility(FirstStrikeAbility.getInstance()); + } + + public BattleHurda (final BattleHurda card) { + super(card); + } + + @Override + public BattleHurda copy() { + return new BattleHurda(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/BullRush.java b/Mage.Sets/src/mage/sets/worldwake/BullRush.java new file mode 100644 index 0000000000..6c32c35e0c --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/BullRush.java @@ -0,0 +1,62 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Duration; +import mage.Constants.Rarity; +import mage.abilities.effects.common.BoostTargetEffect; +import mage.cards.CardImpl; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Loki + */ +public class BullRush extends CardImpl { + + public BullRush (UUID ownerId) { + super(ownerId, 73, "Bull Rush", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{R}"); + this.expansionSetCode = "WWK"; + this.color.setRed(true); + this.getSpellAbility().addEffect(new BoostTargetEffect(2, 0, Duration.EndOfTurn)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + } + + public BullRush (final BullRush card) { + super(card); + } + + @Override + public BullRush copy() { + return new BullRush(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/ClawsofValakut.java b/Mage.Sets/src/mage/sets/worldwake/ClawsofValakut.java new file mode 100644 index 0000000000..c246c7979b --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/ClawsofValakut.java @@ -0,0 +1,145 @@ +/* + * 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.worldwake; + +import java.util.UUID; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Duration; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.ContinuousEffectImpl; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.filter.common.FilterLandPermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Loki + */ +public class ClawsofValakut extends CardImpl { + + public ClawsofValakut (UUID ownerId) { + super(ownerId, 75, "Claws of Valakut", Rarity.COMMON, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}{R}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Aura"); + this.color.setRed(true); + + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Constants.Outcome.BoostCreature)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ClawsofValakutEffect())); + + } + + public ClawsofValakut (final ClawsofValakut card) { + super(card); + } + + @Override + public ClawsofValakut copy() { + return new ClawsofValakut(this); + } + +} + +class ClawsofValakutEffect extends ContinuousEffectImpl { + + private static FilterLandPermanent filter = new FilterLandPermanent("Mountain"); + + static { + filter.getSubtype().add("Mountain"); + } + + public ClawsofValakutEffect() { + super(Duration.WhileOnBattlefield, Constants.Outcome.BoostCreature); + } + + public ClawsofValakutEffect(final ClawsofValakutEffect effect) { + super(effect); + } + + @Override + public ClawsofValakutEffect copy() { + return new ClawsofValakutEffect(this); + } + + @Override + public boolean apply(Constants.Layer layer, Constants.SubLayer sublayer, Ability source, Game game) { + Permanent enchantment = game.getPermanent(source.getSourceId()); + if (enchantment != null && enchantment.getAttachedTo() != null) { + Permanent creature = game.getPermanent(enchantment.getAttachedTo()); + if (creature != null) { + switch (layer) { + case PTChangingEffects_7: + if (sublayer == Constants.SubLayer.ModifyPT_7c) { + int amount = game.getBattlefield().countAll(filter, source.getControllerId()); + creature.addPower(amount); + } + break; + case AbilityAddingRemovingEffects_6: + if (sublayer == Constants.SubLayer.NA) { + creature.addAbility(FirstStrikeAbility.getInstance()); + } + break; + } + return true; + } + } + return false; + } + + @Override + public boolean apply(Game game, Ability source) { + return false; + } + + @Override + public boolean hasLayer(Constants.Layer layer) { + return layer == Constants.Layer.AbilityAddingRemovingEffects_6 || layer == layer.PTChangingEffects_7; + } + + @Override + public String getText(Ability source) { + return "Enchanted creature gets +1/+0 for each Mountain you control and has first strike."; + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/CosisRavager.java b/Mage.Sets/src/mage/sets/worldwake/CosisRavager.java new file mode 100644 index 0000000000..31871b2974 --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/CosisRavager.java @@ -0,0 +1,68 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.LandfallAbility; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.target.TargetPlayer; + +/** + * + * @author Loki + */ +public class CosisRavager extends CardImpl { + + public CosisRavager (UUID ownerId) { + super(ownerId, 77, "Cosi's Ravager", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{3}{R}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Elemental"); + this.color.setRed(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + Ability ability = new LandfallAbility(new DamageTargetEffect(1), false); + ability.addTarget(new TargetPlayer()); + this.addAbility(ability); + } + + public CosisRavager (final CosisRavager card) { + super(card); + } + + @Override + public CosisRavager copy() { + return new CosisRavager(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/CreepingTarPit.java b/Mage.Sets/src/mage/sets/worldwake/CreepingTarPit.java new file mode 100644 index 0000000000..23b622fd06 --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/CreepingTarPit.java @@ -0,0 +1,82 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.keyword.UnblockableAbility; +import mage.abilities.mana.BlackManaAbility; +import mage.abilities.mana.BlueManaAbility; +import mage.cards.CardImpl; +import mage.game.permanent.token.Token; + +/** + * + * @author Loki + */ +public class CreepingTarPit extends CardImpl { + + public CreepingTarPit (UUID ownerId) { + super(ownerId, 134, "Creeping Tar Pit", Rarity.RARE, new CardType[]{CardType.LAND}, null); + this.expansionSetCode = "WWK"; + this.addAbility(new EntersBattlefieldTappedAbility()); + this.addAbility(new BlueManaAbility()); + this.addAbility(new BlackManaAbility()); + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new mage.abilities.effects.common.BecomesCreatureSourceEOTEffect(new CreepingTarPitToken(), "land"), new ManaCostsImpl("{1}{U}{B}"))); + } + + public CreepingTarPit (final CreepingTarPit card) { + super(card); + } + + @Override + public CreepingTarPit copy() { + return new CreepingTarPit(this); + } + +} + +class CreepingTarPitToken extends Token { + public CreepingTarPitToken() { + super("", "3/2 blue and black Elemental creature and is unblockable"); + cardType.add(CardType.CREATURE); + subtype.add("Elemental"); + color.setBlue(true); + color.setBlack(true); + power = new MageInt(3); + toughness = new MageInt(2); + this.addAbility(UnblockableAbility.getInstance()); + } +} diff --git a/Mage.Sets/src/mage/sets/worldwake/CunningSparkmage.java b/Mage.Sets/src/mage/sets/worldwake/CunningSparkmage.java new file mode 100644 index 0000000000..0d0e63ee20 --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/CunningSparkmage.java @@ -0,0 +1,73 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author Loki + */ +public class CunningSparkmage extends CardImpl { + + public CunningSparkmage (UUID ownerId) { + super(ownerId, 79, "Cunning Sparkmage", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{R}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Human"); + this.subtype.add("Shaman"); + this.color.setRed(true); + this.power = new MageInt(0); + this.toughness = new MageInt(1); + this.addAbility(HasteAbility.getInstance()); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); + ability.addTarget(new TargetCreatureOrPlayer()); + this.addAbility(ability); + } + + public CunningSparkmage (final CunningSparkmage card) { + super(card); + } + + @Override + public CunningSparkmage copy() { + return new CunningSparkmage(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/FledglingGriffin.java b/Mage.Sets/src/mage/sets/worldwake/FledglingGriffin.java new file mode 100644 index 0000000000..7193232fd3 --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/FledglingGriffin.java @@ -0,0 +1,66 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Duration; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.LandfallAbility; +import mage.abilities.effects.common.GainAbilitySourceEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; + +/** + * + * @author Loki + */ +public class FledglingGriffin extends CardImpl { + + public FledglingGriffin (UUID ownerId) { + super(ownerId, 5, "Fledgling Griffin", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{W}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Griffin"); + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + this.addAbility(new LandfallAbility(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), false)); + } + + public FledglingGriffin (final FledglingGriffin card) { + super(card); + } + + @Override + public FledglingGriffin copy() { + return new FledglingGriffin(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/GoblinRoughrider.java b/Mage.Sets/src/mage/sets/worldwake/GoblinRoughrider.java new file mode 100644 index 0000000000..760e610615 --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/GoblinRoughrider.java @@ -0,0 +1,62 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.cards.CardImpl; + +/** + * + * @author Loki + */ +public class GoblinRoughrider extends CardImpl { + + public GoblinRoughrider (UUID ownerId) { + super(ownerId, 82, "Goblin Roughrider", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{R}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Goblin"); + this.subtype.add("Knight"); + this.color.setRed(true); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + } + + public GoblinRoughrider (final GoblinRoughrider card) { + super(card); + } + + @Override + public GoblinRoughrider copy() { + return new GoblinRoughrider(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/GoliathSphinx.java b/Mage.Sets/src/mage/sets/worldwake/GoliathSphinx.java new file mode 100644 index 0000000000..2b3fc2f99d --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/GoliathSphinx.java @@ -0,0 +1,63 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; + +/** + * + * @author Loki + */ +public class GoliathSphinx extends CardImpl { + + public GoliathSphinx (UUID ownerId) { + super(ownerId, 28, "Goliath Sphinx", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{5}{U}{U}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Sphinx"); + this.color.setBlue(true); + this.power = new MageInt(8); + this.toughness = new MageInt(7); + this.addAbility(FlyingAbility.getInstance()); + } + + public GoliathSphinx (final GoliathSphinx card) { + super(card); + } + + @Override + public GoliathSphinx copy() { + return new GoliathSphinx(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/GrapplerSpider.java b/Mage.Sets/src/mage/sets/worldwake/GrapplerSpider.java new file mode 100644 index 0000000000..8138fc5402 --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/GrapplerSpider.java @@ -0,0 +1,65 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Duration; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.MageInt; +import mage.abilities.keyword.ReachAbility; +import mage.cards.CardImpl; + +/** + * + * @author Loki + */ +public class GrapplerSpider extends CardImpl { + + public GrapplerSpider (UUID ownerId) { + super(ownerId, 102, "Grappler Spider", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{G}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Spider"); + this.color.setGreen(true); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + this.addAbility(ReachAbility.getInstance()); + } + + public GrapplerSpider (final GrapplerSpider card) { + super(card); + } + + @Override + public GrapplerSpider copy() { + return new GrapplerSpider(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/HedronRover.java b/Mage.Sets/src/mage/sets/worldwake/HedronRover.java new file mode 100644 index 0000000000..964ed41b10 --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/HedronRover.java @@ -0,0 +1,64 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Duration; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.LandfallAbility; +import mage.abilities.effects.common.BoostSourceEffect; +import mage.cards.CardImpl; + +/** + * + * @author Loki + */ +public class HedronRover extends CardImpl { + + public HedronRover (UUID ownerId) { + super(ownerId, 125, "Hedron Rover", Rarity.COMMON, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Construct"); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + this.addAbility(new LandfallAbility(new BoostSourceEffect(2, 2, Duration.EndOfTurn), false)); + } + + public HedronRover (final HedronRover card) { + super(card); + } + + @Override + public HedronRover copy() { + return new HedronRover(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/HorizonDrake.java b/Mage.Sets/src/mage/sets/worldwake/HorizonDrake.java new file mode 100644 index 0000000000..0040aad8dd --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/HorizonDrake.java @@ -0,0 +1,74 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.ProtectionAbility; +import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; +import mage.filter.FilterCard; + +/** + * + * @author Loki + */ +public class HorizonDrake extends CardImpl { + + private static FilterCard filter = new FilterCard("lands"); + + static { + filter.getCardType().add(CardType.LAND); + filter.setScopeCardType(ComparisonScope.Any); + } + + public HorizonDrake (UUID ownerId) { + super(ownerId, 30, "Horizon Drake", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{U}{U}"); + this.expansionSetCode = "WWK"; + this.subtype.add(""); + this.color.setBlue(true); + this.power = new MageInt(3); + this.toughness = new MageInt(1); + this.addAbility(FlyingAbility.getInstance()); + this.addAbility(new ProtectionAbility(filter)); + } + + public HorizonDrake (final HorizonDrake card) { + super(card); + } + + @Override + public HorizonDrake copy() { + return new HorizonDrake(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/IonasJudgment.java b/Mage.Sets/src/mage/sets/worldwake/IonasJudgment.java new file mode 100644 index 0000000000..1bb045ac2c --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/IonasJudgment.java @@ -0,0 +1,71 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.effects.common.ExileTargetEffect; +import mage.cards.CardImpl; +import mage.filter.Filter.ComparisonScope; +import mage.filter.FilterPermanent; +import mage.target.TargetPermanent; + +/** + * + * @author Loki + */ +public class IonasJudgment extends CardImpl { + private static FilterPermanent filter = new FilterPermanent("creature or enchantment"); + + static { + filter.getCardType().add(CardType.CREATURE); + filter.getCardType().add(CardType.ENCHANTMENT); + filter.setScopeCardType(ComparisonScope.Any); + } + + public IonasJudgment (UUID ownerId) { + super(ownerId, 8, "Iona's Judgment", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{4}{W}"); + this.expansionSetCode = "WWK"; + this.color.setWhite(true); + this.getSpellAbility().addEffect(new ExileTargetEffect()); + this.getSpellAbility().addTarget(new TargetPermanent(filter)); + + } + + public IonasJudgment (final IonasJudgment card) { + super(card); + } + + @Override + public IonasJudgment copy() { + return new IonasJudgment(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/JagwaspSwarm.java b/Mage.Sets/src/mage/sets/worldwake/JagwaspSwarm.java new file mode 100644 index 0000000000..b35f756732 --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/JagwaspSwarm.java @@ -0,0 +1,65 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Duration; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.MageInt; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; + +/** + * + * @author Loki + */ +public class JagwaspSwarm extends CardImpl { + + public JagwaspSwarm (UUID ownerId) { + super(ownerId, 58, "Jagwasp Swarm", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{3}{B}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Insect"); + this.color.setBlack(true); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + this.addAbility(FlyingAbility.getInstance()); + } + + public JagwaspSwarm (final JagwaspSwarm card) { + super(card); + } + + @Override + public JagwaspSwarm copy() { + return new JagwaspSwarm(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/JointheRanks.java b/Mage.Sets/src/mage/sets/worldwake/JointheRanks.java new file mode 100644 index 0000000000..181c031e6c --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/JointheRanks.java @@ -0,0 +1,60 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.cards.CardImpl; +import mage.game.permanent.token.SoldierToken; + +/** + * + * @author Loki + */ +public class JointheRanks extends CardImpl { + + public JointheRanks (UUID ownerId) { + super(ownerId, 9, "Join the Ranks", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{3}{W}"); + this.expansionSetCode = "WWK"; + this.color.setWhite(true); + this.getSpellAbility().addEffect(new CreateTokenEffect(new SoldierToken(), 2)); + } + + public JointheRanks (final JointheRanks card) { + super(card); + } + + @Override + public JointheRanks copy() { + return new JointheRanks(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/KhalniGarden.java b/Mage.Sets/src/mage/sets/worldwake/KhalniGarden.java index 75507f9f41..5994fc72de 100644 --- a/Mage.Sets/src/mage/sets/worldwake/KhalniGarden.java +++ b/Mage.Sets/src/mage/sets/worldwake/KhalniGarden.java @@ -31,13 +31,12 @@ package mage.sets.worldwake; import java.util.UUID; import mage.Constants.CardType; import mage.Constants.Rarity; -import mage.MageInt; import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; -import mage.game.permanent.token.Token; +import mage.game.permanent.token.PlantToken; /** * @@ -68,16 +67,3 @@ public class KhalniGarden extends CardImpl { } } - -class PlantToken extends Token { - - public PlantToken() { - super("Plant", "0/1 green Plant creature"); - cardType.add(CardType.CREATURE); - color.setGreen(true); - subtype.add("Plant"); - power = new MageInt(0); - toughness = new MageInt(1); - } - -} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/worldwake/KorFirewalker.java b/Mage.Sets/src/mage/sets/worldwake/KorFirewalker.java new file mode 100644 index 0000000000..8e68150890 --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/KorFirewalker.java @@ -0,0 +1,114 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Duration; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.MageInt; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.keyword.ProtectionAbility; +import mage.cards.CardImpl; +import mage.filter.FilterCard; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.stack.Spell; + +/** + * + * @author Loki + */ +public class KorFirewalker extends CardImpl { + private static FilterCard filter = new FilterCard("Red"); + + static { + filter.setUseColor(true); + filter.getColor().setRed(true); + } + + public KorFirewalker (UUID ownerId) { + super(ownerId, 11, "Kor Firewalker", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{W}{W}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Kor"); + this.subtype.add("Soldier"); + this.color.setWhite(true); + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + this.addAbility(new ProtectionAbility(filter)); + this.addAbility(new KorFirewalkerAbility()); + + } + + public KorFirewalker (final KorFirewalker card) { + super(card); + } + + @Override + public KorFirewalker copy() { + return new KorFirewalker(this); + } + +} + +class KorFirewalkerAbility extends TriggeredAbilityImpl { + + public KorFirewalkerAbility() { + super(Zone.BATTLEFIELD, new GainLifeEffect(1), true); + } + + public KorFirewalkerAbility(final KorFirewalkerAbility ability) { + super(ability); + } + + @Override + public KorFirewalkerAbility copy() { + return new KorFirewalkerAbility(this); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType() == GameEvent.EventType.SPELL_CAST) { + Spell spell = game.getStack().getSpell(event.getTargetId()); + if (spell != null && spell.getColor().isRed()) { + return true; + } + } + return false; + } + + @Override + public String getRule() { + return "Whenever a player casts a red spell, you may gain 1 life."; + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/worldwake/LeatherbackBaloth.java b/Mage.Sets/src/mage/sets/worldwake/LeatherbackBaloth.java new file mode 100644 index 0000000000..dd871973b2 --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/LeatherbackBaloth.java @@ -0,0 +1,61 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.cards.CardImpl; + +/** + * + * @author Loki + */ +public class LeatherbackBaloth extends CardImpl { + + public LeatherbackBaloth (UUID ownerId) { + super(ownerId, 107, "Leatherback Baloth", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{G}{G}{G}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Beast"); + this.color.setGreen(true); + this.power = new MageInt(4); + this.toughness = new MageInt(5); + } + + public LeatherbackBaloth (final LeatherbackBaloth card) { + super(card); + } + + @Override + public LeatherbackBaloth copy() { + return new LeatherbackBaloth(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/MarshThreader.java b/Mage.Sets/src/mage/sets/worldwake/MarshThreader.java new file mode 100644 index 0000000000..4edb849db3 --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/MarshThreader.java @@ -0,0 +1,64 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.keyword.SwampwalkAbility; +import mage.cards.CardImpl; + +/** + * + * @author Loki + */ +public class MarshThreader extends CardImpl { + + public MarshThreader (UUID ownerId) { + super(ownerId, 14, "Marsh Threader", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{W}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Kor"); + this.subtype.add("Scout"); + this.color.setWhite(true); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + this.addAbility(new SwampwalkAbility()); + } + + public MarshThreader (final MarshThreader card) { + super(card); + } + + @Override + public MarshThreader copy() { + return new MarshThreader(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/PilgrimsEye.java b/Mage.Sets/src/mage/sets/worldwake/PilgrimsEye.java new file mode 100644 index 0000000000..a2a07ec366 --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/PilgrimsEye.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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Duration; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.effects.common.SearchLibraryPutInHandEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.filter.Filter; +import mage.filter.FilterCard; +import mage.target.common.TargetBasicLandCard; +import mage.target.common.TargetCardInLibrary; + +/** + * + * @author Loki + */ +public class PilgrimsEye extends CardImpl { + private static FilterCard filter = new FilterCard("basic land card"); + + static { + filter.getSupertype().add("Basic"); + filter.setScopeSupertype(Filter.ComparisonScope.Any); + filter.getCardType().add(CardType.LAND); + filter.setScopeCardType(Filter.ComparisonScope.Any); + } + + public PilgrimsEye (UUID ownerId) { + super(ownerId, 128, "Pilgrim's Eye", Rarity.COMMON, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Thopter"); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + this.addAbility(FlyingAbility.getInstance()); + this.addAbility(new EntersBattlefieldAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter)), "you may search your library for a basic land card, reveal it, put it into your hand, then shuffle your library")); + } + + public PilgrimsEye (final PilgrimsEye card) { + super(card); + } + + @Override + public PilgrimsEye copy() { + return new PilgrimsEye(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/SnappingCreeper.java b/Mage.Sets/src/mage/sets/worldwake/SnappingCreeper.java new file mode 100644 index 0000000000..9e1defdd87 --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/SnappingCreeper.java @@ -0,0 +1,67 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Duration; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.MageInt; +import mage.abilities.common.LandfallAbility; +import mage.abilities.effects.common.GainAbilitySourceEffect; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; + +/** + * + * @author Loki + */ +public class SnappingCreeper extends CardImpl { + + public SnappingCreeper (UUID ownerId) { + super(ownerId, 112, "Snapping Creeper", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{G}"); + this.expansionSetCode = "WWK"; + this.subtype.add("Plant"); + this.color.setGreen(true); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + this.addAbility(new LandfallAbility(new GainAbilitySourceEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), false)); + } + + public SnappingCreeper (final SnappingCreeper card) { + super(card); + } + + @Override + public SnappingCreeper copy() { + return new SnappingCreeper(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/worldwake/VeteransReflexes.java b/Mage.Sets/src/mage/sets/worldwake/VeteransReflexes.java new file mode 100644 index 0000000000..d6dc27cc06 --- /dev/null +++ b/Mage.Sets/src/mage/sets/worldwake/VeteransReflexes.java @@ -0,0 +1,65 @@ +/* + * 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.worldwake; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Duration; +import mage.Constants.Rarity; +import mage.Constants.Zone; +import mage.abilities.effects.common.BoostTargetEffect; +import mage.abilities.effects.common.UntapTargetEffect; +import mage.cards.CardImpl; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Loki + */ +public class VeteransReflexes extends CardImpl { + + public VeteransReflexes (UUID ownerId) { + super(ownerId, 23, "Veteran's Reflexes", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{W}"); + this.expansionSetCode = "WWK"; + this.color.setWhite(true); + this.getSpellAbility().addEffect(new BoostTargetEffect(1, 1, Duration.EndOfTurn)); + this.getSpellAbility().addEffect(new UntapTargetEffect()); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + } + + public VeteransReflexes (final VeteransReflexes card) { + super(card); + } + + @Override + public VeteransReflexes copy() { + return new VeteransReflexes(this); + } + +} diff --git a/Mage/src/mage/game/permanent/token/PlantToken.java b/Mage/src/mage/game/permanent/token/PlantToken.java new file mode 100644 index 0000000000..35bae0195e --- /dev/null +++ b/Mage/src/mage/game/permanent/token/PlantToken.java @@ -0,0 +1,15 @@ +package mage.game.permanent.token; + +import mage.Constants.CardType; +import mage.MageInt; + +public class PlantToken extends Token { + public PlantToken() { + super("Plant", "0/1 green Plant creature"); + cardType.add(CardType.CREATURE); + color.setGreen(true); + subtype.add("Plant"); + power = new MageInt(0); + toughness = new MageInt(1); + } +} diff --git a/Mage/src/mage/game/permanent/token/SoldierToken.java b/Mage/src/mage/game/permanent/token/SoldierToken.java index 556d34cee5..eeaa460a30 100644 --- a/Mage/src/mage/game/permanent/token/SoldierToken.java +++ b/Mage/src/mage/game/permanent/token/SoldierToken.java @@ -41,7 +41,7 @@ public class SoldierToken extends Token { public SoldierToken() { super("Soldier", "1/1 white Soldier creature token"); cardType.add(CardType.CREATURE); - color = ObjectColor.GREEN; + color = ObjectColor.WHITE; subtype.add("Soldier"); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/mage/target/common/TargetBasicLandCard.java b/Mage/src/mage/target/common/TargetBasicLandCard.java index b6b477222d..33a37febcc 100644 --- a/Mage/src/mage/target/common/TargetBasicLandCard.java +++ b/Mage/src/mage/target/common/TargetBasicLandCard.java @@ -28,6 +28,7 @@ package mage.target.common; +import mage.Constants.CardType; import mage.Constants.Zone; import mage.filter.Filter.ComparisonScope; import mage.target.TargetCard; @@ -42,7 +43,7 @@ public class TargetBasicLandCard extends TargetCard { super(zone); filter.getSupertype().add("Basic"); filter.setScopeSupertype(ComparisonScope.Any); - filter.getCardType().add("Land"); + filter.getCardType().add(CardType.LAND); filter.setScopeCardType(ComparisonScope.Any); } From 13648d773eb181e53368419d1142bc919da4d865 Mon Sep 17 00:00:00 2001 From: BetaSteward Date: Sun, 19 Dec 2010 22:42:32 -0500 Subject: [PATCH 2/3] fixes --- .../effects/common/ReturnToHandTargetEffect.java | 11 +++++------ Mage/src/mage/game/permanent/PermanentImpl.java | 8 ++------ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/Mage/src/mage/abilities/effects/common/ReturnToHandTargetEffect.java b/Mage/src/mage/abilities/effects/common/ReturnToHandTargetEffect.java index acb150d039..88326bcf15 100644 --- a/Mage/src/mage/abilities/effects/common/ReturnToHandTargetEffect.java +++ b/Mage/src/mage/abilities/effects/common/ReturnToHandTargetEffect.java @@ -64,15 +64,13 @@ public class ReturnToHandTargetEffect extends OneShotEffect> extends CardImpl return false; Permanent attacker = game.getPermanent(attackerId); //20101001 - 509.1b - for (RestrictionEffect effect: game.getContinuousEffects().getApplicableRestrictionEffects(this, game)) { - if (!effect.canBlock(attacker, game)) + for (RestrictionEffect effect: game.getContinuousEffects().getApplicableRestrictionEffects(attacker, game)) { + if (!effect.canBlock(this, game)) return false; } -// for (EvasionAbility ability: attacker.getAbilities().getEvasionAbilities()) { -// if (!ability.canBlock(this, game)) -// return false; -// } if (attacker.hasProtectionFrom(this)) return false; return true; From 0bc5f88468826076555cc5a0aabf59580f2ce22d Mon Sep 17 00:00:00 2001 From: BetaSteward Date: Sun, 19 Dec 2010 22:46:04 -0500 Subject: [PATCH 3/3] matches - preliminary --- Mage/src/mage/game/Match.java | 62 ++++++++++++++++++++++++ Mage/src/mage/game/MatchPlayer.java | 75 +++++++++++++++++++++++++++++ 2 files changed, 137 insertions(+) create mode 100644 Mage/src/mage/game/Match.java create mode 100644 Mage/src/mage/game/MatchPlayer.java diff --git a/Mage/src/mage/game/Match.java b/Mage/src/mage/game/Match.java new file mode 100644 index 0000000000..f7bc7d23b8 --- /dev/null +++ b/Mage/src/mage/game/Match.java @@ -0,0 +1,62 @@ +/* + * 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.game; + +import java.util.ArrayList; +import java.util.List; + +/** + * + * @author BetaSteward_at_googlemail.com + */ +public class Match { + + protected List players = new ArrayList(); + protected List games = new ArrayList(); + protected int winsNeeded; + + public Match(int winsNeeded) { + this.winsNeeded = winsNeeded; + } + + public void playDuel() { + + } + + public boolean isMatchOver() { + for (MatchPlayer player: players) { + if (player.getWins() >= winsNeeded) { + return true; + } + } + return false; + } + + +} diff --git a/Mage/src/mage/game/MatchPlayer.java b/Mage/src/mage/game/MatchPlayer.java new file mode 100644 index 0000000000..4402b85c50 --- /dev/null +++ b/Mage/src/mage/game/MatchPlayer.java @@ -0,0 +1,75 @@ +/* + * 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.game; + +import mage.cards.decks.Deck; +import mage.players.Player; + +/** + * + * @author BetaSteward_at_googlemail.com + */ +public class MatchPlayer { + private int wins; + private int loses; + private Deck deck; + private Player player; + + public MatchPlayer(Player player, Deck deck) { + this.player = player; + this.deck = deck; + this.wins = 0; + this.loses = 0; + } + + public int getWins() { + return wins; + } + + public void addWin() { + this.wins++; + } + + public int getLoses() { + return loses; + } + + public void addLose() { + this.loses++; + } + + public Deck getDeck() { + return deck; + } + + public Player getPlayer() { + return player; + } + +}