From ec794159873ed097ad8fe0f63b143039fa84f5e2 Mon Sep 17 00:00:00 2001 From: Mircea Kitsune Date: Wed, 13 Apr 2011 02:04:23 +0300 Subject: [PATCH] Further secure dropping while loading, and also create a WR_DROP event for weapons, which can be useful --- qcsrc/common/constants.qh | 1 + qcsrc/server/cl_weapons.qc | 2 ++ qcsrc/server/w_hagar.qc | 8 ++++++++ 3 files changed, 11 insertions(+) diff --git a/qcsrc/common/constants.qh b/qcsrc/common/constants.qh index 7b0ef3834..6ace0dd1f 100644 --- a/qcsrc/common/constants.qh +++ b/qcsrc/common/constants.qh @@ -629,6 +629,7 @@ float WR_RESETPLAYER = 10; // (SVQC) does not need to do anything float WR_IMPACTEFFECT = 11; // (CSQC) impact effect float WR_SWITCHABLE = 12; // (CSQC) impact effect float WR_PLAYERDEATH = 13; // (SVQC) does not need to do anything +float WR_DROP = 14; // (SVQC) does not need to do anything float HUD_PANEL_WEAPONS = 0; diff --git a/qcsrc/server/cl_weapons.qc b/qcsrc/server/cl_weapons.qc index e605a0637..04f6185bf 100644 --- a/qcsrc/server/cl_weapons.qc +++ b/qcsrc/server/cl_weapons.qc @@ -179,6 +179,8 @@ string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vecto string s; var .float ammofield; + weapon_action(own.weapon, WR_DROP); + wep = spawn(); setorigin(wep, org); diff --git a/qcsrc/server/w_hagar.qc b/qcsrc/server/w_hagar.qc index 3ab783636..fda056e06 100644 --- a/qcsrc/server/w_hagar.qc +++ b/qcsrc/server/w_hagar.qc @@ -330,6 +330,14 @@ float w_hagar(float req) if(self.hagar_load && autocvar_g_balance_hagar_secondary_load_releasedeath) W_Hagar_Attack2_Load_Release(); } + else if (req == WR_DROP) + { + if(self.hagar_load) + { + W_DecreaseAmmo(ammo_rockets, autocvar_g_balance_hagar_secondary_ammo * self.hagar_load * -1, autocvar_g_balance_hagar_reload_ammo); // give back ammo if necessary + self.hagar_load = 0; + } + } else if (req == WR_RELOAD) { W_Reload(min(autocvar_g_balance_hagar_primary_ammo, autocvar_g_balance_hagar_secondary_ammo), autocvar_g_balance_hagar_reload_ammo, autocvar_g_balance_hagar_reload_time, "weapons/reload.wav"); -- 2.39.2