]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/server/weapons/common.qh
Purge autocvars.qh from the codebase, cvars are defined in the headers of the feature...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / weapons / common.qh
1 #pragma once
2
3 int autocvar_g_projectiles_damage;
4 bool autocvar_g_projectiles_keep_owner;
5 float autocvar_sv_strengthsound_antispam_refire_threshold;
6 float autocvar_sv_strengthsound_antispam_time;
7
8 bool W_DualWielding(entity player);
9 void W_GiveWeapon (entity e, float wep);
10 .float prevstrengthsound;
11 .float prevstrengthsoundattempt;
12 void W_PlayStrengthSound(entity player);
13 float W_CheckProjectileDamage(entity inflictor, entity projowner, int deathtype, float exception);
14 void W_PrepareExplosionByDamage(entity this, entity attacker, void(entity this) explode);
15
16 void adaptor_think2use_hittype_splash(entity this);
17
18 bool WarpZone_Projectile_Touch_ImpactFilter_Callback(entity this, entity toucher);
19
20 .float misc_bulletcounter;
21
22 .int projectiledeathtype;
23
24 .float fade_time;
25 .float fade_rate;
26
27 .entity realowner;
28
29 #define PROJECTILE_TOUCH(e,t) MACRO_BEGIN if (WarpZone_Projectile_Touch(e,t)) return; MACRO_END
30
31 #define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_CORPSE; (e).dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_CORPSE
32 // when doing this, hagar can go through clones
33 // #define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_BBOX
34
35 .int missile_flags;
36 const int MIF_SPLASH = BIT(1);
37 const int MIF_ARC = BIT(2);
38 const int MIF_PROXY = BIT(3);
39 const int MIF_GUIDED_MANUAL = BIT(4);
40 const int MIF_GUIDED_HEAT = BIT(5);
41 const int MIF_GUIDED_LASER = BIT(6);
42 const int MIF_GUIDED_AI = BIT(7);
43 const int MIF_GUIDED_TAG = BIT(7);
44 const int MIF_GUIDED_ALL = MIF_GUIDED_MANUAL | MIF_GUIDED_HEAT | MIF_GUIDED_LASER | MIF_GUIDED_AI | MIF_GUIDED_TAG;
45 const int MIF_GUIDED_TRACKING = MIF_GUIDED_HEAT | MIF_GUIDED_LASER | MIF_GUIDED_AI | MIF_GUIDED_TAG;
46 const int MIF_GUIDED_CONFUSABLE = MIF_GUIDED_HEAT | MIF_GUIDED_AI;
47
48 IntrusiveList g_projectiles;
49 STATIC_INIT(g_projectiles) { g_projectiles = IL_NEW(); }