@Override public boolean checkTrigger(GameEvent event, Game game) { boolean toRet = false; for (int i = 0; i < triggeredAbilities.length; i++) { TriggeredAbility ability = triggeredAbilities[i]; if (ability.checkEventType(event, game) && ability.checkTrigger(event, game)) { triggeringAbilities.add(i); toRet = true; } } return toRet; }
@Override public boolean checkTrigger(GameEvent event, Game game) { ability.setSourceId(this.getSourceId()); ability.setControllerId(this.getControllerId()); return ability.checkTrigger(event, game); }
@Override public boolean applies(GameEvent event, Ability source, Game game) { Ability ability = (Ability) getValue("targetAbility"); if (ability != null && ability.getAbilityType() == AbilityType.TRIGGERED) { Permanent permanent = ((EntersTheBattlefieldEvent) event).getTarget(); if (permanent != null && permanent.isCreature()) { return (((TriggeredAbility) ability).checkTrigger(event, game)); } } return false; }
@Override public boolean applies(GameEvent event, Ability source, Game game) { Ability ability = (Ability) getValue("targetAbility"); if (ability != null && ability.getAbilityType() == AbilityType.TRIGGERED) { Permanent permanent = ((EntersTheBattlefieldEvent) event).getTarget(); if (permanent != null && permanent.isCreature()) { return (((TriggeredAbility) ability).checkTrigger(event, game)); } } return false; }
@Override public boolean checkTrigger(GameEvent event, Game game) { ability.setSourceId(this.getSourceId()); ability.setControllerId(this.getControllerId()); return ability.checkTrigger(event, game) && condition.apply(game, this); }
if (ability.checkTrigger(event, game)) { NumberOfTriggersEvent numberOfTriggersEvent = new NumberOfTriggersEvent(ability.getControllerId(), ability.getSourceId(), event); if (!game.replaceEvent(numberOfTriggersEvent)) {