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