heretic2-sdk/Toolkit/Programming/GameCode/game/m_plagueSsithra.h
1999-03-18 00:00:00 +00:00

211 lines
6.2 KiB
C

//m_plagueSsithra.h
typedef enum AnimID_e
{
ANIM_STAND1,
ANIM_WALK1,
ANIM_BACKPEDAL,
ANIM_BOUND,
ANIM_DEATH_A,
ANIM_DEATH_B,
ANIM_DIVE,
ANIM_DUCKSHOOT,
ANIM_DUCK,
ANIM_GALLOP,
ANIM_FJUMP,
ANIM_IDLEBASIC,
ANIM_IDLERIGHT,
ANIM_MELEE,
ANIM_MELEE_STAND,
ANIM_NAMOR,
ANIM_PAIN_A,
ANIM_SHOOT,
ANIM_STARTLE,
ANIM_SWIMFORWARD,
ANIM_SWIMWANDER,
ANIM_WATER_DEATH,//19
ANIM_WATER_IDLE,//
ANIM_WATER_PAIN_A,
ANIM_WATER_PAIN_B,
ANIM_WATER_SHOOT,
ANIM_RUN1,
ANIM_SPINRIGHT,
ANIM_SPINRIGHT_GO,
ANIM_SPINLEFT,
ANIM_SPINLEFT_GO,
ANIM_FACEANDNAMOR,
ANIM_DEAD_A,
ANIM_LOOKRIGHT,
ANIM_LOOKLEFT,
ANIM_TRANSUP,
ANIM_TRANSDOWN,
ANIM_HEADLESS,
ANIM_HEADLESSLOOP,
ANIM_DEATH_C,
ANIM_DEAD_B,
ANIM_DEAD_WATER,
ANIM_SLICED,
ANIM_DELAY,
ANIM_DUCKLOOP,
ANIM_UNDUCK,
ANIM_LUNGE,
NUM_ANIMS
} AnimID_t;
typedef enum SoundID_e
{
SND_PAIN1,//
SND_PAIN2,//
SND_DIE,//
SND_GIB,//
SND_SWIPE,//
SND_SWIPEHIT,//
SND_ARROW1,//
SND_ARROW2,//
SND_GROWL1,//hiss
SND_GROWL2,//shriek
SND_GROWL3,//grunt
SND_INWATER,//
SND_NAMOR,//
SND_LAND,//???
SND_SWIM,//
SND_SWIM2,
//Voices
SND_SIGHT1,
SND_SIGHT2,
SND_SIGHT3,
SND_SIGHT4,
SND_SIGHT5,
SND_SIGHT6,
SND_ARROW_CHARGE,
SND_ARROW_FIRE,
NUM_SOUNDS
} SoundID_t;
extern animmove_t ssithra_move_idle1;
extern animmove_t ssithra_move_walk1;
extern animmove_t ssithra_move_backpedal1;
extern animmove_t ssithra_move_bound1;
extern animmove_t ssithra_move_death_a1;
extern animmove_t ssithra_move_death_b1;
extern animmove_t ssithra_move_dive1;
extern animmove_t ssithra_move_duckshoot1;
extern animmove_t ssithra_move_duck1;
extern animmove_t ssithra_move_gallop1;
extern animmove_t ssithra_move_fjump;
extern animmove_t ssithra_move_idlebasic1;
extern animmove_t ssithra_move_idleright1;
extern animmove_t ssithra_move_melee1;
extern animmove_t ssithra_move_meleest;
extern animmove_t ssithra_move_namor1;
extern animmove_t ssithra_move_pain_a1;
extern animmove_t ssithra_move_shoot1;
extern animmove_t ssithra_move_startle1;
extern animmove_t ssithra_move_swimforward1;
extern animmove_t ssithra_move_swimwander;
extern animmove_t ssithra_move_water_death1;
extern animmove_t ssithra_move_water_idle1;
extern animmove_t ssithra_move_water_pain_a1;
extern animmove_t ssithra_move_water_pain_b1;
extern animmove_t ssithra_move_water_shoot1;
extern animmove_t ssithra_move_run1;
extern animmove_t ssithra_move_spinright;
extern animmove_t ssithra_move_spinright_go;
extern animmove_t ssithra_move_spinleft;
extern animmove_t ssithra_move_spinleft_go;
extern animmove_t ssithra_move_faceandnamor;
extern animmove_t ssithra_move_dead;
extern animmove_t ssithra_move_lookright;
extern animmove_t ssithra_move_lookleft;
extern animmove_t ssithra_move_transup;
extern animmove_t ssithra_move_transdown;
extern animmove_t ssithra_move_headless;
extern animmove_t ssithra_move_headlessloop;
extern animmove_t ssithra_move_death_c;
extern animmove_t ssithra_move_dead_a;
extern animmove_t ssithra_move_dead_b;
extern animmove_t ssithra_move_dead_water;
extern animmove_t ssithra_move_sliced;
extern animmove_t ssithra_move_delay;
extern animmove_t ssithra_move_duckloop;
extern animmove_t ssithra_move_unduck;
extern animmove_t ssithra_move_lunge;
void ssithra_stand(edict_t *self, G_Message_t *msg);
void ssithra_walk(edict_t *self, G_Message_t *msg);
void ssithra_gallop(edict_t *self, G_Message_t *msg);
void ssithra_melee(edict_t *self, G_Message_t *msg);
void ssithra_idlebasic(edict_t *self, G_Message_t *msg);
void ssithra_dismember(edict_t *self, int damage, int HitLocation);
void ssithra_dismember_msg(edict_t *self, G_Message_t *msg);
void ssithra_pain(edict_t *self, G_Message_t *msg);
void ssithra_death(edict_t *self, G_Message_t *msg);
void ssithra_swimforward(edict_t *self, G_Message_t *msg);
void ssithra_dead(edict_t *self);
void ssithra_decide_stand(edict_t *self);
void ssithra_decide_gallop(edict_t *self);
void ssithra_decide_swimforward(edict_t *self);
void ssithra_decide_backpedal(edict_t *self);
//void ssithra_decide_walk(edict_t *self);
void ssithra_startle_go(edict_t *self);
//Actions
void ssithraSwipe(edict_t *self);
void ssithraArrow(edict_t *self);
void ssithraJump (edict_t *self, float upspd,float fwdspd,float rtspd);
void ssithraBoundCheck (edict_t *self);
void ssithraDiveCheck (edict_t *self);
void ssithraWaterDead(edict_t *self);
void ssithraForward (edict_t *self, float forwarddist);
void ssithraCheckLeaveWaterSplash (edict_t *self);
void ssithraCheckHitWaterSplash (edict_t *self);
void ssithraNamorJump (edict_t *self);
void ssithraCheckRipple (edict_t *self);
qboolean ai_checkattack (edict_t *self, float dist);
void ai_spin (edict_t *self, float amount);
void ssithra_spinright_go(edict_t *self);
void ssithra_spinleft_go(edict_t *self);
void ssithraCheckFacedNamor (edict_t *self);
void ssithra_check_namor(edict_t *self);
void ssithraVOfs(edict_t *self, float pofs, float yofs, float rofs);
void ssithraPanicArrow(edict_t *self);
void ssithra_pain_react (edict_t *self);
void ssithra_water_shoot (edict_t *self);
void ssithraCollapse(edict_t *self);
void ssithraKillSelf (edict_t *self);
void ssithraSound(edict_t *self, float soundnum, float channel, float attenuation);
qboolean SsithraCheckMood (edict_t *self);
void ssithraMsgJump(edict_t *self, G_Message_t *msg);
void MG_InitMoods(edict_t *self);
void ssithraApplyJump (edict_t *self);
void ssithraCheckDuckArrow (edict_t *self);
void ssithraCheckUnDuck (edict_t *self);
void ssithraJumpEvade (edict_t *self);
void ssithraCrouch (edict_t *self);
void ssithraUnCrouch(edict_t *self);
void ssithraCheckLoop (edict_t *self);
void ssithraGrowlSound(edict_t *self);
void ssithraStartDuckArrow(edict_t *self);
#define BIT_POLY 0
#define BIT_LOWERTORSO 1
#define BIT_CAPLOWERTORSO 2
#define BIT_LEFTLEG 4
#define BIT_RIGHTLEG 8
#define BIT_UPPERTORSO 16
#define BIT_CAPTOPUPPERTORSO 32
#define BIT_CAPBOTTOMUPPERTORSO 64
#define BIT_LEFTARM 128
#define BIT_RIGHTARM 256
#define BIT_HEAD 512
#define BIT_CENTERSPIKE 1024
#define BIT_LEFT1SPIKE 2048
#define BIT_RIGHT1SPIKE 4096
#define BIT_RIGHT2SPIKE 8192
#define BIT_CAPHEAD 16384