player.buffs = 0;
player.buff_time = 0;
+ player.buff_shield = time + 0.5; // prevent picking up buffs immediately
// reset timers here to prevent them continuing after re-spawn
player.buff_disability_time = 0;
player.buff_disability_effect_time = 0;
MUTATOR_HOOKFUNCTION(buffs, PlayerUseKey, CBC_ORDER_FIRST)
{
- if(MUTATOR_RETURNVALUE || game_stopped) return;
+ if(MUTATOR_RETURNVALUE || game_stopped || !autocvar_g_buffs_drop) return;
entity player = M_ARGV(0, entity);
{
entity player = M_ARGV(0, entity);
- if(game_stopped || IS_DEAD(player)) return;
+ if(game_stopped || IS_DEAD(player) || frametime || !IS_PLAYER(player)) return;
if(player.buffs & BUFF_FLIGHT.m_itemid)
{
}
else
{
- delete(player.buff_model);
+ if(player.buff_model)
+ delete(player.buff_model);
player.buff_model = NULL;
player.effects &= ~(EF_NOSHADOW);
entity client = M_ARGV(1, entity);
client.buffs = spectatee.buffs;
+ client.buff_time = spectatee.buff_time;
}
MUTATOR_HOOKFUNCTION(buffs, VehicleEnter)