diff --git a/OpenRA.Mods.Common/Traits/Wanders.cs b/OpenRA.Mods.Common/Traits/Wanders.cs index b39a1410cb..b8ec03010c 100644 --- a/OpenRA.Mods.Common/Traits/Wanders.cs +++ b/OpenRA.Mods.Common/Traits/Wanders.cs @@ -39,6 +39,7 @@ namespace OpenRA.Mods.Common.Traits int countdown; int ticksIdle; int effectiveMoveRadius; + bool firstTick = true; public Wanders(Actor self, WandersInfo info) { @@ -52,8 +53,15 @@ namespace OpenRA.Mods.Common.Traits countdown = self.World.SharedRandom.Next(info.MinMoveDelay, info.MaxMoveDelay); } - public void TickIdle(Actor self) + public virtual void TickIdle(Actor self) { + // The countdown has not have been set at this point, so don't check yet + if (firstTick) + { + firstTick = false; + return; + } + if (--countdown > 0) return;