X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fweapons%2Fthrowing.qc;h=2fb19609eaf71685cc33a15d7d9ca700fb870cc2;hp=1fea5fb39318350f86b4ffeb13c40c5652ed9b54;hb=ef74e1ba8e890befb4a4892a96d244a66c05fd48;hpb=6e12e42c14caa13f188ad12ce1fce1358428bee4 diff --git a/qcsrc/server/weapons/throwing.qc b/qcsrc/server/weapons/throwing.qc index 1fea5fb39..2fb19609e 100644 --- a/qcsrc/server/weapons/throwing.qc +++ b/qcsrc/server/weapons/throwing.qc @@ -5,14 +5,13 @@ #include "../mutators/mutators_include.qh" #include "../t_items.qh" #include "../g_damage.qh" -#include "../g_subs.qh" #include "../../common/mapinfo.qh" #include "../../common/notifications.qh" #include "../../common/util.qh" #include "../../common/weapons/all.qh" void thrown_wep_think() -{ +{SELFPARAM(); self.nextthink = time; if(self.oldorigin != self.origin) { @@ -31,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"; @@ -76,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; @@ -145,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; @@ -167,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; @@ -195,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');