diff --git a/OpenRA.Mods.Common/Activities/Air/TakeOff.cs b/OpenRA.Mods.Common/Activities/Air/TakeOff.cs index 24de372431..03dde21f70 100644 --- a/OpenRA.Mods.Common/Activities/Air/TakeOff.cs +++ b/OpenRA.Mods.Common/Activities/Air/TakeOff.cs @@ -30,12 +30,7 @@ namespace OpenRA.Mods.Common.Activities if (NextActivity == null) self.CancelActivity(); - var reservation = aircraft.Reservation; - if (reservation != null) - { - reservation.Dispose(); - reservation = null; - } + aircraft.UnReserve(); var host = aircraft.GetActorBelow(); var hasHost = host != null; diff --git a/OpenRA.Mods.Common/Traits/Air/Aircraft.cs b/OpenRA.Mods.Common/Traits/Air/Aircraft.cs index 95ea12961a..45fac81c78 100644 --- a/OpenRA.Mods.Common/Traits/Air/Aircraft.cs +++ b/OpenRA.Mods.Common/Traits/Air/Aircraft.cs @@ -543,7 +543,10 @@ namespace OpenRA.Mods.Common.Traits { var res = order.TargetActor.TraitOrDefault(); if (res != null) + { + UnReserve(); Reservation = res.Reserve(order.TargetActor, self, this); + } Action enter = () => {