Combat: fixed assigin damage more than once if damage got replaced

This commit is contained in:
Hanmac
2016-12-29 12:43:36 +00:00
parent 0426896c01
commit f891446b8b
2 changed files with 4 additions and 14 deletions

View File

@@ -5852,6 +5852,9 @@ public class Card extends GameEntity implements Comparable<Card> {
damageToAdd = replaceDamage(damageToAdd, source, true); damageToAdd = replaceDamage(damageToAdd, source, true);
damageToAdd = preventDamage(damageToAdd, source, true); damageToAdd = preventDamage(damageToAdd, source, true);
if (damageToAdd > 0) {
getDamageHistory().registerCombatDamage(source);
}
map.put(source, damageToAdd); map.put(source, damageToAdd);
} }

View File

@@ -780,20 +780,7 @@ public class Combat {
continue; continue;
} }
final Map<Card, Integer> assignedDamageMap = c.getAssignedDamageMap(); c.addCombatDamage(c.getAssignedDamageMap());
final Map<Card, Integer> damageMap = Maps.newHashMap();
for (final Entry<Card, Integer> entry : assignedDamageMap.entrySet()) {
final Card crd = entry.getKey();
c.getDamageHistory().registerCombatDamage(crd);
damageMap.put(crd, entry.getValue());
if (entry.getValue() > 0) {
this.addDealtDamageTo(crd, c, entry.getValue());
}
}
c.addCombatDamage(damageMap);
damageMap.clear();
c.clearAssignedDamage(); c.clearAssignedDamage();
} }