Add a function to skip certain target fields when using an entity's targets so they...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mapobjects / triggers.qh
1 #pragma once
2 #include "defs.qh"
3
4 .bool pushable;
5
6 .float antiwall_flag; // Variable to define what to do with func_clientwall
7 // 0 == do nothing, 1 == deactivate, 2 == activate
8
9 .float height;
10
11 #define IFTARGETED if(this.targetname && this.targetname != "")
12
13 .float lip;
14
15 // used elsewhere (will fix)
16 #ifdef SVQC
17 void trigger_common_write(entity this, bool withtarget);
18
19 string trigger_magicear_processmessage_forallears(entity source, float teamsay, entity privatesay, string msgin);
20
21 void target_voicescript_next(entity pl);
22 void target_voicescript_clear(entity pl);
23
24 void SUB_DontUseTargets(entity this, entity actor, entity trigger);
25 void SUB_UseTargets(entity this, entity actor, entity trigger);
26
27 void SUB_UseTargets_PreventReuse(entity this, entity actor, entity trigger);
28
29 // allow excluding certain .target* fields without needing to nullify them
30 // use BIT(1) through BIT(4)
31 void SUB_UseTargets_SkipTargets(entity this, entity actor, entity trigger, int skiptargets);
32
33 void generic_setactive(entity this, int act);
34 // generic methods for netlinked entities
35 void generic_netlinked_reset(entity this);
36 void generic_netlinked_setactive(entity this, int act);
37 // WARNING: DON'T USE, ONLY TO KEEP COMPATIBILITY BECAUSE OF SWITCH FROM .state TO .alive!!!!
38 void generic_netlinked_legacy_use(entity this, entity actor, entity trigger);
39 #endif
40
41 .float sub_target_used;
42
43 .float volume, atten;
44
45 .vector dest;
46
47 #ifdef CSQC
48 void trigger_common_read(entity this, bool withtarget);
49 void trigger_remove_generic(entity this);
50
51 .float active;
52 .string target;
53 .string targetname;
54 #endif