From 282a2842097da7d7d8eb85d7859dcab8474fbaf1 Mon Sep 17 00:00:00 2001 From: theelk801 Date: Wed, 30 Oct 2024 09:35:24 -0400 Subject: [PATCH] [FDN] Implement Slumbering Cerberus --- .../src/mage/cards/s/SlumberingCerberus.java | 48 +++++++++++++++++++ Mage.Sets/src/mage/sets/Foundations.java | 1 + 2 files changed, 49 insertions(+) create mode 100644 Mage.Sets/src/mage/cards/s/SlumberingCerberus.java diff --git a/Mage.Sets/src/mage/cards/s/SlumberingCerberus.java b/Mage.Sets/src/mage/cards/s/SlumberingCerberus.java new file mode 100644 index 00000000000..d3c494c7e4c --- /dev/null +++ b/Mage.Sets/src/mage/cards/s/SlumberingCerberus.java @@ -0,0 +1,48 @@ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.MorbidCondition; +import mage.abilities.effects.common.DontUntapInControllersUntapStepSourceEffect; +import mage.abilities.effects.common.UntapSourceEffect; +import mage.abilities.hint.common.MorbidHint; +import mage.abilities.triggers.BeginningOfEndStepTriggeredAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AbilityWord; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.TargetController; + +import java.util.UUID; + +/** + * @author TheElk801 + */ +public final class SlumberingCerberus extends CardImpl { + + public SlumberingCerberus(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); + + this.subtype.add(SubType.DOG); + this.power = new MageInt(4); + this.toughness = new MageInt(2); + + // This creature doesn't untap during your untap step. + this.addAbility(new SimpleStaticAbility(new DontUntapInControllersUntapStepSourceEffect())); + + // Morbid -- At the beginning of each end step, if a creature died this turn, untap this creature. + this.addAbility(new BeginningOfEndStepTriggeredAbility( + TargetController.ANY, new UntapSourceEffect(), false, MorbidCondition.instance + ).setAbilityWord(AbilityWord.MORBID).addHint(MorbidHint.instance)); + } + + private SlumberingCerberus(final SlumberingCerberus card) { + super(card); + } + + @Override + public SlumberingCerberus copy() { + return new SlumberingCerberus(this); + } +} diff --git a/Mage.Sets/src/mage/sets/Foundations.java b/Mage.Sets/src/mage/sets/Foundations.java index b2e6d7e36bf..c56e41d09de 100644 --- a/Mage.Sets/src/mage/sets/Foundations.java +++ b/Mage.Sets/src/mage/sets/Foundations.java @@ -238,6 +238,7 @@ public final class Foundations extends ExpansionSet { cards.add(new SetCardInfo("Sire of Seven Deaths", 1, Rarity.MYTHIC, mage.cards.s.SireOfSevenDeaths.class)); cards.add(new SetCardInfo("Skyship Buccaneer", 50, Rarity.UNCOMMON, mage.cards.s.SkyshipBuccaneer.class)); cards.add(new SetCardInfo("Slagstorm", 207, Rarity.RARE, mage.cards.s.Slagstorm.class)); + cards.add(new SetCardInfo("Slumbering Cerberus", 94, Rarity.UNCOMMON, mage.cards.s.SlumberingCerberus.class)); cards.add(new SetCardInfo("Solemn Simulacrum", 257, Rarity.RARE, mage.cards.s.SolemnSimulacrum.class)); cards.add(new SetCardInfo("Sorcerous Spyglass", 679, Rarity.UNCOMMON, mage.cards.s.SorcerousSpyglass.class)); cards.add(new SetCardInfo("Soul-Guide Lantern", 680, Rarity.UNCOMMON, mage.cards.s.SoulGuideLantern.class));