Remove .move_* fields and MOVETYPE_PUSH logic (doesn't work)
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / triggers / subs.qh
1 #ifndef SUBS_H
2 #define SUBS_H
3
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
14
15
16 void SUB_SetFade (entity ent, float when, float fading_time);
17 void SUB_VanishOrRemove (entity ent);
18
19 .vector         finaldest, finalangle;          //plat.qc stuff
20 .void(entity this) think1;
21 .float state;
22 .float          t_length, t_width;
23
24 .vector destvec;
25 .vector destvec2;
26
27 .float  delay;
28 .float  wait;
29 .float  lip;
30 .float  speed;
31 .float  sounds;
32 .string  platmovetype;
33 .float platmovetype_start, platmovetype_end;
34
35 //entity activator;
36
37 .string killtarget;
38
39 .vector pos1, pos2;
40 .vector mangle;
41
42 .string target2;
43 .string target3;
44 .string target4;
45 .string curvetarget;
46 .float target_random;
47 .float trigger_reverse;
48
49 // Keys player is holding
50 .float itemkeys;
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;
54
55 .vector dest1, dest2;
56
57 #ifdef CSQC
58 // this stuff is defined in the server side engine VM, so we must define it separately here
59 .float takedamage;
60 const float DAMAGE_NO   = 0;
61 const float DAMAGE_YES  = 1;
62 const float DAMAGE_AIM  = 2;
63
64 float   STATE_TOP               = 0;
65 float   STATE_BOTTOM    = 1;
66 float   STATE_UP                = 2;
67 float   STATE_DOWN              = 3;
68
69 .string         noise, noise1, noise2, noise3;  // contains names of wavs to play
70
71 .float          max_health;             // players maximum health is stored here
72 #endif
73
74 #endif