]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/mutators/mutator_buffs.qc
fix a bunch of clone bugs to get desired behaviour back
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / mutator_buffs.qc
index cb2c9bb4480758f2cebb39f81e73f5166bc756a3..5aa534c33367726ce895f99f114193087ac207da 100644 (file)
@@ -107,7 +107,7 @@ void buff_Touch()
        }
 
        if((self.team && DIFF_TEAM(other, self))
-       || (other.freezetag_frozen)
+       || (other.frozen)
        || (other.vehicle)
        || (!IS_PLAYER(other))
        || (!self.buff_active)
@@ -200,7 +200,7 @@ void buff_Think()
     }
 
        if(!self.buff_active && !self.buff_activetime)
-       if(!self.owner || self.owner.freezetag_frozen || self.owner.deadflag != DEAD_NO || !self.owner.iscreature || !(self.owner.buffs & self.buffs))
+       if(!self.owner || self.owner.frozen || self.owner.deadflag != DEAD_NO || !self.owner.iscreature || !(self.owner.buffs & self.buffs))
        {
                buff_SetCooldown(autocvar_g_buffs_cooldown_respawn + frametime);
                self.owner = world;
@@ -419,7 +419,7 @@ MUTATOR_HOOKFUNCTION(buffs_PlayerDamage_Calculate)
        if(frag_target.deadflag == DEAD_NO)
        if(IS_PLAYER(frag_target) || (frag_target.flags & FL_MONSTER))
        if(frag_attacker != frag_target)
-       if(!frag_target.freezetag_frozen)
+       if(!frag_target.frozen)
        if(frag_target.takedamage)
        if(DIFF_TEAM(frag_attacker, frag_target))
                frag_attacker.health = bound(0, frag_attacker.health + bound(0, frag_damage * autocvar_g_buffs_vampire_damage_steal, frag_target.health), g_pickup_healthsmall_max);
@@ -457,6 +457,7 @@ MUTATOR_HOOKFUNCTION(buffs_PlayerJump)
 {
        if(self.buffs & BUFF_JUMP)
                player_jumpheight = autocvar_g_buffs_jump_height;
+       self.stat_jumpheight = player_jumpheight;
 
        return FALSE;
 }
@@ -569,7 +570,7 @@ MUTATOR_HOOKFUNCTION(buffs_PlayerThink)
                self.buff_disability_effect_time = time + 0.5;
        }
        
-       if(self.freezetag_frozen)
+       if(self.frozen)
        {
                if(self.buffs)
                {
@@ -577,11 +578,6 @@ MUTATOR_HOOKFUNCTION(buffs_PlayerThink)
                        self.buffs = 0;
                }
        }
-
-       if(!(self.oldbuffs & BUFF_JUMP) && !(self.buffs & BUFF_JUMP))
-               self.stat_jumpheight = autocvar_sv_jumpvelocity; // reset so we don't break anything
-       else if((self.buffs & BUFF_JUMP) && self.stat_jumpheight != autocvar_g_buffs_jump_height)
-               self.stat_jumpheight = autocvar_g_buffs_jump_height;
                
        if((self.buffs & BUFF_INVISIBLE) && (self.oldbuffs & BUFF_INVISIBLE))
        if(self.alpha != autocvar_g_buffs_invisible_alpha)
@@ -607,11 +603,6 @@ MUTATOR_HOOKFUNCTION(buffs_PlayerThink)
                        if(!self.ammo_fuel) { self.ammo_fuel = 20; }
                }
                
-               if(self.oldbuffs & BUFF_JUMP)
-                       self.stat_jumpheight = autocvar_sv_jumpvelocity;
-               else if(self.buffs & BUFF_JUMP)
-                       self.stat_jumpheight = autocvar_g_buffs_jump_height;
-               
                if(self.oldbuffs & BUFF_INVISIBLE)
                {
                        if(time < self.strength_finished && g_minstagib)