package Items
using RTDB, BaseStats, WeaponFxPackage

[ notQueryable ]
Delamain_Launcher_Base : Base_Shotgun
{
	entityName = "smasher_launcher";
	triggerModes = 
	[
		"TriggerMode.SemiAuto"
	];
	primaryTriggerMode = "TriggerMode.SemiAuto";
	tags = 
	[
		"Weapon", "RangedWeapon"
	];
	attacks = 
	[
		"Attacks.DelamainRainMissile"
	];
	rangedAttacks = "Attacks.SmartBulletHighPackage";
	placementSlots = 
	[
		"AttachmentSlots.LeftShoulder", "AttachmentSlots.RightShoulder"
	];
	fxPackage = "WeaponFxPackage.TechWeaponBase";
	enableNpcRPGData = true;
	npcRPGData = 
	{
		statModifierGroups += 
		[
			"Items.Delamain_Launcher_Technical_Stats", "Items.Delamain_Launcher_Projectile_Stats", "Items.Base_NPC_SmartGun_Stats", "Items.Delamain_Launcher_NPC_Damage_Stats"
		];
	} : Base_Shotgun_NPC_Data;
	statModifierGroups = 
	[
		"Items.Delamain_Launcher_Technical_Stats", "Items.Delamain_Launcher_Projectile_Stats", "Items.Base_NPC_SmartGun_Stats", "Items.Delamain_Launcher_Damage_Stats"
	];
}

[ notQueryable ]
Delamain_Launcher_Trunk : Missile_Launcher
{
	fk< Attack >[] attacks = 
	[
		"Attacks.DelamainRainMissile"
	];
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.LeftShoulder", "AttachmentSlots.WeaponRight"
	];
	CName audioName = "wea_set_spec_launcher_delamain";
}

Delamain_Launcher_Technical_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 1.0f;
		} : NumShotsToFireModifier, 
		{
			value = 5.0f;
		} : CycleTimeModifier, 
		{
			value = 999999.f;
		} : MagazineCapacityModifier, 
		{
			value = 1.0f;
		} : ProjectilesPerShotModifier, 
		"BaseStats.ProjectilesPerShotCombinedModifier"
	];
}

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

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

Delamain_Launcher_Projectile_Stats : StatModifierGroup
{
	statModifiers = 
	[
		{
			value = 1.0f;
		} : SmartGunAddSpiralTrajectoryModifier, 
		{
			value = 0.1f;
		} : SmartGunSpiralRadiusModifier, 
		{
			value = 0.1f;
		} : SmartGunSpiralCycleTimeMinModifier, 
		{
			value = 0.25f;
		} : SmartGunSpiralCycleTimeMaxModifier, 
		{
			value = 0.0f;
		} : SmartGunSpiralRampDistanceStartModifier, 
		{
			value = 1.0f;
		} : SmartGunSpiralRampDistanceEndModifier, 
		{
			value = 1.0f;
		} : SmartGunSpiralRandomizeDirectionModifier, 
		{
			value = 1.0f;
		} : SmartGunHitProbabilityModifier, 
		{
			value = 0.05f;
		} : SmartGunMissDelayModifier, 
		{
			value = 6.5f;
		} : SmartGunMissRadiusModifier
	];
}

