public DarigaazReincarnatedInterveningIfTriggeredAbility() { super(new BeginningOfUpkeepTriggeredAbility(Zone.EXILED, new DarigaazReincarnatedReturnEffect(), TargetController.YOU, false), DarigaazReincarnatedCondition.instance, "At the beginning of your upkeep, if {this} is exiled with an egg counter on it, " + "remove an egg counter from it. Then if {this} has no egg counters on it, return it to the battlefield"); }
@Override public boolean checkInterveningIfClause(Game game) { Player controller = game.getPlayer(controllerId); if(controller != null && controller.getGraveyard().contains(sourceId)){ return super.checkInterveningIfClause(game); } return false; }
@Override public String getRule() { StringBuilder sb = new StringBuilder(super.getRule()); if (ruleTrigger != null && !ruleTrigger.isEmpty()) { return sb.insert(0, ruleTrigger).toString(); } switch (targetController) { case YOU: if (this.optional) { if (sb.substring(0, 6).toLowerCase(Locale.ENGLISH).equals("target")) { sb.insert(0, "you may have "); } else if (!sb.substring(0, 4).toLowerCase(Locale.ENGLISH).equals("you ")) { sb.insert(0, "you may "); } } return sb.insert(0, generateZoneString()).insert(0, "At the beginning of your upkeep, ").toString(); case OPPONENT: return sb.insert(0, generateZoneString()).insert(0, "At the beginning of each opponent's upkeep, ").toString(); case ANY: return sb.insert(0, generateZoneString()).insert(0, "At the beginning of each upkeep, ").toString(); case CONTROLLER_ATTACHED_TO: return sb.insert(0, generateZoneString()).insert(0, "At the beginning of the upkeep of enchanted creature's controller, ").toString(); } return ""; }
boolean yours = event.getPlayerId().equals(this.controllerId); if (yours && setTargetPointer) { if (getTargets().isEmpty()) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(event.getPlayerId())); case OPPONENT: if (game.getPlayer(this.controllerId).hasOpponent(event.getPlayerId(), game)) { if (setTargetPointer && getTargets().isEmpty()) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(event.getPlayerId())); if (setTargetPointer && getTargets().isEmpty()) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(event.getPlayerId())); Permanent attachedTo = game.getPermanent(attachment.getAttachedTo()); if (attachedTo != null && attachedTo.isControlledBy(event.getPlayerId())) { if (setTargetPointer && getTargets().isEmpty()) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(event.getPlayerId()));
private String generateZoneString() { switch (getZone()) { case GRAVEYARD: return "if {this} is in your graveyard, "; } return ""; } }
public ForceMastery(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}{U}{W}"); // At the beggining of your upkeep, reveal the top card of your library and put that card into your hand. You gain life equal to its converted mana cost. this.addAbility(new BeginningOfUpkeepTriggeredAbility(new ForceMasteryEffect(), TargetController.YOU, false)); }
@Override public boolean checkInterveningIfClause(Game game) { Player controller = game.getPlayer(controllerId); if (controller != null && controller.getGraveyard().contains(sourceId)) { return super.checkInterveningIfClause(game); } return false; }
public AncientRunes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); // At the beginning of each player's upkeep, Ancient Runes deals damage to that player equal to the number of artifacts he or she controls. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new AncientRunesDamageTargetEffect(), TargetController.ANY, false, true)); }
@Override public boolean checkInterveningIfClause(Game game) { Player controller = game.getPlayer(controllerId); if(controller != null && controller.getGraveyard().contains(sourceId)){ return super.checkInterveningIfClause(game); } return false; }
public SunkenHope(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}{U}"); // At the beginning of each player's upkeep, that player returns a creature he or she controls to its owner's hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new SunkenHopeReturnToHandEffect(), TargetController.ANY, false, true)); }
@Override public boolean checkInterveningIfClause(Game game) { Condition condition = new ControlsPermanentsComparedToOpponentsCondition( ComparisonType.EQUAL_TO, new FilterPermanent()); Player controller = game.getPlayer(controllerId); if (controller != null && condition.apply(game, this)) { return super.checkInterveningIfClause(game); } return false; }
public GamePreserve(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}"); // At the beginning of your upkeep, each player reveals the top card of their library. If all cards revealed this way are creature cards, put those cards onto the battlefield under their owners' control. this.addAbility(new BeginningOfUpkeepTriggeredAbility(new DuskmarEffect(), TargetController.YOU, false)); }
public ThranTurbine(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}"); // At the beginning of your upkeep, you may add {C} or {C}{C}. You can't spend this mana to cast spells. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ThranTurbineEffect(), TargetController.YOU, true)); }
public ShapeshiftersMarrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}{U}"); // At the beginning of each opponent's upkeep, that player reveals the top card of their library. If it's a creature card, the player puts the card into their graveyard and Shapeshifter's Marrow becomes a copy of that card. (If it does, it loses this ability.) this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ShapeshiftersMarrowEffect(), TargetController.OPPONENT, false)); }
public WolfcallersHowl(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{G}"); // At the beginning of your upkeep, create X 2/2 green Wolf creature tokens, where X is the number of your opponents with four or more cards in hand. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new WolfcallersHowlEffect(), TargetController.YOU, false)); }
public TouchOfTheEternal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{5}{W}{W}"); // At the beginning of your upkeep, count the number of permanents you control. Your life total becomes that number. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new TouchOfTheEternalEffect(), TargetController.YOU, false)); }
public WildEvocation(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{5}{R}"); //At the beginning of each player's upkeep, that player reveals a card at random from their hand. If it's a land card, the player puts it onto the battlefield. Otherwise, the player casts it without paying its mana cost if able. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new WildEvocationEffect(), TargetController.ANY, false)); }
public GrowingRanks(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G/W}{G/W}"); // At the beginning of your upkeep, populate. (Create a token that's a copy of a creature token you control.) this.addAbility(new BeginningOfUpkeepTriggeredAbility(new PopulateEffect(""), TargetController.YOU, false)); }
public ThinkTank(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); // At the beginning of your upkeep, look at the top card of your library. You may put that card into your graveyard. this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ThinkTankLookLibraryEffect(), TargetController.YOU, false)); }
KuonsEssenceToken() { super("Kuon's Essence", ""); addSuperType(SuperType.LEGENDARY); cardType.add(CardType.ENCHANTMENT); color.setBlack(true); // At the beginning of each player's upkeep, that player sacrifices a creature.. this.addAbility(new BeginningOfUpkeepTriggeredAbility( Zone.BATTLEFIELD, new SacrificeEffect(StaticFilters.FILTER_PERMANENT_CREATURE, 1, "that player"), TargetController.ANY, false, true)); } public KuonsEssenceToken(final KuonsEssenceToken token) {