From 31730c5352e7ffa9093702196b4707687ae468c4 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Tue, 10 Sep 2019 20:46:33 -0400 Subject: [PATCH] Implemented Roving Keep --- Mage.Sets/src/mage/cards/h/HexplateGolem.java | 14 ++--- Mage.Sets/src/mage/cards/r/RovingKeep.java | 57 +++++++++++++++++++ Mage.Sets/src/mage/sets/ThroneOfEldraine.java | 1 + 3 files changed, 64 insertions(+), 8 deletions(-) create mode 100644 Mage.Sets/src/mage/cards/r/RovingKeep.java diff --git a/Mage.Sets/src/mage/cards/h/HexplateGolem.java b/Mage.Sets/src/mage/cards/h/HexplateGolem.java index 34b9e6a5c8..ff6ec9671b 100644 --- a/Mage.Sets/src/mage/cards/h/HexplateGolem.java +++ b/Mage.Sets/src/mage/cards/h/HexplateGolem.java @@ -1,28 +1,27 @@ - - package mage.cards.h; -import java.util.UUID; import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; import mage.constants.SubType; +import java.util.UUID; + /** - * * @author Loki */ public final class HexplateGolem extends CardImpl { - public HexplateGolem (UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); + public HexplateGolem(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{7}"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(5); this.toughness = new MageInt(7); } - public HexplateGolem (final HexplateGolem card) { + private HexplateGolem(final HexplateGolem card) { super(card); } @@ -30,5 +29,4 @@ public final class HexplateGolem extends CardImpl { public HexplateGolem copy() { return new HexplateGolem(this); } - } diff --git a/Mage.Sets/src/mage/cards/r/RovingKeep.java b/Mage.Sets/src/mage/cards/r/RovingKeep.java new file mode 100644 index 0000000000..05f9af99ad --- /dev/null +++ b/Mage.Sets/src/mage/cards/r/RovingKeep.java @@ -0,0 +1,57 @@ +package mage.cards.r; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.combat.CanAttackAsThoughItDidntHaveDefenderSourceEffect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.keyword.DefenderAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class RovingKeep extends CardImpl { + + public RovingKeep(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{7}"); + + this.subtype.add(SubType.WALL); + this.power = new MageInt(5); + this.toughness = new MageInt(7); + + // Defender + this.addAbility(DefenderAbility.getInstance()); + + // {7}: Roving Keep gets +2/+0 and gains trample until end of turn. It can attack this turn as though it didn't have defender. + Ability ability = new SimpleActivatedAbility( + new BoostSourceEffect(2, 0, Duration.EndOfTurn) + .setText("{this} gets +2/+0"), new GenericManaCost(7) + ); + ability.addEffect(new GainAbilitySourceEffect( + TrampleAbility.getInstance(), Duration.EndOfTurn + ).setText("and gains trample until end of turn.")); + ability.addEffect(new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.EndOfTurn) + .setText("It can attack this turn as though it didn't have defender")); + this.addAbility(ability); + } + + private RovingKeep(final RovingKeep card) { + super(card); + } + + @Override + public RovingKeep copy() { + return new RovingKeep(this); + } +} +// sexy hexy is back, baby! diff --git a/Mage.Sets/src/mage/sets/ThroneOfEldraine.java b/Mage.Sets/src/mage/sets/ThroneOfEldraine.java index 974f6bf30f..b59cbbad27 100644 --- a/Mage.Sets/src/mage/sets/ThroneOfEldraine.java +++ b/Mage.Sets/src/mage/sets/ThroneOfEldraine.java @@ -90,6 +90,7 @@ public final class ThroneOfEldraine extends ExpansionSet { cards.add(new SetCardInfo("Rankle, Master of Pranks", 101, Rarity.MYTHIC, mage.cards.r.RankleMasterOfPranks.class)); cards.add(new SetCardInfo("Return to Nature", 173, Rarity.COMMON, mage.cards.r.ReturnToNature.class)); cards.add(new SetCardInfo("Rosethorn Acolyte", 174, Rarity.COMMON, mage.cards.r.RosethornAcolyte.class)); + cards.add(new SetCardInfo("Roving Keep", 228, Rarity.COMMON, mage.cards.r.RovingKeep.class)); cards.add(new SetCardInfo("Rowan's Battleguard", 306, Rarity.UNCOMMON, mage.cards.r.RowansBattleguard.class)); cards.add(new SetCardInfo("Rowan's Stalwarts", 307, Rarity.RARE, mage.cards.r.RowansStalwarts.class)); cards.add(new SetCardInfo("Rowan, Fearless Sparkmage", 304, Rarity.MYTHIC, mage.cards.r.RowanFearlessSparkmage.class));