@Override public boolean checkTrigger(GameEvent event, Game game) { if (event.getPlayerId().equals(this.getControllerId())) { Permanent permanent = game.getPermanent(event.getSourceId()); if (permanent != null && permanent.isCreature()) { this.getEffects().setTargetPointer(new FixedTarget(permanent, game)); return true; } } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { if (event.getTargetId().equals(this.getSourceId())) { Permanent blocker = game.getPermanent(event.getSourceId()); if (filter.match(blocker, game)) { this.getEffects().setTargetPointer(new FixedTarget(blocker, game)); return true; } } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { if (event.getSourceId().equals(getSourceId())) { Permanent targetPermanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); if (targetPermanent.hasSubtype(SubType.DINOSAUR, game)) { getEffects().setTargetPointer(new FixedTarget(targetPermanent, game)); return true; } } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { if (event.getPlayerId().equals(this.getControllerId())) { Permanent permanent = game.getPermanent(event.getSourceId()); if (permanent != null && permanent.isCreature()) { this.getEffects().setTargetPointer(new FixedTarget(permanent, game)); return true; } } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null) { for (CombatGroup combatGroup : game.getCombat().getGroups()) { if (combatGroup.getBlockers().isEmpty() && combatGroup.getAttackers().contains(event.getTargetId())) { this.getEffects().setTargetPointer(new FixedTarget(permanent, game)); return true; } } } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { Permanent creature = game.getPermanent(event.getTargetId()); if (creature != null && creature.hasSubtype(SubType.CLERIC, game) && creature.getControllerId().equals(getControllerId()) && creature.isCreature()) { this.getEffects().setTargetPointer(new FixedTarget(creature, game)); return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { UUID targetId = event.getTargetId(); Permanent permanent = game.getPermanent(targetId); if (permanent.isControlledBy(this.controllerId) && permanent.isCreature()) { this.getEffects().setTargetPointer(new FixedTarget(permanent, game)); return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { Permanent sourcePermanent = game.getPermanent(event.getSourceId()); if (sourcePermanent != null && filter.match(sourcePermanent, sourceId, controllerId, game)) { if (setTargetPointer) { this.getEffects().setTargetPointer(new FixedTarget(event.getSourceId())); } return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { if (((ZoneChangeEvent) event).isDiesEvent() && mor.refersTo(((ZoneChangeEvent) event).getTarget(), game)) { getEffects().setTargetPointer(new FixedTarget(event.getTargetId(), game)); return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { if (super.checkTrigger(event, game)) { UUID defenderId = game.getCombat().getDefendingPlayerId(getSourceId(), game); if (defenderId != null) { this.getEffects().setTargetPointer(new FixedTarget(defenderId)); return true; } } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { if (super.checkTrigger(event, game)) { String key = CardUtil.getCardZoneString("targetPlayer", this.getSourceId(), game, true); Object object = game.getState().getValue(key); if (object instanceof UUID) { this.getEffects().setTargetPointer(new FixedTarget((UUID) object)); return true; } } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { if (event.getPlayerId().equals(this.getControllerId())) { Spell spell = game.getStack().getSpell(event.getTargetId()); if (spell != null && (spell.isInstant() || spell.isSorcery())) { this.getEffects().setTargetPointer(new FixedTarget(event.getTargetId())); return true; } } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { Permanent blocker = game.getPermanent(event.getSourceId()); Permanent blocked = game.getPermanent(event.getTargetId()); if (blocker != null && blocked != null) { game.getState().setValue(blocked.toString(), blocked.getZoneChangeCounter(game)); // in case the attacker changes zone game.getState().setValue(blocker.toString(), blocker.getZoneChangeCounter(game)); // in case the blocker changes zone getAllEffects().setTargetPointer(new FixedTarget(blocked.getId())); return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null && permanent.isCreature() && (permanent.isControlledBy(getControllerId()))) { this.getEffects().setTargetPointer(new FixedTarget(permanent, game)); return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { if (event.getPlayerId().equals(this.getControllerId())) { Spell spell = game.getStack().getSpell(event.getTargetId()); if (spell != null && spell.isCreature() && spell.hasSubtype(SubType.DINOSAUR, game)) { getEffects().setTargetPointer(new FixedTarget(spell.getSourceId())); return true; } } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { Spell spell = game.getStack().getSpell(event.getTargetId()); if (spell != null && (spell.isInstant() || spell.isSorcery())) { this.getEffects().setTargetPointer(new FixedTarget(event.getTargetId())); return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null && filter.match(permanent, getSourceId(), getControllerId(), game)) { if (setTargetPointer) { this.getEffects().setTargetPointer(new FixedTarget(event.getTargetId())); } return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { Permanent permanent = game.getPermanent(event.getTargetId()); if (permanent != null && filter.match(permanent, getSourceId(), getControllerId(), game)) { if (setTargetPointer) { this.getEffects().setTargetPointer(new FixedTarget(event.getTargetId())); } return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { ZoneChangeEvent zEvent = (ZoneChangeEvent) event; if (zEvent.getToZone() == Zone.GRAVEYARD && zEvent.getFromZone() == Zone.BATTLEFIELD && zEvent.getTarget().isArtifact() && zEvent.getTarget().isOwnedBy(this.controllerId)) { this.getEffects().setTargetPointer(new FixedTarget(zEvent.getTargetId())); return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { if (game.getPlayer(getControllerId()).hasOpponent(event.getPlayerId(), game)) { Permanent permanent = (Permanent) game.getLastKnownInformation(event.getTargetId(), Zone.BATTLEFIELD); if (permanent != null && !(permanent instanceof PermanentToken)) { getEffects().setTargetPointer(new FixedTarget(event.getTargetId(), game.getState().getZoneChangeCounter(event.getTargetId()))); return true; } } return false; }