package mage.cards.h; import java.util.UUID; import mage.abilities.dynamicvalue.common.ManacostVariableValue; import mage.abilities.effects.common.DamageAllEffect; import mage.abilities.keyword.AftermathAbility; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.SplitCard; import mage.constants.CardType; import mage.constants.SpellAbilityType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.AbilityPredicate; /** * * @author Styxo */ public class HeavenEarth extends SplitCard { private static final FilterCreaturePermanent filterFlying = new FilterCreaturePermanent("creature with flying"); private static final FilterCreaturePermanent filterWithouFlying = new FilterCreaturePermanent("creature without flying"); static { filterFlying.add(new AbilityPredicate(FlyingAbility.class)); filterWithouFlying.add(Predicates.not(new AbilityPredicate(FlyingAbility.class))); } public HeavenEarth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, new CardType[]{CardType.SORCERY}, "{X}{G}", "{X}{R}{R}", SpellAbilityType.SPLIT_AFTERMATH); // Falling // Falling deals X damage to each creature with flying. getLeftHalfCard().getSpellAbility().addEffect(new DamageAllEffect(new ManacostVariableValue(), filterFlying)); // to // Earth // Earth deals X damage to each creature without flying. ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility()); getRightHalfCard().getSpellAbility().addEffect(new DamageAllEffect(new ManacostVariableValue(), filterWithouFlying)); } public HeavenEarth(final HeavenEarth card) { super(card); } @Override public HeavenEarth copy() { return new HeavenEarth(this); } }