package BaseStatPools
using RTDB

Health : StatPool
{
	enumName = "Health";
	stat = "BaseStats.Health";
	regen = "BaseStatPools.HealthRegeneration";
	decay = "";
}

Oxygen : StatPool
{
	enumName = "Oxygen";
	stat = "BaseStats.Oxygen";
	regen = "BaseStatPools.OxygenRegeneration";
	decay = "BaseStatPools.OxygenDecay";
}

Stamina : StatPool
{
	enumName = "Stamina";
	stat = "BaseStats.Stamina";
	regen = "BaseStatPools.StaminaRegeneration";
	decay = "BaseStatPools.StaminaDecay";
	initialValue = 100.0f;
}

Armor : StatPool
{
	enumName = "Armor";
	stat = "BaseStats.Armor";
	regen = "";
	decay = "";
}

Overshield : StatPool
{
	enumName = "Overshield";
	stat = "BaseStats.Overshield";
	decay = "";
	initialValue = 0.0f;
}

HitShapeArmor : StatPool
{
	enumName = "HitShapeArmor";
	stat = "BaseStats.HitShapeArmor";
	regen = "";
	decay = "";
}

CPO_Armor : StatPool
{
	enumName = "CPO_Armor";
	stat = "BaseStats.CPO_Armor";
	regen = "BaseStatPools.CPO_ArmorRegeneration";
	decay = "";
}

CPUPower : StatPool
{
	enumName = "CPUPower";
	stat = "BaseStats.CPUPower";
	regen = "BaseStatPools.CPUPowerRegeneration";
	decay = "";
}

Memory : StatPool
{
	enumName = "Memory";
	stat = "BaseStats.Memory";
	regen = "";
}

TutorialMemory : Memory
{
	regen = "";
}

PhoneCallDuration : StatPool
{
	enumName = "PhoneCallDuration";
	stat = "BaseStats.PhoneCallDuration";
	regen = "BaseStatPools.PhoneCallFill";
	initialValue = 0.f;
}

BaseQuickHackUpload : StatPool
{
	enumName = "QuickHackUpload";
	stat = "BaseStats.QuickHackUpload";
	regen = "BaseStatPools.BaseQuickHackFill";
	initialValue = 0.f;
	savable = false;
}

QuickHackDuration : StatPool
{
	enumName = "QuickHackDuration";
	stat = "BaseStats.QuickHackDuration";
	regen = "BaseStatPools.BaseQuickHackFill";
	initialValue = 0.f;
}

SuicideQuickHackUpload : BaseQuickHackUpload
{
	regen = "BaseStatPools.SuicideQuickHackFill";
}

GrenadeQuickHackUpload : BaseQuickHackUpload
{
	regen = "BaseStatPools.GrenadeQuickHackFill";
}

BaseQuickHackFill : PoolValueModifier
{
	enabled = true;
	rangeBegin = 0;
	rangeEnd = 100;
	startDelay = 0;
	valuePerSec = 33.3;
	delayOnChange = false;
}

PhoneCallFill : PoolValueModifier
{
	enabled = true;
	rangeBegin = 0;
	rangeEnd = 100;
	startDelay = 0;
	valuePerSec = 33.3;
	delayOnChange = false;
}

SuicideQuickHackFill : BaseQuickHackFill
{
	valuePerSec = 50;
}

GrenadeQuickHackFill : BaseQuickHackFill
{
}

GrenadesCharges : StatPool
{
	enumName = "GrenadesCharges";
	enumComment = "GrenadesCharges";
	stat = "BaseStats.GrenadesCharges";
}

HealingItemsCharges : StatPool
{
	enumName = "HealingItemsCharges";
	enumComment = "HealingItemsCharges";
	stat = "BaseStats.HealingItemsCharges";
}

OpticalCamoCharges : StatPool
{
	enumName = "OpticalCamoCharges";
	enumComment = "OpticalCamoCharges";
	stat = "BaseStats.OpticalCamoCharges";
}

CWMaskCharges : StatPool
{
	enumName = "CWMaskCharges";
	enumComment = "CWMaskCharges";
	stat = "BaseStats.CWMaskCharges";
}

ProjectileLauncherCharges : StatPool
{
	enumName = "ProjectileLauncherCharges";
	enumComment = "ProjectileLauncherCharges";
	stat = "BaseStats.ProjectileLauncherCharges";
}

VehicleMissileLauncherCharges : StatPool
{
	enumName = "VehicleMissileLauncherCharges";
	enumComment = "VehicleMissileLauncherCharges";
	stat = "BaseStats.VehicleMissileLauncherCharges";
}

BerserkCharge : StatPool
{
	enumName = "BerserkCharge";
	enumComment = "BerserkCharge";
	stat = "BaseStats.BerserkCooldownBase";
}

SandevistanCharge : StatPool
{
	enumName = "SandevistanCharge";
	enumComment = "SandevistanCharge";
	stat = "BaseStats.TimeDilationSandevistanDuration";
}

CyberdeckOverclock : StatPool
{
	enumName = "CyberdeckOverclock";
	enumComment = "CyberdeckOverclock";
	stat = "BaseStats.CyberdeckOverclockStatValue";
}

NanowireBreachUpload : BaseQuickHackUpload
{
	regen = "BaseStatPools.NanowireBreachFill";
}

NanowireBreachFill : BaseQuickHackFill
{
	valuePerSec = 166;
}

CPUPowerRegeneration : PoolValueModifier
{
	enabled = true;
	rangeBegin = 0;
	rangeEnd = 100;
	startDelay = 2;
	valuePerSec = 3;
	delayOnChange = true;
}

OxygenRegeneration : PoolValueModifier
{
	enabled = false;
	rangeBegin = 0;
	rangeEnd = 100;
	startDelay = 1;
	valuePerSec = 30;
	delayOnChange = true;
}

OxygenDecay : PoolValueModifier
{
	enabled = false;
	rangeBegin = 0;
	rangeEnd = 100;
	startDelay = 0.5;
	valuePerSec = 1.67;
}

HealthRegeneration : PoolValueModifier
{
	enabled = true;
	rangeBegin = 40;
	rangeEnd = 70;
	startDelay = 1;
	valuePerSec = 3;
	delayOnChange = true;
}

MemoryRegeneration : PoolValueModifier
{
	enabled = true;
	rangeBegin = 0;
	rangeEnd = 100;
	startDelay = 15;
	valuePerSec = 1;
	delayOnChange = true;
}

StaminaRegeneration : PoolValueModifier
{
	enabled = true;
	rangeBegin = 0;
	rangeEnd = 100;
	startDelay = 1;
	valuePerSec = 10;
	delayOnChange = true;
}

StaminaDecay : PoolValueModifier
{
	enabled = true;
	rangeBegin = 0;
	rangeEnd = 100;
	startDelay = 1;
	valuePerSec = 5;
	delayOnChange = true;
}

NpcStaminaRegeneration : PoolValueModifier
{
	enabled = true;
	rangeBegin = 0;
	rangeEnd = 100;
	startDelay = 2;
	valuePerSec = 50;
	delayOnChange = true;
}

CPO_ArmorRegeneration : PoolValueModifier
{
	enabled = true;
	rangeBegin = 0;
	rangeEnd = 100;
	startDelay = 5;
	valuePerSec = 25;
	delayOnChange = true;
}

LeftArmHealth : StatPool
{
	enumName = "LeftArmHealth";
	stat = "BaseStats.LimbHealth";
	regen = "BaseStatPools.LeftArmHealthRegeneration";
	decay = "";
}

LeftArmHealthRegeneration : PoolValueModifier
{
	enabled = true;
	rangeBegin = 40;
	rangeEnd = 70;
	startDelay = 1;
	valuePerSec = 3;
}

LeftLegHealth : StatPool
{
	enumName = "LeftLegHealth";
	stat = "BaseStats.LimbHealth";
	regen = "BaseStatPools.LeftLegHealthRegeneration";
	decay = "";
}

LeftLegHealthRegeneration : PoolValueModifier
{
	enabled = true;
	rangeBegin = 40;
	rangeEnd = 70;
	startDelay = 1;
	valuePerSec = 3;
}

RightLegHealth : StatPool
{
	enumName = "RightLegHealth";
	stat = "BaseStats.LimbHealth";
	regen = "BaseStatPools.RightLegHealthRegeneration";
	decay = "";
}

RightLegHealthRegeneration : PoolValueModifier
{
	enabled = true;
	rangeBegin = 40;
	rangeEnd = 70;
	startDelay = 1;
	valuePerSec = 3;
}

Adrenaline : StatPool
{
	enumName = "Adrenaline";
	stat = "BaseStats.Adrenaline";
}

WeakspotHealth : StatPool
{
	enumName = "WeakspotHealth";
	stat = "BaseStats.Health";
}

E3_BossWeakSpotHealth : StatPool
{
	enumName = "E3_BossWeakSpotHealth";
	stat = "BaseStats.LimbHealth";
}

HealthDecay : PoolValueModifier
{
	enabled = true;
	rangeBegin = 80;
	rangeEnd = 200;
	startDelay = 5;
	valuePerSec = 2;
	delayOnChange = true;
}

HealthChunkRegeneration : PoolValueModifier
{
	enabled = true;
	rangeBegin = 0;
	rangeEnd = 50;
	startDelay = 0;
	valuePerSec = 3;
}

Durability : StatPool
{
	enumName = "Durability";
	stat = "BaseStats.Health";
}

HealthChunkDecay : PoolValueModifier
{
	enabled = true;
	rangeBegin = 50;
	rangeEnd = 100;
	startDelay = 0;
	valuePerSec = 2;
}

Fear : StatPool
{
	enumName = "Fear";
	stat = "BaseStats.PersonalityFear";
	decay = "BaseStatPools.ReactionValueDecay";
	initialValue = 0.0f;
}

Aggressiveness : StatPool
{
	enumName = "Aggressiveness";
	stat = "BaseStats.PersonalityAggressive";
	decay = "BaseStatPools.ReactionValueDecay";
	initialValue = 0.0f;
}

ReactionValueDecay : PoolValueModifier
{
	enabled = true;
	rangeBegin = 0;
	rangeEnd = 100;
	startDelay = 50;
	valuePerSec = 20;
}

CPO_NPC_Importance : StatPool
{
	enumName = "CPO_NPC_Importance";
	stat = "BaseStats.CPO_NPC_Importance";
}

CallReinforcementProgress : StatPool
{
	enumName = "CallReinforcementProgress";
	stat = "BaseStats.CallReinforcement";
	regen = "";
	decay = "";
	initialValue = 0.0f;
}

ReprimandEscalation : StatPool
{
	enumName = "ReprimandEscalation";
	stat = "BaseStats.ReprimandEscalation";
	regen = "BaseStatPools.ReprimandEscalate";
	decay = "BaseStatPools.ReprimandDeescalate";
	initialValue = 0.0f;
}

ReprimandEscalate : PoolValueModifier
{
	enabled = true;
	rangeBegin = 0;
	rangeEnd = 100;
	valuePerSec = 20;
}

ReprimandDeescalate : ReprimandEscalate
{
	enabled = false;
}

AccumulatedDoT : StatPool
{
	enumName = "AccumulatedDoT";
	enumComment = "Stat Pool for holding all accumulated Damage Over Time from Blood Depleter CW";
	stat = "BaseStats.AccumulatedDoT";
	regen = "";
	decay = "";
	initialValue = 0.0f;
}

AccumulatedDoTDecay : PoolValueModifier
{
	enabled = true;
	rangeBegin = 0;
	rangeEnd = 9999;
	startDelay = 1;
	valuePerSec = 5;
	delayOnChange = true;
}

Poise : StatPool
{
	enumName = "Poise";
	enumComment = "Poise of an entity, their resistance to finishers";
	stat = "BaseStats.Poise";
	regen = "BaseStatPools.PoiseRegeneration";
	decay = "";
	initialValue = 100.0f;
}

PoiseRegeneration : PoolValueModifier
{
	enabled = true;
	rangeBegin = 0;
	rangeEnd = 100;
	startDelay = 3;
	valuePerSec = 5;
	delayOnChange = true;
}

TimeBank : StatPool
{
	enumName = "TimeBank";
	enumComment = "Stat Pool for holding all charges for Time Bank CW";
	stat = "BaseStats.TimeBankCharges";
	regen = "";
	decay = "";
}

TimeBankRegen : PoolValueModifier
{
	enabled = true;
	rangeBegin = 0;
	rangeEnd = 30;
	startDelay = 1;
	valuePerSec = 1;
	delayOnChange = true;
}

JenkinsHelper : StatPool
{
	enumName = "JenkinsHelper";
	enumComment = "Stat Pool for helping the JenkinsTendons cyberware work with the StatPoolBasedStatusEffectEffector";
	stat = "BaseStats.JenkinsHelper";
	regen = "BaseStatPools.JenkinsHelperRegen";
	decay = "BaseStatPools.JenkinsHelperDecay";
}

