#include <server/weapons/weaponsystem.qh>
#include <server/world.qh>
-void thrown_wep_think(entity this)
-{
- this.nextthink = time;
- if(this.oldorigin != this.origin)
- {
- this.SendFlags |= ISF_LOCATION;
- this.oldorigin = this.origin;
- }
- this.owner = NULL;
- float timeleft = this.savenextthink - time;
- if(timeleft > 1)
- SUB_SetFade(this, this.savenextthink - 1, 1);
- else if(timeleft > 0)
- SUB_SetFade(this, time, timeleft);
- else
- SUB_VanishOrRemove(this);
-}
-
// returns amount of ammo used, or -1 for failure, or 0 for no ammo count
float W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vector velo, .entity weaponentity)
{
Resource ammotype = info.ammo_type;
entity wep = spawn();
- Item_SetLoot(wep, true);
+ ITEM_SET_LOOT(wep, true);
setorigin(wep, org);
wep.velocity = velo;
wep.owner = wep.enemy = own;
wep.flags |= FL_TOSSED;
wep.colormap = own.colormap;
- wep.glowmod = weaponentity_glowmod(info, own, own.clientcolors, own.(weaponentity));
+ // wep.glowmod will be set in weapon_defaultspawnfunc
navigation_dynamicgoal_init(wep, false);
W_DropEvent(wr_drop,own,wpn,wep,weaponentity);
if(WepSet_FromWeapon(REGISTRY_GET(Weapons, wpn)) & WEPSET_SUPERWEAPONS)
{
- Item_SetExpiring(wep, true);
+ ITEM_SET_EXPIRING(wep, true);
if(own.items & IT_UNLIMITED_SUPERWEAPONS)
{
wep.superweapons_finished = time + autocvar_g_balance_superweapons_time;
weapon_defaultspawnfunc(wep, info);
if(startitem_failed)
return -1;
- setthink(wep, thrown_wep_think);
- wep.savenextthink = wep.nextthink;
- wep.nextthink = min(wep.nextthink, time + 0.5);
+
wep.pickup_anyway = true; // these are ALWAYS pickable
//wa = W_AmmoItemCode(wpn);