Plutonium-IW5-Scripts/small_scripts/disable_self_explosive_damage.gsc
Resxt dbb53a7008 Added disable_explosive_damage
Moved disable_explosive_damage to small scripts (deleted disable_explosive_damage folder)

Updated small_scripts README to respect files ordering

Refactor

Fix for useless warnings in console
2022-03-16 18:59:26 +01:00

29 lines
771 B
Plaintext

Init()
{
level.callbackplayerdamagestub = level.callbackplayerdamage;
level.callbackplayerdamage = ::DisableSelfExplosiveDamage;
}
DisableSelfExplosiveDamage( 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)
{
switch (sMeansOfDeath)
{
case "MOD_PROJECTILE_SPLASH": iDamage = 0;
break;
case "MOD_GRENADE_SPLASH": iDamage = 0;
break;
case "MOD_EXPLOSIVE": iDamage = 0;
break;
}
}
}
}
self [[level.callbackplayerdamagestub]]( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, timeOffset );
}