]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/mutators/mutator/bloodloss/bloodloss.qc
Cleanse the physics hooks
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / mutators / mutator / bloodloss / bloodloss.qc
index ca3716669087de024f22082ceb68e6a382e55448..4cbdfcfb7bd04e6864dce472c3cf0b56bd9aac8b 100644 (file)
@@ -6,16 +6,16 @@ REGISTER_MUTATOR(bloodloss, cvar("g_bloodloss"));
 MUTATOR_HOOKFUNCTION(bloodloss, PlayerPreThink)
 {SELFPARAM();
        if(IS_PLAYER(self))
-       if(self.health <= autocvar_g_bloodloss && self.deadflag == DEAD_NO)
+       if(self.health <= autocvar_g_bloodloss && !IS_DEAD(self))
        {
-               self.BUTTON_CROUCH = true;
+               PHYS_INPUT_BUTTON_CROUCH(self) = true;
 
                if(time >= self.bloodloss_timer)
                {
                        if(self.vehicle)
                                vehicles_exit(VHEF_RELEASE);
                        if(self.event_damage)
-                               self.event_damage(self, self, 1, DEATH_ROT.m_id, self.origin, '0 0 0');
+                               self.event_damage(self, self, self, 1, DEATH_ROT.m_id, self.origin, '0 0 0');
                        self.bloodloss_timer = time + 0.5 + random() * 0.5;
                }
        }
@@ -24,8 +24,10 @@ MUTATOR_HOOKFUNCTION(bloodloss, PlayerPreThink)
 }
 
 MUTATOR_HOOKFUNCTION(bloodloss, PlayerJump)
-{SELFPARAM();
-       if(self.health <= autocvar_g_bloodloss)
+{
+       entity player = M_ARGV(0, entity);
+
+       if(player.health <= autocvar_g_bloodloss)
                return true;
 
        return false;
@@ -33,13 +35,11 @@ MUTATOR_HOOKFUNCTION(bloodloss, PlayerJump)
 
 MUTATOR_HOOKFUNCTION(bloodloss, BuildMutatorsString)
 {
-       ret_string = strcat(ret_string, ":bloodloss");
-       return false;
+       M_ARGV(0, string) = strcat(M_ARGV(0, string), ":bloodloss");
 }
 
 MUTATOR_HOOKFUNCTION(bloodloss, BuildMutatorsPrettyString)
 {
-       ret_string = strcat(ret_string, ", Blood loss");
-       return false;
+       M_ARGV(0, string) = strcat(M_ARGV(0, string), ", Blood loss");
 }
 #endif