#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/weapons/_all.qh>
#include <common/state.qh>
#include <common/mutators/mutator/waypoints/waypointsprites.qh>
void Weapon_whereis(Weapon this, entity cl)
{
if (!autocvar_g_showweaponspawns) return;
- FOREACH_ENTITY_FLOAT(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;
- if (!(it.flags & FL_ITEM))
- continue;
entity wp = WaypointSprite_Spawn(
WP_Weapon,
- 1, 0,
+ -2, 0,
NULL, it.origin + ('0 0 1' * it.maxs.z) * 1.2,
cl, 0,
NULL, enemy,
if (weaponsInMap & WepSet_FromWeapon(wpn))
{
Send_WeaponComplain(this, wpn.m_id, 1);
- Weapon_whereis(wpn, this);
+ if(autocvar_g_showweaponspawns < 3)
+ Weapon_whereis(wpn, this);
+ else
+ {
+ FOREACH(Weapons, it.impulse == wpn.impulse,
+ {
+ Weapon_whereis(it, this);
+ });
+ }
}
else
{
}
else if(!forbidWeaponUse(this)) {
entity actor = this;
- .entity weaponentity = weaponentities[0]; // TODO: unhardcode
- w.wr_reload(w, actor, weaponentity);
+ for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
+ {
+ .entity weaponentity = weaponentities[slot];
+ w.wr_reload(w, actor, weaponentity);
+ }
}
}