]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - 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
index 840e6e54d61433334aaa9ebc2a2d3a960c9bc926..1bf9261f79458f0d57f4d766f16ccf61bede7856 100644 (file)
@@ -1,5 +1,10 @@
 #pragma once
 
+int autocvar_g_projectiles_damage;
+bool autocvar_g_projectiles_keep_owner;
+float autocvar_sv_strengthsound_antispam_refire_threshold;
+float autocvar_sv_strengthsound_antispam_time;
+
 bool W_DualWielding(entity player);
 void W_GiveWeapon (entity e, float wep);
 .float prevstrengthsound;
@@ -8,6 +13,10 @@ void W_PlayStrengthSound(entity player);
 float W_CheckProjectileDamage(entity inflictor, entity projowner, int deathtype, float exception);
 void W_PrepareExplosionByDamage(entity this, entity attacker, void(entity this) explode);
 
+void adaptor_think2use_hittype_splash(entity this);
+
+bool WarpZone_Projectile_Touch_ImpactFilter_Callback(entity this, entity toucher);
+
 .float misc_bulletcounter;
 
 .int projectiledeathtype;
@@ -17,6 +26,8 @@ void W_PrepareExplosionByDamage(entity this, entity attacker, void(entity this)
 
 .entity realowner;
 
+#define PROJECTILE_TOUCH(e,t) MACRO_BEGIN if (WarpZone_Projectile_Touch(e,t)) return; MACRO_END
+
 #define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_CORPSE; (e).dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_CORPSE
 // when doing this, hagar can go through clones
 // #define PROJECTILE_MAKETRIGGER(e) (e).solid = SOLID_BBOX
@@ -33,3 +44,6 @@ const int MIF_GUIDED_TAG = BIT(7);
 const int MIF_GUIDED_ALL = MIF_GUIDED_MANUAL | MIF_GUIDED_HEAT | MIF_GUIDED_LASER | MIF_GUIDED_AI | MIF_GUIDED_TAG;
 const int MIF_GUIDED_TRACKING = MIF_GUIDED_HEAT | MIF_GUIDED_LASER | MIF_GUIDED_AI | MIF_GUIDED_TAG;
 const int MIF_GUIDED_CONFUSABLE = MIF_GUIDED_HEAT | MIF_GUIDED_AI;
+
+IntrusiveList g_projectiles;
+STATIC_INIT(g_projectiles) { g_projectiles = IL_NEW(); }