diff --git a/OpenRA.Mods.RA/Combat.cs b/OpenRA.Mods.RA/Combat.cs index 8ea3ffb06a..5e173ae7c1 100755 --- a/OpenRA.Mods.RA/Combat.cs +++ b/OpenRA.Mods.RA/Combat.cs @@ -183,11 +183,14 @@ namespace OpenRA.Mods.RA { var abInfo = self.Info.Traits.GetOrDefault(); if (abInfo == null || abInfo.Recoil == 0) return float2.Zero; + var rut = self.traits.GetOrDefault(); if (rut == null) return float2.Zero; var facing = self.traits.Get().turretFacing; - return Util.RotateVectorByFacing(new float2(0, recoil * self.Info.Traits.Get().Recoil), facing, .7f); + var localRecoil = new float2(0, recoil * abInfo.Recoil); // vector in turret-space. + + return Util.RotateVectorByFacing(localRecoil, facing, .7f); } public static float2 GetTurretPosition(Actor self, Unit unit, Turret turret)