From 8dec46a3b98936d2e479ac578b0872d32aea0edb Mon Sep 17 00:00:00 2001 From: Daniel Bomar Date: Mon, 5 Jul 2021 10:27:55 -0500 Subject: [PATCH] [AFR] Implemented Triumphant Adventurer --- .../mage/cards/t/TriumphantAdventurer.java | 56 +++++++++++++++++++ .../sets/AdventuresInTheForgottenRealms.java | 1 + 2 files changed, 57 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/t/TriumphantAdventurer.java diff --git a/Mage.Sets/src/mage/cards/t/TriumphantAdventurer.java b/Mage.Sets/src/mage/cards/t/TriumphantAdventurer.java new file mode 100644 index 00000000000..03c7406dee0 --- /dev/null +++ b/Mage.Sets/src/mage/cards/t/TriumphantAdventurer.java @@ -0,0 +1,56 @@ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.MyTurnCondition; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.effects.keyword.VentureIntoTheDungeonEffect; +import mage.abilities.hint.common.MyTurnHint; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.abilities.keyword.DeathtouchAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +/** + * + * @author weirddan455 + */ +public final class TriumphantAdventurer extends CardImpl { + + public TriumphantAdventurer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{B}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // Deathtouch + this.addAbility(DeathtouchAbility.getInstance()); + + // As long as it's your turn, Triumphant Adventurer has first strike. + this.addAbility(new SimpleStaticAbility( + new ConditionalContinuousEffect(new GainAbilitySourceEffect( + FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield + ), MyTurnCondition.instance, "As long as it's your turn, {this} has first strike.") + ).addHint(MyTurnHint.instance)); + + // Whenever Triumphant Adventurer attacks, venture into the dungeon. + this.addAbility(new AttacksTriggeredAbility(new VentureIntoTheDungeonEffect(), false)); + } + + private TriumphantAdventurer(final TriumphantAdventurer card) { + super(card); + } + + @Override + public TriumphantAdventurer copy() { + return new TriumphantAdventurer(this); + } +} diff --git a/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java b/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java index 7a5f1e7b24d..186486e337b 100644 --- a/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java +++ b/Mage.Sets/src/mage/sets/AdventuresInTheForgottenRealms.java @@ -141,6 +141,7 @@ public final class AdventuresInTheForgottenRealms extends ExpansionSet { cards.add(new SetCardInfo("Treasure Chest", 252, Rarity.RARE, mage.cards.t.TreasureChest.class)); cards.add(new SetCardInfo("Treasure Vault", 261, Rarity.RARE, mage.cards.t.TreasureVault.class)); cards.add(new SetCardInfo("Trelasarra Moon Dancer", 236, Rarity.UNCOMMON, mage.cards.t.TrelasarraMoonDancer.class)); + cards.add(new SetCardInfo("Triumphant Adventurer", 237, Rarity.RARE, mage.cards.t.TriumphantAdventurer.class)); cards.add(new SetCardInfo("Varis, Silverymoon Ranger", 209, Rarity.RARE, mage.cards.v.VarisSilverymoonRanger.class)); cards.add(new SetCardInfo("Veteran Dungeoneer", 40, Rarity.COMMON, mage.cards.v.VeteranDungeoneer.class)); cards.add(new SetCardInfo("Vorpal Sword", 124, Rarity.RARE, mage.cards.v.VorpalSword.class));