diff --git a/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/ComponentList.SC2Components b/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/ComponentList.SC2Components index b9842f945..78596fe1c 100644 --- a/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/ComponentList.SC2Components +++ b/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/ComponentList.SC2Components @@ -1,5 +1,6 @@ + GameData GameText DocumentInfo diff --git a/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/DocumentHeader b/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/DocumentHeader index 229d81bfd..5cc5aa999 100644 Binary files a/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/DocumentHeader and b/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/DocumentHeader differ diff --git a/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/MapScript.galaxy b/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/MapScript.galaxy index 0499fc232..b6505b561 100644 --- a/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/MapScript.galaxy +++ b/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/MapScript.galaxy @@ -40,6 +40,14 @@ void InitLibs () { //-------------------------------------------------------------------------------------------------- // Constants //-------------------------------------------------------------------------------------------------- +const int gv_LOCATION_ID_ARTANIS = 1; +const int gv_LOCATION_ID_NORTHWEST_VOID_CRYSTAL = 2; +const int gv_LOCATION_ID_NORTHEAST_VOID_CRYSTAL = 3; +const int gv_LOCATION_ID_SOUTHWEST_VOID_CRYSTAL = 4; +const int gv_LOCATION_ID_SOUTHEAST_VOID_CRYSTAL = 5; +const int gv_LOCATION_ID_SOUTH_XELNAGA_VESSEL = 6; +const int gv_LOCATION_ID_MID_XELNAGA_VESSEL = 7; +const int gv_LOCATION_ID_NORTH_XELNAGA_VESSEL = 8; const int gv_pLAYER_01_USER = 1; const int gv_pLAYER_02_DOMINION = 2; const int gv_pLAYER_02_DOMINION2 = 3; @@ -106,11 +114,11 @@ int gv_anniversaryAchievementTermHighTemplarorArchonDamage; bool[5] gv_masteryWindowClosed; int gv_masteryAchievementProgress; int gv_hybridIncrementer; -int gv_objectiveDestroyZergBase2; -int gv_objectiveDestroyZergBase3; -int gv_objectiveDestroyZergBase; -int gv_objectiveDestroyZergBase4; -int gv_objectiveRescueStalkers; +int gv_objectiveFindArtanis; +int gv_objectiveKillHybrid; +int gv_objectiveDestroyVoidCrystal; +int gv_objectiveSwarmMustSurvive; +int gv_objectiveActivateVessels; unitgroup gv_cinematicHiddenUnits; unitgroup gv_cinematicPausedUnits; unitgroup gv_cinematicTempUnits; @@ -158,11 +166,11 @@ void InitGlobals () { for (init_i = 0; init_i <= 3; init_i += 1) { gv_vesselGuards[init_i] = UnitGroupEmpty(); } - gv_objectiveDestroyZergBase2 = c_invalidObjectiveId; - gv_objectiveDestroyZergBase3 = c_invalidObjectiveId; - gv_objectiveDestroyZergBase = c_invalidObjectiveId; - gv_objectiveDestroyZergBase4 = c_invalidObjectiveId; - gv_objectiveRescueStalkers = c_invalidObjectiveId; + gv_objectiveFindArtanis = c_invalidObjectiveId; + gv_objectiveKillHybrid = c_invalidObjectiveId; + gv_objectiveDestroyVoidCrystal = c_invalidObjectiveId; + gv_objectiveSwarmMustSurvive = c_invalidObjectiveId; + gv_objectiveActivateVessels = c_invalidObjectiveId; gv_cinematicHiddenUnits = UnitGroupEmpty(); gv_cinematicPausedUnits = UnitGroupEmpty(); gv_cinematicTempUnits = UnitGroupEmpty(); @@ -319,6 +327,7 @@ trigger gt_ObjectiveSwarmMustSurviveFailed; trigger gt_ObjectiveActivateVesselsCreate; trigger gt_ObjectiveActivateVesselsUpdate; trigger gt_ObjectiveActivateVesselsComplete; +trigger gt_ObjectiveActivateVesselsDeactivate; trigger gt_IntroQ; trigger gt_IntroSetup; trigger gt_IntroCinematic; @@ -1840,9 +1849,12 @@ bool gt_StartGameStage2Q_Func (bool testConds, bool runActions) { TriggerEnable(gt_VoidCrystal02Clear, true); TriggerEnable(gt_VoidCrystal03Clear, true); TriggerEnable(gt_VoidCrystal04Clear, true); - TriggerEnable(gt_Vessel01Activated, true); - TriggerEnable(gt_Vessel02Activated, true); - TriggerEnable(gt_Vessel03Activated, true); + if (((lib5BD4895D_gv_aP_Core_locationCollectable[gv_LOCATION_ID_SOUTH_XELNAGA_VESSEL] == true) || (lib5BD4895D_gv_aP_Core_locationCollectable[gv_LOCATION_ID_MID_XELNAGA_VESSEL] == true) || (lib5BD4895D_gv_aP_Core_locationCollectable[gv_LOCATION_ID_NORTH_XELNAGA_VESSEL] == true))) { + TriggerEnable(gt_Vessel01Activated, true); + TriggerEnable(gt_Vessel02Activated, true); + TriggerEnable(gt_Vessel03Activated, true); + } + TriggerExecute(gt_SpawnHybridFromPortal, true, false); TriggerExecute(gt_ExpandCreepQuickly, true, false); TriggerExecute(gt_StartShadowTendrilMovement, true, false); @@ -2463,7 +2475,7 @@ bool gt_ArtanisFound_Func (bool testConds, bool runActions) { } TriggerEnable(TriggerGetCurrent(), false); - lib5BD4895D_gf_AP_Core_sendLocationLocal(1); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_ARTANIS); UISetButtonHighlighted(PlayerGroupAll(), AbilityCommand("Feedback", 0), false); UISetButtonHighlighted(PlayerGroupAll(), AbilityCommand("PsiStorm", 0), false); if ((UnitIsAlive(UnitFromId(574)) == true)) { @@ -4258,7 +4270,7 @@ bool gt_VoidCrystal01Destroyed_Func (bool testConds, bool runActions) { } TriggerEnable(TriggerGetCurrent(), false); - lib5BD4895D_gf_AP_Core_sendLocationLocal(5); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_SOUTHEAST_VOID_CRYSTAL); gf_CrystalDestructionShake(gv_voidCrystal[1]); PingDestroy(gv_voidCrystalPing[1]); if ((libLotv_gf_DifficultyValueInt2(0, 0, 1, 1) == 1) && (gv_masteryWindowClosed[1] == false)) { @@ -4317,7 +4329,7 @@ bool gt_VoidCrystal02Destroyed_Func (bool testConds, bool runActions) { } TriggerEnable(TriggerGetCurrent(), false); - lib5BD4895D_gf_AP_Core_sendLocationLocal(4); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_SOUTHWEST_VOID_CRYSTAL); gf_CrystalDestructionShake(gv_voidCrystal[2]); PingDestroy(gv_voidCrystalPing[2]); if ((libLotv_gf_DifficultyValueInt2(0, 0, 1, 1) == 1) && (gv_masteryWindowClosed[2] == false)) { @@ -4376,7 +4388,7 @@ bool gt_VoidCrystal03Destroyed_Func (bool testConds, bool runActions) { } TriggerEnable(TriggerGetCurrent(), false); - lib5BD4895D_gf_AP_Core_sendLocationLocal(2); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_NORTHWEST_VOID_CRYSTAL); gf_CrystalDestructionShake(gv_voidCrystal[3]); PingDestroy(gv_voidCrystalPing[3]); if ((libLotv_gf_DifficultyValueInt2(0, 0, 1, 1) == 1) && (gv_masteryWindowClosed[3] == false)) { @@ -4435,7 +4447,7 @@ bool gt_VoidCrystal04Destroyed_Func (bool testConds, bool runActions) { } TriggerEnable(TriggerGetCurrent(), false); - lib5BD4895D_gf_AP_Core_sendLocationLocal(3); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_NORTHEAST_VOID_CRYSTAL); gf_CrystalDestructionShake(gv_voidCrystal[4]); PingDestroy(gv_voidCrystalPing[4]); if ((libLotv_gf_DifficultyValueInt2(0, 0, 1, 1) == 1) && (gv_masteryWindowClosed[4] == false)) { @@ -5033,7 +5045,7 @@ bool gt_Vessel01Activated_Func (bool testConds, bool runActions) { } TriggerEnable(TriggerGetCurrent(), false); - lib5BD4895D_gf_AP_Core_sendLocationLocal(6); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_SOUTH_XELNAGA_VESSEL); gv_vesselsActivated += 1; gf_VesselActivationFX(PointFromId(448)); TriggerExecute(gt_ObjectiveActivateVesselsUpdate, true, true); @@ -5082,7 +5094,7 @@ bool gt_Vessel02Activated_Func (bool testConds, bool runActions) { } TriggerEnable(TriggerGetCurrent(), false); - lib5BD4895D_gf_AP_Core_sendLocationLocal(7); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_MID_XELNAGA_VESSEL); gv_vesselsActivated += 1; gf_VesselActivationFX(PointFromId(510)); TriggerExecute(gt_ObjectiveActivateVesselsUpdate, true, true); @@ -5131,7 +5143,7 @@ bool gt_Vessel03Activated_Func (bool testConds, bool runActions) { } TriggerEnable(TriggerGetCurrent(), false); - lib5BD4895D_gf_AP_Core_sendLocationLocal(8); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_NORTH_XELNAGA_VESSEL); gv_vesselsActivated += 1; gf_VesselActivationFX(PointFromId(554)); TriggerExecute(gt_ObjectiveActivateVesselsUpdate, true, true); @@ -5276,10 +5288,10 @@ bool gt_DefeatStartingUnitsDead_Func (bool testConds, bool runActions) { TriggerQueuePause(true); TriggerQueueClear(c_triggerQueueRemove); Wait(2.0, c_timeReal); - if ((ObjectiveGetState(gv_objectiveDestroyZergBase2) != c_objectiveStateCompleted)) { + if ((ObjectiveGetState(gv_objectiveFindArtanis) != c_objectiveStateCompleted)) { TriggerExecute(gt_ObjectiveFindArtanisFailed, true, false); } - else if ((ObjectiveGetState(gv_objectiveDestroyZergBase3) != c_objectiveStateCompleted)) { + else if ((ObjectiveGetState(gv_objectiveKillHybrid) != c_objectiveStateCompleted)) { TriggerExecute(gt_ObjectiveKillHybridFailed, true, false); } libVCMI_gf_DisplayCampaignMessage(PlayerGroupAll(), libVCMI_ge_CampaignMessageType_MissionFailed, StringExternal("Param/Value/3142407E"), libVCMI_ge_CampaignMessageFormatNotFormat_FormatMessage); @@ -5391,7 +5403,7 @@ bool gt_VictorySequence_Func (bool testConds, bool runActions) { } TriggerEnable(TriggerGetCurrent(), false); - lib5BD4895D_gf_AP_Core_sendLocationLocal(lib5BD4895D_gv_aP_Core_locationVictory); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(lib5BD4895D_gv_aP_Core_locationVictory); libVCMI_gf_GameOver(libVCMI_ge_CampaignMissionGameResultType_Victory); Wait(2.0, c_timeReal); TriggerExecute(gt_ObjectiveDestroyVoidCrystalsComplete, true, false); @@ -6615,8 +6627,11 @@ bool gt_ObjectiveFindArtanisCreate_Func (bool testConds, bool runActions) { TriggerEnable(TriggerGetCurrent(), false); libVCMI_gf_CreateObjectiveCampaign("PUlnar03Primary01"); - gv_objectiveDestroyZergBase2 = ObjectiveLastCreated(); - lib5BD4895D_gf_AP_Core_addObjectiveFromData(ObjectiveLastCreated(), "PUlnar03Primary01", "", 0); + gv_objectiveFindArtanis = ObjectiveLastCreated(); + ObjectiveShow(gv_objectiveFindArtanis, PlayerGroupAll(), false); + lib5BD4895D_gf_AP_Core_addCategoryObjectiveSimple(gv_objectiveFindArtanis, lib5BD4895D_ge_APObjectiveCategory_Primary, false); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveFindArtanis, gv_LOCATION_ID_ARTANIS); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objectiveFindArtanis, true); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -6648,7 +6663,7 @@ bool gt_ObjectiveFindArtanisComplete_Func (bool testConds, bool runActions) { Wait(1.0, c_timeGame); } TriggerExecute(gt_ObjectiveFindArtanisCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveDestroyZergBase2); + lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveFindArtanis); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -6680,7 +6695,7 @@ bool gt_ObjectiveFindArtanisFailed_Func (bool testConds, bool runActions) { Wait(1.0, c_timeGame); } TriggerExecute(gt_ObjectiveFindArtanisCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveFailed(gv_objectiveDestroyZergBase2); + lib5BD4895D_gf_AP_Core_setObjectiveFailed(gv_objectiveFindArtanis); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -6709,8 +6724,10 @@ bool gt_ObjectiveKillHybridCreate_Func (bool testConds, bool runActions) { TriggerEnable(TriggerGetCurrent(), false); libVCMI_gf_CreateObjectiveCampaign("PUlnar03Primary02"); - gv_objectiveDestroyZergBase3 = ObjectiveLastCreated(); - lib5BD4895D_gf_AP_Core_addObjectiveFromData(ObjectiveLastCreated(), "PUlnar03Primary02", "", 0); + gv_objectiveKillHybrid = ObjectiveLastCreated(); + ObjectiveShow(gv_objectiveKillHybrid, PlayerGroupAll(), false); + lib5BD4895D_gf_AP_Core_addCategoryObjectiveSimple(gv_objectiveKillHybrid, lib5BD4895D_ge_APObjectiveCategory_Primary, false); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objectiveKillHybrid, true); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -6742,7 +6759,7 @@ bool gt_ObjectiveKillHybridComplete_Func (bool testConds, bool runActions) { Wait(1.0, c_timeGame); } TriggerExecute(gt_ObjectiveKillHybridCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveDestroyZergBase3); + lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveKillHybrid); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -6774,7 +6791,7 @@ bool gt_ObjectiveKillHybridFailed_Func (bool testConds, bool runActions) { Wait(1.0, c_timeGame); } TriggerExecute(gt_ObjectiveKillHybridCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveFailed(gv_objectiveDestroyZergBase3); + lib5BD4895D_gf_AP_Core_setObjectiveFailed(gv_objectiveKillHybrid); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -6803,8 +6820,16 @@ bool gt_ObjectiveDestroyVoidCrystalsCreate_Func (bool testConds, bool runActions TriggerEnable(TriggerGetCurrent(), false); libVCMI_gf_CreateObjectiveCampaign("PUlnar03Primary03"); - gv_objectiveDestroyZergBase = ObjectiveLastCreated(); - lib5BD4895D_gf_AP_Core_addObjectiveFromData(ObjectiveLastCreated(), "PUlnar03Primary03", "", gv_voidCrystalsDisabled); + gv_objectiveDestroyVoidCrystal = ObjectiveLastCreated(); + ObjectiveSetName(gv_objectiveDestroyVoidCrystal, libVoiC_gf_MissionObjectiveName("PUlnar03Primary03")); + ObjectiveShow(gv_objectiveDestroyVoidCrystal, PlayerGroupAll(), false); + lib5BD4895D_gf_AP_Core_addCategoryObjectiveWithCounter(gv_objectiveDestroyVoidCrystal, lib5BD4895D_ge_APObjectiveCategory_Primary, "", gv_voidCrystalsDisabled, libVoiC_gf_MissionObjectiveItemCount("PUlnar03Primary03"), false); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveDestroyVoidCrystal, gv_LOCATION_ID_NORTHWEST_VOID_CRYSTAL); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveDestroyVoidCrystal, gv_LOCATION_ID_NORTHEAST_VOID_CRYSTAL); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveDestroyVoidCrystal, gv_LOCATION_ID_SOUTHWEST_VOID_CRYSTAL); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveDestroyVoidCrystal, gv_LOCATION_ID_SOUTHEAST_VOID_CRYSTAL); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveDestroyVoidCrystal, lib5BD4895D_gv_aP_Core_locationVictory); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objectiveDestroyVoidCrystal, true); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -6825,7 +6850,7 @@ bool gt_ObjectiveDestroyVoidCrystalsUpdate_Func (bool testConds, bool runActions } TriggerExecute(gt_ObjectiveDestroyVoidCrystalsCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objectiveDestroyZergBase, gv_voidCrystalsDisabled); + lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objectiveDestroyVoidCrystal, gv_voidCrystalsDisabled); return true; } @@ -6853,7 +6878,7 @@ bool gt_ObjectiveDestroyVoidCrystalsComplete_Func (bool testConds, bool runActio TriggerEnable(TriggerGetCurrent(), false); TriggerExecute(gt_ObjectiveDestroyVoidCrystalsCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveDestroyZergBase); + lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveDestroyVoidCrystal); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -6885,7 +6910,7 @@ bool gt_ObjectiveDestroyVoidCrystalsFailed_Func (bool testConds, bool runActions Wait(1.0, c_timeGame); } TriggerExecute(gt_ObjectiveDestroyVoidCrystalsCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveFailed(gv_objectiveDestroyZergBase); + lib5BD4895D_gf_AP_Core_setObjectiveFailed(gv_objectiveDestroyVoidCrystal); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -6914,8 +6939,10 @@ bool gt_ObjectiveSwarmMustSurviveCreate_Func (bool testConds, bool runActions) { TriggerEnable(TriggerGetCurrent(), false); libVCMI_gf_CreateObjectiveCampaign("PUlnar03Primary04"); - gv_objectiveDestroyZergBase4 = ObjectiveLastCreated(); - lib5BD4895D_gf_AP_Core_addObjectiveFromData(ObjectiveLastCreated(), "PUlnar03Primary04", "", 0); + gv_objectiveSwarmMustSurvive = ObjectiveLastCreated(); + ObjectiveShow(gv_objectiveSwarmMustSurvive, PlayerGroupAll(), false); + lib5BD4895D_gf_AP_Core_addCategoryObjectiveSimple(gv_objectiveSwarmMustSurvive, lib5BD4895D_ge_APObjectiveCategory_Primary, false); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objectiveSwarmMustSurvive, true); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -6947,7 +6974,7 @@ bool gt_ObjectiveSwarmMustSurviveComplete_Func (bool testConds, bool runActions) Wait(1.0, c_timeGame); } TriggerExecute(gt_ObjectiveSwarmMustSurviveCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveDestroyZergBase4); + lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveSwarmMustSurvive); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -6979,7 +7006,7 @@ bool gt_ObjectiveSwarmMustSurviveFailed_Func (bool testConds, bool runActions) { Wait(1.0, c_timeGame); } TriggerExecute(gt_ObjectiveSwarmMustSurviveCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveFailed(gv_objectiveDestroyZergBase4); + lib5BD4895D_gf_AP_Core_setObjectiveFailed(gv_objectiveSwarmMustSurvive); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -6993,7 +7020,13 @@ void gt_ObjectiveSwarmMustSurviveFailed_Init () { // Trigger: Objective Activate Vessels Create //-------------------------------------------------------------------------------------------------- bool gt_ObjectiveActivateVesselsCreate_Func (bool testConds, bool runActions) { + // Variable Declarations + int lv_category; + // Automatic Variable Declarations + // Variable Initialization + lv_category = lib5BD4895D_ge_APObjectiveCategory_Secondary; + // Conditions if (testConds) { if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { @@ -7011,8 +7044,14 @@ bool gt_ObjectiveActivateVesselsCreate_Func (bool testConds, bool runActions) { Wait(1.0, c_timeGame); } libVCMI_gf_CreateObjectiveCampaign("PUlnar03Bonus01"); - gv_objectiveRescueStalkers = ObjectiveLastCreated(); - lib5BD4895D_gf_AP_Core_addObjectiveFromData(ObjectiveLastCreated(), "PUlnar03Bonus01", "", gv_vesselsActivated); + gv_objectiveActivateVessels = ObjectiveLastCreated(); + ObjectiveSetName(gv_objectiveActivateVessels, libVoiC_gf_MissionObjectiveName("PUlnar03Bonus01")); + ObjectiveShow(gv_objectiveActivateVessels, PlayerGroupAll(), false); + lib5BD4895D_gf_AP_Core_addCategoryObjectiveWithCounter(gv_objectiveActivateVessels, lv_category, "", gv_vesselsActivated, libVoiC_gf_MissionObjectiveItemCount("PUlnar03Bonus01"), true); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveActivateVessels, gv_LOCATION_ID_SOUTH_XELNAGA_VESSEL); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveActivateVessels, gv_LOCATION_ID_MID_XELNAGA_VESSEL); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveActivateVessels, gv_LOCATION_ID_NORTH_XELNAGA_VESSEL); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objectiveActivateVessels, true); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -7036,7 +7075,7 @@ bool gt_ObjectiveActivateVesselsUpdate_Func (bool testConds, bool runActions) { Wait(1.0, c_timeGame); } TriggerExecute(gt_ObjectiveActivateVesselsCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objectiveRescueStalkers, gv_vesselsActivated); + lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objectiveActivateVessels, gv_vesselsActivated); return true; } @@ -7064,7 +7103,7 @@ bool gt_ObjectiveActivateVesselsComplete_Func (bool testConds, bool runActions) TriggerEnable(TriggerGetCurrent(), false); TriggerExecute(gt_ObjectiveActivateVesselsCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveRescueStalkers); + lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveActivateVessels); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -7074,6 +7113,38 @@ void gt_ObjectiveActivateVesselsComplete_Init () { gt_ObjectiveActivateVesselsComplete = TriggerCreate("gt_ObjectiveActivateVesselsComplete_Func"); } +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Activate Vessels Deactivate +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveActivateVesselsDeactivate_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Conditions + if (testConds) { + if (!(((lib5BD4895D_gv_aP_Core_locationCollectable[gv_LOCATION_ID_SOUTH_XELNAGA_VESSEL] == false) && (lib5BD4895D_gv_aP_Core_locationCollectable[gv_LOCATION_ID_MID_XELNAGA_VESSEL] == false) && (lib5BD4895D_gv_aP_Core_locationCollectable[gv_LOCATION_ID_NORTH_XELNAGA_VESSEL] == false)))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(gt_ObjectiveActivateVesselsCreate, false); + TriggerEnable(gt_ObjectiveActivateVesselsUpdate, false); + TriggerEnable(gt_VesselIntroQ, false); + TriggerEnable(gt_VesselDiscovery, false); + TriggerEnable(gt_TransmissionVesselActivatedQ, false); + TriggerEnable(gt_TransmissionActivateVessels, false); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveActivateVesselsDeactivate_Init () { + gt_ObjectiveActivateVesselsDeactivate = TriggerCreate("gt_ObjectiveActivateVesselsDeactivate_Func"); + TriggerAddEventTimeElapsed(gt_ObjectiveActivateVesselsDeactivate, 2.0, c_timeGame); +} + //-------------------------------------------------------------------------------------------------- // Trigger: Intro Q //-------------------------------------------------------------------------------------------------- @@ -7761,10 +7832,8 @@ bool gt_MidCleanup_Func (bool testConds, bool runActions) { UnitSetPropertyFixed(auto81C39E94_var, c_unitPropEnergyPercent, 100.0); } libNtve_gf_RestoreUnitSelection(gv_pLAYER_01_USER); - ObjectiveSetState(gv_objectiveDestroyZergBase2, c_objectiveStateHidden); - lib5BD4895D_gf_AP_Core_showObjective(gv_objectiveDestroyZergBase2); - ObjectiveSetState(gv_objectiveDestroyZergBase3, c_objectiveStateHidden); - lib5BD4895D_gf_AP_Core_showObjective(gv_objectiveDestroyZergBase3); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objectiveFindArtanis, false); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objectiveKillHybrid, false); libNtve_gf_SetAlliance(gv_pLAYER_01_USER, gv_pLAYER_02_DOMINION5, libNtve_ge_AllianceSetting_AllyWithSharedVisionAndPushable); libNtve_gf_SetAlliance(gv_pLAYER_01_USER, gv_pLAYER_07_ZERG_STREAM, libNtve_ge_AllianceSetting_AllyWithSharedVisionAndPushable); UISetAlertTypeVisible(PlayerGroupAll(), "AttackUnitAlly_Prot", false); @@ -8378,6 +8447,7 @@ void InitTriggers () { gt_ObjectiveActivateVesselsCreate_Init(); gt_ObjectiveActivateVesselsUpdate_Init(); gt_ObjectiveActivateVesselsComplete_Init(); + gt_ObjectiveActivateVesselsDeactivate_Init(); gt_IntroQ_Init(); gt_IntroSetup_Init(); gt_IntroCinematic_Init(); diff --git a/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/Preload.xml b/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/Preload.xml index d29156491..3a31ad1cc 100644 --- a/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/Preload.xml +++ b/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/Preload.xml @@ -44,11 +44,6 @@ - - - - - diff --git a/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/Triggers b/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/Triggers index ac0a444fa..86bdb8e10 100644 --- a/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/Triggers +++ b/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/Triggers @@ -8,10 +8,117 @@ + + + + + + + + + + + + + LOCATION_ID_ARTANIS + + + + + + + + 1 + + + + LOCATION_ID_NORTHWEST_VOID_CRYSTAL + + + + + + + + 2 + + + + LOCATION_ID_NORTHEAST_VOID_CRYSTAL + + + + + + + + 3 + + + + LOCATION_ID_SOUTHWEST_VOID_CRYSTAL + + + + + + + + 4 + + + + LOCATION_ID_SOUTHEAST_VOID_CRYSTAL + + + + + + + + 5 + + + + LOCATION_ID_SOUTH_XELNAGA_VESSEL + + + + + + + + 6 + + + + LOCATION_ID_MID_XELNAGA_VESSEL + + + + + + + + 7 + + + + LOCATION_ID_NORTH_XELNAGA_VESSEL + + + + + + + + 8 + + @@ -9882,9 +9989,7 @@ - - - + @@ -10050,8 +10155,16 @@ + + + + + + + + @@ -10066,6 +10179,7 @@ + @@ -10080,6 +10194,7 @@ + @@ -10092,6 +10207,85 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + true + + @@ -14152,7 +14346,7 @@ - + @@ -14317,14 +14511,13 @@ - - - + + + - - - 1 - + + + @@ -29383,7 +29576,7 @@ - + @@ -29498,14 +29691,13 @@ - - - + + + - - - 5 - + + + @@ -29882,7 +30074,7 @@ - + @@ -29997,14 +30189,13 @@ - - - + + + - - - 4 - + + + @@ -30381,7 +30572,7 @@ - + @@ -30496,14 +30687,13 @@ - - - + + + - - - 2 - + + + @@ -30880,7 +31070,7 @@ - + @@ -30995,14 +31185,13 @@ - - - + + + - - - 3 - + + + @@ -35041,7 +35230,7 @@ - + @@ -35228,14 +35417,13 @@ - - - + + + - - - 6 - + + + @@ -35356,7 +35544,7 @@ - + @@ -35543,14 +35731,13 @@ - - - + + + - - - 7 - + + + @@ -35671,7 +35858,7 @@ - + @@ -35858,14 +36045,13 @@ - - - + + + - - - 8 - + + + @@ -37444,7 +37630,7 @@ - + @@ -37498,12 +37684,12 @@ - - - + + + - - + + @@ -46202,7 +46388,6 @@ - objectiveDestroyZergBase2 @@ -46216,7 +46401,10 @@ - + + + + @@ -46292,34 +46480,71 @@ - - - - - - + + + + + - - - + + + - - + + - - - PUlnar03Primary01 - - + + + - - - + + + - - - 0 - + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -46346,7 +46571,6 @@ - @@ -46469,22 +46693,6 @@ Update the objective - - - - - - - - - - - - - PUlnar03Primary01 - - - @@ -46517,7 +46725,6 @@ - @@ -46634,22 +46841,6 @@ - - - - - - - - - - - - - PUlnar03Primary01 - - - @@ -46678,7 +46869,6 @@ - objectiveDestroyZergBase3 @@ -46692,7 +46882,9 @@ - + + + @@ -46768,34 +46960,58 @@ - - - - - - + + + + + - - - + + + - - + + - - - PUlnar03Primary02 - - + + + - - - + + + - - - 0 - + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + @@ -46822,7 +47038,6 @@ - @@ -46945,22 +47160,6 @@ Update the objective - - - - - - - - - - - - - PUlnar03Primary02 - - - @@ -46993,7 +47192,6 @@ - @@ -47110,22 +47308,6 @@ - - - - - - - - - - - - - PUlnar03Primary02 - - - @@ -47155,7 +47337,6 @@ - objectiveDestroyZergBase @@ -47168,9 +47349,16 @@ - - + + + + + + + + + @@ -47230,22 +47418,6 @@ - - - - - - - - - PUlnar03Primary03 - - - - - - - @@ -47262,34 +47434,172 @@ - - - - - - + + + + - - - + + + - - + + + - - + + PUlnar03Primary03 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + PUlnar03Primary03 + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wait a short amount of time so the player can see the objective is being added. You can delete this action if you're adding multiple objectives at once. @@ -47312,7 +47622,6 @@ - @@ -47344,22 +47653,6 @@ Update the campaign progress for this objective. This must be done whenever an objective's progress changes. - - - - - - - - - PUlnar03Primary03 - - - - - - - @@ -47379,7 +47672,6 @@ - @@ -47459,22 +47751,6 @@ Update the objective - - - - - - - - - - - - - PUlnar03Primary03 - - - @@ -47507,7 +47783,6 @@ - @@ -47624,22 +47899,6 @@ - - - - - - - - - - - - - PUlnar03Primary03 - - - @@ -47668,7 +47927,6 @@ - objectiveDestroyZergBase4 @@ -47682,7 +47940,9 @@ - + + + @@ -47758,34 +48018,58 @@ - - - - - - + + + + + - - - + + + - - + + - - - PUlnar03Primary04 - - + + + - - - + + + - - - 0 - + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + @@ -47812,7 +48096,6 @@ - @@ -47935,22 +48218,6 @@ Update the objective - - - - - - - - - - - - - PUlnar03Primary04 - - - @@ -47983,7 +48250,6 @@ - @@ -48100,22 +48366,6 @@ - - - - - - - - - - - - - PUlnar03Primary04 - - - @@ -48142,9 +48392,9 @@ + - objectiveRescueStalkers @@ -48154,17 +48404,33 @@ + - - + + + + + + + + + + + + + + + + + @@ -48285,49 +48551,145 @@ - - - - - + + + + + + + + - - + + + + + + PUlnar03Bonus01 - - - + + + - - - - - - + + + + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + PUlnar03Bonus01 - - - + + + true + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -48352,7 +48714,6 @@ - @@ -48427,22 +48788,6 @@ Update the campaign progress for this objective. This must be done whenever an objective's progress changes. - - - - - - - - - PUlnar03Bonus01 - - - - - - - @@ -48461,7 +48806,6 @@ - @@ -48536,22 +48880,6 @@ - - - - - - - - - PUlnar03Bonus01 - - - - - - - @@ -48578,6 +48906,192 @@ + + + + + + + + + + + + + + + + + + 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -54227,10 +54741,8 @@ - - - - + + @@ -54915,47 +55427,31 @@ - - - - + + + + - - + + - - - - - - - - - - - + + + - - - - + + + + - - + + - - - - - - - - - - - + + + diff --git a/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/Triggers.version b/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/Triggers.version index 2123d0910..65d3a83e3 100644 Binary files a/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/Triggers.version and b/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/Triggers.version differ diff --git a/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt b/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt index 037fd883a..ec8fa287a 100644 --- a/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt +++ b/Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt @@ -32,6 +32,7 @@ Category/Name/CF030642=Difficulty Category/Name/D083F28B=AI Category/Name/D115FC6D======== CINEMATIC ======= Category/Name/D2469C95=Bonus Objective - Xel'Naga Vessels +Category/Name/E5510F0E=Location IDs Category/Name/E69669B3=Victory/Defeat FunctionDef/Grammar/29D38B81=Enemies within ~range~ of ~unit~ matching ~filter~ FunctionDef/Grammar/60299C99=Start Kerrigan's death sequence @@ -145,6 +146,7 @@ Trigger/Name/83166129=Objective Swarm Must Survive Failed Trigger/Name/8449CA2E=Mid Cleanup - Organise Starting Units Trigger/Name/8494200A=Void Crystal 04 Destroyed Trigger/Name/84DCB316=AI Give Resources +Trigger/Name/8B26F71B=Objective Activate Vessels Deactivate Trigger/Name/8D59C439=Tip Ready Q Trigger/Name/8DDF3932=TransferZergControlToPlayer Trigger/Name/8F3AE66A=Spawn Shadow Cloud Trail 04 @@ -218,9 +220,11 @@ Variable/Name/0497AF3D=EnemyGroup10 Variable/Name/09878398=CurrentUnit Variable/Name/0BDE0E4A=ConduitIndex Variable/Name/1018EDE1=VictoryVoidCrystal +Variable/Name/108A50E3=LOCATION_ID_MID_XELNAGA_VESSEL Variable/Name/11576C3F=DarkEnergyProgressedSpeed Variable/Name/11E5FC7A=LocalWave Variable/Name/15554EB5=VictoryVoidCrystalCamera +Variable/Name/16584400=LOCATION_ID_NORTHEAST_VOID_CRYSTAL Variable/Name/17F3A556=MidArtanis Variable/Name/1BA72F26=Soundtrack Variable/Name/1D6A6F52=MasteryAchievementProgress @@ -231,6 +235,7 @@ Variable/Name/1F861C44=FadeDuration Variable/Name/246F1104=TemplarUnitGroup Variable/Name/248B973E=TemplarCount Variable/Name/25C7240F=FeedbackFodder +Variable/Name/2785AEC2=LOCATION_ID_NORTHWEST_VOID_CRYSTAL Variable/Name/28233E86=ZergNydus Variable/Name/290A05AB=EnemyGroup9 Variable/Name/2A722045=PLAYER_07_ZERG_STREAM @@ -247,6 +252,7 @@ Variable/Name/3AFF56BF=VoidCrystalsDisabled Variable/Name/418243A8=Crystal Variable/Name/440F626F=PLAYER_05_ARTANIS Variable/Name/46FECB0B=Victim +Variable/Name/4AA7E379=LOCATION_ID_SOUTH_XELNAGA_VESSEL Variable/Name/4BF989D3=VesselsActivated Variable/Name/512B1493=CinematicCompleted Variable/Name/52125686=VictoryBeamCaster @@ -295,12 +301,14 @@ Variable/Name/9BA6CDF5=Hybrid02 Variable/Name/9E989F2D=KerriganCocoon Variable/Name/A138524B=HybridPing Variable/Name/A1E1EAD9=Crystal +Variable/Name/A22EFA61=LOCATION_ID_ARTANIS Variable/Name/A3CC5185=ObjectiveKillHybrid Variable/Name/A3F9733A=VoidCrystalClear Variable/Name/A53EABE6=FadeDuration Variable/Name/A6A9D805=UnitsToSpawn Variable/Name/A6C52C5B=HeroReviveLinkKerrigan Variable/Name/A6D5C5CC=Crystal +Variable/Name/ACD2958F=LOCATION_ID_SOUTHWEST_VOID_CRYSTAL Variable/Name/ACEB5FEC=KerriganSwarmAiders Variable/Name/AD38581B=i Variable/Name/AF145900=VOID_CRYSTAL_TOTAL @@ -314,10 +322,12 @@ Variable/Name/B5610B6B=ObjectiveDestroyVoidCrystal Variable/Name/B60B190D=MapMusicTrack Variable/Name/B778F5C0=TemplarPoint Variable/Name/B81D80FE=SolariteUnit +Variable/Name/BBEA5CD1=category Variable/Name/BC0B8C45=ChosenTarget Variable/Name/BF65F470=WaveGroup Variable/Name/BFA74E99=CinematicPausedUnits Variable/Name/C77DBB56=PLAYER_06_ZERG +Variable/Name/C8EBFED5=LOCATION_ID_NORTH_XELNAGA_VESSEL Variable/Name/C908403F=VoidCrystalIndex Variable/Name/CAC05825=currentUnit Variable/Name/CAD8ABF0=DarkEnergyInitialSpeed @@ -339,6 +349,7 @@ Variable/Name/ECA60404=LocalGroup Variable/Name/EE5A2F6C=LastAttacker Variable/Name/F2590767=DARK_ENERGY Variable/Name/F2D3BEB5=FadeDuration +Variable/Name/F7A01012=LOCATION_ID_SOUTHEAST_VOID_CRYSTAL Variable/Name/F871CF63=TownCenterGroup Variable/Name/FA094633=ObjectiveSwarmMustSurvive Variable/Name/FB828B22=TargetPoint diff --git a/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/ComponentList.SC2Components b/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/ComponentList.SC2Components index 551868d6f..d2ede1841 100644 --- a/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/ComponentList.SC2Components +++ b/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/ComponentList.SC2Components @@ -1,5 +1,6 @@ + GameData GameText DocumentInfo diff --git a/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/DocumentHeader b/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/DocumentHeader index 4ac369e55..989716188 100644 Binary files a/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/DocumentHeader and b/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/DocumentHeader differ diff --git a/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/MapScript.galaxy b/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/MapScript.galaxy index 06a894acb..356b21af4 100644 --- a/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/MapScript.galaxy +++ b/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/MapScript.galaxy @@ -35,6 +35,12 @@ void InitLibs () { //-------------------------------------------------------------------------------------------------- // Constants //-------------------------------------------------------------------------------------------------- +const int gv_LOCATION_ID_MID_CELESTIAL_LOCK = 1; +const int gv_LOCATION_ID_WEST_CELESTIAL_LOCK = 2; +const int gv_LOCATION_ID_SOUTH_CELESTIAL_LOCK = 3; +const int gv_LOCATION_ID_EAST_CELESTIAL_LOCK = 4; +const int gv_LOCATION_ID_NORTH_CELESTIAL_LOCK = 5; +const int gv_LOCATION_ID_TITANIC_WARP_PRISM = 6; const int gv_pLAYER_01_USER = 1; const int gv_pLAYER_02_TALDARIM = 2; const int gv_pLAYER_03_MOEBIUS = 3; @@ -102,8 +108,8 @@ timer gv_titanicWarpPrismAchievementTimer; int gv_locksRecapturedByEnemy; int gv_firstLockIndex; bool gv_firstLockRecaptured; -int gv_objectiveDestroyZergBase; -int gv_objectiveRescueStalkers; +int gv_objective_ActivateCelestialLocks; +int gv_objective_DestroyTitanicWarpPrism; unitgroup gv_cinematicPausedUnits; unitgroup gv_cinematicHiddenUnits; unitgroup gv_cinematicTempUnits; @@ -149,8 +155,8 @@ void InitGlobals () { gv_attackWaveUnits_PARAM = UnitGroupEmpty(); gv_recentlySentAttackWaveCounter = 1; gv_titanicWarpPrismAchievementTimer = TimerCreate(); - gv_objectiveDestroyZergBase = c_invalidObjectiveId; - gv_objectiveRescueStalkers = c_invalidObjectiveId; + gv_objective_ActivateCelestialLocks = c_invalidObjectiveId; + gv_objective_DestroyTitanicWarpPrism = c_invalidObjectiveId; gv_cinematicPausedUnits = UnitGroupEmpty(); gv_cinematicHiddenUnits = UnitGroupEmpty(); gv_cinematicTempUnits = UnitGroupEmpty(); @@ -231,6 +237,7 @@ trigger gt_ObjectiveActivateCelestialLocksComplete; trigger gt_ObjectiveActivateCelestialLocksUpdate; trigger gt_ObjectiveDestroyTitanicWarpPrismCreate; trigger gt_ObjectiveDestroyTitanicWarpPrismComplete; +trigger gt_ObjectiveDestroyTitanicWarpPrismDeactivate; trigger gt_IntroQ; trigger gt_IntroSetup; trigger gt_IntroCinematic; @@ -379,7 +386,7 @@ void gf_SetCelestialLockState (int lp_index, int lp_state) { } if ((gv_locksSent[lp_index] == false)) { - lib5BD4895D_gf_AP_Core_sendLocationLocal(lp_index); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(lp_index); gv_locksSent[lp_index] = true; } @@ -508,7 +515,7 @@ void gf_HandleTitanicWarpPrism (point lp_prismPoint) { // Implementation lv_triggeringUnitPoint = lp_prismPoint; - lib5BD4895D_gf_AP_Core_sendLocationLocal(6); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_TITANIC_WARP_PRISM); TriggerEnable(gt_TitanicWapPrismmindcontrolled, false); TriggerEnable(gt_TitanicWarpPrismBehaviour, false); TriggerStop(gt_TitanicWarpPrismBehaviour); @@ -3073,7 +3080,7 @@ bool gt_VictorySequence_Func (bool testConds, bool runActions) { } TriggerEnable(TriggerGetCurrent(), false); - lib5BD4895D_gf_AP_Core_sendLocationLocal(lib5BD4895D_gv_aP_Core_locationVictory); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(lib5BD4895D_gv_aP_Core_locationVictory); libVCMI_gf_GameOver(libVCMI_ge_CampaignMissionGameResultType_Victory); Wait(2.0, c_timeReal); TriggerExecute(gt_ObjectiveActivateCelestialLocksComplete, true, true); @@ -3353,8 +3360,17 @@ bool gt_ObjectiveActivateCelestialLocksCreate_Func (bool testConds, bool runActi TriggerEnable(TriggerGetCurrent(), false); libVCMI_gf_CreateObjectiveCampaign("PUlnar01Primary01"); - gv_objectiveDestroyZergBase = ObjectiveLastCreated(); - lib5BD4895D_gf_AP_Core_addObjectiveFromData(ObjectiveLastCreated(), "PUlnar01Primary01", "", gv_celestialLocksActivated); + gv_objective_ActivateCelestialLocks = ObjectiveLastCreated(); + ObjectiveSetName(gv_objective_ActivateCelestialLocks, libVoiC_gf_MissionObjectiveName("PUlnar01Primary01")); + ObjectiveShow(gv_objective_ActivateCelestialLocks, PlayerGroupAll(), false); + lib5BD4895D_gf_AP_Core_addCategoryObjectiveWithCounter(gv_objective_ActivateCelestialLocks, lib5BD4895D_ge_APObjectiveCategory_Primary, "", gv_celestialLocksActivated, libVoiC_gf_MissionObjectiveItemCount("PUlnar01Primary01"), false); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_ActivateCelestialLocks, gv_LOCATION_ID_MID_CELESTIAL_LOCK); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_ActivateCelestialLocks, gv_LOCATION_ID_WEST_CELESTIAL_LOCK); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_ActivateCelestialLocks, gv_LOCATION_ID_SOUTH_CELESTIAL_LOCK); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_ActivateCelestialLocks, gv_LOCATION_ID_EAST_CELESTIAL_LOCK); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_ActivateCelestialLocks, gv_LOCATION_ID_NORTH_CELESTIAL_LOCK); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_ActivateCelestialLocks, lib5BD4895D_gv_aP_Core_locationVictory); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objective_ActivateCelestialLocks, true); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -3386,7 +3402,7 @@ bool gt_ObjectiveActivateCelestialLocksComplete_Func (bool testConds, bool runAc Wait(1.0, c_timeGame); } TriggerExecute(gt_ObjectiveActivateCelestialLocksCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveDestroyZergBase); + lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objective_ActivateCelestialLocks); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -3407,7 +3423,7 @@ bool gt_ObjectiveActivateCelestialLocksUpdate_Func (bool testConds, bool runActi } TriggerExecute(gt_ObjectiveActivateCelestialLocksCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objectiveDestroyZergBase, gv_celestialLocksActivated); + lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objective_ActivateCelestialLocks, gv_celestialLocksActivated); return true; } @@ -3420,7 +3436,13 @@ void gt_ObjectiveActivateCelestialLocksUpdate_Init () { // Trigger: Objective - Destroy Titanic Warp Prism - Create //-------------------------------------------------------------------------------------------------- bool gt_ObjectiveDestroyTitanicWarpPrismCreate_Func (bool testConds, bool runActions) { + // Variable Declarations + int lv_category; + // Automatic Variable Declarations + // Variable Initialization + lv_category = lib5BD4895D_ge_APObjectiveCategory_Secondary; + // Conditions if (testConds) { if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { @@ -3438,8 +3460,12 @@ bool gt_ObjectiveDestroyTitanicWarpPrismCreate_Func (bool testConds, bool runAct Wait(1.0, c_timeGame); } libVCMI_gf_CreateObjectiveCampaign("PUlnar01Bonus01"); - gv_objectiveRescueStalkers = ObjectiveLastCreated(); - lib5BD4895D_gf_AP_Core_addObjectiveFromData(ObjectiveLastCreated(), "PUlnar01Bonus01", "", 0); + gv_objective_DestroyTitanicWarpPrism = ObjectiveLastCreated(); + ObjectiveSetName(gv_objective_DestroyTitanicWarpPrism, libVoiC_gf_MissionObjectiveName("PUlnar01Bonus01")); + ObjectiveShow(gv_objective_DestroyTitanicWarpPrism, PlayerGroupAll(), false); + lib5BD4895D_gf_AP_Core_addCategoryObjectiveSimple(gv_objective_DestroyTitanicWarpPrism, lv_category, true); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_DestroyTitanicWarpPrism, gv_LOCATION_ID_TITANIC_WARP_PRISM); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objective_DestroyTitanicWarpPrism, true); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -3468,7 +3494,7 @@ bool gt_ObjectiveDestroyTitanicWarpPrismComplete_Func (bool testConds, bool runA TriggerEnable(TriggerGetCurrent(), false); TriggerExecute(gt_ObjectiveDestroyTitanicWarpPrismCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveRescueStalkers); + lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objective_DestroyTitanicWarpPrism); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -3478,6 +3504,35 @@ void gt_ObjectiveDestroyTitanicWarpPrismComplete_Init () { gt_ObjectiveDestroyTitanicWarpPrismComplete = TriggerCreate("gt_ObjectiveDestroyTitanicWarpPrismComplete_Func"); } +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective - Destroy Titanic Warp Prism - Deactivate +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveDestroyTitanicWarpPrismDeactivate_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Conditions + if (testConds) { + if (!((lib5BD4895D_gv_aP_Core_locationCollectable[gv_LOCATION_ID_TITANIC_WARP_PRISM] == false))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(gt_ObjectiveDestroyTitanicWarpPrismCreate, false); + TriggerEnable(gt_TitanicWarpPrismQ, false); + TriggerEnable(gt_TitanicWarpPrismProximityTrigger, false); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveDestroyTitanicWarpPrismDeactivate_Init () { + gt_ObjectiveDestroyTitanicWarpPrismDeactivate = TriggerCreate("gt_ObjectiveDestroyTitanicWarpPrismDeactivate_Func"); + TriggerAddEventTimeElapsed(gt_ObjectiveDestroyTitanicWarpPrismDeactivate, 2.0, c_timeGame); +} + //-------------------------------------------------------------------------------------------------- // Trigger: Intro Q //-------------------------------------------------------------------------------------------------- @@ -4173,6 +4228,7 @@ void InitTriggers () { gt_ObjectiveActivateCelestialLocksUpdate_Init(); gt_ObjectiveDestroyTitanicWarpPrismCreate_Init(); gt_ObjectiveDestroyTitanicWarpPrismComplete_Init(); + gt_ObjectiveDestroyTitanicWarpPrismDeactivate_Init(); gt_IntroQ_Init(); gt_IntroSetup_Init(); gt_IntroCinematic_Init(); diff --git a/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/Preload.xml b/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/Preload.xml index 1a04fb8a2..d4e5f9ba1 100644 --- a/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/Preload.xml +++ b/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/Preload.xml @@ -46,8 +46,6 @@ - - diff --git a/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/Triggers b/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/Triggers index b6761bf01..371902001 100644 --- a/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/Triggers +++ b/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/Triggers @@ -8,9 +8,90 @@ + + + + + + + + + + + LOCATION_ID_MID_CELESTIAL_LOCK + + + + + + + + 1 + + + + LOCATION_ID_WEST_CELESTIAL_LOCK + + + + + + + + 2 + + + + LOCATION_ID_SOUTH_CELESTIAL_LOCK + + + + + + + + 3 + + + + LOCATION_ID_EAST_CELESTIAL_LOCK + + + + + + + + 4 + + + + LOCATION_ID_NORTH_CELESTIAL_LOCK + + + + + + + + 5 + + + + LOCATION_ID_TITANIC_WARP_PRISM + + + + + + + + 6 + + @@ -7130,17 +7211,17 @@ - + - - + + - + - - + + @@ -15819,7 +15900,7 @@ - + @@ -15867,14 +15948,13 @@ - - - + + + - - - 6 - + + + @@ -29179,7 +29259,7 @@ - + @@ -29232,12 +29312,12 @@ - - - + + + - - + + @@ -30610,7 +30690,6 @@ - objectiveDestroyZergBase @@ -30623,9 +30702,17 @@ - - + + + + + + + + + + @@ -30685,22 +30772,6 @@ - - - - - - - - - PUlnar01Primary01 - - - - - - - @@ -30717,34 +30788,185 @@ - - - - - - + + + + - - - + + + - - + + + - - + + PUlnar01Primary01 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + PUlnar01Primary01 + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wait a short amount of time so the player can see the objective is being added. You can delete this action if you're adding multiple objectives at once. @@ -30922,7 +31144,6 @@ - @@ -30954,22 +31175,6 @@ Update the campaign progress for this objective. This must be done whenever an objective's progress changes. - - - - - - - - - PUlnar01Primary01 - - - - - - - @@ -30987,9 +31192,9 @@ + - objectiveRescueStalkers @@ -30999,16 +31204,31 @@ + - + + + + + + + + + + + + + + + @@ -31129,34 +31349,94 @@ - - - - - - + + + + - - - + + + - - + + + - - + + + + + + PUlnar01Bonus01 - - - + + + + + - - - 0 - + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -31281,6 +31561,92 @@ + + + + + + + + + + + + + + + 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/Triggers.version b/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/Triggers.version index 0aef468c8..7a4defc43 100644 Binary files a/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/Triggers.version and b/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/Triggers.version differ diff --git a/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt b/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt index e89f66ea6..892a44264 100644 --- a/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt +++ b/Maps/ArchipelagoCampaign/LotV/ap_temple_of_unification.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt @@ -10,6 +10,7 @@ Category/Name/487052E6=Celestial Locks Category/Name/4DDF7AD7=Starting Sequence Category/Name/51B84969======== GAMEPLAY ======= Category/Name/848F9612=Victory/Defeat +Category/Name/9CBD422D=Location IDs Category/Name/A855FEE3=AI Category/Name/B10FBCEB=Global Variables Category/Name/EC3C7C06=Cinematic Variables @@ -107,6 +108,7 @@ Trigger/Name/D342C0DE=Victory Sequence Trigger/Name/D46D0521=Init 05 Environment Trigger/Name/D4DE77FF=Defeat Trigger/Name/DAFDC06A=Celestial Lock Deactivated Q +Trigger/Name/DCD36155=Objective - Destroy Titanic Warp Prism - Deactivate Trigger/Name/DDDC3EE7=Mastery: Destroy Enemy Main Bases Trigger/Name/E3FB9EEB=Init 02 Players Trigger/Name/E44AF028=Intro Capture 1 @@ -141,6 +143,7 @@ Variable/Name/1587DF70=MovementTarget Variable/Name/18489DB3=LockWarningIssued Variable/Name/198F5126=PLAYER_02_TALDARIM Variable/Name/1AC52D66=i +Variable/Name/1DCC1904=LOCATION_ID_SOUTH_CELESTIAL_LOCK Variable/Name/22EC10EC=FirstLockRecaptured Variable/Name/242D6643=RecaptureCount Variable/Name/269FD1C2=BulliesStage2 @@ -171,10 +174,12 @@ Variable/Name/4A88B713=LockIndex Variable/Name/4CD2D6EC=i Variable/Name/4F80AE02=CelestialLockRegion Variable/Name/506D7E51=FriendlyUnitsPresent +Variable/Name/5101F5E7=LOCATION_ID_NORTH_CELESTIAL_LOCK Variable/Name/51B2050E=CurrentValidTarget Variable/Name/5B8E98F4=FadeDuration Variable/Name/5D0C1F91=VictorySound Variable/Name/5FD22249=AttackTarget +Variable/Name/60CA1ACB=LOCATION_ID_WEST_CELESTIAL_LOCK Variable/Name/6498DC69=Progress Variable/Name/678A986A=StalkerLimit Variable/Name/69C7325D=i @@ -188,8 +193,10 @@ Variable/Name/799143CB=ProgressBarLabel Variable/Name/799885BB=Progress Variable/Name/823EB84F=RecentlySentAttackWaves Variable/Name/86E892DA=LocksRecapturedByEnemy +Variable/Name/8892854C=LOCATION_ID_TITANIC_WARP_PRISM Variable/Name/8B146CB8=Index Variable/Name/8F5D91AD=CelestialLocksActivated +Variable/Name/94609ADE=LOCATION_ID_MID_CELESTIAL_LOCK Variable/Name/967DCB7E=DefenseRegion Variable/Name/98D4ACC1=VictoryLock Variable/Name/A08007F9=ProgressBarDummyUnit @@ -209,6 +216,7 @@ Variable/Name/B8796E6F=EnemyUnitsPresent Variable/Name/B87D83DF=RecentlySentAttackWaveCounter Variable/Name/BC4A380E=LockProgressMIN Variable/Name/BDD61E37=IntroMusicComplete +Variable/Name/BDF13A13=category Variable/Name/BFDFDB1E=FadeDuration Variable/Name/C28686B8=LockProgressMAX Variable/Name/C35ED6D6=i @@ -243,6 +251,7 @@ Variable/Name/EEED5437=BaseWarningIssued Variable/Name/F00AA686=FadeDuration Variable/Name/F03E3EDD=Index Variable/Name/F4084711=PLAYER_03_MOEBIUS +Variable/Name/F52D4D63=LOCATION_ID_EAST_CELESTIAL_LOCK Variable/Name/F6D00A84=i Variable/Name/F8F4ACC5=targetUnit Variable/Name/FBF09F55=CelestialLock diff --git a/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/ComponentList.SC2Components b/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/ComponentList.SC2Components index 4eacb9374..9abe8b1f8 100644 --- a/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/ComponentList.SC2Components +++ b/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/ComponentList.SC2Components @@ -1,5 +1,6 @@ + GameData GameText DocumentInfo diff --git a/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/DocumentHeader b/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/DocumentHeader index 9ec53b5f1..cb7934d1e 100644 Binary files a/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/DocumentHeader and b/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/DocumentHeader differ diff --git a/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/MapScript.galaxy b/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/MapScript.galaxy index 1fd4353fc..4506f6083 100644 --- a/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/MapScript.galaxy +++ b/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/MapScript.galaxy @@ -37,6 +37,11 @@ void InitLibs () { //-------------------------------------------------------------------------------------------------- // Constants //-------------------------------------------------------------------------------------------------- +const int gv_LOCATION_ID_FIRST_HALL_OF_REVELATION = 1; +const int gv_LOCATION_ID_SECOND_HALL_OF_REVELATION = 2; +const int gv_LOCATION_ID_FIRST_XELNAGA_DEVICE = 3; +const int gv_LOCATION_ID_SECOND_XELNAGA_DEVICE = 4; +const int gv_LOCATION_ID_THIRD_XELNAGA_DEVICE = 5; const int gv_pLAYER_01_USER = 1; const int gv_pLAYER_02_DOMINION = 2; const int gv_pLAYER_02_DOMINION4 = 3; @@ -130,9 +135,9 @@ int gv_lightningDashDamage; int gv_loadedMedivacKillCount; int gv_resurgenceActivationCount; bool gv__10thAnniversaryAchievementEnemyWarpPrismwarpedinunits; -int gv_objectiveDestroyZergBase; -int gv_objectiveDestroyZergBase2; -int gv_objectiveRescueStalkers; +int gv_objective_HallsOfRevelation; +int gv_objective_Survive; +int gv_objective_XelNagaDevices; unitgroup gv_cinematicHiddenUnits; unitgroup gv_cinematicPausedUnits; unitgroup gv_cinematicTempUnits; @@ -172,9 +177,9 @@ void InitGlobals () { gv_bonusObjectivePing1 = c_invalidPingId; gv_bonusObjectivePing2 = c_invalidPingId; gv_bonusObjectivePing3 = c_invalidPingId; - gv_objectiveDestroyZergBase = c_invalidObjectiveId; - gv_objectiveDestroyZergBase2 = c_invalidObjectiveId; - gv_objectiveRescueStalkers = c_invalidObjectiveId; + gv_objective_HallsOfRevelation = c_invalidObjectiveId; + gv_objective_Survive = c_invalidObjectiveId; + gv_objective_XelNagaDevices = c_invalidObjectiveId; gv_cinematicHiddenUnits = UnitGroupEmpty(); gv_cinematicPausedUnits = UnitGroupEmpty(); gv_cinematicTempUnits = UnitGroupEmpty(); @@ -353,6 +358,7 @@ trigger gt_ObjectiveSurviveFailed; trigger gt_ObjectiveXelNagaDevicesCreate; trigger gt_ObjectiveXelNagaDevicesComplete; trigger gt_ObjectiveXelNagaDevicesUpdate; +trigger gt_ObjectiveXelNagaDevicesRemove; trigger gt_IntroQ; trigger gt_IntroSetup; trigger gt_IntroCinematic; @@ -1494,7 +1500,7 @@ bool gt_RelicPickup1_Func (bool testConds, bool runActions) { } TriggerEnable(TriggerGetCurrent(), false); - lib5BD4895D_gf_AP_Core_sendLocationLocal(3); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_FIRST_XELNAGA_DEVICE); return true; } @@ -1515,7 +1521,7 @@ bool gt_RelicPickup2_Func (bool testConds, bool runActions) { } TriggerEnable(TriggerGetCurrent(), false); - lib5BD4895D_gf_AP_Core_sendLocationLocal(4); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_SECOND_XELNAGA_DEVICE); return true; } @@ -1536,7 +1542,7 @@ bool gt_RelicPickup3_Func (bool testConds, bool runActions) { } TriggerEnable(TriggerGetCurrent(), false); - lib5BD4895D_gf_AP_Core_sendLocationLocal(5); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_THIRD_XELNAGA_DEVICE); return true; } @@ -3315,7 +3321,7 @@ bool gt_S1HallReached_Func (bool testConds, bool runActions) { } gv_hallsReached = 1; - lib5BD4895D_gf_AP_Core_sendLocationLocal(1); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_FIRST_HALL_OF_REVELATION); UnitKill(UnitFromId(662)); TriggerExecute(gt_ObjectiveHallsofRevelationUpdate, true, false); Wait(2.0, c_timeReal); @@ -5446,7 +5452,7 @@ bool gt_S2HallBeaconReached_Func (bool testConds, bool runActions) { TriggerEnable(TriggerGetCurrent(), false); UnitKill(UnitFromId(1326)); gv_hallsReached = 2; - lib5BD4895D_gf_AP_Core_sendLocationLocal(2); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_SECOND_HALL_OF_REVELATION); TriggerExecute(gt_ObjectiveHallsofRevelationUpdate, true, false); Wait(2.0, c_timeReal); TriggerExecute(gt_MidShrine2Q, true, true); @@ -7514,7 +7520,7 @@ bool gt_VictorySequence_Func (bool testConds, bool runActions) { } TriggerEnable(TriggerGetCurrent(), false); - lib5BD4895D_gf_AP_Core_sendLocationLocal(lib5BD4895D_gv_aP_Core_locationVictory); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(lib5BD4895D_gv_aP_Core_locationVictory); libNtve_gf_ChangeUnitDamage(gv_kERRIGAN, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No); libNtve_gf_ChangeUnitDamage(gv_aRTANIS, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No); libVCMI_gf_GameOver(libVCMI_ge_CampaignMissionGameResultType_Victory); @@ -8116,8 +8122,15 @@ bool gt_ObjectiveHallsofRevelationCreate_Func (bool testConds, bool runActions) TriggerEnable(TriggerGetCurrent(), false); libVCMI_gf_CreateObjectiveCampaign("PUlnar02Primary01"); - gv_objectiveDestroyZergBase = ObjectiveLastCreated(); - lib5BD4895D_gf_AP_Core_addObjectiveFromData(ObjectiveLastCreated(), "PUlnar02Primary01", "", gv_hallsReached); + gv_objective_HallsOfRevelation = ObjectiveLastCreated(); + ObjectiveSetName(gv_objective_HallsOfRevelation, libVoiC_gf_MissionObjectiveName("PUlnar02Primary01")); + ObjectiveShow(gv_objective_HallsOfRevelation, PlayerGroupAll(), false); + lib5BD4895D_gf_AP_Core_addCategoryObjectiveWithCounter(gv_objective_HallsOfRevelation, lib5BD4895D_ge_APObjectiveCategory_Primary, "", gv_hallsReached, libVoiC_gf_MissionObjectiveItemCount("PUlnar02Primary01"), false); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_HallsOfRevelation, gv_LOCATION_ID_FIRST_HALL_OF_REVELATION); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_HallsOfRevelation, gv_LOCATION_ID_SECOND_HALL_OF_REVELATION); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_HallsOfRevelation, lib5BD4895D_gv_aP_Core_locationVictory); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objective_HallsOfRevelation, true); + Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -8148,7 +8161,7 @@ bool gt_ObjectiveHallsofRevelationComplete_Func (bool testConds, bool runActions Wait(1.0, c_timeGame); } TriggerExecute(gt_ObjectiveHallsofRevelationCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveDestroyZergBase); + lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objective_HallsOfRevelation); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -8169,7 +8182,7 @@ bool gt_ObjectiveHallsofRevelationUpdate_Func (bool testConds, bool runActions) } TriggerExecute(gt_ObjectiveHallsofRevelationCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objectiveDestroyZergBase, gv_hallsReached); + lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objective_HallsOfRevelation, gv_hallsReached); return true; } @@ -8200,7 +8213,7 @@ bool gt_ObjectiveHallsofRevelationFailed_Func (bool testConds, bool runActions) Wait(1.0, c_timeGame); } TriggerExecute(gt_ObjectiveHallsofRevelationCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveFailed(gv_objectiveDestroyZergBase); + lib5BD4895D_gf_AP_Core_setObjectiveFailed(gv_objective_HallsOfRevelation); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -8229,8 +8242,10 @@ bool gt_ObjectiveSurviveCreate_Func (bool testConds, bool runActions) { TriggerEnable(TriggerGetCurrent(), false); libVCMI_gf_CreateObjectiveCampaign("PUlnar02Primary02"); - gv_objectiveDestroyZergBase2 = ObjectiveLastCreated(); - lib5BD4895D_gf_AP_Core_addObjectiveFromData(ObjectiveLastCreated(), "PUlnar02Primary02", "", 0); + gv_objective_Survive = ObjectiveLastCreated(); + ObjectiveShow(gv_objective_Survive, PlayerGroupAll(), false); + lib5BD4895D_gf_AP_Core_addCategoryObjectiveSimple(gv_objective_Survive, lib5BD4895D_ge_APObjectiveCategory_Primary, false); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objective_Survive, true); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -8262,7 +8277,7 @@ bool gt_ObjectiveSurviveComplete_Func (bool testConds, bool runActions) { Wait(1.0, c_timeGame); } TriggerExecute(gt_ObjectiveSurviveCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveDestroyZergBase2); + lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objective_Survive); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -8294,7 +8309,7 @@ bool gt_ObjectiveSurviveFailed_Func (bool testConds, bool runActions) { Wait(1.0, c_timeGame); } TriggerExecute(gt_ObjectiveSurviveCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveFailed(gv_objectiveDestroyZergBase2); + lib5BD4895D_gf_AP_Core_setObjectiveFailed(gv_objective_Survive); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -8308,7 +8323,13 @@ void gt_ObjectiveSurviveFailed_Init () { // Trigger: Objective - Xel'Naga Devices - Create //-------------------------------------------------------------------------------------------------- bool gt_ObjectiveXelNagaDevicesCreate_Func (bool testConds, bool runActions) { + // Variable Declarations + int lv_category; + // Automatic Variable Declarations + // Variable Initialization + lv_category = lib5BD4895D_ge_APObjectiveCategory_Secondary; + // Conditions if (testConds) { if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { @@ -8326,8 +8347,14 @@ bool gt_ObjectiveXelNagaDevicesCreate_Func (bool testConds, bool runActions) { Wait(1.0, c_timeGame); } libVCMI_gf_CreateObjectiveCampaign("PUlnar02Bonus01"); - gv_objectiveRescueStalkers = ObjectiveLastCreated(); - lib5BD4895D_gf_AP_Core_addObjectiveFromData(ObjectiveLastCreated(), "PUlnar02Bonus01", "", gv_devicesCollected); + gv_objective_XelNagaDevices = ObjectiveLastCreated(); + ObjectiveSetName(gv_objective_XelNagaDevices, libVoiC_gf_MissionObjectiveName("PUlnar02Bonus01")); + ObjectiveShow(gv_objective_XelNagaDevices, PlayerGroupAll(), false); + lib5BD4895D_gf_AP_Core_addCategoryObjectiveWithCounter(gv_objective_XelNagaDevices, lv_category, "", gv_devicesCollected, libVoiC_gf_MissionObjectiveItemCount("PUlnar02Bonus01"), true); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_XelNagaDevices, gv_LOCATION_ID_FIRST_XELNAGA_DEVICE); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_XelNagaDevices, gv_LOCATION_ID_SECOND_XELNAGA_DEVICE); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_XelNagaDevices, gv_LOCATION_ID_THIRD_XELNAGA_DEVICE); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objective_XelNagaDevices, true); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -8356,7 +8383,7 @@ bool gt_ObjectiveXelNagaDevicesComplete_Func (bool testConds, bool runActions) { TriggerEnable(TriggerGetCurrent(), false); TriggerExecute(gt_ObjectiveXelNagaDevicesCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveRescueStalkers); + lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objective_XelNagaDevices); Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal); return true; } @@ -8380,7 +8407,7 @@ bool gt_ObjectiveXelNagaDevicesUpdate_Func (bool testConds, bool runActions) { Wait(1.0, c_timeGame); } TriggerExecute(gt_ObjectiveXelNagaDevicesCreate, true, false); - lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objectiveRescueStalkers, gv_devicesCollected); + lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objective_XelNagaDevices, gv_devicesCollected); return true; } @@ -8389,6 +8416,41 @@ void gt_ObjectiveXelNagaDevicesUpdate_Init () { gt_ObjectiveXelNagaDevicesUpdate = TriggerCreate("gt_ObjectiveXelNagaDevicesUpdate_Func"); } +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective - Xel'Naga Devices - Remove +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveXelNagaDevicesRemove_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Conditions + if (testConds) { + if (!(((lib5BD4895D_gv_aP_Core_locationCollectable[gv_LOCATION_ID_FIRST_XELNAGA_DEVICE] == false) && (lib5BD4895D_gv_aP_Core_locationCollectable[gv_LOCATION_ID_SECOND_XELNAGA_DEVICE] == false) && (lib5BD4895D_gv_aP_Core_locationCollectable[gv_LOCATION_ID_THIRD_XELNAGA_DEVICE] == false)))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + UnitRemove(UnitFromId(791)); + UnitRemove(UnitFromId(312)); + UnitRemove(UnitFromId(239)); + TriggerEnable(gt_ObjectiveXelNagaDevicesCreate, false); + TriggerEnable(gt_ObjectiveXelNagaDevicesUpdate, false); + TriggerEnable(gt_RelicPickupQ, false); + TriggerEnable(gt_S1BonusObjectiveDiscoverQ, false); + TriggerEnable(gt_S2BonusObjectiveDiscover, false); + TriggerEnable(gt_S3BonusObjectiveDiscover, false); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveXelNagaDevicesRemove_Init () { + gt_ObjectiveXelNagaDevicesRemove = TriggerCreate("gt_ObjectiveXelNagaDevicesRemove_Func"); + TriggerAddEventTimeElapsed(gt_ObjectiveXelNagaDevicesRemove, 2.0, c_timeGame); +} + //-------------------------------------------------------------------------------------------------- // Trigger: Intro Q //-------------------------------------------------------------------------------------------------- @@ -10371,6 +10433,7 @@ void InitTriggers () { gt_ObjectiveXelNagaDevicesCreate_Init(); gt_ObjectiveXelNagaDevicesComplete_Init(); gt_ObjectiveXelNagaDevicesUpdate_Init(); + gt_ObjectiveXelNagaDevicesRemove_Init(); gt_IntroQ_Init(); gt_IntroSetup_Init(); gt_IntroCinematic_Init(); diff --git a/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/Preload.xml b/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/Preload.xml index 7fffa3d52..044b638af 100644 --- a/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/Preload.xml +++ b/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/Preload.xml @@ -77,9 +77,6 @@ - - - diff --git a/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/Triggers b/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/Triggers index 8514e4826..dfb717435 100644 --- a/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/Triggers +++ b/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/Triggers @@ -8,12 +8,80 @@ + + + + + + + + + + LOCATION_ID_FIRST_HALL_OF_REVELATION + + + + + + + + 1 + + + + LOCATION_ID_SECOND_HALL_OF_REVELATION + + + + + + + + 2 + + + + LOCATION_ID_FIRST_XELNAGA_DEVICE + + + + + + + + 3 + + + + LOCATION_ID_SECOND_XELNAGA_DEVICE + + + + + + + + 4 + + + + LOCATION_ID_THIRD_XELNAGA_DEVICE + + + + + + + + 5 + + @@ -572,7 +640,7 @@ - + @@ -615,19 +683,18 @@ - - - + + + - - - 3 - + + + - + @@ -670,19 +737,18 @@ - - - + + + - - - 4 - + + + - + @@ -725,14 +791,13 @@ - - - + + + - - - 5 - + + + @@ -19176,7 +19241,7 @@ - + @@ -19337,14 +19402,13 @@ 1 - - - + + + - - - 1 - + + + @@ -37324,7 +37388,7 @@ - + @@ -37462,14 +37526,13 @@ 2 - - - + + + - - - 2 - + + + @@ -53753,7 +53816,7 @@ - + @@ -53809,12 +53872,12 @@ - - - + + + - - + + @@ -61247,7 +61310,6 @@ - objectiveDestroyZergBase @@ -61260,9 +61322,14 @@ - - + + + + + + + @@ -61322,22 +61389,6 @@ - - - - - - - - - PUlnar02Primary01 - - - - - - - @@ -61354,41 +61405,152 @@ - - - - - - + + + + - - - + + + - - + + + - - + + PUlnar02Primary01 - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + PUlnar02Primary01 + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wait a short amount of time so the player can see the objective is being added. You can delete this action if you're adding multiple objectives at once. - @@ -61555,7 +61717,6 @@ - @@ -61587,22 +61748,6 @@ Update the campaign progress for this objective. This must be done whenever an objective's progress changes. - - - - - - - - - PUlnar02Primary01 - - - - - - - @@ -61622,7 +61767,6 @@ - @@ -61734,22 +61878,6 @@ - - - - - - - - - - - - - PUlnar02Primary01 - - - @@ -61778,7 +61906,6 @@ - objectiveDestroyZergBase2 @@ -61792,7 +61919,9 @@ - + + + @@ -61868,34 +61997,58 @@ - - - - - - + + + + + - - - + + + - - + + - - - PUlnar02Primary02 - - + + + - - - + + + - - - 0 - + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + @@ -62071,7 +62224,6 @@ - @@ -62183,22 +62335,6 @@ - - - - - - - - - - - - - PUlnar02Primary02 - - - @@ -62225,9 +62361,9 @@ + - objectiveRescueStalkers @@ -62237,17 +62373,33 @@ + - - + + + + + + + + + + + + + + + + + @@ -62363,49 +62515,145 @@ - - - - - + + + + + + + + + + + + - - + + PUlnar02Bonus01 - - - + + + - - - - - - + + + + + - - - + + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PUlnar02Bonus01 - - - + + + true + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -62535,7 +62783,6 @@ - @@ -62605,22 +62852,6 @@ Update the campaign progress for this objective. This must be done whenever an objective's progress changes. - - - - - - - - - PUlnar02Bonus01 - - - - - - - @@ -62634,6 +62865,222 @@ + + + + + + + + + + + + + + + + + + + + + 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/Triggers.version b/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/Triggers.version index 46a1e326f..725590919 100644 Binary files a/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/Triggers.version and b/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/Triggers.version differ diff --git a/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt b/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt index 3a9120c1b..016386fcd 100644 --- a/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt +++ b/Maps/ArchipelagoCampaign/LotV/ap_the_infinite_cycle.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt @@ -1,5 +1,6 @@ Category/Name/1690648D=Debug Category/Name/1E026DA6=Main Objective - Survive +Category/Name/1ED1DBC1=Location IDs Category/Name/23706363======== CINEMATIC ======= Category/Name/321463FD=Utility Category/Name/3478C977=Main Objective - Reach Halls of Revelation @@ -213,6 +214,7 @@ Trigger/Name/91D0E016=Intro Cinematic End Trigger/Name/93E46276=S3 - Spectre Ambush Q Trigger/Name/94E0BAD9=onDifficultyNormal Trigger/Name/94E8AA8B=Relic Pickup2 +Trigger/Name/96444A89=Objective - Xel'Naga Devices - Remove Trigger/Name/96E0B8A5=Arch Init Trigger/Name/97438E30=S3 - Planet Crack Construct Trigger/Name/9930DDF9=S3 - Timer First Warning Q @@ -295,6 +297,7 @@ Variable/Name/1FD0C9D2=Medivac02 Variable/Name/2112AD63=FadeDuration Variable/Name/24D6F210=S3FinalRoomNonShrineAttackGroup Variable/Name/26D27B0A=PLAYER_08_MOEBIUS +Variable/Name/2C85CDA9=LOCATION_ID_SECOND_XELNAGA_DEVICE Variable/Name/2D21748B=S1FirstEncounterGroup Variable/Name/2E78F774=FadeDuration Variable/Name/32F120C9=ConstructPoint @@ -317,6 +320,7 @@ Variable/Name/4E8F1C56=ConstructPoint Variable/Name/4EB2893F=BeamTarget Variable/Name/508ADE1A=XelNagaGates Variable/Name/50B7B1E7=CurrentStage +Variable/Name/5107FAAF=LOCATION_ID_FIRST_XELNAGA_DEVICE Variable/Name/52F316B7=BanelingKillCount Variable/Name/53F4FB0F=Medivac04 Variable/Name/54999695=MidSound @@ -327,6 +331,7 @@ Variable/Name/5907F20C=i Variable/Name/5A0BCC8A=i Variable/Name/5AC653CE=S2DoubleConstructCubeTarget Variable/Name/5B1C35BC=Target +Variable/Name/5C3A2CB0=LOCATION_ID_SECOND_HALL_OF_REVELATION Variable/Name/5C62FCE9=TimeWarning02 Variable/Name/5CE7C61B=AttackTargets Variable/Name/5E0750B2=LocalCube @@ -408,6 +413,7 @@ Variable/Name/AFA46C0A=KERRIGAN Variable/Name/B065CC15=TimeWarning01 Variable/Name/B1975BA3=BonusObjectivePing3 Variable/Name/B1C480C8=BonusObjectiveRevealer1 +Variable/Name/B32E171A=category Variable/Name/B538B0D7=SkyDestroyers Variable/Name/B97FB812=CinematicTempUnits Variable/Name/B99FBB24=TargetUnit @@ -425,6 +431,7 @@ Variable/Name/C0672964=FadeDuration Variable/Name/C30A8B35=PlanetCracker Variable/Name/C6D4545D=S3FinalRoomShrineAttackGroup Variable/Name/C6EC4B68=GateUnit +Variable/Name/C7908DAE=LOCATION_ID_FIRST_HALL_OF_REVELATION Variable/Name/CB61C69D=PLAYER_01_USER Variable/Name/CD9BE02C=BonusObjectiveRevealer2 Variable/Name/CE4FBCEB=currentUnit @@ -435,6 +442,7 @@ Variable/Name/D61300BD=ConstructPoint Variable/Name/D97B54CF=S1HoldOutInvisiblePylon Variable/Name/DB653D25=S3FinalRoomRangedTarget Variable/Name/E0D4AB39=BeamCooldown +Variable/Name/E1293128=LOCATION_ID_THIRD_XELNAGA_DEVICE Variable/Name/E1A196A0=S1DoubleDoorSphereTarget Variable/Name/E2B6AA71=Objective_Survive Variable/Name/E3CCF1F5=PLAYER_04_TALDARIM