1 #ifndef bh_corpse_h_included
2 #define bh_corpse_h_included
3 #ifdef __cplusplus
4 extern "C" {
5 #endif
6 
7 #define CORPSE_SIGHTINGS 1
8 
9 typedef struct netcorpsedatablock {
10 	int timer;
11 	int validityTimer;
12 	int SoundHandle; /* Just in case. */
13 	int SoundHandle2;
14 	int SoundHandle3;
15 	int SoundHandle4;
16 	HMODELCONTROLLER HModelController;
17 
18 	AVP_BEHAVIOUR_TYPE Type;
19 	HITLOCATIONTABLE *hltable;
20 	int GibbFactor;
21 	DEATH_DATA *This_Death;
22 	/* If you're a predator... */
23 	PRED_CLOAKSTATE CloakStatus;
24 	int CloakTimer;
25 	int destructTimer;
26 	/* If you're a marine... */
27 	void (*WeaponMisfireFunction)(SECTION_DATA *, int *);
28 	SECTION_DATA *My_Gunflash_Section;
29 	SECTION *TemplateRoot;
30 	struct marine_weapon_data *My_Weapon;
31 	int weapon_variable;
32 	int Android;
33 	int ARealMarine;
34 	/* If you're an alien... */
35 	int subtype;
36 
37 	int Wounds;
38 
39 	int DeathFiring	:1;
40 
41 
42 }NETCORPSEDATABLOCK;
43 
44 extern void Convert_Alien_To_Corpse(STRATEGYBLOCK *sbPtr,DEATH_DATA *this_death,DAMAGE_PROFILE* damage);
45 extern void Convert_Predator_To_Corpse(STRATEGYBLOCK *sbPtr,DEATH_DATA *this_death);
46 extern void Convert_Marine_To_Corpse(STRATEGYBLOCK *sbPtr,DEATH_DATA *this_death);
47 extern void Convert_Xenoborg_To_Corpse(STRATEGYBLOCK *sbPtr,DEATH_DATA *this_death);
48 extern void CorpseBehaveFun(STRATEGYBLOCK *sbPtr);
49 extern void MakeCorpseNear(STRATEGYBLOCK *sbPtr);
50 extern void MakeCorpseFar(STRATEGYBLOCK *sbPtr);
51 extern void CorpseIsDamaged(STRATEGYBLOCK *sbPtr, DAMAGE_PROFILE *damage, int multiple, int wounds,SECTION_DATA *Section,VECTORCH *incoming);
52 
53 #define CORPSE_EXPIRY_TIME		(ONE_FIXED*10)
54 #define CORPSE_VALIDITY_TIME	(ONE_FIXED>>2)
55 #define ALIEN_DYINGTIME			(ONE_FIXED*8)
56 #define PRED_DIETIME			(ONE_FIXED*16)
57 #define MARINE_DYINGTIME		(ONE_FIXED*16)
58 #define XENO_DYINGTIME			(ONE_FIXED*8)
59 #define AGUN_DYINGTIME			(ONE_FIXED*8)
60 #define HDEBRIS_LIFETIME		(ONE_FIXED*8)
61 /* Was (ONE_FIXED*3)... */
62 
63 #ifdef __cplusplus
64 }
65 #endif
66 
67 #endif
68