package Items
using RTDB, BaseStats, WeaponFxPackage

[ notQueryable ]
[ EP1 ]
Chimera_Metalstorm : Preset_HMG_Default
{
	CName appearanceResourceName = "";
	fk< SlotItemPartPreset >[] slotPartListPreset = 
	[
		{
			slot = "AttachmentSlots.Receiver";
			fk< Item > itemPartPreset = "";
		}
	];
	rangedAttacks = "Attacks.ChimeraMetalstormBulletPackage";
	CName entityName = "chimera_metalstorm_special";
	CName audioName = "wea_set_smasher_hmg";
	fk< TriggerMode >[] triggerModes = 
	[
		"TriggerMode.SemiAuto"
	];
	fk< TriggerMode > primaryTriggerMode = "TriggerMode.SemiAuto";
	fk< Attack >[] attacks += 
	[
		"NPCAttacks.SmasherStrongAttackKnockdown", "NPCAttacks.SmasherStrongAttack", "NPCAttacks.SmasherStompAttackStagger", "NPCAttacks.SmasherStrongAttackStompKnockdown", "NPCAttacks.StrongAttackKnockdown", "NPCAttacks.StrongAttackStompKnockdown", "NPCAttacks.StrongAttackStagger", "Attacks.ChimeraMetalstormBulletEffect", "Attacks.ChimeraMetalstormBulletProjectile"
	];
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.MetalstormWeapon"
	];
	fk< WeaponFxPackage > fxPackage = "WeaponFxPackage.PowerRifleAssault";
	enableNpcRPGData = true;
	npcRPGData = 
	{
		statModifierGroups = 
		[
			"Items.Chimera_HMG_RPG_Stats", "Items.Base_HMG_Misc_Stats", "Items.Chimera_HMG_Technical_Stats", "Items.Base_HMG_NPC_Damage_Stats"
		];
	} : Base_HMG_NPC_Data;
	statModifierGroups = 
	[
		"Items.Chimera_HMG_Technical_Stats", "Items.Base_HMG_Handling_Stats", "Items.Base_HMG_Recoil_Stats", "Items.Chimera_Metalstorm_Spread_Stats", "Items.Base_PlayerState_Spread_Stats", "Items.Base_HMG_RPG_Stats", "Items.Base_HMG_Damage_Stats"
	];
}

[ notQueryable ]
[ EP1 ]
Chimera_Metalstorm_Explosive : Chimera_Metalstorm
{
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.MetalstormWeaponExplosive"
	];
	CName entityName = "chimera_metalstorm_special";
	rangedAttacks = "Attacks.ChimeraMetalstormExplodingBulletPackage";
	fk< Attack >[] attacks = 
	[
		"Attacks.ChimeraMetalstormExplodingBulletProjectile", "Attacks.ChimeraMetalstormExplodingBulletEffect"
	];
	CName[] tags += 
	[
		"ForceDismember"
	];
}

[ notQueryable ]
[ EP1 ]
Chimera_Metalstorm_Raise_Sequence : Chimera_Metalstorm
{
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.MetalstormWeaponRaiseSequence"
	];
	fk< Attack >[] attacks += 
	[
		"Attacks.ChimeraMetalstormRaiseSequenceEffect"
	];
	quality = "Quality.Common";
	CName[] tags += 
	[
		"ForceDismember"
	];
}

Chimera_Metalstorm_Spread_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 0.f;
		} : SpreadDefaultXModifier, 
		{
			value = 0.f;
		} : SpreadDefaultYModifier, 
		{
			value = 0.f;
		} : SpreadMinXModifier, 
		{
			value = 0.f;
		} : SpreadMinYModifier, 
		{
			value = 0.f;
		} : SpreadMaxXModifier, 
		{
			value = 0.f;
		} : SpreadMaxYModifier, 
		{
			value = 0.f;
		} : SpreadChangePerShotModifier, 
		{
			value = 0.f;
		} : SpreadUseInAdsModifier, 
		{
			value = 0.f;
		} : SpreadAdsDefaultXModifier, 
		{
			value = 0.f;
		} : SpreadAdsDefaultYModifier, 
		{
			value = 0.f;
		} : SpreadAdsMinXModifier, 
		{
			value = 0.f;
		} : SpreadAdsMinYModifier, 
		{
			value = 0.f;
		} : SpreadAdsMaxXModifier, 
		{
			value = 0.f;
		} : SpreadAdsMaxYModifier, 
		{
			value = 0.f;
		} : SpreadAdsChangePerShotModifier, 
		{
			value = 0.f;
		} : SpreadResetSpeedModifier, 
		{
			value = 0.f;
		} : SpreadResetTimeThresholdModifier, 
		{
			value = 0.f;
		} : SpreadRandomizeOriginPointModifier, 
		{
			value = 0.f;
		} : SpreadUseCircularSpreadModifier
	];
}

Chimera_HMG_RPG_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			statType = "BaseStats.DPS";
			modifierType = "Multiplier";
			value = 0.5f;
		} : ConstantStatModifier, 
		"Character.ScaleToPlayerLevel", {
			statType = "BaseStats.Level";
			modifierType = "Multiplier";
			value = 0.f;
		} : ConstantStatModifier, 
		"AttackModifier.WeaponArmorPenetrationMedium"
	];
}

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

