]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/server/mutators/mutator_bloodloss.qc
Mario scored against another gamemode specific check
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / mutator_bloodloss.qc
1
2 #include "mutator.qh"
3
4 REGISTER_MUTATOR(bloodloss, cvar("g_bloodloss"));
5
6 .float bloodloss_timer;
7
8 MUTATOR_HOOKFUNCTION(bloodloss, PlayerPreThink)
9 {SELFPARAM();
10         if(IS_PLAYER(self))
11         if(self.health <= autocvar_g_bloodloss && self.deadflag == DEAD_NO)
12         {
13                 self.BUTTON_CROUCH = true;
14
15                 if(time >= self.bloodloss_timer)
16                 {
17                         if(self.vehicle)
18                                 vehicles_exit(VHEF_RELEASE);
19                         if(self.event_damage)
20                                 self.event_damage(self, self, 1, DEATH_ROT.m_id, self.origin, '0 0 0');
21                         self.bloodloss_timer = time + 0.5 + random() * 0.5;
22                 }
23         }
24
25         return false;
26 }
27
28 MUTATOR_HOOKFUNCTION(bloodloss, PlayerJump)
29 {SELFPARAM();
30         if(self.health <= autocvar_g_bloodloss)
31                 return true;
32
33         return false;
34 }
35
36 MUTATOR_HOOKFUNCTION(bloodloss, BuildMutatorsString)
37 {
38         ret_string = strcat(ret_string, ":bloodloss");
39         return false;
40 }
41
42 MUTATOR_HOOKFUNCTION(bloodloss, BuildMutatorsPrettyString)
43 {
44         ret_string = strcat(ret_string, ", Blood loss");
45         return false;
46 }