return (get_weaponinfo(wpn)).weapon_func(wrequest);
}
-string W_Name(float weaponid)
-{
- return (get_weaponinfo(weaponid)).message;
-}
-
-float W_AmmoItemCode(float wpn)
-{
- return (get_weaponinfo(wpn)).items & IT_AMMO;
-}
-
.float savenextthink;
void thrown_wep_think()
{
wep.savenextthink = wep.nextthink;
wep.nextthink = min(wep.nextthink, time + 0.5);
wep.pickup_anyway = TRUE; // these are ALWAYS pickable
+
return s;
}
}
return 0;
if (g_nexball && w == WEP_GRENADE_LAUNCHER)
return 0;
-
+ if(w == 0)
+ return 0;
+
wa = W_AmmoItemCode(w);
if(WEPSET_CONTAINS_AW(start_weapons, w))
{
w = self.weapon;
if (w == 0)
return; // just in case
+ if(self.frozen)
+ return;
if(MUTATOR_CALLHOOK(ForbidThrowCurrentWeapon))
return;
if(!autocvar_g_weapon_throwable)
W_SwitchWeapon_Force(self, w_getbestweapon(self));
a = W_ThrowNewWeapon(self, w, doreduce, self.origin + delta, velo);
- if not(a)
- return;
- if(a == "")
- sprint(self, strcat("You dropped the ^2", W_Name(w), "\n"));
- else
- sprint(self, strcat("You dropped the ^2", W_Name(w), " with ", a, "\n"));
+
+ if not(a) return;
+ Send_Notification(NOTIF_ONE, self, MSG_MULTI, ITEM_WEAPON_DROP, a, w);
}
// Bringed back weapon frame
if(((arena_roundbased || g_ca || g_freezetag) && time < warmup) || ((time < game_starttime) && !autocvar_sv_ready_restart_after_countdown))
return;
- if(self.freezetag_frozen == 1)
+ if(self.freezetag_frozen == 1 || self.frozen == 1)
return;
if (!self.weaponentity || self.health < 1)