package BaseStatusEffect
using RTDB, Perks, Effectors, Attacks, Prereqs, Items

Stat_Buff : StatusEffect
{
	statusEffectType = "BaseStatusEffectTypes.PassiveBuff";
	bool replicated = true;
	string displayName = "Stats Increased";
	string iconPath = "increased_stats_icon";
	fk< StatusEffectFX >[] VFX = 
	[
		{
			name = "status_increased_stats";
		}
	];
	fk< StatModifierGroup > duration = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				value = 5;
			} : ConstantStatModifier
		];
	};
	bool canReapply = true;
}

TimedImmunity : StatusEffect
{
	statusEffectType = "BaseStatusEffectTypes.PassiveBuff";
	bool replicated = true;
	CName[] gameplayTags = 
	[
		"Buff", "Immunity"
	];
	fk< StatusEffectFX >[] VFX = 
	[
		{
			name = "status_increased_stats";
		}
	];
	fk< GameplayLogicPackage >[] packages = 
	[
		"GLP.MaxResistances"
	];
	fk< StatusEffectUIData > uiData = 
	{
		displayName = "Limited time immunity";
		iconPath = "increased_stats_icon";
		priority = -1.0f;
	} : StatusEffectUIData;
}

KerenzikovBuff : Stat_Buff
{
	fk< StatModifierGroup > duration = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				value = 60;
			} : ConstantStatModifier
		];
	};
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.HasKerenzikov";
					modifierType = "Additive";
					value = 1.0f;
				} : ConstantStatModifier
			];
		}
	];
}

PainInhibitors : StatusEffect
{
	CName[] gameplayTags += 
	[
		"Regenerate"
	];
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			fk< StatModifierGroup > duration = "BaseStats.InfiniteDuration";
		} : GameplayLogicPackage, 
		{
			effectors = 
			[
				"Sasquatch.RegenerateEffector"
			];
		} : GameplayLogicPackage
	];
}

HumanShield : StatusEffect
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.TBHsBaseCoefficient";
					modifierType = "AdditiveMultiplier";
					value = 1.5f;
				} : ConstantStatModifier
			];
		}
	];
}

SuppressVisibility : StatusEffect
{
	statusEffectType = "BaseStatusEffectTypes.PassiveBuff";
	CName[] gameplayTags = 
	[
		"Buff", "Visibility"
	];
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.Visibility";
					modifierType = "Additive";
					value = -0.8f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.VisualStimRangeMultiplier";
					modifierType = "Multiplier";
					value = 0.5f;
				} : ConstantStatModifier
			];
		}
	];
}

SuppressNoise : StatusEffect
{
	statusEffectType = "BaseStatusEffectTypes.PassiveBuff";
	CName[] gameplayTags = 
	[
		"Buff", "Audio"
	];
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.AudioStimRangeMultiplier";
					modifierType = "Multiplier";
					value = 0.5f;
				} : ConstantStatModifier
			];
		}
	];
}

GreaterSuppressNoise : StatusEffect
{
	statusEffectType = "BaseStatusEffectTypes.PassiveBuff";
	CName[] gameplayTags = 
	[
		"Buff", "Audio"
	];
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.AudioStimRangeMultiplier";
					modifierType = "Multiplier";
					value = 0.3f;
				} : ConstantStatModifier
			];
		}
	];
}

TroubleFinderPlayerBuffCommon : BuffStatusEffect
{
	gameplayTags += 
	[
		"CyberwareBuff"
	];
	savable = false;
	VFX = 
	[
		{
			name = "leeroy_jenkins";
		}
	];
	maxStacks = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxStacks";
				modifierType = "Additive";
				value = -1;
			} : ConstantStatModifier
		];
	};
	duration = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				value = -1;
			} : ConstantStatModifier
		];
	};
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.0125;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

TroubleFinderPlayerBuffCommonPlus : TroubleFinderPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.014375;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

TroubleFinderPlayerBuffUncommon : TroubleFinderPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.018125;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

TroubleFinderPlayerBuffUncommonPlus : TroubleFinderPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.02;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

TroubleFinderPlayerBuffRare : TroubleFinderPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.02375;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

TroubleFinderPlayerBuffRarePlus : TroubleFinderPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.025625;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

TroubleFinderPlayerBuffEpic : TroubleFinderPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.029375;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

TroubleFinderPlayerBuffEpicPlus : TroubleFinderPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.03125;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

TroubleFinderPlayerBuffLegendary : TroubleFinderPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.035;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

TroubleFinderPlayerBuffLegendaryPlus : TroubleFinderPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.0375;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

TroubleFinderPlayerBuffLegendaryPlusPlus : TroubleFinderPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.04;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

DetectorRushAvailableStatusEffect : BuffStatusEffect
{
}

DetectorRushPlayerBuffCommon : BuffStatusEffect
{
	gameplayTags += 
	[
		"DetectorRushBuff", "CyberwareBuff"
	];
	VFX = 
	[
		{
			name = "catch_me";
		}
	];
	duration = 
	{
		statModifiers += 
		[
			{
				value = 3.0f;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
	uiData = 
	{
		displayName = "LocKey#85327";
		iconPath = "sandevistan_buff_icon";
	};
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.2f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

DetectorRushPlayerBuffCommonPlus : DetectorRushPlayerBuffCommon
{
	duration = 
	{
		statModifiers += 
		[
			{
				value = 4.0f;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
}

DetectorRushPlayerBuffUncommon : DetectorRushPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.25f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	duration = 
	{
		statModifiers += 
		[
			{
				value = 4.0f;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
}

DetectorRushPlayerBuffUncommonPlus : DetectorRushPlayerBuffUncommon
{
	duration = 
	{
		statModifiers += 
		[
			{
				value = 5.0f;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
}

DetectorRushPlayerBuffRare : DetectorRushPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.3f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	duration = 
	{
		statModifiers += 
		[
			{
				value = 5.0f;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
}

DetectorRushPlayerBuffRarePlus : DetectorRushPlayerBuffRare
{
	duration = 
	{
		statModifiers += 
		[
			{
				value = 6.0f;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
}

DetectorRushPlayerBuffEpic : DetectorRushPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.35f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	duration = 
	{
		statModifiers += 
		[
			{
				value = 6.0f;
			} : BaseDurationMod
		];
	};
}

DetectorRushPlayerBuffEpicPlus : DetectorRushPlayerBuffEpic
{
	duration = 
	{
		statModifiers += 
		[
			{
				value = 7.0f;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
}

DetectorRushPlayerBuffLegendary : DetectorRushPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.4f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	duration = 
	{
		statModifiers += 
		[
			{
				value = 7.0f;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
}

DetectorRushPlayerBuffLegendaryPlus : DetectorRushPlayerBuffLegendary
{
	duration = 
	{
		statModifiers += 
		[
			{
				value = 8.0f;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
}

DetectorRushPlayerBuffLegendaryPlusPlus : DetectorRushPlayerBuffLegendary
{
	duration = 
	{
		statModifiers += 
		[
			{
				value = 9.0f;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
}

IconicDetectorRushPlayerBuffRare : DetectorRushPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.20f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	duration = 
	{
		statModifiers += 
		[
			{
				value = 10.0f;
			} : BaseDurationMod, 
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				refStat = "BaseStats.Reflexes";
				refObject = "Player";
				opSymbol = "*";
				value = 3f;
			} : CombinedStatModifier
		];
	} : CyberwareBuffDuration;
}

IconicDetectorRushPlayerBuffRarePlus : DetectorRushPlayerBuffRare
{
	duration = 
	{
		statModifiers += 
		[
			{
				value = 15.0f;
			} : BaseDurationMod, 
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				refStat = "BaseStats.Reflexes";
				refObject = "Player";
				opSymbol = "*";
				value = 3f;
			} : CombinedStatModifier
		];
	} : CyberwareBuffDuration;
}

IconicDetectorRushPlayerBuffEpic : DetectorRushPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.25f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	duration = 
	{
		statModifiers += 
		[
			{
				value = 20.0f;
			} : BaseDurationMod, 
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				refStat = "BaseStats.Reflexes";
				refObject = "Player";
				opSymbol = "*";
				value = 3f;
			} : CombinedStatModifier
		];
	};
}

IconicDetectorRushPlayerBuffEpicPlus : DetectorRushPlayerBuffEpic
{
	duration = 
	{
		statModifiers += 
		[
			{
				value = 25.0f;
			} : BaseDurationMod, 
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				refStat = "BaseStats.Reflexes";
				refObject = "Player";
				opSymbol = "*";
				value = 3f;
			} : CombinedStatModifier
		];
	} : CyberwareBuffDuration;
}

IconicDetectorRushPlayerBuffLegendary : DetectorRushPlayerBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.30f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	duration = 
	{
		statModifiers += 
		[
			{
				value = 30.0f;
			} : BaseDurationMod, 
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				refStat = "BaseStats.Reflexes";
				refObject = "Player";
				opSymbol = "*";
				value = 3f;
			} : CombinedStatModifier
		];
	} : CyberwareBuffDuration;
}

IconicDetectorRushPlayerBuffLegendaryPlus : DetectorRushPlayerBuffLegendary
{
	duration = 
	{
		statModifiers += 
		[
			{
				value = 35.0f;
			} : BaseDurationMod, 
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				refStat = "BaseStats.Reflexes";
				refObject = "Player";
				opSymbol = "*";
				value = 3f;
			} : CombinedStatModifier
		];
	} : CyberwareBuffDuration;
}

IconicDetectorRushPlayerBuffLegendaryPlusPlus : DetectorRushPlayerBuffLegendary
{
	duration = 
	{
		statModifiers += 
		[
			{
				value = 40.0f;
			} : BaseDurationMod, 
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				refStat = "BaseStats.Reflexes";
				refObject = "Player";
				opSymbol = "*";
				value = 3f;
			} : CombinedStatModifier
		];
	} : CyberwareBuffDuration;
}

JenkinsPlayerBuff : BuffStatusEffect
{
	gameplayTags += 
	[
		"CyberwareBuff"
	];
	savable = false;
	uiData = 
	{
		displayName = "LocKey#85345";
		iconPath = "";
	};
	maxStacks = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxStacks";
				modifierType = "Additive";
				value = -1;
			} : ConstantStatModifier
		];
	};
	duration = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				value = -1;
			} : ConstantStatModifier
		];
	};
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.01;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

RapidMuscleNurishBuffCommon : BuffStatusEffect
{
	gameplayTags += 
	[
		"CyberwareBuff"
	];
	fk< StatModifierGroup > duration = 
	{
		statModifiers += 
		[
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				value = .5f;
			} : ConstantStatModifier
		];
	} : CyberwareBuffDuration;
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			fk< Effector >[] effectors = 
			[
				{
					prereqRecord = "Prereqs.AlwaysTruePrereq";
					statPoolUpdates = 
					[
						{
							statPoolType = "BaseStatPools.Stamina";
							statPoolValue = 10f;
						} : StatPoolUpdate
					];
				} : ModifyStatPoolValueEffector
			];
		} : GameplayLogicPackage
	];
}

RapidMuscleNurishBuffUncommon : RapidMuscleNurishBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			fk< Effector >[] effectors = 
			[
				{
					prereqRecord = "Prereqs.AlwaysTruePrereq";
					statPoolUpdates = 
					[
						{
							statPoolType = "BaseStatPools.Stamina";
							statPoolValue = 12f;
						} : StatPoolUpdate
					];
				} : ModifyStatPoolValueEffector
			];
		} : GameplayLogicPackage
	];
}

RapidMuscleNurishBuffRare : RapidMuscleNurishBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			fk< Effector >[] effectors = 
			[
				{
					prereqRecord = "Prereqs.AlwaysTruePrereq";
					statPoolUpdates = 
					[
						{
							statPoolType = "BaseStatPools.Stamina";
							statPoolValue = 14f;
						} : StatPoolUpdate
					];
				} : ModifyStatPoolValueEffector
			];
		} : GameplayLogicPackage
	];
}

RapidMuscleNurishBuffEpic : RapidMuscleNurishBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			fk< Effector >[] effectors = 
			[
				{
					float modificationValue = 16;
					statPoolUpdates = 
					[
						{
							statPoolType = "BaseStatPools.Stamina";
							statPoolValue = 16f;
						} : StatPoolUpdate
					];
				} : ModifyStatPoolValueEffector
			];
		} : GameplayLogicPackage
	];
}

RapidMuscleNurishBuffLegendary : RapidMuscleNurishBuffCommon
{
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			fk< Effector >[] effectors = 
			[
				{
					prereqRecord = "Prereqs.AlwaysTruePrereq";
					statPoolUpdates = 
					[
						{
							statPoolType = "BaseStatPools.Stamina";
							statPoolValue = 18f;
						} : StatPoolUpdate
					];
				} : ModifyStatPoolValueEffector
			];
		} : GameplayLogicPackage
	];
}

PlatingGlitchBuffCommon : BuffStatusEffect
{
	gameplayTags += 
	[
		"CyberwareBuff"
	];
	fk< StatModifierGroup > duration = 
	{
		statModifiers += 
		[
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				value = 2;
			} : ConstantStatModifier
		];
	} : CyberwareBuffDuration;
	uiData = 
	{
		displayName = "LocKey#85325";
		iconPath = "perks_mitigation";
	};
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.MitigationChance";
					modifierType = "Additive";
					value = 100;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

PlatingGlitchBuffUncommon : PlatingGlitchBuffCommon
{
	fk< StatModifierGroup > duration = 
	{
		statModifiers += 
		[
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				value = 2.5;
			} : ConstantStatModifier
		];
	} : CyberwareBuffDuration;
}

PlatingGlitchBuffRare : PlatingGlitchBuffCommon
{
	fk< StatModifierGroup > duration = 
	{
		statModifiers += 
		[
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				value = 3;
			} : ConstantStatModifier
		];
	} : CyberwareBuffDuration;
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.MitigationChance";
					modifierType = "Additive";
					value = 50;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

PlatingGlitchBuffEpic : PlatingGlitchBuffCommon
{
	fk< StatModifierGroup > duration = 
	{
		statModifiers += 
		[
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				value = 3.5;
			} : ConstantStatModifier
		];
	} : CyberwareBuffDuration;
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.MitigationChance";
					modifierType = "Additive";
					value = 70;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

PlatingGlitchBuffLegendary : PlatingGlitchBuffCommon
{
	fk< StatModifierGroup > duration = 
	{
		statModifiers += 
		[
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				value = 4;
			} : ConstantStatModifier
		];
	} : CyberwareBuffDuration;
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.MitigationChance";
					modifierType = "Additive";
					value = 90;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

KerenzikovsBoostSystemBuff : Stat_Buff
{
	gameplayTags += 
	[
		"CyberwareBuff"
	];
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.HandgunStaminaCostReduction";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.LightMachinegunStaminaCostReduction";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.RevolverStaminaCostReduction";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.AssaultRifleStaminaCostReduction";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.PrecisionRifleStaminaCostReduction";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.SniperStaminaCostReduction";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.DualShotgunStaminaCostReduction";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.ShotgunStaminaCostReduction";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.SubMachinegunStaminaCostReduction";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier
			];
		}
	];
}

LimfaticNanoChargeSystemBuff : BuffStatusEffect
{
	gameplayTags += 
	[
		"CyberwareBuff"
	];
	savable = false;
	maxStacks = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxStacks";
				modifierType = "Additive";
				value = 1;
			} : ConstantStatModifier
		];
	};
	duration = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				value = -1;
			} : ConstantStatModifier
		];
	};
}

NanoTechPlatesBlockIndication : BuffStatusEffect
{
	uiData = 
	{
		string displayName = "LocKey#93721";
		string iconPath = "armor_boost";
	};
	duration = "BaseStats.InfiniteDuration";
	maxStacks = "BaseStats.InfiniteStacks";
	gameplayTags += 
	[
		"CyberwareBuff", "NanoTechPlatesBlock"
	];
}

NanoTechPlatesMainEffect : BuffStatusEffect
{
	uiData = 
	{
		string displayName = "LocKey#93720";
		string iconPath = "perks_mitigation";
	};
	gameplayTags += 
	[
		"CyberwareBuff", "NanoTechPlatesAfterDash"
	];
	duration = 
	{
		statModifiers += 
		[
			{
				value = 1;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
}

CogitoFrameArmorBuff : BuffStatusEffect
{
	duration = "BaseStats.InfiniteDuration";
	gameplayTags += 
	[
		"CyberwareBuff"
	];
	uiData = 
	{
		string displayName = "LocKey#95257";
		string iconPath = "armor_boost";
	};
}

SupressPresence : SuppressVisibility
{
	CName[] gameplayTags = 
	[
		"Buff", "Visibility", "Audio"
	];
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.VisualStimRangeMultiplier";
					modifierType = "Multiplier";
					value = 0.5f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.AudioStimRangeMultiplier";
					modifierType = "Multiplier";
					value = 0.2f;
				} : ConstantStatModifier
			];
		}
	];
}

PersonalSoundSilencerPlayerBuff : StatusEffect
{
	statusEffectType = "BaseStatusEffectTypes.PassiveBuff";
	CName[] gameplayTags = 
	[
		"Buff", "Audio", "Visibility"
	];
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.VisualStimRangeMultiplier";
					modifierType = "Multiplier";
					value = 0.0f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.AudioStimRangeMultiplier";
					modifierType = "Multiplier";
					value = 0.0f;
				} : ConstantStatModifier
			];
		}
	];
}

DeviceExplosionInvulnerability : StatusEffect
{
	duration = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				value = 0.5;
			} : ConstantStatModifier
		];
	};
}

ConsumableBuff : BuffStatusEffect
{
	fk< StatModifierGroup > duration = "Items.ConsumableDuration";
	isAffectedByTimeDilationPlayer = true;
}

InhalerBuff : ConsumableBuff
{
	gameplayTags += 
	[
		"InhalerBuff"
	];
	fk< StatusEffectFX >[] VFX = 
	[
		{
			name = "splinter_buff";
		}
	];
}

InjectorBuff : ConsumableBuff
{
	gameplayTags += 
	[
		"InjectorBuff"
	];
	fk< StatusEffectFX >[] VFX = 
	[
		{
			name = "reflex_buster";
		}
	];
}

FirstAidWhiff : InhalerBuff
{
	fk< StatModifierGroup > duration = "Items.FirstAidWhiffDuration";
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			fk< Effector >[] effectors = 
			[
				{
					prereqRecord = 
					{
						statType = "Health";
						valueToCheck = 0;
						comparisonType = "Greater";
					} : StatPrereq;
					statPoolUpdates = 
					[
						{
							statPoolType = "BaseStatPools.Health";
							statModifiers = 
							[
								{
									statType = "BaseStats.InhalerBaseHealing";
									refStat = "BaseStats.InhalerBaseHealing";
									modifierType = "Additive";
									opSymbol = "*";
									value = 1.0f;
								} : CombinedStatModifier
							];
						} : StatPoolUpdate
					];
					bool usePercent = false;
				} : ModifyStatPoolValueEffector, 
				"Effectors.UsedHealingItemOrCyberwareEffector"
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#2679";
		iconPath = "first_aid_whiff";
		priority = -9.0f;
	};
}

FirstAidWhiffV0 : FirstAidWhiff
{
}

FirstAidWhiffVUncommon : FirstAidWhiff
{
}

FirstAidWhiffV1 : FirstAidWhiff
{
}

FirstAidWhiffVEpic : FirstAidWhiff
{
}

FirstAidWhiffV2 : FirstAidWhiff
{
}

BlackLaceV0 : ConsumableBuff
{
	fk< StatModifierGroup > duration = "Items.BlackLaceDuration";
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.CritChance";
					modifierType = "Additive";
					value = 5f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.CritDamage";
					modifierType = "Additive";
					value = 15f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.Health";
					modifierType = "AdditiveMultiplier";
					value = -0.35f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.Armor";
					modifierType = "Additive";
					value = 20;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.StaminaRegenRateMult";
					modifierType = "Additive";
					value = 0.15f;
				} : ConstantStatModifier
			];
			effectors = 
			[
				{
					prereqRecord = "Prereqs.ProcessHitTriggered";
					operationType = "Multiply";
					value = 1.05f;
				} : ModifyDamageEffector
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#35406";
		iconPath = "Cyberpsychosis";
	};
}

BlackLaceV1 : BaseStatusEffect.BlackLaceV0
{
	packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.CritChance";
					modifierType = "Additive";
					value = 15f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.CritDamage";
					modifierType = "Additive";
					value = 25f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.Health";
					modifierType = "AdditiveMultiplier";
					value = -0.5f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.Armor";
					modifierType = "Additive";
					value = 30;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.StaminaRegenRateMult";
					modifierType = "Additive";
					value = 0.25f;
				} : ConstantStatModifier
			];
			effectors = 
			[
				{
					prereqRecord = "Prereqs.ProcessHitTriggered";
					operationType = "Multiply";
					value = 1.15f;
				} : ModifyDamageEffector
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#35408";
		iconPath = "Cyberpsychosis";
	};
}

BonesMcCoy70V0 : InjectorBuff
{
	fk< StatModifierGroup > duration = "Items.BonesMcCoy70Duration";
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			fk< Effector >[] effectors = 
			[
				{
					poolModifier = 
					{
						fk< StatModifier > enabledMod = 
						{
							statType = "BaseStats.InjectorHealingEnabled";
							modifierType = "Additive";
							value = 1f;
						} : ConstantStatModifier;
						fk< StatModifier >[] rangeBeginMods = 
						[
							{
								statType = "BaseStats.InjectorHealingRegenBegins";
								modifierType = "Additive";
								value = 0f;
							} : ConstantStatModifier
						];
						fk< StatModifier >[] rangeEndMods = 
						[
							{
								statType = "BaseStats.InjectorHealingRegenEnds";
								modifierType = "Additive";
								value = 100f;
							} : ConstantStatModifier
						];
						fk< StatModifier >[] valuePerSecMods = 
						[
							{
								statType = "BaseStats.InjectorBaseOverTheTimeHealing";
								modifierType = "Additive";
								refObject = "Self";
								refStat = "BaseStats.InjectorBaseOverTheTimeHealing";
								opSymbol = "*";
								value = 1f;
							} : CombinedStatModifier
						];
						fk< StatModifier >[] startDelayMods = 
						[
							{
								statType = "BaseStats.InjectorHealingDecayStartDelay";
								modifierType = "Additive";
								refObject = "Self";
								refStat = "BaseStats.InjectorHealingDecayStartDelay";
								opSymbol = "*";
								value = 0f;
							} : CombinedStatModifier
						];
						fk< StatModifier > delayOnChangeMod = 
						{
							statType = "BaseStats.InjectorHealingDelayOnChange";
							modifierType = "Additive";
							refObject = "Self";
							refStat = "BaseStats.InjectorHealingDelayOnChange";
							opSymbol = "*";
							value = 0f;
						} : CombinedStatModifier;
						usingPointValues = true;
					} : MutablePoolValueModifier;
					string statPoolType = "Health";
					string modificationType = "Regeneration";
				} : ModifyStatPoolModifierEffector, 
				{
					statPoolUpdates = 
					[
						{
							statPoolType = "BaseStatPools.Health";
							statModifiers = 
							[
								{
									statType = "BaseStats.InjectorBaseHealing";
									refStat = "BaseStats.InjectorBaseHealing";
									modifierType = "Additive";
									opSymbol = "*";
									value = 1.0f;
								} : CombinedStatModifier
							];
						} : StatPoolUpdate
					];
					bool usePercent = false;
				} : ModifyStatPoolValueEffector, 
				"Effectors.UsedHealingItemOrCyberwareEffector"
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#35418";
		description = "LocKey#77749";
		intValues = 
		[
			10
		];
		iconPath = "regeneration_icon";
	};
}

BonesMcCoy70VUncommon : BaseStatusEffect.BonesMcCoy70V0
{
	fk< StatModifierGroup > duration = "Items.BonesMcCoy70Duration";
	uiData = 
	{
		displayName = "LocKey#35418";
		description = "LocKey#77749";
		intValues = 
		[
			10
		];
		iconPath = "regeneration_icon";
	};
}

BonesMcCoy70V1 : BaseStatusEffect.BonesMcCoy70V0
{
	fk< StatModifierGroup > duration = "Items.BonesMcCoy70Duration";
	uiData = 
	{
		displayName = "LocKey#34157";
		description = "LocKey#77749";
		intValues = 
		[
			10
		];
		iconPath = "regeneration_icon";
	};
}

BonesMcCoy70VEpic : BaseStatusEffect.BonesMcCoy70V0
{
	fk< StatModifierGroup > duration = "Items.BonesMcCoy70Duration";
	uiData = 
	{
		displayName = "LocKey#34157";
		description = "LocKey#77749";
		intValues = 
		[
			10
		];
		iconPath = "regeneration_icon";
	};
}

BonesMcCoy70V2 : BaseStatusEffect.BonesMcCoy70V0
{
	fk< StatModifierGroup > duration = "Items.BonesMcCoy70Duration";
	uiData = 
	{
		displayName = "LocKey#35420";
		description = "LocKey#77749";
		intValues = 
		[
			10
		];
		iconPath = "regeneration_icon";
	};
}

WellFed : ConsumableBuff
{
	fk< StatModifierGroup > duration = "Items.WellFedDuration";
	packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.Health";
					modifierType = "AdditiveMultiplier";
					value = 0.05f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.HealthOutOfCombatRegenRate";
					modifierType = "Additive";
					value = 0.5f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.HealthOutOfCombatRegenEndThreshold";
					modifierType = "Additive";
					value = 40f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#40991";
		description = "LocKey#77748";
		intValues = 
		[
			5
		];
		floatValues = 
		[
			0.5f
		];
		iconPath = "health_booster_regen";
	};
}

HealingItemPlusFood : ConsumableBuff
{
	fk< StatModifierGroup > duration = "Items.IllegalFoodDurations";
	packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.Health";
					modifierType = "Multiplier";
					value = 0.8f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.InhalerBaseHealing";
					modifierType = "AdditiveMultiplier";
					value = 0.25f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.InjectorBaseHealing";
					modifierType = "AdditiveMultiplier";
					value = 0.25f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.InjectorBaseOverTheTimeHealing";
					modifierType = "AdditiveMultiplier";
					value = 0.25f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#93029";
		description = "LocKey#93036";
		intValues = 
		[
			25, 20
		];
		iconPath = "health_booster_regen";
	};
}

HealingItemMinusFood : ConsumableBuff
{
	fk< StatModifierGroup > duration = "Items.IllegalFoodDurations";
	packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.Health";
					modifierType = "Multiplier";
					value = 1.2f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.InhalerBaseHealing";
					modifierType = "Multiplier";
					value = 0.75f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.InjectorBaseHealing";
					modifierType = "Multiplier";
					value = 0.75f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.InjectorBaseOverTheTimeHealing";
					modifierType = "Multiplier";
					value = 0.75f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#93039";
		description = "LocKey#93038";
		intValues = 
		[
			20, 25
		];
		iconPath = "health_booster_regen";
	};
}

HealFood3 : ConsumableBuff
{
	fk< StatModifierGroup > duration = "Items.IllegalFoodDurations";
	packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.Health";
					modifierType = "Multiplier";
					value = 1.25f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#93077";
		description = "LocKey#93100";
		intValues = 
		[
			25
		];
		iconPath = "health_booster_regen";
	};
}

CritChanceFood : ConsumableBuff
{
	fk< StatModifierGroup > duration = "Items.IllegalFoodDurations";
	packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.CritChance";
					modifierType = "Multiplier";
					value = 0.85f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.CritDamage";
					modifierType = "Multiplier";
					value = 1.3f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#92994";
		description = "LocKey#92999";
		intValues = 
		[
			30, 15
		];
		iconPath = "increased_stats_icon";
	};
}

MeleeDamageFood : ConsumableBuff
{
	fk< StatModifierGroup > duration = "Items.IllegalFoodDurations";
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			effectors = 
			[
				{
					prereqRecord = "Prereqs.MeleeWeaponHeldPrereq";
					fk< Effector > effectorToApply = 
					{
						prereqRecord = "Perks.IsWeaponMelee";
						value = 1.3f;
					} : MultiplyDamage;
				} : ApplyEffectorOnPlayer, 
				{
					prereqRecord = "Prereqs.ProcessHitReceived";
					value = 1.3f;
				} : MultiplyDamage
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#93090";
		description = "LocKey#93093";
		intValues = 
		[
			30, 30
		];
		iconPath = "buff_melee";
	};
}

CombatFood3 : ConsumableBuff
{
	fk< StatModifierGroup > duration = "Items.IllegalFoodDurations";
	packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.CritChance";
					modifierType = "Multiplier";
					value = 1.1f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.CritDamage";
					modifierType = "Multiplier";
					value = 1.2f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.Health";
					modifierType = "Multiplier";
					value = 0.65f;
				} : ConstantStatModifier
			];
			effectors = 
			[
				{
					prereqRecord = 
					{
						conditions += 
						[
							{
								targetType = "Player";
								invert = true;
							} : TargetTypeHitPrereqCondition
						];
					} : Prereqs.ProcessHitTriggered;
					operationType = "Multiply";
					value = 1.05f;
				} : ModifyDamageEffector
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#93101";
		description = "LocKey#93103";
		intValues = 
		[
			5, 10, 20, 35
		];
		iconPath = "increased_stats_icon";
	};
}

CarFood : ConsumableBuff
{
	fk< StatModifierGroup > duration = "Items.IllegalFoodDurations";
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			effectors = 
			[
				{
					prereqRecord = 
					{
						nestedPrereqs = 
						[
							"Prereqs.IsInVehiclePrereq", {
								conditions = 
								[
									{
										attackType = "Ranged";
									} : AttackTypeHitPrereqCondition, 
									{
										weaponType = "Ranged";
									} : WeaponTypeHitPrereqCondition
								];
							} : Prereqs.ProcessHitTriggered
						];
					} : MultiPrereq;
					value = 1.2f;
				} : Perks.MultiplyDamage, 
				{
					prereqRecord = 
					{
						nestedPrereqs = 
						[
							"Prereqs.IsInVehiclePrereq", "Prereqs.ProcessHitReceived"
						];
					} : ANDPrereq;
					value = 1.25f;
				} : MultiplyDamage
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#93094";
		description = "LocKey#93098";
		intValues = 
		[
			20, 25
		];
		iconPath = "vehicle_weaponized";
	};
}

NetrunnerRAMFood : ConsumableBuff
{
	fk< StatModifierGroup > duration = "Items.IllegalFoodDurations";
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.Memory";
					modifierType = "Additive";
					value = 4f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.MemoryRegenRateMult";
					modifierType = "Additive";
					value = -0.5f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#93080";
		description = "LocKey#93079";
		intValues = 
		[
			4, 50
		];
		iconPath = "memory_replenishment";
	};
}

NetrunnerRAMRegenFood : ConsumableBuff
{
	fk< StatModifierGroup > duration = "Items.IllegalFoodDurations";
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.MemoryRegenRateMult";
					modifierType = "Additive";
					value = 0.25f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.InhalerBaseHealing";
					modifierType = "Multiplier";
					value = 0.5f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.InjectorBaseHealing";
					modifierType = "Multiplier";
					value = 0.5f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.InjectorBaseOverTheTimeHealing";
					modifierType = "Multiplier";
					value = 0.5f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#93082";
		intValues = 
		[
			25, 50
		];
		iconPath = "memory_replenishment";
	};
}

StealthFood : ConsumableBuff
{
	fk< StatModifierGroup > duration = "Items.IllegalFoodDurations";
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.Visibility";
					modifierType = "Additive";
					value = -0.3f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.Health";
					modifierType = "Multiplier";
					value = 0.7f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#93086";
		description = "LocKey#93089";
		intValues = 
		[
			30, 30
		];
		iconPath = "optical_camo";
	};
}

Sated : ConsumableBuff
{
	fk< StatModifierGroup > duration = "Items.SatedDuration";
	packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.StaminaRegenRateMult";
					modifierType = "Additive";
					value = 0.05f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#40990";
		description = "LocKey#94490";
		floatValues = 
		[
			5
		];
		iconPath = "hydrated_icon";
	};
}

AlcoholDebuff : ConsumableBuff
{
	duration = "Items.AlcoholConsumableDuration";
	maxStacks = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxStacks";
				modifierType = "Additive";
				value = 4;
			} : ConstantStatModifier
		];
	};
	gameplayTags = 
	[
		"Debuff"
	];
	packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "Multiplier";
					value = 0.9f;
				} : ConstantStatModifier
			];
		}, 
		{
			stackable = true;
			fk< Effector >[] effectors = 
			[
				{
					prereqRecord = "Prereqs.RangedWeaponHeldPrereq";
					CName effectorClassName = "ApplyStatGroupEffector";
					fk< StatModifierGroup > statGroup = 
					{
						statModifiers = 
						[
							{
								statType = "BaseStats.SpreadChangePerShot";
								modifierType = "AdditiveMultiplier";
								value = 0.5f;
							} : ConstantStatModifier, 
							{
								statType = "BaseStats.SpreadAdsChangePerShot";
								modifierType = "AdditiveMultiplier";
								value = 0.5f;
							} : ConstantStatModifier, 
							{
								statType = "BaseStats.SwayTraversalTime";
								modifierType = "Multiplier";
								value = 0.9925f;
							} : ConstantStatModifier, 
							{
								statType = "BaseStats.SwaySideMaximumAngleDistance";
								modifierType = "Multiplier";
								value = 1.025f;
							} : ConstantStatModifier, 
							{
								statType = "BaseStats.SwaySideMinimumAngleDistance";
								modifierType = "Multiplier";
								value = 1.025f;
							} : ConstantStatModifier, 
							{
								statType = "BaseStats.RecoilAngle";
								modifierType = "Multiplier";
								value = 1.075f;
							} : ConstantStatModifier
						];
					} : StatModifierGroup;
					applicationTarget = "Weapon";
				} : ApplyStatGroupEffector
			];
		} : GameplayLogicPackage
	];
}

HealthBooster : ConsumableBuff
{
	duration = "Items.LongLastingConsumableDuration";
	packages = 
	[
		{
			fk< StatModifier >[] stats = 
			[
				{
					statType = "BaseStats.Health";
					modifierType = "Multiplier";
					value = 1.1;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#43539";
		string description = "LocKey#77746";
		intValues = 
		[
			10
		];
		iconPath = "health_booster_icon";
	};
}

Blackmarket_HealthBooster : ConsumableBuff
{
	duration = "Items.LongLastingConsumableDuration";
	packages = 
	[
		{
			fk< StatModifier >[] stats = 
			[
				{
					statType = "BaseStats.Health";
					modifierType = "Multiplier";
					value = 1.2f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.StaminaRegenRateMult";
					modifierType = "Additive";
					value = -0.5f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#92988";
		string description = "LocKey#92993";
		intValues = 
		[
			20, 50
		];
		iconPath = "health_booster_icon";
	};
}

StaminaBooster : ConsumableBuff
{
	duration = "Items.LongLastingConsumableDuration";
	packages = 
	[
		{
			fk< StatModifier >[] stats = 
			[
				{
					statType = "BaseStats.StaminaRegenRateMult";
					modifierType = "Additive";
					value = 0.1f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#43542";
		description = "LocKey#77743";
		intValues = 
		[
			10
		];
		iconPath = "stamina_booster_icon";
	};
}

Blackmarket_StaminaBooster : ConsumableBuff
{
	duration = "Items.LongLastingConsumableDuration";
	packages = 
	[
		{
			fk< StatModifier >[] stats = 
			[
				{
					statType = "BaseStats.StaminaRegenRateMult";
					modifierType = "Additive";
					value = 0.2f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.Health";
					modifierType = "Multiplier";
					value = 0.85f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#92967";
		description = "LocKey#92970";
		intValues = 
		[
			20, 15
		];
		iconPath = "stamina_booster_icon";
	};
}

MemoryBooster : ConsumableBuff
{
	duration = "Items.LongLastingConsumableDuration";
	packages = 
	[
		{
			fk< StatModifier >[] stats = 
			[
				{
					statType = "BaseStats.Memory";
					modifierType = "Additive";
					value = 2.0f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#43545";
		description = "LocKey#77745";
		intValues = 
		[
			2
		];
		iconPath = "memory_booster_icon";
	};
}

Blackmarket_MemoryBooster : ConsumableBuff
{
	duration = "Items.LongLastingConsumableDuration";
	packages = 
	[
		{
			fk< StatModifier >[] stats = 
			[
				{
					statType = "BaseStats.Memory";
					modifierType = "Additive";
					value = 4.0f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.Health";
					modifierType = "Multiplier";
					value = 0.8f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#92972";
		description = "LocKey#92975";
		intValues = 
		[
			4, 20
		];
		iconPath = "memory_booster_icon";
	};
}

CarryCapacityBooster : ConsumableBuff
{
	duration = "Items.LongLastingConsumableDuration";
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.CarryCapacity";
					modifierType = "Multiplier";
					value = 1.50f;
				} : ConstantStatModifier
			];
		}
	];
	uiData = 
	{
		displayName = "LocKey#43548";
		description = "LocKey#77744";
		intValues = 
		[
			50
		];
		iconPath = "carrycapacity_booster_icon";
	};
}

Blackmarket_CarryCapacityBooster : ConsumableBuff
{
	duration = "Items.LongLastingConsumableDuration";
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.CarryCapacity";
					modifierType = "Additive";
					value = 100f;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.StaminaRegenRateMult";
					modifierType = "Additive";
					value = -0.2f;
				} : ConstantStatModifier
			];
		}
	];
	uiData = 
	{
		displayName = "LocKey#92989";
		description = "LocKey#92976";
		intValues = 
		[
			100, 20
		];
		iconPath = "carrycapacity_booster_icon";
	};
}

OxyBooster : ConsumableBuff
{
	fk< StatModifierGroup > duration = "Items.LongLastingConsumableDuration";
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			fk< StatModifier >[] stats = 
			[
				{
					statType = "BaseStats.CanBreatheUnderwater";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#43551";
		description = "LocKey#77742";
		iconPath = "oxygen_booster_icon";
	};
}

CatchMeIfYouCanBuff : BuffStatusEffect
{
	gameplayTags += 
	[
		"CyberwareBuff"
	];
	savable = false;
	uiData = 
	{
		displayName = "LocKey#85347";
		iconPath = "sandevistan_buff_icon";
	};
	VFX = 
	[
		{
			name = "catch_me";
		}
	];
	maxStacks = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxStacks";
				modifierType = "Additive";
				value = -1;
			} : ConstantStatModifier
		];
	};
	duration = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				value = -1;
			} : ConstantStatModifier
		];
	};
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MaxSpeed";
					modifierType = "AdditiveMultiplier";
					value = 0.01;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

PainDistributorBuff : BuffStatusEffect
{
	gameplayTags += 
	[
		"CyberwareBuff"
	];
	maxStacks = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxStacks";
				modifierType = "Additive";
				value = 3;
			} : ConstantStatModifier
		];
	};
	duration = 
	{
		statModifiers += 
		[
			{
				statType = "BaseStats.MaxDuration";
				modifierType = "Additive";
				value = 5f;
			} : ConstantStatModifier
		];
	} : CyberwareBuffDuration;
	uiData = 
	{
		displayName = "LocKey#85341";
		iconPath = "stamina_regeneration_icon";
	};
}

NoPainNoGainBuff : BuffStatusEffect
{
	gameplayTags += 
	[
		"CyberwareBuff"
	];
	maxStacks = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxStacks";
				modifierType = "Additive";
				value = 1;
			} : ConstantStatModifier
		];
	};
	uiData = 
	{
		displayName = "LocKey#85343";
		iconPath = "armor_boost";
	};
}

SuddenAidBuff : BuffStatusEffect
{
	gameplayTags += 
	[
		"CyberwareBuff"
	];
	maxStacks = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxStacks";
				modifierType = "Additive";
				value = 1;
			} : ConstantStatModifier
		];
	};
	duration = 
	{
		statModifiers += 
		[
			{
				value = 4.0f;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
	VFX = 
	[
		{
			name = "sudden_aid";
		}
	];
	packages = 
	[
		{
			effectors = 
			[
				{
					statusEffect = 
					{
						duration = 
						{
							statModifiers += 
							[
								{
									value = 6.0f;
								} : BaseDurationMod
							];
						} : CyberwareCooldownDuration;
					} : SuddenAidCooldown;
					inverted = true;
				} : ApplyStatusEffectEffector
			];
		}
	];
	uiData = 
	{
		displayName = "LocKey#85313";
		iconPath = "perks_mitigation";
	};
}

BloodPumpBuff : BuffStatusEffect
{
	gameplayTags += 
	[
		"CyberwareBuff", "InjectorBuff"
	];
	fk< StatModifierGroup > duration = "Items.BloodPumpBuffDuration";
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			fk< Effector >[] effectors = 
			[
				{
					poolModifier = 
					{
						fk< StatModifier > enabledMod = 
						{
							statType = "BaseStats.InjectorHealingEnabled";
							modifierType = "Additive";
							value = 1f;
						} : ConstantStatModifier;
						fk< StatModifier >[] rangeBeginMods = 
						[
							{
								statType = "BaseStats.InjectorHealingRegenBegins";
								modifierType = "Additive";
								value = 0f;
							} : ConstantStatModifier
						];
						fk< StatModifier >[] rangeEndMods = 
						[
							{
								statType = "BaseStats.InjectorHealingRegenEnds";
								modifierType = "Additive";
								value = 100f;
							} : ConstantStatModifier
						];
						fk< StatModifier >[] valuePerSecMods = 
						[
							{
								statType = "BaseStats.InjectorBaseOverTheTimeHealing";
								modifierType = "Additive";
								refObject = "Self";
								refStat = "BaseStats.InjectorBaseOverTheTimeHealing";
								opSymbol = "*";
								value = 1f;
							} : CombinedStatModifier
						];
						fk< StatModifier >[] startDelayMods = 
						[
							{
								statType = "BaseStats.InjectorHealingDecayStartDelay";
								modifierType = "Additive";
								refObject = "Self";
								refStat = "BaseStats.InjectorHealingDecayStartDelay";
								opSymbol = "*";
								value = 0f;
							} : CombinedStatModifier
						];
						fk< StatModifier > delayOnChangeMod = 
						{
							statType = "BaseStats.InjectorHealingDelayOnChange";
							modifierType = "Additive";
							refObject = "Self";
							refStat = "BaseStats.InjectorHealingDelayOnChange";
							opSymbol = "*";
							value = 0f;
						} : CombinedStatModifier;
						usingPointValues = true;
					} : MutablePoolValueModifier;
					string statPoolType = "Health";
					string modificationType = "Regeneration";
				} : ModifyStatPoolModifierEffector, 
				"Effectors.UsedHealingItemOrCyberwareEffector"
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#35418";
		description = "LocKey#77749";
		intValues = 
		[
			6
		];
		iconPath = "regeneration_icon";
	};
}

NewMicrogeneratorBuff : BuffStatusEffect
{
	gameplayTags += 
	[
		"CyberwareBuff", "MicrogeneratorBuff"
	];
	maxStacks = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxStacks";
				modifierType = "Additive";
				value = 5f;
			} : ConstantStatModifier
		];
	};
	duration = 
	{
		statModifiers += 
		[
			{
				value = 5.0f;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
	removeAllStacksWhenDurationEnds = true;
	packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MicroGeneratorExplosionDamage";
					modifierType = "Additive";
					value = 14.0f;
				} : ConstantStatModifier
			];
			effectors = 
			[
				{
					prereqRecord = "Prereqs.MicroGeneratorShotPrereq";
					removeWithEffector = false;
					statusEffect = "BaseStatusEffect.NewMicrogeneratorBuffLinger";
				} : ApplyStatusEffectEffector
			];
		} : GameplayLogicPackage, 
		{
			effectors = 
			[
				{
					prereqRecord = "Prereqs.MicroGeneratorShotPrereq";
					useHitPosition = true;
					attackRecord = "Attacks.MicroGeneratorExplosion2";
				} : Effectors.TriggerAttackOnAttackEffect, 
				{
					prereqRecord = "Prereqs.MicroGeneratorShotPrereq";
					effectTags = 
					[
						"MicrogeneratorBuff"
					];
				} : RemoveStatusEffectsEffector
			];
		} : GameplayLogicPackage
	];
	uiData = 
	{
		displayName = "LocKey#40760";
		iconPath = "EMP";
	};
}

NewMicrogeneratorBuffLinger : BuffStatusEffect
{
	maxStacks = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxStacks";
				modifierType = "Additive";
				value = 5f;
			} : ConstantStatModifier
		];
	};
	duration = 
	{
		statModifiers = 
		[
			{
				value = 0.25f;
			} : BaseDurationMod
		];
	};
	removeAllStacksWhenDurationEnds = true;
	packages = 
	[
		{
			stackable = true;
			stats = 
			[
				{
					statType = "BaseStats.MicroGeneratorExplosionDamage";
					modifierType = "Additive";
					value = 14.0f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

KnifeSharpenerBuff : BuffStatusEffect
{
	gameplayTags += 
	[
		"CyberwareBuff"
	];
	maxStacks = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxStacks";
				modifierType = "Additive";
				value = 1;
			} : ConstantStatModifier
		];
	};
	duration = 
	{
		statModifiers += 
		[
			{
				value = 6.0f;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
	uiData = 
	{
		displayName = "LocKey#90922";
		iconPath = "perks_knife";
	};
}

TyrosineInjectorBuff : BuffStatusEffect
{
	gameplayTags += 
	[
		"CyberwareBuff"
	];
	uiData = 
	{
		displayName = "LocKey#40757";
		iconPath = "suppressed";
	};
	maxStacks = 
	{
		statModifiers = 
		[
			{
				statType = "BaseStats.MaxStacks";
				modifierType = "Additive";
				value = 1;
			} : ConstantStatModifier
		];
	};
	duration = 
	{
		statModifiers += 
		[
			{
				value = 15.0f;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
}

KiroshiHighlightsBase : BuffStatusEffect
{
	gameplayTags += 
	[
		"CyberwareBuff", "KiroshiHighlight"
	];
	duration = 
	{
		statModifiers += 
		[
			{
				value = 60;
			} : BaseDurationMod
		];
	} : CyberwareBuffDuration;
}

CyberwareTutorialAdjustments : BuffStatusEffect
{
	gameplayTags += 
	[
		"TutorialPrices", "LockInHubMenu"
	];
	fk< GameplayLogicPackage >[] packages = 
	[
		{
			fk< StatModifier >[] stats = 
			[
				{
					statType = "BaseStats.PostTutorialCyberwarePrice";
					modifierType = "Multiplier";
					value = 0f;
				} : ConstantStatModifier
			];
		} : GameplayLogicPackage
	];
}

