4b825dc642cb6eb9a060e54bf8d69288fbee4904ebd360ec63ec976c05699f3180e866b3f69e5472
 
 
1
#ifndef bh_corpse_h_included
 
 
2
#define bh_corpse_h_included
 
 
3
 
 
 
4
#include "npc_predator.h"
 
 
5
 
 
 
6
typedef struct corpsedatablock
 
 
7
{
 
 
8
    int timer;
 
 
9
    int validityTimer;
 
 
10
    int SoundHandle; /* Just in case. */
 
 
11
    int SoundHandle2;
 
 
12
    int SoundHandle3;
 
 
13
    int SoundHandle4;
 
 
14
    HMODELCONTROLLER HModelController;
 
 
15
 
 
 
16
    AVP_BEHAVIOUR_TYPE Type;
 
 
17
    HITLOCATIONTABLE *hltable;
 
 
18
    DEATH_DATA *This_Death;
 
 
19
    /* If you're a predator... */
 
 
20
    PRED_CLOAKSTATE CloakStatus;
 
 
21
    int CloakTimer;
 
 
22
    /* If you're a marine... */
 
 
23
    SECTION_DATA *My_Gunflash_Section;
 
 
24
    SECTION *TemplateRoot;
 
 
25
    const struct marine_weapon_data *My_Weapon;
 
 
26
    int weapon_variable;
 
 
27
    int subtype;
 
 
28
    int Wounds;
 
 
29
    unsigned int DeathFiring:1;
 
 
30
    int SelfDestructTimer;
 
 
31
    int BurstTimer;
 
 
32
    int clipammo;
 
 
33
    int volleySize;
 
 
34
    DISPLAYBLOCK *myGunFlash;
 
 
35
 
 
 
36
} CORPSEDATABLOCK;
 
 
37
 
 
 
38
extern void Convert_Alien_To_Corpse(STRATEGYBLOCK *sbPtr, DEATH_DATA *this_death, const DAMAGE_PROFILE* damage);
 
 
39
extern void Convert_Predator_To_Corpse(STRATEGYBLOCK *sbPtr, DEATH_DATA *this_death);
 
 
40
extern void Convert_Marine_To_Corpse(STRATEGYBLOCK *sbPtr, DEATH_DATA *this_death);
 
 
41
extern void Convert_Xenoborg_To_Corpse(STRATEGYBLOCK *sbPtr, DEATH_DATA *this_death);
 
 
42
extern void CorpseBehaveFun(STRATEGYBLOCK *sbPtr);
 
 
43
extern void MakeCorpseNear(STRATEGYBLOCK *sbPtr);
 
 
44
extern void CorpseIsDamaged(STRATEGYBLOCK *sbPtr, const DAMAGE_PROFILE *damage, int wounds, VECTORCH *incoming);
 
 
45
extern CORPSEDATABLOCK* make_new_corpse(AVP_BEHAVIOUR_TYPE type);
 
 
46
 
 
 
47
#define CORPSE_EXPIRY_TIME        (ONE_FIXED*10)
 
 
48
#define CORPSE_VALIDITY_TIME        (ONE_FIXED>>2)
 
 
49
#define ALIEN_DYINGTIME            (ONE_FIXED*16)
 
 
50
#define PRED_DIETIME            (ONE_FIXED*16)
 
 
51
#define MARINE_DYINGTIME        (ONE_FIXED*16)
 
 
52
#define XENO_DYINGTIME            (ONE_FIXED*8)
 
 
53
#define AGUN_DYINGTIME            (ONE_FIXED*8)
 
 
54
#define HDEBRIS_LIFETIME        (ONE_FIXED*16)
 
 
55
/* Was (ONE_FIXED*3)... */
 
 
56
 
 
 
57
#endif