Ignore modifiers when applying terrain damage.

This commit is contained in:
Paul Chote
2021-09-26 22:16:21 +01:00
committed by abcdefg30
parent a573052f2e
commit a0d49729f5

View File

@@ -142,10 +142,10 @@ namespace OpenRA.Mods.D2k.Traits.Buildings
if (!info.StartOnThreshold)
return;
// Start with maximum damage applied
// Start with maximum damage applied, ignoring modifiers like player handicap
var delta = health.HP - damageThreshold;
if (delta > 0)
self.InflictDamage(self.World.WorldActor, new Damage(delta, info.DamageTypes));
health.InflictDamage(self, self.World.WorldActor, new Damage(delta, info.DamageTypes), true);
}
void ITick.Tick(Actor self)
@@ -153,7 +153,8 @@ namespace OpenRA.Mods.D2k.Traits.Buildings
if (totalTiles == safeTiles || health.HP <= damageThreshold || --damageTicks > 0)
return;
self.InflictDamage(self.World.WorldActor, new Damage(info.Damage, info.DamageTypes));
// Terrain damage should not change with modifiers like player handicap
health.InflictDamage(self, self.World.WorldActor, new Damage(info.Damage, info.DamageTypes), true);
damageTicks = info.DamageInterval;
}
}