@Override public CastOnlyIfYouHaveCastAnotherSpellEffect copy() { return new CastOnlyIfYouHaveCastAnotherSpellEffect(this); } }
@Override public CantHaveCountersSourceEffect copy() { return new CantHaveCountersSourceEffect(this); }
public CastOnlyDuringPhaseStepSourceEffect(TurnPhase turnPhase, PhaseStep phaseStep, Condition condition) { super(Duration.EndOfGame, Outcome.Detriment); this.turnPhase = turnPhase; this.phaseStep = phaseStep; this.condition = condition; staticText = setText(); }
@Override public TargetsHaveToTargetPermanentIfAbleEffect copy() { return new TargetsHaveToTargetPermanentIfAbleEffect(this); }
@Override public PlayLandsFromGraveyardEffect copy() { return new PlayLandsFromGraveyardEffect(this); }
@Override public CombatDamageByToughnessEffect copy() { return new CombatDamageByToughnessEffect(this); }
@Override public CantRegenerateTargetEffect copy() { return new CantRegenerateTargetEffect(this); }
@Override public CastOnlyDuringPhaseStepSourceEffect copy() { return new CastOnlyDuringPhaseStepSourceEffect(this); }
@Override public boolean applies(GameEvent event, Ability source, Game game) { UUID targetId = getTargetPointer().getFirst(game, source); if (targetId != null) { return targetId.equals(event.getTargetId()); } return false; } }
public HewedStoneRetainers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); this.subtype.add(SubType.GOLEM); this.power = new MageInt(4); this.toughness = new MageInt(4); // Cast Hewed Stone Retainers only if you've cast another spell this turn. this.addAbility(new SimpleStaticAbility(Zone.ALL, new CastOnlyIfYouHaveCastAnotherSpellEffect())); }
public StandardBearer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.FLAGBEARER); this.power = new MageInt(1); this.toughness = new MageInt(1); // While choosing targets as part of casting a spell or activating an ability, your opponents must choose at least one Flagbearer on the battlefield if able. this.addAbility(new SimpleStaticAbility(new TargetsHaveToTargetPermanentIfAbleEffect())); }
public CrucibleOfWorlds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); // You may play land cards from your graveyard. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayLandsFromGraveyardEffect())); }
public BelligerentBrontodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{W}"); this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(4); this.toughness = new MageInt(6); // Each creature you control assigns combat damage equal to its toughness rather than its power. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CombatDamageByToughnessEffect(StaticFilters.FILTER_PERMANENT_CREATURE, true))); }
public MelirasKeepers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); // Melira's Keepers can't have counters put on it this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantHaveCountersSourceEffect())); }
public CastOnlyDuringPhaseStepSourceAbility(TurnPhase turnPhase, PhaseStep phaseStep, Condition condition, String effectText) { super(Zone.ALL, new CastOnlyDuringPhaseStepSourceEffect(turnPhase, phaseStep, condition)); this.setRuleAtTheTop(true); if (effectText != null) { getEffects().get(0).setText(effectText); } }
public SkyshroudCondor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); // Flying this.addAbility(FlyingAbility.getInstance()); // Cast Skyshroud Condor only if you've cast another spell this turn. this.addAbility(new SimpleStaticAbility(Zone.ALL, new CastOnlyIfYouHaveCastAnotherSpellEffect())); }
public CoalitionHonorGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.FLAGBEARER); this.power = new MageInt(2); this.toughness = new MageInt(4); // While choosing targets as part of casting a spell or activating an ability, your opponents must choose at least one Flagbearer on the battlefield if able. this.addAbility(new SimpleStaticAbility(new TargetsHaveToTargetPermanentIfAbleEffect())); }
public RamunapExcavator(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); this.subtype.add(SubType.NAGA); this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); // You may play land cards from your graveyard. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayLandsFromGraveyardEffect())); }
public DoranTheSiegeTower(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{B}{G}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.TREEFOLK); this.subtype.add(SubType.SHAMAN); this.power = new MageInt(0); this.toughness = new MageInt(5); // Each creature assigns combat damage equal to its toughness rather than its power. this.addAbility(new SimpleStaticAbility( Zone.BATTLEFIELD, new CombatDamageByToughnessEffect( StaticFilters.FILTER_PERMANENT_CREATURE, false ) )); }
public IllusoryAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); this.subtype.add(SubType.ANGEL); this.subtype.add(SubType.ILLUSION); this.power = new MageInt(4); this.toughness = new MageInt(4); // Flying this.addAbility(FlyingAbility.getInstance()); // Cast Illusory Angel only if you've cast another spell this turn. this.addAbility(new SimpleStaticAbility(Zone.ALL, new CastOnlyIfYouHaveCastAnotherSpellEffect())); }