]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/mutators/mutator_vampire.qc
Merge branch 'master' into terencehill/ca_ft_fixes
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / mutators / mutator_vampire.qc
index 54b5b9f57028fd44723dd96abd6b8e60513d2dfb..edfcba4398d2da3eff0d465ecb03ef341fe37f75 100644 (file)
@@ -1,18 +1,14 @@
 MUTATOR_HOOKFUNCTION(vampire_PlayerDamage)
 {
-       if(time < self.spawnshieldtime)
-               return 0;
-       if(g_minstagib)
+       if(time >= frag_target.spawnshieldtime)
+       if(frag_target != frag_attacker)
+       if(frag_target.deadflag == DEAD_NO)
        {
-               // minstagib: each hit means +1 ammo
-               frag_attacker.ammo_cells += 2; // note: 1 cell was deducted for the shot
+               frag_attacker.health += bound(0, damage_take, frag_target.health);
+               frag_attacker.health = bound(0, frag_attacker.health, autocvar_g_balance_health_limit);
        }
-       else
-       {
-               // otherwise: each hit gets damage back
-               frag_attacker.health += damage_take;
-       }
-       return 0;
+               
+       return FALSE;
 }
 
 MUTATOR_HOOKFUNCTION(vampire_BuildMutatorsString)
@@ -29,7 +25,7 @@ MUTATOR_HOOKFUNCTION(vampire_BuildMutatorsPrettyString)
 
 MUTATOR_DEFINITION(mutator_vampire)
 {
-       MUTATOR_HOOK(PlayerDamage, vampire_PlayerDamage, CBC_ORDER_ANY);
+       MUTATOR_HOOK(PlayerDamage_SplitHealthArmor, vampire_PlayerDamage, CBC_ORDER_ANY);
        MUTATOR_HOOK(BuildMutatorsString, vampire_BuildMutatorsString, CBC_ORDER_ANY);
        MUTATOR_HOOK(BuildMutatorsPrettyString, vampire_BuildMutatorsPrettyString, CBC_ORDER_ANY);