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
15 void SUB_SetFade (entity ent, float when, float fading_time);
16 void SUB_VanishOrRemove (entity ent);
18 .vector finaldest, finalangle; //plat.qc stuff
19 .void(entity this) think1;
21 .float t_length, t_width;
32 .float platmovetype_start, platmovetype_end;
46 .float trigger_reverse;
48 // Keys player is holding
50 // message delay for func_door locked by keys and key locks
51 // this field is used on player entities
52 .float key_door_messagetime;
57 // this stuff is defined in the server side engine VM, so we must define it separately here
59 const float DAMAGE_NO = 0;
60 const float DAMAGE_YES = 1;
61 const float DAMAGE_AIM = 2;
64 float STATE_BOTTOM = 1;
68 .string noise, noise1, noise2, noise3; // contains names of wavs to play
70 .float max_health; // players maximum health is stored here