#include <common/mapobjects/target/music.qh>
#include <common/gamemodes/_mod.qh>
#include <server/items/items.qh>
-#include <server/main.qh>
void buffs_DelayedInit(entity this);
void buffs_BuffModel_Spawn(entity player)
{
- player.buff_model = spawn();
+ player.buff_model = new(buff_model);
setmodel(player.buff_model, MDL_BUFF);
setsize(player.buff_model, '0 0 -40', '0 0 40');
setattachment(player.buff_model, player, "");
setcefc(player.buff_model, buffs_BuffModel_Customize);
}
+void buffs_BuffModel_Remove(entity player)
+{
+ if(player.buff_model)
+ delete(player.buff_model);
+ player.buff_model = NULL;
+}
+
vector buff_GlowColor(entity buff)
{
//if(buff.team_forced) { return Team_ColorRGB(buff.team_forced); }
if(frag_attacker != frag_target)
if(!ITEM_DAMAGE_NEEDKILL(frag_deathtype))
{
- entity dmgent = spawn();
+ entity dmgent = new(dmgent);
dmgent.dmg = frag_damage * autocvar_g_buffs_vengeance_damage_multiplier;
dmgent.enemy = frag_attacker;
{
entity player = M_ARGV(0, entity);
+ buffs_BuffModel_Remove(player);
player.oldbuffs = 0;
// reset timers here to prevent them continuing after re-spawn
player.buff_disability_time = 0;
STAT(BUFFS, frag_target) = 0;
STAT(BUFF_TIME, frag_target) = 0;
- if(frag_target.buff_model)
- {
- delete(frag_target.buff_model);
- frag_target.buff_model = NULL;
- }
+ buffs_BuffModel_Remove(frag_target);
}
}
bool buffs_RemovePlayer(entity player)
{
- if(player.buff_model)
- {
- delete(player.buff_model);
- player.buff_model = NULL;
- }
+ buffs_BuffModel_Remove(player);
// also reset timers here to prevent them continuing after spectating
player.buff_disability_time = 0;
}
else
{
- if(player.buff_model)
- delete(player.buff_model);
- player.buff_model = NULL;
+ buffs_BuffModel_Remove(player);
player.effects &= ~(EF_NOSHADOW);
}