[WHO] Implement Gallifrey Falls // No More (#11531)

Co-authored-by: Blake Lowe <9019960+dragonfyre23@users.noreply.github.com>
This commit is contained in:
Blake Lowe 2023-12-09 16:03:57 -05:00 committed by GitHub
parent f5c47686ac
commit f7f72036b2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 61 additions and 0 deletions

View file

@ -0,0 +1,60 @@
package mage.cards.g;
import java.util.UUID;
import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.DamageAllEffect;
import mage.abilities.effects.common.PhaseOutTargetEffect;
import mage.abilities.effects.common.replacement.DealtDamageToCreatureBySourceDies;
import mage.cards.CardSetInfo;
import mage.cards.SplitCard;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.SpellAbilityType;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.common.FilterCreaturePermanent;
import mage.game.Game;
import mage.game.permanent.token.CentaurToken;
import mage.players.Player;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.watchers.common.DamagedByWatcher;
/**
*
* @author dragonfyre23
*/
public final class GallifreyFallsNoMore extends SplitCard {
private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("target creatures you control");
public GallifreyFallsNoMore(UUID ownerId, CardSetInfo setInfo) {
super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{4}{R}{R}", "{2}{W}", SpellAbilityType.SPLIT_FUSED);
// Gallifrey Falls
// Gallifrey Falls deals 4 damage to each creature.
getLeftHalfCard().getSpellAbility().addEffect(new DamageAllEffect(4, new FilterCreaturePermanent()));
//If a creature dealt damage this way would die this turn, exile it instead.
getLeftHalfCard().getSpellAbility().addEffect(new DealtDamageToCreatureBySourceDies(getLeftHalfCard(), Duration.EndOfTurn));
getLeftHalfCard().getSpellAbility().addWatcher(new DamagedByWatcher(false));
// No More
// Any number of target creatures you control phase out.
getRightHalfCard().getSpellAbility().addEffect(new PhaseOutTargetEffect());
getRightHalfCard().getSpellAbility().addTarget(new TargetControlledCreaturePermanent(0, Integer.MAX_VALUE, filter, false));
}
private GallifreyFallsNoMore(final GallifreyFallsNoMore card) {
super(card);
}
@Override
public GallifreyFallsNoMore copy() {
return new GallifreyFallsNoMore(this);
}
}

View file

@ -97,6 +97,7 @@ public final class DoctorWho extends ExpansionSet {
cards.add(new SetCardInfo("Frostboil Snarl", 282, Rarity.RARE, mage.cards.f.FrostboilSnarl.class)); cards.add(new SetCardInfo("Frostboil Snarl", 282, Rarity.RARE, mage.cards.f.FrostboilSnarl.class));
cards.add(new SetCardInfo("Furycalm Snarl", 283, Rarity.RARE, mage.cards.f.FurycalmSnarl.class)); cards.add(new SetCardInfo("Furycalm Snarl", 283, Rarity.RARE, mage.cards.f.FurycalmSnarl.class));
cards.add(new SetCardInfo("Gallifrey Council Chamber", 188, Rarity.RARE, mage.cards.g.GallifreyCouncilChamber.class)); cards.add(new SetCardInfo("Gallifrey Council Chamber", 188, Rarity.RARE, mage.cards.g.GallifreyCouncilChamber.class));
cards.add(new SetCardInfo("Gallifrey Falls // No More", 131, Rarity.RARE, mage.cards.g.GallifreyFallsNoMore.class));
cards.add(new SetCardInfo("Gallifrey Stands", 132, Rarity.RARE, mage.cards.g.GallifreyStands.class)); cards.add(new SetCardInfo("Gallifrey Stands", 132, Rarity.RARE, mage.cards.g.GallifreyStands.class));
cards.add(new SetCardInfo("Game Trail", 284, Rarity.RARE, mage.cards.g.GameTrail.class)); cards.add(new SetCardInfo("Game Trail", 284, Rarity.RARE, mage.cards.g.GameTrail.class));
cards.add(new SetCardInfo("Glacial Fortress", 285, Rarity.RARE, mage.cards.g.GlacialFortress.class)); cards.add(new SetCardInfo("Glacial Fortress", 285, Rarity.RARE, mage.cards.g.GlacialFortress.class));