#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/weapons.qh"
+#include "../../common/weapons/all.qh"
void thrown_wep_think()
-{
+{SELFPARAM();
self.nextthink = time;
if(self.oldorigin != self.origin)
{
// 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";
}
}
- 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;
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;
// toss current weapon
void W_ThrowWeapon(vector velo, vector delta, float doreduce)
-{
+{SELFPARAM();
float w;
string a;
}
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');