Files
gtav-src/script/dev_ng/shared/include/public/weapons_public.sch
T
2025-09-29 00:52:08 +02:00

9125 lines
503 KiB
Scheme
Executable File

//////////////////////////////////////////////////////////////////////////////////////////
// //
// SCRIPT NAME : weapons_public.sch //
// AUTHOR : Kenneth Ross //
// DESCRIPTION : Commands to get misc weapon details. //
// //
//////////////////////////////////////////////////////////////////////////////////////////
USING "rage_builtins.sch"
USING "globals.sch"
USING "transition_controller.sch"
USING "commands_extrametadata.sch"
USING "weapons_names_public.sch"
// !!!!!!!!!!!!WARNING!!!!! MAKE SURE YOU ADD NEW COMPONENTS TO BOTTOM OF ENUM, OR YOU WILL CORRUPT SAVE STAT!!!!!!!!!!!!!
ENUM WEAPONADDON_BITSET
WEAPONADDON_WEAPON_INVALID = 0,
WEAPONADDON_PISTOL_WEAPONCOMPONENT_PISTOL_CLIP_01,
WEAPONADDON_PISTOL_WEAPONCOMPONENT_PISTOL_CLIP_02,
WEAPONADDON_PISTOL_WEAPONCOMPONENT_AT_PI_FLSH,
WEAPONADDON_PISTOL_WEAPONCOMPONENT_AT_PI_SUPP,
WEAPONADDON_COMBATPISTOL_WEAPONCOMPONENT_COMBATPISTOL_CLIP_01,
WEAPONADDON_COMBATPISTOL_WEAPONCOMPONENT_COMBATPISTOL_CLIP_02,
WEAPONADDON_COMBATPISTOL_WEAPONCOMPONENT_AT_PI_FLSH,
WEAPONADDON_COMBATPISTOL_WEAPONCOMPONENT_AT_PI_SUPP,
WEAPONADDON_PISTOL50_WEAPONCOMPONENT_AT_PI_FLSH,
WEAPONADDON_PISTOL50_WEAPONCOMPONENT_AT_AR_SUPP_02,
WEAPONADDON_APPISTOL_WEAPONCOMPONENT_APPISTOL_CLIP_01,
WEAPONADDON_APPISTOL_WEAPONCOMPONENT_APPISTOL_CLIP_02,
WEAPONADDON_APPISTOL_WEAPONCOMPONENT_AT_PI_FLSH,
WEAPONADDON_APPISTOL_WEAPONCOMPONENT_AT_PI_SUPP,
WEAPONADDON_MICROSMG_WEAPONCOMPONENT_MICROSMG_CLIP_01,
WEAPONADDON_MICROSMG_WEAPONCOMPONENT_MICROSMG_CLIP_02,
WEAPONADDON_MICROSMG_WEAPONCOMPONENT_AT_PI_FLSH,
WEAPONADDON_MICROSMG_WEAPONCOMPONENT_AT_SCOPE_MACRO,
WEAPONADDON_MICROSMG_WEAPONCOMPONENT_AT_AR_SUPP_02 ,
WEAPONADDON_ASSAULTSMG_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_ASSAULTSMG_WEAPONCOMPONENT_AT_AR_SUPP_02,
WEAPONADDON_SMG_WEAPONCOMPONENT_SMG_CLIP_01,
WEAPONADDON_SMG_WEAPONCOMPONENT_SMG_CLIP_02,
WEAPONADDON_SMG_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_SMG_WEAPONCOMPONENT_AT_AR_SCROP_MACRO,
WEAPONADDON_SMG_WEAPONCOMPONENT_AT_PI_SUPP,
WEAPONADDON_ASSAULTRIFLE_WEAPONCOMPONENT_ASSAULTRIFLE_CLIP_01,
WEAPONADDON_ASSAULTRIFLE_WEAPONCOMPONENT_ASSAULTRIFLE_CLIP_02,
WEAPONADDON_ASSAULTRIFLE_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_ASSAULTRIFLE_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_ASSAULTRIFLE_WEAPONCOMPONENT_AT_SCOPE_MACRO,
WEAPONADDON_ASSAULTRIFLE_WEAPONCOMPONENT_AT_AR_SUPP_02,
WEAPONADDON_CARBINERIFLE_WEAPONCOMPONENT_CARBINERIFLE_CLIP_01,
WEAPONADDON_CARBINERIFLE_WEAPONCOMPONENT_CARBINERIFLE_CLIP_02,
WEAPONADDON_CARBINERIFLE_WEAPONCOMPONENT_AT_RAILCOVER_01,
WEAPONADDON_CARBINERIFLE_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_CARBINERIFLE_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_CARBINERIFLE_WEAPONCOMPONENT_AT_SCOPE_MEDIUM,
WEAPONADDON_CARBINERIFLE_WEAPONCOMPONENT_AT_AR_SUPP,
WEAPONADDON_HEAVYRIFLE_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_HEAVYRIFLE_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_HEAVYRIFLE_WEAPONCOMPONENT_AT_SCOPE_MEDIUM,
WEAPONADDON_HEAVYRIFLE_WEAPONCOMPONENT_AT_AR_SUPP,
WEAPONADDON_ADVANCEDRIFLE_WEAPONCOMPONENT_ADVANCEDRIFLE_CLIP_01,
WEAPONADDON_ADVANCEDRIFLE_WEAPONCOMPONENT_ADVANCEDRIFLE_CLIP_02,
WEAPONADDON_ADVANCEDRIFLE_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_ADVANCEDRIFLE_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_ADVANCEDRIFLE_WEAPONCOMPONENT_AT_SCOPE_SMALL,
WEAPONADDON_ADVANCEDRIFLE_WEAPONCOMPONENT_AT_AR_SUPP,
WEAPONADDON_MG_WEAPONCOMPONENT_MG_CLIP_01,
WEAPONADDON_MG_WEAPONCOMPONENT_MG_CLIP_02,
WEAPONADDON_MG_WEAPONCOMPONENT_AT_SCOPE_SMALL,
WEAPONADDON_COMBATMG_WEAPONCOMPONENT_COMBATMG_CLIP_01,
WEAPONADDON_COMBATMG_WEAPONCOMPONENT_COMBATMG_CLIP_02,
WEAPONADDON_COMBATMG_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_COMBATMG_WEAPONCOMPONENT_AT_SCOPE_MEDIUM,
WEAPONADDON_ASSAULTMG_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_ASSAULTMG_WEAPONCOMPONENT_AT_SCOPE_MEDIUM,
WEAPONADDON_PUMPSHOTGUN_WEAPONCOMPONENT_AT_SR_SUPP,
WEAPONADDON_PUMPSHOTGUN_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_BULLPUPSHOTGUN_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_BULLPUPSHOTGUN_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_BULLPUPSHOTGUN_WEAPONCOMPONENT_AT_AR_SUPP_02,
WEAPONADDON_ASSAULTSHOTGUN_WEAPONCOMPONENT_ASSAULTSHOTGUN_CLIP_01,
WEAPONADDON_ASSAULTSHOTGUN_WEAPONCOMPONENT_ASSAULTSHOTGUN_CLIP_02,
WEAPONADDON_ASSAULTSHOTGUN_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_ASSAULTSHOTGUN_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_ASSAULTSHOTGUN_WEAPONCOMPONENT_AT_AR_SUPP,
WEAPONADDON_SNIPERRIFLE_WEAPONCOMPONENT_SNIPERRIFLE_CLIP_01,
WEAPONADDON_SNIPERRIFLE_WEAPONCOMPONENT_AT_SCOPE_LARGE,
WEAPONADDON_SNIPERRIFLE_WEAPONCOMPONENT_AT_SCOPE_MAX,
WEAPONADDON_SNIPERRIFLE_WEAPONCOMPONENT_AT_AR_SUPP_02,
WEAPONADDON_ASSAULTSNIPER_WEAPONCOMPONENT_AT_SCOPE_LARGE,
WEAPONADDON_ASSAULTSNIPER_WEAPONCOMPONENT_AT_SCOPE_MAX,
WEAPONADDON_ASSAULTSNIPER_WEAPONCOMPONENT_AT_AR_SUPP,
WEAPONADDON_HEAVYSNIPER_WEAPONCOMPONENT_HEAVYSNIPER_CLIP_01,
WEAPONADDON_HEAVYSNIPER_WEAPONCOMPONENT_AT_SCOPE_MAX,
WEAPONADDON_GRENADELAUNCHER_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_GRENADELAUNCHER_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_GRENADELAUNCHER_WEAPONCOMPONENT_AT_SCOPE_SMALL,
WEAPONADDON_MINIGUN_WEAPONCOMPONENT_MINIGUN_CLIP_01,
WEAPONADDON_HEAVYSNIPER_WEAPONCOMPONENT_AT_SCOPE_LARGE,
WEAPONADDON_DLC_ASSAULTSMG_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_ASSAULTSMG_WEAPONCOMPONENT_CLIP_02,
WEAPONADDON_DLC_ASSAULTSMG_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_DLC_ASSAULTSMG_WEAPONCOMPONENT_AT_SCOPE_MACRO,
WEAPONADDON_DLC_ASSAULTSMG_WEAPONCOMPONENT_AT_AR_SUPP_02,
WEAPONADDON_DLC_BULLPUPSHOTGUN_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_DLC_BULLPUPSHOTGUN_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_DLC_BULLPUPSHOTGUN_WEAPONCOMPONENT_AT_AR_SUPP_02,
WEAPONADDON_DLC_PISTOL50_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_PISTOL50_WEAPONCOMPONENT_CLIP_02,
WEAPONADDON_DLC_PISTOL50_WEAPONCOMPONENT_AT_PI_FLSH,
WEAPONADDON_DLC_PISTOL50_WEAPONCOMPONENT_AT_AR_SUPP_02,
WEAPONADDON_DLC_ASSAULTSNIPER_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_ASSAULTSNIPER_WEAPONCOMPONENT_AT_SCOPE_LARGE,
WEAPONADDON_DLC_ASSAULTSNIPER_WEAPONCOMPONENT_AT_SCOPE_MAX,
WEAPONADDON_DLC_ASSAULTSNIPER_WEAPONCOMPONENT_AT_AR_SUPP,
WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_CLIP_02,
WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_AT_SCOPE_MEDIUM,
WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_AT_AR_SUPP,
WEAPONADDON_DLC_ASSAULTMG_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_ASSAULTMG_WEAPONCOMPONENT_CLIP_02,
WEAPONADDON_DLC_ASSAULTMG_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_DLC_ASSAULTMG_WEAPONCOMPONENT_AT_SCOPE_MEDIUM,
WEAPONADDON_DLC_PROGRAMMABLEAR_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_PROGRAMMABLEAR_WEAPONCOMPONENT_CLIP_02,
WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_CLIP_02,
WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_AT_SCOPE_MEDIUM,
WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_AT_AR_SUPP_02,
WEAPONADDON_DLC_SNSPISTOL_WEAPONCOMPONENT_PISTOL_CLIP_01,
WEAPONADDON_DLC_SNSPISTOL_WEAPONCOMPONENT_PISTOL_CLIP_02,
WEAPONADDON_DLC_SNSPISTOL_WEAPONCOMPONENT_AT_PI_FLSH,
WEAPONADDON_DLC_SNSPISTOL_WEAPONCOMPONENT_AT_PI_SUPP,
// DLC BUSINESS
WEAPONADDON_DLC_HEAVYPISTOL_WEAPONCOMPONENT_PISTOL_CLIP_01,
WEAPONADDON_DLC_HEAVYPISTOL_WEAPONCOMPONENT_PISTOL_CLIP_02,
WEAPONADDON_DLC_HEAVYPISTOL_WEAPONCOMPONENT_AT_PI_FLSH,
WEAPONADDON_DLC_HEAVYPISTOL_WEAPONCOMPONENT_AT_PI_SUPP,
// DLC VALENTINE
WEAPONADDON_DLC_GUSENBERG_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_GUSENBERG_WEAPONCOMPONENT_CLIP_02,
WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_AT_AR_SUPP,
WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_AT_SCOPE_SMALL,
WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_CLIP_02,
//DLC HIPSTER
WEAPONADDON_DLC_VINTAGEPISTOL_WEAPONCOMPONENT_PISTOL_CLIP_01,
WEAPONADDON_DLC_VINTAGEPISTOL_WEAPONCOMPONENT_PISTOL_CLIP_02,
WEAPONADDON_DLC_VINTAGEPISTOL_WEAPONCOMPONENT_AT_PI_FLSH,
WEAPONADDON_DLC_VINTAGEPISTOL_WEAPONCOMPONENT_AT_PI_SUPP,
// NEXT GEN
WEAPONADDON_DLC_HEAVYSHOTGUN_WEAPONCOMPONENT_SHOTGUN_CLIP_01,
WEAPONADDON_DLC_MARKSMANRIFLE_WEAPONCOMPONENT_RIFLE_CLIP_01,
WEAPONADDON_DLC_MARKSMANRIFLE_WEAPONCOMPONENT_RIFLE_CLIP_02,
WEAPONADDON_DLC_HEAVYSHOTGUN_WEAPONCOMPONENT_SHOTGUN_CLIP_02,
WEAPONADDON_DLC_MARKSMANRIFLE_AT_SCOPE_LARGE_FIXED_ZOOM,
WEAPONADDON_DLC_MARKSMANRIFLE_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_DLC_MARKSMANRIFLE_WEAPONCOMPONENT_AT_AR_SUPP_02,
WEAPONADDON_DLC_MARKSMANRIFLE_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_DLC_HEAVYSHOTGUN_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_DLC_HEAVYSHOTGUN_WEAPONCOMPONENT_AT_AR_SUPP_02,
WEAPONADDON_DLC_HEAVYSHOTGUN_WEAPONCOMPONENT_AT_AR_AFGRIP,
// LUX
WEAPONADDON_DLC_MARKSMANPISTOL_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_COMBATPDW_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_COMBATPDW_WEAPONCOMPONENT_CLIP_02,
WEAPONADDON_DLC_COMBATPDW_WEAPONCOMPONENT_AT_AR_FLSH,
WEAPONADDON_DLC_COMBATPDW_WEAPONCOMPONENT_AT_SCOPE_MACRO,
WEAPONADDON_DLC_COMBATPDW_WEAPONCOMPONENT_AT_AR_AFGRIP,
WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_PIMP ,
WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_BALLAS ,
WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_HUSTLER ,
WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_ROCK ,
WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_HATER ,
WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_LOVER ,
WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_PLAYER ,
WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_KING ,
WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_VAGOS ,
WEAPONADDON_DLC_ADVANCEDRIFLE_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_APPISTOL_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_ASSAULTRIFLE_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_ASSAULTSHOTGUN_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_CARBINERIFLE_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_COMBATMG_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_COMBATPISTOL_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_HEAVYPISTOL_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_MARKSMANRIFLE_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_MG_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_MICROSMG_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_PISTOL_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_PISTOL50_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_PUMPSHOTGUN_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_SAWNOFFSHOTGUN_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_SMG_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_SNIPERRIFLE_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_SNSPISTOL_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_VARMOD_LUXE,
WEAPONADDON_DLC_MACHINEPISTOL_WEAPONCOMPONENT_AT_PI_SUPP,
WEAPONADDON_DLC_MACHINEPISTOL_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_MACHINEPISTOL_WEAPONCOMPONENT_CLIP_02,
WEAPONADDON_COMBATPISTOL_WEAPONCOMPONENT_VARMOD_LOWRIDER,
WEAPONADDON_MG_WEAPONCOMPONENT_VARMOD_LOWRIDER,
WEAPONADDON_COMBATMG_WEAPONCOMPONENT_VARMOD_LOWRIDER,
WEAPONADDON_DLC_ASSAULTSMG_WEAPONCOMPONENT_VARMOD_LOWRIDER,
WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_VARMOD_LOWRIDER,
WEAPONADDON_DLC_SNSPISTOL_WEAPONCOMPONENT_VARMOD_LOWRIDER,
WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_VARMOD_LOWRIDER,
WEAPONADDON_PUMPSHOTGUN_WEAPONCOMPONENT_VARMOD_LOWRIDER,
// APARTMENT
WEAPONADDON_DLC_SWITCHBLADE_WEAPONCOMPONENT_VAR1,
WEAPONADDON_DLC_SWITCHBLADE_WEAPONCOMPONENT_VAR2,
WEAPONADDON_DLC_REVOLVER_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_REVOLVER_WEAPONCOMPONENT_VARMOD_BOSS,
WEAPONADDON_DLC_REVOLVER_WEAPONCOMPONENT_VARMOD_GOON,
//Lowrider2
WEAPONADDON_DLC_COMPACTRIFLE_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_COMPACTRIFLE_WEAPONCOMPONENT_CLIP_02,
//EXECUTIVES
WEAPONADDON_DLC_ASSAULTRIFLE_WEAPONCOMPONENT_CLIP_03,
WEAPONADDON_DLC_CARBINERIFLE_WEAPONCOMPONENT_CLIP_03,
WEAPONADDON_DLC_COMBATPDW_WEAPONCOMPONENT_CLIP_03,
WEAPONADDON_DLC_COMPACTRIFLE_WEAPONCOMPONENT_CLIP_03,
WEAPONADDON_DLC_HEAVYSHOTGUN_WEAPONCOMPONENT_CLIP_03,
WEAPONADDON_DLC_MACHINEPISTOL_WEAPONCOMPONENT_CLIP_03,
WEAPONADDON_DLC_SMG_WEAPONCOMPONENT_CLIP_03,
WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_CLIP_03,
//BIKER
WEAPONADDON_DLC_MINISMG_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_MINISMG_WEAPONCOMPONENT_CLIP_02,
// GUNRUNNING
WEAPONADDON_DLC_PISTOL_WEAPONCOMPONENT_VARMOD_GUNRUN,
WEAPONADDON_DLC_SMG_WEAPONCOMPONENT_VARMOD_GUNRUN,
WEAPONADDON_DLC_ASSAULTRIFLE_WEAPONCOMPONENT_VARMOD_GUNRUN,
WEAPONADDON_DLC_CARBINERIFLE_WEAPONCOMPONENT_VARMOD_GUNRUN,
WEAPONADDON_DLC_COMBATMG_WEAPONCOMPONENT_VARMOD_GUNRUN,
WEAPONADDON_DLC_HEAVYSNIPER_WEAPONCOMPONENT_VARMOD_GUNRUN,
WEAPONADDON_DLC_PISTOL_MK2_CLIP_01,
WEAPONADDON_DLC_PISTOL_MK2_CLIP_02,
WEAPONADDON_DLC_PISTOL_MK2_CLIP_FMJ,
WEAPONADDON_DLC_PISTOL_MK2_CLIP_HOLLOWPOINT,
WEAPONADDON_DLC_PISTOL_MK2_CLIP_INCENDIARY,
WEAPONADDON_DLC_PISTOL_MK2_CLIP_TRACER,
WEAPONADDON_DLC_PISTOL_MK2_AT_PI_FLSH,
WEAPONADDON_DLC_PISTOL_MK2_AT_PI_RAIL,
WEAPONADDON_DLC_PISTOL_MK2_AT_PI_SUPP_02,
WEAPONADDON_DLC_PISTOL_MK2_AT_PI_COMP,
WEAPONADDON_DLC_SMG_MK2_CLIP_01,
WEAPONADDON_DLC_SMG_MK2_CLIP_02,
WEAPONADDON_DLC_SMG_MK2_CLIP_FMJ,
WEAPONADDON_DLC_SMG_MK2_CLIP_HOLLOWPOINT,
WEAPONADDON_DLC_SMG_MK2_CLIP_INCENDIARY,
WEAPONADDON_DLC_SMG_MK2_CLIP_TRACER,
WEAPONADDON_DLC_SMG_MK2_AT_AR_FLSH,
WEAPONADDON_DLC_SMG_MK2_AT_SIGHTS,
WEAPONADDON_DLC_SMG_MK2_AT_SCOPE_MACRO_02_MK2,
WEAPONADDON_DLC_SMG_MK2_AT_SCOPE_SMALL_MK2,
WEAPONADDON_DLC_SMG_MK2_AT_PI_SUPP,
WEAPONADDON_DLC_SMG_MK2_AT_MUZZLE_01,
WEAPONADDON_DLC_SMG_MK2_AT_MUZZLE_02,
WEAPONADDON_DLC_SMG_MK2_AT_MUZZLE_03,
WEAPONADDON_DLC_SMG_MK2_AT_MUZZLE_04,
WEAPONADDON_DLC_SMG_MK2_AT_MUZZLE_05,
WEAPONADDON_DLC_SMG_MK2_AT_MUZZLE_06,
WEAPONADDON_DLC_SMG_MK2_AT_MUZZLE_07,
WEAPONADDON_DLC_SMG_MK2_AT_SB_BARREL_01,
WEAPONADDON_DLC_SMG_MK2_AT_SB_BARREL_02,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CLIP_01,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CLIP_02,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CLIP_FMJ,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CLIP_INCENDIARY,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_SCOPE_LARGE,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_SCOPE_MAX,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_SCOPE_NV,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_SCOPE_THERMAL,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_COMPONENT_AT_SR_SUPP_03,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_MUZZLE_08,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_MUZZLE_09,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_SR_BARREL_01,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_SR_BARREL_02,
WEAPONADDON_DLC_COMBATMG_MK2_CLIP_01,
WEAPONADDON_DLC_COMBATMG_MK2_CLIP_02,
WEAPONADDON_DLC_COMBATMG_MK2_CLIP_ARMORPIERCING,
WEAPONADDON_DLC_COMBATMG_MK2_CLIP_FMJ,
WEAPONADDON_DLC_COMBATMG_MK2_CLIP_INCENDIARY,
WEAPONADDON_DLC_COMBATMG_MK2_CLIP_TRACER,
WEAPONADDON_DLC_COMBATMG_MK2_AT_AR_AFGRIP,
WEAPONADDON_DLC_COMBATMG_MK2_AT_SIGHTS,
WEAPONADDON_DLC_COMBATMG_MK2_AT_SCOPE_SMALL_MK2,
WEAPONADDON_DLC_COMBATMG_MK2_AT_SCOPE_MEDIUM,
WEAPONADDON_DLC_COMBATMG_MK2_AT_MUZZLE_01,
WEAPONADDON_DLC_COMBATMG_MK2_AT_MUZZLE_02,
WEAPONADDON_DLC_COMBATMG_MK2_AT_MUZZLE_03,
WEAPONADDON_DLC_COMBATMG_MK2_AT_MUZZLE_04,
WEAPONADDON_DLC_COMBATMG_MK2_AT_MUZZLE_05,
WEAPONADDON_DLC_COMBATMG_MK2_AT_MUZZLE_06,
WEAPONADDON_DLC_COMBATMG_MK2_AT_MUZZLE_07,
WEAPONADDON_DLC_COMBATMG_MK2_AT_SB_BARREL_01,
WEAPONADDON_DLC_COMBATMG_MK2_AT_SB_BARREL_02,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CLIP_01,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CLIP_02,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CLIP_FMJ,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CLIP_INCENDIARY,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CLIP_TRACER,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_AR_AFGRIP,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_AR_FLSH,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_SIGHTS,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_SCOPE_MACRO_MK2,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_SCOPE_MEDIUM_MK2,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_AR_SUPP_02,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_MUZZLE_01,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_MUZZLE_02,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_MUZZLE_03,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_MUZZLE_04,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_MUZZLE_05,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_MUZZLE_06,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_MUZZLE_07,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_AR_BARREL_01,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_AR_BARREL_02,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CLIP_01,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CLIP_02,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CLIP_ARMORPIERCING,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CLIP_FMJ,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CLIP_INCENDIARY,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CLIP_TRACER,
WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_AR_AFGRIP,
WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_AR_FLSH,
WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_SIGHTS,
WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_SCOPE_MACRO_MK2,
WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_SCOPE_MEDIUM_MK2,
WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_AR_SUPP_02,
WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_MUZZLE_01,
WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_MUZZLE_02,
WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_MUZZLE_03,
WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_MUZZLE_04,
WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_MUZZLE_05,
WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_MUZZLE_06,
WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_MUZZLE_07,
WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_CR_BARREL_01,
WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_CR_BARREL_02,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO ,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_02 ,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_03 ,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_04 ,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_05 ,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_06 ,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_07 ,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_08 ,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_09 ,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_10 ,
WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_IND_01 ,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO ,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_02 ,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_03 ,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_04 ,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_05 ,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_06 ,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_07 ,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_08 ,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_09 ,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_10 ,
WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_IND_01 ,
WEAPONADDON_DLC_COMBATMG_MK2_CAMO ,
WEAPONADDON_DLC_COMBATMG_MK2_CAMO_02 ,
WEAPONADDON_DLC_COMBATMG_MK2_CAMO_03 ,
WEAPONADDON_DLC_COMBATMG_MK2_CAMO_04 ,
WEAPONADDON_DLC_COMBATMG_MK2_CAMO_05 ,
WEAPONADDON_DLC_COMBATMG_MK2_CAMO_06 ,
WEAPONADDON_DLC_COMBATMG_MK2_CAMO_07 ,
WEAPONADDON_DLC_COMBATMG_MK2_CAMO_08 ,
WEAPONADDON_DLC_COMBATMG_MK2_CAMO_09 ,
WEAPONADDON_DLC_COMBATMG_MK2_CAMO_10 ,
WEAPONADDON_DLC_COMBATMG_MK2_CAMO_IND_01 ,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO ,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_02 ,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_03 ,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_04 ,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_05 ,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_06 ,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_07 ,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_08 ,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_09 ,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_10 ,
WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_IND_01 ,
WEAPONADDON_DLC_PISTOL_MK2_CAMO ,
WEAPONADDON_DLC_PISTOL_MK2_CAMO_02 ,
WEAPONADDON_DLC_PISTOL_MK2_CAMO_03 ,
WEAPONADDON_DLC_PISTOL_MK2_CAMO_04 ,
WEAPONADDON_DLC_PISTOL_MK2_CAMO_05 ,
WEAPONADDON_DLC_PISTOL_MK2_CAMO_06 ,
WEAPONADDON_DLC_PISTOL_MK2_CAMO_07 ,
WEAPONADDON_DLC_PISTOL_MK2_CAMO_08 ,
WEAPONADDON_DLC_PISTOL_MK2_CAMO_09 ,
WEAPONADDON_DLC_PISTOL_MK2_CAMO_10 ,
WEAPONADDON_DLC_PISTOL_MK2_CAMO_IND_01 ,
WEAPONADDON_DLC_SMG_MK2_CAMO ,
WEAPONADDON_DLC_SMG_MK2_CAMO_02 ,
WEAPONADDON_DLC_SMG_MK2_CAMO_03 ,
WEAPONADDON_DLC_SMG_MK2_CAMO_04 ,
WEAPONADDON_DLC_SMG_MK2_CAMO_05 ,
WEAPONADDON_DLC_SMG_MK2_CAMO_06 ,
WEAPONADDON_DLC_SMG_MK2_CAMO_07 ,
WEAPONADDON_DLC_SMG_MK2_CAMO_08 ,
WEAPONADDON_DLC_SMG_MK2_CAMO_09 ,
WEAPONADDON_DLC_SMG_MK2_CAMO_10 ,
WEAPONADDON_DLC_SMG_MK2_CAMO_IND_01 ,
WEAPONADDON_DLC_PUMPSHOTGUN_WEAPONCOMPONENT_VARMOD_GUNRUN,
WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_VARMOD_GUNRUN,
WEAPONADDON_DLC_SNSPISTOL_WEAPONCOMPONENT_VARMOD_GUNRUN,
WEAPONADDON_DLC_MARKSMANRIFLE_WEAPONCOMPONENT_VARMOD_GUNRUN,
WEAPONADDON_DLC_REVOLVER_WEAPONCOMPONENT_VARMOD_GUNRUN,
WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_VARMOD_GUNRUN,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CLIP_01,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CLIP_ARMORPIERCING,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CLIP_EXPLOSIVE,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CLIP_HOLLOWPOINT,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CLIP_INCENDIARY,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_AT_AR_FLSH,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_AT_SIGHTS,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_AT_SCOPE_MACRO_MK2,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_AT_SCOPE_SMALL_MK2,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_AT_SR_SUPP_03,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_AT_MUZZLE_08,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CLIP_01,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CLIP_02,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CLIP_ARMORPIERCING,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CLIP_FMJ,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CLIP_INCENDIARY,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CLIP_TRACER,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_AR_FLSH,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_SIGHTS,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_SCOPE_MACRO_MK2,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_SCOPE_MEDIUM_MK2,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_AR_SUPP_02,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_MUZZLE_01,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_MUZZLE_02,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_MUZZLE_03,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_MUZZLE_04,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_MUZZLE_05,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_MUZZLE_06,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_MUZZLE_07,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_AR_AFGRIP_02,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_SC_BARREL_01,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_SC_BARREL_02,
WEAPONADDON_DLC_SNSPISTOL_MK2_CLIP_01,
WEAPONADDON_DLC_SNSPISTOL_MK2_CLIP_02,
WEAPONADDON_DLC_SNSPISTOL_MK2_CLIP_FMJ,
WEAPONADDON_DLC_SNSPISTOL_MK2_CLIP_HOLLOWPOINT,
WEAPONADDON_DLC_SNSPISTOL_MK2_CLIP_INCENDIARY,
WEAPONADDON_DLC_SNSPISTOL_MK2_CLIP_TRACER,
WEAPONADDON_DLC_SNSPISTOL_MK2_AT_PI_FLSH_03,
WEAPONADDON_DLC_SNSPISTOL_MK2_AT_PI_RAIL_02,
WEAPONADDON_DLC_SNSPISTOL_MK2_AT_PI_SUPP_02,
WEAPONADDON_DLC_SNSPISTOL_MK2_AT_PI_COMP_02,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CLIP_01,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CLIP_02,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CLIP_ARMORPIERCING,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CLIP_FMJ,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CLIP_INCENDIARY,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CLIP_TRACER,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_AR_FLSH,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_SIGHTS,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_SCOPE_MEDIUM_MK2,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_SCOPE_LARGE_FIXED_ZOOM_MK2,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_AR_SUPP,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MUZZLE_01,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MUZZLE_02,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MUZZLE_03,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MUZZLE_04,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MUZZLE_05,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MUZZLE_06,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MUZZLE_07,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_AR_AFGRIP_02,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MRFL_BARREL_01,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MRFL_BARREL_02,
WEAPONADDON_DLC_REVOLVER_MK2_CLIP_01,
WEAPONADDON_DLC_REVOLVER_MK2_CLIP_FMJ,
WEAPONADDON_DLC_REVOLVER_MK2_CLIP_HOLLOWPOINT,
WEAPONADDON_DLC_REVOLVER_MK2_CLIP_INCENDIARY,
WEAPONADDON_DLC_REVOLVER_MK2_CLIP_TRACER,
WEAPONADDON_DLC_REVOLVER_MK2_AT_SIGHTS,
WEAPONADDON_DLC_REVOLVER_MK2_AT_SCOPE_MACRO_MK2,
WEAPONADDON_DLC_REVOLVER_MK2_AT_PI_FLSH,
WEAPONADDON_DLC_REVOLVER_MK2_AT_PI_COMP_03,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CLIP_01,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CLIP_02,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CLIP_ARMORPIERCING,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CLIP_FMJ,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CLIP_INCENDIARY,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CLIP_TRACER,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_AR_FLSH,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_SIGHTS,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_SCOPE_MACRO_02_MK2,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_SCOPE_SMALL_MK2,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_BP_BARREL_01,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_BP_BARREL_02,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_AR_SUPP,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_MUZZLE_01,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_MUZZLE_02,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_MUZZLE_03,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_MUZZLE_04,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_MUZZLE_05,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_MUZZLE_06,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_MUZZLE_07,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_AR_AFGRIP_02,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_02,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_03,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_04,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_05,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_06,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_07,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_08,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_09,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_10,
WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_IND_01,
WEAPONADDON_DLC_REVOLVER_MK2_CAMO,
WEAPONADDON_DLC_REVOLVER_MK2_CAMO_02,
WEAPONADDON_DLC_REVOLVER_MK2_CAMO_03,
WEAPONADDON_DLC_REVOLVER_MK2_CAMO_04,
WEAPONADDON_DLC_REVOLVER_MK2_CAMO_05,
WEAPONADDON_DLC_REVOLVER_MK2_CAMO_06,
WEAPONADDON_DLC_REVOLVER_MK2_CAMO_07,
WEAPONADDON_DLC_REVOLVER_MK2_CAMO_08,
WEAPONADDON_DLC_REVOLVER_MK2_CAMO_09,
WEAPONADDON_DLC_REVOLVER_MK2_CAMO_10,
WEAPONADDON_DLC_REVOLVER_MK2_CAMO_IND_01,
WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO,
WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_02,
WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_03,
WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_04,
WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_05,
WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_06,
WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_07,
WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_08,
WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_09,
WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_10,
WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_IND_01,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_02,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_03,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_04,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_05,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_06,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_07,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_08,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_09,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_10,
WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_IND_01,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_02,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_03,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_04,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_05,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_06,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_07,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_08,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_09,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_10,
WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_IND_01,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_02,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_03,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_04,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_05,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_06,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_07,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_08,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_09,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_10,
WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_IND_01,
WEAPONADDON_DLC_RAYPISTOL_VARMOD_XMAS18,
WEAPONADDON_DLC_CERAMICPISTOL_CLIP_01,
WEAPONADDON_DLC_CERAMICPISTOL_CLIP_02,
WEAPONADDON_DLC_CERAMICPISTOL_AT_PI_SUPP,
#IF FEATURE_HEIST_ISLAND
WEAPONADDON_DLC_GADGETPISTOL_CLIP_01,
WEAPONADDON_DLC_COMBATSHOTGUN_CLIP1,
WEAPONADDON_DLC_COMBATSHOTGUN_AT_AR_FLSH,
WEAPONADDON_DLC_COMBATSHOTGUN_COMPONENT_AT_AR_SUPP,
WEAPONADDON_DLC_MILITARYRIFLE_CLIP_01,
WEAPONADDON_DLC_MILITARYRIFLE_CLIP_02,
WEAPONADDON_DLC_MILITARYRIFLE_SIGHT_01,
WEAPONADDON_DLC_MILITARYRIFLE_AT_SCOPE_SMALL,
WEAPONADDON_DLC_MILITARYRIFLE_AT_AR_FLSH,
WEAPONADDON_DLC_MILITARYRIFLE_AT_AR_SUPP,
#ENDIF
#IF FEATURE_FIXER
WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_CAMO,
WEAPONADDON_DLC_APPISTOL_WEAPONCOMPONENT_SECURITY,
WEAPONADDON_DLC_MICROSMG_WEAPONCOMPONENT_SECURITY,
WEAPONADDON_DLC_PUMPSHOTGUN_WEAPONCOMPONENT_SECURITY,
WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_SIGHT_01,
#ENDIF
#IF FEATURE_DLC_1_2022
WEAPONADDON_DLC_TACTICALRIFLE_CLIP_01,
WEAPONADDON_DLC_TACTICALRIFLE_CLIP_02,
WEAPONADDON_DLC_TACTICALRIFLE_AT_AR_FLSH_REH,
WEAPONADDON_DLC_TACTICALRIFLE_AT_AR_SUPP_02,
WEAPONADDON_DLC_TACTICALRIFLE_AT_AR_GRIP,
#ENDIF
//Keep CNC stuff at bottom of enum.
#IF FEATURE_COPS_N_CROOKS
WEAPONADDON_DLC_POLICERIFLE_WEAPONCOMPONENT_CLIP_01,
WEAPONADDON_DLC_POLICERIFLE_WEAPONCOMPONENT_CLIP_02,
WEAPONADDON_DLC_POLICERIFLE_AT_AR_AFGRIP,
WEAPONADDON_DLC_POLICERIFLE_WEAPONCOMPONENT_FLASH_01,
WEAPONADDON_DLC_POLICERIFLE_AT_AR_SUPP,
#ENDIF
MAX_NUM_WEAPON_ADDONS
ENDENUM
FUNC BOOL SHOULD_WEAPON_BE_FREE_FOR_PLAYER(WEAPON_TYPE eWeapon)
IF NETWORK_IS_GAME_IN_PROGRESS()
IF HAS_MP_CRIMINAL_ENTERPRISE_PREMIUM_OR_STARTER_ACCESS()
IF eWeapon = WEAPONTYPE_DLC_MARKSMANRIFLE
OR eWeapon = WEAPONTYPE_DLC_COMPACTRIFLE
OR eWeapon = WEAPONTYPE_DLC_COMPACTLAUNCHER
RETURN TRUE
ENDIF
ENDIF
ENDIF
RETURN FALSE
ENDFUNC
#IF IS_DEBUG_BUILD
FUNC STRING GET_DEBUG_STRING_FROM_WEAPONSLOT(WEAPON_SLOT weaponSlot)
SWITCH weaponSlot
CASE WEAPONSLOT_INVALID RETURN "WEAPONSLOT_INVALID" BREAK
CASE WEAPONSLOT_UNARMED RETURN "WEAPONSLOT_UNARMED" BREAK
CASE WEAPONSLOT_KNIFE RETURN "WEAPONSLOT_KNIFE" BREAK
CASE WEAPONSLOT_NIGHTSTICK RETURN "WEAPONSLOT_NIGHTSTICK" BREAK
CASE WEAPONSLOT_HAMMER RETURN "WEAPONSLOT_HAMMER" BREAK
CASE WEAPONSLOT_BAT RETURN "WEAPONSLOT_BAT" BREAK
CASE WEAPONSLOT_CROWBAR RETURN "WEAPONSLOT_CROWBAR" BREAK
CASE WEAPONSLOT_GOLFCLUB RETURN "WEAPONSLOT_GOLFCLUB" BREAK
CASE WEAPONSLOT_STUNGUN RETURN "WEAPONSLOT_STUNGUN" BREAK
CASE WEAPONSLOT_RUBBERGUN RETURN "WEAPONSLOT_RUBBERGUN" BREAK
CASE WEAPONSLOT_PISTOL RETURN "WEAPONSLOT_PISTOL" BREAK
CASE WEAPONSLOT_COMBATPISTOL RETURN "WEAPONSLOT_COMBATPISTOL" BREAK
CASE WEAPONSLOT_APPISTOL RETURN "WEAPONSLOT_APPISTOL" BREAK
CASE WEAPONSLOT_MICROSMG RETURN "WEAPONSLOT_MICROSMG" BREAK
CASE WEAPONSLOT_SMG RETURN "WEAPONSLOT_SMG" BREAK
CASE WEAPONSLOT_ASSAULTRIFLE RETURN "WEAPONSLOT_ASSAULTRIFLE" BREAK
CASE WEAPONSLOT_CARBINERIFLE RETURN "WEAPONSLOT_CARBINERIFLE" BREAK
CASE WEAPONSLOT_ADVANCEDRIFLE RETURN "WEAPONSLOT_ADVANCEDRIFLE" BREAK
CASE WEAPONSLOT_MG RETURN "WEAPONSLOT_MG" BREAK
CASE WEAPONSLOT_COMBATMG RETURN "WEAPONSLOT_COMBATMG" BREAK
CASE WEAPONSLOT_PUMPSHOTGUN RETURN "WEAPONSLOT_PUMPSHOTGUN" BREAK
CASE WEAPONSLOT_SAWNOFFSHOTGUN RETURN "WEAPONSLOT_SAWNOFFSHOTGUN" BREAK
CASE WEAPONSLOT_ASSAULTSHOTGUN RETURN "WEAPONSLOT_ASSAULTSHOTGUN" BREAK
CASE WEAPONSLOT_SNIPERRIFLE RETURN "WEAPONSLOT_SNIPERRIFLE" BREAK
CASE WEAPONSLOT_HEAVYSNIPER RETURN "WEAPONSLOT_HEAVYSNIPER" BREAK
CASE WEAPONSLOT_GRENADELAUNCHER RETURN "WEAPONSLOT_GRENADELAUNCHER" BREAK
CASE WEAPONSLOT_RPG RETURN "WEAPONSLOT_RPG" BREAK
CASE WEAPONSLOT_MINIGUN RETURN "WEAPONSLOT_MINIGUN" BREAK
CASE WEAPONSLOT_GRENADE RETURN "WEAPONSLOT_GRENADE" BREAK
CASE WEAPONSLOT_STICKYBOMB RETURN "WEAPONSLOT_STICKYBOMB" BREAK
CASE WEAPONSLOT_SMOKEGRENADE RETURN "WEAPONSLOT_SMOKEGRENADE" BREAK
CASE WEAPONSLOT_MOLOTOV RETURN "WEAPONSLOT_MOLOTOV" BREAK
CASE WEAPONSLOT_FIREEXTINGUISHER RETURN "WEAPONSLOT_FIREEXTINGUISHER" BREAK
CASE WEAPONSLOT_PETROLCAN RETURN "WEAPONSLOT_PETROLCAN" BREAK
CASE WEAPONSLOT_LOUDHAILER RETURN "WEAPONSLOT_LOUDHAILER" BREAK
CASE WEAPONSLOT_PARACHUTE RETURN "WEAPONSLOT_PARACHUTE" BREAK
CASE WEAPONSLOT_DIGISCANNER RETURN "WEAPONSLOT_DIGISCANNER" BREAK
CASE WEAPONSLOT_OBJECT RETURN "WEAPONSLOT_OBJECT" BREAK
CASE WEAPONSLOT_DLC_PISTOL50 RETURN "WEAPONSLOT_DLC_PISTOL50" BREAK
CASE WEAPONSLOT_DLC_ASSAULTSMG RETURN "WEAPONSLOT_DLC_ASSAULTSMG" BREAK
CASE WEAPONSLOT_DLC_HEAVYRIFLE RETURN "WEAPONSLOT_DLC_HEAVYRIFLE" BREAK
CASE WEAPONSLOT_DLC_ASSAULTMG RETURN "WEAPONSLOT_DLC_ASSAULTMG" BREAK
CASE WEAPONSLOT_DLC_BULLPUPSHOTGUN RETURN "WEAPONSLOT_DLC_BULLPUPSHOTGUN" BREAK
CASE WEAPONSLOT_DLC_ASSAULTSNIPER RETURN "WEAPONSLOT_DLC_ASSAULTSNIPER" BREAK
CASE WEAPONSLOT_DLC_PROGRAMMABLEAR RETURN "WEAPONSLOT_DLC_PROGRAMMABLEAR" BREAK
CASE WEAPONSLOT_DLC_SPECIALCARBINE RETURN "WEAPONSLOT_DLC_SPECIALCARBINE" BREAK
CASE WEAPONSLOT_DLC_BOTTLE RETURN "WEAPONSLOT_DLC_BOTTLE" BREAK
CASE WEAPONSLOT_DLC_SNSPISTOL RETURN "WEAPONSLOT_DLC_SNSPISTOL" BREAK
CASE WEAPONSLOT_DLC_HEAVYPISTOL RETURN "WEAPONSLOT_DLC_HEAVYPISTOL" BREAK
CASE WEAPONSLOT_DLC_BULLPUPRIFLE RETURN "WEAPONSLOT_DLC_BULLPUPRIFLE" BREAK
CASE WEAPONSLOT_DLC_GUSENBERG RETURN "WEAPONSLOT_DLC_GUSENBERG" BREAK
CASE WEAPONSLOT_DLC_MUSKET RETURN "WEAPONSLOT_DLC_MUSKET" BREAK
CASE WEAPONSLOT_DLC_FIREWORK RETURN "WEAPONSLOT_DLC_FIREWORK" BREAK
CASE WEAPONSLOT_DLC_FLAREGUN RETURN "WEAPONSLOT_DLC_FLAREGUN" BREAK
CASE WEAPONSLOT_DLC_HATCHET RETURN "WEAPONSLOT_DLC_HATCHET" BREAK
CASE WEAPONSLOT_DLC_RAILGUN RETURN "WEAPONSLOT_DLC_RAILGUN" BREAK
//LUX
CASE WEAPONSLOT_DLC_COMBATPDW RETURN "WEAPONSLOT_DLC_COMBATPDW" BREAK
CASE WEAPONSLOT_DLC_KNUCKLE RETURN "WEAPONSLOT_DLC_KNUCKLE" BREAK
CASE WEAPONSLOT_DLC_MARKSMANPISTOL RETURN "WEAPONSLOT_DLC_MARKSMANPISTOL" BREAK
ENDSWITCH
RETURN "INVALID"
ENDFUNC
#ENDIF
/// PURPOSE: Returns the text label that represents the specified weapon name
FUNC STRING GET_WEAPON_DESCRIPTION(WEAPON_TYPE eWeapon, BOOL bUseShortDescription = FALSE)
IF SHOULD_WEAPON_BE_FREE_FOR_PLAYER(eWeapon)
AND NOT bUseShortDescription
SWITCH eWeapon
CASE WEAPONTYPE_DLC_MARKSMANRIFLE
IF NETWORK_IS_GAME_IN_PROGRESS()
IF HAS_PED_GOT_WEAPON(PLAYER_PED_ID(), WEAPONTYPE_DLC_MARKSMANRIFLE_MK2)
RETURN "WCD_MK1_LOCK"
ENDIF
ENDIF
RETURN "WTDE2_MKRIFLE"
BREAK
CASE WEAPONTYPE_DLC_COMPACTRIFLE RETURN "WTDE2_CMPRIFLE" BREAK
CASE WEAPONTYPE_DLC_COMPACTLAUNCHER RETURN "WTDE2_CMPGL" BREAK
DEFAULT
CASSERTLN(DEBUG_SHOPS, "GET_WEAPON_DESCRIPTION - unknown free description for wapon ", eWeapon, ".")
BREAK
ENDSWITCH
ENDIF
SWITCH eWeapon
CASE WEAPONTYPE_INVALID RETURN "" BREAK
CASE WEAPONTYPE_UNARMED RETURN "" BREAK
// Pistols
CASE WEAPONTYPE_PISTOL
RETURN "WT_PIST_DESC"
BREAK
CASE WEAPONTYPE_COMBATPISTOL RETURN "WTD_PIST_CBT" BREAK
CASE WEAPONTYPE_APPISTOL RETURN "WTD_PIST_AP" BREAK
// Sub machine guns
CASE WEAPONTYPE_SMG
RETURN "WTD_SMG"
BREAK
CASE WEAPONTYPE_MICROSMG RETURN "WTD_SMG_MCR" BREAK
// Assault rifles
CASE WEAPONTYPE_ASSAULTRIFLE
RETURN "WTD_RIFLE_ASL"
BREAK
CASE WEAPONTYPE_CARBINERIFLE
RETURN "WTD_RIFLE_CBN"
BREAK
CASE WEAPONTYPE_ADVANCEDRIFLE RETURN "WTD_RIFLE_ADV" BREAK
// Light machine guns
CASE WEAPONTYPE_MG RETURN "WTD_MG" BREAK
CASE WEAPONTYPE_COMBATMG
RETURN "WTD_MG_CBT"
BREAK
// Shotguns
CASE WEAPONTYPE_PUMPSHOTGUN RETURN "WTD_SG_PMP" BREAK
CASE WEAPONTYPE_SAWNOFFSHOTGUN RETURN "WTD_SG_SOF" BREAK
CASE WEAPONTYPE_ASSAULTSHOTGUN RETURN "WTD_SG_ASL" BREAK
// Sniper rifles
CASE WEAPONTYPE_HEAVYSNIPER
RETURN "WTD_SNIP_HVY"
BREAK
CASE WEAPONTYPE_REMOTESNIPER RETURN "WTD_SNIP_RMT" BREAK
CASE WEAPONTYPE_SNIPERRIFLE RETURN "WTD_SNIP_RIF" BREAK
// Heavy weapons
CASE WEAPONTYPE_GRENADELAUNCHER RETURN "WTD_GL" BREAK
CASE WEAPONTYPE_RPG RETURN "WTD_RPG" BREAK
CASE WEAPONTYPE_MINIGUN RETURN "WTD_MINIGUN" BREAK
// Thrown weapons
CASE WEAPONTYPE_GRENADE RETURN "WTD_GNADE" BREAK
CASE WEAPONTYPE_SMOKEGRENADE RETURN "WTD_GNADE_SMK" BREAK
CASE WEAPONTYPE_STICKYBOMB RETURN "WTD_GNADE_STK" BREAK
CASE WEAPONTYPE_MOLOTOV RETURN "WTD_MOLOTOV" BREAK
// Special weapons
CASE WEAPONTYPE_STUNGUN RETURN "WTD_STUN" BREAK
CASE WEAPONTYPE_PETROLCAN RETURN "WTD_PETROL" BREAK
CASE WEAPONTYPE_DIGISCANNER RETURN "WTD_DIGI" BREAK
CASE WEAPONTYPE_ELECTRIC_FENCE RETURN "WTD_ELCFEN" BREAK
// Vehicle weapons
CASE WEAPONTYPE_VEHICLE_WEAPON_TANK RETURN "" BREAK
CASE WEAPONTYPE_VEHICLE_SPACE_ROCKET RETURN "" BREAK
CASE WEAPONTYPE_VEHICLE_PLAYER_LASER RETURN "" BREAK
// Held object
CASE WEAPONTYPE_OBJECT RETURN "" BREAK
// Gadgets
CASE GADGETTYPE_PARACHUTE RETURN "WTD_PARA" BREAK
// Ammo
CASE WEAPONTYPE_AMMO_RPG RETURN "" BREAK
CASE WEAPONTYPE_AMMO_TANK RETURN "" BREAK
CASE WEAPONTYPE_AMMO_SPACE_ROCKET RETURN "" BREAK
CASE WEAPONTYPE_AMMO_PLAYER_LASER RETURN "" BREAK
CASE WEAPONTYPE_AMMO_ENEMY_LASER RETURN "" BREAK
// Melee Weapons
CASE WEAPONTYPE_KNIFE RETURN "WTD_KNIFE" BREAK
CASE WEAPONTYPE_NIGHTSTICK RETURN "WTD_NGTSTK" BREAK
CASE WEAPONTYPE_HAMMER RETURN "WTD_HAMMER" BREAK
CASE WEAPONTYPE_BAT RETURN "WTD_BAT" BREAK
CASE WEAPONTYPE_CROWBAR RETURN "WTD_CROWBAR" BREAK
CASE WEAPONTYPE_GOLFCLUB RETURN "WTD_GOLFCLUB" BREAK
CASE WEAPONTYPE_DLC_HATCHET RETURN "WTD_DLC_HATCHET" BREAK
CASE WEAPONTYPE_RAMMEDBYVEHICLE RETURN "" BREAK
CASE WEAPONTYPE_RUNOVERBYVEHICLE RETURN "" BREAK
// DLC
CASE WEAPONTYPE_DLC_ASSAULTSMG RETURN "WTD_SMG_ASL" BREAK
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN RETURN "WTD_SG_BLP" BREAK
CASE WEAPONTYPE_DLC_PISTOL50 RETURN "WTD_PIST_50" BREAK
CASE WEAPONTYPE_DLC_VINTAGEPISTOL RETURN "WTD_VPISTOL" BREAK
CASE WEAPONTYPE_DLC_DAGGER RETURN "WTD_DAGGER" BREAK
// Xmas 2
CASE WEAPONTYPE_DLC_PROXMINE RETURN "WTD_PRXMINE" BREAK
CASE WEAPONTYPE_DLC_HOMINGLAUNCHER RETURN "WTD_HOMLNCH" BREAK
// Lowrider
CASE WEAPONTYPE_DLC_MACHETE RETURN "WTD_MACHETE" BREAK
CASE WEAPONTYPE_DLC_MACHINEPISTOL RETURN "WTD_MCHPIST" BREAK
// Halloween
CASE WEAPONTYPE_DLC_FLASHLIGHT RETURN "WTD_FLASHLIGHT" BREAK
// Lowrider 2
CASE WEAPONTYPE_DLC_DBSHOTGUN RETURN "WTD_DBSHGN" BREAK
CASE WEAPONTYPE_DLC_COMPACTRIFLE RETURN "WTD_CMPRIFLE" BREAK
CASE WEAPONTYPE_DLC_SWITCHBLADE RETURN "WTD_SWBLADE" BREAK
CASE WEAPONTYPE_DLC_REVOLVER RETURN "WTD_REVOLVER" BREAK
CASE WEAPONTYPE_DLC_DOUBLEACTION
IF GET_MP_BOOL_PLAYER_STAT(MPPLY_HEADSHOTCHLENGECOMPLETED)
OR bUseShortDescription
RETURN "WTD_REV_DA"
ELSE
IF NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
RETURN "WTD_REV_DA_2"
ELSE
RETURN "WTD_REV_DA_3"
ENDIF
ENDIF
BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE
IF NETWORK_IS_GAME_IN_PROGRESS()
IF HAS_PED_GOT_WEAPON(PLAYER_PED_ID(), WEAPONTYPE_DLC_SPECIALCARBINE_MK2)
RETURN "WCD_MK1_LOCK"
ENDIF
ENDIF
scrShopWeaponData specialCarbineData
IF GET_DLC_WEAPON_DATA_FOR_WEAPON_TYPE(eWeapon, specialCarbineData) != -1
RETURN GET_DLC_WEAPON_STRING(specialCarbineData.weaponDesc)
ENDIF
BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE
IF NETWORK_IS_GAME_IN_PROGRESS()
IF HAS_PED_GOT_WEAPON(PLAYER_PED_ID(), WEAPONTYPE_DLC_MARKSMANRIFLE_MK2)
RETURN "WCD_MK1_LOCK"
ENDIF
ENDIF
scrShopWeaponData marksmanRifleData
IF GET_DLC_WEAPON_DATA_FOR_WEAPON_TYPE(eWeapon, marksmanRifleData) != -1
RETURN GET_DLC_WEAPON_STRING(marksmanRifleData.weaponDesc)
ENDIF
BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE
IF NETWORK_IS_GAME_IN_PROGRESS()
IF HAS_PED_GOT_WEAPON(PLAYER_PED_ID(), WEAPONTYPE_DLC_BULLPUPRIFLE_MK2)
RETURN "WCD_MK1_LOCK"
ENDIF
ENDIF
scrShopWeaponData bullPupRifleData
IF GET_DLC_WEAPON_DATA_FOR_WEAPON_TYPE(eWeapon, bullPupRifleData) != -1
RETURN GET_DLC_WEAPON_STRING(bullPupRifleData.weaponDesc)
ENDIF
BREAK
CASE WEAPONTYPE_DLC_RAYPISTOL RETURN "WTD_RAYPISTOL" BREAK
CASE WEAPONTYPE_DLC_RAYCARBINE RETURN "WTD_RAYCARBINE" BREAK
CASE WEAPONTYPE_DLC_RAYMINIGUN RETURN "WTD_RAYMINIGUN" BREAK
CASE WEAPONTYPE_DLC_NAVYREVOLVER RETURN "WTD_REV_NV" BREAK
CASE WEAPONTYPE_DLC_CERAMICPISTOL RETURN "WTD_CERPST" BREAK
#IF FEATURE_COPS_N_CROOKS
CASE WEAPONTYPE_DLC_BATON RETURN "WTD_BATON" BREAK
CASE WEAPONTYPE_DLC_POLICERIFLE RETURN "WTD_PLCRIFLE" BREAK
#ENDIF
#IF FEATURE_HEIST_ISLAND
CASE WEAPONTYPE_DLC_MILITARYRIFLE RETURN "WTD_MLTRYRFL" BREAK
CASE WEAPONTYPE_DLC_GADGETPISTOL RETURN "WTD_GDGTPST" BREAK
CASE WEAPONTYPE_DLC_COMBATSHOTGUN RETURN "WTD_CMBSHGN" BREAK
#ENDIF
// DLC Lookup
DEFAULT
scrShopWeaponData weaponData
IF GET_DLC_WEAPON_DATA_FOR_WEAPON_TYPE(eWeapon, weaponData) != -1
RETURN GET_DLC_WEAPON_STRING(weaponData.weaponDesc)
ENDIF
BREAK
ENDSWITCH
RETURN "WT_INVALID"
ENDFUNC
FUNC STRING GET_WEAPON_DESCRIPTION_FOR_REWARD(WEAPON_TYPE eWeapon)
SWITCH eWeapon
CASE WEAPONTYPE_INVALID RETURN "" BREAK
CASE WEAPONTYPE_UNARMED RETURN "" BREAK
// Pistols
CASE WEAPONTYPE_PISTOL RETURN "WT_PIST_DESC_S" BREAK
CASE WEAPONTYPE_COMBATPISTOL RETURN "WTD_PIST_CBT_S" BREAK
CASE WEAPONTYPE_APPISTOL RETURN "WTD_PIST_AP_S" BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL RETURN "WTD_PIST_AP_S" BREAK
// Sub machine guns
CASE WEAPONTYPE_SMG RETURN "WTD_SMG_MCR_S" BREAK
CASE WEAPONTYPE_MICROSMG RETURN "WTD_SMG_S" BREAK
// Assault rifles
CASE WEAPONTYPE_ASSAULTRIFLE RETURN "WTD_RIFLE_ASL_S" BREAK
CASE WEAPONTYPE_CARBINERIFLE RETURN "WTD_RIFLE_CBN_S" BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE RETURN "WTD_RIFLE_CBN_S" BREAK
CASE WEAPONTYPE_ADVANCEDRIFLE RETURN "WTD_RIFLE_ADV_S" BREAK
// Light machine guns
CASE WEAPONTYPE_MG RETURN "WTD_MG_S" BREAK
CASE WEAPONTYPE_COMBATMG RETURN "WTD__MG_CBT_S" BREAK
// Shotguns
CASE WEAPONTYPE_PUMPSHOTGUN RETURN "WTD_SG_PMP_S" BREAK
CASE WEAPONTYPE_SAWNOFFSHOTGUN RETURN "WTD_SG_SOF_S" BREAK
CASE WEAPONTYPE_ASSAULTSHOTGUN RETURN "WTD_SG_ASL_S" BREAK
// Sniper rifles
CASE WEAPONTYPE_HEAVYSNIPER RETURN "WTD_SNIP_HVY_S" BREAK
CASE WEAPONTYPE_REMOTESNIPER RETURN "WTD_SNIP_RMT_S" BREAK
CASE WEAPONTYPE_SNIPERRIFLE RETURN "WTD_SNIP_RIF_S" BREAK
// Heavy weapons
CASE WEAPONTYPE_GRENADELAUNCHER RETURN "WTD_GL_S" BREAK
CASE WEAPONTYPE_RPG RETURN "WTD_RPG_S" BREAK
CASE WEAPONTYPE_MINIGUN RETURN "WTD_MINIGUN_S" BREAK
// Thrown weapons
CASE WEAPONTYPE_GRENADE RETURN "WTD_GNADE_S" BREAK
CASE WEAPONTYPE_SMOKEGRENADE RETURN "WTD_GNADE_SMK_S" BREAK
CASE WEAPONTYPE_STICKYBOMB RETURN "WTD_GNADE_STK_S" BREAK
CASE WEAPONTYPE_MOLOTOV RETURN "" BREAK
// Special weapons
CASE WEAPONTYPE_STUNGUN RETURN "WTD_STUN_S" BREAK
CASE WEAPONTYPE_PETROLCAN RETURN "WTD_PETROL_S" BREAK
CASE WEAPONTYPE_DIGISCANNER RETURN "WTD_DIGI_S" BREAK
CASE WEAPONTYPE_ELECTRIC_FENCE RETURN "WTD_ELCFEN_S" BREAK
// Vehicle weapons
CASE WEAPONTYPE_VEHICLE_WEAPON_TANK RETURN "" BREAK
CASE WEAPONTYPE_VEHICLE_SPACE_ROCKET RETURN "" BREAK
CASE WEAPONTYPE_VEHICLE_PLAYER_LASER RETURN "" BREAK
// Held object
CASE WEAPONTYPE_OBJECT RETURN "" BREAK
// Gadgets
CASE GADGETTYPE_PARACHUTE RETURN "" BREAK
// Ammo
CASE WEAPONTYPE_AMMO_RPG RETURN "" BREAK
CASE WEAPONTYPE_AMMO_TANK RETURN "" BREAK
CASE WEAPONTYPE_AMMO_SPACE_ROCKET RETURN "" BREAK
CASE WEAPONTYPE_AMMO_PLAYER_LASER RETURN "" BREAK
CASE WEAPONTYPE_AMMO_ENEMY_LASER RETURN "" BREAK
// Melee Weapons
CASE WEAPONTYPE_KNIFE RETURN "WT_KNIF_DESC_S" BREAK
CASE WEAPONTYPE_NIGHTSTICK RETURN "" BREAK
CASE WEAPONTYPE_HAMMER RETURN "" BREAK
CASE WEAPONTYPE_BAT RETURN "" BREAK
CASE WEAPONTYPE_CROWBAR RETURN "" BREAK
CASE WEAPONTYPE_GOLFCLUB RETURN "" BREAK
CASE WEAPONTYPE_RAMMEDBYVEHICLE RETURN "" BREAK
CASE WEAPONTYPE_RUNOVERBYVEHICLE RETURN "" BREAK
CASE WEAPONTYPE_DLC_BOTTLE RETURN "" BREAK
CASE WEAPONTYPE_DLC_HATCHET RETURN "" BREAK
CASE WEAPONTYPE_DLC_KNUCKLE RETURN "" BREAK
CASE WEAPONTYPE_DLC_SWITCHBLADE RETURN "WTD_SWBLADE" BREAK
CASE WEAPONTYPE_DLC_REVOLVER RETURN "WTD_REVOLVER" BREAK
CASE WEAPONTYPE_DLC_DOUBLEACTION RETURN "" BREAK
ENDSWITCH
RETURN "WT_INVALID"
ENDFUNC
#IF IS_DEBUG_BUILD
FUNC STRING GET_WEAPON_TYPE_NAME_FOR_DEBUG(WEAPON_TYPE eWeapon)
SWITCH eWeapon
CASE WEAPONTYPE_UNARMED RETURN "WEAPONTYPE_UNARMED"
// Pistols
CASE WEAPONTYPE_PISTOL RETURN "WEAPONTYPE_PISTOL"
CASE WEAPONTYPE_COMBATPISTOL RETURN "WEAPONTYPE_COMBATPISTOL"
CASE WEAPONTYPE_APPISTOL RETURN "WEAPONTYPE_APPISTOL"
CASE WEAPONTYPE_DLC_SNSPISTOL RETURN "WEAPONTYPE_DLC_SNSPISTOL"
// Sub machine guns
CASE WEAPONTYPE_SMG RETURN "WEAPONTYPE_SMG"
CASE WEAPONTYPE_MICROSMG RETURN "WEAPONTYPE_MICROSMG"
// Assault rifles
CASE WEAPONTYPE_ASSAULTRIFLE RETURN "WEAPONTYPE_ASSAULTRIFLE"
CASE WEAPONTYPE_CARBINERIFLE RETURN "WEAPONTYPE_CARBINERIFLE"
CASE WEAPONTYPE_DLC_SPECIALCARBINE RETURN "WEAPONTYPE_DLC_SPECIALCARBINE"
CASE WEAPONTYPE_ADVANCEDRIFLE RETURN "WEAPONTYPE_ADVANCEDRIFLE"
// Light machine guns
CASE WEAPONTYPE_MG RETURN "WEAPONTYPE_MG"
CASE WEAPONTYPE_COMBATMG RETURN "WEAPONTYPE_COMBATMG"
// Shotguns
CASE WEAPONTYPE_PUMPSHOTGUN RETURN "WEAPONTYPE_PUMPSHOTGUN"
CASE WEAPONTYPE_SAWNOFFSHOTGUN RETURN "WEAPONTYPE_SAWNOFFSHOTGUN"
CASE WEAPONTYPE_ASSAULTSHOTGUN RETURN "WEAPONTYPE_ASSAULTSHOTGUN"
CASE WEAPONTYPE_DLC_HEAVYSHOTGUN RETURN "WEAPONTYPE_DLC_HEAVYSHOTGUN"
CASE WEAPONTYPE_DLC_MUSKET RETURN "WEAPONTYPE_DLC_MUSKET"
CASE WEAPONTYPE_DLC_AUTOSHOTGUN RETURN "WEAPONTYPE_DLC_AUTOSHOTGUN"
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN RETURN "WEAPONTYPE_DLC_BULLPUPSHOTGUN"
CASE WEAPONTYPE_DLC_DBSHOTGUN RETURN "WEAPONTYPE_DLC_DBSHOTGUN"
// Sniper rifles
CASE WEAPONTYPE_HEAVYSNIPER RETURN "WEAPONTYPE_HEAVYSNIPER"
CASE WEAPONTYPE_REMOTESNIPER RETURN "WEAPONTYPE_REMOTESNIPER"
CASE WEAPONTYPE_SNIPERRIFLE RETURN "WEAPONTYPE_SNIPERRIFLE"
// Heavy weapons
CASE WEAPONTYPE_GRENADELAUNCHER RETURN "WEAPONTYPE_GRENADELAUNCHER"
CASE WEAPONTYPE_RPG RETURN "WEAPONTYPE_RPG"
CASE WEAPONTYPE_MINIGUN RETURN "WEAPONTYPE_MINIGUN"
// Thrown weapons
CASE WEAPONTYPE_GRENADE RETURN "WEAPONTYPE_GRENADE"
CASE WEAPONTYPE_SMOKEGRENADE RETURN "WEAPONTYPE_SMOKEGRENADE"
CASE WEAPONTYPE_STICKYBOMB RETURN "WEAPONTYPE_STICKYBOMB"
CASE WEAPONTYPE_MOLOTOV RETURN "WEAPONTYPE_MOLOTOV"
// Special weapons
CASE WEAPONTYPE_STUNGUN RETURN "WEAPONTYPE_STUNGUN"
CASE WEAPONTYPE_PETROLCAN RETURN "WEAPONTYPE_PETROLCAN"
CASE WEAPONTYPE_DIGISCANNER RETURN "WEAPONTYPE_DIGISCANNER"
CASE WEAPONTYPE_ELECTRIC_FENCE RETURN "WEAPONTYPE_ELECTRIC_FENCE"
// Vehicle weapons
CASE WEAPONTYPE_VEHICLE_WEAPON_TANK RETURN "WEAPONTYPE_VEHICLE_WEAPON_TANK"
CASE WEAPONTYPE_VEHICLE_SPACE_ROCKET RETURN "WEAPONTYPE_VEHICLE_SPACE_ROCKET"
CASE WEAPONTYPE_VEHICLE_PLAYER_LASER RETURN "WEAPONTYPE_VEHICLE_PLAYER_LASER"
// Held object
CASE WEAPONTYPE_OBJECT RETURN "WEAPONTYPE_OBJECT"
// Gadgets
CASE GADGETTYPE_PARACHUTE RETURN "GADGETTYPE_PARACHUTE"
// Ammo
CASE WEAPONTYPE_AMMO_RPG RETURN "WEAPONTYPE_AMMO_RPG"
CASE WEAPONTYPE_AMMO_TANK RETURN "WEAPONTYPE_AMMO_TANK"
CASE WEAPONTYPE_AMMO_SPACE_ROCKET RETURN "WEAPONTYPE_AMMO_SPACE_ROCKET"
CASE WEAPONTYPE_AMMO_PLAYER_LASER RETURN "WEAPONTYPE_AMMO_PLAYER_LASER"
CASE WEAPONTYPE_AMMO_ENEMY_LASER RETURN "WEAPONTYPE_AMMO_ENEMY_LASER"
// Melee Weapons
CASE WEAPONTYPE_KNIFE RETURN "WEAPONTYPE_KNIFE"
CASE WEAPONTYPE_NIGHTSTICK RETURN "WEAPONTYPE_NIGHTSTICK"
CASE WEAPONTYPE_HAMMER RETURN "WEAPONTYPE_HAMMER"
CASE WEAPONTYPE_BAT RETURN "WEAPONTYPE_BAT"
CASE WEAPONTYPE_CROWBAR RETURN "WEAPONTYPE_CROWBAR"
CASE WEAPONTYPE_GOLFCLUB RETURN "WEAPONTYPE_GOLFCLUB"
CASE WEAPONTYPE_RAMMEDBYVEHICLE RETURN "WEAPONTYPE_RAMMEDBYVEHICLE"
CASE WEAPONTYPE_RUNOVERBYVEHICLE RETURN "WEAPONTYPE_RUNOVERBYVEHICLE"
CASE WEAPONTYPE_DLC_BOTTLE RETURN "WEAPONTYPE_DLC_BOTTLE"
CASE WEAPONTYPE_DLC_HATCHET RETURN "WEAPONTYPE_DLC_HATCHET"
CASE WEAPONTYPE_DLC_KNUCKLE RETURN "WEAPONTYPE_DLC_KNUCKLE"
CASE WEAPONTYPE_DLC_SWITCHBLADE RETURN "WEAPONTYPE_DLC_SWITCHBLADE"
CASE WEAPONTYPE_DLC_REVOLVER RETURN "WEAPONTYPE_DLC_REVOLVER"
CASE WEAPONTYPE_DLC_DOUBLEACTION RETURN "WEAPONTYPE_DLC_DOUBLEACTION"
CASE WEAPONTYPE_DLC_MARKSMANRIFLE RETURN "WEAPONTYPE_DLC_MARKSMANRIFLE"
CASE WEAPONTYPE_DLC_BULLPUPRIFLE RETURN "WEAPONTYPE_DLC_BULLPUPRIFLE"
CASE WEAPONTYPE_DLC_RAYPISTOL RETURN "WEAPONTYPE_DLC_RAYPISTOL"
CASE WEAPONTYPE_DLC_RAYCARBINE RETURN "WEAPONTYPE_DLC_RAYCARBINE"
CASE WEAPONTYPE_DLC_RAYMINIGUN RETURN "WEAPONTYPE_DLC_RAYMINIGUN"
CASE WEAPONTYPE_DLC_NAVYREVOLVER RETURN "WEAPONTYPE_DLC_NAVYREVOLVER"
CASE WEAPONTYPE_DLC_CERAMICPISTOL RETURN "WEAPONTYPE_DLC_CERAMICPISTOL"
CASE WEAPONTYPE_DLC_PROXMINE RETURN "WEAPONTYPE_DLC_PROXMINE"
CASE WEAPONTYPE_DLC_PIPEBOMB RETURN "WEAPONTYPE_DLC_PIPEBOMB"
#IF FEATURE_COPS_N_CROOKS
CASE WEAPONTYPE_DLC_RIOTSHOTGUN RETURN "WEAPONTYPE_DLC_RIOTSHOTGUN"
CASE WEAPONTYPE_DLC_BATON RETURN "WEAPONTYPE_DLC_BATON"
CASE WEAPONTYPE_DLC_POLICERIFLE RETURN "WEAPONTYPE_DLC_POLICERIFLE"
#ENDIF
#IF FEATURE_HEIST_ISLAND
CASE WEAPONTYPE_DLC_GADGETPISTOL RETURN "WEAPONTYPE_DLC_GADGETPISTOL"
CASE WEAPONTYPE_DLC_MILITARYRIFLE RETURN "WEAPONTYPE_DLC_MILITARYRIFLE"
CASE WEAPONTYPE_DLC_COMBATSHOTGUN RETURN "WEAPONTYPE_DLC_COMBATSHOTGUN"
#ENDIF
#IF FEATURE_FIXER
CASE WEAPONTYPE_DLC_EMPLAUNCHER RETURN "WEAPONTYPE_DLC_EMPLAUNCHER"
CASE WEAPONTYPE_DLC_FERTILIZERCAN RETURN "WEAPONTYPE_DLC_FERTILIZERCAN"
CASE WEAPONTYPE_DLC_STUNGUNG_MP RETURN "WEAPONTYPE_DLC_STUNGUNG_MP"
#ENDIF
#IF FEATURE_DLC_1_2022
CASE WEAPONTYPE_DLC_METALDETECTOR RETURN "WEAPONTYPE_DLC_METALDETECTOR"
CASE WEAPONTYPE_DLC_PRECISIONRIFLE RETURN "WEAPONTYPE_DLC_PRECISIONRIFLE"
CASE WEAPONTYPE_DLC_TACTICALRIFLE RETURN "WEAPONTYPE_DLC_TACTICALRIFLE"
#ENDIF
ENDSWITCH
RETURN "WEAPONTYPE_INVALID"
ENDFUNC
#ENDIF
/// PURPOSE: Sets up the sWeapon struct with weapon info for the specified group/slot
FUNC INT GET_COST_OF_AMMO_CLIP(WEAPON_TYPE tempweapon)
SWITCH tempweapon
CASE WEAPONTYPE_STUNGUN
RETURN 50
BREAK
CASE WEAPONTYPE_APPISTOL
RETURN 25
BREAK
CASE WEAPONTYPE_COMBATPISTOL
RETURN 14
BREAK
CASE WEAPONTYPE_PISTOL
RETURN 12
BREAK
CASE WEAPONTYPE_MICROSMG
RETURN 20
BREAK
CASE WEAPONTYPE_SMG
RETURN 36
BREAK
CASE WEAPONTYPE_SAWNOFFSHOTGUN
RETURN 8
BREAK
CASE WEAPONTYPE_PUMPSHOTGUN
RETURN 8
BREAK
CASE WEAPONTYPE_ASSAULTSHOTGUN
RETURN 8
BREAK
CASE WEAPONTYPE_ASSAULTRIFLE
RETURN 30
BREAK
CASE WEAPONTYPE_CARBINERIFLE
// CASE WEAPONTYPE_DLC_SPECIALCARBINE - GET_COST_OF_AMMO_CLIP is never called so I probably don't need to deal with DLC weapons here
RETURN 36
BREAK
CASE WEAPONTYPE_ADVANCEDRIFLE
RETURN 45
BREAK
CASE WEAPONTYPE_SNIPERRIFLE
RETURN 20
BREAK
CASE WEAPONTYPE_HEAVYSNIPER
RETURN 20
BREAK
CASE WEAPONTYPE_MG
RETURN 50
BREAK
CASE WEAPONTYPE_COMBATMG
RETURN 50
BREAK
CASE WEAPONTYPE_RPG
RETURN 100
BREAK
CASE WEAPONTYPE_GRENADELAUNCHER
RETURN 50
BREAK
CASE WEAPONTYPE_MINIGUN
RETURN 50
BREAK
CASE WEAPONTYPE_SMOKEGRENADE
RETURN 30
BREAK
CASE WEAPONTYPE_GRENADE
RETURN 30
BREAK
CASE WEAPONTYPE_STICKYBOMB
RETURN 100
BREAK
ENDSWITCH
RETURN 20
ENDFUNC
FUNC BOOL IS_PED_WEAPON_LOADED(PED_INDEX pedID, WEAPON_TYPE weaponToCheck)
IF NOT IS_PED_INJURED(pedID)
IF IS_WEAPON_VALID(weaponToCheck)
IF HAS_PED_GOT_WEAPON(pedID, weaponToCheck)
IF GET_AMMO_IN_PED_WEAPON(pedID,weaponToCheck) > 0
RETURN TRUE
ENDIF
ENDIF
ENDIF
ENDIF
RETURN FALSE
ENDFUNC
/// PURPOSE: Returns TRUE if the player has a firearm in their inventory
FUNC BOOL HAS_PED_GOT_LOADED_FIREARM(PED_INDEX pedID, BOOL bIncludeThrownWeapons = FALSE)
IF IS_PED_INJURED(pedID)
RETURN FALSE
ENDIF
// Pistols
IF IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_PISTOL)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_COMBATPISTOL)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_APPISTOL)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_SNSPISTOL)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_HEAVYPISTOL)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_MARKSMANPISTOL)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_MACHINEPISTOL)
// Sub machine guns
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_MICROSMG)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_SMG)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_COMBATPDW)
// Assault rifles
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_ASSAULTRIFLE)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_CARBINERIFLE)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_SPECIALCARBINE)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_ADVANCEDRIFLE)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_BULLPUPRIFLE)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_GUSENBERG)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_MUSKET)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_COMPACTRIFLE)
// Light machine guns
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_MG)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_COMBATMG)
// Shotguns
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_PUMPSHOTGUN)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_SAWNOFFSHOTGUN)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_ASSAULTSHOTGUN)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_HEAVYSHOTGUN)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_DBSHOTGUN)
// Sniper rifles
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_SNIPERRIFLE)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_HEAVYSNIPER)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_REMOTESNIPER)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_MARKSMANRIFLE)
// Heavy weapons
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_GRENADELAUNCHER)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_GRENADELAUNCHER_SMOKE)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_RPG)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_MINIGUN)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_HOMINGLAUNCHER)
// Special weapons
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_STUNGUN)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_PETROLCAN)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DIGISCANNER)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_FIREWORK)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_FLAREGUN)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_COMPACTLAUNCHER)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_AUTOSHOTGUN)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_MINISMG)
RETURN TRUE
ENDIF
IF bIncludeThrownWeapons
// Thrown weapons
IF IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_GRENADE)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_SMOKEGRENADE)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_STICKYBOMB)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_MOLOTOV)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_PROXMINE)
OR IS_PED_WEAPON_LOADED(pedID, WEAPONTYPE_DLC_PIPEBOMB)
RETURN TRUE
ENDIF
ENDIF
RETURN FALSE
ENDFUNC
/// PURPOSE: Returns TRUE if the player has a firearm in their inventory
FUNC BOOL HAS_PED_GOT_FIREARM(PED_INDEX pedID, BOOL bIncludeThrownWeapons = FALSE)
IF IS_PED_INJURED(pedID)
RETURN FALSE
ENDIF
// Pistols
IF HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_PISTOL)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_COMBATPISTOL)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_APPISTOL)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_SNSPISTOL)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_HEAVYPISTOL)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_VINTAGEPISTOL)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_MARKSMANPISTOL)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_MACHINEPISTOL)
// Sub machine guns
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_MICROSMG)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_SMG)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_COMBATPDW)
// Assault rifles
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_ASSAULTRIFLE)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_CARBINERIFLE)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_SPECIALCARBINE)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_ADVANCEDRIFLE)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_BULLPUPRIFLE)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_GUSENBERG)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_COMPACTRIFLE)
// Light machine guns
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_MG)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_COMBATMG)
// Shotguns
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_PUMPSHOTGUN)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_SAWNOFFSHOTGUN)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_ASSAULTSHOTGUN)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_HEAVYSHOTGUN)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_DBSHOTGUN)
// Sniper rifles
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_SNIPERRIFLE)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_HEAVYSNIPER)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_REMOTESNIPER)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_MARKSMANRIFLE)
// Heavy weapons
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_GRENADELAUNCHER)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_GRENADELAUNCHER_SMOKE)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_RPG)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_MINIGUN)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_HOMINGLAUNCHER)
// Special weapons
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_STUNGUN)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_PETROLCAN)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DIGISCANNER)
// Damage types
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_ELECTRIC_FENCE)
// Melee Weapons
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_KNIFE)
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_NIGHTSTICK)
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_HAMMER)
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_BAT)
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_CROWBAR)
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_BOTTLE)
// Vehicle weapons
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_VEHICLE_WEAPON_TANK)
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_VEHICLE_SPACE_ROCKET)
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_VEHICLE_PLAYER_LASER)
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_VEHICLE_PLAYER_BULLET)
// Held objects (phone, coffee, etc.)
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_OBJECT)
// Gadgets
//OR HAS_PED_GOT_WEAPON(pedID, GADGETTYPE_PARACHUTE)
// Ammo
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_AMMO_RPG)
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_AMMO_TANK)
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_AMMO_SPACE_ROCKET)
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_AMMO_PLAYER_LASER)
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_AMMO_ENEMY_LASER)
// Run over by a vehicle
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_RAMMEDBYVEHICLE)
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_RUNOVERBYVEHICLE)
// Explosion
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_EXPLOSION)
// Fall
//OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_FALL)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_COMPACTLAUNCHER)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_AUTOSHOTGUN)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_MINISMG)
OR HAS_PED_GOT_WEAPON(pedID,WEAPONTYPE_DLC_ASSAULTRIFLE_MK2 )
OR HAS_PED_GOT_WEAPON(pedID,WEAPONTYPE_DLC_CARBINERIFLE_MK2 )
OR HAS_PED_GOT_WEAPON(pedID,WEAPONTYPE_DLC_COMBATMG_MK2 )
OR HAS_PED_GOT_WEAPON(pedID,WEAPONTYPE_DLC_HEAVYSNIPER_MK2 )
OR HAS_PED_GOT_WEAPON(pedID,WEAPONTYPE_DLC_PISTOL_MK2 )
OR HAS_PED_GOT_WEAPON(pedID,WEAPONTYPE_DLC_SMG_MK2 )
RETURN TRUE
ENDIF
IF bIncludeThrownWeapons
// Thrown weapons
IF HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_GRENADE)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_SMOKEGRENADE)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_STICKYBOMB)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_MOLOTOV)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_PROXMINE)
OR HAS_PED_GOT_WEAPON(pedID, WEAPONTYPE_DLC_PIPEBOMB)
RETURN TRUE
ENDIF
ENDIF
RETURN FALSE
ENDFUNC
/// PURPOSE: sees if a weapon is conventional and therefor ammo can be bought at gang house.
FUNC BOOL IS_WEAPON_CONVENTIONAL(WEAPON_TYPE tempweapon)
SWITCH tempweapon
CASE WEAPONTYPE_STUNGUN
RETURN FALSE
BREAK
CASE WEAPONTYPE_APPISTOL
RETURN TRUE
BREAK
CASE WEAPONTYPE_COMBATPISTOL
RETURN TRUE
BREAK
CASE WEAPONTYPE_PISTOL
RETURN TRUE
BREAK
CASE WEAPONTYPE_MICROSMG
RETURN TRUE
BREAK
CASE WEAPONTYPE_SMG
RETURN TRUE
BREAK
CASE WEAPONTYPE_SAWNOFFSHOTGUN
RETURN TRUE
BREAK
CASE WEAPONTYPE_PUMPSHOTGUN
RETURN TRUE
BREAK
CASE WEAPONTYPE_ASSAULTSHOTGUN
RETURN TRUE
BREAK
CASE WEAPONTYPE_ASSAULTRIFLE
RETURN TRUE
BREAK
CASE WEAPONTYPE_CARBINERIFLE
RETURN TRUE
BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE
RETURN TRUE // Does a DLC weapon count as conventional? IS_WEAPON_CONVENTIONAL is never called anyway so it probably doesn't matter
BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL
RETURN TRUE // Does a DLC weapon count as conventional? IS_WEAPON_CONVENTIONAL is never called anyway so it probably doesn't matter
BREAK
CASE WEAPONTYPE_DLC_HEAVYPISTOL
RETURN TRUE // Does a DLC weapon count as conventional? IS_WEAPON_CONVENTIONAL is never called anyway so it probably doesn't matter
BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE
RETURN TRUE // Does a DLC weapon count as conventional? IS_WEAPON_CONVENTIONAL is never called anyway so it probably doesn't matter
BREAK
CASE WEAPONTYPE_DLC_GUSENBERG
RETURN TRUE // Does a DLC weapon count as conventional? IS_WEAPON_CONVENTIONAL is never called anyway so it probably doesn't matter
BREAK
CASE WEAPONTYPE_DLC_VINTAGEPISTOL
RETURN TRUE // Does a DLC weapon count as conventional? IS_WEAPON_CONVENTIONAL is never called anyway so it probably doesn't matter
BREAK
CASE WEAPONTYPE_ADVANCEDRIFLE
RETURN TRUE
BREAK
CASE WEAPONTYPE_SNIPERRIFLE
RETURN TRUE
BREAK
CASE WEAPONTYPE_HEAVYSNIPER
RETURN TRUE
BREAK
CASE WEAPONTYPE_MG
RETURN TRUE
BREAK
CASE WEAPONTYPE_COMBATMG
RETURN TRUE
BREAK
CASE WEAPONTYPE_RPG
RETURN FALSE
BREAK
CASE WEAPONTYPE_GRENADELAUNCHER
RETURN FALSE
BREAK
CASE WEAPONTYPE_MINIGUN
RETURN FALSE
BREAK
CASE WEAPONTYPE_SMOKEGRENADE
RETURN FALSE
BREAK
CASE WEAPONTYPE_GRENADE
RETURN FALSE
BREAK
CASE WEAPONTYPE_STICKYBOMB
RETURN FALSE
BREAK
CASE WEAPONTYPE_DLC_MUSKET
RETURN TRUE
BREAK
CASE WEAPONTYPE_DLC_FLAREGUN
RETURN FALSE
BREAK
CASE WEAPONTYPE_DLC_FIREWORK
RETURN FALSE
BREAK
CASE WEAPONTYPE_DLC_HEAVYSHOTGUN
RETURN TRUE // Does a DLC weapon count as conventional? IS_WEAPON_CONVENTIONAL is never called anyway so it probably doesn't matter
BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE
RETURN TRUE // Does a DLC weapon count as conventional? IS_WEAPON_CONVENTIONAL is never called anyway so it probably doesn't matter
BREAK
CASE WEAPONTYPE_DLC_PROXMINE
RETURN TRUE // Does a DLC weapon count as conventional? IS_WEAPON_CONVENTIONAL is never called anyway so it probably doesn't matter
BREAK
CASE WEAPONTYPE_DLC_HOMINGLAUNCHER
RETURN TRUE // Does a DLC weapon count as conventional? IS_WEAPON_CONVENTIONAL is never called anyway so it probably doesn't matter
BREAK
CASE WEAPONTYPE_DLC_COMBATPDW
RETURN TRUE // Does a DLC weapon count as conventional? IS_WEAPON_CONVENTIONAL is never called anyway so it probably doesn't matter
BREAK
CASE WEAPONTYPE_DLC_MARKSMANPISTOL
RETURN TRUE // Does a DLC weapon count as conventional? IS_WEAPON_CONVENTIONAL is never called anyway so it probably doesn't matter
BREAK
CASE WEAPONTYPE_DLC_MACHETE
CASE WEAPONTYPE_DLC_MACHINEPISTOL
RETURN TRUE // Does a DLC weapon count as conventional? IS_WEAPON_CONVENTIONAL is never called anyway so it probably doesn't matter
BREAK
CASE WEAPONTYPE_DLC_DBSHOTGUN
CASE WEAPONTYPE_DLC_COMPACTRIFLE
RETURN TRUE // Does a DLC weapon count as conventional? IS_WEAPON_CONVENTIONAL is never called anyway so it probably doesn't matter
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
/// PURPOSE: Returns the text label that represents the specified weapon compoenent name
FUNC STRING GET_WEAPON_COMPONENT_NAME(WEAPONCOMPONENT_TYPE eWeaponComponent, WEAPON_TYPE eWeapon = WEAPONTYPE_INVALID)
IF eWeapon = WEAPONTYPE_DLC_KNUCKLE
SWITCH eWeaponComponent
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_BASE RETURN "WT_KNUCKLE" BREAK // WEAPONCOMPONENT_INVALID
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_PIMP RETURN "WCT_KNUCK_02" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_BALLAS RETURN "WCT_KNUCK_BG" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_DOLLAR RETURN "WCT_KNUCK_DLR" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_DIAMOND RETURN "WCT_KNUCK_DMD" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_HATE RETURN "WCT_KNUCK_HT" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_LOVE RETURN "WCT_KNUCK_LV" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_PLAYER RETURN "WCT_KNUCK_PC" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_KING RETURN "WCT_KNUCK_SLG" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_VAGOS RETURN "WCT_KNUCK_VG" BREAK
ENDSWITCH
ENDIF
SWITCH eWeaponComponent
CASE WEAPONCOMPONENT_INVALID RETURN "WCT_NONE" BREAK
CASE WEAPONCOMPONENT_AT_RAILCOVER_01 RETURN "WCT_RAIL" BREAK
CASE WEAPONCOMPONENT_AT_AR_AFGRIP RETURN "WCT_GRIP" BREAK
CASE WEAPONCOMPONENT_AT_PI_FLSH RETURN "WCT_FLASH" BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH RETURN "WCT_FLASH" BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MACRO RETURN "WCT_SCOPE_MAC" BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MACRO_02 RETURN "WCT_SCOPE_MAC" BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_SMALL RETURN "WCT_SCOPE_SML" BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_SMALL_02 RETURN "WCT_SCOPE_SML" BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MEDIUM RETURN "WCT_SCOPE_MED" BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_LARGE RETURN "WCT_SCOPE_LRG" BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MAX RETURN "WCT_SCOPE_MAX" BREAK
CASE WEAPONCOMPONENT_AT_PI_SUPP RETURN "WCT_SUPP" BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP RETURN "WCT_SUPP" BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP_02 RETURN "WCT_SUPP" BREAK
CASE WEAPONCOMPONENT_AT_SR_SUPP RETURN "WCT_SUPP" BREAK
CASE WEAPONCOMPONENT_PISTOL_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_PISTOL_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_COMBATPISTOL_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_COMBATPISTOL_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_APPISTOL_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_APPISTOL_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_MICROSMG_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_MICROSMG_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_SMG_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_SMG_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_ASSAULTRIFLE_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_ASSAULTRIFLE_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_CARBINERIFLE_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_CARBINERIFLE_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_ADVANCEDRIFLE_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_ADVANCEDRIFLE_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_MG_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_MG_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_COMBATMG_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_COMBATMG_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_ASSAULTSHOTGUN_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_ASSAULTSHOTGUN_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_SNIPERRIFLE_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_HEAVYSNIPER_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_MINIGUN_CLIP_01 RETURN "WCT_CLIP2" BREAK
// DLC/SE/CE/SC
CASE WEAPONCOMPONENT_DLC_ASSAULTSMG_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTSMG_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL50_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL50_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTSNIPER_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTMG_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTMG_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_DLC_PROGRAMMABLEAR_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_PROGRAMMABLEAR_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_DLC_VINTAGEPISTOL_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_VINTAGEPISTOL_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSHOTGUN_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSHOTGUN_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_CLIP_02 RETURN "WCT_CLIP2" BREAK
#IF FEATURE_DLC_1_2022
CASE WEAPONCOMPONENT_DLC_TACTICALRIFLE_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_TACTICALRIFLE_CLIP_02 RETURN "WCT_CLIP2" BREAK
#ENDIF
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_LARGE_FIXED_ZOOM RETURN "WCT_SCOPE_LRG" BREAK
CASE WEAPONCOMPONENT_AT_PI_SUPP_02 RETURN "WCT_SUPP" BREAK
CASE WEAPONCOMPONENT_DLC_COMBATPDW_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_COMBATPDW_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANPISTOL_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_MACHINEPISTOL_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_MACHINEPISTOL_CLIP_02 RETURN "WCT_CLIP2" BREAK
// Engravements
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_VARMOD_LUXE RETURN "WCT_VAR_GOLD" BREAK
CASE WEAPONCOMPONENT_DLC_ADVANCEDRIFLE_VARMOD_LUXE RETURN "WCT_VAR_METAL" BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_VARMOD_LUXE RETURN "WCT_VAR_GOLD" BREAK
CASE WEAPONCOMPONENT_DLC_APPISTOL_VARMOD_LUXE RETURN "WCT_VAR_METAL" BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_VARMOD_LUXE RETURN "WCT_VAR_GOLD" BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL50_VARMOD_LUXE RETURN "WCT_VAR_SIL" BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYPISTOL_VARMOD_LUXE RETURN "WCT_VAR_WOOD" BREAK
CASE WEAPONCOMPONENT_DLC_SMG_VARMOD_LUXE RETURN "WCT_VAR_GOLD" BREAK
CASE WEAPONCOMPONENT_DLC_MICROSMG_VARMOD_LUXE RETURN "WCT_VAR_GOLD" BREAK
CASE WEAPONCOMPONENT_DLC_SAWNOFFSHOTGUN_VARMOD_LUXE RETURN "WCT_VAR_METAL" BREAK
CASE WEAPONCOMPONENT_DLC_SNIPERRIFLE_VARMOD_LUXE RETURN "WCT_VAR_WOOD" BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_VARMOD_LUXE RETURN "WCT_VAR_GOLD" BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTSMG_VARMOD_LOWRIDER RETURN "WCT_VAR_GOLD" BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_VARMOD_LOWRIDER RETURN "WCT_VAR_METAL" BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_VARMOD_LOWRIDER RETURN "WCT_VAR_ETCHM" BREAK
CASE WEAPONCOMPONENT_DLC_COMBATPISTOL_VARMOD_LOWRIDER RETURN "WCT_VAR_GOLD" BREAK
CASE WEAPONCOMPONENT_DLC_MG_VARMOD_LOWRIDER RETURN "WCT_VAR_GOLD" BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_VARMOD_LOWRIDER RETURN "WCT_VAR_GOLD" BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_VARMOD_LOWRIDER RETURN "WCT_VAR_WOOD" BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_VARMOD_LOWRIDER RETURN "WCT_VAR_ETCHM" BREAK
CASE WEAPONCOMPONENT_DLC_SWITCHBLADE_VARMOD_BASE RETURN "WCT_SB_BASE" BREAK
CASE WEAPONCOMPONENT_DLC_SWITCHBLADE_VARMOD_VAR1 RETURN "WCT_SB_VAR1" BREAK
CASE WEAPONCOMPONENT_DLC_SWITCHBLADE_VARMOD_VAR2 RETURN "WCT_SB_VAR2" BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_VARMOD_BOSS RETURN "WCT_REV_VARB" BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_VARMOD_GOON RETURN "WCT_REV_VARG" BREAK
CASE WEAPONCOMPONENT_DLC_SMG_CLIP_03 RETURN "WCT_CLIP_DRM" BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_CLIP_03 RETURN "WCT_CLIP_BOX" BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_CLIP_03 RETURN "WCT_CLIP_DRM" BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSHOTGUN_CLIP_03 RETURN "WCT_CLIP_DRM" BREAK
CASE WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE RETURN "WCT_VAR_GUN" BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_IND_01 RETURN "WCT_CAMO_IND" BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_IND_01 RETURN "WCT_CAMO_IND" BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_MACRO_02_MK2 RETURN "WCT_SCOPE_MAC2" BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_SMALL_MK2 RETURN "WCT_SCOPE_SML2" BREAK
CASE WEAPONCOMPONENT_DLC_RAYPISTOL_VARMOD_XMAS18 RETURN "WCT_VAR_RAY18" BREAK
CASE WEAPONCOMPONENT_DLC_CERAMICPISTOL_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_CERAMICPISTOL_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_DLC_CERAMICPISTOL_SUPP RETURN "WCT_SUPP" BREAK
#IF FEATURE_COPS_N_CROOKS
CASE WEAPONCOMPONENT_DLC_POLICERIFLE_CLIP_01 RETURN "WCT_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_POLICERIFLE_CLIP_02 RETURN "WCT_CLIP2" BREAK
CASE WEAPONCOMPONENT_DLC_POLICERIFLE_FLASH_01 RETURN "WCT_FLASH" BREAK
#ENDIF
CASE WEAPONCOMPONENT_DLC_HEAVYRIFLE_CAMO RETURN "WCT_VAR_FAM" BREAK
CASE WEAPONCOMPONENT_DLC_MICROSMG_VARMOD_SECURITY RETURN "WCT_VAR_WEED" BREAK
CASE WEAPONCOMPONENT_DLC_APPISTOL_VARMOD_SECURITY RETURN "WCT_VAR_STUD" BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_VARMOD_SECURITY RETURN "WCT_VAR_BONE" BREAK
// DLC Lookup
DEFAULT
IF eWeapon != WEAPONTYPE_INVALID
INT iDLCIndex
INT iComp
scrShopWeaponData weaponData
scrShopWeaponComponentData compData
iDLCIndex = GET_DLC_WEAPON_DATA_FOR_WEAPON_TYPE(eWeapon, weaponData)
IF iDLCIndex != -1
REPEAT GET_NUM_DLC_WEAPON_COMPONENTS(iDLCIndex) iComp
IF GET_DLC_WEAPON_COMPONENT_DATA(iDLCIndex, iComp, compData)
IF INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName) = eWeaponComponent
RETURN GET_DLC_WEAPON_STRING(compData.Label)
ENDIF
ENDIF
ENDREPEAT
ENDIF
ENDIF
BREAK
ENDSWITCH
RETURN "WCT_INVALID"
ENDFUNC
FUNC STRING GET_WEAPON_COMPONENT_DESCRIPTION(WEAPONCOMPONENT_TYPE eWeaponComponent, WEAPON_TYPE eWeapon = WEAPONTYPE_INVALID)
SWITCH eWeaponComponent
CASE WEAPONCOMPONENT_INVALID RETURN "WCD_NONE" BREAK
CASE WEAPONCOMPONENT_AT_RAILCOVER_01 RETURN "WCD_AT_RAIL" BREAK
CASE WEAPONCOMPONENT_AT_AR_AFGRIP RETURN "WCD_GRIP" BREAK
CASE WEAPONCOMPONENT_AT_PI_FLSH RETURN "WCD_FLASH" BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH RETURN "WCD_FLASH" BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MACRO RETURN "WCD_SCOPE_MAC" BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MACRO_02 RETURN "WCD_SCOPE_MAC" BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_SMALL RETURN "WCD_SCOPE_SML" BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_SMALL_02 RETURN "WCD_SCOPE_SML" BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MEDIUM RETURN "WCD_SCOPE_MED" BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_LARGE RETURN "WCD_SCOPE_LRG" BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MAX RETURN "WCD_SCOPE_MAX" BREAK
CASE WEAPONCOMPONENT_AT_PI_SUPP RETURN "WCD_PI_SUPP" BREAK
CASE WEAPONCOMPONENT_AT_PI_SUPP_02 RETURN "WCD_PI_SUPP" BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP RETURN "WCD_AR_SUPP" BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP_02 RETURN "WCD_AR_SUPP2" BREAK
CASE WEAPONCOMPONENT_AT_SR_SUPP RETURN "WCD_SR_SUPP" BREAK
CASE WEAPONCOMPONENT_PISTOL_CLIP_01 RETURN "WCD_P_CLIP1" BREAK
CASE WEAPONCOMPONENT_PISTOL_CLIP_02 RETURN "WCD_P_CLIP2" BREAK
CASE WEAPONCOMPONENT_COMBATPISTOL_CLIP_01 RETURN "WCD_CP_CLIP1" BREAK
CASE WEAPONCOMPONENT_COMBATPISTOL_CLIP_02 RETURN "WCD_CP_CLIP2" BREAK
CASE WEAPONCOMPONENT_APPISTOL_CLIP_01 RETURN "WCD_AP_CLIP1" BREAK
CASE WEAPONCOMPONENT_APPISTOL_CLIP_02 RETURN "WCD_AP_CLIP2" BREAK
CASE WEAPONCOMPONENT_MICROSMG_CLIP_01 RETURN "WCDMSMG_CLIP1" BREAK
CASE WEAPONCOMPONENT_MICROSMG_CLIP_02 RETURN "WCDMSMG_CLIP2" BREAK
CASE WEAPONCOMPONENT_SMG_CLIP_01 RETURN "WCD_SMG_CLIP1" BREAK
CASE WEAPONCOMPONENT_SMG_CLIP_02 RETURN "WCD_SMG_CLIP2" BREAK
CASE WEAPONCOMPONENT_ASSAULTRIFLE_CLIP_01 RETURN "WCD_AR_CLIP1" BREAK
CASE WEAPONCOMPONENT_ASSAULTRIFLE_CLIP_02 RETURN "WCD_AR_CLIP2" BREAK
CASE WEAPONCOMPONENT_CARBINERIFLE_CLIP_01 RETURN "WCD_CR_CLIP1" BREAK
CASE WEAPONCOMPONENT_CARBINERIFLE_CLIP_02 RETURN "WCD_CR_CLIP2" BREAK
CASE WEAPONCOMPONENT_ADVANCEDRIFLE_CLIP_01 RETURN "WCD_ADR_CLIP1" BREAK
CASE WEAPONCOMPONENT_ADVANCEDRIFLE_CLIP_02 RETURN "WCD_ADR_CLIP2" BREAK
CASE WEAPONCOMPONENT_MG_CLIP_01 RETURN "WCD_MG_CLIP1" BREAK
CASE WEAPONCOMPONENT_MG_CLIP_02 RETURN "WCD_MG_CLIP2" BREAK
CASE WEAPONCOMPONENT_COMBATMG_CLIP_01 RETURN "WCDCMG_CLIP1" BREAK
CASE WEAPONCOMPONENT_COMBATMG_CLIP_02 RETURN "WCDCMG_CLIP2" BREAK
CASE WEAPONCOMPONENT_ASSAULTSHOTGUN_CLIP_01 RETURN "WCD_AS_CLIP1" BREAK
CASE WEAPONCOMPONENT_ASSAULTSHOTGUN_CLIP_02 RETURN "WCD_AS_CLIP2" BREAK
CASE WEAPONCOMPONENT_SNIPERRIFLE_CLIP_01 RETURN "WCD_SR_CLIP1" BREAK
CASE WEAPONCOMPONENT_HEAVYSNIPER_CLIP_01 RETURN "WCD_HS_CLIP1" BREAK
CASE WEAPONCOMPONENT_MINIGUN_CLIP_01 RETURN "WCD_MIG_CLIP2" BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTSMG_CLIP_01 RETURN "WCD_ASMG_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTSMG_CLIP_02 RETURN "WCD_ASMG_CLIP2" BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL50_CLIP_01 RETURN "WCD_P50_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL50_CLIP_02 RETURN "WCD_P50_CLIP2" BREAK
// Luxe Engravements
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_VARMOD_LUXE RETURN "WCD_VAR_AR" BREAK
CASE WEAPONCOMPONENT_DLC_ADVANCEDRIFLE_VARMOD_LUXE RETURN "WCD_VAR_ADR" BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_VARMOD_LUXE RETURN "WCD_VAR_CR" BREAK
CASE WEAPONCOMPONENT_DLC_APPISTOL_VARMOD_LUXE RETURN "WCD_VAR_AP" BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_VARMOD_LUXE RETURN "WCD_VAR_P" BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL50_VARMOD_LUXE RETURN "WCD_VAR_P50" BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYPISTOL_VARMOD_LUXE RETURN "WCD_VAR_HPST" BREAK
CASE WEAPONCOMPONENT_DLC_SMG_VARMOD_LUXE RETURN "WCD_VAR_SMG" BREAK
CASE WEAPONCOMPONENT_DLC_MICROSMG_VARMOD_LUXE RETURN "WCD_VAR_MSMG" BREAK
CASE WEAPONCOMPONENT_DLC_SAWNOFFSHOTGUN_VARMOD_LUXE RETURN "WCD_VAR_SOF" BREAK
CASE WEAPONCOMPONENT_DLC_SNIPERRIFLE_VARMOD_LUXE RETURN "WCD_VAR_SNP" BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_VARMOD_LUXE RETURN "WCD_VAR_MKRF" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_PIMP RETURN "WCD_VAR_DESC" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_BALLAS RETURN "WCD_VAR_DESC" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_DOLLAR RETURN "WCD_VAR_DESC" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_DIAMOND RETURN "WCD_VAR_DESC" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_HATE RETURN "WCD_VAR_DESC" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_LOVE RETURN "WCD_VAR_DESC" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_PLAYER RETURN "WCD_VAR_DESC" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_KING RETURN "WCD_VAR_DESC" BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_VAGOS RETURN "WCD_VAR_DESC" BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTSMG_VARMOD_LOWRIDER RETURN "WCD_VAR_ASMG" BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_VARMOD_LOWRIDER RETURN "WCD_VAR_BPR" BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_VARMOD_LOWRIDER RETURN "WCD_VAR_CBMG" BREAK
CASE WEAPONCOMPONENT_DLC_COMBATPISTOL_VARMOD_LOWRIDER RETURN "WCD_VAR_CBP" BREAK
CASE WEAPONCOMPONENT_DLC_MG_VARMOD_LOWRIDER RETURN "WCD_VAR_MG" BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_VARMOD_LOWRIDER RETURN "WCD_VAR_PSHT" BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_VARMOD_LOWRIDER RETURN "WCD_VAR_SNS" BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_VARMOD_LOWRIDER RETURN "WCD_VAR_SCAR" BREAK
CASE WEAPONCOMPONENT_DLC_SWITCHBLADE_VARMOD_VAR1 RETURN "WCD_VAR_DESC" BREAK
CASE WEAPONCOMPONENT_DLC_SWITCHBLADE_VARMOD_VAR2 RETURN "WCD_VAR_DESC" BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_CLIP_01 RETURN "WCD_P_CLIP1" BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_VARMOD_BOSS RETURN "WCD_REV_VARB" BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_VARMOD_GOON RETURN "WCD_REV_VARG" BREAK
CASE WEAPONCOMPONENT_DLC_SMG_CLIP_03 RETURN "WCD_CLIP3" BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_CLIP_03 RETURN "WCD_CLIP3" BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_CLIP_03 RETURN "WCD_CLIP3" BREAK
CASE WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE RETURN "WCD_VAR_GUN" BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_02 RETURN "WCD_CLIP2" BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_MACRO_02_MK2 RETURN "WCD_SCOPE_MAC" BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_SMALL_MK2 RETURN "WCD_SCOPE_SML" BREAK
CASE WEAPONCOMPONENT_DLC_RAYPISTOL_VARMOD_XMAS18 RETURN "WCD_VAR_RAY18" BREAK
CASE WEAPONCOMPONENT_DLC_CERAMICPISTOL_CLIP_02 RETURN "WCD_CLIP2" BREAK
CASE WEAPONCOMPONENT_DLC_CERAMICPISTOL_SUPP RETURN "WCD_PI_SUPP" BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYRIFLE_CAMO RETURN "WCD_VAR_HRF" BREAK
CASE WEAPONCOMPONENT_DLC_MICROSMG_VARMOD_SECURITY RETURN "WCD_VAR_MSMG" BREAK
CASE WEAPONCOMPONENT_DLC_APPISTOL_VARMOD_SECURITY RETURN "WCD_VAR_AP" BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_VARMOD_SECURITY RETURN "WCD_VAR_PSHT" BREAK
// DLC Lookup
DEFAULT
IF eWeapon != WEAPONTYPE_INVALID
INT iDLCIndex
INT iComp
scrShopWeaponData weaponData
scrShopWeaponComponentData compData
iDLCIndex = GET_DLC_WEAPON_DATA_FOR_WEAPON_TYPE(eWeapon, weaponData)
IF iDLCIndex != -1
REPEAT GET_NUM_DLC_WEAPON_COMPONENTS(iDLCIndex) iComp
IF GET_DLC_WEAPON_COMPONENT_DATA(iDLCIndex, iComp, compData)
IF INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName) = eWeaponComponent
RETURN GET_DLC_WEAPON_STRING(compData.m_componentDesc)
ENDIF
ENDIF
ENDREPEAT
ENDIF
ENDIF
BREAK
ENDSWITCH
RETURN "WCD_INVALID"
ENDFUNC
FUNC BOOL IS_GUNCLUB_AMMO_TYPE_SPECIAL(AMMO_TYPE eAmmoType)
SWITCH eAmmoType
CASE AMMOTYPE_DLC_PISTOL_FMJ
CASE AMMOTYPE_DLC_PISTOL_HOLLOWPOINT
CASE AMMOTYPE_DLC_PISTOL_INCENDIARY
CASE AMMOTYPE_DLC_PISTOL_TRACER
CASE AMMOTYPE_DLC_SMG_FMJ
CASE AMMOTYPE_DLC_SMG_HOLLOWPOINT
CASE AMMOTYPE_DLC_SMG_INCENDIARY
CASE AMMOTYPE_DLC_SMG_TRACER
CASE AMMOTYPE_DLC_SNIPER_ARMORPIERCING
CASE AMMOTYPE_DLC_SNIPER_EXPLOSIVE
CASE AMMOTYPE_DLC_SNIPER_FMJ
CASE AMMOTYPE_DLC_SNIPER_INCENDIARY
CASE AMMOTYPE_DLC_MG_ARMORPIERCING
CASE AMMOTYPE_DLC_MG_FMJ
CASE AMMOTYPE_DLC_MG_INCENDIARY
CASE AMMOTYPE_DLC_MG_TRACER
CASE AMMOTYPE_DLC_RIFLE_ARMORPIERCING
CASE AMMOTYPE_DLC_RIFLE_FMJ
CASE AMMOTYPE_DLC_RIFLE_INCENDIARY
CASE AMMOTYPE_DLC_RIFLE_TRACER
CASE AMMOTYPE_DLC_SHOTGUN_ARMORPIERCING
CASE AMMOTYPE_DLC_SHOTGUN_EXPLOSIVE
CASE AMMOTYPE_DLC_SHOTGUN_HOLLOWPOINT
CASE AMMOTYPE_DLC_SHOTGUN_INCENDIARY
RETURN TRUE
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
/// PURPOSE: Returns weapon ammo type
FUNC AMMO_TYPE GET_GUNCLUB_AMMO_TYPE_FROM_PLAYER(WEAPON_TYPE eWeapon)
AMMO_TYPE eAmmoType
SWITCH eWeapon
CASE WEAPONTYPE_PISTOL
eAmmoType = AMMOTYPE_PISTOL
BREAK
CASE WEAPONTYPE_DLC_PISTOL_MK2
eAmmoType = AMMOTYPE_PISTOL
IF DOES_ENTITY_EXIST(PLAYER_PED_ID())
AND NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_PISTOL_MK2_CLIP_FMJ) eAmmoType = AMMOTYPE_DLC_PISTOL_FMJ ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_PISTOL_MK2_CLIP_HOLLOWPOINT) eAmmoType = AMMOTYPE_DLC_PISTOL_HOLLOWPOINT ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_PISTOL_MK2_CLIP_INCENDIARY) eAmmoType = AMMOTYPE_DLC_PISTOL_INCENDIARY ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_PISTOL_MK2_CLIP_TRACER) eAmmoType = AMMOTYPE_DLC_PISTOL_TRACER ENDIF
ENDIF
BREAK
CASE WEAPONTYPE_SMG
eAmmoType = AMMOTYPE_SMG
BREAK
CASE WEAPONTYPE_DLC_SMG_MK2
eAmmoType = AMMOTYPE_SMG
IF DOES_ENTITY_EXIST(PLAYER_PED_ID())
AND NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_SMG_MK2_CLIP_FMJ) eAmmoType = AMMOTYPE_DLC_SMG_FMJ ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_SMG_MK2_CLIP_HOLLOWPOINT) eAmmoType = AMMOTYPE_DLC_SMG_HOLLOWPOINT ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_SMG_MK2_CLIP_INCENDIARY) eAmmoType = AMMOTYPE_DLC_SMG_INCENDIARY ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_SMG_MK2_CLIP_TRACER) eAmmoType = AMMOTYPE_DLC_SMG_TRACER ENDIF
ENDIF
BREAK
CASE WEAPONTYPE_HEAVYSNIPER
eAmmoType = AMMOTYPE_SNIPER
BREAK
CASE WEAPONTYPE_DLC_HEAVYSNIPER_MK2
eAmmoType = AMMOTYPE_SNIPER
IF DOES_ENTITY_EXIST(PLAYER_PED_ID())
AND NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING) eAmmoType = AMMOTYPE_DLC_SNIPER_ARMORPIERCING ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE) eAmmoType = AMMOTYPE_DLC_SNIPER_EXPLOSIVE ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CLIP_FMJ) eAmmoType = AMMOTYPE_DLC_SNIPER_FMJ ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CLIP_INCENDIARY) eAmmoType = AMMOTYPE_DLC_SNIPER_INCENDIARY ENDIF
ENDIF
BREAK
CASE WEAPONTYPE_COMBATMG
eAmmoType = AMMOTYPE_MG
BREAK
CASE WEAPONTYPE_DLC_COMBATMG_MK2
eAmmoType = AMMOTYPE_MG
IF DOES_ENTITY_EXIST(PLAYER_PED_ID())
AND NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_COMBATMG_MK2_CLIP_ARMORPIERCING) eAmmoType = AMMOTYPE_DLC_MG_ARMORPIERCING ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_COMBATMG_MK2_CLIP_FMJ) eAmmoType = AMMOTYPE_DLC_MG_FMJ ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_COMBATMG_MK2_CLIP_INCENDIARY) eAmmoType = AMMOTYPE_DLC_MG_INCENDIARY ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_COMBATMG_MK2_CLIP_TRACER) eAmmoType = AMMOTYPE_DLC_MG_TRACER ENDIF
ENDIF
BREAK
CASE WEAPONTYPE_ASSAULTRIFLE
eAmmoType = AMMOTYPE_RIFLE
BREAK
CASE WEAPONTYPE_DLC_ASSAULTRIFLE_MK2
eAmmoType = AMMOTYPE_RIFLE
IF DOES_ENTITY_EXIST(PLAYER_PED_ID())
AND NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING) eAmmoType = AMMOTYPE_DLC_RIFLE_ARMORPIERCING ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CLIP_FMJ) eAmmoType = AMMOTYPE_DLC_RIFLE_FMJ ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CLIP_INCENDIARY) eAmmoType = AMMOTYPE_DLC_RIFLE_INCENDIARY ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CLIP_TRACER) eAmmoType = AMMOTYPE_DLC_RIFLE_TRACER ENDIF
ENDIF
BREAK
CASE WEAPONTYPE_CARBINERIFLE
eAmmoType = AMMOTYPE_RIFLE
BREAK
CASE WEAPONTYPE_DLC_CARBINERIFLE_MK2
eAmmoType = AMMOTYPE_RIFLE
IF DOES_ENTITY_EXIST(PLAYER_PED_ID())
AND NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CLIP_ARMORPIERCING) eAmmoType = AMMOTYPE_DLC_RIFLE_ARMORPIERCING ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CLIP_FMJ) eAmmoType = AMMOTYPE_DLC_RIFLE_FMJ ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CLIP_INCENDIARY) eAmmoType = AMMOTYPE_DLC_RIFLE_INCENDIARY ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CLIP_TRACER) eAmmoType = AMMOTYPE_DLC_RIFLE_TRACER ENDIF
ENDIF
BREAK
CASE WEAPONTYPE_PUMPSHOTGUN
eAmmoType = AMMOTYPE_SHOTGUN
BREAK
CASE WEAPONTYPE_DLC_PUMPSHOTGUN_MK2
eAmmoType = AMMOTYPE_SHOTGUN
IF DOES_ENTITY_EXIST(PLAYER_PED_ID())
AND NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CLIP_ARMORPIERCING) eAmmoType = AMMOTYPE_DLC_SHOTGUN_ARMORPIERCING ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CLIP_EXPLOSIVE) eAmmoType = AMMOTYPE_DLC_SHOTGUN_EXPLOSIVE ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CLIP_HOLLOWPOINT) eAmmoType = AMMOTYPE_DLC_SHOTGUN_HOLLOWPOINT ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CLIP_INCENDIARY) eAmmoType = AMMOTYPE_DLC_SHOTGUN_INCENDIARY ENDIF
ENDIF
BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE
eAmmoType = AMMOTYPE_RIFLE
BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE_MK2
eAmmoType = AMMOTYPE_RIFLE
IF DOES_ENTITY_EXIST(PLAYER_PED_ID())
AND NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CLIP_ARMORPIERCING) eAmmoType = AMMOTYPE_DLC_RIFLE_ARMORPIERCING ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CLIP_FMJ) eAmmoType = AMMOTYPE_DLC_RIFLE_FMJ ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CLIP_INCENDIARY) eAmmoType = AMMOTYPE_DLC_RIFLE_INCENDIARY ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CLIP_TRACER) eAmmoType = AMMOTYPE_DLC_RIFLE_TRACER ENDIF
ENDIF
BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL
eAmmoType = AMMOTYPE_PISTOL
BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL_MK2
eAmmoType = AMMOTYPE_PISTOL
IF DOES_ENTITY_EXIST(PLAYER_PED_ID())
AND NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_FMJ) eAmmoType = AMMOTYPE_DLC_PISTOL_FMJ ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_HOLLOWPOINT) eAmmoType = AMMOTYPE_DLC_PISTOL_HOLLOWPOINT ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_INCENDIARY) eAmmoType = AMMOTYPE_DLC_PISTOL_INCENDIARY ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_TRACER) eAmmoType = AMMOTYPE_DLC_PISTOL_TRACER ENDIF
ENDIF
BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE
eAmmoType = AMMOTYPE_SNIPER
BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE_MK2
eAmmoType = AMMOTYPE_SNIPER
IF DOES_ENTITY_EXIST(PLAYER_PED_ID())
AND NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CLIP_ARMORPIERCING) eAmmoType = AMMOTYPE_DLC_SNIPER_ARMORPIERCING ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CLIP_FMJ) eAmmoType = AMMOTYPE_DLC_SNIPER_FMJ ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CLIP_INCENDIARY) eAmmoType = AMMOTYPE_DLC_SNIPER_INCENDIARY ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CLIP_TRACER) eAmmoType = AMMOTYPE_DLC_SNIPER_TRACER ENDIF
ENDIF
BREAK
CASE WEAPONTYPE_DLC_REVOLVER
eAmmoType = AMMOTYPE_PISTOL
BREAK
CASE WEAPONTYPE_DLC_REVOLVER_MK2
eAmmoType = AMMOTYPE_PISTOL
IF DOES_ENTITY_EXIST(PLAYER_PED_ID())
AND NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_REVOLVER_MK2_CLIP_FMJ) eAmmoType = AMMOTYPE_DLC_PISTOL_FMJ ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_REVOLVER_MK2_CLIP_HOLLOWPOINT) eAmmoType = AMMOTYPE_DLC_PISTOL_HOLLOWPOINT ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_REVOLVER_MK2_CLIP_INCENDIARY) eAmmoType = AMMOTYPE_DLC_PISTOL_INCENDIARY ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_REVOLVER_MK2_CLIP_TRACER) eAmmoType = AMMOTYPE_DLC_PISTOL_TRACER ENDIF
ENDIF
BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE
eAmmoType = AMMOTYPE_RIFLE
BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE_MK2
eAmmoType = AMMOTYPE_RIFLE
IF DOES_ENTITY_EXIST(PLAYER_PED_ID())
AND NOT IS_ENTITY_DEAD(PLAYER_PED_ID())
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CLIP_ARMORPIERCING) eAmmoType = AMMOTYPE_DLC_RIFLE_ARMORPIERCING ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CLIP_FMJ) eAmmoType = AMMOTYPE_DLC_RIFLE_FMJ ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CLIP_INCENDIARY) eAmmoType = AMMOTYPE_DLC_RIFLE_INCENDIARY ENDIF
IF HAS_PED_GOT_WEAPON_COMPONENT(PLAYER_PED_ID(), eWeapon, WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CLIP_TRACER) eAmmoType = AMMOTYPE_DLC_RIFLE_TRACER ENDIF
ENDIF
BREAK
ENDSWITCH
RETURN eAmmoType
ENDFUNC
FUNC BOOL GET_AMMO_BOUGHT_STAT_FOR_WEAPON(WEAPON_TYPE eWeapon, MP_INT_STATS &eStat, WEAPONCOMPONENT_TYPE acomponent = WEAPONCOMPONENT_INVALID)
IF GET_CURRENT_GAMEMODE() = GAMEMODE_FM OR GET_JOINING_GAMEMODE() = GAMEMODE_FM
SWITCH eWeapon
CASE WEAPONTYPE_KNIFE eStat = MP_STAT_KNIFE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_NIGHTSTICK eStat = MP_STAT_NIGHTSTICK_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_PISTOL eStat = MP_STAT_PISTOL_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_COMBATPISTOL eStat = MP_STAT_CMBTPISTOL_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_APPISTOL eStat = MP_STAT_APPISTOL_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_MICROSMG eStat = MP_STAT_MICROSMG_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_SMG eStat = MP_STAT_SMG_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_ASSAULTRIFLE eStat = MP_STAT_ASLTRIFLE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_CARBINERIFLE eStat = MP_STAT_CRBNRIFLE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE eStat = MP_STAT_SPCARBINE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_ADVANCEDRIFLE eStat = MP_STAT_ADVRIFLE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_MG eStat = MP_STAT_MG_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_COMBATMG eStat = MP_STAT_CMBTMG_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_PUMPSHOTGUN eStat = MP_STAT_PUMP_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_SAWNOFFSHOTGUN eStat = MP_STAT_SAWNOFF_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_ASSAULTSHOTGUN eStat = MP_STAT_ASLTSHTGN_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_STUNGUN eStat = MP_STAT_STUNGUN_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_SNIPERRIFLE eStat = MP_STAT_SNIPERRFL_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_HEAVYSNIPER eStat = MP_STAT_HVYSNIPER_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_GRENADELAUNCHER eStat = MP_STAT_GRNLAUNCH_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_RPG eStat = MP_STAT_RPG_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_MINIGUN eStat = MP_STAT_MINIGUNS_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_GRENADE eStat = MP_STAT_GRENADE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_SMOKEGRENADE eStat = MP_STAT_SMKGRENADE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_STICKYBOMB eStat = MP_STAT_STKYBMB_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE GADGETTYPE_PARACHUTE eStat = MP_STAT_PARACHUTE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_PETROLCAN eStat = MP_STAT_PETROLCAN_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_PISTOL50 eStat = MP_STAT_PISTOL50_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_ASSAULTMG eStat = MP_STAT_ASLTMG_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_ASSAULTSMG eStat = MP_STAT_ASLTSMG_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_ASSAULTSNIPER eStat = MP_STAT_ASLTSNIP_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_HAMMER eStat = MP_STAT_HAMMER_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN eStat = MP_STAT_BULLPUP_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_BOTTLE eStat = MP_STAT_BOTTLE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL eStat = MP_STAT_SNSPISTOL_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_HEAVYPISTOL eStat = MP_STAT_HVYPISTOL_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE eStat = MP_STAT_BULLRIFLE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_GUSENBERG eStat = MP_STAT_GUSNBRG_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_VINTAGEPISTOL eStat = MP_STAT_VPISTOL_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_DAGGER eStat = MP_STAT_DAGGER_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_MUSKET eStat = MP_STAT_MUSKET_FM_AMMO_BOUGHT RETURN TRUE BREAK
#IF IS_DEBUG_BUILD
CASE WEAPONTYPE_DLC_FLAREGUN eStat = MP_STAT_FLAREGUN_FM_AMMO_BOUGHT RETURN TRUE BREAK
#ENDIF
CASE WEAPONTYPE_DLC_FIREWORK eStat = MP_STAT_FIREWRK_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_HEAVYSHOTGUN eStat = MP_STAT_HVYSHGN_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE eStat = MP_STAT_MKRIFLE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_PROXMINE eStat = MP_STAT_PRXMINE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_HOMINGLAUNCHER eStat = MP_STAT_HOMLNCH_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_COMBATPDW eStat = MP_STAT_COMBATPDW_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_KNUCKLE eStat = MP_STAT_KNUCKLE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_MARKSMANPISTOL eStat = MP_STAT_MKPISTOL_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_HATCHET eStat = MP_STAT_HATCHET_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_MACHETE eStat = MP_STAT_MACHETE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_MACHINEPISTOL eStat = MP_STAT_MCHPIST_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_DBSHOTGUN eStat = MP_STAT_DBSHGN_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_COMPACTRIFLE eStat = MP_STAT_CMPRIFLE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_FLASHLIGHT eStat = MP_STAT_FLASHLIGHT_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_AUTOSHOTGUN eStat = MP_STAT_AUTOSHGN_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_MINISMG eStat = MP_STAT_MINISMG_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_COMPACTLAUNCHER eStat = MP_STAT_CMPGL_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_BATTLEAXE eStat = MP_STAT_BATTLEAXE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_PIPEBOMB eStat = MP_STAT_PIPEBOMB_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_POOLCUE eStat = MP_STAT_POOLCUE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_WRENCH eStat = MP_STAT_WRENCH_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_ASSAULTRIFLE_MK2
IF acomponent = WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING
eStat = MP_STAT_ASLTRIFLEARMPIERAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CLIP_FMJ
eStat = MP_STAT_ASLTRIFLEFMJAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CLIP_INCENDIARY
eStat = MP_STAT_ASLTRIFLEINCENAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CLIP_TRACER
eStat = MP_STAT_ASLTRIFLETRACERAMMOCURRENT RETURN TRUE BREAK
ELSE
eStat = MP_STAT_ASLTRIFLE_FM_AMMO_CURRENT RETURN TRUE BREAK
ENDIF
BREAK
CASE WEAPONTYPE_DLC_CARBINERIFLE_MK2
IF acomponent = WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CLIP_ARMORPIERCING eStat =MP_STAT_CRBNRIFLEARMPIERAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CLIP_FMJ eStat = MP_STAT_CRBNRIFLEFMJAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CLIP_INCENDIARY eStat = MP_STAT_CRBNRIFLEINCENAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CLIP_TRACER eStat = MP_STAT_CRBNRIFLETRACERAMMOCURRENT RETURN TRUE BREAK
ELSE
eStat = MP_STAT_CRBNRIFLE_FM_AMMO_CURRENT RETURN TRUE BREAK
ENDIF
BREAK
CASE WEAPONTYPE_DLC_COMBATMG_MK2
IF acomponent = WEAPONCOMPONENT_DLC_COMBATMG_MK2_CLIP_ARMORPIERCING eStat = MP_STAT_CMBTMGARMPIERAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_COMBATMG_MK2_CLIP_FMJ eStat = MP_STAT_CMBTMGFMJAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_COMBATMG_MK2_CLIP_INCENDIARY eStat = MP_STAT_CMBTMGINCENAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_COMBATMG_MK2_CLIP_TRACER eStat = MP_STAT_CMBTMGTRACERAMMOCURRENT RETURN TRUE BREAK
ELSE
eStat = MP_STAT_CMBTMG_FM_AMMO_CURRENT RETURN TRUE BREAK
ENDIF
BREAK
CASE WEAPONTYPE_DLC_HEAVYSNIPER_MK2
IF acomponent = WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING eStat = MP_STAT_HVYSNIPERARMPIERAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE eStat = MP_STAT_HVYSNIPEREXPLOSAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CLIP_FMJ eStat = MP_STAT_HVYSNIPERFMJAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CLIP_INCENDIARY eStat = MP_STAT_HVYSNIPERINCENAMMOCURRENT RETURN TRUE BREAK
ELSE
eStat = MP_STAT_HVYSNIPER_FM_AMMO_CURRENT RETURN TRUE BREAK
ENDIF
BREAK
CASE WEAPONTYPE_DLC_PISTOL_MK2
IF acomponent = WEAPONCOMPONENT_DLC_PISTOL_MK2_CLIP_FMJ eStat = MP_STAT_PISTOLFMJAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_PISTOL_MK2_CLIP_HOLLOWPOINT eStat = MP_STAT_PISTOLHOLLOWAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_PISTOL_MK2_CLIP_INCENDIARY eStat = MP_STAT_PISTOLINCENAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_PISTOL_MK2_CLIP_TRACER eStat = MP_STAT_PISTOLTRACERAMMOCURRENT RETURN TRUE BREAK
ELSE
eStat = MP_STAT_PISTOL_FM_AMMO_CURRENT RETURN TRUE BREAK
ENDIF
BREAK
CASE WEAPONTYPE_DLC_SMG_MK2
IF acomponent = WEAPONCOMPONENT_DLC_SMG_MK2_CLIP_FMJ eStat = MP_STAT_SMGFMJAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_SMG_MK2_CLIP_HOLLOWPOINT eStat = MP_STAT_SMGHOLLOWAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_SMG_MK2_CLIP_INCENDIARY eStat = MP_STAT_SMGINCENAMMOCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_SMG_MK2_CLIP_TRACER eStat = MP_STAT_SMGTRACERAMMOCURRENT RETURN TRUE BREAK
ELSE
eStat = MP_STAT_SMG_FM_AMMO_CURRENT RETURN TRUE BREAK
ENDIF
BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE_MK2
IF acomponent = WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CLIP_ARMORPIERCING eStat = MP_STAT_BULLRIFARMORPIERCINGCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CLIP_FMJ eStat = MP_STAT_BULLRIFFMJCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CLIP_INCENDIARY eStat = MP_STAT_BULLRIFINCENDIARYCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CLIP_TRACER eStat = MP_STAT_BULLRIFTRACERCURRENT RETURN TRUE BREAK
ELSE
//eStat = MP_STAT_BLRIFLE_MK2_FM_AMMO_CURRENT RETURN TRUE BREAK
eStat = MP_STAT_BULLRIFLE_FM_AMMO_CURRENT RETURN TRUE BREAK
ENDIF
RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE_MK2
IF acomponent = WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CLIP_ARMORPIERCING eStat = MP_STAT_MARKSNIPARMORPIERCCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CLIP_FMJ eStat = MP_STAT_MARKSNIPFMJCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CLIP_INCENDIARY eStat = MP_STAT_MARKSNIPINCENDIARYCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CLIP_TRACER eStat = MP_STAT_MARKSNIPTRACERCURRENT RETURN TRUE BREAK
ELSE
//eStat = MP_STAT_MKRIFLE_MK2_FM_AMMO_CURRENT RETURN TRUE BREAK
eStat = MP_STAT_MKRIFLE_FM_AMMO_CURRENT RETURN TRUE BREAK
ENDIF
RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_PUMPSHOTGUN_MK2
IF acomponent = WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CLIP_ARMORPIERCING eStat = MP_STAT_SHOTGARMORPIERCINGCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CLIP_EXPLOSIVE eStat = MP_STAT_SHOTGEXPLOSIVECURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CLIP_HOLLOWPOINT eStat = MP_STAT_SHOTGHOLLOWPOINTCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CLIP_INCENDIARY eStat = MP_STAT_SHOTGINCENDIARYCURRENT RETURN TRUE BREAK
ELSE
//eStat = MP_STAT_PUMP_MK2_FM_AMMO_CURRENT RETURN TRUE BREAK
eStat = MP_STAT_PUMP_FM_AMMO_CURRENT RETURN TRUE BREAK
ENDIF
RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_REVOLVER_MK2
IF acomponent = WEAPONCOMPONENT_DLC_REVOLVER_MK2_CLIP_FMJ eStat = MP_STAT_REVOLVEFMJCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_REVOLVER_MK2_CLIP_HOLLOWPOINT eStat = MP_STAT_REVOLVEHOLLOWPOINTCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_REVOLVER_MK2_CLIP_INCENDIARY eStat = MP_STAT_REVOLVEINCENDIARYCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_REVOLVER_MK2_CLIP_TRACER eStat = MP_STAT_REVOLVETRACERCURRENT RETURN TRUE BREAK
ELSE
//eStat = MP_STAT_REV_MK2_FM_AMMO_CURRENT RETURN TRUE BREAK
eStat = MP_STAT_REVOLVER_FM_AMMO_CURRENT RETURN TRUE BREAK
ENDIF
RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL_MK2
IF acomponent = WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_FMJ eStat = MP_STAT_SNSPISFMJCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_HOLLOWPOINT eStat = MP_STAT_SNSPISHOLLOWPOINTCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_INCENDIARY eStat = MP_STAT_SNSPISINCENDIARYCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_TRACER eStat = MP_STAT_SNSPISTRACERCURRENT RETURN TRUE BREAK
ELSE
//eStat = MP_STAT_SNSPIST_MK2_FM_AMMO_CURRENT RETURN TRUE BREAK
eStat = MP_STAT_SNSPISTOL_FM_AMMO_CURRENT RETURN TRUE BREAK
ENDIF
RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE_MK2
IF acomponent = WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CLIP_ARMORPIERCING eStat = MP_STAT_SPCARBIARMORPIERCINGCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CLIP_FMJ eStat = MP_STAT_SPCARBIFMJCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CLIP_INCENDIARY eStat = MP_STAT_SPCARBIINCENDIARYCURRENT RETURN TRUE BREAK
ELIF acomponent = WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CLIP_TRACER eStat = MP_STAT_SPCARBITRACERCURRENT RETURN TRUE BREAK
ELSE
eStat = MP_STAT_SPCARBINE_FM_AMMO_CURRENT RETURN TRUE BREAK
ENDIF
RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_RAYPISTOL RETURN eStat = MP_STAT_RAYPISTOL_FM_AMMO_CURRENT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_RAYCARBINE RETURN eStat = MP_STAT_RAYCARBINE_FM_AMMO_CURRENT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_RAYMINIGUN RETURN eStat = MP_STAT_RAYMINIGUN_FM_AMMO_CURRENT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_NAVYREVOLVER RETURN eStat = MP_STAT_REV_NV_FM_AMMO_CURRENT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_CERAMICPISTOL RETURN eStat = MP_STAT_CERPST_FM_AMMO_CURRENT RETURN TRUE BREAK
#IF FEATURE_COPS_N_CROOKS
CASE WEAPONTYPE_DLC_RIOTSMG RETURN eStat = MP_STAT_RIOT_SMG_FM_AMMO_CURRENT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_POLICERIFLE RETURN eStat = MP_STAT_PLCRIFLE_FM_AMMO_CURRENT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_BATON RETURN eStat = MP_STAT_BATON_FM_AMMO_CURRENT RETURN TRUE BREAK
#ENDIF
#IF FEATURE_HEIST_ISLAND
CASE WEAPONTYPE_DLC_GADGETPISTOL RETURN eStat = MP_STAT_GDGTPST_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_MILITARYRIFLE RETURN eStat = MP_STAT_MLTRYRFL_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_COMBATSHOTGUN RETURN eStat = MP_STAT_CMBSHGN_FM_AMMO_BOUGHT RETURN TRUE BREAK
#ENDIF
#IF FEATURE_FIXER
CASE WEAPONTYPE_DLC_EMPLAUNCHER RETURN eStat = MP_STAT_EMPGL_FM_AMMO_CURRENT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_FERTILIZERCAN RETURN eStat = MP_STAT_FETLIZRCN_FM_AMMO_CURRENT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_STUNGUNG_MP RETURN eStat = MP_STAT_STNGNMP_FM_AMMO_CURRENT RETURN TRUE BREAK
#ENDIF
#IF FEATURE_DLC_1_2022
CASE WEAPONTYPE_DLC_METALDETECTOR RETURN eStat = MP_STAT_MTL_DETECT_FM_AMMO_CURRENT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_TACTICALRIFLE RETURN eStat = MP_STAT_TACRIFLE_FM_AMMO_BOUGHT RETURN TRUE BREAK
CASE WEAPONTYPE_DLC_PRECISIONRIFLE RETURN eStat = MP_STAT_PRCSRIFLE_FM_AMMO_BOUGHT RETURN TRUE BREAK
#ENDIF
ENDSWITCH
ENDIF
RETURN FALSE
ENDFUNC
FUNC MP_INT_STATS GET_AMMO_BOUGHT_FOR_WEAPON(WEAPON_TYPE eWeapon)
IF GET_CURRENT_GAMEMODE() = GAMEMODE_FM OR GET_JOINING_GAMEMODE() = GAMEMODE_FM
SWITCH eWeapon
CASE WEAPONTYPE_KNIFE RETURN MP_STAT_KNIFE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_NIGHTSTICK RETURN MP_STAT_NIGHTSTICK_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_PISTOL RETURN MP_STAT_PISTOL_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_COMBATPISTOL RETURN MP_STAT_CMBTPISTOL_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_APPISTOL RETURN MP_STAT_APPISTOL_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL RETURN MP_STAT_SNSPISTOL_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_MICROSMG RETURN MP_STAT_MICROSMG_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_SMG RETURN MP_STAT_SMG_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_ASSAULTRIFLE RETURN MP_STAT_ASLTRIFLE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_CARBINERIFLE RETURN MP_STAT_CRBNRIFLE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE RETURN MP_STAT_SPCARBINE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_ADVANCEDRIFLE RETURN MP_STAT_ADVRIFLE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_MG RETURN MP_STAT_MG_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_COMBATMG RETURN MP_STAT_CMBTMG_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_PUMPSHOTGUN RETURN MP_STAT_PUMP_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_SAWNOFFSHOTGUN RETURN MP_STAT_SAWNOFF_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_ASSAULTSHOTGUN RETURN MP_STAT_ASLTSHTGN_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_STUNGUN RETURN MP_STAT_STUNGUN_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_SNIPERRIFLE RETURN MP_STAT_SNIPERRFL_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_HEAVYSNIPER RETURN MP_STAT_HVYSNIPER_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_GRENADELAUNCHER RETURN MP_STAT_GRNLAUNCH_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_RPG RETURN MP_STAT_RPG_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_MINIGUN RETURN MP_STAT_MINIGUNS_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_GRENADE RETURN MP_STAT_GRENADE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_SMOKEGRENADE RETURN MP_STAT_SMKGRENADE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_STICKYBOMB RETURN MP_STAT_STKYBMB_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_MOLOTOV RETURN MP_STAT_MOLOTOV_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_PETROLCAN RETURN MP_STAT_PETROLCAN_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_PISTOL50 RETURN MP_STAT_PISTOL50_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_ASSAULTMG RETURN MP_STAT_ASLTMG_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_ASSAULTSMG RETURN MP_STAT_ASLTSMG_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_ASSAULTSNIPER RETURN MP_STAT_ASLTSNIP_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_HAMMER RETURN MP_STAT_HAMMER_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN RETURN MP_STAT_BULLPUP_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_BOTTLE RETURN MP_STAT_BOTTLE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_HEAVYPISTOL RETURN MP_STAT_HVYPISTOL_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE RETURN MP_STAT_BULLRIFLE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_GUSENBERG RETURN MP_STAT_GUSNBRG_FM_AMMO_BOUGHT BREAK
CASE GADGETTYPE_PARACHUTE RETURN MP_STAT_PARACHUTE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_VINTAGEPISTOL RETURN MP_STAT_VPISTOL_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_DAGGER RETURN MP_STAT_DAGGER_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_MUSKET RETURN MP_STAT_MUSKET_FM_AMMO_BOUGHT BREAK
#IF IS_DEBUG_BUILD
CASE WEAPONTYPE_DLC_FLAREGUN RETURN MP_STAT_FLAREGUN_FM_AMMO_BOUGHT BREAK
#ENDIF
CASE WEAPONTYPE_DLC_FIREWORK RETURN MP_STAT_FIREWRK_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_HEAVYSHOTGUN RETURN MP_STAT_HVYSHGN_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE RETURN MP_STAT_MKRIFLE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_PROXMINE RETURN MP_STAT_PRXMINE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_HOMINGLAUNCHER RETURN MP_STAT_HOMLNCH_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_COMBATPDW RETURN MP_STAT_COMBATPDW_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_KNUCKLE RETURN MP_STAT_KNUCKLE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_MARKSMANPISTOL RETURN MP_STAT_MKPISTOL_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_HATCHET RETURN MP_STAT_HATCHET_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_MACHETE RETURN MP_STAT_MACHETE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_MACHINEPISTOL RETURN MP_STAT_MCHPIST_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_DBSHOTGUN RETURN MP_STAT_DBSHGN_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_COMPACTRIFLE RETURN MP_STAT_CMPRIFLE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_FLASHLIGHT RETURN MP_STAT_FLASHLIGHT_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_GOLFCLUB RETURN MP_STAT_GCLUB_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_BAT RETURN MP_STAT_BAT_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_CROWBAR RETURN MP_STAT_CROWBAR_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_AUTOSHOTGUN RETURN MP_STAT_AUTOSHGN_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_MINISMG RETURN MP_STAT_MINISMG_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_COMPACTLAUNCHER RETURN MP_STAT_CMPGL_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_BATTLEAXE RETURN MP_STAT_BATTLEAXE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_PIPEBOMB RETURN MP_STAT_PIPEBOMB_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_POOLCUE RETURN MP_STAT_POOLCUE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_WRENCH RETURN MP_STAT_WRENCH_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_ASSAULTRIFLE_MK2 RETURN MP_STAT_ASLTRIFLE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_CARBINERIFLE_MK2 RETURN MP_STAT_CRBNRIFLE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_COMBATMG_MK2 RETURN MP_STAT_CMBTMG_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_HEAVYSNIPER_MK2 RETURN MP_STAT_HVYSNIPER_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_PISTOL_MK2 RETURN MP_STAT_PISTOL_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_SMG_MK2 RETURN MP_STAT_SMG_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE_MK2 RETURN MP_STAT_BLRIFLE_MK2_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE_MK2 RETURN MP_STAT_MKRIFLE_MK2_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_PUMPSHOTGUN_MK2 RETURN MP_STAT_PUMP_MK2_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_REVOLVER_MK2 RETURN MP_STAT_REV_MK2_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL_MK2 RETURN MP_STAT_SNSPIST_MK2_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE_MK2 RETURN MP_STAT_SPCARB_MK2_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_RAYPISTOL RETURN MP_STAT_RAYPISTOL_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_RAYCARBINE RETURN MP_STAT_RAYCARBINE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_RAYMINIGUN RETURN MP_STAT_RAYMINIGUN_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_NAVYREVOLVER RETURN MP_STAT_REV_NV_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_CERAMICPISTOL RETURN MP_STAT_CERPST_FM_AMMO_BOUGHT BREAK
#IF FEATURE_COPS_N_CROOKS
CASE WEAPONTYPE_DLC_POLICERIFLE RETURN MP_STAT_PLCRIFLE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_BATON RETURN MP_STAT_BATON_FM_AMMO_BOUGHT BREAK
#ENDIF
#IF FEATURE_HEIST_ISLAND
CASE WEAPONTYPE_DLC_MILITARYRIFLE RETURN MP_STAT_MLTRYRFL_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_GADGETPISTOL RETURN MP_STAT_GDGTPST_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_COMBATSHOTGUN RETURN MP_STAT_CMBSHGN_FM_AMMO_BOUGHT BREAK
#ENDIF
#IF FEATURE_FIXER
CASE WEAPONTYPE_DLC_EMPLAUNCHER RETURN MP_STAT_EMPGL_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_FERTILIZERCAN RETURN MP_STAT_FETLIZRCN_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_STUNGUNG_MP RETURN MP_STAT_STNGNMP_FM_AMMO_BOUGHT BREAK
#ENDIF
#IF FEATURE_DLC_1_2022
CASE WEAPONTYPE_DLC_METALDETECTOR RETURN MP_STAT_MTL_DETECT_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_TACTICALRIFLE RETURN MP_STAT_TACRIFLE_FM_AMMO_BOUGHT BREAK
CASE WEAPONTYPE_DLC_PRECISIONRIFLE RETURN MP_STAT_PRCSRIFLE_FM_AMMO_BOUGHT BREAK
#ENDIF
ENDSWITCH
ENDIF
RETURN MP_STAT_STKYBMB_FM_AMMO_BOUGHT
ENDFUNC
FUNC MP_INT_STATS GET_AMMO_CURRENT_FOR_WEAPON(WEAPON_TYPE eWeapon)
IF GET_CURRENT_GAMEMODE() = GAMEMODE_FM OR GET_JOINING_GAMEMODE() = GAMEMODE_FM
SWITCH eWeapon
CASE WEAPONTYPE_KNIFE RETURN MP_STAT_KNIFE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_PISTOL RETURN MP_STAT_PISTOL_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_COMBATPISTOL RETURN MP_STAT_CMBTPISTOL_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_APPISTOL RETURN MP_STAT_APPISTOL_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_MICROSMG RETURN MP_STAT_MICROSMG_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_SMG RETURN MP_STAT_SMG_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_ASSAULTRIFLE RETURN MP_STAT_ASLTRIFLE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_CARBINERIFLE RETURN MP_STAT_CRBNRIFLE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE RETURN MP_STAT_SPCARBINE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_ADVANCEDRIFLE RETURN MP_STAT_ADVRIFLE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_MG RETURN MP_STAT_MG_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_COMBATMG RETURN MP_STAT_CMBTMG_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_PUMPSHOTGUN RETURN MP_STAT_PUMP_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_SAWNOFFSHOTGUN RETURN MP_STAT_SAWNOFF_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_ASSAULTSHOTGUN RETURN MP_STAT_ASLTSHTGN_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_STUNGUN RETURN MP_STAT_STUNGUN_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_SNIPERRIFLE RETURN MP_STAT_SNIPERRFL_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_HEAVYSNIPER RETURN MP_STAT_HVYSNIPER_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_GRENADELAUNCHER RETURN MP_STAT_GRNLAUNCH_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_RPG RETURN MP_STAT_RPG_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_MINIGUN RETURN MP_STAT_MINIGUNS_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_GRENADE RETURN MP_STAT_GRENADE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_SMOKEGRENADE RETURN MP_STAT_SMKGRENADE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_STICKYBOMB RETURN MP_STAT_STKYBMB_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_MOLOTOV RETURN MP_STAT_MOLOTOV_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_PETROLCAN RETURN MP_STAT_PETROLCAN_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_NIGHTSTICK RETURN MP_STAT_NIGHTSTICK_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_PISTOL50 RETURN MP_STAT_PISTOL50_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_ASSAULTMG RETURN MP_STAT_ASLTMG_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_ASSAULTSMG RETURN MP_STAT_ASLTSMG_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_ASSAULTSNIPER RETURN MP_STAT_ASLTSNIP_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_HAMMER RETURN MP_STAT_HAMMER_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN RETURN MP_STAT_BULLPUP_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_BOTTLE RETURN MP_STAT_BOTTLE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL RETURN MP_STAT_SNSPISTOL_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_HEAVYPISTOL RETURN MP_STAT_HVYPISTOL_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE RETURN MP_STAT_BULLRIFLE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_GUSENBERG RETURN MP_STAT_GUSNBRG_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_VINTAGEPISTOL RETURN MP_STAT_VPISTOL_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_DAGGER RETURN MP_STAT_DAGGER_FM_AMMO_CURRENT BREAK
#IF IS_DEBUG_BUILD
CASE WEAPONTYPE_DLC_FLAREGUN RETURN MP_STAT_FLAREGUN_FM_AMMO_CURRENT BREAK
#ENDIF
CASE WEAPONTYPE_DLC_MUSKET RETURN MP_STAT_MUSKET_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_FIREWORK RETURN MP_STAT_FIREWRK_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_HEAVYSHOTGUN RETURN MP_STAT_HVYSHGN_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE RETURN MP_STAT_MKRIFLE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_PROXMINE RETURN MP_STAT_PRXMINE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_HOMINGLAUNCHER RETURN MP_STAT_HOMLNCH_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_HATCHET RETURN MP_STAT_HATCHET_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_COMBATPDW RETURN MP_STAT_COMBATPDW_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_MARKSMANPISTOL RETURN MP_STAT_MKPISTOL_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_KNUCKLE RETURN MP_STAT_KNUCKLE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_MACHETE RETURN MP_STAT_MACHETE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_MACHINEPISTOL RETURN MP_STAT_MCHPIST_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_DBSHOTGUN RETURN MP_STAT_DBSHGN_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_COMPACTRIFLE RETURN MP_STAT_CMPRIFLE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_FLASHLIGHT RETURN MP_STAT_FLASHLIGHT_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_AUTOSHOTGUN RETURN MP_STAT_AUTOSHGN_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_MINISMG RETURN MP_STAT_MINISMG_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_COMPACTLAUNCHER RETURN MP_STAT_CMPGL_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_BATTLEAXE RETURN MP_STAT_BATTLEAXE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_PIPEBOMB RETURN MP_STAT_PIPEBOMB_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_POOLCUE RETURN MP_STAT_POOLCUE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_WRENCH RETURN MP_STAT_WRENCH_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_ASSAULTRIFLE_MK2 RETURN MP_STAT_ASLTRIFLE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_CARBINERIFLE_MK2 RETURN MP_STAT_CRBNRIFLE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_COMBATMG_MK2 RETURN MP_STAT_CMBTMG_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_HEAVYSNIPER_MK2 RETURN MP_STAT_HVYSNIPER_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_PISTOL_MK2 RETURN MP_STAT_PISTOL_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_SMG_MK2 RETURN MP_STAT_SMG_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE_MK2 RETURN MP_STAT_BULLRIFLE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE_MK2 RETURN MP_STAT_MKRIFLE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_PUMPSHOTGUN_MK2 RETURN MP_STAT_PUMP_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_REVOLVER_MK2 RETURN MP_STAT_REVOLVER_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL_MK2 RETURN MP_STAT_SNSPISTOL_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE_MK2 RETURN MP_STAT_SPCARBINE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_RAYPISTOL RETURN MP_STAT_RAYPISTOL_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_RAYCARBINE RETURN MP_STAT_RAYCARBINE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_RAYMINIGUN RETURN MP_STAT_RAYMINIGUN_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_NAVYREVOLVER RETURN MP_STAT_REV_NV_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_CERAMICPISTOL RETURN MP_STAT_CERPST_FM_AMMO_CURRENT BREAK
#IF FEATURE_COPS_N_CROOKS
CASE WEAPONTYPE_DLC_RIOTSMG RETURN MP_STAT_RIOT_SMG_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_POLICERIFLE RETURN MP_STAT_PLCRIFLE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_BATON RETURN MP_STAT_BATON_FM_AMMO_CURRENT BREAK
#ENDIF
#IF FEATURE_HEIST_ISLAND
CASE WEAPONTYPE_DLC_MILITARYRIFLE RETURN MP_STAT_MLTRYRFL_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_GADGETPISTOL RETURN MP_STAT_GDGTPST_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_COMBATSHOTGUN RETURN MP_STAT_CMBSHGN_FM_AMMO_CURRENT BREAK
#ENDIF
#IF FEATURE_FIXER
CASE WEAPONTYPE_DLC_EMPLAUNCHER RETURN MP_STAT_EMPGL_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_FERTILIZERCAN RETURN MP_STAT_FETLIZRCN_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_STUNGUNG_MP RETURN MP_STAT_STNGNMP_FM_AMMO_CURRENT BREAK
#ENDIF
#IF FEATURE_DLC_1_2022
CASE WEAPONTYPE_DLC_METALDETECTOR RETURN MP_STAT_MTL_DETECT_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_TACTICALRIFLE RETURN MP_STAT_TACRIFLE_FM_AMMO_CURRENT BREAK
CASE WEAPONTYPE_DLC_PRECISIONRIFLE RETURN MP_STAT_PRCSRIFLE_FM_AMMO_CURRENT BREAK
#ENDIF
ENDSWITCH
ENDIF
RETURN MP_STAT_STKYBMB_FM_AMMO_BOUGHT
ENDFUNC
FUNC INT GET_NUMBER_OF_ENEMY_KILLS_WITH_WEAPON(WEAPON_TYPE eWeapon)
MP_INT_STATS eWeaponKillsStat
SWITCH eWeapon
CASE WEAPONTYPE_KNIFE eWeaponKillsStat = MP_STAT_KNIFE_ENEMY_KILLS BREAK
CASE WEAPONTYPE_PISTOL eWeaponKillsStat = MP_STAT_PISTOL_ENEMY_KILLS BREAK
CASE WEAPONTYPE_COMBATPISTOL eWeaponKillsStat = MP_STAT_CMBTPISTOL_ENEMY_KILLS BREAK
CASE WEAPONTYPE_APPISTOL eWeaponKillsStat = MP_STAT_APPISTOL_ENEMY_KILLS BREAK
CASE WEAPONTYPE_MICROSMG eWeaponKillsStat = MP_STAT_MICROSMG_ENEMY_KILLS BREAK
CASE WEAPONTYPE_SMG eWeaponKillsStat = MP_STAT_SMG_ENEMY_KILLS BREAK
CASE WEAPONTYPE_ASSAULTRIFLE eWeaponKillsStat = MP_STAT_ASLTRIFLE_ENEMY_KILLS BREAK
CASE WEAPONTYPE_CARBINERIFLE eWeaponKillsStat = MP_STAT_CRBNRIFLE_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE eWeaponKillsStat = MP_STAT_SPCARBINE_ENEMY_KILLS BREAK
CASE WEAPONTYPE_ADVANCEDRIFLE eWeaponKillsStat = MP_STAT_ADVRIFLE_ENEMY_KILLS BREAK
CASE WEAPONTYPE_MG eWeaponKillsStat = MP_STAT_MG_ENEMY_KILLS BREAK
CASE WEAPONTYPE_COMBATMG eWeaponKillsStat = MP_STAT_CMBTMG_ENEMY_KILLS BREAK
CASE WEAPONTYPE_PUMPSHOTGUN eWeaponKillsStat = MP_STAT_PUMP_ENEMY_KILLS BREAK
CASE WEAPONTYPE_SAWNOFFSHOTGUN eWeaponKillsStat = MP_STAT_SAWNOFF_ENEMY_KILLS BREAK
CASE WEAPONTYPE_ASSAULTSHOTGUN eWeaponKillsStat = MP_STAT_ASLTSHTGN_ENEMY_KILLS BREAK
CASE WEAPONTYPE_STUNGUN eWeaponKillsStat = MP_STAT_STUNGUN_ENEMY_KILLS BREAK
CASE WEAPONTYPE_SNIPERRIFLE eWeaponKillsStat = MP_STAT_SNIPERRFL_ENEMY_KILLS BREAK
CASE WEAPONTYPE_HEAVYSNIPER eWeaponKillsStat = MP_STAT_HVYSNIPER_ENEMY_KILLS BREAK
CASE WEAPONTYPE_GRENADELAUNCHER eWeaponKillsStat = MP_STAT_GRNLAUNCH_ENEMY_KILLS BREAK
CASE WEAPONTYPE_RPG eWeaponKillsStat = MP_STAT_RPG_ENEMY_KILLS BREAK
CASE WEAPONTYPE_MINIGUN eWeaponKillsStat = MP_STAT_MINIGUNS_ENEMY_KILLS BREAK
CASE WEAPONTYPE_GRENADE eWeaponKillsStat = MP_STAT_GRENADE_ENEMY_KILLS BREAK
CASE WEAPONTYPE_SMOKEGRENADE eWeaponKillsStat = MP_STAT_SMKGRENADE_ENEMY_KILLS BREAK
CASE WEAPONTYPE_STICKYBOMB eWeaponKillsStat = MP_STAT_STKYBMB_ENEMY_KILLS BREAK
CASE WEAPONTYPE_MOLOTOV eWeaponKillsStat = MP_STAT_MOLOTOV_ENEMY_KILLS BREAK
CASE WEAPONTYPE_PETROLCAN RETURN 0 BREAK
CASE WEAPONTYPE_NIGHTSTICK eWeaponKillsStat = MP_STAT_NIGHTSTICK_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_PISTOL50 eWeaponKillsStat = MP_STAT_PISTOL50_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_ASSAULTMG eWeaponKillsStat = MP_STAT_ASLTMG_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_ASSAULTSMG eWeaponKillsStat = MP_STAT_ASLTSMG_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_ASSAULTSNIPER RETURN 0 BREAK
CASE WEAPONTYPE_HAMMER eWeaponKillsStat = MP_STAT_HAMMER_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN eWeaponKillsStat = MP_STAT_BULLPUP_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_BOTTLE eWeaponKillsStat = MP_STAT_BOTTLE_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL eWeaponKillsStat = MP_STAT_SNSPISTOL_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_HEAVYPISTOL eWeaponKillsStat = MP_STAT_HVYPISTOL_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE eWeaponKillsStat = MP_STAT_BULLRIFLE_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_GUSENBERG eWeaponKillsStat = MP_STAT_GUSNBRG_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_VINTAGEPISTOL eWeaponKillsStat = MP_STAT_VPISTOL_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_DAGGER eWeaponKillsStat = MP_STAT_DAGGER_ENEMY_KILLS BREAK
#IF IS_DEBUG_BUILD
CASE WEAPONTYPE_DLC_FLAREGUN eWeaponKillsStat = MP_STAT_FLAREGUN_ENEMY_KILLS BREAK
#ENDIF
CASE WEAPONTYPE_DLC_MUSKET eWeaponKillsStat = MP_STAT_MUSKET_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_FIREWORK eWeaponKillsStat = MP_STAT_FIREWRK_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_HEAVYSHOTGUN eWeaponKillsStat = MP_STAT_HVYSHGN_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE eWeaponKillsStat = MP_STAT_MKRIFLE_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_PROXMINE eWeaponKillsStat = MP_STAT_PRXMINE_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_HOMINGLAUNCHER eWeaponKillsStat = MP_STAT_HOMLNCH_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_HATCHET eWeaponKillsStat = MP_STAT_HATCHET_ENEMY_KILLS BREAK
CASE WEAPONTYPE_DLC_COMBATPDW eWeaponKillsStat = MP_STAT_COMBATPDW_KILLS BREAK
CASE WEAPONTYPE_DLC_MARKSMANPISTOL eWeaponKillsStat = MP_STAT_MKPISTOL_KILLS BREAK
CASE WEAPONTYPE_DLC_KNUCKLE eWeaponKillsStat = MP_STAT_KNUCKLE_KILLS BREAK
CASE WEAPONTYPE_DLC_MACHETE eWeaponKillsStat = MP_STAT_MACHETE_KILLS BREAK
CASE WEAPONTYPE_DLC_MACHINEPISTOL eWeaponKillsStat = MP_STAT_MCHPIST_KILLS BREAK
CASE WEAPONTYPE_DLC_DBSHOTGUN eWeaponKillsStat = MP_STAT_DBSHGN_KILLS BREAK
CASE WEAPONTYPE_DLC_COMPACTRIFLE eWeaponKillsStat = MP_STAT_CMPRIFLE_KILLS BREAK
CASE WEAPONTYPE_DLC_FLASHLIGHT eWeaponKillsStat = MP_STAT_FLASHLIGHT_KILLS BREAK
CASE WEAPONTYPE_DLC_AUTOSHOTGUN eWeaponKillsStat = MP_STAT_AUTOSHGN_KILLS BREAK
CASE WEAPONTYPE_DLC_MINISMG eWeaponKillsStat = MP_STAT_MINISMG_KILLS BREAK
CASE WEAPONTYPE_DLC_COMPACTLAUNCHER eWeaponKillsStat = MP_STAT_CMPGL_KILLS BREAK
CASE WEAPONTYPE_DLC_BATTLEAXE eWeaponKillsStat = MP_STAT_BATTLEAXE_KILLS BREAK
CASE WEAPONTYPE_DLC_PIPEBOMB eWeaponKillsStat = MP_STAT_PIPEBOMB_KILLS BREAK
CASE WEAPONTYPE_DLC_POOLCUE eWeaponKillsStat = MP_STAT_POOLCUE_KILLS BREAK
CASE WEAPONTYPE_DLC_WRENCH eWeaponKillsStat = MP_STAT_WRENCH_KILLS BREAK
CASE WEAPONTYPE_DLC_ASSAULTRIFLE_MK2 eWeaponKillsStat = MP_STAT_ASLTRIFLE_KILLS BREAK
CASE WEAPONTYPE_DLC_CARBINERIFLE_MK2 eWeaponKillsStat = MP_STAT_CRBNRIFLE_KILLS BREAK
CASE WEAPONTYPE_DLC_COMBATMG_MK2 eWeaponKillsStat = MP_STAT_CMBTMG_KILLS BREAK
CASE WEAPONTYPE_DLC_HEAVYSNIPER_MK2 eWeaponKillsStat = MP_STAT_HVYSNIPER_KILLS BREAK
CASE WEAPONTYPE_DLC_PISTOL_MK2 eWeaponKillsStat = MP_STAT_PISTOL_KILLS BREAK
CASE WEAPONTYPE_DLC_SMG_MK2 eWeaponKillsStat = MP_STAT_SMG_KILLS BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE_MK2 eWeaponKillsStat = MP_STAT_BLRIFLE_MK2_KILLS BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE_MK2 eWeaponKillsStat = MP_STAT_MKRIFLE_MK2_KILLS BREAK
CASE WEAPONTYPE_DLC_PUMPSHOTGUN_MK2 eWeaponKillsStat = MP_STAT_PUMP_MK2_KILLS BREAK
CASE WEAPONTYPE_DLC_REVOLVER_MK2 eWeaponKillsStat = MP_STAT_REV_MK2_KILLS BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL_MK2 eWeaponKillsStat = MP_STAT_SNSPIST_MK2_KILLS BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE_MK2 eWeaponKillsStat = MP_STAT_SPCARB_MK2_KILLS BREAK
CASE WEAPONTYPE_DLC_RAYPISTOL eWeaponKillsStat = MP_STAT_RAYPISTOL_KILLS BREAK
CASE WEAPONTYPE_DLC_RAYCARBINE eWeaponKillsStat = MP_STAT_RAYCARBINE_KILLS BREAK
CASE WEAPONTYPE_DLC_RAYMINIGUN eWeaponKillsStat = MP_STAT_RAYMINIGUN_KILLS BREAK
CASE WEAPONTYPE_DLC_NAVYREVOLVER eWeaponKillsStat = MP_STAT_REV_NV_KILLS BREAK
CASE WEAPONTYPE_DLC_CERAMICPISTOL eWeaponKillsStat = MP_STAT_CERPST_KILLS BREAK
#IF FEATURE_COPS_N_CROOKS
CASE WEAPONTYPE_DLC_BATON eWeaponKillsStat = MP_STAT_BATON_KILLS BREAK
CASE WEAPONTYPE_DLC_POLICERIFLE eWeaponKillsStat = MP_STAT_PLCRIFLE_KILLS BREAK
#ENDIF
#IF FEATURE_HEIST_ISLAND
CASE WEAPONTYPE_DLC_MILITARYRIFLE eWeaponKillsStat = MP_STAT_MLTRYRFL_KILLS BREAK
CASE WEAPONTYPE_DLC_GADGETPISTOL eWeaponKillsStat = MP_STAT_GDGTPST_KILLS BREAK
CASE WEAPONTYPE_DLC_COMBATSHOTGUN eWeaponKillsStat = MP_STAT_CMBSHGN_KILLS BREAK
#ENDIF
#IF FEATURE_FIXER
CASE WEAPONTYPE_DLC_EMPLAUNCHER eWeaponKillsStat = MP_STAT_EMPGL_KILLS BREAK
CASE WEAPONTYPE_DLC_STUNGUNG_MP eWeaponKillsStat = MP_STAT_STNGNMP_KILLS BREAK
#ENDIF
#IF FEATURE_DLC_1_2022
CASE WEAPONTYPE_DLC_TACTICALRIFLE eWeaponKillsStat = MP_STAT_TACRIFLE_KILLS BREAK
CASE WEAPONTYPE_DLC_PRECISIONRIFLE eWeaponKillsStat = MP_STAT_PRCSRIFLE_KILLS BREAK
#ENDIF
DEFAULT
PRINTLN("GET_NUMBER_OF_ENEMY_KILLS_WITH_WEAPON - Missing weapon, tell Kenneth R. Weapon hash = ", eWeapon)
SCRIPT_ASSERT("GET_NUMBER_OF_ENEMY_KILLS_WITH_WEAPON - Missing weapon, tell Kenneth R.")
RETURN 0
BREAK
ENDSWITCH
RETURN GET_MP_INT_CHARACTER_STAT(eWeaponKillsStat)
ENDFUNC
//////////////////////////////////////////////////////////////////////////////////////////
///
/// PROCS AND FUNCS TO DEAL WITH SAVED WEAPON DATA
///
FUNC WEAPON_BITSET GET_WEAPON_BITSET_FROM_WEAPONTYPE(WEAPON_TYPE aWeapon)
SWITCH aWeapon
CASE WEAPONTYPE_UNARMED RETURN WEAPON_UNARMED_BIT_FIELD BREAK
CASE WEAPONTYPE_PISTOL RETURN WEAPON_PISTOL_BIT_FIELD BREAK
CASE WEAPONTYPE_COMBATPISTOL RETURN WEAPON_COMBATPISTOL_BIT_FIELD BREAK
CASE WEAPONTYPE_APPISTOL RETURN WEAPON_APPISTOL_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_PISTOL50 RETURN WEAPON_DLC_PISTOL50_BIT_FIELD BREAK
CASE WEAPONTYPE_SMG RETURN WEAPON_SMG_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_ASSAULTSMG RETURN WEAPON_DLC_ASSAULTSMG_BIT_FIELD BREAK
CASE WEAPONTYPE_MICROSMG RETURN WEAPON_MICROSMG_BIT_FIELD BREAK
CASE WEAPONTYPE_ASSAULTRIFLE RETURN WEAPON_ASSAULTRIFLE_BIT_FIELD BREAK
CASE WEAPONTYPE_CARBINERIFLE RETURN WEAPON_CARBINERIFLE_BIT_FIELD BREAK
CASE WEAPONTYPE_ADVANCEDRIFLE RETURN WEAPON_ADVANCEDRIFLE_BIT_FIELD BREAK
CASE WEAPONTYPE_MG RETURN WEAPON_MG_BIT_FIELD BREAK
CASE WEAPONTYPE_COMBATMG RETURN WEAPON_COMBATMG_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_ASSAULTMG RETURN WEAPON_ASSAULTMG_BIT_FIELD BREAK
CASE WEAPONTYPE_STICKYBOMB RETURN WEAPON_STICKYBOMB_BIT_FIELD BREAK
CASE WEAPONTYPE_GRENADE RETURN WEAPON_GRENADE_BIT_FIELD BREAK
CASE WEAPONTYPE_SMOKEGRENADE RETURN WEAPON_SMOKEGRENADE_BIT_FIELD BREAK
CASE WEAPONTYPE_REMOTESNIPER RETURN WEAPON_REMOTESNIPER_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_ASSAULTSNIPER RETURN WEAPON_DLC_ASSAULTSNIPER_BIT_FIELD BREAK
CASE WEAPONTYPE_SNIPERRIFLE RETURN WEAPON_SNIPERRIFLE_BIT_FIELD BREAK
CASE WEAPONTYPE_HEAVYSNIPER RETURN WEAPON_HEAVYSNIPER_BIT_FIELD BREAK
CASE WEAPONTYPE_PUMPSHOTGUN RETURN WEAPON_PUMPSHOTGUN_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN RETURN WEAPON_BULLPUPSHOTGUN_BIT_FIELD BREAK
CASE WEAPONTYPE_ASSAULTSHOTGUN RETURN WEAPON_ASSAULTSHOTGUN_BIT_FIELD BREAK
CASE WEAPONTYPE_SAWNOFFSHOTGUN RETURN WEAPON_SAWNOFFSHOTGUN_BIT_FIELD BREAK
CASE WEAPONTYPE_GRENADELAUNCHER RETURN WEAPON_GRENADELAUNCHER_BIT_FIELD BREAK
CASE WEAPONTYPE_RPG RETURN WEAPON_RPG_BIT_FIELD BREAK
CASE WEAPONTYPE_MINIGUN RETURN WEAPON_MINIGUN_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_LOUDHAILER RETURN WEAPON_LOUDHAILER_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_PROGRAMMABLEAR RETURN WEAPON_DLC_PROGRAMMABLEAR_BIT_FIELD BREAK
CASE WEAPONTYPE_STUNGUN RETURN WEAPON_STUNGUN_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_RUBBERGUN RETURN WEAPON_RUBBERGUN_BIT_FIELD BREAK
CASE GADGETTYPE_PARACHUTE RETURN WEAPON_PARACHUTE_BIT_FIELD BREAK
CASE WEAPONTYPE_KNIFE RETURN WEAPON_KNIFE_BIT_FIELD BREAK
CASE WEAPONTYPE_NIGHTSTICK RETURN WEAPON_NIGHTSTICK_BIT_FIELD BREAK
CASE WEAPONTYPE_HAMMER RETURN WEAPON_HAMMER_BIT_FIELD BREAK
CASE WEAPONTYPE_BAT RETURN WEAPON_BAT_BIT_FIELD BREAK
CASE WEAPONTYPE_CROWBAR RETURN WEAPON_CROWBAR_BIT_FIELD BREAK
CASE WEAPONTYPE_GOLFCLUB RETURN WEAPON_GOLFCLUB_BIT_FIELD BREAK
CASE WEAPONTYPE_GRENADELAUNCHER_SMOKE RETURN WEAPON_GRENADELAUNCHER_SMOKE_BIT_FIELD BREAK
CASE WEAPONTYPE_MOLOTOV RETURN WEAPON_MOLOTOV_BIT_FIELD BREAK
CASE WEAPONTYPE_FIREEXTINGUISHER RETURN WEAPON_FIREEXTINGUISHER_BIT_FIELD BREAK
CASE WEAPONTYPE_PETROLCAN RETURN WEAPON_PETROLCAN_BIT_FIELD BREAK
CASE WEAPONTYPE_DIGISCANNER RETURN WEAPON_DIGISCANNER_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_BOTTLE RETURN WEAPON_DLC_BOTTLE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE RETURN WEAPON_DLC_SPECIALCARBINE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL RETURN WEAPON_DLC_SNSPISTOL_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_HEAVYPISTOL RETURN WEAPON_DLC_HEAVYPISTOL_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE RETURN WEAPON_DLC_BULLPUPRIFLE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_GUSENBERG RETURN WEAPON_DLC_GUSENBERG_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_DAGGER RETURN WEAPON_DLC_DAGGER_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_VINTAGEPISTOL RETURN WEAPON_DLC_VPISTOL_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_FLAREGUN RETURN WEAPON_DLC_FLAREGUN_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_MUSKET RETURN WEAPON_DLC_MUSKET_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_FIREWORK RETURN WEAPON_DLC_FIREWORK_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE RETURN WEAPON_DLC_MARKSMANRIFLE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_HEAVYSHOTGUN RETURN WEAPON_DLC_HEAVYSHOTGUN_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_PROXMINE RETURN WEAPON_DLC_PROXMINE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_HOMINGLAUNCHER RETURN WEAPON_DLC_HOMINGLAUNCH_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_HATCHET RETURN WEAPON_DLC_HATCHET_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_RAILGUN RETURN WEAPON_DLC_RAILGUN_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_COMBATPDW RETURN WEAPON_DLC_COMBATPDW_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_KNUCKLE RETURN WEAPON_DLC_KNUCKLE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_MARKSMANPISTOL RETURN WEAPON_DLC_MARKSMANPISTOL_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_MACHETE RETURN WEAPON_DLC_MACHETE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_MACHINEPISTOL RETURN WEAPON_DLC_MACHINEPISTOL_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_DBSHOTGUN RETURN WEAPON_DLC_DBSHOTGUN_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_COMPACTRIFLE RETURN WEAPON_DLC_COMPACTRIFLE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_FLASHLIGHT RETURN WEAPON_DLC_FLASHLIGHT_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_REVOLVER RETURN WEAPON_DLC_REVOLVER_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_SWITCHBLADE RETURN WEAPON_DLC_SWITCHBLADE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_AUTOSHOTGUN RETURN WEAPON_DLC_AUTOSHOTGUN_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_MINISMG RETURN WEAPON_DLC_MINISMG_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_COMPACTLAUNCHER RETURN WEAPON_DLC_COMPACTLAUNCHER_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_BATTLEAXE RETURN WEAPON_DLC_BATTLEAXE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_PIPEBOMB RETURN WEAPON_DLC_PIPEBOMB_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_POOLCUE RETURN WEAPON_DLC_POOLCUE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_WRENCH RETURN WEAPON_DLC_WRENCH_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_ASSAULTRIFLE_MK2 RETURN WEAPON_ASSAULTRIFLE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_CARBINERIFLE_MK2 RETURN WEAPON_CARBINERIFLE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_COMBATMG_MK2 RETURN WEAPON_COMBATMG_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_HEAVYSNIPER_MK2 RETURN WEAPON_HEAVYSNIPER_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_PISTOL_MK2 RETURN WEAPON_PISTOL_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_SMG_MK2 RETURN WEAPON_SMG_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_PUMPSHOTGUN_MK2 RETURN WEAPON_PUMPSHOTGUN_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE_MK2 RETURN WEAPON_DLC_SPECIALCARBINE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL_MK2 RETURN WEAPON_DLC_SNSPISTOL_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE_MK2 RETURN WEAPON_DLC_MARKSMANRIFLE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_REVOLVER_MK2 RETURN WEAPON_DLC_REVOLVER_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE_MK2 RETURN WEAPON_DLC_BULLPUPRIFLE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_DOUBLEACTION RETURN WEAPON_DLC_DOUBLEACTION_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_STONE_HATCHET RETURN WEAPON_DLC_STONEHATCHET_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_RAYPISTOL RETURN WEAPON_DLC_RAYPISTOL_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_RAYCARBINE RETURN WEAPON_DLC_RAYCARBINE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_RAYMINIGUN RETURN WEAPON_DLC_RAYMINIGUN_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_NAVYREVOLVER RETURN WEAPON_DLC_NAVYREVOLVER_BIT_FEILD BREAK
CASE WEAPONTYPE_DLC_CERAMICPISTOL RETURN WEAPON_DLC_CERAMIC_PISTOL_BIT_FEILD BREAK
#IF FEATURE_COPS_N_CROOKS
CASE WEAPONTYPE_DLC_BATON RETURN WEAPON_DLC_BATON_BIT_FEILD BREAK
CASE WEAPONTYPE_DLC_POLICERIFLE RETURN WEAPON_DLC_POLICERIFLE_BIT_FEILD BREAK
#ENDIF
#IF FEATURE_HEIST_ISLAND
CASE WEAPONTYPE_DLC_COMBATSHOTGUN RETURN WEAPON_DLC_COMBATSHOTGUN_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_MILITARYRIFLE RETURN WEAPON_DLC_MILITARYRIFLE_BIT_FEILD BREAK
CASE WEAPONTYPE_DLC_GADGETPISTOL RETURN WEAPON_DLC_GADGETPISTOL_BIT_FEILD BREAK
#ENDIF
#IF FEATURE_FIXER
CASE WEAPONTYPE_DLC_HEAVYRIFLE RETURN WEAPON_DLC_HEAVYRIFLE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_EMPLAUNCHER RETURN WEAPON_DLC_EMPLAUNCHER_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_FERTILIZERCAN RETURN WEAPON_DLC_FERTILIZERCAN_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_STUNGUNG_MP RETURN WEAPON_DLC_STUNGUN_MP_BIT_FIELD BREAK
#ENDIF
#IF FEATURE_DLC_1_2022
CASE WEAPONTYPE_DLC_METALDETECTOR RETURN WEAPON_DLC_METALDETECTOR_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_TACTICALRIFLE RETURN WEAPON_DLC_TACTICALRIFLE_BIT_FIELD BREAK
CASE WEAPONTYPE_DLC_PRECISIONRIFLE RETURN WEAPON_DLC_PRECISIONRIFLE_BIT_FIELD BREAK
#ENDIF
ENDSWITCH
RETURN WEAPON_UNARMED_BIT_FIELD
ENDFUNC
FUNC PLAYERKIT_BITSET GET_KIT_BITSET_FROM_KITTYPE(PLAYERKIT aplayerkit)
SWITCH aplayerkit
CASE PLAYERKIT_FM_PARACHUTE RETURN PLAYERKIT_FM_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_PARASMOKE_RED RETURN PLAYERKIT_FM_PARASMOKE_RED_BIT_FIELD BREAK
CASE PLAYERKIT_FM_PARASMOKE_ORANGE RETURN PLAYERKIT_FM_PARASMOKE_ORANGE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_PARASMOKE_YELLOW RETURN PLAYERKIT_FM_PARASMOKE_YELLOW_BIT_FIELD BREAK
CASE PLAYERKIT_FM_THERMALVISION RETURN PLAYERKIT_FM_THERMALVISION_BIT_FIELD BREAK
CASE PLAYERKIT_FM_PARASMOKE_BLACK RETURN PLAYERKIT_FM_PARASMOKE_BLACK_BIT_FIELD BREAK
CASE PLAYERKIT_FM_PARASMOKE_BLUE RETURN PLAYERKIT_FM_PARASMOKE_BLUE_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_PISTOL RETURN PLAYERKIT_GOLD_PISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_CMBTPISTOL RETURN PLAYERKIT_GOLD_CMBTPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_APPISTOL RETURN PLAYERKIT_GOLD_APPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_MICROSMG RETURN PLAYERKIT_GOLD_MICROSMG_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_SMG RETURN PLAYERKIT_GOLD_SMG_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_ASLTRIFLE RETURN PLAYERKIT_GOLD_ASLTRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_CRBNRIFLE RETURN PLAYERKIT_GOLD_CRBNRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_ADVRRIFLE RETURN PLAYERKIT_GOLD_ADVRRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_MG RETURN PLAYERKIT_GOLD_MG_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_CMBTMG RETURN PLAYERKIT_GOLD_CMBTMG_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_PUMP RETURN PLAYERKIT_GOLD_PUMP_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_SAWOFF RETURN PLAYERKIT_GOLD_SAWOFF_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_ASLTSHTGN RETURN PLAYERKIT_GOLD_ASLTSHTGN_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_RUBBERGUN RETURN PLAYERKIT_GOLD_RUBBERGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_STUNGUN RETURN PLAYERKIT_GOLD_STUNGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_SNIPERRFL RETURN PLAYERKIT_GOLD_SNIPERRFL_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_HVYSNIPER RETURN PLAYERKIT_GOLD_HVYSNIPER_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_GRNLAUNCH RETURN PLAYERKIT_GOLD_GRNLAUNCH_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_RPG RETURN PLAYERKIT_GOLD_RPG_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_MINIGUN RETURN PLAYERKIT_GOLD_MINIGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_PISTOL RETURN PLAYERKIT_PLATINUM_PISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_CMBTPISTOL RETURN PLAYERKIT_PLATINUM_CMBTPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_APPISTOL RETURN PLAYERKIT_PLATINUM_APPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_MICROSMG RETURN PLAYERKIT_PLATINUM_MICROSMG_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_SMG RETURN PLAYERKIT_PLATINUM_SMG_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_ASLTRIFLE RETURN PLAYERKIT_PLATINUM_ASLTRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_CRBNRIFLE RETURN PLAYERKIT_PLATINUM_CRBNRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_ADVRRIFLE RETURN PLAYERKIT_PLATINUM_ADVRRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_MG RETURN PLAYERKIT_PLATINUM_MG_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_CMBTMG RETURN PLAYERKIT_PLATINUM_CMBTMG_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_PUMP RETURN PLAYERKIT_PLATINUM_PUMP_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_SAWOFF RETURN PLAYERKIT_PLATINUM_SAWOFF_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_ASLTSHTGN RETURN PLAYERKIT_PLATINUM_ASLTSHTGN_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_RUBBERGUN RETURN PLAYERKIT_PLATINUM_RUBBERGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_STUNGUN RETURN PLAYERKIT_PLATINUM_STUNGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_SNIPERRFL RETURN PLAYERKIT_PLATINUM_SNIPERRFL_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_HVYSNIPER RETURN PLAYERKIT_PLATINUM_HVYSNIPER_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_GRNLAUNCH RETURN PLAYERKIT_PLATINUM_GRNLAUNCH_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_RPG RETURN PLAYERKIT_PLATINUM_RPG_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_MINIGUN RETURN PLAYERKIT_PLATINUM_MINIGUN_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_PISTOL RETURN PLAYERKIT_TAN_PISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_CMBTPISTOL RETURN PLAYERKIT_TAN_CMBTPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_APPISTOL RETURN PLAYERKIT_TAN_APPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_MICROSMG RETURN PLAYERKIT_TAN_MICROSMG_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_SMG RETURN PLAYERKIT_TAN_SMG_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_ASLTRIFLE RETURN PLAYERKIT_TAN_ASLTRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_CRBNRIFLE RETURN PLAYERKIT_TAN_CRBNRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_ADVRRIFLE RETURN PLAYERKIT_TAN_ADVRRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_MG RETURN PLAYERKIT_TAN_MG_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_CMBTMG RETURN PLAYERKIT_TAN_CMBTMG_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_PUMP RETURN PLAYERKIT_TAN_PUMP_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_SAWOFF RETURN PLAYERKIT_TAN_SAWOFF_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_ASLTSHTGN RETURN PLAYERKIT_TAN_ASLTSHTGN_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_RUBBERGUN RETURN PLAYERKIT_TAN_RUBBERGUN_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_STUNGUN RETURN PLAYERKIT_TAN_STUNGUN_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_SNIPERRFL RETURN PLAYERKIT_TAN_SNIPERRFL_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_HVYSNIPER RETURN PLAYERKIT_TAN_HVYSNIPER_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_GRNLAUNCH RETURN PLAYERKIT_TAN_GRNLAUNCH_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_RPG RETURN PLAYERKIT_TAN_RPG_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_MINIGUN RETURN PLAYERKIT_TAN_MINIGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_PISTOL RETURN PLAYERKIT_GREEN_PISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_CMBTPISTOL RETURN PLAYERKIT_GREEN_CMBTPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_APPISTOL RETURN PLAYERKIT_GREEN_APPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_MICROSMG RETURN PLAYERKIT_GREEN_MICROSMG_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_SMG RETURN PLAYERKIT_GREEN_SMG_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_ASLTRIFLE RETURN PLAYERKIT_GREEN_ASLTRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_CRBNRIFLE RETURN PLAYERKIT_GREEN_CRBNRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_ADVRRIFLE RETURN PLAYERKIT_GREEN_ADVRRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_MG RETURN PLAYERKIT_GREEN_MG_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_CMBTMG RETURN PLAYERKIT_GREEN_CMBTMG_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_PUMP RETURN PLAYERKIT_GREEN_PUMP_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_SAWOFF RETURN PLAYERKIT_GREEN_SAWOFF_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_ASLTSHTGN RETURN PLAYERKIT_GREEN_ASLTSHTGN_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_RUBBERGUN RETURN PLAYERKIT_GREEN_RUBBERGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_STUNGUN RETURN PLAYERKIT_GREEN_STUNGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_SNIPERRFL RETURN PLAYERKIT_GREEN_SNIPERRFL_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_HVYSNIPER RETURN PLAYERKIT_GREEN_HVYSNIPER_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_GRNLAUNCH RETURN PLAYERKIT_GREEN_GRNLAUNCH_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_RPG RETURN PLAYERKIT_GREEN_RPG_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_MINIGUN RETURN PLAYERKIT_GREEN_MINIGUN_BIT_FIELD BREAK
CASE PLAYERKIT_RED_PISTOL RETURN PLAYERKIT_RED_PISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_RED_CMBTPISTOL RETURN PLAYERKIT_RED_CMBTPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_RED_APPISTOL RETURN PLAYERKIT_RED_APPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_RED_MICROSMG RETURN PLAYERKIT_RED_MICROSMG_BIT_FIELD BREAK
CASE PLAYERKIT_RED_SMG RETURN PLAYERKIT_RED_SMG_BIT_FIELD BREAK
CASE PLAYERKIT_RED_ASLTRIFLE RETURN PLAYERKIT_RED_ASLTRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_RED_CRBNRIFLE RETURN PLAYERKIT_RED_CRBNRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_RED_ADVRRIFLE RETURN PLAYERKIT_RED_ADVRRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_RED_MG RETURN PLAYERKIT_RED_MG_BIT_FIELD BREAK
CASE PLAYERKIT_RED_CMBTMG RETURN PLAYERKIT_RED_CMBTMG_BIT_FIELD BREAK
CASE PLAYERKIT_RED_PUMP RETURN PLAYERKIT_RED_PUMP_BIT_FIELD BREAK
CASE PLAYERKIT_RED_SAWOFF RETURN PLAYERKIT_RED_SAWOFF_BIT_FIELD BREAK
CASE PLAYERKIT_RED_ASLTSHTGN RETURN PLAYERKIT_RED_ASLTSHTGN_BIT_FIELD BREAK
CASE PLAYERKIT_RED_RUBBERGUN RETURN PLAYERKIT_RED_RUBBERGUN_BIT_FIELD BREAK
CASE PLAYERKIT_RED_STUNGUN RETURN PLAYERKIT_RED_STUNGUN_BIT_FIELD BREAK
CASE PLAYERKIT_RED_SNIPERRFL RETURN PLAYERKIT_RED_SNIPERRFL_BIT_FIELD BREAK
CASE PLAYERKIT_RED_HVYSNIPER RETURN PLAYERKIT_RED_HVYSNIPER_BIT_FIELD BREAK
CASE PLAYERKIT_RED_GRNLAUNCH RETURN PLAYERKIT_RED_GRNLAUNCH_BIT_FIELD BREAK
CASE PLAYERKIT_RED_RPG RETURN PLAYERKIT_RED_RPG_BIT_FIELD BREAK
CASE PLAYERKIT_RED_MINIGUN RETURN PLAYERKIT_RED_MINIGUN_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_PISTOL RETURN PLAYERKIT_BLUE_PISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_CMBTPISTOL RETURN PLAYERKIT_BLUE_CMBTPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_APPISTOL RETURN PLAYERKIT_BLUE_APPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_MICROSMG RETURN PLAYERKIT_BLUE_MICROSMG_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_SMG RETURN PLAYERKIT_BLUE_SMG_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_ASLTRIFLE RETURN PLAYERKIT_BLUE_ASLTRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_CRBNRIFLE RETURN PLAYERKIT_BLUE_CRBNRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_ADVRRIFLE RETURN PLAYERKIT_BLUE_ADVRRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_MG RETURN PLAYERKIT_BLUE_MG_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_CMBTMG RETURN PLAYERKIT_BLUE_CMBTMG_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_PUMP RETURN PLAYERKIT_BLUE_PUMP_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_SAWOFF RETURN PLAYERKIT_BLUE_SAWOFF_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_ASLTSHTGN RETURN PLAYERKIT_BLUE_ASLTSHTGN_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_RUBBERGUN RETURN PLAYERKIT_BLUE_RUBBERGUN_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_STUNGUN RETURN PLAYERKIT_BLUE_STUNGUN_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_SNIPERRFL RETURN PLAYERKIT_BLUE_SNIPERRFL_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_HVYSNIPER RETURN PLAYERKIT_BLUE_HVYSNIPER_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_GRNLAUNCH RETURN PLAYERKIT_BLUE_GRNLAUNCH_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_RPG RETURN PLAYERKIT_BLUE_RPG_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_MINIGUN RETURN PLAYERKIT_BLUE_MINIGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_PISTOL RETURN PLAYERKIT_PINK_PISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_CMBTPISTOL RETURN PLAYERKIT_PINK_CMBTPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_APPISTOL RETURN PLAYERKIT_PINK_APPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_MICROSMG RETURN PLAYERKIT_PINK_MICROSMG_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_SMG RETURN PLAYERKIT_PINK_SMG_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_ASLTRIFLE RETURN PLAYERKIT_PINK_ASLTRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_CRBNRIFLE RETURN PLAYERKIT_PINK_CRBNRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_ADVRRIFLE RETURN PLAYERKIT_PINK_ADVRRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_MG RETURN PLAYERKIT_PINK_MG_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_CMBTMG RETURN PLAYERKIT_PINK_CMBTMG_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_PUMP RETURN PLAYERKIT_PINK_PUMP_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_SAWOFF RETURN PLAYERKIT_PINK_SAWOFF_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_ASLTSHTGN RETURN PLAYERKIT_PINK_ASLTSHTGN_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_RUBBERGUN RETURN PLAYERKIT_PINK_RUBBERGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_STUNGUN RETURN PLAYERKIT_PINK_STUNGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_SNIPERRFL RETURN PLAYERKIT_PINK_SNIPERRFL_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_HVYSNIPER RETURN PLAYERKIT_PINK_HVYSNIPER_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_GRNLAUNCH RETURN PLAYERKIT_PINK_GRNLAUNCH_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_RPG RETURN PLAYERKIT_PINK_RPG_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_MINIGUN RETURN PLAYERKIT_PINK_MINIGUN_BIT_FIELD BREAK
CASE PLAYERKIT_SUPERLIGHTARMOUR RETURN PLAYERKIT_SUPERLIGHTARMOUR_BIT_FIELD BREAK
CASE PLAYERKIT_LIGHTARMOUR RETURN PLAYERKIT_LIGHTARMOUR_BIT_FIELD BREAK
CASE PLAYERKIT_STANDARDARMOUR RETURN PLAYERKIT_STANDARDARMOUR_BIT_FIELD BREAK
CASE PLAYERKIT_HEAVYARMOUR RETURN PLAYERKIT_HEAVYARMOUR_BIT_FIELD BREAK
CASE PLAYERKIT_SUPERHEAVYARMOUR RETURN PLAYERKIT_SUPERHEAVYARMOUR_BIT_FIELD BREAK
CASE PLAYERKIT_FM_RAINBOW_PARACHUTE RETURN PLAYERKIT_FM_RAINBOW_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_RED_PARACHUTE RETURN PLAYERKIT_FM_RED_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_YELLOWWHITEBLUE_PARACHUTE RETURN PLAYERKIT_FM_YELLOWWHITEBLUE_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_WHITEREDBROWN_PARACHUTE RETURN PLAYERKIT_FM_WHITEREDBROWN_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_BLUEWHITERED_PARACHUTE RETURN PLAYERKIT_FM_BLUEWHITERED_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_BLUE_PARACHUTE RETURN PLAYERKIT_FM_BLUE_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_BLACK_PARACHUTE RETURN PLAYERKIT_FM_BLACK_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_BROWNYELLOW_PARACHUTE RETURN PLAYERKIT_FM_BROWNYELLOW_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_ASSAULTSMG RETURN PLAYERKIT_GOLD_DLC_ASSAULTSMG_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_ASSAULTSMG RETURN PLAYERKIT_PINK_DLC_ASSAULTSMG_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_ASSAULTSMG RETURN PLAYERKIT_TAN_DLC_ASSAULTSMG_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_ASSAULTSMG RETURN PLAYERKIT_BLUE_DLC_ASSAULTSMG_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_ASSAULTSMG RETURN PLAYERKIT_RED_DLC_ASSAULTSMG_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_ASSAULTSMG RETURN PLAYERKIT_PLATINUM_DLC_ASSAULTSMG_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_ASSAULTMG RETURN PLAYERKIT_GOLD_DLC_ASSAULTMG_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_ASSAULTMG RETURN PLAYERKIT_PINK_DLC_ASSAULTMG_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_ASSAULTMG RETURN PLAYERKIT_TAN_DLC_ASSAULTMG_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_ASSAULTMG RETURN PLAYERKIT_BLUE_DLC_ASSAULTMG_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_ASSAULTMG RETURN PLAYERKIT_RED_DLC_ASSAULTMG_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_ASSAULTMG RETURN PLAYERKIT_PLATINUM_DLC_ASSAULTMG_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_PISTOL50 RETURN PLAYERKIT_GOLD_DLC_PISTOL50_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_PISTOL50 RETURN PLAYERKIT_PINK_DLC_PISTOL50_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_PISTOL50 RETURN PLAYERKIT_TAN_DLC_PISTOL50_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_PISTOL50 RETURN PLAYERKIT_BLUE_DLC_PISTOL50_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_PISTOL50 RETURN PLAYERKIT_RED_DLC_PISTOL50_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_PISTOL50 RETURN PLAYERKIT_PLATINUM_DLC_PISTOL50_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_ASSAULTSMG RETURN PLAYERKIT_GREEN_DLC_ASSAULTSMG_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_ASSAULTMG RETURN PLAYERKIT_GREEN_DLC_ASSAULTMG_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_PISTOL50 RETURN PLAYERKIT_GREEN_DLC_PISTOL50_BIT_FIELD BREAK
CASE PLAYERKIT_FM_PARASMOKE_CREW RETURN PLAYERKIT_FM_PARASMOKE_CREW_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_GOLD_DLC_BULLPUPSHOTGUN RETURN PLAYERKIT_GOLD_BULLPUP_SHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_BULLPUPSHOTGUN RETURN PLAYERKIT_PINK_BULLPUP_SHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_BULLPUPSHOTGUN RETURN PLAYERKIT_TAN_BULLPUP_SHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_BULLPUPSHOTGUN RETURN PLAYERKIT_BLUE_BULLPUP_SHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_BULLPUPSHOTGUN RETURN PLAYERKIT_RED_BULLPUP_SHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_BULLPUPSHOTGUN RETURN PLAYERKIT_PLATINUM_BULLPUP_SHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_BULLPUPSHOTGUN RETURN PLAYERKIT_GREEN_BULLPUP_SHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_SPECIALCARBINE RETURN PLAYERKIT_GOLD_DLC_SPECIALCARBINE_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_SPECIALCARBINE RETURN PLAYERKIT_PINK_DLC_SPECIALCARBINE_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_SPECIALCARBINE RETURN PLAYERKIT_TAN_DLC_SPECIALCARBINE_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_SPECIALCARBINE RETURN PLAYERKIT_BLUE_DLC_SPECIALCARBINE_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_SPECIALCARBINE RETURN PLAYERKIT_RED_DLC_SPECIALCARBINE_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_SPECIALCARBINE RETURN PLAYERKIT_PLATINUM_DLC_SPECIALCARBINE_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_SPECIALCARBINE RETURN PLAYERKIT_GREEN_DLC_SPECIALCARBINE_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_SNSPISTOL RETURN PLAYERKIT_GOLD_DLC_SNSPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_SNSPISTOL RETURN PLAYERKIT_PINK_DLC_SNSPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_SNSPISTOL RETURN PLAYERKIT_TAN_DLC_SNSPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_SNSPISTOL RETURN PLAYERKIT_BLUE_DLC_SNSPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_SNSPISTOL RETURN PLAYERKIT_RED_DLC_SNSPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_SNSPISTOL RETURN PLAYERKIT_PLATINUM_DLC_SNSPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_SNSPISTOL RETURN PLAYERKIT_GREEN_DLC_SNSPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_HEAVY_PISTOL RETURN PLAYERKIT_GOLD_DLC_HEAVYPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_HEAVY_PISTOL RETURN PLAYERKIT_PINK_DLC_HEAVYPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_HEAVY_PISTOL RETURN PLAYERKIT_TAN_DLC_HEAVYPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_HEAVY_PISTOL RETURN PLAYERKIT_BLUE_DLC_HEAVYPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_HEAVY_PISTOL RETURN PLAYERKIT_RED_DLC_HEAVYPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_HEAVY_PISTOL RETURN PLAYERKIT_PLATINUM_DLC_HEAVYPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_HEAVY_PISTOL RETURN PLAYERKIT_GREEN_DLC_HEAVYPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_BULLPUPRIFLE RETURN PLAYERKIT_GOLD_DLC_BULLPUPRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_BULLPUPRIFLE RETURN PLAYERKIT_PINK_DLC_BULLPUPRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_BULLPUPRIFLE RETURN PLAYERKIT_TAN_DLC_BULLPUPRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_BULLPUPRIFLE RETURN PLAYERKIT_BLUE_DLC_BULLPUPRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_BULLPUPRIFLE RETURN PLAYERKIT_RED_DLC_BULLPUPRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_BULLPUPRIFLE RETURN PLAYERKIT_PLATINUM_DLC_BULLPUPRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_BULLPUPRIFLE RETURN PLAYERKIT_GREEN_DLC_BULLPUPRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_GUSENBERG RETURN PLAYERKIT_GOLD_DLC_GUSENBERG_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_GUSENBERG RETURN PLAYERKIT_PINK_DLC_GUSENBERG_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_GUSENBERG RETURN PLAYERKIT_TAN_DLC_GUSENBERG_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_GUSENBERG RETURN PLAYERKIT_BLUE_DLC_GUSENBERG_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_GUSENBERG RETURN PLAYERKIT_RED_DLC_GUSENBERG_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_GUSENBERG RETURN PLAYERKIT_PLATINUM_DLC_GUSENBERG_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_GUSENBERG RETURN PLAYERKIT_GREEN_DLC_GUSENBERG_BIT_FIELD BREAK
CASE PLAYERKIT_ARMOUR_STORE_L1 RETURN PLAYERKIT_ARMOUR_STORE_L1_BIT_FIELD BREAK
CASE PLAYERKIT_ARMOUR_STORE_L2 RETURN PLAYERKIT_ARMOUR_STORE_L2_BIT_FIELD BREAK
CASE PLAYERKIT_ARMOUR_STORE_L3 RETURN PLAYERKIT_ARMOUR_STORE_L3_BIT_FIELD BREAK
CASE PLAYERKIT_ARMOUR_STORE_L4 RETURN PLAYERKIT_ARMOUR_STORE_L4_BIT_FIELD BREAK
CASE PLAYERKIT_ARMOUR_STORE_L5 RETURN PLAYERKIT_ARMOUR_STORE_L5_BIT_FIELD BREAK
CASE PLAYERKIT_ARMOUR_STORE_L6 RETURN PLAYERKIT_ARMOUR_STORE_L6_BIT_FIELD BREAK
CASE PLAYERKIT_ARMOUR_STORE_L7 RETURN PLAYERKIT_ARMOUR_STORE_L7_BIT_FIELD BREAK
CASE PLAYERKIT_ARMOUR_STORE_L8 RETURN PLAYERKIT_ARMOUR_STORE_L8_BIT_FIELD BREAK
CASE PLAYERKIT_ARMOUR_STORE_L9 RETURN PLAYERKIT_ARMOUR_STORE_L9_BIT_FIELD BREAK
CASE PLAYERKIT_ARMOUR_STORE_L10 RETURN PLAYERKIT_ARMOUR_STORE_L10_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_VINTAGEPISTOL RETURN PLAYERKIT_GOLD_DLC_VINTAGEPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_VINTAGEPISTOL RETURN PLAYERKIT_PINK_DLC_VINTAGEPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_VINTAGEPISTOL RETURN PLAYERKIT_TAN_DLC_VINTAGEPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_VINTAGEPISTOL RETURN PLAYERKIT_BLUE_DLC_VINTAGEPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_VINTAGEPISTOL RETURN PLAYERKIT_RED_DLC_VINTAGEPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_VINTAGEPISTOL RETURN PLAYERKIT_PLATINUM_DLC_VINTAGEPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_VINTAGEPISTOL RETURN PLAYERKIT_GREEN_DLC_VINTAGEPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_0 RETURN PLAYERKIT_PARA_PACK_0_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_1 RETURN PLAYERKIT_PARA_PACK_1_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_2 RETURN PLAYERKIT_PARA_PACK_2_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_3 RETURN PLAYERKIT_PARA_PACK_3_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_4 RETURN PLAYERKIT_PARA_PACK_4_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_5 RETURN PLAYERKIT_PARA_PACK_5_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_6 RETURN PLAYERKIT_PARA_PACK_6_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_7 RETURN PLAYERKIT_PARA_PACK_7_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_CHUTE_0 RETURN PLAYERKIT_PARA_DLC_CHUTE_0_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_CHUTE_1 RETURN PLAYERKIT_PARA_DLC_CHUTE_1_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_CHUTE_2 RETURN PLAYERKIT_PARA_DLC_CHUTE_2_BIT_FIELD BREAK
ENDSWITCH
// Independence Day
SWITCH aplayerkit
CASE PLAYERKIT_GOLD_DLC_MUSKET RETURN PLAYERKIT_GOLD_DLC_MUSKET_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_MUSKET RETURN PLAYERKIT_PINK_DLC_MUSKET_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_MUSKET RETURN PLAYERKIT_TAN_DLC_MUSKET_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_MUSKET RETURN PLAYERKIT_BLUE_DLC_MUSKET_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_MUSKET RETURN PLAYERKIT_RED_DLC_MUSKET_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_MUSKET RETURN PLAYERKIT_PLATINUM_DLC_MUSKET_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_MUSKET RETURN PLAYERKIT_GREEN_DLC_MUSKET_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_FIREWORK RETURN PLAYERKIT_GOLD_DLC_FIREWORK_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_FIREWORK RETURN PLAYERKIT_PINK_DLC_FIREWORK_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_FIREWORK RETURN PLAYERKIT_TAN_DLC_FIREWORK_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_FIREWORK RETURN PLAYERKIT_BLUE_DLC_FIREWORK_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_FIREWORK RETURN PLAYERKIT_RED_DLC_FIREWORK_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_FIREWORK RETURN PLAYERKIT_PLATINUM_DLC_FIREWORK_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_FIREWORK RETURN PLAYERKIT_GREEN_DLC_FIREWORK_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_FLARE RETURN PLAYERKIT_GOLD_DLC_FLAREGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_FLARE RETURN PLAYERKIT_PINK_DLC_FLAREGUN_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_FLARE RETURN PLAYERKIT_TAN_DLC_FLAREGUN_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_FLARE RETURN PLAYERKIT_BLUE_DLC_FLAREGUN_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_FLARE RETURN PLAYERKIT_RED_DLC_FLAREGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_FLARE RETURN PLAYERKIT_PLATINUM_DLC_FLAREGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_FLARE RETURN PLAYERKIT_GREEN_DLC_FLAREGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PATRIOT_PARACHUTE_SMOKE RETURN PLAYERKIT_PATRIOT_PARACHUTE_SMOKE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_RAINBOW_RSRV_PARACHUTE RETURN PLAYERKIT_FM_RAINBOW_RSRV_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_RED_RSRV_PARACHUTE RETURN PLAYERKIT_FM_RED_RSRV_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_YELLOWWHITEBLUE_RSRV_PARACHUTE RETURN PLAYERKIT_FM_YELLOWWHITEBLUE_RSRV_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_WHITEREDBROWN_RSRV_PARACHUTE RETURN PLAYERKIT_FM_WHITEREDBROWN_RSRV_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_BLUEWHITERED_RSRV_PARACHUTE RETURN PLAYERKIT_FM_BLUEWHITERED_RSRV_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_BLUE_RSRV_PARACHUTE RETURN PLAYERKIT_FM_BLUE_RSRV_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_BLACK_RSRV_PARACHUTE RETURN PLAYERKIT_FM_BLACK_RSRV_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_FM_BROWNYELLOW_RSRV_PARACHUTE RETURN PLAYERKIT_FM_BROWNYELLOW_RSRV_PARACHUTE_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_RSRV_CHUTE_0 RETURN PLAYERKIT_PARA_DLC_RSRV_CHUTE_0_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_RSRV_CHUTE_1 RETURN PLAYERKIT_PARA_DLC_RSRV_CHUTE_1_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_RSRV_CHUTE_2 RETURN PLAYERKIT_PARA_DLC_RSRV_CHUTE_2_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_RSRV_CHUTE_3 RETURN PLAYERKIT_PARA_DLC_RSRV_CHUTE_3_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_RSRV_CHUTE_4 RETURN PLAYERKIT_PARA_DLC_RSRV_CHUTE_4_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_RSRV_CHUTE_5 RETURN PLAYERKIT_PARA_DLC_RSRV_CHUTE_5_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_CHUTE_3 RETURN PLAYERKIT_PARA_DLC_CHUTE_3_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_CHUTE_4 RETURN PLAYERKIT_PARA_DLC_CHUTE_4_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_CHUTE_5 RETURN PLAYERKIT_PARA_DLC_CHUTE_5_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_8 RETURN PLAYERKIT_PARA_PACK_8_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_9 RETURN PLAYERKIT_PARA_PACK_9_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_10 RETURN PLAYERKIT_PARA_PACK_10_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_11 RETURN PLAYERKIT_PARA_PACK_11_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_12 RETURN PLAYERKIT_PARA_PACK_12_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_13 RETURN PLAYERKIT_PARA_PACK_13_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_14 RETURN PLAYERKIT_PARA_PACK_14_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_15 RETURN PLAYERKIT_PARA_PACK_15_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_16 RETURN PLAYERKIT_PARA_PACK_16_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_17 RETURN PLAYERKIT_PARA_PACK_17_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_18 RETURN PLAYERKIT_PARA_PACK_18_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_19 RETURN PLAYERKIT_PARA_PACK_19_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_20 RETURN PLAYERKIT_PARA_PACK_20_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_21 RETURN PLAYERKIT_PARA_PACK_21_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_22 RETURN PLAYERKIT_PARA_PACK_22_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_23 RETURN PLAYERKIT_PARA_PACK_23_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_24 RETURN PLAYERKIT_PARA_PACK_24_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_25 RETURN PLAYERKIT_PARA_PACK_25_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_26 RETURN PLAYERKIT_PARA_PACK_26_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_PARA_PACK_27 RETURN PLAYERKIT_PARA_PACK_27_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_28 RETURN PLAYERKIT_PARA_PACK_28_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_29 RETURN PLAYERKIT_PARA_PACK_29_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_30 RETURN PLAYERKIT_PARA_PACK_30_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_31 RETURN PLAYERKIT_PARA_PACK_31_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_32 RETURN PLAYERKIT_PARA_PACK_32_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_33 RETURN PLAYERKIT_PARA_PACK_33_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_34 RETURN PLAYERKIT_PARA_PACK_34_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_35 RETURN PLAYERKIT_PARA_PACK_35_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_36 RETURN PLAYERKIT_PARA_PACK_36_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_37 RETURN PLAYERKIT_PARA_PACK_37_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_38 RETURN PLAYERKIT_PARA_PACK_38_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_39 RETURN PLAYERKIT_PARA_PACK_39_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_40 RETURN PLAYERKIT_PARA_PACK_40_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_41 RETURN PLAYERKIT_PARA_PACK_41_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_42 RETURN PLAYERKIT_PARA_PACK_42_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_43 RETURN PLAYERKIT_PARA_PACK_43_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_44 RETURN PLAYERKIT_PARA_PACK_44_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_45 RETURN PLAYERKIT_PARA_PACK_45_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_46 RETURN PLAYERKIT_PARA_PACK_46_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_GOLD_DLC_HEAVYSHOTGUN RETURN PLAYERKIT_GOLD_DLC_HEAVYSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_HEAVYSHOTGUN RETURN PLAYERKIT_PINK_DLC_HEAVYSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_HEAVYSHOTGUN RETURN PLAYERKIT_TAN_DLC_HEAVYSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_HEAVYSHOTGUN RETURN PLAYERKIT_BLUE_DLC_HEAVYSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_HEAVYSHOTGUN RETURN PLAYERKIT_RED_DLC_HEAVYSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_HEAVYSHOTGUN RETURN PLAYERKIT_PLATINUM_DLC_HEAVYSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_HEAVYSHOTGUN RETURN PLAYERKIT_GREEN_DLC_HEAVYSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_MARKSMANRIFLE RETURN PLAYERKIT_GOLD_DLC_MARKSMANRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_MARKSMANRIFLE RETURN PLAYERKIT_PINK_DLC_MARKSMANRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_MARKSMANRIFLE RETURN PLAYERKIT_TAN_DLC_MARKSMANRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_MARKSMANRIFLE RETURN PLAYERKIT_BLUE_DLC_MARKSMANRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_MARKSMANRIFLE RETURN PLAYERKIT_RED_DLC_MARKSMANRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_FMARKSMANRIFLE RETURN PLAYERKIT_PLATINUM_DLC_MARKSMANRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_MARKSMANRIFLE RETURN PLAYERKIT_GREEN_DLC_MARKSMANRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_HOMINGLAUNCHER RETURN PLAYERKIT_GOLD_DLC_HOMINGLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_HOMINGLAUNCHER RETURN PLAYERKIT_PINK_DLC_HOMINGLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_HOMINGLAUNCHER RETURN PLAYERKIT_TAN_DLC_HOMINGLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_HOMINGLAUNCHER RETURN PLAYERKIT_BLUE_DLC_HOMINGLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_HOMINGLAUNCHER RETURN PLAYERKIT_RED_DLC_HOMINGLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_HOMINGLAUNCHER RETURN PLAYERKIT_PLATINUM_DLC_HOMINGLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_HOMINGLAUNCHER RETURN PLAYERKIT_GREEN_DLC_HOMINGLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_RAILGUN RETURN PLAYERKIT_GOLD_DLC_RAILGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_RAILGUN RETURN PLAYERKIT_PINK_DLC_RAILGUN_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_RAILGUN RETURN PLAYERKIT_TAN_DLC_RAILGUN_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_RAILGUN RETURN PLAYERKIT_BLUE_DLC_RAILGUN_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_RAILGUN RETURN PLAYERKIT_RED_DLC_RAILGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_RAILGUN RETURN PLAYERKIT_PLATINUM_DLC_RAILGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_RAILGUN RETURN PLAYERKIT_GREEN_DLC_RAILGUN_BIT_FIELD BREAK
CASE PLAYERKIT_BLACK_COMBAT_CHUTE_BAG RETURN PLAYERKIT_BLACK_COMBAT_CHUTE_BAG_BIT_FIELD BREAK
CASE PLAYERKIT_GRAY_COMBAT_CHUTE_BAG RETURN PLAYERKIT_GRAY_COMBAT_CHUTE_BAG_BIT_FIELD BREAK
CASE PLAYERKIT_CHARCOAL_COMBAT_CHUTE_BAG RETURN PLAYERKIT_CHARCOAL_COMBAT_CHUTE_BAG_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_COMBAT_CHUTE_BAG RETURN PLAYERKIT_TAN_COMBAT_CHUTE_BAG_BIT_FIELD BREAK
CASE PLAYERKIT_FOREST_COMBAT_CHUTE_BAG RETURN PLAYERKIT_FOREST_COMBAT_CHUTE_BAG_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_62 RETURN PLAYERKIT_PARA_PACK_62_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_63 RETURN PLAYERKIT_PARA_PACK_63_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_COMBATPDW RETURN PLAYERKIT_GREEN_DLC_COMBATPDW_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_COMBATPDW RETURN PLAYERKIT_GOLD_DLC_COMBATPDW_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_COMBATPDW RETURN PLAYERKIT_PINK_DLC_COMBATPDW_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_COMBATPDW RETURN PLAYERKIT_TAN_DLC_COMBATPDW_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_COMBATPDW RETURN PLAYERKIT_BLUE_DLC_COMBATPDW_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_COMBATPDW RETURN PLAYERKIT_RED_DLC_COMBATPDW_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_COMBATPDW RETURN PLAYERKIT_PLATINUM_DLC_COMBATPDW_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_MARKSMANPISTOL RETURN PLAYERKIT_GOLD_DLC_MARKSMANPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_MARKSMANPISTOL RETURN PLAYERKIT_PINK_DLC_MARKSMANPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_MARKSMANPISTOL RETURN PLAYERKIT_TAN_DLC_MARKSMANPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_MARKSMANPISTOL RETURN PLAYERKIT_BLUE_DLC_MARKSMANPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_MARKSMANPISTOL RETURN PLAYERKIT_RED_DLC_MARKSMANPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_MARKSMANPISTOL RETURN PLAYERKIT_PLATINUM_DLC_MARKSMANPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_MARKSMANPISTOL RETURN PLAYERKIT_GREEN_DLC_MARKSMANPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_MACHINEPISTOL RETURN PLAYERKIT_GOLD_DLC_MACHINEPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_MACHINEPISTOL RETURN PLAYERKIT_PINK_DLC_MACHINEPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_MACHINEPISTOL RETURN PLAYERKIT_TAN_DLC_MACHINEPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_MACHINEPISTOL RETURN PLAYERKIT_BLUE_DLC_MACHINEPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_MACHINEPISTOL RETURN PLAYERKIT_RED_DLC_MACHINEPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_MACHINEPISTOL RETURN PLAYERKIT_PLATINUM_DLC_MACHINEPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_MACHINEPISTOL RETURN PLAYERKIT_GREEN_DLC_COMPACTRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_COMPACTRIFLE RETURN PLAYERKIT_GOLD_DLC_COMPACTRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_COMPACTRIFLE RETURN PLAYERKIT_PINK_DLC_COMPACTRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_COMPACTRIFLE RETURN PLAYERKIT_TAN_DLC_COMPACTRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_COMPACTRIFLE RETURN PLAYERKIT_BLUE_DLC_COMPACTRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_COMPACTRIFLE RETURN PLAYERKIT_RED_DLC_COMPACTRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_COMPACTRIFLE RETURN PLAYERKIT_PLATINUM_DLC_COMPACTRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_COMPACTRIFLE RETURN PLAYERKIT_GREEN_DLC_COMPACTRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_DBSHOTGUN RETURN PLAYERKIT_GOLD_DLC_DBSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_DBSHOTGUN RETURN PLAYERKIT_PINK_DLC_DBSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_DBSHOTGUN RETURN PLAYERKIT_TAN_DLC_DBSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_DBSHOTGUN RETURN PLAYERKIT_BLUE_DLC_DBSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_DBSHOTGUN RETURN PLAYERKIT_RED_DLC_DBSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_DBSHOTGUN RETURN PLAYERKIT_PLATINUM_DLC_DBSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_DBSHOTGUN RETURN PLAYERKIT_GREEN_DLC_DBSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_REVOLVER RETURN PLAYERKIT_GOLD_DLC_REVOLVER_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_REVOLVER RETURN PLAYERKIT_PINK_DLC_REVOLVER_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_REVOLVER RETURN PLAYERKIT_TAN_DLC_REVOLVER_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_REVOLVER RETURN PLAYERKIT_BLUE_DLC_REVOLVER_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_REVOLVER RETURN PLAYERKIT_RED_DLC_REVOLVER_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_REVOLVER RETURN PLAYERKIT_PLATINUM_DLC_REVOLVER_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_REVOLVER RETURN PLAYERKIT_GREEN_DLC_REVOLVER_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_AUTOSHOTGUN RETURN PLAYERKIT_GOLD_DLC_AUTOSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_AUTOSHOTGUN RETURN PLAYERKIT_PINK_DLC_AUTOSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_AUTOSHOTGUN RETURN PLAYERKIT_TAN_DLC_AUTOSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_AUTOSHOTGUN RETURN PLAYERKIT_BLUE_DLC_AUTOSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_AUTOSHOTGUN RETURN PLAYERKIT_RED_DLC_AUTOSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_AUTOSHOTGUN RETURN PLAYERKIT_PLATINUM_DLC_AUTOSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_AUTOSHOTGUN RETURN PLAYERKIT_GREEN_DLC_AUTOSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_MINISMG RETURN PLAYERKIT_GOLD_DLC_MINISMG_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_MINISMG RETURN PLAYERKIT_PINK_DLC_MINISMG_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_MINISMG RETURN PLAYERKIT_TAN_DLC_MINISMG_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_MINISMG RETURN PLAYERKIT_BLUE_DLC_MINISMG_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_MINISMG RETURN PLAYERKIT_RED_DLC_MINISMG_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_MINISMG RETURN PLAYERKIT_PLATINUM_DLC_MINISMG_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_MINISMG RETURN PLAYERKIT_GREEN_DLC_MINISMG_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_COMPACTLAUNCHER RETURN PLAYERKIT_GOLD_DLC_COMPACTLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_COMPACTLAUNCHER RETURN PLAYERKIT_PINK_DLC_COMPACTLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_COMPACTLAUNCHER RETURN PLAYERKIT_TAN_DLC_COMPACTLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_COMPACTLAUNCHER RETURN PLAYERKIT_BLUE_DLC_COMPACTLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_COMPACTLAUNCHER RETURN PLAYERKIT_RED_DLC_COMPACTLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_COMPACTLAUNCHER RETURN PLAYERKIT_PLATINUM_DLC_COMPACTLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_COMPACTLAUNCHER RETURN PLAYERKIT_GREEN_DLC_COMPACTLAUNCHER_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_TINT_1_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_1_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_2_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_2_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_3_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_3_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_4_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_4_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_5_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_5_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_6_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_6_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_7_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_7_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_8_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_8_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_9_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_9_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_10_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_10_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_11_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_11_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_12_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_12_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_13_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_13_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_14_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_14_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_15_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_15_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_16_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_16_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_17_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_17_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_18_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_18_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_19_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_19_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_20_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_20_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_21_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_21_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_22_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_22_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_23_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_23_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_24_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_24_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_25_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_25_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_26_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_26_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_27_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_27_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_28_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_28_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_29_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_29_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_30_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_30_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_31_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_31_DLC_PISTOL_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_TINT_1_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_1_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_2_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_2_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_3_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_3_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_4_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_4_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_5_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_5_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_6_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_6_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_7_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_7_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_8_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_8_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_9_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_9_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_10_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_10_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_11_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_11_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_12_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_12_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_13_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_13_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_14_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_14_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_15_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_15_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_16_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_16_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_17_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_17_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_18_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_18_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_19_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_19_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_20_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_20_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_21_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_21_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_22_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_22_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_23_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_23_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_24_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_24_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_25_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_25_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_26_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_26_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_27_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_27_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_28_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_28_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_29_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_29_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_30_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_30_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_31_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_TINT_31_DLC_SMG_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_TINT_1_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_1_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_2_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_2_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_3_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_3_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_4_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_4_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_5_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_5_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_6_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_6_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_7_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_7_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_8_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_8_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_9_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_9_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_10_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_10_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_11_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_11_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_12_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_12_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_13_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_13_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_14_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_14_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_15_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_15_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_16_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_16_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_17_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_17_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_18_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_18_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_19_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_19_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_20_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_20_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_21_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_21_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_22_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_22_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_23_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_23_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_24_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_24_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_25_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_25_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_26_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_26_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_27_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_27_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_28_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_28_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_29_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_29_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_30_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_30_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_31_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_TINT_31_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_TINT_1_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_1_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_2_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_2_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_3_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_3_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_4_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_4_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_5_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_5_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_6_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_6_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_7_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_7_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_8_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_8_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_9_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_9_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_10_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_10_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_11_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_11_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_12_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_12_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_13_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_13_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_14_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_14_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_15_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_15_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_16_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_16_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_17_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_17_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_18_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_18_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_19_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_19_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_20_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_20_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_21_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_21_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_22_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_22_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_23_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_23_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_24_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_24_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_25_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_25_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_26_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_26_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_27_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_27_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_28_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_28_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_29_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_29_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_30_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_30_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_31_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_TINT_31_DLC_COMBATMG_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_TINT_1_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_1_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_2_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_2_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_3_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_3_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_4_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_4_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_5_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_5_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_6_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_6_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_7_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_7_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_8_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_8_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_9_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_9_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_10_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_10_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_11_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_11_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_12_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_12_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_13_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_13_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_14_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_14_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_15_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_15_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_16_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_16_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_17_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_17_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_18_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_18_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_19_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_19_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_20_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_20_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_21_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_21_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_22_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_22_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_23_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_23_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_24_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_24_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_25_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_25_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_26_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_26_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_27_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_27_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_28_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_28_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_29_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_29_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_30_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_30_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_31_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_31_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_1_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_1_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_2_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_2_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_3_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_3_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_4_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_4_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_5_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_5_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_6_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_6_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_7_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_7_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_8_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_8_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_9_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_9_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_10_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_10_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_11_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_11_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_12_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_12_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_13_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_13_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_14_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_14_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_15_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_15_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_16_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_16_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_17_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_17_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_18_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_18_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_19_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_19_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_20_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_20_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_21_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_21_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_22_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_22_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_23_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_23_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_24_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_24_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_25_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_25_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_26_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_26_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_27_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_27_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_28_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_28_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_29_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_29_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_30_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_30_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_31_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_31_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_CAMO_TINT_1_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_1_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_2_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_2_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_3_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_3_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_4_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_4_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_5_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_5_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_6_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_6_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_7_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_7_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_8_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_8_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_9_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_9_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_10_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_10_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_11_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_11_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_12_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_12_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_13_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_13_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_14_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_14_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_15_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_15_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_16_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_16_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_17_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_17_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_18_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_18_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_19_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_19_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_20_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_20_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_21_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_21_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_22_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_22_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_23_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_23_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_24_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_24_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_25_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_25_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_26_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_26_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_27_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_27_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_28_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_28_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_29_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_29_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_30_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_30_DLC_PISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_31_DLC_PISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_31_DLC_PISTOL_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_CAMO_TINT_1_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_1_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_2_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_2_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_3_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_3_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_4_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_4_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_5_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_5_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_6_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_6_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_7_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_7_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_8_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_8_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_9_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_9_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_10_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_10_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_11_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_11_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_12_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_12_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_13_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_13_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_14_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_14_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_15_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_15_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_16_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_16_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_17_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_17_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_18_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_18_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_19_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_19_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_20_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_20_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_21_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_21_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_22_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_22_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_23_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_23_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_24_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_24_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_25_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_25_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_26_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_26_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_27_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_27_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_28_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_28_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_29_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_29_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_30_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_30_DLC_SMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_31_DLC_SMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_31_DLC_SMG_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_CAMO_TINT_1_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_1_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_2_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_2_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_3_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_3_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_4_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_4_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_5_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_5_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_6_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_6_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_7_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_7_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_8_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_8_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_9_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_9_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_10_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_10_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_11_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_11_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_12_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_12_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_13_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_13_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_14_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_14_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_15_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_15_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_16_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_16_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_17_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_17_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_18_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_18_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_19_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_19_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_20_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_20_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_21_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_21_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_22_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_22_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_23_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_23_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_24_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_24_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_25_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_25_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_26_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_26_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_27_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_27_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_28_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_28_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_29_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_29_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_30_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_30_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_31_DLC_HEAVYSNIPER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_31_DLC_HEAVYSNIPER_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_CAMO_TINT_1_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_1_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_2_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_2_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_3_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_3_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_4_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_4_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_5_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_5_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_6_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_6_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_7_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_7_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_8_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_8_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_9_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_9_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_10_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_10_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_11_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_11_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_12_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_12_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_13_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_13_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_14_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_14_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_15_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_15_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_16_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_16_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_17_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_17_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_18_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_18_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_19_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_19_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_20_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_20_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_21_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_21_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_22_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_22_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_23_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_23_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_24_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_24_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_25_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_25_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_26_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_26_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_27_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_27_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_28_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_28_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_29_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_29_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_30_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_30_DLC_COMBATMG_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_31_DLC_COMBATMG_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_31_DLC_COMBATMG_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_CAMO_TINT_1_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_1_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_2_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_2_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_3_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_3_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_4_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_4_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_5_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_5_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_6_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_6_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_7_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_7_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_8_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_8_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_9_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_9_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_10_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_10_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_11_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_11_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_12_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_12_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_13_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_13_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_14_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_14_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_15_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_15_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_16_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_16_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_17_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_17_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_18_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_18_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_19_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_19_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_20_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_20_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_21_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_21_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_22_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_22_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_23_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_23_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_24_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_24_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_25_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_25_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_26_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_26_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_27_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_27_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_28_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_28_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_29_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_29_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_30_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_30_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_31_DLC_ASSAULTRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_31_DLC_ASSAULTRIFLE_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_CAMO_TINT_1_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_1_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_2_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_2_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_3_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_3_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_4_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_4_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_5_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_5_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_6_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_6_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_7_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_7_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_8_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_8_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_9_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_9_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_10_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_10_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_11_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_11_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_12_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_12_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_13_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_13_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_14_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_14_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_15_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_15_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_16_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_16_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_17_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_17_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_18_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_18_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_19_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_19_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_20_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_20_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_21_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_21_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_22_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_22_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_23_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_23_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_24_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_24_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_25_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_25_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_26_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_26_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_27_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_27_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_28_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_28_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_29_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_29_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_30_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_30_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_31_DLC_CARBINERIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_31_DLC_CARBINERIFLE_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_TINT_1_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_1_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_2_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_2_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_3_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_3_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_4_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_4_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_5_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_5_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_6_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_6_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_7_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_7_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_8_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_8_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_9_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_9_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_10_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_10_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_11_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_11_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_12_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_12_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_13_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_13_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_14_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_14_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_15_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_15_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_16_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_16_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_17_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_17_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_18_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_18_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_19_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_19_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_20_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_20_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_21_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_21_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_22_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_22_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_23_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_23_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_24_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_24_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_25_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_25_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_26_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_26_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_27_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_27_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_28_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_28_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_29_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_29_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_30_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_30_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_31_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_TINT_31_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_TINT_1_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_1_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_2_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_2_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_3_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_3_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_4_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_4_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_5_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_5_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_6_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_6_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_7_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_7_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_8_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_8_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_9_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_9_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_10_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_10_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_11_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_11_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_12_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_12_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_13_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_13_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_14_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_14_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_15_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_15_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_16_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_16_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_17_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_17_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_18_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_18_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_19_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_19_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_20_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_20_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_21_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_21_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_22_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_22_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_23_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_23_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_24_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_24_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_25_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_25_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_26_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_26_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_27_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_27_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_28_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_28_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_29_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_29_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_30_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_30_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_31_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_TINT_31_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_TINT_1_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_1_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_2_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_2_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_3_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_3_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_4_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_4_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_5_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_5_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_6_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_6_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_7_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_7_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_8_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_8_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_9_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_9_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_10_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_10_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_11_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_11_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_12_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_12_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_13_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_13_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_14_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_14_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_15_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_15_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_16_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_16_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_17_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_17_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_18_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_18_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_19_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_19_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_20_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_20_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_21_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_21_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_22_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_22_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_23_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_23_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_24_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_24_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_25_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_25_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_26_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_26_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_27_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_27_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_28_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_28_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_29_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_29_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_30_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_30_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_31_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_TINT_31_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_TINT_1_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_1_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_2_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_2_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_3_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_3_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_4_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_4_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_5_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_5_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_6_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_6_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_7_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_7_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_8_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_8_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_9_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_9_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_10_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_10_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_11_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_11_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_12_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_12_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_13_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_13_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_14_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_14_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_15_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_15_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_16_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_16_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_17_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_17_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_18_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_18_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_19_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_19_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_20_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_20_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_21_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_21_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_22_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_22_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_23_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_23_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_24_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_24_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_25_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_25_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_26_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_26_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_27_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_27_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_28_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_28_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_29_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_29_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_30_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_30_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_31_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_31_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_TINT_1_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_1_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_2_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_2_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_3_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_3_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_4_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_4_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_5_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_5_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_6_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_6_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_7_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_7_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_8_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_8_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_9_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_9_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_10_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_10_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_11_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_11_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_12_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_12_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_13_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_13_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_14_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_14_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_15_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_15_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_16_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_16_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_17_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_17_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_18_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_18_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_19_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_19_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_20_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_20_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_21_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_21_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_22_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_22_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_23_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_23_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_24_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_24_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_25_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_25_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_26_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_26_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_27_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_27_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_28_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_28_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_29_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_29_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_30_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_30_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_31_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_TINT_31_DLC_REVOLVER_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_TINT_1_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_1_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_2_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_2_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_3_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_3_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_4_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_4_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_5_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_5_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_6_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_6_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_7_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_7_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_8_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_8_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_9_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_9_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_10_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_10_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_11_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_11_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_12_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_12_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_13_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_13_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_14_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_14_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_15_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_15_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_16_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_16_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_17_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_17_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_18_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_18_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_19_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_19_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_20_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_20_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_21_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_21_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_22_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_22_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_23_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_23_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_24_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_24_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_25_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_25_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_26_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_26_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_27_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_27_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_28_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_28_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_29_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_29_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_30_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_30_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_TINT_31_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_TINT_31_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_CAMO_TINT_1_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_1_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_2_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_2_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_3_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_3_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_4_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_4_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_5_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_5_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_6_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_6_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_7_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_7_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_8_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_8_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_9_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_9_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_10_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_10_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_11_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_11_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_12_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_12_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_13_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_13_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_14_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_14_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_15_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_15_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_16_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_16_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_17_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_17_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_18_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_18_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_19_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_19_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_20_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_20_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_21_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_21_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_22_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_22_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_23_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_23_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_24_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_24_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_25_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_25_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_26_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_26_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_27_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_27_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_28_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_28_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_29_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_29_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_30_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_30_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_31_DLC_PUMPSHOTGUN_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_31_DLC_PUMPSHOTGUN_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_CAMO_TINT_1_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_1_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_2_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_2_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_3_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_3_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_4_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_4_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_5_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_5_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_6_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_6_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_7_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_7_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_8_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_8_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_9_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_9_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_10_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_10_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_11_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_11_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_12_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_12_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_13_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_13_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_14_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_14_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_15_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_15_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_16_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_16_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_17_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_17_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_18_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_18_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_19_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_19_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_20_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_20_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_21_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_21_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_22_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_22_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_23_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_23_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_24_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_24_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_25_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_25_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_26_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_26_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_27_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_27_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_28_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_28_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_29_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_29_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_30_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_30_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_31_DLC_SPECIALCARBINE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_31_DLC_SPECIALCARBINE_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_CAMO_TINT_1_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_1_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_2_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_2_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_3_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_3_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_4_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_4_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_5_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_5_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_6_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_6_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_7_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_7_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_8_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_8_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_9_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_9_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_10_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_10_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_11_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_11_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_12_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_12_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_13_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_13_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_14_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_14_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_15_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_15_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_16_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_16_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_17_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_17_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_18_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_18_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_19_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_19_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_20_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_20_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_21_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_21_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_22_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_22_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_23_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_23_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_24_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_24_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_25_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_25_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_26_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_26_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_27_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_27_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_28_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_28_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_29_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_29_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_30_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_30_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_31_DLC_SNSPISTOL_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_31_DLC_SNSPISTOL_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_CAMO_TINT_1_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_1_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_2_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_2_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_3_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_3_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_4_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_4_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_5_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_5_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_6_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_6_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_7_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_7_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_8_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_8_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_9_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_9_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_10_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_10_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_11_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_11_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_12_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_12_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_13_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_13_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_14_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_14_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_15_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_15_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_16_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_16_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_17_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_17_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_18_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_18_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_19_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_19_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_20_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_20_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_21_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_21_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_22_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_22_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_23_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_23_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_24_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_24_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_25_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_25_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_26_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_26_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_27_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_27_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_28_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_28_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_29_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_29_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_30_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_30_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_31_DLC_MARKSMANRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_31_DLC_MARKSMANRIFLE_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_CAMO_TINT_1_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_1_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_2_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_2_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_3_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_3_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_4_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_4_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_5_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_5_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_6_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_6_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_7_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_7_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_8_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_8_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_9_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_9_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_10_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_10_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_11_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_11_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_12_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_12_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_13_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_13_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_14_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_14_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_15_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_15_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_16_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_16_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_17_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_17_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_18_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_18_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_19_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_19_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_20_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_20_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_21_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_21_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_22_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_22_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_23_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_23_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_24_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_24_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_25_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_25_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_26_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_26_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_27_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_27_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_28_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_28_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_29_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_29_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_30_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_30_DLC_REVOLVER_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_31_DLC_REVOLVER_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_31_DLC_REVOLVER_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_MK2_CAMO_TINT_1_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_1_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_2_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_2_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_3_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_3_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_4_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_4_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_5_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_5_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_6_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_6_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_7_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_7_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_8_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_8_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_9_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_9_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_10_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_10_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_11_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_11_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_12_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_12_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_13_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_13_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_14_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_14_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_15_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_15_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_16_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_16_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_17_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_17_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_18_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_18_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_19_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_19_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_20_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_20_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_21_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_21_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_22_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_22_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_23_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_23_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_24_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_24_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_25_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_25_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_26_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_26_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_27_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_27_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_28_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_28_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_29_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_29_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_30_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_30_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
CASE PLAYERKIT_MK2_CAMO_TINT_31_DLC_BULLPUPRIFLE_MK2 RETURN PLAYERKIT_MK2_CAMO_TINT_31_DLC_BULLPUPRIFLE_MK2_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_GOLD_DLC_RAYPISTOL RETURN PLAYERKIT_GOLD_DLC_RAYPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_RAYPISTOL RETURN PLAYERKIT_PINK_DLC_RAYPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_RAYPISTOL RETURN PLAYERKIT_TAN_DLC_RAYPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_RAYPISTOL RETURN PLAYERKIT_BLUE_DLC_RAYPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_RAYPISTOL RETURN PLAYERKIT_RED_DLC_RAYPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_RAYPISTOL RETURN PLAYERKIT_PLATINUM_DLC_RAYPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_RAYPISTOL RETURN PLAYERKIT_GREEN_DLC_RAYPISTOL_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_GOLD_DLC_RAYCARBINE RETURN PLAYERKIT_GOLD_DLC_RAYCARBINE_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_RAYCARBINE RETURN PLAYERKIT_PINK_DLC_RAYCARBINE_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_RAYCARBINE RETURN PLAYERKIT_TAN_DLC_RAYCARBINE_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_RAYCARBINE RETURN PLAYERKIT_BLUE_DLC_RAYCARBINE_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_RAYCARBINE RETURN PLAYERKIT_RED_DLC_RAYCARBINE_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_RAYCARBINE RETURN PLAYERKIT_PLATINUM_DLC_RAYCARBINE_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_RAYCARBINE RETURN PLAYERKIT_GREEN_DLC_RAYCARBINE_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_GOLD_DLC_RAYMINIGUN RETURN PLAYERKIT_GOLD_DLC_RAYMINIGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_RAYMINIGUN RETURN PLAYERKIT_PINK_DLC_RAYMINIGUN_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_RAYMINIGUN RETURN PLAYERKIT_TAN_DLC_RAYMINIGUN_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_RAYMINIGUN RETURN PLAYERKIT_BLUE_DLC_RAYMINIGUN_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_RAYMINIGUN RETURN PLAYERKIT_RED_DLC_RAYMINIGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_RAYMINIGUN RETURN PLAYERKIT_PLATINUM_DLC_RAYMINIGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_RAYMINIGUN RETURN PLAYERKIT_GREEN_DLC_RAYMINIGUN_BIT_FIELD BREAK
ENDSWITCH
SWITCH aplayerkit
CASE PLAYERKIT_GOLD_DLC_CERAMICPISTOL RETURN PLAYERKIT_GOLD_DLC_CERAMICPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_CERAMICPISTOL RETURN PLAYERKIT_PINK_DLC_CERAMICPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_CERAMICPISTOL RETURN PLAYERKIT_TAN_DLC_CERAMICPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_CERAMICPISTOL RETURN PLAYERKIT_BLUE_DLC_CERAMICPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_CERAMICPISTOL RETURN PLAYERKIT_RED_DLC_CERAMICPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_CERAMICPISTOL RETURN PLAYERKIT_PLATINUM_DLC_CERAMICPISTOL_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_CERAMICPISTOL RETURN PLAYERKIT_GREEN_DLC_CERAMICPISTOL_BIT_FIELD BREAK
ENDSWITCH
#IF FEATURE_COPS_N_CROOKS
SWITCH aplayerkit
CASE PLAYERKIT_GOLD_DLC_POLICERIFLE RETURN PLAYERKIT_GOLD_DLC_POLICERIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_POLICERIFLE RETURN PLAYERKIT_PINK_DLC_POLICERIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_POLICERIFLE RETURN PLAYERKIT_TAN_DLC_POLICERIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_POLICERIFLE RETURN PLAYERKIT_BLUE_DLC_POLICERIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_POLICERIFLE RETURN PLAYERKIT_RED_DLC_POLICERIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_POLICERIFLE RETURN PLAYERKIT_PLATINUM_DLC_POLICERIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_POLICERIFLE RETURN PLAYERKIT_GREEN_DLC_POLICERIFLE_BIT_FIELD BREAK
ENDSWITCH
#ENDIF
#IF FEATURE_HEIST_ISLAND
SWITCH aplayerkit
CASE PLAYERKIT_GOLD_DLC_COMBATSHOTGUN RETURN PLAYERKIT_GOLD_DLC_COMBATSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_COMBATSHOTGUN RETURN PLAYERKIT_PINK_DLC_COMBATSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_COMBATSHOTGUN RETURN PLAYERKIT_TAN_DLC_COMBATSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_COMBATSHOTGUN RETURN PLAYERKIT_BLUE_DLC_COMBATSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_COMBATSHOTGUN RETURN PLAYERKIT_RED_DLC_COMBATSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_COMBATSHOTGUN RETURN PLAYERKIT_PLATINUM_DLC_COMBATSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_COMBATSHOTGUN RETURN PLAYERKIT_GREEN_DLC_COMBATSHOTGUN_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_MILITARYRIFLE RETURN PLAYERKIT_GOLD_DLC_MILITARYRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_MILITARYRIFLE RETURN PLAYERKIT_PINK_DLC_MILITARYRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_MILITARYRIFLE RETURN PLAYERKIT_TAN_DLC_MILITARYRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_MILITARYRIFLE RETURN PLAYERKIT_BLUE_DLC_MILITARYRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_MILITARYRIFLE RETURN PLAYERKIT_RED_DLC_MILITARYRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_MILITARYRIFLE RETURN PLAYERKIT_PLATINUM_DLC_MILITARYRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_MILITARYRIFLE RETURN PLAYERKIT_GREEN_DLC_MILITARYRIFLE_BIT_FIELD BREAK
ENDSWITCH
#ENDIF
#IF FEATURE_TUNER
SWITCH aplayerkit
CASE PLAYERKIT_PARA_DLC_CHUTE_SPRUNK RETURN PLAYERKIT_PARA_DLC_CHUTE_SPRUNK_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_CHUTE_ECOLA RETURN PLAYERKIT_PARA_DLC_CHUTE_ECOLA_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_CHUTE_HALLOWEEN RETURN PLAYERKIT_PARA_DLC_CHUTE_HALLOWEEN_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_RSRV_CHUTE_SPRUNK RETURN PLAYERKIT_PARA_DLC_RSRV_CHUTE_SPRUNK_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_RSRV_CHUTE_ECOLA RETURN PLAYERKIT_PARA_DLC_RSRV_CHUTE_ECOLA_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_RSRV_CHUTE_HALLOWEEN RETURN PLAYERKIT_PARA_DLC_RSRV_CHUTE_HALLOWEEN_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_SPRUNK RETURN PLAYERKIT_PARA_PACK_SPRUNK_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_ECOLA RETURN PLAYERKIT_PARA_PACK_ECOLA_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_HALLOWEEN RETURN PLAYERKIT_PARA_PACK_HALLOWEEN_BIT_FIELD BREAK
ENDSWITCH
#ENDIF
#IF FEATURE_FIXER
SWITCH aplayerkit
CASE PLAYERKIT_GOLD_DLC_HEAVYRIFLE RETURN PLAYERKIT_GOLD_DLC_HEAVYRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_HEAVYRIFLE RETURN PLAYERKIT_PINK_DLC_HEAVYRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_HEAVYRIFLE RETURN PLAYERKIT_TAN_DLC_HEAVYRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_HEAVYRIFLE RETURN PLAYERKIT_BLUE_DLC_HEAVYRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_HEAVYRIFLE RETURN PLAYERKIT_RED_DLC_HEAVYRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_HEAVYRIFLE RETURN PLAYERKIT_PLATINUM_DLC_HEAVYRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_HEAVYRIFLE RETURN PLAYERKIT_GREEN_DLC_HEAVYRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_EMPLAUNCHER RETURN PLAYERKIT_GOLD_DLC_EMPLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_EMPLAUNCHER RETURN PLAYERKIT_PINK_DLC_EMPLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_EMPLAUNCHER RETURN PLAYERKIT_TAN_DLC_EMPLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_EMPLAUNCHER RETURN PLAYERKIT_BLUE_DLC_EMPLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_EMPLAUNCHER RETURN PLAYERKIT_RED_DLC_EMPLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_EMPLAUNCHER RETURN PLAYERKIT_PLATINUM_DLC_EMPLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_EMPLAUNCHER RETURN PLAYERKIT_GREEN_DLC_EMPLAUNCHER_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_STUNGUNG_MP RETURN PLAYERKIT_GOLD_DLC_STUNGUNG_MP_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_STUNGUNG_MP RETURN PLAYERKIT_PINK_DLC_STUNGUNG_MP_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_STUNGUNG_MP RETURN PLAYERKIT_TAN_DLC_STUNGUNG_MP_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_STUNGUNG_MP RETURN PLAYERKIT_BLUE_DLC_STUNGUNG_MP_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_STUNGUNG_MP RETURN PLAYERKIT_RED_DLC_STUNGUNG_MP_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_STUNGUNG_MP RETURN PLAYERKIT_PLATINUM_DLC_STUNGUNG_MP_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_STUNGUNG_MP RETURN PLAYERKIT_GREEN_DLC_STUNGUNG_MP_BIT_FIELD BREAK
ENDSWITCH
#ENDIF
#IF FEATURE_DLC_1_2022
SWITCH aplayerkit
CASE PLAYERKIT_GOLD_DLC_TACTICALRIFLE RETURN PLAYERKIT_GOLD_DLC_TACTICALRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_TACTICALRIFLE RETURN PLAYERKIT_PINK_DLC_TACTICALRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_TACTICALRIFLE RETURN PLAYERKIT_TAN_DLC_TACTICALRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_TACTICALRIFLE RETURN PLAYERKIT_BLUE_DLC_TACTICALRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_TACTICALRIFLE RETURN PLAYERKIT_RED_DLC_TACTICALRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_TACTICALRIFLE RETURN PLAYERKIT_PLATINUM_DLC_TACTICALRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_TACTICALRIFLE RETURN PLAYERKIT_GREEN_DLC_TACTICALRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GOLD_DLC_PRECISIONRIFLE RETURN PLAYERKIT_GOLD_DLC_PRECISIONRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PINK_DLC_PRECISIONRIFLE RETURN PLAYERKIT_PINK_DLC_PRECISIONRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_TAN_DLC_PRECISIONRIFLE RETURN PLAYERKIT_TAN_DLC_PRECISIONRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_BLUE_DLC_PRECISIONRIFLE RETURN PLAYERKIT_BLUE_DLC_PRECISIONRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_RED_DLC_PRECISIONRIFLE RETURN PLAYERKIT_RED_DLC_PRECISIONRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_PLATINUM_DLC_PRECISIONRIFLE RETURN PLAYERKIT_PLATINUM_DLC_PRECISIONRIFLE_BIT_FIELD BREAK
CASE PLAYERKIT_GREEN_DLC_PRECISIONRIFLE RETURN PLAYERKIT_GREEN_DLC_TACTICALRIFLE_BIT_FIELD BREAK
ENDSWITCH
#ENDIF
#IF FEATURE_DLC_1_2022
SWITCH aplayerkit
CASE PLAYERKIT_PARA_DLC_CHUTE_JUNK RETURN PLAYERKIT_PARA_DLC_CHUTE_JUNK_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_DLC_RSRV_CHUTE_JUNK RETURN PLAYERKIT_PARA_DLC_RSRV_CHUTE_JUNK_BIT_FIELD BREAK
CASE PLAYERKIT_PARA_PACK_JUNK RETURN PLAYERKIT_PARA_PACK_JUNK_BIT_FIELD BREAK
ENDSWITCH
#ENDIF
SCRIPT_ASSERT("GET_KIT_BITSET_FROM_KITTYPE invalid field returning. - Kevin Wong")
RETURN PLAYERKIT_PINK_MINIGUN_BIT_FIELD
ENDFUNC
FUNC WEAPON_TYPE GET_WEAPONTYPE_FROM_WEAPON_BITSET(WEAPON_BITSET aWeapon, BOOL bMK2Weapon = FALSE)
IF bMK2Weapon
SWITCH aWeapon
CASE WEAPON_PISTOL_BIT_FIELD RETURN WEAPONTYPE_DLC_PISTOL_MK2
CASE WEAPON_SMG_BIT_FIELD RETURN WEAPONTYPE_DLC_SMG_MK2
CASE WEAPON_ASSAULTRIFLE_BIT_FIELD RETURN WEAPONTYPE_DLC_ASSAULTRIFLE_MK2
CASE WEAPON_CARBINERIFLE_BIT_FIELD RETURN WEAPONTYPE_DLC_CARBINERIFLE_MK2
CASE WEAPON_COMBATMG_BIT_FIELD RETURN WEAPONTYPE_DLC_COMBATMG_MK2
CASE WEAPON_HEAVYSNIPER_BIT_FIELD RETURN WEAPONTYPE_DLC_HEAVYSNIPER_MK2
ENDSWITCH
SWITCH aWeapon
CASE WEAPON_PUMPSHOTGUN_BIT_FIELD RETURN WEAPONTYPE_DLC_PUMPSHOTGUN_MK2
CASE WEAPON_DLC_SPECIALCARBINE_BIT_FIELD RETURN WEAPONTYPE_DLC_SPECIALCARBINE_MK2
CASE WEAPON_DLC_SNSPISTOL_BIT_FIELD RETURN WEAPONTYPE_DLC_SNSPISTOL_MK2
CASE WEAPON_DLC_MARKSMANRIFLE_BIT_FIELD RETURN WEAPONTYPE_DLC_MARKSMANRIFLE_MK2
CASE WEAPON_DLC_REVOLVER_BIT_FIELD RETURN WEAPONTYPE_DLC_REVOLVER_MK2
CASE WEAPON_DLC_BULLPUPRIFLE_BIT_FIELD RETURN WEAPONTYPE_DLC_BULLPUPRIFLE_MK2
ENDSWITCH
ENDIF
SWITCH aWeapon
CASE WEAPON_KNIFE_BIT_FIELD RETURN WEAPONTYPE_KNIFE BREAK
//Pistols
CASE WEAPON_PISTOL_BIT_FIELD RETURN WEAPONTYPE_PISTOL BREAK
CASE WEAPON_COMBATPISTOL_BIT_FIELD RETURN WEAPONTYPE_COMBATPISTOL BREAK
CASE WEAPON_APPISTOL_BIT_FIELD RETURN WEAPONTYPE_APPISTOL BREAK
//SMGs
CASE WEAPON_SMG_BIT_FIELD RETURN WEAPONTYPE_SMG BREAK
CASE WEAPON_MICROSMG_BIT_FIELD RETURN WEAPONTYPE_MICROSMG BREAK
//Assault Rifles
CASE WEAPON_ASSAULTRIFLE_BIT_FIELD RETURN WEAPONTYPE_ASSAULTRIFLE BREAK
CASE WEAPON_CARBINERIFLE_BIT_FIELD RETURN WEAPONTYPE_CARBINERIFLE BREAK
CASE WEAPON_ADVANCEDRIFLE_BIT_FIELD RETURN WEAPONTYPE_ADVANCEDRIFLE BREAK
//LMG
CASE WEAPON_MG_BIT_FIELD RETURN WEAPONTYPE_MG BREAK
CASE WEAPON_COMBATMG_BIT_FIELD RETURN WEAPONTYPE_COMBATMG BREAK
//Handhelds
CASE WEAPON_STICKYBOMB_BIT_FIELD RETURN WEAPONTYPE_STICKYBOMB BREAK
CASE WEAPON_GRENADE_BIT_FIELD RETURN WEAPONTYPE_GRENADE BREAK
CASE WEAPON_SMOKEGRENADE_BIT_FIELD RETURN WEAPONTYPE_SMOKEGRENADE BREAK
CASE WEAPON_DLC_PROXMINE_BIT_FIELD RETURN WEAPONTYPE_DLC_PROXMINE BREAK
//Sniper
CASE WEAPON_REMOTESNIPER_BIT_FIELD RETURN WEAPONTYPE_REMOTESNIPER BREAK
CASE WEAPON_SNIPERRIFLE_BIT_FIELD RETURN WEAPONTYPE_SNIPERRIFLE BREAK
CASE WEAPON_HEAVYSNIPER_BIT_FIELD RETURN WEAPONTYPE_HEAVYSNIPER BREAK
CASE WEAPON_DLC_MARKSMANRIFLE_BIT_FIELD RETURN WEAPONTYPE_DLC_MARKSMANRIFLE BREAK
//Shotgun
CASE WEAPON_PUMPSHOTGUN_BIT_FIELD RETURN WEAPONTYPE_PUMPSHOTGUN BREAK
CASE WEAPON_ASSAULTSHOTGUN_BIT_FIELD RETURN WEAPONTYPE_ASSAULTSHOTGUN BREAK
CASE WEAPON_SAWNOFFSHOTGUN_BIT_FIELD RETURN WEAPONTYPE_SAWNOFFSHOTGUN BREAK
CASE WEAPON_DLC_HEAVYSHOTGUN_BIT_FIELD RETURN WEAPONTYPE_DLC_HEAVYSHOTGUN BREAK
//Heavy Weapon
CASE WEAPON_GRENADELAUNCHER_BIT_FIELD RETURN WEAPONTYPE_GRENADELAUNCHER BREAK
CASE WEAPON_RPG_BIT_FIELD RETURN WEAPONTYPE_RPG BREAK
CASE WEAPON_MINIGUN_BIT_FIELD RETURN WEAPONTYPE_MINIGUN BREAK
CASE WEAPON_DLC_HOMINGLAUNCH_BIT_FIELD RETURN WEAPONTYPE_DLC_HOMINGLAUNCHER BREAK
//Extras
CASE WEAPON_STUNGUN_BIT_FIELD RETURN WEAPONTYPE_STUNGUN BREAK
CASE WEAPON_PARACHUTE_BIT_FIELD RETURN GADGETTYPE_PARACHUTE BREAK
CASE WEAPON_NIGHTSTICK_BIT_FIELD RETURN WEAPONTYPE_NIGHTSTICK BREAK
CASE WEAPON_PETROLCAN_BIT_FIELD RETURN WEAPONTYPE_PETROLCAN BREAK
CASE WEAPON_DLC_BOTTLE_BIT_FIELD RETURN WEAPONTYPE_DLC_BOTTLE BREAK
CASE WEAPON_DLC_SPECIALCARBINE_BIT_FIELD RETURN WEAPONTYPE_DLC_SPECIALCARBINE BREAK
CASE WEAPON_DLC_SNSPISTOL_BIT_FIELD RETURN WEAPONTYPE_DLC_SNSPISTOL BREAK
CASE WEAPON_DLC_BULLPUPRIFLE_BIT_FIELD RETURN WEAPONTYPE_DLC_BULLPUPRIFLE BREAK
CASE WEAPON_DLC_HEAVYPISTOL_BIT_FIELD RETURN WEAPONTYPE_DLC_HEAVYPISTOL BREAK
CASE WEAPON_BULLPUPSHOTGUN_BIT_FIELD RETURN WEAPONTYPE_DLC_BULLPUPSHOTGUN BREAK
CASE WEAPON_DLC_GUSENBERG_BIT_FIELD RETURN WEAPONTYPE_DLC_GUSENBERG BREAK
CASE WEAPON_DLC_DAGGER_BIT_FIELD RETURN WEAPONTYPE_DLC_DAGGER BREAK
CASE WEAPON_DLC_VPISTOL_BIT_FIELD RETURN WEAPONTYPE_DLC_VINTAGEPISTOL BREAK
CASE WEAPON_DLC_FLAREGUN_BIT_FIELD RETURN WEAPONTYPE_DLC_FLAREGUN BREAK
CASE WEAPON_DLC_MUSKET_BIT_FIELD RETURN WEAPONTYPE_DLC_MUSKET BREAK
CASE WEAPON_DLC_FIREWORK_BIT_FIELD RETURN WEAPONTYPE_DLC_FIREWORK BREAK
CASE WEAPON_DLC_HATCHET_BIT_FIELD RETURN WEAPONTYPE_DLC_HATCHET BREAK
CASE WEAPON_DLC_RAILGUN_BIT_FIELD RETURN WEAPONTYPE_DLC_RAILGUN BREAK
CASE WEAPON_DLC_COMBATPDW_BIT_FIELD RETURN WEAPONTYPE_DLC_COMBATPDW BREAK
CASE WEAPON_DLC_KNUCKLE_BIT_FIELD RETURN WEAPONTYPE_DLC_KNUCKLE BREAK
CASE WEAPON_DLC_MARKSMANPISTOL_BIT_FIELD RETURN WEAPONTYPE_DLC_MARKSMANPISTOL BREAK
CASE WEAPON_DLC_MACHETE_BIT_FIELD RETURN WEAPONTYPE_DLC_MACHETE BREAK
CASE WEAPON_DLC_MACHINEPISTOL_BIT_FIELD RETURN WEAPONTYPE_DLC_MACHINEPISTOL BREAK
CASE WEAPON_DLC_DBSHOTGUN_BIT_FIELD RETURN WEAPONTYPE_DLC_DBSHOTGUN BREAK
CASE WEAPON_DLC_COMPACTRIFLE_BIT_FIELD RETURN WEAPONTYPE_DLC_COMPACTRIFLE BREAK
CASE WEAPON_DLC_FLASHLIGHT_BIT_FIELD RETURN WEAPONTYPE_DLC_FLASHLIGHT BREAK
CASE WEAPON_DLC_REVOLVER_BIT_FIELD RETURN WEAPONTYPE_DLC_REVOLVER BREAK
CASE WEAPON_DLC_SWITCHBLADE_BIT_FIELD RETURN WEAPONTYPE_DLC_SWITCHBLADE BREAK
CASE WEAPON_HAMMER_BIT_FIELD RETURN WEAPONTYPE_HAMMER BREAK
CASE WEAPON_DLC_PISTOL50_BIT_FIELD RETURN WEAPONTYPE_DLC_PISTOL50 BREAK
CASE WEAPON_DLC_ASSAULTSMG_BIT_FIELD RETURN WEAPONTYPE_DLC_ASSAULTSMG BREAK
CASE WEAPON_MOLOTOV_BIT_FIELD RETURN WEAPONTYPE_MOLOTOV BREAK
CASE WEAPON_GOLFCLUB_BIT_FIELD RETURN WEAPONTYPE_GOLFCLUB BREAK
CASE WEAPON_CROWBAR_BIT_FIELD RETURN WEAPONTYPE_CROWBAR BREAK
CASE WEAPON_BAT_BIT_FIELD RETURN WEAPONTYPE_BAT BREAK
CASE WEAPON_DLC_AUTOSHOTGUN_BIT_FIELD RETURN WEAPONTYPE_DLC_AUTOSHOTGUN BREAK
CASE WEAPON_DLC_MINISMG_BIT_FIELD RETURN WEAPONTYPE_DLC_MINISMG BREAK
CASE WEAPON_DLC_COMPACTLAUNCHER_BIT_FIELD RETURN WEAPONTYPE_DLC_COMPACTLAUNCHER BREAK
CASE WEAPON_DLC_BATTLEAXE_BIT_FIELD RETURN WEAPONTYPE_DLC_BATTLEAXE BREAK
CASE WEAPON_DLC_PIPEBOMB_BIT_FIELD RETURN WEAPONTYPE_DLC_PIPEBOMB BREAK
CASE WEAPON_DLC_POOLCUE_BIT_FIELD RETURN WEAPONTYPE_DLC_POOLCUE BREAK
CASE WEAPON_DLC_WRENCH_BIT_FIELD RETURN WEAPONTYPE_DLC_WRENCH BREAK
CASE WEAPON_DLC_DOUBLEACTION_BIT_FIELD RETURN WEAPONTYPE_DLC_DOUBLEACTION BREAK
CASE WEAPON_DLC_STONEHATCHET_BIT_FIELD RETURN WEAPONTYPE_DLC_STONE_HATCHET BREAK
CASE WEAPON_DLC_RAYPISTOL_BIT_FIELD RETURN WEAPONTYPE_DLC_RAYPISTOL BREAK
CASE WEAPON_DLC_RAYCARBINE_BIT_FIELD RETURN WEAPONTYPE_DLC_RAYCARBINE BREAK
CASE WEAPON_DLC_RAYMINIGUN_BIT_FIELD RETURN WEAPONTYPE_DLC_RAYMINIGUN BREAK
CASE WEAPON_DLC_NAVYREVOLVER_BIT_FEILD RETURN WEAPONTYPE_DLC_NAVYREVOLVER BREAK
CASE WEAPON_DLC_CERAMIC_PISTOL_BIT_FEILD RETURN WEAPONTYPE_DLC_CERAMICPISTOL BREAK
#IF FEATURE_COPS_N_CROOKS
CASE WEAPON_DLC_BATON_BIT_FEILD RETURN WEAPONTYPE_DLC_BATON BREAK
CASE WEAPON_DLC_POLICERIFLE_BIT_FEILD RETURN WEAPONTYPE_DLC_POLICERIFLE BREAK
#ENDIF
#IF FEATURE_HEIST_ISLAND
CASE WEAPON_DLC_COMBATSHOTGUN_BIT_FIELD RETURN WEAPONTYPE_DLC_COMBATSHOTGUN BREAK
CASE WEAPON_DLC_MILITARYRIFLE_BIT_FEILD RETURN WEAPONTYPE_DLC_MILITARYRIFLE BREAK
CASE WEAPON_DLC_GADGETPISTOL_BIT_FEILD RETURN WEAPONTYPE_DLC_GADGETPISTOL BREAK
#ENDIF
#IF FEATURE_FIXER
CASE WEAPON_DLC_HEAVYRIFLE_BIT_FIELD RETURN WEAPONTYPE_DLC_HEAVYRIFLE BREAK
CASE WEAPON_DLC_EMPLAUNCHER_BIT_FIELD RETURN WEAPONTYPE_DLC_EMPLAUNCHER BREAK
CASE WEAPON_DLC_FERTILIZERCAN_BIT_FIELD RETURN WEAPONTYPE_DLC_FERTILIZERCAN BREAK
CASE WEAPON_DLC_STUNGUN_MP_BIT_FIELD RETURN WEAPONTYPE_DLC_STUNGUNG_MP BREAK
#ENDIF
#IF FEATURE_DLC_1_2022
CASE WEAPON_DLC_METALDETECTOR_BIT_FIELD RETURN WEAPONTYPE_DLC_METALDETECTOR BREAK
CASE WEAPON_DLC_TACTICALRIFLE_BIT_FIELD RETURN WEAPONTYPE_DLC_TACTICALRIFLE BREAK
CASE WEAPON_DLC_PRECISIONRIFLE_BIT_FIELD RETURN WEAPONTYPE_DLC_PRECISIONRIFLE BREAK
#ENDIF
ENDSWITCH
//SCRIPT_ASSERT("GET_WEAPONTYPE_FROM_WEAPON_BITSET invalid field returning. - Kevin Wong")
RETURN WEAPONTYPE_UNARMED
ENDFUNC
FUNC WEAPONADDON_BITSET GET_AMMO_BITSET_FROM_WEAPONS(WEAPONCOMPONENT_TYPE aWeaponComp, WEAPON_TYPE aWeapon)
SWITCH aWeapon
CASE WEAPONTYPE_PISTOL
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_PISTOL_CLIP_01
RETURN WEAPONADDON_PISTOL_WEAPONCOMPONENT_PISTOL_CLIP_01
BREAK
CASE WEAPONCOMPONENT_PISTOL_CLIP_02
RETURN WEAPONADDON_PISTOL_WEAPONCOMPONENT_PISTOL_CLIP_02
BREAK
CASE WEAPONCOMPONENT_AT_PI_FLSH
RETURN WEAPONADDON_PISTOL_WEAPONCOMPONENT_AT_PI_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_PI_SUPP_02
RETURN WEAPONADDON_PISTOL_WEAPONCOMPONENT_AT_PI_SUPP
BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_VARMOD_LUXE
RETURN WEAPONADDON_DLC_PISTOL_WEAPONCOMPONENT_VARMOD_LUXE
BREAK
CASE WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE
RETURN WEAPONADDON_DLC_PISTOL_WEAPONCOMPONENT_VARMOD_GUNRUN
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_COMBATPISTOL
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_COMBATPISTOL_CLIP_01
RETURN WEAPONADDON_COMBATPISTOL_WEAPONCOMPONENT_COMBATPISTOL_CLIP_01
BREAK
CASE WEAPONCOMPONENT_COMBATPISTOL_CLIP_02
RETURN WEAPONADDON_COMBATPISTOL_WEAPONCOMPONENT_COMBATPISTOL_CLIP_02
BREAK
CASE WEAPONCOMPONENT_AT_PI_FLSH
RETURN WEAPONADDON_COMBATPISTOL_WEAPONCOMPONENT_AT_PI_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_PI_SUPP
RETURN WEAPONADDON_COMBATPISTOL_WEAPONCOMPONENT_AT_PI_SUPP
BREAK
CASE WEAPONCOMPONENT_DLC_COMBATPISTOL_VARMOD_LOWRIDER
RETURN WEAPONADDON_COMBATPISTOL_WEAPONCOMPONENT_VARMOD_LOWRIDER
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_APPISTOL
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_APPISTOL_CLIP_01
RETURN WEAPONADDON_APPISTOL_WEAPONCOMPONENT_APPISTOL_CLIP_01
BREAK
CASE WEAPONCOMPONENT_APPISTOL_CLIP_02
RETURN WEAPONADDON_APPISTOL_WEAPONCOMPONENT_APPISTOL_CLIP_02
BREAK
CASE WEAPONCOMPONENT_AT_PI_FLSH
RETURN WEAPONADDON_APPISTOL_WEAPONCOMPONENT_AT_PI_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_PI_SUPP
RETURN WEAPONADDON_APPISTOL_WEAPONCOMPONENT_AT_PI_SUPP
BREAK
CASE WEAPONCOMPONENT_DLC_APPISTOL_VARMOD_LUXE
RETURN WEAPONADDON_DLC_APPISTOL_WEAPONCOMPONENT_VARMOD_LUXE
BREAK
CASE WEAPONCOMPONENT_DLC_APPISTOL_VARMOD_SECURITY
RETURN WEAPONADDON_DLC_APPISTOL_WEAPONCOMPONENT_SECURITY
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_MICROSMG
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_MICROSMG_CLIP_01
RETURN WEAPONADDON_MICROSMG_WEAPONCOMPONENT_MICROSMG_CLIP_01
BREAK
CASE WEAPONCOMPONENT_MICROSMG_CLIP_02
RETURN WEAPONADDON_MICROSMG_WEAPONCOMPONENT_MICROSMG_CLIP_02
BREAK
CASE WEAPONCOMPONENT_AT_PI_FLSH
RETURN WEAPONADDON_MICROSMG_WEAPONCOMPONENT_AT_PI_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MACRO
RETURN WEAPONADDON_MICROSMG_WEAPONCOMPONENT_AT_SCOPE_MACRO
BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP_02
RETURN WEAPONADDON_MICROSMG_WEAPONCOMPONENT_AT_AR_SUPP_02
BREAK
CASE WEAPONCOMPONENT_DLC_MICROSMG_VARMOD_LUXE
RETURN WEAPONADDON_DLC_MICROSMG_WEAPONCOMPONENT_VARMOD_LUXE
BREAK
CASE WEAPONCOMPONENT_DLC_MICROSMG_VARMOD_SECURITY
RETURN WEAPONADDON_DLC_MICROSMG_WEAPONCOMPONENT_SECURITY
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_SMG
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_SMG_CLIP_01
RETURN WEAPONADDON_SMG_WEAPONCOMPONENT_SMG_CLIP_01
BREAK
CASE WEAPONCOMPONENT_SMG_CLIP_02
RETURN WEAPONADDON_SMG_WEAPONCOMPONENT_SMG_CLIP_02
BREAK
CASE WEAPONCOMPONENT_DLC_SMG_CLIP_03
RETURN WEAPONADDON_DLC_SMG_WEAPONCOMPONENT_CLIP_03
BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH
RETURN WEAPONADDON_SMG_WEAPONCOMPONENT_AT_AR_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MACRO_02
RETURN WEAPONADDON_SMG_WEAPONCOMPONENT_AT_AR_SCROP_MACRO
BREAK
CASE WEAPONCOMPONENT_AT_PI_SUPP
RETURN WEAPONADDON_SMG_WEAPONCOMPONENT_AT_PI_SUPP
BREAK
CASE WEAPONCOMPONENT_DLC_SMG_VARMOD_LUXE
RETURN WEAPONADDON_DLC_SMG_WEAPONCOMPONENT_VARMOD_LUXE
BREAK
CASE WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE
RETURN WEAPONADDON_DLC_SMG_WEAPONCOMPONENT_VARMOD_GUNRUN
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_ASSAULTRIFLE
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_ASSAULTRIFLE_CLIP_01
RETURN WEAPONADDON_ASSAULTRIFLE_WEAPONCOMPONENT_ASSAULTRIFLE_CLIP_01
BREAK
CASE WEAPONCOMPONENT_ASSAULTRIFLE_CLIP_02
RETURN WEAPONADDON_ASSAULTRIFLE_WEAPONCOMPONENT_ASSAULTRIFLE_CLIP_02
BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_CLIP_03
RETURN WEAPONADDON_DLC_ASSAULTRIFLE_WEAPONCOMPONENT_CLIP_03
BREAK
CASE WEAPONCOMPONENT_AT_AR_AFGRIP
RETURN WEAPONADDON_ASSAULTRIFLE_WEAPONCOMPONENT_AT_AR_AFGRIP
BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH
RETURN WEAPONADDON_ASSAULTRIFLE_WEAPONCOMPONENT_AT_AR_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MACRO
RETURN WEAPONADDON_ASSAULTRIFLE_WEAPONCOMPONENT_AT_SCOPE_MACRO
BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP_02
RETURN WEAPONADDON_ASSAULTRIFLE_WEAPONCOMPONENT_AT_AR_SUPP_02
BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_VARMOD_LUXE
RETURN WEAPONADDON_DLC_ASSAULTRIFLE_WEAPONCOMPONENT_VARMOD_LUXE
BREAK
CASE WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE
RETURN WEAPONADDON_DLC_ASSAULTRIFLE_WEAPONCOMPONENT_VARMOD_GUNRUN
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_CARBINERIFLE
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_CARBINERIFLE_CLIP_01
RETURN WEAPONADDON_CARBINERIFLE_WEAPONCOMPONENT_CARBINERIFLE_CLIP_01
BREAK
CASE WEAPONCOMPONENT_CARBINERIFLE_CLIP_02
RETURN WEAPONADDON_CARBINERIFLE_WEAPONCOMPONENT_CARBINERIFLE_CLIP_02
BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_CLIP_03
RETURN WEAPONADDON_DLC_CARBINERIFLE_WEAPONCOMPONENT_CLIP_03
BREAK
CASE WEAPONCOMPONENT_AT_RAILCOVER_01
RETURN WEAPONADDON_CARBINERIFLE_WEAPONCOMPONENT_AT_RAILCOVER_01
BREAK
CASE WEAPONCOMPONENT_AT_AR_AFGRIP
RETURN WEAPONADDON_CARBINERIFLE_WEAPONCOMPONENT_AT_AR_AFGRIP
BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH
RETURN WEAPONADDON_CARBINERIFLE_WEAPONCOMPONENT_AT_AR_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MEDIUM
RETURN WEAPONADDON_CARBINERIFLE_WEAPONCOMPONENT_AT_SCOPE_MEDIUM
BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP
RETURN WEAPONADDON_CARBINERIFLE_WEAPONCOMPONENT_AT_AR_SUPP
BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_VARMOD_LUXE
RETURN WEAPONADDON_DLC_CARBINERIFLE_WEAPONCOMPONENT_VARMOD_LUXE
BREAK
CASE WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE
RETURN WEAPONADDON_DLC_CARBINERIFLE_WEAPONCOMPONENT_VARMOD_GUNRUN
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_ADVANCEDRIFLE
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_ADVANCEDRIFLE_CLIP_01
RETURN WEAPONADDON_ADVANCEDRIFLE_WEAPONCOMPONENT_ADVANCEDRIFLE_CLIP_01
BREAK
CASE WEAPONCOMPONENT_ADVANCEDRIFLE_CLIP_02
RETURN WEAPONADDON_ADVANCEDRIFLE_WEAPONCOMPONENT_ADVANCEDRIFLE_CLIP_02
BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH
RETURN WEAPONADDON_ADVANCEDRIFLE_WEAPONCOMPONENT_AT_AR_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_SMALL
RETURN WEAPONADDON_ADVANCEDRIFLE_WEAPONCOMPONENT_AT_SCOPE_SMALL
BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP
RETURN WEAPONADDON_ADVANCEDRIFLE_WEAPONCOMPONENT_AT_AR_SUPP
BREAK
CASE WEAPONCOMPONENT_DLC_ADVANCEDRIFLE_VARMOD_LUXE
RETURN WEAPONADDON_DLC_ADVANCEDRIFLE_WEAPONCOMPONENT_VARMOD_LUXE
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_MG
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_MG_CLIP_01
RETURN WEAPONADDON_MG_WEAPONCOMPONENT_MG_CLIP_01
BREAK
CASE WEAPONCOMPONENT_MG_CLIP_02
RETURN WEAPONADDON_MG_WEAPONCOMPONENT_MG_CLIP_02
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_SMALL_02
RETURN WEAPONADDON_MG_WEAPONCOMPONENT_AT_SCOPE_SMALL
BREAK
CASE WEAPONCOMPONENT_DLC_MG_VARMOD_LOWRIDER
RETURN WEAPONADDON_MG_WEAPONCOMPONENT_VARMOD_LOWRIDER
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_COMBATMG
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_COMBATMG_CLIP_01
RETURN WEAPONADDON_COMBATMG_WEAPONCOMPONENT_COMBATMG_CLIP_01
BREAK
CASE WEAPONCOMPONENT_COMBATMG_CLIP_02
RETURN WEAPONADDON_COMBATMG_WEAPONCOMPONENT_COMBATMG_CLIP_02
BREAK
CASE WEAPONCOMPONENT_AT_AR_AFGRIP
RETURN WEAPONADDON_COMBATMG_WEAPONCOMPONENT_AT_AR_AFGRIP
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MEDIUM
RETURN WEAPONADDON_COMBATMG_WEAPONCOMPONENT_AT_SCOPE_MEDIUM
BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_VARMOD_LOWRIDER
RETURN WEAPONADDON_COMBATMG_WEAPONCOMPONENT_VARMOD_LOWRIDER
BREAK
CASE WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE
RETURN WEAPONADDON_DLC_COMBATMG_WEAPONCOMPONENT_VARMOD_GUNRUN
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_PUMPSHOTGUN
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_AT_SR_SUPP
RETURN WEAPONADDON_PUMPSHOTGUN_WEAPONCOMPONENT_AT_SR_SUPP
BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH
RETURN WEAPONADDON_PUMPSHOTGUN_WEAPONCOMPONENT_AT_AR_FLSH
BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_VARMOD_LOWRIDER
RETURN WEAPONADDON_PUMPSHOTGUN_WEAPONCOMPONENT_VARMOD_LOWRIDER
BREAK
CASE WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE
RETURN WEAPONADDON_DLC_PUMPSHOTGUN_WEAPONCOMPONENT_VARMOD_GUNRUN
BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_VARMOD_SECURITY
RETURN WEAPONADDON_DLC_PUMPSHOTGUN_WEAPONCOMPONENT_SECURITY
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_ASSAULTSHOTGUN
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_ASSAULTSHOTGUN_CLIP_01
RETURN WEAPONADDON_ASSAULTSHOTGUN_WEAPONCOMPONENT_ASSAULTSHOTGUN_CLIP_01
BREAK
CASE WEAPONCOMPONENT_ASSAULTSHOTGUN_CLIP_02
RETURN WEAPONADDON_ASSAULTSHOTGUN_WEAPONCOMPONENT_ASSAULTSHOTGUN_CLIP_02
BREAK
CASE WEAPONCOMPONENT_AT_AR_AFGRIP
RETURN WEAPONADDON_ASSAULTSHOTGUN_WEAPONCOMPONENT_AT_AR_AFGRIP
BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH
RETURN WEAPONADDON_ASSAULTSHOTGUN_WEAPONCOMPONENT_AT_AR_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP
RETURN WEAPONADDON_ASSAULTSHOTGUN_WEAPONCOMPONENT_AT_AR_SUPP
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_SNIPERRIFLE
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_SNIPERRIFLE_CLIP_01
RETURN WEAPONADDON_SNIPERRIFLE_WEAPONCOMPONENT_SNIPERRIFLE_CLIP_01
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_LARGE
RETURN WEAPONADDON_SNIPERRIFLE_WEAPONCOMPONENT_AT_SCOPE_LARGE
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MAX
RETURN WEAPONADDON_SNIPERRIFLE_WEAPONCOMPONENT_AT_SCOPE_MAX
BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP_02
RETURN WEAPONADDON_SNIPERRIFLE_WEAPONCOMPONENT_AT_AR_SUPP_02
BREAK
CASE WEAPONCOMPONENT_DLC_SNIPERRIFLE_VARMOD_LUXE
RETURN WEAPONADDON_DLC_SNIPERRIFLE_WEAPONCOMPONENT_VARMOD_LUXE
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_HEAVYSNIPER
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_HEAVYSNIPER_CLIP_01
RETURN WEAPONADDON_HEAVYSNIPER_WEAPONCOMPONENT_HEAVYSNIPER_CLIP_01
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MAX
RETURN WEAPONADDON_HEAVYSNIPER_WEAPONCOMPONENT_AT_SCOPE_MAX
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_LARGE
RETURN WEAPONADDON_HEAVYSNIPER_WEAPONCOMPONENT_AT_SCOPE_LARGE
BREAK
CASE WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE
RETURN WEAPONADDON_DLC_HEAVYSNIPER_WEAPONCOMPONENT_VARMOD_GUNRUN
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_GRENADELAUNCHER
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_AT_AR_AFGRIP
RETURN WEAPONADDON_GRENADELAUNCHER_WEAPONCOMPONENT_AT_AR_AFGRIP
BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH
RETURN WEAPONADDON_GRENADELAUNCHER_WEAPONCOMPONENT_AT_AR_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_SMALL
RETURN WEAPONADDON_GRENADELAUNCHER_WEAPONCOMPONENT_AT_SCOPE_SMALL
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_MINIGUN
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_MINIGUN_CLIP_01
RETURN WEAPONADDON_MINIGUN_WEAPONCOMPONENT_MINIGUN_CLIP_01
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_ASSAULTSMG
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_ASSAULTSMG_CLIP_01
RETURN WEAPONADDON_DLC_ASSAULTSMG_WEAPONCOMPONENT_CLIP_01
BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTSMG_CLIP_02
RETURN WEAPONADDON_DLC_ASSAULTSMG_WEAPONCOMPONENT_CLIP_02
BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH
RETURN WEAPONADDON_DLC_ASSAULTSMG_WEAPONCOMPONENT_AT_AR_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MACRO
RETURN WEAPONADDON_DLC_ASSAULTSMG_WEAPONCOMPONENT_AT_SCOPE_MACRO
BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP_02
RETURN WEAPONADDON_DLC_ASSAULTSMG_WEAPONCOMPONENT_AT_AR_SUPP_02
BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTSMG_VARMOD_LOWRIDER
RETURN WEAPONADDON_DLC_ASSAULTSMG_WEAPONCOMPONENT_VARMOD_LOWRIDER
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_AT_AR_AFGRIP
RETURN WEAPONADDON_DLC_BULLPUPSHOTGUN_WEAPONCOMPONENT_AT_AR_AFGRIP
BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH
RETURN WEAPONADDON_DLC_BULLPUPSHOTGUN_WEAPONCOMPONENT_AT_AR_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP_02
RETURN WEAPONADDON_DLC_BULLPUPSHOTGUN_WEAPONCOMPONENT_AT_AR_SUPP_02
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_PISTOL50
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_PISTOL50_CLIP_01
RETURN WEAPONADDON_DLC_PISTOL50_WEAPONCOMPONENT_CLIP_01
BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL50_CLIP_02
RETURN WEAPONADDON_DLC_PISTOL50_WEAPONCOMPONENT_CLIP_02
BREAK
CASE WEAPONCOMPONENT_AT_PI_FLSH
RETURN WEAPONADDON_DLC_PISTOL50_WEAPONCOMPONENT_AT_PI_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP_02
RETURN WEAPONADDON_DLC_PISTOL50_WEAPONCOMPONENT_AT_AR_SUPP_02
BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL50_VARMOD_LUXE
RETURN WEAPONADDON_DLC_PISTOL50_WEAPONCOMPONENT_VARMOD_LUXE
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_ASSAULTSNIPER
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_ASSAULTSNIPER_CLIP_01
RETURN WEAPONADDON_DLC_ASSAULTSNIPER_WEAPONCOMPONENT_CLIP_01
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_LARGE
RETURN WEAPONADDON_DLC_ASSAULTSNIPER_WEAPONCOMPONENT_AT_SCOPE_LARGE
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MAX
RETURN WEAPONADDON_DLC_ASSAULTSNIPER_WEAPONCOMPONENT_AT_SCOPE_MAX
BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP
RETURN WEAPONADDON_DLC_ASSAULTSNIPER_WEAPONCOMPONENT_AT_AR_SUPP
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_ASSAULTMG
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_ASSAULTMG_CLIP_01
RETURN WEAPONADDON_DLC_ASSAULTMG_WEAPONCOMPONENT_CLIP_01
BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTMG_CLIP_02
RETURN WEAPONADDON_DLC_ASSAULTMG_WEAPONCOMPONENT_CLIP_02
BREAK
CASE WEAPONCOMPONENT_AT_AR_AFGRIP
RETURN WEAPONADDON_DLC_ASSAULTMG_WEAPONCOMPONENT_AT_AR_AFGRIP
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MEDIUM
RETURN WEAPONADDON_DLC_ASSAULTMG_WEAPONCOMPONENT_AT_SCOPE_MEDIUM
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_PROGRAMMABLEAR
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_PROGRAMMABLEAR_CLIP_01
RETURN WEAPONADDON_DLC_PROGRAMMABLEAR_WEAPONCOMPONENT_CLIP_01
BREAK
CASE WEAPONCOMPONENT_DLC_PROGRAMMABLEAR_CLIP_02
RETURN WEAPONADDON_DLC_PROGRAMMABLEAR_WEAPONCOMPONENT_CLIP_02
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_CLIP_01
RETURN WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_CLIP_01
BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_CLIP_02
RETURN WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_CLIP_02
BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_CLIP_03
RETURN WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_CLIP_03
BREAK
CASE WEAPONCOMPONENT_AT_AR_AFGRIP
RETURN WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_AT_AR_AFGRIP
BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH
RETURN WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_AT_AR_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MEDIUM
RETURN WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_AT_SCOPE_MEDIUM
BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP_02
RETURN WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_AT_AR_SUPP_02
BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_VARMOD_LOWRIDER
RETURN WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_VARMOD_LOWRIDER
BREAK
CASE WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE
RETURN WEAPONADDON_DLC_SPECIALCARBINE_WEAPONCOMPONENT_VARMOD_GUNRUN
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_CLIP_01
RETURN WEAPONADDON_DLC_SNSPISTOL_WEAPONCOMPONENT_PISTOL_CLIP_01
BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_CLIP_02
RETURN WEAPONADDON_DLC_SNSPISTOL_WEAPONCOMPONENT_PISTOL_CLIP_02
BREAK
CASE WEAPONCOMPONENT_AT_PI_FLSH
RETURN WEAPONADDON_DLC_SNSPISTOL_WEAPONCOMPONENT_AT_PI_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_PI_SUPP
RETURN WEAPONADDON_DLC_SNSPISTOL_WEAPONCOMPONENT_AT_PI_SUPP
BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_VARMOD_LOWRIDER
RETURN WEAPONADDON_DLC_SNSPISTOL_WEAPONCOMPONENT_VARMOD_LOWRIDER
BREAK
CASE WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE
RETURN WEAPONADDON_DLC_SNSPISTOL_WEAPONCOMPONENT_VARMOD_GUNRUN
BREAK
ENDSWITCH
BREAK
// DLC business
CASE WEAPONTYPE_DLC_HEAVYPISTOL
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_HEAVYPISTOL_CLIP_01
RETURN WEAPONADDON_DLC_HEAVYPISTOL_WEAPONCOMPONENT_PISTOL_CLIP_01
BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYPISTOL_CLIP_02
RETURN WEAPONADDON_DLC_HEAVYPISTOL_WEAPONCOMPONENT_PISTOL_CLIP_02
BREAK
CASE WEAPONCOMPONENT_AT_PI_FLSH
RETURN WEAPONADDON_DLC_HEAVYPISTOL_WEAPONCOMPONENT_AT_PI_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_PI_SUPP
RETURN WEAPONADDON_DLC_HEAVYPISTOL_WEAPONCOMPONENT_AT_PI_SUPP
BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYPISTOL_VARMOD_LUXE
RETURN WEAPONADDON_DLC_HEAVYPISTOL_WEAPONCOMPONENT_VARMOD_LUXE
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_CLIP_01
RETURN WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_CLIP_01
BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_CLIP_02
RETURN WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_CLIP_02
BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH
RETURN WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_AT_AR_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP
RETURN WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_AT_AR_SUPP
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_SMALL
RETURN WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_AT_SCOPE_SMALL
BREAK
CASE WEAPONCOMPONENT_AT_AR_AFGRIP
RETURN WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_AT_AR_AFGRIP
BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_VARMOD_LOWRIDER
RETURN WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_VARMOD_LOWRIDER
BREAK
CASE WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE
RETURN WEAPONADDON_DLC_BULLPUPRIFLE_WEAPONCOMPONENT_VARMOD_GUNRUN
BREAK
ENDSWITCH
BREAK
// DLC Valentine
CASE WEAPONTYPE_DLC_GUSENBERG
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_GUSENBERG_CLIP_01
RETURN WEAPONADDON_DLC_GUSENBERG_WEAPONCOMPONENT_CLIP_01
BREAK
CASE WEAPONCOMPONENT_DLC_GUSENBERG_CLIP_02
RETURN WEAPONADDON_DLC_GUSENBERG_WEAPONCOMPONENT_CLIP_02
BREAK
ENDSWITCH
BREAK
// DLC Hipster
CASE WEAPONTYPE_DLC_VINTAGEPISTOL
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_VINTAGEPISTOL_CLIP_01
RETURN WEAPONADDON_DLC_VINTAGEPISTOL_WEAPONCOMPONENT_PISTOL_CLIP_01
BREAK
CASE WEAPONCOMPONENT_DLC_VINTAGEPISTOL_CLIP_02
RETURN WEAPONADDON_DLC_VINTAGEPISTOL_WEAPONCOMPONENT_PISTOL_CLIP_02
BREAK
CASE WEAPONCOMPONENT_AT_PI_SUPP
RETURN WEAPONADDON_DLC_VINTAGEPISTOL_WEAPONCOMPONENT_AT_PI_SUPP
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_HEAVYSHOTGUN
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_HEAVYSHOTGUN_CLIP_01
RETURN WEAPONADDON_DLC_HEAVYSHOTGUN_WEAPONCOMPONENT_SHOTGUN_CLIP_01
BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSHOTGUN_CLIP_02
RETURN WEAPONADDON_DLC_HEAVYSHOTGUN_WEAPONCOMPONENT_SHOTGUN_CLIP_02
BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSHOTGUN_CLIP_03
RETURN WEAPONADDON_DLC_HEAVYSHOTGUN_WEAPONCOMPONENT_CLIP_03
BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH
RETURN WEAPONADDON_DLC_HEAVYSHOTGUN_WEAPONCOMPONENT_AT_AR_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP_02
RETURN WEAPONADDON_DLC_HEAVYSHOTGUN_WEAPONCOMPONENT_AT_AR_SUPP_02
BREAK
CASE WEAPONCOMPONENT_AT_AR_AFGRIP
RETURN WEAPONADDON_DLC_HEAVYSHOTGUN_WEAPONCOMPONENT_AT_AR_AFGRIP
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_CLIP_01
RETURN WEAPONADDON_DLC_MARKSMANRIFLE_WEAPONCOMPONENT_RIFLE_CLIP_01
BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_CLIP_02
RETURN WEAPONADDON_DLC_MARKSMANRIFLE_WEAPONCOMPONENT_RIFLE_CLIP_02
BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_LARGE_FIXED_ZOOM
RETURN WEAPONADDON_DLC_MARKSMANRIFLE_AT_SCOPE_LARGE_FIXED_ZOOM
BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH
RETURN WEAPONADDON_DLC_MARKSMANRIFLE_WEAPONCOMPONENT_AT_AR_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP
RETURN WEAPONADDON_DLC_MARKSMANRIFLE_WEAPONCOMPONENT_AT_AR_SUPP_02
BREAK
CASE WEAPONCOMPONENT_AT_AR_AFGRIP
RETURN WEAPONADDON_DLC_MARKSMANRIFLE_WEAPONCOMPONENT_AT_AR_AFGRIP
BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_VARMOD_LUXE
RETURN WEAPONADDON_DLC_MARKSMANRIFLE_WEAPONCOMPONENT_VARMOD_LUXE
BREAK
CASE WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE
RETURN WEAPONADDON_DLC_MARKSMANRIFLE_WEAPONCOMPONENT_VARMOD_GUNRUN
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_COMBATPDW
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_COMBATPDW_CLIP_01
RETURN WEAPONADDON_DLC_COMBATPDW_WEAPONCOMPONENT_CLIP_01
BREAK
CASE WEAPONCOMPONENT_DLC_COMBATPDW_CLIP_02
RETURN WEAPONADDON_DLC_COMBATPDW_WEAPONCOMPONENT_CLIP_02
BREAK
CASE WEAPONCOMPONENT_DLC_COMBATPDW_CLIP_03
RETURN WEAPONADDON_DLC_COMBATPDW_WEAPONCOMPONENT_CLIP_03
BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH
RETURN WEAPONADDON_DLC_COMBATPDW_WEAPONCOMPONENT_AT_AR_FLSH
BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_SMALL
RETURN WEAPONADDON_DLC_COMBATPDW_WEAPONCOMPONENT_AT_SCOPE_MACRO
BREAK
CASE WEAPONCOMPONENT_AT_AR_AFGRIP
RETURN WEAPONADDON_DLC_COMBATPDW_WEAPONCOMPONENT_AT_AR_AFGRIP
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_SAWNOFFSHOTGUN
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_SAWNOFFSHOTGUN_VARMOD_LUXE
RETURN WEAPONADDON_DLC_SAWNOFFSHOTGUN_WEAPONCOMPONENT_VARMOD_LUXE
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_MARKSMANPISTOL
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_MARKSMANPISTOL_CLIP_01
RETURN WEAPONADDON_DLC_MARKSMANPISTOL_WEAPONCOMPONENT_CLIP_01
BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_KNUCKLE
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_PIMP RETURN WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_PIMP BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_BALLAS RETURN WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_BALLAS BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_DOLLAR RETURN WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_HUSTLER BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_DIAMOND RETURN WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_ROCK BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_HATE RETURN WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_HATER BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_LOVE RETURN WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_LOVER BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_PLAYER RETURN WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_PLAYER BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_KING RETURN WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_KING BREAK
CASE WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_VAGOS RETURN WEAPONADDON_DLC_KNUCKLE_WEAPONCOMPONENT_VAGOS BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_MACHINEPISTOL
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_MACHINEPISTOL_CLIP_01 RETURN WEAPONADDON_DLC_MACHINEPISTOL_WEAPONCOMPONENT_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_MACHINEPISTOL_CLIP_02 RETURN WEAPONADDON_DLC_MACHINEPISTOL_WEAPONCOMPONENT_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_MACHINEPISTOL_CLIP_03 RETURN WEAPONADDON_DLC_MACHINEPISTOL_WEAPONCOMPONENT_CLIP_03 BREAK
CASE WEAPONCOMPONENT_AT_PI_SUPP RETURN WEAPONADDON_DLC_MACHINEPISTOL_WEAPONCOMPONENT_AT_PI_SUPP BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_SWITCHBLADE
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_SWITCHBLADE_VARMOD_VAR1 RETURN WEAPONADDON_DLC_SWITCHBLADE_WEAPONCOMPONENT_VAR1 BREAK
CASE WEAPONCOMPONENT_DLC_SWITCHBLADE_VARMOD_VAR2 RETURN WEAPONADDON_DLC_SWITCHBLADE_WEAPONCOMPONENT_VAR2 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_REVOLVER
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_REVOLVER_CLIP_01 RETURN WEAPONADDON_DLC_REVOLVER_WEAPONCOMPONENT_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_VARMOD_BOSS RETURN WEAPONADDON_DLC_REVOLVER_WEAPONCOMPONENT_VARMOD_BOSS BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_VARMOD_GOON RETURN WEAPONADDON_DLC_REVOLVER_WEAPONCOMPONENT_VARMOD_GOON BREAK
CASE WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE RETURN WEAPONADDON_DLC_REVOLVER_WEAPONCOMPONENT_VARMOD_GUNRUN BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_COMPACTRIFLE
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_COMPACTRIFLE_CLIP_01 RETURN WEAPONADDON_DLC_COMPACTRIFLE_WEAPONCOMPONENT_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_COMPACTRIFLE_CLIP_02 RETURN WEAPONADDON_DLC_COMPACTRIFLE_WEAPONCOMPONENT_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_COMPACTRIFLE_CLIP_03 RETURN WEAPONADDON_DLC_COMPACTRIFLE_WEAPONCOMPONENT_CLIP_03 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_MINISMG
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_MINISMG_CLIP_01 RETURN WEAPONADDON_DLC_MINISMG_WEAPONCOMPONENT_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_MINISMG_CLIP_02 RETURN WEAPONADDON_DLC_MINISMG_WEAPONCOMPONENT_CLIP_02 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_PISTOL_MK2
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CLIP_01 RETURN WEAPONADDON_DLC_PISTOL_MK2_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CLIP_02 RETURN WEAPONADDON_DLC_PISTOL_MK2_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CLIP_FMJ RETURN WEAPONADDON_DLC_PISTOL_MK2_CLIP_FMJ BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CLIP_HOLLOWPOINT RETURN WEAPONADDON_DLC_PISTOL_MK2_CLIP_HOLLOWPOINT BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CLIP_INCENDIARY RETURN WEAPONADDON_DLC_PISTOL_MK2_CLIP_INCENDIARY BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CLIP_TRACER RETURN WEAPONADDON_DLC_PISTOL_MK2_CLIP_TRACER BREAK
CASE WEAPONCOMPONENT_DLC_AT_PI_FLSH_02 RETURN WEAPONADDON_DLC_PISTOL_MK2_AT_PI_FLSH BREAK
CASE WEAPONCOMPONENT_DLC_AT_PI_RAIL RETURN WEAPONADDON_DLC_PISTOL_MK2_AT_PI_RAIL BREAK
CASE WEAPONCOMPONENT_AT_PI_SUPP_02 RETURN WEAPONADDON_DLC_PISTOL_MK2_AT_PI_SUPP_02 BREAK
CASE WEAPONCOMPONENT_DLC_AT_PI_COMP RETURN WEAPONADDON_DLC_PISTOL_MK2_AT_PI_COMP BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO RETURN WEAPONADDON_DLC_PISTOL_MK2_CAMO BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_02 RETURN WEAPONADDON_DLC_PISTOL_MK2_CAMO_02 BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_03 RETURN WEAPONADDON_DLC_PISTOL_MK2_CAMO_03 BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_04 RETURN WEAPONADDON_DLC_PISTOL_MK2_CAMO_04 BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_05 RETURN WEAPONADDON_DLC_PISTOL_MK2_CAMO_05 BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_06 RETURN WEAPONADDON_DLC_PISTOL_MK2_CAMO_06 BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_07 RETURN WEAPONADDON_DLC_PISTOL_MK2_CAMO_07 BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_08 RETURN WEAPONADDON_DLC_PISTOL_MK2_CAMO_08 BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_09 RETURN WEAPONADDON_DLC_PISTOL_MK2_CAMO_09 BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_10 RETURN WEAPONADDON_DLC_PISTOL_MK2_CAMO_10 BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_IND_01 RETURN WEAPONADDON_DLC_PISTOL_MK2_CAMO_IND_01 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_SMG_MK2
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CLIP_01 RETURN WEAPONADDON_DLC_SMG_MK2_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CLIP_02 RETURN WEAPONADDON_DLC_SMG_MK2_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CLIP_FMJ RETURN WEAPONADDON_DLC_SMG_MK2_CLIP_FMJ BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CLIP_HOLLOWPOINT RETURN WEAPONADDON_DLC_SMG_MK2_CLIP_HOLLOWPOINT BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CLIP_INCENDIARY RETURN WEAPONADDON_DLC_SMG_MK2_CLIP_INCENDIARY BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CLIP_TRACER RETURN WEAPONADDON_DLC_SMG_MK2_CLIP_TRACER BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH RETURN WEAPONADDON_DLC_SMG_MK2_AT_AR_FLSH BREAK
CASE WEAPONCOMPONENT_DLC_AT_SIGHTS_SMG RETURN WEAPONADDON_DLC_SMG_MK2_AT_SIGHTS BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_MACRO_02_SMG_MK2 RETURN WEAPONADDON_DLC_SMG_MK2_AT_SCOPE_MACRO_02_MK2 BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_SMALL_SMG_MK2 RETURN WEAPONADDON_DLC_SMG_MK2_AT_SCOPE_SMALL_MK2 BREAK
CASE WEAPONCOMPONENT_AT_PI_SUPP RETURN WEAPONADDON_DLC_SMG_MK2_AT_PI_SUPP BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_01 RETURN WEAPONADDON_DLC_SMG_MK2_AT_MUZZLE_01 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_02 RETURN WEAPONADDON_DLC_SMG_MK2_AT_MUZZLE_02 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_03 RETURN WEAPONADDON_DLC_SMG_MK2_AT_MUZZLE_03 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_04 RETURN WEAPONADDON_DLC_SMG_MK2_AT_MUZZLE_04 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_05 RETURN WEAPONADDON_DLC_SMG_MK2_AT_MUZZLE_05 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_06 RETURN WEAPONADDON_DLC_SMG_MK2_AT_MUZZLE_06 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_07 RETURN WEAPONADDON_DLC_SMG_MK2_AT_MUZZLE_07 BREAK
CASE WEAPONCOMPONENT_DLC_AT_SB_BARREL_01 RETURN WEAPONADDON_DLC_SMG_MK2_AT_SB_BARREL_01 BREAK
CASE WEAPONCOMPONENT_DLC_AT_SB_BARREL_02 RETURN WEAPONADDON_DLC_SMG_MK2_AT_SB_BARREL_02 BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO RETURN WEAPONADDON_DLC_SMG_MK2_CAMO BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_02 RETURN WEAPONADDON_DLC_SMG_MK2_CAMO_02 BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_03 RETURN WEAPONADDON_DLC_SMG_MK2_CAMO_03 BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_04 RETURN WEAPONADDON_DLC_SMG_MK2_CAMO_04 BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_05 RETURN WEAPONADDON_DLC_SMG_MK2_CAMO_05 BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_06 RETURN WEAPONADDON_DLC_SMG_MK2_CAMO_06 BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_07 RETURN WEAPONADDON_DLC_SMG_MK2_CAMO_07 BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_08 RETURN WEAPONADDON_DLC_SMG_MK2_CAMO_08 BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_09 RETURN WEAPONADDON_DLC_SMG_MK2_CAMO_09 BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_10 RETURN WEAPONADDON_DLC_SMG_MK2_CAMO_10 BREAK
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_IND_01 RETURN WEAPONADDON_DLC_SMG_MK2_CAMO_IND_01 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_HEAVYSNIPER_MK2
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CLIP_01 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CLIP_02 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CLIP_ARMORPIERCING BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CLIP_EXPLOSIVE BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CLIP_FMJ RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CLIP_FMJ BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CLIP_INCENDIARY RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CLIP_INCENDIARY BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_LARGE_MK2 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_SCOPE_LARGE BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MAX RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_SCOPE_MAX BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_NV RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_SCOPE_NV BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_THERMAL RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_SCOPE_THERMAL BREAK
CASE WEAPONCOMPONENT_DLC_AT_SR_SUPP_03 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_COMPONENT_AT_SR_SUPP_03 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_08 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_MUZZLE_08 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_09 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_MUZZLE_09 BREAK
CASE WEAPONCOMPONENT_DLC_AT_SR_BARREL_01 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_SR_BARREL_01 BREAK
CASE WEAPONCOMPONENT_DLC_AT_SR_BARREL_02 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_AT_SR_BARREL_02 BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_02 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_02 BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_03 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_03 BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_04 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_04 BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_05 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_05 BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_06 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_06 BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_07 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_07 BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_08 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_08 BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_09 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_09 BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_10 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_10 BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_IND_01 RETURN WEAPONADDON_DLC_HEAVYSNIPER_MK2_CAMO_IND_01 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_COMBATMG_MK2
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CLIP_01 RETURN WEAPONADDON_DLC_COMBATMG_MK2_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CLIP_02 RETURN WEAPONADDON_DLC_COMBATMG_MK2_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CLIP_ARMORPIERCING RETURN WEAPONADDON_DLC_COMBATMG_MK2_CLIP_ARMORPIERCING BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CLIP_FMJ RETURN WEAPONADDON_DLC_COMBATMG_MK2_CLIP_FMJ BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CLIP_INCENDIARY RETURN WEAPONADDON_DLC_COMBATMG_MK2_CLIP_INCENDIARY BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CLIP_TRACER RETURN WEAPONADDON_DLC_COMBATMG_MK2_CLIP_TRACER BREAK
CASE WEAPONCOMPONENT_DLC_AT_AR_AFGRIP_02 RETURN WEAPONADDON_DLC_COMBATMG_MK2_AT_AR_AFGRIP BREAK
CASE WEAPONCOMPONENT_DLC_AT_SIGHTS RETURN WEAPONADDON_DLC_COMBATMG_MK2_AT_SIGHTS BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_SMALL_MK2 RETURN WEAPONADDON_DLC_COMBATMG_MK2_AT_SCOPE_SMALL_MK2 BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_MEDIUM_MK2 RETURN WEAPONADDON_DLC_COMBATMG_MK2_AT_SCOPE_MEDIUM BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_01 RETURN WEAPONADDON_DLC_COMBATMG_MK2_AT_MUZZLE_01 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_02 RETURN WEAPONADDON_DLC_COMBATMG_MK2_AT_MUZZLE_02 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_03 RETURN WEAPONADDON_DLC_COMBATMG_MK2_AT_MUZZLE_03 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_04 RETURN WEAPONADDON_DLC_COMBATMG_MK2_AT_MUZZLE_04 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_05 RETURN WEAPONADDON_DLC_COMBATMG_MK2_AT_MUZZLE_05 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_06 RETURN WEAPONADDON_DLC_COMBATMG_MK2_AT_MUZZLE_06 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_07 RETURN WEAPONADDON_DLC_COMBATMG_MK2_AT_MUZZLE_07 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MG_BARREL_01 RETURN WEAPONADDON_DLC_COMBATMG_MK2_AT_SB_BARREL_01 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MG_BARREL_02 RETURN WEAPONADDON_DLC_COMBATMG_MK2_AT_SB_BARREL_02 BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO RETURN WEAPONADDON_DLC_COMBATMG_MK2_CAMO BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_02 RETURN WEAPONADDON_DLC_COMBATMG_MK2_CAMO_02 BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_03 RETURN WEAPONADDON_DLC_COMBATMG_MK2_CAMO_03 BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_04 RETURN WEAPONADDON_DLC_COMBATMG_MK2_CAMO_04 BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_05 RETURN WEAPONADDON_DLC_COMBATMG_MK2_CAMO_05 BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_06 RETURN WEAPONADDON_DLC_COMBATMG_MK2_CAMO_06 BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_07 RETURN WEAPONADDON_DLC_COMBATMG_MK2_CAMO_07 BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_08 RETURN WEAPONADDON_DLC_COMBATMG_MK2_CAMO_08 BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_09 RETURN WEAPONADDON_DLC_COMBATMG_MK2_CAMO_09 BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_10 RETURN WEAPONADDON_DLC_COMBATMG_MK2_CAMO_10 BREAK
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_IND_01 RETURN WEAPONADDON_DLC_COMBATMG_MK2_CAMO_IND_01 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_ASSAULTRIFLE_MK2
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CLIP_01 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CLIP_02 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CLIP_ARMORPIERCING BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CLIP_FMJ RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CLIP_FMJ BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CLIP_INCENDIARY RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CLIP_INCENDIARY BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CLIP_TRACER RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CLIP_TRACER BREAK
CASE WEAPONCOMPONENT_DLC_AT_AR_AFGRIP_02 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_AR_AFGRIP BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_AR_FLSH BREAK
CASE WEAPONCOMPONENT_DLC_AT_SIGHTS RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_SIGHTS BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_MACRO_MK2 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_SCOPE_MACRO_MK2 BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_MEDIUM_MK2 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_SCOPE_MEDIUM_MK2 BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP_02 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_AR_SUPP_02 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_01 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_MUZZLE_01 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_02 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_MUZZLE_02 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_03 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_MUZZLE_03 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_04 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_MUZZLE_04 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_05 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_MUZZLE_05 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_06 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_MUZZLE_06 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_07 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_MUZZLE_07 BREAK
CASE WEAPONCOMPONENT_DLC_AT_AR_BARREL_01 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_AR_BARREL_01 BREAK
CASE WEAPONCOMPONENT_DLC_AT_AR_BARREL_02 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_AT_AR_BARREL_02 BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_02 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_02 BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_03 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_03 BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_04 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_04 BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_05 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_05 BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_06 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_06 BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_07 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_07 BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_08 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_08 BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_09 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_09 BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_10 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_10 BREAK
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_IND_01 RETURN WEAPONADDON_DLC_ASSAULTRIFLE_MK2_CAMO_IND_01 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_CARBINERIFLE_MK2
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CLIP_01 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CLIP_02 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CLIP_ARMORPIERCING RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CLIP_ARMORPIERCING BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CLIP_FMJ RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CLIP_FMJ BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CLIP_INCENDIARY RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CLIP_INCENDIARY BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CLIP_TRACER RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CLIP_TRACER BREAK
CASE WEAPONCOMPONENT_DLC_AT_AR_AFGRIP_02 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_AR_AFGRIP BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_AR_FLSH BREAK
CASE WEAPONCOMPONENT_DLC_AT_SIGHTS RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_SIGHTS BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_MACRO_MK2 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_SCOPE_MACRO_MK2 BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_MEDIUM_MK2 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_SCOPE_MEDIUM_MK2 BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_AR_SUPP_02 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_01 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_MUZZLE_01 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_02 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_MUZZLE_02 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_03 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_MUZZLE_03 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_04 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_MUZZLE_04 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_05 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_MUZZLE_05 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_06 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_MUZZLE_06 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_07 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_MUZZLE_07 BREAK
CASE WEAPONCOMPONENT_DLC_AT_CR_BARREL_01 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_CR_BARREL_01 BREAK
CASE WEAPONCOMPONENT_DLC_AT_CR_BARREL_02 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_AT_CR_BARREL_02 BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_02 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_02 BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_03 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_03 BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_04 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_04 BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_05 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_05 BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_06 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_06 BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_07 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_07 BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_08 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_08 BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_09 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_09 BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_10 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_10 BREAK
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_IND_01 RETURN WEAPONADDON_DLC_CARBINERIFLE_MK2_CAMO_IND_01 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_PUMPSHOTGUN_MK2
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CLIP_01 RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CLIP_ARMORPIERCING RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CLIP_ARMORPIERCING BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CLIP_EXPLOSIVE RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CLIP_EXPLOSIVE BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CLIP_HOLLOWPOINT RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CLIP_HOLLOWPOINT BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CLIP_INCENDIARY RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CLIP_INCENDIARY BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_AT_AR_FLSH BREAK
CASE WEAPONCOMPONENT_DLC_AT_SIGHTS RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_AT_SIGHTS BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_MACRO_MK2 RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_AT_SCOPE_MACRO_MK2 BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_SMALL_MK2 RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_AT_SCOPE_SMALL_MK2 BREAK
CASE WEAPONCOMPONENT_DLC_AT_SR_SUPP_03 RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_AT_SR_SUPP_03 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_08 RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_AT_MUZZLE_08 BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_02 RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_02 BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_03 RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_03 BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_04 RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_04 BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_05 RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_05 BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_06 RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_06 BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_07 RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_07 BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_08 RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_08 BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_09 RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_09 BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_10 RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_10 BREAK
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_IND_01 RETURN WEAPONADDON_DLC_PUMPSHOTGUN_MK2_CAMO_IND_01 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE_MK2
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CLIP_01 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CLIP_02 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CLIP_ARMORPIERCING RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CLIP_ARMORPIERCING BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CLIP_FMJ RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CLIP_FMJ BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CLIP_INCENDIARY RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CLIP_INCENDIARY BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CLIP_TRACER RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CLIP_TRACER BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_AR_FLSH BREAK
CASE WEAPONCOMPONENT_DLC_AT_SIGHTS RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_SIGHTS BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_MACRO_MK2 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_SCOPE_MACRO_MK2 BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_MEDIUM_MK2 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_SCOPE_MEDIUM_MK2 BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP_02 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_AR_SUPP_02 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_01 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_MUZZLE_01 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_02 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_MUZZLE_02 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_03 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_MUZZLE_03 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_04 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_MUZZLE_04 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_05 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_MUZZLE_05 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_06 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_MUZZLE_06 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_07 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_MUZZLE_07 BREAK
CASE WEAPONCOMPONENT_DLC_AT_AR_AFGRIP_02 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_AR_AFGRIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_AT_SC_BARREL_01 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_SC_BARREL_01 BREAK
CASE WEAPONCOMPONENT_DLC_AT_SC_BARREL_02 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_AT_SC_BARREL_02 BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_02 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_02 BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_03 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_03 BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_04 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_04 BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_05 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_05 BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_06 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_06 BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_07 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_07 BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_08 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_08 BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_09 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_09 BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_10 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_10 BREAK
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_IND_01 RETURN WEAPONADDON_DLC_SPECIALCARBINE_MK2_CAMO_IND_01 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL_MK2
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_01 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_02 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_FMJ RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CLIP_FMJ BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_HOLLOWPOINT RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CLIP_HOLLOWPOINT BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_INCENDIARY RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CLIP_INCENDIARY BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CLIP_TRACER RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CLIP_TRACER BREAK
CASE WEAPONCOMPONENT_DLC_AT_PI_FLSH_03 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_AT_PI_FLSH_03 BREAK
CASE WEAPONCOMPONENT_DLC_AT_PI_RAIL_02 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_AT_PI_RAIL_02 BREAK
CASE WEAPONCOMPONENT_AT_PI_SUPP_02 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_AT_PI_SUPP_02 BREAK
CASE WEAPONCOMPONENT_DLC_AT_PI_COMP_02 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_AT_PI_COMP_02 BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_02 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_02 BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_03 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_03 BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_04 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_04 BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_05 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_05 BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_06 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_06 BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_07 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_07 BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_08 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_08 BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_09 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_09 BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_10 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_10 BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_IND_01 RETURN WEAPONADDON_DLC_SNSPISTOL_MK2_CAMO_IND_01 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE_MK2
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CLIP_01 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CLIP_02 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CLIP_ARMORPIERCING RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CLIP_ARMORPIERCING BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CLIP_FMJ RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CLIP_FMJ BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CLIP_INCENDIARY RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CLIP_INCENDIARY BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CLIP_TRACER RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CLIP_TRACER BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_AR_FLSH BREAK
CASE WEAPONCOMPONENT_DLC_AT_SIGHTS RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_SIGHTS BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_MEDIUM_MK2 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_SCOPE_MEDIUM_MK2 BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_LARGE_FIXED_ZOOM_MK2 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_SCOPE_LARGE_FIXED_ZOOM_MK2 BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_AR_SUPP BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_01 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MUZZLE_01 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_02 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MUZZLE_02 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_03 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MUZZLE_03 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_04 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MUZZLE_04 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_05 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MUZZLE_05 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_06 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MUZZLE_06 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_07 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MUZZLE_07 BREAK
CASE WEAPONCOMPONENT_DLC_AT_AR_AFGRIP_02 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_AR_AFGRIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MRFL_BARREL_01 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MRFL_BARREL_01 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MRFL_BARREL_02 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_AT_MRFL_BARREL_02 BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_02 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_02 BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_03 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_03 BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_04 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_04 BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_05 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_05 BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_06 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_06 BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_07 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_07 BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_08 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_08 BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_09 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_09 BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_10 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_10 BREAK
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_IND_01 RETURN WEAPONADDON_DLC_MARKSMANRIFLE_MK2_CAMO_IND_01 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_REVOLVER_MK2
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CLIP_01 RETURN WEAPONADDON_DLC_REVOLVER_MK2_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CLIP_FMJ RETURN WEAPONADDON_DLC_REVOLVER_MK2_CLIP_FMJ BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CLIP_HOLLOWPOINT RETURN WEAPONADDON_DLC_REVOLVER_MK2_CLIP_HOLLOWPOINT BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CLIP_INCENDIARY RETURN WEAPONADDON_DLC_REVOLVER_MK2_CLIP_INCENDIARY BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CLIP_TRACER RETURN WEAPONADDON_DLC_REVOLVER_MK2_CLIP_TRACER BREAK
CASE WEAPONCOMPONENT_DLC_AT_SIGHTS RETURN WEAPONADDON_DLC_REVOLVER_MK2_AT_SIGHTS BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_MACRO_MK2 RETURN WEAPONADDON_DLC_REVOLVER_MK2_AT_SCOPE_MACRO_MK2 BREAK
CASE WEAPONCOMPONENT_AT_PI_FLSH RETURN WEAPONADDON_DLC_REVOLVER_MK2_AT_PI_FLSH BREAK
CASE WEAPONCOMPONENT_DLC_AT_PI_COMP_03 RETURN WEAPONADDON_DLC_REVOLVER_MK2_AT_PI_COMP_03 BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO RETURN WEAPONADDON_DLC_REVOLVER_MK2_CAMO BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_02 RETURN WEAPONADDON_DLC_REVOLVER_MK2_CAMO_02 BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_03 RETURN WEAPONADDON_DLC_REVOLVER_MK2_CAMO_03 BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_04 RETURN WEAPONADDON_DLC_REVOLVER_MK2_CAMO_04 BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_05 RETURN WEAPONADDON_DLC_REVOLVER_MK2_CAMO_05 BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_06 RETURN WEAPONADDON_DLC_REVOLVER_MK2_CAMO_06 BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_07 RETURN WEAPONADDON_DLC_REVOLVER_MK2_CAMO_07 BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_08 RETURN WEAPONADDON_DLC_REVOLVER_MK2_CAMO_08 BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_09 RETURN WEAPONADDON_DLC_REVOLVER_MK2_CAMO_09 BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_10 RETURN WEAPONADDON_DLC_REVOLVER_MK2_CAMO_10 BREAK
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_IND_01 RETURN WEAPONADDON_DLC_REVOLVER_MK2_CAMO_IND_01 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE_MK2
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CLIP_01 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CLIP_02 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CLIP_ARMORPIERCING RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CLIP_ARMORPIERCING BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CLIP_FMJ RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CLIP_FMJ BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CLIP_INCENDIARY RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CLIP_INCENDIARY BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CLIP_TRACER RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CLIP_TRACER BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_AR_FLSH BREAK
CASE WEAPONCOMPONENT_DLC_AT_SIGHTS RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_SIGHTS BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_MACRO_02_MK2 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_SCOPE_MACRO_02_MK2 BREAK
CASE WEAPONCOMPONENT_DLC_AT_SCOPE_SMALL_MK2 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_SCOPE_SMALL_MK2 BREAK
CASE WEAPONCOMPONENT_DLC_AT_BP_BARREL_01 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_BP_BARREL_01 BREAK
CASE WEAPONCOMPONENT_DLC_AT_BP_BARREL_02 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_BP_BARREL_02 BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_AR_SUPP BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_01 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_MUZZLE_01 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_02 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_MUZZLE_02 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_03 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_MUZZLE_03 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_04 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_MUZZLE_04 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_05 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_MUZZLE_05 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_06 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_MUZZLE_06 BREAK
CASE WEAPONCOMPONENT_DLC_AT_MUZZLE_07 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_MUZZLE_07 BREAK
CASE WEAPONCOMPONENT_DLC_AT_AR_AFGRIP_02 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_AT_AR_AFGRIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_02 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_02 BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_03 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_03 BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_04 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_04 BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_05 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_05 BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_06 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_06 BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_07 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_07 BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_08 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_08 BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_09 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_09 BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_10 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_10 BREAK
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_IND_01 RETURN WEAPONADDON_DLC_BULLPUPRIFLE_MK2_CAMO_IND_01 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_RAYPISTOL
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_RAYPISTOL_VARMOD_XMAS18 RETURN WEAPONADDON_DLC_RAYPISTOL_VARMOD_XMAS18 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_CERAMICPISTOL
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_CERAMICPISTOL_CLIP_01 RETURN WEAPONADDON_DLC_CERAMICPISTOL_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_CERAMICPISTOL_CLIP_02 RETURN WEAPONADDON_DLC_CERAMICPISTOL_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_CERAMICPISTOL_SUPP RETURN WEAPONADDON_DLC_CERAMICPISTOL_AT_PI_SUPP BREAK
ENDSWITCH
BREAK
#IF FEATURE_COPS_N_CROOKS
CASE WEAPONTYPE_DLC_POLICERIFLE
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_POLICERIFLE_CLIP_01 RETURN WEAPONADDON_DLC_POLICERIFLE_WEAPONCOMPONENT_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_POLICERIFLE_CLIP_02 RETURN WEAPONADDON_DLC_POLICERIFLE_WEAPONCOMPONENT_CLIP_02 BREAK
CASE WEAPONCOMPONENT_AT_AR_AFGRIP RETURN WEAPONADDON_DLC_POLICERIFLE_AT_AR_AFGRIP BREAK
CASE WEAPONCOMPONENT_DLC_POLICERIFLE_FLASH_01 RETURN WEAPONADDON_DLC_POLICERIFLE_WEAPONCOMPONENT_FLASH_01 BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP RETURN WEAPONADDON_DLC_POLICERIFLE_AT_AR_SUPP BREAK
ENDSWITCH
BREAK
#ENDIF
#IF FEATURE_HEIST_ISLAND
CASE WEAPONTYPE_DLC_COMBATSHOTGUN
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_COMBATSHOTGUN_CLIP_01 RETURN WEAPONADDON_DLC_COMBATSHOTGUN_CLIP1
CASE WEAPONCOMPONENT_AT_AR_FLSH RETURN WEAPONADDON_DLC_COMBATSHOTGUN_AT_AR_FLSH BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP RETURN WEAPONADDON_DLC_COMBATSHOTGUN_COMPONENT_AT_AR_SUPP BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_MILITARYRIFLE
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_MILITARYRIFLE_CLIP_01 RETURN WEAPONADDON_DLC_MILITARYRIFLE_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_MILITARYRIFLE_CLIP_02 RETURN WEAPONADDON_DLC_MILITARYRIFLE_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_MILITARYRIFLE_SIGHT_01 RETURN WEAPONADDON_DLC_MILITARYRIFLE_SIGHT_01 BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_SMALL RETURN WEAPONADDON_DLC_MILITARYRIFLE_AT_SCOPE_SMALL BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH RETURN WEAPONADDON_DLC_MILITARYRIFLE_AT_AR_FLSH BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP RETURN WEAPONADDON_DLC_MILITARYRIFLE_AT_AR_SUPP BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_GADGETPISTOL
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_GADGETPISTOL_CLIP_01 RETURN WEAPONADDON_DLC_GADGETPISTOL_CLIP_01 BREAK
ENDSWITCH
BREAK
#ENDIF
#IF FEATURE_FIXER
CASE WEAPONTYPE_DLC_HEAVYRIFLE
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_HEAVYRIFLE_CLIP_01 RETURN WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYRIFLE_CLIP_02 RETURN WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYRIFLE_CAMO RETURN WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_CAMO BREAK
CASE WEAPONCOMPONENT_AT_AR_AFGRIP RETURN WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_AT_AR_AFGRIP BREAK
CASE WEAPONCOMPONENT_AT_AR_FLSH RETURN WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_AT_AR_FLSH BREAK
CASE WEAPONCOMPONENT_AT_SCOPE_MEDIUM RETURN WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_AT_SCOPE_MEDIUM BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP RETURN WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_AT_AR_SUPP BREAK
CASE WEAPONCOMPONENT_DLC_HEAVYRIFLE_SIGHT_01 RETURN WEAPONADDON_DLC_HEAVYRIFLE_WEAPONCOMPONENT_SIGHT_01 BREAK
ENDSWITCH
BREAK
#ENDIF
#IF FEATURE_DLC_1_2022
CASE WEAPONTYPE_DLC_TACTICALRIFLE
SWITCH aWeaponComp
CASE WEAPONCOMPONENT_DLC_TACTICALRIFLE_CLIP_01 RETURN WEAPONADDON_DLC_TACTICALRIFLE_CLIP_01 BREAK
CASE WEAPONCOMPONENT_DLC_TACTICALRIFLE_CLIP_02 RETURN WEAPONADDON_DLC_TACTICALRIFLE_CLIP_02 BREAK
CASE WEAPONCOMPONENT_DLC_AT_AR_FLSH_REH RETURN WEAPONADDON_DLC_TACTICALRIFLE_AT_AR_FLSH_REH BREAK
CASE WEAPONCOMPONENT_AT_AR_SUPP_02 RETURN WEAPONADDON_DLC_TACTICALRIFLE_AT_AR_SUPP_02 BREAK
CASE WEAPONCOMPONENT_AT_AR_AFGRIP RETURN WEAPONADDON_DLC_TACTICALRIFLE_AT_AR_GRIP BREAK
ENDSWITCH
BREAK
#ENDIF
ENDSWITCH
RETURN WEAPONADDON_WEAPON_INVALID
ENDFUNC
/// PURPOSE: Returns the weapon slot for the specified int
/// NOTE: iSlot must be within the range of 0 to NUM_PLAYER_PED_WEAPON_SLOTS-1
/// Also, this will change to return a WEAPON_SLOT enum once set up by code
FUNC WEAPON_SLOT GET_PLAYER_PED_WEAPON_SLOT_FROM_INT(INT iSlot)
WEAPON_SLOT slot = WEAPONSLOT_INVALID
SWITCH iSlot
CASE 0 slot = WEAPONSLOT_UNARMED BREAK
CASE 1 slot = WEAPONSLOT_KNIFE BREAK
CASE 2 slot = WEAPONSLOT_NIGHTSTICK BREAK
CASE 3 slot = WEAPONSLOT_HAMMER BREAK
CASE 4 slot = WEAPONSLOT_BAT BREAK
CASE 5 slot = WEAPONSLOT_CROWBAR BREAK
CASE 6 slot = WEAPONSLOT_GOLFCLUB BREAK
CASE 7 slot = WEAPONSLOT_STUNGUN BREAK
CASE 8 slot = WEAPONSLOT_PISTOL BREAK
CASE 9 slot = WEAPONSLOT_COMBATPISTOL BREAK
CASE 10 slot = WEAPONSLOT_APPISTOL BREAK
CASE 11 slot = WEAPONSLOT_MICROSMG BREAK
CASE 12 slot = WEAPONSLOT_SMG BREAK
CASE 13 slot = WEAPONSLOT_ASSAULTRIFLE BREAK
CASE 14 slot = WEAPONSLOT_CARBINERIFLE BREAK
CASE 15 slot = WEAPONSLOT_ADVANCEDRIFLE BREAK
CASE 16 slot = WEAPONSLOT_MG BREAK
CASE 17 slot = WEAPONSLOT_COMBATMG BREAK
CASE 18 slot = WEAPONSLOT_PUMPSHOTGUN BREAK
CASE 19 slot = WEAPONSLOT_SAWNOFFSHOTGUN BREAK
CASE 20 slot = WEAPONSLOT_ASSAULTSHOTGUN BREAK
CASE 21 slot = WEAPONSLOT_SNIPERRIFLE BREAK
CASE 22 slot = WEAPONSLOT_HEAVYSNIPER BREAK
CASE 23 slot = WEAPONSLOT_GRENADELAUNCHER BREAK
CASE 24 slot = WEAPONSLOT_RPG BREAK
CASE 25 slot = WEAPONSLOT_MINIGUN BREAK
CASE 26 slot = WEAPONSLOT_GRENADE BREAK
CASE 27 slot = WEAPONSLOT_STICKYBOMB BREAK
CASE 28 slot = WEAPONSLOT_SMOKEGRENADE BREAK
CASE 29 slot = WEAPONSLOT_MOLOTOV BREAK
CASE 30 slot = WEAPONSLOT_FIREEXTINGUISHER BREAK
CASE 31 slot = WEAPONSLOT_PETROLCAN BREAK
//CASE 32 slot = WEAPONSLOT_LOUDHAILER BREAK
CASE 33 slot = WEAPONSLOT_PARACHUTE BREAK
CASE 34 slot = WEAPONSLOT_DIGISCANNER BREAK
CASE 35 slot = WEAPONSLOT_OBJECT BREAK
// DLC weaponS
CASE 36 slot = WEAPONSLOT_DLC_ASSAULTSMG BREAK
CASE 37 slot = WEAPONSLOT_DLC_BULLPUPSHOTGUN BREAK
CASE 38 slot = WEAPONSLOT_DLC_PISTOL50 BREAK
// Graeme - I think the slot index is used as an array index within g_savedGlobals.sPlayerData.sInfo.sWeapons[].sWeaponInfo[] which doesn't have space for the DLC weapons
// So I don't think I should add WEAPONSLOT_DLC_SPECIALCARBINE or WEAPONSLOT_DLC_BOTTLE here
ENDSWITCH
RETURN slot
ENDFUNC
/// PURPOSE: Returns the weapon slot int for the specified weapon type enum.
///
#IF IS_DEBUG_BUILD
FUNC INT GET_INT_FROM_PLAYER_PED_WEAPON_TYPE(WEAPON_TYPE type)
INT iSlot = -1
SWITCH type
CASE WEAPONTYPE_UNARMED iSlot = 0 BREAK
CASE WEAPONTYPE_KNIFE iSlot = 1 BREAK
CASE WEAPONTYPE_NIGHTSTICK iSlot = 2 BREAK
CASE WEAPONTYPE_HAMMER iSlot = 3 BREAK
CASE WEAPONTYPE_BAT iSlot = 4 BREAK
CASE WEAPONTYPE_CROWBAR iSlot = 5 BREAK
CASE WEAPONTYPE_GOLFCLUB iSlot = 6 BREAK
CASE WEAPONTYPE_STUNGUN iSlot = 7 BREAK
CASE WEAPONTYPE_PISTOL iSlot = 8 BREAK
CASE WEAPONTYPE_COMBATPISTOL iSlot = 9 BREAK
CASE WEAPONTYPE_APPISTOL iSlot = 10 BREAK
CASE WEAPONTYPE_MICROSMG iSlot = 11 BREAK
CASE WEAPONTYPE_SMG iSlot = 12 BREAK
CASE WEAPONTYPE_ASSAULTRIFLE iSlot = 13 BREAK
CASE WEAPONTYPE_CARBINERIFLE iSlot = 14 BREAK
CASE WEAPONTYPE_ADVANCEDRIFLE iSlot = 15 BREAK
CASE WEAPONTYPE_MG iSlot = 16 BREAK
CASE WEAPONTYPE_COMBATMG iSlot = 17 BREAK
CASE WEAPONTYPE_PUMPSHOTGUN iSlot = 18 BREAK
CASE WEAPONTYPE_SAWNOFFSHOTGUN iSlot = 19 BREAK
CASE WEAPONTYPE_ASSAULTSHOTGUN iSlot = 20 BREAK
CASE WEAPONTYPE_SNIPERRIFLE iSlot = 21 BREAK
CASE WEAPONTYPE_HEAVYSNIPER iSlot = 22 BREAK
CASE WEAPONTYPE_GRENADELAUNCHER iSlot = 23 BREAK
CASE WEAPONTYPE_RPG iSlot = 24 BREAK
CASE WEAPONTYPE_MINIGUN iSlot = 25 BREAK
CASE WEAPONTYPE_GRENADE iSlot = 26 BREAK
CASE WEAPONTYPE_STICKYBOMB iSlot = 27 BREAK
CASE WEAPONTYPE_SMOKEGRENADE iSlot = 28 BREAK
CASE WEAPONTYPE_MOLOTOV iSlot = 29 BREAK
CASE WEAPONTYPE_PETROLCAN iSlot = 31 BREAK
//CASE WEAPONSLOT_LOUDHAILER iSlot = 32 BREAK
//CASE GADGETTYPE_PARACHUTE iSlot = 33 BREAK
CASE WEAPONTYPE_DIGISCANNER iSlot = 34 BREAK
CASE WEAPONTYPE_OBJECT iSlot = 35 BREAK
// DLC weapons
CASE WEAPONTYPE_DLC_ASSAULTSMG iSlot = 36 BREAK
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN iSlot = 37 BREAK
CASE WEAPONTYPE_DLC_PISTOL50 iSlot = 38 BREAK
ENDSWITCH
// Graeme - I think the slot index is used as an array index within g_savedGlobals.sPlayerData.sInfo.sWeapons[].sWeaponInfo[] which doesn't have space for the DLC weapons
// So I don't think I should add WEAPONTYPE_DLC_SPECIALCARBINE or WEAPONTYPE_DLC_BOTTLE here
RETURN iSlot
ENDFUNC
#ENDIF // IS_DEBUG_BUILD
FUNC WEAPON_TYPE GET_WEAPONTYPE_FROM_ITERATED_INDEX(INT index)
SWITCH index
CASE 0 RETURN WEAPONTYPE_UNARMED BREAK
CASE 1 RETURN WEAPONTYPE_ANIMAL BREAK
CASE 2 RETURN WEAPONTYPE_COUGAR BREAK
CASE 3 RETURN WEAPONTYPE_PISTOL BREAK
CASE 4 RETURN WEAPONTYPE_COMBATPISTOL BREAK
CASE 5 RETURN WEAPONTYPE_APPISTOL BREAK
CASE 6 RETURN WEAPONTYPE_MICROSMG BREAK
CASE 7 RETURN WEAPONTYPE_SMG BREAK
// Assault rifles
CASE 8 RETURN WEAPONTYPE_ASSAULTRIFLE BREAK
CASE 9 RETURN WEAPONTYPE_CARBINERIFLE BREAK
CASE 10 RETURN WEAPONTYPE_ADVANCEDRIFLE BREAK
// Light machine guns
CASE 11 RETURN WEAPONTYPE_MG BREAK
CASE 12 RETURN WEAPONTYPE_COMBATMG BREAK
// Shotguns
CASE 13 RETURN WEAPONTYPE_PUMPSHOTGUN BREAK
CASE 14 RETURN WEAPONTYPE_SAWNOFFSHOTGUN BREAK
CASE 15 RETURN WEAPONTYPE_ASSAULTSHOTGUN BREAK
// Sniper rifles
CASE 16 RETURN WEAPONTYPE_SNIPERRIFLE BREAK
CASE 17 RETURN WEAPONTYPE_HEAVYSNIPER BREAK
CASE 18 RETURN WEAPONTYPE_REMOTESNIPER BREAK
// Heavy weapons
CASE 19 RETURN WEAPONTYPE_GRENADELAUNCHER BREAK
CASE 20 RETURN WEAPONTYPE_GRENADELAUNCHER_SMOKE BREAK
CASE 21 RETURN WEAPONTYPE_RPG BREAK
CASE 22 RETURN WEAPONTYPE_MINIGUN BREAK
CASE 23 RETURN WEAPONTYPE_STINGER BREAK
// Thrown weapons
CASE 24 RETURN WEAPONTYPE_GRENADE BREAK
CASE 25 RETURN WEAPONTYPE_SMOKEGRENADE BREAK
CASE 26 RETURN WEAPONTYPE_BZGAS BREAK
CASE 27 RETURN WEAPONTYPE_STICKYBOMB BREAK
CASE 28 RETURN WEAPONTYPE_MOLOTOV BREAK
CASE 29 RETURN WEAPONTYPE_BALL BREAK
CASE 30 RETURN WEAPONTYPE_FLARE BREAK
// Special weapons
CASE 31 RETURN WEAPONTYPE_STUNGUN BREAK
CASE 32 RETURN WEAPONTYPE_FIREEXTINGUISHER BREAK
CASE 33 RETURN WEAPONTYPE_PETROLCAN BREAK
CASE 34 RETURN WEAPONTYPE_DIGISCANNER BREAK
CASE 35 RETURN WEAPONTYPE_AIRSTRIKE_ROCKET BREAK
CASE 36 RETURN WEAPONTYPE_WATER_CANNON BREAK
// Damage types
CASE 37 RETURN WEAPONTYPE_ELECTRIC_FENCE BREAK
// Melee Weapons
CASE 38 RETURN WEAPONTYPE_KNIFE BREAK
CASE 39 RETURN WEAPONTYPE_NIGHTSTICK BREAK
CASE 40 RETURN WEAPONTYPE_HAMMER BREAK
CASE 41 RETURN WEAPONTYPE_BAT BREAK
CASE 42 RETURN WEAPONTYPE_CROWBAR BREAK
CASE 43 RETURN WEAPONTYPE_GOLFCLUB BREAK
// Vehicle weapons
CASE 44 RETURN WEAPONTYPE_VEHICLE_WEAPON_TANK BREAK
CASE 45 RETURN WEAPONTYPE_VEHICLE_SPACE_ROCKET BREAK
CASE 46 RETURN WEAPONTYPE_VEHICLE_PLAYER_LASER BREAK
CASE 47 RETURN WEAPONTYPE_VEHICLE_PLAYER_BULLET BREAK
CASE 48 RETURN WEAPONTYPE_VEHICLE_ROTORS BREAK
CASE 49 RETURN WEAPONTYPE_VEHICLE_PLAYER_BUZZARD BREAK
CASE 50 RETURN WEAPONTYPE_PASSENGER_ROCKET BREAK
CASE 51 RETURN WEAPONTYPE_VEHICLE_ROCKET BREAK
CASE 52 RETURN WEAPONTYPE_VEHICLE_WEAPON_PLANE_ROCKET BREAK
// Held objects (phone, coffee, etc.)
CASE 53 RETURN WEAPONTYPE_OBJECT BREAK
CASE 54 RETURN WEAPONTYPE_BRIEFCASE BREAK
CASE 55 RETURN WEAPONTYPE_BRIEFCASE_02 BREAK
// Gadgets
CASE 56 RETURN GADGETTYPE_PARACHUTE BREAK
CASE 57 RETURN GADGETTYPE_JETPACK BREAK
// Ammo
CASE 58 RETURN WEAPONTYPE_AMMO_RPG BREAK
CASE 59 RETURN WEAPONTYPE_AMMO_TANK BREAK
CASE 60 RETURN WEAPONTYPE_AMMO_SPACE_ROCKET BREAK
CASE 61 RETURN WEAPONTYPE_AMMO_PLAYER_LASER BREAK
CASE 62 RETURN WEAPONTYPE_AMMO_ENEMY_LASER BREAK
CASE 63 RETURN WEAPONTYPE_AMMO_GRENADE_LAUNCHER BREAK
CASE 64 RETURN WEAPONTYPE_AMMO_GRENADE_LAUNCHER_SMOKE BREAK
// Run over by a vehicle
CASE 65 RETURN WEAPONTYPE_RAMMEDBYVEHICLE BREAK
CASE 66 RETURN WEAPONTYPE_RUNOVERBYVEHICLE BREAK
// Explosion
CASE 67 RETURN WEAPONTYPE_EXPLOSION BREAK
// Fall
CASE 68 RETURN WEAPONTYPE_FALL BREAK
// DLC Weapons
CASE 69 RETURN WEAPONTYPE_DLC_PISTOL50 BREAK
CASE 70 RETURN WEAPONTYPE_DLC_ASSAULTSMG BREAK
CASE 71 RETURN WEAPONTYPE_DLC_HEAVYRIFLE BREAK
CASE 72 RETURN WEAPONTYPE_DLC_BULLPUPSHOTGUN BREAK
CASE 73 RETURN WEAPONTYPE_DLC_ASSAULTMG BREAK
CASE 74 RETURN WEAPONTYPE_DLC_ASSAULTSNIPER BREAK
CASE 75 RETURN WEAPONTYPE_DLC_PROGRAMMABLEAR BREAK
CASE 76 RETURN WEAPONTYPE_DLC_RUBBERGUN BREAK
CASE 77 RETURN WEAPONTYPE_DLC_LOUDHAILER BREAK
CASE 78 RETURN WEAPONTYPE_DLC_SPECIALCARBINE BREAK
CASE 79 RETURN WEAPONTYPE_DLC_BOTTLE BREAK
CASE 80 RETURN WEAPONTYPE_DLC_BULLPUPRIFLE BREAK
CASE 81 RETURN WEAPONTYPE_DLC_HEAVYPISTOL BREAK
CASE 82 RETURN WEAPONTYPE_DLC_SNSPISTOL BREAK
CASE 83 RETURN WEAPONTYPE_DLC_DAGGER BREAK
CASE 84 RETURN WEAPONTYPE_DLC_VINTAGEPISTOL BREAK
CASE 85 RETURN WEAPONTYPE_DLC_GUSENBERG BREAK
CASE 86 RETURN WEAPONTYPE_DLC_HARPOON BREAK
CASE 87 RETURN WEAPONTYPE_DLC_FLAREGUN BREAK
CASE 88 RETURN WEAPONTYPE_DLC_FIREWORK BREAK
CASE 89 RETURN WEAPONTYPE_DLC_MUSKET BREAK
CASE 90 RETURN WEAPONTYPE_DLC_AMRIFLE BREAK
CASE 91 RETURN WEAPONTYPE_DLC_CROSSBOW BREAK
CASE 92 RETURN WEAPONTYPE_DLC_HEAVYSHOTGUN BREAK
CASE 93 RETURN WEAPONTYPE_DLC_MARKSMANRIFLE BREAK
CASE 94 RETURN WEAPONTYPE_DLC_GARBAGEBAG BREAK
CASE 95 RETURN WEAPONTYPE_DLC_HANDCUFFS BREAK
CASE 96 RETURN WEAPONTYPE_DLC_HOMINGLAUNCHER BREAK
CASE 97 RETURN WEAPONTYPE_DLC_PROXMINE BREAK
CASE 98 RETURN WEAPONTYPE_DLC_SNOWBALL BREAK
// NG-Only Weapon Types
CASE 99 RETURN WEAPONTYPE_DLC_HATCHET BREAK
CASE 100 RETURN WEAPONTYPE_DLC_RAILGUN BREAK
// DLC Vehicle Weapons
CASE 101 RETURN WEAPONTYPE_DLC_VEHICLE_TORPEDO BREAK
CASE 102 RETURN WEAPONTYPE_DLC_VEHICLE_SPYCARGUN BREAK
CASE 103 RETURN WEAPONTYPE_DLC_VEHICLE_SPYCARROCKET BREAK
// DLC LUX
CASE 104 RETURN WEAPONTYPE_DLC_KNUCKLE BREAK
CASE 105 RETURN WEAPONTYPE_DLC_COMBATPDW BREAK
CASE 106 RETURN WEAPONTYPE_DLC_MARKSMANPISTOL BREAK
// DLC LOWRIDER
CASE 107 RETURN WEAPONTYPE_DLC_MACHETE BREAK
CASE 108 RETURN WEAPONTYPE_DLC_MACHINEPISTOL BREAK
// DLC HALLOWEEN
CASE 109 RETURN WEAPONTYPE_DLC_FLASHLIGHT BREAK
// DLC APARTMENT
CASE 110 RETURN WEAPONTYPE_DLC_REVOLVER BREAK
CASE 111 RETURN WEAPONTYPE_DLC_SWITCHBLADE BREAK
// DLC LOWRIDER2
CASE 112 RETURN WEAPONTYPE_DLC_DBSHOTGUN BREAK
CASE 113 RETURN WEAPONTYPE_DLC_COMPACTRIFLE BREAK
// DLC Biker
CASE 114 RETURN WEAPONTYPE_DLC_AUTOSHOTGUN BREAK
CASE 115 RETURN WEAPONTYPE_DLC_BATTLEAXE BREAK
CASE 116 RETURN WEAPONTYPE_DLC_COMPACTLAUNCHER BREAK
CASE 117 RETURN WEAPONTYPE_DLC_MINISMG BREAK
CASE 118 RETURN WEAPONTYPE_DLC_PIPEBOMB BREAK
CASE 119 RETURN WEAPONTYPE_DLC_POOLCUE BREAK
CASE 120 RETURN WEAPONTYPE_DLC_WRENCH BREAK
// DLC Gunrunning
CASE 121 RETURN WEAPONTYPE_DLC_ASSAULTRIFLE_MK2 BREAK
CASE 122 RETURN WEAPONTYPE_DLC_CARBINERIFLE_MK2 BREAK
CASE 123 RETURN WEAPONTYPE_DLC_COMBATMG_MK2 BREAK
CASE 124 RETURN WEAPONTYPE_DLC_HEAVYSNIPER_MK2 BREAK
CASE 125 RETURN WEAPONTYPE_DLC_PISTOL_MK2 BREAK
CASE 126 RETURN WEAPONTYPE_DLC_SMG_MK2 BREAK
CASE 127 RETURN WEAPONTYPE_DLC_DOUBLEACTION BREAK
// DLC Gunrunning
CASE 128 RETURN WEAPONTYPE_DLC_PUMPSHOTGUN_MK2 BREAK
CASE 129 RETURN WEAPONTYPE_DLC_SPECIALCARBINE_MK2 BREAK
CASE 130 RETURN WEAPONTYPE_DLC_SNSPISTOL_MK2 BREAK
CASE 131 RETURN WEAPONTYPE_DLC_MARKSMANRIFLE_MK2 BREAK
CASE 132 RETURN WEAPONTYPE_DLC_REVOLVER_MK2 BREAK
CASE 133 RETURN WEAPONTYPE_DLC_BULLPUPRIFLE_MK2 BREAK
// DLC Arena Wars
CASE 134 RETURN WEAPONTYPE_DLC_RAYPISTOL BREAK
CASE 135 RETURN WEAPONTYPE_DLC_RAYCARBINE BREAK
CASE 136 RETURN WEAPONTYPE_DLC_RAYMINIGUN BREAK
// DLC Vinewood Casino
CASE 137 RETURN WEAPONTYPE_DLC_NAVYREVOLVER BREAK
CASE 138 RETURN WEAPONTYPE_DLC_CERAMICPISTOL BREAK
#IF FEATURE_HEIST_ISLAND
CASE 139 RETURN WEAPONTYPE_DLC_MILITARYRIFLE BREAK
CASE 140 RETURN WEAPONTYPE_DLC_GADGETPISTOL BREAK
CASE 141 RETURN WEAPONTYPE_DLC_COMBATSHOTGUN BREAK
#ENDIF
#IF FEATURE_FIXER
CASE 142 RETURN WEAPONTYPE_DLC_EMPLAUNCHER BREAK
CASE 143 RETURN WEAPONTYPE_DLC_FERTILIZERCAN BREAK
CASE 144 RETURN WEAPONTYPE_DLC_STUNGUNG_MP BREAK
#ENDIF
#IF FEATURE_DLC_1_2022
CASE 145 RETURN WEAPONTYPE_DLC_METALDETECTOR BREAK
CASE 146 RETURN WEAPONTYPE_DLC_TACTICALRIFLE BREAK
CASE 147 RETURN WEAPONTYPE_DLC_PRECISIONRIFLE BREAK
#ENDIF
#IF FEATURE_COPS_N_CROOKS
//IMPORTANT KEEP CNC at the bottom of list until CNC is release (or remove these)
// DLC CnC
CASE 148 RETURN WEAPONTYPE_DLC_BATON BREAK
CASE 149 RETURN WEAPONTYPE_DLC_POLICERIFLE BREAK
#ENDIF
ENDSWITCH
RETURN WEAPONTYPE_INVALID
ENDFUNC
/// PURPOSE: Returns the weapon slot for the specified int
/// NOTE: iSlot must be within the range of 0 to NUM_PLAYER_PED_WEAPON_SLOTS-1
/// Also, this will change to return a WEAPON_SLOT enum once set up by code
FUNC INT GET_INT_FROM_PLAYER_PED_WEAPON_SLOT(WEAPON_SLOT slot)
INT iSlot = -1
SWITCH slot
CASE WEAPONSLOT_UNARMED iSlot = 0 BREAK
CASE WEAPONSLOT_KNIFE iSlot = 1 BREAK
CASE WEAPONSLOT_NIGHTSTICK iSlot = 2 BREAK
CASE WEAPONSLOT_HAMMER iSlot = 3 BREAK
CASE WEAPONSLOT_BAT iSlot = 4 BREAK
CASE WEAPONSLOT_CROWBAR iSlot = 5 BREAK
CASE WEAPONSLOT_GOLFCLUB iSlot = 6 BREAK
CASE WEAPONSLOT_STUNGUN iSlot = 7 BREAK
CASE WEAPONSLOT_PISTOL iSlot = 8 BREAK
CASE WEAPONSLOT_COMBATPISTOL iSlot = 9 BREAK
CASE WEAPONSLOT_APPISTOL iSlot = 10 BREAK
CASE WEAPONSLOT_MICROSMG iSlot = 11 BREAK
CASE WEAPONSLOT_SMG iSlot = 12 BREAK
CASE WEAPONSLOT_ASSAULTRIFLE iSlot = 13 BREAK
CASE WEAPONSLOT_CARBINERIFLE iSlot = 14 BREAK
CASE WEAPONSLOT_ADVANCEDRIFLE iSlot = 15 BREAK
CASE WEAPONSLOT_MG iSlot = 16 BREAK
CASE WEAPONSLOT_COMBATMG iSlot = 17 BREAK
CASE WEAPONSLOT_PUMPSHOTGUN iSlot = 18 BREAK
CASE WEAPONSLOT_SAWNOFFSHOTGUN iSlot = 19 BREAK
CASE WEAPONSLOT_ASSAULTSHOTGUN iSlot = 20 BREAK
CASE WEAPONSLOT_SNIPERRIFLE iSlot = 21 BREAK
CASE WEAPONSLOT_HEAVYSNIPER iSlot = 22 BREAK
CASE WEAPONSLOT_GRENADELAUNCHER iSlot = 23 BREAK
CASE WEAPONSLOT_RPG iSlot = 24 BREAK
CASE WEAPONSLOT_MINIGUN iSlot = 25 BREAK
CASE WEAPONSLOT_GRENADE iSlot = 26 BREAK
CASE WEAPONSLOT_STICKYBOMB iSlot = 27 BREAK
CASE WEAPONSLOT_SMOKEGRENADE iSlot = 28 BREAK
CASE WEAPONSLOT_MOLOTOV iSlot = 29 BREAK
CASE WEAPONSLOT_FIREEXTINGUISHER iSlot = 30 BREAK
CASE WEAPONSLOT_PETROLCAN iSlot = 31 BREAK
//CASE WEAPONSLOT_LOUDHAILER iSlot = 32 BREAK
CASE WEAPONSLOT_PARACHUTE iSlot = 33 BREAK
CASE WEAPONSLOT_DIGISCANNER iSlot = 34 BREAK
CASE WEAPONSLOT_OBJECT iSlot = 35 BREAK
// DLC weapons
CASE WEAPONSLOT_DLC_ASSAULTSMG iSlot = 36 BREAK
CASE WEAPONSLOT_DLC_BULLPUPSHOTGUN iSlot = 37 BREAK
CASE WEAPONSLOT_DLC_PISTOL50 iSlot = 38 BREAK
// Graeme - I think the slot index is used as an array index within g_savedGlobals.sPlayerData.sInfo.sWeapons[].sWeaponInfo[] which doesn't have space for the DLC weapons
// So I don't think I should add WEAPONSLOT_DLC_SPECIALCARBINE or WEAPONSLOT_DLC_BOTTLE here
ENDSWITCH
RETURN iSlot
ENDFUNC
/// PURPOSE: Returns the weapon group for the specified int
/// NOTE: iGroup must be within the range of 0 to NUM_PLAYER_PED_WEAPON_GROUPS-1
FUNC WEAPON_GROUP GET_PLAYER_PED_WEAPON_GROUP_FROM_INT(INT iGroup)
WEAPON_GROUP eGroup = WEAPONGROUP_INVALID
SWITCH iGroup
CASE 0 eGroup = WEAPONGROUP_MELEE BREAK
CASE 1 eGroup = WEAPONGROUP_PISTOL BREAK
CASE 2 eGroup = WEAPONGROUP_SMG BREAK
CASE 3 eGroup = WEAPONGROUP_RIFLE BREAK
CASE 4 eGroup = WEAPONGROUP_MG BREAK
CASE 5 eGroup = WEAPONGROUP_SHOTGUN BREAK
CASE 6 eGroup = WEAPONGROUP_SNIPER BREAK
CASE 7 eGroup = WEAPONGROUP_HEAVY BREAK
CASE 8 eGroup = WEAPONGROUP_THROWN BREAK
CASE 9 eGroup = WEAPONGROUP_RUBBERGUN BREAK
CASE 10 eGroup = WEAPONGROUP_STUNGUN BREAK
CASE 11 eGroup = WEAPONGROUP_FIREEXTINGUISHER BREAK
CASE 12 eGroup = WEAPONGROUP_PETROLCAN BREAK
//CASE 13 eGroup = WEAPONGROUP_LOUDHAILER BREAK
CASE 14 eGroup = WEAPONGROUP_DIGISCANNER BREAK
CASE 15 eGroup = WEAPONGROUP_NIGHTVISION BREAK
CASE 16 eGroup = WEAPONGROUP_PARACHUTE BREAK
ENDSWITCH
RETURN eGroup
ENDFUNC
/// PURPOSE: Returns the weapon group for the specified int
FUNC INT GET_INT_FROM_PLAYER_PED_WEAPON_GROUP(WEAPON_GROUP eGroup)
INT iReturnGroup = -1
SWITCH eGroup
CASE WEAPONGROUP_MELEE iReturnGroup = 0 BREAK
CASE WEAPONGROUP_PISTOL iReturnGroup = 1 BREAK
CASE WEAPONGROUP_SMG iReturnGroup = 2 BREAK
CASE WEAPONGROUP_RIFLE iReturnGroup = 3 BREAK
CASE WEAPONGROUP_MG iReturnGroup = 4 BREAK
CASE WEAPONGROUP_SHOTGUN iReturnGroup = 5 BREAK
CASE WEAPONGROUP_SNIPER iReturnGroup = 6 BREAK
CASE WEAPONGROUP_HEAVY iReturnGroup = 7 BREAK
CASE WEAPONGROUP_THROWN iReturnGroup = 8 BREAK
CASE WEAPONGROUP_RUBBERGUN iReturnGroup = 9 BREAK
CASE WEAPONGROUP_STUNGUN iReturnGroup = 10 BREAK
CASE WEAPONGROUP_FIREEXTINGUISHER iReturnGroup = 11 BREAK
CASE WEAPONGROUP_PETROLCAN iReturnGroup = 12 BREAK
//CASE WEAPONGROUP_LOUDHAILER iReturnGroup = 13 BREAK
CASE WEAPONGROUP_DIGISCANNER iReturnGroup = 14 BREAK
CASE WEAPONGROUP_NIGHTVISION iReturnGroup = 15 BREAK
CASE WEAPONGROUP_PARACHUTE iReturnGroup = 16 BREAK
ENDSWITCH
RETURN iReturnGroup
ENDFUNC
FUNC WEAPONCOMPONENT_TYPE GET_SECONDARY_WEAPON_COMPONENT(WEAPONCOMPONENT_TYPE eWeaponComponent)
SWITCH eWeaponComponent
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO RETURN WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_02 RETURN WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_02_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_03 RETURN WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_03_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_04 RETURN WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_04_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_05 RETURN WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_05_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_06 RETURN WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_06_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_07 RETURN WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_07_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_08 RETURN WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_08_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_09 RETURN WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_09_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_10 RETURN WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_10_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_IND_01 RETURN WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_IND_01_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO RETURN WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_02 RETURN WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_02_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_03 RETURN WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_03_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_04 RETURN WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_04_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_05 RETURN WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_05_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_06 RETURN WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_06_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_07 RETURN WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_07_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_08 RETURN WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_08_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_09 RETURN WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_09_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_10 RETURN WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_10_SLIDE BREAK
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_IND_01 RETURN WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_IND_01_SLIDE BREAK
ENDSWITCH
RETURN WEAPONCOMPONENT_INVALID
ENDFUNC
PROC SET_PED_WEAPON_SECONDARY_COMPONENT_TINT_INDEX(PED_INDEX pedID, WEAPON_TYPE eWeapon, WEAPONCOMPONENT_TYPE eWeaponComponent, INT iTintIndex)
WEAPONCOMPONENT_TYPE eSecondaryComponent = GET_SECONDARY_WEAPON_COMPONENT(eWeaponComponent)
IF eSecondaryComponent != WEAPONCOMPONENT_INVALID
SET_PED_WEAPON_COMPONENT_TINT_INDEX(pedID, eWeapon, eSecondaryComponent, iTintIndex)
ENDIF
ENDPROC
PROC SET_WEAPON_OBJECT_SECONDARY_COMPONENT_TINT_INDEX(OBJECT_INDEX &objWeapon, WEAPONCOMPONENT_TYPE eWeaponComponent, INT iTintIndex)
WEAPONCOMPONENT_TYPE eSecondaryComponent = GET_SECONDARY_WEAPON_COMPONENT(eWeaponComponent)
IF eSecondaryComponent != WEAPONCOMPONENT_INVALID
SET_WEAPON_OBJECT_COMPONENT_TINT_INDEX(objWeapon, eSecondaryComponent, iTintIndex)
ENDIF
ENDPROC
PROC GIVE_SECONDARY_WEAPON_COMPONENT_TO_PED(PED_INDEX PedIndex, WEAPON_TYPE TypeOfWeapon, WEAPONCOMPONENT_TYPE eWeaponComponent)
WEAPONCOMPONENT_TYPE eSecondaryComponent = GET_SECONDARY_WEAPON_COMPONENT(eWeaponComponent)
IF eSecondaryComponent != WEAPONCOMPONENT_INVALID
GIVE_WEAPON_COMPONENT_TO_PED(PedIndex, TypeOfWeapon, eSecondaryComponent)
ENDIF
ENDPROC
PROC GIVE_SECONDARY_WEAPON_COMPONENT_TO_WEAPON_OBJECT(OBJECT_INDEX WeaponObjectIndex, WEAPONCOMPONENT_TYPE eWeaponComponent)
WEAPONCOMPONENT_TYPE eSecondaryComponent = GET_SECONDARY_WEAPON_COMPONENT(eWeaponComponent)
IF eSecondaryComponent != WEAPONCOMPONENT_INVALID
GIVE_WEAPON_COMPONENT_TO_WEAPON_OBJECT(WeaponObjectIndex, eSecondaryComponent)
ENDIF
ENDPROC
PROC REMOVE_SECONDARY_WEAPON_COMPONENT_FROM_PED(PED_INDEX PedIndex, WEAPON_TYPE TypeOfWeapon, WEAPONCOMPONENT_TYPE eWeaponComponent)
WEAPONCOMPONENT_TYPE eSecondaryComponent = GET_SECONDARY_WEAPON_COMPONENT(eWeaponComponent)
IF eSecondaryComponent != WEAPONCOMPONENT_INVALID
IF HAS_PED_GOT_WEAPON_COMPONENT(PedIndex, TypeOfWeapon, eSecondaryComponent)
REMOVE_WEAPON_COMPONENT_FROM_PED(PedIndex, TypeOfWeapon, eSecondaryComponent)
ENDIF
ENDIF
ENDPROC
PROC REMOVE_SECONDARY_WEAPON_COMPONENT_FROM_WEAPON_OBJECT(OBJECT_INDEX WeaponObjectIndex, WEAPONCOMPONENT_TYPE eWeaponComponent)
WEAPONCOMPONENT_TYPE eSecondaryComponent = GET_SECONDARY_WEAPON_COMPONENT(eWeaponComponent)
IF eSecondaryComponent != WEAPONCOMPONENT_INVALID
IF HAS_WEAPON_GOT_WEAPON_COMPONENT(WeaponObjectIndex, eSecondaryComponent)
REMOVE_WEAPON_COMPONENT_FROM_WEAPON_OBJECT(WeaponObjectIndex, eSecondaryComponent)
ENDIF
ENDIF
ENDPROC
PROC REQUEST_SECONDARY_WEAPON_COMPONENT_MODEL(WEAPONCOMPONENT_TYPE eWeaponComponent)
WEAPONCOMPONENT_TYPE eSecondaryComponent = GET_SECONDARY_WEAPON_COMPONENT(eWeaponComponent)
IF eSecondaryComponent != WEAPONCOMPONENT_INVALID
MODEL_NAMES eCompModel = GET_WEAPON_COMPONENT_TYPE_MODEL(eSecondaryComponent)
IF eCompModel != DUMMY_MODEL_FOR_SCRIPT
REQUEST_MODEL(eCompModel)
ENDIF
ENDIF
ENDPROC
PROC SET_SECONDARY_WEAPON_COMPONENT_MODEL_AS_NO_LONGER_NEEDED(WEAPONCOMPONENT_TYPE eWeaponComponent)
WEAPONCOMPONENT_TYPE eSecondaryComponent = GET_SECONDARY_WEAPON_COMPONENT(eWeaponComponent)
IF eSecondaryComponent != WEAPONCOMPONENT_INVALID
MODEL_NAMES eCompModel = GET_WEAPON_COMPONENT_TYPE_MODEL(eSecondaryComponent)
IF eCompModel != DUMMY_MODEL_FOR_SCRIPT
SET_MODEL_AS_NO_LONGER_NEEDED(eCompModel)
ENDIF
ENDIF
ENDPROC
FUNC BOOL HAS_SECONDARY_WEAPON_COMPONENT_MODEL_LOADED(WEAPONCOMPONENT_TYPE eWeaponComponent)
WEAPONCOMPONENT_TYPE eSecondaryComponent = GET_SECONDARY_WEAPON_COMPONENT(eWeaponComponent)
IF eSecondaryComponent != WEAPONCOMPONENT_INVALID
MODEL_NAMES eCompModel = GET_WEAPON_COMPONENT_TYPE_MODEL(eSecondaryComponent)
IF eCompModel != DUMMY_MODEL_FOR_SCRIPT
RETURN HAS_MODEL_LOADED(eCompModel)
ENDIF
ENDIF
RETURN TRUE
ENDFUNC
FUNC BOOL IGNORE_DLC_WEAPON_COMPONENT(WEAPONCOMPONENT_TYPE eWeaponComponent)
SWITCH eWeaponComponent
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_SLIDE
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_02_SLIDE
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_03_SLIDE
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_04_SLIDE
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_05_SLIDE
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_06_SLIDE
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_07_SLIDE
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_08_SLIDE
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_09_SLIDE
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_10_SLIDE
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_IND_01_SLIDE
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_SLIDE
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_02_SLIDE
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_03_SLIDE
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_04_SLIDE
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_05_SLIDE
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_06_SLIDE
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_07_SLIDE
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_08_SLIDE
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_09_SLIDE
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_10_SLIDE
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_IND_01_SLIDE
RETURN TRUE
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
FUNC WEAPONCOMPONENT_TYPE GET_WEAPONCOMPONENT_TYPE_SUPPRESSOR_FROM_WEAPON_TYPE(WEAPON_TYPE eWeapon)
SWITCH eWeapon
CASE WEAPONTYPE_PISTOL RETURN WEAPONCOMPONENT_AT_PI_SUPP_02
CASE WEAPONTYPE_COMBATPISTOL RETURN WEAPONCOMPONENT_AT_PI_SUPP
CASE WEAPONTYPE_APPISTOL RETURN WEAPONCOMPONENT_AT_PI_SUPP
CASE WEAPONTYPE_MICROSMG RETURN WEAPONCOMPONENT_AT_AR_SUPP_02
CASE WEAPONTYPE_SMG RETURN WEAPONCOMPONENT_AT_PI_SUPP
CASE WEAPONTYPE_ASSAULTRIFLE RETURN WEAPONCOMPONENT_AT_AR_SUPP_02
CASE WEAPONTYPE_CARBINERIFLE RETURN WEAPONCOMPONENT_AT_AR_SUPP
CASE WEAPONTYPE_ADVANCEDRIFLE RETURN WEAPONCOMPONENT_AT_AR_SUPP
CASE WEAPONTYPE_PUMPSHOTGUN RETURN WEAPONCOMPONENT_AT_SR_SUPP
CASE WEAPONTYPE_SNIPERRIFLE RETURN WEAPONCOMPONENT_AT_AR_SUPP_02
CASE WEAPONTYPE_DLC_ASSAULTSMG RETURN WEAPONCOMPONENT_AT_AR_SUPP_02
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN RETURN WEAPONCOMPONENT_AT_AR_SUPP_02
CASE WEAPONTYPE_DLC_BULLPUPRIFLE RETURN WEAPONCOMPONENT_AT_AR_SUPP
CASE WEAPONTYPE_DLC_SPECIALCARBINE RETURN WEAPONCOMPONENT_AT_AR_SUPP_02
CASE WEAPONTYPE_DLC_MACHINEPISTOL RETURN WEAPONCOMPONENT_AT_PI_SUPP
CASE WEAPONTYPE_ASSAULTSHOTGUN RETURN WEAPONCOMPONENT_AT_AR_SUPP
CASE WEAPONTYPE_DLC_PISTOL50 RETURN WEAPONCOMPONENT_AT_AR_SUPP_02
CASE WEAPONTYPE_DLC_HEAVYPISTOL RETURN WEAPONCOMPONENT_AT_PI_SUPP
CASE WEAPONTYPE_DLC_VINTAGEPISTOL RETURN WEAPONCOMPONENT_AT_PI_SUPP
CASE WEAPONTYPE_DLC_HEAVYSHOTGUN RETURN WEAPONCOMPONENT_AT_AR_SUPP_02
CASE WEAPONTYPE_DLC_MARKSMANRIFLE RETURN WEAPONCOMPONENT_AT_AR_SUPP
CASE WEAPONTYPE_DLC_PISTOL_MK2 RETURN WEAPONCOMPONENT_AT_PI_SUPP_02
CASE WEAPONTYPE_DLC_SMG_MK2 RETURN WEAPONCOMPONENT_AT_PI_SUPP
CASE WEAPONTYPE_DLC_ASSAULTRIFLE_MK2 RETURN WEAPONCOMPONENT_AT_AR_SUPP_02
CASE WEAPONTYPE_DLC_CARBINERIFLE_MK2 RETURN WEAPONCOMPONENT_AT_AR_SUPP
CASE WEAPONTYPE_DLC_MILITARYRIFLE RETURN WEAPONCOMPONENT_AT_AR_SUPP
CASE WEAPONTYPE_DLC_SNSPISTOL_MK2 RETURN WEAPONCOMPONENT_AT_PI_SUPP_02
CASE WEAPONTYPE_DLC_COMBATSHOTGUN RETURN WEAPONCOMPONENT_AT_AR_SUPP
ENDSWITCH
RETURN WEAPONCOMPONENT_INVALID
ENDFUNC
/// PURPOSE: Returns the weapon component for the specified int
FUNC WEAPONCOMPONENT_TYPE GET_PLAYER_PED_WEAPON_COMP_FROM_INT(WEAPON_TYPE eWeapon, INT iComponent)
WEAPONCOMPONENT_TYPE comp = WEAPONCOMPONENT_INVALID
SWITCH eWeapon
CASE WEAPONTYPE_PISTOL
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE BREAK
CASE 1 comp = WEAPONCOMPONENT_PISTOL_CLIP_01 BREAK
CASE 2 comp = WEAPONCOMPONENT_PISTOL_CLIP_02 BREAK
CASE 3 comp = WEAPONCOMPONENT_AT_PI_FLSH BREAK
CASE 4 comp = WEAPONCOMPONENT_AT_PI_SUPP_02 BREAK
CASE 5 comp = WEAPONCOMPONENT_DLC_PISTOL_VARMOD_LUXE BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_COMBATPISTOL
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_COMBATPISTOL_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_COMBATPISTOL_CLIP_02 BREAK
CASE 2 comp = WEAPONCOMPONENT_AT_PI_FLSH BREAK
CASE 3 comp = WEAPONCOMPONENT_AT_PI_SUPP BREAK
CASE 4 comp = WEAPONCOMPONENT_DLC_COMBATPISTOL_VARMOD_LOWRIDER BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_APPISTOL
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_APPISTOL_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_APPISTOL_CLIP_02 BREAK
CASE 2 comp = WEAPONCOMPONENT_AT_PI_FLSH BREAK
CASE 3 comp = WEAPONCOMPONENT_AT_PI_SUPP BREAK
CASE 4 comp = WEAPONCOMPONENT_DLC_APPISTOL_VARMOD_LUXE BREAK
CASE 5 comp = WEAPONCOMPONENT_DLC_APPISTOL_VARMOD_SECURITY BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_MICROSMG
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_MICROSMG_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_MICROSMG_CLIP_02 BREAK
CASE 2 comp = WEAPONCOMPONENT_AT_PI_FLSH BREAK
CASE 3 comp = WEAPONCOMPONENT_AT_SCOPE_MACRO BREAK
CASE 4 comp = WEAPONCOMPONENT_AT_AR_SUPP_02 BREAK
CASE 5 comp = WEAPONCOMPONENT_DLC_MICROSMG_VARMOD_LUXE BREAK
CASE 6 comp = WEAPONCOMPONENT_DLC_MICROSMG_VARMOD_SECURITY BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_SMG
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE BREAK
CASE 1 comp = WEAPONCOMPONENT_SMG_CLIP_01 BREAK
CASE 2 comp = WEAPONCOMPONENT_SMG_CLIP_02 BREAK
CASE 3 comp = WEAPONCOMPONENT_DLC_SMG_CLIP_03 BREAK
CASE 4 comp = WEAPONCOMPONENT_AT_AR_FLSH BREAK
CASE 5 comp = WEAPONCOMPONENT_AT_PI_SUPP BREAK
//don't exist. Needed for the hud
CASE 6 comp = WEAPONCOMPONENT_AT_SCOPE_MACRO_02 BREAK
CASE 7 comp = WEAPONCOMPONENT_AT_AR_AFGRIP BREAK
CASE 8 comp = WEAPONCOMPONENT_DLC_SMG_VARMOD_LUXE BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_ASSAULTRIFLE
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE BREAK
CASE 1 comp = WEAPONCOMPONENT_ASSAULTRIFLE_CLIP_01 BREAK
CASE 2 comp = WEAPONCOMPONENT_ASSAULTRIFLE_CLIP_02 BREAK
CASE 3 comp = WEAPONCOMPONENT_DLC_ASSAULTRIFLE_CLIP_03 BREAK
CASE 4 comp = WEAPONCOMPONENT_AT_AR_AFGRIP BREAK
CASE 5 comp = WEAPONCOMPONENT_AT_AR_FLSH BREAK
CASE 6 comp = WEAPONCOMPONENT_AT_SCOPE_MACRO BREAK
CASE 7 comp = WEAPONCOMPONENT_AT_AR_SUPP_02 BREAK
CASE 8 comp = WEAPONCOMPONENT_DLC_ASSAULTRIFLE_VARMOD_LUXE BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_CARBINERIFLE
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE BREAK
CASE 1 comp = WEAPONCOMPONENT_CARBINERIFLE_CLIP_01 BREAK
CASE 2 comp = WEAPONCOMPONENT_CARBINERIFLE_CLIP_02 BREAK
CASE 3 comp = WEAPONCOMPONENT_DLC_CARBINERIFLE_CLIP_03 BREAK
CASE 4 comp = WEAPONCOMPONENT_AT_RAILCOVER_01 BREAK
CASE 5 comp = WEAPONCOMPONENT_AT_AR_AFGRIP BREAK
CASE 6 comp = WEAPONCOMPONENT_AT_AR_FLSH BREAK
CASE 7 comp = WEAPONCOMPONENT_AT_SCOPE_MEDIUM BREAK
CASE 8 comp = WEAPONCOMPONENT_AT_AR_SUPP BREAK
CASE 9 comp = WEAPONCOMPONENT_DLC_CARBINERIFLE_VARMOD_LUXE BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_ADVANCEDRIFLE
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_ADVANCEDRIFLE_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_ADVANCEDRIFLE_CLIP_02 BREAK
CASE 2 comp = WEAPONCOMPONENT_AT_AR_FLSH BREAK
CASE 3 comp = WEAPONCOMPONENT_AT_SCOPE_SMALL BREAK
CASE 4 comp = WEAPONCOMPONENT_AT_AR_SUPP BREAK
CASE 5 comp = WEAPONCOMPONENT_DLC_ADVANCEDRIFLE_VARMOD_LUXE BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_MG
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_MG_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_MG_CLIP_02 BREAK
CASE 2 comp = WEAPONCOMPONENT_AT_SCOPE_SMALL_02 BREAK
//don't exist. Needed for the hud
CASE 3 comp = WEAPONCOMPONENT_AT_AR_AFGRIP BREAK
CASE 4 comp = WEAPONCOMPONENT_DLC_MG_VARMOD_LOWRIDER BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_COMBATMG
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE BREAK
CASE 1 comp = WEAPONCOMPONENT_COMBATMG_CLIP_01 BREAK
CASE 2 comp = WEAPONCOMPONENT_COMBATMG_CLIP_02 BREAK
CASE 3 comp = WEAPONCOMPONENT_AT_AR_AFGRIP BREAK
CASE 4 comp = WEAPONCOMPONENT_AT_SCOPE_MEDIUM BREAK
CASE 5 comp = WEAPONCOMPONENT_DLC_COMBATMG_VARMOD_LOWRIDER BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_PUMPSHOTGUN
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_AT_SR_SUPP BREAK
CASE 1 comp = WEAPONCOMPONENT_AT_AR_FLSH BREAK
CASE 2 comp = WEAPONCOMPONENT_DLC_PUMPSHOTGUN_VARMOD_LOWRIDER BREAK
CASE 3 comp = WEAPONCOMPONENT_DLC_PUMPSHOTGUN_VARMOD_SECURITY BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_ASSAULTSHOTGUN
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_ASSAULTSHOTGUN_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_ASSAULTSHOTGUN_CLIP_02 BREAK
CASE 2 comp = WEAPONCOMPONENT_AT_AR_AFGRIP BREAK
CASE 3 comp = WEAPONCOMPONENT_AT_AR_FLSH BREAK
CASE 4 comp = WEAPONCOMPONENT_AT_AR_SUPP BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_SNIPERRIFLE
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_SNIPERRIFLE_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_AT_SCOPE_LARGE BREAK
CASE 2 comp = WEAPONCOMPONENT_AT_SCOPE_MAX BREAK
CASE 3 comp = WEAPONCOMPONENT_AT_AR_SUPP_02 BREAK
CASE 4 comp = WEAPONCOMPONENT_DLC_SNIPERRIFLE_VARMOD_LUXE BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_HEAVYSNIPER
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE BREAK
CASE 1 comp = WEAPONCOMPONENT_HEAVYSNIPER_CLIP_01 BREAK
CASE 2 comp = WEAPONCOMPONENT_AT_SCOPE_LARGE BREAK
CASE 3 comp = WEAPONCOMPONENT_AT_SCOPE_MAX BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_GRENADELAUNCHER
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_AT_AR_AFGRIP BREAK
CASE 1 comp = WEAPONCOMPONENT_AT_AR_FLSH BREAK
CASE 2 comp = WEAPONCOMPONENT_AT_SCOPE_SMALL BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_MINIGUN
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_MINIGUN_CLIP_01 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_ASSAULTSMG
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_ASSAULTSMG_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_DLC_ASSAULTSMG_CLIP_02 BREAK
CASE 2 comp = WEAPONCOMPONENT_AT_AR_FLSH BREAK
CASE 3 comp = WEAPONCOMPONENT_AT_SCOPE_MACRO BREAK
CASE 4 comp = WEAPONCOMPONENT_AT_AR_SUPP_02 BREAK
CASE 5 comp = WEAPONCOMPONENT_DLC_ASSAULTSMG_VARMOD_LOWRIDER BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_AT_AR_AFGRIP BREAK
CASE 1 comp = WEAPONCOMPONENT_AT_AR_FLSH BREAK
CASE 2 comp = WEAPONCOMPONENT_AT_AR_SUPP_02 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_PISTOL50
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_PISTOL50_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_DLC_PISTOL50_CLIP_02 BREAK
CASE 2 comp = WEAPONCOMPONENT_AT_PI_FLSH BREAK
CASE 3 comp = WEAPONCOMPONENT_AT_AR_SUPP_02 BREAK
CASE 4 comp = WEAPONCOMPONENT_DLC_PISTOL50_VARMOD_LUXE BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_COMBATPDW
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_COMBATPDW_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_DLC_COMBATPDW_CLIP_02 BREAK
CASE 2 comp = WEAPONCOMPONENT_DLC_COMBATPDW_CLIP_03 BREAK
CASE 3 comp = WEAPONCOMPONENT_AT_AR_FLSH BREAK
CASE 4 comp = WEAPONCOMPONENT_AT_SCOPE_SMALL BREAK
CASE 5 comp = WEAPONCOMPONENT_AT_AR_AFGRIP BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_SAWNOFFSHOTGUN
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_SAWNOFFSHOTGUN_VARMOD_LUXE BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_BULLPUPRIFLE_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_DLC_BULLPUPRIFLE_CLIP_02 BREAK
CASE 2 comp = WEAPONCOMPONENT_AT_AR_FLSH BREAK
CASE 3 comp = WEAPONCOMPONENT_AT_SCOPE_SMALL BREAK
CASE 4 comp = WEAPONCOMPONENT_AT_AR_SUPP BREAK
CASE 5 comp = WEAPONCOMPONENT_AT_AR_AFGRIP BREAK
CASE 6 comp = WEAPONCOMPONENT_DLC_BULLPUPRIFLE_VARMOD_LOWRIDER BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_SNSPISTOL_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_DLC_SNSPISTOL_CLIP_02 BREAK
CASE 2 comp = WEAPONCOMPONENT_DLC_SNSPISTOL_VARMOD_LOWRIDER BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_SPECIALCARBINE_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_DLC_SPECIALCARBINE_CLIP_02 BREAK
CASE 2 comp = WEAPONCOMPONENT_DLC_SPECIALCARBINE_CLIP_03 BREAK
CASE 3 comp = WEAPONCOMPONENT_AT_AR_FLSH BREAK
CASE 4 comp = WEAPONCOMPONENT_AT_SCOPE_MEDIUM BREAK
CASE 5 comp = WEAPONCOMPONENT_AT_AR_SUPP_02 BREAK
CASE 6 comp = WEAPONCOMPONENT_AT_AR_AFGRIP BREAK
CASE 7 comp = WEAPONCOMPONENT_DLC_SPECIALCARBINE_VARMOD_LOWRIDER BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_KNUCKLE
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_PIMP BREAK
CASE 1 comp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_BALLAS BREAK
CASE 2 comp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_DOLLAR BREAK
CASE 3 comp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_DIAMOND BREAK
CASE 4 comp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_HATE BREAK
CASE 5 comp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_LOVE BREAK
CASE 6 comp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_PLAYER BREAK
CASE 7 comp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_KING BREAK
CASE 8 comp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_VAGOS BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_MACHINEPISTOL
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_MACHINEPISTOL_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_DLC_MACHINEPISTOL_CLIP_02 BREAK
CASE 2 comp = WEAPONCOMPONENT_DLC_MACHINEPISTOL_CLIP_03 BREAK
CASE 3 comp = WEAPONCOMPONENT_AT_PI_SUPP BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_SWITCHBLADE
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_SWITCHBLADE_VARMOD_VAR1 BREAK
CASE 1 comp = WEAPONCOMPONENT_DLC_SWITCHBLADE_VARMOD_VAR2 BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_REVOLVER
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_REVOLVER_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_DLC_REVOLVER_VARMOD_BOSS BREAK
CASE 2 comp = WEAPONCOMPONENT_DLC_REVOLVER_VARMOD_GOON BREAK
ENDSWITCH
BREAK
CASE WEAPONTYPE_DLC_MINISMG
SWITCH iComponent
CASE 0 comp = WEAPONCOMPONENT_DLC_MINISMG_CLIP_01 BREAK
CASE 1 comp = WEAPONCOMPONENT_DLC_MINISMG_CLIP_02 BREAK
ENDSWITCH
BREAK
// DLC Lookup
DEFAULT
IF eWeapon != WEAPONTYPE_INVALID
INT iDLCIndex
INT iComp
INT iAvailableComp
scrShopWeaponData weaponData
scrShopWeaponComponentData compData
iDLCIndex = GET_DLC_WEAPON_DATA_FOR_WEAPON_TYPE(eWeapon, weaponData)
IF iDLCIndex != -1
REPEAT GET_NUM_DLC_WEAPON_COMPONENTS(iDLCIndex) iComp
IF GET_DLC_WEAPON_COMPONENT_DATA(iDLCIndex, iComp, compData)
IF NOT IGNORE_DLC_WEAPON_COMPONENT(INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
IF iAvailableComp = iComponent
RETURN INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName)
ENDIF
iAvailableComp++
ENDIF
ENDIF
ENDREPEAT
ENDIF
ENDIF
BREAK
ENDSWITCH
RETURN comp
ENDFUNC
FUNC BOOL IS_WEAPON_COMP_ENGRAVED(WEAPONCOMPONENT_TYPE eComp)
IF eComp = WEAPONCOMPONENT_DLC_PISTOL_VARMOD_LUXE
OR eComp = WEAPONCOMPONENT_DLC_COMBATPISTOL_VARMOD_LOWRIDER
OR eComp = WEAPONCOMPONENT_DLC_APPISTOL_VARMOD_LUXE
OR eComp = WEAPONCOMPONENT_DLC_MICROSMG_VARMOD_LUXE
OR eComp = WEAPONCOMPONENT_DLC_SMG_VARMOD_LUXE
OR eComp = WEAPONCOMPONENT_DLC_ASSAULTRIFLE_VARMOD_LUXE
OR eComp = WEAPONCOMPONENT_DLC_CARBINERIFLE_VARMOD_LUXE
OR eComp = WEAPONCOMPONENT_DLC_ADVANCEDRIFLE_VARMOD_LUXE
OR eComp = WEAPONCOMPONENT_DLC_MG_VARMOD_LOWRIDER
OR eComp = WEAPONCOMPONENT_DLC_COMBATMG_VARMOD_LOWRIDER
OR eComp = WEAPONCOMPONENT_DLC_PUMPSHOTGUN_VARMOD_LOWRIDER
OR eComp = WEAPONCOMPONENT_DLC_SNIPERRIFLE_VARMOD_LUXE
OR eComp = WEAPONCOMPONENT_DLC_ASSAULTSMG_VARMOD_LOWRIDER
OR eComp = WEAPONCOMPONENT_DLC_PISTOL50_VARMOD_LUXE
OR eComp = WEAPONCOMPONENT_DLC_SAWNOFFSHOTGUN_VARMOD_LUXE
OR eComp = WEAPONCOMPONENT_DLC_BULLPUPRIFLE_VARMOD_LOWRIDER
OR eComp = WEAPONCOMPONENT_DLC_SNSPISTOL_VARMOD_LOWRIDER
OR eComp = WEAPONCOMPONENT_DLC_SPECIALCARBINE_VARMOD_LOWRIDER
OR eComp = WEAPONCOMPONENT_DLC_SAWNOFFSHOTGUN_VARMOD_LUXE
OR eComp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_PIMP
OR eComp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_BALLAS
OR eComp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_DOLLAR
OR eComp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_DIAMOND
OR eComp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_HATE
OR eComp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_LOVE
OR eComp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_PLAYER
OR eComp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_KING
OR eComp = WEAPONCOMPONENT_DLC_KNUCKLE_VARMOD_VAGOS
OR eComp = WEAPONCOMPONENT_DLC_SWITCHBLADE_VARMOD_VAR1
OR eComp = WEAPONCOMPONENT_DLC_SWITCHBLADE_VARMOD_VAR2
OR eComp = WEAPONCOMPONENT_DLC_REVOLVER_VARMOD_BOSS
OR eComp = WEAPONCOMPONENT_DLC_REVOLVER_VARMOD_GOON
OR eComp = WEAPONCOMPONENT_DLC_GUNRUN_MK2_UPGRADE
OR eComp = WEAPONCOMPONENT_DLC_APPISTOL_VARMOD_SECURITY
OR eComp = WEAPONCOMPONENT_DLC_PUMPSHOTGUN_VARMOD_SECURITY
OR eComp = WEAPONCOMPONENT_DLC_MICROSMG_VARMOD_SECURITY
RETURN TRUE
ENDIF
RETURN FALSE
ENDFUNC
FUNC BOOL IS_WEAPON_COMP_A_CAMO_MOD(WEAPONCOMPONENT_TYPE eCamoMod)
SWITCH eCamoMod
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_02
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_03
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_04
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_05
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_06
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_07
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_08
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_09
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_10
CASE WEAPONCOMPONENT_DLC_ASSAULTRIFLE_MK2_CAMO_IND_01
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_02
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_03
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_04
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_05
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_06
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_07
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_08
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_09
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_10
CASE WEAPONCOMPONENT_DLC_CARBINERIFLE_MK2_CAMO_IND_01
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_02
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_03
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_04
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_05
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_06
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_07
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_08
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_09
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_10
CASE WEAPONCOMPONENT_DLC_COMBATMG_MK2_CAMO_IND_01
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_02
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_03
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_04
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_05
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_06
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_07
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_08
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_09
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_10
CASE WEAPONCOMPONENT_DLC_HEAVYSNIPER_MK2_CAMO_IND_01
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_02
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_03
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_04
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_05
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_06
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_07
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_08
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_09
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_10
CASE WEAPONCOMPONENT_DLC_PISTOL_MK2_CAMO_IND_01
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_02
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_03
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_04
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_05
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_06
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_07
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_08
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_09
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_10
CASE WEAPONCOMPONENT_DLC_SMG_MK2_CAMO_IND_01
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_02
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_03
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_04
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_05
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_06
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_07
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_08
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_09
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_10
CASE WEAPONCOMPONENT_DLC_PUMPSHOTGUN_MK2_CAMO_IND_01
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_02
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_03
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_04
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_05
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_06
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_07
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_08
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_09
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_10
CASE WEAPONCOMPONENT_DLC_REVOLVER_MK2_CAMO_IND_01
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_02
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_03
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_04
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_05
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_06
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_07
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_08
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_09
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_10
CASE WEAPONCOMPONENT_DLC_SNSPISTOL_MK2_CAMO_IND_01
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_02
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_03
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_04
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_05
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_06
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_07
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_08
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_09
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_10
CASE WEAPONCOMPONENT_DLC_MARKSMANRIFLE_MK2_CAMO_IND_01
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_02
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_03
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_04
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_05
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_06
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_07
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_08
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_09
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_10
CASE WEAPONCOMPONENT_DLC_SPECIALCARBINE_MK2_CAMO_IND_01
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_02
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_03
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_04
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_05
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_06
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_07
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_08
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_09
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_10
CASE WEAPONCOMPONENT_DLC_BULLPUPRIFLE_MK2_CAMO_IND_01
CASE WEAPONCOMPONENT_DLC_HEAVYRIFLE_CAMO
RETURN TRUE
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
/// PURPOSE: Returns an object which is a copy of the players specified weapon (including components) to register with a cutscene, uses default components if the ped does not have the weapon
FUNC OBJECT_INDEX CREATE_WEAPON_OBJECT_FROM_PED_WEAPON_WITH_COMPONENTS(PED_INDEX pedIndex, WEAPON_TYPE weaponType, BOOL bAddAmmo = TRUE, BOOL bSpecifyCoord = FALSE, FLOAT fSpecifyX = 0.0, FLOAT fSpecifyY = 0.0, FLOAT fSpecifyZ = 0.0, BOOL RegisterAsNetworkObject = FALSE, BOOL ScriptHostObject = FALSE)
BOOL bDefaultWeapon = FALSE
OBJECT_INDEX objWeaponCreate
WEAPON_TYPE pedWeaponType
pedWeaponType = weaponType
IF NOT HAS_PED_GOT_WEAPON(pedIndex, weaponType)
bDefaultWeapon = TRUE
ENDIF
IF pedWeaponType = WEAPONTYPE_UNARMED
SCRIPT_ASSERT("CREATE_WEAPON_OBJECT_FROM_CURRENT_PED_WEAPON_WITH_COMPONENTS - Cannot create weapon from WEAPONTYPE_UNARMED")
RETURN NULL
ENDIF
INT iAmmo = 0
IF ( bAddAmmo = TRUE )
IF NOT IS_ENTITY_DEAD(pedIndex)
iAmmo = GET_AMMO_IN_PED_WEAPON(pedIndex, pedWeaponType)
ENDIF
IF iAmmo = -1
INT iClipSize = GET_WEAPON_CLIP_SIZE(pedWeaponType)
IF iClipSize > 0
iAmmo = iClipSize
ELSE
GET_MAX_AMMO(pedIndex, pedWeaponType, iAmmo)
ENDIF
ENDIF
ENDIF
VECTOR vCreatePos = GET_ENTITY_COORDS(pedIndex, FALSE) - <<0.0, 0.0, 10.0>>
IF bSpecifyCoord
vCreatePos = <<fSpecifyX, fSpecifyY, fSpecifyZ>>
ENDIF
INT iVarIndex
MODEL_NAMES eVariantModel
WHILE GET_PLAYER_PED_WEAPON_COMP_FROM_INT(pedWeaponType, iVarIndex) != WEAPONCOMPONENT_INVALID
IF NOT IS_ENTITY_DEAD(pedIndex)
IF HAS_PED_GOT_WEAPON_COMPONENT(pedIndex, pedWeaponType, GET_PLAYER_PED_WEAPON_COMP_FROM_INT(pedWeaponType, iVarIndex))
IF IS_WEAPON_COMP_ENGRAVED(GET_PLAYER_PED_WEAPON_COMP_FROM_INT(pedWeaponType, iVarIndex))
eVariantModel = GET_WEAPON_COMPONENT_TYPE_MODEL(GET_PLAYER_PED_WEAPON_COMP_FROM_INT(pedWeaponType, iVarIndex))
ENDIF
ENDIF
ENDIF
iVarIndex++
ENDWHILE
objWeaponCreate = CREATE_WEAPON_OBJECT(pedWeaponType, iAmmo, vCreatePos, bDefaultWeapon, DEFAULT, eVariantModel, RegisterAsNetworkObject, ScriptHostObject)
INT iCompIndex
WHILE GET_PLAYER_PED_WEAPON_COMP_FROM_INT(pedWeaponType, iCompIndex) != WEAPONCOMPONENT_INVALID
IF NOT IS_ENTITY_DEAD(pedIndex)
IF HAS_PED_GOT_WEAPON_COMPONENT(pedIndex, pedWeaponType, GET_PLAYER_PED_WEAPON_COMP_FROM_INT(pedWeaponType, iCompIndex))
GIVE_WEAPON_COMPONENT_TO_WEAPON_OBJECT(objWeaponCreate, GET_PLAYER_PED_WEAPON_COMP_FROM_INT(pedWeaponType, iCompIndex))
GIVE_SECONDARY_WEAPON_COMPONENT_TO_WEAPON_OBJECT(objWeaponCreate, GET_PLAYER_PED_WEAPON_COMP_FROM_INT(pedWeaponType, iCompIndex))
PRINTLN("[ROSSW] CREATE_WEAPON_OBJECT_FROM_PED_WEAPON_WITH_COMPONENTS - Giving ped weapon component: ", pedWeaponType)
ENDIF
ENDIF
iCompIndex++
ENDWHILE
// Prevent an assert on the GET_PED_WEAPON_INDEX()
IF NOT IS_ENTITY_DEAD(pedIndex)
IF HAS_PED_GOT_WEAPON(pedIndex, pedWeaponType)
SET_WEAPON_OBJECT_TINT_INDEX(objWeaponCreate, GET_PED_WEAPON_TINT_INDEX(pedIndex, pedWeaponType))
PRINTLN("[ROSSW] CREATE_WEAPON_OBJECT_FROM_PED_WEAPON_WITH_COMPONENTS - applying weapon tint: ", GET_PED_WEAPON_TINT_INDEX(pedIndex, pedWeaponType) )
ENDIF
ENDIF
RETURN objWeaponCreate
ENDFUNC
/// PURPOSE: Returns an object which is a copy of the players currently equipped weapon (including components) to register with a cutscene
FUNC OBJECT_INDEX CREATE_WEAPON_OBJECT_FROM_CURRENT_PED_WEAPON_WITH_COMPONENTS(PED_INDEX pedIndex, BOOL bAddAmmo = TRUE, BOOL bSpecifyCoord = FALSE, FLOAT fSpecifyX = 0.0, FLOAT fSpecifyY = 0.0, FLOAT fSpecifyZ = 0.0)
WEAPON_TYPE pedWeaponType
GET_CURRENT_PED_WEAPON(pedIndex, pedWeaponType)
RETURN CREATE_WEAPON_OBJECT_FROM_PED_WEAPON_WITH_COMPONENTS( pedIndex, pedWeaponType, bAddAmmo, bSpecifyCoord, fSpecifyX, fSpecifyY, fSpecifyZ )
ENDFUNC
FUNC OBJECT_INDEX CREATE_WEAPON_OBJECT_FROM_WEAPON_INFO( WEAPON_INFO &sWeaponInfo, VECTOR vCoord )
IF sWeaponInfo.eWeaponType = WEAPONTYPE_UNARMED
SCRIPT_ASSERT("CREATE_WEAPON_OBJECT_FROM_CURRENT_PED_WEAPON_WITH_COMPONENTS - Cannot create weapon from WEAPONTYPE_UNARMED")
RETURN NULL
ENDIF
// Create the weapon object
OBJECT_INDEX objWeapon = CREATE_WEAPON_OBJECT( sWeaponInfo.eWeaponType, sWeaponInfo.iAmmoCount, vCoord, FALSE )
// Add any weapon tints
SET_WEAPON_OBJECT_TINT_INDEX( objWeapon, sWeaponInfo.iTint )
SET_WEAPON_OBJECT_CAMO_INDEX( objWeapon, sWeaponInfo.iCamo )
// Add any components from the weapon info data
INT i
WEAPONCOMPONENT_TYPE eWeaponComp = GET_PLAYER_PED_WEAPON_COMP_FROM_INT( sWeaponInfo.eWeaponType, i )
WHILE eWeaponComp != WEAPONCOMPONENT_INVALID
IF IS_BIT_SET( sWeaponInfo.iModsAsBitfield, i )
GIVE_WEAPON_COMPONENT_TO_WEAPON_OBJECT( objWeapon, eWeaponComp )
GIVE_SECONDARY_WEAPON_COMPONENT_TO_WEAPON_OBJECT( objWeapon, eWeaponComp )
ENDIF
i++
eWeaponComp = GET_PLAYER_PED_WEAPON_COMP_FROM_INT( sWeaponInfo.eWeaponType, i )
ENDWHILE
RETURN objWeapon
ENDFUNC
FUNC BOOL HAS_PED_GOT_WEAPON_IN_GROUP(PED_INDEX pedID, WEAPON_GROUP eWeaponGroup)
IF NOT IS_PED_INJURED(pedID)
INT iWeaponSlot
WEAPON_TYPE eWeaponType
WEAPON_SLOT eWeaponSlot
FOR iWeaponSlot = 0 TO ENUM_TO_INT(NUM_WEAPONSLOTS)-1
eWeaponSlot = GET_PLAYER_PED_WEAPON_SLOT_FROM_INT(iWeaponSlot)
IF eWeaponSlot != WEAPONSLOT_INVALID
eWeaponType = GET_PED_WEAPONTYPE_IN_SLOT(pedID, eWeaponSlot)
IF eWeaponType != WEAPONTYPE_INVALID
AND eWeaponType != WEAPONTYPE_UNARMED
IF GET_WEAPONTYPE_GROUP(eWeaponType) = eWeaponGroup
RETURN TRUE
ENDIF
ENDIF
ENDIF
ENDFOR
INT iDLCIndex
INT iDLCWeapons = GET_NUM_DLC_WEAPONS()
scrShopWeaponData weaponData
REPEAT iDLCWeapons iDLCIndex
IF GET_DLC_WEAPON_DATA(iDLCIndex, weaponData)
eWeaponType = INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash)
IF eWeaponType != WEAPONTYPE_INVALID
AND eWeaponType != WEAPONTYPE_UNARMED
IF GET_WEAPONTYPE_GROUP(eWeaponType) = eWeaponGroup
RETURN TRUE
ENDIF
ENDIF
ENDIF
ENDREPEAT
ENDIF
RETURN FALSE
ENDFUNC
FUNC BOOL GET_FIRST_PED_WEAPON_IN_WEAPON_GROUP(PED_INDEX pedID, WEAPON_GROUP eWeaponGroup, WEAPON_TYPE &eWeapon)
IF NOT IS_PED_INJURED(pedID)
INT iWeaponSlot
WEAPON_TYPE eWeaponType
WEAPON_SLOT eWeaponSlot
FOR iWeaponSlot = 0 TO ENUM_TO_INT(NUM_WEAPONSLOTS)-1
eWeaponSlot = GET_PLAYER_PED_WEAPON_SLOT_FROM_INT(iWeaponSlot)
IF eWeaponSlot != WEAPONSLOT_INVALID
eWeaponType = GET_PED_WEAPONTYPE_IN_SLOT(pedID, GET_PLAYER_PED_WEAPON_SLOT_FROM_INT(iWeaponSlot))
IF eWeaponType != WEAPONTYPE_INVALID
AND eWeaponType != WEAPONTYPE_UNARMED
IF GET_WEAPONTYPE_GROUP(eWeaponType) = eWeaponGroup
eWeapon = eWeaponType
RETURN TRUE
ENDIF
ENDIF
ENDIF
ENDFOR
INT iDLCIndex
INT iDLCWeapons = GET_NUM_DLC_WEAPONS()
scrShopWeaponData weaponData
REPEAT iDLCWeapons iDLCIndex
IF GET_DLC_WEAPON_DATA(iDLCIndex, weaponData)
eWeaponType = INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash)
IF eWeaponType != WEAPONTYPE_INVALID
AND eWeaponType != WEAPONTYPE_UNARMED
IF GET_WEAPONTYPE_GROUP(eWeaponType) = eWeaponGroup
eWeapon = eWeaponType
RETURN TRUE
ENDIF
ENDIF
ENDIF
ENDREPEAT
ENDIF
RETURN FALSE
ENDFUNC
PROC UPDATE_PED_AMMO_SO_IT_IS_NOT_INFINITE(PED_INDEX pedID)
INT iWeaponSlot, iMaxAmmo
WEAPON_SLOT eWeaponSlot
WEAPON_TYPE eWeaponInSlot
REPEAT ENUM_TO_INT(NUM_WEAPONSLOTS) iWeaponSlot
eWeaponSlot = GET_PLAYER_PED_WEAPON_SLOT_FROM_INT(iWeaponSlot)
IF eWeaponSlot != WEAPONSLOT_INVALID
eWeaponInSlot = GET_PED_WEAPONTYPE_IN_SLOT(pedID, eWeaponSlot)
IF eWeaponInSlot != WEAPONTYPE_INVALID
AND eWeaponInSlot != WEAPONTYPE_UNARMED
AND eWeaponInSlot != WEAPONTYPE_OBJECT
IF GET_AMMO_IN_PED_WEAPON(pedID, eWeaponInSlot) = -1
IF GET_MAX_AMMO(pedID, eWeaponInSlot, iMaxAmmo)
SET_PED_INFINITE_AMMO(pedID, FALSE, eWeaponInSlot)
// SET_PED_AMMO(pedID, eWeaponInSlot, iMaxAmmo)
// SET_AMMO_IN_CLIP(pedID, eWeaponInSlot, GET_MAX_AMMO_IN_CLIP(pedID, eWeaponInSlot))
#IF IS_DEBUG_BUILD
PRINTLN("UPDATE_PED_AMMO_SO_IT_IS_NOT_INFINITE - removing infinite ammo for weapon ", GET_WEAPON_NAME(eWeaponInSlot))
#ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDREPEAT
INT iDLCIndex
INT iDLCWeapons = GET_NUM_DLC_WEAPONS()
scrShopWeaponData weaponData
REPEAT iDLCWeapons iDLCIndex
IF GET_DLC_WEAPON_DATA(iDLCIndex, weaponData)
eWeaponInSlot = INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash)
IF GET_AMMO_IN_PED_WEAPON(pedID, eWeaponInSlot) = -1
IF GET_MAX_AMMO(pedID, eWeaponInSlot, iMaxAmmo)
SET_PED_INFINITE_AMMO(pedID, FALSE, eWeaponInSlot)
// SET_PED_AMMO(pedID, eWeaponInSlot, iMaxAmmo)
// SET_AMMO_IN_CLIP(pedID, eWeaponInSlot, GET_MAX_AMMO_IN_CLIP(pedID, eWeaponInSlot))
#IF IS_DEBUG_BUILD
PRINTLN("UPDATE_PED_AMMO_SO_IT_IS_NOT_INFINITE - removing infinite ammo for weapon ", GET_WEAPON_NAME(eWeaponInSlot))
#ENDIF
ENDIF
ENDIF
ENDIF
ENDREPEAT
ENDPROC
FUNC BOOL IS_DLC_WEAPON_LOCKED_BY_SCRIPT(WEAPON_TYPE eWeapon)
IF NETWORK_IS_GAME_IN_PROGRESS()
// MP blocks
ELSE
// SP blocks
SWITCH eWeapon
// These get added to the normal SP weapon save data
CASE WEAPONTYPE_DLC_PISTOL50
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN
CASE WEAPONTYPE_DLC_ASSAULTSMG
RETURN FALSE // UNLOCKED
BREAK
//CONST_INT NUMBER_OF_DLC_WEAPONS 17
// Beach Bum x 2
CASE WEAPONTYPE_DLC_BOTTLE
CASE WEAPONTYPE_DLC_SNSPISTOL
// Valentines x 1
CASE WEAPONTYPE_DLC_GUSENBERG
RETURN FALSE // UNLOCKED
BREAK
// Business x 2
CASE WEAPONTYPE_DLC_HEAVYPISTOL
CASE WEAPONTYPE_DLC_SPECIALCARBINE
RETURN FALSE // UNLOCKED
BREAK
// // Business2 x 1
CASE WEAPONTYPE_DLC_BULLPUPRIFLE
RETURN FALSE // UNLOCKED
BREAK
// Hipster x 2
CASE WEAPONTYPE_DLC_DAGGER
CASE WEAPONTYPE_DLC_VINTAGEPISTOL
RETURN FALSE // UNLOCKED
BREAK
// Independence x 2
CASE WEAPONTYPE_DLC_FIREWORK
CASE WEAPONTYPE_DLC_MUSKET
RETURN FALSE // UNLOCKED
BREAK
// LTS x 2
CASE WEAPONTYPE_DLC_HEAVYSHOTGUN
CASE WEAPONTYPE_DLC_MARKSMANRIFLE
RETURN FALSE // UNLOCKED
BREAK
// Christmas2 x 2
CASE WEAPONTYPE_DLC_HOMINGLAUNCHER
CASE WEAPONTYPE_DLC_PROXMINE
RETURN FALSE // UNLOCKED
BREAK
// Luxe x 1
CASE WEAPONTYPE_DLC_COMBATPDW
CASE WEAPONTYPE_DLC_KNUCKLE
CASE WEAPONTYPE_DLC_MARKSMANPISTOL
RETURN FALSE // UNLOCKED
BREAK
// Not added / not available
CASE WEAPONTYPE_DLC_HEAVYRIFLE
CASE WEAPONTYPE_DLC_ASSAULTMG
CASE WEAPONTYPE_DLC_ASSAULTSNIPER
CASE WEAPONTYPE_DLC_AMRIFLE
CASE WEAPONTYPE_DLC_CROSSBOW
CASE WEAPONTYPE_DLC_HARPOON
CASE WEAPONTYPE_DLC_PROGRAMMABLEAR
CASE WEAPONTYPE_DLC_RUBBERGUN
CASE WEAPONTYPE_DLC_LOUDHAILER
CASE WEAPONTYPE_DLC_FLAREGUN
CASE WEAPONTYPE_DLC_HANDCUFFS
CASE WEAPONTYPE_DLC_SNOWBALL
CASE WEAPONTYPE_DLC_GARBAGEBAG
CASE WEAPONTYPE_DLC_FLASHLIGHT
CASE WEAPONTYPE_DLC_SWITCHBLADE
CASE WEAPONTYPE_DLC_REVOLVER
CASE WEAPONTYPE_DLC_DBSHOTGUN
CASE WEAPONTYPE_DLC_COMPACTRIFLE
CASE WEAPONTYPE_DLC_AUTOSHOTGUN
CASE WEAPONTYPE_DLC_MINISMG
CASE WEAPONTYPE_DLC_COMPACTLAUNCHER
CASE WEAPONTYPE_DLC_BATTLEAXE
CASE WEAPONTYPE_DLC_PIPEBOMB
CASE WEAPONTYPE_DLC_POOLCUE
CASE WEAPONTYPE_DLC_WRENCH
CASE WEAPONTYPE_DLC_DOUBLEACTION
CASE WEAPONTYPE_DLC_RAYCARBINE
CASE WEAPONTYPE_DLC_RAYMINIGUN
CASE WEAPONTYPE_DLC_RAYPISTOL
CASE WEAPONTYPE_DLC_NAVYREVOLVER
CASE WEAPONTYPE_DLC_CERAMICPISTOL
#IF FEATURE_COPS_N_CROOKS
CASE WEAPONTYPE_DLC_BATON
CASE WEAPONTYPE_DLC_POLICERIFLE
#ENDIF
#IF FEATURE_HEIST_ISLAND
CASE WEAPONTYPE_DLC_GADGETPISTOL
CASE WEAPONTYPE_DLC_MILITARYRIFLE
CASE WEAPONTYPE_DLC_COMBATSHOTGUN
#ENDIF
#IF FEATURE_FIXER
CASE WEAPONTYPE_DLC_EMPLAUNCHER
CASE WEAPONTYPE_DLC_FERTILIZERCAN
CASE WEAPONTYPE_DLC_STUNGUNG_MP
#ENDIF
#IF FEATURE_DLC_1_2022
CASE WEAPONTYPE_DLC_METALDETECTOR
CASE WEAPONTYPE_DLC_PRECISIONRIFLE
CASE WEAPONTYPE_DLC_TACTICALRIFLE
#ENDIF
RETURN TRUE // LOCKED
BREAK
ENDSWITCH
ENDIF
RETURN FALSE
ENDFUNC
/// PURPOSE: Stores the peds weapon set up in the WEAPON_INFO struct
PROC GET_PED_WEAPONS(PED_INDEX ped, PED_WEAPONS_STRUCT &sWeapons)
#IF IS_DEBUG_BUILD
DEBUG_PRINTCALLSTACK()
PRINTLN("GET_PED_WEAPONS()")
IF NETWORK_IS_GAME_IN_PROGRESS()
ASSERTLN("Using GET_PED_WEAPONS in MP switch to GET_PED_WEAPONS_MP")
ENDIF
#ENDIF
IF NOT IS_PED_INJURED(ped)
INT iWeaponSlot
INT iComponent
WEAPONCOMPONENT_TYPE weaponComp
WEAPON_SLOT eWeaponSlot
WEAPON_INFO newValue
// clear all stored ammo counts
FOR iWeaponSlot = 0 TO ENUM_TO_INT(NUM_WEAPONSLOTS)-1
sWeapons.sWeaponInfo[iWeaponSlot].iAmmoCount = 0
ENDFOR
// Store info for each weapon slot
FOR iWeaponSlot = 0 TO ENUM_TO_INT(NUM_WEAPONSLOTS)-1
eWeaponSlot = GET_PLAYER_PED_WEAPON_SLOT_FROM_INT(iWeaponSlot)
IF eWeaponSlot != WEAPONSLOT_INVALID
// Grab the weapon type and reset ammo/mod counts
newValue.eWeaponType = GET_PED_WEAPONTYPE_IN_SLOT(ped, GET_PLAYER_PED_WEAPON_SLOT_FROM_INT(iWeaponSlot))
newValue.iAmmoCount = 0
newValue.iModsAsBitfield = 0
newValue.iTint = 0
newValue.iCamo = 0
// Grab the ammo/mod counts for valid items
IF newValue.eWeaponType != WEAPONTYPE_INVALID
AND newValue.eWeaponType != WEAPONTYPE_UNARMED
newValue.iAmmoCount = GET_AMMO_IN_PED_WEAPON(ped, newValue.eWeaponType)
IF newValue.eWeaponType = GADGETTYPE_PARACHUTE
newValue.iAmmoCount = 1
ENDIF
PRINTLN("...weapon ", GET_WEAPON_NAME(newValue.eWeaponType), " has ", newValue.iAmmoCount, " ammo")
// Store the tints
newValue.iTint = GET_PED_WEAPON_TINT_INDEX(ped, newValue.eWeaponType)
newValue.iCamo = GET_PED_WEAPON_CAMO_INDEX(ped, newValue.eWeaponType)
// Fix for code returning -1 to signal infinite ammo.
IF newValue.iAmmoCount = -1
IF NOT GET_MAX_AMMO(ped,newValue.eWeaponType, newValue.iAmmoCount)
newValue.iAmmoCount = 0
ENDIF
PRINTLN("....infinite ammo detected, changing to ", newValue.iAmmoCount)
ENDIF
sWeapons.sWeaponInfo[iWeaponSlot].iAmmoCount = newValue.iAmmoCount
iComponent = 0
weaponComp = GET_PLAYER_PED_WEAPON_COMP_FROM_INT(newValue.eWeaponType, iComponent)
WHILE weaponComp != WEAPONCOMPONENT_INVALID
IF HAS_PED_GOT_WEAPON_COMPONENT(ped, newValue.eWeaponType, weaponComp)
SET_BIT(newValue.iModsAsBitfield, iComponent)
ENDIF
iComponent++
weaponComp = GET_PLAYER_PED_WEAPON_COMP_FROM_INT(newValue.eWeaponType, iComponent)
ENDWHILE
ENDIF
// update stored info for this weapon slot
sWeapons.sWeaponInfo[iWeaponSlot] = newValue
ENDIF
ENDFOR
// Do the same for DLC weapons.
// clear all stored ammo counts
FOR iWeaponSlot = 0 TO NUMBER_OF_DLC_WEAPONS - 1
sWeapons.sDLCWeaponInfo[iWeaponSlot].iAmmoCount = 0
ENDFOR
INT iDLCIndex
INT iDLCWeapons = GET_NUM_DLC_WEAPONS_SP()
scrShopWeaponData weaponData
scrShopWeaponComponentData compData
INT iWeaponSlotToUse
INT iAvailableComp
REPEAT iDLCWeapons iDLCIndex
IF GET_DLC_WEAPON_DATA_SP(iDLCIndex, weaponData)
AND NOT IS_DLC_WEAPON_LOCKED_BY_SCRIPT(INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash))
AND iWeaponSlotToUse < NUMBER_OF_DLC_WEAPONS
IF NOT IS_CONTENT_ITEM_LOCKED(weaponData.m_lockHash)
// Grab the weapon type and reset ammo/mod counts
newValue.eWeaponType = INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash)
newValue.iAmmoCount = 0
newValue.iModsAsBitfield = 0
newValue.iTint = 0
newValue.iCamo = 0
// Grab the ammo/mod counts
newValue.iAmmoCount = GET_AMMO_IN_PED_WEAPON(ped, newValue.eWeaponType)
PRINTLN("...weapon ", GET_WEAPON_NAME(newValue.eWeaponType), " has ", newValue.iAmmoCount, " ammo")
// Store the tints
IF HAS_PED_GOT_WEAPON(ped, newValue.eWeaponType)
newValue.iTint = GET_PED_WEAPON_TINT_INDEX(ped, newValue.eWeaponType)
newValue.iCamo = GET_PED_WEAPON_CAMO_INDEX(ped, newValue.eWeaponType)
ENDIF
// Fix for code returning -1 to signal infinite ammo.
IF newValue.iAmmoCount = -1
IF NOT GET_MAX_AMMO(ped,newValue.eWeaponType, newValue.iAmmoCount)
newValue.iAmmoCount = 0
ENDIF
PRINTLN("....infinite ammo detected, changing to ", newValue.iAmmoCount)
ENDIF
sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].iAmmoCount = newValue.iAmmoCount
iAvailableComp = 0
REPEAT GET_NUM_DLC_WEAPON_COMPONENTS_SP(iDLCIndex) iComponent
IF GET_DLC_WEAPON_COMPONENT_DATA_SP(iDLCIndex, iComponent, compData)
IF NOT IGNORE_DLC_WEAPON_COMPONENT(INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
IF HAS_PED_GOT_WEAPON_COMPONENT(ped, newValue.eWeaponType, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
SET_BIT(newValue.iModsAsBitfield, iAvailableComp)
ENDIF
iAvailableComp++
ENDIF
ENDIF
ENDREPEAT
ENDIF
// Fix for player automatically getting all DLC weapons.
IF newValue.eWeaponType != WEAPONTYPE_INVALID
IF NOT HAS_PED_GOT_WEAPON(ped, newValue.eWeaponType)
newValue.eWeaponType = WEAPONTYPE_INVALID
newValue.iAmmoCount = 0
ENDIF
ENDIF
// update stored info for this weapon slot
sWeapons.sDLCWeaponInfo[iWeaponSlotToUse] = newValue
iWeaponSlotToUse++
ENDIF
ENDREPEAT
ENDIF
ENDPROC
/// PURPOSE: Stores the peds weapon set up in the WEAPON_INFO struct
PROC GET_PED_WEAPONS_MP(PED_INDEX ped, PED_WEAPONS_MP_STRUCT &sWeapons)
#IF IS_DEBUG_BUILD
DEBUG_PRINTCALLSTACK()
PRINTLN("GET_PED_WEAPONS_MP()")
#ENDIF
IF NOT IS_PED_INJURED(ped)
INT iWeaponSlot
INT iComponent
WEAPONCOMPONENT_TYPE weaponComp
WEAPON_SLOT eWeaponSlot
WEAPON_INFO newValue
// clear all stored ammo counts
FOR iWeaponSlot = 0 TO ENUM_TO_INT(NUM_WEAPONSLOTS)-1
sWeapons.sWeaponInfo[iWeaponSlot].iAmmoCount = 0
ENDFOR
// Store info for each weapon slot
FOR iWeaponSlot = 0 TO ENUM_TO_INT(NUM_WEAPONSLOTS)-1
eWeaponSlot = GET_PLAYER_PED_WEAPON_SLOT_FROM_INT(iWeaponSlot)
IF eWeaponSlot != WEAPONSLOT_INVALID
// Grab the weapon type and reset ammo/mod counts
newValue.eWeaponType = GET_PED_WEAPONTYPE_IN_SLOT(ped, GET_PLAYER_PED_WEAPON_SLOT_FROM_INT(iWeaponSlot))
newValue.iAmmoCount = 0
newValue.iModsAsBitfield = 0
newValue.iTint = 0
newValue.iCamo = 0
// Grab the ammo/mod counts for valid items
IF newValue.eWeaponType != WEAPONTYPE_INVALID
AND newValue.eWeaponType != WEAPONTYPE_UNARMED
newValue.iAmmoCount = GET_AMMO_IN_PED_WEAPON(ped, newValue.eWeaponType)
IF newValue.eWeaponType = GADGETTYPE_PARACHUTE
newValue.iAmmoCount = 1
ENDIF
PRINTLN("...weapon ", GET_WEAPON_NAME(newValue.eWeaponType), " has ", newValue.iAmmoCount, " ammo")
// Store the tints
newValue.iTint = GET_PED_WEAPON_TINT_INDEX(ped, newValue.eWeaponType)
newValue.iCamo = GET_PED_WEAPON_CAMO_INDEX(ped, newValue.eWeaponType)
// Fix for code returning -1 to signal infinite ammo.
IF newValue.iAmmoCount = -1
IF NOT GET_MAX_AMMO(ped,newValue.eWeaponType, newValue.iAmmoCount)
newValue.iAmmoCount = 0
ENDIF
PRINTLN("....infinite ammo detected, changing to ", newValue.iAmmoCount)
ENDIF
sWeapons.sWeaponInfo[iWeaponSlot].iAmmoCount = newValue.iAmmoCount
iComponent = 0
weaponComp = GET_PLAYER_PED_WEAPON_COMP_FROM_INT(newValue.eWeaponType, iComponent)
WHILE weaponComp != WEAPONCOMPONENT_INVALID
IF HAS_PED_GOT_WEAPON_COMPONENT(ped, newValue.eWeaponType, weaponComp)
SET_BIT(newValue.iModsAsBitfield, iComponent)
ENDIF
iComponent++
weaponComp = GET_PLAYER_PED_WEAPON_COMP_FROM_INT(newValue.eWeaponType, iComponent)
ENDWHILE
ENDIF
// update stored info for this weapon slot
sWeapons.sWeaponInfo[iWeaponSlot] = newValue
ENDIF
ENDFOR
// Do the same for DLC weapons.
// clear all stored ammo counts
FOR iWeaponSlot = 0 TO ENUM_TO_INT(NUMBER_OF_DLC_WEAPONS_MP)-1
sWeapons.sDLCWeaponInfo[iWeaponSlot].iAmmoCount = 0
ENDFOR
INT iDLCIndex
INT iDLCWeapons = GET_NUM_DLC_WEAPONS()
scrShopWeaponData weaponData
scrShopWeaponComponentData compData
INT iWeaponSlotToUse
INT iAvailableComp
REPEAT iDLCWeapons iDLCIndex
IF GET_DLC_WEAPON_DATA(iDLCIndex, weaponData)
AND NOT IS_DLC_WEAPON_LOCKED_BY_SCRIPT(INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash))
AND iWeaponSlotToUse < NUMBER_OF_DLC_WEAPONS_MP
IF NOT IS_CONTENT_ITEM_LOCKED(weaponData.m_lockHash)
// Grab the weapon type and reset ammo/mod counts
newValue.eWeaponType = INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash)
newValue.iAmmoCount = 0
newValue.iModsAsBitfield = 0
newValue.iTint = 0
newValue.iCamo = 0
// Grab the ammo/mod counts
newValue.iAmmoCount = GET_AMMO_IN_PED_WEAPON(ped, newValue.eWeaponType)
PRINTLN("...weapon ", GET_WEAPON_NAME(newValue.eWeaponType), " has ", newValue.iAmmoCount, " ammo")
// Store the tints
IF HAS_PED_GOT_WEAPON(ped, newValue.eWeaponType)
newValue.iTint = GET_PED_WEAPON_TINT_INDEX(ped, newValue.eWeaponType)
newValue.iCamo = GET_PED_WEAPON_CAMO_INDEX(ped, newValue.eWeaponType)
ENDIF
// Fix for code returning -1 to signal infinite ammo.
IF newValue.iAmmoCount = -1
IF NOT GET_MAX_AMMO(ped,newValue.eWeaponType, newValue.iAmmoCount)
newValue.iAmmoCount = 0
ENDIF
PRINTLN("....infinite ammo detected, changing to ", newValue.iAmmoCount)
ENDIF
sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].iAmmoCount = newValue.iAmmoCount
iAvailableComp = 0
REPEAT GET_NUM_DLC_WEAPON_COMPONENTS(iDLCIndex) iComponent
IF GET_DLC_WEAPON_COMPONENT_DATA(iDLCIndex, iComponent, compData)
IF NOT IGNORE_DLC_WEAPON_COMPONENT(INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
IF HAS_PED_GOT_WEAPON_COMPONENT(ped, newValue.eWeaponType, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
SET_BIT(newValue.iModsAsBitfield, iAvailableComp)
ENDIF
iAvailableComp++
ENDIF
ENDIF
ENDREPEAT
ENDIF
// Fix for player automatically getting all DLC weapons.
IF newValue.eWeaponType != WEAPONTYPE_INVALID
IF NOT HAS_PED_GOT_WEAPON(ped, newValue.eWeaponType)
newValue.eWeaponType = WEAPONTYPE_INVALID
newValue.iAmmoCount = 0
ENDIF
ENDIF
// update stored info for this weapon slot
sWeapons.sDLCWeaponInfo[iWeaponSlotToUse] = newValue
iWeaponSlotToUse++
ENDIF
ENDREPEAT
ENDIF
ENDPROC
FUNC BOOL IS_WEAPON_UNLOCKED_BY_DEFAULT(WEAPON_TYPE eWeapon)
// Special edition, collectors edition, and social club weapons
SWITCH eWeapon
CASE WEAPONTYPE_HAMMER
CASE WEAPONTYPE_DLC_PISTOL50
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN
CASE WEAPONTYPE_DLC_ASSAULTSMG
RETURN TRUE
BREAK
ENDSWITCH
// DLC weapons
INT iWeapon
scrShopWeaponData weaponData
REPEAT GET_NUM_DLC_WEAPONS() iWeapon
IF GET_DLC_WEAPON_DATA(iWeapon, weaponData)
IF weaponData.m_nameHash = ENUM_TO_INT(eWeapon)
IF NOT IS_CONTENT_ITEM_LOCKED(weaponData.m_lockHash)
RETURN TRUE
ENDIF
ENDIF
ENDIF
ENDREPEAT
RETURN FALSE
ENDFUNC
FUNC BOOL IS_WEAPON_AVAILABLE_FOR_GAME(WEAPON_TYPE eWeapon)
#IF USE_TU_CHANGES
IF eWeapon = INT_TO_ENUM(WEAPON_TYPE, HASH("INDI_FIREWORK"))
IF NETWORK_IS_GAME_IN_PROGRESS()
AND IS_MP_INDEPENDENCE_PACK_PRESENT()
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
ENDIF
#ENDIF
// Fix for 2077781 - Removing firework launcher from SP ammunation.
IF eWeapon = WEAPONTYPE_DLC_FIREWORK
AND NOT NETWORK_IS_GAME_IN_PROGRESS()
RETURN FALSE
ENDIF
SWITCH eWeapon
// CASE WEAPONTYPE_HAMMER
// CASE WEAPONTYPE_DLC_PISTOL50
// CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN
// //IF NOT NETWORK_IS_GAME_IN_PROGRESS()
// IF NOT IS_SPECIAL_EDITION_GAME()
// AND NOT IS_COLLECTORS_EDITION_GAME()
// RETURN FALSE
// ENDIF
// //ELSE
// // RETURN FALSE
// //ENDIF
// BREAK
CASE WEAPONTYPE_DLC_ASSAULTSMG
#IF USE_TU_CHANGES
IF NOT NETWORK_IS_GAME_IN_PROGRESS()
IF NOT IS_GAME_LINKED_TO_SOCIAL_CLUB(TRUE, TRUE)
RETURN FALSE
ENDIF
ENDIF
#ENDIF
#IF NOT USE_TU_CHANGES
IF NOT IS_GAME_LINKED_TO_SOCIAL_CLUB(TRUE, TRUE)
RETURN FALSE
ENDIF
#ENDIF
BREAK
#IF USE_TU_CHANGES
CASE WEAPONTYPE_SAWNOFFSHOTGUN
IF NETWORK_IS_GAME_IN_PROGRESS()
IF NOT IS_GAME_LINKED_TO_SOCIAL_CLUB(TRUE, TRUE)
RETURN FALSE
ENDIF
ENDIF
BREAK
CASE WEAPONTYPE_DLC_RAILGUN
IF NOT IS_LAST_GEN_PLAYER()
OR NETWORK_IS_GAME_IN_PROGRESS() // Block in MP
RETURN FALSE
ENDIF
BREAK
CASE WEAPONTYPE_DLC_HATCHET
IF NOT NETWORK_IS_GAME_IN_PROGRESS()
IF NOT IS_LAST_GEN_PLAYER()
AND NOT g_sMPTunables.bENABLE_RETURNING_CONTENT_WEAPON
RETURN FALSE
ENDIF
ENDIF
BREAK
#ENDIF
CASE WEAPONTYPE_DLC_KNUCKLE
CASE WEAPONTYPE_DLC_MARKSMANPISTOL
BREAK
ENDSWITCH
// If this is a DLC weapon, check that it is unlocked
INT iWeapon
scrShopWeaponData weaponData
REPEAT GET_NUM_DLC_WEAPONS() iWeapon
IF GET_DLC_WEAPON_DATA(iWeapon, weaponData)
IF weaponData.m_nameHash = ENUM_TO_INT(eWeapon)
IF IS_CONTENT_ITEM_LOCKED(weaponData.m_lockHash)
OR IS_DLC_WEAPON_LOCKED_BY_SCRIPT(INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash))
RETURN FALSE
ENDIF
ENDIF
ENDIF
ENDREPEAT
RETURN IS_WEAPON_VALID(eWeapon)
ENDFUNC
/// PURPOSE: Sets the peds weapon based on the info in the WEAPON_INFO struct
/// NOTE: Set bRemoveCurrentWeapons to false if you want to add instead of set.
PROC SET_PED_WEAPONS(PED_INDEX ped, PED_WEAPONS_STRUCT &sWeapons, BOOL bRemoveCurrentWeapons = TRUE)
#IF IS_DEBUG_BUILD
DEBUG_PRINTCALLSTACK()
PRINTLN("SET_PED_WEAPONS(", GET_STRING_FROM_BOOL(bRemoveCurrentWeapons), ")")
IF NETWORK_IS_GAME_IN_PROGRESS()
ASSERTLN("Using SET_PED_WEAPONS in MP switch to SET_PED_WEAPONS_MP")
ENDIF
#ENDIF
IF NOT IS_PED_INJURED(ped)
INT iAmmoStored
WEAPON_SLOT eWeaponSlot
WEAPON_TYPE eWeaponInSlot
WEAPON_TYPE eWeaponStored
WEAPONCOMPONENT_TYPE eWeaponComp
INT iWeaponSlot
INT iComponent
INT iPass
INT iDLCIndex
scrShopWeaponData weaponData
scrShopWeaponComponentData compData
INT iWeaponSlotToUse
INT iAvailableComp
INT iNumDLCWeapons = GET_NUM_DLC_WEAPONS_SP()
INT iCurrentAmmo[NUM_WEAPONSLOTS]
INT iCurrentDLCAmmo[NUMBER_OF_DLC_WEAPONS]
// First pass gets and stores the peds ammo for each weapon type
// Second pass sets all weapons ammo to zero
REPEAT 2 iPass
// Weapons share ammo so we need to remove all to begin with
FOR iWeaponSlot = 0 TO ENUM_TO_INT(NUM_WEAPONSLOTS)-1
// Get the weapon slot by index
eWeaponSlot = GET_PLAYER_PED_WEAPON_SLOT_FROM_INT(iWeaponSlot)
// If slot is valid
IF eWeaponSlot != WEAPONSLOT_INVALID
AND eWeaponSlot != WEAPONSLOT_UNARMED
// Get weapon type from the slot
eWeaponInSlot = GET_PED_WEAPONTYPE_IN_SLOT(ped, eWeaponSlot)
// If weapon type is valid
IF eWeaponInSlot != WEAPONTYPE_INVALID
AND eWeaponInSlot != WEAPONTYPE_UNARMED
IF IS_WEAPON_AVAILABLE_FOR_GAME(eWeaponInSlot)
IF iPass = 0
// For first pass store ammo from the peds weapon
iCurrentAmmo[iWeaponSlot] = GET_AMMO_IN_PED_WEAPON(ped, eWeaponInSlot)
ELSE
// For second pass set the ammo for this weapon type to 0
SET_PED_AMMO(ped, eWeaponInSlot, 0)
SET_AMMO_IN_CLIP(ped, eWeaponInSlot, 0)
ENDIF
ELSE
// If weapon not available just set ammo to zero
iCurrentAmmo[iWeaponSlot] = 0
SET_PED_AMMO(ped, eWeaponInSlot, 0)
SET_AMMO_IN_CLIP(ped, eWeaponInSlot, 0)
ENDIF
ENDIF
ENDIF
ENDFOR
// Do the same for SP DLC weapons
REPEAT iNumDLCWeapons iDLCIndex
IF (iDLCIndex < NUMBER_OF_DLC_WEAPONS)
IF GET_DLC_WEAPON_DATA_SP(iDLCIndex, weaponData)
// If dlc weapon isn't locked
IF NOT IS_CONTENT_ITEM_LOCKED(weaponData.m_lockHash)
AND NOT IS_DLC_WEAPON_LOCKED_BY_SCRIPT(INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash))
IF iPass = 0
iCurrentDLCAmmo[iDLCIndex] = GET_AMMO_IN_PED_WEAPON(ped, INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash))
ELSE
SET_PED_AMMO(ped, INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash), 0)
SET_AMMO_IN_CLIP(ped, INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash), 0)
ENDIF
ELSE
iCurrentDLCAmmo[iDLCIndex] = 0
SET_PED_AMMO(ped, INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash), 0)
SET_AMMO_IN_CLIP(ped, INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash), 0)
ENDIF
ENDIF
ELSE
BREAKLOOP
ENDIF
ENDREPEAT
ENDREPEAT
// Now give/remove the weapons and set mods/ammo.
FOR iWeaponSlot = 0 TO ENUM_TO_INT(NUM_WEAPONSLOTS)-1
eWeaponSlot = GET_PLAYER_PED_WEAPON_SLOT_FROM_INT(iWeaponSlot)
IF eWeaponSlot != WEAPONSLOT_INVALID
AND eWeaponSlot != WEAPONSLOT_UNARMED
eWeaponInSlot = GET_PED_WEAPONTYPE_IN_SLOT(ped, eWeaponSlot)
eWeaponStored = sWeapons.sWeaponInfo[iWeaponSlot].eWeaponType
iAmmoStored = sWeapons.sWeaponInfo[iWeaponSlot].iAmmoCount
// Fix for bug 1472000 - SCEE First Sub #094 - DRM Debug options cause issues with test DLC packages
// - we need to make sure player doesnt keep weapons that they have uninstalled.
IF NOT IS_WEAPON_AVAILABLE_FOR_GAME(eWeaponStored)
sWeapons.sWeaponInfo[iWeaponSlot].eWeaponType = WEAPONTYPE_INVALID
eWeaponStored = WEAPONTYPE_INVALID
ENDIF
// GIVE PED THE WEAPON WITH THE STORED AMMO
IF eWeaponStored != WEAPONTYPE_INVALID
IF eWeaponStored != WEAPONTYPE_UNARMED
IF NOT HAS_PED_GOT_WEAPON(ped, eWeaponStored)
PRINTLN("...giving weapon ", GET_WEAPON_NAME(eWeaponStored))
GIVE_WEAPON_TO_PED(ped, eWeaponStored, 0, FALSE, FALSE)
ENDIF
// Make sure the ammo counts are the same or more than.
IF GET_AMMO_IN_PED_WEAPON(ped, eWeaponStored) < iAmmoStored
SET_PED_AMMO(ped, eWeaponStored, iAmmoStored)
PRINTLN("....setting stored ammo for ", GET_WEAPON_NAME(eWeaponStored), " to ", iAmmoStored)
ENDIF
// Set the tints
IF eWeaponStored != WEAPONTYPE_PETROLCAN
AND HAS_PED_GOT_WEAPON(ped, eWeaponStored)
SET_PED_WEAPON_TINT_INDEX(ped, eWeaponStored, sWeapons.sWeaponInfo[iWeaponSlot].iTint)
ENDIF
// Make sure we get all the weapon mods back
iComponent = 0
eWeaponComp = GET_PLAYER_PED_WEAPON_COMP_FROM_INT(eWeaponStored, iComponent)
WHILE eWeaponComp != WEAPONCOMPONENT_INVALID
IF IS_BIT_SET(sWeapons.sWeaponInfo[iWeaponSlot].iModsAsBitfield, iComponent)
IF NOT HAS_PED_GOT_WEAPON_COMPONENT(ped, eWeaponStored, eWeaponComp)
GIVE_WEAPON_COMPONENT_TO_PED(ped, eWeaponStored, eWeaponComp)
GIVE_SECONDARY_WEAPON_COMPONENT_TO_PED(ped, eWeaponStored, eWeaponComp)
// Set camo tint
IF IS_WEAPON_COMP_A_CAMO_MOD(eWeaponComp)
// sWeapons.sWeaponInfo[iWeaponSlot].iCamo = GET_PED_WEAPON_COMPONENT_TINT_INDEX(ped, eWeaponStored, eWeaponComp)
SET_PED_WEAPON_COMPONENT_TINT_INDEX(ped, eWeaponStored, eWeaponComp, sWeapons.sWeaponInfo[iWeaponSlot].iCamo)
SET_PED_WEAPON_SECONDARY_COMPONENT_TINT_INDEX(ped, eWeaponStored, eWeaponComp, sWeapons.sWeaponInfo[iWeaponSlot].iCamo)
ENDIF
ENDIF
ELSE
IF HAS_PED_GOT_WEAPON_COMPONENT(ped, eWeaponStored, eWeaponComp)
REMOVE_WEAPON_COMPONENT_FROM_PED(ped, eWeaponStored, eWeaponComp)
REMOVE_SECONDARY_WEAPON_COMPONENT_FROM_PED(ped, eWeaponStored, eWeaponComp)
ENDIF
ENDIF
iComponent++
eWeaponComp = GET_PLAYER_PED_WEAPON_COMP_FROM_INT(eWeaponStored, iComponent)
ENDWHILE
ENDIF
// REMOVE THE WEAPON
ELIF bRemoveCurrentWeapons
IF eWeaponInSlot != WEAPONTYPE_INVALID
AND eWeaponInSlot != WEAPONTYPE_UNARMED
AND eWeaponInSlot != WEAPONTYPE_OBJECT
PRINTLN("...removing weapon ", GET_WEAPON_NAME(eWeaponInSlot), ". Weapon Stored = ", GET_WEAPON_NAME(eWeaponStored))
REMOVE_WEAPON_FROM_PED(ped, eWeaponInSlot)
iComponent = 0
eWeaponComp = GET_PLAYER_PED_WEAPON_COMP_FROM_INT(eWeaponInSlot, iComponent)
WHILE eWeaponComp != WEAPONCOMPONENT_INVALID
IF HAS_PED_GOT_WEAPON_COMPONENT(ped, eWeaponInSlot, eWeaponComp)
REMOVE_WEAPON_COMPONENT_FROM_PED(ped, eWeaponInSlot, eWeaponComp)
REMOVE_SECONDARY_WEAPON_COMPONENT_FROM_PED(ped, eWeaponInSlot, eWeaponComp)
ENDIF
iComponent++
eWeaponComp = GET_PLAYER_PED_WEAPON_COMP_FROM_INT(eWeaponInSlot, iComponent)
ENDWHILE
ENDIF
ENDIF
// KEEPING THE WEAPON SO SET THE AMMO THAT WE HAD
IF NOT bRemoveCurrentWeapons
IF eWeaponInSlot != WEAPONTYPE_INVALID
AND eWeaponInSlot != WEAPONTYPE_UNARMED
// Make sure the ammo counts are the same or more than.
IF GET_AMMO_IN_PED_WEAPON(ped, eWeaponInSlot) < iCurrentAmmo[iWeaponSlot]
SET_PED_AMMO(ped, eWeaponInSlot, iCurrentAmmo[iWeaponSlot])
PRINTLN("....setting current ammo for ", GET_WEAPON_NAME(eWeaponInSlot), " to ", iCurrentAmmo[iWeaponSlot])
ENDIF
ENDIF
ENDIF
ENDIF
ENDFOR
// Do the same for SP DLC weapons.
REPEAT COUNT_OF(sWeapons.sDLCWeaponInfo) iWeaponSlotToUse
eWeaponStored = sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].eWeaponType
iAmmoStored = sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].iAmmoCount
// Get the SP DLC data for this weapon.
iDLCIndex = GET_SP_DLC_WEAPON_DATA_FOR_WEAPON_TYPE(eWeaponStored, weaponData)
IF (iDLCIndex != -1 AND iDLCIndex < NUMBER_OF_DLC_WEAPONS)
AND NOT IS_DLC_WEAPON_LOCKED_BY_SCRIPT(INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash))
// Fix for bug 1472000 - SCEE First Sub #094 - DRM Debug options cause issues with test DLC packages
// - we need to make sure player doesnt keep weapons that they have uninstalled.
IF IS_CONTENT_ITEM_LOCKED(weaponData.m_lockHash)
OR IS_DLC_WEAPON_LOCKED_BY_SCRIPT(INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash))
sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].eWeaponType = WEAPONTYPE_INVALID
eWeaponStored = WEAPONTYPE_INVALID
ENDIF
// GIVE PED THE WEAPON WITH THE STORED AMMO
IF eWeaponStored != WEAPONTYPE_INVALID
IF eWeaponStored != WEAPONTYPE_UNARMED
IF NOT HAS_PED_GOT_WEAPON(ped, eWeaponStored)
PRINTLN("...giving weapon ", GET_WEAPON_NAME(eWeaponStored))
GIVE_WEAPON_TO_PED(ped, eWeaponStored, 0, FALSE, FALSE)
ENDIF
// Make sure the ammo counts are the same or more than.
IF GET_AMMO_IN_PED_WEAPON(ped, eWeaponStored) < iAmmoStored
SET_PED_AMMO(ped, eWeaponStored, iAmmoStored)
PRINTLN("....setting stored ammo for ", GET_WEAPON_NAME(eWeaponStored), " to ", iAmmoStored)
ENDIF
// Set the tints
IF HAS_PED_GOT_WEAPON(ped, eWeaponStored)
SET_PED_WEAPON_TINT_INDEX(ped, eWeaponStored, sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].iTint)
ENDIF
// Make sure we get all the weapon mods back
iAvailableComp = 0
REPEAT GET_NUM_DLC_WEAPON_COMPONENTS_SP(iDLCIndex) iComponent
IF GET_DLC_WEAPON_COMPONENT_DATA_SP(iDLCIndex, iComponent, compData)
IF NOT IGNORE_DLC_WEAPON_COMPONENT(INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
IF IS_BIT_SET(sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].iModsAsBitfield, iAvailableComp)
IF NOT HAS_PED_GOT_WEAPON_COMPONENT(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
GIVE_WEAPON_COMPONENT_TO_PED(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
GIVE_SECONDARY_WEAPON_COMPONENT_TO_PED(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
// Set camo tint
IF IS_WEAPON_COMP_A_CAMO_MOD(INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
// sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].iCamo = GET_PED_WEAPON_COMPONENT_TINT_INDEX(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
SET_PED_WEAPON_COMPONENT_TINT_INDEX(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName), sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].iCamo)
SET_PED_WEAPON_SECONDARY_COMPONENT_TINT_INDEX(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName), sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].iCamo)
ENDIF
ENDIF
ELSE
IF HAS_PED_GOT_WEAPON_COMPONENT(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
REMOVE_WEAPON_COMPONENT_FROM_PED(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
REMOVE_SECONDARY_WEAPON_COMPONENT_FROM_PED(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
ENDIF
ENDIF
iAvailableComp++
ENDIF
ENDIF
ENDREPEAT
ENDIF
// REMOVE THE WEAPON
ELIF bRemoveCurrentWeapons
IF eWeaponInSlot != WEAPONTYPE_INVALID
AND eWeaponInSlot != WEAPONTYPE_UNARMED
AND eWeaponInSlot != WEAPONTYPE_OBJECT
PRINTLN("...removing weapon ", GET_WEAPON_NAME(eWeaponStored))
REMOVE_WEAPON_FROM_PED(ped, eWeaponInSlot)
REPEAT GET_NUM_DLC_WEAPON_COMPONENTS_SP(iDLCIndex) iComponent
IF GET_DLC_WEAPON_COMPONENT_DATA_SP(iDLCIndex, iComponent, compData)
IF HAS_PED_GOT_WEAPON_COMPONENT(ped, eWeaponInSlot, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
REMOVE_WEAPON_COMPONENT_FROM_PED(ped, eWeaponInSlot, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
REMOVE_SECONDARY_WEAPON_COMPONENT_FROM_PED(ped, eWeaponInSlot, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
ENDIF
ENDIF
ENDREPEAT
ENDIF
ENDIF
// KEEPING THE WEAPON SO SET THE AMMO THAT WE HAD
IF NOT bRemoveCurrentWeapons
IF eWeaponStored != WEAPONTYPE_INVALID
AND eWeaponStored != WEAPONTYPE_UNARMED
// Make sure the ammo counts are the same or more than.
IF GET_AMMO_IN_PED_WEAPON(ped, eWeaponStored) < iCurrentDLCAmmo[iDLCIndex]
SET_PED_AMMO(ped, eWeaponStored, iCurrentDLCAmmo[iDLCIndex])
PRINTLN("....setting current ammo for ", GET_WEAPON_NAME(eWeaponStored), " to ", iCurrentDLCAmmo[iDLCIndex])
ENDIF
ENDIF
ENDIF
ENDIF
ENDREPEAT
// Fill the clip so we dont see ped reload.
IF GET_CURRENT_PED_WEAPON(ped, eWeaponInSlot)
AND eWeaponInSlot != WEAPONTYPE_INVALID
AND eWeaponInSlot != WEAPONTYPE_UNARMED
AND eWeaponInSlot != WEAPONTYPE_OBJECT
iAmmoStored = GET_AMMO_IN_PED_WEAPON(ped, eWeaponInSlot)
IF iAmmoStored > 1
AND iAmmoStored > GET_MAX_AMMO_IN_CLIP(ped, eWeaponInSlot)
SET_PED_AMMO(ped, eWeaponInSlot, iAmmoStored-GET_MAX_AMMO_IN_CLIP(ped, eWeaponInSlot))
SET_AMMO_IN_CLIP(ped, eWeaponInSlot, GET_MAX_AMMO_IN_CLIP(ped, eWeaponInSlot))
ENDIF
ENDIF
ENDIF
ENDPROC
/// PURPOSE: Sets the peds weapon based on the info in the WEAPON_INFO struct
/// NOTE: Set bRemoveCurrentWeapons to false if you want to add instead of set.
PROC SET_PED_WEAPONS_MP(PED_INDEX ped, PED_WEAPONS_MP_STRUCT &sWeapons, BOOL bRemoveCurrentWeapons = TRUE)
#IF IS_DEBUG_BUILD
DEBUG_PRINTCALLSTACK()
PRINTLN("SET_PED_WEAPONS_MP(", GET_STRING_FROM_BOOL(bRemoveCurrentWeapons), ")")
#ENDIF
IF NOT IS_PED_INJURED(ped)
INT iAmmoStored
WEAPON_SLOT eWeaponSlot
WEAPON_TYPE eWeaponInSlot
WEAPON_TYPE eWeaponStored
WEAPONCOMPONENT_TYPE eWeaponComp
INT iWeaponSlot
INT iComponent
INT iPass
INT iDLCIndex
scrShopWeaponData weaponData
scrShopWeaponComponentData compData
INT iWeaponSlotToUse
INT iAvailableComp
INT iCurrentAmmo[NUM_WEAPONSLOTS]
INT iCurrentDLCAmmo[NUMBER_OF_DLC_WEAPONS_MP]
REPEAT 2 iPass
// Weapons share ammo so we need to remove all to begin with
FOR iWeaponSlot = 0 TO ENUM_TO_INT(NUM_WEAPONSLOTS)-1
eWeaponSlot = GET_PLAYER_PED_WEAPON_SLOT_FROM_INT(iWeaponSlot)
IF eWeaponSlot != WEAPONSLOT_INVALID
AND eWeaponSlot != WEAPONSLOT_UNARMED
eWeaponInSlot = GET_PED_WEAPONTYPE_IN_SLOT(ped, eWeaponSlot)
IF eWeaponInSlot != WEAPONTYPE_INVALID
AND eWeaponInSlot != WEAPONTYPE_UNARMED
IF IS_WEAPON_AVAILABLE_FOR_GAME(eWeaponInSlot)
IF iPass = 0
iCurrentAmmo[iWeaponSlot] = GET_AMMO_IN_PED_WEAPON(ped, eWeaponInSlot)
ELSE
SET_PED_AMMO(ped, eWeaponInSlot, 0)
SET_AMMO_IN_CLIP(ped, eWeaponInSlot, 0)
ENDIF
ELSE
iCurrentAmmo[iWeaponSlot] = 0
SET_PED_AMMO(ped, eWeaponInSlot, 0)
SET_AMMO_IN_CLIP(ped, eWeaponInSlot, 0)
ENDIF
ENDIF
ENDIF
ENDFOR
// Do the same for DLC weapons
REPEAT GET_NUM_DLC_WEAPONS() iDLCIndex
IF GET_DLC_WEAPON_DATA(iDLCIndex, weaponData)
IF NOT IS_CONTENT_ITEM_LOCKED(weaponData.m_lockHash)
AND NOT IS_DLC_WEAPON_LOCKED_BY_SCRIPT(INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash))
IF iPass = 0
iCurrentDLCAmmo[iDLCIndex] = GET_AMMO_IN_PED_WEAPON(ped, INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash))
ELSE
SET_PED_AMMO(ped, INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash), 0)
SET_AMMO_IN_CLIP(ped, INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash), 0)
ENDIF
ELSE
iCurrentDLCAmmo[iDLCIndex] = 0
SET_PED_AMMO(ped, INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash), 0)
SET_AMMO_IN_CLIP(ped, INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash), 0)
ENDIF
ENDIF
ENDREPEAT
ENDREPEAT
// Now give/remove the weapons and set mods/ammo.
FOR iWeaponSlot = 0 TO ENUM_TO_INT(NUM_WEAPONSLOTS)-1
eWeaponSlot = GET_PLAYER_PED_WEAPON_SLOT_FROM_INT(iWeaponSlot)
IF eWeaponSlot != WEAPONSLOT_INVALID
AND eWeaponSlot != WEAPONSLOT_UNARMED
eWeaponInSlot = GET_PED_WEAPONTYPE_IN_SLOT(ped, eWeaponSlot)
eWeaponStored = sWeapons.sWeaponInfo[iWeaponSlot].eWeaponType
iAmmoStored = sWeapons.sWeaponInfo[iWeaponSlot].iAmmoCount
// Fix for bug 1472000 - SCEE First Sub #094 - DRM Debug options cause issues with test DLC packages
// - we need to make sure player doesnt keep weapons that they have uninstalled.
IF NOT IS_WEAPON_AVAILABLE_FOR_GAME(eWeaponStored)
sWeapons.sWeaponInfo[iWeaponSlot].eWeaponType = WEAPONTYPE_INVALID
eWeaponStored = WEAPONTYPE_INVALID
ENDIF
// GIVE PED THE WEAPON WITH THE STORED AMMO
IF eWeaponStored != WEAPONTYPE_INVALID
IF eWeaponStored != WEAPONTYPE_UNARMED
IF NOT HAS_PED_GOT_WEAPON(ped, eWeaponStored)
PRINTLN("...giving weapon ", GET_WEAPON_NAME(eWeaponStored))
GIVE_WEAPON_TO_PED(ped, eWeaponStored, 0, FALSE, FALSE)
ENDIF
// Make sure the ammo counts are the same or more than.
IF GET_AMMO_IN_PED_WEAPON(ped, eWeaponStored) < iAmmoStored
SET_PED_AMMO(ped, eWeaponStored, iAmmoStored)
PRINTLN("....setting stored ammo for ", GET_WEAPON_NAME(eWeaponStored), " to ", iAmmoStored)
ENDIF
// Set the tints
IF eWeaponStored != WEAPONTYPE_PETROLCAN
AND HAS_PED_GOT_WEAPON(ped, eWeaponStored)
SET_PED_WEAPON_TINT_INDEX(ped, eWeaponStored, sWeapons.sWeaponInfo[iWeaponSlot].iTint)
ENDIF
// Make sure we get all the weapon mods back
iComponent = 0
eWeaponComp = GET_PLAYER_PED_WEAPON_COMP_FROM_INT(eWeaponStored, iComponent)
WHILE eWeaponComp != WEAPONCOMPONENT_INVALID
IF IS_BIT_SET(sWeapons.sWeaponInfo[iWeaponSlot].iModsAsBitfield, iComponent)
IF NOT HAS_PED_GOT_WEAPON_COMPONENT(ped, eWeaponStored, eWeaponComp)
GIVE_WEAPON_COMPONENT_TO_PED(ped, eWeaponStored, eWeaponComp)
GIVE_SECONDARY_WEAPON_COMPONENT_TO_PED(ped, eWeaponStored, eWeaponComp)
// Set camo tint
IF IS_WEAPON_COMP_A_CAMO_MOD(eWeaponComp)
// sWeapons.sWeaponInfo[iWeaponSlot].iCamo = GET_PED_WEAPON_COMPONENT_TINT_INDEX(ped, eWeaponStored, eWeaponComp)
SET_PED_WEAPON_COMPONENT_TINT_INDEX(ped, eWeaponStored, eWeaponComp, sWeapons.sWeaponInfo[iWeaponSlot].iCamo)
SET_PED_WEAPON_SECONDARY_COMPONENT_TINT_INDEX(ped, eWeaponStored, eWeaponComp, sWeapons.sWeaponInfo[iWeaponSlot].iCamo)
ENDIF
ENDIF
ELSE
IF HAS_PED_GOT_WEAPON_COMPONENT(ped, eWeaponStored, eWeaponComp)
REMOVE_WEAPON_COMPONENT_FROM_PED(ped, eWeaponStored, eWeaponComp)
REMOVE_SECONDARY_WEAPON_COMPONENT_FROM_PED(ped, eWeaponStored, eWeaponComp)
ENDIF
ENDIF
iComponent++
eWeaponComp = GET_PLAYER_PED_WEAPON_COMP_FROM_INT(eWeaponStored, iComponent)
ENDWHILE
ENDIF
// REMOVE THE WEAPON
ELIF bRemoveCurrentWeapons
IF eWeaponInSlot != WEAPONTYPE_INVALID
AND eWeaponInSlot != WEAPONTYPE_UNARMED
AND eWeaponInSlot != WEAPONTYPE_OBJECT
PRINTLN("...removing weapon ", GET_WEAPON_NAME(eWeaponInSlot), ". Weapon Stored = ", GET_WEAPON_NAME(eWeaponStored))
REMOVE_WEAPON_FROM_PED(ped, eWeaponInSlot)
iComponent = 0
eWeaponComp = GET_PLAYER_PED_WEAPON_COMP_FROM_INT(eWeaponInSlot, iComponent)
WHILE eWeaponComp != WEAPONCOMPONENT_INVALID
IF HAS_PED_GOT_WEAPON_COMPONENT(ped, eWeaponInSlot, eWeaponComp)
REMOVE_WEAPON_COMPONENT_FROM_PED(ped, eWeaponInSlot, eWeaponComp)
REMOVE_SECONDARY_WEAPON_COMPONENT_FROM_PED(ped, eWeaponInSlot, eWeaponComp)
ENDIF
iComponent++
eWeaponComp = GET_PLAYER_PED_WEAPON_COMP_FROM_INT(eWeaponInSlot, iComponent)
ENDWHILE
ENDIF
ENDIF
// KEEPING THE WEAPON SO SET THE AMMO THAT WE HAD
IF NOT bRemoveCurrentWeapons
IF eWeaponInSlot != WEAPONTYPE_INVALID
AND eWeaponInSlot != WEAPONTYPE_UNARMED
// Make sure the ammo counts are the same or more than.
IF GET_AMMO_IN_PED_WEAPON(ped, eWeaponInSlot) < iCurrentAmmo[iWeaponSlot]
SET_PED_AMMO(ped, eWeaponInSlot, iCurrentAmmo[iWeaponSlot])
PRINTLN("....setting current ammo for ", GET_WEAPON_NAME(eWeaponInSlot), " to ", iCurrentAmmo[iWeaponSlot])
ENDIF
ENDIF
ENDIF
ENDIF
ENDFOR
// Do the same for DLC weapons.
REPEAT COUNT_OF(sWeapons.sDLCWeaponInfo) iWeaponSlotToUse
eWeaponStored = sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].eWeaponType
iAmmoStored = sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].iAmmoCount
// Get the DLC data this weapon.
iDLCIndex = GET_DLC_WEAPON_DATA_FOR_WEAPON_TYPE(eWeaponStored, weaponData)
IF iDLCIndex != -1
AND NOT IS_DLC_WEAPON_LOCKED_BY_SCRIPT(INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash))
// Fix for bug 1472000 - SCEE First Sub #094 - DRM Debug options cause issues with test DLC packages
// - we need to make sure player doesnt keep weapons that they have uninstalled.
IF IS_CONTENT_ITEM_LOCKED(weaponData.m_lockHash)
OR IS_DLC_WEAPON_LOCKED_BY_SCRIPT(INT_TO_ENUM(WEAPON_TYPE, weaponData.m_nameHash))
sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].eWeaponType = WEAPONTYPE_INVALID
eWeaponStored = WEAPONTYPE_INVALID
ENDIF
// GIVE PED THE WEAPON WITH THE STORED AMMO
IF eWeaponStored != WEAPONTYPE_INVALID
IF eWeaponStored != WEAPONTYPE_UNARMED
IF NOT HAS_PED_GOT_WEAPON(ped, eWeaponStored)
PRINTLN("...giving weapon ", GET_WEAPON_NAME(eWeaponStored))
GIVE_WEAPON_TO_PED(ped, eWeaponStored, 0, FALSE, FALSE)
ENDIF
// Make sure the ammo counts are the same or more than.
IF GET_AMMO_IN_PED_WEAPON(ped, eWeaponStored) < iAmmoStored
SET_PED_AMMO(ped, eWeaponStored, iAmmoStored)
PRINTLN("....setting stored ammo for ", GET_WEAPON_NAME(eWeaponStored), " to ", iAmmoStored)
ENDIF
// Set the tints
IF HAS_PED_GOT_WEAPON(ped, eWeaponStored)
SET_PED_WEAPON_TINT_INDEX(ped, eWeaponStored, sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].iTint)
ENDIF
// Make sure we get all the weapon mods back
iAvailableComp = 0
REPEAT GET_NUM_DLC_WEAPON_COMPONENTS(iDLCIndex) iComponent
IF GET_DLC_WEAPON_COMPONENT_DATA(iDLCIndex, iComponent, compData)
IF NOT IGNORE_DLC_WEAPON_COMPONENT(INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
IF IS_BIT_SET(sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].iModsAsBitfield, iAvailableComp)
IF NOT HAS_PED_GOT_WEAPON_COMPONENT(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
GIVE_WEAPON_COMPONENT_TO_PED(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
GIVE_SECONDARY_WEAPON_COMPONENT_TO_PED(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
// Set camo tint
IF IS_WEAPON_COMP_A_CAMO_MOD(INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
// sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].iCamo = GET_PED_WEAPON_COMPONENT_TINT_INDEX(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
SET_PED_WEAPON_COMPONENT_TINT_INDEX(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName), sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].iCamo)
SET_PED_WEAPON_SECONDARY_COMPONENT_TINT_INDEX(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName), sWeapons.sDLCWeaponInfo[iWeaponSlotToUse].iCamo)
ENDIF
ENDIF
ELSE
IF HAS_PED_GOT_WEAPON_COMPONENT(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
REMOVE_WEAPON_COMPONENT_FROM_PED(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
REMOVE_SECONDARY_WEAPON_COMPONENT_FROM_PED(ped, eWeaponStored, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
ENDIF
ENDIF
iAvailableComp++
ENDIF
ENDIF
ENDREPEAT
ENDIF
// REMOVE THE WEAPON
ELIF bRemoveCurrentWeapons
IF eWeaponInSlot != WEAPONTYPE_INVALID
AND eWeaponInSlot != WEAPONTYPE_UNARMED
AND eWeaponInSlot != WEAPONTYPE_OBJECT
PRINTLN("...removing weapon ", GET_WEAPON_NAME(eWeaponStored))
REMOVE_WEAPON_FROM_PED(ped, eWeaponInSlot)
REPEAT GET_NUM_DLC_WEAPON_COMPONENTS(iDLCIndex) iComponent
IF GET_DLC_WEAPON_COMPONENT_DATA(iDLCIndex, iComponent, compData)
IF HAS_PED_GOT_WEAPON_COMPONENT(ped, eWeaponInSlot, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
REMOVE_WEAPON_COMPONENT_FROM_PED(ped, eWeaponInSlot, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
REMOVE_SECONDARY_WEAPON_COMPONENT_FROM_PED(ped, eWeaponInSlot, INT_TO_ENUM(WEAPONCOMPONENT_TYPE, compData.m_componentName))
ENDIF
ENDIF
ENDREPEAT
ENDIF
ENDIF
// KEEPING THE WEAPON SO SET THE AMMO THAT WE HAD
IF NOT bRemoveCurrentWeapons
IF eWeaponStored != WEAPONTYPE_INVALID
AND eWeaponStored != WEAPONTYPE_UNARMED
// Make sure the ammo counts are the same or more than.
IF GET_AMMO_IN_PED_WEAPON(ped, eWeaponStored) < iCurrentDLCAmmo[iDLCIndex]
SET_PED_AMMO(ped, eWeaponStored, iCurrentDLCAmmo[iDLCIndex])
PRINTLN("....setting current ammo for ", GET_WEAPON_NAME(eWeaponStored), " to ", iCurrentDLCAmmo[iDLCIndex])
ENDIF
ENDIF
ENDIF
ENDIF
ENDREPEAT
// Fill the clip so we dont see ped reload.
IF GET_CURRENT_PED_WEAPON(ped, eWeaponInSlot)
AND eWeaponInSlot != WEAPONTYPE_INVALID
AND eWeaponInSlot != WEAPONTYPE_UNARMED
AND eWeaponInSlot != WEAPONTYPE_OBJECT
iAmmoStored = GET_AMMO_IN_PED_WEAPON(ped, eWeaponInSlot)
IF iAmmoStored > 1
AND iAmmoStored > GET_MAX_AMMO_IN_CLIP(ped, eWeaponInSlot)
SET_PED_AMMO(ped, eWeaponInSlot, iAmmoStored-GET_MAX_AMMO_IN_CLIP(ped, eWeaponInSlot))
SET_AMMO_IN_CLIP(ped, eWeaponInSlot, GET_MAX_AMMO_IN_CLIP(ped, eWeaponInSlot))
ENDIF
ENDIF
ENDIF
ENDPROC
FUNC INT GET_KIT_INDEX_FROM_PLAYERKIT_TYPE(PLAYERKIT aplayerkit)
RETURN ENUM_TO_INT(GET_KIT_BITSET_FROM_KITTYPE (aplayerkit))
ENDFUNC
//Convertion functions from code enum to script enum - Hash to int
FUNC INT GET_WEAPON_INDEX_FROM_WEAPON_TYPE(WEAPON_TYPE aWeapon)
RETURN ENUM_TO_INT(GET_WEAPON_BITSET_FROM_WEAPONTYPE(aWeapon))
ENDFUNC
FUNC INT GET_WEAPON_ADDON_INDEX_FROM_WEAPONS(WEAPONCOMPONENT_TYPE aWeaponComponent, WEAPON_TYPE aWeapon)
RETURN ENUM_TO_INT(GET_AMMO_BITSET_FROM_WEAPONS(aWeaponComponent, aWeapon))
ENDFUNC
FUNC INT GET_WEAPON_INDEX_FROM_WEAPONUNLOCK(WEAPON_BITSET aWeapon)
RETURN ENUM_TO_INT(aWeapon)
ENDFUNC
FUNC INT GET_WEAPON_BITSET(INT iWeapon)
RETURN (iWeapon / 32)
ENDFUNC
FUNC INT GET_WEAPON_INDEX_BITSET(INT iWeapon)
RETURN iWeapon % 32
ENDFUNC
FUNC INT GET_DLC_WEAPON_BITSET(INT iWeapon, INT iFirstDLCWeaponIndex)
INT iBitSet = ( ( iWeapon - iFirstDLCWeaponIndex ) / 32)
//CDEBUG3LN(DEBUG_WEAPONS, " - weapons_public - GET_DLC_WEAPON_BITSET - iBitSet: ", iBitSet, " - for weapon: ", iWeapon)
RETURN iBitSet // DLC weapons start at bitset index 45 (WEAPON_BITSET)
ENDFUNC
FUNC INT GET_DLC_WEAPON_INDEX_BITSET(INT iWeapon, INT iFirstDLCWeaponIndex)
INT iBitIndex = ( ( iWeapon - ( iFirstDLCWeaponIndex % 32 ) ) % 32 )
//CDEBUG3LN(DEBUG_WEAPONS, " - weapons_public - GET_DLC_WEAPON_INDEX_BITSET - iBitIndex: ", iBitIndex, " - for weapon: ", iWeapon)
RETURN iBitIndex // DLC weapons start at bitset index 45 (WEAPON_BITSET) - This drops it to 32 so when modulus its starts at 0.
ENDFUNC
FUNC INT GET_U64_BITSET(INT iWeapon)
RETURN (iWeapon / 64)
ENDFUNC
FUNC INT GET_U64_INDEX_BITSET(INT iWeapon)
RETURN iWeapon % 64
ENDFUNC
FUNC INT GET_KIT_BITSET(INT iKit)
RETURN (iKit / 32)
ENDFUNC
FUNC INT GET_KIT_INDEX_BITSET(INT iKit)
RETURN iKit % 32
ENDFUNC
FUNC INT GET_WEAPON_ADDON_BITSET(INT iWeaponAddon)
RETURN (iWeaponAddon / 32)
ENDFUNC
FUNC INT GET_WEAPON_ADDON_INDEX_BITSET(INT iWeaponAddon)
RETURN iWeaponAddon % 32
ENDFUNC
FUNC INT GET_UINT8_BLOCK(INT iEnumValue)
RETURN (iEnumValue / 4)
ENDFUNC
FUNC INT GET_UINT8_INDEX(INT iEnumValue)
RETURN iEnumValue % 4
ENDFUNC
FUNC INT GET_UINT16_BLOCK(INT iEnumValue)
RETURN (iEnumValue / 2)
ENDFUNC
FUNC INT GET_UINT16_INDEX(INT iEnumValue)
RETURN iEnumValue % 2
ENDFUNC
PROC GET_PARACHUTE_SMOKE_COLOUR(INT iTint, INT &iR, INT &iG, INT &iB)
iR = 255 iG = 255 iB = 255
SWITCH iTint
CASE 0 // None
iR = 255 iG = 255 iB = 255
BREAK
CASE 1 // Red
iR = 255 iG = 0 iB = 0
BREAK
CASE 2 // Orange
iR = 255 iG = 165 iB = 0
BREAK
CASE 3 // Yellow
iR = 255 iG = 255 iB = 0
BREAK
CASE 4 // Blue
iR = 0 iG = 0 iB = 255
BREAK
CASE 5 // Black
iR = 20 iG = 20 iB = 20
BREAK
CASE 6 // Crew
iR = g_Private_LocalPlayerCrew_Colour_Red
iG = g_Private_LocalPlayerCrew_Colour_Green
iB = g_Private_LocalPlayerCrew_Colour_Blue
BREAK
CASE 7 // Patriot (Red, White, and Blue)
iR = 0 iG = 0 iB = 0
BREAK
ENDSWITCH
ENDPROC
FUNC INT GET_PARACHUTE_CANOPY_INDEX_FROM_MODEL_AND_TINT(MODEL_NAMES eModelOverride, INT iTint, PARACHUTE_CANOPY_TYPE eCanopyType = PARACHUTE_CANOPY_STANDARD)
SWITCH eCanopyType
CASE PARACHUTE_CANOPY_TEAM_COLOUR
SWITCH ENUM_TO_INT(eModelOverride)
CASE HASH("xm_prop_x17_Para_SP_S")
RETURN iTint
BREAK
ENDSWITCH
BREAK
CASE PARACHUTE_CANOPY_STANDARD
SWITCH ENUM_TO_INT(eModelOverride)
CASE HASH("lts_P_Para_Pilot2_SP_S")
SWITCH iTint
CASE 0 RETURN 0 BREAK // Rainbow Chute
CASE 1 RETURN 1 BREAK // Red Chute
CASE 2 RETURN 2 BREAK // Seaside Stripes Chute
CASE 3 RETURN 3 BREAK // Widowmaker Chute
CASE 4 RETURN 4 BREAK // Patriot Chute
CASE 5 RETURN 5 BREAK // Blue Chute
CASE 6 RETURN 6 BREAK // Black Chute
CASE 7 RETURN 7 BREAK // Hornet Chute
CASE 8 RETURN 8 BREAK // Air Force Chute
CASE 9 RETURN 9 BREAK // Desert Chute
CASE 10 RETURN 10 BREAK // Shadow Chute
CASE 11 RETURN 11 BREAK // High Altitude Chute
CASE 12 RETURN 12 BREAK // Airborne Chute
CASE 13 RETURN 13 BREAK // Sunrise Chute
ENDSWITCH
BREAK
CASE HASH("tr_prop_TR_Para_SP_S_01a")
SWITCH iTint
CASE 0 RETURN 0 BREAK // Rainbow Chute
CASE 1 RETURN 14 BREAK // Sprunk Chute
CASE 2 RETURN 15 BREAK // eCola Chute
CASE 3 RETURN 16 BREAK // Halloween Chute
ENDSWITCH
BREAK
CASE HASH("reh_prop_reh_Para_SP_S_01a")
SWITCH iTint
CASE 0 RETURN 0 BREAK // Rainbow Chute
CASE 1 RETURN 17 BREAK // Junk Energy
ENDSWITCH
BREAK
ENDSWITCH
BREAK
ENDSWITCH
RETURN 0
ENDFUNC
FUNC BOOL GET_PARACHUTE_MODEL_AND_TINT_FROM_CANOPY_INDEX(INT iCanopyIndex, PARACHUTE_CANOPY_TYPE eCanopyType, MODEL_NAMES &eModelOverride, INT &iTint)
eModelOverride = DUMMY_MODEL_FOR_SCRIPT
iTint = 0
SWITCH eCanopyType
CASE PARACHUTE_CANOPY_TEAM_COLOUR
eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("xm_prop_x17_Para_SP_S"))
iTint = iCanopyIndex
BREAK
CASE PARACHUTE_CANOPY_STANDARD
SWITCH iCanopyIndex
CASE 0 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("lts_P_Para_Pilot2_SP_S")) iTint = 0 BREAK // Rainbow Chute
CASE 1 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("lts_P_Para_Pilot2_SP_S")) iTint = 1 BREAK // Red Chute
CASE 2 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("lts_P_Para_Pilot2_SP_S")) iTint = 2 BREAK // Seaside Stripes Chute
CASE 3 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("lts_P_Para_Pilot2_SP_S")) iTint = 3 BREAK // Widowmaker Chute
CASE 4 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("lts_P_Para_Pilot2_SP_S")) iTint = 4 BREAK // Patriot Chute
CASE 5 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("lts_P_Para_Pilot2_SP_S")) iTint = 5 BREAK // Blue Chute
CASE 6 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("lts_P_Para_Pilot2_SP_S")) iTint = 6 BREAK // Black Chute
CASE 7 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("lts_P_Para_Pilot2_SP_S")) iTint = 7 BREAK // Hornet Chute
CASE 8 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("lts_P_Para_Pilot2_SP_S")) iTint = 8 BREAK // Air Force Chute
CASE 9 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("lts_P_Para_Pilot2_SP_S")) iTint = 9 BREAK // Desert Chute
CASE 10 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("lts_P_Para_Pilot2_SP_S")) iTint = 10 BREAK // Shadow Chute
CASE 11 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("lts_P_Para_Pilot2_SP_S")) iTint = 11 BREAK // High Altitude Chute
CASE 12 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("lts_P_Para_Pilot2_SP_S")) iTint = 12 BREAK // Airborne Chute
CASE 13 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("lts_P_Para_Pilot2_SP_S")) iTint = 13 BREAK // Sunrise Chute
CASE 14 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("tr_prop_TR_Para_SP_S_01a")) iTint = 1 BREAK // Sprunk Chute
CASE 15 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("tr_prop_TR_Para_SP_S_01a")) iTint = 2 BREAK // eCola Chute
CASE 16 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("tr_prop_TR_Para_SP_S_01a")) iTint = 3 BREAK // Halloween Chute
CASE 17 eModelOverride = INT_TO_ENUM(MODEL_NAMES, HASH("reh_prop_reh_Para_SP_S_01a")) iTint = 1 BREAK // Junk Energy Chute
ENDSWITCH
BREAK
ENDSWITCH
RETURN (eModelOverride != DUMMY_MODEL_FOR_SCRIPT)
ENDFUNC
/// PURPOSE: Helper function to consolidate tint index and model override calls for parachute canopies.
///
PROC SET_PLAYER_PARACHUTE_CANOPY(PLAYER_INDEX playerID, INT iCanopyIndex, PARACHUTE_CANOPY_TYPE eCanopyType = PARACHUTE_CANOPY_STANDARD)
MODEL_NAMES eModelOverride
INT iTint
IF GET_PARACHUTE_MODEL_AND_TINT_FROM_CANOPY_INDEX(iCanopyIndex, eCanopyType, eModelOverride, iTint)
PRINTLN("SET_PLAYER_PARACHUTE_CANOPY - Setting tint index ", iTint, " for model ", GET_MODEL_NAME_FOR_DEBUG(eModelOverride))
SET_PLAYER_PARACHUTE_TINT_INDEX(playerID, iTint)
SET_PLAYER_PARACHUTE_MODEL_OVERRIDE(playerID, ENUM_TO_INT(eModelOverride))
ELSE
PRINTLN("SET_PLAYER_PARACHUTE_CANOPY - Setting tint index 0")
SET_PLAYER_PARACHUTE_TINT_INDEX(playerID, 0)
CLEAR_PLAYER_PARACHUTE_MODEL_OVERRIDE(playerID)
ENDIF
ENDPROC
/// PURPOSE: Helper function to consolidate tint index and model override calls for reserve parachute canopies.
///
PROC SET_PLAYER_RESERVE_PARACHUTE_CANOPY(PLAYER_INDEX playerID, INT iCanopyIndex, PARACHUTE_CANOPY_TYPE eCanopyType = PARACHUTE_CANOPY_STANDARD)
MODEL_NAMES eModelOverride
INT iTint
IF GET_PARACHUTE_MODEL_AND_TINT_FROM_CANOPY_INDEX(iCanopyIndex, eCanopyType, eModelOverride, iTint)
PRINTLN("SET_PLAYER_RESERVE_PARACHUTE_CANOPY - Setting tint index ", iTint, " for model ", GET_MODEL_NAME_FOR_DEBUG(eModelOverride))
SET_PLAYER_RESERVE_PARACHUTE_TINT_INDEX(playerID, iTint)
SET_PLAYER_RESERVE_PARACHUTE_MODEL_OVERRIDE(playerID, ENUM_TO_INT(eModelOverride))
ELSE
PRINTLN("SET_PLAYER_RESERVE_PARACHUTE_CANOPY - Setting tint index 0")
SET_PLAYER_RESERVE_PARACHUTE_TINT_INDEX(playerID, 0)
CLEAR_PLAYER_RESERVE_PARACHUTE_MODEL_OVERRIDE(playerID)
ENDIF
ENDPROC
/// PURPOSE: Turns on the reserve parachute for the a player.
/// NOTE: Set iTint to -1 to use the last purchased chute index.
PROC GIVE_RESERVE_PARACHUTE_TO_PLAYER(INT iTint = -1, BOOL bUpdateSavedTint = FALSE)
IF NETWORK_IS_GAME_IN_PROGRESS()
IF iTint = -1
iTint = GET_PACKED_STAT_INT(PACKED_MP_STAT_RESERVE_PARACHUTE_TINT)
ELIF bUpdateSavedTint
SET_PACKED_STAT_INT(PACKED_MP_STAT_RESERVE_PARACHUTE_TINT, iTint)
ENDIF
ENDIF
SET_PLAYER_HAS_RESERVE_PARACHUTE(PLAYER_ID())
SET_PLAYER_RESERVE_PARACHUTE_CANOPY(PLAYER_ID(), iTint)
ENDPROC
FUNC BOOL HAS_PED_WEAPON_GOT_A_SCOPE(PED_INDEX pedID, WEAPON_TYPE eWeapon)
IF NOT IS_PED_INJURED(pedID)
IF HAS_PED_GOT_WEAPON(pedID, eWeapon)
// Check pre-defined scopes
IF HAS_PED_GOT_WEAPON_COMPONENT(pedID, eWeapon, WEAPONCOMPONENT_AT_SCOPE_MACRO)
OR HAS_PED_GOT_WEAPON_COMPONENT(pedID, eWeapon, WEAPONCOMPONENT_AT_SCOPE_MACRO_02)
OR HAS_PED_GOT_WEAPON_COMPONENT(pedID, eWeapon, WEAPONCOMPONENT_AT_SCOPE_SMALL)
OR HAS_PED_GOT_WEAPON_COMPONENT(pedID, eWeapon, WEAPONCOMPONENT_AT_SCOPE_SMALL_02)
OR HAS_PED_GOT_WEAPON_COMPONENT(pedID, eWeapon, WEAPONCOMPONENT_AT_SCOPE_MEDIUM)
OR HAS_PED_GOT_WEAPON_COMPONENT(pedID, eWeapon, WEAPONCOMPONENT_AT_SCOPE_LARGE)
OR HAS_PED_GOT_WEAPON_COMPONENT(pedID, eWeapon, WEAPONCOMPONENT_AT_SCOPE_MAX)
OR HAS_PED_GOT_WEAPON_COMPONENT(pedID, eWeapon, WEAPONCOMPONENT_DLC_AT_SCOPE_LARGE_FIXED_ZOOM)
RETURN TRUE
ENDIF
// Check DLC components
INT iDLCIndex
INT iComp
scrShopWeaponData weaponData
scrShopWeaponComponentData compData
iDLCIndex = GET_DLC_WEAPON_DATA_FOR_WEAPON_TYPE(eWeapon, weaponData)
IF iDLCIndex != -1
REPEAT GET_NUM_DLC_WEAPON_COMPONENTS(iDLCIndex) iComp
IF GET_DLC_WEAPON_COMPONENT_DATA(iDLCIndex, iComp, compData)
IF compData.ModType = HASH("WAPScop")
RETURN TRUE
ENDIF
ENDIF
ENDREPEAT
ENDIF
ENDIF
ENDIF
RETURN FALSE
ENDFUNC
/// PURPOSE:
/// Check if WEAPON_TYPE is valid
FUNC BOOL IS_MP_WEAPONTYPE_VALID(WEAPON_TYPE eWeaponType)
SWITCH eWeaponType
CASE WEAPONTYPE_PISTOL
CASE WEAPONTYPE_COMBATPISTOL
CASE WEAPONTYPE_APPISTOL
CASE WEAPONTYPE_MICROSMG
CASE WEAPONTYPE_SMG
CASE WEAPONTYPE_ASSAULTRIFLE
CASE WEAPONTYPE_CARBINERIFLE
CASE WEAPONTYPE_ADVANCEDRIFLE
CASE WEAPONTYPE_MG
CASE WEAPONTYPE_COMBATMG
CASE WEAPONTYPE_PUMPSHOTGUN
CASE WEAPONTYPE_SAWNOFFSHOTGUN
CASE WEAPONTYPE_ASSAULTSHOTGUN
CASE WEAPONTYPE_SNIPERRIFLE
CASE WEAPONTYPE_HEAVYSNIPER
CASE WEAPONTYPE_GRENADELAUNCHER
CASE WEAPONTYPE_RPG
CASE WEAPONTYPE_MINIGUN
CASE WEAPONTYPE_GRENADE
CASE WEAPONTYPE_SMOKEGRENADE
CASE WEAPONTYPE_STICKYBOMB
CASE WEAPONTYPE_MOLOTOV
CASE WEAPONTYPE_FLARE
CASE WEAPONTYPE_KNIFE
CASE WEAPONTYPE_NIGHTSTICK
CASE WEAPONTYPE_HAMMER
CASE WEAPONTYPE_DLC_PISTOL50
CASE WEAPONTYPE_DLC_ASSAULTSMG
CASE WEAPONTYPE_DLC_HEAVYRIFLE
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN
CASE WEAPONTYPE_DLC_ASSAULTMG
CASE WEAPONTYPE_DLC_ASSAULTSNIPER
CASE WEAPONTYPE_DLC_SPECIALCARBINE
CASE WEAPONTYPE_DLC_BOTTLE
CASE WEAPONTYPE_DLC_BULLPUPRIFLE
CASE WEAPONTYPE_DLC_HEAVYPISTOL
CASE WEAPONTYPE_DLC_SNSPISTOL
CASE WEAPONTYPE_DLC_DAGGER
CASE WEAPONTYPE_DLC_VINTAGEPISTOL
CASE WEAPONTYPE_DLC_GUSENBERG
CASE WEAPONTYPE_DLC_FLAREGUN
CASE WEAPONTYPE_DLC_FIREWORK
CASE WEAPONTYPE_DLC_MUSKET
CASE WEAPONTYPE_DLC_AMRIFLE
CASE WEAPONTYPE_DLC_HEAVYSHOTGUN
CASE WEAPONTYPE_DLC_MARKSMANRIFLE
CASE WEAPONTYPE_DLC_HOMINGLAUNCHER
CASE WEAPONTYPE_DLC_PROXMINE
CASE WEAPONTYPE_DLC_SNOWBALL
CASE WEAPONTYPE_DLC_COMBATPDW
CASE WEAPONTYPE_DLC_KNUCKLE
CASE WEAPONTYPE_DLC_MARKSMANPISTOL
CASE WEAPONTYPE_DLC_HATCHET
CASE WEAPONTYPE_DLC_COMPACTRIFLE
CASE WEAPONTYPE_DLC_DBSHOTGUN
CASE WEAPONTYPE_DLC_MACHETE
CASE WEAPONTYPE_DLC_MACHINEPISTOL
CASE WEAPONTYPE_DLC_FLASHLIGHT
CASE WEAPONTYPE_DLC_REVOLVER
CASE WEAPONTYPE_DLC_SWITCHBLADE
CASE WEAPONTYPE_PETROLCAN
CASE WEAPONTYPE_BAT
CASE WEAPONTYPE_CROWBAR
CASE WEAPONTYPE_GOLFCLUB
CASE WEAPONTYPE_DLC_AUTOSHOTGUN
CASE WEAPONTYPE_DLC_MINISMG
CASE WEAPONTYPE_DLC_COMPACTLAUNCHER
CASE WEAPONTYPE_DLC_BATTLEAXE
CASE WEAPONTYPE_DLC_PIPEBOMB
CASE WEAPONTYPE_DLC_POOLCUE
CASE WEAPONTYPE_DLC_WRENCH
CASE WEAPONTYPE_DLC_ASSAULTRIFLE_MK2
CASE WEAPONTYPE_DLC_CARBINERIFLE_MK2
CASE WEAPONTYPE_DLC_COMBATMG_MK2
CASE WEAPONTYPE_DLC_HEAVYSNIPER_MK2
CASE WEAPONTYPE_DLC_PISTOL_MK2
CASE WEAPONTYPE_DLC_SMG_MK2
CASE WEAPONTYPE_DLC_BULLPUPRIFLE_MK2
CASE WEAPONTYPE_DLC_MARKSMANRIFLE_MK2
CASE WEAPONTYPE_DLC_PUMPSHOTGUN_MK2
CASE WEAPONTYPE_DLC_REVOLVER_MK2
CASE WEAPONTYPE_DLC_SNSPISTOL_MK2
CASE WEAPONTYPE_DLC_SPECIALCARBINE_MK2
CASE WEAPONTYPE_DLC_DOUBLEACTION
CASE WEAPONTYPE_DLC_STONE_HATCHET
CASE WEAPONTYPE_DLC_RAYPISTOL
CASE WEAPONTYPE_DLC_RAYCARBINE
CASE WEAPONTYPE_DLC_RAYMINIGUN
CASE WEAPONTYPE_DLC_NAVYREVOLVER
CASE WEAPONTYPE_DLC_CERAMICPISTOL
#IF FEATURE_COPS_N_CROOKS
CASE WEAPONTYPE_DLC_BATON
CASE WEAPONTYPE_DLC_POLICERIFLE
#ENDIF
CASE WEAPONTYPE_DLC_GADGETPISTOL
CASE WEAPONTYPE_DLC_MILITARYRIFLE
CASE WEAPONTYPE_DLC_COMBATSHOTGUN
CASE WEAPONTYPE_DLC_EMPLAUNCHER
CASE WEAPONTYPE_DLC_FERTILIZERCAN
CASE WEAPONTYPE_DLC_STUNGUNG_MP
#IF FEATURE_DLC_1_2022
//CASE WEAPONTYPE_DLC_METALDETECTOR
CASE WEAPONTYPE_DLC_TACTICALRIFLE
CASE WEAPONTYPE_DLC_PRECISIONRIFLE
#ENDIF
RETURN TRUE
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
/// PURPOSE:
/// Gets the packed stat for hide/show weapon
/// remember to update RESET_CUSTOM_WEAPON_LOADOUT_STATS
/// ALWAYS CHECK IS_MP_WEAPONTYPE_VALID before calling this
FUNC STATS_PACKED GET_WEAPON_HIDE_PACKED_STAT(WEAPON_TYPE eWeaponType)
SWITCH eWeaponType
CASE WEAPONTYPE_PISTOL RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_1 BREAK
CASE WEAPONTYPE_COMBATPISTOL RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_2 BREAK
CASE WEAPONTYPE_APPISTOL RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_3 BREAK
CASE WEAPONTYPE_SMG RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_4 BREAK
CASE WEAPONTYPE_ASSAULTRIFLE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_5 BREAK
CASE WEAPONTYPE_CARBINERIFLE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_6 BREAK
CASE WEAPONTYPE_ADVANCEDRIFLE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_7 BREAK
CASE WEAPONTYPE_MG RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_8 BREAK
CASE WEAPONTYPE_COMBATMG RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_9 BREAK
CASE WEAPONTYPE_PUMPSHOTGUN RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_10 BREAK
CASE WEAPONTYPE_SAWNOFFSHOTGUN RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_11 BREAK
CASE WEAPONTYPE_ASSAULTSHOTGUN RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_12 BREAK
CASE WEAPONTYPE_SNIPERRIFLE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_13 BREAK
CASE WEAPONTYPE_GRENADELAUNCHER RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_14 BREAK
CASE WEAPONTYPE_RPG RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_15 BREAK
CASE WEAPONTYPE_MINIGUN RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_16 BREAK
CASE WEAPONTYPE_GRENADE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_17 BREAK
CASE WEAPONTYPE_SMOKEGRENADE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_18 BREAK
CASE WEAPONTYPE_STICKYBOMB RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_19 BREAK
CASE WEAPONTYPE_MOLOTOV RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_20 BREAK
CASE WEAPONTYPE_FLARE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_21 BREAK
CASE WEAPONTYPE_KNIFE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_22 BREAK
CASE WEAPONTYPE_NIGHTSTICK RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_23 BREAK
CASE WEAPONTYPE_HAMMER RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_24 BREAK
CASE WEAPONTYPE_DLC_PISTOL50 RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_25 BREAK
CASE WEAPONTYPE_DLC_ASSAULTSMG RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_26 BREAK
CASE WEAPONTYPE_DLC_HEAVYRIFLE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_27 BREAK
CASE WEAPONTYPE_DLC_BULLPUPSHOTGUN RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_28 BREAK
CASE WEAPONTYPE_DLC_ASSAULTMG RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_29 BREAK
CASE WEAPONTYPE_DLC_ASSAULTSNIPER RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_30 BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_31 BREAK
CASE WEAPONTYPE_DLC_BOTTLE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_32 BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_33 BREAK
CASE WEAPONTYPE_DLC_HEAVYPISTOL RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_34 BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_35 BREAK
CASE WEAPONTYPE_DLC_DAGGER RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_36 BREAK
CASE WEAPONTYPE_DLC_VINTAGEPISTOL RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_37 BREAK
CASE WEAPONTYPE_DLC_GUSENBERG RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_38 BREAK
CASE WEAPONTYPE_DLC_FLAREGUN RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_39 BREAK
CASE WEAPONTYPE_DLC_FIREWORK RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_40 BREAK
CASE WEAPONTYPE_DLC_MUSKET RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_41 BREAK
CASE WEAPONTYPE_DLC_AMRIFLE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_42 BREAK
CASE WEAPONTYPE_DLC_HEAVYSHOTGUN RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_43 BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_44 BREAK
CASE WEAPONTYPE_DLC_HOMINGLAUNCHER RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_45 BREAK
CASE WEAPONTYPE_DLC_PROXMINE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_46 BREAK
CASE WEAPONTYPE_DLC_SNOWBALL RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_47 BREAK
CASE WEAPONTYPE_DLC_COMBATPDW RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_48 BREAK
CASE WEAPONTYPE_DLC_KNUCKLE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_49 BREAK
CASE WEAPONTYPE_DLC_MARKSMANPISTOL RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_50 BREAK
CASE WEAPONTYPE_DLC_HATCHET RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_51 BREAK
CASE WEAPONTYPE_DLC_COMPACTRIFLE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_52 BREAK
CASE WEAPONTYPE_DLC_DBSHOTGUN RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_53 BREAK
CASE WEAPONTYPE_DLC_MACHETE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_54 BREAK
CASE WEAPONTYPE_DLC_MACHINEPISTOL RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_55 BREAK
CASE WEAPONTYPE_DLC_FLASHLIGHT RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_56 BREAK
CASE WEAPONTYPE_DLC_REVOLVER RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_57 BREAK
CASE WEAPONTYPE_DLC_SWITCHBLADE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_58 BREAK
CASE WEAPONTYPE_MICROSMG RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_59 BREAK
CASE WEAPONTYPE_HEAVYSNIPER RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_60 BREAK
CASE WEAPONTYPE_PETROLCAN RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_61 BREAK
CASE WEAPONTYPE_GOLFCLUB RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_62 BREAK
CASE WEAPONTYPE_BAT RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_63 BREAK
CASE WEAPONTYPE_CROWBAR RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_64 BREAK
CASE WEAPONTYPE_DLC_AUTOSHOTGUN RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_65 BREAK
CASE WEAPONTYPE_DLC_BATTLEAXE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_66 BREAK
CASE WEAPONTYPE_DLC_COMPACTLAUNCHER RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_67 BREAK
CASE WEAPONTYPE_DLC_MINISMG RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_68 BREAK
CASE WEAPONTYPE_DLC_PIPEBOMB RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_69 BREAK
CASE WEAPONTYPE_DLC_POOLCUE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_70 BREAK
CASE WEAPONTYPE_DLC_WRENCH RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_71 BREAK
CASE WEAPONTYPE_DLC_PISTOL_MK2 RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_72 BREAK
CASE WEAPONTYPE_DLC_SMG_MK2 RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_73 BREAK
CASE WEAPONTYPE_DLC_HEAVYSNIPER_MK2 RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_74 BREAK
CASE WEAPONTYPE_DLC_COMBATMG_MK2 RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_75 BREAK
CASE WEAPONTYPE_DLC_ASSAULTRIFLE_MK2 RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_76 BREAK
CASE WEAPONTYPE_DLC_CARBINERIFLE_MK2 RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_77 BREAK
CASE WEAPONTYPE_DLC_BULLPUPRIFLE_MK2 RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_79 BREAK
CASE WEAPONTYPE_DLC_MARKSMANRIFLE_MK2 RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_80 BREAK
CASE WEAPONTYPE_DLC_PUMPSHOTGUN_MK2 RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_81 BREAK
CASE WEAPONTYPE_DLC_REVOLVER_MK2 RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_82 BREAK
CASE WEAPONTYPE_DLC_SNSPISTOL_MK2 RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_83 BREAK
CASE WEAPONTYPE_DLC_SPECIALCARBINE_MK2 RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_84 BREAK
CASE WEAPONTYPE_DLC_DOUBLEACTION RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_78 BREAK
CASE WEAPONTYPE_DLC_STONE_HATCHET RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_85 BREAK
CASE WEAPONTYPE_DLC_RAYPISTOL RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_86 BREAK
CASE WEAPONTYPE_DLC_RAYCARBINE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_87 BREAK
CASE WEAPONTYPE_DLC_RAYMINIGUN RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_88 BREAK
CASE WEAPONTYPE_DLC_CERAMICPISTOL RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_89 BREAK
CASE WEAPONTYPE_DLC_NAVYREVOLVER RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_90 BREAK
#IF FEATURE_COPS_N_CROOKS
CASE WEAPONTYPE_DLC_BATON RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_91 BREAK
CASE WEAPONTYPE_DLC_POLICERIFLE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_92 BREAK
#ENDIF
CASE WEAPONTYPE_DLC_MILITARYRIFLE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_93 BREAK
CASE WEAPONTYPE_DLC_GADGETPISTOL RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_94 BREAK
CASE WEAPONTYPE_DLC_COMBATSHOTGUN RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_95 BREAK
#IF FEATURE_FIXER
CASE WEAPONTYPE_DLC_EMPLAUNCHER RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_96 BREAK
CASE WEAPONTYPE_DLC_FERTILIZERCAN RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_97 BREAK
CASE WEAPONTYPE_DLC_STUNGUNG_MP RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_98 BREAK
#ENDIF
#IF FEATURE_DLC_1_2022
CASE WEAPONTYPE_DLC_TACTICALRIFLE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_99 BREAK
CASE WEAPONTYPE_DLC_PRECISIONRIFLE RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_100 BREAK
#ENDIF
ENDSWITCH
SCRIPT_ASSERT("GET_WEAPON_HIDE_PACKED_STAT - Invalid eWeaponType passed in - Tell Ata Tabrizi")
PRINTLN("GET_WEAPON_HIDE_PACKED_STAT - Invalid eWeaponType: ", eWeaponType)
RETURN PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_0
ENDFUNC
/// PURPOSE:
/// Check if hide all option is active for weapon group
FUNC BOOL IS_WEAPON_TYPE_HIDE_ALL_ACTIVE(WEAPON_GROUP eWeaponGroup,WEAPON_TYPE eWeaponType)
IF eWeaponType = WEAPONTYPE_DLC_KNUCKLE
IF GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_MELEE)
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
ENDIF
IF eWeaponType = WEAPONTYPE_DLC_MUSKET
IF GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SHOTGUN)
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
ENDIF
SWITCH eWeaponGroup
CASE WEAPONGROUP_MELEE
IF GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_MELEE)
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
BREAK
CASE WEAPONGROUP_PISTOL
IF GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_PISTOL)
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
BREAK
CASE WEAPONGROUP_HEAVY
IF GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_HEAVY)
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
BREAK
CASE WEAPONGROUP_SNIPER
IF GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SNIPER)
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
BREAK
CASE WEAPONGROUP_SHOTGUN
IF GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SHOTGUN)
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
BREAK
CASE WEAPONGROUP_THROWN
IF GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_THROWN)
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
BREAK
CASE WEAPONGROUP_MG
CASE WEAPONGROUP_SMG
IF GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SMG)
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
BREAK
CASE WEAPONGROUP_RIFLE
IF GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_RIFLE)
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
BREAK
ENDSWITCH
IF eWeaponType = WEAPONTYPE_PETROLCAN // spacial case for jerry can
AND GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_THROWN)
RETURN TRUE
ENDIF
RETURN FALSE
ENDFUNC
/// PURPOSE:
/// Reset packed stat for custom weapon loadout
PROC RESET_CUSTOM_WEAPON_LOADOUT_STATS()
INT iStart, iEnd, iLoop//, iStartBiker, iEndBiker, iStartGunrunning, iEndGunrunning
iStart = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_0)
iEnd = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_63)
FOR iLoop = iStart TO iEnd
SET_PACKED_STAT_BOOL(INT_TO_ENUM(STATS_PACKED,iLoop), FALSE)
ENDFOR
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_64, FALSE)
// Reset biker pack weapons
iStart = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_65)
iEnd = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_71)
FOR iLoop = iStart TO iEnd
SET_PACKED_STAT_BOOL(INT_TO_ENUM(STATS_PACKED,iLoop), FALSE)
ENDFOR
// Reset gunrunnning pack weapons
iStart = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_72)
iEnd = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_77)
FOR iLoop = iStart TO iEnd
SET_PACKED_STAT_BOOL(INT_TO_ENUM(STATS_PACKED,iLoop), FALSE)
ENDFOR
// Reset Smuggler pack weapon
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_78, FALSE)
// Reset gang ops pack weapon
iStart = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_79)
iEnd = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_84)
FOR iLoop = iStart TO iEnd
SET_PACKED_STAT_BOOL(INT_TO_ENUM(STATS_PACKED,iLoop), FALSE)
ENDFOR
// Reset Business battle pack weapon
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_85, FALSE)
// Reset Arena wars pack weapon
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_86, FALSE)
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_87, FALSE)
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_88, FALSE)
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_89, FALSE)
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_90, FALSE)
#IF FEATURE_COPS_N_CROOKS
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_91, FALSE)
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_92, FALSE)
#ENDIF
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_93, FALSE)
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_94, FALSE)
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_95, FALSE)
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_96, FALSE)
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_97, FALSE)
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_98, FALSE)
#IF FEATURE_DLC_1_2022
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_99, FALSE)
SET_PACKED_STAT_BOOL(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_100, FALSE)
#ENDIF
// Reset hide all options
iStart = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_MELEE)
iEnd = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_THROWN)
FOR iLoop = iStart TO iEnd
SET_PACKED_STAT_BOOL(INT_TO_ENUM(STATS_PACKED,iLoop), FALSE)
ENDFOR
ENDPROC
PROC PRINT_WEAPON_LOADOUT_PACKED_STAT_INFO()
INT iStart, iEnd, iLoop, iStartBiker, iEndBiker, iStartGunrunning, iEndGunrunning
iStart = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_0)
iEnd = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_63)
INT iNum = 0
FOR iLoop = iStart TO iEnd
PRINTLN("PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_",iNum, ":", INT_TO_ENUM(STATS_PACKED, iLoop), ", ", GET_BOOL_PACKED_STAT_KEY(INT_TO_ENUM(STATS_PACKED, iLoop)), ", ", GET_BOOL_PACKED_STAT_BITSHIFT(INT_TO_ENUM(STATS_PACKED, iLoop)))
iNum++
ENDFOR
// print biker pack weapons
iStartBiker = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_65)
iEndBiker = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_71)
iNum = 65
FOR iLoop = iStartBiker TO iEndBiker
PRINTLN("PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_",iNum, ":", INT_TO_ENUM(STATS_PACKED, iLoop), ", ", GET_BOOL_PACKED_STAT_KEY(INT_TO_ENUM(STATS_PACKED, iLoop)), ", ", GET_BOOL_PACKED_STAT_BITSHIFT(INT_TO_ENUM(STATS_PACKED, iLoop)))
iNum++
ENDFOR
// print gunrunning pack weapons
iStartGunrunning = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_72)
iEndGunrunning = ENUM_TO_INT(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_77)
iNum = 72
FOR iLoop = iStartGunrunning TO iEndGunrunning
PRINTLN("PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_",iNum, ":", INT_TO_ENUM(STATS_PACKED, iLoop), ", ", GET_BOOL_PACKED_STAT_KEY(INT_TO_ENUM(STATS_PACKED, iLoop)), ", ", GET_BOOL_PACKED_STAT_BITSHIFT(INT_TO_ENUM(STATS_PACKED, iLoop)))
iNum++
ENDFOR
PRINTLN("PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_64:",PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_64, ", ", GET_BOOL_PACKED_STAT_KEY(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_64), ", ", GET_BOOL_PACKED_STAT_BITSHIFT(PACKED_MP_BOOL_CUSTOM_L_HIDE_WEAPON_64))
PRINTLN("PACKED_MP_BOOL_CUSTOM_HIDE_ALL_MELEE :",PACKED_MP_BOOL_CUSTOM_HIDE_ALL_MELEE, ", ", GET_BOOL_PACKED_STAT_KEY(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_MELEE), ", ", GET_BOOL_PACKED_STAT_BITSHIFT(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_MELEE))
PRINTLN("PACKED_MP_BOOL_CUSTOM_HIDE_ALL_PISTOL :",PACKED_MP_BOOL_CUSTOM_HIDE_ALL_PISTOL, ", ", GET_BOOL_PACKED_STAT_KEY(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_PISTOL), ", ", GET_BOOL_PACKED_STAT_BITSHIFT(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_PISTOL))
PRINTLN("PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SMG :",PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SMG, ", ", GET_BOOL_PACKED_STAT_KEY(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SMG), ", ", GET_BOOL_PACKED_STAT_BITSHIFT(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SMG))
PRINTLN("PACKED_MP_BOOL_CUSTOM_HIDE_ALL_RIFLE :",PACKED_MP_BOOL_CUSTOM_HIDE_ALL_RIFLE, ", ", GET_BOOL_PACKED_STAT_KEY(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_RIFLE), ", ", GET_BOOL_PACKED_STAT_BITSHIFT(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_RIFLE))
PRINTLN("PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SHOTGUN :",PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SHOTGUN, ", ", GET_BOOL_PACKED_STAT_KEY(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SHOTGUN), ", ", GET_BOOL_PACKED_STAT_BITSHIFT(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SHOTGUN))
PRINTLN("PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SNIPER :",PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SNIPER, ", ", GET_BOOL_PACKED_STAT_KEY(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SNIPER), ", ", GET_BOOL_PACKED_STAT_BITSHIFT(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_SNIPER))
PRINTLN("PACKED_MP_BOOL_CUSTOM_HIDE_ALL_HEAVY :",PACKED_MP_BOOL_CUSTOM_HIDE_ALL_HEAVY, ", ", GET_BOOL_PACKED_STAT_KEY(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_HEAVY), ", ", GET_BOOL_PACKED_STAT_BITSHIFT(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_HEAVY))
PRINTLN("PACKED_MP_BOOL_CUSTOM_HIDE_ALL_THROWN :",PACKED_MP_BOOL_CUSTOM_HIDE_ALL_THROWN, ", ", GET_BOOL_PACKED_STAT_KEY(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_THROWN), ", ", GET_BOOL_PACKED_STAT_BITSHIFT(PACKED_MP_BOOL_CUSTOM_HIDE_ALL_THROWN))
ENDPROC