changed how effects are applied for triggered abilities, added test (fixes #7083)

This commit is contained in:
Evan Kranzler 2020-09-29 18:55:51 -04:00
parent 27a4f27727
commit 827ffb5fb2
3 changed files with 26 additions and 1 deletions

View file

@ -44,6 +44,7 @@ public class AttacksCreatureYouControlTriggeredAbility extends TriggeredAbilityI
super(ability);
this.filter = ability.filter;
this.setTargetPointer = ability.setTargetPointer;
this.once = ability.once;
}
public void setOnce(boolean once) {
@ -57,7 +58,6 @@ public class AttacksCreatureYouControlTriggeredAbility extends TriggeredAbilityI
@Override
public boolean checkTrigger(GameEvent event, Game game) {
game.applyEffects(); // Hooded Blightfang
Permanent sourcePermanent = game.getPermanent(event.getSourceId());
if (sourcePermanent != null && filter.match(sourcePermanent, sourceId, controllerId, game)) {
if (setTargetPointer) {

View file

@ -275,6 +275,7 @@ public class Combat implements Serializable, Copyable<Combat> {
attackingPermanent.tap(true, game); // to tap with event finally here is needed to prevent abusing of Vampire Envoy like cards
}
}
game.applyEffects();
handleBanding(attacker, game);
// This can only be used to modify the event, the attack can't be replaced here
game.replaceEvent(GameEvent.getEvent(GameEvent.EventType.ATTACKER_DECLARED, group.defenderId, attacker, attackingPlayerId));