From a0d49729f5fe2ef588d9b7735703cd16e26192a5 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sun, 26 Sep 2021 22:16:21 +0100 Subject: [PATCH] Ignore modifiers when applying terrain damage. --- OpenRA.Mods.D2k/Traits/Buildings/D2kBuilding.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/OpenRA.Mods.D2k/Traits/Buildings/D2kBuilding.cs b/OpenRA.Mods.D2k/Traits/Buildings/D2kBuilding.cs index 4d8b7f67c7..25f2d48648 100644 --- a/OpenRA.Mods.D2k/Traits/Buildings/D2kBuilding.cs +++ b/OpenRA.Mods.D2k/Traits/Buildings/D2kBuilding.cs @@ -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; } }