Files
DoomRTX/base/script/ai_base.script
T
2026-05-23 14:19:48 -07:00

73 lines
1.8 KiB
Plaintext

//
// move types
//
#define MOVETYPE_DEAD 0 // no enemy tracking or steering. just runs physics and script.
#define MOVETYPE_ANIM 1 // movement based on animation deltas
#define MOVETYPE_SLIDE 2 // movement based on velocity. set speed using setFlySpeed.
#define MOVETYPE_FLY 3 // flying monsters.
#define MOVETYPE_STATIC 4 // no movement or gravity.
//
// move results
//
#define MOVE_STATUS_DONE 0 // move succeeded, or not moving
#define MOVE_STATUS_MOVING 1 // move in progress
#define MOVE_STATUS_WAITING 2 //
#define MOVE_STATUS_DEST_NOT_FOUND 3 // destination doesn't exist
#define MOVE_STATUS_DEST_UNREACHABLE 4 //
#define MOVE_STATUS_BLOCKED_BY_WALL 5
#define MOVE_STATUS_BLOCKED_BY_OBJECT 6
#define MOVE_STATUS_BLOCKED_BY_ENEMY 7
#define MOVE_STATUS_BLOCKED_BY_MONSTER 8
//
// talk states
//
#define TALK_NEVER 0
#define TALK_DEAD 1
#define TALK_OK 2
#define TALK_BUSY 3
// AI has been moved to native
object ai {
void init();
boolean AI_TALK;
boolean AI_DAMAGE;
boolean AI_PAIN;
float AI_SPECIAL_DAMAGE; // value of "special_damage" on projectile
boolean AI_DEAD;
boolean AI_ENEMY_VISIBLE;
boolean AI_ENEMY_IN_FOV;
boolean AI_ENEMY_DEAD;
boolean AI_MOVE_DONE;
boolean AI_ONGROUND;
boolean AI_ACTIVATED;
boolean AI_FORWARD;
boolean AI_BACKWARD;
boolean AI_STRAFE_LEFT;
boolean AI_STRAFE_RIGHT;
boolean AI_ATTACK_HELD;
boolean AI_WEAPON_FIRED;
boolean AI_JUMP;
boolean AI_CROUCH;
boolean AI_ONLADDER;
boolean AI_HARDLANDING;
boolean AI_SOFTLANDING;
boolean AI_RUN;
boolean AI_RELOAD;
boolean AI_TELEPORT;
boolean AI_TURN_LEFT;
boolean AI_TURN_RIGHT;
boolean AI_DEST_UNREACHABLE;
boolean AI_BLOCKED;
boolean AI_HIT_ENEMY;
boolean AI_OBSTACLE_IN_PATH;
boolean AI_PUSHED;
};
void ai::init() {
}