From: Mircea Kitsune Date: Tue, 12 Apr 2011 23:04:23 +0000 (+0300) Subject: Further secure dropping while loading, and also create a WR_DROP event for weapons... X-Git-Tag: xonotic-v0.5.0~263^2~10^2~15 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=ec794159873ed097ad8fe0f63b143039fa84f5e2;p=xonotic%2Fxonotic-data.pk3dir.git Further secure dropping while loading, and also create a WR_DROP event for weapons, which can be useful --- 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");