[MH2] Implemented Scuttletide

This commit is contained in:
Evan Kranzler 2021-05-28 09:46:39 -04:00
parent 6b4117e500
commit 0350f42b4c
3 changed files with 85 additions and 0 deletions

View file

@ -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);
}
}

View file

@ -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));

View file

@ -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);
}
}