package Items
using RTDB, BaseStats, Prereqs, Perks, CyberwareAction, BaseStatusEffect, Effectors, BaseStatPools

AdvancedBerserkC1MK1 : BerserkBase
{
	displayName = "LocKey#53651";
	localizedDescription = "LocKey#53661";
	iconPath = "cw_system_berserkc1";
	quality = "Quality.Uncommon";
	upgradeCostMult = 1.0f;
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 60.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 7.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier
	];
	variants = 
	[
		"Variants.Humanity12Cost"
	];
	usesVariants = true;
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92694";
				intValues = 
				[
					25, 100, 25, 8, 30
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					60
				];
			};
		} : GameplayLogicPackage
	];
	buyPrice += 
	[
		{
			statType = "BaseStats.Price";
			modifierType = "Additive";
			id = "cyberware_curves";
			column = "mid_humanity_to_price_mult";
			refStat = "BaseStats.Quality";
			refObject = "Item";
		} : CurveStatModifier
	];
	sellPrice += 
	[
		{
			statType = "BaseStats.Price";
			modifierType = "Additive";
			id = "cyberware_curves";
			column = "mid_humanity_to_price_mult";
			refStat = "BaseStats.Quality";
			refObject = "Item";
		} : CurveStatModifier
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.7f;
									} : MultiplyDamage
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC1MK1Plus";
}

[ notQueryable ]
AdvancedBerserkC1MK1Plus : AdvancedBerserkC1MK1
{
	quality = "Quality.UncommonPlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 55.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 6.875f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92694";
				intValues = 
				[
					25, 100, 25, 8, 30
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					55
				];
			};
		} : GameplayLogicPackage
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.7f;
									} : MultiplyDamage
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC1MK2";
}

AdvancedBerserkC1MK2 : AdvancedBerserkC1MK1
{
	displayName = "LocKey#53652";
	quality = "Quality.Rare";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 55.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 6.111f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92694";
				intValues = 
				[
					25, 100, 25, 9, 35
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					55
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.65f;
									} : MultiplyDamage
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC1MK2Plus";
}

[ notQueryable ]
AdvancedBerserkC1MK2Plus : AdvancedBerserkC1MK1
{
	displayName = "LocKey#53652";
	quality = "Quality.RarePlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 50.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 5.555f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92694";
				intValues = 
				[
					25, 100, 25, 9, 35
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					50
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.65f;
									} : MultiplyDamage
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC1MK3";
}

AdvancedBerserkC1MK3 : AdvancedBerserkC1MK1
{
	displayName = "LocKey#53653";
	quality = "Quality.Epic";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 50.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92694";
				intValues = 
				[
					25, 100, 25, 10, 40
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					50
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.6f;
									} : MultiplyDamage
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC1MK3Plus";
}

[ notQueryable ]
AdvancedBerserkC1MK3Plus : AdvancedBerserkC1MK1
{
	displayName = "LocKey#53653";
	quality = "Quality.EpicPlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 45.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 4.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92694";
				intValues = 
				[
					25, 100, 25, 10, 40
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					45
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.6f;
									} : MultiplyDamage
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC1MK4";
}

AdvancedBerserkC1MK4 : AdvancedBerserkC1MK1
{
	displayName = "LocKey#91612";
	quality = "Quality.Legendary";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 45.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 4.090f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92694";
				intValues = 
				[
					25, 100, 25, 11, 45
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					45
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.55f;
									} : MultiplyDamage
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC1MK4Plus";
}

[ notQueryable ]
AdvancedBerserkC1MK4Plus : AdvancedBerserkC1MK1
{
	displayName = "LocKey#91612";
	quality = "Quality.LegendaryPlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 40.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 3.636f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92694";
				intValues = 
				[
					25, 100, 25, 11, 45
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					40
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.55f;
									} : MultiplyDamage
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC1MK4PlusPlus";
}

[ EP1 ]
[ notQueryable ]
AdvancedBerserkC1MK4PlusPlus : AdvancedBerserkC1MK1
{
	displayName = "LocKey#91612";
	quality = "Quality.LegendaryPlusPlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 35.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkStaticHealthBonusOnActivation";
			modifierType = "Additive";
			value = 40f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 3.181f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92694";
				intValues = 
				[
					25, 100, 25, 11, 50
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					35
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.5f;
									} : MultiplyDamage
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "";
}

AdvancedBerserkC2MK1 : BerserkBase
{
	displayName = "LocKey#53654";
	localizedDescription = "LocKey#53664";
	iconPath = "cw_system_berserkc2";
	quality = "Quality.Uncommon";
	upgradeCostMult = 1.5f;
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 60.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 7.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier
	];
	variants = 
	[
		"Variants.Humanity20Cost"
	];
	usesVariants = true;
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92695";
				intValues = 
				[
					25, 100, 15, 5, 100, 25, 8, 30
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					60
				];
			};
		} : GameplayLogicPackage
	];
	buyPrice += 
	[
		{
			statType = "BaseStats.Price";
			modifierType = "Multiplier";
			id = "cyberware_curves";
			column = "high_humanity_to_price_mult";
			refStat = "BaseStats.Quality";
			refObject = "Item";
		} : CurveStatModifier
	];
	sellPrice += 
	[
		{
			statType = "BaseStats.Price";
			modifierType = "Multiplier";
			id = "cyberware_curves";
			column = "high_humanity_to_price_mult";
			refStat = "BaseStats.Quality";
			refObject = "Item";
		} : CurveStatModifier
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.15f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.7f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.CritChance";
										modifierType = "Additive";
										value = 5f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CritDamage";
										modifierType = "Additive";
										value = 100f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC2MK1Plus";
}

[ notQueryable ]
AdvancedBerserkC2MK1Plus : AdvancedBerserkC2MK1
{
	quality = "Quality.UncommonPlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 55.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 6.875f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92695";
				intValues = 
				[
					25, 100, 15, 5, 100, 25, 8, 30
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					55
				];
			};
		} : GameplayLogicPackage
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.15f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.7f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.CritChance";
										modifierType = "Additive";
										value = 5f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CritDamage";
										modifierType = "Additive";
										value = 100f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC2MK2";
}

AdvancedBerserkC2MK2 : AdvancedBerserkC2MK1
{
	displayName = "LocKey#53655";
	quality = "Quality.Rare";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 55.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 6.111f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Reflexes";
			refObject = "Player";
			opSymbol = "*";
			value = 1.0f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92695";
				intValues = 
				[
					25, 100, 20, 10, 100, 25, 9, 35
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					55
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.ReflexesCritChanceBerserk"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.2f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.65f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.CritChance";
										modifierType = "Additive";
										value = 10f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CritDamage";
										modifierType = "Additive";
										value = 100f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC2MK2Plus";
}

[ notQueryable ]
AdvancedBerserkC2MK2Plus : AdvancedBerserkC2MK1
{
	displayName = "LocKey#53655";
	quality = "Quality.RarePlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 50.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 5.555f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Reflexes";
			refObject = "Player";
			opSymbol = "*";
			value = 1.0f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92695";
				intValues = 
				[
					25, 100, 20, 10, 100, 25, 9, 35
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					50
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.ReflexesCritChanceBerserk"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.2f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.65f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.CritChance";
										modifierType = "Additive";
										value = 10f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CritDamage";
										modifierType = "Additive";
										value = 100f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC2MK3";
}

AdvancedBerserkC2MK3 : AdvancedBerserkC2MK1
{
	displayName = "LocKey#53656";
	quality = "Quality.Epic";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 50.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Reflexes";
			refObject = "Player";
			opSymbol = "*";
			value = 1.0f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92695";
				intValues = 
				[
					25, 100, 25, 15, 100, 25, 10, 40
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					50
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.ReflexesCritChanceBerserk"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.25f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.6f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.CritChance";
										modifierType = "Additive";
										value = 15f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CritDamage";
										modifierType = "Additive";
										value = 100f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC2MK3Plus";
}

[ notQueryable ]
AdvancedBerserkC2MK3Plus : AdvancedBerserkC2MK1
{
	displayName = "LocKey#53656";
	quality = "Quality.EpicPlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 45.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 4.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Reflexes";
			refObject = "Player";
			opSymbol = "*";
			value = 1.0f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92695";
				intValues = 
				[
					25, 100, 25, 15, 100, 25, 10, 40
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					45
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.ReflexesCritChanceBerserk"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.25f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.6f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.CritChance";
										modifierType = "Additive";
										value = 15f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CritDamage";
										modifierType = "Additive";
										value = 100f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC2MK4";
}

AdvancedBerserkC2MK4 : AdvancedBerserkC2MK1
{
	displayName = "LocKey#53657";
	quality = "Quality.Legendary";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 45.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 4.090f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Reflexes";
			refObject = "Player";
			opSymbol = "*";
			value = 1.0f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92695";
				intValues = 
				[
					25, 100, 30, 20, 100, 25, 11, 45
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					45
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.ReflexesCritChanceBerserk"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.3f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.55f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.CritChance";
										modifierType = "Additive";
										value = 20f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CritDamage";
										modifierType = "Additive";
										value = 100f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC2MK4Plus";
}

[ notQueryable ]
AdvancedBerserkC2MK4Plus : AdvancedBerserkC2MK1
{
	displayName = "LocKey#53657";
	quality = "Quality.LegendaryPlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 40.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 3.636f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Reflexes";
			refObject = "Player";
			opSymbol = "*";
			value = 1.0f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92695";
				intValues = 
				[
					25, 100, 30, 20, 100, 25, 11, 45
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					40
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.ReflexesCritChanceBerserk"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.3f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.55f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.CritChance";
										modifierType = "Additive";
										value = 20f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CritDamage";
										modifierType = "Additive";
										value = 100f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC2MK4PlusPlus";
}

[ EP1 ]
[ notQueryable ]
AdvancedBerserkC2MK4PlusPlus : AdvancedBerserkC2MK1
{
	displayName = "LocKey#53657";
	quality = "Quality.LegendaryPlusPlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 35.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 3.181f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Reflexes";
			refObject = "Player";
			opSymbol = "*";
			value = 1.0f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92695";
				intValues = 
				[
					25, 100, 30, 20, 100, 25, 11, 50
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					35
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.ReflexesCritChanceBerserk"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.3f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.5f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.CritChance";
										modifierType = "Additive";
										value = 20f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CritDamage";
										modifierType = "Additive";
										value = 100f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "";
}

AdvancedBerserkC3MK3 : BerserkBase
{
	displayName = "LocKey#92532";
	localizedDescription = "LocKey#53668";
	iconPath = "cw_system_berserkc3";
	quality = "Quality.Rare";
	upgradeCostMult = 1.5f;
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 45.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	variants = 
	[
		"Variants.Humanity16Cost"
	];
	usesVariants = true;
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92696";
				intValues = 
				[
					25, 100, 10, 20, 25, 9, 35
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					45
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	buyPrice += 
	[
		{
			statType = "BaseStats.Price";
			modifierType = "Multiplier";
			id = "cyberware_curves";
			column = "high_humanity_to_price_mult";
			refStat = "BaseStats.Quality";
			refObject = "Item";
		} : CurveStatModifier
	];
	sellPrice += 
	[
		{
			statType = "BaseStats.Price";
			modifierType = "Multiplier";
			id = "cyberware_curves";
			column = "high_humanity_to_price_mult";
			refStat = "BaseStats.Quality";
			refObject = "Item";
		} : CurveStatModifier
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.1f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.65f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.FallDamageReduction";
										modifierType = "Additive";
										value = 0.2f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CanGroundSlamInAir";
										modifierType = "Additive";
										value = 1f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC3MK3Plus";
}

[ notQueryable ]
AdvancedBerserkC3MK3Plus : AdvancedBerserkC3MK3
{
	quality = "Quality.RarePlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 40.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 4.444f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92696";
				intValues = 
				[
					25, 100, 10, 20, 25, 9, 35
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					40
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.1f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.65f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.FallDamageReduction";
										modifierType = "Additive";
										value = 0.2f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CanGroundSlamInAir";
										modifierType = "Additive";
										value = 1f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC3MK4";
}

AdvancedBerserkC3MK4 : AdvancedBerserkC3MK3
{
	displayName = "LocKey#53658";
	localizedDescription = "LocKey#53668";
	iconPath = "cw_system_berserkc3";
	quality = "Quality.Epic";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 40.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 4f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92696";
				intValues = 
				[
					25, 100, 15, 25, 25, 10, 40
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					40
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.15f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.6f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.FallDamageReduction";
										modifierType = "Additive";
										value = 0.25f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CanGroundSlamInAir";
										modifierType = "Additive";
										value = 1f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC3MK4Plus";
}

[ notQueryable ]
AdvancedBerserkC3MK4Plus : AdvancedBerserkC3MK3
{
	quality = "Quality.EpicPlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 35.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 3.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92696";
				intValues = 
				[
					25, 100, 15, 25, 25, 10, 40
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					35
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.15f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.6f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.FallDamageReduction";
										modifierType = "Additive";
										value = 0.25f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CanGroundSlamInAir";
										modifierType = "Additive";
										value = 1f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC3MK5";
}

AdvancedBerserkC3MK5 : AdvancedBerserkC3MK3
{
	displayName = "LocKey#53659";
	localizedDescription = "LocKey#53669";
	iconPath = "cw_system_berserkc3";
	quality = "Quality.Legendary";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 35.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 3.181f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92696";
				intValues = 
				[
					25, 100, 20, 30, 25, 11, 45
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					35
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.20f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.55f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.FallDamageReduction";
										modifierType = "Additive";
										value = 0.3f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CanGroundSlamInAir";
										modifierType = "Additive";
										value = 1f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC3MK5Plus";
}

[ notQueryable ]
AdvancedBerserkC3MK5Plus : AdvancedBerserkC3MK3
{
	quality = "Quality.LegendaryPlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 30.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 2.727f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92696";
				intValues = 
				[
					25, 100, 20, 30, 25, 11, 45
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					30
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.20f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.55f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.FallDamageReduction";
										modifierType = "Additive";
										value = 0.3f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CanGroundSlamInAir";
										modifierType = "Additive";
										value = 1f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC3MK5PlusPlus";
}

[ EP1 ]
[ notQueryable ]
AdvancedBerserkC3MK5PlusPlus : AdvancedBerserkC3MK3
{
	quality = "Quality.LegendaryPlusPlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 25.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 2.272f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92696";
				intValues = 
				[
					25, 100, 20, 30, 25, 11, 50
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					25
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeImmortality", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.20f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										prereqRecord = "Prereqs.ProcessHitReceived";
										value = 0.5f;
									} : MultiplyDamage
								];
								stats = 
								[
									{
										statType = "BaseStats.FallDamageReduction";
										modifierType = "Additive";
										value = 0.3f;
									} : ConstantStatModifier, 
									{
										statType = "BaseStats.CanGroundSlamInAir";
										modifierType = "Additive";
										value = 1f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "";
}

[ notQueryable ]
AdvancedBerserkC4MK4 : BerserkBase
{
	displayName = "LocKey#92533";
	localizedDescription = "LocKey#53670";
	iconPath = "cw_system_berserkc4";
	quality = "Quality.Epic";
	upgradeCostMult = 2.5f;
	tags += 
	[
		"Iconic_OS_CW", "Iconic_Militech_Berserk"
	];
	statModifiers = 
	[
		{
			statType = "BaseStats.IsItemIconic";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 40.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 3.636f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	variants = 
	[
		"Variants.Humanity35Cost"
	];
	usesVariants = true;
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92697";
				intValues = 
				[
					100, 25, 15, 50, 20, 25, 11
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					40
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	OnLooted += 
	[
		{
			effectors = 
			[
				{
					prereqRecord = 
					{
						statusEffect = "BaseStatusEffect.JustLootedIconicCWFromTreasureChest";
					} : StatusEffectPrereq;
					fact = "iconic_os_cw_looted_from_treasure_chest";
					value = 1;
				} : SetFactEffector, 
				{
					fact = "militech_berserk_owned";
					value = 1;
				} : SetFactEffector
			];
		}
	];
	buyPrice += 
	[
		{
			statType = "BaseStats.Price";
			modifierType = "Multiplier";
			id = "cyberware_curves";
			column = "veryhigh_humanity_to_price_mult";
			refStat = "BaseStats.Quality";
			refObject = "Item";
		} : CurveStatModifier
	];
	sellPrice += 
	[
		{
			statType = "BaseStats.Price";
			modifierType = "Multiplier";
			id = "cyberware_curves";
			column = "veryhigh_humanity_to_price_mult";
			refStat = "BaseStats.Quality";
			refObject = "Item";
		} : CurveStatModifier
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeInvulnerability", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.25f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										statPool = "BaseStatPools.Health";
										statusEffect = "BaseStatusEffect.AdvancedBerserkDamageBonusStack";
										statPoolStep = 1f;
										stepUsesPercent = true;
										thresholdUsesPercent = true;
										minStacks = 0;
										maxStacks = 50;
										roundUpwards = true;
										inverted = true;
										startingThreshold = 80;
									} : StatPoolBasedStatusEffectEffector
								];
								stats = 
								[
									{
										statType = "BaseStats.MaxSpeed";
										modifierType = "AdditiveMultiplier";
										value = 0.15f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC4MK4Plus";
}

[ notQueryable ]
AdvancedBerserkC4MK4Plus : AdvancedBerserkC4MK4
{
	quality = "Quality.EpicPlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.IsItemIconic";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 35.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 3.181f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	usesVariants = true;
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92697";
				intValues = 
				[
					100, 25, 15, 50, 20, 25, 11
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					35
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeInvulnerability", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.25f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										statPool = "BaseStatPools.Health";
										statusEffect = "BaseStatusEffect.AdvancedBerserkDamageBonusStack";
										statPoolStep = 1f;
										stepUsesPercent = true;
										thresholdUsesPercent = true;
										minStacks = 0;
										maxStacks = 50;
										roundUpwards = true;
										inverted = true;
										startingThreshold = 80;
									} : StatPoolBasedStatusEffectEffector
								];
								stats = 
								[
									{
										statType = "BaseStats.MaxSpeed";
										modifierType = "AdditiveMultiplier";
										value = 0.15f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC4MK5";
}

AdvancedBerserkC4MK5 : AdvancedBerserkC4MK4
{
	displayName = "LocKey#53660";
	localizedDescription = "LocKey#53670";
	iconPath = "cw_system_berserkc4";
	quality = "Quality.Legendary";
	statModifiers = 
	[
		{
			statType = "BaseStats.IsItemIconic";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 35.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 2.916f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92697";
				intValues = 
				[
					100, 30, 20, 50, 20, 25, 12
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					35
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeInvulnerability", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.30f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										statPool = "BaseStatPools.Health";
										statusEffect = "BaseStatusEffect.AdvancedBerserkDamageBonusStack";
										statPoolStep = 1f;
										stepUsesPercent = true;
										thresholdUsesPercent = true;
										minStacks = 0;
										maxStacks = 50;
										roundUpwards = true;
										inverted = true;
										startingThreshold = 80;
									} : StatPoolBasedStatusEffectEffector
								];
								stats = 
								[
									{
										statType = "BaseStats.MaxSpeed";
										modifierType = "AdditiveMultiplier";
										value = 0.2f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC4MK5Plus";
}

[ notQueryable ]
AdvancedBerserkC4MK5Plus : AdvancedBerserkC4MK4
{
	quality = "Quality.LegendaryPlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.IsItemIconic";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 30.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 2.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92697";
				intValues = 
				[
					100, 30, 20, 50, 20, 25, 12
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					30
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeInvulnerability", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.30f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										statPool = "BaseStatPools.Health";
										statusEffect = "BaseStatusEffect.AdvancedBerserkDamageBonusStack";
										statPoolStep = 1f;
										stepUsesPercent = true;
										thresholdUsesPercent = true;
										minStacks = 0;
										maxStacks = 50;
										roundUpwards = true;
										inverted = true;
										startingThreshold = 80;
									} : StatPoolBasedStatusEffectEffector
								];
								stats = 
								[
									{
										statType = "BaseStats.MaxSpeed";
										modifierType = "AdditiveMultiplier";
										value = 0.2f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "Items.AdvancedBerserkC4MK5PlusPlus";
}

[ EP1 ]
[ notQueryable ]
AdvancedBerserkC4MK5PlusPlus : AdvancedBerserkC4MK4
{
	quality = "Quality.LegendaryPlusPlus";
	statModifiers = 
	[
		{
			statType = "BaseStats.IsItemIconic";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HasBerserk";
			modifierType = "Additive";
			value = 1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkCooldownBase";
			modifierType = "Additive";
			value = 25.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesDecayRate";
			modifierType = "Additive";
			value = 2.083f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BerserkChargesRegenRate";
			modifierType = "Additive";
			value = 0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AttunementHelper";
			modifierType = "Additive";
			refStat = "BaseStats.Strength";
			refObject = "Player";
			opSymbol = "*";
			value = 0.5f;
		} : CombinedStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#92697";
				intValues = 
				[
					100, 30, 20, 50, 20, 25, 12
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#93182";
				floatValues = 
				[
					25
				];
			};
		} : GameplayLogicPackage, 
		"Attunements.BodyBerserkDamage"
	];
	objectActions = 
	[
		"CyberwareAction.DisableAdvancedBerserk", {
			startEffects = 
			[
				{
					recipient = "ObjectActionReference.Instigator";
					statusEffect = 
					{
						packages += 
						[
							"Items.BerserkFakeInvulnerability", {
								effectors = 
								[
									{
										fk< StatModifierGroup > statGroup = 
										{
											statModifiers = 
											[
												{
													statType = "BaseStats.AttackSpeed";
													modifierType = "AdditiveMultiplier";
													value = 0.30f;
												} : ConstantStatModifier
											];
										} : StatModifierGroup;
										bool reapplyOnWeaponChange = true;
									} : ApplyStatGroupOnWeapon, 
									{
										statPool = "BaseStatPools.Health";
										statusEffect = "BaseStatusEffect.AdvancedBerserkDamageBonusStack";
										statPoolStep = 1f;
										stepUsesPercent = true;
										thresholdUsesPercent = true;
										minStacks = 0;
										maxStacks = 50;
										roundUpwards = true;
										inverted = true;
										startingThreshold = 80;
									} : StatPoolBasedStatusEffectEffector
								];
								stats = 
								[
									{
										statType = "BaseStats.MaxSpeed";
										modifierType = "AdditiveMultiplier";
										value = 0.2f;
									} : ConstantStatModifier
								];
							}
						];
					} : AdvancedBerserkPlayerBuff;
				}
			];
		} : UseAdvancedBerserk
	];
	nextUpgradeItem = "";
}

BerserkFakeImmortality : GameplayLogicPackage
{
	effectors = 
	[
		{
			statPoolType = "BaseStatPools.Health";
			value = 25.0f;
			usePercent = true;
		} : ModifyStatPoolCustomLimitEffector, 
		{
			prereqRecord = 
			{
				nestedPrereqs = 
				[
					{
						conditions = 
						[
							{
								attackType = "PressureWave";
							} : AttackTypeHitPrereqCondition
						];
						bool ignoreSelfInflictedPressureWave = false;
					} : PreProcessHitReceived, 
					{
						conditions = 
						[
							{
								attackTag = "outOfOxygen_dot";
							} : AttackTagHitPrereqCondition
						];
					} : PreProcessHitReceived
				];
			} : ORPrereq;
			hitFlag = "IgnoreStatPoolCustomLimit";
		} : AddHitFlagToAttackEffector
	];
}

BerserkFakeInvulnerability : GameplayLogicPackage
{
	effectors = 
	[
		{
			prereqRecord = 
			{
				conditions = 
				[
					{
						attackTag = "outOfOxygen_dot";
						invert = true;
					} : AttackTagHitPrereqCondition, 
					{
						attackType = "PressureWave";
						invert = true;
					} : AttackTypeHitPrereqCondition
				];
				bool ignoreSelfInflictedPressureWave = false;
			} : ProcessHitReceived;
			value = 0.0f;
		} : MultiplyDamage
	];
}

