1
0
KF2-Dev-Scripts/KFGameContent/Classes/KFProj_BloatKingPukeMine.uc

65 lines
2.2 KiB
Ucode
Raw Normal View History

2020-12-13 15:01:13 +00:00
//=============================================================================
// KFProj_BloatKingPukeMine
//=============================================================================
// Projectile class for bloat king puke mine
//=============================================================================
// Killing Floor 2
// Copyright (C) 2017 Tripwire Interactive LLC
//=============================================================================
class KFProj_BloatKingPukeMine extends KFProj_BloatPukeMine;
/** Validates a touch */
simulated function bool ValidTouch(Pawn Other)
{
// only detonated when touched by enemies
if (Other.GetTeamNum() == TeamNum || !Other.IsAliveAndWell())
{
return false;
}
// only detonate after landing
if (Physics != PHYS_None)
{
return false;
}
// Make sure not touching through wall
return FastTrace(Other.Location, Location, , true);
}
/** Capture damage so that human players can destroy the mine */
singular event TakeDamage(int inDamage, Controller InstigatedBy, vector HitLocation, vector Momentum, class<DamageType> DamageType, optional TraceHitInfo HitInfo, optional Actor DamageCauser)
{
// Don't blow up when fading out and don't let mines blow each other up, no matter what team
if (bFadingOut || DamageCauser.class == class || DamageType == ExplosionTemplate.MyDamageType || Physics != PHYS_None)
{
return;
}
// only if damaged by enemy or himself
if (Health > 0 && inDamage > 0 && InstigatedBy != none && (InstigatedBy.GetTeamNum() != TeamNum || InstigatedBy == InstigatorController))
{
Health -= inDamage;
if (Health <= 0)
{
TriggerExplosion(Location, vect(0, 0, 1), none);
}
}
}
defaultproperties
{
ProjFlightTemplate=ParticleSystem'ZED_BloatKing_EMIT.FX_BloatKing_projectile_01'
GroundFXTemplate=ParticleSystem'ZED_BloatKing_EMIT.FX_Bloatking_Mine_01'
Begin Object Name=ExploTemplate0
ExplosionEffects=KFImpactEffectInfo'ZED_BloatKing_ARCH.Bloatking_Mine_Explosion'
Damage=18 //45 //30 //15
DamageRadius=200 //450
DamageFalloffExponent=0.f
DamageDelay=0.f
MyDamageType=class'KFDT_Toxic_BloatKingPukeMine'
bIgnoreInstigator=false
End Object
}