1 #include "sv_bloodloss.qh"
3 REGISTER_MUTATOR(bloodloss, cvar("g_bloodloss"));
5 .float bloodloss_timer;
7 MUTATOR_HOOKFUNCTION(bloodloss, PlayerPreThink)
9 entity player = M_ARGV(0, entity);
12 if(player.health <= autocvar_g_bloodloss && !IS_DEAD(player))
14 PHYS_INPUT_BUTTON_CROUCH(player) = true;
16 if(time >= player.bloodloss_timer)
19 vehicles_exit(player.vehicle, VHEF_RELEASE);
20 if(player.event_damage)
21 player.event_damage(player, player, player, 1, DEATH_ROT.m_id, player.origin, '0 0 0');
22 player.bloodloss_timer = time + 0.5 + random() * 0.5;
27 MUTATOR_HOOKFUNCTION(bloodloss, PlayerJump)
29 entity player = M_ARGV(0, entity);
31 if(player.health <= autocvar_g_bloodloss)
35 MUTATOR_HOOKFUNCTION(bloodloss, BuildMutatorsString)
37 M_ARGV(0, string) = strcat(M_ARGV(0, string), ":bloodloss");
40 MUTATOR_HOOKFUNCTION(bloodloss, BuildMutatorsPrettyString)
42 M_ARGV(0, string) = strcat(M_ARGV(0, string), ", Blood loss");