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