51 lines
2.2 KiB
Ucode
51 lines
2.2 KiB
Ucode
//=============================================================================
|
|
// 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(); |