X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Fmutators%2Fmutator%2Fbuffs%2Fsv_buffs.qc;fp=qcsrc%2Fcommon%2Fmutators%2Fmutator%2Fbuffs%2Fsv_buffs.qc;h=3b272e69c87210a4c395c4c1242278b7466679a5;hb=31e9d0cce4dfa9c9842fe4dcdc1be9a18bb04628;hp=be310669d1c5fed1923c0ec9ba86f3c8bca649fd;hpb=ad22f3a1bc3b8fd93f5eabb0ab7139908d98b650;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/mutators/mutator/buffs/sv_buffs.qc b/qcsrc/common/mutators/mutator/buffs/sv_buffs.qc index be310669d..3b272e69c 100644 --- a/qcsrc/common/mutators/mutator/buffs/sv_buffs.qc +++ b/qcsrc/common/mutators/mutator/buffs/sv_buffs.qc @@ -57,6 +57,13 @@ void buffs_BuffModel_Spawn(entity 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) { return Team_ColorRGB(buff.team); } @@ -581,6 +588,7 @@ MUTATOR_HOOKFUNCTION(buffs, PlayerSpawn) { 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; @@ -631,11 +639,7 @@ MUTATOR_HOOKFUNCTION(buffs, PlayerDies) 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); } } @@ -741,11 +745,7 @@ MUTATOR_HOOKFUNCTION(buffs, ForbidThrowCurrentWeapon) 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; @@ -998,9 +998,7 @@ MUTATOR_HOOKFUNCTION(buffs, PlayerPreThink) } else { - if(player.buff_model) - delete(player.buff_model); - player.buff_model = NULL; + buffs_BuffModel_Remove(player); player.effects &= ~(EF_NOSHADOW); }