package Items
using RTDB, BaseStats, WeaponFxPackage

[ notQueryable ]
Player_Fists : Base_Fists
{
	displayName = "LocKey#50273";
	fk< Crosshair > crosshair = "Crosshairs.Melee";
	quality = "Quality.Common";
	audioWeaponConfiguration = "audio_melee_metadata_fists_normal";
	fk< Item > holsteredItem = "Items.HolsteredFists";
	tags += 
	[
		"base_fists", "Weapon", "SkipActivityLog", "IgnoreInventory"
	];
	statModifierGroups += 
	[
		"Proficiencies.Weapon_StrengthSkill_Passives", "Proficiencies.Fists_StrengthSkill_Passives"
	];
	fk< UIIcon > hudIcon = "HUDWeaponIcons.Melee_base";
}

[ notQueryable ]
w_melee_004__fists_a : Player_Fists
{
}

[ notQueryable ]
w_melee_004__fists_a_sasquatch : Player_Fists
{
	attacks += 
	[
		"NPCAttacks.SasquatchLightAttackFists", "NPCAttacks.SasquatchStrongAttackFists", "NPCAttacks.SasquatchStrongAttackKnockdownFists", "NPCAttacks.SasquatchStompAttackStaggerFists", "NPCAttacks.SasquatchStrongAttackStompKnockdownFists", "NPCAttacks.SasquatchStrongAttackStaggerFists", "NPCAttacks.SmasherStrongAttackStompKnockdown", "NPCAttacks.SasquatchMeleeExplosion"
	];
	enableNpcRPGData = true;
	npcRPGData = 
	{
		statModifiers += 
		[
			"AttackModifier.WeaponArmorPenetrationMedium"
		];
	} : Base_Fists_NPC_Data;
}

[ notQueryable ]
w_melee_004__fists_a_oda : Player_Fists
{
	attacks += 
	[
		"NPCAttacks.SasquatchLightAttackFists", "NPCAttacks.SasquatchStrongAttackFists", "NPCAttacks.SasquatchStrongAttackKnockdownFists", "NPCAttacks.SasquatchStompAttackStaggerFists", "NPCAttacks.SasquatchStrongAttackStompKnockdownFists", "NPCAttacks.SasquatchStrongAttackStaggerFists", "NPCAttacks.SmasherStrongAttackStompKnockdown"
	];
	enableNpcRPGData = true;
	npcRPGData = 
	{
		statModifiers += 
		[
			"AttackModifier.WeaponArmorPenetrationMedium"
		];
	} : Base_Fists_NPC_Data;
}

[ notQueryable ]
replacer_w_melee_004__fists_a : Player_Fists
{
	holsteredItem = "";
}

[ notQueryable ]
Npc_fists_ma : Base_Fists
{
}

[ notQueryable ]
Npc_fists_mm : Base_Fists
{
	npcRPGData = 
	{
		statModifiers += 
		[
			{
				statType = "BaseStats.Range";
				modifierType = "Additive";
				value = 0.5f;
			} : ConstantStatModifier, 
			{
				statType = "BaseStats.Quality";
				modifierType = "Additive";
				id = "quality_curves";
				column = "iconic_level_to_random_range_mult_new";
				refObject = "Root";
				refStat = "BaseStats.LootLevel";
			} : CurveStatModifier
		];
	} : Base_Fists_NPC_Data;
}

[ notQueryable ]
Npc_fists_wounded : Base_Fists
{
}

[ notQueryable ]
HolsteredItemRoot : Fragment
{
	bool isCustomizable = true;
	parentAttachmentType = "ParentAttachmentType.Slot";
	placementSlots = 
	[
		"AttachmentSlots.GenericItemRoot"
	];
	tags += 
	[
		"itemPart", "parentPart", "DummyPart", "SkipActivityLog", "HideInBackpackUI", "HideInUI", "HideAtVendor"
	];
}

[ notQueryable ]
BaseHolsteredArms : Item
{
	isCustomizable = true;
	CName dropObject = "";
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.RightArm"
	];
	fk< EquipmentArea > equipArea = "EquipmentArea.RightArm";
	fk< ParentAttachmentType > parentAttachmentType = "ParentAttachmentType.Skinned";
	CName entityName = "holstered_arms";
	tags += 
	[
		"base_fists", "SkipActivityLog", "IgnoreInventory", "Quest", "Preload", "DoNotRegenerateOnPartChange"
	];
	fk< ItemsFactoryAppearanceSuffixBase >[] appearanceSuffixes = [];
}

[ notQueryable ]
CharacterCustomizationArms : BaseHolsteredArms
{
	appearanceName = "character_customization";
}

[ notQueryable ]
HolsteredFists : BaseHolsteredArms
{
	isSingleInstance = false;
	appearanceName = "holstered_default";
	blueprint = "Items.GenericItemBlueprint";
	slotPartListPreset = 
	[
		{
			itemPartPreset = "Items.BasicHolsteredFistsRoot";
		} : GenericItemRootPreset
	];
}

[ notQueryable ]
BasicHolsteredFistsRoot : HolsteredItemRoot
{
	appearanceName = "holstered_default";
}

[ notQueryable ]
MantisBladeHolsteredFists : BaseHolsteredArms
{
	isSingleInstance = false;
	appearanceName = "holstered_mantis";
	tags += 
	[
		"Cyberware"
	];
	blueprint = "Items.GenericShardableCyberwareBlueprint";
	slotPartListPreset = 
	[
		{
			itemPartPreset = "Items.MantisBladeHolsteredFistsRoot";
		} : GenericItemRootPreset
	];
	quality = "Quality.Legendary";
	statModifiers += 
	[
		{
			statType = "BaseStats.HumanityAllocated";
			modifierType = "Additive";
			value = 8f;
		} : ConstantStatModifier
	];
}

[ notQueryable ]
MantisBladeHolsteredFistsRoot : HolsteredItemRoot
{
	appearanceName = "holstered_mantis";
}

[ notQueryable ]
NanoWireHolsteredFists : BaseHolsteredArms
{
	isSingleInstance = false;
	appearanceName = "holstered_nanowire";
	tags += 
	[
		"Cyberware"
	];
	blueprint = "Items.GenericShardableCyberwareBlueprint";
	slotPartListPreset = 
	[
		{
			itemPartPreset = "Items.NanoWireHolsteredFistsRoot";
		} : GenericItemRootPreset
	];
	quality = "Quality.Legendary";
	statModifiers += 
	[
		{
			statType = "BaseStats.HumanityAllocated";
			modifierType = "Additive";
			value = 8f;
		} : ConstantStatModifier
	];
}

[ notQueryable ]
NanoWireHolsteredFistsRoot : HolsteredItemRoot
{
	appearanceName = "holstered_nanowire";
}

[ notQueryable ]
StrongHolsteredFists : BaseHolsteredArms
{
	isSingleInstance = false;
	tags += 
	[
		"Cyberware"
	];
	appearanceName = "holstered_strong";
	blueprint = "Items.GenericShardableCyberwareBlueprint";
	slotPartListPreset = 
	[
		{
			itemPartPreset = "Items.StrongHolsteredFistsRoot";
		} : GenericItemRootPreset
	];
	quality = "Quality.Legendary";
	statModifiers += 
	[
		{
			statType = "BaseStats.HumanityAllocated";
			modifierType = "Additive";
			value = 8f;
		} : ConstantStatModifier
	];
	statModifierGroups = 
	[
		"Items.StrongArmsInstallBonus"
	];
}

[ notQueryable ]
StrongHolsteredFistsRoot : HolsteredItemRoot
{
	appearanceName = "holstered_strong";
}

[ notQueryable ]
ProjectileLauncherHolsteredFists : BaseHolsteredArms
{
	isSingleInstance = false;
	appearanceName = "holstered_launcher";
	tags += 
	[
		"Cyberware"
	];
	blueprint = "Items.GenericShardableCyberwareBlueprint";
	slotPartListPreset = 
	[
		{
			itemPartPreset = "Items.ProjectileLauncherHolsteredFistsRoot";
		} : GenericItemRootPreset
	];
	quality = "Quality.Legendary";
	statModifiers += 
	[
		{
			statType = "BaseStats.HumanityAllocated";
			modifierType = "Additive";
			value = 8f;
		} : ConstantStatModifier
	];
}

[ notQueryable ]
ProjectileLauncherHolsteredFistsRoot : HolsteredItemRoot
{
	appearanceName = "holstered_launcher";
}

[ notQueryable ]
PlayerSilverhandArm : Item
{
	CName dropObject = "";
	fk< EquipmentArea > equipArea = "EquipmentArea.SilverhandArm";
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.SilverhandArm"
	];
	fk< ParentAttachmentType > parentAttachmentType = "ParentAttachmentType.Skinned";
	entityName = "silverhand_arm";
	tags += 
	[
		"HideInBackpackUI", "HideAtVendor"
	];
}

