diff --git a/OpenRA.Game/Traits/Bridge.cs b/OpenRA.Game/Traits/Bridge.cs index 95ecacb038..8561d0f10e 100644 --- a/OpenRA.Game/Traits/Bridge.cs +++ b/OpenRA.Game/Traits/Bridge.cs @@ -144,9 +144,28 @@ namespace OpenRA.Traits return b != null && b.self.IsInWorld && b.self.Info.Traits.Get().Long; } + // HACK because paul broke the world with his extended damage states... :( + static DamageState MapDamageState(DamageState ds) + { + switch (ds) + { + case DamageState.Normal: + case DamageState.ThreeQuarter: + return DamageState.Normal; + + case DamageState.Half: + case DamageState.Quarter: + return DamageState.Half; + + case DamageState.Dead: + default: + return DamageState.Dead; + } + } + void UpdateState() { - var ds = self.GetDamageState(); + var ds = MapDamageState(self.GetDamageState()); if (!self.Info.Traits.Get().Long) { state = (int)ds;