87 lines
2.9 KiB
Ucode
87 lines
2.9 KiB
Ucode
//=============================================================================
|
|
// KFDifficulty_Husk
|
|
//=============================================================================
|
|
// Per Zed, per difficulty balance settings
|
|
//=============================================================================
|
|
// Killing Floor 2
|
|
// Copyright (C) 2016 Tripwire Interactive LLC
|
|
//=============================================================================
|
|
class KFDifficulty_Husk extends KFMonsterDifficultyInfo
|
|
dependsOn(KFPawn_ZedHusk)
|
|
abstract;
|
|
|
|
/** Difficulty-based fireball settings */
|
|
var array<sHuskFireballSettings> FireballSettings;
|
|
|
|
/** Versus AI Husk fireball settings */
|
|
var sHuskFireballSettings FireballSettings_Versus;
|
|
|
|
static function sHuskFireballSettings GetFireballSettings( KFPawn_ZedHusk HuskPawn, KFGameReplicationInfo KFGRI )
|
|
{
|
|
local sHuskFireballSettings DefaultFireballSettings;
|
|
|
|
// Check for versus settings first
|
|
if( KFGRI.bVersusGame )
|
|
{
|
|
if( !HuskPawn.bVersusZed )
|
|
{
|
|
return default.FireballSettings_Versus;
|
|
}
|
|
else
|
|
{
|
|
DefaultFireballSettings.bSpawnGroundFire = true;
|
|
return DefaultFireballSettings;
|
|
}
|
|
}
|
|
|
|
return default.FireballSettings[Clamp(KFGRI.GetModifiedGameDifficulty(), 0, default.FireballSettings.length-1)];
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
// Normal difficulty
|
|
Normal={(HealthMod=0.750000,
|
|
HeadHealthMod=0.750000,
|
|
DamageMod=0.35,
|
|
SoloDamageMod=0.3500000,
|
|
RallySettings={(bCanRally=false)}
|
|
)}
|
|
|
|
// Hard difficulty
|
|
Hard={(SoloDamageMod=0.7500000,
|
|
RallySettings={(bCanRally=false)}
|
|
)}
|
|
|
|
// Suicidal difficulty
|
|
Suicidal={(DamagedSprintChance=0.500000,
|
|
SoloDamageMod=0.7500000,
|
|
RallySettings={(DealtDamageModifier=1.2, TakenDamageModifier=0.9)}
|
|
)}
|
|
|
|
// Hell On Earth difficulty
|
|
HellOnEarth={(HealthMod=1.300000,
|
|
HeadHealthMod=1.100000,
|
|
SprintChance=0.750000,
|
|
DamagedSprintChance=1.000000,
|
|
DamageMod=1.500000,
|
|
SoloDamageMod=0.7500000,
|
|
RallySettings={(bCauseSprint=true, DealtDamageModifier=1.2, TakenDamageModifier=0.9)}
|
|
)}
|
|
|
|
// Versus Rally settings
|
|
RallySettings_Versus={(bCauseSprint=true)}
|
|
RallySettings_Player_Versus={(DealtDamageModifier=1.2)}
|
|
|
|
// Evil DAR spawn chances
|
|
ChanceToSpawnAsSpecial(`DIFFICULTY_Normal)=0.08// 0.10
|
|
ChanceToSpawnAsSpecial(`DIFFICULTY_Hard)=0.1//0.12
|
|
ChanceToSpawnAsSpecial(`DIFFICULTY_Suicidal)=0.15// 0.18
|
|
ChanceToSpawnAsSpecial(`DIFFICULTY_HellOnEarth) =0.21 //0.25
|
|
|
|
// Fireball settings by difficulty
|
|
FireballSettings(`DIFFICULTY_Normal) ={(bSpawnGroundFire=false, ExplosionMomentum=50000.f)}
|
|
FireballSettings(`DIFFICULTY_Hard) ={(bSpawnGroundFire=false, ExplosionMomentum=55000.f)}
|
|
FireballSettings(`DIFFICULTY_Suicidal) ={(bSpawnGroundFire=true, ExplosionMomentum=60000.f)}
|
|
FireballSettings(`DIFFICULTY_HellOnEarth) ={(bSpawnGroundFire=true, ExplosionMomentum=65000.f)}
|
|
FireballSettings_Versus ={(bSpawnGroundFire=false, ExplosionMomentum=50000.f)}
|
|
} |