Check Archfiend of Spite trigger on CREATURE_DAMAGED

Currently, it ignored the trigger unless a player was also damaged (by
other unblocked attacking creatures, for example), so there are plenty
of situations where it will fail to occur.

The included test fails against current master, but passes with the
patch.

Fixes #5971.
This commit is contained in:
Adrian Petrescu 2019-09-12 14:32:59 -04:00
parent 234ef0261b
commit 12828b78d6
No known key found for this signature in database
GPG key ID: 3E1D3AEFAEA7D7B1
2 changed files with 33 additions and 1 deletions

View file

@ -73,7 +73,7 @@ class ArchfiendOfSpiteAbility extends TriggeredAbilityImpl {
@Override
public boolean checkEventType(GameEvent event, Game game) {
return event.getType() == GameEvent.EventType.DAMAGED_PLAYER;
return event.getType() == GameEvent.EventType.DAMAGED_CREATURE;
}
@Override

View file

@ -0,0 +1,32 @@
package org.mage.test.cards.single;
import mage.constants.PhaseStep;
import mage.constants.Zone;
import org.junit.Assert;
import org.junit.Test;
import org.mage.test.serverside.base.CardTestPlayerBase;
public class ArchfiendOfSpiteTest extends CardTestPlayerBase {
@Test
public void damageTriggerTest() {
addCard(Zone.BATTLEFIELD, playerA, "Archfiend of Spite");
addCard(Zone.BATTLEFIELD, playerB, "Mountain", 1);
addCard(Zone.HAND, playerB, "Lightning Bolt", 1);
setStopAt(1, PhaseStep.UNTAP);
execute();
assertPermanentCount(playerA, "Archfiend of Spite", 1);
assertLife(playerB, 20);
castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerB, "Lightning Bolt", "Archfiend of Spite");
setStopAt(1, PhaseStep.POSTCOMBAT_MAIN);
setStrictChooseMode(true);
execute();
assertPermanentCount(playerA, "Archfiend of Spite", 1);
assertPermanentCount(playerB, "Mountain", 1);
assertDamageReceived(playerA, "Archfiend of Spite", 3);
assertLife(playerB, 17);
}
}