@Override public String getRule() { return "Whenever you cast a creature spell this turn, " + modes.getText(); } }
@Override public String getRule() { return "At the beginning of your next upkeep " + modes.getText(); } }
@Override public String getRule() { return "Whenever a creature dies this turn, " + modes.getText(); } }
@Override public String getRule() { return "At the beginning of your next upkeep, if you haven't played it, " + modes.getText(); } }
@Override public String getRule() { return "At this turn's next end of combat, " + modes.getText(); } }
@Override public String getRule() { return "At the beginning of each end step or when {this} leaves the battlefield, " + modes.getText(); } }
@Override public String getRule() { return " At the beginning of the next combat, " + modes.getText(); } }
@Override public String getRule() { return "Whenever a creature enters the battlefield this turn, you may " + modes.getText(); } }
@Override public String getRule() { return "Whenever you gain life this turn, " + modes.getText(); } }
@Override public String getRule() { return "Choose target creature. Whenever that creature is dealt damage this turn, " + modes.getText(); } }
@Override public String getRule() { String ruleText = modes.getText(); if (ruleText.contains("at end of combat")) { return ruleText; } return "At end of combat, " + ruleText; } }
public String getText(String sourceName) { String text = getText(); text = text.replace("{this}", sourceName); text = text.replace("{source}", sourceName); return text; }
@Override public String getRule() { StringBuilder sb = new StringBuilder(); String text = modes.getText(); if (!text.isEmpty()) { sb.append(Character.toUpperCase(text.charAt(0))); if (text.endsWith(".")) { sb.append(text.substring(1, text.length()-1)); } else { sb.append(text.substring(1)); } } return sb.append(" at the beginning of the next turn's upkeep.").toString(); } }
@Override public String getRule() { StringBuilder sb = new StringBuilder(); String text = modes.getText(); if (!text.isEmpty()) { sb.append(Character.toUpperCase(text.charAt(0))); if (text.endsWith(".")) { sb.append(text.substring(1, text.length()-1)); } else { sb.append(text.substring(1)); } } return sb.append(" at the beginning of the next cleanup step.").toString(); } }
@Override public String getGameLogMessage(Game game) { if (game.isSimulation()) { return ""; } MageObject object = game.getObject(this.sourceId); if (object == null) { // e.g. sacrificed token logger.warn("Could get no object: " + this.toString()); } return new StringBuilder(" activates: ") .append(object != null ? this.formatRule(getModes().getText(), object.getLogName()) : getModes().getText()) .append(" from ") .append(getMessageText(game)).toString(); }
String text = getModes().getText(); String rule; if (!text.isEmpty()) {