package WeaponFxPackage
using RTDB, FxActions, FxActionTypes

PowerWeaponBase : WeaponBase
{
	player_vfx_set = "WeaponFxPackage.PowerBaseSet";
	npc_vfx_set = "WeaponFxPackage.PowerBaseNPCSet";
	vfx_hitscan_trail = "";
	NPC_vfx_hitscan_trail = "base\fx\weapons\trails\_default\w_tracer_default_npc.effect";
	vfx_hitscan_trail_slowmo = "base\fx\weapons\trails\power\w_trail_power_pistol.effect";
	vfx_hitscan_trail_ricochet = "base\fx\weapons\ricochet\w_ricochet_trail_pistol.effect";
}

PowerBaseSet : WeaponVFXSet
{
	actions = 
	[
		{
			fxAction = "FxActions.Shoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "muzzle_flash";
		}, 
		{
			fxAction = "FxActions.Shoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "muzzle_flash_lights";
		}, 
		{
			fxAction = "FxActions.SilencedShoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "muzzle_flash_silencer";
		}, 
		{
			fxAction = "FxActions.MuzzleBrakeShoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "muzzle_brake";
		}, 
		{
			fxAction = "FxActions.MuzzleBrakeShoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "ejection_port";
		}, 
		{
			fxAction = "FxActions.EnterReload";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload";
		}, 
		{
			fxAction = "FxActions.ExitReload";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload";
		}, 
		{
			fxAction = "FxActions.EnterReload";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.ExitReload";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.EnterNoAmmo";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.ExitNoAmmo";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.EnterLowAmmo";
			fxActionType = "FxActionTypes.Start";
			fxName = "low_ammo_diode";
		}, 
		{
			fxAction = "FxActions.ExitLowAmmo";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "low_ammo_diode";
		}
	];
}

PowerBaseNPCSet : WeaponVFXSet
{
	actions = 
	[
		{
			fxAction = "FxActions.Shoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "muzzle_flash_tpp";
		}, 
		{
			fxAction = "FxActions.Shoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "muzzle_flash_lights_tpp";
		}, 
		{
			fxAction = "FxActions.Shoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "muzzle_flash_tpp";
		}, 
		{
			fxAction = "FxActions.ExitShoot";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "muzzle_flash_tpp";
		}, 
		{
			fxAction = "FxActions.ExitShoot";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "muzzle_flash_lights_tpp";
		}, 
		{
			fxAction = "FxActions.SilencedShoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "muzzle_flash_silencer";
		}, 
		{
			fxAction = "FxActions.MuzzleBrakeShoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "muzzle_brake";
		}, 
		{
			fxAction = "FxActions.MuzzleBrakeShoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "ejection_port";
		}, 
		{
			fxAction = "FxActions.EnterReload";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload";
		}, 
		{
			fxAction = "FxActions.ExitReload";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload";
		}, 
		{
			fxAction = "FxActions.EnterReload";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.ExitReload";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.EnterNoAmmo";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.ExitNoAmmo";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload_diode";
		}
	];
}

PowerHandgun : PowerWeaponBase
{
	vfx_hitscan_trail = "base\fx\weapons\trails\power\w_trail_power_pistol.effect";
	vfx_hitscan_trail_thermal = "base\fx\weapons\trails\power\thermal\w_trail_thermal_power_pistol.effect";
	vfx_hitscan_trail_electric = "base\fx\weapons\trails\power\electric\w_trail_electric_power_pistol.effect";
	vfx_hitscan_trail_chemical = "base\fx\weapons\trails\power\chemical\w_trail_chemical_power_pistol.effect";
	NPC_vfx_hitscan_trail = "base\fx\weapons\trails\power\w_trail_power_pistol_npc.effect";
	NPC_vfx_hitscan_trail_thermal = "base\fx\weapons\trails\power\thermal\w_trail_thermal_power_pistol_npc.effect";
	NPC_vfx_hitscan_trail_electric = "base\fx\weapons\trails\power\electric\w_trail_electric_power_pistol_npc.effect";
	NPC_vfx_hitscan_trail_chemical = "base\fx\weapons\trails\power\chemical\w_trail_chemical_power_pistol_npc.effect";
}

PowerRevolver : PowerHandgun
{
}

PowerSMG : PowerHandgun
{
}

PowerRifleAssault : PowerWeaponBase
{
	vfx_hitscan_trail = "base\fx\weapons\trails\power\w_trail_power_rifle_assault.effect";
	vfx_hitscan_trail_thermal = "base\fx\weapons\trails\power\thermal\w_trail_thermal_power_rifle.effect";
	vfx_hitscan_trail_electric = "base\fx\weapons\trails\power\electric\w_trail_electric_power_rifle.effect";
	vfx_hitscan_trail_chemical = "base\fx\weapons\trails\power\chemical\w_trail_chemical_power_rifle.effect";
	NPC_vfx_hitscan_trail = "base\fx\weapons\trails\power\w_trail_power_rifle_assault_npc.effect";
	NPC_vfx_hitscan_trail_thermal = "base\fx\weapons\trails\power\thermal\w_trail_thermal_power_pistol_npc.effect";
	NPC_vfx_hitscan_trail_electric = "base\fx\weapons\trails\power\electric\w_trail_electric_power_pistol_npc.effect";
	NPC_vfx_hitscan_trail_chemical = "base\fx\weapons\trails\power\chemical\w_trail_chemical_power_pistol_npc.effect";
}

PowerRiflePrecision : PowerRifleAssault
{
}

PowerRifleSniper : PowerRifleAssault
{
}

PowerLMG : PowerRifleAssault
{
}

PowerShotgun : PowerWeaponBase
{
	vfx_hitscan_trail = "base\fx\weapons\trails\power\w_trail_power_shotgun.effect";
	vfx_hitscan_trail_thermal = "base\fx\weapons\trails\power\thermal\w_trail_thermal_power_shotgun.effect";
	vfx_hitscan_trail_electric = "base\fx\weapons\trails\power\electric\w_trail_electric_power_shotgun.effect";
	vfx_hitscan_trail_chemical = "base\fx\weapons\trails\power\chemical\w_trail_chemical_power_shotgun.effect";
	NPC_vfx_hitscan_trail = "base\fx\weapons\trails\power\w_trail_power_shotgun_npc.effect";
	NPC_vfx_hitscan_trail_thermal = "base\fx\weapons\trails\power\thermal\w_trail_thermal_power_shotgun_npc.effect";
	NPC_vfx_hitscan_trail_electric = "base\fx\weapons\trails\power\electric\w_trail_electric_power_shotgun_npc.effect";
	NPC_vfx_hitscan_trail_chemical = "base\fx\weapons\trails\power\chemical\w_trail_chemical_power_shotgun_npc.effect";
	vfx_projectile_trail_name = "";
	vfx_hitscan_trail_ricochet = "base\fx\weapons\ricochet\w_ricochet_trail_shotgun.effect";
	vfx_ricochet = "base\fx\weapons\ricochet\w_ricochet_impact_shotgun.effect";
	vfx_impact_damage_thermal = "base\fx\weapons\impacts\_elemental\thermal\imp_add_on_thermal_shotgun.effect";
	vfx_impact_damage_electric = "base\fx\weapons\impacts\_elemental\electric\imp_add_on_electric_shotgun.effect";
	vfx_impact_damage_chemical = "base\fx\weapons\impacts\_elemental\chemical\imp_add_on_chemical_shotgun.effect";
	waterImpulseRadius = 0.025f;
	waterImpulseStrength = 0.00225f;
	waterImpulseFrames = 2;
	vfx_impact_default = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\default\shotgun\imp_default_norm_shg.effect"
		];
	} : MaterialFxDefault;
	vfx_impact_metal = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\shotgun\imp_metal_decal_shg.effect"
		];
	} : MaterialFxMetal;
	vfx_impact_metal_ricochet = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\shotgun\imp_metal_decal_shg.effect"
		];
	} : MaterialFxMetal;
	vfx_impact_metal_car = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal_car\shotgun\imp_metal_car_decal_shg.effect"
		];
	} : MaterialFxMetalCar;
	vfx_impact_metal_car_ricochet = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal_car\shotgun\imp_metal_car_decal_shg.effect"
		];
	} : MaterialFxMetalCar;
	vfx_impact_metal_pipe_steam = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\shotgun\imp_metal_decal_shg.effect"
		];
	} : MaterialFxMetalPipeSteam;
	vfx_impact_metal_pipe_water = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\shotgun\imp_metal_decal_shg.effect"
		];
	} : MaterialFxMetalPipeWater;
	vfx_impact_metal_catwalk = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\shotgun\imp_metal_decal_shg.effect"
		];
	} : MaterialFxMetalCatwalk;
	vfx_impact_metal_hollow = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\shotgun\imp_metal_decal_shg.effect"
		];
	} : MaterialFxMetalHollow;
	vfx_impact_metal_painted = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\shotgun\imp_metal_decal_shg.effect"
		];
	} : MaterialFxMetalPainted;
	vfx_impact_metal_road = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\shotgun\imp_metal_decal_shg.effect"
		];
	} : MaterialFxMetalRoad;
	vfx_impact_metal_semitransparent = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\shotgun\imp_metal_decal_shg.effect"
		];
	} : MaterialFxMetal;
	vfx_impact_metal_transparent = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\shotgun\imp_metal_decal_shg.effect"
		];
	} : MaterialFxMetal;
	vfx_impact_vehicle_chassis = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal_car\shotgun\imp_metal_car_decal_shg.effect"
		];
	} : MaterialFxMetalCar;
	vfx_impact_concrete = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\concrete\shotgun\imp_concrete_decal_shg.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\concrete\shotgun\imp_concrete_refl_shg.effect"
		];
	} : MaterialFxConcrete;
	vfx_impact_stone = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\concrete\shotgun\imp_concrete_decal_shg.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\concrete\shotgun\imp_concrete_refl_shg.effect"
		];
	} : MaterialFxStone;
	vfx_impact_brick = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\brick\shotgun\imp_brick_decal_shg.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\brick\shotgun\imp_brick_refl_shg.effect"
		];
	} : MaterialFxConcrete;
	vfx_impact_plaster = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\plaster\shotgun\imp_plaster_decal_shg.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\plaster\shotgun\imp_plaster_refl_shg.effect"
		];
	} : MaterialFxPlaster;
	vfx_impact_asphalt = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\concrete\shotgun\imp_concrete_decal_shg.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\concrete\shotgun\imp_concrete_refl_shg.effect"
		];
	} : MaterialFxAsphalt;
	vfx_impact_tiles = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\tiles\shotgun\imp_tiles_decal_shg.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\tiles\shotgun\imp_tiles_refl_shg.effect"
		];
	} : MaterialFxTiles;
	vfx_impact_ceramic = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\tiles\shotgun\imp_tiles_decal_shg.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\tiles\shotgun\imp_tiles_refl_shg.effect"
		];
	} : MaterialFxCeramic;
	vfx_impact_wood = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\wood\shotgun\imp_wood_decal_shg.effect"
		];
	} : MaterialFxWood;
	vfx_impact_wood_tree = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\wood\shotgun\imp_wood_decal_shg.effect"
		];
	} : MaterialFxWoodTree;
	vfx_impact_flesh = 
	{
	} : MaterialFxFlesh;
	vfx_impact_character_flesh = 
	{
		impact_main_effect = 
		[
			"base\fx\characters\_damage\impacts\character_flesh\shotgun\imp_character_flesh_shg.effect"
		];
	} : MaterialFxCharacterFlesh;
	vfx_impact_character_flesh_head = 
	{
		impact_main_effect = 
		[
			"base\fx\characters\_damage\impacts\character_flesh\shotgun\imp_character_flesh_shg.effect"
		];
	} : MaterialFxCharacterFleshHead;
	vfx_impact_character_vr = 
	{
		impact_main_effect = 
		[
			"base\fx\characters\_damage\impacts\character_vr\imp_character_flesh_small_vr.effect"
		];
	} : MaterialFxCharacterVr;
	vfx_impact_character_cyberflesh = 
	{
		impact_main_effect = 
		[
			"base\fx\characters\_damage\impacts\character_cyberflesh\shotgun\imp_character_cyberflesh_shg.effect"
		];
	} : MaterialFxCharacterCyberflesh;
	vfx_impact_cyberware_metal = 
	{
	} : MaterialFxCyberwareMetal;
	vfx_impact_cyberware_flesh = 
	{
	} : MaterialFxCyberwareFlesh;
	vfx_impact_meatbag = 
	{
	} : MaterialFxMeatbag;
	vfx_impact_meat = 
	{
	} : MaterialFxMeat;
	vfx_impact_food = 
	{
	} : MaterialFxFood;
	vfx_impact_glass = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\glass\shotgun\imp_glass_refl_shg.effect"
		];
		impact_decal = 
		[
			"base\fx\weapons\impacts\glass\shotgun\imp_glass_decal_shg.effect"
		];
	} : MaterialFxGlass;
	vfx_impact_glass_semitransparent = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\glass\shotgun\imp_glass_refl_shg.effect"
		];
		impact_decal = 
		[
			"base\fx\weapons\impacts\glass_bulletproof\shotgun\imp_glass_bulletproof_decal_shg.effect"
		];
	} : MaterialFxGlassBulletproof;
	vfx_impact_plexiglass = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\glass\shotgun\imp_glass_refl_shg.effect"
		];
		impact_decal = 
		[
			"base\fx\weapons\impacts\glass\shotgun\imp_glass_decal_shg.effect"
		];
	} : MaterialFxPlexiglass;
	vfx_impact_glass_car = 
	{
	} : MaterialFxGlassCar;
	vfx_impact_glass_electronics = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\glass\shotgun\imp_glass_decal_shg.effect"
		];
	} : MaterialFxGlassElectronics;
	vfx_impact_glass_bulletproof = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\glass\shotgun\imp_glass_refl_shg.effect"
		];
		impact_decal = 
		[
			"base\fx\weapons\impacts\glass_bulletproof\shotgun\imp_glass_bulletproof_decal_shg.effect"
		];
	} : MaterialFxGlassBulletproof;
	vfx_impact_glass_opaque = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\glass\shotgun\imp_glass_refl_shg.effect"
		];
		impact_decal = 
		[
			"base\fx\weapons\impacts\glass_bulletproof\shotgun\imp_glass_bulletproof_decal_shg.effect"
		];
	} : MaterialFxGlassBulletproof;
	vfx_impact_glass_dst = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\glass\shotgun\imp_glass_refl_shg.effect"
		];
		impact_decal = [];
	} : MaterialFxGlass;
	vfx_impact_neon = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\neon\shotgun\imp_neon_refl_shg.effect"
		];
	} : MaterialFxNeon;
	vfx_impact_plastic = 
	{
	} : MaterialFxPlastic;
	vfx_impact_plastic_electronics = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\plastic_electronics\shotgun\imp_plastic_electronics_refl_shg.effect"
		];
	} : MaterialFxPlasticElectronics;
	vfx_impact_plastic_road = 
	{
	} : MaterialFxPlasticRoad;
	vfx_impact_trash_bag = 
	{
	} : MaterialFxTrashBag;
	vfx_impact_trash = 
	{
	} : MaterialFxTrash;
	vfx_impact_plastic_car = 
	{
	} : MaterialFxPlasticCar;
	vfx_impact_rubber = 
	{
	} : MaterialFxRubber;
	vfx_impact_linoleum = 
	{
	} : MaterialFxLinoleum;
	vfx_impact_tire_car = 
	{
	} : MaterialFxTireCar;
	vfx_impact_paper = 
	{
	} : MaterialFxPaper;
	vfx_impact_cardboard = 
	{
	} : MaterialFxCardboard;
	vfx_impact_fabrics = 
	{
	} : MaterialFxFabrics;
	vfx_impact_carpet = 
	{
	} : MaterialFxCarpet;
	vfx_impact_furniture_leather = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\furniture_leather\shotgun\imp_furniture_leather_refl_shg.effect"
		];
	} : MaterialFxFurnitureLeather;
	vfx_impact_furniture_upholstery = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\furniture_leather\shotgun\imp_furniture_leather_refl_shg.effect"
		];
	} : MaterialFxFurnitureUpholstery;
	vfx_impact_leather = 
	{
	} : MaterialFxLeather;
	vfx_impact_upholstery_car = 
	{
	} : MaterialFxUpholsteryCar;
	vfx_impact_sand = 
	{
	} : MaterialFxSand;
	vfx_impact_dirt = 
	{
	} : MaterialFxDirt;
	vfx_impact_grass = 
	{
	} : MaterialFxGrass;
	vfx_impact_leaves = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\leaves\shotgun\imp_leaves_refl_shg.effect"
		];
	} : MaterialFxLeaves;
	vfx_impact_leaves_semitransparent = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\leaves\shotgun\imp_leaves_refl_shg.effect"
		];
	} : MaterialFxLeaves;
	vfx_impact_water = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\water\shotgun\imp_water_refl_shg.effect"
		];
	} : MaterialFxWater;
	vfx_impact_mud = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\mud\shotgun\imp_mud_refl_shg.effect"
		];
	} : MaterialFxMud;
	vfx_impact_concrete_water_puddles = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\concrete_water_puddles\shotgun\imp_concrete_water_puddles_decal_shg.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\concrete_water_puddles\shotgun\imp_concrete_water_puddles_refl_shg.effect"
		];
	} : MaterialFxConcreteWaterPuddles;
}

PowerShotgunDual : PowerShotgun
{
}

PowerLargeCaliber : PowerWeaponBase
{
	vfx_hitscan_trail = "base\fx\weapons\trails\power\w_trail_power_hmg.effect";
	vfx_hitscan_trail_thermal = "base\fx\weapons\trails\power\thermal\w_trail_thermal_power_hmg.effect";
	vfx_hitscan_trail_electric = "base\fx\weapons\trails\power\electric\w_trail_electric_power_hmg.effect";
	vfx_hitscan_trail_chemical = "base\fx\weapons\trails\power\chemical\w_trail_chemical_power_hmg.effect";
	NPC_vfx_hitscan_trail = "base\fx\weapons\trails\power\w_trail_power_hmg_npc.effect";
	NPC_vfx_hitscan_trail_thermal = "base\fx\weapons\trails\power\thermal\w_trail_thermal_power_hmg_npc.effect";
	NPC_vfx_hitscan_trail_electric = "base\fx\weapons\trails\power\electric\w_trail_electric_power_hmg_npc.effect";
	NPC_vfx_hitscan_trail_chemical = "base\fx\weapons\trails\power\chemical\w_trail_chemical_power_hmg_npc.effect";
	waterImpulseRadius = 0.04f;
	waterImpulseStrength = 0.004f;
	waterImpulseFrames = 2;
	vfx_impact_metal = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
	} : MaterialFxMetal;
	vfx_impact_metal_ricochet = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
	} : MaterialFxMetal;
	vfx_impact_metal_car = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal_car\large_cal\imp_metal_car_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
	} : MaterialFxMetalCar;
	vfx_impact_metal_car_ricochet = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal_car\large_cal\imp_metal_car_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
	} : MaterialFxMetalCar;
	vfx_impact_metal_pipe_steam = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
	} : MaterialFxMetalPipeSteam;
	vfx_impact_metal_pipe_water = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
	} : MaterialFxMetalPipeWater;
	vfx_impact_metal_catwalk = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
	} : MaterialFxMetalCatwalk;
	vfx_impact_metal_hollow = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
	} : MaterialFxMetalHollow;
	vfx_impact_metal_painted = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
	} : MaterialFxMetalPainted;
	vfx_impact_metal_road = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
	} : MaterialFxMetalRoad;
	vfx_impact_metal_semitransparent = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
	} : MaterialFxMetal;
	vfx_impact_metal_transparent = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
	} : MaterialFxMetal;
	vfx_impact_vehicle_chassis = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal_car\large_cal\imp_metal_car_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
	} : MaterialFxMetalCar;
	vfx_impact_concrete = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\concrete\large_cal\imp_concrete_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\concrete\large_cal\imp_concrete_refl_lc.effect"
		];
	} : MaterialFxConcrete;
	vfx_impact_stone = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\concrete\large_cal\imp_concrete_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\concrete\large_cal\imp_concrete_refl_lc.effect"
		];
	} : MaterialFxStone;
	vfx_impact_brick = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\brick\large_cal\imp_brick_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\brick\large_cal\imp_brick_refl_lc.effect"
		];
	} : MaterialFxBrick;
	vfx_impact_plaster = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\plaster\large_cal\imp_plaster_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\plaster\large_cal\imp_plaster_refl_lc.effect"
		];
	} : MaterialFxPlaster;
	vfx_impact_asphalt = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\concrete\large_cal\imp_concrete_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\concrete\large_cal\imp_concrete_refl_lc.effect"
		];
	} : MaterialFxAsphalt;
	vfx_impact_tiles = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\tiles\large_cal\imp_tiles_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\tiles\large_cal\imp_tiles_refl_lc.effect"
		];
	} : MaterialFxTiles;
	vfx_impact_ceramic = 
	{
	} : MaterialFxCeramic;
	vfx_impact_wood = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\wood\large_cal\imp_wood_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\wood\large_cal\imp_wood_large_cal.effect"
		];
	} : MaterialFxWood;
	vfx_impact_wood_tree = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\wood\large_cal\imp_wood_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\wood\large_cal\imp_wood_large_cal.effect"
		];
	} : MaterialFxWoodTree;
	vfx_impact_wood_bamboo_poles = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\wood\large_cal\imp_wood_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\wood\large_cal\imp_wood_large_cal.effect"
		];
	} : MaterialFxWoodTree;
	vfx_impact_leaves = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\leaves\large_cal\imp_leaves_refl_lc.effect"
		];
	} : MaterialFxLeaves;
	vfx_impact_leaves_semitransparent = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\leaves\large_cal\imp_leaves_refl_lc.effect"
		];
	} : MaterialFxLeaves;
	vfx_impact_wood_crown = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\leaves\large_cal\imp_leaves_refl_lc.effect"
		];
	} : MaterialFxLeaves;
	vfx_impact_wood_hedge = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\leaves\large_cal\imp_leaves_refl_lc.effect"
		];
	} : MaterialFxLeaves;
	vfx_impact_flesh = 
	{
	} : MaterialFxFlesh;
	vfx_impact_character_flesh = 
	{
		impact_main_effect = 
		[
			"base\fx\characters\_damage\impacts\imp_character_flesh_large.effect"
		];
	} : MaterialFxCharacterFlesh;
	vfx_impact_character_flesh_head = 
	{
	} : MaterialFxCharacterFleshHead;
	vfx_impact_character_vr = 
	{
		impact_main_effect = 
		[
			"base\fx\characters\_damage\impacts\character_vr\imp_character_flesh_large_vr.effect"
		];
	} : MaterialFxCharacterVr;
	vfx_impact_character_cyberflesh = 
	{
		impact_main_effect = 
		[
			"base\fx\characters\_damage\impacts\character_cyberflesh\imp_character_flesh_large_cyberflesh.effect"
		];
	} : MaterialFxCharacterCyberflesh;
	vfx_impact_cyberware_metal = 
	{
	} : MaterialFxCyberwareMetal;
	vfx_impact_cyberware_flesh = 
	{
	} : MaterialFxCyberwareFlesh;
	vfx_impact_meatbag = 
	{
	} : MaterialFxMeatbag;
	vfx_impact_meat = 
	{
	} : MaterialFxMeat;
	vfx_impact_food = 
	{
	} : MaterialFxFood;
	vfx_impact_glass = 
	{
	} : MaterialFxGlass;
	vfx_impact_glass_semitransparent = 
	{
	} : MaterialFxGlassSemitransparent;
	vfx_impact_plexiglass = 
	{
	} : MaterialFxPlexiglass;
	vfx_impact_glass_car = 
	{
	} : MaterialFxGlassCar;
	vfx_impact_glass_electronics = 
	{
	} : MaterialFxGlassElectronics;
	vfx_impact_plastic = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\plastic\large_cal\imp_plastic_decal_lc.effect"
		];
	} : MaterialFxPlastic;
	vfx_impact_plastic_electronics = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\plastic\large_cal\imp_plastic_decal_lc.effect"
		];
	} : MaterialFxPlasticElectronics;
	vfx_impact_plastic_road = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\plastic\large_cal\imp_plastic_decal_lc.effect"
		];
	} : MaterialFxPlasticRoad;
	vfx_impact_trash_bag = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\plastic\large_cal\imp_plastic_decal_lc.effect"
		];
	} : MaterialFxTrashBag;
	vfx_impact_trash = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\plastic\large_cal\imp_plastic_decal_lc.effect"
		];
	} : MaterialFxTrash;
	vfx_impact_plastic_car = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\plastic_car\large_cal\imp_plastic_car_decal_lc.effect"
		];
	} : MaterialFxPlasticCar;
	vfx_impact_rubber = 
	{
	} : MaterialFxRubber;
	vfx_impact_linoleum = 
	{
	} : MaterialFxLinoleum;
	vfx_impact_tire_car = 
	{
	} : MaterialFxTireCar;
	vfx_impact_paper = 
	{
	} : MaterialFxPaper;
	vfx_impact_cardboard = 
	{
	} : MaterialFxCardboard;
	vfx_impact_fabrics = 
	{
	} : MaterialFxFabrics;
	vfx_impact_carpet = 
	{
	} : MaterialFxCarpet;
	vfx_impact_furniture_leather = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\furniture_leather\large_cal\imp_furniture_leather_refl_lc.effect"
		];
	} : MaterialFxFurnitureLeather;
	vfx_impact_furniture_upholstery = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\furniture_leather\large_cal\imp_furniture_leather_refl_lc.effect"
		];
	} : MaterialFxFurnitureUpholstery;
	vfx_impact_leather = 
	{
	} : MaterialFxLeather;
	vfx_impact_upholstery_car = 
	{
	} : MaterialFxUpholsteryCar;
	vfx_impact_dirt = 
	{
		impact_decal = [];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\dirt\large_cal\imp_dirt_refl_lc.effect"
		];
	} : MaterialFxDirt;
	vfx_impact_sand = 
	{
		impact_decal = [];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\sand\large_cal\imp_sand_refl_lc.effect"
		];
	} : MaterialFxSand;
	vfx_impact_grass = 
	{
		impact_decal = [];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\leaves\large_cal\imp_leaves_refl_lc.effect"
		];
	} : MaterialFxGrass;
	vfx_impact_water = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\water\large_cal\imp_water_refl_lc.effect"
		];
	} : MaterialFxWater;
	vfx_impact_concrete_water_puddles = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\concrete_water_puddles\large_cal\imp_concrete_water_puddles_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\concrete_water_puddles\large_cal\imp_concrete_water_puddles_refl_lc.effect"
		];
	} : MaterialFxConcreteWaterPuddles;
}

PowerLargeCaliberPiercing : PowerWeaponBase
{
	vfx_hitscan_trail = "base\fx\weapons\trails\power\w_trail_power_hmg.effect";
	vfx_hitscan_trail_thermal = "base\fx\weapons\trails\power\thermal\w_trail_thermal_power_hmg.effect";
	vfx_hitscan_trail_electric = "base\fx\weapons\trails\power\electric\w_trail_electric_power_hmg.effect";
	vfx_hitscan_trail_chemical = "base\fx\weapons\trails\power\chemical\w_trail_chemical_power_hmg.effect";
	NPC_vfx_hitscan_trail = "base\fx\weapons\trails\power\w_trail_power_hmg_npc.effect";
	NPC_vfx_hitscan_trail_thermal = "base\fx\weapons\trails\power\thermal\w_trail_thermal_power_hmg_npc.effect";
	NPC_vfx_hitscan_trail_electric = "base\fx\weapons\trails\power\electric\w_trail_electric_power_hmg_npc.effect";
	NPC_vfx_hitscan_trail_chemical = "base\fx\weapons\trails\power\chemical\w_trail_chemical_power_hmg_npc.effect";
	waterImpulseRadius = 0.04f;
	waterImpulseStrength = 0.004f;
	waterImpulseFrames = 2;
	vfx_impact_metal = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxMetal;
	vfx_impact_metal_ricochet = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxMetal;
	vfx_impact_metal_car = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal_car\large_cal\imp_metal_car_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxMetalCar;
	vfx_impact_metal_car_ricochet = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal_car\large_cal\imp_metal_car_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxMetalCar;
	vfx_impact_metal_pipe_steam = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxMetalPipeSteam;
	vfx_impact_metal_pipe_water = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxMetalPipeWater;
	vfx_impact_metal_catwalk = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxMetalCatwalk;
	vfx_impact_metal_hollow = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxMetalHollow;
	vfx_impact_metal_painted = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxMetalPainted;
	vfx_impact_metal_road = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxMetalRoad;
	vfx_impact_metal_semitransparent = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxMetal;
	vfx_impact_metal_transparent = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxMetal;
	vfx_impact_vehicle_chassis = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\metal_car\large_cal\imp_metal_car_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\metal\large_cal\imp_metal_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxMetalCar;
	vfx_impact_concrete = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\concrete\large_cal\imp_concrete_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\concrete\large_cal\imp_concrete_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxConcrete;
	vfx_impact_stone = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\concrete\large_cal\imp_concrete_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\concrete\large_cal\imp_concrete_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxStone;
	vfx_impact_brick = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\brick\large_cal\imp_brick_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\brick\large_cal\imp_brick_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxBrick;
	vfx_impact_plaster = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\plaster\large_cal\imp_plaster_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\plaster\large_cal\imp_plaster_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxPlaster;
	vfx_impact_asphalt = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\concrete\large_cal\imp_concrete_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\concrete\large_cal\imp_concrete_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxAsphalt;
	vfx_impact_tiles = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\tiles\large_cal\imp_tiles_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\tiles\large_cal\imp_tiles_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxTiles;
	vfx_impact_ceramic = 
	{
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxCeramic;
	vfx_impact_wood = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\wood\large_cal\imp_wood_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\wood\large_cal\imp_wood_large_cal.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxWood;
	vfx_impact_wood_tree = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\wood\large_cal\imp_wood_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\wood\large_cal\imp_wood_large_cal.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxWoodTree;
	vfx_impact_wood_bamboo_poles = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\wood\large_cal\imp_wood_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\wood\large_cal\imp_wood_large_cal.effect"
		];
	} : MaterialFxWoodTree;
	vfx_impact_leaves = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\leaves\large_cal\imp_leaves_refl_lc.effect"
		];
	} : MaterialFxLeaves;
	vfx_impact_leaves_semitransparent = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\leaves\large_cal\imp_leaves_refl_lc.effect"
		];
	} : MaterialFxLeaves;
	vfx_impact_wood_crown = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\leaves\large_cal\imp_leaves_refl_lc.effect"
		];
	} : MaterialFxLeaves;
	vfx_impact_wood_hedge = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\leaves\large_cal\imp_leaves_refl_lc.effect"
		];
	} : MaterialFxLeaves;
	vfx_impact_flesh = 
	{
	} : MaterialFxFlesh;
	vfx_impact_character_flesh = 
	{
		impact_main_effect = 
		[
			"base\fx\characters\_damage\impacts\imp_character_flesh_large.effect"
		];
	} : MaterialFxCharacterFlesh;
	vfx_impact_character_flesh_head = 
	{
	} : MaterialFxCharacterFleshHead;
	vfx_impact_character_vr = 
	{
		impact_main_effect = 
		[
			"base\fx\characters\_damage\impacts\character_vr\imp_character_flesh_large_vr.effect"
		];
	} : MaterialFxCharacterVr;
	vfx_impact_character_cyberflesh = 
	{
		impact_main_effect = 
		[
			"base\fx\characters\_damage\impacts\character_cyberflesh\imp_character_flesh_large_cyberflesh.effect"
		];
	} : MaterialFxCharacterCyberflesh;
	vfx_impact_cyberware_metal = 
	{
	} : MaterialFxCyberwareMetal;
	vfx_impact_cyberware_flesh = 
	{
	} : MaterialFxCyberwareFlesh;
	vfx_impact_meatbag = 
	{
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxMeatbag;
	vfx_impact_meat = 
	{
	} : MaterialFxMeat;
	vfx_impact_food = 
	{
	} : MaterialFxFood;
	vfx_impact_glass = 
	{
	} : MaterialFxGlass;
	vfx_impact_glass_semitransparent = 
	{
	} : MaterialFxGlassSemitransparent;
	vfx_impact_plexiglass = 
	{
	} : MaterialFxPlexiglass;
	vfx_impact_glass_car = 
	{
	} : MaterialFxGlassCar;
	vfx_impact_glass_electronics = 
	{
	} : MaterialFxGlassElectronics;
	vfx_impact_plastic = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\plastic\large_cal\imp_plastic_decal_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxPlastic;
	vfx_impact_plastic_electronics = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\plastic\large_cal\imp_plastic_decal_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxPlasticElectronics;
	vfx_impact_plastic_road = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\plastic\large_cal\imp_plastic_decal_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxPlasticRoad;
	vfx_impact_trash_bag = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\plastic\large_cal\imp_plastic_decal_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxTrashBag;
	vfx_impact_trash = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\plastic\large_cal\imp_plastic_decal_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxTrash;
	vfx_impact_plastic_car = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\plastic_car\large_cal\imp_plastic_car_decal_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxPlasticCar;
	vfx_impact_rubber = 
	{
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxRubber;
	vfx_impact_linoleum = 
	{
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxLinoleum;
	vfx_impact_tire_car = 
	{
	} : MaterialFxTireCar;
	vfx_impact_paper = 
	{
	} : MaterialFxPaper;
	vfx_impact_cardboard = 
	{
	} : MaterialFxCardboard;
	vfx_impact_fabrics = 
	{
	} : MaterialFxFabrics;
	vfx_impact_carpet = 
	{
	} : MaterialFxCarpet;
	vfx_impact_furniture_leather = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\furniture_leather\large_cal\imp_furniture_leather_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxFurnitureLeather;
	vfx_impact_furniture_upholstery = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\furniture_leather\large_cal\imp_furniture_leather_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxFurnitureUpholstery;
	vfx_impact_leather = 
	{
	} : MaterialFxLeather;
	vfx_impact_upholstery_car = 
	{
	} : MaterialFxUpholsteryCar;
	vfx_impact_dirt = 
	{
		impact_decal = [];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\dirt\large_cal\imp_dirt_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxDirt;
	vfx_impact_sand = 
	{
		impact_decal = [];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\sand\large_cal\imp_sand_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxSand;
	vfx_impact_grass = 
	{
		impact_decal = [];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\leaves\large_cal\imp_leaves_refl_lc.effect"
		];
	} : MaterialFxGrass;
	vfx_impact_water = 
	{
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\water\large_cal\imp_water_refl_lc.effect"
		];
	} : MaterialFxWater;
	vfx_impact_concrete_water_puddles = 
	{
		impact_decal = 
		[
			"base\fx\weapons\impacts\concrete_water_puddles\large_cal\imp_concrete_water_puddles_decal_lc.effect"
		];
		impact_reflected_effect = 
		[
			"base\fx\weapons\impacts\concrete_water_puddles\large_cal\imp_concrete_water_puddles_refl_lc.effect"
		];
		impact_pierce_decal = 
		[
			"base\fx\weapons\impacts\_common\power\imp_power_default_piercing_decal.effect"
		];
	} : MaterialFxConcreteWaterPuddles;
}

PowerLC_HMG_Invisible : PowerLargeCaliber
{
	player_vfx_set = "WeaponFxPackage.PowerLC_HMG_InvisibleSet";
	npc_vfx_set = "WeaponFxPackage.PowerLC_HMG_InvisibleNPCSet";
	vfx_projectile_trail_name = "trail";
}

PowerLC_HMG_InvisibleSet : WeaponVFXSet
{
	actions = 
	[
		{
			fxAction = "FxActions.Shoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "";
		}, 
		{
			fxAction = "FxActions.Shoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "";
		}, 
		{
			fxAction = "FxActions.EnterReload";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload";
		}, 
		{
			fxAction = "FxActions.ExitReload";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload";
		}, 
		{
			fxAction = "FxActions.EnterReload";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.ExitReload";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.EnterNoAmmo";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.ExitNoAmmo";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.EnterLowAmmo";
			fxActionType = "FxActionTypes.Start";
			fxName = "low_ammo_diode";
		}, 
		{
			fxAction = "FxActions.ExitLowAmmo";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "low_ammo_diode";
		}
	];
}

PowerLC_HMG_InvisibleNPCSet : WeaponVFXSet
{
	actions = 
	[
		{
			fxAction = "FxActions.Shoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "";
		}, 
		{
			fxAction = "FxActions.Shoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "";
		}, 
		{
			fxAction = "FxActions.EnterReload";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload";
		}, 
		{
			fxAction = "FxActions.ExitReload";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload";
		}, 
		{
			fxAction = "FxActions.EnterReload";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.ExitReload";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.EnterNoAmmo";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.ExitNoAmmo";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload_diode";
		}
	];
}

VehiclePowerWeapon : PowerLargeCaliber
{
	npc_vfx_set = "WeaponFxPackage.VehiclePowerWeaponNPCSet";
}

VehiclePowerWeaponNPCSet : WeaponVFXSet
{
	actions = 
	[
		{
			fxAction = "FxActions.Shoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "mounted_turret_power";
		}, 
		{
			fxAction = "FxActions.Shoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "muzzle_flash_lights";
		}, 
		{
			fxAction = "FxActions.SilencedShoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "muzzle_flash_silencer";
		}, 
		{
			fxAction = "FxActions.MuzzleBrakeShoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "muzzle_brake";
		}, 
		{
			fxAction = "FxActions.MuzzleBrakeShoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "ejection_port";
		}, 
		{
			fxAction = "FxActions.EnterReload";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload";
		}, 
		{
			fxAction = "FxActions.ExitReload";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload";
		}, 
		{
			fxAction = "FxActions.EnterReload";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.ExitReload";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.EnterNoAmmo";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.ExitNoAmmo";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.EnterLowAmmo";
			fxActionType = "FxActionTypes.Start";
			fxName = "low_ammo_diode";
		}, 
		{
			fxAction = "FxActions.ExitLowAmmo";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "low_ammo_diode";
		}
	];
}

VehicleMissileLauncher : PowerLargeCaliber
{
	npc_vfx_set = "WeaponFxPackage.VehicleMissileLauncherSet";
}

VehicleMissileLauncherSet : WeaponVFXSet
{
	actions = 
	[
		{
			fxAction = "FxActions.Shoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "mounted_missile";
		}, 
		{
			fxAction = "FxActions.Shoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "muzzle_flash_lights";
		}, 
		{
			fxAction = "FxActions.SilencedShoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "muzzle_flash_silencer";
		}, 
		{
			fxAction = "FxActions.MuzzleBrakeShoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "muzzle_brake";
		}, 
		{
			fxAction = "FxActions.MuzzleBrakeShoot";
			fxActionType = "FxActionTypes.Start";
			fxName = "ejection_port";
		}, 
		{
			fxAction = "FxActions.EnterReload";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload";
		}, 
		{
			fxAction = "FxActions.ExitReload";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload";
		}, 
		{
			fxAction = "FxActions.EnterReload";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.ExitReload";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.EnterNoAmmo";
			fxActionType = "FxActionTypes.Start";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.ExitNoAmmo";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "reload_diode";
		}, 
		{
			fxAction = "FxActions.EnterLowAmmo";
			fxActionType = "FxActionTypes.Start";
			fxName = "low_ammo_diode";
		}, 
		{
			fxAction = "FxActions.ExitLowAmmo";
			fxActionType = "FxActionTypes.BreakLoop";
			fxName = "low_ammo_diode";
		}
	];
}

