LicidEffect(ManaCost specialActionCost) { super(Outcome.Neutral); this.specialActionCost = specialActionCost; this.staticText = "{this} loses this ability and becomes an Aura enchantment with enchant creature. Attach it to target creature. You may pay " + specialActionCost.getText() + " to end this effect"; }
@Override public List<String> getSymbols() { List<String> symbols = new ArrayList<>(); for (ManaCost cost : this) { symbols.add(cost.getText()); } return symbols; }
@Override public String getText() { if (text != null) { return text; } if (this.isEmpty()) { return ""; } StringBuilder sbText = new StringBuilder(); for (ManaCost cost : this) { if (cost instanceof GenericManaCost) { sbText.append(cost.getText()); } } for (ManaCost cost : this) { if (!(cost instanceof GenericManaCost)) { sbText.append(cost.getText()); } } return sbText.toString(); }
xCosts.setMinX(1); this.addManaCost(xCosts); cost = new ManaCostsImpl("{X}" + cost.getText()); sb.append(suspend == Integer.MAX_VALUE ? "X" : suspend).append("—").append(cost.getText()).append(suspend == Integer.MAX_VALUE ? ". X can't be 0" : ""); if (!shortRule) { sb.append(" <i>(Rather than cast this card from your hand, pay ") .append(cost.getText()) .append(" and exile it with ") .append((suspend == 1 ? "a time counter" : (suspend == Integer.MAX_VALUE ? "X time counters" : suspend + " time counters")))
public SpectacleAbility(Card card, ManaCost spectacleCosts) { super(spectacleCosts, card.getName() + " with spectacle", Zone.HAND, SpellAbilityType.BASE_ALTERNATE); this.getCosts().addAll(card.getSpellAbility().getCosts().copy()); this.getEffects().addAll(card.getSpellAbility().getEffects().copy()); this.getTargets().addAll(card.getSpellAbility().getTargets().copy()); this.spellAbilityType = SpellAbilityType.BASE_ALTERNATE; this.timing = card.getSpellAbility().getTiming(); this.setRuleAtTheTop(true); this.rule = "Spectacle " + spectacleCosts.getText() + " <i>(You may cast this spell for its spectacle cost rather than its mana cost if an opponent lost life this turn.)</i>"; }