func_arena Monday, September 21, 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 script events: AI characters and monsters
ARTICLE

DOOM 3 script events: AI characters and monsters

Name Description
findEnemy finds enemy player in PVS
findEnemyAI finds enemy monster in PVS
findEnemyInCombatNodes finds enemy player in attack cones
closestReachableEnemyOfEntity finds another character's closest reachable enemy
heardSound
setEnemy
clearEnemy
muzzleFlash
createMissile returns projectile created
attackMissile returns projectile fired
fireMissileAtTarget launches a missile at entity specified by 'attack_target'. returns projectile fired
launchMissile returns the projectile entity
attackMelee returns true if the attack hit
directDamage
radiusDamageFromJoint
attackBegin
attackEnd
meleeAttackToJoint
randomPath
canBecomeSolid
becomeSolid
becomeNonSolid
becomeRagdoll enables the ragdoll if the entity has one
stopRagdoll turns off the ragdoll
setHealth
getHealth
allowDamage
ignoreDamage
getCurrentYaw
turnTo
turnToPos
turnToEntity
moveStatus
stopMove
moveToCover
moveToEnemy
moveToEnemyHeight
moveOutOfRange
moveToAttackPosition
wander
moveToEntity
moveToPosition
slideTo
facingIdeal
faceEnemy
faceEntity
getCombatNode
enemyInCombatCone
waitMove
getJumpVelocity
entityInAttackCone
canSee
enemyRange
enemyRange2D
setTalkTarget sets the entity (player) trying to talk to the character
getTalkTarget returns the entity (player) trying to talk to the character
getEnemy
getEnemyPos
getEnemyEyePos
predictEnemyPos Tries to predict the player's movement based on the AAS and his direction of movement.
canHitEnemy
canHitEnemyFromAnim
canHitEnemyFromJoint
enemyPositionValid
chargeAttack
testChargeAttack
testAnimMoveTowardEnemy
testAnimMove
testMoveToPosition
testMeleeAttack
testAnimAttack
shrivel
preBurn
burn
clearBurn
setSmokeVisibility enables/disables smoke particles on bones. pass in the particle #, or ALL_PARTICLES for turning on/off all particle systems. particles are spawned in the order
numSmokeEmitters returns the # of emitters defined by 'smokeParticleSystem' in the entitydef
waitAction
stopThinking
getTurnDelta
getMoveType returns the current movetype
setMoveType set the current movetype. movetypes are defined in ai_base.script
saveMove
restoreMove
allowMovement
enableClip
disableClip
enableGravity
disableGravity
enableAFPush
disableAFPush
setFlySpeed set the speed flying creatures move at. also sets speed for moveTypeSlide.
setFlyOffset sets the prefered height relative to the player's view height to fly at
clearFlyOffset sets the prefered height relative to the player's view height to fly at to the value set in the def file
getClosestHiddenTarget Finds the closest targeted entity of the specified type.
getRandomTarget Finds a random targeted entity of the specified type.
travelDistanceToPoint Approximate travel distance to point.
travelDistanceToEntity Approximate travel distance to entity.
travelDistanceBetweenEntities Approximate travel distance between two entities.
travelDistanceBetweenPoints Approximate travel distance between two points.
lookAt Aims the character's eyes and head toward an entity for a period of time.
lookAtEnemy Aims the character's eyes and head toward the current enemy for a period of time.
setBoneMod Enables or disables head looking (may be obsolete).
kill Kills the monster.
wakeOnFlashlight Tells the monster to activate when flashlight shines on them.
setTalkState Sets whether the player can talk to this character or not.
locateEnemy Updates the last known position of the enemy independent from whether or not the enemy is visible.
kickObstacles kicks any obstacle in the character's path. pass in $null_entity if you don't have a specific entity to kick.
getObstacle gets the obstacle in the character's path
pushPointIntoAAS tries to push the point into a valid AAS area
getTurnRate gets the rate the character turns
setTurnRate set the rate the character turns at
animTurn enable/disable animation controlled turning. pass in the maximum # of degrees the animation turns. use an amount of 0 to disable.
allowHiddenMovement normally, when hidden, monsters do not run physics. this enables physics when hidden.
findActorsInBounds returns an entity within the bounds specified
canReachPosition returns true if character can walk to specified position. for walking monsters, position should be near the floor.
canReachEntity returns true if character can walk to entity's position. for walking monsters, entity should be near the floor.
canReachEnemy returns true if character can walk to enemy's position. for walking monsters, enemy should be near the floor.
getReachableEntityPosition returns the position of the entity within the aas if possible, otherwise just the entity position.

Last changed Sep 21, 2026
<< back to the wiki  ·  History
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.