48 #define ATTACK_IGNORE 0
49 #define ATTACK_ON_DAMAGE 1
50 #define ATTACK_ON_ACTIVATE 2
51 #define ATTACK_ON_SIGHT 4
177 typedef struct funcEmitter_s {
283 static bool TestTrajectory(
const idVec3 &start,
const idVec3 &
end,
float zVel,
float gravity,
float time,
float max_height,
const idClipModel *clip,
int clipmask,
const idEntity *ignore,
const idEntity *targetEntity,
int drawtime );
285 static bool PredictTrajectory(
const idVec3 &firePos,
const idVec3 &target,
float projectileSpeed,
const idVec3 &projGravity,
const idClipModel *clip,
int clipmask,
float max_height,
const idEntity *ignore,
const idEntity *targetEntity,
int drawtime,
idVec3 &aimDir );
288 virtual void Gib(
const idVec3 &dir,
const char *damageDefName );
414 bool spawnClearMoveables;
456 virtual void Hide(
void );
457 virtual void Show(
void );
552 void TriggerFX(
const char* joint,
const char* fx );
553 idEntity* StartEmitter(
const char*
name,
const char* joint,
const char* particle );
555 void StopEmitter(
const char*
name );
580 void Event_LaunchProjectile(
const char *entityDefName );
697 void Event_MoveToPositionDirect(
const idVec3 &pos );
698 void Event_AvoidObstacles(
int ignore);
699 void Event_TriggerFX(
const char* joint,
const char* fx );
701 void Event_StartEmitter(
const char*
name,
const char* joint,
const char* particle );
702 void Event_GetEmitter(
const char*
name );
703 void Event_StopEmitter(
const char*
name );
bool GetAimDir(const idVec3 &firePos, idEntity *aimAtEnt, const idEntity *ignore, idVec3 &aimDir) const
idList< idAngles > lookJointAngles
void Restore(idRestoreGame *savefile)
const idEventDef AI_DirectDamage
void Event_CreateMissile(const char *jointname)
bool TurnToward(float yaw)
void Event_GetMoveType(void)
void Event_FacingIdeal(void)
void Event_StopThinking(void)
void TouchedByFlashlight(idActor *flashlight_owner)
virtual bool TestArea(const idAAS *aas, int areaNum)
void Event_GetClosestHiddenTarget(const char *type)
const idSoundShader * chat_snd
void Event_GetHealth(void)
idClipModel * projectileClipModel
void Event_GetCombatNode(void)
bool MoveToAttackPosition(idEntity *ent, int attack_anim)
void TalkTo(idActor *actor)
bool EntityInView(idActor *actor, const idVec3 &pos)
void LinkScriptVariables(void)
const idEventDef AI_BeginAttack
virtual bool TestArea(const idAAS *aas, int areaNum)
void Event_SetFlySpeed(float speed)
bool MoveToEntity(idEntity *ent)
void CheckObstacleAvoidance(const idVec3 &goalPos, idVec3 &newPos)
void Event_SlideTo(const idVec3 &pos, float time)
void Event_AllowHiddenMovement(int enable)
void Event_Activate(idEntity *activator)
void Event_PushPointIntoAAS(const idVec3 &pos)
idEntityPtr< idActor > talkTarget
void Event_AllowDamage(void)
idEntityPtr< idEntity > focusEntity
const float AI_HEARING_RANGE
idActor * GetEnemy(void) const
void Restore(idRestoreGame *savefile)
idScriptBool AI_ENEMY_IN_FOV
idVec3 lastVisibleReachableEnemyPos
void Event_MoveToEntity(idEntity *ent)
idScriptBool AI_HIT_ENEMY
idEntity * startPosObstacle
void Event_DisableAFPush(void)
void SetEnemy(idActor *newEnemy)
void Event_TurnTo(float angle)
void Save(idSaveGame *savefile) const
void Event_EnemyPositionValid(void)
const idEventDef AI_MuzzleFlash
void Event_ChargeAttack(const char *damageDef)
const idEventDef AI_DisableGravity
void CreateProjectileClipModel(void) const
idEntityPtr< idActor > enemy
int PVSAreas[idEntity::MAX_PVS_AREAS]
void DirectDamage(const char *meleeDefName, idEntity *ent)
const idEventDef AI_FireMissileAtTarget
const idEventDef AI_JumpFrame
void Event_ClearFlyOffset(void)
void UpdateEnemyPosition(void)
void Event_AttackMissile(const char *jointname)
void SetEnemyPosition(void)
idScriptFloat AI_SPECIAL_DAMAGE
void Event_TestMeleeAttack(void)
void Event_KickObstacles(idEntity *kickEnt, float force)
moveCommand_t moveCommand
void Event_EnableClip(void)
void Event_TravelDistanceToPoint(const idVec3 &pos)
void Event_RealKill(void)
idEntity * seekPosObstacle
void Event_TravelDistanceToEntity(idEntity *ent)
void Event_TestAnimMoveTowardEnemy(const char *animname)
void Event_LaunchMissile(const idVec3 &muzzle, const idAngles &ang)
void Event_PredictEnemyPos(float time)
void Activate(idEntity *activator)
void Event_SetEnemy(idEntity *ent)
bool SlideToPosition(const idVec3 &pos, float time)
static void List_f(const idCmdArgs &args)
idVec3 projectileVelocity
static bool TestTrajectory(const idVec3 &start, const idVec3 &end, float zVel, float gravity, float time, float max_height, const idClipModel *clip, int clipmask, const idEntity *ignore, const idEntity *targetEntity, int drawtime)
void Event_TestAnimMove(const char *animname)
static bool FindPathAroundObstacles(const idPhysics *physics, const idAAS *aas, const idEntity *ignore, const idVec3 &startPos, const idVec3 &seekPos, obstaclePath_t &path)
static bool PredictPath(const idEntity *ent, const idAAS *aas, const idVec3 &start, const idVec3 &velocity, int totalTime, int frameTime, int stopEvent, predictedPath_t &path)
void Event_ThrowMoveable(void)
GLuint GLuint GLsizei GLenum type
void FlySeekGoal(idVec3 &vel, idVec3 &goalPos)
idVec3 lastVisibleEnemyPos
const idEventDef AI_EnableClip
void Event_CanReachEntity(idEntity *ent)
void Event_SetHealth(float newHealth)
bool IsDisabled(void) const
void Event_EnableGravity(void)
idProjectile * CreateProjectile(const idVec3 &pos, const idVec3 &dir)
const idDict * projectileDef
idScriptBool AI_ACTIVATED
void Event_SetTalkTarget(idEntity *target)
void Event_CanHitEnemyFromAnim(const char *animname)
bool PathToGoal(aasPath_t &path, int areaNum, const idVec3 &origin, int goalAreaNum, const idVec3 &goalOrigin) const
void DrawRoute(void) const
idAASFindAreaOutOfRange(const idVec3 &targetPos, float maxDist)
bool MoveToPosition(const idVec3 &pos)
idVec3 lastReachableEnemyPos
bool EntityCanSeePos(idActor *actor, const idVec3 &actorOrigin, const idVec3 &pos)
virtual void DormantEnd(void)
const idEventDef AI_DisableClip
const idDeclParticle * SpawnParticlesOnJoint(particleEmitter_t &pe, const char *particleName, const char *jointName)
virtual bool UpdateAnimationControllers(void)
idScriptBool AI_ENEMY_VISIBLE
static const int MAX_PVS_AREAS
void Event_MoveToCover(void)
bool EnemyPositionValid(void) const
void Event_EnemyInCombatCone(idEntity *ent, int use_current_enemy_location)
void Event_ClosestReachableEnemyOfEntity(idEntity *team_mate)
void Event_FindEnemy(int useFOV)
void Event_GetEnemyPos(void)
void UpdateParticles(void)
virtual void Killed(idEntity *inflictor, idEntity *attacker, int damage, const idVec3 &dir, int location)
idScriptBool AI_ENEMY_REACHABLE
void Event_SetFlyOffset(int offset)
void KickObstacles(const idVec3 &dir, float force, idEntity *alwaysKick)
void Event_CanBecomeSolid(void)
void Event_MarkUsed(void)
idScriptBool AI_MOVE_DONE
void Event_MoveToEnemy(void)
void AddFlyBob(idVec3 &vel)
GLsizei GLsizei GLcharARB * source
void Event_GetEnemy(void)
void Event_EndAttack(void)
idAASFindAttackPosition(const idAI *self, const idMat3 &gravityAxis, idEntity *target, const idVec3 &targetPos, const idVec3 &fireOffset)
void Event_SetMoveType(int moveType)
void Event_BecomeSolid(void)
struct obstaclePath_s obstaclePath_t
void Event_TestChargeAttack(void)
void TriggerWeaponEffects(const idVec3 &muzzle)
idVec3 seekPosOutsideObstacles
void Event_RestoreMove(void)
void Restore(idRestoreGame *savefile)
bool MoveToCover(idEntity *entity, const idVec3 &pos)
bool ReachedPos(const idVec3 &pos, const moveCommand_t moveCommand) const
bool StepDirection(float dir)
float TravelDistance(const idVec3 &start, const idVec3 &end) const
void Event_GetJumpVelocity(const idVec3 &pos, float speed, float max_height)
float projectile_height_to_distance_ratio
void Event_IgnoreDamage(void)
void AdjustFlySpeed(idVec3 &vel)
void Event_WakeOnFlashlight(int enable)
idProjectile * LaunchProjectile(const char *jointname, idEntity *target, bool clampToAttackCone)
void Event_FindActorsInBounds(const idVec3 &mins, const idVec3 &maxs)
void Event_EnemyRange(void)
int PointReachableAreaNum(const idVec3 &pos, const float boundsScale=2.0f) const
idEntityPtr< idEntity > obstacle
void Event_LookAtEntity(idEntity *ent, float duration)
bool TestMelee(void) const
void Event_EnemyRange2D(void)
void Event_MoveStatus(void)
const int DEFAULT_FLY_OFFSET
void Event_SetTalkState(int state)
void Event_TestAnimAttack(const char *animname)
void UpdateMuzzleFlash(void)
void Event_TestMoveToPosition(const idVec3 &position)
jointHandle_t flashJointWorld
const float AI_TURN_SCALE
void Event_BeginAttack(const char *name)
void BlockedFailSafe(void)
void Event_LocateEnemy(void)
int ReactionTo(const idEntity *ent)
virtual bool TestArea(const idAAS *aas, int areaNum)
void Event_GetReachableEntityPosition(idEntity *ent)
void Event_AnimTurn(float angles)
bool GetMovePos(idVec3 &seekPos)
idScriptBool AI_DEST_UNREACHABLE
void Event_WaitAction(const char *waitForState)
void Event_FaceEnemy(void)
void Event_EntityInAttackCone(idEntity *ent)
const idEventDef AI_AttackMissile
const idEntity * blockingEntity
void Event_GetEnemyEyePos(void)
struct predictedPath_s predictedPath_t
const idEventDef AI_RandomPath
void Event_SetAngles(idAngles const &ang)
void Event_CanReachEnemy(void)
void Event_DirectDamage(idEntity *damageTarget, const char *damageDefName)
void Event_DisableGravity(void)
void BeginAttack(const char *name)
void Event_SetJointMod(int allowJointMod)
bool MoveOutOfRange(idEntity *entity, float range)
void Event_MuzzleFlash(const char *jointname)
bool FaceEntity(idEntity *ent)
~idAASFindAttackPosition()
void Event_SaveMove(void)
CLASS_PROTOTYPE(idCombatNode)
int PVSAreas[idEntity::MAX_PVS_AREAS]
const float AI_SEEK_PREDICTION
void AdjustFlyHeight(idVec3 &vel, const idVec3 &goalPos)
bool DirectMoveToPosition(const idVec3 &pos)
void Event_HeardSound(int ignore_team)
void Event_NumSmokeEmitters(void)
void CalculateAttackOffsets(void)
void Event_Activate(idEntity *activator)
void Event_Shrivel(float shirvel_time)
idScriptBool AI_OBSTACLE_IN_PATH
void Event_MoveOutOfRange(idEntity *entity, float range)
void Event_MoveToEnemyHeight(void)
void Event_MeleeAttackToJoint(const char *jointname, const char *meleeDefName)
void Event_DisableClip(void)
virtual void ApplyImpulse(idEntity *ent, int id, const idVec3 &point, const idVec3 &impulse)
const float AI_FLY_DAMPENING
void Save(idSaveGame *savefile) const
void Event_CanHitEnemyFromJoint(const char *jointname)
renderLight_t worldMuzzleFlash
void Event_TravelDistanceBetweenEntities(idEntity *source, idEntity *dest)
void Event_GetAngles(void)
void Event_GetTalkTarget(void)
void Save(idSaveGame *savefile) const
virtual void DamageFeedback(idEntity *victim, idEntity *inflictor, int &damage)
void Event_TurnToPos(const idVec3 &pos)
void Event_Touch(idEntity *other, trace_t *trace)
const idEventDef AI_CreateMissile
void Event_FaceEntity(idEntity *ent)
void Event_EnableAFPush(void)
jointHandle_t orientationJoint
void Event_GetTurnRate(void)
const float AI_TURN_PREDICTION
bool NewWanderDir(const idVec3 &dest)
const idEventDef AI_TriggerParticles
void Event_TurnToEntity(idEntity *ent)
float eyeHorizontalOffset
void GetMuzzle(const char *jointname, idVec3 &muzzle, idMat3 &axis)
idVec3 FirstVisiblePointOnPath(const idVec3 origin, const idVec3 &target, int travelFlags) const
bool ParticlesActive(void)
idVec3 lastVisibleEnemyEyeOffset
static bool PredictTrajectory(const idVec3 &firePos, const idVec3 &target, float projectileSpeed, const idVec3 &projGravity, const idClipModel *clip, int clipmask, float max_height, const idEntity *ignore, const idEntity *targetEntity, int drawtime, idVec3 &aimDir)
void Event_TriggerParticles(const char *jointName)
void UpdateAIScript(void)
idPhysics_Monster physicsObj
void Event_JumpFrame(void)
virtual bool CanPlayChatterSounds(void) const
const float SQUARE_ROOT_OF_2
void Event_GetCurrentYaw(void)
void Event_SetTurnRate(float rate)
const idDeclParticle * particle
void GetMoveDelta(const idMat3 &oldaxis, const idMat3 &axis, idVec3 &delta)
idVec3 startPosOutsideObstacles
void Event_BecomeRagdoll(void)
bool MoveDone(void) const
const idEventDef AI_EndAttack
void Event_FindEnemyInCombatNodes(void)
static void FreeObstacleAvoidanceNodes(void)
void Event_AttackMelee(const char *meleeDefName)
struct particleEmitter_s particleEmitter_t
void Event_RandomPath(void)
void SpawnParticles(const char *keyName)
void Event_CanSeeEntity(idEntity *ent)
void Event_SetSmokeVisibility(int num, int on)
void Event_GetObstacle(void)
virtual bool Pain(idEntity *inflictor, idEntity *attacker, int damage, const idVec3 &dir, int location)
idList< jointHandle_t > lookJoints
void Event_FireMissileAtTarget(const char *jointname, const char *targetname)
void Event_ClearEnemy(void)
const idEventDef AI_AttackMelee
bool MoveToEnemyHeight(void)
void Event_WaitMove(void)
jointHandle_t flyTiltJoint
void InitMuzzleFlash(void)
void Event_StopMove(void)
idScriptBool AI_ENEMY_DEAD
void Event_CanHitEnemy(void)
int worldMuzzleFlashHandle
void Event_BecomeNonSolid(void)
idEntityPtr< idProjectile > projectile
bool AttackMelee(const char *meleeDefName)
idList< idVec3 > missileLaunchOffset
idAASFindCover(const idVec3 &hideFromPos)
void Event_GetTurnDelta(void)
void Event_LookAtEnemy(float duration)
void Event_AllowMovement(float flag)
void StopMove(moveStatus_t status)
void Event_CanReachPosition(const idVec3 &pos)
void Event_GetRandomTarget(const char *type)
void Event_MoveToAttackPosition(idEntity *entity, const char *attack_anim)
idList< particleEmitter_t > particles
void AdjustFlyingAngles(void)
void Event_MoveToPosition(const idVec3 &pos)
static void DrawDebugInfo(void)
void Event_StopRagdoll(void)
talkState_t GetTalkState(void) const
idEntityPtr< idEntity > goalEntity
void Event_FindEnemyAI(int useFOV)
void TriggerParticles(const char *jointName)
virtual void Gib(const idVec3 &dir, const char *damageDefName)
void Event_ClearBurn(void)
void Event_TravelDistanceBetweenPoints(const idVec3 &source, const idVec3 &dest)
void HeardSound(idEntity *ent, const char *action)
void RemoveProjectile(void)
const idEventDef AI_EnableGravity
void Event_RadiusDamageFromJoint(const char *jointname, const char *damageDefName)
virtual void DormantBegin(void)