4 #define SUB_ANGLES(s) (s).angles
5 #define SUB_VELOCITY velocity
6 #define SUB_AVELOCITY avelocity
7 #define SUB_ORIGIN origin
8 #define SUB_SETORIGIN(s,v) setorigin((s), (v))
9 #define SUB_NEXTTHINK nextthink
10 #define SUB_THINK(e, f) setthink(e, f)
11 #define SUB_THUNK(e) getthink(e)
12 #define SUB_LTIME ltime
13 #define SUB_FLAGS flags
16 void SUB_SetFade (entity ent, float when, float fading_time);
17 void SUB_VanishOrRemove (entity ent);
19 .vector finaldest, finalangle; //plat.qc stuff
20 .void(entity this) think1;
22 .float t_length, t_width;
33 .float platmovetype_start, platmovetype_end;
47 .float trigger_reverse;
49 // Keys player is holding
51 // message delay for func_door locked by keys and key locks
52 // this field is used on player entities
53 .float key_door_messagetime;
58 // this stuff is defined in the server side engine VM, so we must define it separately here
60 const float DAMAGE_NO = 0;
61 const float DAMAGE_YES = 1;
62 const float DAMAGE_AIM = 2;
65 float STATE_BOTTOM = 1;
69 .string noise, noise1, noise2, noise3; // contains names of wavs to play
71 .float max_health; // players maximum health is stored here