1
0
KF2-Dev-Scripts/KFGameContent/Classes/KFDifficulty_Bloat.uc
2020-12-13 18:01:13 +03:00

93 lines
3.8 KiB
Ucode

//=============================================================================
// KFDifficulty_Bloat
//=============================================================================
// Per Zed, per difficulty balance settings
//=============================================================================
// Killing Floor 2
// Copyright (C) 2016 Tripwire Interactive LLC
//=============================================================================
class KFDifficulty_Bloat extends KFMonsterDifficultyInfo
abstract;
/** Number of puke mines to spawn when a bloat dies on a per-difficulty basis */
var array<byte> PukeMinesToSpawnOnDeathByDifficulty;
/** How many puke mines to spawn when an AI bloat dies in versus */
var byte PukeMinesToSpawnOnDeath_Versus;
/** How many puke mines to spawn when a player-controlled bloat dies in versus */
var byte PukeMinesToSpawnOnDeath_Player_Versus;
/** Gets the number of puke mines that the bloat should spawn when dying */
static function byte GetPukeMinesToSpawnOnDeath( KFPawn_ZedBloat BloatPawn, GameInfo GI)
{
if( BloatPawn.bVersusZed )
{
return default.PukeMinesToSpawnOnDeath_Player_Versus;
}
if( KFGameInfo_VersusSurvival(GI) != none )
{
return default.PukeMinesToSpawnOnDeath_Versus;
}
return default.PukeMinesToSpawnOnDeathByDifficulty[GI.GetModifiedGameDifficulty()];
}
defaultproperties
{
// Normal Difficulty
Normal={(HealthMod=0.750000,
HeadHealthMod=0.750000,
DamageMod=0.4, //0.6
SoloDamageMod=0.300000, //0.5
BlockSettings={(Chance=0.0, Duration=1.25, MaxBlocks=3, Cooldown=3.5, DamagedHealthPctToTrigger=0.1,
MeleeDamageModifier=0.3, DamageModifier=0.3, AfflictionModifier=0.2, SoloChanceMultiplier=0.1)},
RallySettings={(bCanRally=false)}
)}
// Hard difficulty
Hard={(DamageMod=0.750000,
SoloDamageMod=0.750000,
BlockSettings={(Chance=0.1, Duration=1.25, MaxBlocks=4, Cooldown=3.5, DamagedHealthPctToTrigger=0.1,
MeleeDamageModifier=0.9, DamageModifier=0.9, AfflictionModifier=0.2, SoloChanceMultiplier=0.1)},
RallySettings={(bCanRally=false)}
)}
// Suicidal difficulty
Suicidal={(HealthMod=1.200000,
HeadHealthMod=1.050000,
SprintChance=0.100000,
DamagedSprintChance=0.100000,
SoloDamageMod=0.750000,
BlockSettings={(Chance=0.65, Duration=1.25, MaxBlocks=5, Cooldown=3.5, DamagedHealthPctToTrigger=0.1,
MeleeDamageModifier=0.9, DamageModifier=0.9, AfflictionModifier=0.2, SoloChanceMultiplier=0.1)},
RallySettings={(bCauseSprint=true, DealtDamageModifier=1.5, TakenDamageModifier=0.5)} //{(bCauseSprint=true, DealtDamageModifier=1.2, TakenDamageModifier=0.9)}
)}
// Hell On Earth difficulty
HellOnEarth={(HealthMod=1.300000,
HeadHealthMod=1.100000,
SprintChance=0.300000,
DamagedSprintChance=0.500000,
DamageMod=1.500000,
SoloDamageMod=0.75,
BlockSettings={(Chance=0.85, Duration=1.25, MaxBlocks=6, Cooldown=3.5, DamagedHealthPctToTrigger=0.1,
MeleeDamageModifier=0.9, DamageModifier=0.9, AfflictionModifier=0.2, SoloChanceMultiplier=0.2)},
RallySettings={(bCauseSprint=true, DealtDamageModifier=1.5, TakenDamageModifier=0.5)}
)}
// Versus Block settings
BlockSettings_Versus={()}
BlockSettings_Player_Versus=(DamageModifier=0.3, MeleeDamageModifier=0.3)
// Versus Rally settings
RallySettings_Versus={(bCauseSprint=true)}
RallySettings_Player_Versus={(DealtDamageModifier=1.2)}
// Death Puke Mine numbers -- maximum of 3
PukeMinesToSpawnOnDeathByDifficulty(`DIFFICULTY_Normal) =0
PukeMinesToSpawnOnDeathByDifficulty(`DIFFICULTY_Hard) =1
PukeMinesToSpawnOnDeathByDifficulty(`DIFFICULTY_Suicidal) =3
PukeMinesToSpawnOnDeathByDifficulty(`DIFFICULTY_HellOnEarth) =3
PukeMinesToSpawnOnDeath_Versus =0
PukeMinesToSpawnOnDeath_Player_Versus =3
}