package Items
using RTDB, BaseStats, Prereqs, Perks, Effectors

Preset_Machete_Default : Base_Machete_Kukri
{
	displayName = "LocKey#40204";
	localizedDescription = "LocKey#49520";
	CName[] visualTags = 
	[
		"Default"
	];
	tags += 
	[
		"Machete"
	];
	CName appearanceResourceName = "Preset_Machete_Default";
	fk< UIIcon > hudIcon = "HUDWeaponIcons.Machete_3";
	fk< SlotItemPartPreset >[] slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Grip";
			fk< Item > itemPartPreset = "Items.w_machete_common_grip";
		}, 
		{
			slot = "AttachmentSlots.Blade_WeaponMod1";
		} : BladeModList_Slot1, 
		{
			slot = "AttachmentSlots.Blade_WeaponMod2";
		} : BladeModList_Slot2
	];
	audioWeaponConfiguration = "audio_melee_metadata_kukri_voodoo";
	fk< StatModifierGroup >[] statModifierGroups += 
	[
		"Items.Machete_Damage_Stats"
	];
	npcRPGData = 
	{
		statModifierGroups += 
		[
			"Items.Machete_NPC_Damage_Stats"
		];
	} : Base_Machete_NPC_Data;
}

Machete_Damage_Stats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 72f;
		} : ConstantStatModifier
	];
}

Machete_NPC_Damage_Stats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 67f;
		} : ConstantStatModifier
	];
}

Kurt_Machete_NPC_Stats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 60.f;
		} : ConstantStatModifier, 
		"AttackModifier.WeaponArmorPenetrationHigh"
	];
}

Preset_Machete_Maelstrom : Preset_Machete_Default
{
	localizedDescription = "LocKey#40205";
	CName[] visualTags = 
	[
		"Maelstrom"
	];
	tags += 
	[
		"Maelstrom", "Courier_RareFind"
	];
	fk< UIIcon > hudIcon = "HUDWeaponIcons.Machete_2";
}

Preset_Machete_Valentinos : Preset_Machete_Default
{
	localizedDescription = "LocKey#40206";
	CName[] visualTags = 
	[
		"Valentinos"
	];
	fk< UIIcon > hudIcon = "HUDWeaponIcons.Machete_1";
	tags += 
	[
		"Courier_RareFind"
	];
}

Preset_Kukri_Default : Base_Machete_Kukri
{
	displayName = "LocKey#40201";
	localizedDescription = "LocKey#40202";
	CName[] visualTags = 
	[
		"Default"
	];
	tags += 
	[
		"Kukri"
	];
	CName appearanceResourceName = "Preset_Kukri_Default";
	fk< UIIcon > hudIcon = "HUDWeaponIcons.Kukri";
	fk< SlotItemPartPreset >[] slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Grip";
			fk< Item > itemPartPreset = "Items.w_kukri_common_grip";
		}, 
		{
			slot = "AttachmentSlots.Blade_WeaponMod1";
		} : BladeModList_Slot1, 
		{
			slot = "AttachmentSlots.Blade_WeaponMod2";
		} : BladeModList_Slot2
	];
	audioWeaponConfiguration = "audio_melee_metadata_kukri";
	fk< StatModifierGroup >[] statModifierGroups += 
	[
		"Items.Kukri_Damage_Stats"
	];
	npcRPGData = 
	{
		statModifierGroups += 
		[
			"Items.Kukri_NPC_Damage_Stats"
		];
	} : Base_Machete_NPC_Data;
}

Kukri_Damage_Stats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 72f;
		} : ConstantStatModifier
	];
}

Kukri_NPC_Damage_Stats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 67f;
		} : ConstantStatModifier
	];
}

Preset_Kukri_Voodoo : Preset_Kukri_Default
{
	localizedDescription = "LocKey#40203";
	CName[] visualTags = 
	[
		"Voodoo_Boys"
	];
	tags += 
	[
		"Courier_RareFind"
	];
}

Preset_Machete_Borg_Default : Base_Machete_Borg
{
	displayName = "LocKey#82725";
	localizedDescription = "LocKey#82726";
	fk< UIIcon > hudIcon = "HUDWeaponIcons.Machete_Borg";
	CName[] visualTags = 
	[
		"Default"
	];
	CName appearanceResourceName = "Preset_Machete_Borg_Default";
	tags += 
	[
		"Techtronika", "Borg_Machete"
	];
	fk< SlotItemPartPreset >[] slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Grip";
			fk< Item > itemPartPreset = "Items.w_machete_borg_grip";
		}, 
		{
			slot = "AttachmentSlots.Blade_WeaponMod1";
		} : BladeModList_Slot1, 
		{
			slot = "AttachmentSlots.Blade_WeaponMod2";
		} : BladeModList_Slot2
	];
	audioWeaponConfiguration = "audio_melee_metadata_borg_machete";
	fk< StatModifierGroup >[] statModifierGroups += 
	[
		"Items.Borg_Machete_Stats", "Items.Borg_Machete_Damage_Stats"
	];
	OnAttach = 
	[
		"GLP.HoldingVerySlowMelee"
	];
	npcRPGData = 
	{
		statModifierGroups += 
		[
			"Items.Borg_Machete_NPC_Damage_Stats"
		];
	} : Base_Machete_NPC_Data;
}

Borg_Machete_Damage_Stats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 86f;
		} : ConstantStatModifier
	];
}

Borg_Machete_NPC_Damage_Stats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 67f;
		} : ConstantStatModifier
	];
}

Preset_Machete_Borg_Neon : Preset_Machete_Borg_Default
{
	CName[] visualTags = 
	[
		"Neon"
	];
	tags += 
	[
		"Neon"
	];
}

Preset_Machete_Borg_Military : Preset_Machete_Borg_Default
{
	CName[] visualTags = 
	[
		"Military"
	];
	tags += 
	[
		"Military"
	];
}

Preset_Machete_Borg_Pimp : Preset_Machete_Borg_Default
{
	CName[] visualTags = 
	[
		"Pimp"
	];
	tags += 
	[
		"Pimp"
	];
}

[ EP1 ]
[ notQueryable ]
Preset_Machete_Borg_AirDrop : Preset_Machete_Borg_Default
{
	OnLooted += 
	[
		{
			effectors = 
			[
				{
					fact = "machete_borg_airdrop_owned";
					value = 1;
				} : SetFactEffector
			];
		}
	];
	fk< ItemBlueprint > blueprint = "Items.Iconic_Melee_Blueprint";
	CName[] visualTags = 
	[
		"AirDrop_Weapon"
	];
	tags += 
	[
		"AirDrop_Burn", "IconicWeapon", "AirDropWeapon"
	];
	quality = "Quality.Random";
	displayName = "LocKey#93442";
	localizedDescription = "LocKey#93446";
	slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Grip";
			fk< Item > itemPartPreset = "Items.w_machete_borg_grip";
		}, 
		{
			slot = "AttachmentSlots.IconicMeleeWeaponMod1";
			itemPartPreset = "Items.BorgMacheteAirDropWeaponMod";
		}
	];
	statModifiers += 
	[
		"Quality.IconicItem"
	];
	npcRPGData = 
	{
		statModifiers += 
		[
			"Quality.IconicItem"
		];
		statModifierGroups += 
		[
			"Items.Borg_Machete_NPC_Damage_Stats"
		];
	} : Base_Machete_NPC_Data;
	statModifierGroups = 
	[
		"Items.IconicQualityRandomization", "Items.Base_Machete_RPG_Stats", "Items.Base_Machete_Handling_Stats", "Items.Base_Machete_Misc_Stats", "Items.AirDrop_Status_Effect_Application_Stats", "Items.Base_Weapon_Damage_Type_Min_Max", "Items.Base_Weapon_Damage_Type_Thermal", "Items.Borg_Machete_Stats", "Items.Borg_Machete_Damage_Stats", "Items.Borg_Machete_AirDrop_Stat_Modifiers"
	];
}

Borg_Machete_AirDrop_Stat_Modifiers : StatModifierGroup
{
	statModifiers = 
	[
		{
			statType = "BaseStats.MeleeBorgStaminaDrain";
			modifierType = "Additive";
			value = 10f;
		} : ConstantStatModifier
	];
}

[ notQueryable ]
Preset_Machete_Kurt : Preset_Machete_Default
{
	attacks += 
	[
		"NPCAttacks.KurtTakedownAttack01", "NPCAttacks.KurtTakedownAttack02", "NPCAttacks.KurtTakedownAttackFar02", "NPCAttacks.KurtJump_StrongAttackKnockdown", "NPCAttacks.KurtMeleeExplosion"
	];
	npcRPGData = 
	{
		statModifierGroups += 
		[
			"Items.Kurt_Machete_NPC_Stats"
		];
		statModifiers += 
		[
			{
				statType = "BaseStats.RandomCurveInput";
				modifierType = "Additive";
				id = "quality_curves";
				column = "rci_to_cyberpsycho_boss_level";
				refStat = "BaseStats.NPCLootLevelHelper";
			} : CurveStatModifier
		];
	} : Base_Machete_NPC_Data;
}

[ notQueryable ]
Craftable_Common_Kukri : Preset_Kukri_Default
{
	quality = "Quality.Common";
	fk< SlotItemPartPreset >[] slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Grip";
			fk< Item > itemPartPreset = "Items.w_kukri_common_grip";
		}
	];
	CraftingData = "Items.Small_Common_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Uncommon_Kukri : Craftable_Common_Kukri
{
	quality = "Quality.Uncommon";
	CraftingData = "Items.Small_Uncommon_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Rare_Kukri : Craftable_Uncommon_Kukri
{
	quality = "Quality.Rare";
	CraftingData = "Items.Small_Rare_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Epic_Kukri : Craftable_Uncommon_Kukri
{
	quality = "Quality.Epic";
	CraftingData = "Items.Small_Epic_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Legendary_Kukri : Craftable_Uncommon_Kukri
{
	quality = "Quality.Legendary";
	CraftingData = "Items.Small_Legendary_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Common_Machete : Preset_Machete_Default
{
	quality = "Quality.Common";
	fk< SlotItemPartPreset >[] slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Grip";
			fk< Item > itemPartPreset = "Items.w_machete_common_grip";
		}
	];
	CraftingData = "Items.Small_Common_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Uncommon_Machete : Craftable_Common_Machete
{
	quality = "Quality.Uncommon";
	CraftingData = "Items.Small_Uncommon_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Rare_Machete : Craftable_Uncommon_Machete
{
	quality = "Quality.Rare";
	CraftingData = "Items.Small_Rare_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Epic_Machete : Craftable_Uncommon_Machete
{
	quality = "Quality.Epic";
	CraftingData = "Items.Small_Epic_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Legendary_Machete : Craftable_Uncommon_Machete
{
	quality = "Quality.Legendary";
	CraftingData = "Items.Small_Legendary_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Common_Machete_Borg : Preset_Machete_Borg_Default
{
	quality = "Quality.Common";
	fk< SlotItemPartPreset >[] slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Grip";
			fk< Item > itemPartPreset = "Items.w_machete_borg_grip";
		}
	];
	CraftingData = "Items.Small_Common_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Uncommon_Machete_Borg : Craftable_Common_Machete_Borg
{
	quality = "Quality.Uncommon";
	CraftingData = "Items.Small_Uncommon_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Rare_Machete_Borg : Craftable_Uncommon_Machete_Borg
{
	quality = "Quality.Rare";
	CraftingData = "Items.Small_Rare_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Epic_Machete_Borg : Craftable_Uncommon_Machete_Borg
{
	quality = "Quality.Epic";
	CraftingData = "Items.Small_Epic_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Legendary_Machete_Borg : Craftable_Uncommon_Machete_Borg
{
	quality = "Quality.Legendary";
	CraftingData = "Items.Small_Legendary_Crafting_Materials_Weapon";
}

[ notQueryable ]
w_melee_002__machete_a : Preset_Machete_Default
{
}

