]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blob - qcsrc/server/mutators/mutator_vampire.qc
Attempt to remove more g_minstagib checks from the code
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / mutator_vampire.qc
1 MUTATOR_HOOKFUNCTION(vampire_PlayerDamage)
2 {
3         if(time < self.spawnshieldtime)
4                 return 0;
5         if(frag_attacker == frag_target)
6                 return 0;
7         if(g_minstagib)
8         {
9                 // minstagib: each hit means +1 ammo
10                 frag_attacker.ammo_cells += 2; // note: 1 cell was deducted for the shot
11         }
12         else
13         {
14                 // otherwise: each hit gets damage back
15                 frag_attacker.health = frag_attacker.health + bound(0, damage_take, self.health);
16         }
17         return 0;
18 }
19
20 MUTATOR_HOOKFUNCTION(vampire_BuildMutatorsString)
21 {
22         ret_string = strcat(ret_string, ":Vampire");
23         return 0;
24 }
25
26 MUTATOR_HOOKFUNCTION(vampire_BuildMutatorsPrettyString)
27 {
28         ret_string = strcat(ret_string, ", Vampire");
29         return 0;
30 }
31
32 MUTATOR_DEFINITION(mutator_vampire)
33 {
34         MUTATOR_HOOK(PlayerDamage_SplitHealthArmor, vampire_PlayerDamage, CBC_ORDER_ANY);
35         MUTATOR_HOOK(BuildMutatorsString, vampire_BuildMutatorsString, CBC_ORDER_ANY);
36         MUTATOR_HOOK(BuildMutatorsPrettyString, vampire_BuildMutatorsPrettyString, CBC_ORDER_ANY);
37
38         return 0;
39 }