func_arena Tuesday, September 22, 2026
Building, modding and fragging like it's 1998

142778 visitors
YOUR #1 SOURCE FOR RETRO FPS DEVELOPMENT Y2K READY
  *** func_arena goes live, let the carnage begin!   ***   ET: Legacy 2.86.0 is out!   ***   Engine of the Week: qrustyquake by cyanbun96   ***   Server admins: read our migration guide before Friday   ***   Ironwail 0.8.2 is out!   ***  
NAVIGATION
Wiki » Reference » DOOM 3 Classes » idAI
ARTICLE

idAI

This is an engine class on id Tech 4 engines, present on DOOM 3, Quake 4 and Prey. Below you can find the class tree, what derives from it and the events produced.

DOOM 3

Property Value
Type engine class
Inherits idActor

Class tree

  • idClass
    • idEntity
      • idAnimatedEntity
        • idAFEntity_Base
          • idAFEntity_Gibbable
            • idActor
              • idAI

Child classes

Class
idAI_Vagary

Entities

Entity
character_default
hell1_cin_guardian
marscity_civilian1
monster_boss_cyberdemon
monster_boss_guardian
monster_boss_sabaoth
monster_default
monster_demon_archvile
monster_demon_hellknight
monster_demon_mancubus
monster_demon_pinky
underground_cin_player
underground_cin_player3

Supported events

Event Declared by
activate idAI
findEnemy idAI
findEnemyAI idAI
findEnemyInCombatNodes idAI
closestReachableEnemyOfEntity idAI
heardSound idAI
setEnemy idAI
clearEnemy idAI
muzzleFlash idAI
createMissile idAI
attackMissile idAI
fireMissileAtTarget idAI
launchMissile idAI
launchProjectile idAI
attackMelee idAI
directDamage idAI
radiusDamageFromJoint idAI
attackBegin idAI
attackEnd idAI
meleeAttackToJoint idAI
randomPath idAI
canBecomeSolid idAI
becomeSolid idAI
becomeNonSolid idAI
becomeRagdoll idAI
stopRagdoll idAI
setHealth idAI
getHealth idAI
allowDamage idAI
ignoreDamage idAI
getCurrentYaw idAI
turnTo idAI
turnToPos idAI
turnToEntity idAI
moveStatus idAI
stopMove idAI
moveToCover idAI
moveToEnemy idAI
moveToEnemyHeight idAI
moveOutOfRange idAI
moveToAttackPosition idAI
wander idAI
moveToEntity idAI
moveToPosition idAI
slideTo idAI
facingIdeal idAI
faceEnemy idAI
faceEntity idAI
waitAction idAI
getCombatNode idAI
enemyInCombatCone idAI
waitMove idAI
getJumpVelocity idAI
entityInAttackCone idAI
canSee idAI
setTalkTarget idAI
getTalkTarget idAI
setTalkState idAI
enemyRange idAI
enemyRange2D idAI
getEnemy idAI
getEnemyPos idAI
getEnemyEyePos idAI
predictEnemyPos idAI
canHitEnemy idAI
canHitEnemyFromAnim idAI
canHitEnemyFromJoint idAI
enemyPositionValid idAI
chargeAttack idAI
testChargeAttack idAI
testAnimMoveTowardEnemy idAI
testAnimMove idAI
testMoveToPosition idAI
testMeleeAttack idAI
testAnimAttack idAI
shrivel idAI
burn idAI
preBurn idAI
setSmokeVisibility idAI
numSmokeEmitters idAI
clearBurn idAI
stopThinking idAI
getTurnDelta idAI
getMoveType idAI
setMoveType idAI
saveMove idAI
restoreMove idAI
allowMovement idAI
enableClip idAI
disableClip idAI
enableGravity idAI
disableGravity idAI
enableAFPush idAI
disableAFPush idAI
setFlySpeed idAI
setFlyOffset idAI
clearFlyOffset idAI
getClosestHiddenTarget idAI
getRandomTarget idAI
travelDistanceToPoint idAI
travelDistanceToEntity idAI
travelDistanceBetweenPoints idAI
travelDistanceBetweenEntities idAI
lookAt idAI
lookAtEnemy idAI
setBoneMod idAI
throwMoveable idAI
throwAF idAI
getAngles idAI
setAngles idAI
kill idAI
wakeOnFlashlight idAI
locateEnemy idAI
kickObstacles idAI
getObstacle idAI
pushPointIntoAAS idAI
getTurnRate idAI
setTurnRate idAI
animTurn idAI
allowHiddenMovement idAI
triggerParticles idAI
findActorsInBounds idAI
canReachPosition idAI
canReachEntity idAI
canReachEnemy idAI
getReachableEntityPosition idAI
moveToPositionDirect idAI
avoidObstacles idAI
triggerFX idAI
startEmitter idAI
getEmitter idAI
stopEmitter idAI
enableEyeFocus idActor
disableEyeFocus idActor
footstep idActor
leftFoot idActor
rightFoot idActor
EnableWalkIK idActor
DisableWalkIK idActor
EnableLegIK idActor
DisableLegIK idActor
preventPain idActor
disablePain idActor
enablePain idActor
getPainAnim idActor
setAnimPrefix idActor
stopAnim idActor
playAnim idActor
playCycle idActor
idleAnim idActor
setSyncedAnimWeight idActor
setBlendFrames idActor
getBlendFrames idActor
animState idActor
getAnimState idActor
inAnimState idActor
finishAction idActor
animDone idActor
overrideAnim idActor
enableAnim idActor
hasAnim idActor
checkAnim idActor
chooseAnim idActor
animLength idActor
animDistance idActor
hasEnemies idActor
nextEnemy idActor
closestEnemyToPoint idActor
stopSound idActor
setNextState idActor
setState idActor
getState idActor
getHead idActor
setDamageGroupScale idActor
setDamageGroupScaleAll idActor
getDamageGroupScale idActor
setDamageCap idActor
setWaitState idActor
getWaitState idActor
gib idAFEntity_Gibbable
SetConstraintPosition idAFEntity_Base
getJointHandle idAnimatedEntity
clearAllJoints idAnimatedEntity
clearJoint idAnimatedEntity
setJointPos idAnimatedEntity
setJointAngle idAnimatedEntity
getJointPos idAnimatedEntity
getJointAngle idAnimatedEntity
getName idEntity
setName idEntity
activateTargets idEntity
numTargets idEntity
getTarget idEntity
randomTarget idEntity
bindToJoint idEntity
removeBinds idEntity
bind idEntity
bindPosition idEntity
unbind idEntity
setOwner idEntity
setModel idEntity
setSkin idEntity
getShaderParm idEntity
setShaderParm idEntity
setShaderParms idEntity
setColor idEntity
getColor idEntity
isHidden idEntity
hide idEntity
show idEntity
cacheSoundShader idEntity
startSoundShader idEntity
startSound idEntity
fadeSound idEntity
getWorldOrigin idEntity
setWorldOrigin idEntity
getOrigin idEntity
setOrigin idEntity
getLinearVelocity idEntity
setLinearVelocity idEntity
getAngularVelocity idEntity
setAngularVelocity idEntity
getSize idEntity
setSize idEntity
getMins idEntity
getMaxs idEntity
touches idEntity
setGuiParm idEntity
setGuiFloat idEntity
getNextKey idEntity
setKey idEntity
getKey idEntity
getIntKey idEntity
getFloatKey idEntity
getVectorKey idEntity
getEntityKey idEntity
restorePosition idEntity
distanceTo idEntity
distanceToPoint idEntity
startFx idEntity
waitFrame idEntity
wait idEntity
hasFunction idEntity
callFunction idEntity
setNeverDormant idEntity
setGui idEntity
precacheGui idEntity
getGuiParm idEntity
getGuiParmFloat idEntity
guiNamedEvent idEntity
remove idClass

Quake 4

Property Value
Type engine class
Inherits idActor

Class tree

  • idClass
    • idEntity
      • idAnimatedEntity
        • idAFEntity_Base
          • idAFEntity_Gibbable
            • idActor
              • idAI

Child classes

Class
rvAITactical
rvMonsterBerserker
rvMonsterBossBuddy
rvMonsterBossMakron
rvMonsterConvoyGround
rvMonsterFailedTransfer
rvMonsterFatty
rvMonsterGladiator
rvMonsterGrunt
rvMonsterGunner
rvMonsterHarvester
rvMonsterHarvesterDispersal
rvMonsterHeavyHoverTank
rvMonsterIronMaiden
rvMonsterLightTank
rvMonsterNetworkGuardian
rvMonsterRepairBot
rvMonsterScientist
rvMonsterSentry
rvMonsterSlimyTransfer
rvMonsterStreamProtector
rvMonsterStroggFlyer
rvMonsterStroggHover
rvMonsterStroggMarine
rvMonsterTeleportDropper
rvMonsterTurret
rvMonsterTurretFlying
rvVehicleAI

Entities

Entity
char_marine_choppable
env_catscanner
env_dead_head_half
env_dead_head_shot
env_hanging_body_1
env_ragdoll_marine
env_ragdoll_marine_meathook
env_sb_machinegun
monster_default
test_head
test_officer

Supported events

Event Declared by
activate idAI
enableClip idAI
disableClip idAI
enableGravity idAI
disableGravity idAI
enableAFPush idAI
disableAFPush idAI
enableDamage idAI
disableDamage idAI
enablePain idAI
disablePain idAI
enableTarget idAI
disableTarget idAI
takeDamage idAI
setUndying idAI
enableAutoBlink idAI
disableAutoBlink idAI
scriptedMove idAI
scriptedFace idAI
scriptedAnim idAI
scriptedAction idAI
scriptedPlaybackMove idAI
scriptedPlaybackAim idAI
scriptedDone idAI
scriptedStop idAI
scriptedJumpDown idAI
setTalkState idAI
setLeader idAI
getLeader idAI
setEnemy idAI
getEnemy idAI
getAngles idAI
setAngles idAI
setScript idAI
setMoveSpeed idAI
setPassivePrefix idAI
attack idAI
attackMelee idAI
lookAt idAI
directDamage idAI
radiusDamageFromJoint idAI
canBecomeSolid idAI
becomeSolid idAI
becomeNonSolid idAI
becomeRagdoll idAI
becomePassive idAI
becomeAggressive idAI
stopRagdoll idAI
setHealth idAI
faceEnemy idAI
faceEntity idAI
stopThinking idAI
lockEnemyOrigin idAI
kill idAI
removeUpdateSpawner idAI
allowHiddenMovement idAI
speak idAI
speakRandom idAI
isSpeaking idAI
isTethered idAI
isWithinTether idAI
isMoving idAI
findEnemy idAI
setKey idAI
enableEyeFocus idActor
disableEyeFocus idActor
enableBlinking idActor
disableBlinking idActor
footstep idActor
leftFoot idActor
rightFoot idActor
EnableWalkIK idActor
DisableWalkIK idActor
EnableLegIK idActor
DisableLegIK idActor
preventPain idActor
setAnimPrefix idActor
setSyncedAnimWeight idActor
setBlendFrames idActor
getBlendFrames idActor
overrideAnim idActor
enableAnim idActor
hasEnemies idActor
nextEnemy idActor
closestEnemyToPoint idActor
stopSound idActor
getHead idActor
flashlight idActor
teleport idActor
enterVehicle idActor
exitVehicle idActor
setAnimRate idActor
playAnim idActor
damageOverTime idActor
damageOverTimeEffect idActor
jointCrawlEffect idActor
gib idAFEntity_Gibbable
SetConstraintPosition idAFEntity_Base
getJointHandle idAnimatedEntity
clearAllJoints idAnimatedEntity
clearJoint idAnimatedEntity
setJointPos idAnimatedEntity
setJointAngle idAnimatedEntity
getJointPos idAnimatedEntity
getJointAngle idAnimatedEntity
setJointAngularVelocity idAnimatedEntity
collapseJoints idAnimatedEntity
getName idEntity
setName idEntity
activateTargets idEntity
numTargets idEntity
getTarget idEntity
randomTarget idEntity
bindToJoint idEntity
removeBinds idEntity
bind idEntity
bindPosition idEntity
unbind idEntity
setOwner idEntity
setModel idEntity
setSkin idEntity
getShaderParm idEntity
setShaderParm idEntity
setShaderParms idEntity
setColor idEntity
getColor idEntity
isHidden idEntity
hide idEntity
show idEntity
cacheSoundShader idEntity
startSoundShader idEntity
startSound idEntity
fadeSound idEntity
getWorldOrigin idEntity
setWorldOrigin idEntity
getOrigin idEntity
setOrigin idEntity
getLinearVelocity idEntity
setLinearVelocity idEntity
getAngularVelocity idEntity
setAngularVelocity idEntity
getSize idEntity
setSize idEntity
getMins idEntity
getMaxs idEntity
touches idEntity
setGuiParm idEntity
setGuiFloat idEntity
getNextKey idEntity
getKey idEntity
getIntKey idEntity
getFloatKey idEntity
getVectorKey idEntity
getEntityKey idEntity
restorePosition idEntity
distanceTo idEntity
distanceToPoint idEntity
startFx idEntity
waitFrame idEntity
wait idEntity
hasFunction idEntity
callFunction idEntity
setNeverDormant idEntity
clearSkin idEntity
setContents idEntity
getLastBlocker idEntity
playEffect idEntity
stopEffect idEntity
stopAllEffects idEntity
getHealth idEntity
hideSurface idEntity
showSurface idEntity
guiEvent idEntity
playbackCallback idEntity
getBindMaster idEntity
applyImpulse idEntity
removeNullTargets idEntity
isA idEntity
isSameTypeAs idEntity
matchPrefix idEntity
clearTargetList idEntity
appendTarget idEntity
removeTarget idEntity
remove idClass

Prey

Property Value
Type engine class
Inherits idActor

Class tree

  • idClass
    • idEntity
      • hhRenderEntity
        • idAnimatedEntity
          • hhAnimatedEntity
            • idAFEntity_Base
              • idAFEntity_Gibbable
                • idActor
                  • idAI

Child classes

Class
hhMonsterAI

Supported events

Event Declared by
activate idAI
findEnemy idAI
findEnemyAI idAI
findEnemyInCombatNodes idAI
closestReachableEnemyOfEntity idAI
heardSound idAI
setEnemy idAI
clearEnemy idAI
muzzleFlash idAI
createMissile idAI
attackMissile idAI
fireMissileAtTarget idAI
launchMissile idAI
attackMelee idAI
directDamage idAI
radiusDamageFromJoint idAI
attackBegin idAI
attackEnd idAI
meleeAttackToJoint idAI
randomPath idAI
canBecomeSolid idAI
becomeSolid idAI
becomeNonSolid idAI
becomeRagdoll idAI
stopRagdoll idAI
setHealth idAI
getHealth idAI
allowDamage idAI
ignoreDamage idAI
getCurrentYaw idAI
turnTo idAI
turnToPos idAI
turnToEntity idAI
moveStatus idAI
stopMove idAI
moveToCover idAI
moveToEnemy idAI
moveToEnemyHeight idAI
moveOutOfRange idAI
moveToAttackPosition idAI
wander idAI
moveToEntity idAI
moveToPosition idAI
slideTo idAI
facingIdeal idAI
faceEnemy idAI
faceEntity idAI
waitAction idAI
getCombatNode idAI
enemyInCombatCone idAI
waitMove idAI
getJumpVelocity idAI
entityInAttackCone idAI
canSee idAI
setTalkTarget idAI
getTalkTarget idAI
setTalkState idAI
enemyRange idAI
enemyRange2D idAI
getEnemy idAI
getEnemyPos idAI
getEnemyEyePos idAI
predictEnemyPos idAI
canHitEnemy idAI
canHitEnemyFromAnim idAI
canHitEnemyFromJoint idAI
enemyPositionValid idAI
chargeAttack idAI
testChargeAttack idAI
testAnimMoveTowardEnemy idAI
testAnimMove idAI
testMoveToPosition idAI
testMeleeAttack idAI
testAnimAttack idAI
shrivel idAI
burn idAI
preBurn idAI
setSmokeVisibility idAI
numSmokeEmitters idAI
clearBurn idAI
stopThinking idAI
getTurnDelta idAI
getMoveType idAI
setMoveType idAI
saveMove idAI
restoreMove idAI
allowMovement idAI
enableClip idAI
disableClip idAI
enableGravity idAI
disableGravity idAI
enableAFPush idAI
disableAFPush idAI
setFlySpeed idAI
setFlyOffset idAI
clearFlyOffset idAI
getClosestHiddenTarget idAI
getRandomTarget idAI
travelDistanceToPoint idAI
travelDistanceToEntity idAI
travelDistanceBetweenPoints idAI
travelDistanceBetweenEntities idAI
lookAt idAI
lookAtEnemy idAI
setBoneMod idAI
throwMoveable idAI
throwAF idAI
getAngles idAI
setAngles idAI
kill idAI
wakeOnFlashlight idAI
locateEnemy idAI
kickObstacles idAI
getObstacle idAI
pushPointIntoAAS idAI
getTurnRate idAI
setTurnRate idAI
animTurn idAI
allowHiddenMovement idAI
triggerParticles idAI
findActorsInBounds idAI
canReachPosition idAI
canReachEntity idAI
canReachEnemy idAI
getReachableEntityPosition idAI
enableEyeFocus idActor
disableEyeFocus idActor
footstep idActor
leftFoot idActor
rightFoot idActor
EnableWalkIK idActor
DisableWalkIK idActor
EnableLegIK idActor
DisableLegIK idActor
preventPain idActor
disablePain idActor
enablePain idActor
getPainAnim idActor
setAnimPrefix idActor
stopAnim idActor
playAnim idActor
playCycle idActor
idleAnim idActor
setSyncedAnimWeight idActor
setBlendFrames idActor
getBlendFrames idActor
animState idActor
getAnimState idActor
inAnimState idActor
finishAction idActor
animDone idActor
overrideAnim idActor
enableAnim idActor
hasAnim idActor
checkAnim idActor
chooseAnim idActor
animLength idActor
animDistance idActor
hasEnemies idActor
nextEnemy idActor
closestEnemyToPoint idActor
stopSound idActor
setNextState idActor
setState idActor
getState idActor
getHead idActor
LeftFootPrint idActor
RightFootPrint idActor
playAnimSkip idActor
gib idAFEntity_Gibbable
SetConstraintPosition idAFEntity_Base
setAFCollision idAFEntity_Base
spawnFXAlongBone hhAnimatedEntity
getJointHandle idAnimatedEntity
clearAllJoints idAnimatedEntity
clearJoint idAnimatedEntity
setJointPos idAnimatedEntity
setJointAngle idAnimatedEntity
getJointPos idAnimatedEntity
getJointAngle idAnimatedEntity
moveToJoint idEntity
moveToJointWeighted idEntity
moveJointToJoint idEntity
moveJointToJointOffset idEntity
setSkin idEntity
spawnDebris idEntity
delayDamageEntity idEntity
dispose idEntity
setDeformation idEntity
setFloatKey idEntity
setVectorKey idEntity
setEntityKey idEntity
playerCanSee idEntity
setContents idEntity
setClipmask idEntity
setPortalCollision idEntity
killbox idEntity
getName idEntity
setName idEntity
findTargets idEntity
activateTargets idEntity
numTargets idEntity
getTarget idEntity
randomTarget idEntity
bindToJoint idEntity
removeBinds idEntity
bind idEntity
bindPosition idEntity
unbind idEntity
setOwner idEntity
setModel idEntity
getShaderParm idEntity
setShaderParm idEntity
setShaderParms idEntity
setColor idEntity
getColor idEntity
isHidden idEntity
hide idEntity
show idEntity
cacheSoundShader idEntity
startSoundShader idEntity
startSound idEntity
fadeSound idEntity
getWorldOrigin idEntity
setWorldOrigin idEntity
getOrigin idEntity
setOrigin idEntity
getLinearVelocity idEntity
setLinearVelocity idEntity
getAngularVelocity idEntity
setAngularVelocity idEntity
getSize idEntity
setSize idEntity
getMins idEntity
getMaxs idEntity
touches idEntity
setGuiParm idEntity
setGuiFloat idEntity
getNextKey idEntity
setKey idEntity
getKey idEntity
getIntKey idEntity
getFloatKey idEntity
getVectorKey idEntity
getEntityKey idEntity
restorePosition idEntity
updateCameraTarget idEntity
distanceTo idEntity
distanceToPoint idEntity
startFx idEntity
waitFrame idEntity
wait idEntity
hasFunction idEntity
callFunction idEntity
setNeverDormant idEntity
playRumble idEntity
stopRumble idEntity
remove idClass

Last changed Sep 21, 2026
<< back to the wiki  ·  History
RELATED GAMES
DOOM 3
Quake 4
Prey
HOT FILES
No files yet.
all files >>
LATEST BLOGS
No blog posts yet.
all blogs >>
MEDIA FROM THE BLOGS
No blog post has a picture yet.
all blogs >>
LATEST DEVLOGS
No devlog entries yet.
all blogs >>
CHAT
IRC:
#func_arena @ irc.libera.chat

Discord:
Map-Center

41 fraggers right now. Be nice to others.
Powered by Debian Linux Now! Get Mozilla Now! Stop Microsoft! Dopefish Now! 1-Bit Icons by Nikoichu
home  ·  contact  ·  privacy policy  ·  forums  ·  submit content  ·  rss
func_arena is a member of the func_network. We are not responsible for user content, your ping, or your kill-to-death ratio.
Powered by fragnuke 0.7.2. Best viewed at 1024x768 in Mozilla. No frames, no Flash, no bs.