377 lines
16 KiB
XML
Executable File
377 lines
16 KiB
XML
Executable File
USING "rage_builtins.sch"
|
|
USING "globals.sch"
|
|
USING "blip_control_public.sch"
|
|
USING "Flow_Mission_Data_Public.sch"
|
|
USING "friend_flow_public.sch"
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
USING "flow_debug_game.sch"
|
|
#ENDIF
|
|
|
|
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
//
|
|
// MISSION NAME : mission_control_private.sch
|
|
// AUTHOR : Added by Keith but most likely used by Andrew
|
|
// DESCRIPTION : Initially a reset function for the mission triggering system.
|
|
//
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
// *****************************************************************************************
|
|
|
|
|
|
// Bitfield indexes for trigger scene settings.
|
|
CONST_INT TSS_SCENE_ACTIVE 0
|
|
CONST_INT TSS_BLIP_ACTIVE 1
|
|
CONST_INT TSS_SCENE_LOADING 2
|
|
CONST_INT TSS_SCENE_CREATED 3
|
|
CONST_INT TSS_CAN_TRIGGER_BEFORE_CREATION 4
|
|
CONST_INT TSS_ONLY_RESET_ON_INIT 5
|
|
CONST_INT TSS_FRIEND_REJECT_ACTIVE 6
|
|
CONST_INT TSS_BATTLE_BUDDY_CALL_ACTIVE 7
|
|
CONST_INT TSS_HAS_TRIGGERED 8
|
|
CONST_INT TSS_TOD_TRIGGER_ACTIVATED 9
|
|
CONST_INT TSS_DOING_TOD_SKIP 10
|
|
CONST_INT TSS_CLEANUP_TOD_SKIP 11
|
|
CONST_INT TSS_RESET_ON_TRIGGERER_INIT 12
|
|
CONST_INT TSS_TOD_BLIP_ACTIVE 13
|
|
#IF IS_DEBUG_BUILD
|
|
CONST_INT TSS_PRINTED_LEAVE_AREA_DEBUG 14
|
|
CONST_INT TSS_PRINTED_BLOCKING_DEBUG 15
|
|
#ENDIF
|
|
|
|
#IF USE_CLF_DLC
|
|
PROC Reset_Mission_Trigger_CLF(INT paramTriggerIndex)
|
|
CDEBUG3LN(DEBUG_TRIGGER, "Resetting mission trigger at index ", paramTriggerIndex, ".")
|
|
|
|
IF IS_BIT_SET(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_FRIEND_REJECT_ACTIVE)
|
|
IF g_eFriendMissionZoneState <> FRIEND_MISSION_ZONE_LAUNCHING
|
|
AND g_eFriendMissionZoneState <> FRIEND_MISSION_ZONE_LAUNCHED
|
|
CLEAR_FRIEND_MISSION_ZONE(g_TriggerableMissionsTU[paramTriggerIndex].eMissionID)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_BIT_SET(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_BATTLE_BUDDY_CALL_ACTIVE)
|
|
IF g_eFriendMissionZoneState <> FRIEND_MISSION_ZONE_LAUNCHING
|
|
AND g_eFriendMissionZoneState <> FRIEND_MISSION_ZONE_LAUNCHED
|
|
CLEAR_FRIEND_MISSION_ZONE(g_TriggerableMissionsTU[paramTriggerIndex].eMissionID)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
g_TriggerableMissionsTU[paramTriggerIndex].bLaunchMe = FALSE
|
|
g_TriggerableMissionsTU[paramTriggerIndex].eType = MISSION_TRIGGER_TYPE_NULL
|
|
g_TriggerableMissionsTU[paramTriggerIndex].eCandidateType = MCTID_CONTACT_POINT
|
|
g_TriggerableMissionsTU[paramTriggerIndex].eMissionID = SP_MISSION_NONE
|
|
g_TriggerableMissionsTU[paramTriggerIndex].eStrand = STRAND_NONE
|
|
|
|
g_TriggerableMissionsTU[paramTriggerIndex].iCandidateIndex = -1
|
|
|
|
IF(g_TriggerableMissionsTU[paramTriggerIndex].bUsed)
|
|
SET_STATIC_BLIP_ACTIVE_STATE(g_TriggerableMissionsTU[paramTriggerIndex].eBlip, FALSE)
|
|
g_TriggerableMissionsTU[paramTriggerIndex].eBlip = STATIC_BLIP_NAME_DUMMY_FINAL
|
|
ENDIF
|
|
|
|
g_TriggerableMissionsTU[paramTriggerIndex].bUsed = FALSE
|
|
g_TriggerableMissionsTU[paramTriggerIndex].iTriggerableCharBitset = -1
|
|
|
|
//Copied out of trigger_scene_private.sch RESET_TRIGGER_SCENE to avoid header cycles.
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_SCENE_ACTIVE)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_BLIP_ACTIVE)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_SCENE_LOADING)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_SCENE_CREATED)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_FRIEND_REJECT_ACTIVE)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_BATTLE_BUDDY_CALL_ACTIVE)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_HAS_TRIGGERED)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_TOD_TRIGGER_ACTIVATED)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_DOING_TOD_SKIP)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_CLEANUP_TOD_SKIP)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_RESET_ON_TRIGGERER_INIT)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_PRINTED_LEAVE_AREA_DEBUG)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_PRINTED_BLOCKING_DEBUG)
|
|
#ENDIF
|
|
ENDPROC
|
|
#ENDIF
|
|
|
|
#IF USE_NRM_DLC
|
|
PROC Reset_Mission_Trigger_NRM(INT paramTriggerIndex)
|
|
CDEBUG3LN(DEBUG_TRIGGER, "Resetting mission trigger at index ", paramTriggerIndex, ".")
|
|
|
|
IF IS_BIT_SET(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_FRIEND_REJECT_ACTIVE)
|
|
IF g_eFriendMissionZoneState <> FRIEND_MISSION_ZONE_LAUNCHING
|
|
AND g_eFriendMissionZoneState <> FRIEND_MISSION_ZONE_LAUNCHED
|
|
CLEAR_FRIEND_MISSION_ZONE(g_TriggerableMissionsTU[paramTriggerIndex].eMissionID)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_BIT_SET(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_BATTLE_BUDDY_CALL_ACTIVE)
|
|
IF g_eFriendMissionZoneState <> FRIEND_MISSION_ZONE_LAUNCHING
|
|
AND g_eFriendMissionZoneState <> FRIEND_MISSION_ZONE_LAUNCHED
|
|
CLEAR_FRIEND_MISSION_ZONE(g_TriggerableMissionsTU[paramTriggerIndex].eMissionID)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
g_TriggerableMissionsTU[paramTriggerIndex].bLaunchMe = FALSE
|
|
g_TriggerableMissionsTU[paramTriggerIndex].eType = MISSION_TRIGGER_TYPE_NULL
|
|
g_TriggerableMissionsTU[paramTriggerIndex].eCandidateType = MCTID_CONTACT_POINT
|
|
g_TriggerableMissionsTU[paramTriggerIndex].eMissionID = SP_MISSION_NONE
|
|
g_TriggerableMissionsTU[paramTriggerIndex].eStrand = STRAND_NONE
|
|
|
|
g_TriggerableMissionsTU[paramTriggerIndex].iCandidateIndex = -1
|
|
|
|
IF(g_TriggerableMissionsTU[paramTriggerIndex].bUsed)
|
|
SET_STATIC_BLIP_ACTIVE_STATE(g_TriggerableMissionsTU[paramTriggerIndex].eBlip, FALSE)
|
|
g_TriggerableMissionsTU[paramTriggerIndex].eBlip = STATIC_BLIP_NAME_DUMMY_FINAL
|
|
ENDIF
|
|
|
|
g_TriggerableMissionsTU[paramTriggerIndex].bUsed = FALSE
|
|
g_TriggerableMissionsTU[paramTriggerIndex].iTriggerableCharBitset = -1
|
|
|
|
//Copied out of trigger_scene_private.sch RESET_TRIGGER_SCENE to avoid header cycles.
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_SCENE_ACTIVE)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_BLIP_ACTIVE)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_SCENE_LOADING)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_SCENE_CREATED)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_FRIEND_REJECT_ACTIVE)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_BATTLE_BUDDY_CALL_ACTIVE)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_HAS_TRIGGERED)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_TOD_TRIGGER_ACTIVATED)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_DOING_TOD_SKIP)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_CLEANUP_TOD_SKIP)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_RESET_ON_TRIGGERER_INIT)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_PRINTED_LEAVE_AREA_DEBUG)
|
|
CLEAR_BIT(g_TriggerableMissionsTU[paramTriggerIndex].sScene.iStateBitset, TSS_PRINTED_BLOCKING_DEBUG)
|
|
#ENDIF
|
|
ENDPROC
|
|
#ENDIF
|
|
|
|
|
|
PROC Reset_Mission_Trigger(INT paramTriggerIndex)
|
|
#IF USE_CLF_DLC
|
|
Reset_Mission_Trigger_CLF(paramTriggerIndex)
|
|
#ENDIF
|
|
#IF USE_NRM_DLC
|
|
Reset_Mission_Trigger_NRM(paramTriggerIndex)
|
|
#ENDIF
|
|
|
|
#IF NOT USE_CLF_DLC
|
|
#IF NOT USE_NRM_DLC
|
|
CDEBUG3LN(DEBUG_TRIGGER, "Resetting mission trigger at index ", paramTriggerIndex, ".")
|
|
|
|
IF IS_BIT_SET(g_TriggerableMissions[paramTriggerIndex].sScene.iStateBitset, TSS_FRIEND_REJECT_ACTIVE)
|
|
IF g_eFriendMissionZoneState <> FRIEND_MISSION_ZONE_LAUNCHING
|
|
AND g_eFriendMissionZoneState <> FRIEND_MISSION_ZONE_LAUNCHED
|
|
CLEAR_FRIEND_MISSION_ZONE(g_TriggerableMissions[paramTriggerIndex].eMissionID)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_BIT_SET(g_TriggerableMissions[paramTriggerIndex].sScene.iStateBitset, TSS_BATTLE_BUDDY_CALL_ACTIVE)
|
|
IF g_eFriendMissionZoneState <> FRIEND_MISSION_ZONE_LAUNCHING
|
|
AND g_eFriendMissionZoneState <> FRIEND_MISSION_ZONE_LAUNCHED
|
|
CLEAR_FRIEND_MISSION_ZONE(g_TriggerableMissions[paramTriggerIndex].eMissionID)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
g_TriggerableMissions[paramTriggerIndex].bLaunchMe = FALSE
|
|
g_TriggerableMissions[paramTriggerIndex].eType = MISSION_TRIGGER_TYPE_NULL
|
|
g_TriggerableMissions[paramTriggerIndex].eCandidateType = MCTID_CONTACT_POINT
|
|
g_TriggerableMissions[paramTriggerIndex].eMissionID = SP_MISSION_NONE
|
|
g_TriggerableMissions[paramTriggerIndex].eStrand = STRAND_NONE
|
|
|
|
g_TriggerableMissions[paramTriggerIndex].iCandidateIndex = -1
|
|
|
|
IF(g_TriggerableMissions[paramTriggerIndex].bUsed)
|
|
IF g_TriggerableMissions[paramTriggerIndex].eBlip != STATIC_BLIP_NAME_DUMMY_FINAL
|
|
IF ENUM_TO_INT(g_TriggerableMissions[paramTriggerIndex].eBlip) < 0 OR ENUM_TO_INT(g_TriggerableMissions[paramTriggerIndex].eBlip) >= g_iTotalStaticBlips
|
|
CPRINTLN(DEBUG_BLIP, "Reset_Mission_Trigger | Something very wrong | g_TriggerableMissions[paramTriggerIndex].eBlip = ", g_TriggerableMissions[paramTriggerIndex].eBlip)
|
|
ENDIF
|
|
SET_STATIC_BLIP_ACTIVE_STATE(g_TriggerableMissions[paramTriggerIndex].eBlip, FALSE)
|
|
ELSE
|
|
CPRINTLN(DEBUG_BLIP, "Reset_Mission_Trigger | g_TriggerableMissions[paramTriggerIndex].eBlip != STATIC_BLIP_NAME_DUMMY_FINAL")
|
|
ENDIF
|
|
g_TriggerableMissions[paramTriggerIndex].eBlip = STATIC_BLIP_NAME_DUMMY_FINAL
|
|
ENDIF
|
|
|
|
g_TriggerableMissions[paramTriggerIndex].bUsed = FALSE
|
|
g_TriggerableMissions[paramTriggerIndex].iTriggerableCharBitset = -1
|
|
|
|
//Copied out of trigger_scene_private.sch RESET_TRIGGER_SCENE to avoid header cycles.
|
|
CLEAR_BIT(g_TriggerableMissions[paramTriggerIndex].sScene.iStateBitset, TSS_SCENE_ACTIVE)
|
|
CLEAR_BIT(g_TriggerableMissions[paramTriggerIndex].sScene.iStateBitset, TSS_BLIP_ACTIVE)
|
|
CLEAR_BIT(g_TriggerableMissions[paramTriggerIndex].sScene.iStateBitset, TSS_SCENE_LOADING)
|
|
CLEAR_BIT(g_TriggerableMissions[paramTriggerIndex].sScene.iStateBitset, TSS_SCENE_CREATED)
|
|
CLEAR_BIT(g_TriggerableMissions[paramTriggerIndex].sScene.iStateBitset, TSS_FRIEND_REJECT_ACTIVE)
|
|
CLEAR_BIT(g_TriggerableMissions[paramTriggerIndex].sScene.iStateBitset, TSS_BATTLE_BUDDY_CALL_ACTIVE)
|
|
CLEAR_BIT(g_TriggerableMissions[paramTriggerIndex].sScene.iStateBitset, TSS_HAS_TRIGGERED)
|
|
CLEAR_BIT(g_TriggerableMissions[paramTriggerIndex].sScene.iStateBitset, TSS_TOD_TRIGGER_ACTIVATED)
|
|
CLEAR_BIT(g_TriggerableMissions[paramTriggerIndex].sScene.iStateBitset, TSS_DOING_TOD_SKIP)
|
|
CLEAR_BIT(g_TriggerableMissions[paramTriggerIndex].sScene.iStateBitset, TSS_CLEANUP_TOD_SKIP)
|
|
CLEAR_BIT(g_TriggerableMissions[paramTriggerIndex].sScene.iStateBitset, TSS_RESET_ON_TRIGGERER_INIT)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
CLEAR_BIT(g_TriggerableMissions[paramTriggerIndex].sScene.iStateBitset, TSS_PRINTED_LEAVE_AREA_DEBUG)
|
|
CLEAR_BIT(g_TriggerableMissions[paramTriggerIndex].sScene.iStateBitset, TSS_PRINTED_BLOCKING_DEBUG)
|
|
#ENDIF
|
|
#ENDIF
|
|
#ENDIF
|
|
ENDPROC
|
|
|
|
|
|
/// PURPOSE:
|
|
/// Reset ALL mission triggers (this should only be called by flow launcher or other game reset).
|
|
PROC Reset_All_Mission_Triggers()
|
|
CDEBUG3LN(DEBUG_TRIGGER, "Resetting all mission triggers.")
|
|
|
|
// Clear out control variables
|
|
g_OnMissionState = MISSION_TYPE_OFF_MISSION
|
|
g_bMissionTriggerFired = FALSE
|
|
g_bPlayerLockedInToTrigger = FALSE
|
|
g_iRegisteredMissionTriggers = 0
|
|
|
|
g_eMissionTriggerProcessing = SP_MISSION_NONE
|
|
g_eMissionSceneToCleanup = SP_MISSION_NONE
|
|
g_eMissionSceneToPreLoad = SP_MISSION_NONE
|
|
g_eMissionForceTrigger = SP_MISSION_NONE
|
|
g_bCleanupTriggerScene = FALSE
|
|
g_bMissionTriggerLoading = FALSE
|
|
g_bTriggerSceneActive = FALSE
|
|
g_bLester1DoorKnocked = FALSE // resets the door knock for Lester1A
|
|
g_bAgencyP1HelpDisplayed = FALSE
|
|
g_eAgencyP1TimeNextHelp = INVALID_TIMEOFDAY
|
|
|
|
//Clear flow requested ped hints.
|
|
g_iPlayerFlowHintActive = 0
|
|
|
|
// Clear out all triggers
|
|
INT iTriggerIndex
|
|
#IF USE_CLF_DLC
|
|
REPEAT MAX_MISSION_TRIGGERS_TU iTriggerIndex
|
|
Reset_Mission_Trigger(iTriggerIndex)
|
|
ENDREPEAT
|
|
#ENDIF
|
|
#IF USE_NRM_DLC
|
|
REPEAT MAX_MISSION_TRIGGERS_TU iTriggerIndex
|
|
Reset_Mission_Trigger(iTriggerIndex)
|
|
ENDREPEAT
|
|
#ENDIF
|
|
#IF NOT USE_CLF_DLC
|
|
#IF NOT USE_NRM_DLC
|
|
REPEAT MAX_MISSION_TRIGGERS iTriggerIndex
|
|
Reset_Mission_Trigger(iTriggerIndex)
|
|
ENDREPEAT
|
|
#ENDIF
|
|
#ENDIF
|
|
ENDPROC
|
|
|
|
|
|
PROC Clear_Triggered_Flags_For_All_Trigger_Scenes()
|
|
INT iTriggerIndex
|
|
#IF USE_CLF_DLC
|
|
REPEAT MAX_MISSION_TRIGGERS_TU iTriggerIndex
|
|
CLEAR_BIT(g_TriggerableMissionsTU[iTriggerIndex].sScene.iStateBitset, TSS_HAS_TRIGGERED)
|
|
ENDREPEAT
|
|
#ENDIF
|
|
#IF USE_NRM_DLC
|
|
REPEAT MAX_MISSION_TRIGGERS_TU iTriggerIndex
|
|
CLEAR_BIT(g_TriggerableMissionsTU[iTriggerIndex].sScene.iStateBitset, TSS_HAS_TRIGGERED)
|
|
ENDREPEAT
|
|
#ENDIF
|
|
#IF NOT USE_CLF_DLC
|
|
#IF NOT USE_NRM_DLC
|
|
REPEAT MAX_MISSION_TRIGGERS iTriggerIndex
|
|
CLEAR_BIT(g_TriggerableMissions[iTriggerIndex].sScene.iStateBitset, TSS_HAS_TRIGGERED)
|
|
ENDREPEAT
|
|
#ENDIF
|
|
#ENDIF
|
|
ENDPROC
|
|
|
|
|
|
PROC Set_Leave_Area_Flag_For_Mission(SP_MISSIONS paramMissionID, BOOL paramFlagSetting)
|
|
#if USE_CLF_DLC
|
|
IF paramFlagSetting
|
|
g_sMissionActiveData[paramMissionID].leaveArea = TRUE
|
|
ELSE
|
|
g_sMissionActiveData[paramMissionID].leaveArea = FALSE
|
|
ENDIF
|
|
#endif
|
|
#if USE_NRM_DLC
|
|
IF paramFlagSetting
|
|
g_sMissionActiveData[paramMissionID].leaveArea = TRUE
|
|
ELSE
|
|
g_sMissionActiveData[paramMissionID].leaveArea = FALSE
|
|
ENDIF
|
|
#endif
|
|
#if not USE_CLF_DLC
|
|
#if not USE_NRM_DLC
|
|
IF paramFlagSetting
|
|
IF paramMissionID != SP_HEIST_JEWELRY_PREP_2A
|
|
AND paramMissionID != SP_HEIST_JEWELRY_PREP_1B
|
|
AND paramMissionID != SP_HEIST_RURAL_PREP_1
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_TRIGGER, "Leave area flag set by ", GET_THIS_SCRIPT_NAME(), " for mission ", GET_SP_MISSION_DISPLAY_STRING_FROM_ID(paramMissionID), ".")
|
|
#ENDIF
|
|
g_sMissionActiveData[paramMissionID].leaveArea = TRUE
|
|
ENDIF
|
|
ELSE
|
|
#IF IS_DEBUG_BUILD
|
|
CDEBUG1LN(DEBUG_TRIGGER, "Leave area flag cleared by ", GET_THIS_SCRIPT_NAME(), " for mission ", GET_SP_MISSION_DISPLAY_STRING_FROM_ID(paramMissionID), ".")
|
|
#ENDIF
|
|
g_sMissionActiveData[paramMissionID].leaveArea = FALSE
|
|
ENDIF
|
|
#endif
|
|
#endif
|
|
ENDPROC
|
|
|
|
|
|
PROC Set_Leave_Area_Flag_For_All_Blipped_Missions()
|
|
CDEBUG1LN(DEBUG_TRIGGER, "Setting leave area flags for all active blipped mission triggers.")
|
|
|
|
INT iTriggerIndex
|
|
|
|
#IF USE_CLF_DLC
|
|
REPEAT MAX_MISSION_TRIGGERS_TU iTriggerIndex
|
|
IF g_TriggerableMissionsTU[iTriggerIndex].bUsed
|
|
AND NOT g_TriggerableMissionsTU[iTriggerIndex].bLaunchMe
|
|
IF g_TriggerableMissionsTU[iTriggerIndex].eType = MISSION_TRIGGER_TYPE_SCENE
|
|
Set_Leave_Area_Flag_For_Mission(g_TriggerableMissionsTU[iTriggerIndex].eMissionID, TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
ENDREPEAT
|
|
#ENDIF
|
|
#IF USE_NRM_DLC
|
|
REPEAT MAX_MISSION_TRIGGERS_TU iTriggerIndex
|
|
IF g_TriggerableMissionsTU[iTriggerIndex].bUsed
|
|
AND NOT g_TriggerableMissionsTU[iTriggerIndex].bLaunchMe
|
|
IF g_TriggerableMissionsTU[iTriggerIndex].eType = MISSION_TRIGGER_TYPE_SCENE
|
|
Set_Leave_Area_Flag_For_Mission(g_TriggerableMissionsTU[iTriggerIndex].eMissionID, TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
ENDREPEAT
|
|
#ENDIF
|
|
|
|
#IF NOT USE_CLF_DLC
|
|
#IF NOT USE_NRM_DLC
|
|
REPEAT MAX_MISSION_TRIGGERS iTriggerIndex
|
|
IF g_TriggerableMissions[iTriggerIndex].bUsed
|
|
AND NOT g_TriggerableMissions[iTriggerIndex].bLaunchMe
|
|
IF g_TriggerableMissions[iTriggerIndex].eType = MISSION_TRIGGER_TYPE_SCENE
|
|
//Don't set leave area flags for moving mission blips.
|
|
IF g_TriggerableMissions[iTriggerIndex].eMissionID != SP_HEIST_JEWELRY_PREP_2A
|
|
AND g_TriggerableMissions[iTriggerIndex].eMissionID != SP_HEIST_JEWELRY_PREP_1B
|
|
AND g_TriggerableMissions[iTriggerIndex].eMissionID != SP_HEIST_RURAL_PREP_1
|
|
Set_Leave_Area_Flag_For_Mission(g_TriggerableMissions[iTriggerIndex].eMissionID, TRUE)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDREPEAT
|
|
#ENDIF
|
|
#ENDIF
|
|
|
|
ENDPROC
|
|
|