Found this in ROEngine.ROBot
Im also going to look at adding a weapontype WT...
Begin:
bHasFired = false;
if ( (Pawn.Weapon != None) && Pawn.Weapon.bMeleeWeapon )
SwitchToBestWeapon();
GoalString = GoalString@"Ranged attack";
Focus = Target;
Sleep(0.0);
if ( Target == None )
WhatToDoNext(335);
if ( Enemy != None )
CheckIfShouldCrouch(Pawn.Location,Enemy.Location, 1);
if ( NeedToTurn(Target.Location) )
{
Focus = Target;
FinishRotation();
}
bHasFired = true;
if ( Target == Enemy )
TimedFireWeaponAtEnemy();
else
FireWeaponAt(Target);
Sleep(0.1);
if ( ((Pawn.Weapon != None) && Pawn.Weapon.bMeleeWeapon) || (Target == None) || ((Target != Enemy) && (GameObjective(Target) == None) && (Enemy != None) && EnemyVisible()) )
WhatToDoNext(35);
if ( Enemy != None )
CheckIfShouldCrouch(Pawn.Location,Enemy.Location, 1);
Focus = Target;
Sleep(FMax(Pawn.RangedAttackTime(),0.2 + (0.5 + 0.5 * FRand()) * 0.4 * (7 - Skill)));
WhatToDoNext(36);
if ( bSoaking )
SoakStop("STUCK IN RANGEDATTACK!");
}