mirror of
https://github.com/correl/mage.git
synced 2024-12-24 11:50:45 +00:00
changed how effects are applied for triggered abilities, added test (fixes #7083)
This commit is contained in:
parent
27a4f27727
commit
827ffb5fb2
3 changed files with 26 additions and 1 deletions
|
@ -0,0 +1,24 @@
|
|||
package org.mage.test.cards.single.m21;
|
||||
|
||||
import mage.constants.PhaseStep;
|
||||
import mage.constants.Zone;
|
||||
import org.junit.Test;
|
||||
import org.mage.test.serverside.base.CardTestPlayerBase;
|
||||
|
||||
public class HoodedBlightfangTest extends CardTestPlayerBase {
|
||||
|
||||
@Test
|
||||
public void testBowOfNylea() {
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Hooded Blightfang");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Raging Goblin");
|
||||
addCard(Zone.BATTLEFIELD, playerA, "Bow of Nylea");
|
||||
|
||||
attack(1, playerA, "Raging Goblin");
|
||||
setStopAt(2, PhaseStep.END_TURN);
|
||||
execute();
|
||||
assertAllCommandsUsed();
|
||||
|
||||
assertLife(playerA, 20 + 1);
|
||||
assertLife(playerB, 20 - 1 - 1);
|
||||
}
|
||||
}
|
|
@ -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) {
|
||||
|
|
|
@ -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));
|
||||
|
|
Loading…
Reference in a new issue