diff --git a/Mage/src/main/java/mage/game/combat/Combat.java b/Mage/src/main/java/mage/game/combat/Combat.java index 0420af99270..6618cd85d7b 100644 --- a/Mage/src/main/java/mage/game/combat/Combat.java +++ b/Mage/src/main/java/mage/game/combat/Combat.java @@ -237,6 +237,9 @@ public class Combat implements Serializable, Copyable { possibleDefenders = new HashSet<>(defenders); } Player player = game.getPlayer(attackerId); + if (player == null) { + return false; + } if (possibleDefenders.size() == 1) { addAttackerToCombat(creatureId, possibleDefenders.iterator().next(), game); return true; @@ -866,7 +869,8 @@ public class Combat implements Serializable, Copyable { blockIsValid = true; break CombatGroups; } else // check if the blocker blocks a attacker that must be blocked at least by one and is the only blocker, this block is also valid - if (combatGroup.getBlockers().size() == 1) { + { + if (combatGroup.getBlockers().size() == 1) { if (mustBeBlockedByAtLeastOne.containsKey(forcingAttackerId)) { if (mustBeBlockedByAtLeastOne.get(forcingAttackerId).contains(creatureForcedToBlock.getId())) { blockIsValid = true; @@ -874,6 +878,7 @@ public class Combat implements Serializable, Copyable { } } } + } } } } @@ -921,8 +926,8 @@ public class Combat implements Serializable, Copyable { if (mustBeBlockedByAtLeastOne.containsKey(blockedAttackerId)) { // blocks a creature that has to be blocked by at least one if (combatGroupOfPossibleBlocker.getBlockers().size() == 1) { - Set blockedSet = mustBeBlockedByAtLeastOne.get(blockedAttackerId); - Set toBlockSet = mustBeBlockedByAtLeastOne.get(toBeBlockedCreatureId); + Set blockedSet = mustBeBlockedByAtLeastOne.get(blockedAttackerId); + Set toBlockSet = mustBeBlockedByAtLeastOne.get(toBeBlockedCreatureId); if (toBlockSet == null) { // This should never happen.
 return null;