X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fweapons%2Fthrowing.qc;h=a649cf75b9858ee2d84ce74ce6e1b857e021a522;hb=61704462bb3c8ce7bfa7f815dcd62e6ff3189c82;hp=d14bcfd1cfdec2d48aacdef8a572f0af9b0b0dd8;hpb=8643336b62c2c2881987dabddc842a0214839012;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/weapons/throwing.qc b/qcsrc/server/weapons/throwing.qc index d14bcfd1c..a649cf75b 100644 --- a/qcsrc/server/weapons/throwing.qc +++ b/qcsrc/server/weapons/throwing.qc @@ -11,7 +11,7 @@ #include "../../common/weapons/all.qh" void thrown_wep_think() -{ +{SELFPARAM(); self.nextthink = time; if(self.oldorigin != self.origin) { @@ -30,13 +30,12 @@ void thrown_wep_think() // returns amount of ammo used as string, or -1 for failure, or 0 for no ammo count string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vector velo) -{ - entity oldself, wep; +{SELFPARAM(); float thisammo, i; string s; var .int ammotype = (get_weaponinfo(wpn)).ammo_field; - wep = spawn(); + entity wep = spawn(); setorigin(wep, org); wep.classname = "droppedweapon"; @@ -45,7 +44,7 @@ string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vecto wep.flags |= FL_TOSSED; wep.colormap = own.colormap; - W_DropEvent(WR_DROP,own,wpn,wep); + W_DropEvent(wr_drop,own,wpn,wep); if(WepSet_FromWeapon(wpn) & WEPSET_SUPERWEAPONS) { @@ -75,10 +74,7 @@ string W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vecto } } - oldself = self; - self = wep; - weapon_defaultspawnfunc(wpn); - self = oldself; + WITH(entity, self, wep, weapon_defaultspawnfunc(wpn)); if(startitem_failed) return string_null; wep.glowmod = own.weaponentity_glowmod; @@ -144,7 +140,7 @@ float W_IsWeaponThrowable(float w) return 0; if (g_cts) return 0; - if (g_nexball && w == WEP_MORTAR) + if (g_nexball && w == WEP_MORTAR.m_id) return 0; if(w == 0) return 0; @@ -166,7 +162,7 @@ float W_IsWeaponThrowable(float w) // toss current weapon void W_ThrowWeapon(vector velo, vector delta, float doreduce) -{ +{SELFPARAM(); float w; string a; @@ -194,7 +190,7 @@ void W_ThrowWeapon(vector velo, vector delta, float doreduce) } void SpawnThrownWeapon(vector org, float w) -{ +{SELFPARAM(); if(self.weapons & WepSet_FromWeapon(self.weapon)) if(W_IsWeaponThrowable(self.weapon)) W_ThrowNewWeapon(self, self.weapon, false, org, randomvec() * 125 + '0 0 200');