package Items
using RTDB

RequiredItemStats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.Quantity";
			modifierType = "Additive";
			value = 100;
		} : ConstantStatModifier
	];
}

QualityRandomization : StatModifierGroup
{
	statModifiers += 
	[
		{
			statType = "BaseStats.LootLevel";
			modifierType = "AdditiveMultiplier";
			refStat = "BaseStats.NPCWeaponDropRandomizer";
			opSymbol = "*";
			value = 1f;
		} : CombinedStatModifier, 
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			id = "quality_curves";
			column = "level_to_random_range_mult_new";
			refStat = "BaseStats.PowerLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			id = "quality_curves";
			column = "level_to_random_range_mult_new";
			refStat = "BaseStats.LootLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.Quality";
			modifierType = "Additive";
			id = "random_distributions";
			column = "quality_distribution_new";
			refStat = "BaseStats.RandomCurveInput";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.RollForPlusOnMaxQuality";
			modifierType = "Additive";
			min = 0.f;
			max = 0.99;
		} : RandomStatModifier, 
		{
			statType = "BaseStats.RollForPlusOnMaxQuality";
			modifierType = "Additive";
			id = "quality_curves";
			column = "level_to_item_plus_chance";
			refStat = "BaseStats.PowerLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.RollForPlusOnMaxQuality";
			modifierType = "Additive";
			id = "quality_curves";
			column = "level_to_item_plus_chance";
			refStat = "BaseStats.LootLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.QualityToMaxQualityRatio";
			modifierType = "Additive";
			refStat = "BaseStats.Quality";
			opSymbol = "*";
			value = 1.0f;
		} : CombinedStatModifier, 
		{
			statType = "BaseStats.QualityToMaxQualityRatio";
			modifierType = "Multiplier";
			refStat = "BaseStats.MaxQualityWhenLooted";
			opSymbol = "inv";
			value = 1.0f;
		} : CombinedStatModifier, 
		{
			statType = "BaseStats.CommonTierFailsafe";
			modifierType = "Additive";
			id = "quality_curves";
			column = "tier1_failsafe";
			refStat = "BaseStats.MaxQualityWhenLooted";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.EffectiveQualityToMaxQualityRatio";
			modifierType = "Additive";
			refStat = "BaseStats.QualityToMaxQualityRatio";
			opSymbol = "*";
			value = 1.0f;
		} : CombinedStatModifier, 
		{
			statType = "BaseStats.EffectiveQualityToMaxQualityRatio";
			modifierType = "Additive";
			refStat = "BaseStats.CommonTierFailsafe";
			opSymbol = "*";
			value = 1.0f;
		} : CombinedStatModifier, 
		{
			statType = "BaseStats.RollForPlusBelowMaxQuality";
			modifierType = "Additive";
			min = 0.f;
			max = 1.99;
		} : RandomStatModifier
	];
}

QualityRandomization_Attachments : StatModifierGroup
{
	statModifiers += 
	[
		{
			statType = "BaseStats.PowerLevel";
			modifierType = "Multiplier";
			id = "quality_curves";
			column = "loot_level_to_power_level";
			refStat = "BaseStats.LootLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			value = 0.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			id = "quality_curves";
			column = "level_to_random_range_mult_new_attachments";
			refStat = "BaseStats.PowerLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			id = "quality_curves";
			column = "level_to_random_range_mult_new_attachments";
			refStat = "BaseStats.LootLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.Quality";
			modifierType = "Additive";
			id = "random_distributions";
			column = "quality_distribution_new";
			refStat = "BaseStats.RandomCurveInput";
		} : CurveStatModifier
	];
}

QualityRandomization_Attachments_Rare_to_Epic : StatModifierGroup
{
	statModifiers += 
	[
		{
			statType = "BaseStats.PowerLevel";
			modifierType = "Multiplier";
			id = "quality_curves";
			column = "loot_level_to_power_level";
			refStat = "BaseStats.LootLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			value = 2.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			id = "quality_curves";
			column = "level_to_random_range_rare_to_epic_mult_new_attachments";
			refStat = "BaseStats.PowerLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			id = "quality_curves";
			column = "level_to_random_range_rare_to_epic_mult_new_attachments";
			refStat = "BaseStats.LootLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.Quality";
			modifierType = "Additive";
			id = "random_distributions";
			column = "quality_distribution_new";
			refStat = "BaseStats.RandomCurveInput";
		} : CurveStatModifier
	];
}

QualityRandomization_Skill_Shards : StatModifierGroup
{
	statModifiers += 
	[
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			value = 0.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			id = "quality_curves";
			column = "level_to_random_range_mult_new_progression_shards";
			refStat = "BaseStats.PowerLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			id = "quality_curves";
			column = "level_to_random_range_mult_new_progression_shards";
			refStat = "BaseStats.LootLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.Quality";
			modifierType = "Additive";
			id = "random_distributions";
			column = "quality_distribution_new";
			refStat = "BaseStats.RandomCurveInput";
		} : CurveStatModifier
	];
}

NPCQualityRandomization : StatModifierGroup
{
	statModifiers += 
	[
		{
			statType = "BaseStats.LootLevel";
			modifierType = "AdditiveMultiplier";
			refStat = "BaseStats.NPCWeaponDropRandomizer";
			opSymbol = "*";
			value = 1f;
		} : CombinedStatModifier, 
		{
			statType = "BaseStats.NPCLootLevelHelper";
			modifierType = "Additive";
			refStat = "BaseStats.LootLevel";
			refObject = "Root";
			opSymbol = "*";
			value = 1f;
		} : CombinedStatModifier, 
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			id = "quality_curves";
			column = "level_to_random_range_mult_new";
			refStat = "BaseStats.LootLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			id = "quality_curves";
			column = "npc_level_to_random_range_mult_new";
			refStat = "BaseStats.NPCLootLevelHelper";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.Quality";
			modifierType = "Additive";
			id = "random_distributions";
			column = "quality_distribution_new";
			refStat = "BaseStats.RandomCurveInput";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.RollForPlusOnMaxQuality";
			modifierType = "Additive";
			min = 0.f;
			max = 0.99;
		} : RandomStatModifier, 
		{
			statType = "BaseStats.RollForPlusOnMaxQuality";
			modifierType = "Additive";
			id = "quality_curves";
			column = "level_to_item_plus_chance";
			refStat = "BaseStats.LootLevel";
			refObject = "Root";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.QualityToMaxQualityRatio";
			modifierType = "Additive";
			refStat = "BaseStats.Quality";
			opSymbol = "*";
			value = 1.0f;
		} : CombinedStatModifier, 
		{
			statType = "BaseStats.QualityToMaxQualityRatio";
			modifierType = "Multiplier";
			refStat = "BaseStats.MaxQualityWhenLooted";
			opSymbol = "inv";
			value = 1.0f;
		} : CombinedStatModifier, 
		{
			statType = "BaseStats.CommonTierFailsafe";
			modifierType = "Additive";
			id = "quality_curves";
			column = "tier1_failsafe";
			refStat = "BaseStats.MaxQualityWhenLooted";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.EffectiveQualityToMaxQualityRatio";
			modifierType = "Additive";
			refStat = "BaseStats.QualityToMaxQualityRatio";
			opSymbol = "*";
			value = 1.0f;
		} : CombinedStatModifier, 
		{
			statType = "BaseStats.EffectiveQualityToMaxQualityRatio";
			modifierType = "Additive";
			refStat = "BaseStats.CommonTierFailsafe";
			opSymbol = "*";
			value = 1.0f;
		} : CombinedStatModifier, 
		{
			statType = "BaseStats.RollForPlusBelowMaxQuality";
			modifierType = "Additive";
			min = 0.f;
			max = 1.99;
		} : RandomStatModifier, 
		{
			statType = "BaseStats.EffectiveTier";
			modifierType = "Additive";
			refStat = "BaseStats.Quality";
			opSymbol = "*";
			value = 2.0f;
		} : CombinedStatModifier, 
		{
			statType = "BaseStats.EffectiveTier";
			modifierType = "Additive";
			refStat = "BaseStats.IsItemPlus";
			opSymbol = "*";
			value = 1.0f;
		} : CombinedStatModifier
	];
}

CraftableIconicQualityRandomisation : StatModifierGroup
{
	statModifiers += 
	[
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			value = 0.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			id = "quality_curves";
			column = "iconic_level_to_random_range_mult_new";
			refStat = "BaseStats.PowerLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.RandomCurveInput";
			modifierType = "Additive";
			id = "quality_curves";
			column = "iconic_level_to_random_range_mult_new";
			refStat = "BaseStats.LootLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.Quality";
			modifierType = "Additive";
			id = "random_distributions";
			column = "quality_distribution_new";
			refStat = "BaseStats.RandomCurveInput";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.Quality";
			modifierType = "Additive";
			id = "quality_curves";
			column = "iconic_upgrades_amount_to_quality";
			refStat = "BaseStats.WasItemUpgraded";
		} : CurveStatModifier
	];
}

IconicQualityRandomization : CraftableIconicQualityRandomisation
{
	statModifiers += 
	[
		{
			statType = "BaseStats.IsItemPlus";
			modifierType = "Additive";
			id = "quality_curves";
			[ EP1 ]
			column = "iconic_level_to_plus_availablility_ep1";
			refStat = "BaseStats.LootLevel";
		} : CurveStatModifier, 
		{
			statType = "BaseStats.IsItemPlus";
			modifierType = "Additive";
			id = "quality_curves";
			[ EP1 ]
			column = "iconic_level_to_plus_availablility_ep1";
			refStat = "BaseStats.PowerLevel";
		} : CurveStatModifier
	];
}

ItemPlusRandomizer_MaxQuality : StatModifierGroup
{
	fk< StatModifier > statModsLimitModifier = 
	{
		statType = "BaseStats.StatModifierGroupLimit";
		modifierType = "Additive";
		id = "quality_curves";
		column = "item_on_max_quality_to_plus_roll_ability";
		refStat = "BaseStats.EffectiveQualityToMaxQualityRatio";
	} : CurveStatModifier;
	statModifiers = 
	[
		{
			statType = "BaseStats.IsItemPlus";
			modifierType = "Additive";
			id = "quality_curves";
			column = "item_plus_to_random_range_mult";
			refStat = "BaseStats.RollForPlusOnMaxQuality";
		} : CurveStatModifier
	];
}

ItemPlusRandomizer_Below_MaxQuality : StatModifierGroup
{
	fk< StatModifier > statModsLimitModifier = 
	{
		statType = "BaseStats.StatModifierGroupLimit";
		modifierType = "Additive";
		id = "quality_curves";
		column = "item_on_below_max_quality_to_plus_roll_ability";
		refStat = "BaseStats.EffectiveQualityToMaxQualityRatio";
	} : CurveStatModifier;
	statModifiers = 
	[
		{
			statType = "BaseStats.IsItemPlus";
			modifierType = "Additive";
			id = "quality_curves";
			column = "item_on_below_max_quality_to_plus_chance";
			refStat = "BaseStats.RollForPlusBelowMaxQuality";
		} : CurveStatModifier
	];
}

WeaponModsWeights_On_Tier2Plus : StatModifierGroup
{
	fk< StatModifier > statModsLimitModifier = 
	{
		statType = "BaseStats.StatModifierGroupLimit";
		modifierType = "Additive";
		id = "weapon_mods_generation";
		column = "mod_weight_calcs_for_tier2_plus_weapon_enabled";
		refStat = "BaseStats.EffectiveTier";
	} : CurveStatModifier;
	statModifiers = 
	[
		{
			statType = "BaseStats.EmptySlot_GenerationWeight_On_TierPlus";
			column = "empty_slot_weight_to_player_level_for_tier2_plus_weapon";
		} : WeaponModWeight_CurveModifier_Additive, 
		{
			statType = "BaseStats.HiddenSlot_GenerationWeight_On_TierPlus";
			column = "hidden_slot_weight_to_player_level_for_tier2_plus_weapon";
		} : WeaponModWeight_CurveModifier_Additive, 
		{
			statType = "BaseStats.OccupiedSlot_GenerationWeight_On_TierPlus";
			column = "occupied_slot_weight_to_player_level_for_tier2_plus_weapon";
		} : WeaponModWeight_CurveModifier_Additive
	];
}

WeaponModsWeights_On_Tier3Plus : StatModifierGroup
{
	fk< StatModifier > statModsLimitModifier = 
	{
		statType = "BaseStats.StatModifierGroupLimit";
		modifierType = "Additive";
		id = "weapon_mods_generation";
		column = "mod_weight_calcs_for_tier3_plus_weapon_enabled";
		refStat = "BaseStats.EffectiveTier";
	} : CurveStatModifier;
	statModifiers = 
	[
		{
			statType = "BaseStats.EmptySlot_GenerationWeight_On_TierPlus";
			column = "empty_slot_weight_to_player_level_for_tier3_plus_weapon";
		} : WeaponModWeight_CurveModifier_Additive, 
		{
			statType = "BaseStats.HiddenSlot_GenerationWeight_On_TierPlus";
			column = "hidden_slot_weight_to_player_level_for_tier3_plus_weapon";
		} : WeaponModWeight_CurveModifier_Additive, 
		{
			statType = "BaseStats.OccupiedSlot_GenerationWeight_On_TierPlus";
			column = "occupied_slot_weight_to_player_level_for_tier3_plus_weapon";
		} : WeaponModWeight_CurveModifier_Additive
	];
}

WeaponModsWeights_On_Tier4Plus : StatModifierGroup
{
	fk< StatModifier > statModsLimitModifier = 
	{
		statType = "BaseStats.StatModifierGroupLimit";
		modifierType = "Additive";
		id = "weapon_mods_generation";
		column = "mod_weight_calcs_for_tier4_plus_weapon_enabled";
		refStat = "BaseStats.EffectiveTier";
	} : CurveStatModifier;
	statModifiers = 
	[
		{
			statType = "BaseStats.EmptySlot_GenerationWeight_On_TierPlus";
			column = "empty_slot_weight_to_player_level_for_tier4_plus_weapon";
		} : WeaponModWeight_CurveModifier_Additive, 
		{
			statType = "BaseStats.HiddenSlot_GenerationWeight_On_TierPlus";
			column = "hidden_slot_weight_to_player_level_for_tier4_plus_weapon";
		} : WeaponModWeight_CurveModifier_Additive, 
		{
			statType = "BaseStats.OccupiedSlot_GenerationWeight_On_TierPlus";
			column = "occupied_slot_weight_to_player_level_for_tier4_plus_weapon";
		} : WeaponModWeight_CurveModifier_Additive
	];
}

WeaponModsWeights_On_Tier5Plus : StatModifierGroup
{
	fk< StatModifier > statModsLimitModifier = 
	{
		statType = "BaseStats.StatModifierGroupLimit";
		modifierType = "Additive";
		id = "weapon_mods_generation";
		column = "mod_weight_calcs_for_tier5_plus_weapon_enabled";
		refStat = "BaseStats.EffectiveTier";
	} : CurveStatModifier;
	statModifiers = 
	[
		{
			statType = "BaseStats.EmptySlot_GenerationWeight_On_TierPlus";
			column = "empty_slot_weight_to_player_level_for_tier5_plus_weapon";
		} : WeaponModWeight_CurveModifier_Additive, 
		{
			statType = "BaseStats.HiddenSlot_GenerationWeight_On_TierPlus";
			column = "hidden_slot_weight_to_player_level_for_tier5_plus_weapon";
		} : WeaponModWeight_CurveModifier_Additive, 
		{
			statType = "BaseStats.OccupiedSlot_GenerationWeight_On_TierPlus";
			column = "occupied_slot_weight_to_player_level_for_tier5_plus_weapon";
		} : WeaponModWeight_CurveModifier_Additive
	];
}

WeaponModsWeights_On_Tier5PlusPlus : StatModifierGroup
{
	fk< StatModifier > statModsLimitModifier = 
	{
		statType = "BaseStats.StatModifierGroupLimit";
		modifierType = "Additive";
		id = "weapon_mods_generation";
		column = "mod_weight_calcs_for_tier5_plusplus_weapon_enabled";
		refStat = "BaseStats.EffectiveTier";
	} : CurveStatModifier;
	statModifiers = 
	[
		{
			statType = "BaseStats.EmptySlot_GenerationWeight_On_TierPlus";
			column = "empty_slot_weight_to_player_level_for_tier5_plusplus_weapon";
		} : WeaponModWeight_CurveModifier_Additive, 
		{
			statType = "BaseStats.HiddenSlot_GenerationWeight_On_TierPlus";
			column = "hidden_slot_weight_to_player_level_for_tier5_plusplus_weapon";
		} : WeaponModWeight_CurveModifier_Additive, 
		{
			statType = "BaseStats.OccupiedSlot_GenerationWeight_On_TierPlus";
			column = "occupied_slot_weight_to_player_level_for_tier5_plusplus_weapon";
		} : WeaponModWeight_CurveModifier_Additive
	];
}

GenericItem : Item
{
	string friendlyName = "generic_item";
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.Receiver"
	];
}

PlayerMaTppHead : Item
{
	bool isCustomizable = true;
	bool isCached = true;
	bool isSingleInstance = true;
	string friendlyName = "player_tpp_head";
	CName entityName = "player_ma_tpp_head";
	CName appearanceName = "TPP";
	CName[] tags = 
	[
		"Quest", "TppHead"
	];
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.TppHead"
	];
	fk< ParentAttachmentType > parentAttachmentType = "ParentAttachmentType.Skinned";
	fk< ItemsFactoryAppearanceSuffixBase >[] appearanceSuffixes = [];
}

PlayerWaTppHead : Item
{
	bool isCustomizable = true;
	bool isCached = true;
	bool isSingleInstance = true;
	string friendlyName = "player_tpp_head";
	CName entityName = "player_wa_tpp_head";
	CName appearanceName = "TPP";
	CName[] tags = 
	[
		"Quest", "TppHead"
	];
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.TppHead"
	];
	fk< ParentAttachmentType > parentAttachmentType = "ParentAttachmentType.Skinned";
	fk< ItemsFactoryAppearanceSuffixBase >[] appearanceSuffixes = [];
}

[ notQueryable ]
PlayerTattoo : HandsModule
{
	entityName = "player_tatoo";
}

[ notQueryable ]
YakuzaTattoo : PlayerTattoo
{
	buyPrice = [];
	sellPrice = [];
	displayName = "LocKey#78052";
	localizedDescription = "LocKey#78053";
	appearanceName = "a0_000__tattoo_yakuza_r_tattoo_yakuza_";
	iconPath = "icon_tattoo_tyger";
	fk< GameplayLogicPackage >[] OnEquip = 
	[
		{
			stats = 
			[
				{
					statType = "BaseStats.HasSmartLink";
					modifierType = "Additive";
					value = 1;
				} : ConstantStatModifier
			];
			UIData = 
			{
				iconPath = "ability_silenced";
				localizedDescription = "LocKey#40869";
			};
		} : GameplayLogicPackage, 
		{
			UIData = 
			{
				localizedDescription = "LocKey#52429";
			};
		}
	];
	counterpart = "Items.AdvancedYakuzaTattoo";
}

[ notQueryable ]
CasiusTattoo : PlayerTattoo
{
	displayName = "LocKey#78054";
	appearanceName = "a0_000__tattoo_casius_r_tattoo_yakuza_";
	iconPath = "icon_tattoo_cassius";
	usesVariants = true;
	variants = 
	[
		"Variants.Humanity0Cost"
	];
	fk< GameplayLogicPackage >[] OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#78055";
			};
		}
	];
	counterpart = "Items.AdvancedCasiusTattoo";
}

[ notQueryable ]
SilverhandTattoo : PlayerTattoo
{
	displayName = "LocKey#78056";
	appearanceName = "a0_000__tattoo_silverhand_r_tattoo_yakuza_";
	iconPath = "icon_tattoo_johnny";
	usesVariants = true;
	variants = 
	[
		"Variants.Humanity0Cost"
	];
	fk< GameplayLogicPackage >[] OnEquip = 
	[
		{
			UIData = 
			{
				localizedDescription = "LocKey#78057";
			};
		}
	];
	counterpart = "Items.AdvancedSilverhandTattoo";
}

CharacterCustomizationMaHead : PlayerMaTppHead
{
	string friendlyName = "character_customization_head";
	CName entityName = "player_ma_tpp_head";
	CName appearanceName = "character_customization";
}

CharacterCustomizationWaHead : PlayerWaTppHead
{
	string friendlyName = "character_customization_head";
	CName entityName = "player_wa_tpp_head";
	CName appearanceName = "character_customization";
}

PlayerFppHead : Item
{
	bool isCustomizable = true;
	bool isSingleInstance = true;
	bool isCached = true;
	string friendlyName = "player_fpp_head";
	CName entityName = "player_fpp_head";
	CName appearanceName = "FPP";
	CName[] tags = 
	[
		"Quest", "TppHead", "FppHead"
	];
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.TppHead"
	];
	fk< ParentAttachmentType > parentAttachmentType = "ParentAttachmentType.Skinned";
	fk< ItemsFactoryAppearanceSuffixBase >[] appearanceSuffixes = [];
}

PlayerMaPhotomodeHead : PlayerMaTppHead
{
	CName appearanceName = "TPP_photomode";
}

PlayerWaPhotomodeHead : PlayerWaTppHead
{
	CName appearanceName = "TPP_photomode";
}

GenericItemRoot : Item
{
	string friendlyName = "generic_item_root";
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.GenericItemRoot"
	];
	buyPrice = [];
	sellPrice = [];
}

GenericRootSlotItem : SlotItemPartListElement
{
	slot = "AttachmentSlots.GenericItemRoot";
	fk< ItemPartListElement >[] itemPartList = 
	[
		{
			item = "Items.GenericItemRoot";
		}
	];
}

GenericItemBlueprint : ItemBlueprint
{
	rootElement = 
	{
		slot = "AttachmentSlots.GenericItemRoot";
	};
}

Part : Item
{
	bool isSingleInstance = false;
	bool isPart = true;
	CName[] tags += 
	[
		"itemPart"
	];
	fk< ItemCategory > itemCategory = "ItemCategory.Part";
}

[ notQueryable ]
StartingWeaponGeneric : Preset_Unity_Default
{
}

[ notQueryable ]
StartingWeaponStreetKid : Preset_Knife_Default
{
}

[ notQueryable ]
StartingWeaponNomad : Preset_Baseball_Bat_Default
{
}

[ notQueryable ]
StartingWeaponCorpo : Preset_Knuckles_Default
{
}

