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

1997 lines
108 KiB
Ucode

//=============================================================================
// KFGameDifficulty_Endless
//=============================================================================
// Manages difficulty based gameplay settings
//=============================================================================
// Killing Floor 2
// Copyright (C) 2017 Tripwire Interactive LLC
//=============================================================================
class KFGameDifficulty_Endless extends KFGameDifficultyInfo;
struct ZedAdjustments
{
// How each Zed type will be adjusted.
var() array<StatAdjustments> ZedsToAdjust;
};
struct SpecialWaveInfo
{
var() EAIType ZedType;
var() float PctChance;
var() float WaveScale;
var() float SpawnRateMultiplier;
var() bool bSpawnEnraged;
var() float NextSpawnTimeModMin;
structdefaultproperties
{
WaveScale=1.f
PctChance=0.f
SpawnRateMultiplier=1.f
NextSpawnTimeModMin=0.f
}
};
struct SpecialWaveDifficultyInfo
{
var() array<SpecialWaveInfo> SpecialWaveInfos;
structdefaultproperties
{
SpecialWaveInfos[0]=(ZedType=AT_Clot, PctChance=0.0, WaveScale=1.f, SpawnRateMultiplier=1.0f),
SpecialWaveInfos[1]=(ZedType=AT_SlasherClot, PctChance=0.0, WaveScale=1.f, SpawnRateMultiplier=1.f),
SpecialWaveInfos[2]=(ZedType=AT_Crawler, PctChance=0.0, WaveScale=1.f, SpawnRateMultiplier=1.f),
SpecialWaveInfos[3]=(ZedType=AT_Stalker, PctChance=0.0, WaveScale=1.f, SpawnRateMultiplier=1.f),
SpecialWaveInfos[4]=(ZedType=AT_Siren, PctChance=0.0, WaveScale=1.f, SpawnRateMultiplier=1.f),
SpecialWaveInfos[5]=(ZedType=AT_Husk, PctChance=0.0, WaveScale=1.f, SpawnRateMultiplier=1.f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=0.0, WaveScale=1.f, SpawnRateMultiplier=1.f),
SpecialWaveInfos[7]=(ZedType=AT_AlphaClot, PctChance=0.0, WaveScale=1.f, SpawnRateMultiplier=1.f),
SpecialWaveInfos[8]=(ZedType=AT_GoreFast, PctChance=0.0, WaveScale=1.f, SpawnRateMultiplier=1.f),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.0, WaveScale=1.f, SpawnRateMultiplier=1.f),
SpecialWaveInfos[10]=(ZedType=AT_FleshPound, PctChance=0.0, WaveScale=1.f, SpawnRateMultiplier=1.f, NextSpawnTimeModMin=0.25f)
}
};
struct ZedDifficultyOverride
{
var() class<KFPawn_Monster> ClassToAdjust;
/** The individual health modifier for this zed type */
var() float HealthMod;
/** A per zed damage mod configurable by difficulty */
var() float DamageMod;
/** A per zed damage mod configurable by difficulty when playing solo/offline */
var() float SoloDamageMod;
structdefaultproperties
{
HealthMod = 1.f,
DamageMod = 1.f,
SoloDamageMod = 1.f
}
};
struct DifficultyOverride
{
var() array<ZedDifficultyOverride> ZedsOverride;
};
/** How the difficulty will scale each difficulty increase based on the starting difficulty. */
struct DifficultyScaling
{
// The difficulty settings for each difficulty.
var() array<DifficultySettings> Difficulties;
// When we get into Hell on Earth plus rounds, how will difficulty settings adjust
var() DifficultySettings DifficultyIncrement;
// Which difficulty we're currently on
var() int CurrentDifficultyIndex;
// The starting probability that a zed will upgrade to the next class
var() const float BaseUpgradeZedPctChance;
// Amount that the zed upgrade percent chance will increase each round.
var() const float IncreaseUpgradeZedPctChance;
// The probability that a zed will upgrade to the next class.
var() float UpgradeZedPctChance;
// Starting probability that a zed will fully upgrade to the final class
var() const float BaseFullUpgradeZedPctChance;
// Amount that the zed full upgrade will increase each round
var() const float IncreaseFullUpgradeZedPctChance;
// The probability that a zed will fully upgrade to the final class.
var() float FullUpgradeZedPctChance;
// How each Stat Adjustment will vary by current difficulty.
var() array<ZedAdjustments> ZedAdjustmentsByDifficulty;
// How the Hell on Earth Stat Adjustment will adjust past each boss fight.
var() StatAdjustments ZedAdjustmentIncrement;
// The probability that the wave will be an outbreak
var() array<float> OutbreakPctChances;
// The probability that the wave will be a special wave.
var() array<float> SpecialWavePctChance;
// If we're in a special wave, then what is the probability of a certain zed type being chosen
var() array<SpecialWaveDifficultyInfo> DifficultySpecialWaveTypes;
// If a Zed Difficulty Setting needs to be overriden.
var() array<DifficultyOverride> ZedDiffOverride;
structdefaultproperties
{
BaseUpgradeZedPctChance=.01f,
IncreaseUpgradeZedPctChance=.01f,
UpgradeZedPctChance=0.f,
BaseFullUpgradeZedPctChance=0.001f,
IncreaseFullUpgradeZedPctChance=0.001f,
FullUpgradeZedPctChance=0.f
}
};
var DifficultyScaling CurrentDifficultyScaling;
var() array<DifficultyScaling> DifficultyScalings;
function IncrementHoePlus()
{
local int DifficultyIndex;
DifficultyIndex = CurrentDifficultyScaling.CurrentDifficultyIndex;
if (DifficultyIndex < 0 || DifficultyIndex >= CurrentDifficultyScaling.Difficulties.length)
{
return;
}
AdjustDifficulties(DifficultyIndex);
AdjustZedStats(DifficultyIndex);
SetDifficultySettings(CurrentDifficultyScaling.CurrentDifficultyIndex);
}
function AdjustDifficulties(int DifficultyIndex)
{
if (DifficultyIndex < 0 || DifficultyIndex >= CurrentDifficultyScaling.Difficulties.length)
{
return;
}
CurrentDifficultyScaling.Difficulties[DifficultyIndex].TraderTime += CurrentDifficultyScaling.DifficultyIncrement.TraderTime;
CurrentDifficultyScaling.Difficulties[DifficultyIndex].GlobalHealthMod += CurrentDifficultyScaling.DifficultyIncrement.GlobalHealthMod;
CurrentDifficultyScaling.Difficulties[DifficultyIndex].MovementSpeedMod += CurrentDifficultyScaling.DifficultyIncrement.MovementSpeedMod;
CurrentDifficultyScaling.Difficulties[DifficultyIndex].WaveCountMod += CurrentDifficultyScaling.DifficultyIncrement.WaveCountMod;
CurrentDifficultyScaling.Difficulties[DifficultyIndex].DoshKillMod += CurrentDifficultyScaling.DifficultyIncrement.DoshKillMod;
CurrentDifficultyScaling.Difficulties[DifficultyIndex].StartingDosh += CurrentDifficultyScaling.DifficultyIncrement.StartingDosh;
CurrentDifficultyScaling.Difficulties[DifficultyIndex].RespawnDosh += CurrentDifficultyScaling.DifficultyIncrement.RespawnDosh;
CurrentDifficultyScaling.Difficulties[DifficultyIndex].AmmoPickupsMod += CurrentDifficultyScaling.DifficultyIncrement.AmmoPickupsMod;
CurrentDifficultyScaling.Difficulties[DifficultyIndex].ItemPickupsMod += CurrentDifficultyScaling.DifficultyIncrement.ItemPickupsMod;
CurrentDifficultyScaling.Difficulties[DifficultyIndex].WeakAttackChance += CurrentDifficultyScaling.DifficultyIncrement.WeakAttackChance;
CurrentDifficultyScaling.Difficulties[DifficultyIndex].MediumAttackChance += CurrentDifficultyScaling.DifficultyIncrement.MediumAttackChance;
CurrentDifficultyScaling.Difficulties[DifficultyIndex].HardAttackChance += CurrentDifficultyScaling.DifficultyIncrement.HardAttackChance;
CurrentDifficultyScaling.Difficulties[DifficultyIndex].SelfInflictedDamageMod += CurrentDifficultyScaling.DifficultyIncrement.SelfInflictedDamageMod;
CurrentDifficultyScaling.Difficulties[DifficultyIndex].SpawnRateModifier += CurrentDifficultyScaling.DifficultyIncrement.SpawnRateModifier;
}
function AdjustZedStats(int DifficultyIndex)
{
local int i;
if (DifficultyIndex < 0 || DifficultyIndex >= CurrentDifficultyScaling.ZedAdjustmentsByDifficulty.length)
{
return;
}
for (i = 0; i < CurrentDifficultyScaling.ZedAdjustmentsByDifficulty[DifficultyIndex].ZedsToAdjust.length; i++)
{
CurrentDifficultyScaling.ZedAdjustmentsByDifficulty[DifficultyIndex].ZedsToAdjust[i].HealthScale += CurrentDifficultyScaling.ZedAdjustmentIncrement.HealthScale;
CurrentDifficultyScaling.ZedAdjustmentsByDifficulty[DifficultyIndex].ZedsToAdjust[i].HeadHealthScale += CurrentDifficultyScaling.ZedAdjustmentIncrement.HeadHealthScale;
CurrentDifficultyScaling.ZedAdjustmentsByDifficulty[DifficultyIndex].ZedsToAdjust[i].ShieldScale += CurrentDifficultyScaling.ZedAdjustmentIncrement.ShieldScale;
CurrentDifficultyScaling.ZedAdjustmentsByDifficulty[DifficultyIndex].ZedsToAdjust[i].DamageDealtScale += CurrentDifficultyScaling.ZedAdjustmentIncrement.DamageDealtScale;
CurrentDifficultyScaling.ZedAdjustmentsByDifficulty[DifficultyIndex].ZedsToAdjust[i].DamageTakenScale += CurrentDifficultyScaling.ZedAdjustmentIncrement.DamageTakenScale;
}
}
function IncrementDifficulty()
{
CurrentDifficultyScaling.CurrentDifficultyIndex = Clamp(CurrentDifficultyScaling.CurrentDifficultyIndex + 1, 0, CurrentDifficultyScaling.Difficulties.length - 1);
`log("Incrementing Difficulty Index to" @ CurrentDifficultyScaling.CurrentDifficultyIndex);
SetDifficultySettings(CurrentDifficultyScaling.CurrentDifficultyIndex);
}
function SetDifficultySettings(float GameDifficulty)
{
local int DiffSettingIndex;
if(CurrentDifficultyScaling.Difficulties.length > 0)
{
DiffSettingIndex = Clamp(GameDifficulty, 0, CurrentDifficultyScaling.Difficulties.length - 1);
`log("Setting Difficulty Settings to" @ DiffSettingIndex);
CurrentSettings = CurrentDifficultyScaling.Difficulties[DiffSettingIndex];
}
}
function SetDifficultyScaling(float StartingGameDifficulty)
{
local int DiffScalingIndex;
if(DifficultyScalings.length > 0)
{
DiffScalingIndex = Min(StartingGameDifficulty, DifficultyScalings.length - 1);
`log("Setting Difficulty Scalings to" @ DiffScalingIndex);
CurrentDifficultyScaling = DifficultyScalings[DiffScalingIndex];
}
}
function float GetZedUpgradePctChance()
{
return CurrentDifficultyScaling.UpgradeZedPctChance;
}
function float GetZedFullUpgradePctChance()
{
return CurrentDifficultyScaling.FullUpgradeZedPctChance;
}
function IncreaseZedUpgradePct()
{
CurrentDifficultyScaling.UpgradeZedPctChance = FClamp(CurrentDifficultyScaling.UpgradeZedPctChance + CurrentDifficultyScaling.IncreaseUpgradeZedPctChance, 0.f, 1.f);
}
function IncreaseZedFullUpgradePct()
{
CurrentDifficultyScaling.FullUpgradeZedPctChance = FClamp(CurrentDifficultyScaling.FullUpgradeZedPctChance + CurrentDifficultyScaling.IncreaseFullUpgradeZedPctChance, 0.f, 1.f);
}
function SetZedUpgradeToBase()
{
CurrentDifficultyScaling.UpgradeZedPctChance = CurrentDifficultyScaling.BaseUpgradeZedPctChance;
}
function SetZedFullUpgradeToBase()
{
CurrentDifficultyScaling.FullUpgradeZedPctChance = CurrentDifficultyScaling.BaseFullUpgradeZedPctChance;
}
function bool ShouldStartHoePlus()
{
return CurrentDifficultyScaling.CurrentDifficultyIndex + 1 >= CurrentDifficultyScaling.Difficulties.length - 1;
}
function array<StatAdjustments> GetZedsToAdjust()
{
return CurrentDifficultyScaling.ZedAdjustmentsByDifficulty[CurrentDifficultyScaling.CurrentDifficultyIndex].ZedsToAdjust;
}
function array<ZedDifficultyOverride> GetZedsOverride()
{
return CurrentDifficultyScaling.ZedDiffOverride[CurrentDifficultyScaling.CurrentDifficultyIndex].ZedsOverride;
}
function float GetOutbreakPctChance()
{
if(CurrentDifficultyScaling.OutbreakPctChances.length > 0)
{
return CurrentDifficultyScaling.OutbreakPctChances[Min(CurrentDifficultyScaling.CurrentDifficultyIndex, CurrentDifficultyScaling.OutbreakPctChances.length - 1)];
}
return 0.f;
}
function float GetSpeicalWavePctChance()
{
if(CurrentDifficultyScaling.SpecialWavePctChance.length > 0)
{
return CurrentDifficultyScaling.SpecialWavePctChance[Min(CurrentDifficultyScaling.CurrentDifficultyIndex, CurrentDifficultyScaling.SpecialWavePctChance.length - 1)];
}
return 0.f;
}
function EAIType GetSpecialWaveType()
{
local array<SpecialWaveInfo> SpecialWaves;
local float RandF;
local float TotalProb;
local SpecialWaveInfo It;
SpecialWaves = CurrentDifficultyScaling.DifficultySpecialWaveTypes[CurrentDifficultyScaling.CurrentDifficultyIndex].SpecialWaveInfos;
RandF = FRand();
if (SpecialWaves.length == 0)
{
return AT_Clot;
}
foreach SpecialWaves(It)
{
TotalProb += It.PctChance;
if (It.PctChance > 0 && RandF < TotalProb)
{
return It.ZedType;
}
}
return SpecialWaves[RandRange(0, SpecialWaves.length - 1)].ZedType;
}
function bool GetSpecialWaveModifiers(EAIType AIType, out float WaveCountMod, out float SpawnRateMod)
{
local array<SpecialWaveInfo> SpecialWaves;
local SpecialWaveInfo It;
SpecialWaves = CurrentDifficultyScaling.DifficultySpecialWaveTypes[CurrentDifficultyScaling.CurrentDifficultyIndex].SpecialWaveInfos;
WaveCountMod = 1.f;
SpawnRateMod = 1.f;
foreach SpecialWaves(It)
{
if (It.ZedType == AIType)
{
WaveCountMod = It.WaveScale;
SpawnRateMod = 1.f / It.SpawnRateMultiplier;
return true;
}
}
return false;
}
function float GetSpecialWaveScale(EAIType AIType)
{
local array<SpecialWaveInfo> SpecialWaves;
local SpecialWaveInfo It;
SpecialWaves = CurrentDifficultyScaling.DifficultySpecialWaveTypes[CurrentDifficultyScaling.CurrentDifficultyIndex].SpecialWaveInfos;
`log(self @ "-" @ GetFuncName() @ "- AIType:" @ AIType);
foreach SpecialWaves(It)
{
`log(self @ "-" @ GetFuncName() @ "- It.ZedType:" @ It.ZedType);
if (It.ZedType == AIType)
{
`log(self @ "-" @ GetFuncName() @ "- Wave Scale:" @ It.WaveScale);
return It.WaveScale;
}
}
return 1.f;
}
function float GetSpecialWaveSpawnRateMod(EAIType AIType)
{
local array<SpecialWaveInfo> SpecialWaves;
local SpecialWaveInfo It;
SpecialWaves = CurrentDifficultyScaling.DifficultySpecialWaveTypes[CurrentDifficultyScaling.CurrentDifficultyIndex].SpecialWaveInfos;
foreach SpecialWaves(It)
{
if (It.ZedType == AIType)
{
return 1.f / It.SpawnRateMultiplier;
}
}
return 1.f;
}
function float GetSpecialWaveSpawnTimeModMin(EAIType AIType)
{
local array<SpecialWaveInfo> SpecialWaves;
local SpecialWaveInfo It;
SpecialWaves = CurrentDifficultyScaling.DifficultySpecialWaveTypes[CurrentDifficultyScaling.CurrentDifficultyIndex].SpecialWaveInfos;
foreach SpecialWaves(It)
{
if (It.ZedType == AIType)
{
return It.NextSpawnTimeModMin;
}
}
return 0.f;
}
function float GetAIDamageModifier(KFPawn_Monster P, float GameDifficulty, bool bSoloPlay)
{
local float PerZedDamageMod, SoloPlayDamageMod;
local array<ZedDifficultyOverride> ZedsToAdjust;
local ZedDifficultyOverride ZedDifficulty;
local bool bFoundOverride;
// default if no InMonsterInfo
PerZedDamageMod = 1.0;
SoloPlayDamageMod = 1.0;
bFoundOverride = false;
ZedsToAdjust = GetZedsOverride();
foreach ZedsToAdjust(ZedDifficulty)
{
if (ZedDifficulty.ClassToAdjust != P.class)
{
continue;
}
PerZedDamageMod = ZedDifficulty.DamageMod;
if (bSoloPlay)
{
SoloPlayDamageMod = ZedDifficulty.SoloDamageMod;
}
bFoundOverride = true;
break;
}
if (bFoundOverride)
{
return PerZedDamageMod * SoloPlayDamageMod;
}
else
{
return super.GetAIDamageModifier(P, Clamp(GetCurrentDifficultyIndex(), 0, 3), bSoloPlay);
}
}
function GetAIHealthModifier(KFPawn_Monster P, float GameDifficulty, byte NumLivingPlayers, out float HealthMod, out float HeadHealthMod, optional bool bApplyDifficultyScaling = true)
{
local array<StatAdjustments> ZedsToAdjust;
local StatAdjustments ZedAdjustment;
// Clamp Difficulty Index to normal difficulty range in case we're in Hell on Earth+.
super.GetAIHealthModifier(P, Clamp(GetCurrentDifficultyIndex(), 0, 3), NumLivingPlayers, HealthMod, HeadHealthMod, bApplyDifficultyScaling);
ZedsToAdjust = GetZedsToAdjust();
foreach ZedsToAdjust(ZedAdjustment)
{
if (ZedAdjustment.ClassToAdjust == P.class)
{
HealthMod *= ZedAdjustment.HealthScale;
HeadHealthMod *= ZedAdjustment.HeadHealthScale;
}
}
}
function float GetCharHealthModDifficulty(KFPawn_Monster P, float GameDifficulty)
{
local array<ZedDifficultyOverride> ZedsToAdjust;
local ZedDifficultyOverride ZedDifficulty;
ZedsToAdjust = GetZedsOverride();
foreach ZedsToAdjust(ZedDifficulty)
{
if (ZedDifficulty.ClassToAdjust == P.class)
{
return ZedDifficulty.HealthMod;
}
}
// Clamp Difficulty Index to normal difficulty range in case we're in Hell on Earth+.
return super.GetCharHealthModDifficulty(P, Clamp(GetCurrentDifficultyIndex(), 0, 3));
}
function float GetCharHeadHealthModDifficulty(KFPawn_Monster P, float GameDifficulty)
{
// Clamp Difficulty Index to normal difficulty range in case we're in Hell on Earth+.
return super.GetCharHeadHealthModDifficulty(P, Clamp(GetCurrentDifficultyIndex(), 0, 3));
}
function float GetCharSprintChanceByDifficulty(KFPawn_Monster P, float GameDifficulty)
{
local KFGameInfo_Endless KFGI;
KFGI = KFGameInfo_Endless(P.WorldInfo.Game);
if (KFGI != none && KFGI.bUseSpecialWave && ShouldSpawnEnraged(KFGI.SpecialWaveType))
{
return 1.f;
}
// Clamp Difficulty Index to normal difficulty range in case we're in Hell on Earth+.
return super.GetCharSprintChanceByDifficulty(P, Clamp(GetCurrentDifficultyIndex(), 0, 3));
}
function float GetCharSprintWhenDamagedChanceByDifficulty(KFPawn_Monster P, float GameDifficulty)
{
local KFGameInfo_Endless KFGI;
KFGI = KFGameInfo_Endless(P.WorldInfo.Game);
if (KFGI != none && KFGI.bUseSpecialWave && ShouldSpawnEnraged(KFGI.SpecialWaveType))
{
return 1.f;
}
// Clamp Difficulty Index to normal difficulty range in case we're in Hell on Earth+.
return super.GetCharSprintWhenDamagedChanceByDifficulty(P, Clamp(GetCurrentDifficultyIndex(), 0, 3));
}
function int GetCurrentDifficultyIndex()
{
return CurrentDifficultyScaling.CurrentDifficultyIndex;
}
function bool ShouldSpawnEnraged(EAIType AIType)
{
local array<SpecialWaveInfo> CurrentSpecialWave;
local SpecialWaveInfo CurrentWaveInfo;
CurrentSpecialWave = CurrentDifficultyScaling.DifficultySpecialWaveTypes[CurrentDifficultyScaling.CurrentDifficultyIndex].SpecialWaveInfos;
foreach CurrentSpecialWave(CurrentWaveInfo)
{
if (CurrentWaveInfo.ZedType == AIType)
{
return CurrentWaveInfo.bSpawnEnraged;
}
}
return false;
}
defaultproperties
{
//NORMAL START----------------------------------------------------------------------------------------------------------------------------------------------------------------
DifficultyScalings(0)={(
// Normal
Difficulties[0]={(
TraderTime = 75, //75
SpawnRateModifier = 0.8,
MovementSpeedMod = 0.90000,
WaveCountMod = 0.750000, //0.85
DoshKillMod = 1.10000, //1.2
StartingDosh = 300,
AmmoPickupsMod = 0.400000,
ItemPickupsMod = 0.450000,
SelfInflictedDamageMod = 0.100000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Hard
Difficulties[1]={(
TraderTime = 75, //75
RespawnDosh = 300,
SpawnRateModifier = 0.8,
MovementSpeedMod = 0.95,
WaveCountMod = 0.80000, //0.85
DoshKillMod = 1.0, //1.0 //0.8
AmmoPickupsMod = 0.300000,
ItemPickupsMod = 0.350000,
SelfInflictedDamageMod = 0.100000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Suicidal
Difficulties[2]={(
TraderTime = 75, //75
WaveCountMod = 0.9000, //0.95
SpawnRateModifier = 0.7, //1.0
MovementSpeedMod = 0.95, //1.0
DoshKillMod = 1.00000, //0.9 //0.7
AmmoPickupsMod = 0.40000, //0.25
ItemPickupsMod = 0.250000,
MediumAttackChance = 1.000000,
HardAttackChance = 0.500000,
SelfInflictedDamageMod = 0.100000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Hell On Earth
Difficulties[3]={(
TraderTime = 75, //75
MovementSpeedMod = 0.95, //1.05
SpawnRateModifier = 0.68, //1.0
WaveCountMod = 0.950000, //1.0
DoshKillMod = 1.00000, //0.8 0.6
StartingDosh = 250, //200
AmmoPickupsMod = 0.250000,
ItemPickupsMod = 0.100000,
MediumAttackChance = 1.000000,
HardAttackChance = 1.000000,
SelfInflictedDamageMod = 0.10000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Hell On Earth Plus
Difficulties[4]={(
TraderTime = 75, //75
MovementSpeedMod = 0.95, //1.05
SpawnRateModifier = 0.68, //1.0
WaveCountMod = 1.000000, //1.7
DoshKillMod = 1.00000, //0.7 0.5
StartingDosh = 250, //200
AmmoPickupsMod = 0.250000,
ItemPickupsMod = 0.100000,
MediumAttackChance = 1.000000,
HardAttackChance = 1.000000,
SelfInflictedDamageMod = 0.10000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
DifficultyIncrement={(
TraderTime = 0,
GlobalHealthMod = 0.0,
MovementSpeedMod = 0.0,
WaveCountMod = 0.1, //0.1
SpawnRateModifier = -0.3,
DoshKillMod = -0.01,
StartingDosh = 0,
RespawnDosh = 0,
AmmoPickupsMod = 0.2, //this will need to go to other diff
ItemPickupsMod = 0.2, // this will need to go to other diff
WeakAttackChance = 0.0,
MediumAttackChance = 0.0,
HardAttackChance = 0.0,
SelfInflictedDamageMod = 0.0,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Normal
ZedAdjustmentsByDifficulty[0] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 0.65,DamageDealtScale = 0.75,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 0.45,DamageDealtScale = 0.75,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 0.55,DamageDealtScale = 0.75,DoshGiven = 250),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 0.62,DamageDealtScale = 0.75,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthScale = 0.5,DamageDealtScale = 0.85,DoshGiven = 5),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 0.42,DamageDealtScale = 0.75,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthScale = 0.42,DamageDealtScale = 0.75,DoshGiven = 11)
)}
)},
// Hard
ZedAdjustmentsByDifficulty[1] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 0.9,DamageDealtScale = 0.85,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 0.85,DamageDealtScale = 0.85,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 0.75,DamageDealtScale = 0.85,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 0.85,DamageDealtScale = 0.85,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthScale = 0.85,DamageDealtScale = 0.85,DoshGiven = 5),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 0.84,DamageDealtScale = 0.85,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthScale = 0.84,DamageDealtScale = 0.85,DoshGiven = 11)
)}
)},
// Suicidal
ZedAdjustmentsByDifficulty[2] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 0.95,DamageDealtScale = 0.95,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 0.95,DamageDealtScale = 0.95,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 0.95,DamageDealtScale = 0.95,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 0.95,DamageDealtScale = 0.95,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthScale = 1.0,DamageDealtScale = 0.85,DoshGiven = 5),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 0.95,DamageDealtScale = 0.95,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthScale = 1.0,DamageDealtScale = 0.85,DoshGiven = 11)
)}
)},
// Hell On Earth
ZedAdjustmentsByDifficulty[3] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000)
)}
)},
// Hell On Earth Plus Base
ZedAdjustmentsByDifficulty[4] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000)
)}
)},
ZedAdjustmentIncrement = {(
HealthScale=0.0,
DamageDealtScale=.01,
DamageTakenScale=0.0
)},
// Normal
ZedDiffOverride[0]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=0.25f,SoloDamageMod=0.3),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=0.75f,DamageMod=0.4f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=0.75f,DamageMod=0.4f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=0.75f,DamageMod=0.4f,SoloDamageMod=0.3),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=0.75f,DamageMod=0.35f,SoloDamageMod=0.35),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=0.85f,DamageMod=0.425f,SoloDamageMod=0.425),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=0.75f,DamageMod=0.31f,SoloDamageMod=0.31),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=0.5f,DamageMod=0.31f,SoloDamageMod=0.31),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.71f,DamageMod=0.54f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=0.75f,DamageMod=0.67f,SoloDamageMod=0.35),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=0.7f,DamageMod=0.6f,SoloDamageMod=0.37),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=0.63f,DamageMod=0.51f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=0.65f,DamageMod=0.7f,SoloDamageMod=0.35),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=0.35f,DamageMod=0.2f)
)}
)},
// Hard
ZedDiffOverride[1]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=0.25f,SoloDamageMod=0.3),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=0.75f,DamageMod=0.4f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=0.75f,DamageMod=0.4f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=0.75f,DamageMod=0.4f,SoloDamageMod=0.3),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=0.75f,DamageMod=0.35f,SoloDamageMod=0.35),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=0.85f,DamageMod=0.425f,SoloDamageMod=0.425),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=0.75f,DamageMod=0.31f,SoloDamageMod=0.31),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=0.5f,DamageMod=0.31f,SoloDamageMod=0.31),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.71f,DamageMod=0.54f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=0.75f,DamageMod=0.67f,SoloDamageMod=0.35),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=0.7f,DamageMod=0.6f,SoloDamageMod=0.37),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=0.63f,DamageMod=0.51f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=0.65f,DamageMod=0.7f,SoloDamageMod=0.35),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=0.35f,DamageMod=0.2f)
)}
)},
// Suicidal
ZedDiffOverride[2]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=0.25f,SoloDamageMod=0.3),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=0.75f,DamageMod=0.4f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=0.75f,DamageMod=0.4f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=0.75f,DamageMod=0.4f,SoloDamageMod=0.3),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=0.75f,DamageMod=0.35f,SoloDamageMod=0.35),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=0.85f,DamageMod=0.425f,SoloDamageMod=0.425),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=0.75f,DamageMod=0.31f,SoloDamageMod=0.31),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=0.5f,DamageMod=0.31f,SoloDamageMod=0.31),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.71f,DamageMod=0.54f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=0.75f,DamageMod=0.67f,SoloDamageMod=0.35),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=0.7f,DamageMod=0.6f,SoloDamageMod=0.37),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=0.63f,DamageMod=0.51f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=0.65f,DamageMod=0.7f,SoloDamageMod=0.35),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=0.35f,DamageMod=0.2f)
)}
)},
// Hell on Earth
ZedDiffOverride[3]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=0.25f,SoloDamageMod=0.3),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=0.75f,DamageMod=0.4f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=0.75f,DamageMod=0.4f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=0.75f,DamageMod=0.4f,SoloDamageMod=0.3),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=0.75f,DamageMod=0.35f,SoloDamageMod=0.35),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=0.85f,DamageMod=0.425f,SoloDamageMod=0.425),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=0.75f,DamageMod=0.31f,SoloDamageMod=0.31),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=0.5f,DamageMod=0.31f,SoloDamageMod=0.31),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.71f,DamageMod=0.54f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=0.75f,DamageMod=0.67f,SoloDamageMod=0.35),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=0.7f,DamageMod=0.6f,SoloDamageMod=0.37),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=0.63f,DamageMod=0.51f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=0.65f,DamageMod=0.7f,SoloDamageMod=0.35),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=0.35f,DamageMod=0.2f)
)}
)},
// Hell on Earth Plus
ZedDiffOverride[4]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=0.25f,SoloDamageMod=0.3),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=0.75f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=0.75f,DamageMod=0.4f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=0.75f,DamageMod=0.4f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=0.75f,DamageMod=0.4f,SoloDamageMod=0.3),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=0.75f,DamageMod=0.35f,SoloDamageMod=0.35),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=0.85f,DamageMod=0.425f,SoloDamageMod=0.425),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=0.75f,DamageMod=0.31f,SoloDamageMod=0.31),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=0.5f,DamageMod=0.31f,SoloDamageMod=0.31),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.71f,DamageMod=0.54f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=0.75f,DamageMod=0.67f,SoloDamageMod=0.35),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=0.7f,DamageMod=0.6f,SoloDamageMod=0.37),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=0.63f,DamageMod=0.51f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=0.65f,DamageMod=0.7f,SoloDamageMod=0.35),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=0.35f,DamageMod=0.2f)
)}
)},
// Normal
OutbreakPctChances[0]=0.0,
// Hard
OutbreakPctChances[1]=0.2, //0.1
// Suicidal
OutbreakPctChances[2]=0.3, //0.2
// Hell on Earth
OutbreakPctChances[3]=0.4, //0.25
// Hell on Earth Plus
OutbreakPctChances[4]=0.5, //0.3
// Normal
SpecialWavePctChance[0]=0.1, //
// Hard
SpecialWavePctChance[1]=0.25, //0.1
// Suicidal
SpecialWavePctChance[2]=0.35, //0.2
// Hell on Earth
SpecialWavePctChance[3]=0.45, //0.025
// Hell on Earth Plus
SpecialWavePctChance[4]=0.5, //0.3
// Normal
DifficultySpecialWaveTypes[0]={(
SpecialWaveInfos[0]=(ZedType=AT_Clot, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[1]=(ZedType=AT_SlasherClot, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[2]=(ZedType=AT_Crawler, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[3]=(ZedType=AT_Stalker, PctChance=0.0, WaveScale=1.f, SpawnRateMultiplier=3.f),
SpecialWaveInfos[4]=(ZedType=AT_Siren, PctChance=0.0, WaveScale=0.5f, SpawnRateMultiplier=2.f),
SpecialWaveInfos[5]=(ZedType=AT_Husk, PctChance=0.0, WaveScale=0.75f, SpawnRateMultiplier=1.0f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=0.0, WaveScale=0.2f, SpawnRateMultiplier=0.25f),
SpecialWaveInfos[7]=(ZedType=AT_AlphaClot, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[8]=(ZedType=AT_GoreFast, PctChance=0.0, WaveScale=0.75f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.0, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[10]=(ZedType=AT_FleshPound, PctChance=0.0, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)},
// Hard
DifficultySpecialWaveTypes[1]={(
SpecialWaveInfos[7]=(ZedType=AT_AlphaClot, PctChance=0.2, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.2, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[1]=(ZedType=AT_SlasherClot, PctChance=0.2, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[2]=(ZedType=AT_Crawler, PctChance=0.2, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[3]=(ZedType=AT_Stalker, PctChance=0.2, WaveScale=1.f, SpawnRateMultiplier=3.f)
)},
// Suicidal
DifficultySpecialWaveTypes[2]={(
SpecialWaveInfos[8]=(ZedType=AT_GoreFast, PctChance=0.17, WaveScale=0.75f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.17, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[1]=(ZedType=AT_SlasherClot, PctChance=0.17, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[4]=(ZedType=AT_Siren, PctChance=0.17, WaveScale=0.5f, SpawnRateMultiplier=2.f),
SpecialWaveInfos[5]=(ZedType=AT_Husk, PctChance=0.17, WaveScale=0.75f, SpawnRateMultiplier=1.0f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=0.17, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)},
// Hell on Earth
DifficultySpecialWaveTypes[3]={(
SpecialWaveInfos[8]=(ZedType=AT_GoreFast, PctChance=0.25, WaveScale=0.75f, SpawnRateMultiplier=1.5f, bSpawnEnraged=true),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.25, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[5]=(ZedType=AT_Husk, PctChance=0.25, WaveScale=0.75f, SpawnRateMultiplier=1.0f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=0.25, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)},
// Hell on Earth Plus
DifficultySpecialWaveTypes[4]={(
SpecialWaveInfos[10]=(ZedType=AT_FleshPound, PctChance=0.0, WaveScale=0.2f, SpawnRateMultiplier=0.15f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=1.0, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)}
)}
// HARD START ----------------------------------------------------------------------------------------------------------------------------------------------------------------
DifficultyScalings(1)={(
// Hard
Difficulties[0]={(
TraderTime = 60,
RespawnDosh = 300,
SpawnRateModifier = 0.8,
MovementSpeedMod = 0.95,
WaveCountMod = 0.750000, //0.85
DoshKillMod = 1.1, //1.0 //0.8
AmmoPickupsMod = 0.300000,
ItemPickupsMod = 0.350000,
SelfInflictedDamageMod = 0.200000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Suicidal
Difficulties[1]={(
TraderTime = 60,
WaveCountMod = 0.8000, //0.95
SpawnRateModifier = 0.7, //1.0
MovementSpeedMod = 0.95, //1.0
DoshKillMod = 1.00000, //0.9 //0.7
AmmoPickupsMod = 0.40000, //0.25
ItemPickupsMod = 0.250000,
MediumAttackChance = 1.000000,
HardAttackChance = 0.500000,
SelfInflictedDamageMod = 0.200000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Hell On Earth
Difficulties[2]={(
TraderTime = 60,
MovementSpeedMod = 0.95, //1.05
SpawnRateModifier = 0.68, //1.0
WaveCountMod = 0.850000, //1.0
DoshKillMod = 1.00000, //0.8 0.6
StartingDosh = 250, //200
AmmoPickupsMod = 0.250000,
ItemPickupsMod = 0.100000,
MediumAttackChance = 1.000000,
HardAttackChance = 1.000000,
SelfInflictedDamageMod = 0.20000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Hell On Earth +
Difficulties[3]={(
TraderTime = 60,
MovementSpeedMod = 0.95, //1.05
SpawnRateModifier = 0.65, //1.0
WaveCountMod = 0.900000, //1.7
DoshKillMod = 1.000000, //0.7 0.5
StartingDosh = 250, //200
AmmoPickupsMod = 0.250000,
ItemPickupsMod = 0.100000,
MediumAttackChance = 1.000000,
HardAttackChance = 1.000000,
SelfInflictedDamageMod = 0.20000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Hell On Earth ++
Difficulties[4]={(
TraderTime = 60,
MovementSpeedMod = 0.95, //1.05
SpawnRateModifier = 0.6, //1.0
WaveCountMod = 0.950000, //1.7
DoshKillMod = 1.000000, //0.7 0.5
StartingDosh = 250, //200
AmmoPickupsMod = 0.250000,
ItemPickupsMod = 0.100000,
MediumAttackChance = 1.000000,
HardAttackChance = 1.000000,
SelfInflictedDamageMod = 0.20000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
DifficultyIncrement={(
TraderTime = 0,
GlobalHealthMod = 0.0,
MovementSpeedMod = 0.0,
WaveCountMod = 0.1, //0.1
SpawnRateModifier = -0.3,
DoshKillMod = -0.01,
StartingDosh = 0,
RespawnDosh = 0,
AmmoPickupsMod = 0.2, //this will need to go to other diff
ItemPickupsMod = 0.2, // this will need to go to other diff
WeakAttackChance = 0.0,
MediumAttackChance = 0.0,
HardAttackChance = 0.0,
SelfInflictedDamageMod = 0.0,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Normal
ZedAdjustmentsByDifficulty[0] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 0.65,DamageDealtScale = 0.75,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 0.45,DamageDealtScale = 0.75,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 0.55,DamageDealtScale = 0.75,DoshGiven = 250),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 0.62,DamageDealtScale = 0.75,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthScale = 0.5,DamageDealtScale = 0.85,DoshGiven = 5),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 0.42,DamageDealtScale = 0.75,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthScale = 0.42,DamageDealtScale = 0.75,DoshGiven = 11)
)}
)},
// Hard
ZedAdjustmentsByDifficulty[1] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 0.9,DamageDealtScale = 0.85,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 0.85,DamageDealtScale = 0.85,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 0.75,DamageDealtScale = 0.85,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 0.85,DamageDealtScale = 0.85,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthScale = 0.85,DamageDealtScale = 0.85,DoshGiven = 5),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 0.84,DamageDealtScale = 0.85,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthScale = 0.84,DamageDealtScale = 0.85,DoshGiven = 11)
)}
)},
// Suicidal
ZedAdjustmentsByDifficulty[2] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 0.95,DamageDealtScale = 0.95,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 0.95,DamageDealtScale = 0.95,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 0.95,DamageDealtScale = 0.95,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 0.95,DamageDealtScale = 0.95,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthScale = 1.0,DamageDealtScale = 0.85,DoshGiven = 5),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 0.95,DamageDealtScale = 0.95,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthScale = 1.0,DamageDealtScale = 0.85,DoshGiven = 11)
)}
)},
// Hell On Earth
ZedAdjustmentsByDifficulty[3] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000)
)}
)},
// Hell On Earth Plus Base
ZedAdjustmentsByDifficulty[4] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000)
)}
)},
ZedAdjustmentIncrement = {(
HealthScale=0.0,
DamageDealtScale=.01,
DamageTakenScale=0.0
)},
// Normal
ZedDiffOverride[0]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=0.85f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=0.75f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=1.f,DamageMod=0.75f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=1.f,DamageMod=0.75f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.8),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.8),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=1.f,DamageMod=0.7f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=1.f,DamageMod=0.65f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=0.75f,DamageMod=0.65f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.82f,DamageMod=0.73f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=1.f,DamageMod=0.81f,SoloDamageMod=0.42),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=0.9f,DamageMod=0.75f,SoloDamageMod=0.45),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=0.83f,DamageMod=0.75f,SoloDamageMod=0.5,SoloDamageMod=0.42),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=0.8f,DamageMod=0.85f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=0.95f,DamageMod=0.75f)
)}
)},
// Hard
ZedDiffOverride[1]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=0.85f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=0.75f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=1.f,DamageMod=0.75f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=1.f,DamageMod=0.75f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.8),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.8),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=1.f,DamageMod=0.7f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=1.f,DamageMod=0.65f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=0.75f,DamageMod=0.65f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.82f,DamageMod=0.73f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=1.f,DamageMod=0.81f,SoloDamageMod=0.42),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=0.9f,DamageMod=0.75f,SoloDamageMod=0.45),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=0.83f,DamageMod=0.75f,SoloDamageMod=0.5,SoloDamageMod=0.42),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=0.8f,DamageMod=0.85f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=0.95f,DamageMod=0.75f)
)}
)},
// Suicidal
ZedDiffOverride[2]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=0.85f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=0.75f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=1.f,DamageMod=0.75f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=1.f,DamageMod=0.75f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.8),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.8),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=1.f,DamageMod=0.7f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=1.f,DamageMod=0.65f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=0.75f,DamageMod=0.65f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.82f,DamageMod=0.73f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=1.f,DamageMod=0.81f,SoloDamageMod=0.42),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=0.9f,DamageMod=0.75f,SoloDamageMod=0.45),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=0.83f,DamageMod=0.75f,SoloDamageMod=0.5,SoloDamageMod=0.42),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=0.8f,DamageMod=0.85f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=0.95f,DamageMod=0.75f)
)}
)},
// Hell on Earth
ZedDiffOverride[3]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=0.85f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=0.75f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=1.f,DamageMod=0.75f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=1.f,DamageMod=0.75f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.8),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.8),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=1.f,DamageMod=0.7f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=1.f,DamageMod=0.65f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=0.75f,DamageMod=0.65f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.82f,DamageMod=0.73f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=1.f,DamageMod=0.81f,SoloDamageMod=0.42),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=0.9f,DamageMod=0.75f,SoloDamageMod=0.45),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=0.83f,DamageMod=0.75f,SoloDamageMod=0.5,SoloDamageMod=0.42),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=0.8f,DamageMod=0.85f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=0.95f,DamageMod=0.75f)
)}
)},
// Hell on Earth Plus
ZedDiffOverride[4]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=0.85f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=0.75f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=1.f,DamageMod=0.75f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=1.f,DamageMod=0.75f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.8),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.8),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=1.f,DamageMod=0.75f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=1.f,DamageMod=0.7f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=1.f,DamageMod=0.65f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=0.75f,DamageMod=0.65f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.82f,DamageMod=0.73f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=1.f,DamageMod=0.81f,SoloDamageMod=0.42),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=0.9f,DamageMod=0.75f,SoloDamageMod=0.45),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=0.83f,DamageMod=0.75f,SoloDamageMod=0.5,SoloDamageMod=0.42),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=0.8f,DamageMod=0.85f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=0.95f,DamageMod=0.75f)
)}
)},
// Normal
OutbreakPctChances[0]=0.0,
// Hard
OutbreakPctChances[1]=0.2, //0.1
// Suicidal
OutbreakPctChances[2]=0.3, //0.2
// Hell on Earth
OutbreakPctChances[3]=0.4, //0.25
// Hell on Earth Plus
OutbreakPctChances[4]=0.5, //0.3
// Normal
SpecialWavePctChance[0]=0.1, //
// Hard
SpecialWavePctChance[1]=0.25, //0.1
// Suicidal
SpecialWavePctChance[2]=0.35, //0.2
// Hell on Earth
SpecialWavePctChance[3]=0.45, //0.025
// Hell on Earth Plus
SpecialWavePctChance[4]=0.5, //0.3
// Normal
DifficultySpecialWaveTypes[0]={(
SpecialWaveInfos[0]=(ZedType=AT_Clot, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[1]=(ZedType=AT_SlasherClot, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[2]=(ZedType=AT_Crawler, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[3]=(ZedType=AT_Stalker, PctChance=0.0, WaveScale=1.f, SpawnRateMultiplier=3.f),
SpecialWaveInfos[4]=(ZedType=AT_Siren, PctChance=0.0, WaveScale=0.5f, SpawnRateMultiplier=2.f),
SpecialWaveInfos[5]=(ZedType=AT_Husk, PctChance=0.0, WaveScale=0.75f, SpawnRateMultiplier=1.0f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=0.0, WaveScale=0.2f, SpawnRateMultiplier=0.25f),
SpecialWaveInfos[7]=(ZedType=AT_AlphaClot, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[8]=(ZedType=AT_GoreFast, PctChance=0.0, WaveScale=0.75f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.0, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[10]=(ZedType=AT_FleshPound, PctChance=0.0, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)},
// Hard
DifficultySpecialWaveTypes[1]={(
SpecialWaveInfos[7]=(ZedType=AT_AlphaClot, PctChance=0.2, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.2, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[1]=(ZedType=AT_SlasherClot, PctChance=0.2, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[2]=(ZedType=AT_Crawler, PctChance=0.2, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[3]=(ZedType=AT_Stalker, PctChance=0.2, WaveScale=1.f, SpawnRateMultiplier=3.f)
)},
// Suicidal
DifficultySpecialWaveTypes[2]={(
SpecialWaveInfos[8]=(ZedType=AT_GoreFast, PctChance=0.17, WaveScale=0.75f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.17, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[1]=(ZedType=AT_SlasherClot, PctChance=0.17, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[4]=(ZedType=AT_Siren, PctChance=0.17, WaveScale=0.5f, SpawnRateMultiplier=2.f),
SpecialWaveInfos[5]=(ZedType=AT_Husk, PctChance=0.17, WaveScale=0.75f, SpawnRateMultiplier=1.0f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=0.17, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)},
// Hell on Earth
DifficultySpecialWaveTypes[3]={(
SpecialWaveInfos[8]=(ZedType=AT_GoreFast, PctChance=0.25, WaveScale=0.75f, SpawnRateMultiplier=1.5f, bSpawnEnraged=true),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.25, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[5]=(ZedType=AT_Husk, PctChance=0.25, WaveScale=0.75f, SpawnRateMultiplier=1.0f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=0.25, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)},
// Hell on Earth Plus
DifficultySpecialWaveTypes[4]={(
SpecialWaveInfos[10]=(ZedType=AT_FleshPound, PctChance=0.0, WaveScale=0.2f, SpawnRateMultiplier=0.15f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=1.0, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)}
)}
// SUICIDAL START ----------------------------------------------------------------------------------------------------------------------------------------------------------
DifficultyScalings(2)={(
// Sucidal
Difficulties[0]={(
TraderTime = 60,
WaveCountMod = 0.750000, //0.95 //0.9
SpawnRateModifier = 0.7, //1.0
MovementSpeedMod = 0.95, //1.0
DoshKillMod = 1.1, //0.9 //0.7 0.8
AmmoPickupsMod = 0.40000, //0.25
ItemPickupsMod = 0.250000,
MediumAttackChance = 1.000000,
HardAttackChance = 0.500000,
SelfInflictedDamageMod = 0.200000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Hell On Earth
Difficulties[1]={(
TraderTime = 60,
MovementSpeedMod = 0.95, //1.05
SpawnRateModifier = 0.68, //1.0
WaveCountMod = 0.80000, //1.0 //0.95
DoshKillMod = 1.0, //0.8 0.6 //0.7
StartingDosh = 250, //200
AmmoPickupsMod = 0.250000,
ItemPickupsMod = 0.100000,
MediumAttackChance = 1.000000,
HardAttackChance = 1.000000,
SelfInflictedDamageMod = 0.20000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Hell On Earth +
Difficulties[2]={(
TraderTime = 60,
MovementSpeedMod = 0.95, //1.05
SpawnRateModifier = 0.65, //1.0
WaveCountMod = 0.9000, //1.7 //1.0
DoshKillMod = 1.000000, //0.7 0.5 0.6
StartingDosh = 250, //200
AmmoPickupsMod = 0.250000,
ItemPickupsMod = 0.100000,
MediumAttackChance = 1.000000,
HardAttackChance = 1.000000,
SelfInflictedDamageMod = 0.20000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Hell On Earth ++
Difficulties[3]={(
TraderTime = 60,
MovementSpeedMod = 0.95, //1.05
SpawnRateModifier = 0.6, //1.0
WaveCountMod = 0.950000, //1.7 //1.05
DoshKillMod = 1.000000, //0.7 0.5 0.5
StartingDosh = 250, //200
AmmoPickupsMod = 0.250000,
ItemPickupsMod = 0.100000,
MediumAttackChance = 1.000000,
HardAttackChance = 1.000000,
SelfInflictedDamageMod = 0.20000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Hell On Earth +++
Difficulties[4]={(
TraderTime = 60,
MovementSpeedMod = 0.95, //1.05
SpawnRateModifier = 0.55, //1.0
WaveCountMod = 1.000000, //1.7 //1.1
DoshKillMod = 1.000000, //0.7 0.5 0.5
StartingDosh = 250, //200
AmmoPickupsMod = 0.250000,
ItemPickupsMod = 0.100000,
MediumAttackChance = 1.000000,
HardAttackChance = 1.000000,
SelfInflictedDamageMod = 0.20000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
DifficultyIncrement={(
TraderTime = 0,
GlobalHealthMod = 0.0,
MovementSpeedMod = 0.0,
WaveCountMod = 0.1, //0.1
SpawnRateModifier = -0.3,
DoshKillMod = -0.01,
StartingDosh = 0,
RespawnDosh = 0,
AmmoPickupsMod = 0.2, //this will need to go to other diff
ItemPickupsMod = 0.2, // this will need to go to other diff
WeakAttackChance = 0.0,
MediumAttackChance = 0.0,
HardAttackChance = 0.0,
SelfInflictedDamageMod = 0.0,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Normal
ZedAdjustmentsByDifficulty[0] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 0.65,DamageDealtScale = 0.75,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 0.45,DamageDealtScale = 0.75,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 0.55,DamageDealtScale = 0.75,DoshGiven = 250),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 0.62,DamageDealtScale = 0.75,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthScale = 0.5,DamageDealtScale = 0.85,DoshGiven = 5),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 0.42,DamageDealtScale = 0.75,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthScale = 0.42,DamageDealtScale = 0.75,DoshGiven = 11)
)}
)},
// Hard
ZedAdjustmentsByDifficulty[1] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 0.9,DamageDealtScale = 0.85,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 0.85,DamageDealtScale = 0.85,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 0.75,DamageDealtScale = 0.85,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 0.85,DamageDealtScale = 0.85,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthScale = 0.85,DamageDealtScale = 0.85,DoshGiven = 5),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 0.84,DamageDealtScale = 0.85,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthScale = 0.84,DamageDealtScale = 0.85,DoshGiven = 11)
)}
)},
// Suicidal
ZedAdjustmentsByDifficulty[2] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 0.95,DamageDealtScale = 0.95,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 0.95,DamageDealtScale = 0.95,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 0.95,DamageDealtScale = 0.95,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 0.95,DamageDealtScale = 0.95,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthScale = 1.0,DamageDealtScale = 0.85,DoshGiven = 5),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 0.95,DamageDealtScale = 0.95,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthScale = 1.0,DamageDealtScale = 0.85,DoshGiven = 11)
)}
)},
// Hell On Earth
ZedAdjustmentsByDifficulty[3] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000)
)}
)},
// Hell On Earth Plus Base
ZedAdjustmentsByDifficulty[4] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000)
)}
)},
ZedAdjustmentIncrement = {(
HealthScale=0.0,
DamageDealtScale=0.01,
DamageTakenScale=0.0
)},
// Normal
ZedDiffOverride[0]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=1.2f,DamageMod=1.f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=1.1f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=1.1f,DamageMod=1.125f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=1.1f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.85f,DamageMod=1.15f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=1.13f,DamageMod=1.47f,SoloDamageMod=0.41),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=1.0f,DamageMod=1.15f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=0.9f,DamageMod=1.15f,SoloDamageMod=0.41),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=1.f,DamageMod=1.f)
)}
)},
// Hard
ZedDiffOverride[1]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=1.2f,DamageMod=1.f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=1.1f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=1.1f,DamageMod=1.125f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=1.1f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.85f,DamageMod=1.15f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=1.13f,DamageMod=1.47f,SoloDamageMod=0.41),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=1.0f,DamageMod=1.15f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=0.9f,DamageMod=1.15f,SoloDamageMod=0.41),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=1.f,DamageMod=1.f)
)}
)},
// Suicidal
ZedDiffOverride[2]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=1.2f,DamageMod=1.f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=1.1f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=1.1f,DamageMod=1.125f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=1.1f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.85f,DamageMod=1.15f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=1.13f,DamageMod=1.47f,SoloDamageMod=0.41),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=1.0f,DamageMod=1.15f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=0.9f,DamageMod=1.15f,SoloDamageMod=0.41),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=1.f,DamageMod=1.f)
)}
)},
// Hell on Earth
ZedDiffOverride[3]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=1.2f,DamageMod=1.f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=1.1f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=1.1f,DamageMod=1.125f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=1.1f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.85f,DamageMod=1.15f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=1.13f,DamageMod=1.47f,SoloDamageMod=0.41),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=1.0f,DamageMod=1.15f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=0.9f,DamageMod=1.15f,SoloDamageMod=0.41),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=1.f,DamageMod=1.f)
)}
)},
// Hell on Earth Plus
ZedDiffOverride[4]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=1.2f,DamageMod=1.f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=1.1f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=1.1f,DamageMod=1.125f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=1.1f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.85f,DamageMod=1.15f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=1.13f,DamageMod=1.47f,SoloDamageMod=0.41),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=1.0f,DamageMod=1.15f,SoloDamageMod=0.4),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=0.9f,DamageMod=1.15f,SoloDamageMod=0.41),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=1.f,DamageMod=1.f)
)}
)},
// Normal
OutbreakPctChances[0]=0.0,
// Hard
OutbreakPctChances[1]=0.2, //0.1
// Suicidal
OutbreakPctChances[2]=0.3, //0.2
// Hell on Earth
OutbreakPctChances[3]=0.4, //0.25
// Hell on Earth Plus
OutbreakPctChances[4]=0.5, //0.3
// Normal
SpecialWavePctChance[0]=0.1, //
// Hard
SpecialWavePctChance[1]=0.25, //0.1
// Suicidal
SpecialWavePctChance[2]=0.35, //0.2
// Hell on Earth
SpecialWavePctChance[3]=0.45, //0.025
// Hell on Earth Plus
SpecialWavePctChance[4]=0.5, //0.3
// Normal
DifficultySpecialWaveTypes[0]={(
SpecialWaveInfos[0]=(ZedType=AT_Clot, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[1]=(ZedType=AT_SlasherClot, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[2]=(ZedType=AT_Crawler, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[3]=(ZedType=AT_Stalker, PctChance=0.0, WaveScale=1.f, SpawnRateMultiplier=3.f),
SpecialWaveInfos[4]=(ZedType=AT_Siren, PctChance=0.0, WaveScale=0.5f, SpawnRateMultiplier=2.f),
SpecialWaveInfos[5]=(ZedType=AT_Husk, PctChance=0.0, WaveScale=0.75f, SpawnRateMultiplier=1.0f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=0.0, WaveScale=0.2f, SpawnRateMultiplier=0.25f),
SpecialWaveInfos[7]=(ZedType=AT_AlphaClot, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[8]=(ZedType=AT_GoreFast, PctChance=0.0, WaveScale=0.75f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.0, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[10]=(ZedType=AT_FleshPound, PctChance=0.0, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)},
// Hard
DifficultySpecialWaveTypes[1]={(
SpecialWaveInfos[7]=(ZedType=AT_AlphaClot, PctChance=0.2, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.2, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[1]=(ZedType=AT_SlasherClot, PctChance=0.2, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[2]=(ZedType=AT_Crawler, PctChance=0.2, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[3]=(ZedType=AT_Stalker, PctChance=0.2, WaveScale=1.f, SpawnRateMultiplier=3.f)
)},
// Suicidal
DifficultySpecialWaveTypes[2]={(
SpecialWaveInfos[8]=(ZedType=AT_GoreFast, PctChance=0.17, WaveScale=0.75f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.17, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[1]=(ZedType=AT_SlasherClot, PctChance=0.17, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[4]=(ZedType=AT_Siren, PctChance=0.17, WaveScale=0.5f, SpawnRateMultiplier=2.f),
SpecialWaveInfos[5]=(ZedType=AT_Husk, PctChance=0.17, WaveScale=0.75f, SpawnRateMultiplier=1.0f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=0.17, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)},
// Hell on Earth
DifficultySpecialWaveTypes[3]={(
SpecialWaveInfos[8]=(ZedType=AT_GoreFast, PctChance=0.25, WaveScale=0.75f, SpawnRateMultiplier=1.5f, bSpawnEnraged=true),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.25, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[5]=(ZedType=AT_Husk, PctChance=0.25, WaveScale=0.75f, SpawnRateMultiplier=1.0f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=0.25, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)},
// Hell on Earth Plus
DifficultySpecialWaveTypes[4]={(
SpecialWaveInfos[10]=(ZedType=AT_FleshPound, PctChance=0.0, WaveScale=0.2f, SpawnRateMultiplier=0.15f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=1.0, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)}
)}
// HELL ON EARTH START -----------------------------------------------------------------------------------------------------------------------------------------------------
DifficultyScalings(3)={(
// Hell On Earth
Difficulties[0]={(
TraderTime = 60,
MovementSpeedMod = 0.95, //1.05
SpawnRateModifier = 0.5, //1.0 //0.65
WaveCountMod = 0.850000, //1.0
DoshKillMod = 1.1, //0.8 0.6
StartingDosh = 250, //200
AmmoPickupsMod = 0.250000,
ItemPickupsMod = 0.100000,
MediumAttackChance = 1.000000,
HardAttackChance = 1.000000,
SelfInflictedDamageMod = 0.50000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Hell On Earth +
Difficulties[1]={(
TraderTime = 60,
MovementSpeedMod = 0.95, //1.05
SpawnRateModifier = 0.5, //1.0
WaveCountMod = 0.9, //1.7
DoshKillMod = 1.000000, //0.7 0.5
StartingDosh = 250, //200
AmmoPickupsMod = 0.250000,
ItemPickupsMod = 0.100000,
MediumAttackChance = 1.000000,
HardAttackChance = 1.000000,
SelfInflictedDamageMod = 0.50000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Hell On Earth ++
Difficulties[2]={(
TraderTime = 60,
MovementSpeedMod = 0.95, //1.05
SpawnRateModifier = 0.65, //1.0
WaveCountMod = 0.95, //1.7
DoshKillMod = 1.0, //0.7 0.5
StartingDosh = 250, //200
AmmoPickupsMod = 0.250000,
ItemPickupsMod = 0.100000,
MediumAttackChance = 1.000000,
HardAttackChance = 1.000000,
SelfInflictedDamageMod = 0.50000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Hell On Earth +++
Difficulties[3]={(
TraderTime = 60,
MovementSpeedMod = 0.95, //1.05
SpawnRateModifier = 0.6, //1.0
WaveCountMod = 1.0, //1.7
DoshKillMod = 1.00000, //0.7 0.5
StartingDosh = 250, //200
AmmoPickupsMod = 0.250000,
ItemPickupsMod = 0.100000,
MediumAttackChance = 1.000000,
HardAttackChance = 1.000000,
SelfInflictedDamageMod = 0.50000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Hell On Earth ++++
Difficulties[4]={(
TraderTime = 60,
MovementSpeedMod = 0.95, //1.05
SpawnRateModifier = 0.55, //1.0
WaveCountMod = 1.05000, //1.7
DoshKillMod = 1.00000, //0.7 0.5
StartingDosh = 250, //200
AmmoPickupsMod = 0.250000,
ItemPickupsMod = 0.100000,
MediumAttackChance = 1.000000,
HardAttackChance = 1.000000,
SelfInflictedDamageMod = 0.50000,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
DifficultyIncrement={(
TraderTime = 0,
GlobalHealthMod = 0.0,
MovementSpeedMod = 0.0,
WaveCountMod = 0.1, //0.1
SpawnRateModifier = -0.3,
DoshKillMod = -0.01,
StartingDosh = 0,
RespawnDosh = 0,
AmmoPickupsMod = 0.2, //this will need to go to other diff
ItemPickupsMod = 0.2, // this will need to go to other diff
WeakAttackChance = 0.0,
MediumAttackChance = 0.0,
HardAttackChance = 0.0,
SelfInflictedDamageMod = 0.0,
TraderTimerMapOverride[0]=(MapName="KF-DieSector",TraderTime=45)
)},
// Normal
ZedAdjustmentsByDifficulty[0] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 0.65,DamageDealtScale = 1.0,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 0.45,DamageDealtScale = 1.0,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 0.55,DamageDealtScale = 1.0,DoshGiven = 250),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 0.62,DamageDealtScale = 1.0,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 5),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 0.42,DamageDealtScale = 1.0,DoshGiven = 250), //750
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthScale = 0.55,DamageDealtScale = 1.0,DoshGiven = 11)
)}
)},
// Hard
ZedAdjustmentsByDifficulty[1] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 0.9,DamageDealtScale = 1.0,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 0.85,DamageDealtScale = 1.0,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 0.75,DamageDealtScale = 1.0,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 0.85,DamageDealtScale = 1.0,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 5),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 0.84,DamageDealtScale = 1.0,DoshGiven = 500),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthScale = 0.84,DamageDealtScale = 1.0,DoshGiven = 11)
)}
)},
// Suicidal
ZedAdjustmentsByDifficulty[2] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 0.95,DamageDealtScale = 1.0,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 0.95,DamageDealtScale = 1.0,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 0.95,DamageDealtScale = 1.0,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 0.95,DamageDealtScale = 1.0,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 5),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 0.95,DamageDealtScale = 1.0,DoshGiven = 800),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 11)
)}
)},
// Hell On Earth
ZedAdjustmentsByDifficulty[3] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000)
)}
)},
// Hell On Earth Plus Base
ZedAdjustmentsByDifficulty[4] = {(
ZedsToAdjust = {(
(ClassToAdjust = class'KFGameContent.KFPawn_ZedPatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedHans',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedMatriarch',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedBloatKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000),
(ClassToAdjust = class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthScale = 1.0,DamageDealtScale = 1.0,DoshGiven = 1000)
)}
)},
ZedAdjustmentIncrement = {(
HealthScale=0.0,
DamageDealtScale=.01,
DamageTakenScale=0.0
)},
// Normal
ZedDiffOverride[0]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=1.3f,DamageMod=1.5f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=1.3f,DamageMod=1.5f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=1.1f,DamageMod=1.25f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=1.2f,DamageMod=1.25f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=1.15f,DamageMod=1.05f, SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.91f,DamageMod=1.18f,SoloDamageMod=0.51),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=1.39f,DamageMod=1.45f,SoloDamageMod=0.52),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=1.2f,DamageMod=1.45f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=1.2f,DamageMod=1.2f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=1.05f,DamageMod=1.2f,SoloDamageMod=0.52),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=1.f,DamageMod=1.f)
)}
)},
// Hard
ZedDiffOverride[1]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=1.3f,DamageMod=1.5f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=1.3f,DamageMod=1.5f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=1.1f,DamageMod=1.25f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=1.2f,DamageMod=1.25f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=1.15f,DamageMod=1.05f, SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.91f,DamageMod=1.18f,SoloDamageMod=0.51),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=1.39f,DamageMod=1.45f,SoloDamageMod=0.52),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=1.2f,DamageMod=1.45f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=1.2f,DamageMod=1.2f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=1.05f,DamageMod=1.2f,SoloDamageMod=0.52),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=1.f,DamageMod=1.f)
)}
)},
// Suicidal
ZedDiffOverride[2]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=1.3f,DamageMod=1.5f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=1.3f,DamageMod=1.5f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=1.1f,DamageMod=1.25f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=1.2f,DamageMod=1.25f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=1.15f,DamageMod=1.05f, SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.91f,DamageMod=1.18f,SoloDamageMod=0.51),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=1.39f,DamageMod=1.45f,SoloDamageMod=0.52),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=1.2f,DamageMod=1.45f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=1.2f,DamageMod=1.2f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=1.05f,DamageMod=1.2f,SoloDamageMod=0.52),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=1.f,DamageMod=1.f)
)}
)},
// Hell on Earth
ZedDiffOverride[3]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=1.3f,DamageMod=1.5f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=1.3f,DamageMod=1.5f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=1.1f,DamageMod=1.25f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=1.2f,DamageMod=1.25f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=1.15f,DamageMod=1.05f, SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.91f,DamageMod=1.18f,SoloDamageMod=0.51),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=1.39f,DamageMod=1.45f,SoloDamageMod=0.52),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=1.2f,DamageMod=1.45f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=1.2f,DamageMod=1.2f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=1.05f,DamageMod=1.2f,SoloDamageMod=0.52),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=1.f,DamageMod=1.f)
)}
)},
// Hell on Earth Plus
ZedDiffOverride[4]={(
ZedsOverride={(
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Cyst',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Alpha',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_AlphaKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedClot_Slasher',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedSiren',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedStalker',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawler',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedCrawlerKing',HealthMod=1.f,DamageMod=1.f),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefast',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedGorefastDualBlade',HealthMod=1.f,DamageMod=1.f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloat',HealthMod=1.3f,DamageMod=1.5f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHusk',HealthMod=1.3f,DamageMod=1.5f,SoloDamageMod=0.75),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedScrake',HealthMod=1.1f,DamageMod=1.25f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpound',HealthMod=1.2f,DamageMod=1.25f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundMini',HealthMod=1.15f,DamageMod=1.05f, SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedHans',HealthMod=0.91f,DamageMod=1.18f,SoloDamageMod=0.51),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedPatriarch',HealthMod=1.39f,DamageMod=1.45f,SoloDamageMod=0.52),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedMatriarch',HealthMod=1.2f,DamageMod=1.45f,SoloDamageMod=0.5),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedFleshpoundKing',HealthMod=1.2f,DamageMod=1.2f,SoloDamageMod=0.65),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKing',HealthMod=1.05f,DamageMod=1.2f,SoloDamageMod=0.52),
(ClassToAdjust=class'KFGameContent.KFPawn_ZedBloatKingSubspawn',HealthMod=1.f,DamageMod=1.f)
)}
)},
// Normal
OutbreakPctChances[0]=0.0,
// Hard
OutbreakPctChances[1]=0.2, //0.1
// Suicidal
OutbreakPctChances[2]=0.3, //0.2
// Hell on Earth
OutbreakPctChances[3]=0.4, //0.25
// Hell on Earth Plus
OutbreakPctChances[4]=0.5, //0.3
// Normal
SpecialWavePctChance[0]=0.1, //
// Hard
SpecialWavePctChance[1]=0.25, //0.1
// Suicidal
SpecialWavePctChance[2]=0.35, //0.2
// Hell on Earth
SpecialWavePctChance[3]=0.45, //0.025
// Hell on Earth Plus
SpecialWavePctChance[4]=0.5, //0.3
// Normal
DifficultySpecialWaveTypes[0]={(
SpecialWaveInfos[0]=(ZedType=AT_Clot, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[1]=(ZedType=AT_SlasherClot, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[2]=(ZedType=AT_Crawler, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[3]=(ZedType=AT_Stalker, PctChance=0.0, WaveScale=1.f, SpawnRateMultiplier=3.f),
SpecialWaveInfos[4]=(ZedType=AT_Siren, PctChance=0.0, WaveScale=0.5f, SpawnRateMultiplier=2.f),
SpecialWaveInfos[5]=(ZedType=AT_Husk, PctChance=0.0, WaveScale=0.75f, SpawnRateMultiplier=1.0f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=0.0, WaveScale=0.2f, SpawnRateMultiplier=0.25f),
SpecialWaveInfos[7]=(ZedType=AT_AlphaClot, PctChance=0.25, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[8]=(ZedType=AT_GoreFast, PctChance=0.0, WaveScale=0.75f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.0, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[10]=(ZedType=AT_FleshPound, PctChance=0.0, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)},
// Hard
DifficultySpecialWaveTypes[1]={(
SpecialWaveInfos[7]=(ZedType=AT_AlphaClot, PctChance=0.2, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.2, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[1]=(ZedType=AT_SlasherClot, PctChance=0.2, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[2]=(ZedType=AT_Crawler, PctChance=0.2, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[3]=(ZedType=AT_Stalker, PctChance=0.2, WaveScale=1.f, SpawnRateMultiplier=3.f)
)},
// Suicidal
DifficultySpecialWaveTypes[2]={(
SpecialWaveInfos[8]=(ZedType=AT_GoreFast, PctChance=0.17, WaveScale=0.75f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.17, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[1]=(ZedType=AT_SlasherClot, PctChance=0.17, WaveScale=2.f, SpawnRateMultiplier=10.0f, bSpawnEnraged=true),
SpecialWaveInfos[4]=(ZedType=AT_Siren, PctChance=0.17, WaveScale=0.5f, SpawnRateMultiplier=2.f),
SpecialWaveInfos[5]=(ZedType=AT_Husk, PctChance=0.17, WaveScale=0.75f, SpawnRateMultiplier=1.0f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=0.17, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)},
// Hell on Earth
DifficultySpecialWaveTypes[3]={(
SpecialWaveInfos[8]=(ZedType=AT_GoreFast, PctChance=0.25, WaveScale=0.75f, SpawnRateMultiplier=1.5f, bSpawnEnraged=true),
SpecialWaveInfos[9]=(ZedType=AT_Bloat, PctChance=0.25, WaveScale=0.5f, SpawnRateMultiplier=1.5f),
SpecialWaveInfos[5]=(ZedType=AT_Husk, PctChance=0.25, WaveScale=0.75f, SpawnRateMultiplier=1.0f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=0.25, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)},
// Hell on Earth Plus
DifficultySpecialWaveTypes[4]={(
SpecialWaveInfos[10]=(ZedType=AT_FleshPound, PctChance=0.0, WaveScale=0.2f, SpawnRateMultiplier=0.15f),
SpecialWaveInfos[6]=(ZedType=AT_Scrake, PctChance=1.0, WaveScale=0.2f, SpawnRateMultiplier=0.25f)
)}
)}
}