package Items
using RTDB, BaseStats, WeaponFxPackage, FistsAttacks

[ notQueryable ]
NanoWiresPartBase : Fragment
{
	bool isSingleInstance = false;
	bool isPart = true;
	fk< ParentAttachmentType > parentAttachmentType = "ParentAttachmentType.Slot";
	CName[] tags += 
	[
		"itemPart", "DummyPart", "SkipActivityLog", "HideInBackpackUI", "HideInUI", "HideAtVendor"
	];
	buyPrice += 
	[
		"Price.NanoWiresFragment"
	];
	sellPrice += 
	[
		"Price.NanoWiresFragment"
	];
}

[ notQueryable ]
NanoWiresRoot : NanoWiresPartBase
{
	bool isCustomizable = true;
	CName[] tags += 
	[
		"parentPart", "SkipActivityLog"
	];
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.CyberwareRoot"
	];
	CName appearanceName = "unholstered_nanowire";
	fk< ItemsFactoryAppearanceSuffixBase >[] appearanceSuffixes = [];
	buyPrice = [];
	sellPrice = [];
}

[ notQueryable ]
NanoWiresCableBase : NanoWiresPartBase
{
	displayName = "LocKey#51187";
	CName[] tags += 
	[
		"itemPart"
	];
	visualTags = 
	[
		"BaseCable"
	];
	quality = "Quality.Rare";
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.NanoWiresCable"
	];
	CName appearanceResourceName = "a0_002_wa__monowire_whip_cable";
	fk< CraftingPackage > CraftingData = 
	{
		fk< RecipeElement >[] craftingRecipe += 
		[
			{
				ingredient = "Items.UncommonMaterial1";
				amount = 15;
			}, 
			{
				ingredient = "Items.RareMaterial1";
				amount = 15;
			}
		];
	};
}

PhysicalDamageCable : NanoWiresCableBase
{
	displayName = "LocKey#23218";
	visualTags = 
	[
		"PhysicalCable"
	];
	iconPath = "cwf_physicaldamagecable";
	statModifiers = 
	[
		{
			statType = "BaseStats.PhysicalDamage";
		} : ArmsCyberwareDPSToStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#53686";
			};
		}
	];
}

ThermalDamageCable : NanoWiresCableBase
{
	displayName = "LocKey#23219";
	visualTags = 
	[
		"ThermalCable"
	];
	iconPath = "cwf_thermaldamagecable";
	statModifiers = 
	[
		{
			statType = "BaseStats.ThermalDamage";
		} : ArmsCyberwareDPSToStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#53687";
			};
		}
	];
}

ChemicalDamageCable : NanoWiresCableBase
{
	displayName = "LocKey#23220";
	visualTags = 
	[
		"ChemicalCable"
	];
	iconPath = "cwf_chemicaldamagecable";
	statModifiers = 
	[
		{
			statType = "BaseStats.ChemicalDamage";
		} : ArmsCyberwareDPSToStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#53688";
			};
		}
	];
}

ElectricDamageCable : NanoWiresCableBase
{
	displayName = "LocKey#23221";
	visualTags = 
	[
		"ElectricCable"
	];
	iconPath = "cwf_electricdamagecable";
	statModifiers = 
	[
		{
			statType = "BaseStats.ElectricDamage";
		} : ArmsCyberwareDPSToStatModifier
	];
	OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#53689";
			};
		}
	];
}

[ notQueryable ]
NanoWiresBatteryBase : NanoWiresPartBase
{
	displayName = "LocKey#51189";
	CName[] tags += 
	[
		"itemPart"
	];
	visualTags = 
	[
		"default"
	];
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.NanoWiresBattery"
	];
	OnAttach = 
	[
		{
			UIData = "Items.NanoWiresBatteryUIData";
		}
	];
}

LowChargedWiresBattery : NanoWiresBatteryBase
{
	displayName = "LocKey#23222";
	iconPath = "cwf_lowchargedwiresbattery";
	quality = "Quality.Rare";
	statModifiers = 
	[
		{
			statType = "BaseStats.ChargeTime";
			modifierType = "Additive";
			refObject = "Player";
			refStat = "BaseStats.BaseChargeTime";
			opSymbol = "*";
			value = -0.1f;
		} : CombinedStatModifier
	];
	fk< CraftingPackage > CraftingData = 
	{
		fk< RecipeElement >[] craftingRecipe += 
		[
			{
				ingredient = "Items.CommonMaterial1";
				amount = 15;
			}, 
			{
				ingredient = "Items.UncommonMaterial1";
				amount = 5;
			}, 
			{
				ingredient = "Items.RareMaterial1";
				amount = 15;
			}
		];
	};
}

MediumChargedWiresBattery : NanoWiresBatteryBase
{
	displayName = "LocKey#23223";
	iconPath = "cwf_mediumchargedwiresbattery";
	quality = "Quality.Epic";
	statModifiers = 
	[
		{
			statType = "BaseStats.ChargeTime";
			modifierType = "Additive";
			refObject = "Player";
			refStat = "BaseStats.BaseChargeTime";
			opSymbol = "*";
			value = -0.25f;
		} : CombinedStatModifier
	];
	fk< CraftingPackage > CraftingData = 
	{
		fk< RecipeElement >[] craftingRecipe += 
		[
			{
				ingredient = "Items.UncommonMaterial1";
				amount = 15;
			}, 
			{
				ingredient = "Items.RareMaterial1";
				amount = 25;
			}, 
			{
				ingredient = "Items.EpicMaterial1";
				amount = 20;
			}
		];
	};
}

HighChargedWiresBattery : NanoWiresBatteryBase
{
	displayName = "LocKey#23224";
	iconPath = "cwf_highchargedwiresbattery";
	quality = "Quality.Epic";
	statModifiers = 
	[
		{
			statType = "BaseStats.ChargeTime";
			modifierType = "Additive";
			refObject = "Player";
			refStat = "BaseStats.BaseChargeTime";
			opSymbol = "*";
			value = -0.5f;
		} : CombinedStatModifier
	];
	fk< CraftingPackage > CraftingData = 
	{
		fk< RecipeElement >[] craftingRecipe += 
		[
			{
				ingredient = "Items.UncommonMaterial1";
				amount = 25;
			}, 
			{
				ingredient = "Items.RareMaterial1";
				amount = 35;
			}, 
			{
				ingredient = "Items.EpicMaterial1";
				amount = 35;
			}
		];
	};
}

NanoWiresBatteryUIData : GameplayLogicPackageUIData
{
	localizedDescription = "LocKey#53691";
	stats = 
	[
		"BaseStats.Charge"
	];
}

