From 0226c06b93746c5b1df9271a80e7ab4d3aba2f80 Mon Sep 17 00:00:00 2001 From: JordanBergin <23438101+JordanBergin@users.noreply.github.com> Date: Sun, 8 Apr 2018 20:34:50 +0100 Subject: [PATCH] No longer check Carryable IsInWorld when Carryall is killed. Also the Carryable's position is updated to Carryall's position when the Carryall is killed. --- OpenRA.Mods.Common/Traits/Carryall.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/OpenRA.Mods.Common/Traits/Carryall.cs b/OpenRA.Mods.Common/Traits/Carryall.cs index 76d7075402..55923a34ed 100644 --- a/OpenRA.Mods.Common/Traits/Carryall.cs +++ b/OpenRA.Mods.Common/Traits/Carryall.cs @@ -111,8 +111,13 @@ namespace OpenRA.Mods.Common.Traits { if (State == CarryallState.Carrying) { - if (Carryable.IsInWorld && !Carryable.IsDead) - Carryable.Kill(e.Attacker); + if (!Carryable.IsDead) + { + var positionable = Carryable.Trait(); + positionable.SetPosition(Carryable, self.Location); + Carryable.Kill(e.Attacker); + } + Carryable = null; }