package Items
using RTDB, BaseStats, WeaponFxPackage

[ notQueryable ]
Minotaur_HMG : Preset_HMG_Default
{
	entityName = "blank_weapon";
	appearanceResourceName = "";
	slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			itemPartPreset = "";
		}
	];
	shootingPatternPackages = 
	[
		"ShootingPatterns.FullAutoSmartShootingPackage"
	];
	triggerModes = 
	[
		"TriggerMode.FullAuto"
	];
	primaryTriggerMode = "TriggerMode.FullAuto";
	evolution = "WeaponEvolution.Smart";
	canDrop = false;
	attacks += 
	[
		"NPCAttacks.QuickAttack", "NPCAttacks.QuickAttackStagger", "NPCAttacks.StrongAttack", "NPCAttacks.StrongAttackStagger", "NPCAttacks.StrongAttackKnockdown", "NPCAttacks.StompAttackStagger", "NPCAttacks.StrongAttackStompKnockdown"
	];
	rangedAttacks = "Attacks.SmartBulletMechPackage";
	placementSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	enableNpcRPGData = true;
	npcRPGData = 
	{
		statModifierGroups = 
		[
			"Items.NPCQualityRandomization", "Items.Minotaur_HMG_Technical_Stats", "Items.Minotaur_HMG_NPC_SmartGun_Stats", "Items.Minotaur_HMG_SmartGun_Projectile_Stats", "Items.Base_HMG_NPC_Damage_Stats"
		];
	} : Base_HMG_NPC_Data;
	statModifierGroups = [];
}

[ notQueryable ]
Minotaur_HMG_Right : Minotaur_HMG
{
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.WeaponRight"
	];
}

[ notQueryable ]
Minotaur_HMG_Left : Minotaur_HMG
{
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.WeaponLeft"
	];
	quality = "Quality.Common";
	npcRPGData = 
	{
		statModifierGroups = 
		[
			"Items.Minotaur_HMG_Technical_Stats", "Items.Minotaur_HMG_NPC_SmartGun_Stats", "Items.Minotaur_HMG_SmartGun_Projectile_Stats"
		];
	} : Base_HMG_NPC_Data;
}

Minotaur_HMG_Technical_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 1.f;
		} : NumShotsToFireModifier, 
		{
			value = 0.1f;
		} : CycleTimeModifier, 
		{
			value = 300.f;
		} : MagazineCapacityModifier, 
		{
			value = 1.f;
		} : ProjectilesPerShotModifier, 
		"BaseStats.ProjectilesPerShotCombinedModifier", {
			value = 100.f;
		} : OverheatModifier, 
		{
			value = 50.f;
		} : EffectiveRangeModifier, 
		{
			value = 30.f;
		} : PhysicalImpulseModifier
	];
}

Minotaur_HMG_NPC_SmartGun_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 0.0f;
		} : SmartGunNPCLockOnTimeModifier, 
		{
			value = 5.0f;
		} : SmartGunNPCLockTimeoutModifier, 
		{
			value = 45f;
		} : SmartGunNPCLockingAnglePitchModifier, 
		{
			value = 45f;
		} : SmartGunNPCLockingAngleYawModifier, 
		{
			value = 0.0f;
		} : SmartGunNPCShootProjectilesOnlyStraightModifier, 
		{
			value = 0.f;
		} : SmartGunNPCTrajectoryCurvatureMultiplierModifier, 
		{
			value = 3.0f;
		} : SmartGunNPCProjectileStartingOrientationAngleOffsetModifier, 
		{
			value = 0.0f;
		} : SmartGunNPCApplySpreadAtHitplaneModifier, 
		{
			value = 0.1f;
		} : SmartGunNPCSpreadMultiplierModifier, 
		{
			value = 35.f;
		} : SmartGunNPCProjectileVelocityModifier
	];
}

Minotaur_HMG_SmartGun_Projectile_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 1.0f;
		} : SmartGunAddSpiralTrajectoryModifier, 
		{
			value = 0.06f;
		} : SmartGunSpiralRadiusModifier, 
		{
			value = 0.1f;
		} : SmartGunSpiralCycleTimeMinModifier, 
		{
			value = 0.2f;
		} : SmartGunSpiralCycleTimeMaxModifier, 
		{
			value = 0.0f;
		} : SmartGunSpiralRampDistanceStartModifier, 
		{
			value = 1.0f;
		} : SmartGunSpiralRampDistanceEndModifier, 
		{
			value = 1.0f;
		} : SmartGunSpiralRandomizeDirectionModifier, 
		{
			value = 1.0f;
		} : SmartGunHitProbabilityModifier, 
		{
			value = 0.15f;
		} : SmartGunMissDelayModifier, 
		{
			value = 6.5f;
		} : SmartGunMissRadiusModifier
	];
}

