EDIT: The following code has been edited, this includes pointers for the Orders variable
Code: Select all
function WhatToDoNext(name LikelyState, name LikelyLabel)
{
local Pawn aPawn;
aPawn = Level.PawnList;
while ( aPawn != None )
{
if ( (aPawn.IsA('PlayerPawn') || aPawn.IsA('ScriptedPawn'))
&& (VSize(Location - aPawn.Location) < 500)
&& CanSee(aPawn) )
{
if ( SetEnemy(aPawn) )
{
GotoState('Attacking');
return;
}
}
aPawn = aPawn.nextPawn;
}
while ( aPawn == None )
{
if (Orders == 'Patroling')
GotoState('Patroling');
else if (Orders == 'Guarding')
GotoState('Guarding');
else if ( Orders == 'Ambushing' )
GotoState('Ambushing','FindAmbushSpot');
else if ( (LikelyState != '') && (FRand() < 0.35) )
GotoState(LikelyState, LikelyLabel);
else
StartRoaming();
}
Super.WhatToDoNext(LikelyState, LikelyLabel);
}
Master_Unreal