From 793f0cff6737f67913e53ca3df5fe85a9c89cf57 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Mon, 9 Sep 2019 12:42:00 -0400 Subject: [PATCH] Implemented Enchanted Carriage --- .../src/mage/cards/e/EnchantedCarriage.java | 42 +++++++++++++++++++ Mage.Sets/src/mage/sets/ThroneOfEldraine.java | 1 + .../src/main/java/mage/constants/SubType.java | 1 + .../mage/game/permanent/token/MouseToken.java | 29 +++++++++++++ 4 files changed, 73 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/e/EnchantedCarriage.java create mode 100644 Mage/src/main/java/mage/game/permanent/token/MouseToken.java diff --git a/Mage.Sets/src/mage/cards/e/EnchantedCarriage.java b/Mage.Sets/src/mage/cards/e/EnchantedCarriage.java new file mode 100644 index 00000000000..5a4b3011fc0 --- /dev/null +++ b/Mage.Sets/src/mage/cards/e/EnchantedCarriage.java @@ -0,0 +1,42 @@ +package mage.cards.e; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.constants.SubType; +import mage.abilities.keyword.CrewAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.game.permanent.token.MouseToken; + +/** + * + * @author TheElk801 + */ +public final class EnchantedCarriage extends CardImpl { + + public EnchantedCarriage(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{5}"); + + this.subtype.add(SubType.VEHICLE); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // When Enchanted Carriage enters the battlefield, create two 1/1 white Mouse creature tokens. + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new MouseToken(),2))); + + // Crew 2 + this.addAbility(new CrewAbility(2)); + } + + private EnchantedCarriage(final EnchantedCarriage card) { + super(card); + } + + @Override + public EnchantedCarriage copy() { + return new EnchantedCarriage(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ThroneOfEldraine.java b/Mage.Sets/src/mage/sets/ThroneOfEldraine.java index 670612c0276..394e31a3fa2 100644 --- a/Mage.Sets/src/mage/sets/ThroneOfEldraine.java +++ b/Mage.Sets/src/mage/sets/ThroneOfEldraine.java @@ -45,6 +45,7 @@ public final class ThroneOfEldraine extends ExpansionSet { cards.add(new SetCardInfo("Embereth Paladin", 121, Rarity.COMMON, mage.cards.e.EmberethPaladin.class)); cards.add(new SetCardInfo("Embereth Shieldbreaker", 122, Rarity.UNCOMMON, mage.cards.e.EmberethShieldbreaker.class)); cards.add(new SetCardInfo("Embereth Skyblazer", 321, Rarity.RARE, mage.cards.e.EmberethSkyblazer.class)); + cards.add(new SetCardInfo("Enchanted Carriage", 218, Rarity.UNCOMMON, mage.cards.e.EnchantedCarriage.class)); cards.add(new SetCardInfo("Eye Collector", 86, Rarity.COMMON, mage.cards.e.EyeCollector.class)); cards.add(new SetCardInfo("Faerie Formation", 316, Rarity.RARE, mage.cards.f.FaerieFormation.class)); cards.add(new SetCardInfo("Faerie Vandal", 45, Rarity.UNCOMMON, mage.cards.f.FaerieVandal.class)); diff --git a/Mage/src/main/java/mage/constants/SubType.java b/Mage/src/main/java/mage/constants/SubType.java index d11656ccc53..6b6e1660be6 100644 --- a/Mage/src/main/java/mage/constants/SubType.java +++ b/Mage/src/main/java/mage/constants/SubType.java @@ -228,6 +228,7 @@ public enum SubType { MONK("Monk", SubTypeSet.CreatureType), MONKEY("Monkey", SubTypeSet.CreatureType), MOONFOLK("Moonfolk", SubTypeSet.CreatureType), + MOUSE("Mouse", SubTypeSet.CreatureType), MUTANT("Mutant", SubTypeSet.CreatureType), MYR("Myr", SubTypeSet.CreatureType), MYSTIC("Mystic", SubTypeSet.CreatureType), diff --git a/Mage/src/main/java/mage/game/permanent/token/MouseToken.java b/Mage/src/main/java/mage/game/permanent/token/MouseToken.java new file mode 100644 index 00000000000..5f7428f9b94 --- /dev/null +++ b/Mage/src/main/java/mage/game/permanent/token/MouseToken.java @@ -0,0 +1,29 @@ +package mage.game.permanent.token; + +import mage.MageInt; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * @author TheElk801 + */ +public final class MouseToken extends TokenImpl { + + public MouseToken() { + super("Mouse", "1/1 white Mouse creature token"); + cardType.add(CardType.CREATURE); + color.setWhite(true); + subtype.add(SubType.MOUSE); + power = new MageInt(1); + toughness = new MageInt(1); + } + + private MouseToken(final MouseToken token) { + super(token); + } + + @Override + public MouseToken copy() { + return new MouseToken(this); + } +}