94 lines
2.9 KiB
C
94 lines
2.9 KiB
C
//Elf Lord header
|
|
|
|
typedef enum AnimID_e
|
|
{
|
|
ANIM_HOVER, //hover
|
|
ANIM_FLOAT_FORWARD, //float forward
|
|
ANIM_CHARGE, //charge forward
|
|
ANIM_CHARGE_BTRANS, //transition to charge
|
|
ANIM_FLOAT_BACK, //float backwards (w / attack)
|
|
ANIM_DODGE_RIGHT, //dodge right
|
|
ANIM_DODGE_LEFT, //dodge left
|
|
ANIM_ATTACK_SOA_BTRANS, //attack 1 (lightning sphere) beginning
|
|
ANIM_ATTACK_SOA_LOOP, //attack 1 (lightning sphere) loop
|
|
ANIM_ATTACK_SOA_END, //attack 1 (lightning sphere) ending
|
|
ANIM_ATTACK_LS, //attack 2 (light surge)
|
|
ANIM_PAIN1, //pain
|
|
ANIM_DIE_BTRANS, //death beginning
|
|
ANIM_DIE_LOOP, //death loop
|
|
ANIM_SHIELD, //shield
|
|
ANIM_ATTACK,
|
|
ANIM_MOVE,
|
|
ANIM_WAIT,
|
|
ANIM_COME_TO_LIFE,
|
|
NUM_ANIMS
|
|
} AnimID_t;
|
|
|
|
|
|
typedef enum SoundID_e
|
|
{
|
|
SND_PAIN1,
|
|
SND_PAIN2,
|
|
SND_DIE,
|
|
|
|
SND_SACHARGE,
|
|
SND_SAFIRE,
|
|
SND_SAHIT,
|
|
|
|
SND_PROJ1,
|
|
SND_BEAM,
|
|
|
|
NUM_SOUNDS
|
|
} SoundID_t;
|
|
|
|
extern animmove_t elflord_move_idle;
|
|
extern animmove_t elflord_move_run;
|
|
extern animmove_t elflord_move_charge;
|
|
extern animmove_t elflord_move_charge_trans;
|
|
extern animmove_t elflord_move_floatback;
|
|
extern animmove_t elflord_move_dodgeright;
|
|
extern animmove_t elflord_move_dodgeleft;
|
|
extern animmove_t elflord_move_soa_begin;
|
|
extern animmove_t elflord_move_soa_loop;
|
|
extern animmove_t elflord_move_soa_end;
|
|
extern animmove_t elflord_move_ls;
|
|
extern animmove_t elflord_move_pain;
|
|
extern animmove_t elflord_move_death_btrans;
|
|
extern animmove_t elflord_move_death_loop;
|
|
extern animmove_t elflord_move_shield;
|
|
extern animmove_t elflord_move_attack;
|
|
extern animmove_t elflord_move_move;
|
|
extern animmove_t elflord_move_wait;
|
|
extern animmove_t elflord_move_come_to_life;
|
|
|
|
qboolean elfLordCheckAttack (edict_t *self);
|
|
|
|
void elflord_decell(edict_t *self, float value);
|
|
void elflord_decide_movement (edict_t *self);
|
|
void elflord_ai_stand (edict_t *self, float dist);
|
|
void elflord_stand(edict_t *self, G_Message_t *msg);
|
|
void elflord_run(edict_t *self, G_Message_t *msg);
|
|
void elflord_death_start(edict_t *self, G_Message_t *msg);
|
|
void elflord_soa_start(edict_t *self, G_Message_t *msg);
|
|
void elflordRandomRushSound(edict_t *self);
|
|
void elflordSound(edict_t *self, float channel, float sndindex, float atten);
|
|
void elflord_flymove (edict_t *self, float dist);
|
|
void elfLordPause(edict_t *self);
|
|
void elfLordGoCharge(edict_t *self);
|
|
void elflord_soa_loop(edict_t *self);
|
|
void elflord_soa_end(edict_t *self);
|
|
|
|
void elflord_StartBeam(edict_t *self);
|
|
void elflord_EndBeam(edict_t *self);
|
|
void elford_Attack( edict_t *self );
|
|
|
|
void elflord_face(edict_t *self);
|
|
void elflord_track(edict_t *self);
|
|
void elflord_SlideMeter( edict_t *self );
|
|
void elflord_soa_go(edict_t *self);
|
|
void elflord_soa_charge(edict_t *self);
|
|
void elflord_FixAngles(edict_t *self);
|
|
|
|
void ai_charge2(edict_t *self, float dist);
|
|
float ai_face_goal(edict_t *self);
|
|
void MG_CheckEvade (edict_t *self);
|