//MosEisley_A state Base { Conditions { if Random < 0.3 goto ChooseNewLocator if AlwaysTrue == 1 goto Waiting } Actions { CanSeeBehind "FALSE" SetMinViewHeight "-99.0" SetViewDistance "2" } } state Waiting { Conditions { if Timer > 20 goto ChooseNewLocator if GotOpponent == 1 and if NumInSetAlive "4" > 3 goto Engage if GotOpponent == 1 goto AlertGuards } Actions { ResetTimer "mintime=0" "maxtime=5" Idle } } state ChooseNewLocator { Conditions { if GotOpponent == 1 and if NumInSetAlive "4" > 3 goto Engage if GotOpponent == 1 goto AlertGuards } Actions { GetLocatorFromGroup "name=Storm_Patrol" "next" SetState GoToLocator } } state GoToLocator { Conditions { if GotOpponent == 1 and if NumInSetAlive "4" > 3 goto Engage if GotOpponent == 1 goto AlertGuards } Actions { GoToLocator "Walk" SetState "Waiting" } } state AlertGuards { Conditions { if GotOpponent == 0 and if Timer > 20 goto ChooseNewLocator if NumInSetAlive "4" > 3 goto Engage } Actions { ResetTimer "mintime=0" "maxtime=5" SetLocator "name=Storm_Patrol_8" GoToLocator "Run" SetMessage "name=AlarmRaised" "value=1" SetMessage "name=Spawn_a" "value=2" SetLocator "name=Exit_Base" GoToLocator "Run" SetState "Engage" } } state Engage { Conditions { if GotOpponent == 0 and if Timer > 20 goto GoToLocator } Actions { EngageOpponent "goalrange 1.5" "firerange=3" } }