Create disable_damages

This commit is contained in:
Resxt
2022-04-11 13:42:17 +02:00
parent e44219ea35
commit 1ee779097a
2 changed files with 18 additions and 8 deletions

View File

@ -0,0 +1,38 @@
Init()
{
level.callbackplayerdamagestub = level.callbackplayerdamage;
level.callbackplayerdamage = ::DisableDamages;
}
DisableDamages( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset )
{
if (isDefined(eAttacker))
{
if (isDefined(eAttacker.guid) && isDefined(self.guid))
{
if (eAttacker.guid == self.guid)
{
// Disable explosive damage on self
switch (sMeansOfDeath)
{
case "MOD_PROJECTILE_SPLASH": iDamage = 0;
break;
case "MOD_GRENADE_SPLASH": iDamage = 0;
break;
case "MOD_EXPLOSIVE": iDamage = 0;
break;
}
}
else
{
// Disable melee knifing damage
if (sMeansOfDeath == "MOD_MELEE")
{
iDamage = 0;
}
}
}
}
self [[level.callbackplayerdamagestub]]( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset );
}