@Override public String getText(Mode mode) { return "turn target " + mode.getTargets().toString() + " face-up"; } }
@Override public String getText(Mode mode) { if (staticText != null && !staticText.isEmpty()) { return staticText; } StringBuilder sb = new StringBuilder(); sb.append("target ").append(mode.getTargets().get(0).getTargetName()).append(" has base power and toughness "); sb.append(power).append('/').append(toughness).append(' ').append(duration.toString()); return sb.toString(); }
@Override public String getText(Mode mode) { if (staticText != null && !staticText.isEmpty()) { return staticText; } if (amount.toString().equals("3")) { return this.sourceName + " deals 3 damage divided as you choose among one, two, or three targets"; } return this.sourceName + " deals " + amount.toString() + " damage divided as you choose among any number of " + mode.getTargets().get(0).getTargetName(); }
@Override public String getText(Mode mode) { if (staticText != null && !staticText.isEmpty()) { return staticText; } return new StringBuilder("{this} fight another target ").append(mode.getTargets().get(0).getTargetName()).toString(); }
@Override public String getText(Mode mode) { if (!staticText.isEmpty()) { return staticText; } if (mode.getTargets().isEmpty()) { return "you may tap or untap it"; } else { return "you may tap or untap target " + mode.getTargets().get(0).getTargetName(); } } }
@Override public String getText(Mode mode) { if(staticText != null && !staticText.isEmpty()) { return staticText; } return "Target " + mode.getTargets().get(0).getTargetName() + " gets " + Integer.toString(amount) + " poison counter(s)."; } }
@Override public String getText(Mode mode) { if (!mode.getTargets().isEmpty()) { return "Copy target " + mode.getTargets().get(0).getTargetName() + ". You may choose new targets for the copy"; } return "No target"; } }
@Override public String getText(Mode mode) { if (staticText != null && !staticText.isEmpty()) { return staticText; } return "{source} deals " + amount.toString() + " damage divided as you choose among any number of target " + mode.getTargets().get(0).getTargetName() + ". Creatures dealt damage this way can't block this turn"; } }
@Override public String getText(Mode mode) { if (staticText != null && !staticText.isEmpty()) { return staticText; } return "Remove target " + mode.getTargets().get(0).getTargetName() + " from combat"; }
@Override public String getText(Mode mode) { if (staticText != null && !staticText.isEmpty()) { return staticText; } else { return "choose target " + mode.getTargets().get(0).getTargetName() + ". Its owner shuffles it into their library"; } } }
@Override public String getText(Mode mode) { StringBuilder sb = new StringBuilder(); sb.append("Counter target ").append(mode.getTargets().get(0).getFilter().getMessage()).append(". "); sb.append(super.getText(mode)); return sb.toString(); } }
@Override public String getText(Mode mode) { if (staticText != null && !staticText.isEmpty()) { return staticText; } return "tap all " + filter.toString() + " target " + (mode.getTargets().size() == 0 ? "player" : mode.getTargets().get(0).getTargetName()) + " controls"; } }
@Override public String getText(Mode mode) { if (staticText != null && !staticText.isEmpty()) { return staticText; } if (this.duration == Duration.EndOfTurn) { return "Target " + mode.getTargets().get(0).getTargetName() + " blocks this turn if able"; } else { return "Target " + mode.getTargets().get(0).getTargetName() + " blocks each turn if able"; } }
@Override public String getText(Mode mode) { if (staticText != null && !staticText.isEmpty()) { return staticText; } if (this.duration == Duration.EndOfTurn) { return "Target " + mode.getTargets().get(0).getTargetName() + " attacks this turn if able"; } else { return "Target " + mode.getTargets().get(0).getTargetName() + " attacks each turn if able"; } }
@Override public String getText(Mode mode) { return "Exchange life totals with target " + mode.getTargets().get(0).getTargetName(); } }
@Override public String getText(Mode mode) { if (staticText != null && !staticText.isEmpty()) { return staticText; } return "Target " + mode.getTargets().get(0).getTargetName() + " gets an emblem with \"" + emblem.getAbilities().getRules(null).stream().collect(Collectors.joining("; ")) + "\""; } }
@Override public String getText(Mode mode) { if (staticText != null && !staticText.isEmpty()) { return staticText; } return "Target " + mode.getTargets().get(0).getTargetName() + " loses all creature types " + duration.toString(); } }
@Override public String getText(Mode mode) { if (staticText != null) { return staticText; } return "Target " + mode.getTargets().get(0).getTargetName() + " doesn't untap during its controller's untap step" + (getDuration().toString().isEmpty() ? "":" " + getDuration()); }
@Override public Targets getTargets() { if (getModes().getMode() != null) { return getModes().getMode().getTargets(); } return null; }
@Override public boolean activateAbility(ActivatedAbility ability, Game game) { if (!isTestMode()) { // Test player already sends target event as he selects the target for (Target target : ability.getModes().getMode().getTargets()) { for (UUID targetId : target.getTargets()) { game.fireEvent(GameEvent.getEvent(EventType.TARGETED, targetId, ability.getId(), ability.getControllerId())); } } } return super.activateAbility(ability, game); }