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); }