public UntapLandsEffect(int amount, boolean upTo) { super(Outcome.Untap); this.amount = amount; this.upTo = upTo; staticText = "untap " + (upTo ? "up to " : "") + CardUtil.numberToText(amount, staticText) + " lands"; }
@Override public String getRule() { return "Annihilator " + count + " <i>(Whenever this creature attacks, defending player sacrifices " + (count == 1 ? "a permanent" : CardUtil.numberToText(count) + " permanents") + ".)</i>"; }
public AdaptEffect(int adaptNumber) { super(Outcome.BoostCreature); this.adaptNumber = adaptNumber; staticText = "Adapt " + adaptNumber + " <i>(If this creature has no +1/+1 counters on it, put " + CardUtil.numberToText(adaptNumber) + " +1/+1 counter" + (adaptNumber > 1 ? "s" : "") + " on it.)</i>"; }
private void setText() { if (amount > 1) { staticText = new StringBuilder("put ").append(CardUtil.numberToText(amount)).append(" +1/+1 counters on enchanted creature").toString(); } else { staticText = "put a +1/+1 counter on enchanted creature"; } }
private String setText() { StringBuilder sb = new StringBuilder("put the top "); if (numberCards == 1) { sb.append(" card"); } else { sb.append(CardUtil.numberToText(numberCards)); sb.append(" cards"); } sb.append(" of your library into your graveyard"); return sb.toString(); } }
private String setText() { StringBuilder sb = new StringBuilder("Put the top "); if (numberOfCards == 1) { sb.append("card"); } else { sb.append(CardUtil.numberToText(numberOfCards)).append(" cards"); } sb.append(" of your library into your graveyard"); return sb.toString(); } }
private void setText() { StringBuilder sb = new StringBuilder("scry ").append(scryNumber); if (scryNumber == 1) { sb.append(". <i>(Look at the top card of your library. You may put that card on the bottom of your library.)</i>"); } else { sb.append(". <i>(Look at the top "); sb.append(CardUtil.numberToText(scryNumber)); sb.append(" cards of your library, then put any number of them on the bottom of your library and the rest on top in any order.)</i>"); } staticText = sb.toString(); } }
private void setText() { StringBuilder sb = new StringBuilder("surveil ").append(surveilNumber); if (surveilNumber == 1) { sb.append(". <i>(Look at the top card of your library. You may put that card into your graveyard.)</i>"); } else { sb.append(". <i>(Look at the top "); sb.append(CardUtil.numberToText(surveilNumber)); sb.append(" cards of your library, then put any number of them into your graveyard and the rest on top in any order.)</i>"); } staticText = sb.toString(); } }
private String setText(int monstrosityValue) { StringBuilder sb = new StringBuilder("Monstrosity "); sb.append(monstrosityValue == Integer.MAX_VALUE ? "X":monstrosityValue) .append(". <i>(If this creature isn't monstrous, put ") .append(monstrosityValue == Integer.MAX_VALUE ? "X":CardUtil.numberToText(monstrosityValue)) .append(" +1/+1 counters on it and it becomes monstrous.)</i>").toString(); return sb.toString(); }
private void setText() { StringBuilder sb = new StringBuilder(); sb.append("You may play "); if (additionalCards == Integer.MAX_VALUE) { sb.append("any number of"); } else { sb.append(CardUtil.numberToText(additionalCards, "an")); } sb.append(" additional land").append((additionalCards == 1 ? "" : "s")) .append(duration == Duration.EndOfTurn ? " this turn" : " on each of your turns"); staticText = sb.toString(); }
@Override public String getRule() { StringBuilder sb = new StringBuilder("Graft"); sb.append(' ').append(amount).append(" <i>(This ").append(cardtype).append(" enters the battlefield with ") .append(amount == 1 ? "a" : CardUtil.numberToText(amount)) .append(" +1/+1 counter on it. Whenever a creature enters the battlefield, you may move a +1/+1 counter from this ") .append(cardtype).append(" onto it.)</i>"); return sb.toString(); }
public CantBeBlockedByOneAllEffect(int amount, FilterCreaturePermanent filter, Duration duration) { super(duration, Outcome.Benefit); this.amount = amount; this.filter = filter; StringBuilder sb = new StringBuilder("each ").append(filter.getMessage()).append(" can't be blocked "); if (duration == Duration.EndOfTurn) { sb.append("this turn "); } sb.append("except by ").append(CardUtil.numberToText(amount)).append(" or more creatures"); staticText = sb.toString(); }
public CantBeBlockedByMoreThanOneAttachedEffect(AttachmentType attachmentType, int amount, Duration duration) { super(duration, Outcome.Benefit); this.amount = amount; this.attachmentType = attachmentType; staticText = attachmentType.verb() + " creature can't be blocked by more than " + CardUtil.numberToText(amount) + " creature" + (amount==1 ?"":"s"); }
@Override public String toString() { return "there are " + CardUtil.numberToText(value, "one") + " or more " + (filter == null ? "cards" : filter.getMessage()) + " in your graveyard"; }
public CantBeBlockedByMoreThanOneAllEffect(int amount, FilterPermanent filter, Duration duration) { super(duration, Outcome.Benefit); this.amount = amount; this.filter = filter; staticText = new StringBuilder("Each ").append(filter.getMessage()).append(" can't be blocked by more than ") .append(CardUtil.numberToText(amount)).append(" creature").append(amount > 1 ? "s" : "").toString(); }
private String setText() { StringBuilder sb = new StringBuilder(filter.getMessage()); sb.append(" can block "); switch(amount) { case 0: sb.append("any number of creatures"); break; default: sb.append(CardUtil.numberToText(amount, "an")).append(" additional creature").append(amount > 1 ? "s" : ""); } return sb.toString(); }
public PutCountersSourceCost(Counter counter) { this.counter = counter.copy(); this.amount = counter.getCount(); this.name = counter.getName(); this.text = new StringBuilder("Put ").append((amount == 1 ? "a" : CardUtil.numberToText(amount))) .append(' ').append(name).append(" counter").append((amount != 1 ? "s" : "")) .append(" on {this}").toString(); }
private String setText() { StringBuilder sb = new StringBuilder("Remove "); sb.append(CardUtil.numberToText(countersToRemove, "a")).append(' '); if (counterTypeToRemove != null) { sb.append(counterTypeToRemove.getName()); } sb.append(countersToRemove == 1 ? " counter from " : " counters from ").append(target.getMaxNumberOfTargets() == 1 ? "a " : "").append(target.getTargetName()); return sb.toString(); }
private void setText() { StringBuilder sb = new StringBuilder(); sb.append("put "); if (counter.getCount() > 1) { sb.append(CardUtil.numberToText(counter.getCount(), "a")).append(' ').append(counter.getName().toLowerCase(Locale.ENGLISH)).append(" counters on each "); } else { sb.append("a ").append(counter.getName().toLowerCase(Locale.ENGLISH)).append(" counter on each "); } sb.append(filter.getMessage()); staticText = sb.toString(); }
public AddManaOfAnyColorEffect(int amount, boolean setFlag) { super(new Mana(0, 0, 0, 0, 0, 0, amount, 0)); this.amount = amount; netMana.add(Mana.GreenMana(amount)); netMana.add(Mana.BlueMana(amount)); netMana.add(Mana.BlackMana(amount)); netMana.add(Mana.WhiteMana(amount)); netMana.add(Mana.RedMana(amount)); this.staticText = "add " + CardUtil.numberToText(amount) + " mana of any " + (amount > 1 ? "one " : "") + "color"; this.setFlag = setFlag; }