From 8b8a05d1c9dd08d51e8940bb83b39bfb382df5dd Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 31 Dec 2019 11:46:22 -0500 Subject: [PATCH] Implemented Nadir Kraken --- Mage.Sets/src/mage/cards/n/NadirKraken.java | 44 +++++++++++++++++++ .../src/mage/sets/TherosBeyondDeath.java | 1 + .../src/main/java/mage/constants/SubType.java | 1 + .../game/permanent/token/TentacleToken.java | 28 ++++++++++++ 4 files changed, 74 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/n/NadirKraken.java create mode 100644 Mage/src/main/java/mage/game/permanent/token/TentacleToken.java diff --git a/Mage.Sets/src/mage/cards/n/NadirKraken.java b/Mage.Sets/src/mage/cards/n/NadirKraken.java new file mode 100644 index 0000000000..968a2172f2 --- /dev/null +++ b/Mage.Sets/src/mage/cards/n/NadirKraken.java @@ -0,0 +1,44 @@ +package mage.cards.n; + +import mage.MageInt; +import mage.abilities.common.DrawCardControllerTriggeredAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.counters.CounterType; +import mage.game.permanent.token.TentacleToken; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class NadirKraken extends CardImpl { + + public NadirKraken(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{U}"); + + this.subtype.add(SubType.KRAKEN); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Whenever you draw a card, you may pay {1}. If you do, put a +1/+1 counter on Nadir Kraken and create a 1/1 blue Tentacle creature token. + this.addAbility(new DrawCardControllerTriggeredAbility(new DoIfCostPaid( + new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new GenericManaCost(1) + ).addEffect(new CreateTokenEffect(new TentacleToken()).concatBy("and")), false)); + } + + private NadirKraken(final NadirKraken card) { + super(card); + } + + @Override + public NadirKraken copy() { + return new NadirKraken(this); + } +} diff --git a/Mage.Sets/src/mage/sets/TherosBeyondDeath.java b/Mage.Sets/src/mage/sets/TherosBeyondDeath.java index f8a8d55605..a90269680e 100644 --- a/Mage.Sets/src/mage/sets/TherosBeyondDeath.java +++ b/Mage.Sets/src/mage/sets/TherosBeyondDeath.java @@ -57,6 +57,7 @@ public final class TherosBeyondDeath extends ExpansionSet { cards.add(new SetCardInfo("Memory Drain", 54, Rarity.COMMON, mage.cards.m.MemoryDrain.class)); cards.add(new SetCardInfo("Mire's Grasp", 106, Rarity.COMMON, mage.cards.m.MiresGrasp.class)); cards.add(new SetCardInfo("Mountain", 253, Rarity.LAND, mage.cards.basiclands.Mountain.class, FULL_ART_BFZ_VARIOUS)); + cards.add(new SetCardInfo("Nadir Kraken", 55, Rarity.RARE, mage.cards.n.NadirKraken.class)); cards.add(new SetCardInfo("Nyx Lotus", 235, Rarity.RARE, mage.cards.n.NyxLotus.class)); cards.add(new SetCardInfo("Nyxborn Colossus", 191, Rarity.COMMON, mage.cards.n.NyxbornColossus.class)); cards.add(new SetCardInfo("Nyxborn Courser", 29, Rarity.COMMON, mage.cards.n.NyxbornCourser.class)); diff --git a/Mage/src/main/java/mage/constants/SubType.java b/Mage/src/main/java/mage/constants/SubType.java index c4a92c2d34..4f157b9562 100644 --- a/Mage/src/main/java/mage/constants/SubType.java +++ b/Mage/src/main/java/mage/constants/SubType.java @@ -334,6 +334,7 @@ public enum SubType { SURRAKAR("Surrakar", SubTypeSet.CreatureType), SURVIVOR("Survivor", SubTypeSet.CreatureType), // T + TENTACLE("Tentacle", SubTypeSet.CreatureType), TETRAVITE("Tetravite", SubTypeSet.CreatureType), THALAKOS("Thalakos", SubTypeSet.CreatureType), THOPTER("Thopter", SubTypeSet.CreatureType), diff --git a/Mage/src/main/java/mage/game/permanent/token/TentacleToken.java b/Mage/src/main/java/mage/game/permanent/token/TentacleToken.java new file mode 100644 index 0000000000..946da812ab --- /dev/null +++ b/Mage/src/main/java/mage/game/permanent/token/TentacleToken.java @@ -0,0 +1,28 @@ +package mage.game.permanent.token; + +import mage.MageInt; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * @author TheElk801 + */ +public final class TentacleToken extends TokenImpl { + + public TentacleToken() { + super("Tentacle", "1/1 blue Tentacle creature token"); + cardType.add(CardType.CREATURE); + color.setBlue(true); + subtype.add(SubType.TENTACLE); + power = new MageInt(1); + toughness = new MageInt(1); + } + + private TentacleToken(final TentacleToken token) { + super(token); + } + + public TentacleToken copy() { + return new TentacleToken(this); + } +}