- Two small fixes for Damage Assignment related to Banding creatures

This commit is contained in:
Sol
2013-06-14 14:21:52 +00:00
parent 786650f660
commit 8eedf4b3f1
2 changed files with 4 additions and 2 deletions

View File

@@ -563,6 +563,7 @@ public class Combat {
}
private final boolean assignBlockersDamage(boolean firstStrikeDamage) {
// Assign damage by Blockers
final List<Card> blockers = this.getAllBlockers();
boolean assignedDamage = false;
@@ -586,7 +587,7 @@ public class Combat {
}
assignedDamage = true;
Map<Card, Integer> map = blocker.getController().getController().assignCombatDamage(blocker, attackers, damage, null, assigningPlayer != blocker.getController());
Map<Card, Integer> map = assigningPlayer.getController().assignCombatDamage(blocker, attackers, damage, null, assigningPlayer != blocker.getController());
for (Entry<Card, Integer> dt : map.entrySet()) {
dt.getKey().addAssignedDamage(dt.getValue(), blocker);
dt.getKey().updateObservers();
@@ -599,6 +600,7 @@ public class Combat {
}
private final boolean assignAttackersDamage(boolean firstStrikeDamage) {
// Assign damage by Attackers
this.defendingDamageMap.clear(); // this should really happen in deal damage
List<Card> blockers = null;
final List<Card> attackers = this.getAttackers();

View File

@@ -210,7 +210,7 @@ public enum CMatchUI {
// If the first blocker can absorb all of the damage, don't show the Assign Damage Frame
Card firstBlocker = blockers.get(0);
if (!attacker.hasKeyword("Deathtouch") && firstBlocker.getLethalDamage() >= damage) {
if (!overrideOrder && !attacker.hasKeyword("Deathtouch") && firstBlocker.getLethalDamage() >= damage) {
Map<Card, Integer> res = new HashMap<Card, Integer>();
res.put(firstBlocker, damage);
return res;