Plutonium-IW5-Scripts/small_scripts/disable_damages.gsc
2022-04-11 13:42:17 +02:00

38 lines
909 B
Plaintext

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 );
}