48 lines
1.4 KiB
Ucode
48 lines
1.4 KiB
Ucode
|
//=============================================================================
|
||
|
// KFSeqAct_DamageDestructibleActor
|
||
|
//=============================================================================
|
||
|
// Deals damage to a destructible actor
|
||
|
//=============================================================================
|
||
|
// Killing Floor 2
|
||
|
// Copyright (C) 2019 Tripwire Interactive LLC
|
||
|
//=============================================================================
|
||
|
class KFSeqAct_DamageDestructibleActor extends SequenceAction;
|
||
|
|
||
|
var() class<DamageType> Type<AllowAbstract>;
|
||
|
var() int Amount;
|
||
|
Var() bool bInstaKillDamage;
|
||
|
|
||
|
|
||
|
event Activated()
|
||
|
{
|
||
|
local int DamageAmount;
|
||
|
local KFDestructibleActor DestructibleInput;
|
||
|
local SeqVar_Object ObjectInput;
|
||
|
|
||
|
foreach LinkedVariables(class'SeqVar_Object', ObjectInput, "Destructible Actor")
|
||
|
{
|
||
|
DestructibleInput = KFDestructibleActor(ObjectInput.GetObjectValue());
|
||
|
if (DestructibleInput != none)
|
||
|
{
|
||
|
if (bInstaKillDamage)
|
||
|
{
|
||
|
DamageAmount = DestructibleInput.GetInstaKillDamage();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
DamageAmount = Amount;
|
||
|
}
|
||
|
|
||
|
DestructibleInput.TakeDamage(DamageAmount, none, vect(0, 0, 0), vect(0, 0, 0), Type);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
DefaultProperties
|
||
|
{
|
||
|
ObjCategory="Killing Floor"
|
||
|
ObjName="Damage Destructible Actor"
|
||
|
|
||
|
VariableLinks.Empty()
|
||
|
VariableLinks(0)=(ExpectedType=class'SeqVar_Object', LinkDesc="Destructible Actor")
|
||
|
}
|