From ce5cf9307792731438856fd820f99c2e06a9039b Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Wed, 6 Oct 2010 17:37:23 +1300 Subject: [PATCH] prevent infantry going prone due to tib damage --- OpenRA.Game/GameRules/WeaponInfo.cs | 1 + OpenRA.Mods.RA/TakeCover.cs | 3 ++- mods/cnc/weapons.yaml | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/OpenRA.Game/GameRules/WeaponInfo.cs b/OpenRA.Game/GameRules/WeaponInfo.cs index 5d917e4e40..645261fd2f 100644 --- a/OpenRA.Game/GameRules/WeaponInfo.cs +++ b/OpenRA.Game/GameRules/WeaponInfo.cs @@ -32,6 +32,7 @@ namespace OpenRA.GameRules [FieldLoader.Load] public readonly int Damage = 0; // how much (raw) damage to deal [FieldLoader.Load] public readonly int Delay = 0; // delay in ticks before dealing the damage. 0=instant (old model) [FieldLoader.Load] public readonly DamageModel DamageModel = DamageModel.Normal; // which damage model to use + [FieldLoader.Load] public readonly bool PreventProne = false; // whether we should prevent prone response in infantry. public float EffectivenessAgainst(Actor self) { diff --git a/OpenRA.Mods.RA/TakeCover.cs b/OpenRA.Mods.RA/TakeCover.cs index d4500977a2..a570c2455f 100644 --- a/OpenRA.Mods.RA/TakeCover.cs +++ b/OpenRA.Mods.RA/TakeCover.cs @@ -30,7 +30,8 @@ namespace OpenRA.Mods.RA public void Damaged(Actor self, AttackInfo e) { if (e.Damage > 0) /* fix to allow healing via `damage` */ - remainingProneTime = defaultProneTime; + if (!e.Warhead.PreventProne) + remainingProneTime = defaultProneTime; } public void Tick(Actor self) diff --git a/mods/cnc/weapons.yaml b/mods/cnc/weapons.yaml index 89568861a3..5ea82ead6c 100644 --- a/mods/cnc/weapons.yaml +++ b/mods/cnc/weapons.yaml @@ -662,3 +662,4 @@ Tiberium: Spread: 1 InfDeath: 4 Damage: 5 + PreventProne: yes