package Items
using RTDB, BaseStats, WeaponFxPackage

[ notQueryable ]
plasma_cutter : Base_Weapon
{
	string friendlyName = "plasma_cutter";
	CName audioName = "wea_set_special_plasma_cutter";
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.WeaponRight"
	];
	CName[] tags += 
	[
		"Preload", "Weapon", "Core", "Attack_Projectile", "TriggerMode_SemiAuto"
	];
	CName entityName = "plasma_cutter_weapon";
	fk< TriggerMode >[] triggerModes = 
	[
		"TriggerMode.SemiAuto", "TriggerMode.Charge"
	];
	fk< TriggerMode > primaryTriggerMode = "TriggerMode.SemiAuto";
	fk< WeaponManufacturer > manufacturer = "WeaponManufacturer.Corporation";
	fk< WeaponEvolution > evolution = "WeaponEvolution.Tech";
	fk< ItemCategory > itemCategory = "ItemCategory.Weapon";
	fk< ItemType > itemType = "ItemType.Wea_Rifle";
	stateMachineName = "Weapon";
	fk< WeaponFxPackage > fxPackage = "Items.PlasmaFxPackage";
	fk< RangedAttackPackage > rangedAttacks = "Attacks.PlasmaProjectilePackage";
	fk< Attack >[] attacks += 
	[
		"Attacks.ShieldSlam", "Attacks.PlasmaBeam", "NPCAttacks.QuickAttack", "NPCAttacks.QuickAttackStagger", "NPCAttacks.QuickAttackBleeding", "NPCAttacks.StrongAttack", "NPCAttacks.StrongAttackStagger", "NPCAttacks.StrongAttackKnockdown", "NPCAttacks.StompAttackStagger", "NPCAttacks.StompAttackKnockdown", "Attacks.PlasmaProjectile", "Attacks.PlasmaProjectileWeak", "Attacks.PlasmaProjectileSplash", "Attacks.RoyceLaserSight", "NPCAttacks.RoyceStrongAttackKnockdown"
	];
	fk< StatModifier >[] statModifiers += 
	[
		"BaseStats.EquipDurationModifier", "BaseStats.UnequipDurationModifier"
	];
	enableNpcRPGData = true;
	npcRPGData = 
	{
		statModifierGroups += 
		[
			"Items.plasma_cutter_StatModifierGroup_WeaponStats", "Items.Base_HMG_NPC_Damage_Stats"
		];
	} : Base_NPC_RPG_Data;
}

[ notQueryable ]
[ EP1 ]
chimera_cannon : plasma_cutter
{
	fk< AttachmentSlot >[] placementSlots += 
	[
		"AttachmentSlots.Cannon"
	];
	fk< RangedAttackPackage > rangedAttacks = "Attacks.ChimeraRocketProjectilePackage";
	fk< Attack >[] attacks += 
	[
		"Attacks.ChimeraProjectileSplash"
	];
	quality = "Quality.Common";
	npcRPGData = 
	{
		statModifierGroups += 
		[
			"Items.cannon_rocket_StatModifierGroup_WeaponStats", "Items.Base_HMG_NPC_Damage_Stats"
		];
	} : Base_NPC_RPG_Data;
}

[ notQueryable ]
[ EP1 ]
chimera_plasma_cutter : plasma_cutter
{
	fk< AttachmentSlot >[] placementSlots += 
	[
		"AttachmentSlots.Laser"
	];
	fk< Attack >[] attacks += 
	[
		"Attacks.ChimeraLaserBeam", "Attacks.ChimeraLaserBeamTop"
	];
	quality = "Quality.Common";
	npcRPGData = 
	{
		statModifierGroups = 
		[
			"Items.NPCQualityRandomization", "Items.boss_plasma_cutter_StatModifierGroup_WeaponStats", "Items.Base_HMG_NPC_Damage_Stats"
		];
	} : Base_NPC_RPG_Data;
}

[ notQueryable ]
royce_plasma_cutter : plasma_cutter
{
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.WeaponRight"
	];
	fk< Attack >[] attacks += 
	[
	];
	npcRPGData = 
	{
		statModifierGroups = 
		[
			"Items.NPCQualityRandomization", "Items.boss_plasma_cutter_StatModifierGroup_WeaponStats", "Items.Base_HMG_NPC_Damage_Stats"
		];
		statModifiers += 
		[
			{
				statType = "BaseStats.RandomCurveInput";
				modifierType = "Additive";
				id = "quality_curves";
				column = "rci_to_cyberpsycho_boss_level";
				refStat = "BaseStats.NPCLootLevelHelper";
			} : CurveStatModifier
		];
	} : Base_NPC_RPG_Data;
}

[ notQueryable ]
smasher_plasma_cutter : plasma_cutter
{
	fk< AttachmentSlot >[] placementSlots = 
	[
		"AttachmentSlots.SmasherPlasmaWeaponRight", "AttachmentSlots.SmasherPlasmaWeaponLeft"
	];
	fk< Attack >[] attacks += 
	[
		"Attacks.SmasherPlasmaProjectileSplash"
	];
	quality = "Quality.Common";
	npcRPGData = 
	{
		statModifierGroups = 
		[
			"Items.NPCQualityRandomization", "Items.boss_plasma_cutter_StatModifierGroup_WeaponStats", "Items.Base_HMG_NPC_Damage_Stats"
		];
	} : Base_NPC_RPG_Data;
}

[ notQueryable ]
[ EP1 ]
chimera_plasma_cutter_cannon : plasma_cutter
{
	fk< AttachmentSlot >[] placementSlots += 
	[
		"AttachmentSlots.CannonLaser"
	];
	fk< Attack >[] attacks += 
	[
		"Attacks.ChimeraLaserBeam", "Attacks.ChimeraLaserBeamTop"
	];
	quality = "Quality.Common";
	npcRPGData = 
	{
		statModifierGroups = 
		[
			"Items.NPCQualityRandomization", "Items.boss_plasma_cutter_StatModifierGroup_WeaponStats", "Items.Base_HMG_NPC_Damage_Stats"
		];
	} : Base_NPC_RPG_Data;
}

[ notQueryable ]
[ EP1 ]
chimera_melee : w_melee_smasher__fists_a
{
	fk< AttachmentSlot >[] placementSlots += 
	[
		"AttachmentSlots.ChimeraMelee"
	];
	fk< Attack >[] attacks += 
	[
		"Attacks.ChimeraMeleeExplosion", "Attacks.ChimeraMeleeShockwave", "Attacks.ChimeraStrongAttack"
	];
	quality = "Quality.Common";
	npcRPGData = 
	{
		statModifierGroups += 
		[
			"Items.chimera_melee_StatModifierGroup_WeaponStats", "Items.Base_HMG_NPC_Damage_Stats"
		];
	} : Base_NPC_RPG_Data;
}

[ notQueryable ]
[ EP1 ]
chimera_gas_cloud : Base_Weapon
{
	fk< AttachmentSlot >[] placementSlots += 
	[
		"AttachmentSlots.ChimeraGasCloud"
	];
	fk< Attack >[] attacks += 
	[
		"Attacks.ChimeraGasCloud"
	];
	quality = "Quality.Common";
	enableNpcRPGData = true;
	npcRPGData = 
	{
		statModifierGroups += 
		[
			"Items.chimera_gas_cloud_StatModifierGroup_WeaponStats", "Items.Base_HMG_NPC_Damage_Stats"
		];
	} : Base_NPC_RPG_Data;
}

plasma_cutter_StatModifierGroup_WeaponStats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			float value = 1.f;
		} : NumShotsToFireModifier, 
		{
			float value = 0.2f;
		} : CycleTimeModifier, 
		{
			float value = 0.0f;
		} : DPSModifier, 
		{
			float value = -1.f;
		} : MagazineCapacityModifier, 
		{
			float value = 5.f;
		} : ReloadTimeModifier, 
		{
			float value = 1.f;
		} : ProjectilesPerShotModifier, 
		"BaseStats.ProjectilesPerShotCombinedModifier", {
			float value = 1.5f;
		} : ChargeTimeModifier, 
		{
			statType = "BaseStats.StaminaCostToBlock";
			modifierType = "Additive";
			value = 40.0f;
		} : ConstantStatModifier, 
		"AttackModifier.WeaponArmorPenetrationLow"
	];
}

boss_plasma_cutter_StatModifierGroup_WeaponStats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			float value = 1.f;
		} : NumShotsToFireModifier, 
		{
			float value = 0.2f;
		} : CycleTimeModifier, 
		{
			float value = 0.0f;
		} : DPSModifier, 
		{
			float value = -1.f;
		} : MagazineCapacityModifier, 
		{
			float value = 5.f;
		} : ReloadTimeModifier, 
		{
			float value = 1.f;
		} : ProjectilesPerShotModifier, 
		"BaseStats.ProjectilesPerShotCombinedModifier", {
			float value = 1.5f;
		} : ChargeTimeModifier, 
		{
			statType = "BaseStats.StaminaCostToBlock";
			modifierType = "Additive";
			value = 40.0f;
		} : ConstantStatModifier, 
		"AttackModifier.WeaponArmorPenetrationFull"
	];
}

cannon_rocket_StatModifierGroup_WeaponStats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			float value = 1.f;
		} : NumShotsToFireModifier, 
		{
			float value = 0.2f;
		} : CycleTimeModifier, 
		{
			float value = 0.0f;
		} : DPSModifier, 
		{
			float value = -1.f;
		} : MagazineCapacityModifier, 
		{
			float value = 5.f;
		} : ReloadTimeModifier, 
		{
			float value = 1.f;
		} : ProjectilesPerShotModifier, 
		"BaseStats.ProjectilesPerShotCombinedModifier", {
			float value = 1.5f;
		} : ChargeTimeModifier, 
		{
			statType = "BaseStats.StaminaCostToBlock";
			modifierType = "Additive";
			value = 40.0f;
		} : ConstantStatModifier, 
		"AttackModifier.WeaponArmorPenetrationMedium"
	];
}

chimera_melee_StatModifierGroup_WeaponStats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		{
			float value = 1.f;
		} : NumShotsToFireModifier, 
		{
			float value = 0.2f;
		} : CycleTimeModifier, 
		{
			float value = 0.0f;
		} : DPSModifier, 
		{
			float value = -1.f;
		} : MagazineCapacityModifier, 
		{
			float value = 5.f;
		} : ReloadTimeModifier, 
		{
			float value = 1.f;
		} : ProjectilesPerShotModifier, 
		"BaseStats.ProjectilesPerShotCombinedModifier", {
			float value = 1.5f;
		} : ChargeTimeModifier, 
		{
			statType = "BaseStats.StaminaCostToBlock";
			modifierType = "Additive";
			value = 40.0f;
		} : ConstantStatModifier, 
		"AttackModifier.WeaponArmorPenetrationMedium"
	];
}

chimera_gas_cloud_StatModifierGroup_WeaponStats : StatModifierGroup
{
	fk< StatModifier >[] statModifiers = 
	[
		"AttackModifier.WeaponArmorPenetrationFull"
	];
}

PlasmaFxPackage : WeaponFxPackage.WeaponBase
{
	fk< MaterialFx > vfx_impact_default = 
	{
		impact_decal = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_target_explode.effect"
		];
		impact_main_effect = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_impact_default.effect"
		];
		impact_reflected_effect = [];
	} : MaterialFxDefault;
	fk< MaterialFx > vfx_impact_metal = 
	{
		impact_decal = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_target_explode.effect"
		];
		impact_main_effect = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_impact_default.effect"
		];
		impact_reflected_effect = [];
	} : MaterialFxMetal;
	fk< MaterialFx > vfx_impact_stone = 
	{
		impact_decal = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_target_explode.effect"
		];
		impact_main_effect = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_impact_default.effect"
		];
		impact_reflected_effect = 
		[
			""
		];
	} : MaterialFxStone;
	fk< MaterialFx > vfx_impact_concrete = 
	{
		impact_decal = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_target_explode.effect"
		];
		impact_main_effect = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_impact_default.effect"
		];
		impact_reflected_effect = [];
	} : MaterialFxConcrete;
	fk< MaterialFx > vfx_impact_plaster = 
	{
		impact_decal = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_target_explode.effect"
		];
		impact_main_effect = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_impact_default.effect"
		];
		impact_reflected_effect = [];
	} : MaterialFxPlaster;
	fk< MaterialFx > vfx_impact_tiles = 
	{
		impact_decal = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_target_explode.effect"
		];
		impact_main_effect = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_impact_default.effect"
		];
		impact_reflected_effect = [];
	} : MaterialFxTiles;
	fk< MaterialFx > vfx_impact_wood = 
	{
		impact_decal = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_impact_default.effect"
		];
		impact_main_effect = [];
		impact_reflected_effect = [];
	} : MaterialFxWood;
	fk< MaterialFx > vfx_impact_meatbag = 
	{
		impact_decal = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_target_explode.effect"
		];
		impact_main_effect = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_impact_default.effect"
		];
		impact_reflected_effect = [];
	} : MaterialFxMeatbag;
	fk< MaterialFx > vfx_impact_metal_pipe_steam = 
	{
		impact_decal = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_target_explode.effect"
		];
		impact_main_effect = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_impact_default.effect"
		];
		impact_reflected_effect = [];
	} : MaterialFxMetalPipeSteam;
	fk< MaterialFx > vfx_impact_metal_pipe_water = 
	{
		impact_decal = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_target_explode.effect"
		];
		impact_main_effect = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_impact_default.effect"
		];
		impact_reflected_effect = [];
	} : MaterialFxMetalPipeWater;
	fk< MaterialFx > vfx_impact_metal_catwalk = 
	{
		impact_decal = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_target_explode.effect"
		];
		impact_main_effect = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_impact_default.effect"
		];
		impact_reflected_effect = [];
	} : MaterialFxMetalCatwalk;
	fk< MaterialFx > vfx_impact_linoleum = 
	{
		impact_decal = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_target_explode.effect"
		];
		impact_main_effect = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_impact_default.effect"
		];
		impact_reflected_effect = [];
	} : MaterialFxLinoleum;
	fk< MaterialFx > vfx_impact_plastic = 
	{
		impact_decal = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_target_explode.effect"
		];
		impact_main_effect = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_impact_default.effect"
		];
		impact_reflected_effect = [];
	} : MaterialFxPlastic;
	fk< MaterialFx > vfx_impact_plastic_road = 
	{
		impact_decal = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_target_explode.effect"
		];
		impact_main_effect = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_impact_default.effect"
		];
		impact_reflected_effect = [];
	} : MaterialFxPlasticRoad;
	fk< MaterialFx > vfx_impact_trash = 
	{
		impact_decal = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_target_explode.effect"
		];
		impact_main_effect = 
		[
			"base\fx\quest\q003\boss_centaur\plazma_beam\plazma_impact_default.effect"
		];
		impact_reflected_effect = [];
	} : MaterialFxTrash;
	sfx_impact_context = "";
}

