#include <common/mutators/mutator/powerups/_mod.qh>
#include <common/mutators/mutator/status_effects/_mod.qh>
#include <common/notifications/all.qh>
+#include <common/resources/resources.qh>
#include <common/util.qh>
#include <common/weapons/_all.qh>
#include <common/wepent.qh>
}
}
-bool Item_GiveAmmoTo(entity item, entity player, int res_type, float ammomax)
+bool Item_GiveAmmoTo(entity item, entity player, Resource res_type, float ammomax)
{
float amount = GetResource(item, res_type);
if (amount == 0)
// if the player is using their best weapon before items are given, they
// probably want to switch to an even better weapon after items are given
- if(CS_CVAR(player).autoswitch)
+ if(CS_CVAR(player).cvar_cl_autoswitch)
{
for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
{
{
if (ITEM_TOUCH_NEEDKILL())
{
- delete(this);
+ RemoveItem(this);
return;
}
}
void RemoveItem(entity this)
{
if(wasfreed(this) || !this) { return; }
+ if(this.waypointsprite_attached)
+ WaypointSprite_Kill(this.waypointsprite_attached);
Send_Effect(EFFECT_ITEM_PICKUP, CENTER_OR_VIEWOFS(this), '0 0 0', 1);
delete(this);
}
if (Item_IsLoot(this))
{
- this.reset = SUB_Remove;
+ this.reset = RemoveItem;
set_movetype(this, MOVETYPE_TOSS);
// Savage: remove thrown items after a certain period of time ("garbage collection")
// support skinned models for powerups
this.skin = def.m_skin;
- this.glowmod = def.m_color;
setsize (this, this.pos1 = def.m_mins, this.pos2 = def.m_maxs);
if(Item_IsLoot(this))
this.gravity = 1;
+ else
+ this.glowmod = def.m_color;
if(def.instanceOfWeaponPickup)
{
if(v1 <= v0 - t)
{
if(snd_decr != NULL)
- sound (e, CH_TRIGGER, snd_decr, VOL_BASE, ATTEN_NORM);
+ sound(e, CH_TRIGGER, snd_decr, VOL_BASE, ATTEN_NORM);
}
else if(v0 >= v0 + t)
{
if(snd_incr != NULL)
- sound (e, CH_TRIGGER, snd_incr, VOL_BASE, ATTEN_NORM);
+ sound(e, ((snd_incr == SND_POWERUP) ? CH_TRIGGER_SINGLE : CH_TRIGGER), snd_incr, VOL_BASE, ATTEN_NORM);
}
}
else if(v0 > v1)
e.(regenfield) = max(e.(regenfield), time + regentime);
}
-bool GiveResourceValue(entity e, int res_type, int op, int val)
+bool GiveResourceValue(entity e, Resource res_type, int op, int val)
{
int v0 = GetResource(e, res_type);
float new_val = 0;
int _switchweapon = 0;
- if(CS_CVAR(e).autoswitch)
+ if(CS_CVAR(e).cvar_cl_autoswitch)
{
for(int slot = 0; slot < MAX_WEAPONSLOTS; ++slot)
{