Skip to content

Commit

Permalink
Merge pull request #186 from Gemster312/sc2-next
Browse files Browse the repository at this point in the history
Objective Categorization Update for the Ulnar Storyline
  • Loading branch information
Ziktofel authored Jul 13, 2024
2 parents 5ddde6c + a306565 commit 78a9378
Show file tree
Hide file tree
Showing 21 changed files with 2,361 additions and 842 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Components>
<Optimized/>
<DataComponent Type="gada">GameData</DataComponent>
<DataComponent Type="text" Locale="enUS">GameText</DataComponent>
<DataComponent Type="info">DocumentInfo</DataComponent>
Expand Down
Binary file not shown.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,6 @@
<Model id="PingAlert"/>
<Model id="PingObjective"/>
<Model id="PingSimple"/>
<Objective id="PUlnar03Bonus01"/>
<Objective id="PUlnar03Primary03"/>
<Objective id="PUlnar03Primary01"/>
<Objective id="PUlnar03Primary02"/>
<Objective id="PUlnar03Primary04"/>
<Sound id="Alert_ZergBuildError"/>
<Sound id="NydusWorm_Unload"/>
<Sound id="Alert_ZergPlaceOnCreep"/>
Expand Down
1,378 changes: 937 additions & 441 deletions Maps/ArchipelagoCampaign/LotV/ap_harbinger_of_oblivion.SC2Map/Triggers

Large diffs are not rendered by default.

Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ Category/Name/CF030642=Difficulty
Category/Name/D083F28B=AI
Category/Name/D115FC6D======== CINEMATIC =======
Category/Name/D2469C95=Bonus Objective - Xel'Naga Vessels
Category/Name/E5510F0E=Location IDs
Category/Name/E69669B3=Victory/Defeat
FunctionDef/Grammar/29D38B81=Enemies within ~range~ of ~unit~ matching ~filter~
FunctionDef/Grammar/60299C99=Start Kerrigan's death sequence
Expand Down Expand Up @@ -145,6 +146,7 @@ Trigger/Name/83166129=Objective Swarm Must Survive Failed
Trigger/Name/8449CA2E=Mid Cleanup - Organise Starting Units
Trigger/Name/8494200A=Void Crystal 04 Destroyed
Trigger/Name/84DCB316=AI Give Resources
Trigger/Name/8B26F71B=Objective Activate Vessels Deactivate
Trigger/Name/8D59C439=Tip Ready Q
Trigger/Name/8DDF3932=TransferZergControlToPlayer
Trigger/Name/8F3AE66A=Spawn Shadow Cloud Trail 04
Expand Down Expand Up @@ -218,9 +220,11 @@ Variable/Name/0497AF3D=EnemyGroup10
Variable/Name/09878398=CurrentUnit
Variable/Name/0BDE0E4A=ConduitIndex
Variable/Name/1018EDE1=VictoryVoidCrystal
Variable/Name/108A50E3=LOCATION_ID_MID_XELNAGA_VESSEL
Variable/Name/11576C3F=DarkEnergyProgressedSpeed
Variable/Name/11E5FC7A=LocalWave
Variable/Name/15554EB5=VictoryVoidCrystalCamera
Variable/Name/16584400=LOCATION_ID_NORTHEAST_VOID_CRYSTAL
Variable/Name/17F3A556=MidArtanis
Variable/Name/1BA72F26=Soundtrack
Variable/Name/1D6A6F52=MasteryAchievementProgress
Expand All @@ -231,6 +235,7 @@ Variable/Name/1F861C44=FadeDuration
Variable/Name/246F1104=TemplarUnitGroup
Variable/Name/248B973E=TemplarCount
Variable/Name/25C7240F=FeedbackFodder
Variable/Name/2785AEC2=LOCATION_ID_NORTHWEST_VOID_CRYSTAL
Variable/Name/28233E86=ZergNydus
Variable/Name/290A05AB=EnemyGroup9
Variable/Name/2A722045=PLAYER_07_ZERG_STREAM
Expand All @@ -247,6 +252,7 @@ Variable/Name/3AFF56BF=VoidCrystalsDisabled
Variable/Name/418243A8=Crystal
Variable/Name/440F626F=PLAYER_05_ARTANIS
Variable/Name/46FECB0B=Victim
Variable/Name/4AA7E379=LOCATION_ID_SOUTH_XELNAGA_VESSEL
Variable/Name/4BF989D3=VesselsActivated
Variable/Name/512B1493=CinematicCompleted
Variable/Name/52125686=VictoryBeamCaster
Expand Down Expand Up @@ -295,12 +301,14 @@ Variable/Name/9BA6CDF5=Hybrid02
Variable/Name/9E989F2D=KerriganCocoon
Variable/Name/A138524B=HybridPing
Variable/Name/A1E1EAD9=Crystal
Variable/Name/A22EFA61=LOCATION_ID_ARTANIS
Variable/Name/A3CC5185=ObjectiveKillHybrid
Variable/Name/A3F9733A=VoidCrystalClear
Variable/Name/A53EABE6=FadeDuration
Variable/Name/A6A9D805=UnitsToSpawn
Variable/Name/A6C52C5B=HeroReviveLinkKerrigan
Variable/Name/A6D5C5CC=Crystal
Variable/Name/ACD2958F=LOCATION_ID_SOUTHWEST_VOID_CRYSTAL
Variable/Name/ACEB5FEC=KerriganSwarmAiders
Variable/Name/AD38581B=i
Variable/Name/AF145900=VOID_CRYSTAL_TOTAL
Expand All @@ -314,10 +322,12 @@ Variable/Name/B5610B6B=ObjectiveDestroyVoidCrystal
Variable/Name/B60B190D=MapMusicTrack
Variable/Name/B778F5C0=TemplarPoint
Variable/Name/B81D80FE=SolariteUnit
Variable/Name/BBEA5CD1=category
Variable/Name/BC0B8C45=ChosenTarget
Variable/Name/BF65F470=WaveGroup
Variable/Name/BFA74E99=CinematicPausedUnits
Variable/Name/C77DBB56=PLAYER_06_ZERG
Variable/Name/C8EBFED5=LOCATION_ID_NORTH_XELNAGA_VESSEL
Variable/Name/C908403F=VoidCrystalIndex
Variable/Name/CAC05825=currentUnit
Variable/Name/CAD8ABF0=DarkEnergyInitialSpeed
Expand All @@ -339,6 +349,7 @@ Variable/Name/ECA60404=LocalGroup
Variable/Name/EE5A2F6C=LastAttacker
Variable/Name/F2590767=DARK_ENERGY
Variable/Name/F2D3BEB5=FadeDuration
Variable/Name/F7A01012=LOCATION_ID_SOUTHEAST_VOID_CRYSTAL
Variable/Name/F871CF63=TownCenterGroup
Variable/Name/FA094633=ObjectiveSwarmMustSurvive
Variable/Name/FB828B22=TargetPoint
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Components>
<Optimized/>
<DataComponent Type="gada">GameData</DataComponent>
<DataComponent Type="text" Locale="enUS">GameText</DataComponent>
<DataComponent Type="info">DocumentInfo</DataComponent>
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,12 @@ void InitLibs () {
//--------------------------------------------------------------------------------------------------
// Constants
//--------------------------------------------------------------------------------------------------
const int gv_LOCATION_ID_MID_CELESTIAL_LOCK = 1;
const int gv_LOCATION_ID_WEST_CELESTIAL_LOCK = 2;
const int gv_LOCATION_ID_SOUTH_CELESTIAL_LOCK = 3;
const int gv_LOCATION_ID_EAST_CELESTIAL_LOCK = 4;
const int gv_LOCATION_ID_NORTH_CELESTIAL_LOCK = 5;
const int gv_LOCATION_ID_TITANIC_WARP_PRISM = 6;
const int gv_pLAYER_01_USER = 1;
const int gv_pLAYER_02_TALDARIM = 2;
const int gv_pLAYER_03_MOEBIUS = 3;
Expand Down Expand Up @@ -102,8 +108,8 @@ timer gv_titanicWarpPrismAchievementTimer;
int gv_locksRecapturedByEnemy;
int gv_firstLockIndex;
bool gv_firstLockRecaptured;
int gv_objectiveDestroyZergBase;
int gv_objectiveRescueStalkers;
int gv_objective_ActivateCelestialLocks;
int gv_objective_DestroyTitanicWarpPrism;
unitgroup gv_cinematicPausedUnits;
unitgroup gv_cinematicHiddenUnits;
unitgroup gv_cinematicTempUnits;
Expand Down Expand Up @@ -149,8 +155,8 @@ void InitGlobals () {
gv_attackWaveUnits_PARAM = UnitGroupEmpty();
gv_recentlySentAttackWaveCounter = 1;
gv_titanicWarpPrismAchievementTimer = TimerCreate();
gv_objectiveDestroyZergBase = c_invalidObjectiveId;
gv_objectiveRescueStalkers = c_invalidObjectiveId;
gv_objective_ActivateCelestialLocks = c_invalidObjectiveId;
gv_objective_DestroyTitanicWarpPrism = c_invalidObjectiveId;
gv_cinematicPausedUnits = UnitGroupEmpty();
gv_cinematicHiddenUnits = UnitGroupEmpty();
gv_cinematicTempUnits = UnitGroupEmpty();
Expand Down Expand Up @@ -231,6 +237,7 @@ trigger gt_ObjectiveActivateCelestialLocksComplete;
trigger gt_ObjectiveActivateCelestialLocksUpdate;
trigger gt_ObjectiveDestroyTitanicWarpPrismCreate;
trigger gt_ObjectiveDestroyTitanicWarpPrismComplete;
trigger gt_ObjectiveDestroyTitanicWarpPrismDeactivate;
trigger gt_IntroQ;
trigger gt_IntroSetup;
trigger gt_IntroCinematic;
Expand Down Expand Up @@ -379,7 +386,7 @@ void gf_SetCelestialLockState (int lp_index, int lp_state) {
}

if ((gv_locksSent[lp_index] == false)) {
lib5BD4895D_gf_AP_Core_sendLocationLocal(lp_index);
lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(lp_index);
gv_locksSent[lp_index] = true;
}

Expand Down Expand Up @@ -508,7 +515,7 @@ void gf_HandleTitanicWarpPrism (point lp_prismPoint) {

// Implementation
lv_triggeringUnitPoint = lp_prismPoint;
lib5BD4895D_gf_AP_Core_sendLocationLocal(6);
lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(gv_LOCATION_ID_TITANIC_WARP_PRISM);
TriggerEnable(gt_TitanicWapPrismmindcontrolled, false);
TriggerEnable(gt_TitanicWarpPrismBehaviour, false);
TriggerStop(gt_TitanicWarpPrismBehaviour);
Expand Down Expand Up @@ -3073,7 +3080,7 @@ bool gt_VictorySequence_Func (bool testConds, bool runActions) {
}

TriggerEnable(TriggerGetCurrent(), false);
lib5BD4895D_gf_AP_Core_sendLocationLocal(lib5BD4895D_gv_aP_Core_locationVictory);
lib5BD4895D_gf_AP_Core_collectLocationUpdateObjective(lib5BD4895D_gv_aP_Core_locationVictory);
libVCMI_gf_GameOver(libVCMI_ge_CampaignMissionGameResultType_Victory);
Wait(2.0, c_timeReal);
TriggerExecute(gt_ObjectiveActivateCelestialLocksComplete, true, true);
Expand Down Expand Up @@ -3353,8 +3360,17 @@ bool gt_ObjectiveActivateCelestialLocksCreate_Func (bool testConds, bool runActi

TriggerEnable(TriggerGetCurrent(), false);
libVCMI_gf_CreateObjectiveCampaign("PUlnar01Primary01");
gv_objectiveDestroyZergBase = ObjectiveLastCreated();
lib5BD4895D_gf_AP_Core_addObjectiveFromData(ObjectiveLastCreated(), "PUlnar01Primary01", "", gv_celestialLocksActivated);
gv_objective_ActivateCelestialLocks = ObjectiveLastCreated();
ObjectiveSetName(gv_objective_ActivateCelestialLocks, libVoiC_gf_MissionObjectiveName("PUlnar01Primary01"));
ObjectiveShow(gv_objective_ActivateCelestialLocks, PlayerGroupAll(), false);
lib5BD4895D_gf_AP_Core_addCategoryObjectiveWithCounter(gv_objective_ActivateCelestialLocks, lib5BD4895D_ge_APObjectiveCategory_Primary, "", gv_celestialLocksActivated, libVoiC_gf_MissionObjectiveItemCount("PUlnar01Primary01"), false);
lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_ActivateCelestialLocks, gv_LOCATION_ID_MID_CELESTIAL_LOCK);
lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_ActivateCelestialLocks, gv_LOCATION_ID_WEST_CELESTIAL_LOCK);
lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_ActivateCelestialLocks, gv_LOCATION_ID_SOUTH_CELESTIAL_LOCK);
lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_ActivateCelestialLocks, gv_LOCATION_ID_EAST_CELESTIAL_LOCK);
lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_ActivateCelestialLocks, gv_LOCATION_ID_NORTH_CELESTIAL_LOCK);
lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_ActivateCelestialLocks, lib5BD4895D_gv_aP_Core_locationVictory);
lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objective_ActivateCelestialLocks, true);
Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal);
return true;
}
Expand Down Expand Up @@ -3386,7 +3402,7 @@ bool gt_ObjectiveActivateCelestialLocksComplete_Func (bool testConds, bool runAc
Wait(1.0, c_timeGame);
}
TriggerExecute(gt_ObjectiveActivateCelestialLocksCreate, true, false);
lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveDestroyZergBase);
lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objective_ActivateCelestialLocks);
Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal);
return true;
}
Expand All @@ -3407,7 +3423,7 @@ bool gt_ObjectiveActivateCelestialLocksUpdate_Func (bool testConds, bool runActi
}

TriggerExecute(gt_ObjectiveActivateCelestialLocksCreate, true, false);
lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objectiveDestroyZergBase, gv_celestialLocksActivated);
lib5BD4895D_gf_AP_Core_setObjectiveCounter(gv_objective_ActivateCelestialLocks, gv_celestialLocksActivated);
return true;
}

Expand All @@ -3420,7 +3436,13 @@ void gt_ObjectiveActivateCelestialLocksUpdate_Init () {
// Trigger: Objective - Destroy Titanic Warp Prism - Create
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyTitanicWarpPrismCreate_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_category;

// Automatic Variable Declarations
// Variable Initialization
lv_category = lib5BD4895D_ge_APObjectiveCategory_Secondary;

// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
Expand All @@ -3438,8 +3460,12 @@ bool gt_ObjectiveDestroyTitanicWarpPrismCreate_Func (bool testConds, bool runAct
Wait(1.0, c_timeGame);
}
libVCMI_gf_CreateObjectiveCampaign("PUlnar01Bonus01");
gv_objectiveRescueStalkers = ObjectiveLastCreated();
lib5BD4895D_gf_AP_Core_addObjectiveFromData(ObjectiveLastCreated(), "PUlnar01Bonus01", "", 0);
gv_objective_DestroyTitanicWarpPrism = ObjectiveLastCreated();
ObjectiveSetName(gv_objective_DestroyTitanicWarpPrism, libVoiC_gf_MissionObjectiveName("PUlnar01Bonus01"));
ObjectiveShow(gv_objective_DestroyTitanicWarpPrism, PlayerGroupAll(), false);
lib5BD4895D_gf_AP_Core_addCategoryObjectiveSimple(gv_objective_DestroyTitanicWarpPrism, lv_category, true);
lib5BD4895D_gf_AP_Core_associateObjectiveWithLocation(gv_objective_DestroyTitanicWarpPrism, gv_LOCATION_ID_TITANIC_WARP_PRISM);
lib5BD4895D_gf_AP_Core_setObjectiveVisibility(gv_objective_DestroyTitanicWarpPrism, true);
Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal);
return true;
}
Expand Down Expand Up @@ -3468,7 +3494,7 @@ bool gt_ObjectiveDestroyTitanicWarpPrismComplete_Func (bool testConds, bool runA

TriggerEnable(TriggerGetCurrent(), false);
TriggerExecute(gt_ObjectiveDestroyTitanicWarpPrismCreate, true, false);
lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objectiveRescueStalkers);
lib5BD4895D_gf_AP_Core_setObjectiveCompleted(gv_objective_DestroyTitanicWarpPrism);
Wait(libVCMI_gv_campaignObjectiveDelay, c_timeReal);
return true;
}
Expand All @@ -3478,6 +3504,35 @@ void gt_ObjectiveDestroyTitanicWarpPrismComplete_Init () {
gt_ObjectiveDestroyTitanicWarpPrismComplete = TriggerCreate("gt_ObjectiveDestroyTitanicWarpPrismComplete_Func");
}

//--------------------------------------------------------------------------------------------------
// Trigger: Objective - Destroy Titanic Warp Prism - Deactivate
//--------------------------------------------------------------------------------------------------
bool gt_ObjectiveDestroyTitanicWarpPrismDeactivate_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((lib5BD4895D_gv_aP_Core_locationCollectable[gv_LOCATION_ID_TITANIC_WARP_PRISM] == false))) {
return false;
}
}

// Actions
if (!runActions) {
return true;
}

TriggerEnable(gt_ObjectiveDestroyTitanicWarpPrismCreate, false);
TriggerEnable(gt_TitanicWarpPrismQ, false);
TriggerEnable(gt_TitanicWarpPrismProximityTrigger, false);
return true;
}

//--------------------------------------------------------------------------------------------------
void gt_ObjectiveDestroyTitanicWarpPrismDeactivate_Init () {
gt_ObjectiveDestroyTitanicWarpPrismDeactivate = TriggerCreate("gt_ObjectiveDestroyTitanicWarpPrismDeactivate_Func");
TriggerAddEventTimeElapsed(gt_ObjectiveDestroyTitanicWarpPrismDeactivate, 2.0, c_timeGame);
}

//--------------------------------------------------------------------------------------------------
// Trigger: Intro Q
//--------------------------------------------------------------------------------------------------
Expand Down Expand Up @@ -4173,6 +4228,7 @@ void InitTriggers () {
gt_ObjectiveActivateCelestialLocksUpdate_Init();
gt_ObjectiveDestroyTitanicWarpPrismCreate_Init();
gt_ObjectiveDestroyTitanicWarpPrismComplete_Init();
gt_ObjectiveDestroyTitanicWarpPrismDeactivate_Init();
gt_IntroQ_Init();
gt_IntroSetup_Init();
gt_IntroCinematic_Init();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,6 @@
<Actor id="Xelnaga_EnergySprite"/>
<Behavior id="ObjectiveCollectionBeam"/>
<Behavior id="Queue2x"/>
<Objective id="PUlnar01Bonus01"/>
<Objective id="PUlnar01Primary01"/>
<Sound id="Event_Ulnar01_EndCine_GateOpen_B"/>
<Sound id="Event_Ulnar01_EndCine_GateOpen_A"/>
<Sound id="Event_Ulnar01_EndCine_GateOpen_C"/>
Expand Down
Loading

0 comments on commit 78a9378

Please sign in to comment.