From 77762cbf59e80995c03bc9fd07fb82ff17838f45 Mon Sep 17 00:00:00 2001 From: L_J Date: Fri, 16 Feb 2018 23:59:17 +0000 Subject: [PATCH] Some multi-blocker damage changes Fixes situations like "two-man band with Viscera Seer gets blocked, Viscera Seer sacs itself afterwards" - before, the blocker would deal its damage twice to the remaining attacker. --- .../java/mage/game/combat/CombatGroup.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Mage/src/main/java/mage/game/combat/CombatGroup.java b/Mage/src/main/java/mage/game/combat/CombatGroup.java index 2a42f65b5e9..57b9877d491 100644 --- a/Mage/src/main/java/mage/game/combat/CombatGroup.java +++ b/Mage/src/main/java/mage/game/combat/CombatGroup.java @@ -173,21 +173,16 @@ public class CombatGroup implements Serializable, Copyable { public void assignDamageToAttackers(boolean first, Game game) { if (!blockers.isEmpty() && (!first || hasFirstOrDoubleStrike(game))) { // this should only come up if Butcher Orgg is granted the ability to block multiple blockers - boolean altDamageMethod = false; for (UUID blockerId : blockers) { Permanent blocker = game.getPermanent(blockerId); if (assignsDefendingPlayerAndOrDefendingCreaturesDividedDamage(blocker, blocker.getControllerId(), first, game, false)) { - altDamageMethod = true; + return; } } - if (altDamageMethod) { - // this could be necessary to remake in the future (banding with Butcher Orgg?) - return; - } - if (attackers.size() == 1) { - singleAttackerDamage(first, game); - } else { + if (attackers.size() != 1) { multiAttackerDamage(first, game); + // } else { + // singleAttackerDamage(first, game); } } } @@ -462,10 +457,15 @@ public class CombatGroup implements Serializable, Copyable { * {@link #singleBlockerDamage}. * * Handles abilities like "{this} an block any number of creatures.". + * + * Blocker damage for blockers blocking single creatures is handled in + * the single/multi blocker methods, so this shouldn't be used anymore. * * @param first * @param game + * @deprecated */ + @Deprecated private void singleAttackerDamage(boolean first, Game game) { Permanent blocker = game.getPermanent(blockers.get(0)); Permanent attacker = game.getPermanent(attackers.get(0));