/* -------------------------------------------------------------- KFLevelRules_Story -------------------------------------------------------------- Extended LevelRules info for use in 'Story' style missions . Can modify player starting equipment, health, cash , etc. Also stores a list of Objectives the player must complete to be victorious. Author : Alex Quick -------------------------------------------------------------- */ class KFLevelRules_Story extends KFLevelRules hidecategories(Sound,Events) dependson(KFStoryGameInfo) ; #exec OBJ LOAD FILE=KFStoryGame_Tex.utx /* should the first objective in the StoryObjectives array activate as soon as the match begins ? */ var(Rules_Objectives) bool bAutoStartObjectives; /* Amount of dosh to start players out with in story mode */ var(Rules_Cash) int StartingCashSum; /* A modifier for the amount of cash players receive from killing zombies. ie. at 0.f they will not receive anything */ var(Rules_Cash) float CashReward_ZEDKills_Modifier; /* A modifier for the amount of cash players lose when they die */ var(Rules_Cash) float CashPenalty_Death_Modifier; /* absolute maximum number of zombies we can have in this story map at one time */ var(Rules_Monsters) int MaxEnemiesAtOnce; /* should the game kill off ZEDs which haven't been seen by players for a while? */ var(Rules_Monsters) bool bAutoKillStragglers; /* Auto Kill threshold if bAutoKilLStragglers is true */ var(Rules_Monsters) int MaxStragglers; /* Struct for controlling attributes which affect enemy spawning base on game difficulty and player count */ struct SMonsterSpawnScaling { var () KFStoryGameInfo.SDifficultyWrapper EnemySpawnRate; var () KFStoryGameInfo.SDifficultyWrapper NumberOfEnemies; }; var(Rules_Monsters) SMonsterSpawnScaling Spawn_Difficulty_Scaling; /* should bots be allowed to spawn ? */ var(Rules_Bots) bool bAllowBots; /* Textures to display on the HUD when the match is over */ var(Rules_HUD) Material VictoryMaterial,DefeatMaterial; /* If a team is restarted after dying during a story mission these are the actor types we need to reset*/ var(Rules_CheckPoints) array CheckpointResetClasses ; /* If true the weapon / item pickups in the map will be randomly spawned based on difficulty - like in a normal KF match */ var(Rules_Equipment) bool bRandomizeWeaponPickups; // Amount of starting HP for all players var(Rules_Equipment) int PlayerStartHealth; // Amount of starting armor for all players. var(Rules_Equipment) int PlayerStartArmor; // Defines starting equipment for players var(Rules_Equipment) array< Class > RequiredPlayerEquipment; /* if true, allow high level players to spawn with their 'default' gear */ var(Rules_Equipment) bool bAllowPerkStartingWeaps; // Enable / Disable Cash display on HUD . var(Rules_HUD) bool bShowCash; var(Rules_HUD) name HUDStyle; function ModifyPlayer( Pawn Other ) { if( PlayerStartHealth>0 ) Other.Health = PlayerStartHealth; if( PlayerStartArmor>0 ) Other.ShieldStrength = PlayerStartArmor; } function AddGameInv( Pawn Other ) { local int i; local Inventory Inv; For( i=0; i