LicidSpecialAction(ManaCost cost, UUID messageId, String licidName) { super(); this.addCost(cost); this.addEffect(new LicidSpecialActionEffect(messageId, this.getId(), licidName)); }
public LegendarySpellAbility() { super(Zone.ALL, new LegendarySpellAbilityCheckEffect()); this.setRuleAtTheTop(true); }
@Override public LegendarySpellAbility copy() { return new LegendarySpellAbility(this); } }
public TurnFaceUpAbility(Costs<Cost> costs, boolean megamorph) { super(Zone.BATTLEFIELD); this.addEffect(new TurnFaceUpEffect(megamorph)); for (Cost cost : costs) { if (cost instanceof ManaCost) { this.addManaCost((ManaCost) cost); } else { this.addCost(cost); } } this.usesStack = false; this.abilityType = AbilityType.SPECIAL_ACTION; this.setRuleVisible(false); // will be made visible only to controller in CardView }
@Override public DealsDamageGainLifeSourceTriggeredAbility copy() { return new DealsDamageGainLifeSourceTriggeredAbility(this); } @Override
@Override public CantBlockAbility copy() { return new CantBlockAbility(this); } }
@Override public AttacksFirstTimeTriggeredAbility copy() { return new AttacksFirstTimeTriggeredAbility(this); } }
@Override public EntersBattlefieldTriggeredAbility copy() { return new EntersBattlefieldTriggeredAbility(this); } }
@Override public PlaneswalkerEntersWithLoyaltyCountersAbility copy() { return new PlaneswalkerEntersWithLoyaltyCountersAbility(this); } }
@Override public EntersBattlefieldControlledTriggeredAbility copy() { return new EntersBattlefieldControlledTriggeredAbility(this); } }
@Override public CastOnlyIfConditionIsTrueAbility copy() { return new CastOnlyIfConditionIsTrueAbility(this); } }
@Override public AttachableToRestrictedAbility copy() { return new AttachableToRestrictedAbility(this); } }
@Override public CanBlockOnlyFlyingAbility copy() { return new CanBlockOnlyFlyingAbility(this); } }
@Override public BlocksOrBecomesBlockedTriggeredAbility copy() { return new BlocksOrBecomesBlockedTriggeredAbility(this); } }
public BecomesFaceDownCreatureEffect(Costs<Cost> turnFaceUpCosts, MageObjectReference objectReference, Duration duration, FaceDownType faceDownType) { super(duration, Outcome.BecomeCreature); this.objectReference = objectReference; this.zoneChangeCounter = Integer.MIN_VALUE; if (turnFaceUpCosts != null) { this.turnFaceUpAbility = new TurnFaceUpAbility(turnFaceUpCosts, faceDownType == FaceDownType.MEGAMORPHED); } staticText = "{this} becomes a 2/2 face-down creature, with no text, no name, no subtypes, and no mana cost"; foundPermanent = false; this.faceDownType = faceDownType; }
@Override public String getRule() { return "When Flesh Carver dies, " + super.getRule(); } }
private String generateZoneString() { switch (getZone()) { case GRAVEYARD: return "if {this} is in your graveyard, "; } return ""; } }
private String generateZoneString() { switch (getZone()) { case GRAVEYARD: return "if {this} is in your graveyard, "; } return ""; } }
@Override public CantHaveMoreThanAmountCountersSourceEffect copy() { return new CantHaveMoreThanAmountCountersSourceEffect(this); } }
public MCTSPlayer(final MCTSPlayer player) { super(player); this.pass = player.pass.copy(); this.nextAction = player.nextAction; }