@Override public boolean checkTrigger(GameEvent event, Game game) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(event.getTargetId())); } return true; }
@Override public boolean checkTrigger(GameEvent event, Game game) { if (event.getTargetId().equals(getSourceId())) { for (Effect effect : getEffects()) { // set the vehicle id as target effect.setTargetPointer(new FixedTarget(event.getSourceId())); } return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { this.getEffects().get(0).setTargetPointer(new FixedTarget(event.getPlayerId())); return true; }
@Override public boolean checkTrigger(GameEvent event, Game game) { if (game.getOpponents(getControllerId()).contains(event.getPlayerId())) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(event.getPlayerId())); } return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { DamagedPlayerEvent damageEvent = (DamagedPlayerEvent) event; if (damageEvent.isCombatDamage() && event.getSourceId().equals(this.getSourceId())) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(event.getPlayerId())); } return true; } return false; }
@Override public boolean apply(Game game, Ability source) { Permanent sourcePerm = game.getPermanent(source.getSourceId()); if (sourcePerm == null) { return false; } Effect effect = new BecomesChosenCreatureTypeTargetEffect(nonWall, duration); effect.setTargetPointer(new FixedTarget(sourcePerm, game)); return effect.apply(game, source); }
@Override public boolean apply(Game game, Ability source) { MageObject sourceObject = source.getSourceObjectIfItStillExists(game); if (sourceObject instanceof Permanent) { //create delayed triggered ability Effect effect = new TransformTargetEffect(false); effect.setTargetPointer(new FixedTarget((Permanent) sourceObject, game)); AtTheBeginOfNextUpkeepDelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(effect); game.addDelayedTriggeredAbility(delayedAbility, source); } return true; }
@Override public boolean checkTrigger(GameEvent event, Game game) { if (((DamagedPlayerEvent) event).isCombatDamage() && game.getOpponents(this.controllerId).contains(event.getPlayerId())) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(game.getPermanent(event.getSourceId()).getControllerId())); } return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { MageObject eventSourceObject = game.getObject(event.getSourceId()); if (event.getTargetId().equals(this.getSourceId()) && eventSourceObject instanceof Spell) { getEffects().get(0).setTargetPointer(new FixedTarget(event.getPlayerId())); return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { Permanent attacker = game.getPermanent(event.getSourceId()); Player defender = game.getPlayer(event.getTargetId()); Player you = game.getPlayer(controllerId); if (!Objects.equals(attacker.getControllerId(), you.getId()) && Objects.equals(defender, you)) { this.getEffects().get(0).setTargetPointer(new FixedTarget(attacker.getControllerId())); return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { Permanent blocker = game.getPermanent(event.getSourceId()); if (blocker != null) { getEffects().get(0).setTargetPointer(new FixedTarget(blocker.getControllerId())); return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { Permanent land = game.getPermanent(event.getTargetId()); if (land != null && filter.match(land, game)) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(land.getControllerId())); } return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { Permanent equipment = game.getPermanent(sourceId); if (equipment != null && equipment.getAttachedTo() != null) { Permanent equipped = game.getPermanent(equipment.getAttachedTo()); if (equipped.getId().equals(event.getTargetId())) { getEffects().get(1).setTargetPointer(new FixedTarget(equipped, game)); return true; } } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { if (game.getOpponents(controllerId).contains(event.getPlayerId())) { Permanent permanent = game.getPermanent(event.getSourceId()); if (permanent != null && permanent.isLand()) { getEffects().get(0).setTargetPointer(new FixedTarget(permanent.getId())); return true; } } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { Spell spell = game.getStack().getSpell(event.getTargetId()); if (spell != null && !spell.isCreature()) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(event.getPlayerId())); } return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { if (((DamagedPlaneswalkerEvent) event).isCombatDamage() && getSourceId().equals(event.getTargetId())) { Permanent sourceOfDamage = game.getPermanent(event.getSourceId()); if (sourceOfDamage != null && sourceOfDamage.isCreature()) { Effect effect = this.getEffects().get(0); effect.setTargetPointer(new FixedTarget(sourceOfDamage.getId())); return true; } } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { StackObject stackObject = game.getStack().getStackObject(event.getSourceId()); if (event.getTargetId().equals(getControllerId()) && filter.match(stackObject, getSourceId(), getControllerId(), game)) { for (Effect effect : this.getEffects()) { effect.setTargetPointer(new FixedTarget(stackObject.getId(), game)); } return true; } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { Permanent enchantment = game.getPermanent(this.sourceId); if (enchantment != null && enchantment.getAttachedTo() != null) { Player player = game.getPlayer(enchantment.getAttachedTo()); if (player != null && game.isActivePlayer(player.getId())) { this.getEffects().get(0).setTargetPointer(new FixedTarget(player.getId())); return true; } } return false; }
@Override public void adjustTargets(Ability ability, Game game) { UUID controllerId = ability.getEffects().get(0).getTargetPointer().getFirst(game, ability); if (controllerId != null) { ability.getTargets().get(0).setTargetController(controllerId); ability.getEffects().get(0).setTargetPointer(new FirstTargetPointer()); } } }
@Override public boolean checkTrigger(GameEvent event, Game game) { Permanent source = game.getPermanent(event.getSourceId()); if (source != null && source.isControlledBy(controllerId) && source.hasSubtype(SubType.TROOPER, game)) { UUID defendingPlayerId = game.getCombat().getDefendingPlayerId(event.getSourceId(), game); this.getEffects().get(0).setTargetPointer(new FixedTarget(defendingPlayerId)); return true; } return false; }