package Items
using RTDB, BaseStats, WeaponFxPackage, AttackModifier

[ notQueryable ]
Octant_Autocannon : Base_Weapon
{
	CName entityName = "octant_autocannon";
	fk< TriggerMode >[] triggerModes = 
	[
		"TriggerMode.FullAuto"
	];
	tags += 
	[
		"HideInUI", "HideAtVendor"
	];
	shootingPatternPackages = 
	[
		"ShootingPatterns.OctantAutocannonShootingPackage"
	];
	fk< RangedAttackPackage > rangedAttacks = "Attacks.PhysicalBulletPackage";
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.WeaponRight"
	];
	fk< WeaponFxPackage > fxPackage = "WeaponFxPackage.PowerRifleAssault";
	CName audioName = "dev_drone_octant_wea_set_autocannon";
	enableNpcRPGData = true;
	canDrop = false;
	npcRPGData = 
	{
		statModifierGroups += 
		[
			"Items.Octant_Autocannon_Handling_Stats", "Items.Octant_Autocannon_NPC_Damage_Stats"
		];
	} : Base_NPC_RPG_Data;
}

Octant_Autocannon_Handling_Stats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			float value = 0.21f;
		} : CycleTimeModifier, 
		{
			float value = 0.07f;
		} : CycleTime_BurstModifier, 
		{
			float value = 3.f;
		} : NumShotsInBurstModifier, 
		{
			float value = 3.f;
		} : NumShotsToFireModifier, 
		{
			float value = 21.f;
		} : MagazineCapacityModifier, 
		{
			float value = 1.4f;
		} : ReloadTimeModifier, 
		{
			float value = 1.8f;
		} : EmptyReloadTimeModifier, 
		{
			float value = 1.2f;
		} : ZoomLevelModifier, 
		{
			float value = 0.1f;
		} : AimInTimeModifier, 
		{
			float value = 0.2f;
		} : AimOutTimeModifier, 
		{
			float value = 3.f;
		} : ProjectilesPerShotModifier, 
		"BaseStats.ProjectilesPerShotCombinedModifier", {
			float value = 0.3333;
		} : MinTBHModifier, 
		{
			value = 20.f;
		} : PhysicalImpulseModifier
	];
}

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

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

[ notQueryable ]
Q306_Black_Ops_Chopper_Autocannon : Octant_Autocannon
{
	shootingPatternPackages = 
	[
		"ShootingPatterns.MachineGunShootingPackage"
	];
	CName audioName = "wea_set_vehicle";
	enableNpcRPGData = true;
	npcRPGData = 
	{
		statModifierGroups += 
		[
			"Items.Q306_Black_Ops_Chopper_Autocannon_Handling_Stats", "Items.Q306_Black_Ops_Chopper_Autocannon_NPC_Damage_Stats"
		];
	} : Base_NPC_RPG_Data;
}

Q306_Black_Ops_Chopper_Autocannon_Handling_Stats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			float value = 0.08f;
		} : CycleTimeModifier, 
		{
			float value = 1.f;
		} : NumShotsToFireModifier, 
		{
			float value = 300.f;
		} : MagazineCapacityModifier, 
		{
			float value = 1.4f;
		} : ReloadTimeModifier, 
		{
			float value = 1.8f;
		} : EmptyReloadTimeModifier, 
		{
			float value = 1.2f;
		} : ZoomLevelModifier, 
		{
			float value = 0.1f;
		} : AimInTimeModifier, 
		{
			float value = 0.2f;
		} : AimOutTimeModifier, 
		{
			float value = 1.f;
		} : ProjectilesPerShotModifier, 
		"BaseStats.ProjectilesPerShotCombinedModifier", {
			float value = 0.08;
		} : MinTBHModifier, 
		{
			value = 20.f;
		} : PhysicalImpulseModifier
	];
}

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

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

[ notQueryable ]
Q306_Black_Ops_Chopper_Autocannon_Left : Q306_Black_Ops_Chopper_Autocannon
{
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.WeaponLeft"
	];
	quality = "Quality.Common";
	npcRPGData = 
	{
		statModifierGroups = 
		[
			"Items.Q306_Black_Ops_Chopper_Autocannon_Handling_Stats"
		];
	} : Base_HMG_NPC_Data;
}

