]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/common/triggers/spawnflags.qh
145ee0ad9a4fa4f831a87ebf6f8d83bceb7a733c
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / triggers / spawnflags.qh
1 #pragma once
2
3 // generic usage
4 const int START_ENABLED = BIT(0);
5 const int ON_MAPLOAD = BIT(1);
6 const int INVERT_TEAMS = BIT(2);
7 const int NOSPLASH = BIT(8); // generic anti-splashdamage spawnflag
8
9 // triggers
10 const int SPAWNFLAG_NOMESSAGE = BIT(0);
11 const int SPAWNFLAG_NOTOUCH = BIT(0); // why are these the same?
12
13 // bobbing
14 const int BOBBING_XAXIS = BIT(0);
15 const int BOBBING_YAXIS = BIT(1);
16
17 // breakable
18 const int BREAKABLE_START_DISABLED = BIT(0);
19 const int BREAKABLE_INDICATE_DAMAGE = BIT(1);
20 const int BREAKABLE_NODAMAGE = BIT(2);
21
22 // button
23 const int BUTTON_DONTACCUMULATEDMG = BIT(7);
24
25 // door, door_rotating and door_secret
26 const int DOOR_START_OPEN = BIT(0);
27 const int DOOR_DONT_LINK = BIT(2);
28 const int SPAWNFLAGS_GOLD_KEY = BIT(3); // Quake 1 compat, can only be used with func_door!
29 const int SPAWNFLAGS_SILVER_KEY = BIT(4); // Quake 1 compat, can only be used with func_door!
30 const int DOOR_TOGGLE = BIT(5);
31
32 const int DOOR_NONSOLID = BIT(10);
33 const int DOOR_CRUSH = BIT(11); // can't use PLAT_CRUSH cause that is the same as DOOR_DONT_LINK
34
35 const int DOOR_ROTATING_BIDIR = BIT(1);
36 const int DOOR_ROTATING_BIDIR_IN_DOWN = BIT(3);
37
38 const int DOOR_ROTATING_XAXIS = BIT(6);
39 const int DOOR_ROTATING_YAXIS = BIT(7);
40
41 const int DOOR_SECRET_OPEN_ONCE = BIT(0); // stays open - LEGACY, set wait to -1 instead
42 const int DOOR_SECRET_1ST_LEFT = BIT(1); // 1st move is left of arrow
43 const int DOOR_SECRET_1ST_DOWN = BIT(2); // 1st move is down from arrow
44 const int DOOR_SECRET_NO_SHOOT = BIT(3); // only opened by trigger
45 const int DOOR_SECRET_YES_SHOOT = BIT(4); // shootable even if targeted
46
47 // particles
48 const int PARTICLES_IMPULSE = BIT(1);
49 const int PARTICLES_VISCULLING = BIT(2);
50
51 // rotating
52 const int FUNC_ROTATING_XAXIS = BIT(2);
53 const int FUNC_ROTATING_YAXIS = BIT(3);
54 const int FUNC_ROTATING_STARTOFF = BIT(4);
55
56 // train
57 const int TRAIN_CURVE = BIT(0);
58 const int TRAIN_TURN = BIT(1);
59 const int TRAIN_NEEDACTIVATION = BIT(2);
60
61 // jumppads
62 const int PUSH_ONCE = BIT(0); // legacy, deactivate with relay instead
63 const int PUSH_SILENT = BIT(1); // not used?
64
65 // viewloc
66 const int VIEWLOC_NOSIDESCROLL = BIT(0); // NOTE: currently unimplemented
67 const int VIEWLOC_FREEAIM = BIT(1);
68 const int VIEWLOC_FREEMOVE = BIT(2);
69
70 // vectormamamam
71 const int PROJECT_ON_TARGETNORMAL = BIT(0);
72 const int PROJECT_ON_TARGET2NORMAL = BIT(1);
73 const int PROJECT_ON_TARGET3NORMAL = BIT(2);
74 const int PROJECT_ON_TARGET4NORMAL = BIT(3);
75
76 // follow
77 const int FOLLOW_ATTACH = BIT(0);
78 const int FOLLOW_LOCAL = BIT(1);
79
80 // laser
81 const int LASER_FINITE = BIT(1);
82 const int LASER_NOTRACE = BIT(2);
83 const int LASER_INVERT_TEAM = BIT(3);
84
85 // platforms
86 const int PLAT_LOW_TRIGGER = BIT(0);
87 const int PLAT_CRUSH = BIT(2);
88
89 // changelevel
90 const int CHANGELEVEL_MULTIPLAYER = BIT(1);
91
92 // speaker
93 const int SPEAKER_LOOPED_ON = BIT(0);
94 const int SPEAKER_LOOPED_OFF = BIT(1);
95 const int SPEAKER_GLOBAL = BIT(2); // legacy, set speaker atten to -1 instead
96 const int SPEAKER_ACTIVATOR = BIT(3);
97
98 // teleport
99 const int TELEPORT_FLAG_SOUND = BIT(0);
100 const int TELEPORT_FLAG_PARTICLES = BIT(1);
101 const int TELEPORT_FLAG_TDEATH = BIT(2);
102 const int TELEPORT_FLAG_FORCE_TDEATH = BIT(3);
103
104 // counter
105 const int COUNTER_FIRE_AT_COUNT = BIT(2);
106
107 // gravity
108 const int GRAVITY_STICKY = BIT(0); // keep gravity multiplier even after exiting the trigger_gravity
109 const int GRAVITY_START_DISABLED = BIT(1);
110
111 // heal
112 const int HEAL_SOUND_ALWAYS = BIT(2);
113
114 // impulse
115 const int IMPULSE_DIRECTIONAL_SPEEDTARGET = BIT(6);
116
117 // magicear
118 const int MAGICEAR_IGNORE_SAY = BIT(0);
119 const int MAGICEAR_IGNORE_TEAMSAY = BIT(1);
120 const int MAGICEAR_IGNORE_TELL = BIT(2);
121 const int MAGICEAR_IGNORE_INVALIDTELL = BIT(3);
122 const int MAGICEAR_REPLACE_WHOLE_MESSAGE = BIT(4);
123 const int MAGICEAR_REPLACE_OUTSIDE  = BIT(5);
124 const int MAGICEAR_CONTINUE = BIT(6);
125 const int MAGICEAR_NODECOLORIZE = BIT(7);
126 const int MAGICEAR_TUBA  = BIT(8);
127 const int MAGICEAR_TUBA_EXACTPITCH = BIT(9);
128
129 //----------
130 // SENDFLAGS
131 //----------
132 const int SF_TRIGGER_INIT = BIT(0);
133 const int SF_TRIGGER_UPDATE = BIT(1);
134 const int SF_TRIGGER_RESET = BIT(2);
135
136 // pointparticles
137 const int SF_POINTPARTICLES_IMPULSE = BIT(4);
138 const int SF_POINTPARTICLES_MOVING = BIT(5); // Send velocity and movedir
139 const int SF_POINTPARTICLES_JITTER_AND_COUNT = BIT(6); // Send waterlevel (=jitter) and count
140 const int SF_POINTPARTICLES_BOUNDS = BIT(7); // Send min and max of the brush
141
142 // laser
143 const int SF_LASER_UPDATE_ORIGIN = BIT(0);
144 const int SF_LASER_UPDATE_TARGET = BIT(1);
145 const int SF_LASER_UPDATE_ACTIVE = BIT(2);
146 const int SF_LASER_UPDATE_EFFECT = BIT(3);
147
148 const int SF_LASER_NOTRACE = BIT(4);
149 const int SF_LASER_SCALE = BIT(5);
150 const int SF_LASER_ALPHA = BIT(6);
151 const int SF_LASER_FINITE = BIT(7);