NicePack/sources/Weapons/Playable/Explosives/PipeBombs/NicePipeBombProjectile.uc
2022-01-21 14:25:59 +04:00

23 lines
1.1 KiB
Ucode

class NicePipeBombProjectile extends ScrnPipeBombProjectile;
function TakeDamage(int Damage, Pawn instigatedBy, Vector Hitlocation, Vector Momentum, class<DamageType> damageType, optional int HitIndex){
local bool bIsFakePlayer;
if(KFMonster(instigatedBy) != none && KFMonster(instigatedBy).Health <= 0)
return;
if(damageType == class'NiceDamTypePipeBomb' || Damage < 5 || (Damage < 25 && damageType.IsA('SirenScreamDamage')))
return;
bIsFakePlayer = (KFPawn(instigatedBy) != none || FakePlayerPawn(instigatedBy) != none) && (instigatedBy.PlayerReplicationInfo == none || instigatedBy.PlayerReplicationInfo.bOnlySpectator);
bIsFakePlayer = bIsFakePlayer || (instigatedBy == none && !DamageType.default.bCausedByWorld);
// Don't let our own explosives blow this up!!!
if(bIsFakePlayer || (KFPawn(instigatedBy) != none && Instigator != none && Instigator != instigatedBy))
return;
if(damageType == class'SirenScreamDamage')
Disintegrate(HitLocation, vect(0,0,1));
else
Explode(HitLocation, vect(0,0,1));
}
defaultproperties
{
Damage=2000.000000
MyDamageType=class'NiceDamTypePipeBomb'
}