From 98125a3d947adbfb7af2946d4bdba2261e4db4ca Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Sun, 23 Jun 2019 10:38:39 +0100 Subject: [PATCH] Fix Mobile conditions. The explicit IObservesVariables implementation was hiding the base PausableConditionalTrait variable initialization. --- OpenRA.Mods.Common/Traits/Mobile.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/OpenRA.Mods.Common/Traits/Mobile.cs b/OpenRA.Mods.Common/Traits/Mobile.cs index 78a2848592..790c424fa5 100644 --- a/OpenRA.Mods.Common/Traits/Mobile.cs +++ b/OpenRA.Mods.Common/Traits/Mobile.cs @@ -129,7 +129,7 @@ namespace OpenRA.Mods.Common.Traits } public class Mobile : PausableConditionalTrait, IIssueOrder, IResolveOrder, IOrderVoice, IPositionable, IMove, ITick, - IFacing, IDeathActorInitModifier, INotifyAddedToWorld, INotifyRemovedFromWorld, INotifyBlockingMove, IActorPreviewInitModifier, INotifyBecomingIdle, IObservesVariables + IFacing, IDeathActorInitModifier, INotifyAddedToWorld, INotifyRemovedFromWorld, INotifyBlockingMove, IActorPreviewInitModifier, INotifyBecomingIdle { readonly Actor self; readonly Lazy> speedModifiers; @@ -752,8 +752,11 @@ namespace OpenRA.Mods.Common.Traits Nudge(self, blocking, true); } - IEnumerable IObservesVariables.GetVariableObservers() + public override IEnumerable GetVariableObservers() { + foreach (var observer in base.GetVariableObservers()) + yield return observer; + if (Info.RequireForceMoveCondition != null) yield return new VariableObserver(RequireForceMoveConditionChanged, Info.RequireForceMoveCondition.Variables); }