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

Preset_Sor22_Default : Base_Sor22
{
	CName appearanceResourceName = "Preset_Sor22_Default";
	CName[] visualTags = 
	[
		"Default"
	];
	fk< SlotItemPartPreset >[] slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< Item > itemPartPreset = "Items.w_rifle_precision__midnight_sor22__rcv1";
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< Item > itemPartPreset = "Items.w_rifle_precision__midnight_sor22__base1";
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< Item > itemPartPreset = "Items.w_rifle_precision__midnight_sor22__mag_std";
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< Item > itemPartPreset = "Items.w_rifle_precision__midnight_sor22__mag_stdr";
		}, 
		"Items.RifleScopesPartList", {
			slot = "AttachmentSlots.Power_Precision_Sniper_Rifle_WeaponMod1";
		} : Power_PR_SR_ModList_Slot1, 
		{
			slot = "AttachmentSlots.Power_Precision_Sniper_Rifle_WeaponMod2";
		} : Power_PR_SR_ModList_Slot2
	];
}

Preset_Sor22_Pimp : Preset_Sor22_Default
{
	CName[] visualTags = 
	[
		"Pimp"
	];
	tags += 
	[
		"Pimp", "Courier_RareFind"
	];
}

Preset_Sor22_Neon : Preset_Sor22_Default
{
	CName[] visualTags = 
	[
		"Neon"
	];
	tags += 
	[
		"Neon"
	];
}

Preset_Sor22_Military : Preset_Sor22_Default
{
	CName[] visualTags = 
	[
		"Military"
	];
	tags += 
	[
		"Military"
	];
}

[ EP1 ]
Preset_Sor22_Nusa_White : Preset_Sor22_Nusa_Black
{
	CName[] visualTags = 
	[
		"Nusa_White"
	];
}

[ EP1 ]
Preset_Sor22_Nusa_Black : Preset_Sor22_Default
{
	CName[] visualTags = 
	[
		"Nusa_Black"
	];
	tags += 
	[
		"Courier_RareFind"
	];
	npcRPGData = 
	{
		statModifierGroups += 
		[
		];
	} : Base_Sor22_Nusa_NPC_Data;
	fk< Attack >[] attacks = 
	[
		"Attacks.Bullet_GameEffect", "Attacks.ThermalBulletEffect", "Attacks.ChemicalBulletEffect", "Attacks.ElectricBulletEffect", "Attacks.BurningBulletEffect", "Attacks.SmartBulletLow", "Attacks.SmartBulletMed", "Attacks.SmartBulletHigh", "Attacks.SmartBulletTwoStage", "Attacks.QuickMelee", "Attacks.Bullet_Projectile", "Attacks.ThermalBulletProjectile", "Attacks.ChemicalBulletProjectile", "Attacks.ElectricBulletProjectile", "Attacks.BurningBulletProjectile", "Attacks.PowerRounds_Projectile", "Attacks.PowerBuckshots_Projectile", "Attacks.PowerBullets_Projectile", "Attacks.NPCBulletEffect", "Attacks.NPCThermalBulletEffect", "Attacks.NPCChemicalBulletEffect", "Attacks.NPCElectricBulletEffect", "Attacks.NPCBurningBulletEffect", "Attacks.NPCSmartBullet", "Attacks.NPCBulletProjectile", "Attacks.NPCThermalBulletProjectile", "Attacks.NPCChemicalBulletProjectile", "Attacks.NPCElectricBulletProjectile", "Attacks.NPCBurningBulletProjectile", "NPCAttacks.QuickMelee", "NPCAttacks.StompAttackStagger", "NPCAttacks.StrongAttackStagger", "NPCAttacks.StrongAttackStompKnockdown", "NPCAttacks.StrongAttackStompStun", "NPCAttacks.PushEffect", "NPCAttacks.ParryEffect", "Attacks.ExplosiveBulletEffect", "Attacks.ExplodingBulletProjectile", "Attacks.ReedLaserSight", "Attacks.ReedSniperAttack", "NPCAttacks.QuickMeleeWithKnockdown", "NPCAttacks.KurtTakedownAttack01", "NPCAttacks.KurtTakedownAttack02", "NPCAttacks.KurtTakedownAttackFar02", "Attacks.ChimeraPowerMod_ExplosiveBulletEffect"
	];
}

Base_Sor22_Nusa_NPC_Data : Base_Power_Precision_Rifle_NPC_Data
{
	statModifierGroups += 
	[
		"Items.Base_Sor22_Nusa_NPC_Technical_Stats", "Items.Base_Sor22_Nusa_NPC_Damage_Stats"
	];
}

Base_Sor22_Nusa_NPC_Technical_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 1.f;
		} : NumShotsToFireModifier, 
		{
			value = 0.2f;
		} : CycleTimeModifier, 
		{
			value = 9.f;
		} : MagazineCapacityModifier, 
		{
			value = 1.f;
		} : ProjectilesPerShotModifier, 
		"BaseStats.ProjectilesPerShotCombinedModifier", {
			statType = "BaseStats.Accuracy";
			modifierType = "Multiplier";
			value = 3.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.TBHsBaseSourceMultiplierCoefficient";
			modifierType = "Multiplier";
			value = 0.8f;
		} : ConstantStatModifier
	];
}

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

[ notQueryable ]
Craftable_Common_Sor22 : Preset_Sor22_Default
{
	quality = "Quality.Common";
	slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< Item > itemPartPreset = "Items.w_rifle_precision__midnight_sor22__rcv1";
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< Item > itemPartPreset = "Items.w_rifle_precision__midnight_sor22__base1";
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< Item > itemPartPreset = "Items.w_rifle_precision__midnight_sor22__mag_std";
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< Item > itemPartPreset = "Items.w_rifle_precision__midnight_sor22__mag_stdr";
		}
	];
	CraftingData = "Items.Big_Common_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Uncommon_Sor22 : Craftable_Common_Sor22
{
	quality = "Quality.Uncommon";
	CraftingData = "Items.Big_Uncommon_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Rare_Sor22 : Craftable_Uncommon_Sor22
{
	quality = "Quality.Rare";
	CraftingData = "Items.Big_Rare_Crafting_Materials_Weapon";
}

[ notQueryable ]
Craftable_Epic_Sor22 : Craftable_Uncommon_Sor22
{
	quality = "Quality.Epic";
	CraftingData = "Items.Big_Epic_Crafting_Materials_Weapon";
}

[ notQueryable ]
Proficiency_Craftable_Epic_Sor22 : Craftable_Epic_Sor22
{
}

[ notQueryable ]
Craftable_Legendary_Sor22 : Craftable_Uncommon_Sor22
{
	quality = "Quality.Legendary";
	CraftingData = "Items.Big_Legendary_Crafting_Materials_Weapon";
}

