From 5bd34bda220fa3d75414853edb238578ea0d9925 Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Fri, 29 Mar 2013 18:56:55 +1300 Subject: [PATCH] Support world coordinates for Prone offsets. --- OpenRA.Mods.RA/TakeCover.cs | 11 +++++++++-- mods/cnc/rules/defaults.yaml | 1 - 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/OpenRA.Mods.RA/TakeCover.cs b/OpenRA.Mods.RA/TakeCover.cs index f718c9db3b..74702e3252 100644 --- a/OpenRA.Mods.RA/TakeCover.cs +++ b/OpenRA.Mods.RA/TakeCover.cs @@ -19,7 +19,8 @@ namespace OpenRA.Mods.RA public readonly int ProneTime = 100; /* ticks, =4s */ public readonly float ProneDamage = .5f; public readonly decimal ProneSpeed = .5m; - public readonly int[] ProneOffset = {0,-2,0,4}; + public readonly int[] LegacyProneOffset = {0,-2,0,4}; + public readonly WVec ProneOffset = new WVec(85, 0, -171); public override object Create(ActorInitializer init) { return new TakeCover(init, this); } } @@ -43,7 +44,10 @@ namespace OpenRA.Mods.RA if (e.Damage > 0 && (e.Warhead == null || !e.Warhead.PreventProne)) /* Don't go prone when healed */ { if (!IsProne) - turret = new Turret(Info.ProneOffset); + { + turret = new Turret(Info.LegacyProneOffset); + LocalOffset = Info.ProneOffset; + } remainingProneTime = Info.ProneTime; } } @@ -52,7 +56,10 @@ namespace OpenRA.Mods.RA { base.Tick(self); if (IsProne && --remainingProneTime == 0) + { turret = new Turret(Info.LegacyOffset); + LocalOffset = WVec.Zero; + } } public float GetDamageModifier(Actor attacker, WarheadInfo warhead ) diff --git a/mods/cnc/rules/defaults.yaml b/mods/cnc/rules/defaults.yaml index b2a558af28..17bbbee19f 100644 --- a/mods/cnc/rules/defaults.yaml +++ b/mods/cnc/rules/defaults.yaml @@ -126,7 +126,6 @@ Buildable: Queue: Infantry TakeCover: - ProneOffset: 0,-2,0,4 RenderInfantryProne: AttackMove: Passenger: