package Items
using RTDB, BaseStats, Perks, Prereqs

[ notQueryable ]
SubdermalArmorCommon : IntegumentarySystemModule
{
	displayName = "LocKey#40809";
	localizedDescription = "LocKey#40810";
	iconPath = "cw_integumentary_subdermalarmorcommon";
	quality = "Quality.Common";
	fk< GameplayLogicPackage >[] OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.Armor";
					modifierType = "Additive";
					value = 50f;
				} : ConstantStatModifier
			];
			UIData = 
			{
				intValues = 
				[
					50
				];
			} : SubdermalArmorAbilityUIData;
		}
	];
	CName cyberwareType = "SubdermalArmor";
	buyPrice += 
	[
		"Price.SubdermalArmor"
	];
	sellPrice += 
	[
		"Price.SubdermalArmor"
	];
	counterpart = "Items.AdvancedBoringPlatingCommon";
}

[ notQueryable ]
SubdermalArmorUncommon : SubdermalArmorCommon
{
	quality = "Quality.Uncommon";
	fk< GameplayLogicPackage >[] OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.Armor";
					modifierType = "Additive";
					value = 100f;
				} : ConstantStatModifier
			];
			UIData = 
			{
				intValues = 
				[
					100
				];
			} : SubdermalArmorAbilityUIData;
		}
	];
	counterpart = "Items.AdvancedBoringPlatingCommon";
}

[ notQueryable ]
SubdermalArmorRare : SubdermalArmorCommon
{
	quality = "Quality.Rare";
	fk< GameplayLogicPackage >[] OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.Armor";
					modifierType = "Additive";
					value = 150f;
				} : ConstantStatModifier
			];
			UIData = 
			{
				intValues = 
				[
					150
				];
			} : SubdermalArmorAbilityUIData;
		}
	];
	counterpart = "Items.AdvancedBoringPlatingCommon";
}

[ notQueryable ]
SubdermalArmorEpic : SubdermalArmorCommon
{
	quality = "Quality.Epic";
	fk< GameplayLogicPackage >[] OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.Armor";
					modifierType = "Additive";
					value = 200f;
				} : ConstantStatModifier
			];
			UIData = 
			{
				intValues = 
				[
					200
				];
			} : SubdermalArmorAbilityUIData;
		}
	];
	counterpart = "Items.AdvancedBoringPlatingCommon";
}

[ notQueryable ]
SubdermalArmorLegendary : SubdermalArmorCommon
{
	quality = "Quality.Legendary";
	fk< GameplayLogicPackage >[] OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.Armor";
					modifierType = "Additive";
					value = 300f;
				} : ConstantStatModifier
			];
			UIData = 
			{
				intValues = 
				[
					300
				];
			} : SubdermalArmorAbilityUIData;
		}
	];
	counterpart = "Items.AdvancedBoringPlatingCommon";
}

[ notQueryable ]
FireproofSkin : IntegumentarySystemModule
{
	string friendlyName = "FireproofSkin";
	displayName = "LocKey#3701";
	localizedDescription = "LocKey#3709";
	iconPath = "cw_integumentary_fireproofskin";
	quality = "Quality.Rare";
	equipPrereqs = 
	[
		{
			valueToCheck = 12;
		} : BodyPrereq
	];
	fk< GameplayLogicPackage >[] OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.BurningImmunity";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier
			];
			UIData = 
			{
				iconPath = "ability_silenced";
				localizedDescription = "LocKey#40811";
			};
		} : GameplayLogicPackage
	];
	fk< ConstantStatModifier > price = 
	{
		statType = "BaseStats.Price";
		modifierType = "Additive";
		value = 125;
	} : ConstantStatModifier;
	CName cyberwareType = "FireproofSkin";
	buyPrice += 
	[
		"Price.FireproofSkin"
	];
	sellPrice += 
	[
		"Price.FireproofSkin"
	];
	deprecated = true;
}

[ notQueryable ]
MetalCoveredSkin : IntegumentarySystemModule
{
	string friendlyName = "MetalCoveredSkin";
	displayName = "LocKey#40813";
	localizedDescription = "LocKey#40814";
	iconPath = "cw_integumentary_metalcoveredskin";
	quality = "Quality.Rare";
	equipPrereqs = 
	[
		{
			valueToCheck = 12;
		} : BodyPrereq
	];
	fk< GameplayLogicPackage >[] OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.BleedingImmunity";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier
			];
			UIData = 
			{
				iconPath = "ability_silenced";
				localizedDescription = "LocKey#40812";
			};
		} : GameplayLogicPackage
	];
	fk< ConstantStatModifier > price = 
	{
		statType = "BaseStats.Price";
		modifierType = "Additive";
		value = 125;
	} : ConstantStatModifier;
	CName cyberwareType = "MetalCoveredSkin";
	buyPrice += 
	[
		"Price.MetalCoveredSkin"
	];
	sellPrice += 
	[
		"Price.MetalCoveredSkin"
	];
	deprecated = true;
}

[ notQueryable ]
GroundingPlating : IntegumentarySystemModule
{
	displayName = "LocKey#40816";
	localizedDescription = "LocKey#40817";
	iconPath = "cw_integumentary_groundingplating";
	quality = "Quality.Rare";
	equipPrereqs = 
	[
		{
			valueToCheck = 12;
		} : TechnicalAbilityPrereq
	];
	fk< GameplayLogicPackage >[] OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.ElectrocuteImmunity";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier, 
				{
					statType = "BaseStats.EMPImmunity";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier
			];
			UIData = 
			{
				iconPath = "ability_silenced";
				localizedDescription = "LocKey#40815";
			};
		} : GameplayLogicPackage
	];
	fk< ConstantStatModifier > price = 
	{
		statType = "BaseStats.Price";
		modifierType = "Additive";
		value = 125;
	} : ConstantStatModifier;
	CName cyberwareType = "GroundingPlating";
	buyPrice += 
	[
		"Price.GroundingPlating"
	];
	sellPrice += 
	[
		"Price.GroundingPlating"
	];
	deprecated = true;
}

[ notQueryable ]
OpticalCamoRare : IntegumentarySystemModule
{
	string friendlyName = "OpticalCamo";
	displayName = "LocKey#3702";
	localizedDescription = "LocKey#3710";
	iconPath = "cw_integumentary_opticalcamo";
	itemType = "ItemType.Cyb_Ability";
	quality = "Quality.Rare";
	fk< GameplayLogicPackage >[] OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.OpticalCamoRechargeDuration";
					modifierType = "Additive";
					value = 60;
				} : ConstantStatModifier
			];
			effectors = 
			[
				{
					statPoolUpdates = 
					[
						{
							statPoolType = "BaseStatPools.OpticalCamoCharges";
							statPoolValue = 100;
						} : StatPoolUpdate
					];
					bool usePercent = true;
				} : ModifyStatPoolValueEffector
			];
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				iconPath = "ability_silenced";
				localizedDescription = "LocKey#40818";
				intValues = 
				[
					6, 60
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#43472";
			};
		}
	];
	CName cyberwareType = "OpticalCamo";
	objectActions = 
	[
		"CyberwareAction.UseOpticalCamoRare"
	];
	buyPrice += 
	[
		"Price.OpticalCamo"
	];
	sellPrice += 
	[
		"Price.OpticalCamo"
	];
	counterpart = "Items.AdvancedOpticalCamoUncommon";
}

[ notQueryable ]
OpticalCamoEpic : OpticalCamoRare
{
	quality = "Quality.Epic";
	objectActions = 
	[
		"CyberwareAction.UseOpticalCamoEpic"
	];
	OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.OpticalCamoRechargeDuration";
					modifierType = "Additive";
					value = 55;
				} : ConstantStatModifier
			];
			effectors = 
			[
				{
					statPoolUpdates = 
					[
						{
							statPoolType = "BaseStatPools.OpticalCamoCharges";
							statPoolValue = 100;
						} : StatPoolUpdate
					];
					bool usePercent = true;
				} : ModifyStatPoolValueEffector
			];
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				iconPath = "ability_silenced";
				localizedDescription = "LocKey#40818";
				intValues = 
				[
					8, 55
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#43472";
			};
		}
	];
	counterpart = "Items.AdvancedOpticalCamoUncommon";
}

[ notQueryable ]
OpticalCamoLegendary : OpticalCamoRare
{
	quality = "Quality.Legendary";
	objectActions = 
	[
		"CyberwareAction.UseOpticalCamoLegendary"
	];
	OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.OpticalCamoRechargeDuration";
					modifierType = "Additive";
					value = 50;
				} : ConstantStatModifier
			];
			effectors = 
			[
				{
					statPoolUpdates = 
					[
						{
							statPoolType = "BaseStatPools.OpticalCamoCharges";
							statPoolValue = 100;
						} : StatPoolUpdate
					];
					bool usePercent = true;
				} : ModifyStatPoolValueEffector
			];
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				iconPath = "ability_silenced";
				localizedDescription = "LocKey#40818";
				intValues = 
				[
					10, 50
				];
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#43472";
			};
		}
	];
	counterpart = "Items.AdvancedOpticalCamoUncommon";
}

[ notQueryable ]
HeatUsingBooster : IntegumentarySystemModule
{
	iconPath = "cw_integumentary_heatusingbooster";
	displayName = "LocKey#40821";
	localizedDescription = "LocKey#40822";
	quality = "Quality.Epic";
	equipPrereqs = 
	[
		{
			valueToCheck = 14;
		} : CoolPrereq
	];
	fk< GameplayLogicPackage >[] OnEquip = 
	[
		{
			effectors = 
			[
				{
					prereqRecord = 
					{
						prereqClassName = "StatusEffectPrereq";
						statusEffect = "BaseStatusEffect.Burning";
						checkType = "CheckType.Type";
					} : StatusEffectPrereq;
					effectorToApply = 
					{
						prereqRecord = "Perks.IsTargetNotPlayer";
						value = 1.1f;
					} : MultiplyDamage;
				} : ApplyEffectorOnPlayer, 
				{
					prereqRecord = 
					{
						conditions = 
						[
							{
								dotType = "Burning";
							} : DamageOverTimeTypeHitPrereqCondition
						];
					} : ProcessHitReceived;
					effectorClassName = "ModifyDamageEffector";
					string operationType = "Multiply";
					float value = 0f;
				}, 
				{
					prereqRecord = 
					{
						prereqClassName = "StatusEffectPrereq";
						statusEffect = "BaseStatusEffect.Burning";
						checkType = "CheckType.Type";
					} : StatusEffectPrereq;
					statusEffect = "BaseStatusEffect.HeatUsingBoosterDummyEffect";
				} : ApplyStatusEffectEffector
			];
			UIData = 
			{
				iconPath = "ability_silenced";
				localizedDescription = "LocKey#40820";
				intValues = 
				[
					10
				];
			};
		} : GameplayLogicPackage
	];
	CName cyberwareType = "HeatUsingBooster";
	buyPrice += 
	[
		"Price.HeatUsingBooster"
	];
	sellPrice += 
	[
		"Price.HeatUsingBooster"
	];
	deprecated = true;
}

[ notQueryable ]
SubdermalArmorAbilityUIData : GameplayLogicPackageUIData
{
	iconPath = "";
	localizedDescription = "LocKey#40808";
}

