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 damageMap = new CardDamageMap();
|
||||||
CardDamageMap preventMap = new CardDamageMap();
|
CardDamageMap preventMap = new CardDamageMap();
|
||||||
|
|
||||||
dealDamage(fighters.get(0), fighters.get(1), fightToughness, damageMap, preventMap);
|
// Damage is dealt simultaneously, so we calculate the damage from source to target before it is applied
|
||||||
dealDamage(fighters.get(1), fighters.get(0), fightToughness, damageMap, preventMap);
|
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);
|
preventMap.triggerPreventDamage(false);
|
||||||
damageMap.dealLifelinkDamage();
|
damageMap.dealLifelinkDamage();
|
||||||
@@ -117,11 +121,8 @@ public class FightEffect extends DamageBaseEffect {
|
|||||||
return fighterList;
|
return fighterList;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void dealDamage(Card source, Card target, boolean fightToughness, CardDamageMap damageMap,
|
private void dealDamage(Card source, Card target, int damage, CardDamageMap damageMap, CardDamageMap preventMap) {
|
||||||
CardDamageMap preventMap) {
|
target.addDamage(damage, source, damageMap, preventMap);
|
||||||
final int dmg = fightToughness ? source.getNetToughness() : source.getNetPower();
|
|
||||||
|
|
||||||
target.addDamage(dmg, source, damageMap, preventMap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user