1
0
KF2-Dev-Scripts/KFGame/Classes/KFInterface_MonsterBoss.uc

51 lines
2.2 KiB
Ucode
Raw Normal View History

2020-12-13 15:01:13 +00:00
//=============================================================================
// KFInterface_MonsterBoss
//=============================================================================
// Pawn interface for any shared behavior between bosses, whether they are
// unique based on KFPawn_MonsterBoss, or an upgraded variant (ex: FP King).
//=============================================================================
// Killing Floor 2
// Copyright (C) 2017 Tripwire Interactive LLC
//=============================================================================
interface KFInterface_MonsterBoss;
//AI Controller notes:
// - Two calls to class'AICommand_BossTheatrics'.static.DoTheatrics in the AI controller for a boss
// - See KFAIController_ZedBoss or KFAIController_ZedFleshpoundKing
//Pawn Notes:
// - Generally do the following in the PossessedBy() call:
// - PlayBossMusic();
// - ServerDoSpecialMove(SM_BossTheatrics);
//Pawn overrides to disable functionality related to head popping. These are optional, but are implemented for all standard TWI bosses.
// - function CauseHeadTrauma(float BleedOutTime = 5.f);
// - simulated function bool PlayDismemberment(int InHitZoneIndex, class<KFDamageType> InDmgType, optional vector HitDirection)
// - simulated function PlayHeadAsplode()
// - simulated function ApplyHeadChunkGore(class<KFDamageType> DmgType, vector HitLocation, vector HitDirection)
//Quick access to a pawn reference
simulated function KFPawn_Monster GetMonsterPawn();
//Localization Accessors
simulated function string GetRandomBossCaption();
//Status Accessors
static simulated event bool IsABoss();
simulated function float GetHealthPercent();
//Intro functionality
simulated function SetAnimatedBossCamera(bool bEnable, optional vector CameraOffset);
simulated function bool UseAnimatedBossCamera();
simulated function name GetBossCameraSocket();
simulated function vector GetBossCameraOffset();
//Death functionality
function OnZedDied(Controller Killer);
simulated function String GetIconPath();
//Wave functionality
function KFAIWaveInfo GetWaveInfo(int BattlePhase, int Difficulty);
function byte GetNumMinionsToSpawn();