package Items
using RTDB, BaseStats, WeaponFxPackage, Proficiencies

[ notQueryable ]
Base_Nekomata : Base_Tech_Sniper_Rifle
{
	buyPrice += 
	[
		"Price.Tsunami", "Price.TopManufactureQuality"
	];
	sellPrice += 
	[
		"Price.Tsunami", "Price.TopManufactureQuality"
	];
	displayName = "LocKey#3609";
	string friendlyName = "w_rifle_sniper_tsunami_nekomata";
	localizedDescription = "LocKey#3610";
	gameplayDescription = "LocKey#92671";
	fk< UIIcon > hudIcon = "HUDWeaponIcons.Tsunami_Nekomata";
	CName audioName = "wea_set_nekomata";
	CName[] tags += 
	[
		"Preload", "Weapon", "Nekomata"
	];
	fk< TriggerMode >[] triggerModes = 
	[
		"TriggerMode.Charge"
	];
	fk< TriggerMode > primaryTriggerMode = "TriggerMode.Charge";
	fk< TriggerMode > secondaryTriggerMode = "TriggerMode.Charge";
	fk< WeaponManufacturer > manufacturer = "WeaponManufacturer.Corporation";
	fk< WeaponEvolution > evolution = "WeaponEvolution.Tech";
	fk< Item > ammo = "Ammo.SniperRifleAmmo";
	fk< StatPool >[] statPools = 
	[
		"BaseStatPools.WeaponCharge"
	];
	fk< AIPatternsPackage >[] shootingPatternPackages = 
	[
		"ShootingPatterns.SemiAutoSniperShootingPackage", "ShootingPatterns.ChargedShootShootingPackage"
	];
	fk< SlotItemPartListElement >[] slotPartList = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_sniper__tsunami_nekomata__rcv1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Barrel";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_sniper__tsunami_nekomata__base1";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.Magazine";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_sniper__tsunami_nekomata__mag_std";
				}
			];
		}, 
		{
			slot = "AttachmentSlots.MagazineEmpty";
			fk< ItemPartListElement >[] itemPartList = 
			[
				{
					item = "Items.w_rifle_sniper__tsunami_nekomata__mag_stdr";
				}
			];
		}, 
		"Items.NekomataPossibleScopesList"
	];
	previewEffectName = "weaponPreview";
	previewEffectTag = "pierce";
	fk< Crosshair > crosshair = "Crosshairs.Tech_Round";
	fk< WeaponFxPackage > fxPackage = "WeaponFxPackage.TechRifleSniper";
	enableNpcRPGData = true;
	npcRPGData = 
	{
		statModifierGroups += 
		[
		];
	} : Base_Nekomata_NPC_Data;
	statModifierGroups += 
	[
		"Items.Base_Nekomata_Technical_Stats", "Items.Base_Nekomata_Handling_Stats", "Items.Base_Nekomata_Recoil_Stats", "Items.Base_Nekomata_Spread_Stats", "Items.Base_Nekomata_Aim_Stats", "Items.Base_Nekomata_Constant_Stats", "Items.Base_Nekomata_Damage_Stats"
	];
	fk< GameplayLogicPackage >[] OnAttach += 
	[
		"EquipmentGLP.MediumStaminaRegen", "EquipmentGLP.HeavyStaminaDelay", "EquipmentGLP.HeavyWeapon"
	];
	fk< ConstantStatModifier > price = 
	{
		statType = "BaseStats.Price";
		modifierType = "Additive";
		value = 120;
	} : ConstantStatModifier;
	bool useNewSpawnMethod = true;
	baseReloadTime = 2.0f;
	baseEmptyReloadTime = 2.6f;
	uninterruptibleReloadStart = 0.5f;
	uninterruptibleEmptyReloadStart = 0.5f;
	float weaponNearPlane = 0.27f;
	float weaponFarPlane = 0.6f;
	float weaponEdgesSharpness = 0.4958f;
	float weaponVignetteIntensity = 0.1357f;
	float weaponVignetteRadius = 0.6482f;
	float weaponVignetteCircular = 0.0f;
	float weaponBlurIntensity = 1.0f;
	float weaponNearPlane_aim = 0.19f;
	float weaponFarPlane_aim = 0.5f;
	float weaponEdgesSharpness_aim = 0.4958f;
	float weaponVignetteIntensity_aim = 0.1357f;
	float weaponVignetteRadius_aim = 0.6814f;
	float weaponVignetteCircular_aim = 0.1745f;
	float weaponBlurIntensity_aim = 1.f;
}

Base_Nekomata_NPC_Data : Base_Tech_Sniper_Rifle_NPC_Data
{
	statModifierGroups += 
	[
		"Items.Base_Nekomata_NPC_Technical_Stats", "Items.Base_Nekomata_NPC_Damage_Stats"
	];
}

Base_Nekomata_Boris_NPC_Data : Base_Tech_Sniper_Rifle_NPC_Data
{
	statModifierGroups += 
	[
		"Items.Base_Nekomata_Boris_NPC_Technical_Stats", "Items.Base_Nekomata_NPC_Damage_Stats"
	];
}

Base_Nekomata_Technical_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 1.f;
		} : NumShotsToFireModifier, 
		{
			value = 0.6f;
		} : CycleTimeModifier, 
		{
			value = 4.f;
		} : MagazineCapacityModifier, 
		{
			value = 1.f;
		} : ProjectilesPerShotModifier, 
		"BaseStats.ProjectilesPerShotCombinedModifier", {
			value = 1.f;
		} : ChargeDischargeTimeModifier, 
		{
			value = 0.0f;
		} : ChargeMaxTimeInChargedStateModifier, 
		{
			value = 1.f;
		} : ChargeReadyPercentageModifier, 
		{
			value = 2.5f;
		} : ChargeTimeModifier, 
		{
			value = 0.05f;
		} : ShotDelayModifier, 
		{
			value = 100.f;
		} : ChargeModifier, 
		{
			value = 1.f;
		} : TechPierceEnabledModifier, 
		{
			value = 0.9f;
		} : TechPierceChargeLevelModifier
	];
}

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

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

Base_Nekomata_NPC_Technical_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 1.f;
		} : NumShotsToFireModifier, 
		{
			value = 0.6f;
		} : CycleTimeModifier, 
		{
			value = 4.f;
		} : MagazineCapacityModifier, 
		{
			value = 1.f;
		} : ProjectilesPerShotModifier, 
		"BaseStats.ProjectilesPerShotCombinedModifier", {
			value = 1.f;
		} : ChargeDischargeTimeModifier, 
		{
			value = 0.0f;
		} : ChargeMaxTimeInChargedStateModifier, 
		{
			value = 1.f;
		} : ChargeReadyPercentageModifier, 
		{
			value = 0.5f;
		} : ChargeTimeModifier, 
		{
			value = 0.05f;
		} : ShotDelayModifier, 
		{
			value = 100.f;
		} : ChargeModifier, 
		{
			value = 0.f;
		} : TechPierceEnabledModifier, 
		{
			value = 0.9f;
		} : TechPierceChargeLevelModifier
	];
}

Base_Nekomata_Boris_NPC_Technical_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 1.f;
		} : NumShotsToFireModifier, 
		{
			value = 0.6f;
		} : CycleTimeModifier, 
		{
			value = 4.f;
		} : MagazineCapacityModifier, 
		{
			value = 1.f;
		} : ProjectilesPerShotModifier, 
		"BaseStats.ProjectilesPerShotCombinedModifier", {
			value = 5.f;
		} : ChargeDischargeTimeModifier, 
		{
			value = 0.0f;
		} : ChargeMaxTimeInChargedStateModifier, 
		{
			value = 5.f;
		} : ChargeReadyPercentageModifier, 
		{
			value = 0.0f;
		} : ShotDelayModifier, 
		{
			value = 100.f;
		} : ChargeModifier, 
		{
			value = 2.0f;
		} : ChargeTimeModifier, 
		{
			value = 0.f;
		} : TechPierceEnabledModifier, 
		{
			value = 0.9f;
		} : TechPierceChargeLevelModifier
	];
}

Base_Nekomata_Handling_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 2.0f;
		} : ReloadTimeModifier, 
		{
			value = 2.6f;
		} : EmptyReloadTimeModifier, 
		{
			value = 0.3f;
		} : ReloadEndTimeModifier, 
		{
			value = 1.2f;
		} : EmptyReloadEndTimeModifier, 
		{
			value = 1.5f;
		} : ZoomLevelModifier, 
		{
			value = 5.f;
		} : EquipDuration_FirstModifier, 
		{
			statType = "BaseStats.RecoilAnimation";
			modifierType = "Additive";
			value = -1.f;
		} : ConstantStatModifier
	];
}

Base_Nekomata_Recoil_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 0.f;
		} : RecoilDirModifier, 
		{
			value = 30.f;
		} : RecoilAngleModifier, 
		{
			value = 0.099f;
		} : RecoilHoldDurationModifier, 
		{
			value = 0.15f;
		} : RecoilTimeModifier, 
		{
			value = 0.05f;
		} : RecoilDelayModifier, 
		{
			value = 0.35f;
		} : RecoilRecoveryTimeModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearXModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearYModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearXADSModifier, 
		{
			value = 1.f;
		} : RecoilEnableLinearYADSModifier, 
		{
			value = 1.0f;
		} : RecoilUseDifferentStatsInADSModifier, 
		{
			value = 1.0f;
		} : RecoilDirADSModifier, 
		{
			value = 15.0f;
		} : RecoilAngleADSModifier, 
		{
			value = 0.1f;
		} : RecoilTimeADSModifier, 
		{
			value = 0.05f;
		} : RecoilHoldDurationADSModifier, 
		{
			value = 0.2f;
		} : RecoilRecoveryTimeADSModifier
	];
}

Base_Nekomata_Spread_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 0.f;
		} : SpreadMinXModifier, 
		{
			value = 0.f;
		} : SpreadMinYModifier, 
		{
			value = 0.f;
		} : SpreadUseInAdsModifier, 
		{
			value = 0.f;
		} : SpreadAdsMinXModifier, 
		{
			value = 0.f;
		} : SpreadAdsMinYModifier, 
		{
			value = 1.5f;
		} : SpreadResetSpeedModifier, 
		{
			value = 0.3f;
		} : SpreadResetTimeThresholdModifier, 
		{
			value = 0.f;
		} : SpreadRandomizeOriginPointModifier, 
		{
			value = 1.f;
		} : SpreadUseCircularSpreadModifier, 
		{
			value = -0.25f;
		} : SpreadChargeMultModifier, 
		{
			value = -0.25f;
		} : SpreadAdsChargeMultModifier
	];
}

Base_Nekomata_Aim_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			statType = "BaseStats.AimFOV";
			modifierType = "Additive";
			value = 30;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.AimOffset";
			modifierType = "Additive";
			value = -0.1f;
		} : ConstantStatModifier
	];
}

Base_Nekomata_Constant_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			statType = "BaseStats.SpreadDefaultX";
			modifierType = "Additive";
			value = 1.33f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsDefaultX";
			modifierType = "Additive";
			value = 0.0f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadMaxX";
			modifierType = "Additive";
			value = 5.32f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.SpreadAdsMaxX";
			modifierType = "Additive";
			value = 0.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 = 6.4f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMax";
			modifierType = "Additive";
			value = 7.2f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMinADS";
			modifierType = "Additive";
			value = 2.45f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.RecoilKickMaxADS";
			modifierType = "Additive";
			value = 2.8f;
		} : ConstantStatModifier, 
		{
			statType = "BaseStats.FirePower";
			modifierType = "Multiplier";
			value = 0.766f;
		} : ConstantStatModifier, 
		"AttackModifier.WeaponArmorPenetrationMedium"
	];
}

w_rifle_sniper__tsunami_nekomata__rcv1 : WeaponRifleReceiverBase
{
	string friendlyName = "w_rifle_sniper__tsunami_nekomata__rcv1";
	CName appearanceResourceName = "w_rifle_sniper__tsunami_nekomata__rcv1_01";
}

w_rifle_sniper__tsunami_nekomata__base1 : WeaponRifleBarrelBase
{
	string friendlyName = "w_rifle_sniper__tsunami_nekomata__base1";
	CName appearanceResourceName = "w_rifle_sniper__tsunami_nekomata__base1_01";
}

w_rifle_sniper__tsunami_nekomata__mag_std : WeaponMagazineBase
{
	string friendlyName = "w_rifle_sniper__tsunami_nekomata__mag_std";
	CName appearanceResourceName = "w_rifle_sniper__tsunami_nekomata__mag_std_01";
}

w_rifle_sniper__tsunami_nekomata__mag_stdr : WeaponMagazineBaseEmpty
{
	string friendlyName = "w_rifle_sniper__tsunami_nekomata__mag_stdr";
	CName appearanceResourceName = "w_rifle_sniper__tsunami_nekomata__mag_stdr_01";
}

