106 lines
2.7 KiB
Ucode
106 lines
2.7 KiB
Ucode
|
//=============================================================================
|
||
|
// KFSM_Matriarch_WarningSiren
|
||
|
//=============================================================================
|
||
|
//
|
||
|
//=============================================================================
|
||
|
// Killing Floor 2
|
||
|
// Copyright (C) 2019 Tripwire Interactive LLC
|
||
|
//=============================================================================
|
||
|
|
||
|
class KFSM_Matriarch_WarningSiren extends KFSM_ScreamBase;
|
||
|
|
||
|
/** Max distance between the Matriarch and the current victim target */
|
||
|
var float MaxVictimDistance;
|
||
|
|
||
|
var name WindUpAnimName;
|
||
|
|
||
|
function SpecialMoveStarted(bool bForced, name PrevMove)
|
||
|
{
|
||
|
super.SpecialMoveStarted(bForced, PrevMove);
|
||
|
|
||
|
PlayWindUpAnimation();
|
||
|
|
||
|
KFPawn_ZedMatriarch(KFPOwner).PlayWarningSirenDialog();
|
||
|
}
|
||
|
|
||
|
/** Plays subsequent animations in the barrage */
|
||
|
function AnimEndNotify(AnimNodeSequence SeqNode, float PlayedTime, float ExcessTime)
|
||
|
{
|
||
|
switch (DeferredSeqName)
|
||
|
{
|
||
|
case WindUpAnimName:
|
||
|
PlayFireAnim();
|
||
|
break;
|
||
|
|
||
|
case AnimName:
|
||
|
KFPOwner.EndSpecialMove();
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/** Overridden to do nothing */
|
||
|
function PlayAnimation();
|
||
|
|
||
|
/** Plays our wind up anim, starts the barrel spin skel controller */
|
||
|
function PlayWindUpAnimation()
|
||
|
{
|
||
|
PlaySpecialMoveAnim(WindUpAnimName, EAS_FullBody, BlendInTime, BlendOutTime, 1.f);
|
||
|
KFPOwner.ZeroMovementVariables();
|
||
|
}
|
||
|
|
||
|
/** Plays our fire animation, starts weapon fire */
|
||
|
function PlayFireAnim()
|
||
|
{
|
||
|
PlaySpecialMoveAnim(AnimName, EAS_FullBody, 0.1f, 0.2f);
|
||
|
KFPOwner.ZeroMovementVariables();
|
||
|
|
||
|
ScreamBegan(); // @todo: for the siren, this is called in an anim notify
|
||
|
}
|
||
|
|
||
|
function SpecialMoveEnded(Name PrevMove, Name NextMove)
|
||
|
{
|
||
|
super.SpecialMoveEnded(PrevMove, NextMove);
|
||
|
}
|
||
|
|
||
|
defaultproperties
|
||
|
{
|
||
|
Handle=KFSM_Matriarch_WarningSiren
|
||
|
WindUpAnimName=Warning_Siren_In
|
||
|
AnimName=Warning_Siren
|
||
|
|
||
|
MaxVictimDistance=300.f
|
||
|
|
||
|
bCanBeInterrupted=false
|
||
|
bDisableSteering=true
|
||
|
bDisableMovement=true
|
||
|
|
||
|
bShouldDeferToPostTick=true
|
||
|
|
||
|
ScreamDamage=35
|
||
|
|
||
|
// explosion
|
||
|
Begin Object Name=ExploTemplate0
|
||
|
DamageRadius=1000 //800
|
||
|
DamageFalloffExponent=0.5f
|
||
|
DamageDelay=0.f
|
||
|
|
||
|
MomentumTransferScale=100//-100000 Reactivate this to add siren pull
|
||
|
|
||
|
ActorClassToIgnoreForDamage=class'KFPawn_Monster'
|
||
|
|
||
|
// Damage Effects
|
||
|
MyDamageType=class'KFDT_Sonic_MatriarchWarningSiren'
|
||
|
KnockDownStrength=0
|
||
|
FractureMeshRadius=200.0
|
||
|
FracturePartVel=500.0
|
||
|
ExplosionEffects=none
|
||
|
ExplosionSound=none
|
||
|
|
||
|
// Camera Shake
|
||
|
CamShake=CameraShake'FX_CameraShake_Arch.Misc_Explosions.SirenScream'
|
||
|
CamShakeInnerRadius=450
|
||
|
CamShakeOuterRadius=700 //900
|
||
|
CamShakeFalloff=1.f
|
||
|
bOrientCameraShakeTowardsEpicenter=true
|
||
|
End Object
|
||
|
}
|