From a99eef5bf4b0c2ef5a6cd55649ad5639dd1b8496 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Thu, 7 Apr 2016 23:10:42 +0200 Subject: [PATCH] Briarbridge Patrol - Fixed that it doesn't trigger from noncombat damage (fixes #1809). --- .../single/soi/BriarbridgePatrolTest.java | 32 +++++++++++-------- ...eToOneOrMoreCreaturesTriggeredAbility.java | 1 + 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/soi/BriarbridgePatrolTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/soi/BriarbridgePatrolTest.java index 9d0b77e611c..35d12ea02c9 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/single/soi/BriarbridgePatrolTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/soi/BriarbridgePatrolTest.java @@ -8,24 +8,26 @@ import org.junit.Test; import org.mage.test.serverside.base.CardTestPlayerBase; /** - * 3G -Creature - Human Warrior -Whenever Briarbridge Patrol deals damage to one or more creatures, investigate. (Put a colorless Clue artifact token onto the battlefield with "2, Sacrifice this artifact: Draw a card.") - -At the beginning of each end step, if you sacrificed three or more clues this turn, you may put a creature card from your hand onto the battlefield. + * 3G Creature - Human Warrior Whenever Briarbridge Patrol deals damage to one + * or more creatures, investigate. (Put a colorless Clue artifact token onto the + * battlefield with "2, Sacrifice this artifact: Draw a card.") + * + * At the beginning of each end step, if you sacrificed three or more clues this + * turn, you may put a creature card from your hand onto the battlefield. + * * @author escplan9 (Derek Monturo - dmontur1 at gmail dot com) */ public class BriarbridgePatrolTest extends CardTestPlayerBase { - + /** * Deals damage to creature test. */ @Test public void dealtDamageToCreatureInvestigate() { - + addCard(Zone.BATTLEFIELD, playerA, "Briarbridge Patrol", 1); addCard(Zone.BATTLEFIELD, playerB, "Elite Vanguard", 1); - + attack(1, playerA, "Briarbridge Patrol"); block(1, playerB, "Elite Vanguard", "Briarbridge Patrol"); @@ -37,19 +39,21 @@ public class BriarbridgePatrolTest extends CardTestPlayerBase { assertPermanentCount(playerB, "Elite Vanguard", 0); assertGraveyardCount(playerB, "Elite Vanguard", 1); } - + /** - * Reported bug: Briarbridge Patrol investigate doesn't trigger from noncombat damage like Rabid Bite + * Reported bug: Briarbridge Patrol investigate doesn't trigger from + * noncombat damage like Rabid Bite */ @Test public void dealtNonCombatDamageToCreatureInvestigate() { - + // Whenever Briarbridge Patrol deals damage to one or more creatures, investigate (Put a colorless Clue artifact token onto the battlefield with "2, Sacrifice this artifact: Draw a card."). + // At the beginning of each end step, if you sacrificed three or more Clues this turn, you may put a creature card from your hand onto the battlefield. addCard(Zone.BATTLEFIELD, playerA, "Briarbridge Patrol", 1); addCard(Zone.BATTLEFIELD, playerB, "Wall of Roots", 1); // {1}{G} Sorcery Target creature you control deals damage equal to its power to target creature you don't control. - addCard(Zone.HAND, playerA, "Rabid Bite"); + addCard(Zone.HAND, playerA, "Rabid Bite"); addCard(Zone.BATTLEFIELD, playerA, "Forest", 2); - + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Rabid Bite", "Briarbridge Patrol"); addTarget(playerA, "Wall of Roots"); setStopAt(1, PhaseStep.POSTCOMBAT_MAIN); @@ -58,7 +62,7 @@ public class BriarbridgePatrolTest extends CardTestPlayerBase { assertPermanentCount(playerA, "Clue", 1); assertPermanentCount(playerA, "Briarbridge Patrol", 1); assertPermanentCount(playerB, "Wall of Roots", 1); - + Permanent wall = getPermanent("Wall of Roots", playerB); Assert.assertEquals("Wall of Roots should have 3 damage to it", 3, wall.getDamage()); } diff --git a/Mage/src/main/java/mage/abilities/common/DealsDamageToOneOrMoreCreaturesTriggeredAbility.java b/Mage/src/main/java/mage/abilities/common/DealsDamageToOneOrMoreCreaturesTriggeredAbility.java index f7dc8f9e01b..452e69e0ae4 100644 --- a/Mage/src/main/java/mage/abilities/common/DealsDamageToOneOrMoreCreaturesTriggeredAbility.java +++ b/Mage/src/main/java/mage/abilities/common/DealsDamageToOneOrMoreCreaturesTriggeredAbility.java @@ -38,6 +38,7 @@ public class DealsDamageToOneOrMoreCreaturesTriggeredAbility extends DealsDamage } } else { game.getState().setValue("damageStep" + getOriginalId(), null); + return true; } // TODO: check that if the source did non combat damage to multiple targets at the same time, it may only trigger one time // I don't know currently how this can happen for a source creature that this has not already build in