23 lines
1.1 KiB
Ucode
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'
|
|
}
|