#include "weaponsystem.qh"
#include <common/t_items.qh>
#include <common/constants.qh>
+#include <common/net_linked.qh>
#include <common/util.qh>
#include <common/items/item.qh>
#include <common/weapons/_all.qh>
#include <common/state.qh>
#include <common/mutators/mutator/waypoints/waypointsprites.qh>
+#include <common/wepent.qh>
// switch between weapons
void Send_WeaponComplain(entity e, float wpn, float type)
void Weapon_whereis(Weapon this, entity cl)
{
if (!autocvar_g_showweaponspawns) return;
- IL_EACH(g_items, it.weapon == this.m_id,
+ IL_EACH(g_items, it.weapon == this.m_id && (!it.team || (it.ItemStatus & ITS_AVAILABLE)),
{
if (it.classname == "droppedweapon" && autocvar_g_showweaponspawns < 2)
continue;
{
float f = 0;
- if (time < this.hasweapon_complain_spam)
+ if (time < CS(this).hasweapon_complain_spam)
complain = 0;
// ignore hook button when using other offhand equipment
complain = 0;
if (complain)
- this.hasweapon_complain_spam = time + 0.2;
+ CS(this).hasweapon_complain_spam = time + 0.2;
if (wpn == WEP_Null)
{
sprint(this, "Invalid weapon\n");
return false;
}
+ if (autocvar_g_weaponswitch_debug == 2 && weaponslot(weaponentity) > 0 && !(wpn.spawnflags & WEP_FLAG_DUALWIELD) && !(PS(this).dual_weapons & wpn.m_wepset))
+ return false; // no complaints needed
if (this.weapons & WepSet_FromWeapon(wpn))
{
if (andammo)