From 0350f42b4cfb2035c0a3eda85d30bfa9935e9813 Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Fri, 28 May 2021 09:46:39 -0400 Subject: [PATCH] [MH2] Implemented Scuttletide --- Mage.Sets/src/mage/cards/s/Scuttletide.java | 56 +++++++++++++++++++ Mage.Sets/src/mage/sets/ModernHorizons2.java | 1 + .../mage/game/permanent/token/CrabToken.java | 28 ++++++++++ 3 files changed, 85 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/s/Scuttletide.java create mode 100644 Mage/src/main/java/mage/game/permanent/token/CrabToken.java diff --git a/Mage.Sets/src/mage/cards/s/Scuttletide.java b/Mage.Sets/src/mage/cards/s/Scuttletide.java new file mode 100644 index 00000000000..42263d3e348 --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/Scuttletide.java @@ -0,0 +1,56 @@ +package mage.cards.s; + +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.DeliriumCondition; +import mage.abilities.costs.common.DiscardCardCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.hint.common.CardTypesInGraveyardHint; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AbilityWord; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.common.FilterCreaturePermanent; +import mage.game.permanent.token.CrabToken; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class Scuttletide extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(SubType.CRAB, ""); + + public Scuttletide(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}"); + + // {1}, Discard a card: Create a 0/3 blue Crab creature token. + Ability ability = new SimpleActivatedAbility(new CreateTokenEffect(new CrabToken()), new GenericManaCost(1)); + ability.addCost(new DiscardCardCost()); + this.addAbility(ability); + + // Delirium — Crabs you control get +1/+1 as long as there are four or more card types among cards in your graveyard. + this.addAbility(new SimpleStaticAbility(new ConditionalContinuousEffect( + new BoostControlledEffect( + 1, 1, Duration.WhileOnBattlefield, filter, false + ), DeliriumCondition.instance, "Crabs you control get +1/+1 as long " + + "as there are four or more card types among cards in your graveyard" + )).addHint(CardTypesInGraveyardHint.YOU).setAbilityWord(AbilityWord.DELIRIUM)); + } + + private Scuttletide(final Scuttletide card) { + super(card); + } + + @Override + public Scuttletide copy() { + return new Scuttletide(this); + } +} diff --git a/Mage.Sets/src/mage/sets/ModernHorizons2.java b/Mage.Sets/src/mage/sets/ModernHorizons2.java index b3aa6e44838..34e85fb6ce6 100644 --- a/Mage.Sets/src/mage/sets/ModernHorizons2.java +++ b/Mage.Sets/src/mage/sets/ModernHorizons2.java @@ -103,6 +103,7 @@ public final class ModernHorizons2 extends ExpansionSet { cards.add(new SetCardInfo("Sanctum Prelate", 491, Rarity.MYTHIC, mage.cards.s.SanctumPrelate.class)); cards.add(new SetCardInfo("Scalding Tarn", 254, Rarity.RARE, mage.cards.s.ScaldingTarn.class)); cards.add(new SetCardInfo("Scurry Oak", 172, Rarity.UNCOMMON, mage.cards.s.ScurryOak.class)); + cards.add(new SetCardInfo("Scuttletide", 61, Rarity.UNCOMMON, mage.cards.s.Scuttletide.class)); cards.add(new SetCardInfo("Seal of Cleansing", 264, Rarity.UNCOMMON, mage.cards.s.SealOfCleansing.class)); cards.add(new SetCardInfo("Seal of Removal", 269, Rarity.UNCOMMON, mage.cards.s.SealOfRemoval.class)); cards.add(new SetCardInfo("Silverbluff Bridge", 255, Rarity.COMMON, mage.cards.s.SilverbluffBridge.class)); diff --git a/Mage/src/main/java/mage/game/permanent/token/CrabToken.java b/Mage/src/main/java/mage/game/permanent/token/CrabToken.java new file mode 100644 index 00000000000..34873e02fe2 --- /dev/null +++ b/Mage/src/main/java/mage/game/permanent/token/CrabToken.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 CrabToken extends TokenImpl { + + public CrabToken() { + super("Crab", "0/3 blue Crab creature token"); + cardType.add(CardType.CREATURE); + color.setBlue(true); + subtype.add(SubType.CRAB); + power = new MageInt(0); + toughness = new MageInt(3); + } + + public CrabToken(final CrabToken token) { + super(token); + } + + public CrabToken copy() { + return new CrabToken(this); + } +}