package Items
using RTDB, BaseStats, WeaponFxPackage, AttackModifier

[ notQueryable ]
Griffin_Rifle : Base_Weapon
{
	CName entityName = "griffin_rifle";
	fk< TriggerMode >[] triggerModes = 
	[
		"TriggerMode.Burst"
	];
	tags += 
	[
		"HideInUI", "HideAtVendor"
	];
	shootingPatternPackages = 
	[
		"ShootingPatterns.GriffinRifleShootingPackage"
	];
	fk< RangedAttackPackage > rangedAttacks = "Attacks.PhysicalBulletPackage";
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.WeaponRight", "AttachmentSlots.WeaponLeft"
	];
	fk< WeaponFxPackage > fxPackage = "WeaponFxPackage.PowerRifleAssault";
	CName audioName = "dev_drone_griffin_wea_set_rifle";
	enableNpcRPGData = true;
	canDrop = false;
	npcRPGData = 
	{
		statModifierGroups += 
		[
			"Items.Griffin_Rifle_Handling_Stats", "Items.Griffin_Rifle_NPC_Damage_Stats"
		];
	} : Base_NPC_RPG_Data;
}

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

[ notQueryable ]
Griffin_Rifle_Left : Griffin_Rifle
{
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.WeaponLeft"
	];
	quality = "Quality.Common";
	npcRPGData = 
	{
		statModifierGroups = 
		[
			"Items.Griffin_Rifle_Handling_Stats"
		];
	} : Base_NPC_RPG_Data;
}

Griffin_Rifle_Handling_Stats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			float value = 0.12f;
		} : CycleTimeModifier, 
		{
			float value = 0.04f;
		} : CycleTime_BurstModifier, 
		{
			float value = 3.f;
		} : NumShotsInBurstModifier, 
		{
			float value = 3.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 = 3.f;
		} : ProjectilesPerShotModifier, 
		"BaseStats.ProjectilesPerShotCombinedModifier", {
			float value = 0.333f;
		} : MinTBHModifier, 
		{
			value = 20.f;
		} : PhysicalImpulseModifier
	];
}

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

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

