package Items
using RTDB, BaseStats, WeaponFxPackage, ItemAction

[ CPO ]
CPO_Base_Lexington : Preset_Base_Lexington
{
	CName[] tags += 
	[
		"CPO"
	];
	cpoItemCategory = "CPOItemCategory.Ranged";
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 260;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.PowerLevel";
			modifierType = "Additive";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.Accuracy";
			modifierType = "Additive";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DPS";
			modifierType = "Multiplier";
			min = 0.9f;
			max = 1.1f;
		} : RandomStatModifier, 
		{
			statType = "BaseStats.Accuracy";
			modifierType = "Multiplier";
			min = 0.9f;
			max = 1.1f;
		} : RandomStatModifier
	];
	fk< SlotItemPartListElement >[] 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";
				}
			];
		}
	];
}

[ CPO ]
CPO_Enemy_Lexington : CPO_Base_Lexington
{
	CName[] tags += 
	[
		"CPO"
	];
	cpoItemCategory = "CPOItemCategory.Ranged";
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier
	];
	fk< SlotItemPartListElement >[] 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";
				}
			];
		}
	];
}

[ CPO ]
CPO_EMP_Lexington : Preset_Base_Lexington
{
	CName[] tags += 
	[
		"CPO"
	];
	cpoItemCategory = "CPOItemCategory.Ranged";
	displayName = "EMP Lexington";
	fk< Attack >[] attacks = 
	[
		"Attacks.CPO_ShockedBulletEffect", "Attacks.CPO_QuickMelee"
	];
	fk< SlotItemPartListElement >[] 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";
				}
			];
		}
	];
	rangedAttacks = "Attacks.CPO_ElectricStatusEffectBulletPackage";
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.AimFOV";
			modifierType = "Additive";
			value = 45;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.ElectricDamage";
			modifierType = "Additive";
			value = 10;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.PowerLevel";
			modifierType = "Additive";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 240;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.Accuracy";
			modifierType = "Additive";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.ElectricDamage";
			modifierType = "Multiplier";
			min = 0.9f;
			max = 1.1f;
		} : RandomStatModifier, 
		{
			statType = "BaseStats.Accuracy";
			modifierType = "Multiplier";
			min = 0.9f;
			max = 1.1f;
		} : RandomStatModifier
	];
}

[ CPO ]
CPO_Burning_Lexington : Preset_Base_Lexington
{
	CName[] tags += 
	[
		"CPO"
	];
	cpoItemCategory = "CPOItemCategory.Ranged";
	displayName = "Thermal Lexington";
	fk< Attack >[] attacks = 
	[
		"Attacks.CPO_BurningBulletEffect", "Attacks.CPO_QuickMelee"
	];
	fk< SlotItemPartListElement >[] 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";
				}
			];
		}
	];
	rangedAttacks = "Attacks.CPO_ThermalStatusEffectBulletPackage";
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.AimFOV";
			modifierType = "Additive";
			value = 45;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.ThermalDamage";
			modifierType = "Additive";
			value = 10;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.PowerLevel";
			modifierType = "Additive";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 240;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.Accuracy";
			modifierType = "Additive";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.ThermalDamage";
			modifierType = "Multiplier";
			min = 0.9f;
			max = 1.1f;
		} : RandomStatModifier, 
		{
			statType = "BaseStats.Accuracy";
			modifierType = "Multiplier";
			min = 0.9f;
			max = 1.1f;
		} : RandomStatModifier
	];
}

[ CPO ]
CPO_HMG : Preset_HMG_Default
{
	CName[] tags += 
	[
		"CPO"
	];
	cpoItemCategory = "CPOItemCategory.Ranged";
	displayName = "Heavy Machine Gun";
	fk< EquipmentArea > equipArea = "EquipmentArea.Weapon";
}

[ CPO ]
CPO_Enemy_Tactician : Base_Tactician
{
	CName[] tags += 
	[
		"CPO"
	];
	cpoItemCategory = "CPOItemCategory.Ranged";
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier
	];
	fk< SlotItemPartListElement >[] slotPartList = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_shotgun_constitutional_tactician_rcv1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_shotgun_constitutional_tactician_base1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_shotgun_constitutional_tactician_mag_std";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_shotgun_constitutional_tactician_mag_stdr";
				}
			];
		}
	];
}

[ CPO ]
CPO_Base_Tactician : Base_Tactician
{
	cpoItemCategory = "CPOItemCategory.Ranged";
	displayName = "CPO Tactician";
	CName[] tags += 
	[
		"CPO"
	];
	localizedDescription = "CPO Tactician";
	CName effectiveRangeCurve = "ShotgunRange";
	fk< Attack >[] attacks = 
	[
		"Attacks.Bullet_GameEffect", "Attacks.CPO_QuickMelee"
	];
	fk< SlotItemPartListElement >[] slotPartList = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_shotgun_constitutional_tactician_rcv1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_shotgun_constitutional_tactician_base1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_shotgun_constitutional_tactician_mag_std";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_shotgun_constitutional_tactician_mag_stdr";
				}
			];
		}
	];
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 450;
		} : ConstantStatModifier
	];
}

[ CPO ]
CPO_Enemy_Copperhead : Base_Copperhead
{
	CName[] tags += 
	[
		"CPO"
	];
	cpoItemCategory = "CPOItemCategory.Ranged";
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier
	];
	fk< SlotItemPartListElement >[] slotPartList = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_assault__nokota_copperhead__rcv1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_assault__nokota_copperhead__base1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_assault__nokota_copperhead__mag_std";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_assault__nokota_copperhead__mag_stdr";
				}
			];
		}
	];
}

[ CPO ]
CPO_Base_Copperhead : Base_Copperhead
{
	CName[] tags += 
	[
		"CPO"
	];
	fk< Attack >[] attacks = 
	[
		"Attacks.Bullet_GameEffect", "Attacks.CPO_QuickMelee"
	];
	cpoItemCategory = "CPOItemCategory.Ranged";
	fk< SlotItemPartListElement >[] slotPartList = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_assault__nokota_copperhead__rcv1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_assault__nokota_copperhead__base1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_assault__nokota_copperhead__mag_std";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_assault__nokota_copperhead__mag_stdr";
				}
			];
		}
	];
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 330;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HeadshotDamageMultiplier";
			modifierType = "Additive";
			value = 2.0f;
		} : ConstantStatModifier
	];
	fk< StatModifierGroup >[] statModifierGroups = 
	[
		"Items.Base_Copperhead_Handling_Stats", "Items.Base_Copperhead_Recoil_Stats", "Items.Base_Copperhead_Spread_Stats", "Items.CPO_Base_Copperhead_Constant_Stats", "Items.Base_Assault_Rifle_Sway_Stats", "Items.Base_Assault_Rifle_Misc_Stats"
	];
}

CPO_Base_Copperhead_Constant_Stats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.SpreadDefaultX";
			modifierType = "Additive";
			value = 1.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsDefaultX";
			modifierType = "Additive";
			value = 0.3f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadMaxX";
			modifierType = "Additive";
			value = 3.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsMaxX";
			modifierType = "Additive";
			value = 1.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadChangePerShot";
			modifierType = "Additive";
			value = 0.2f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsChangePerShot";
			modifierType = "Additive";
			value = 0.3f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMin";
			modifierType = "Additive";
			value = 0.6f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMax";
			modifierType = "Additive";
			value = 1.1f;
		} : ConstantStatModifier
	];
}

[ CPO ]
CPO_Base_Saratoga : Base_Saratoga
{
	CName[] tags += 
	[
		"CPO"
	];
	fk< Attack >[] attacks = 
	[
		"Attacks.Bullet_GameEffect", "Attacks.CPO_QuickMelee"
	];
	cpoItemCategory = "CPOItemCategory.Ranged";
	fk< StatModifierGroup >[] statModifierGroups = 
	[
		"Items.Base_Submachinegun_RPG_Stats", "Items.Base_Submachinegun_Sway_Stats", "Items.Base_Submachinegun_Misc_Stats", "Items.Base_Saratoga_Handling_Stats", "Items.Base_Saratoga_Recoil_Stats", "Items.Base_Saratoga_Spread_Stats", "Items.Base_Saratoga_Constant_Stats", "Items.Base_Submachinegun_Mult_Stats", "Items.Base_PlayerState_Spread_Stats"
	];
	fk< SlotItemPartListElement >[] slotPartList = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_submachinegun__militech_saratoga__rcv1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_submachinegun__militech_saratoga__base1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_submachinegun__militech_saratoga__mag_std";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_submachinegun__militech_saratoga__mag_stdr";
				}
			];
		}
	];
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 320;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HeadshotDamageMultiplier";
			modifierType = "Additive";
			value = 1.2f;
		} : ConstantStatModifier
	];
}

CPO_Base_Saratoga_Constant_Stats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.SpreadDefaultX";
			modifierType = "Additive";
			value = 2.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadMaxX";
			modifierType = "Additive";
			value = 5.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadChangePerShot";
			modifierType = "Additive";
			value = 0.4f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsChangePerShot";
			modifierType = "Additive";
			value = 0.2f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMin";
			modifierType = "Additive";
			value = 0.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMax";
			modifierType = "Additive";
			value = 1.1f;
		} : ConstantStatModifier
	];
}

[ CPO ]
CPO_Enemy_Defender : Base_Defender
{
	CName[] tags += 
	[
		"CPO"
	];
	cpoItemCategory = "CPOItemCategory.Ranged";
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier
	];
}

[ CPO ]
CPO_Base_Defender : Base_Defender
{
	CName[] tags += 
	[
		"CPO"
	];
	cpoItemCategory = "CPOItemCategory.Ranged";
	fk< Attack >[] attacks = 
	[
		"Attacks.Bullet_GameEffect", "Attacks.Bullet_Projectile", "Attacks.CPO_QuickMelee"
	];
	fk< GameplayLogicPackage >[] OnAttach = [];
	fk< StatModifierGroup >[] statModifierGroups = 
	[
		"Items.Base_Lightmachinegun_RPG_Stats", "Items.Base_Lightmachinegun_Misc_Stats", "Items.Base_Lightmachinegun_Sway_Stats", "Items.Base_Lightmachinegun_Mult_Stats", "Items.Base_PlayerState_Spread_Stats", "Items.Base_Defender_Handling_Stats", "Items.Base_Defender_Recoil_Stats", "Items.Base_Defender_Spread_Stats", "Items.Base_Defender_Aim_Stats", "Items.CPO_Defender_Constant_Stats"
	];
	fk< StatPool >[] statPools = [];
	fk< SlotItemPartListElement >[] slotPartList = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_lmg__constitutional_defender__rcv1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_lmg__constitutional_defender__base1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_lmg__constitutional_defender__mag_std";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_lmg__constitutional_defender__mag_stdr";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.PowerModule";
			fk< ItemPartListElement >[] itemPartList = [];
		}, 
		{
			slot = "AttachmentSlots.Scope";
			fk< ItemPartListElement >[] itemPartList = [];
		}
	];
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 850;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AimFOV";
			modifierType = "Additive";
			value = 25;
		} : ConstantStatModifier
	];
}

CPO_Defender_Constant_Stats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.SpreadDefaultX";
			modifierType = "Additive";
			value = 2.f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsDefaultX";
			modifierType = "Additive";
			value = 0.15f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadMaxX";
			modifierType = "Additive";
			value = 4.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsMaxX";
			modifierType = "Additive";
			value = 2.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadChangePerShot";
			modifierType = "Additive";
			value = 0.15f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsChangePerShot";
			modifierType = "Additive";
			value = 0.1f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMin";
			modifierType = "Additive";
			value = 0.6f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMax";
			modifierType = "Additive";
			value = 1.f;
		} : ConstantStatModifier
	];
}

[ CPO ]
CPO_Enemy_Nue : CPO_Base_Nue
{
	CName[] tags += 
	[
		"CPO"
	];
	cpoItemCategory = "CPOItemCategory.Ranged";
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 1;
		} : ConstantStatModifier
	];
	fk< SlotItemPartListElement >[] slotPartList = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_handgun__tsunami_nue__rcv1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_handgun__tsunami_nue__base1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_handgun__tsunami_nue__mag_std";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_handgun__tsunami_nue__mag_stdr";
				}
			];
		}
	];
}

[ CPO ]
CPO_Base_Nue : Base_Nue
{
	CName[] tags += 
	[
		"CPO"
	];
	fk< Attack >[] attacks = 
	[
		"Attacks.Bullet_GameEffect", "Attacks.CPO_QuickMelee"
	];
	cpoItemCategory = "CPOItemCategory.Ranged";
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 800;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.PowerLevel";
			modifierType = "Additive";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DPS";
			modifierType = "Multiplier";
			min = 0.9f;
			max = 1.1f;
		} : RandomStatModifier, 
		{
			statType = "BaseStats.Accuracy";
			modifierType = "Multiplier";
			min = 0.9f;
			max = 1.1f;
		} : RandomStatModifier
	];
	fk< SlotItemPartListElement >[] slotPartList = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_handgun__tsunami_nue__rcv1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_handgun__tsunami_nue__base1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_handgun__tsunami_nue__mag_std";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_handgun__tsunami_nue__mag_stdr";
				}
			];
		}
	];
}

[ CPO ]
CPO_Base_Overture : Base_Overture
{
	CName[] tags += 
	[
		"CPO"
	];
	cpoItemCategory = "CPOItemCategory.Ranged";
	fk< StatModifierGroup >[] statModifierGroups = 
	[
		"Items.Base_Revolver_Misc_Stats", "Items.Base_Revolver_Sway_Stats", "Items.Base_Overture_Aim_Stats", "Items.Base_PlayerState_Spread_Stats"
	];
	fk< Attack >[] attacks = 
	[
		"Attacks.Bullet_GameEffect", "Attacks.CPO_QuickMelee"
	];
	fk< SlotItemPartListElement >[] slotPartList = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_revolver__malorian_overture__rcv1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_revolver__malorian_overture__base1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_revolver__malorian_overture__mag_std";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_revolver__malorian_overture__mag_stdr";
				}
			];
		}
	];
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 280;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.PowerLevel";
			modifierType = "Additive";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.Accuracy";
			modifierType = "Additive";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DPS";
			modifierType = "Multiplier";
			min = 0.9f;
			max = 1.1f;
		} : RandomStatModifier, 
		{
			statType = "BaseStats.Accuracy";
			modifierType = "Multiplier";
			min = 0.9f;
			max = 1.1f;
		} : RandomStatModifier, 
		{
			statType = "BaseStats.HeadshotDamageMultiplier";
			modifierType = "Additive";
			value = 2.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilAnimation";
			modifierType = "Additive";
			value = 1.f;
		} : ConstantStatModifier, 
		{
			float value = 1.f;
		} : NumShotsToFireModifier, 
		{
			float value = 0.05f;
		} : CycleTimeModifier, 
		{
			float value = 6.f;
		} : MagazineCapacityModifier, 
		{
			float value = 2.2f;
		} : ReloadTimeModifier, 
		{
			float value = 2.2f;
		} : EmptyReloadTimeModifier, 
		{
			float value = 1.f;
		} : ZoomLevelModifier, 
		{
			float value = 0.1f;
		} : AimInTimeModifier, 
		{
			float value = 0.2f;
		} : AimOutTimeModifier, 
		{
			float value = 1.f;
		} : ProjectilesPerShotModifier, 
		{
			float value = 0.f;
		} : RecoilDirModifier, 
		{
			float value = 60.f;
		} : RecoilAngleModifier, 
		{
			float value = 2.f;
		} : RecoilKickMinModifier, 
		{
			float value = 3.f;
		} : RecoilKickMaxModifier, 
		{
			float value = 0.023f;
		} : RecoilTimeModifier, 
		{
			float value = 0.15f;
		} : RecoilRecoveryTimeModifier, 
		{
			float value = 1.f;
		} : RecoilRecoveryMinSpeedModifier, 
		{
			float value = 100.f;
		} : RecoilMaxLengthModifier, 
		{
			float value = 1.f;
		} : RecoilEnableLinearXModifier, 
		{
			float value = 1.f;
		} : RecoilEnableLinearYModifier, 
		{
			float value = 1.f;
		} : RecoilEnableLinearXADSModifier, 
		{
			float value = 1.f;
		} : RecoilEnableLinearYADSModifier, 
		{
			float value = 0.08f;
		} : RecoilDelayModifier, 
		{
			float value = 0.0f;
		} : SpreadDefaultXModifier, 
		{
			float value = 0.0f;
		} : SpreadDefaultYModifier, 
		{
			float value = 0.f;
		} : SpreadMinXModifier, 
		{
			float value = 0.f;
		} : SpreadMinYModifier, 
		{
			float value = 1.f;
		} : SpreadMaxXModifier, 
		{
			float value = 1.f;
		} : SpreadMaxYModifier, 
		{
			float value = 0.45f;
		} : SpreadChangePerShotModifier, 
		{
			float value = 0.1f;
		} : SpreadUseInAdsModifier, 
		{
			float value = 0.0f;
		} : SpreadAdsDefaultXModifier, 
		{
			float value = 0.0f;
		} : SpreadAdsDefaultYModifier, 
		{
			float value = 0.f;
		} : SpreadAdsMinXModifier, 
		{
			float value = 0.f;
		} : SpreadAdsMinYModifier, 
		{
			float value = 1.0f;
		} : SpreadAdsMaxXModifier, 
		{
			float value = 1.0f;
		} : SpreadAdsMaxYModifier, 
		{
			float value = 0.25f;
		} : SpreadAdsChangePerShotModifier, 
		{
			float value = 1.5f;
		} : SpreadResetSpeedModifier, 
		{
			float value = 0.1f;
		} : SpreadResetTimeThresholdModifier, 
		{
			float value = 0.f;
		} : SpreadRandomizeOriginPointModifier, 
		{
			float value = 1.f;
		} : SpreadUseCircularSpreadModifier
	];
}

[ CPO ]
CPO_Base_Sor22 : Base_Sor22
{
	CName[] tags += 
	[
		"CPO"
	];
	fk< StatModifierGroup >[] statModifierGroups = 
	[
		"Items.Base_Sor22_Handling_Stats", "Items.Base_Sor22_Recoil_Stats", "Items.Base_Sor22_Spread_Stats", "Items.Base_Sor22_Aim_Stats", "Items.Base_CPO_Sor22_Constant_Stats", "Items.Base_Precision_Rifle_Sway_Stats", "Items.Base_PlayerState_Spread_Stats"
	];
	cpoItemCategory = "CPOItemCategory.Ranged";
	fk< Attack >[] attacks = 
	[
		"Attacks.Bullet_GameEffect", "Attacks.Bullet_Projectile", "Attacks.CPO_QuickMelee"
	];
	fk< SlotItemPartListElement >[] slotPartList = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_precision__midnight_sor22__rcv1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_precision__midnight_sor22__base1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_precision__midnight_sor22__mag_std";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_precision__midnight_sor22__mag_stdr";
				}
			];
		}
	];
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 640;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.HeadshotDamageMultiplier";
			modifierType = "Additive";
			value = 3.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.PowerLevel";
			modifierType = "Additive";
			value = 0;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.DPS";
			modifierType = "Multiplier";
			min = 0.9f;
			max = 1.1f;
		} : RandomStatModifier, 
		{
			statType = "BaseStats.Accuracy";
			modifierType = "Multiplier";
			min = 0.9f;
			max = 1.1f;
		} : RandomStatModifier, 
		{
			float value = 3.5f;
		} : ZoomLevelModifier, 
		{
			float value = 0.5f;
		} : SpreadMinXModifier, 
		{
			float value = 0.5f;
		} : SpreadMinYModifier, 
		{
			float value = 0.f;
		} : SpreadUseInAdsModifier, 
		{
			float value = 0.0f;
		} : SpreadAdsMinXModifier, 
		{
			float value = 0.0f;
		} : SpreadAdsMinYModifier, 
		{
			float value = 7.0f;
		} : SpreadResetSpeedModifier, 
		{
			float value = 0.1f;
		} : SpreadResetTimeThresholdModifier, 
		{
			float value = 0.f;
		} : SpreadRandomizeOriginPointModifier, 
		{
			float value = 1.f;
		} : SpreadUseCircularSpreadModifier, 
		{
			float value = 0.f;
		} : SpreadUseEvenDistributionModifier, 
		{
			float value = 1.f;
		} : SpreadEvenDistributionRowCountModifier
	];
}

Base_CPO_Sor22_Constant_Stats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.SpreadDefaultX";
			modifierType = "Additive";
			value = 0.2f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsDefaultX";
			modifierType = "Additive";
			value = 0.01f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadMaxX";
			modifierType = "Additive";
			value = 1.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsMaxX";
			modifierType = "Additive";
			value = 0.8f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadChangePerShot";
			modifierType = "Additive";
			value = 0.8f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsChangePerShot";
			modifierType = "Additive";
			value = 0.4f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMin";
			modifierType = "Additive";
			value = 1.5f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMax";
			modifierType = "Additive";
			value = 4.f;
		} : ConstantStatModifier
	];
}

[ CPO ]
CPO_Katana : Preset_Katana_Arasaka_2020
{
	cpoItemCategory = "CPOItemCategory.Melee";
	tags += 
	[
		"MeleeWeapon", "CPO"
	];
	fk< StatModifier >[] statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Additive";
			value = 800;
		} : ConstantStatModifier
	];
}

[ CPO ]
CPO_Grenade_Frag : Grenade
{
	CName[] tags += 
	[
		"CPO"
	];
	cpoItemCategory = "CPOItemCategory.Grenade";
	displayName = "CPO Frag";
	localizedDescription = "Fragmentation grenade";
	friendlyName = "frag";
	entityName = "frag";
	iconPath = "temp_grenade";
	attack = "Attacks.CPO_FragGrenade";
	attackRadius = 3.5f;
	deliveryMethod = 
	{
		detonationTimer = 2.f;
	} : RegularGDM;
	detonationSound = "explosion";
	detonationStimRadius = 15.f;
	detonationStimType = "StimTypes.Explosion";
}

[ CPO ]
CPO_Grenade_Concussion : Grenade
{
	CName[] tags += 
	[
		"CPO"
	];
	cpoItemCategory = "CPOItemCategory.Grenade";
	displayName = "CPO Concussion Grenade";
	localizedDescription = "Used to knock human-sized enemies down";
	friendlyName = "frag";
	entityName = "frag";
	iconPath = "temp_grenade";
	attack = "Attacks.CPO_ConcussionGrenade";
	enemyAttack = "Attacks.CPO_ConcussionGrenade";
	attackRadius = 5.f;
	deliveryMethod = 
	{
		detonationTimer = 1.f;
	} : RegularGDM;
	detonationSound = "explosion";
	detonationStimRadius = 15.f;
	detonationStimType = "StimTypes.Explosion";
	bool explodeOnImpact = true;
}

[ CPO ]
CPO_Flashbang : Grenade
{
	CName[] tags += 
	[
		"CPO"
	];
	cpoItemCategory = "CPOItemCategory.Grenade";
	displayName = "CPO Flashbang";
	localizedDescription = "Used to blind enemies";
	friendlyName = "frag";
	entityName = "frag";
	iconPath = "temp_grenade";
	attack = "Attacks.CPO_Flashbang";
	enemyAttack = "Attacks.CPO_Flashbang";
	attackRadius = 4.f;
	deliveryMethod = 
	{
		detonationTimer = 2.f;
	} : RegularGDM;
	detonationSound = "explosion";
	detonationStimRadius = 15.f;
	detonationStimType = "StimTypes.Explosion";
}

[ CPO ]
CPO_FirstAidWhiff : FirstAidWhiffV0
{
	CName[] tags += 
	[
		"CPO"
	];
	cpoItemCategory = "CPOItemCategory.Consumable";
	objectActions = 
	[
		{
			completionEffects = 
			[
				{
					statusEffect = "BaseStatusEffect.CPO_FirstAidWhiff";
				}
			];
		} : Consume
	];
}

