Legacy:AIController - Unreal Wiki

# Legacy:AIController

### From Unreal Wiki, The Unreal Engine Documentation Site

UT2003 :: Actor >> Controller >> AIController

This is the parent class of all AI-based controllers.

## Properties

bool bHunting
  This is true if the controlled pawn is hunting another pawn.
bool bAdjustFromWalls
  Auto-adjust around corners, with no hitwall notification for controller or pawn (???)
AIScript MyScript
  The AIScript that controls this AIController.
float Skill
  The skill of the AI. Generally, from 0 to 7.

## Functions

WaitToSeeEnemy() (native, final, latent)
  Returns when the pawn is looking directly at a visible enemy.
bool WeaponFireAgain( float RefireRate, bool bFinishedFire )
  Called by Weapon. Returns true if the weapon should fire.
bool TriggerScript( Actor Other, Pawn EventInstigator )
  Any trigger is sent to this function, which in turn triggers MyScript if it exists.
DisplayDebug( Canvas Canvas, out float YL, out float YPos )
  If the "showdebug" console command is on, this is called to display debug information on the screen.
float AdjustDesireFor( Pickup P )
  In subclasses, returns a float indicating how much the AI wants the Pickup P. In this class, it always returns 0.
int GetFacingDirection()
  Returns direction faced relative to movement dir, where 0 = forward, 16384 = right, 32768 = back, and 49152 = left
AdjustView( float DeltaTime )
  Called if Controller's pawn is the viewtarget of a player
SetOrders( name NewOrders, Controller OrderGiver )
Actor GetOrderObject()
name GetOrders()
  In subclasses, sets and gets info about the AI's orders, but in this class they don't do anything.
WaitForMover( Mover M )
  Sets up the AI to wait for Mover M to tell the AI that it has completed its move. Sets PendingMover.
MoverFinished()
  Called by Mover when it finishes a move, and this pawn has the mover set as its PendingMover.
UnderLift( Mover M )
  Called by mover when it hits a pawn with that mover as its pendingmover while moving to its destination.
bool PriorityObjective()
  This always returns false here.
Startle( Actor A )
  "Startles" the AI. Basically, this is a message to the AI to stop everything and re-evaluate its situation as soon as possible. Something calls this when the AI absolutely needs to know about it RIGHT NOW. The Actor A being the cause of the startle.

## Events

PrepareForMove( NavigationPoint Goal, ReachSpec Path )
  Called if the reachspec doesn't support the pawn's current configuration. The code should tell the Pawn what to do to deal with it (e.g. crouch). It's implemented in subclasses; here it doesn't do anything.

## Known Subclasses

    AIController
      +- ScriptedController
      |   +- Bot
      |   |   +- xBot
      |   |       +- InvasionBot (Epic Bonuspack & UT2004)
      |   +- MonsterController (Epic Bonuspack & UT2004)
      |   +- ScriptedTriggerController
      +- TurretController (UT2004)
          +- LinkTurretController
          +- ONSTurretController
          +- SentinelController
               +- ASSentinelController

## Relevant Links

- AIScript
- AI Scripting Reference
- Controller Overview
- PlayerController – Controllers for player characters

## Discussion

SuperApe: Updated known subclasses.

Category: Legacy Class (UT2003)

##### Views

- Legacy
- Discussion
- Current revision

##### Search