Files
2025-09-29 00:52:08 +02:00

1592 lines
66 KiB
Python
Executable File

/***********************************
* Name: MP_Weapons.sc
* Author: Brenda Carey
* Date: 15/10/2012
***********************************/
USING "PauseMenu_public.sch"
USING "net_include.sch"
USING "MPHud_Weapons.sch"
// ************************************************************
// ******************** MAIN SCRIPT LOOP **********************
// ************************************************************
CONST_INT ciPISTOL50 0
CONST_INT ciBULLPUPSHOTGUN 1
CONST_INT ciSAWNOFFSHOTGUN 2
CONST_INT ciBOTTLE 3
CONST_INT ciSNSPISTOL 4
CONST_INT ciSPECIALCARBINE 5
CONST_INT ciBULLPUPRIFLE 6
CONST_INT ciHEAVYPISTOL 7
CONST_INT ciDAGGER 8
CONST_INT ciVINTAGEPISTOL 9
CONST_INT ciHAMMER 10
CONST_INT ciGUSENBERG 11
CONST_INT ciFLAREGUN 12
CONST_INT ciMUSKET 13
CONST_INT ciFIREWORK 14
CONST_INT ciHEAVYSHOT 15
CONST_INT ciMARKSMAN 16
CONST_INT ciPROXIMITY 17
CONST_INT ciHOMING 18
CONST_INT ciPDW 19
CONST_INT ciSSP 20
CONST_INT ciKNUCKLES 21
CONST_INT ciHATCHET 22
CONST_INT ciMACHETE 23
CONST_INT ciMACHPISTOL 24
CONST_INT ciFLASHLIGHT 25
CONST_INT ciMAGNUM 26
CONST_INT ciSWITCHBLADE 27
CONST_INT ciDBSHOTGUN 28
CONST_INT ciCOMPACT 29
CONST_INT ciAUTOSHOTGUN 30
CONST_INT ciBATTLEAXE 31
CONST_INT ciCOMPACTLAUNCHER 32
CONST_INT ciMINISMG 33
CONST_INT ciPIPEBOMB 34
CONST_INT ciPOOLCUE 35
CONST_INT ciWRENCH 36
CONST_INT ciASSAULTRIFLE_MK2 37
CONST_INT ciCARBINERIFLE_MK2 38
CONST_INT ciCOMBATMG_MK2 39
CONST_INT ciHEAVYSNIPER_MK2 40
CONST_INT ciPISTOL_MK2 41
CONST_INT ciSMG_MK2 42
CONST_INT ciBULLPUPRIFLE_MK2 43
CONST_INT ciMARKSMANRIFLE_MK2 44
CONST_INT ciPUMPSHOTGUN_MK2 45
CONST_INT ciREVOLVER_MK2 46
CONST_INT ciSNSPISTOL_MK2 47
CONST_INT ciSPECIALCARBINE_MK2 48
CONST_INT ciDOUBLEACTIONREVOLVER_MK2 49
CONST_INT ciSTONEHATCHET_MK2 50
CONST_INT ciRAYCARBINE 51
CONST_INT ciRAYMINIGUN 52
CONST_INT ciRAYPISTOL 53
CONST_INT ciCERAMICPISOL 54
CONST_INT ciNAVYREVOLVER 55
CONST_INT ciMILITARYRIFLE 56
CONST_INT ciCOMBATSHOTGUN 57
CONST_INT ciGADGETPISTOL 58
CONST_INT ciEMPLAUNCHER 59
CONST_INT ciSTUNGUN_MP 60
CONST_INT ciHEAVYRIFLE 61
CONST_INT ciTACTICALRIFLE 62
CONST_INT ciPRECISIONRIFLE 63
CONST_INT CIMAXWEAPONS 64
//IF g_sMPTunables.bENABLE_TREASURE_HUNT
// CIMAXWEAPONS = 50
//ELSE
// CIMAXWEAPONS = 49
//ENDIF
INT iWeaponPage[CIMAXWEAPONS]
PROC RUN_WARNINGSCREEN_GO_TO_STORE()
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_ACCEPT)
OPEN_COMMERCE_STORE("beachbum_pack", "")
EXIT
ENDIF
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL)
ENDIF
STRING sStatementText = "FE_HLP32" // Confirm
STRING sLineOneMessge = "GOTO_STORE_CONFIRM" // Are you sure you want to go to the store?
STRING sLineTwoMessge = ""
SET_WARNING_MESSAGE_WITH_HEADER(sStatementText, sLineOneMessge, FE_WARNING_YESNO , sLineTwoMessge)
ENDPROC
PROC CHECK_NUMBER_OF_WEAPONS()
MAX_NUM_WEAPON_LAST_PAGE = 0
MAX_NUM_WEAPON_PAGES = 3
// IF IS_SPECIAL_EDITION_GAME()
// OR IS_COLLECTORS_EDITION_GAME()
IF IS_WEAPON_VALID(WEAPONTYPE_HAMMER)
iWeaponPage[ciHAMMER] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_HAMMER MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciHAMMER] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_PISTOL50)
iWeaponPage[ciPISTOL50] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_PISTOL50 MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciPISTOL50] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_BULLPUPSHOTGUN)
iWeaponPage[ciBULLPUPSHOTGUN] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_BULLPUPSHOTGUN MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciBULLPUPSHOTGUN] = -1
ENDIF
// ENDIF
IF IS_GAME_LINKED_TO_SOCIAL_CLUB(TRUE)
IF IS_WEAPON_VALID(WEAPONTYPE_SAWNOFFSHOTGUN)
iWeaponPage[ciSAWNOFFSHOTGUN] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_SAWNOFFSHOTGUN MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciSAWNOFFSHOTGUN] = -1
ENDIF
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_BOTTLE)
iWeaponPage[ciBOTTLE] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_BOTTLE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciBOTTLE] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_SNSPISTOL)
iWeaponPage[ciSNSPISTOL] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_SNSPISTOL MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciSNSPISTOL] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_GUSENBERG)
iWeaponPage[ciGUSENBERG] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_GUSENBERG MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciGUSENBERG] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_HEAVYPISTOL)
iWeaponPage[ciHEAVYPISTOL] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_HEAVYPISTOL MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciHEAVYPISTOL] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_SPECIALCARBINE)
iWeaponPage[ciSPECIALCARBINE] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_SPECIALCARBINE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciSPECIALCARBINE] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_BULLPUPRIFLE)
iWeaponPage[ciBULLPUPRIFLE] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_BULLPUPRIFLE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciBULLPUPRIFLE] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_DAGGER)
iWeaponPage[ciDAGGER] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_DAGGER MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciDAGGER] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_VINTAGEPISTOL)
iWeaponPage[ciVINTAGEPISTOL] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_VINTAGEPISTOL MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciVINTAGEPISTOL] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_FIREWORK)
iWeaponPage[ciFIREWORK] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_FIREWORK MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciFIREWORK] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MUSKET)
iWeaponPage[ciMUSKET] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_MUSKET MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciMUSKET] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_HEAVYSHOTGUN)
iWeaponPage[ciHEAVYSHOT] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_HEAVYSHOTGUN MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciHEAVYSHOT] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MARKSMANRIFLE)
iWeaponPage[ciMARKSMAN] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_MARKSMANRIFLE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciMARKSMAN] = -1
ENDIF
IF IS_LAST_GEN_PLAYER()
OR g_sMPTunables.bENABLE_RETURNING_CONTENT_WEAPON
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_HATCHET)
iWeaponPage[ciHATCHET] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_HATCHET MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciHATCHET] = -1
ENDIF
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_HOMINGLAUNCHER)
iWeaponPage[ciHOMING] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_HOMINGLAUNCHER MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciHOMING] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_PROXMINE)
iWeaponPage[ciPROXIMITY] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_PROXMINE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciPROXIMITY] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_FLAREGUN)
iWeaponPage[ciFLAREGUN] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_FLAREGUN MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciFLAREGUN] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_COMBATPDW)
iWeaponPage[ciPDW] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_COMBATPDW MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciPDW] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MARKSMANPISTOL)
iWeaponPage[ciSSP] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_MARKSMANPISTOL MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciSSP] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_KNUCKLE)
iWeaponPage[ciKNUCKLES] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_KNUCKLE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciKNUCKLES] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MACHETE)
iWeaponPage[ciMACHETE] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_MACHETE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciMACHETE] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MACHINEPISTOL)
iWeaponPage[ciMACHPISTOL] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_MACHINEPISTOL MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciMACHPISTOL] = -1
ENDIF
IF g_sMPTunables.bTURN_ON_HALLOWEEN_WEAPONS
AND IS_WEAPON_VALID(WEAPONTYPE_DLC_FLASHLIGHT)
iWeaponPage[ciFLASHLIGHT] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_FLASHLIGHT MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciFLASHLIGHT] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_REVOLVER)
iWeaponPage[ciMAGNUM] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_REVOLVER MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciMAGNUM] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_SWITCHBLADE)
iWeaponPage[ciSWITCHBLADE] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_SWITCHBLADE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciSWITCHBLADE] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_DBSHOTGUN)
iWeaponPage[ciDBSHOTGUN] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_DBSHOTGUN MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciDBSHOTGUN] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_COMPACTRIFLE)
iWeaponPage[ciCOMPACT] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_COMPACTRIFLE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciCOMPACT] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_AUTOSHOTGUN)
iWeaponPage[ciAUTOSHOTGUN] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_AUTOSHOTGUN MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciAUTOSHOTGUN] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_BATTLEAXE)
iWeaponPage[ciBATTLEAXE] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_BATTLEAXE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciBATTLEAXE] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_COMPACTLAUNCHER)
iWeaponPage[ciCOMPACTLAUNCHER] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_COMPACTLAUNCHER MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciCOMPACTLAUNCHER] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MINISMG)
iWeaponPage[ciMINISMG] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_MINISMG MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciMINISMG] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_PIPEBOMB)
iWeaponPage[ciPIPEBOMB] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_PIPEBOMB MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciPIPEBOMB] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_POOLCUE)
iWeaponPage[ciPOOLCUE] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_POOLCUE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciPOOLCUE] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_WRENCH)
iWeaponPage[ciWRENCH] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_WRENCH MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciWRENCH] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_ASSAULTRIFLE_MK2)
iWeaponPage[ciASSAULTRIFLE_MK2] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_ASSAULTRIFLE_MK2 MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciASSAULTRIFLE_MK2] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_CARBINERIFLE_MK2)
iWeaponPage[ciCARBINERIFLE_MK2] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_CARBINERIFLE_MK2 MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciCARBINERIFLE_MK2] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_COMBATMG_MK2)
iWeaponPage[ciCOMBATMG_MK2] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_COMBATMG_MK2 MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciCOMBATMG_MK2] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_HEAVYSNIPER_MK2)
iWeaponPage[ciHEAVYSNIPER_MK2] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_HEAVYSNIPER_MK2 MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciHEAVYSNIPER_MK2] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_PISTOL_MK2)
iWeaponPage[ciPISTOL_MK2] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_PISTOL_MK2 MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciPISTOL_MK2] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_SMG_MK2)
iWeaponPage[ciSMG_MK2] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_SMG_MK2 MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciSMG_MK2] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_BULLPUPRIFLE_MK2)
iWeaponPage[ciBULLPUPRIFLE_MK2] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_BULLPUPRIFLE_MK2 MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciBULLPUPRIFLE_MK2] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MARKSMANRIFLE_MK2)
iWeaponPage[ciMARKSMANRIFLE_MK2] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_MARKSMANRIFLE_MK2 MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciMARKSMANRIFLE_MK2] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_PUMPSHOTGUN_MK2)
iWeaponPage[ciPUMPSHOTGUN_MK2] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_PUMPSHOTGUN_MK2 MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciPUMPSHOTGUN_MK2] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_REVOLVER_MK2)
iWeaponPage[ciREVOLVER_MK2] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_REVOLVER_MK2 MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciREVOLVER_MK2] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_SNSPISTOL_MK2)
iWeaponPage[ciSNSPISTOL_MK2] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_SNSPISTOL_MK2 MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciSNSPISTOL_MK2] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_SPECIALCARBINE_MK2)
iWeaponPage[ciSPECIALCARBINE_MK2] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_SPECIALCARBINE_MK2 MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciSPECIALCARBINE_MK2] = -1
ENDIF
IF g_sMPTunables.bENABLE_TREASURE_HUNT
AND IS_WEAPON_VALID(WEAPONTYPE_DLC_DOUBLEACTION)
AND (HAS_PLAYER_FOUND_DOUBLE_ACTION_REVOLVER() OR g_has_player_completed_double_action_revolver_headshot_challenge)
iWeaponPage[ciDOUBLEACTIONREVOLVER_MK2] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_DOUBLEACTION MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciDOUBLEACTIONREVOLVER_MK2] = -1
ENDIF
IF g_sMPTunables.bENABLE_BOUNTY_HUNTER_HATCHET
AND IS_WEAPON_VALID(WEAPONTYPE_DLC_STONE_HATCHET)
AND HAS_PLAYER_FOUND_ANCIENT_HATCHET_WEAPON()
iWeaponPage[ciSTONEHATCHET_MK2] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_STONE_HATCHET MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciSTONEHATCHET_MK2] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_RAYCARBINE)
AND g_sMPTunables.bENABLE_AW_HELLBRINGER
iWeaponPage[ciRAYCARBINE] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_RAYCARBINE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciRAYCARBINE] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_RAYMINIGUN)
AND g_sMPTunables.bENABLE_AW_WIDOWMAKER
iWeaponPage[ciRAYMINIGUN] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_RAYMINIGUN MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciRAYMINIGUN] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_RAYPISTOL)
AND (GET_PACKED_STAT_BOOL( PACKED_MP_BOOL_WEAPON_RAYGUN_AWARDED) OR GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_WEAPON_RAYGUN)
OR IS_MP_WEAPON_PURCHASED(WEAPONTYPE_DLC_RAYPISTOL) OR g_sMPTunables.bENABLE_AW_RAYGUN)
iWeaponPage[ciRAYPISTOL] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_RAYPISTOL MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciRAYPISTOL] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_CERAMICPISTOL)
iWeaponPage[ciCERAMICPISOL] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_SPECIALCARBINE_MK2 MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciCERAMICPISOL] = -1
ENDIF
IF g_sMPTunables.bENABLE_SERIAL_KILLER
AND IS_WEAPON_VALID(WEAPONTYPE_DLC_NAVYREVOLVER)
AND (HAS_PLAYER_FOUND_NAVY_REVOLVER() OR g_has_player_completed_Navy_revolver_headshot_challenge)
iWeaponPage[ciNAVYREVOLVER] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_NAVYREVOLVER MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciNAVYREVOLVER] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MILITARYRIFLE )
iWeaponPage[ciMILITARYRIFLE] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_MILITARYRIFLE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciMILITARYRIFLE] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_COMBATSHOTGUN)
AND GET_PACKED_STAT_BOOL(PACKED_STAT_BOOL_WEAPON_COMBATSHOTGUN_UNLOCKED)
iWeaponPage[ciCOMBATSHOTGUN] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_COMBATSHOTGUN MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciCOMBATSHOTGUN] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_GADGETPISTOL)
AND GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_GOLDEN_GUN)
iWeaponPage[ciGADGETPISTOL] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_GADGETPISTOL MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciGADGETPISTOL] = -1
ENDIF
IF g_sMPTunables.bENABLE_SERIAL_KILLER
AND IS_WEAPON_VALID(WEAPONTYPE_DLC_NAVYREVOLVER)
AND (HAS_PLAYER_FOUND_NAVY_REVOLVER() OR g_has_player_completed_Navy_revolver_headshot_challenge)
iWeaponPage[ciNAVYREVOLVER] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_NAVYREVOLVER MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciNAVYREVOLVER] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_EMPLAUNCHER)
iWeaponPage[ciEMPLAUNCHER] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_EMPLAUNCHER MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciEMPLAUNCHER] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_STUNGUNG_MP)
iWeaponPage[ciSTUNGUN_MP] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_STUNGUNG_MP MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciSTUNGUN_MP] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_HEAVYRIFLE)
iWeaponPage[ciHEAVYRIFLE] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_HEAVYRIFLE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciHEAVYRIFLE] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_TACTICALRIFLE)
AND (g_sMPTunables.bUNLOCK_SERVICE_CARBINE_FOR_PURCHASE
OR IS_MP_WEAPON_PURCHASED(WEAPONTYPE_DLC_TACTICALRIFLE)
OR GET_MP_BOOL_CHARACTER_STAT(GET_WEAPON_AS_GIFT_STAT(WEAPONTYPE_DLC_TACTICALRIFLE))
OR DOES_PLAYER_HAVE_WEAPON(WEAPONTYPE_DLC_TACTICALRIFLE))
iWeaponPage[ciTACTICALRIFLE] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_TACTICALRIFLE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciTACTICALRIFLE] = -1
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_PRECISIONRIFLE)
iWeaponPage[ciPRECISIONRIFLE] = (MAX_NUM_WEAPON_LAST_PAGE/9)+MAX_NUM_WEAPON_PAGES
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), ADDING WEAPONTYPE_DLC_PRECISIONRIFLE MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE)
MAX_NUM_WEAPON_LAST_PAGE++
ELSE
iWeaponPage[ciPRECISIONRIFLE] = -1
ENDIF
IF MAX_NUM_WEAPON_LAST_PAGE = 0
MAX_NUM_WEAPON_PAGES = 2
MAX_NUM_WEAPON_LAST_PAGE = 9
ELSE
MAX_NUM_WEAPON_PAGES += MAX_NUM_WEAPON_LAST_PAGE/9
MAX_NUM_WEAPON_LAST_PAGE -= (9*(MAX_NUM_WEAPON_LAST_PAGE/9))
IF MAX_NUM_WEAPON_LAST_PAGE = 0
MAX_NUM_WEAPON_PAGES -= 1
MAX_NUM_WEAPON_LAST_PAGE = 9
ENDIF
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - CHECK_NUMBER_OF_WEAPONS(), MAX_NUM_WEAPON_LAST_PAGE = ", MAX_NUM_WEAPON_LAST_PAGE, ", MAX_NUM_WEAPON_PAGES = ", MAX_NUM_WEAPON_PAGES)
ENDPROC
PROC ADD_OPTIONAL_WEAPONS_TO_PAGE(SCALEFORMXML_GALLERY_WEAPON& ScaleformGalleryWeaponStruct, TRANSITION_HUDCOGS& ScreenPlace)
// IF IS_SPECIAL_EDITION_GAME()
// OR IS_COLLECTORS_EDITION_GAME()
IF IS_WEAPON_VALID(WEAPONTYPE_HAMMER)
AND iWeaponPage[ciHAMMER] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_HAMMER, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_PISTOL50)
AND iWeaponPage[ciPISTOL50] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_PISTOL50, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_BULLPUPSHOTGUN)
AND iWeaponPage[ciBULLPUPSHOTGUN] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_BULLPUPSHOTGUN, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
// ENDIF
IF IS_GAME_LINKED_TO_SOCIAL_CLUB(TRUE)
IF IS_WEAPON_VALID(WEAPONTYPE_SAWNOFFSHOTGUN)
AND iWeaponPage[ciSAWNOFFSHOTGUN] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_SAWNOFFSHOTGUN, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_BOTTLE)
AND iWeaponPage[ciBOTTLE] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_BOTTLE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_SNSPISTOL)
AND iWeaponPage[ciSNSPISTOL] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_SNSPISTOL, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_GUSENBERG)
AND iWeaponPage[ciGUSENBERG] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_GUSENBERG, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_HEAVYPISTOL)
AND iWeaponPage[ciHEAVYPISTOL] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_HEAVYPISTOL, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_SPECIALCARBINE)
AND iWeaponPage[ciSPECIALCARBINE] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_SPECIALCARBINE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_BULLPUPRIFLE)
AND iWeaponPage[ciBULLPUPRIFLE] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_BULLPUPRIFLE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_DAGGER)
AND iWeaponPage[ciDAGGER] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_DAGGER, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_VINTAGEPISTOL)
AND iWeaponPage[ciVINTAGEPISTOL] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_VINTAGEPISTOL, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_FIREWORK)
AND iWeaponPage[ciFIREWORK] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_FIREWORK, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MUSKET)
AND iWeaponPage[ciMUSKET] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_MUSKET, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_FLAREGUN)
AND iWeaponPage[ciFLAREGUN] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_FLAREGUN, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_HEAVYSHOTGUN)
AND iWeaponPage[ciHEAVYSHOT] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_HEAVYSHOTGUN, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MARKSMANRIFLE)
AND iWeaponPage[ciMARKSMAN] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_MARKSMANRIFLE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_LAST_GEN_PLAYER()
OR g_sMPTunables.bENABLE_RETURNING_CONTENT_WEAPON
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_HATCHET)
AND iWeaponPage[ciHATCHET] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_HATCHET, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_PROXMINE)
AND iWeaponPage[ciPROXIMITY] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_PROXMINE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_HOMINGLAUNCHER)
AND iWeaponPage[ciHOMING] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_HOMINGLAUNCHER, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_COMBATPDW)
AND iWeaponPage[ciPDW] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_COMBATPDW, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MARKSMANPISTOL)
AND iWeaponPage[ciSSP] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_MARKSMANPISTOL, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_KNUCKLE)
AND iWeaponPage[ciKNUCKLES] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_KNUCKLE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MACHETE)
AND iWeaponPage[ciMACHETE] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_MACHETE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MACHINEPISTOL)
AND iWeaponPage[ciMACHPISTOL] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_MACHINEPISTOL, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF g_sMPTunables.bTURN_ON_HALLOWEEN_WEAPONS
AND IS_WEAPON_VALID(WEAPONTYPE_DLC_FLASHLIGHT)
AND iWeaponPage[ciFLASHLIGHT] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_FLASHLIGHT, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_REVOLVER)
AND iWeaponPage[ciMAGNUM] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_REVOLVER, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_SWITCHBLADE)
AND iWeaponPage[ciSWITCHBLADE] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_SWITCHBLADE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_DBSHOTGUN)
AND iWeaponPage[ciDBSHOTGUN] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_DBSHOTGUN, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_COMPACTRIFLE)
AND iWeaponPage[ciCOMPACT] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_COMPACTRIFLE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_AUTOSHOTGUN)
AND iWeaponPage[ciAUTOSHOTGUN] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_AUTOSHOTGUN, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_BATTLEAXE)
AND iWeaponPage[ciBATTLEAXE] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_BATTLEAXE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_COMPACTLAUNCHER)
AND iWeaponPage[ciCOMPACTLAUNCHER] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_COMPACTLAUNCHER, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MINISMG)
AND iWeaponPage[ciMINISMG] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_MINISMG, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_PIPEBOMB)
AND iWeaponPage[ciPIPEBOMB] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_PIPEBOMB, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_POOLCUE)
AND iWeaponPage[ciPOOLCUE] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_POOLCUE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_WRENCH)
AND iWeaponPage[ciWRENCH] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_WRENCH, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_ASSAULTRIFLE_MK2 )
AND iWeaponPage[ciASSAULTRIFLE_MK2] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_ASSAULTRIFLE_MK2, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_CARBINERIFLE_MK2 )
AND iWeaponPage[ciCARBINERIFLE_MK2] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_CARBINERIFLE_MK2, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_COMBATMG_MK2 )
AND iWeaponPage[ciCOMBATMG_MK2] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_COMBATMG_MK2, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_HEAVYSNIPER_MK2 )
AND iWeaponPage[ciHEAVYSNIPER_MK2] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_HEAVYSNIPER_MK2, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_PISTOL_MK2 )
AND iWeaponPage[ciPISTOL_MK2] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_PISTOL_MK2, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_SMG_MK2 )
AND iWeaponPage[ciSMG_MK2] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_SMG_MK2, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_BULLPUPRIFLE_MK2 )
AND iWeaponPage[ciBULLPUPRIFLE_MK2] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_BULLPUPRIFLE_MK2, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MARKSMANRIFLE_MK2)
AND iWeaponPage[ciMARKSMANRIFLE_MK2] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_MARKSMANRIFLE_MK2, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_PUMPSHOTGUN_MK2 )
AND iWeaponPage[ciPUMPSHOTGUN_MK2] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_PUMPSHOTGUN_MK2, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_REVOLVER_MK2)
AND iWeaponPage[ciREVOLVER_MK2] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_REVOLVER_MK2, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_SNSPISTOL_MK2)
AND iWeaponPage[ciSNSPISTOL_MK2] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_SNSPISTOL_MK2, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_SPECIALCARBINE_MK2 )
AND iWeaponPage[ciSPECIALCARBINE_MK2] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_SPECIALCARBINE_MK2, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_DOUBLEACTION )
AND iWeaponPage[ciDOUBLEACTIONREVOLVER_MK2] = ScreenPlace.iSelectedPage
IF g_sMPTunables.bENABLE_TREASURE_HUNT
AND (HAS_PLAYER_FOUND_DOUBLE_ACTION_REVOLVER() OR g_has_player_completed_double_action_revolver_headshot_challenge)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_DOUBLEACTION, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_STONE_HATCHET )
AND iWeaponPage[ciSTONEHATCHET_MK2] = ScreenPlace.iSelectedPage
IF g_sMPTunables.bENABLE_BOUNTY_HUNTER_HATCHET
AND HAS_PLAYER_FOUND_ANCIENT_HATCHET_WEAPON()
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_STONE_HATCHET, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_RAYCARBINE )
AND iWeaponPage[ciRAYCARBINE] = ScreenPlace.iSelectedPage
AND g_sMPTunables.bENABLE_AW_HELLBRINGER
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_RAYCARBINE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_RAYMINIGUN )
AND iWeaponPage[ciRAYMINIGUN] = ScreenPlace.iSelectedPage
AND g_sMPTunables.bENABLE_AW_WIDOWMAKER
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_RAYMINIGUN, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_RAYPISTOL )
AND (GET_PACKED_STAT_BOOL( PACKED_MP_BOOL_WEAPON_RAYGUN_AWARDED) OR GET_PACKED_STAT_BOOL(PACKED_MP_BOOL_WEAPON_RAYGUN)
OR IS_MP_WEAPON_PURCHASED(WEAPONTYPE_DLC_RAYPISTOL)OR g_sMPTunables.bENABLE_AW_RAYGUN)
AND iWeaponPage[ciRAYPISTOL] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_RAYPISTOL, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_CERAMICPISTOL )
AND iWeaponPage[ciCERAMICPISOL] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_CERAMICPISTOL, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_NAVYREVOLVER )
AND iWeaponPage[ciNAVYREVOLVER] = ScreenPlace.iSelectedPage
IF g_sMPTunables.bENABLE_SERIAL_KILLER
AND (HAS_PLAYER_FOUND_NAVY_REVOLVER() OR g_has_player_completed_Navy_revolver_headshot_challenge)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_NAVYREVOLVER, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_MILITARYRIFLE )
AND iWeaponPage[ciMILITARYRIFLE] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_MILITARYRIFLE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_COMBATSHOTGUN )
AND iWeaponPage[ciCOMBATSHOTGUN] = ScreenPlace.iSelectedPage
IF GET_PACKED_STAT_BOOL(PACKED_STAT_BOOL_WEAPON_COMBATSHOTGUN_UNLOCKED)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_COMBATSHOTGUN, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_GADGETPISTOL )
AND iWeaponPage[ciGADGETPISTOL] = ScreenPlace.iSelectedPage
IF GET_MP_BOOL_CHARACTER_AWARD(MP_AWARD_GOLDEN_GUN)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_GADGETPISTOL, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_EMPLAUNCHER )
AND iWeaponPage[ciEMPLAUNCHER] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_EMPLAUNCHER, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_STUNGUNG_MP )
AND iWeaponPage[ciSTUNGUN_MP] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_STUNGUNG_MP, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_HEAVYRIFLE )
AND iWeaponPage[ciHEAVYRIFLE] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_HEAVYRIFLE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_TACTICALRIFLE )
AND iWeaponPage[ciTACTICALRIFLE] = ScreenPlace.iSelectedPage
IF (g_sMPTunables.bUNLOCK_SERVICE_CARBINE_FOR_PURCHASE
OR IS_MP_WEAPON_PURCHASED(WEAPONTYPE_DLC_TACTICALRIFLE)
OR GET_MP_BOOL_CHARACTER_STAT(GET_WEAPON_AS_GIFT_STAT(WEAPONTYPE_DLC_TACTICALRIFLE))
OR DOES_PLAYER_HAVE_WEAPON(WEAPONTYPE_DLC_TACTICALRIFLE))
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_TACTICALRIFLE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
ENDIF
IF IS_WEAPON_VALID(WEAPONTYPE_DLC_PRECISIONRIFLE )
AND iWeaponPage[ciPRECISIONRIFLE] = ScreenPlace.iSelectedPage
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_PRECISIONRIFLE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
ENDPROC
PROC RENDER_MPHUD_CHARACTER_WEAPONS_SELECT_SCREEN(SCALEFORMXML_GALLERY_WEAPON& ScaleformGalleryWeaponStruct, TRANSITION_HUDCOGS& ScreenPlace)
// IF HAS_ALL_GALLERY_WEAPON_HUD_ELEMENTS_LOADED(aMovie)
IF HAS_STREAMED_TEXTURE_DICT_LOADED("MPWeaponsCommon")
AND HAS_STREAMED_TEXTURE_DICT_LOADED("MPWeaponsGang0")
AND HAS_STREAMED_TEXTURE_DICT_LOADED("MPWeaponsGang1")
// SPRITE_PLACEMENT ScaleformSprite = GET_SCALEFORM_GALLERY_WEAPON_POSITION()
IF IS_SCRIPT_HUD_DISPLAYING(HUDPART_TRANSITIONHUD) = FALSE
ScreenPlace.iSelectedCharacter = GET_ACTIVE_CHARACTER_SLOT()
ENDIF
CHECK_NUMBER_OF_WEAPONS()
SWITCH ScreenPlace.iSelectedPage
CASE 0
IF NOT ScaleformGalleryWeaponStruct.bHasValue[0]
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_PISTOL, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_COMBATPISTOL, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_APPISTOL, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_MICROSMG, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_SMG, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_ASSAULTRIFLE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_CARBINERIFLE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_ADVANCEDRIFLE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_MG, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
BREAK
CASE 1
IF NOT ScaleformGalleryWeaponStruct.bHasValue[0]
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_COMBATMG, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_DLC_ASSAULTSMG, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_PUMPSHOTGUN, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_ASSAULTSHOTGUN, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_SNIPERRIFLE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_HEAVYSNIPER, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_GRENADELAUNCHER, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_MINIGUN, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_RPG, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
BREAK
//**TWH - CMcM - 1200053 - Added all weapons to weapon screen.
CASE 2
IF NOT ScaleformGalleryWeaponStruct.bHasValue[0]
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_KNIFE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_NIGHTSTICK, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_BAT, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_CROWBAR, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_GOLFCLUB, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_MOLOTOV, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_GRENADE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_SMOKEGRENADE, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
COMPILE_EACH_WEAPON_XML(WEAPONTYPE_STICKYBOMB, ScaleformGalleryWeaponStruct, ScreenPlace.iSelectedCharacter)
ENDIF
BREAK
DEFAULT
//CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@MP_WEAPONS - RENDER_MPHUD_CHARACTER_WEAPONS_SELECT_SCREEN Page 3")
IF NOT ScaleformGalleryWeaponStruct.bHasValue[0]
ADD_OPTIONAL_WEAPONS_TO_PAGE(ScaleformGalleryWeaponStruct, ScreenPlace)
ENDIF
BREAK
ENDSWITCH
RUN_SCALEFORMXML_GALLERY_WEAPONS(ScaleformGalleryWeaponStruct,SHOULD_REFRESH_SCALEFORMXML_GALLERY_WEAPON(ScaleformGalleryWeaponStruct))
ELSE
NET_NL()NET_PRINT("RENDER_MPHUD_CHARACTER_WEAPONS_SELECT_SCREEN: Loading in texture dictionaries ")
ENDIF
// ENDIF
ENDPROC
PROC INIT_WEAPON_SCROLL()
ADD_SCALEFORMXML_INIT_COLUMN_SCROLL(TRUE)
ENDPROC
PROC UPDATE_WEAPON_SCROLL(SCALEFORMXML_GALLERY_WEAPON& ScaleformGalleryWeaponStruct, TRANSITION_HUDCOGS& ScreenPlace)
CHECK_NUMBER_OF_WEAPONS()
INT NumberOnAFullPage = (MAX_NUM_WEAPON_SLOTS_X*MAX_NUM_WEAPON_SLOTS_Y) // 9
//INT TotalNum = NumberOnAFullPage*(MAX_NUM_WEAPON_PAGES)+MAX_NUM_WEAPON_LAST_PAGE // 18
// SET_WEAPON_SCROLL is what gets called when menu initially selected
INT CurrentPos = ScaleformGalleryWeaponStruct.iHighlightBlock//+1
CPRINTLN(DEBUG_PAUSE_MENU, "[dsw] CurrentPos = ", CurrentPos )// 1 - 9
CPRINTLN(DEBUG_PAUSE_MENU, "[dsw] ScreenPlace.iSelectedPage = ", ScreenPlace.iSelectedPage )// 0 - 1
// SWITCH ScreenPlace.iSelectedPage
//// CASE 0
//// CurrentPos = CurrentPos
//// BREAK
// DEFAULT
IF ScreenPlace.iSelectedPage < MAX_NUM_WEAPON_PAGES
CurrentPos = CurrentPos+(NumberOnAFullPage*ScreenPlace.iSelectedPage)
ELSE
CurrentPos = CurrentPos+(NumberOnAFullPage*ScreenPlace.iSelectedPage) //MAX_NUM_WEAPON_LAST_PAGE+((NumberOnAFullPage-1)*ScreenPlace.iSelectedPage) //
ENDIF
// BREAK
//
// ENDSWITCH
CPRINTLN(DEBUG_PAUSE_MENU, "[dsw] final CurrentPos = ", CurrentPos )
//-- Dave W - now displays Page ~1~ of ~1~
INT iCurrentPage = ScreenPlace.iSelectedPage + 1
INT iTotalPages = MAX_NUM_WEAPON_PAGES + 1
ADD_SCALEFORMXML_SET_COLUMN_SCROLL(0, iCurrentPage, iTotalPages, "HUD_PAGE")
ENDPROC
PROC CLEAR_WEAPON_SCROLL()
ADD_SCALEFORMXML_SET_COLUMN_SCROLL(0, -1, -1)
ENDPROC
PROC SET_WEAPON_SCROLL()
CHECK_NUMBER_OF_WEAPONS()
// INT NumberOnAFullPage = (MAX_NUM_WEAPON_SLOTS_X*MAX_NUM_WEAPON_SLOTS_Y)
// INT TotalNum = NumberOnAFullPage*(MAX_NUM_WEAPON_PAGES)+MAX_NUM_WEAPON_LAST_PAGE
INIT_WEAPON_SCROLL()
// ADD_SCALEFORMXML_SET_COLUMN_SCROLL(0, Number, TotalNum)
ADD_SCALEFORMXML_SET_COLUMN_SCROLL(0, 1, MAX_NUM_WEAPON_PAGES+1, "HUD_PAGE")
ENDPROC
SCRIPT_TIMER timeRepeatCheck
PROC LOGIC_MPHUD_CHARACTER_WEAPONS_SELECT_MENU(SCALEFORMXML_GALLERY_WEAPON& ScaleformGalleryWeaponStruct,TRANSITION_HUDCOGS& ScreenPlace, SCRIPT_TIMER &timeRepeat )
CONST_INT DOWN 0
CONST_INT UP 1
CONST_INT LEFT 2
CONST_INT RIGHT 3
BOOL bTimeOk
IF NOT HAS_NET_TIMER_STARTED(timeRepeat)
OR (HAS_NET_TIMER_STARTED(timeRepeat) AND HAS_NET_TIMER_EXPIRED(timeRepeat, 250))
bTimeOk = TRUE
ENDIF
IF (IS_CONTROL_PRESSED(FRONTEND_CONTROL, INPUT_FRONTEND_DOWN)
OR IS_ANALOGUE_STICK_MOVED(INPUT_FRONTEND_DOWN, MPGlobalsHud.iDelayInt, TRUE))
AND bTimeOk
RESET_NET_TIMER(timeRepeat)
START_NET_TIMER(timeRepeat)
SET_BIT(ScaleformGalleryWeaponStruct.ButtonReleasedBitset, DOWN)
ENDIF
IF (IS_CONTROL_PRESSED(FRONTEND_CONTROL, INPUT_FRONTEND_UP)
OR IS_ANALOGUE_STICK_MOVED(INPUT_FRONTEND_UP, MPGlobalsHud.iDelayInt, TRUE))
AND bTimeOk
RESET_NET_TIMER(timeRepeat)
START_NET_TIMER(timeRepeat)
SET_BIT(ScaleformGalleryWeaponStruct.ButtonReleasedBitset, UP)
ENDIF
IF (IS_CONTROL_PRESSED(FRONTEND_CONTROL, INPUT_FRONTEND_LEFT)
OR IS_CONTROL_PRESSED(FRONTEND_CONTROL, INPUT_CURSOR_SCROLL_UP)
OR IS_ANALOGUE_STICK_MOVED(INPUT_FRONTEND_LEFT, MPGlobalsHud.iDelayInt, TRUE))
AND bTimeOk
RESET_NET_TIMER(timeRepeat)
START_NET_TIMER(timeRepeat)
SET_BIT(ScaleformGalleryWeaponStruct.ButtonReleasedBitset, LEFT)
ENDIF
IF (IS_CONTROL_PRESSED(FRONTEND_CONTROL, INPUT_FRONTEND_RIGHT)
OR IS_CONTROL_PRESSED(FRONTEND_CONTROL, INPUT_CURSOR_SCROLL_DOWN)
OR IS_ANALOGUE_STICK_MOVED(INPUT_FRONTEND_RIGHT, MPGlobalsHud.iDelayInt, TRUE))
AND bTimeOk
SET_BIT(ScaleformGalleryWeaponStruct.ButtonReleasedBitset, RIGHT)
RESET_NET_TIMER(timeRepeat)
START_NET_TIMER(timeRepeat)
ENDIF
// IF HAS_HUD_CONTROL_BEEN_PRESSED_PAUSE(INPUT_FRONTEND_UP)
IF IS_BIT_SET(ScaleformGalleryWeaponStruct.ButtonReleasedBitset, UP)
CLEAR_BIT(ScaleformGalleryWeaponStruct.ButtonReleasedBitset, UP)
NET_NL()NET_PRINT("LOGIC: INPUT_FRONTEND_UP")
PLAY_SOUND_FRONTEND(-1,"NAV_LEFT_RIGHT","HUD_FRONTEND_DEFAULT_SOUNDSET") // always left/right (1374533)
ScreenPlace.iSelectionY--
IF ScreenPlace.iSelectionY < 0
ScreenPlace.iSelectionY = MAX_NUM_WEAPON_SLOTS_Y-1
ENDIF
SET_SCALEFORMXML_GALLERY_WEAPON_HIGHLIGHT(GET_HIGHLIGHT_WEAPON_SQUARE(ScreenPlace.iSelection, ScreenPlace.iSelectionY, ScreenPlace.iSelectedPage, INPUT_FRONTEND_UP), ScaleformGalleryWeaponStruct)
REFRESH_SCALEFORMXML_GALLERY_WEAPON_HIGHLIGHT(ScaleformGalleryWeaponStruct)
REFRESH_SCALEFORMXML_GALLERY_WEAPON_DESCRIPTION(ScaleformGalleryWeaponStruct)
UPDATE_WEAPON_SCROLL(ScaleformGalleryWeaponStruct, ScreenPlace)
ENDIF
//IF HAS_HUD_CONTROL_BEEN_PRESSED_PAUSE(INPUT_FRONTEND_DOWN)
IF IS_BIT_SET(ScaleformGalleryWeaponStruct.ButtonReleasedBitset, DOWN)
CLEAR_BIT(ScaleformGalleryWeaponStruct.ButtonReleasedBitset, DOWN)
PLAY_SOUND_FRONTEND(-1,"NAV_LEFT_RIGHT","HUD_FRONTEND_DEFAULT_SOUNDSET") // always left/right (1374533)
NET_NL()NET_PRINT("LOGIC: INPUT_FRONTEND_DOWN")
ScreenPlace.iSelectionY++
IF ScreenPlace.iSelectionY > MAX_NUM_WEAPON_SLOTS_Y-1
ScreenPlace.iSelectionY = 0
ENDIF
SET_SCALEFORMXML_GALLERY_WEAPON_HIGHLIGHT(GET_HIGHLIGHT_WEAPON_SQUARE(ScreenPlace.iSelection, ScreenPlace.iSelectionY, ScreenPlace.iSelectedPage, INPUT_FRONTEND_DOWN), ScaleformGalleryWeaponStruct)
REFRESH_SCALEFORMXML_GALLERY_WEAPON_HIGHLIGHT(ScaleformGalleryWeaponStruct)
REFRESH_SCALEFORMXML_GALLERY_WEAPON_DESCRIPTION(ScaleformGalleryWeaponStruct)
UPDATE_WEAPON_SCROLL(ScaleformGalleryWeaponStruct, ScreenPlace)
ENDIF
// IF HAS_HUD_CONTROL_BEEN_PRESSED_PAUSE(INPUT_FRONTEND_LEFT)
IF IS_BIT_SET(ScaleformGalleryWeaponStruct.ButtonReleasedBitset, LEFT)
CLEAR_BIT(ScaleformGalleryWeaponStruct.ButtonReleasedBitset, LEFT)
ScreenPlace.iSelection--
IF ScreenPlace.iSelection < 0
IF MAX_NUM_WEAPON_PAGES > 1
REFRESH_SCALEFORMXML_GALLERY_WEAPON(ScaleformGalleryWeaponStruct)
ScaleformGalleryWeaponStruct.bInitialisedGALLERYVisuals = FALSE
RESET_REFRESH_SCALEFORMXML_GALLERY_WEAPON(ScaleformGalleryWeaponStruct)
ENDIF
IF ScreenPlace.iSelectedPage > 0
ScreenPlace.iSelectedPage--
ScreenPlace.iSelection = MAX_NUM_WEAPON_SLOTS_X-1
ELSE
ScreenPlace.iSelectedPage = MAX_NUM_WEAPON_PAGES
ScreenPlace.iSelection = MAX_NUM_WEAPON_SLOTS_X-1
INT iPos = ScreenPlace.iSelection + (ScreenPlace.iSelectionY*MAX_NUM_WEAPON_SLOTS_X)
IF iPos >= MAX_NUM_WEAPON_LAST_PAGE
ScreenPlace.iSelection = (MAX_NUM_WEAPON_LAST_PAGE-1) % MAX_NUM_WEAPON_SLOTS_X
ScreenPlace.iSelectionY = (MAX_NUM_WEAPON_LAST_PAGE-1) / MAX_NUM_WEAPON_SLOTS_X
ENDIF
ENDIF
ENDIF
PLAY_SOUND_FRONTEND(-1,"NAV_LEFT_RIGHT","HUD_FRONTEND_DEFAULT_SOUNDSET")
NET_NL()NET_PRINT("LOGIC: INPUT_FRONTEND_LEFT")
SET_SCALEFORMXML_GALLERY_WEAPON_HIGHLIGHT(GET_HIGHLIGHT_WEAPON_SQUARE(ScreenPlace.iSelection, ScreenPlace.iSelectionY, ScreenPlace.iSelectedPage, INPUT_FRONTEND_LEFT), ScaleformGalleryWeaponStruct)
REFRESH_SCALEFORMXML_GALLERY_WEAPON_HIGHLIGHT(ScaleformGalleryWeaponStruct)
REFRESH_SCALEFORMXML_GALLERY_WEAPON_DESCRIPTION(ScaleformGalleryWeaponStruct)
UPDATE_WEAPON_SCROLL(ScaleformGalleryWeaponStruct, ScreenPlace)
ENDIF
//IF HAS_HUD_CONTROL_BEEN_PRESSED_PAUSE(INPUT_FRONTEND_RIGHT)
IF IS_BIT_SET(ScaleformGalleryWeaponStruct.ButtonReleasedBitset, RIGHT)
CLEAR_BIT(ScaleformGalleryWeaponStruct.ButtonReleasedBitset, RIGHT)
ScreenPlace.iSelection++
INT iPos = ScreenPlace.iSelection + (ScreenPlace.iSelectionY*MAX_NUM_WEAPON_SLOTS_X)
IF ScreenPlace.iSelection > MAX_NUM_WEAPON_SLOTS_X-1
OR (ScreenPlace.iSelectedPage = MAX_NUM_WEAPON_PAGES AND iPos >= MAX_NUM_WEAPON_LAST_PAGE)
IF MAX_NUM_WEAPON_PAGES > 1
REFRESH_SCALEFORMXML_GALLERY_WEAPON(ScaleformGalleryWeaponStruct)
ScaleformGalleryWeaponStruct.bInitialisedGALLERYVisuals = FALSE
RESET_REFRESH_SCALEFORMXML_GALLERY_WEAPON(ScaleformGalleryWeaponStruct)
ENDIF
ScreenPlace.iSelection = 0
ScreenPlace.iSelectedPage++
IF ScreenPlace.iSelectedPage > MAX_NUM_WEAPON_PAGES
ScreenPlace.iSelectedPage = 0
ENDIF
ENDIF
PLAY_SOUND_FRONTEND(-1,"NAV_LEFT_RIGHT","HUD_FRONTEND_DEFAULT_SOUNDSET")
NET_NL()NET_PRINT("LOGIC: INPUT_FRONTEND_RIGHT")
SET_SCALEFORMXML_GALLERY_WEAPON_HIGHLIGHT(GET_HIGHLIGHT_WEAPON_SQUARE(ScreenPlace.iSelection, ScreenPlace.iSelectionY, ScreenPlace.iSelectedPage, INPUT_FRONTEND_RIGHT), ScaleformGalleryWeaponStruct)
REFRESH_SCALEFORMXML_GALLERY_WEAPON_HIGHLIGHT(ScaleformGalleryWeaponStruct)
REFRESH_SCALEFORMXML_GALLERY_WEAPON_DESCRIPTION(ScaleformGalleryWeaponStruct)
UPDATE_WEAPON_SCROLL(ScaleformGalleryWeaponStruct, ScreenPlace)
ENDIF
ENDPROC
SCRIPT( PAUSE_MENU_LAUNCH_DATA args )
#IF IS_DEBUG_BUILD
CPRINTLN(DEBUG_PAUSE_MENU, "MP_Weapons Select Menu Launched with args: ", args.operation, ", Menu: ", args.MenuScreenId, ", Prev:", args.PreviousId, ", Unique: ", args.UniqueIdentifier)
#ENDIF
IF GET_CURRENT_GAMEMODE() = GAMEMODE_CREATOR
WHILE TRUE
WAIT(0)
ENDWHILE
ENDIF
FORCE_SCRIPTED_GFX_WHEN_FRONTEND_ACTIVE(TRUE)
NETWORK_SET_SCRIPT_IS_SAFE_FOR_NETWORK_GAME()
g_bWeaponsPauseMenuActive = TRUE
BOOL bShouldQuitPauseMenuScript = FALSE
FRONTEND_MENU_SCREEN CurrentScreen
FRONTEND_MENU_SCREEN aNextScreen
INT iMenu
INT iNewItemID
// REFRESH_SCALEFORM_GALLERY_WEAPON(GalleryStruct)
g_GalleryXMLWeaponStruct.bRefreshScaleformGALLERYVisuals = TRUE
g_Transition_ScreenPlace.iSelection = 0
g_Transition_ScreenPlace.iSelectionY = 0
g_Transition_ScreenPlace.iSelectedPage = 0
REFRESH_SCALEFORMXML_GALLERY_WEAPON(g_GalleryXMLWeaponStruct)
REFRESH_SCALEFORMXML_GALLERY_WEAPON_HIGHLIGHT(g_GalleryXMLWeaponStruct)
REFRESH_SCALEFORMXML_GALLERY_WEAPON_DESCRIPTION(g_GalleryXMLWeaponStruct)
//SET_WEAPON_SCROLL(0)
SET_WEAPON_SCROLL()
SET_SCALEFORMXML_GALLERY_WEAPON_HIGHLIGHT(0, g_GalleryXMLWeaponStruct)
SET_SCRIPT_GFX_DRAW_ORDER(GFX_ORDER_AFTER_FADE)
PAUSE_MENU_ACTIVATE_CONTEXT( HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_ACTIVATE_CONTEXT( HASH("NAVIGATING_CONTENT"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
CHECK_NUMBER_OF_WEAPONS()
INT iLevel = 1
BOOL bDoIHaveControl
SWITCH args.operation
CASE kUpdate
WHILE bShouldQuitPauseMenuScript = FALSE
WAIT(0) // One and only wait in MP script.
IF iLevel = 1
IF bDoIHaveControl = FALSE
IF IS_FRONTEND_READY_FOR_CONTROL()
TAKE_CONTROL_OF_FRONTEND()
// BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND("MENU_SHIFT_DEPTH")
// SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1)
// END_SCALEFORM_MOVIE_METHOD()
bDoIHaveControl = TRUE
ENDIF
ENDIF
ENDIF
IF HAS_HUD_CONTROL_BEEN_PRESSED_PAUSE(INPUT_FRONTEND_ACCEPT)
NET_NL()NET_PRINT("iLevel = ")NET_PRINT_INT(iLevel)
IF iLevel = 0
PLAY_SOUND_FRONTEND(-1,"SELECT","HUD_FRONTEND_DEFAULT_SOUNDSET")
g_Transition_ScreenPlace.iSelection = 0
g_Transition_ScreenPlace.iSelectionY = 0
iLevel = 1
SET_SCALEFORMXML_GALLERY_WEAPON_HIGHLIGHT(0, g_GalleryXMLWeaponStruct)
REFRESH_SCALEFORMXML_GALLERY_WEAPON_HIGHLIGHT(g_GalleryXMLWeaponStruct)
REFRESH_SCALEFORMXML_GALLERY_WEAPON_DESCRIPTION(g_GalleryXMLWeaponStruct)
UPDATE_WEAPON_SCROLL(g_GalleryXMLWeaponStruct, g_Transition_ScreenPlace)
BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND("MENU_SHIFT_DEPTH")
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(1)
END_SCALEFORM_MOVIE_METHOD()
ENDIF
NET_NL()NET_PRINT(" INPUT_FRONTEND_ACCEPT PRESSED ")
ENDIF
IF iLevel = 0
IF HAS_HUD_CONTROL_BEEN_PRESSED_PAUSE( INPUT_FRONTEND_LEFT)
OR HAS_HUD_CONTROL_BEEN_PRESSED_PAUSE( INPUT_FRONTEND_RIGHT)
bShouldQuitPauseMenuScript = TRUE
// RELEASE_CONTROL_OF_FRONTEND()
NET_NL()NET_PRINT(" INPUT_FRONTEND_LEFT PRESSED ")
ENDIF
ENDIF
IF HAS_HUD_CONTROL_BEEN_PRESSED_PAUSE( INPUT_FRONTEND_CANCEL)
// PLAY_SOUND_FRONTEND(-1,"BACK","HUD_FRONTEND_DEFAULT_SOUNDSET") get called in pausemenu_multiplayer
CLEAR_WEAPON_SCROLL()
NET_NL()NET_PRINT(" INPUT_FRONTEND_CANCEL PRESSED ")
NET_NL()NET_PRINT("iLevel = ")NET_PRINT_INT(iLevel)
IF iLevel = 1
BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND("MENU_SHIFT_DEPTH")
SCALEFORM_MOVIE_METHOD_ADD_PARAM_INT(-1)
END_SCALEFORM_MOVIE_METHOD()
PLAY_SOUND_FRONTEND(-1,"BACK","HUD_FRONTEND_DEFAULT_SOUNDSET")
// RELEASE_CONTROL_OF_FRONTEND()
PAUSE_MENU_DEACTIVATE_CONTEXT( HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
REFRESH_SCALEFORMXML_GALLERY_WEAPON_HIGHLIGHT(g_GalleryXMLWeaponStruct)
REFRESH_SCALEFORMXML_GALLERY_WEAPON_DESCRIPTION(g_GalleryXMLWeaponStruct)
SET_SCALEFORMXML_GALLERY_WEAPON_HIGHLIGHT(-1, g_GalleryXMLWeaponStruct)
NET_NL()NET_PRINT(" INPUT_FRONTEND_CANCEL PRESSED SET_SCALEFORM_GALLERY_WEAPON_HIGHLIGHT")
iLevel = 0
ELSE
PLAY_SOUND_FRONTEND(-1,"BACK","HUD_FRONTEND_DEFAULT_SOUNDSET")
NET_NL()NET_PRINT(" INPUT_FRONTEND_CANCEL PRESSED bShouldQuitPauseMenuScript")
bShouldQuitPauseMenuScript = TRUE
RELEASE_CONTROL_OF_FRONTEND()
ENDIF
ENDIF
IF HAS_MENU_TRIGGER_EVENT_OCCURRED()
NET_NL()NET_PRINT("HAS_MENU_TRIGGER_EVENT_OCCURRED = TRUE")
GET_MENU_TRIGGER_EVENT_DETAILS(aNextScreen, iMenu)
NET_NL()NET_PRINT(" - aNextScreen = ")NET_PRINT(GET_XML_SCREEN_STRING_VALUE(aNextScreen))
NET_NL()NET_PRINT(" - iMenu = ")NET_PRINT_INT(iMenu)
ENDIF
IF HAS_MENU_LAYOUT_CHANGED_EVENT_OCCURRED()
NET_NL()NET_PRINT("HAS_MENU_LAYOUT_CHANGED_EVENT_OCCURRED = TRUE")
GET_MENU_LAYOUT_CHANGED_EVENT_DETAILS(CurrentScreen, aNextScreen, iMenu)
iNewItemID = ENUM_TO_INT(aNextScreen) + 1000//iMenu
NET_NL()NET_PRINT(" - CurrentScreen = ")NET_PRINT(GET_XML_SCREEN_STRING_VALUE(CurrentScreen))
NET_NL()NET_PRINT(" - aNextScreen = ")NET_PRINT(GET_XML_SCREEN_STRING_VALUE(aNextScreen))
NET_NL()NET_PRINT(" - iMenu = ")NET_PRINT_INT(iMenu)
NET_NL()NET_PRINT(" - iNewItemID = ")NET_PRINT_INT(iNewItemID)
IF iNewItemID >= 0
IF iNewItemID >= MAX_NUM_WEAPON_SLOTS_X*MAX_NUM_WEAPON_SLOTS_Y
iNewItemID = (MAX_NUM_WEAPON_SLOTS_X*MAX_NUM_WEAPON_SLOTS_Y) - 1
ENDIF
g_Transition_ScreenPlace.iSelection = iNewItemID % MAX_NUM_WEAPON_SLOTS_X
g_Transition_ScreenPlace.iSelectionY = iNewItemID / MAX_NUM_WEAPON_SLOTS_X
SET_SCALEFORMXML_GALLERY_WEAPON_HIGHLIGHT(iNewItemID, g_GalleryXMLWeaponStruct)
REFRESH_SCALEFORMXML_GALLERY_WEAPON_DESCRIPTION(g_GalleryXMLWeaponStruct)
ENDIF
ENDIF
REQUEST_STREAMED_TEXTURE_DICT("MPWeaponsCommon")
REQUEST_STREAMED_TEXTURE_DICT("MPWeaponsGang0")
REQUEST_STREAMED_TEXTURE_DICT("MPWeaponsGang1")
RENDER_MPHUD_CHARACTER_WEAPONS_SELECT_SCREEN(g_GalleryXMLWeaponStruct, g_Transition_ScreenPlace)
IF iLevel = 1
LOGIC_MPHUD_CHARACTER_WEAPONS_SELECT_MENU(g_GalleryXMLWeaponStruct, g_Transition_ScreenPlace, timeRepeatCheck)
ENDIF
ENDWHILE
BREAK
CASE kFill
NET_NL()NET_PRINT("args.operation = kFill")
BREAK
CASE kLayoutChange
NET_NL()NET_PRINT("args.operation = kLayoutChange")
BREAK
CASE kTriggerEvent
NET_NL()NET_PRINT("args.operation = kTriggerEvent")
BREAK
ENDSWITCH
NET_NL()NET_PRINT("QUIT WEAPONS SCREEN")
RELEASE_CONTROL_OF_FRONTEND()
FORCE_SCRIPTED_GFX_WHEN_FRONTEND_ACTIVE(FALSE)
g_bWeaponsPauseMenuActive = FALSE
// TERMINATE_THIS_THREAD()
SET_SCRIPT_GFX_DRAW_ORDER(GFX_ORDER_AFTER_HUD)
WHILE TRUE
WAIT(0)
ENDWHILE
ENDSCRIPT