//=============================================================================
// 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)
		)}
	)}
}
