public void removeDelayedTriggeredAbility(UUID abilityId) { for (DelayedTriggeredAbility ability : delayed) { if (ability.getId().equals(abilityId)) { delayed.remove(ability); break; } } }
@Override public boolean apply(Game game, Ability source) { DelayedTriggeredAbility delayedAbility = new SaffiEriksdotterDelayedTriggeredAbility( new FixedTarget(this.getTargetPointer().getFirst(game, source))); delayedAbility.setSourceId(source.getSourceId()); delayedAbility.setControllerId(source.getControllerId()); delayedAbility.setSourceObject(source.getSourceObject(game), game); game.addDelayedTriggeredAbility(delayedAbility); return false; }
@Override public boolean apply(Game game, Ability source) { Card card = game.getCard(source.getFirstTarget()); if (card != null) { card.addAbility(HasteAbility.getInstance()); card.putOntoBattlefield(game, Zone.GRAVEYARD, source.getId(), source.getControllerId()); ExileTargetEffect exileEffect = new ExileTargetEffect(); exileEffect.setTargetPointer(new FixedTarget(card.getId())); DelayedTriggeredAbility delayedAbility = new AtEndOfTurnDelayedTriggeredAbility(exileEffect); delayedAbility.setSourceId(source.getSourceId()); delayedAbility.setControllerId(source.getControllerId()); game.addDelayedTriggeredAbility(delayedAbility); return true; } return false; }