From 3af1a3f8c77309a3dea9d73cc1ee7fa82bcd035e Mon Sep 17 00:00:00 2001 From: Gemster312 Date: Thu, 18 Jul 2024 20:09:08 -0700 Subject: [PATCH 1/2] New Zerg Challenges --- .../HotS/ap_domination.SC2Map/DocumentHeader | Bin 9737 -> 9737 bytes .../ap_domination.SC2Map/MapScript.galaxy | 111 +++ .../HotS/ap_domination.SC2Map/Triggers | 489 +++++++++++ .../ap_domination.SC2Map/Triggers.version | Bin 44 -> 44 bytes .../LocalizedData/GameStrings.txt | 1 + .../LocalizedData/TriggerStrings.txt | 9 +- .../ap_fire_in_the_sky.SC2Map/DocumentHeader | Bin 10209 -> 10209 bytes .../MapScript.galaxy | 213 +++++ .../HotS/ap_fire_in_the_sky.SC2Map/Triggers | 819 ++++++++++++++++++ .../Triggers.version | Bin 44 -> 44 bytes .../LocalizedData/GameStrings.txt | 1 + .../LocalizedData/TriggerStrings.txt | 13 + .../DocumentHeader | Bin 10867 -> 10867 bytes .../MapScript.galaxy | 113 +++ .../ap_harvest_of_screams.SC2Map/Triggers | 538 ++++++++++++ .../Triggers.version | Bin 44 -> 44 bytes .../LocalizedData/GameStrings.txt | 1 + .../LocalizedData/TriggerStrings.txt | 7 + .../DocumentHeader | Bin 11370 -> 11370 bytes .../MapScript.galaxy | 183 ++++ .../ap_shoot_the_messenger.SC2Map/Minimap.tga | Bin 786476 -> 786476 bytes .../ap_shoot_the_messenger.SC2Map/Triggers | 672 ++++++++++++++ .../Triggers.version | Bin 44 -> 44 bytes .../LocalizedData/GameStrings.txt | 1 + .../LocalizedData/TriggerStrings.txt | 13 + .../DocumentHeader | Bin 10336 -> 10336 bytes .../MapScript.galaxy | 128 ++- .../ap_waking_the_ancient.SC2Map/Triggers | 507 +++++++++++ .../Triggers.version | Bin 44 -> 44 bytes .../LocalizedData/GameStrings.txt | 1 + .../LocalizedData/TriggerStrings.txt | 9 +- 31 files changed, 3819 insertions(+), 10 deletions(-) diff --git a/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/DocumentHeader b/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/DocumentHeader index 6722250d64c7c214537c71a827969367cd126507..9e7b6d34dad41329049c186d3694ef9066069d6b 100644 GIT binary patch delta 19 YcmeD5>GYW(!%?sHJrsmDsytN%08N|-AOHXW delta 19 YcmeD5>GYW(!(l$#vkHVasytN%07qO0XaE2J diff --git a/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/MapScript.galaxy b/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/MapScript.galaxy index c5edad35d..fcf89231f 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/MapScript.galaxy +++ b/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/MapScript.galaxy @@ -46,6 +46,7 @@ const int gv_LOCATION_ID_SOUTHWEST_BANELING_NEST = 6; const int gv_LOCATION_ID_SOUTHEAST_BANELING_NEST = 7; const int gv_LOCATION_ID_NORTH_BANELING_NEST = 8; const int gv_LOCATION_ID_NORTHEAST_BANELING_NEST = 9; +const int gv_LOCATION_ID_WIN_WITHOUT_100_EGGS = 10; //-------------------------------------------------------------------------------------------------- // Global Structures @@ -143,6 +144,7 @@ unit gv_victoryKerrigan; unit gv_victoryZagara; unitgroup gv_victoryZerg; int gv_objectiveRepelZagara; +int gv_objectiveWithoutEggs; bool gv_aPFirstZagara; void InitGlobals () { @@ -180,6 +182,7 @@ void InitGlobals () { gv_midEggHatchDelay = 1.8; gv_victoryZerg = UnitGroupEmpty(); gv_objectiveRepelZagara = c_invalidObjectiveId; + gv_objectiveWithoutEggs = c_invalidObjectiveId; gv_aPFirstZagara = true; } @@ -326,6 +329,9 @@ trigger gt_VictoryZerglings; trigger gt_VictoryZergHold; trigger gt_ObjectiveRepelZagaraCreate; trigger gt_ObjectiveRepelZagaraComplete; +trigger gt_ObjectiveWithoutEggsCreate; +trigger gt_ObjectiveWithoutEggsComplete; +trigger gt_ObjectiveWithoutEggsFail; trigger gt_onDifficultyCasual; trigger gt_onDifficultyNormal; trigger gt_onDifficultyHard; @@ -1308,6 +1314,8 @@ bool gt_StartGameQ_Func (bool testConds, bool runActions) { TriggerQueueEnter(); TriggerExecute(gt_ObjectiveCollectEggsCreate, true, true); TriggerExecute(gt_ObjectiveFindBanelingNestsCreate, true, false); + Wait(2.0, c_timeReal); + TriggerExecute(gt_ObjectiveWithoutEggsCreate, true, false); TriggerQueueExit(); Wait(4.0, c_timeReal); TriggerExecute(gt_TipMissionHelpQ, true, false); @@ -2198,6 +2206,7 @@ bool gt_EggPickup_Func (bool testConds, bool runActions) { if ((gv_eggsCollected >= 100)) { TriggerEnable(TriggerGetCurrent(), false); gv_eggsCollected = 100; + TriggerExecute(gt_ObjectiveWithoutEggsFail, true, false); TriggerExecute(gt_ObjectiveCollectEggsUpdate, true, false); TriggerExecute(gt_ObjectiveCollectEggsComplete, true, false); TriggerExecute(gt_ObjectiveZagaraEggsComplete, true, false); @@ -5101,6 +5110,11 @@ bool gt_VictoryZagarasBaseDestroyed_Func (bool testConds, bool runActions) { } TriggerEnable(TriggerGetCurrent(), false); + if ((gv_eggsCollected < 100)) { + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_WIN_WITHOUT_100_EGGS); + TriggerExecute(gt_ObjectiveWithoutEggsComplete, true, false); + } + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(lib5BD4895D_gv_aP_Core_locationVictory); TriggerExecute(gt_VictorySequence, true, false); return true; @@ -6573,6 +6587,100 @@ void gt_ObjectiveRepelZagaraComplete_Init () { gt_ObjectiveRepelZagaraComplete = TriggerCreate("gt_ObjectiveRepelZagaraComplete_Func"); } +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective - Without Eggs - Create +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveWithoutEggsCreate_Func (bool testConds, bool runActions) { + // Variable Declarations + int lv_category; + + // Automatic Variable Declarations + // Variable Initialization + lv_category = lib5BD4895D_ge_APObjectiveCategory_Challenge; + + // Conditions + if (testConds) { + if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + ObjectiveCreate(StringExternal("Param/Value/C7458DD3"), StringToText(""), c_objectiveStateHidden, false); + gv_objectiveWithoutEggs = ObjectiveLastCreated(); + lib5BD4895D_gf_AP_Core_addCategoryObjectiveSimple(gv_objectiveWithoutEggs, lv_category, true); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveWithoutEggs, gv_LOCATION_ID_WIN_WITHOUT_100_EGGS); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objectiveWithoutEggs, true); + Wait(libSwaC_gv_campaignObjectiveDelay, c_timeReal); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveWithoutEggsCreate_Init () { + gt_ObjectiveWithoutEggsCreate = TriggerCreate("gt_ObjectiveWithoutEggsCreate_Func"); +} + +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective - Without Eggs - Complete +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveWithoutEggsComplete_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Conditions + if (testConds) { + if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + TriggerExecute(gt_ObjectiveWithoutEggsCreate, true, false); + lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveWithoutEggs); + Wait(libSwaC_gv_campaignObjectiveDelay, c_timeReal); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveWithoutEggsComplete_Init () { + gt_ObjectiveWithoutEggsComplete = TriggerCreate("gt_ObjectiveWithoutEggsComplete_Func"); +} + +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective - Without Eggs - Fail +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveWithoutEggsFail_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Conditions + if (testConds) { + if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + lib5BD4895D_gf_AP_Core_setObjectiveFailed(gv_objectiveWithoutEggs); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveWithoutEggsFail_Init () { + gt_ObjectiveWithoutEggsFail = TriggerCreate("gt_ObjectiveWithoutEggsFail_Func"); +} + //-------------------------------------------------------------------------------------------------- // Trigger: onDifficultyCasual //-------------------------------------------------------------------------------------------------- @@ -6973,6 +7081,9 @@ void InitTriggers () { gt_VictoryZergHold_Init(); gt_ObjectiveRepelZagaraCreate_Init(); gt_ObjectiveRepelZagaraComplete_Init(); + gt_ObjectiveWithoutEggsCreate_Init(); + gt_ObjectiveWithoutEggsComplete_Init(); + gt_ObjectiveWithoutEggsFail_Init(); gt_onDifficultyCasual_Init(); gt_onDifficultyNormal_Init(); gt_onDifficultyHard_Init(); diff --git a/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/Triggers b/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/Triggers index 2d0de744e..25b33911f 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/Triggers +++ b/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/Triggers @@ -5285,6 +5285,8 @@ + + @@ -5326,6 +5328,41 @@ + + + + + + + + + 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13622,6 +13659,7 @@ + @@ -13663,6 +13701,26 @@ 100 + + + + + + + + + + + + + + + + + + + + @@ -37730,6 +37788,7 @@ + @@ -37927,6 +37986,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 100 + + @@ -51468,6 +51582,7 @@ + @@ -51485,6 +51600,7 @@ + LOCATION_ID_CENTER_INFESTED_COMMAND_CENTER @@ -51594,6 +51710,18 @@ 9 + + LOCATION_ID_WIN_WITHOUT_100_EGGS + + + + + + + + 10 + + @@ -51889,6 +52017,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + Create the objective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + Ensure that the objective exists + + + + + + + + + + + + + + + + + + + + + + + + Update the objective + + + + + + + + + + + + + Wait a short amount of time so the player can see the objective is completed. You can delete this action if you're completing multiple objectives at once. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + Ensure that the objective exists + + + + + + + + + + diff --git a/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/Triggers.version b/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/Triggers.version index 1a851b4a1da87a830ad64c49f8defb86cc156dff..6aeddd1f907e757b6453d163dc3612ab31f819a1 100644 GIT binary patch delta 17 XcmdPVnV`Va%)r3V+CMXm5l907Bvu2g delta 17 WcmdPVnV`Va$iTo*SJ;!r2&4fb<^y;D diff --git a/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt b/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt index 73a5c6985..d06e93e31 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt +++ b/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt @@ -44,6 +44,7 @@ Param/Value/A1AC8C33=Find Baneling Nests Param/Value/AB71505C=+NumberOfEggs Param/Value/BA756A5C=Zagara Returns In: Param/Value/C41A47E9=An uprooted Spine Crawler can move.Use Root to allow the Spine Crawler to attack. +Param/Value/C7458DD3=Destroy Zagara's base without collecting 100 eggs Param/Value/C7620A1C=Baneling Egg Nest Param/Value/C7BD448C=Zerg Eggs Param/Value/D9E70ECE=Baneling Nests Rescued Before Eggs Collected diff --git a/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt b/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt index 1c640950d..e49cc094c 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt +++ b/Maps/ArchipelagoCampaign/HotS/ap_domination.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt @@ -6,13 +6,14 @@ Category/Name/1EDC04AC=Midgame Cinematic Category/Name/264242E8=Difficulty Category/Name/2DC36FF6======== CINEMATIC ======= Category/Name/314173AB=Utility +Category/Name/500BFEEB=Bonus Objective - Without Eggs Category/Name/50639A7A=Achievements & Stats Category/Name/74252522======== GAMEPLAY ======= Category/Name/7D18442D=Bonus Objective - Find Baneling Nests Category/Name/8370D92A=Eggs Category/Name/8BFD4E5A=Variables Category/Name/8FA8F08F=AI Attack Waves -Category/Name/944689C6=Custom Objectives +Category/Name/944689C6=Bonus Objective - Repel Zagara Category/Name/A22763B2======== MAIN ======= Category/Name/A5723261=Debug Category/Name/A9A166FD=EggsVariable @@ -79,6 +80,7 @@ Trigger/Name/1739CB04=Mid Setup Trigger/Name/1ED3DD94=Start AI Trigger/Name/2054893F=Objective - Find Baneling Nests - Complete Trigger/Name/21865551=Baneling Egg Q +Trigger/Name/23E6987D=Objective - Without Eggs - Complete Trigger/Name/2591E432=Init 04 Music Trigger/Name/26DC3327=First Attack - Zagara Taunt Q Trigger/Name/279B2F18=Mid Cinematic @@ -143,6 +145,7 @@ Trigger/Name/A243F528=Created Unit Trigger/Name/A2F36D3E=AI Give Minerals Trigger/Name/A33ED1CF=Achievement: Baneling Kills Trigger/Name/A3B57F08=50 Egg Q +Trigger/Name/A844F51C=Objective - Without Eggs - Fail Trigger/Name/A955ACC9=Objective - Zagara Eggs - Failed Trigger/Name/AB383BE6=Infested Command Center Destroyed Trigger/Name/AB47600C=Objective - Repel Zagara - Complete @@ -152,6 +155,7 @@ Trigger/Name/AD7E5281=onDifficultyBrutal Trigger/Name/AD9B7AA1=Objective - Repel Zagara - Create Trigger/Name/AE32B2CB=Spine Crawler Transform Trigger/Name/AF064DE4=90 Egg Q +Trigger/Name/B15D0127=Objective - Without Eggs - Create Trigger/Name/B2019440=Mid Q Trigger/Name/B308233D=Zagara Ping Control Trigger/Name/B4645072=Victory Zerglings @@ -220,6 +224,7 @@ Variable/Name/27170EF0=EggNests Variable/Name/29FA5B27=IntroMusicFinished Variable/Name/2BD4339E=FiredOnce Variable/Name/30DA8F95=LOCATION_ID_NORTH_INFESTED_COMMAND_CENTER +Variable/Name/336E4B4C=ObjectiveWithoutEggs Variable/Name/337E5480=AP First Zagara Variable/Name/339897B0=TimeoutTimer Variable/Name/339F6AB7=Index @@ -270,6 +275,7 @@ Variable/Name/7F1185A6=PLAYER_06_FERAL_BANELINGS Variable/Name/7F534C07=FadeDuration Variable/Name/7F6B51AE=DestroyZagarasBaseTimer Variable/Name/809D4447=FeralBanelingGroup +Variable/Name/83F5E0DB=category Variable/Name/860AE09A=i Variable/Name/86CF9571=ZagaraCorruptingEgg Variable/Name/88DE7F85=VictoryCinematicCompleted @@ -291,6 +297,7 @@ Variable/Name/AD5F892E=LOCATION_ID_CLOSE_BANELING_NEST Variable/Name/B0DF1BAA=NearestBanelingEgg Variable/Name/B180F8E3=Index Variable/Name/B1FCE0A9=MidSpawnedUnitsSelected +Variable/Name/B6030FFA=LOCATION_ID_WIN_WITHOUT_100_EGGS Variable/Name/B6085F5C=TransfusionCooldownTimer Variable/Name/B79D7040=ZerglingActors Variable/Name/B8004569=PLAYER_04_EGGS diff --git a/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/DocumentHeader b/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/DocumentHeader index 65a77ebe864490405a5a28e417af60583dba5986..0befe86eecaea41345d334e87c9be6aab27d1887 100644 GIT binary patch delta 19 YcmaFp|ImMe42NZj?-3B*sIpfb09A?zN&o-= delta 19 YcmaFp|ImMe499<^$RH5jsIpfb09nEaW&i*H diff --git a/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/MapScript.galaxy b/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/MapScript.galaxy index 5630c4c6f..ba4cac1a4 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/MapScript.galaxy +++ b/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/MapScript.galaxy @@ -55,6 +55,9 @@ const int gv_LOCATION_ID_SOUTH_ZERG_RESCUE = 6; const int gv_LOCATION_ID_NORTH_ZERG_RESCUE = 7; const int gv_LOCATION_ID_WEST_QUEEN_RESCUE = 8; const int gv_LOCATION_ID_EAST_QUEEN_RESCUE = 9; +const int gv_LOCATION_ID_SOUTH_ORBITAL_COMMAND_CENTER = 10; +const int gv_LOCATION_ID_NORTHWEST_ORBITAL_COMMAND_CENTER = 11; +const int gv_LOCATION_ID_SOUTHEAST_ORBITAL_COMMAND_CENTER = 12; //-------------------------------------------------------------------------------------------------- // Global Variables @@ -128,6 +131,8 @@ bool gv_victoryCinematicCompleted; unitgroup gv_victoryHiddenUnitGroup2; unit gv_victoryKerrigan; sound gv_victorySound; +int gv_objectiveDestroyOrbitals; +int gv_orbitalsDestroyed; void InitGlobals () { int init_i; @@ -160,6 +165,7 @@ void InitGlobals () { gv_introTextTag = c_textTagNone; gv_midHiddenUnitGroup = UnitGroupEmpty(); gv_victoryHiddenUnitGroup2 = UnitGroupEmpty(); + gv_objectiveDestroyOrbitals = c_invalidObjectiveId; } //-------------------------------------------------------------------------------------------------- @@ -299,11 +305,17 @@ trigger gt_onDifficultyCasual; trigger gt_onDifficultyNormal; trigger gt_onDifficultyHard; trigger gt_onDifficultyBrutal; +trigger gt_ObjectiveDestroyOrbitalsCreate; +trigger gt_ObjectiveDestroyOrbitalsUpdate; +trigger gt_ObjectiveDestroyOrbitalsComplete; trigger gt_ArchInit; trigger gt_SetMineralCount; trigger gt_ObjectiveFindZergBiomassWest; trigger gt_ObjectiveFindZergBiomassNorth; trigger gt_ObjectiveFindZergBiomassSouth; +trigger gt_ObjectiveDestroyOrbitalSouth; +trigger gt_ObjectiveDestroyOrbitalNorthwest; +trigger gt_ObjectiveDestroyOrbitalSoutheast; //-------------------------------------------------------------------------------------------------- // Custom AI Functions @@ -1251,6 +1263,8 @@ bool gt_StartGameQ_Func (bool testConds, bool runActions) { Wait(3.0, c_timeReal); TriggerQueueEnter(); TriggerExecute(gt_ObjectiveDestroyGorgonsCreate, true, true); + Wait(2.0, c_timeGame); + TriggerExecute(gt_ObjectiveDestroyOrbitalsCreate, true, false); TriggerQueueExit(); Wait(2.0, c_timeGame); TriggerExecute(gt_GorgonLaunchPlay, true, false); @@ -6180,6 +6194,100 @@ void gt_onDifficultyBrutal_Init () { gt_onDifficultyBrutal = TriggerCreate("gt_onDifficultyBrutal_Func"); } +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Destroy Orbitals Create +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveDestroyOrbitalsCreate_Func (bool testConds, bool runActions) { + // Variable Declarations + int lv_category; + + // Automatic Variable Declarations + // Variable Initialization + lv_category = lib5BD4895D_ge_APObjectiveCategory_Challenge; + + // Conditions + if (testConds) { + if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + ObjectiveCreate(StringExternal("Param/Value/AA69C287"), StringToText(""), c_objectiveStateHidden, false); + gv_objectiveDestroyOrbitals = ObjectiveLastCreated(); + lib5BD4895D_gf_AP_Core_addCategoryObjectiveWithCounter(gv_objectiveDestroyOrbitals, lv_category, "", gv_orbitalsDestroyed, 3, true); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveDestroyOrbitals, gv_LOCATION_ID_SOUTH_ORBITAL_COMMAND_CENTER); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveDestroyOrbitals, gv_LOCATION_ID_NORTHWEST_ORBITAL_COMMAND_CENTER); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveDestroyOrbitals, gv_LOCATION_ID_SOUTHEAST_ORBITAL_COMMAND_CENTER); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objectiveDestroyOrbitals, true); + Wait(libSwaC_gv_campaignObjectiveDelay, c_timeReal); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveDestroyOrbitalsCreate_Init () { + gt_ObjectiveDestroyOrbitalsCreate = TriggerCreate("gt_ObjectiveDestroyOrbitalsCreate_Func"); +} + +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Destroy Orbitals Update +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveDestroyOrbitalsUpdate_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Conditions + if (testConds) { + if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + gv_orbitalsDestroyed += 1; + lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objectiveDestroyOrbitals, gv_orbitalsDestroyed); + if ((gv_orbitalsDestroyed >= 3)) { + TriggerEnable(TriggerGetCurrent(), false); + TriggerExecute(gt_ObjectiveDestroyOrbitalsComplete, true, false); + } + + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveDestroyOrbitalsUpdate_Init () { + gt_ObjectiveDestroyOrbitalsUpdate = TriggerCreate("gt_ObjectiveDestroyOrbitalsUpdate_Func"); +} + +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Destroy Orbitals Complete +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveDestroyOrbitalsComplete_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + TriggerExecute(gt_ObjectiveDestroyOrbitalsCreate, true, false); + lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveDestroyOrbitals); + Wait(libSwaC_gv_campaignObjectiveDelay, c_timeReal); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveDestroyOrbitalsComplete_Init () { + gt_ObjectiveDestroyOrbitalsComplete = TriggerCreate("gt_ObjectiveDestroyOrbitalsComplete_Func"); +} + //-------------------------------------------------------------------------------------------------- // Trigger: Arch Init //-------------------------------------------------------------------------------------------------- @@ -6336,6 +6444,105 @@ void gt_ObjectiveFindZergBiomassSouth_Init () { TriggerAddEventUnitRange(gt_ObjectiveFindZergBiomassSouth, null, UnitFromId(1824), 1.5, true); } +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Destroy Orbital South +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveDestroyOrbitalSouth_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Conditions + if (testConds) { + if (!((gv_gameOver == false))) { + return false; + } + + if (!((gv_inCinematic == false))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_SOUTH_ORBITAL_COMMAND_CENTER); + TriggerExecute(gt_ObjectiveDestroyOrbitalsUpdate, true, false); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveDestroyOrbitalSouth_Init () { + gt_ObjectiveDestroyOrbitalSouth = TriggerCreate("gt_ObjectiveDestroyOrbitalSouth_Func"); + TriggerAddEventUnitDied(gt_ObjectiveDestroyOrbitalSouth, UnitRefFromUnit(UnitFromId(306))); +} + +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Destroy Orbital Northwest +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveDestroyOrbitalNorthwest_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Conditions + if (testConds) { + if (!((gv_gameOver == false))) { + return false; + } + + if (!((gv_inCinematic == false))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_NORTHWEST_ORBITAL_COMMAND_CENTER); + TriggerExecute(gt_ObjectiveDestroyOrbitalsUpdate, true, false); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveDestroyOrbitalNorthwest_Init () { + gt_ObjectiveDestroyOrbitalNorthwest = TriggerCreate("gt_ObjectiveDestroyOrbitalNorthwest_Func"); + TriggerAddEventUnitDied(gt_ObjectiveDestroyOrbitalNorthwest, UnitRefFromUnit(UnitFromId(242))); +} + +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Destroy Orbital Southeast +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveDestroyOrbitalSoutheast_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Conditions + if (testConds) { + if (!((gv_gameOver == false))) { + return false; + } + + if (!((gv_inCinematic == false))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_SOUTHEAST_ORBITAL_COMMAND_CENTER); + TriggerExecute(gt_ObjectiveDestroyOrbitalsUpdate, true, false); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveDestroyOrbitalSoutheast_Init () { + gt_ObjectiveDestroyOrbitalSoutheast = TriggerCreate("gt_ObjectiveDestroyOrbitalSoutheast_Func"); + TriggerAddEventUnitDied(gt_ObjectiveDestroyOrbitalSoutheast, UnitRefFromUnit(UnitFromId(130))); +} + //-------------------------------------------------------------------------------------------------- // Trigger Initialization //-------------------------------------------------------------------------------------------------- @@ -6458,11 +6665,17 @@ void InitTriggers () { gt_onDifficultyNormal_Init(); gt_onDifficultyHard_Init(); gt_onDifficultyBrutal_Init(); + gt_ObjectiveDestroyOrbitalsCreate_Init(); + gt_ObjectiveDestroyOrbitalsUpdate_Init(); + gt_ObjectiveDestroyOrbitalsComplete_Init(); gt_ArchInit_Init(); gt_SetMineralCount_Init(); gt_ObjectiveFindZergBiomassWest_Init(); gt_ObjectiveFindZergBiomassNorth_Init(); gt_ObjectiveFindZergBiomassSouth_Init(); + gt_ObjectiveDestroyOrbitalSouth_Init(); + gt_ObjectiveDestroyOrbitalNorthwest_Init(); + gt_ObjectiveDestroyOrbitalSoutheast_Init(); } //-------------------------------------------------------------------------------------------------- diff --git a/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/Triggers b/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/Triggers index 8bc833ff2..5be3ce0c2 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/Triggers +++ b/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/Triggers @@ -5309,6 +5309,8 @@ + + @@ -5330,6 +5332,41 @@ + + + + + + + + + 2.0 + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -46786,11 +46823,15 @@ + + + + @@ -46802,6 +46843,9 @@ + + + LOCATION_ID_WEST_BIOMASS @@ -46911,6 +46955,42 @@ 9 + + LOCATION_ID_SOUTH_ORBITAL_COMMAND_CENTER + + + + + + + + 10 + + + + LOCATION_ID_NORTHWEST_ORBITAL_COMMAND_CENTER + + + + + + + + 11 + + + + LOCATION_ID_SOUTHEAST_ORBITAL_COMMAND_CENTER + + + + + + + + 12 + + @@ -47065,6 +47145,451 @@ + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + Create the objective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Ensure that the objective exists + + + + + + + + + + + + + + + + + + + + + + + + Update the objective + + + + + + + + + + + + + + + + + + + + + + + @@ -47869,4 +48394,298 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/Triggers.version b/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/Triggers.version index ec80f41f9ed7490d61695be008472797f8729bc0..1a8d10d42dae711bddbe0676ef06fc2440c91148 100644 GIT binary patch delta 17 XcmdPVnV`V4mw|zyb;`^%Mj#CUCou!- delta 17 XcmdPVnV`V4hk=2?@^x1lBaj9FCd>oo diff --git a/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt b/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt index cac90902d..41bf1ff52 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt +++ b/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt @@ -41,6 +41,7 @@ Param/Value/9DFC3C2F=Scourge Nest Param/Value/A4208892=Raven Param/Value/A50B2849=Tips Param/Value/A86D9394=Scourge Nest Awakened +Param/Value/AA69C287=Destroy Orbital Command Centers Param/Value/ABAD7A82=Scourge Nest Param/Value/B04BE048=Move Kerrigan here to collect the Zerg Biomass. Param/Value/B74336EA=Largest Zerg Force diff --git a/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt b/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt index 74be927a0..ace12cd2c 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt +++ b/Maps/ArchipelagoCampaign/HotS/ap_fire_in_the_sky.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt @@ -14,6 +14,7 @@ Category/Name/737AC7CC======== GAMEPLAY ======= Category/Name/76D16D62=Utility Category/Name/80AC3597=Achievements & Stats Category/Name/83579686=Cinematic Variables +Category/Name/84E769F7=Bonus Objective - Destroy Orbitals Category/Name/859380BC=Starting Sequence Category/Name/9647B2FE=Bonus Objective - Find Zerg Biomass Category/Name/A1226ACA=Bonus Objective - Find Zerg @@ -91,7 +92,9 @@ Trigger/Name/42EDB43B=Intro Cleanup Trigger/Name/44D92427=Zerg Rescue - Bottom Trigger/Name/4562F862=Transmission: Queen Thanks You Q Trigger/Name/47FEA667=Gorgon Close to Base +Trigger/Name/484D6FCF=Objective Destroy Orbital South Trigger/Name/48E49668=Objective Destroy Gorgons Create +Trigger/Name/48FE0667=Objective Destroy Orbital Southeast Trigger/Name/4BED3D3E=Init 02 Players Trigger/Name/4F30C6D7=Init 07 Help Trigger/Name/501C1945=Achievement: Destroy X Gorgons in Y seconds H @@ -99,6 +102,7 @@ Trigger/Name/50842F6B=Init 05 Environment Trigger/Name/53130067=Scourge Nest Cycle Trigger/Name/53F1C5EB=onDifficultyCasual Trigger/Name/541FBEBC=Scourge Nest - Contruction Completed +Trigger/Name/577FBE17=Objective Destroy Orbitals Create Trigger/Name/587A0B93=Victory Sequence Trigger/Name/5F6FB6D1=Objective Activate Scourge Nest Complete Trigger/Name/63E5D971=Intro Q @@ -109,6 +113,7 @@ Trigger/Name/69719FFB=Largest Zerg Force Trigger/Name/6A11142A=Mid Music Trigger/Name/6C9EA05A=Transmission: Dominion Raven Q Trigger/Name/6DB63D8C=Transmission: Gorgon Close Q +Trigger/Name/6EDFEFBC=Objective Destroy Orbitals Update Trigger/Name/7451D856=Firebat Attacked Trigger/Name/7491C08B=Queen Rescue 01 Trigger/Name/753E718C=Queen Rescue 02 @@ -131,6 +136,7 @@ Trigger/Name/9E815F62=Init 06 Difficulties Trigger/Name/9E83B650=Creep Tumor Target Cursor Leave Trigger/Name/A095294A=Gorgon Destroyed for Achievement Trigger/Name/A50CC67D=Victrory Droppods +Trigger/Name/A5882CC0=Objective Destroy Orbitals Complete Trigger/Name/A65B8FA6=Objective Find Zerg Create Trigger/Name/A6C558FA=Units Lost To Gorgon Trigger/Name/A73DC2E0=Intro Gorgon Launch @@ -156,6 +162,7 @@ Trigger/Name/C89571BF=Objective Find Zerg Update Trigger/Name/CB5EE5FB=Objective Find Zerg Biomass North Trigger/Name/CBAF800E=Objective Find Zerg Biomass Create Trigger/Name/CC792480=Victory Cinematic End +Trigger/Name/CC9A4FCE=Objective Destroy Orbital Northwest Trigger/Name/D23039EF=Gorgon Destroyed Trigger/Name/D389CD40=Transmission: Supplyline Breakers Q Trigger/Name/D3A212A4=AI Give Minerals @@ -191,7 +198,9 @@ Variable/Name/06A211D8=RescuedQueen Variable/Name/06BF507A=Point Variable/Name/0812E778=Index Variable/Name/08FC7B53=Distance Increment +Variable/Name/0923DA88=LOCATION_ID_SOUTHEAST_ORBITAL_COMMAND_CENTER Variable/Name/0D422AE9=LaunchTimeIncrement +Variable/Name/0D9C9538=ObjectiveDestroyOrbitals Variable/Name/14A87389=Firebats Variable/Name/14E06B9C=FadeDuration Variable/Name/166F75CB=VisionGroup @@ -204,6 +213,7 @@ Variable/Name/1B9BF553=VictoryZergRight Variable/Name/1C4B2C6B=POINT Variable/Name/1C59646C=ObjectiveZergBiomassFound Variable/Name/1CADE1C2=MidHiddenUnitGroup +Variable/Name/1CEEF469=OrbitalsDestroyed Variable/Name/1FD546A6=PLAYER_05_DEAD_NEST Variable/Name/222CBA0D=currentUnit Variable/Name/22F86912=LOCATION_ID_WEST_QUEEN_RESCUE @@ -289,6 +299,7 @@ Variable/Name/B9F7599E=GorgonDestroyedQuicklyTimer Variable/Name/BB4B3F0E=THE_ONE_GORGON Variable/Name/BB4CF1CC=PLAYER_06_ACTIVE_NEST Variable/Name/BBC4B3AB=Transmission_ProximityWarning +Variable/Name/BDC54475=LOCATION_ID_SOUTH_ORBITAL_COMMAND_CENTER Variable/Name/C24D0512=Index Variable/Name/C2B79D1F=IntroFlashbackSound Variable/Name/C346F8EA=Creep Tumor @@ -298,6 +309,7 @@ Variable/Name/C521A423=LOCATION_ID_CLOSE_ZERG_RESCUE Variable/Name/C5D29A38=GorgonAttacker Variable/Name/C78FB8C3=TUMOR Variable/Name/C7EE2515=UnitsLostToGorgon +Variable/Name/C9D6BF2D=LOCATION_ID_NORTHWEST_ORBITAL_COMMAND_CENTER Variable/Name/C9FEB622=Distance Step Count Variable/Name/D16826EE=IntroTextTag Variable/Name/D18A08E5=Index @@ -305,6 +317,7 @@ Variable/Name/D25D92DE=Gorgon Arrival Time Variable/Name/D3E2CD59=CinematicCompleted Variable/Name/D45DDB3D=GorgonDestructionInProgress Variable/Name/D62A8DB9=VictoryKerrigan +Variable/Name/D73631F4=category Variable/Name/DA1A1B78=GorgonWarningPing Variable/Name/DA380CF1=CinematicHiddenUnits Variable/Name/DB6AA5D3=Objective INT diff --git a/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/DocumentHeader b/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/DocumentHeader index ad719e61b8c7426263cd649d86fd41eefb6fb83c..71bbd2122f3ca89a038d410c0272be4248d16d63 100644 GIT binary patch delta 19 Ycmewy@;PLJ3`gThMPCr!sN$~$09rc;0RR91 delta 19 Ycmewy@;PLJ4986Q#`7S&QN>>i09``}p#T5? diff --git a/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/MapScript.galaxy b/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/MapScript.galaxy index 2e1d55774..977b25c55 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/MapScript.galaxy +++ b/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/MapScript.galaxy @@ -52,6 +52,7 @@ const int gv_LOCATION_ID_NORTHEAST_PSILINK_SPIRE = 5; const int gv_LOCATION_ID_NORTHWEST_PSILINK_SPIRE = 6; const int gv_LOCATION_ID_SOUTHWEST_PSILINK_SPIRE = 7; const int gv_LOCATION_ID_NAFASH = 8; +const int gv_LOCATION_ID_20_UNFROZEN_STRUCTURES = 9; //-------------------------------------------------------------------------------------------------- // Global Variables @@ -130,6 +131,7 @@ unitgroup gv_victoryHiddenUnitGroup; unit gv_victoryKerrigan; point gv_victorySpirePoint; sound gv_victoryEndWinHordeSound; +int gv_objectiveUnfrozenStructures; void InitGlobals () { gv_roachRescues = UnitGroupEmpty(); @@ -160,6 +162,7 @@ void InitGlobals () { gv_cinematicTempUnits = UnitGroupEmpty(); gv_cinematicHiddenUnits = UnitGroupEmpty(); gv_victoryHiddenUnitGroup = UnitGroupEmpty(); + gv_objectiveUnfrozenStructures = c_invalidObjectiveId; } //-------------------------------------------------------------------------------------------------- @@ -346,6 +349,9 @@ trigger gt_onDifficultyCasual; trigger gt_onDifficultyNormal; trigger gt_onDifficultyHard; trigger gt_onDifficultyBrutal; +trigger gt_ObjectiveUnfrozenStructuresCreate; +trigger gt_ObjectiveUnfrozenStructuresUpdate; +trigger gt_ObjectiveUnfrozenStructuresComplete; trigger gt_ArchInit; trigger gt_SetMineralCount; trigger gt_UrsadonMatriarchFirst; @@ -2009,6 +2015,7 @@ bool gt_StartGameStage2Q_Func (bool testConds, bool runActions) { TriggerExecute(gt_AIAttackWaves, true, false); TriggerQueueEnter(); TriggerExecute(gt_ObjectiveDestroyPsiLinkSpiresCreate, true, true); + TriggerExecute(gt_ObjectiveUnfrozenStructuresCreate, true, false); TriggerQueueExit(); TriggerExecute(gt_CreatePingPsiLinkSpire01, true, false); Wait(6.0, c_timeReal); @@ -2070,6 +2077,7 @@ bool gt_UnitDiesGiveEssenceUpdateStats_Func (bool testConds, bool runActions) { if ((gv_flashFreezeActive == false) && (UnitGetOwner(libNtve_gf_KillingUnit()) == gv_pLAYER_01_USER) && ((UnitGetOwner(EventUnit()) == gv_pLAYER_04_PROTOSS) || (UnitGetOwner(EventUnit()) == gv_pLAYER_05_PROTOSS) || (UnitGetOwner(EventUnit()) == gv_pLAYER_06_PROTOSS)) && (UnitTypeTestAttribute(UnitGetType(EventUnit()), c_unitAttributeStructure) == true)) { gv_unfrozenStructureDestroyed = (gv_unfrozenStructureDestroyed + 1); + TriggerExecute(gt_ObjectiveUnfrozenStructuresUpdate, true, false); if ((gv_unfrozenStructureDestroyed >= 20)) { TriggerExecute(gt_AchievementDestroyUnfrozenStructures, true, false); } @@ -8597,6 +8605,108 @@ void gt_onDifficultyBrutal_Init () { gt_onDifficultyBrutal = TriggerCreate("gt_onDifficultyBrutal_Func"); } +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Unfrozen Structures Create +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveUnfrozenStructuresCreate_Func (bool testConds, bool runActions) { + // Variable Declarations + int lv_category; + + // Automatic Variable Declarations + // Variable Initialization + lv_category = lib5BD4895D_ge_APObjectiveCategory_Challenge; + + // Conditions + if (testConds) { + if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + ObjectiveCreate(StringExternal("Param/Value/137EE48E"), StringToText(""), c_objectiveStateHidden, false); + gv_objectiveUnfrozenStructures = ObjectiveLastCreated(); + lib5BD4895D_gf_AP_Core_addCategoryObjectiveWithCounter(gv_objectiveUnfrozenStructures, lv_category, "", gv_unfrozenStructureDestroyed, 20, true); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveUnfrozenStructures, gv_LOCATION_ID_20_UNFROZEN_STRUCTURES); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objectiveUnfrozenStructures, true); + Wait(libSwaC_gv_campaignObjectiveDelay, c_timeReal); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveUnfrozenStructuresCreate_Init () { + gt_ObjectiveUnfrozenStructuresCreate = TriggerCreate("gt_ObjectiveUnfrozenStructuresCreate_Func"); +} + +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Unfrozen Structures Update +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveUnfrozenStructuresUpdate_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Conditions + if (testConds) { + if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerExecute(gt_ObjectiveUnfrozenStructuresCreate, true, false); + lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objectiveUnfrozenStructures, gv_unfrozenStructureDestroyed); + if ((gv_unfrozenStructureDestroyed >= 20)) { + TriggerEnable(TriggerGetCurrent(), false); + TriggerExecute(gt_ObjectiveUnfrozenStructuresComplete, true, false); + Wait(libSwaC_gv_campaignObjectiveDelay, c_timeReal); + } + + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveUnfrozenStructuresUpdate_Init () { + gt_ObjectiveUnfrozenStructuresUpdate = TriggerCreate("gt_ObjectiveUnfrozenStructuresUpdate_Func"); +} + +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Unfrozen Structures Complete +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveUnfrozenStructuresComplete_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Conditions + if (testConds) { + if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + TriggerExecute(gt_ObjectiveUnfrozenStructuresCreate, true, false); + lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objectiveUnfrozenStructures, 20); + lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveUnfrozenStructures); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_20_UNFROZEN_STRUCTURES); + Wait(libSwaC_gv_campaignObjectiveDelay, c_timeReal); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveUnfrozenStructuresComplete_Init () { + gt_ObjectiveUnfrozenStructuresComplete = TriggerCreate("gt_ObjectiveUnfrozenStructuresComplete_Func"); +} + //-------------------------------------------------------------------------------------------------- // Trigger: Arch Init //-------------------------------------------------------------------------------------------------- @@ -8847,6 +8957,9 @@ void InitTriggers () { gt_onDifficultyNormal_Init(); gt_onDifficultyHard_Init(); gt_onDifficultyBrutal_Init(); + gt_ObjectiveUnfrozenStructuresCreate_Init(); + gt_ObjectiveUnfrozenStructuresUpdate_Init(); + gt_ObjectiveUnfrozenStructuresComplete_Init(); gt_ArchInit_Init(); gt_SetMineralCount_Init(); gt_UrsadonMatriarchFirst_Init(); diff --git a/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/Triggers b/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/Triggers index ad5ff7d72..23c803816 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/Triggers +++ b/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/Triggers @@ -9328,6 +9328,7 @@ + @@ -9349,6 +9350,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -10721,6 +10742,7 @@ + @@ -10779,6 +10801,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -58924,6 +58966,7 @@ + @@ -58938,6 +58981,7 @@ + LOCATION_ID_FIRST_URSADON_MATRIARCH @@ -59035,6 +59079,18 @@ 8 + + LOCATION_ID_20_UNFROZEN_STRUCTURES + + + + + + + + 9 + + @@ -59304,6 +59360,488 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20 + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + Ensure that the objective exists + + + + + + + + + + + + + + + + + + + + + + + + Show Bonus Objective Floating Text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + Ensure that the objective exists + + + + + + + + + + + + + + + + + + + + + + + + Update the campaign progress for this objective. This must be done whenever an objective's progress changes. + + + + + + + + + + + + + + 20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/Triggers.version b/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/Triggers.version index 72139f657fec1e392d8fe8b4d4fec7caa2e240c0..3be50011487f3b235672614d5a0c1ceaf8cb2a65 100644 GIT binary patch delta 17 XcmdPVnV`TE$H>4CR5~*aNHG8aAXfuB delta 17 XcmdPVnV`TE&B(y;*}f+YNHG8aBXa|m diff --git a/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt b/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt index 13a522820..8e468ba1d 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt +++ b/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt @@ -16,6 +16,7 @@ Param/Expression/0894A15A=~B~ Param/Value/06E759C8=Hatchery Param/Value/0D114C2C=DIE Param/Value/11531BDB=Hive Cluster +Param/Value/137EE48E=Destroy unfrozen structures Param/Value/155903C2=An uprooted Spine Crawler can move but not attack.Use Root to activate its attack. Param/Value/18D3B3F7=Nafash's Corpse Param/Value/1C004C23=Defends base against enemy ground units. diff --git a/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt b/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt index b33f106a4..819186a0c 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt +++ b/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt @@ -18,6 +18,7 @@ Category/Name/6F59E1F6======== ARCHIPELAGO ======= Category/Name/77AE09E1=Location IDs Category/Name/885B00E0=Main Objective - Recover Lost Brood Category/Name/916B6E65=Ursadon Behaviors +Category/Name/93763330=Bonus Objective - Unfrozen Structures Category/Name/A1EBD7CD=Campaign Mission Category/Name/A28636B3======== MAIN ======= Category/Name/A414F9EA=Midgame Cinematic - Recover Brood @@ -78,6 +79,7 @@ ParamDef/Name/D8C59B29=CHOSEN_PLAYER ParamDef/Name/EC1C1EE7=UnitGroup ParamDef/Name/F31B9578=SPAWN_POINT ParamDef/Name/FD36AF87=CHOSEN_TARGET +Trigger/Name/00E3A751=Objective Unfrozen Structures Complete Trigger/Name/01EC1BBE=Objective Ursadon Matriarchs Create Trigger/Name/020E7BD7=Psi Link Spire Destroyed Trigger/Name/053608F0=Created Unit @@ -202,6 +204,7 @@ Trigger/Name/AB4303DB=Fog Change01 Trigger/Name/AB7D94DE=Show Bonus Objective Q Trigger/Name/AFC46D23=Victory Cinematic Trigger/Name/B0D73FCD=Ground Ice Collapse 01 +Trigger/Name/B15CCC48=Objective Unfrozen Structures Create Trigger/Name/B813A521=Objective Find Nafash Corpse Complete Trigger/Name/B8C9A42A=DEBUG Start Snow Trigger/Name/B98490AD=Victory Psi Link Spires Destroyed @@ -219,6 +222,7 @@ Trigger/Name/C4BB1050=Victory Cheat Trigger/Name/C4D68942=Mid Recover Brood Cinematic Trigger/Name/CAA64359=Objective Destroy Psi Link Spires Complete Trigger/Name/CC0B200A=Init 07 Help +Trigger/Name/CEBFEDBA=Objective Unfrozen Structures Update Trigger/Name/CF6B28A7=Start First Matriarch Attack Trigger/Name/D1A46FD5=Objective Find Nafash Corpse Failed Trigger/Name/D5936341=Victory Sequence @@ -251,6 +255,8 @@ Variable/Name/08D04A5A=PLAYER_02_RESCUE_ZERG Variable/Name/0A683C06=DeliverRetreatLine Variable/Name/0C7D6ECD=VisionGroup01 Variable/Name/0ED856C7=VictoryHiddenUnitGroup +Variable/Name/1062F1B3=ObjectiveUnfrozenStructures +Variable/Name/14DF9955=category Variable/Name/1964D93A=CinematicCompleted Variable/Name/1B32AD5F=VictoryEndWinHordeSound Variable/Name/1B8D6A94=RandomLine @@ -278,6 +284,7 @@ Variable/Name/38DBA272=currentUnit Variable/Name/3DDF366B=FlashFreezeDuration_Window Variable/Name/41E2EC35=OverlordPathingBlockers Variable/Name/42351E3E=PingMatriarch +Variable/Name/429FC05D=LOCATION_ID_20_UNFROZEN_STRUCTURES Variable/Name/43EC99DF=VictoryCinematicCompleted Variable/Name/45A29DD1=FlashFreezeActive Variable/Name/4652F608=Ursadon_CenterSouth diff --git a/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/DocumentHeader b/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/DocumentHeader index 75b2074254afaa60d2b096fcab2f3aa6b99e37ab..a4de781c50174f36e281ca51606003c3441d890c 100644 GIT binary patch delta 19 YcmaDA@hW113`gdg@VOwoQN>LM09{20k^lez delta 19 YcmaDA@hW11496KQ-7pZ|sN$vr099KDasU7T diff --git a/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/MapScript.galaxy b/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/MapScript.galaxy index 2c3c0a5f9..ab1872fa9 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/MapScript.galaxy +++ b/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/MapScript.galaxy @@ -58,6 +58,9 @@ const int gv_LOCATION_ID_SOUTHWEST_FROZEN_ZERG = 6; const int gv_LOCATION_ID_SOUTHEAST_FROZEN_ZERG = 7; const int gv_LOCATION_ID_WEST_FROZEN_ZERG = 8; const int gv_LOCATION_ID_EAST_FROZEN_ZERG = 9; +const int gv_LOCATION_ID_WEST_LAUNCH_BAY = 10; +const int gv_LOCATION_ID_CENTER_LAUNCH_BAY = 11; +const int gv_LOCATION_ID_EAST_LAUNCH_BAY = 12; //-------------------------------------------------------------------------------------------------- // Global Preset Declarations @@ -134,6 +137,7 @@ int gv_introSoundCount; bool gv_victoryCinematicCompleted; unitgroup gv_victoryHiddenUnitGroup; unit gv_victoryKerrigan; +int gv_objectiveBonusDestroyLaunchBays; void InitGlobals () { int init_i; @@ -165,6 +169,7 @@ void InitGlobals () { gv_cinematicTempUnits = UnitGroupEmpty(); gv_introHydras = UnitGroupEmpty(); gv_victoryHiddenUnitGroup = UnitGroupEmpty(); + gv_objectiveBonusDestroyLaunchBays = c_invalidObjectiveId; } //-------------------------------------------------------------------------------------------------- @@ -307,6 +312,9 @@ trigger gt_onDifficultyCasual; trigger gt_onDifficultyNormal; trigger gt_onDifficultyHard; trigger gt_onDifficultyBrutal; +trigger gt_ObjectiveDestroyLaunchBaysCreate; +trigger gt_ObjectiveDestroyLaunchBaysUpdate; +trigger gt_ObjectiveDestroyLaunchBaysComplete; trigger gt_ArchInit; trigger gt_SetMineralCount; trigger gt_StasisChamberDestroyedEast; @@ -316,6 +324,9 @@ trigger gt_SouthwestFrozenZerg; trigger gt_WestFrozenZerg; trigger gt_SoutheastFrozenZerg; trigger gt_EastFrozenZerg; +trigger gt_WestLaunchBay; +trigger gt_CenterLaunchBay; +trigger gt_EastLaunchBay; //-------------------------------------------------------------------------------------------------- // Custom AI Functions @@ -1574,6 +1585,7 @@ bool gt_StartGameQ_Func (bool testConds, bool runActions) { TriggerExecute(gt_ObjectiveNoShuttleCanEscapeCreate, true, true); TriggerExecute(gt_ObjectiveFindFrozenZergBaseCreate, true, true); TriggerExecute(gt_ObjectiveFindFrozenZergCreate, true, true); + TriggerExecute(gt_ObjectiveDestroyLaunchBaysCreate, true, true); TriggerExecute(gt_CreateWarpConduitPingLeft, true, false); TriggerQueueExit(); Wait(8.0, c_timeAI); @@ -4689,6 +4701,7 @@ bool gt_AchievementDestroyShuttleBaysH_Func (bool testConds, bool runActions) { } gv_dockingBaysDestroyed += 1; + TriggerExecute(gt_ObjectiveDestroyLaunchBaysUpdate, true, false); if ((libNtve_gf_DifficultyValueInt(0, 1, 1, 1) == 1) && (GameGetMissionTime() < 661.0)) { libSwaC_gf_CampaignAwardAchievement("Anniversary_ZExpedition02", gv_pLAYER_01_USER); TriggerDebugOutput(1, StringExternal("Param/Value/4823D88D"), false); @@ -6087,6 +6100,107 @@ void gt_onDifficultyBrutal_Init () { gt_onDifficultyBrutal = TriggerCreate("gt_onDifficultyBrutal_Func"); } +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Destroy Launch Bays Create +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveDestroyLaunchBaysCreate_Func (bool testConds, bool runActions) { + // Variable Declarations + int lv_category; + + // Automatic Variable Declarations + // Variable Initialization + lv_category = lib5BD4895D_ge_APObjectiveCategory_Challenge; + + // Conditions + if (testConds) { + if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + ObjectiveCreate(StringExternal("Param/Value/FEA2AC04"), StringToText(""), c_objectiveStateHidden, false); + gv_objectiveBonusDestroyLaunchBays = ObjectiveLastCreated(); + lib5BD4895D_gf_AP_Core_addCategoryObjectiveWithCounter(gv_objectiveBonusDestroyLaunchBays, lv_category, "", gv_dockingBaysDestroyed, 3, true); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveBonusDestroyLaunchBays, gv_LOCATION_ID_WEST_LAUNCH_BAY); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveBonusDestroyLaunchBays, gv_LOCATION_ID_CENTER_LAUNCH_BAY); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objectiveBonusDestroyLaunchBays, gv_LOCATION_ID_EAST_LAUNCH_BAY); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objectiveBonusDestroyLaunchBays, true); + Wait(libSwaC_gv_campaignObjectiveDelay, c_timeReal); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveDestroyLaunchBaysCreate_Init () { + gt_ObjectiveDestroyLaunchBaysCreate = TriggerCreate("gt_ObjectiveDestroyLaunchBaysCreate_Func"); +} + +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Destroy Launch Bays Update +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveDestroyLaunchBaysUpdate_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Conditions + if (testConds) { + if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerExecute(gt_ObjectiveDestroyLaunchBaysCreate, true, false); + lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objectiveBonusDestroyLaunchBays, gv_dockingBaysDestroyed); + if ((gv_dockingBaysDestroyed >= 3)) { + TriggerEnable(TriggerGetCurrent(), false); + TriggerExecute(gt_ObjectiveDestroyLaunchBaysComplete, true, false); + } + + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveDestroyLaunchBaysUpdate_Init () { + gt_ObjectiveDestroyLaunchBaysUpdate = TriggerCreate("gt_ObjectiveDestroyLaunchBaysUpdate_Func"); +} + +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Destroy Launch Bays Complete +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveDestroyLaunchBaysComplete_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Conditions + if (testConds) { + if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + TriggerExecute(gt_ObjectiveDestroyLaunchBaysCreate, true, false); + lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveBonusDestroyLaunchBays); + Wait(libSwaC_gv_campaignObjectiveDelay, c_timeReal); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveDestroyLaunchBaysComplete_Init () { + gt_ObjectiveDestroyLaunchBaysComplete = TriggerCreate("gt_ObjectiveDestroyLaunchBaysComplete_Func"); +} + //-------------------------------------------------------------------------------------------------- // Trigger: Arch Init //-------------------------------------------------------------------------------------------------- @@ -6392,6 +6506,69 @@ void gt_EastFrozenZerg_Init () { TriggerAddEventUnitRegion(gt_EastFrozenZerg, null, RegionFromId(3), true); } +//-------------------------------------------------------------------------------------------------- +// Trigger: West Launch Bay +//-------------------------------------------------------------------------------------------------- +bool gt_WestLaunchBay_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_WEST_LAUNCH_BAY); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_WestLaunchBay_Init () { + gt_WestLaunchBay = TriggerCreate("gt_WestLaunchBay_Func"); + TriggerAddEventUnitDied(gt_WestLaunchBay, UnitRefFromUnit(UnitFromId(22))); +} + +//-------------------------------------------------------------------------------------------------- +// Trigger: Center Launch Bay +//-------------------------------------------------------------------------------------------------- +bool gt_CenterLaunchBay_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_CENTER_LAUNCH_BAY); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_CenterLaunchBay_Init () { + gt_CenterLaunchBay = TriggerCreate("gt_CenterLaunchBay_Func"); + TriggerAddEventUnitDied(gt_CenterLaunchBay, UnitRefFromUnit(UnitFromId(151))); +} + +//-------------------------------------------------------------------------------------------------- +// Trigger: East Launch Bay +//-------------------------------------------------------------------------------------------------- +bool gt_EastLaunchBay_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_EAST_LAUNCH_BAY); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_EastLaunchBay_Init () { + gt_EastLaunchBay = TriggerCreate("gt_EastLaunchBay_Func"); + TriggerAddEventUnitDied(gt_EastLaunchBay, UnitRefFromUnit(UnitFromId(153))); +} + //-------------------------------------------------------------------------------------------------- // Trigger Initialization //-------------------------------------------------------------------------------------------------- @@ -6516,6 +6693,9 @@ void InitTriggers () { gt_onDifficultyNormal_Init(); gt_onDifficultyHard_Init(); gt_onDifficultyBrutal_Init(); + gt_ObjectiveDestroyLaunchBaysCreate_Init(); + gt_ObjectiveDestroyLaunchBaysUpdate_Init(); + gt_ObjectiveDestroyLaunchBaysComplete_Init(); gt_ArchInit_Init(); gt_SetMineralCount_Init(); gt_StasisChamberDestroyedEast_Init(); @@ -6525,6 +6705,9 @@ void InitTriggers () { gt_WestFrozenZerg_Init(); gt_SoutheastFrozenZerg_Init(); gt_EastFrozenZerg_Init(); + gt_WestLaunchBay_Init(); + gt_CenterLaunchBay_Init(); + gt_EastLaunchBay_Init(); } //-------------------------------------------------------------------------------------------------- diff --git a/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/Minimap.tga b/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/Minimap.tga index 134d60c69a87fcf1cd275c0970500ace766348cc..718bf45e06206ff4566c072c7d72cf01671f1da5 100644 GIT binary patch delta 347 zcmZ3}V6djaprM7ag=q`(&vv$@Gdoty?%Mvpo%t6l8<4eXLErZOz0BXa+14!VUpA+E z`=6Q2&()b1Piox$>>xSfceO#1>4(JurskS?%m$G zj$KQgEj=!zC_QHT&a3RdSUD>5lBcv)%ElPY&bwD9E^DduRs7KUU5Y`&OPmy!QIZ&D&%0I3{W^Rn4CM zei}yuTSB-m$d1zK9F?rhb9!o~f1JZn$5EITJ)x;&-MsDPb2)ynvbR^|0J)2{mo4V# zRp#uiFPPa`xom3dcAn!LKp!QAy0=$kZs$46@tu`3Guj8p2a?-)E^|0}usT}mSQ%{( mmgWSy8OYXDkrol;*&d?E`InWEu{}tg6NtIC2dQ)4x&Z){q?F$P delta 347 zcmZ3}V6djaprM7ag=q`(&vv$DvpQGK>E8aoo%t6l8<4eTVgL63z0BXa+14(auzYUM z_CGV3pQ|%3n%J=Y*+Gz+#giI=oc3qOnSq!Eh*`HkJI*%u0rSz#3%9qeU}s`u+_$}R z9lMq~TUu;LQF`?Dombg^v2v8>Bu#25o6)g-_igqcteg|O+NO6_Pi-sTzULu(q84NN zb~zpnM;FE&+Y=ef+`sbgil nJy@C(=w={WQ$<=th4bxt7W+8(6Ned`7QiM5ou diff --git a/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/Triggers b/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/Triggers index ad03cb49f..24eaa87f6 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/Triggers +++ b/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/Triggers @@ -4168,6 +4168,7 @@ + @@ -4250,6 +4251,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -30381,6 +30402,7 @@ + @@ -30484,6 +30506,25 @@ + + + + + + + + + + + + + + + + + + + @@ -39351,10 +39392,12 @@ + + @@ -39366,6 +39409,9 @@ + + + LOCATION_ID_EAST_STATIS_CHAMBER @@ -39475,6 +39521,42 @@ 9 + + LOCATION_ID_WEST_LAUNCH_BAY + + + + + + + + 10 + + + + LOCATION_ID_CENTER_LAUNCH_BAY + + + + + + + + 11 + + + + LOCATION_ID_EAST_LAUNCH_BAY + + + + + + + + 12 + + @@ -39629,6 +39711,477 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + Create the objective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + Ensure that the objective exists + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + Ensure that the objective exists + + + + + + + + + + + + + + + + + + + + + + + + Update the objective + + + + + + + + + + + + + + + + + + + + + + + @@ -40735,4 +41288,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/Triggers.version b/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/Triggers.version index d72159707a4c8a765ed5c832db60d241f527a88e..53f52598db0652f90c3d8dcd70355074a9384ec6 100644 GIT binary patch delta 17 XcmdPVnV`Va#lXPuxO!$9Baj9FCk_Ms delta 17 WcmdPVnV`Va#=yXk@7$Bd2&4faXahh1 diff --git a/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt b/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt index 846ec0954..bc5d23051 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt +++ b/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt @@ -60,5 +60,6 @@ Param/Value/DCC58208=Remaining Param/Value/E8A25D96=Warp Conduit Param/Value/EF364743=A Protoss Shuttle has escaped. Param/Value/FBA8F002=All of your structures have been destroyed. +Param/Value/FEA2AC04=Destroy the Launch Bays Unit/Name/ProtossCruiser=Mothership Unit/Name/ProtossFrigate=Shuttle diff --git a/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt b/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt index 7b55615e8..47f85def1 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt +++ b/Maps/ArchipelagoCampaign/HotS/ap_shoot_the_messenger.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt @@ -9,7 +9,9 @@ Category/Name/31DE5281=Scripted Events Category/Name/411D580B=Initialization Category/Name/462AC102======== OBJECTIVE ======= Category/Name/49425B60=Variables +Category/Name/552A7750=LaunchBays Category/Name/6152F0DF=Utility +Category/Name/6CE88EC6=Bonus Objective - Destroy Launch Bays Category/Name/740FE2F5=Shuttle Launch Transmissions Category/Name/7E685090=Debug Category/Name/80B4AE7B=Variables @@ -108,6 +110,7 @@ Trigger/Name/02F8C83A=Stasis Chamber Destroyed West Trigger/Name/07C312AB=Rescue Frozen Zerg Expansion Trigger/Name/09F02B3B=Objective Destroy Stasis Chamber Complete Trigger/Name/0A899EA8=Victory Q +Trigger/Name/0F3B675B=East Launch Bay Trigger/Name/144FB5E6=Intro Hydras Setup Trigger/Name/19EECBDF=Transmission: First Attack Q Trigger/Name/1A83CF54=Defeat Cheat @@ -143,6 +146,7 @@ Trigger/Name/4C5BC8AB=Create Auto Saves Trigger/Name/4DC35103=Initialization Trigger/Name/503A28A1=Objective Destroy All Protoss Shuttles Failed Trigger/Name/5178C5A1=Ice Wall Collapse 01 +Trigger/Name/51AF4FFE=Objective Destroy Launch Bays Update Trigger/Name/534B103E=Arch Init Trigger/Name/5AC72920=East Frozen Zerg Trigger/Name/5B890DF6=Defeat @@ -168,12 +172,14 @@ Trigger/Name/7F377E16=Transmission: Shuttle Launch 04 Q Trigger/Name/8051A575=Transmission: Stasis Chamber Destroyed Q Trigger/Name/81DB2DFB=Objective Destroy All Protoss Shuttles Complete Trigger/Name/8306511F=Shuttle Send Wave 07 +Trigger/Name/83448B3F=Objective Destroy Launch Bays Create Trigger/Name/871EFDF6=Shuttle Send Wave 02 Trigger/Name/889EA5A1=West Frozen Zerg Trigger/Name/89735F5B=Stasis Chamber Destroyed East Trigger/Name/8F3DD432=Shuttle becomes Cloaked Trigger/Name/90565F19=Shuttle Escape Warning Trigger/Name/9136D549=Transmission: Escape Warning Q +Trigger/Name/9370C3B9=Center Launch Bay Trigger/Name/939F044D=onDifficultyBrutal Trigger/Name/9490B1CF=Intro Cinematic Trigger/Name/966AEC51=AI Give Gas @@ -211,9 +217,11 @@ Trigger/Name/CC4A7B92=Achievement: Destroy Nexus N/H Trigger/Name/D0B1FE68=Create Shuttle Reticule Trigger/Name/D0DFF768=Victory Trigger/Name/D4B15E15=Southeast Frozen Zerg +Trigger/Name/D8E08597=West Launch Bay Trigger/Name/D9E2C0AA=Shuttle Send Wave 05 Trigger/Name/DBB483F7=Activate Warp Conduit Right Trigger/Name/DE8BE6F0=Discover Frozen Expansion +Trigger/Name/DEF22029=Objective Destroy Launch Bays Complete Trigger/Name/EB4E7109=Init 02 Players Trigger/Name/EB5B4997=Transmission: Stasis Chamber Intro Q Trigger/Name/ECD3CE37=Intro Spawn Shuttle @@ -276,6 +284,7 @@ Variable/Name/44C0AA3B=StasisChamberGroup Variable/Name/45556C42=currentUnit Variable/Name/511E6194=IntroSoundCount Variable/Name/53857BD9=LaunchFacGroups_SizeOf +Variable/Name/560F9488=LOCATION_ID_CENTER_LAUNCH_BAY Variable/Name/56CDE09F=ShuttleShields Variable/Name/56DA0A62=Index Variable/Name/58112AB7=Warp Away Panel @@ -288,6 +297,7 @@ Variable/Name/701DC7E9=VictoryZerg Variable/Name/70A24A8D=WarningTransmission Variable/Name/70A6D4BA=lv_EvacPointIndex Variable/Name/71AFDBBF=ObjectiveFindFrozenZergBase +Variable/Name/723B6452=ObjectiveBonusDestroyLaunchBays Variable/Name/72467E6A=StasisChamberType Variable/Name/74339DD0=DockingBayUnits Variable/Name/7B760006=FrozenExpansionProtoss @@ -309,6 +319,7 @@ Variable/Name/8ED33C92=NumberOfDockingBays Variable/Name/8EE654C0=pings Variable/Name/9050173A=PLAYER_04_PROTOSS_RED Variable/Name/92545BF2=C_Width +Variable/Name/92CF9969=LOCATION_ID_WEST_LAUNCH_BAY Variable/Name/937FDCF7=FrozenZergGroupGlobal Variable/Name/9647AEAA=ShuttleToEscort Variable/Name/96D916B5=Shuttle @@ -326,6 +337,7 @@ Variable/Name/ADA2B913=IntroMusicCompleted Variable/Name/AFA3F007=PLAYER_07_FROZENZERG Variable/Name/B1FB5E96=StasisChamberPingArray Variable/Name/B8217ACA=EscortIncrement +Variable/Name/B8343DB2=LOCATION_ID_EAST_LAUNCH_BAY Variable/Name/B9550754=ShuttleEscapePoint Variable/Name/B95B0121=LOCATION_ID_CENTER_STATIS_CHAMBER Variable/Name/BDBCDE9D=Movement Speed @@ -338,6 +350,7 @@ Variable/Name/C5C13F2F=ShuttleSpeed Variable/Name/C6D054DF=lv_i Variable/Name/C6DA6BB9=ProtossPlayers Variable/Name/C91BE7B9=Warp Away Value +Variable/Name/C9E476A1=category Variable/Name/CBA076BE=LOCATION_ID_WEST_STATIS_CHAMBER Variable/Name/CF56E621=MapMusicTrack Variable/Name/CFC1F25B=C_Height diff --git a/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/DocumentHeader b/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/DocumentHeader index 8ef40aa3044d121b9507f10623beabb66119f3f0..766448d6e8e700b5aaec0f80e3970b59e8819e2a 100644 GIT binary patch delta 19 YcmaD5@E~A<49Du~S?57`ql%3N0Ap7PYybcN delta 19 YcmaD5@E~A<498{mV~as}ql%3N0A8mE)Bpeg diff --git a/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/MapScript.galaxy b/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/MapScript.galaxy index 3f518e460..84f1b8c00 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/MapScript.galaxy +++ b/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/MapScript.galaxy @@ -55,6 +55,7 @@ const int gv_LOCATION_ID_SOUTH_PROXY_PRIMAL_HIVE = 5; const int gv_LOCATION_ID_EAST_PROXY_PRIMAL_HIVE = 6; const int gv_LOCATION_ID_SOUTH_MAIN_PRIMAL_HIVE = 7; const int gv_LOCATION_ID_EAST_MAIN_PRIMAL_HIVE = 8; +const int gv_LOCATION_ID_FLAWLESS = 9; //-------------------------------------------------------------------------------------------------- // Global Structures @@ -182,6 +183,7 @@ bool gv_victoryCinematicCompleted; unitgroup gv_victoryHiddenUnitGroup; unit gv_victoryKerrigan; sound gv_victoryZurvanSound; +int gv_objective_Flawless; bool gv_aPBrakkKilled; void InitGlobals () { @@ -249,6 +251,7 @@ void InitGlobals () { gv_introGuardians = UnitGroupEmpty(); gv_introZerglings = UnitGroupEmpty(); gv_victoryHiddenUnitGroup = UnitGroupEmpty(); + gv_objective_Flawless = c_invalidObjectiveId; } //-------------------------------------------------------------------------------------------------- @@ -326,7 +329,7 @@ trigger gt_PlayerStartsDraggingMeat; trigger gt_MutaliskButtonClicked; trigger gt_TransmissionTeachMutalisksQ; trigger gt_BrakkForcesEatingMeatQ; -trigger gt_BrakkFrocesFightingQuillgarQ; +trigger gt_BrakkForcesFightingQuillgorQ; trigger gt_ProgressUpdatePlayerFirstMeatQ; trigger gt_ProgressUpdatePlayer2MeatsQ; trigger gt_ProgressUpdatePlayer4MeatsQ; @@ -431,6 +434,9 @@ trigger gt_onDifficultyCasual; trigger gt_onDifficultyNormal; trigger gt_onDifficultyHard; trigger gt_onDifficultyBrutal; +trigger gt_ObjectiveFlawlessCreate; +trigger gt_ObjectiveFlawlessComplete; +trigger gt_ObjectiveFlawlessFailed; trigger gt_ArchInit; trigger gt_SetMineralCount; trigger gt_EssencePoolAbsorbedCenter; @@ -687,6 +693,7 @@ void gf_CorpseEatenEnemy (int lp_campIndex) { libNtve_gf_CreatePingFacingAngle(PlayerGroupAll(), "PingWarning", UnitGetPosition(gv_corpse_PerCamp[lp_campIndex]), ColorWithAlpha(100.00, 0.00, 0.00, 0.00), 4.0, 270.0); UIAlertPoint("Trigger", gv_pLAYER_01_USER, StringExternal("Param/Value/03E2DC77"), null, UnitGetPosition(gv_corpse_PerCamp[lp_campIndex])); gv_score_Enemy += 1; + TriggerExecute(gt_ObjectiveFlawlessFailed, true, false); TriggerExecute(gt_ObjectiveQuillgorMeatEnemyUpdate, true, false); libNtve_gf_KillModel(libHots_gf_ActorForUnit(gv_corpse_PerCamp[lp_campIndex], 1)); TextTagDestroy(libHots_gf_TextTagForUnit(gv_corpse_PerCamp[lp_campIndex], 1)); @@ -2894,6 +2901,11 @@ bool gt_CorpseEatenPlayer_Func (bool testConds, bool runActions) { lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_FINISH_FEEDING); PingDestroy(gv_feedingPointPing); TriggerExecute(gt_ObjectiveHarvestMeatComplete, true, true); + if ((gv_score_Enemy == 0)) { + lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_FLAWLESS); + TriggerExecute(gt_ObjectiveFlawlessComplete, true, false); + } + if ((gv_score_Player >= gv_score_Quota_Player) && (gv_aPBrakkKilled == true)) { TriggerExecute(gt_VictorySequence, true, false); } @@ -3188,9 +3200,9 @@ void gt_BrakkForcesEatingMeatQ_Init () { } //-------------------------------------------------------------------------------------------------- -// Trigger: Brakk Froces Fighting Quillgar Q +// Trigger: Brakk Forces Fighting Quillgor Q //-------------------------------------------------------------------------------------------------- -bool gt_BrakkFrocesFightingQuillgarQ_Func (bool testConds, bool runActions) { +bool gt_BrakkForcesFightingQuillgorQ_Func (bool testConds, bool runActions) { // Variable Declarations unit lv_quillgarAlpha; int lv_campIndex; @@ -3234,6 +3246,7 @@ bool gt_BrakkFrocesFightingQuillgarQ_Func (bool testConds, bool runActions) { if ((TriggerIsEnabled(gt_ObjectiveQuillgorMeatEnemyCreate) == true)) { Wait(1.0, c_timeReal); TriggerExecute(gt_ObjectiveQuillgorMeatEnemyCreate, true, true); + TriggerExecute(gt_ObjectiveFlawlessCreate, true, false); } TriggerQueueExit(); @@ -3252,8 +3265,8 @@ bool gt_BrakkFrocesFightingQuillgarQ_Func (bool testConds, bool runActions) { } //-------------------------------------------------------------------------------------------------- -void gt_BrakkFrocesFightingQuillgarQ_Init () { - gt_BrakkFrocesFightingQuillgarQ = TriggerCreate("gt_BrakkFrocesFightingQuillgarQ_Func"); +void gt_BrakkForcesFightingQuillgorQ_Init () { + gt_BrakkForcesFightingQuillgorQ = TriggerCreate("gt_BrakkForcesFightingQuillgorQ_Func"); } //-------------------------------------------------------------------------------------------------- @@ -4363,7 +4376,7 @@ bool gt_CorpseBeingEatenQ_Func (bool testConds, bool runActions) { return true; } - TriggerEnable(gt_BrakkFrocesFightingQuillgarQ, false); + TriggerEnable(gt_BrakkForcesFightingQuillgorQ, false); gv_quillgorCampCorpseEatenIndex[lv_campIndex] = 4; if ((gv_corpse_PingWarning[lv_campIndex] == c_invalidPingId)) { if ((gv_firstHarvesterIndex > 0) && (gv_aIHarvestCamps[gv_firstHarvesterIndex] == lv_campIndex) && (gv_firstHarvestingWarningPing != c_invalidPingId)) { @@ -4395,13 +4408,16 @@ bool gt_CorpseBeingEatenQ_Func (bool testConds, bool runActions) { if (auto1F90468F_val == 1) { libSwaC_gf_SetAllSoundChannelVolumesCampaign(libSwaC_ge_VolumeChannelModeCampaign_Speech); libSwaC_gf_SendTransmissionCampaign(null, "zMission_Zerus01|Line00094", c_transmissionDurationAdd, 0.0, true, libSwaC_ge_CampaignTransmissionPortraitOptioins_HidePortraitAfter, libSwaC_ge_CampaignTransmissionCueSoundOptions_DefaultCueSoundBehavior); + TriggerExecute(gt_ObjectiveQuillgorMeatEnemyCreate, true, false); Wait(2.0, c_timeGame); + TriggerExecute(gt_ObjectiveFlawlessCreate, true, false); libSwaC_gf_SendTransmissionCampaign(gv_tHE_ONE_BRAKK, "zMission_Zerus01|Line00131", c_transmissionDurationAdd, 0.0, true, libSwaC_ge_CampaignTransmissionPortraitOptioins_HidePortraitAfter, libSwaC_ge_CampaignTransmissionCueSoundOptions_DefaultCueSoundBehavior); libSwaC_gf_SendTransmissionCampaign(gv_kerrigan, "zMission_Zerus01|Line00093", c_transmissionDurationAdd, 0.0, true, libSwaC_ge_CampaignTransmissionPortraitOptioins_HidePortraitAfter, libSwaC_ge_CampaignTransmissionCueSoundOptions_DefaultCueSoundBehavior); libSwaC_gf_SetAllSoundChannelVolumesCampaign(libSwaC_ge_VolumeChannelModeCampaign_Game); if ((TriggerIsEnabled(gt_ObjectiveQuillgorMeatEnemyCreate) == true)) { Wait(1.0, c_timeReal); TriggerExecute(gt_ObjectiveQuillgorMeatEnemyCreate, true, true); + TriggerExecute(gt_ObjectiveFlawlessCreate, true, false); } } @@ -5461,7 +5477,7 @@ bool gt_AIQuillgorHarvesterInCombat_Func (bool testConds, bool runActions) { if ((((lv_attacker != null) && ((UnitGetType(lv_attacker) == "SpaceCowSmall") || (UnitGetType(lv_attacker) == "SpaceCowMedium"))) || ((EventUnit() != null) && ((UnitGetType(EventUnit()) == "SpaceCowSmall") || (UnitGetType(EventUnit()) == "SpaceCowMedium"))))) { if ((gv_firstHarvesterIndex == 0)) { gv_firstHarvesterIndex = lv_harvestIndex; - TriggerExecute(gt_BrakkFrocesFightingQuillgarQ, true, false); + TriggerExecute(gt_BrakkForcesFightingQuillgorQ, true, false); } } @@ -8185,6 +8201,99 @@ void gt_onDifficultyBrutal_Init () { gt_onDifficultyBrutal = TriggerCreate("gt_onDifficultyBrutal_Func"); } +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Flawless Create +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveFlawlessCreate_Func (bool testConds, bool runActions) { + // Variable Declarations + int lv_category; + + // Automatic Variable Declarations + // Variable Initialization + lv_category = lib5BD4895D_ge_APObjectiveCategory_Challenge; + + // Conditions + if (testConds) { + if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + ObjectiveCreate(StringExternal("Param/Value/FE0FDD54"), StringToText(""), c_objectiveStateHidden, false); + gv_objective_Flawless = ObjectiveLastCreated(); + lib5BD4895D_gf_AP_Core_addCategoryObjectiveSimple(gv_objective_Flawless, lv_category, true); + lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_Flawless, gv_LOCATION_ID_FLAWLESS); + lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objective_Flawless, true); + Wait(libSwaC_gv_campaignObjectiveDelay, c_timeReal); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveFlawlessCreate_Init () { + gt_ObjectiveFlawlessCreate = TriggerCreate("gt_ObjectiveFlawlessCreate_Func"); +} + +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Flawless Complete +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveFlawlessComplete_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Conditions + if (testConds) { + if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerExecute(gt_ObjectiveFlawlessCreate, true, true); + lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objective_Flawless); + Wait(libSwaC_gv_campaignObjectiveDelay, c_timeReal); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveFlawlessComplete_Init () { + gt_ObjectiveFlawlessComplete = TriggerCreate("gt_ObjectiveFlawlessComplete_Func"); +} + +//-------------------------------------------------------------------------------------------------- +// Trigger: Objective Flawless Failed +//-------------------------------------------------------------------------------------------------- +bool gt_ObjectiveFlawlessFailed_Func (bool testConds, bool runActions) { + // Automatic Variable Declarations + // Conditions + if (testConds) { + if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) { + return false; + } + } + + // Actions + if (!runActions) { + return true; + } + + TriggerEnable(TriggerGetCurrent(), false); + lib5BD4895D_gf_AP_Core_setObjectiveFailed(gv_objective_Flawless); + return true; +} + +//-------------------------------------------------------------------------------------------------- +void gt_ObjectiveFlawlessFailed_Init () { + gt_ObjectiveFlawlessFailed = TriggerCreate("gt_ObjectiveFlawlessFailed_Func"); +} + //-------------------------------------------------------------------------------------------------- // Trigger: Arch Init //-------------------------------------------------------------------------------------------------- @@ -8524,7 +8633,7 @@ void InitTriggers () { gt_MutaliskButtonClicked_Init(); gt_TransmissionTeachMutalisksQ_Init(); gt_BrakkForcesEatingMeatQ_Init(); - gt_BrakkFrocesFightingQuillgarQ_Init(); + gt_BrakkForcesFightingQuillgorQ_Init(); gt_ProgressUpdatePlayerFirstMeatQ_Init(); gt_ProgressUpdatePlayer2MeatsQ_Init(); gt_ProgressUpdatePlayer4MeatsQ_Init(); @@ -8629,6 +8738,9 @@ void InitTriggers () { gt_onDifficultyNormal_Init(); gt_onDifficultyHard_Init(); gt_onDifficultyBrutal_Init(); + gt_ObjectiveFlawlessCreate_Init(); + gt_ObjectiveFlawlessComplete_Init(); + gt_ObjectiveFlawlessFailed_Init(); gt_ArchInit_Init(); gt_SetMineralCount_Init(); gt_EssencePoolAbsorbedCenter_Init(); diff --git a/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/Triggers b/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/Triggers index 9c2fb8590..ade964f0c 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/Triggers +++ b/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/Triggers @@ -7836,6 +7836,7 @@ + @@ -7878,6 +7879,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -8387,6 +8444,7 @@ + @@ -8567,6 +8625,25 @@ + + + + + + + + + + + + + + + + + + + @@ -10387,6 +10464,7 @@ + @@ -10424,6 +10502,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -23627,7 +23725,9 @@ + + @@ -23688,6 +23788,26 @@ zMission_Zerus01|Line00094 + + + + + + + + + + + + + + + + + + + + @@ -23703,6 +23823,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -23799,6 +23939,7 @@ + @@ -23836,6 +23977,26 @@ + + + + + + + + + + + + + + + + + + + + @@ -64115,6 +64276,7 @@ + @@ -64136,6 +64298,7 @@ + LOCATION_ID_CENTER_ESSENCE_POOL @@ -64233,6 +64396,18 @@ 8 + + LOCATION_ID_FLAWLESS + + + + + + + + 9 + + @@ -64317,6 +64492,338 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + Create the objective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + Ensure that the objective exists + + + + + + + + + + + + + + + + + + + + + + + + Update the objective + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/Triggers.version b/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/Triggers.version index 8226ce5eebe04d575752980e67b895759b6ce4da..98e0f3ef0fa3107d3b07c44da0bfe6377e5a5247 100644 GIT binary patch delta 17 XcmdPVnV`Uv&A`AAbaiGLBaj9FBZvd1 delta 17 XcmdPVnV`Uv!N9=K{i`dD5l907CDjA- diff --git a/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt b/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt index 17e0e6053..698f6d8db 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt +++ b/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/enUS.SC2Data/LocalizedData/GameStrings.txt @@ -60,6 +60,7 @@ Param/Value/DBA07935=Quillgor Biomass Param/Value/DCBCB90F=Enables air units and upgrades. Param/Value/DF2D61EA=Quillgor Corpse Param/Value/F977BE30=Order a Drone to carry this Biomass to the Ancient One. +Param/Value/FE0FDD54=Brakk Can't Destroy ANY Quillgor Biomass Unit/Name/SpaceCowCorpse=Quillgor Corpse Unit/Name/SpaceCowMedium=Quillgor Alpha Unit/Name/SpaceCowSmall=Quillgor diff --git a/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt b/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt index ac6d7a3f7..e61c96822 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt +++ b/Maps/ArchipelagoCampaign/HotS/ap_waking_the_ancient.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt @@ -7,6 +7,7 @@ Category/Name/379071B2=Location IDs Category/Name/420BA6AA=Primary Objective - Meat Eaten by Enemy Category/Name/4C220BE4=Dehaka Category/Name/508DA2A6=Debug +Category/Name/515CDBDD=Bonus Objective - Flawless Category/Name/59363045=Cinematic Variables Category/Name/5967B39C=Initialization Category/Name/639B4110=Starting Sequence @@ -237,7 +238,7 @@ Trigger/Name/8D9D99F6=Initialization Trigger/Name/8E4E2ACA=Start Game Q Trigger/Name/8FF0DA58=Intro Setup Trigger/Name/9665E46B=Reveal Meat Areas -Trigger/Name/9757D847=Brakk Froces Fighting Quillgar Q +Trigger/Name/9757D847=Brakk Forces Fighting Quillgor Q Trigger/Name/98201E13=Progress Update - Player - First Meat Q Trigger/Name/99D4BD83=AI - Unit Enter AI Retreat Region Trigger/Name/A067D4A3=Objective Harvest Meat Complete @@ -263,6 +264,7 @@ Trigger/Name/C0031886=Progress Update - Enemy Meats Q Trigger/Name/C1FD11CB=Mid Q Trigger/Name/C5506446=Achievement: Meat Lost H Trigger/Name/C8EE5937=Set Spire Mouseover +Trigger/Name/CB234CFC=Objective Flawless Complete Trigger/Name/CEB2243E=Victory Cinematic - Camera Shakes Trigger/Name/D4C0B3B5=Largest Zerg Force Trigger/Name/D7FA801B=onDifficultyHard @@ -270,6 +272,7 @@ Trigger/Name/D9081BFF=Set Mineral Count Trigger/Name/D9142D87=Essence Pool Intro Q Trigger/Name/DE1C6C34=Primal Hive Warning Q Trigger/Name/E0BCBF40=Mid Music +Trigger/Name/E20FFAC9=Objective Flawless Create Trigger/Name/E2A570E5=Spore Ray Patrols Trigger/Name/E43FD229=Defeat Cheat Trigger/Name/E465EDAD=Transmission: Brakk Kills Stuff! Q @@ -287,6 +290,7 @@ Trigger/Name/F56E1B1C=East Proxy Hive Trigger/Name/F6335092=AI - Send Harvest Waves Trigger/Name/F84B7E4C=Transmission: Brakk Death Q Trigger/Name/FA176221=Arch Init +Trigger/Name/FBF21AC9=Objective Flawless Failed Trigger/Name/FC0C1F67=Intro Cinematic Variable/Name/00E7EAC8=Corpse Variable/Name/01292423=VictoryKerrigan @@ -299,6 +303,7 @@ Variable/Name/0866828C=Dehaka Encounter Count Variable/Name/08BC4986=QuillgorCampCorpseHarvestedByDrone Variable/Name/09757A57=CampIndex Variable/Name/097FF5C7=CampIndex +Variable/Name/09A6E936=Objective_Flawless Variable/Name/0A1720BA=LOCATION_ID_FINISH_FEEDING Variable/Name/0AA60DA0=SPORE_RAY_MAX_COUNT Variable/Name/0C30374D=QuillgorCampSpawned @@ -398,6 +403,7 @@ Variable/Name/6B8BE065=Distance Variable/Name/6BFD465C=IntroQuillgor Variable/Name/6C67ABFA=LOCATION_ID_SOUTH_ESSENCE_POOL Variable/Name/6C708A53=BrakkStartedDestroyingMeat +Variable/Name/6E256D91=category Variable/Name/6E4D423A=QuillgorCampRevealer Variable/Name/6EC017BE=MeatDialogProgressBar Variable/Name/6EFB7002=i @@ -418,6 +424,7 @@ Variable/Name/7961F3C5=CinematicBrakk Variable/Name/79C817DC=CinematicTempUnits Variable/Name/7AF0A0AF=AttackGroup Variable/Name/7EFF9B6A=FadeDuration +Variable/Name/7F97C24D=LOCATION_ID_FLAWLESS Variable/Name/800087EE=P03_ZERG_BULLIES Variable/Name/8010CE7D=VictoryCinematicCompleted Variable/Name/8025A3BD=CampRegion From bd4b17fecbb992277e366daafa28dd0cfe6faae4 Mon Sep 17 00:00:00 2001 From: Gemster312 Date: Fri, 19 Jul 2024 11:31:01 -0700 Subject: [PATCH 2/2] Add fail condition --- .../DocumentHeader | Bin 10867 -> 10867 bytes .../MapScript.galaxy | 81 +++ .../ap_harvest_of_screams.SC2Map/Triggers | 523 ++++++++++++++++++ .../Triggers.version | Bin 44 -> 44 bytes .../LocalizedData/TriggerStrings.txt | 3 + 5 files changed, 607 insertions(+) diff --git a/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/DocumentHeader b/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/DocumentHeader index 71bbd2122f3ca89a038d410c0272be4248d16d63..bbd6fa19da27823875c542042d1dde626aa58a43 100644 GIT binary patch delta 19 Ycmewy@;PLJ497 + + + @@ -59375,6 +59378,16 @@ + + + + + + + + 0 + + @@ -59842,6 +59855,516 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Structure;Missile,Dead,Hidden + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Structure;Missile,Dead,Hidden + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Structure;Missile,Dead,Hidden + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 20 + + diff --git a/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/Triggers.version b/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/Triggers.version index 3be50011487f3b235672614d5a0c1ceaf8cb2a65..cb6bfbea175d1ab5f2c0f4ef011283af489b1ea5 100644 GIT binary patch delta 17 XcmdPVnV`TE&&a?~zI0X^kYWG;BH;s) delta 17 XcmdPVnV`TE$H>4CR5~*aNHG8aAXfuB diff --git a/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt b/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt index 819186a0c..fb6bede5f 100644 --- a/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt +++ b/Maps/ArchipelagoCampaign/HotS/ap_harvest_of_screams.SC2Map/enUS.SC2Data/LocalizedData/TriggerStrings.txt @@ -225,6 +225,7 @@ Trigger/Name/CC0B200A=Init 07 Help Trigger/Name/CEBFEDBA=Objective Unfrozen Structures Update Trigger/Name/CF6B28A7=Start First Matriarch Attack Trigger/Name/D1A46FD5=Objective Find Nafash Corpse Failed +Trigger/Name/D4BB3B91=Objective Unfrozen Structures Failed Trigger/Name/D5936341=Victory Sequence Trigger/Name/D5F691C8=Psi Link Spire Damaged 1 Trigger/Name/D6099DD3=Objective Find Nafash Corpse Create @@ -236,6 +237,7 @@ Trigger/Name/E0612BDE=Objective Collect Ursadon Essence Create Trigger/Name/E40E1C53=Initialization Trigger/Name/E47932DC=Victory Setup Trigger/Name/E60CEF79=Init 02 Players +Trigger/Name/EA40F5DD=Unit Dies - Update Target Count Trigger/Name/EB217ACB=Spire 01 Warp In Defenders Trigger/Name/EB29C7C1=Transmission: First Ursadon Matriarch Essence Collected Q Trigger/Name/EC0B8F82=Intro Cleanup @@ -272,6 +274,7 @@ Variable/Name/26A5E8E2=ObjectiveKillUrsadonMatriarchs Variable/Name/2873CB83=BaseRescued Variable/Name/2992968B=playerGroup Variable/Name/2AFE9BF2=currentUnit +Variable/Name/2E2D4AC8=ProtossStructuresRemaining Variable/Name/2F9750F7=LargestZergForce Variable/Name/31895DEC=ObjectiveCollectUrsadonEssence Variable/Name/32930D6C=LOCATION_ID_NORTHWEST_PSI-LINK_SPIRE