diff --git a/Mage.Sets/src/mage/sets/judgment/Browbeat.java b/Mage.Sets/src/mage/sets/judgment/Browbeat.java index a81a5370fc3..e3053c6080b 100644 --- a/Mage.Sets/src/mage/sets/judgment/Browbeat.java +++ b/Mage.Sets/src/mage/sets/judgment/Browbeat.java @@ -99,7 +99,7 @@ class BrowbeatDrawEffect extends OneShotEffect { boolean drawCards = true; for(UUID uuid : game.getPlayerList()){ Player player = game.getPlayer(uuid); - if(player.chooseUse(Outcome.Detriment, "Have " + spell.getName() + " deal 5 damage to you?", game)){ + if(player != null && player.chooseUse(Outcome.Detriment, "Have " + spell.getName() + " deal 5 damage to you?", game)){ drawCards = false; player.damage(5, source.getSourceId(), game, false, true); game.informPlayers(player.getName() + " has " + spell.getName() + " deal 5 to him or her"); diff --git a/Mage.Tests/src/test/java/org/mage/test/cards/single/OmniscienceTest.java b/Mage.Tests/src/test/java/org/mage/test/cards/single/OmniscienceTest.java index 9a7c0601706..21af74600f2 100644 --- a/Mage.Tests/src/test/java/org/mage/test/cards/single/OmniscienceTest.java +++ b/Mage.Tests/src/test/java/org/mage/test/cards/single/OmniscienceTest.java @@ -99,4 +99,30 @@ public class OmniscienceTest extends CardTestPlayerBase { assertTapped("Mountain", false); } + @Test + public void testCastingShrapnelBlast() { + addCard(Zone.BATTLEFIELD, playerA, "Omniscience"); + + /* player.getPlayable does not take alternate + casting costs in account, so for the test the mana has to be available + but won't be used + */ + addCard(Zone.BATTLEFIELD, playerA, "Mountain", 2); + addCard(Zone.BATTLEFIELD, playerA, "Ornithopter", 1); + + addCard(Zone.HAND, playerA, "Shrapnel Blast", 1); + + castSpell(1, PhaseStep.PRECOMBAT_MAIN, playerA, "Shrapnel Blast"); + setChoice(playerA, "Yes"); + + setStopAt(1, PhaseStep.BEGIN_COMBAT); + execute(); + + assertLife(playerA, 20); + assertLife(playerB, 15); + + assertGraveyardCount(playerA, "Ornithopter", 1); + assertTapped("Mountain", false); + } + }