mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 10:48:00 +00:00
- FightEffect: damage should be dealt simultaneously (e.g. Hero of Iroas vs. Cystbearer fighting via Dromoka's Command giving a +1/+1 counter to Iroas should still make Hero of Iroas deal 4 damage).
This commit is contained in:
@@ -59,8 +59,12 @@ public class FightEffect extends DamageBaseEffect {
|
||||
CardDamageMap damageMap = new CardDamageMap();
|
||||
CardDamageMap preventMap = new CardDamageMap();
|
||||
|
||||
dealDamage(fighters.get(0), fighters.get(1), fightToughness, damageMap, preventMap);
|
||||
dealDamage(fighters.get(1), fighters.get(0), fightToughness, damageMap, preventMap);
|
||||
// Damage is dealt simultaneously, so we calculate the damage from source to target before it is applied
|
||||
final int dmg1 = fightToughness ? fighters.get(0).getNetToughness() : fighters.get(0).getNetPower();
|
||||
final int dmg2 = fightToughness ? fighters.get(1).getNetToughness() : fighters.get(1).getNetPower();
|
||||
|
||||
dealDamage(fighters.get(0), fighters.get(1), dmg1, damageMap, preventMap);
|
||||
dealDamage(fighters.get(1), fighters.get(0), dmg2, damageMap, preventMap);
|
||||
|
||||
preventMap.triggerPreventDamage(false);
|
||||
damageMap.dealLifelinkDamage();
|
||||
@@ -117,11 +121,8 @@ public class FightEffect extends DamageBaseEffect {
|
||||
return fighterList;
|
||||
}
|
||||
|
||||
private void dealDamage(Card source, Card target, boolean fightToughness, CardDamageMap damageMap,
|
||||
CardDamageMap preventMap) {
|
||||
final int dmg = fightToughness ? source.getNetToughness() : source.getNetPower();
|
||||
|
||||
target.addDamage(dmg, source, damageMap, preventMap);
|
||||
private void dealDamage(Card source, Card target, int damage, CardDamageMap damageMap, CardDamageMap preventMap) {
|
||||
target.addDamage(damage, source, damageMap, preventMap);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user