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

[ notQueryable ]
Preset_Base_Lexington : Base_Lexington
{
	CName appearanceResourceName = "Preset_Base_Lexington";
	CName[] visualTags = 
	[
		"Default"
	];
	fk< SlotItemPartPreset >[] slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__rcv1";
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__base1";
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_std";
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_stdr";
		}, 
		"Items.HandgunAndRevolverScopesPartList", {
			slot = "AttachmentSlots.Power_Handgun_WeaponMod1";
		} : Power_Handgun_ModList_Slot1, 
		{
			slot = "AttachmentSlots.Power_Handgun_WeaponMod2";
		} : Power_Handgun_ModList_Slot2
	];
}

Preset_Lexington_Default : Preset_Base_Lexington
{
	CName[] visualTags = 
	[
		"Default"
	];
}

Preset_Lexington_Pimp : Preset_Lexington_Default
{
	CName[] visualTags = 
	[
		"Pimp"
	];
	tags += 
	[
		"Pimp"
	];
}

[ notQueryable ]
Preset_Lexington_Pimp_Left_Hand_2 : Preset_Lexington_Pimp_Left_Hand
{
	OnLooted = [];
}

Preset_Lexington_Neon : Preset_Lexington_Default
{
	CName[] visualTags = 
	[
		"Neon"
	];
	tags += 
	[
		"Neon"
	];
}

Preset_Lexington_Military : Preset_Lexington_Default
{
	CName[] visualTags = 
	[
		"Military"
	];
	tags += 
	[
		"Military"
	];
}

[ notQueryable ]
Preset_Lexington_Toygun : Preset_Lexington_Default
{
	fk< WeaponFxPackage > fxPackage = "WeaponFxPackage.ARhandGun";
	CName[] visualTags = 
	[
		"ToyGun_Lexington"
	];
	quality = "Quality.Common";
	displayName = "LocKey#78829";
	slotPartList = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_handgun_militech_lexington__rcv1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_handgun_militech_lexington__base1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_handgun_militech_lexington__mag_std";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_handgun_militech_lexington__mag_stdr";
				}
			];
		}
	];
	slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__rcv1";
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__base1";
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_std";
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_stdr";
		}
	];
	CName audioName = "wea_set_toygun";
	statModifiers += 
	[
		{
			statType = "BaseStats.PhysicalImpulse";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DPS";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RicochetChance";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RicochetCount";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier
	];
}

[ notQueryable ]
Preset_Lexington_Training : Preset_Lexington_Default
{
	CName[] visualTags = 
	[
		"Training"
	];
	fk< SlotItemPartPreset >[] slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__rcv1";
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__base1";
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_std";
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_stdr";
		}
	];
	statModifiers += 
	[
		{
			statType = "BaseStats.Level";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier
	];
}

[ EP1 ]
[ notQueryable ]
Preset_Lexington_Prevention : Preset_Lexington_Default
{
	CName[] visualTags = 
	[
		"Default"
	];
	statModifierGroups = 
	[
		"Items.QualityRandomization", "Items.ItemPlusRandomizer_MaxQuality", "Items.ItemPlusRandomizer_Below_MaxQuality", "Items.WeaponModsWeights_On_Tier2Plus", "Items.WeaponModsWeights_On_Tier3Plus", "Items.WeaponModsWeights_On_Tier4Plus", "Items.WeaponModsWeights_On_Tier5Plus", "Items.WeaponModsWeights_On_Tier5PlusPlus", "Items.Base_Lexington_Krausser_Technical_Stats", "Items.Base_Lexington_Handling_Stats", "Items.Base_Lexington_Krausser_Recoil_Stats", "Items.Base_Lexington_Spread_Stats", "Items.Base_Lexington_Aim_Stats", "Items.Base_Lexington_Krausser_Constant_Stats", "Items.KrausserBonusStats", "Items.Base_Lexington_Damage_Stats", "Items.Base_Power_Stats", "Items.Base_Power_Handgun_Mult_Stats", "Items.Base_Power_Handgun_Stats", "Items.Base_Handgun_RPG_Stats", "Items.Base_Handgun_Misc_Stats", "Items.Base_Handgun_Sway_Stats", "Items.Base_PlayerState_Spread_Stats", "Items.Base_Handgun_DeadReckoning_Stats", "Items.Base_Weapon_Damage_Type_Min_Max", "Items.Base_Weapon_Damage_Type_Physical"
	];
}

[ EP1 ]
Preset_Lexington_Krausser : Preset_Lexington_Prevention
{
	CName[] visualTags = 
	[
		"Krausser"
	];
	tags += 
	[
		"Krausser", "PowerOfThePack", "IllegalItem"
	];
}

[ EP1 ]
[ notQueryable ]
Preset_Lexington_Krausser_Jurij : Preset_Lexington_Krausser
{
	quality = "Quality.Common";
	visualTags = 
	[
		"Jurij_Lexington"
	];
	slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__rcv1";
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__base1";
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_std";
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_stdr";
		}
	];
}

[ EP1 ]
[ notQueryable ]
Preset_Lexington_Krausser_Jago : Preset_Lexington_Krausser
{
	fk< SlotItemPartPreset >[] slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__rcv1";
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__base1";
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_std";
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_stdr";
		}
	];
}

Base_Lexington_Krausser_Technical_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 1.f;
		} : NumShotsToFireModifier, 
		{
			value = 0.1f;
		} : CycleTimeModifier, 
		{
			value = 20.f;
		} : MagazineCapacityModifier, 
		{
			value = 1.f;
		} : ProjectilesPerShotModifier, 
		"BaseStats.ProjectilesPerShotCombinedModifier"
	];
}

Base_Lexington_Krausser_Recoil_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 10.f;
		} : RecoilDirModifier, 
		{
			value = 45.f;
		} : RecoilAngleModifier, 
		{
			value = 0.08f;
		} : RecoilHoldDurationModifier, 
		{
			value = 0.06f;
		} : RecoilTimeModifier, 
		{
			value = 0.2f;
		} : RecoilRecoveryTimeModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearXModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearYModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearXADSModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearYADSModifier
	];
}

Base_Lexington_Krausser_Constant_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			statType = "BaseStats.SpreadDefaultX";
			modifierType = "Additive";
			value = 1.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsDefaultX";
			modifierType = "Additive";
			value = 0.4f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadMaxX";
			modifierType = "Additive";
			value = 4.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsMaxX";
			modifierType = "Additive";
			value = 1.6f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMin";
			modifierType = "Additive";
			value = 0.66f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMax";
			modifierType = "Additive";
			value = 1.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.EffectiveRange";
			modifierType = "Multiplier";
			value = 0.8333f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.FirePower";
			modifierType = "Multiplier";
			value = 1.25f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.KnockdownImpulse";
			modifierType = "Additive";
			value = -10.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HeadshotDamageMultiplier";
			modifierType = "Additive";
			value = -0.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DamagePerHit";
			modifierType = "Multiplier";
			value = 1.2316f;
		} : ConstantStatModifier
	];
}

[ notQueryable ]
Preset_Base_Lexington_Left_Hand : Preset_Base_Lexington
{
	quality = "Quality.Common";
	tags += 
	[
		"Left_Hand", "HideInUI", "HideAtVendor", "DiscardOnEmpty", "IgnoreInventory"
	];
	statModifiers += 
	[
		"Quality.BrokenItem", {
			statType = "BaseStats.Weight";
			modifierType = "Multiplier";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.NumShotsToFire";
			modifierType = "Additive";
			refStat = "BaseStats.MagazineCapacity";
			opSymbol = "*";
			value = 1.0f;
		} : CombinedStatModifier
	];
	npcRPGData = 
	{
		statModifierGroups += 
		[
			"Items.Base_Lexington_Technical_Stats"
		];
	} : Broken_Power_Handgun_NPC_Data;
	OnLooted = 
	[
		{
			effectors = 
			[
				{
					itemsToAdd = 
					[
						{
							item = "Items.Preset_Lexington_Default_Retrofix";
						}
					];
				} : AddItemsEffector
			];
		}
	];
}

[ notQueryable ]
Preset_Lexington_Default_Left_Hand : Preset_Base_Lexington_Left_Hand
{
}

[ notQueryable ]
Preset_Lexington_Pimp_Left_Hand : Preset_Lexington_Default_Left_Hand
{
	CName[] visualTags = 
	[
		"Pimp"
	];
	tags += 
	[
		"Pimp"
	];
	OnLooted = 
	[
		{
			effectors = 
			[
				{
					itemsToAdd = 
					[
						{
							item = "Items.Preset_Lexington_Pimp_Retrofix";
						}
					];
				} : AddItemsEffector
			];
		}
	];
}

[ notQueryable ]
Preset_Lexington_Neon_Left_Hand : Preset_Lexington_Default_Left_Hand
{
	CName[] visualTags = 
	[
		"Neon"
	];
	tags += 
	[
		"Neon"
	];
	OnLooted = 
	[
		{
			effectors = 
			[
				{
					itemsToAdd = 
					[
						{
							item = "Items.Preset_Lexington_Neon_Retrofix";
						}
					];
				} : AddItemsEffector
			];
		}
	];
}

[ notQueryable ]
Preset_Lexington_Military_Left_Hand : Preset_Lexington_Default_Left_Hand
{
	CName[] visualTags = 
	[
		"Military"
	];
	tags += 
	[
		"Military"
	];
	OnLooted = 
	[
		{
			effectors = 
			[
				{
					itemsToAdd = 
					[
						{
							item = "Items.Preset_Lexington_Military_Retrofix";
						}
					];
				} : AddItemsEffector
			];
		}
	];
}

[ notQueryable ]
Preset_Lexington_Toygun_Left_Hand : Preset_Lexington_Toygun
{
}

[ notQueryable ]
Preset_Lexington_Default_Retrofix : Preset_Lexington_Default
{
	fk< ItemBlueprint > blueprint = "Items.Retrofix_Firearm_Blueprint";
	tags += 
	[
		"SkipActivityLog", "Left_Hand_Retrofix"
	];
	bool scaleToPlayer = true;
	bool scaleToPlayerInStash = true;
	statModifiers += 
	[
		"Character.ScaleToPlayerLevel"
	];
	slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__rcv1";
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__base1";
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_std";
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_stdr";
		}
	];
}

[ notQueryable ]
Preset_Lexington_Pimp_Retrofix : Preset_Lexington_Default_Retrofix
{
	CName[] visualTags = 
	[
		"Pimp"
	];
	tags += 
	[
		"Pimp"
	];
}

[ notQueryable ]
Preset_Lexington_Neon_Retrofix : Preset_Lexington_Default_Retrofix
{
	CName[] visualTags = 
	[
		"Neon"
	];
	tags += 
	[
		"Neon"
	];
}

[ notQueryable ]
Preset_Lexington_Military_Retrofix : Preset_Lexington_Default_Retrofix
{
	CName[] visualTags = 
	[
		"Military"
	];
	tags += 
	[
		"Military"
	];
}

[ notQueryable ]
Craftable_Common_Lexington : Preset_Lexington_Default
{
	quality = "Quality.Common";
	fk< SlotItemPartPreset >[] slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__rcv1";
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__base1";
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_std";
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_stdr";
		}
	];
	CraftingData = "Items.Small_Common_Crafting_Materials_Weapon";
}

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

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

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

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

[ notQueryable ]
Preset_Lexington_Shooting_Competition : Preset_Lexington_Default
{
	displayName = "LocKey#93513";
	OnLooted += 
	[
		{
			effectors = 
			[
				{
					fact = "lexington_shooting_competition_owned";
					value = 1;
				} : SetFactEffector
			];
		}
	];
	fk< ItemBlueprint > blueprint = "Items.Collectible_Power_Handgun_Blueprint";
	visualTags = 
	[
		"Competition_Lexington"
	];
	tags += 
	[
		"IconicWeapon", "Competition_Lexington", "Lexington_Shooting_Competition"
	];
	quality = "Quality.Random";
	bool scaleToPlayer = true;
	statModifiers += 
	[
		"Quality.IconicItem"
	];
	npcRPGData = 
	{
		statModifiers += 
		[
			"Quality.IconicItem"
		];
	} : Base_Lexington_NPC_Data;
	slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__rcv1";
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__base1";
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_std";
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_stdr";
		}, 
		{
			slot = "AttachmentSlots.Scope";
			fk< Item > itemPartPreset = "Items.Lexington_Shooting_Competition_scope";
		}, 
		{
			slot = "AttachmentSlots.IconicWeaponModLegendary";
			itemPartPreset = "Items.CollectibleIconicWeaponMod";
		}
	];
	statModifierGroups = 
	[
		"Items.IconicQualityRandomization", "Items.Base_Lexington_Technical_Stats", "Items.Base_Lexington_Handling_Stats", "Items.Base_Lexington_Shooting_Competition_Recoil_Stats", "Items.Base_Lexington_Spread_Stats", "Items.Base_Lexington_Aim_Stats", "Items.Base_Lexington_Shooting_Competition_Constant_Stats", "Items.CollectableBonusStats", "Items.Base_Lexington_Damage_Stats", "Items.Base_Power_Stats", "Items.Base_Power_Handgun_Mult_Stats", "Items.Base_Power_Handgun_Stats", "Items.Base_Handgun_RPG_Stats", "Items.Base_Handgun_Misc_Stats", "Items.Base_Handgun_Sway_Stats", "Items.Base_PlayerState_Spread_Stats", "Items.Base_Handgun_DeadReckoning_Stats", "Items.Base_Weapon_Damage_Type_Min_Max", "Items.Base_Weapon_Damage_Type_Physical"
	];
}

Base_Lexington_Shooting_Competition_Recoil_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 5.0f;
		} : RecoilDirModifier, 
		{
			value = 20.f;
		} : RecoilAngleModifier, 
		{
			value = 0.08f;
		} : RecoilHoldDurationModifier, 
		{
			value = 0.06f;
		} : RecoilTimeModifier, 
		{
			value = 0.2f;
		} : RecoilRecoveryTimeModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearXModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearYModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearXADSModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearYADSModifier
	];
}

Base_Lexington_Shooting_Competition_Constant_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			statType = "BaseStats.SpreadDefaultX";
			modifierType = "Additive";
			value = 0.9f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsDefaultX";
			modifierType = "Additive";
			value = 0.15f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadMaxX";
			modifierType = "Additive";
			value = 3.6f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsMaxX";
			modifierType = "Additive";
			value = 0.6f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadChangePerShot";
			modifierType = "Additive";
			value = 0.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsChangePerShot";
			modifierType = "Additive";
			value = 0.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMin";
			modifierType = "Additive";
			value = 0.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMax";
			modifierType = "Additive";
			value = 0.8f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.FirePower";
			modifierType = "Multiplier";
			value = 1.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.KnockdownImpulse";
			modifierType = "Additive";
			value = -10.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HeadshotDamageMultiplier";
			modifierType = "Additive";
			value = 0.25f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BulletMagnetismDefaultAngle";
			modifierType = "Multiplier";
			value = 1.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.BulletMagnetismHighVelocityAngle";
			modifierType = "Multiplier";
			value = 1.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.ZoomLevel";
			modifierType = "Additive";
			value = 0.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.ZoomLevel";
			modifierType = "Additive";
			refStat = "BaseStats.Quality";
			opSymbol = "*";
			value = 0.1f;
		} : CombinedStatModifier, 
		{
			statType = "BaseStats.EffectiveRangeBonus";
			modifierType = "Additive";
			value = 20f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.EffectiveRangeBonus";
			modifierType = "Additive";
			refStat = "BaseStats.Quality";
			opSymbol = "*";
			value = 5.0f;
		} : CombinedStatModifier
	];
}

[ notQueryable ]
Lexington_Shooting_Competition_scope : Base_Long_Scope
{
	quality = "Quality.Common";
	visualTags = 
	[
		"Default"
	];
	CName appearanceResourceName = "w_att__scope_long_03";
	fk< StatModifier >[] statModifiers += 
	[
		{
			statType = "BaseStats.Quality";
			modifierType = "Additive";
			refStat = "BaseStats.Quality";
			refObject = "Root";
			opSymbol = "*";
			value = 1f;
		} : CombinedStatModifier
	];
	iconPath = "w_att__scope_long_03";
	tags += 
	[
		"DummyPart", "HideInUI", "HideAtVendor"
	];
}

[ notQueryable ]
Preset_Q001_Lexington : Preset_Lexington_Wilson
{
	CName[] tags += 
	[
		"Quest"
	];
	buyPrice += 
	[
		"Price.PostLexWilsonPrice"
	];
	npcRPGData = 
	{
		statModifiers += 
		[
			"Quality.IconicItem"
		];
	} : Items.Base_Lexington_NPC_Data;
}

[ notQueryable ]
Preset_Lexington_Wilson : Preset_Base_Lexington
{
	fk< ItemBlueprint > blueprint = "Items.Iconic_Ranged_Weapon_Blueprint";
	displayName = "LocKey#40549";
	visualTags = 
	[
		"Wilson_Lexington"
	];
	quality = "Quality.Random";
	localizedDescription = "LocKey#40550";
	fk< UIIcon > hudIcon = "HUDWeaponIcons.Wilson_Lexington";
	tags += 
	[
		"IconicWeapon", "Lexington_Wilson"
	];
	statModifiers += 
	[
		"Quality.IconicItem"
	];
	fk< Attack >[] attacks = 
	[
		"Attacks.Bullet_GameEffect", "Attacks.Bullet_Projectile", "Attacks.ShockBlast", "Attacks.NPCBulletEffect", "Attacks.NPCBulletProjectile"
	];
	slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__rcv1";
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__base1";
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_std";
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_stdr";
		}, 
		{
			slot = "AttachmentSlots.IconicWeaponModLegendary";
			itemPartPreset = "Items.WilsonWeaponMod";
		}
	];
	OnLooted = 
	[
		{
			effectors = 
			[
				{
					prereqRecord = 
					{
						fact = "lexington_wilson_acquired";
						value = 0;
						comparisonType = "Equal";
					} : FactValuePrereq;
					fact = "lexington_wilson_acquired";
					value = 1;
				} : SetFactEffector
			];
		}
	];
	statModifierGroups = 
	[
		"Items.IconicQualityRandomization", "Items.Base_Lexington_Technical_Stats", "Items.Base_Lexington_Handling_Stats", "Items.Base_Lexington_Recoil_Stats", "Items.Base_Lexington_Spread_Stats", "Items.Base_Lexington_Aim_Stats", "Items.Base_Lexington_Wilson_Constant_Stats", "Items.Base_Lexington_Damage_Stats", "Items.Base_Power_Stats", "Items.Base_Power_Handgun_Mult_Stats", "Items.Base_Power_Handgun_Stats", "Items.Base_Handgun_RPG_Stats", "Items.Base_Handgun_Misc_Stats", "Items.Base_Handgun_Sway_Stats", "Items.Base_PlayerState_Spread_Stats", "Items.Base_Handgun_DeadReckoning_Stats", "Items.Base_Weapon_Damage_Type_Min_Max", "Items.Base_Weapon_Damage_Type_Electric"
	];
}

Base_Lexington_Wilson_Constant_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			statType = "BaseStats.SpreadDefaultX";
			modifierType = "Additive";
			value = 0.9f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsDefaultX";
			modifierType = "Additive";
			value = 0.3f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadMaxX";
			modifierType = "Additive";
			value = 3.6f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsMaxX";
			modifierType = "Additive";
			value = 1.2f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadChangePerShot";
			modifierType = "Additive";
			value = 0.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsChangePerShot";
			modifierType = "Additive";
			value = 0.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMin";
			modifierType = "Additive";
			value = 0.66f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMax";
			modifierType = "Additive";
			value = 1.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.EffectiveRange";
			modifierType = "Multiplier";
			value = 0.8333f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.FirePower";
			modifierType = "Multiplier";
			value = 1.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.KnockdownImpulse";
			modifierType = "Additive";
			value = -10.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HeadshotDamageMultiplier";
			modifierType = "Additive";
			value = -0.25f;
		} : ConstantStatModifier, 
		"AttackModifier.WeaponArmorPenetrationLow"
	];
}

[ notQueryable ]
[ EP1 ]
Preset_Lexington_Rook : Preset_Lexington_Default
{
	OnLooted += 
	[
		{
			effectors = 
			[
				{
					fact = "lexington_rook_owned";
					value = 1;
				} : SetFactEffector
			];
		}
	];
	fk< ItemBlueprint > blueprint = "Items.Iconic_Ranged_Weapon_Blueprint";
	displayName = "LocKey#87367";
	localizedDescription = "LocKey#87378";
	[ EP1 ]
	fk< UIIcon > hudIcon = "HUDWeaponIcons.Lexington_Rook";
	CName[] visualTags = 
	[
		"Rook_Lexington"
	];
	quality = "Quality.Random";
	tags += 
	[
		"IconicWeapon"
	];
	statModifiers += 
	[
		"Quality.IconicItem"
	];
	npcRPGData = 
	{
		statModifiers += 
		[
			"Quality.IconicItem"
		];
	} : Items.Base_Lexington_NPC_Data;
	slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__rcv1";
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__base1";
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_std";
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< Item > itemPartPreset = "Items.w_handgun_militech_lexington__mag_stdr";
		}, 
		{
			slot = "AttachmentSlots.Scope";
			fk< Item > itemPartPreset = "Items.Rook_scope";
		}, 
		{
			slot = "AttachmentSlots.PowerModule";
			fk< Item > itemPartPreset = "Items.Rook_Silencer";
		}, 
		{
			slot = "AttachmentSlots.IconicWeaponModLegendary";
			itemPartPreset = "Items.RookWeaponMod";
		}
	];
	statModifierGroups = 
	[
		"Items.IconicQualityRandomization", "Items.Base_Lexington_Rook_Technical_Stats", "Items.Base_Lexington_Handling_Stats", "Items.Base_Lexington_Rook_Recoil_Stats", "Items.Base_Lexington_Spread_Stats", "Items.Base_Lexington_Aim_Stats", "Items.Base_Lexington_Rook_Constant_Stats", "Items.Base_Lexington_Damage_Stats", "Items.Base_Power_Stats", "Items.Base_Power_Handgun_Mult_Stats", "Items.Base_Power_Handgun_Stats", "Items.Base_Handgun_RPG_Stats", "Items.Base_Handgun_Misc_Stats", "Items.Base_Handgun_Sway_Stats", "Items.Base_PlayerState_Spread_Stats", "Items.Base_Handgun_DeadReckoning_Stats", "Items.Base_Weapon_Damage_Type_Min_Max", "Items.Base_Weapon_Damage_Type_Physical"
	];
	bool scaleToPlayer = true;
}

Base_Lexington_Rook_Technical_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 1.f;
		} : NumShotsToFireModifier, 
		{
			value = 0.1f;
		} : CycleTimeModifier, 
		{
			value = 30.f;
		} : MagazineCapacityModifier, 
		{
			value = 1.f;
		} : ProjectilesPerShotModifier, 
		"BaseStats.ProjectilesPerShotCombinedModifier"
	];
}

Base_Lexington_Rook_Recoil_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 0.f;
		} : RecoilDirModifier, 
		{
			value = 15.f;
		} : RecoilAngleModifier, 
		{
			value = 0.07f;
		} : RecoilHoldDurationModifier, 
		{
			value = 0.058f;
		} : RecoilTimeModifier, 
		{
			value = 0.18f;
		} : RecoilRecoveryTimeModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearXModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearYModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearXADSModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearYADSModifier
	];
}

Base_Lexington_Rook_Constant_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			statType = "BaseStats.SpreadDefaultX";
			modifierType = "Additive";
			value = 0.75f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsDefaultX";
			modifierType = "Additive";
			value = 0.25f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadMaxX";
			modifierType = "Additive";
			value = 3.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsMaxX";
			modifierType = "Additive";
			value = 1.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadChangePerShot";
			modifierType = "Additive";
			value = 0.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsChangePerShot";
			modifierType = "Additive";
			value = 0.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMin";
			modifierType = "Additive";
			value = 0.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMax";
			modifierType = "Additive";
			value = 0.75f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.FirePower";
			modifierType = "Multiplier";
			value = 1.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HeadshotDamageMultiplier";
			modifierType = "Additive";
			value = -0.25f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DamagePerHit";
			modifierType = "Multiplier";
			value = 1.0833f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.ZoomLevel";
			modifierType = "Additive";
			value = 0.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.ZoomLevel";
			modifierType = "Additive";
			refStat = "BaseStats.Quality";
			opSymbol = "*";
			value = 0.1f;
		} : CombinedStatModifier, 
		{
			statType = "BaseStats.EffectiveRange";
			modifierType = "AdditiveMultiplier";
			value = 0.2f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.EffectiveRange";
			modifierType = "AdditiveMultiplier";
			refStat = "BaseStats.Quality";
			opSymbol = "*";
			value = 0.05f;
		} : CombinedStatModifier, 
		{
			statType = "BaseStats.StealthHitDamageMultiplier";
			modifierType = "Additive";
			value = 2;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DamagePerHit";
			modifierType = "AdditiveMultiplier";
			value = -0.2f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DamagePerHit";
			modifierType = "AdditiveMultiplier";
			refStat = "BaseStats.Quality";
			opSymbol = "*";
			value = 0.05f;
		} : CombinedStatModifier
	];
}

[ notQueryable ]
[ EP1 ]
Rook_scope : Base_Long_Scope
{
	quality = "Quality.Common";
	visualTags = 
	[
		"Default"
	];
	CName appearanceResourceName = "w_att__scope_long_01";
	fk< StatModifier >[] statModifiers += 
	[
		{
			statType = "BaseStats.Quality";
			modifierType = "Additive";
			refStat = "BaseStats.Quality";
			refObject = "Root";
			opSymbol = "*";
			value = 1f;
		} : CombinedStatModifier
	];
	iconPath = "w_att__scope_long_01";
	tags += 
	[
		"DummyPart", "HideInUI", "HideAtVendor"
	];
}

[ notQueryable ]
[ EP1 ]
Rook_Silencer : SilencerBase
{
	displayName = "LocKey#1344";
	quality = "Quality.Common";
	CName appearanceResourceName = "w_att__power_02";
	iconPath = "silencer_1";
	fk< StatModifier >[] statModifiers += 
	[
		{
			statType = "BaseStats.Quality";
			modifierType = "Additive";
			refStat = "BaseStats.Quality";
			refObject = "Root";
			opSymbol = "*";
			value = 1f;
		} : CombinedStatModifier
	];
	tags += 
	[
		"DummyPart", "HideInUI", "HideAtVendor"
	];
}

