//============================================================================= // AICommand_SummonZeds //============================================================================= // Class Description //============================================================================= // Killing Floor 2 // Copyright (C) 2015 Tripwire Interactive LLC // - Author 12/4/2013 //============================================================================= class AICommand_SummonZeds extends AICommand_SpecialMove within KFAIController; /** Waves of zeds to summon for this command*/ var KFAIWaveInfo SummonWave; /** The maximum number of zeds to spawn/have active at once for this boss */ var int MaxBossMinions; /** Simple constructor that pushes a new instance of the command for the AI */ static function bool Summon( KFAIController AI, KFAIWaveInfo NewSummonWave, int NewMaxBossMinions ) { local AICommand_SummonZeds Cmd; if( AI != none ) { Cmd = new(AI) default.class; Cmd.SummonWave = NewSummonWave; Cmd.MaxBossMinions = NewMaxBossMinions; if( Cmd != None ) { AI.PushCommand( Cmd ); return true; } } return false; } function Pushed() { Super.Pushed(); StopAllLatentMovement(); Pawn.ZeroMovementVariables(); DisableMeleeRangeEventProbing(); } function Popped() { EnableMeleeRangeEventProbing(); Super.Popped(); } state Command_SpecialMove { function bool ExecuteSpecialMove() { local KFAISpawnManager SpawnManager; SpawnManager = KFGameInfo(WorldInfo.Game).SpawnManager; if ( SpawnManager != none ) { class'AICommand_TauntEnemy'.static.Taunt( outer ); SpawnManager.SummonBossMinions( SummonWave.Squads, MaxBossMinions ); return true; } return false; } }