From dbf8b969ce84b8ea496e92b614511e25dd13d90b Mon Sep 17 00:00:00 2001 From: magenoxx Date: Thu, 15 Sep 2011 21:23:53 +0400 Subject: [PATCH] [ISD] 17 cards --- .../sets/innistrad/BattlegroundGeist.java | 78 +++++++++++++ .../mage/sets/innistrad/BlasphemousAct.java | 110 ++++++++++++++++++ .../mage/sets/innistrad/BrimstoneVolley.java | 109 +++++++++++++++++ .../mage/sets/innistrad/DiregrafGhoul.java | 67 +++++++++++ .../sets/innistrad/FalkenrathMarauders.java | 72 ++++++++++++ .../mage/sets/innistrad/FeralRidgewolf.java | 70 +++++++++++ .../mage/sets/innistrad/KessigWolfRun.java | 76 ++++++++++++ .../mage/sets/innistrad/MorkrutBanshee.java | 108 +++++++++++++++++ .../src/mage/sets/innistrad/Naturalize.java | 52 +++++++++ .../sets/innistrad/NephaliaDrownyard.java | 71 +++++++++++ .../mage/sets/innistrad/ShimmeringGrotto.java | 52 +++++++++ .../mage/sets/innistrad/SkirsdagCultist.java | 77 ++++++++++++ .../mage/sets/innistrad/StensiaBloodhall.java | 71 +++++++++++ .../mage/sets/innistrad/StitchedDrake.java | 70 +++++++++++ .../sets/innistrad/VampireInterloper.java | 68 +++++++++++ .../src/mage/sets/innistrad/VampiricFury.java | 71 +++++++++++ .../mage/sets/innistrad/WalkingCorpse.java | 60 ++++++++++ 17 files changed, 1282 insertions(+) create mode 100644 Mage.Sets/src/mage/sets/innistrad/BattlegroundGeist.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/BlasphemousAct.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/BrimstoneVolley.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/DiregrafGhoul.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/FalkenrathMarauders.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/FeralRidgewolf.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/KessigWolfRun.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/MorkrutBanshee.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/Naturalize.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/NephaliaDrownyard.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/ShimmeringGrotto.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/SkirsdagCultist.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/StensiaBloodhall.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/StitchedDrake.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/VampireInterloper.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/VampiricFury.java create mode 100644 Mage.Sets/src/mage/sets/innistrad/WalkingCorpse.java diff --git a/Mage.Sets/src/mage/sets/innistrad/BattlegroundGeist.java b/Mage.Sets/src/mage/sets/innistrad/BattlegroundGeist.java new file mode 100644 index 00000000000..5e3462f00b8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/BattlegroundGeist.java @@ -0,0 +1,78 @@ +/* + * 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.innistrad; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continious.BoostControlledEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.filter.Filter; +import mage.filter.common.FilterCreaturePermanent; + +import java.util.UUID; + +/** + * @author nantuko + */ +public class BattlegroundGeist extends CardImpl { + + private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("Spirit creatures"); + + static { + filter.getSubtype().add("Spirit"); + filter.setScopeSubtype(Filter.ComparisonScope.Any); + } + + public BattlegroundGeist(UUID ownerId) { + super(ownerId, 45, "Battleground Geist", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{4}{U}"); + this.expansionSetCode = "ISD"; + this.subtype.add("Spirit"); + + this.color.setBlue(true); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + this.addAbility(FlyingAbility.getInstance()); + + // Other Spirit creatures you control get +1/+0. + this.addAbility(new SimpleStaticAbility(Constants.Zone.BATTLEFIELD, new BoostControlledEffect(1, 0, Constants.Duration.WhileOnBattlefield, filter, true))); + } + + public BattlegroundGeist(final BattlegroundGeist card) { + super(card); + } + + @Override + public BattlegroundGeist copy() { + return new BattlegroundGeist(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/BlasphemousAct.java b/Mage.Sets/src/mage/sets/innistrad/BlasphemousAct.java new file mode 100644 index 00000000000..c1b2ea1ee3e --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/BlasphemousAct.java @@ -0,0 +1,110 @@ +/* + * 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.innistrad; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.Ability; +import mage.abilities.condition.common.MetalcraftCondition; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.filter.common.FilterCreaturePermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; + +import java.util.List; +import java.util.UUID; + +/** + * @author nantuko + */ +public class BlasphemousAct extends CardImpl { + + public BlasphemousAct(UUID ownerId) { + super(ownerId, 130, "Blasphemous Act", Rarity.RARE, new CardType[]{CardType.SORCERY}, "{8}{R}"); + this.expansionSetCode = "ISD"; + + this.color.setRed(true); + + // Blasphemous Act costs {1} less to cast for each creature on the battlefield. + // Blasphemous Act deals 13 damage to each creature. + // need to override DamageAllEffect because of rules string + this.getSpellAbility().addEffect(new BlasphemousActEffect()); + } + + @Override + public void adjustCosts(Ability ability, Game game) { + if (MetalcraftCondition.getInstance().apply(game, ability)) { + int creatureCount = game.getState().getBattlefield().getAllActivePermanents(new FilterCreaturePermanent()).size(); + int cost = 8 - creatureCount; + String adjustedCost = "{R}"; + if (cost > 0) { + adjustedCost = "{" + String.valueOf(cost) + "}" + adjustedCost; + } + ability.getManaCostsToPay().clear(); + ability.getManaCostsToPay().load(adjustedCost); + } + } + + public BlasphemousAct(final BlasphemousAct card) { + super(card); + } + + @Override + public BlasphemousAct copy() { + return new BlasphemousAct(this); + } +} + +class BlasphemousActEffect extends OneShotEffect { + + public BlasphemousActEffect() { + super(Constants.Outcome.Damage); + staticText = "{this} costs {1} less to cast for each creature on the battlefield.\n {this} deals 13 damage to each creature"; + } + + public BlasphemousActEffect(final BlasphemousActEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + List permanents = game.getBattlefield().getActivePermanents(new FilterCreaturePermanent(), source.getControllerId(), game); + for (Permanent permanent : permanents) { + permanent.damage(13, source.getId(), game, true, false); + } + return true; + } + + @Override + public BlasphemousActEffect copy() { + return new BlasphemousActEffect(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/innistrad/BrimstoneVolley.java b/Mage.Sets/src/mage/sets/innistrad/BrimstoneVolley.java new file mode 100644 index 00000000000..cf0d804210c --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/BrimstoneVolley.java @@ -0,0 +1,109 @@ +/* + * 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.innistrad; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.filter.common.FilterCreaturePermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetCreatureOrPlayer; +import mage.watchers.Watcher; + +import java.util.List; +import java.util.UUID; + +/** + * @author nantuko + */ +public class BrimstoneVolley extends CardImpl { + + public BrimstoneVolley(UUID ownerId) { + super(ownerId, 132, "Brimstone Volley", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{2}{R}"); + this.expansionSetCode = "ISD"; + + this.color.setRed(true); + + // Brimstone Volley deals 3 damage to target creature or player. + // Morbid - Brimstone Volley deals 5 damage to that creature or player instead if a creature died this turn. + this.getSpellAbility().addEffect(new BrimstoneVolleyEffect()); + this.getSpellAbility().addTarget(new TargetCreatureOrPlayer()); + } + + public BrimstoneVolley(final BrimstoneVolley card) { + super(card); + } + + @Override + public BrimstoneVolley copy() { + return new BrimstoneVolley(this); + } +} + +class BrimstoneVolleyEffect extends OneShotEffect { + + public BrimstoneVolleyEffect() { + super(Constants.Outcome.Damage); + staticText = "{this} deals 3 damage to target creature or player.\n Morbid - {this} deals 5 damage to that creature or player instead if a creature died this turn"; + } + + public BrimstoneVolleyEffect(final BrimstoneVolleyEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + int damage = 3; + Watcher watcher = game.getState().getWatchers().get(source.getControllerId(), "Morbid"); + if (watcher.conditionMet()) { + damage = 5; + } + Permanent permanent = game.getPermanent(targetPointer.getFirst(source)); + if (permanent != null) { + permanent.damage(damage, source.getSourceId(), game, true, false); + return true; + } + Player player = game.getPlayer(targetPointer.getFirst(source)); + if (player != null) { + player.damage(damage, source.getSourceId(), game, false, true); + return true; + } + return false; + } + + @Override + public BrimstoneVolleyEffect copy() { + return new BrimstoneVolleyEffect(this); + } + +} diff --git a/Mage.Sets/src/mage/sets/innistrad/DiregrafGhoul.java b/Mage.Sets/src/mage/sets/innistrad/DiregrafGhoul.java new file mode 100644 index 00000000000..9d692fafe3b --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/DiregrafGhoul.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.innistrad; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.effects.common.TapSourceEffect; +import mage.cards.CardImpl; + +/** + * + * @author nantuko + */ +public class DiregrafGhoul extends CardImpl { + + private static final String staticText = "{this} enters the battlefield tapped"; + + public DiregrafGhoul(UUID ownerId) { + super(ownerId, 97, "Diregraf Ghoul", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{B}"); + this.expansionSetCode = "ISD"; + this.subtype.add("Zombie"); + + this.color.setBlack(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Diregraf Ghoul enters the battlefield tapped. + this.addAbility(new EntersBattlefieldAbility(new TapSourceEffect(), staticText)); + } + + public DiregrafGhoul(final DiregrafGhoul card) { + super(card); + } + + @Override + public DiregrafGhoul copy() { + return new DiregrafGhoul(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/FalkenrathMarauders.java b/Mage.Sets/src/mage/sets/innistrad/FalkenrathMarauders.java new file mode 100644 index 00000000000..cbead9734d8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/FalkenrathMarauders.java @@ -0,0 +1,72 @@ +/* + * 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.innistrad; + +import java.util.UUID; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; +import mage.counters.CounterType; + +/** + * + * @author nantuko + */ +public class FalkenrathMarauders extends CardImpl { + + public FalkenrathMarauders(UUID ownerId) { + super(ownerId, 147, "Falkenrath Marauders", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); + this.expansionSetCode = "ISD"; + this.subtype.add("Vampire"); + this.subtype.add("Warrior"); + + this.color.setRed(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + this.addAbility(FlyingAbility.getInstance()); + this.addAbility(HasteAbility.getInstance()); + + // Whenever Falkenrath Marauders deals combat damage to a player, put two +1/+1 counters on it. + this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false)); + } + + public FalkenrathMarauders(final FalkenrathMarauders card) { + super(card); + } + + @Override + public FalkenrathMarauders copy() { + return new FalkenrathMarauders(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/FeralRidgewolf.java b/Mage.Sets/src/mage/sets/innistrad/FeralRidgewolf.java new file mode 100644 index 00000000000..aec078e6807 --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/FeralRidgewolf.java @@ -0,0 +1,70 @@ +/* + * 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.innistrad; + +import java.util.UUID; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continious.BoostSourceEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; + +/** + * @author nantuko + */ +public class FeralRidgewolf extends CardImpl { + + public FeralRidgewolf(UUID ownerId) { + super(ownerId, 142, "Feral Ridgewolf", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{R}"); + this.expansionSetCode = "ISD"; + this.subtype.add("Wolf"); + + this.color.setRed(true); + this.power = new MageInt(1); + this.toughness = new MageInt(2); + + this.addAbility(TrampleAbility.getInstance()); + + // {1}{R}: Feral Ridgewolf gets +2/+0 until end of turn. + this.addAbility(new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new BoostSourceEffect(2, 0, Constants.Duration.EndOfTurn), new ManaCostsImpl("{1}{R}"))); + } + + public FeralRidgewolf(final FeralRidgewolf card) { + super(card); + } + + @Override + public FeralRidgewolf copy() { + return new FeralRidgewolf(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/KessigWolfRun.java b/Mage.Sets/src/mage/sets/innistrad/KessigWolfRun.java new file mode 100644 index 00000000000..5c8403e98a7 --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/KessigWolfRun.java @@ -0,0 +1,76 @@ +/* + * 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.innistrad; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.dynamicvalue.common.ManacostVariableValue; +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.common.continious.BoostTargetEffect; +import mage.abilities.effects.common.continious.GainAbilityTargetEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.abilities.mana.ColorlessManaAbility; +import mage.cards.CardImpl; +import mage.target.common.TargetCreaturePermanent; + +import java.util.UUID; + +/** + * @author nantuko + */ +public class KessigWolfRun extends CardImpl { + + public KessigWolfRun(UUID ownerId) { + super(ownerId, 243, "Kessig Wolf Run", Rarity.RARE, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "ISD"; + + // {T}: Add {1} to your mana pool. + this.addAbility(new ColorlessManaAbility()); + + // {X}{R}{G}, {T}: Target creature gets +X/+0 and gains trample until end of turn. + Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new GainAbilityTargetEffect(TrampleAbility.getInstance(), Constants.Duration.EndOfTurn), new ManaCostsImpl("{X}{R}{G}")); + ability.addCost(new TapSourceCost()); + ability.addEffect(new BoostTargetEffect(new ManacostVariableValue(), new StaticValue(0), Constants.Duration.EndOfTurn)); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public KessigWolfRun(final KessigWolfRun card) { + super(card); + } + + @Override + public KessigWolfRun copy() { + return new KessigWolfRun(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/MorkrutBanshee.java b/Mage.Sets/src/mage/sets/innistrad/MorkrutBanshee.java new file mode 100644 index 00000000000..9944f2b41f8 --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/MorkrutBanshee.java @@ -0,0 +1,108 @@ +/* + * 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.innistrad; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.common.continious.BoostTargetEffect; +import mage.cards.CardImpl; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.ZoneChangeEvent; +import mage.target.common.TargetCreaturePermanent; +import mage.watchers.Watcher; + +import java.util.UUID; + +/** + * @author nantuko + */ +public class MorkrutBanshee extends CardImpl { + + public MorkrutBanshee(UUID ownerId) { + super(ownerId, 110, "Morkrut Banshee", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); + this.expansionSetCode = "ISD"; + this.subtype.add("Spirit"); + + this.color.setBlack(true); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // Morbid - When Morkut Banshee enters the battlefield, if a creature died this turn, target creature gets -4/-4 until end of turn. + Ability ability = new MorkrutBansheeAbility(); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public MorkrutBanshee(final MorkrutBanshee card) { + super(card); + } + + @Override + public MorkrutBanshee copy() { + return new MorkrutBanshee(this); + } +} + +class MorkrutBansheeAbility extends TriggeredAbilityImpl { + + public MorkrutBansheeAbility() { + super(Constants.Zone.BATTLEFIELD, new BoostTargetEffect(-4, -4, Constants.Duration.EndOfTurn), false); + } + + public MorkrutBansheeAbility(final MorkrutBansheeAbility ability) { + super(ability); + } + + @Override + public MorkrutBansheeAbility copy() { + return new MorkrutBansheeAbility(this); + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getType() == GameEvent.EventType.ZONE_CHANGE && event.getTargetId().equals(this.getSourceId())) { + ZoneChangeEvent zEvent = (ZoneChangeEvent) event; + if (zEvent.getToZone().equals(Constants.Zone.BATTLEFIELD)) { + Watcher watcher = game.getState().getWatchers().get(controllerId, "Morbid"); + return watcher.conditionMet(); + } + } + return false; + + } + + @Override + public String getRule() { + return "Morbid - When Morkut Banshee enters the battlefield, if a creature died this turn, target creature gets -4/-4 until end of turn."; + } +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/innistrad/Naturalize.java b/Mage.Sets/src/mage/sets/innistrad/Naturalize.java new file mode 100644 index 00000000000..d21bd207abf --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/Naturalize.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.innistrad; + +import java.util.UUID; + +/** + * + * @author nantuko + */ +public class Naturalize extends mage.sets.tenth.Naturalize { + + public Naturalize(UUID ownerId) { + super(ownerId); + this.cardNumber = 197; + this.expansionSetCode = "ISD"; + } + + public Naturalize(final Naturalize card) { + super(card); + } + + @Override + public Naturalize copy() { + return new Naturalize(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/NephaliaDrownyard.java b/Mage.Sets/src/mage/sets/innistrad/NephaliaDrownyard.java new file mode 100644 index 00000000000..078d18f1488 --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/NephaliaDrownyard.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.innistrad; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; +import mage.abilities.mana.ColorlessManaAbility; +import mage.cards.CardImpl; +import mage.target.TargetPlayer; + +import java.util.UUID; + +/** + * @author nantuko + */ +public class NephaliaDrownyard extends CardImpl { + + public NephaliaDrownyard(UUID ownerId) { + super(ownerId, 245, "Nephalia Drownyard", Rarity.RARE, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "ISD"; + + // {T}: Add 1 to your mana pool. + this.addAbility(new ColorlessManaAbility()); + + // {1}{U}{B}, {T}: Target player puts the top three cards of his or her library into his or her graveyard. + Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new PutLibraryIntoGraveTargetEffect(3), new ManaCostsImpl("{1}{U}{B}")); + ability.addCost(new TapSourceCost()); + ability.addTarget(new TargetPlayer()); + this.addAbility(ability); + } + + public NephaliaDrownyard(final NephaliaDrownyard card) { + super(card); + } + + @Override + public NephaliaDrownyard copy() { + return new NephaliaDrownyard(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/ShimmeringGrotto.java b/Mage.Sets/src/mage/sets/innistrad/ShimmeringGrotto.java new file mode 100644 index 00000000000..a724aeef2fa --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/ShimmeringGrotto.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.innistrad; + +import java.util.UUID; + +/** + * + * @author nantuko + */ +public class ShimmeringGrotto extends mage.sets.lorwyn.ShimmeringGrotto { + + public ShimmeringGrotto(UUID ownerId) { + super(ownerId); + this.cardNumber = 247; + this.expansionSetCode = "ISD"; + } + + public ShimmeringGrotto(final ShimmeringGrotto card) { + super(card); + } + + @Override + public ShimmeringGrotto copy() { + return new ShimmeringGrotto(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/SkirsdagCultist.java b/Mage.Sets/src/mage/sets/innistrad/SkirsdagCultist.java new file mode 100644 index 00000000000..0e93b01e01e --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/SkirsdagCultist.java @@ -0,0 +1,77 @@ +/* + * 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.innistrad; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.target.common.TargetControlledCreaturePermanent; +import mage.target.common.TargetCreatureOrPlayer; + +import java.util.UUID; + +/** + * @author nantuko + */ +public class SkirsdagCultist extends CardImpl { + + public SkirsdagCultist(UUID ownerId) { + super(ownerId, 163, "Skirsdag Cultist", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{R}{R}"); + this.expansionSetCode = "ISD"; + this.subtype.add("Human"); + this.subtype.add("Shaman"); + + this.color.setRed(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // {R}, {T}, Sacrifice a creature: Skirsdag Cultist deals 2 damage to target creature or player. + Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{R}")); + ability.addCost(new TapSourceCost()); + ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent())); + ability.addTarget(new TargetCreatureOrPlayer()); + this.addAbility(ability); + } + + public SkirsdagCultist(final SkirsdagCultist card) { + super(card); + } + + @Override + public SkirsdagCultist copy() { + return new SkirsdagCultist(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/StensiaBloodhall.java b/Mage.Sets/src/mage/sets/innistrad/StensiaBloodhall.java new file mode 100644 index 00000000000..7bd97e7ab1b --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/StensiaBloodhall.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.innistrad; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.mana.ColorlessManaAbility; +import mage.cards.CardImpl; +import mage.target.TargetPlayer; + +import java.util.UUID; + +/** + * @author nantuko + */ +public class StensiaBloodhall extends CardImpl { + + public StensiaBloodhall(UUID ownerId) { + super(ownerId, 247, "Stensia Bloodhall", Rarity.RARE, new CardType[]{CardType.LAND}, ""); + this.expansionSetCode = "ISD"; + + // {T}: Add {1} to your mana pool. + this.addAbility(new ColorlessManaAbility()); + + // {3}{B}{R}, {T}: Stensia Bloodhall deals 2 damage to target player. + Ability ability = new SimpleActivatedAbility(Constants.Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{3}{B}{R}")); + ability.addCost(new TapSourceCost()); + ability.addTarget(new TargetPlayer()); + this.addAbility(ability); + } + + public StensiaBloodhall(final StensiaBloodhall card) { + super(card); + } + + @Override + public StensiaBloodhall copy() { + return new StensiaBloodhall(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/StitchedDrake.java b/Mage.Sets/src/mage/sets/innistrad/StitchedDrake.java new file mode 100644 index 00000000000..9f088f3df3f --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/StitchedDrake.java @@ -0,0 +1,70 @@ +/* + * 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.innistrad; + +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.costs.common.ExileFromGraveCost; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.filter.common.FilterCreatureCard; +import mage.target.common.TargetCardInYourGraveyard; + +import java.util.UUID; + +/** + * @author nantuko + */ +public class StitchedDrake extends CardImpl { + + public StitchedDrake(UUID ownerId) { + super(ownerId, 80, "Stitched Drake", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{U}{U}"); + this.expansionSetCode = "ISD"; + this.subtype.add("Zombie"); + this.subtype.add("Drake"); + + this.color.setBlue(true); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + this.addAbility(FlyingAbility.getInstance()); + + // As an addition cost to cast Stitched Drake, exile a creature card from your graveyard. + this.getSpellAbility().addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterCreatureCard()))); + } + + public StitchedDrake(final StitchedDrake card) { + super(card); + } + + @Override + public StitchedDrake copy() { + return new StitchedDrake(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/VampireInterloper.java b/Mage.Sets/src/mage/sets/innistrad/VampireInterloper.java new file mode 100644 index 00000000000..b183735896a --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/VampireInterloper.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.innistrad; + +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.abilities.common.CantBlockAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; + +import java.util.UUID; + +/** + * @author nantuko + */ +public class VampireInterloper extends CardImpl { + + public VampireInterloper(UUID ownerId) { + super(ownerId, 123, "Vampire Interloper", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{B}"); + this.expansionSetCode = "ISD"; + this.subtype.add("Vampire"); + this.subtype.add("Scout"); + + this.color.setBlack(true); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + this.addAbility(FlyingAbility.getInstance()); + + // Vampire Interloper can't block. + this.addAbility(CantBlockAbility.getInstance()); + } + + public VampireInterloper(final VampireInterloper card) { + super(card); + } + + @Override + public VampireInterloper copy() { + return new VampireInterloper(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/VampiricFury.java b/Mage.Sets/src/mage/sets/innistrad/VampiricFury.java new file mode 100644 index 00000000000..450d29f0ca9 --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/VampiricFury.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.innistrad; + +import mage.Constants; +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.abilities.effects.common.continious.BoostControlledEffect; +import mage.cards.CardImpl; +import mage.filter.Filter; +import mage.filter.common.FilterCreaturePermanent; + +import java.util.UUID; + +/** + * @author nantuko + */ +public class VampiricFury extends CardImpl { + + private static final FilterCreaturePermanent vampires = new FilterCreaturePermanent("Vampire creatures"); + + static { + vampires.getSubtype().add("Vampire"); + vampires.setScopeSubtype(Filter.ComparisonScope.Any); + vampires.setTargetController(Constants.TargetController.YOU); + } + + public VampiricFury(UUID ownerId) { + super(ownerId, 167, "Vampiric Fury", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{R}"); + this.expansionSetCode = "ISD"; + + this.color.setRed(true); + + // Vampire creatures you control get +2/+0 and gain first strike until end of turn. + this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Constants.Duration.EndOfTurn, vampires)); + } + + public VampiricFury(final VampiricFury card) { + super(card); + } + + @Override + public VampiricFury copy() { + return new VampiricFury(this); + } +} diff --git a/Mage.Sets/src/mage/sets/innistrad/WalkingCorpse.java b/Mage.Sets/src/mage/sets/innistrad/WalkingCorpse.java new file mode 100644 index 00000000000..3ab093379eb --- /dev/null +++ b/Mage.Sets/src/mage/sets/innistrad/WalkingCorpse.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.innistrad; + +import mage.Constants.CardType; +import mage.Constants.Rarity; +import mage.MageInt; +import mage.cards.CardImpl; + +import java.util.UUID; + +/** + * @author nantuko + */ +public class WalkingCorpse extends CardImpl { + + public WalkingCorpse(UUID ownerId) { + super(ownerId, 126, "Walking Corpse", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{B}"); + this.expansionSetCode = "ISD"; + this.subtype.add("Zombie"); + + this.color.setBlack(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + } + + public WalkingCorpse(final WalkingCorpse card) { + super(card); + } + + @Override + public WalkingCorpse copy() { + return new WalkingCorpse(this); + } +}