include "TriggerLibs/NativeLib"
include "TriggerLibs/HeroesLib"
include "TriggerLibs/GameLib"
include "TriggerLibs/MapMechanicsLib"
include "TriggerLibs/AILib"
include "TriggerLibs/UILib"
include "TriggerLibs/StartingExperienceLib"
include "TriggerLibs/SoundLib"
include "LibSCHO_h"
//--------------------------------------------------------------------------------------------------
// Library: Braxis Holdout
//--------------------------------------------------------------------------------------------------
// External Library Initialization
void libSCHO_InitLibraries () {
libNtve_InitVariables();
libCore_InitVariables();
libGame_InitVariables();
libMapM_InitVariables();
libAIAI_InitVariables();
libUIUI_InitVariables();
libStEx_InitVariables();
libSond_InitVariables();
}
// Variable Initialization
bool libSCHO_InitVariables_completed = false;
void libSCHO_InitVariables () {
int init_i;
int init_j;
int init_i1;
int init_j1;
if (libSCHO_InitVariables_completed) {
return;
}
libSCHO_InitVariables_completed = true;
libSCHO_gv_mMHO_AttackEventTimer = TimerCreate();
libSCHO_gv_mMHO_AttackEventWarningTimer = TimerCreate();
libSCHO_gv_mMHO_AttackWaveTimer = TimerCreate();
for (init_i = 0; init_i <= libSCHO_gv_mMHO_ControlBeaconMaxCount_C; init_i += 1) {
libSCHO_gv_mMHO_HiveControlBeacons[init_i].lv_enabled = true;
libSCHO_gv_mMHO_HiveControlBeacons[init_i].lv_pingModelOrder = c_invalidPingId;
libSCHO_gv_mMHO_HiveControlBeacons[init_i].lv_pingModelChaos = c_invalidPingId;
}
for (init_i = 0; init_i <= 6; init_i += 1) {
libSCHO_gv_mMHO_Factory_Timer[init_i].lv_animationTimer = TimerCreate();
}
libSCHO_gv_mMHO_FreeZerglingCount_C = 6;
libSCHO_gv_mMHO_FreeUltraliskCount_C = 1;
libSCHO_gv_mMHO_ChaosUltralisks = UnitGroupEmpty();
libSCHO_gv_mMHO_OrderUltralisks = UnitGroupEmpty();
for (init_i = 0; init_i <= 2; init_i += 1) {
for (init_j = 0; init_j <= 3; init_j += 1) {
libSCHO_gv_mMHO_AttackGroups[init_i][init_j] = UnitGroupEmpty();
}
}
libSCHO_gv_mMHO_ZergWaveGroup = UnitGroupEmpty();
libSCHO_gv_mMHO_WaveTracker = 1;
libSCHO_gv_mMHO_ArchangelCurrentPathIndex = 1;
libSCHO_gv_mMHO_ArchangelPathIndexMax = 1;
for (init_i = 0; init_i <= libCore_gv_bALMaxTeams; init_i += 1) {
libSCHO_gv_mMHO_ArchangelLanerPing[init_i] = c_invalidPingId;
}
libSCHO_gv_mMHO_Elevator.lv_elevatorInitialRaiseTimer = TimerCreate();
libSCHO_gv_mMHO_Elevator.lv_elevatorRaiseTimer = TimerCreate();
libSCHO_gv_mMHO_Elevator.lv_elevatorLowerTimer = TimerCreate();
libSCHO_gv_mMHO_Elevator.lv_elevatorWasLowered = true;
for (init_i = 0; init_i <= libCore_gv_bALMaxTeams; init_i += 1) {
libSCHO_gv_zergDropPodCooldowns[init_i] = TimerCreate();
}
for (init_i = 0; init_i <= libCore_gv_bALMaxTeams; init_i += 1) {
libSCHO_gv_mMHO_ReminderTransmissions[init_i] = c_invalidTransmissionId;
}
libSCHO_gv_mMHO_ScalingTimer = TimerCreate();
libSCHO_gv_mMHOPanel.lv_mainPanel = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_zergWarningFrame = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_zergWarningInfoFrame = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_zergWarningTimerLabel = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_zergAttackingFrame = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_zergAttackingInfoFrame = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_zergAttackingTimerLabel = c_invalidDialogControlId;
for (init_i1 = 0; init_i1 <= 2; init_i1 += 1) {
libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[init_i1] = c_invalidDialogControlId;
}
for (init_i1 = 0; init_i1 <= 2; init_i1 += 1) {
for (init_j1 = 0; init_j1 <= 2; init_j1 += 1) {
libSCHO_gv_mMHOPanel.lv_beaconProgressHUD[init_i1][init_j1] = c_invalidDialogControlId;
}
}
for (init_i1 = 0; init_i1 <= 2; init_i1 += 1) {
for (init_j1 = 0; init_j1 <= 2; init_j1 += 1) {
libSCHO_gv_mMHOPanel.lv_beaconProgressHPBar[init_i1][init_j1] = c_invalidDialogControlId;
}
}
for (init_i1 = 0; init_i1 <= 2; init_i1 += 1) {
for (init_j1 = 0; init_j1 <= 2; init_j1 += 1) {
libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[init_i1][init_j1] = c_invalidDialogControlId;
}
}
for (init_i1 = 0; init_i1 <= 2; init_i1 += 1) {
for (init_j1 = 0; init_j1 <= 2; init_j1 += 1) {
libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarAnimFrame[init_i1][init_j1] = c_invalidDialogControlId;
}
}
libSCHO_gv_mMHOPanel.lv_beaconStatusFrame = c_invalidDialogControlId;
for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {
libSCHO_gv_mMHOPanel.lv_beaconStatusTopBeaconDisabledImage[init_i1] = c_invalidDialogControlId;
}
for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {
libSCHO_gv_mMHOPanel.lv_dragonShireMoonShrineEnabledImage[init_i1] = c_invalidDialogControlId;
}
for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {
libSCHO_gv_mMHOPanel.lv_dragonShireStarShrineDisabledImage[init_i1] = c_invalidDialogControlId;
}
for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {
libSCHO_gv_mMHOPanel.lv_dragonShireStarShrineEnabledImage[init_i1] = c_invalidDialogControlId;
}
libSCHO_gv_mMHOPanel.lv_beaconTopNeutral = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_beaconTopOrder = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_beaconTopChaos = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_beaconBottomNeutral = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_beaconBottomOrder = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_beaconBottomChaos = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_lightningLink1 = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_lightningLink2 = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_lightningLink3 = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_lightningLink4 = c_invalidDialogControlId;
for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {
libSCHO_gv_mMHOPanel.lv_zergHudLeft[init_i1] = c_invalidDialogControlId;
}
for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {
libSCHO_gv_mMHOPanel.lv_zergHudRight[init_i1] = c_invalidDialogControlId;
}
for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {
libSCHO_gv_mMHOPanel.lv_alliedZergLabel[init_i1] = c_invalidDialogControlId;
}
for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {
libSCHO_gv_mMHOPanel.lv_enemyZergLabel[init_i1] = c_invalidDialogControlId;
}
for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {
libSCHO_gv_mMHOPanel.lv_beaconProgressLabel[init_i1] = c_invalidDialogControlId;
}
for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {
libSCHO_gv_mMHOPanel.lv_eggIconImageLeft[init_i1] = c_invalidDialogControlId;
}
for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {
libSCHO_gv_mMHOPanel.lv_eggIconImageRight[init_i1] = c_invalidDialogControlId;
}
libSCHO_gv_mMHOPanel.lv_beaconTopRadarWave = c_invalidDialogControlId;
libSCHO_gv_mMHOPanel.lv_beaconBottomRadarWave = c_invalidDialogControlId;
for (init_i = 0; init_i <= 2; init_i += 1) {
libSCHO_gv_mMHO_EnemyZergIcon[init_i] = c_invalidPingId;
}
for (init_i = 0; init_i <= 2; init_i += 1) {
libSCHO_gv_mMHO_AllyZergIcon[init_i] = c_invalidPingId;
}
for (init_i = 0; init_i <= 2; init_i += 1) {
libSCHO_gv_mMHO_ObsZergPing[init_i] = c_invalidPingId;
}
for (init_i = 0; init_i <= libCore_gv_bALMaxTeams; init_i += 1) {
libSCHO_gv_mMHO_ZergCurrentPathIndex[init_i] = 1;
}
for (init_i = 0; init_i <= libCore_gv_bALMaxTeams; init_i += 1) {
libSCHO_gv_mMHO_ZergPathIndexMax[init_i] = 1;
}
}
// Presets
// Functions
trigger auto_libSCHO_gf_MMHOEventWarningAnnouncement_Trigger = null;
void libSCHO_gf_MMHOEventWarningAnnouncement () {
if (auto_libSCHO_gf_MMHOEventWarningAnnouncement_Trigger == null) {
auto_libSCHO_gf_MMHOEventWarningAnnouncement_Trigger = TriggerCreate("auto_libSCHO_gf_MMHOEventWarningAnnouncement_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MMHOEventWarningAnnouncement_Trigger, false, false);
}
bool auto_libSCHO_gf_MMHOEventWarningAnnouncement_TriggerFunc (bool testConds, bool runActions) {
// Variable Declarations
point[3] lv_pingLocation;
int lv_itTeam;
// Automatic Variable Declarations
const int auto6067E7AE_ae = libCore_gv_bALMaxTeams;
const int auto6067E7AE_ai = 1;
// Variable Initialization
// Implementation
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_pingLocation[libGame_gv_teamOrderIndex_C] = libSCHO_gv_mMHO_Order_BottomHoldingPenPingPoint;
lv_pingLocation[libGame_gv_teamChaosIndex_C] = libSCHO_gv_mMHO_Chaos_TopHoldingPenPingPoint;
}
else {
lv_pingLocation[libGame_gv_teamOrderIndex_C] = libSCHO_gv_mMHO_Order_TopHoldingPenPingPoint;
lv_pingLocation[libGame_gv_teamChaosIndex_C] = libSCHO_gv_mMHO_Chaos_BottomHoldingPenPingPoint;
}
lv_itTeam = 1;
for ( ; ( (auto6067E7AE_ai >= 0 && lv_itTeam <= auto6067E7AE_ae) || (auto6067E7AE_ai < 0 && lv_itTeam >= auto6067E7AE_ae) ) ; lv_itTeam += auto6067E7AE_ai ) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "ZergPathDummy", c_unitCreateIgnorePlacement, libGame_gf_ComputerPlayerInTeam(lv_itTeam), lv_pingLocation[lv_itTeam], null);
libGame_gf_CalculateSpawnedMinionGoalPoints(lv_itTeam, lv_pingLocation[lv_itTeam]);
libSCHO_gf_MMHOChangeZergMinimapIconsBasedOnZergHealth(lv_itTeam, UnitLastCreated());
libAIAI_gf_MinionAIStartMinionAI(-1, UnitLastCreated(), libGame_gv_spawnedMinionLane, libGame_gv_spawnedMinionFirstWaypointIndex, true, false, true, 0, true);
libSCHO_gv_mMHO_ZergIconUnit[lv_itTeam].lv_iconUnit = UnitLastCreated();
if ((lv_itTeam == libGame_gv_teamOrderIndex_C)) {
libCore_gf_CreateMinimapPingStorm(libGame_gf_PlayersOnTeamHeroes(lv_itTeam, false), "StormWarning", lv_pingLocation[lv_itTeam], Color(17.25, 25.49, 100.00), 5.0);
}
else {
libCore_gf_CreateMinimapPingStorm(libGame_gf_PlayersOnTeamHeroes(libGame_gf_EnemyTeam(lv_itTeam), false), "StormWarning", lv_pingLocation[lv_itTeam], Color(100.00, 15.69, 18.04), 5.0);
}
libSCHO_gf_MMHOCreateZergPath(lv_itTeam, true);
}
return true;
}
void libSCHO_gf_MMHOInitializeHiveControlCapturePoints () {
// Variable Declarations
int lv_controlBeacons;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
lv_controlBeacons += 1;
libNtve_gf_CreateUnitsWithDefaultFacing(1, "ZergHiveControlBeacon", c_unitCreateIgnorePlacement, libCore_gv_cOMPUTER_Neutral, libSCHO_gv_mMHO_TopCaptureBeacon, null);
libSCHO_gv_beaconUnitTop = UnitLastCreated();
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_beaconUnitTop, "MinimapIcon Assets\\Textures\\storm_ui_minimapicon_beacon_right.dds");
libSCHO_gv_mMHO_HiveControlBeacons[lv_controlBeacons].lv_beaconUnit = UnitLastCreated();
libGame_gf_CapturePointCreate(UnitLastCreated(), libSCHO_gv_mMHO_CapturePointRadius_C, libSCHO_gv_mMHO_CapturePointCaptureTime_C, 0.0, libGame_ge_CapturePointDecay_DoNotDecay, libGame_ge_CapturePointDecay_Owner, true);
libSCHO_gv_mMHO_HiveControlBeacons[lv_controlBeacons].lv_controlBeaconIndex = libGame_gf_LastCreatedCapturePoint();
libGame_gf_CapturePointDisable(libGame_gf_LastCreatedCapturePoint());
lv_controlBeacons += 1;
libNtve_gf_CreateUnitsWithDefaultFacing(1, "ZergHiveControlBeacon", c_unitCreateIgnorePlacement, libCore_gv_cOMPUTER_Neutral, libSCHO_gv_mMHO_BottomCaptureBeacon, null);
libSCHO_gv_beaconUnitBottom = UnitLastCreated();
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_beaconUnitBottom, "MinimapIcon Assets\\Textures\\storm_ui_minimapicon_beacon_left.dds");
libSCHO_gv_mMHO_HiveControlBeacons[lv_controlBeacons].lv_beaconUnit = UnitLastCreated();
libGame_gf_CapturePointCreate(UnitLastCreated(), libSCHO_gv_mMHO_CapturePointRadius_C, libSCHO_gv_mMHO_CapturePointCaptureTime_C, 0.0, libGame_ge_CapturePointDecay_DoNotDecay, libGame_ge_CapturePointDecay_Owner, true);
libSCHO_gv_mMHO_HiveControlBeacons[lv_controlBeacons].lv_controlBeaconIndex = libGame_gf_LastCreatedCapturePoint();
libGame_gf_CapturePointDisable(libGame_gf_LastCreatedCapturePoint());
}
void libSCHO_gf_MMHOCreateHiveControlPings () {
// Variable Declarations
int lv_itBeaconIndex;
// Automatic Variable Declarations
const int auto7DAC9428_ae = libSCHO_gv_mMHO_ControlBeaconMaxCount_C;
const int auto7DAC9428_ai = 1;
// Variable Initialization
// Implementation
lv_itBeaconIndex = 1;
for ( ; ( (auto7DAC9428_ai >= 0 && lv_itBeaconIndex <= auto7DAC9428_ae) || (auto7DAC9428_ai < 0 && lv_itBeaconIndex >= auto7DAC9428_ae) ) ; lv_itBeaconIndex += auto7DAC9428_ai ) {
libNtve_gf_CreatePingFacingAngleWithType(libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, "HoldoutBeaconCapturePointNeutralIcon", UnitGetPosition(libSCHO_gv_mMHO_HiveControlBeacons[lv_itBeaconIndex].lv_beaconUnit), ColorWithAlpha(0.00, 0.00, 0.00, 0.00), 0.0, UnitGetFacing(libSCHO_gv_mMHO_HiveControlBeacons[lv_itBeaconIndex].lv_beaconUnit), -1, -1);
PingSetScale(PingLastCreated(), 0.1);
libSCHO_gv_mMHO_HiveControlBeacons[lv_itBeaconIndex].lv_pingModelOrder = PingLastCreated();
libNtve_gf_CreatePingFacingAngleWithType(libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, "HoldoutBeaconCapturePointNeutralIcon", UnitGetPosition(libSCHO_gv_mMHO_HiveControlBeacons[lv_itBeaconIndex].lv_beaconUnit), ColorWithAlpha(0.00, 0.00, 0.00, 0.00), 0.0, UnitGetFacing(libSCHO_gv_mMHO_HiveControlBeacons[lv_itBeaconIndex].lv_beaconUnit), -1, -1);
PingSetScale(PingLastCreated(), 0.1);
libSCHO_gv_mMHO_HiveControlBeacons[lv_itBeaconIndex].lv_pingModelChaos = PingLastCreated();
}
}
void libSCHO_gf_MMHODestroyHiveControlPings () {
// Variable Declarations
int lv_controlBeacons;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
PingDestroy(libSCHO_gv_mMHO_HiveControlBeacons[1].lv_pingModelOrder);
PingDestroy(libSCHO_gv_mMHO_HiveControlBeacons[1].lv_pingModelChaos);
PingDestroy(libSCHO_gv_mMHO_HiveControlBeacons[2].lv_pingModelOrder);
PingDestroy(libSCHO_gv_mMHO_HiveControlBeacons[2].lv_pingModelChaos);
}
void libSCHO_gf_MMHOHiveBeaconSpawnAnnouncement () {
// Variable Declarations
point lv_orderPingLocation;
point lv_chaosPingLocation;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
libCore_gf_CreateMinimapPingStorm(PlayerGroupAll(), "StormWarning", libSCHO_gv_mMHO_TopCaptureBeacon, ColorWithAlpha(100.00, 100.00, 0.00, 0.00), 5.0);
PingSetScale(PingLastCreated(), 0.5);
libCore_gf_CreateMinimapPingStorm(PlayerGroupAll(), "StormWarning", libSCHO_gv_mMHO_BottomCaptureBeacon, ColorWithAlpha(100.00, 100.00, 0.00, 0.00), 5.0);
PingSetScale(PingLastCreated(), 0.5);
SoundPlayForPlayer(SoundLink("UI_Game_Ping_BraxisHoldout_BeaconsActivated", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
}
int libSCHO_gf_MMHOGetHiveControlBeaconOwners () {
// Automatic Variable Declarations
// Implementation
if ((UnitGetOwner(libSCHO_gv_mMHO_HiveControlBeacons[1].lv_beaconUnit) == libCore_gv_cOMPUTER_TeamOrder) && (UnitGetOwner(libSCHO_gv_mMHO_HiveControlBeacons[2].lv_beaconUnit) == libCore_gv_cOMPUTER_TeamOrder)) {
return libCore_gv_cOMPUTER_TeamOrder;
}
else if ((UnitGetOwner(libSCHO_gv_mMHO_HiveControlBeacons[1].lv_beaconUnit) == libCore_gv_cOMPUTER_TeamChaos) && (UnitGetOwner(libSCHO_gv_mMHO_HiveControlBeacons[2].lv_beaconUnit) == libCore_gv_cOMPUTER_TeamChaos)) {
return libCore_gv_cOMPUTER_TeamChaos;
}
return libCore_gv_cOMPUTER_Neutral;
}
string libSCHO_gf_MMHOGetUserDataInstanceTier (int lp_team) {
// Automatic Variable Declarations
// Implementation
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] == 0.0)) {
return "Tier1";
}
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] < 21.0)) {
return "Tier2";
}
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] < 41.0)) {
return "Tier3";
}
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] < 61.0)) {
return "Tier4";
}
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] < 81.0)) {
return "Tier5";
}
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] < 100.0)) {
return "Tier6";
}
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] == 100.0)) {
return "Tier7";
}
TextExpressionSetToken("Param/Expression/lib_SCHO_8950E107", "A", IntToText(lp_team));
TextExpressionSetToken("Param/Expression/lib_SCHO_8950E107", "B", FixedToText(libAIAI_gv_aIDefenderCloseEnoughDistance, c_fixedPrecisionAny));
TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_SCHO_8950E107"), true);
return "Tier1";
}
void libSCHO_gf_MMHOTurnOnHiveControlBeacons () {
// Variable Declarations
int lv_index;
// Automatic Variable Declarations
const int auto78CE306E_ae = libSCHO_gv_mMHO_ControlBeaconMaxCount_C;
const int auto78CE306E_ai = 1;
// Variable Initialization
// Implementation
libSCHO_gv_mMHO_HiveControlBeaconEventActive = true;
SoundPlayForPlayer(SoundLink("UI_Game_Ping_BraxisHoldout_BeaconsActivated", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
libSCHO_gf_MMHOSpawnUltralisksForTeam(libGame_gv_teamOrderIndex_C);
libSCHO_gf_MMHOSpawnUltralisksForTeam(libGame_gv_teamChaosIndex_C);
libSCHO_gf_MMHOGrantFreeZergUnits(libGame_gv_teamOrderIndex_C);
libSCHO_gf_MMHOGrantFreeZergUnits(libGame_gv_teamChaosIndex_C);
lv_index = 1;
for ( ; ( (auto78CE306E_ai >= 0 && lv_index <= auto78CE306E_ae) || (auto78CE306E_ai < 0 && lv_index >= auto78CE306E_ae) ) ; lv_index += auto78CE306E_ai ) {
libGame_gf_CapturePointEnable(libSCHO_gv_mMHO_HiveControlBeacons[lv_index].lv_controlBeaconIndex);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopNeutral, PlayerGroupAll(), true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopOrder, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopChaos, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomNeutral, PlayerGroupAll(), true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomOrder, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomChaos, PlayerGroupAll(), false);
}
libSCHO_gf_MMHOControlSlabAnimationsEventStartStop(libSCHO_ge_MMHO_BeaconSignals_Start);
libSCHO_gf_MMHOTurnOnOffAntenna(true);
}
void libSCHO_gf_MMHOHiveControlBeaconDoodadController (int lp_beaconIndex) {
// Variable Declarations
int lv_playerID;
// Automatic Variable Declarations
int auto7459CA2C_val;
int auto5EA6CF18_val;
int auto48DD1822_val;
// Variable Initialization
// Implementation
lv_playerID = UnitGetOwner(libSCHO_gv_mMHO_HiveControlBeacons[lp_beaconIndex].lv_beaconUnit);
auto7459CA2C_val = lp_beaconIndex;
if (auto7459CA2C_val == libSCHO_gv_mMHO_TopBeaconIndex_C) {
auto5EA6CF18_val = lv_playerID;
if (auto5EA6CF18_val == libCore_gv_cOMPUTER_Neutral) {
libCore_gf_SendActorMessageToDoodadsInRegion("SetPlayerId", libSCHO_gv_mMHO_TopBeaconOwnershipRegion, "Storm_Doodad_SCBraxis_CaptureSlab");
}
else if (auto5EA6CF18_val == libCore_gv_cOMPUTER_TeamOrder) {
libCore_gf_SendActorMessageToDoodadsInRegion("SetPlayerId 11", libSCHO_gv_mMHO_TopBeaconOwnershipRegion, "Storm_Doodad_SCBraxis_CaptureSlab");
}
else if (auto5EA6CF18_val == libCore_gv_cOMPUTER_TeamChaos) {
libCore_gf_SendActorMessageToDoodadsInRegion("SetPlayerId 12", libSCHO_gv_mMHO_TopBeaconOwnershipRegion, "Storm_Doodad_SCBraxis_CaptureSlab");
}
else {
}
}
else if (auto7459CA2C_val == libSCHO_gv_mMHO_BottomBeaconIndex_C) {
auto48DD1822_val = lv_playerID;
if (auto48DD1822_val == libCore_gv_cOMPUTER_Neutral) {
libCore_gf_SendActorMessageToDoodadsInRegion("SetPlayerId", libSCHO_gv_mMHO_BottomBeaconOwnershipRegion, "Storm_Doodad_SCBraxis_CaptureSlab");
}
else if (auto48DD1822_val == libCore_gv_cOMPUTER_TeamOrder) {
libCore_gf_SendActorMessageToDoodadsInRegion("SetPlayerId 11", libSCHO_gv_mMHO_BottomBeaconOwnershipRegion, "Storm_Doodad_SCBraxis_CaptureSlab");
}
else if (auto48DD1822_val == libCore_gv_cOMPUTER_TeamChaos) {
libCore_gf_SendActorMessageToDoodadsInRegion("SetPlayerId 12", libSCHO_gv_mMHO_BottomBeaconOwnershipRegion, "Storm_Doodad_SCBraxis_CaptureSlab");
}
else {
}
}
else {
}
}
void libSCHO_gf_MMHOHiveCageFullyCharged () {
// Variable Declarations
int lv_index;
int lv_iTeam;
// Automatic Variable Declarations
const int auto9922165B_ae = libSCHO_gv_mMHO_ControlBeaconMaxCount_C;
const int auto9922165B_ai = 1;
const int auto9F884C16_ae = libCore_gv_bALMaxTeams;
const int auto9F884C16_ai = 1;
// Variable Initialization
// Implementation
libAIAI_gf_AITeamDelegateActivateDeactivateMapEvent(libAIAI_ge_AITeamDelegateActivateDeactivateMapToken_Deactivate);
libAIAI_gf_AITeamDelegateActivateDeactivateMapReward(libAIAI_ge_AITeamDelegateActivateDeactivateMapToken_Activate);
libAIAI_gf_AITeamDelegateResetMapEventProgressforTeam(libGame_gv_teamOrderIndex_C);
libAIAI_gf_AITeamDelegateResetMapEventProgressforTeam(libGame_gv_teamChaosIndex_C);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[2].lv_south, "HoldingPenControllerActiveBR", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[2].lv_north, "HoldingPenControllerActiveTR", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[1].lv_north, "HoldingPenControllerActiveTL", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[1].lv_south, "HoldingPenControllerActiveBL", 1);
Wait(0.0625, c_timeGame);
if ((libSCHO_gv_mMHO_AttackLaneHPMiniMapController == 1)) {
UnitBehaviorAddPlayer(libSCHO_gv_mMHO_HiveCages[1].lv_north, "HoldingPenAnimation", libGame_gv_teamOrderIndex_C, 1);
UnitBehaviorAddPlayer(libSCHO_gv_mMHO_HiveCages[2].lv_south, "HoldingPenAnimation", libGame_gv_teamChaosIndex_C, 1);
}
else {
UnitBehaviorAddPlayer(libSCHO_gv_mMHO_HiveCages[2].lv_north, "HoldingPenAnimation", libGame_gv_teamChaosIndex_C, 1);
UnitBehaviorAddPlayer(libSCHO_gv_mMHO_HiveCages[1].lv_south, "HoldingPenAnimation", libGame_gv_teamOrderIndex_C, 1);
}
UnitBehaviorRemove(libSCHO_gv_beaconUnitTop, "BeaconRadarWaveControllerTR", 1);
UnitBehaviorRemove(libSCHO_gv_beaconUnitBottom, "BeaconRadarWaveControllerBR", 1);
UnitBehaviorRemove(libSCHO_gv_beaconUnitBottom, "BeaconRadarWaveControllerBL", 1);
UnitBehaviorRemove(libSCHO_gv_beaconUnitTop, "BeaconRadarWaveControllerTL", 1);
lv_index = 1;
for ( ; ( (auto9922165B_ai >= 0 && lv_index <= auto9922165B_ae) || (auto9922165B_ai < 0 && lv_index >= auto9922165B_ae) ) ; lv_index += auto9922165B_ai ) {
libGame_gf_CapturePointDisable(libSCHO_gv_mMHO_HiveControlBeacons[lv_index].lv_controlBeaconIndex);
libSCHO_gf_MMHOSetSwitchAnimationOwnershipChanges(libCore_gv_cOMPUTER_Neutral, lv_index);
RemoveUnitOfInterest(libSCHO_gv_mMHO_HiveControlBeacons[lv_index].lv_beaconUnit, "Beacon", libNtve_ge_GoalTeam_Both);
}
libSCHO_gf_MMHOOpenCloseCaptureCages(true, libGame_gv_teamOrderIndex_C);
libSCHO_gf_MMHOOpenCloseCaptureCages(true, libGame_gv_teamChaosIndex_C);
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarAnimFrame[1][1], PlayerGroupAll(), "FlashBars");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarAnimFrame[1][2], PlayerGroupAll(), "FlashBars");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarAnimFrame[2][1], PlayerGroupAll(), "FlashBars");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarAnimFrame[2][2], PlayerGroupAll(), "FlashBars");
Wait(2.0, c_timeGame);
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarAnimFrame[1][1], PlayerGroupAll(), "CaptureComplete");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarAnimFrame[1][2], PlayerGroupAll(), "CaptureComplete");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarAnimFrame[2][1], PlayerGroupAll(), "CaptureComplete");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarAnimFrame[2][2], PlayerGroupAll(), "CaptureComplete");
Wait(0.5, c_timeGame);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_zergHudLeft[1], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_zergHudLeft[1], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_zergHudLeft[2], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_zergHudRight[1], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_zergHudRight[1], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_zergHudRight[2], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_alliedZergLabel[1], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_alliedZergLabel[1], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_alliedZergLabel[2], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_enemyZergLabel[1], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_enemyZergLabel[1], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_enemyZergLabel[2], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconProgressLabel[1], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconProgressLabel[1], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconProgressLabel[2], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_eggIconImageLeft[1], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_eggIconImageLeft[1], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_eggIconImageLeft[2], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_eggIconImageRight[1], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_eggIconImageRight[1], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_eggIconImageRight[2], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopNeutral, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopOrder, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopChaos, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomNeutral, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomOrder, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomChaos, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink1, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink2, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink3, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink4, PlayerGroupAll(), false);
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconTopNeutral, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_top_off.dds", PlayerGroupAll());
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconTopOrder, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_top_off.dds", PlayerGroupAll());
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconTopChaos, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_top_off.dds", PlayerGroupAll());
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconBottomNeutral, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_bottom_off.dds", PlayerGroupAll());
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconBottomOrder, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_bottom_off.dds", PlayerGroupAll());
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconBottomChaos, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_bottom_off.dds", PlayerGroupAll());
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_HiveCages[libGame_gv_teamOrderIndex_C].lv_south, "Signal BothBeaconsNoLongerCaptured");
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_HiveCages[libGame_gv_teamChaosIndex_C].lv_south, "Signal BothBeaconsNoLongerCaptured");
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_TopCaptureSlab), "Signal EventDoneResetOwnership");
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_BottomCaptureSlab), "Signal EventDoneResetOwnership");
libSCHO_gf_MMHOClearAlarmLights();
libSCHO_gf_MMHOSetCableAnimationOwership(libCore_gv_cOMPUTER_Neutral);
libSCHO_gf_MMHOTurnCaptureCablesOnOffForTeam(false, 0);
libSCHO_gf_MMHOBothBeaconsNoLongerCapturedBeams();
libSCHO_gf_MMHOTurnOnOffAntenna(false);
libSCHO_gv_mMHO_TeamZergTier[libGame_gv_teamOrderIndex_C] = libSCHO_gf_MMHOGetUserDataInstanceTier(libGame_gv_teamOrderIndex_C);
libSCHO_gv_mMHO_TeamZergTier[libGame_gv_teamChaosIndex_C] = libSCHO_gf_MMHOGetUserDataInstanceTier(libGame_gv_teamChaosIndex_C);
StatEventCreate("BraxisHoldoutMapEventComplete");
StatEventAddDataFixed(StatEventLastCreated(), "TeamOrderProgress", libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamOrderIndex_C]);
StatEventAddDataFixed(StatEventLastCreated(), "TeamChaosProgress", libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamChaosIndex_C]);
StatEventAddDataFixed(StatEventLastCreated(), "GameTime", libUIUI_gf_HeroesGameTime());
StatEventSend(StatEventLastCreated());
libSCHO_gf_MMHOEventWarningAnnouncement();
libSond_gf_SoundtrackApplyNewDefaultSoundtrackForPlayerGroup("MX_BraxisHoldout_ZergReleased", libCore_gv_allHeroPlayersPlusObserver);
libMapM_gf_JungleStartHibernateCamps();
libSCHO_gf_MMHOCleanUpRemainingUltralisks();
libSCHO_gf_MMHOControlSlabAnimationProgressReached100();
Wait(1.5, c_timeGame);
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarAnimFrame[1][1], PlayerGroupAll(), "BarsReset");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarAnimFrame[1][2], PlayerGroupAll(), "BarsReset");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarAnimFrame[2][1], PlayerGroupAll(), "BarsReset");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarAnimFrame[2][2], PlayerGroupAll(), "BarsReset");
libSCHO_gf_MMHODetermineAttackWavePath(1);
lv_index = 1;
for ( ; ( (auto9F884C16_ai >= 0 && lv_index <= auto9F884C16_ae) || (auto9F884C16_ai < 0 && lv_index >= auto9F884C16_ae) ) ; lv_index += auto9F884C16_ai ) {
UnitRemove(libSCHO_gv_mMHO_ZergIconUnit[lv_index].lv_iconUnit);
libSCHO_gf_MMHOUpdateZergMinimapIcons(lv_index);
}
libSCHO_gf_MMHORemoveStasisBehaviorFromZerg();
libSCHO_gf_MMHOCalculateZergTotalHP(true);
libSCHO_gf_MMHOInitializeZergPath();
libSCHO_gf_MMHOTransmissionZergAttacking();
libSCHO_gf_MMHOZergAttackFinishedMonitorWait();
libSCHO_gv_mMHO_WaveTracker = 1;
}
void libSCHO_gf_MMHOControlSlabAnimationsEventStartStop (int lp_startOrStop) {
// Automatic Variable Declarations
// Implementation
if ((lp_startOrStop == libSCHO_ge_MMHO_BeaconSignals_Start)) {
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_TopCaptureSlab), "Signal EventStart");
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_BottomCaptureSlab), "Signal EventStart");
}
else {
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_TopCaptureSlab), "Signal EventStop");
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_BottomCaptureSlab), "Signal EventStop");
}
}
void libSCHO_gf_MMHOControlSlabAnimationOwnershipChange (int lp_team, int lp_beaconIndex) {
// Variable Declarations
doodad lv_beacon;
// Automatic Variable Declarations
int auto12A50EA4_val;
int autoE7EB559E_val;
// Variable Initialization
// Implementation
auto12A50EA4_val = lp_beaconIndex;
if (auto12A50EA4_val == libSCHO_gv_mMHO_TopBeaconIndex_C) {
lv_beacon = libSCHO_gv_mMHO_TopCaptureSlab;
}
else if (auto12A50EA4_val == libSCHO_gv_mMHO_BottomBeaconIndex_C) {
lv_beacon = libSCHO_gv_mMHO_BottomCaptureSlab;
}
else {
}
autoE7EB559E_val = lp_team;
if (autoE7EB559E_val == libGame_gv_teamOrderIndex_C) {
ActorSend(ActorFromDoodad(lv_beacon), "Signal BeaconCapturedOrder");
}
else if (autoE7EB559E_val == libGame_gv_teamChaosIndex_C) {
ActorSend(ActorFromDoodad(lv_beacon), "Signal BeaconCapturedChaos");
}
else if (autoE7EB559E_val == libCore_gv_cOMPUTER_Neutral) {
ActorSend(ActorFromDoodad(lv_beacon), "Signal BeaconCapturedNeutral");
}
else {
}
}
void libSCHO_gf_MMHOControlSlabAnimationProgressReached100 () {
// Automatic Variable Declarations
// Implementation
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_TopCaptureSlab), "Signal StageDone");
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_BottomCaptureSlab), "Signal StageDone");
}
void libSCHO_gf_MMHOControlSlabAnimationsProgress (int lp_team) {
// Variable Declarations
string lv_teamString;
// Automatic Variable Declarations
// Variable Initialization
lv_teamString = "";
// Implementation
if ((lp_team == libGame_gv_teamOrderIndex_C)) {
lv_teamString = "Order";
}
else {
lv_teamString = "Chaos";
}
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] == 0.0)) {
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_TopCaptureSlab), (("Signal " + "Stage1" + lv_teamString)));
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_BottomCaptureSlab), (("Signal " + "Stage1" + lv_teamString)));
}
else if ((libSCHO_gv_mMHO_TeamProgress[lp_team] == 34.0)) {
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_TopCaptureSlab), (("Signal " + "Stage2" + lv_teamString)));
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_BottomCaptureSlab), (("Signal " + "Stage2" + lv_teamString)));
}
else if ((libSCHO_gv_mMHO_TeamProgress[lp_team] == 66.0)) {
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_TopCaptureSlab), (("Signal " + "Stage3" + lv_teamString)));
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_BottomCaptureSlab), (("Signal " + "Stage3" + lv_teamString)));
}
}
void libSCHO_gf_MMHOTurnOnOffAntenna (bool lp_onOff) {
// Automatic Variable Declarations
// Implementation
if ((lp_onOff == true)) {
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_BeaconAntennae.lv_north, "Signal EventStart");
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_BeaconAntennae.lv_south, "Signal EventStart");
}
else {
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_BeaconAntennae.lv_north, "Signal EventDone");
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_BeaconAntennae.lv_south, "Signal EventDone");
}
}
void libSCHO_gf_MMHOBothBeaconsCapturedBeams (int lp_team) {
// Automatic Variable Declarations
// Implementation
UnitSetOwner(libSCHO_gv_mMHO_BeaconAntennae.lv_north, libGame_gf_ComputerPlayerInTeam(lp_team), true);
UnitSetOwner(libSCHO_gv_mMHO_BeaconAntennae.lv_south, libGame_gf_ComputerPlayerInTeam(lp_team), true);
if ((lp_team == 1) && (libSCHO_gv_mMHO_AttackLane == 1)) {
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_BeaconAntennae.lv_south, "Signal LeftDown");
libSCHO_gf_SetDownRoadArrowTeamColorAndAnimations(lp_team);
ActorRegionCreate(null, "HoldoutBeamLoopRegion", libSCHO_gv_mMHO_HiveCages[libGame_gv_teamOrderIndex_C].lv_southSoundRegion);
libSCHO_gv_mMHO_BeamSoundRegion = libNtve_gf_ActorLastCreated();
}
else if ((lp_team == 1) && (libSCHO_gv_mMHO_AttackLane == 2)) {
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_BeaconAntennae.lv_north, "Signal LeftUp");
libSCHO_gf_SetUpRoadArrowTeamColorAndAnimations(lp_team);
ActorRegionCreate(null, "HoldoutBeamLoopRegion", libSCHO_gv_mMHO_HiveCages[libGame_gv_teamOrderIndex_C].lv_northSoundRegion);
libSCHO_gv_mMHO_BeamSoundRegion = libNtve_gf_ActorLastCreated();
}
else if ((lp_team == 2) && (libSCHO_gv_mMHO_AttackLane == 1)) {
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_BeaconAntennae.lv_north, "Signal RightUp");
libSCHO_gf_SetUpRoadArrowTeamColorAndAnimations(lp_team);
ActorRegionCreate(null, "HoldoutBeamLoopRegion", libSCHO_gv_mMHO_HiveCages[libGame_gv_teamChaosIndex_C].lv_northSoundRegion);
libSCHO_gv_mMHO_BeamSoundRegion = libNtve_gf_ActorLastCreated();
}
else if ((lp_team == 2) && (libSCHO_gv_mMHO_AttackLane == 2)) {
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_BeaconAntennae.lv_south, "Signal RightDown");
libSCHO_gf_SetDownRoadArrowTeamColorAndAnimations(lp_team);
ActorRegionCreate(null, "HoldoutBeamLoopRegion", libSCHO_gv_mMHO_HiveCages[libGame_gv_teamChaosIndex_C].lv_southSoundRegion);
libSCHO_gv_mMHO_BeamSoundRegion = libNtve_gf_ActorLastCreated();
}
}
void libSCHO_gf_MMHOBothBeaconsNoLongerCapturedBeams () {
// Automatic Variable Declarations
// Implementation
UnitSetOwner(libSCHO_gv_mMHO_BeaconAntennae.lv_north, 0, true);
UnitSetOwner(libSCHO_gv_mMHO_BeaconAntennae.lv_south, 0, true);
UnitCreateEffectUnit(libSCHO_gv_mMHO_BeaconAntennae.lv_south, "CageAntennaActivateDestroyPersistent", libSCHO_gv_mMHO_BeaconAntennae.lv_south);
UnitCreateEffectUnit(libSCHO_gv_mMHO_BeaconAntennae.lv_north, "CageAntennaActivateDestroyPersistent", libSCHO_gv_mMHO_BeaconAntennae.lv_north);
UnitBehaviorAdd(libSCHO_gv_mMHO_BeaconAntennae.lv_north, "MapArrowDestroyBehavior", libSCHO_gv_mMHO_BeaconAntennae.lv_north, 1);
UnitBehaviorAdd(libSCHO_gv_mMHO_BeaconAntennae.lv_south, "MapArrowDestroyBehavior", libSCHO_gv_mMHO_BeaconAntennae.lv_south, 1);
UnitCreateEffectUnit(libSCHO_gv_mMHO_HiveCages[1].lv_north, "MapArrowDestroyPersistent", libSCHO_gv_mMHO_HiveCages[1].lv_north);
UnitCreateEffectUnit(libSCHO_gv_mMHO_HiveCages[1].lv_south, "MapArrowDestroyPersistent", libSCHO_gv_mMHO_HiveCages[1].lv_south);
UnitCreateEffectUnit(libSCHO_gv_mMHO_HiveCages[2].lv_north, "MapArrowDestroyPersistent", libSCHO_gv_mMHO_HiveCages[2].lv_north);
UnitCreateEffectUnit(libSCHO_gv_mMHO_HiveCages[2].lv_south, "MapArrowDestroyPersistent", libSCHO_gv_mMHO_HiveCages[2].lv_south);
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_BeaconAntennae.lv_north, "Signal BothBeaconsNoLongerCaptured");
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_BeaconAntennae.lv_south, "Signal BothBeaconsNoLongerCaptured");
libSCHO_gf_ClearRoadArrowVisualsAndTeamColor();
ActorSend(libSCHO_gv_mMHO_BeamSoundRegion, "Signal StopSound");
}
void libSCHO_gf_SetUpRoadArrowTeamColorAndAnimations (int lp_team) {
// Variable Declarations
int lv_itDoodad;
// Automatic Variable Declarations
const int auto5359F7B6_ae = 10;
const int auto5359F7B6_ai = 1;
const int auto8D31EDBA_ae = 10;
const int auto8D31EDBA_ai = 1;
// Variable Initialization
// Implementation
if ((lp_team == libGame_gv_teamOrderIndex_C)) {
lv_itDoodad = 1;
for ( ; ( (auto8D31EDBA_ai >= 0 && lv_itDoodad <= auto8D31EDBA_ae) || (auto8D31EDBA_ai < 0 && lv_itDoodad >= auto8D31EDBA_ae) ) ; lv_itDoodad += auto8D31EDBA_ai ) {
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_UpArrows[lv_itDoodad]), "Signal OwnerOrder");
}
}
else {
lv_itDoodad = 1;
for ( ; ( (auto5359F7B6_ai >= 0 && lv_itDoodad <= auto5359F7B6_ae) || (auto5359F7B6_ai < 0 && lv_itDoodad >= auto5359F7B6_ae) ) ; lv_itDoodad += auto5359F7B6_ai ) {
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_UpArrows[lv_itDoodad]), "Signal OwnerChaos");
}
}
}
void libSCHO_gf_SetDownRoadArrowTeamColorAndAnimations (int lp_team) {
// Variable Declarations
int lv_itDoodad;
// Automatic Variable Declarations
const int auto4AADA94D_ae = 10;
const int auto4AADA94D_ai = 1;
const int auto50A5E7BA_ae = 10;
const int auto50A5E7BA_ai = 1;
// Variable Initialization
// Implementation
if ((lp_team == libGame_gv_teamOrderIndex_C)) {
lv_itDoodad = 1;
for ( ; ( (auto50A5E7BA_ai >= 0 && lv_itDoodad <= auto50A5E7BA_ae) || (auto50A5E7BA_ai < 0 && lv_itDoodad >= auto50A5E7BA_ae) ) ; lv_itDoodad += auto50A5E7BA_ai ) {
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_DownArrows[lv_itDoodad]), "Signal OwnerOrder");
}
}
else {
lv_itDoodad = 1;
for ( ; ( (auto4AADA94D_ai >= 0 && lv_itDoodad <= auto4AADA94D_ae) || (auto4AADA94D_ai < 0 && lv_itDoodad >= auto4AADA94D_ae) ) ; lv_itDoodad += auto4AADA94D_ai ) {
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_DownArrows[lv_itDoodad]), "Signal OwnerChaos");
}
}
}
void libSCHO_gf_ClearRoadArrowVisualsAndTeamColor () {
// Variable Declarations
int lv_itDoodad;
// Automatic Variable Declarations
const int auto42857288_ae = 10;
const int auto42857288_ai = 1;
const int auto0DB9331B_ae = 10;
const int auto0DB9331B_ai = 1;
// Variable Initialization
// Implementation
lv_itDoodad = 1;
for ( ; ( (auto42857288_ai >= 0 && lv_itDoodad <= auto42857288_ae) || (auto42857288_ai < 0 && lv_itDoodad >= auto42857288_ae) ) ; lv_itDoodad += auto42857288_ai ) {
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_DownArrows[lv_itDoodad]), "Signal Reset");
}
lv_itDoodad = 1;
for ( ; ( (auto0DB9331B_ai >= 0 && lv_itDoodad <= auto0DB9331B_ae) || (auto0DB9331B_ai < 0 && lv_itDoodad >= auto0DB9331B_ae) ) ; lv_itDoodad += auto0DB9331B_ai ) {
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_UpArrows[lv_itDoodad]), "Signal Reset");
}
}
void libSCHO_gf_MMHOOpenCloseCaptureCages (bool lp_openClose, int lp_team) {
// Variable Declarations
unit lv_holdingCage;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
if ((lp_team == libGame_gv_teamOrderIndex_C)) {
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_holdingCage = libSCHO_gv_mMHO_HiveCages[1].lv_south;
}
else {
lv_holdingCage = libSCHO_gv_mMHO_HiveCages[1].lv_north;
}
}
else {
if ((libSCHO_gv_mMHO_AttackLane == 2)) {
lv_holdingCage = libSCHO_gv_mMHO_HiveCages[2].lv_south;
}
else {
lv_holdingCage = libSCHO_gv_mMHO_HiveCages[2].lv_north;
}
}
if ((lp_openClose == true)) {
ActorSend(libNtve_gf_MainActorofUnit(lv_holdingCage), "Signal Open");
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] >= 100.0)) {
ActorSend(libNtve_gf_MainActorofUnit(lv_holdingCage), "Signal OpenSoundWinningTeam");
}
else {
ActorSend(libNtve_gf_MainActorofUnit(lv_holdingCage), "Signal OpenSoundLosingTeam");
}
}
else {
ActorSend(libNtve_gf_MainActorofUnit(lv_holdingCage), "Signal Close");
}
}
void libSCHO_gf_MMHOOpenLeftRightUltraliskCages (int lp_team) {
// Variable Declarations
unit lv_holdingCage;
unitgroup lv_unitGroup;
// Automatic Variable Declarations
// Variable Initialization
lv_unitGroup = UnitGroupEmpty();
// Implementation
if ((lp_team == libGame_gv_teamOrderIndex_C)) {
lv_unitGroup = UnitGroupCopy(libSCHO_gv_mMHO_OrderUltralisks);
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_holdingCage = libSCHO_gv_mMHO_HiveCages[1].lv_south;
}
else {
lv_holdingCage = libSCHO_gv_mMHO_HiveCages[1].lv_north;
}
}
else {
lv_unitGroup = UnitGroupCopy(libSCHO_gv_mMHO_ChaosUltralisks);
if ((libSCHO_gv_mMHO_AttackLane == 2)) {
lv_holdingCage = libSCHO_gv_mMHO_HiveCages[2].lv_south;
}
else {
lv_holdingCage = libSCHO_gv_mMHO_HiveCages[2].lv_north;
}
}
if ((UnitGroupCount(lv_unitGroup, c_unitCountAlive) == 2)) {
ActorSend(libNtve_gf_MainActorofUnit(lv_holdingCage), "Signal OpenLeftGate");
}
else {
ActorSend(libNtve_gf_MainActorofUnit(lv_holdingCage), "Signal OpenRightGate");
}
}
void libSCHO_gf_MMHOSetCableAnimationOwership (int lp_team) {
// Variable Declarations
region lv_cableRegion;
// Automatic Variable Declarations
int auto5F0DAB81_val;
// Variable Initialization
// Implementation
auto5F0DAB81_val = lp_team;
if (auto5F0DAB81_val == libCore_gv_cOMPUTER_Neutral) {
lv_cableRegion = libSCHO_gv_mMHO_TopCableRegion;
libCore_gf_SendActorMessageToDoodadsInRegion("Signal Deactivate", lv_cableRegion, "Storm_Doodad_SCBraxis_Cables");
lv_cableRegion = libSCHO_gv_mMHO_BottomCableRegion;
libCore_gf_SendActorMessageToDoodadsInRegion("Signal Deactivate", lv_cableRegion, "Storm_Doodad_SCBraxis_Cables");
}
else if (auto5F0DAB81_val == libGame_gv_teamChaosIndex_C) {
lv_cableRegion = libSCHO_gv_mMHO_TopCableRegion;
libCore_gf_SendActorMessageToDoodadsInRegion("SetPlayerId 12", lv_cableRegion, "Storm_Doodad_SCBraxis_Cables");
lv_cableRegion = libSCHO_gv_mMHO_BottomCableRegion;
libCore_gf_SendActorMessageToDoodadsInRegion("SetPlayerId 12", lv_cableRegion, "Storm_Doodad_SCBraxis_Cables");
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_cableRegion = libSCHO_gv_mMHO_TopCableRegion;
libCore_gf_SendActorMessageToDoodadsInRegion("Signal Up", lv_cableRegion, "Storm_Doodad_SCBraxis_Cables");
libCore_gf_SendActorMessageToDoodadsInRegion("Signal Captured", lv_cableRegion, "Storm_Doodad_SCBraxis_Cables");
libCore_gf_SendActorMessageToDoodadsInRegion("Signal Captured", libSCHO_gv_mMHO_BottomCableRegion, "Storm_Doodad_SCBraxis_Cables");
}
else {
lv_cableRegion = libSCHO_gv_mMHO_BottomCableRegion;
libCore_gf_SendActorMessageToDoodadsInRegion("Signal Down", lv_cableRegion, "Storm_Doodad_SCBraxis_Cables");
libCore_gf_SendActorMessageToDoodadsInRegion("Signal Captured", lv_cableRegion, "Storm_Doodad_SCBraxis_Cables");
libCore_gf_SendActorMessageToDoodadsInRegion("Signal Captured", libSCHO_gv_mMHO_TopCableRegion, "Storm_Doodad_SCBraxis_Cables");
}
}
else if (auto5F0DAB81_val == libGame_gv_teamOrderIndex_C) {
lv_cableRegion = libSCHO_gv_mMHO_TopCableRegion;
libCore_gf_SendActorMessageToDoodadsInRegion("SetPlayerId 11", lv_cableRegion, "Storm_Doodad_SCBraxis_Cables");
lv_cableRegion = libSCHO_gv_mMHO_BottomCableRegion;
libCore_gf_SendActorMessageToDoodadsInRegion("SetPlayerId 11", lv_cableRegion, "Storm_Doodad_SCBraxis_Cables");
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_cableRegion = libSCHO_gv_mMHO_BottomCableRegion;
libCore_gf_SendActorMessageToDoodadsInRegion("Signal Down", lv_cableRegion, "Storm_Doodad_SCBraxis_Cables");
libCore_gf_SendActorMessageToDoodadsInRegion("Signal Captured", lv_cableRegion, "Storm_Doodad_SCBraxis_Cables");
libCore_gf_SendActorMessageToDoodadsInRegion("Signal Captured", libSCHO_gv_mMHO_TopCableRegion, "Storm_Doodad_SCBraxis_Cables");
}
else {
lv_cableRegion = libSCHO_gv_mMHO_TopCableRegion;
libCore_gf_SendActorMessageToDoodadsInRegion("Signal Up", lv_cableRegion, "Storm_Doodad_SCBraxis_Cables");
libCore_gf_SendActorMessageToDoodadsInRegion("Signal Captured", lv_cableRegion, "Storm_Doodad_SCBraxis_Cables");
libCore_gf_SendActorMessageToDoodadsInRegion("Signal Captured", libSCHO_gv_mMHO_BottomCableRegion, "Storm_Doodad_SCBraxis_Cables");
}
}
else {
}
}
void libSCHO_gf_MMHOSetSwitchAnimationOwnershipChanges (int lp_team, int lp_beaconIndex) {
// Variable Declarations
region lv_topBeaconTopDoodadRegion;
region lv_topBeaconBottomDoodadRegion;
region lv_bottomBeaconTopDoodadRegion;
region lv_bottomBeaconBottomDoodadRegion;
doodad lv_beaconTopDoodad;
doodad lv_beaconBottomDoodad;
// Automatic Variable Declarations
int auto03FE1B7A_val;
// Variable Initialization
// Implementation
if ((lp_beaconIndex == 1)) {
lv_beaconTopDoodad = libSCHO_gv_mMHO_TopBeaconTopArrow;
lv_beaconBottomDoodad = libSCHO_gv_mMHO_TopBeaconBottomArrow;
}
else {
lv_beaconTopDoodad = libSCHO_gv_mMHO_BottomBeaconTopArrow;
lv_beaconBottomDoodad = libSCHO_gv_mMHO_BottomBeaconBottomArrow;
}
auto03FE1B7A_val = lp_team;
if (auto03FE1B7A_val == libCore_gv_cOMPUTER_Neutral) {
ActorSend(ActorFromDoodad(lv_beaconTopDoodad), "Signal Deactivate");
ActorSend(ActorFromDoodad(lv_beaconBottomDoodad), "Signal Deactivate");
}
else if (auto03FE1B7A_val == libGame_gv_teamChaosIndex_C) {
ActorSend(ActorFromDoodad(lv_beaconTopDoodad), "SetPlayerId 12");
ActorSend(ActorFromDoodad(lv_beaconBottomDoodad), "SetPlayerId 12");
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
ActorSend(ActorFromDoodad(lv_beaconTopDoodad), "Signal OneCaptured");
}
else {
ActorSend(ActorFromDoodad(lv_beaconBottomDoodad), "Signal OneCaptured");
}
}
else if (auto03FE1B7A_val == libGame_gv_teamOrderIndex_C) {
ActorSend(ActorFromDoodad(lv_beaconTopDoodad), "SetPlayerId 11");
ActorSend(ActorFromDoodad(lv_beaconBottomDoodad), "SetPlayerId 11");
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
ActorSend(ActorFromDoodad(lv_beaconBottomDoodad), "Signal OneCaptured");
}
else {
ActorSend(ActorFromDoodad(lv_beaconTopDoodad), "Signal OneCaptured");
}
}
else {
}
}
void libSCHO_gf_MMHOSetSwitchAnimationBothBeaconsCaptured (int lp_team) {
// Variable Declarations
region lv_topBeaconTopDoodadRegion;
region lv_topBeaconBottomDoodadRegion;
region lv_bottomBeaconTopDoodadRegion;
region lv_bottomBeaconBottomDoodadRegion;
doodad lv_beaconTopDoodad;
doodad lv_beaconBottomDoodad;
// Automatic Variable Declarations
int autoDCEADE20_val;
// Variable Initialization
// Implementation
autoDCEADE20_val = lp_team;
if (autoDCEADE20_val == libGame_gv_teamChaosIndex_C) {
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_beaconTopDoodad = libSCHO_gv_mMHO_TopBeaconTopArrow;
lv_beaconBottomDoodad = libSCHO_gv_mMHO_BottomBeaconTopArrow;
}
else {
lv_beaconTopDoodad = libSCHO_gv_mMHO_TopBeaconBottomArrow;
lv_beaconBottomDoodad = libSCHO_gv_mMHO_BottomBeaconBottomArrow;
}
ActorSend(ActorFromDoodad(lv_beaconTopDoodad), "SetPlayerId 12");
ActorSend(ActorFromDoodad(lv_beaconBottomDoodad), "SetPlayerId 12");
ActorSend(ActorFromDoodad(lv_beaconTopDoodad), "Signal TwoCaptured");
ActorSend(ActorFromDoodad(lv_beaconBottomDoodad), "Signal TwoCaptured");
}
else if (autoDCEADE20_val == libGame_gv_teamOrderIndex_C) {
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_beaconTopDoodad = libSCHO_gv_mMHO_TopBeaconBottomArrow;
lv_beaconBottomDoodad = libSCHO_gv_mMHO_BottomBeaconBottomArrow;
}
else {
lv_beaconTopDoodad = libSCHO_gv_mMHO_TopBeaconTopArrow;
lv_beaconBottomDoodad = libSCHO_gv_mMHO_BottomBeaconTopArrow;
}
ActorSend(ActorFromDoodad(lv_beaconTopDoodad), "SetPlayerId 11");
ActorSend(ActorFromDoodad(lv_beaconBottomDoodad), "SetPlayerId 11");
ActorSend(ActorFromDoodad(lv_beaconTopDoodad), "Signal TwoCaptured");
ActorSend(ActorFromDoodad(lv_beaconBottomDoodad), "Signal TwoCaptured");
}
else {
}
}
void libSCHO_gf_MMHOSetSwitchAnimationBothBeaconsNoLongerCaptured () {
// Variable Declarations
region lv_topBeaconTopDoodadRegion;
region lv_topBeaconBottomDoodadRegion;
region lv_bottomBeaconTopDoodadRegion;
region lv_bottomBeaconBottomDoodadRegion;
doodad lv_beaconTopDoodad;
doodad lv_beaconBottomDoodad;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
lv_beaconTopDoodad = libSCHO_gv_mMHO_TopBeaconTopArrow;
lv_beaconBottomDoodad = libSCHO_gv_mMHO_TopBeaconBottomArrow;
ActorSend(ActorFromDoodad(lv_beaconTopDoodad), "Signal SingleShrine");
ActorSend(ActorFromDoodad(lv_beaconBottomDoodad), "Signal SingleShrine");
if ((UnitGetOwner(libSCHO_gv_mMHO_HiveControlBeacons[1].lv_beaconUnit) == libCore_gv_cOMPUTER_Neutral)) {
ActorSend(ActorFromDoodad(lv_beaconTopDoodad), "ClearTeamColor");
ActorSend(ActorFromDoodad(lv_beaconBottomDoodad), "ClearTeamColor");
}
lv_beaconTopDoodad = libSCHO_gv_mMHO_BottomBeaconTopArrow;
lv_beaconBottomDoodad = libSCHO_gv_mMHO_BottomBeaconBottomArrow;
ActorSend(ActorFromDoodad(lv_beaconTopDoodad), "Signal SingleShrine");
ActorSend(ActorFromDoodad(lv_beaconBottomDoodad), "Signal SingleShrine");
if ((UnitGetOwner(libSCHO_gv_mMHO_HiveControlBeacons[2].lv_beaconUnit) == libCore_gv_cOMPUTER_Neutral)) {
ActorSend(ActorFromDoodad(lv_beaconTopDoodad), "ClearTeamColor");
ActorSend(ActorFromDoodad(lv_beaconBottomDoodad), "ClearTeamColor");
}
}
void libSCHO_gf_MMHOTurnCaptureCablesOnOffForTeam (bool lp_onOff, int lp_team) {
// Variable Declarations
int lv_i;
string lv_orientationSignal;
string lv_teamSignal;
// Automatic Variable Declarations
const int auto0809A7D0_ae = 6;
const int auto0809A7D0_ai = 1;
const int auto97B2FE55_ae = 6;
const int auto97B2FE55_ai = 1;
// Variable Initialization
lv_orientationSignal = "";
lv_teamSignal = "";
// Implementation
if ((lp_onOff == true)) {
if ((lp_team == libGame_gv_teamOrderIndex_C)) {
lv_teamSignal = "Signal Order";
lv_orientationSignal = "Signal Down";
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_orientationSignal = "Signal Down";
}
else {
lv_orientationSignal = "Signal Up";
}
}
else {
lv_teamSignal = "Signal Chaos";
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_orientationSignal = "Signal Up";
}
else {
lv_orientationSignal = "Signal Down";
}
}
lv_i = 1;
for ( ; ( (auto97B2FE55_ai >= 0 && lv_i <= auto97B2FE55_ae) || (auto97B2FE55_ai < 0 && lv_i >= auto97B2FE55_ae) ) ; lv_i += auto97B2FE55_ai ) {
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_CaptureCables[lv_i]), (lv_teamSignal));
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_CaptureCables[lv_i]), (lv_orientationSignal));
}
}
else {
lv_i = 1;
for ( ; ( (auto0809A7D0_ai >= 0 && lv_i <= auto0809A7D0_ae) || (auto0809A7D0_ai < 0 && lv_i >= auto0809A7D0_ae) ) ; lv_i += auto0809A7D0_ai ) {
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_CaptureCables[lv_i]), "Signal Off");
}
}
}
void libSCHO_gf_MMHOTurnOnAlarmLightsForTeam (int lp_team) {
// Variable Declarations
int lv_itDoodad;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
if ((lp_team == libGame_gv_teamOrderIndex_C)) {
ActorSend(libMapM_gv_mapMechanicControllerActor, "Signal AlarmOwnerOrder");
}
else {
ActorSend(libMapM_gv_mapMechanicControllerActor, "Signal AlarmOwnerChaos");
}
}
void libSCHO_gf_MMHOClearAlarmLights () {
// Variable Declarations
int lv_itDoodad;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
ActorSend(libMapM_gv_mapMechanicControllerActor, "Signal AlarmClearOwner");
}
trigger auto_libSCHO_gf_MakeSCVUnitsMoveAround_Trigger = null;
unit auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_sCV1;
unit auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_sCV2;
unit auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_sCV3;
point auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_turnInPoint;
point auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_mineralPatch1;
point auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_mineralPatch2;
point auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_mineralPatch3;
void libSCHO_gf_MakeSCVUnitsMoveAround (unit lp_sCV1, unit lp_sCV2, unit lp_sCV3, point lp_turnInPoint, point lp_mineralPatch1, point lp_mineralPatch2, point lp_mineralPatch3) {
auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_sCV1 = lp_sCV1;
auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_sCV2 = lp_sCV2;
auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_sCV3 = lp_sCV3;
auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_turnInPoint = lp_turnInPoint;
auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_mineralPatch1 = lp_mineralPatch1;
auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_mineralPatch2 = lp_mineralPatch2;
auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_mineralPatch3 = lp_mineralPatch3;
if (auto_libSCHO_gf_MakeSCVUnitsMoveAround_Trigger == null) {
auto_libSCHO_gf_MakeSCVUnitsMoveAround_Trigger = TriggerCreate("auto_libSCHO_gf_MakeSCVUnitsMoveAround_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MakeSCVUnitsMoveAround_Trigger, false, false);
}
bool auto_libSCHO_gf_MakeSCVUnitsMoveAround_TriggerFunc (bool testConds, bool runActions) {
unit lp_sCV1 = auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_sCV1;
unit lp_sCV2 = auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_sCV2;
unit lp_sCV3 = auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_sCV3;
point lp_turnInPoint = auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_turnInPoint;
point lp_mineralPatch1 = auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_mineralPatch1;
point lp_mineralPatch2 = auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_mineralPatch2;
point lp_mineralPatch3 = auto_libSCHO_gf_MakeSCVUnitsMoveAround_lp_mineralPatch3;
// Variable Declarations
unitgroup lv_sCVUnitGroup;
unit lv_lastSCVToMove;
unit lv_unitToMove;
point lv_destinationPoint;
point lv_returnPoint;
// Automatic Variable Declarations
unit auto6E847259_val;
unit auto8210FB56_val;
// Variable Initialization
lv_sCVUnitGroup = UnitGroupEmpty();
// Implementation
UnitGroupAdd(lv_sCVUnitGroup, lp_sCV1);
UnitGroupAdd(lv_sCVUnitGroup, lp_sCV2);
UnitGroupAdd(lv_sCVUnitGroup, lp_sCV3);
lv_destinationPoint = lp_turnInPoint;
while (true) {
lv_unitToMove = UnitGroupRandomUnit(lv_sCVUnitGroup, c_unitCountAlive);
if ((lv_unitToMove == lv_lastSCVToMove)) {
auto6E847259_val = lv_unitToMove;
if (auto6E847259_val == lp_sCV1) {
UnitGroupRemove(lv_sCVUnitGroup, lp_sCV1);
lv_unitToMove = UnitGroupRandomUnit(lv_sCVUnitGroup, c_unitCountAlive);
UnitGroupAdd(lv_sCVUnitGroup, lp_sCV1);
}
else if (auto6E847259_val == lp_sCV2) {
UnitGroupRemove(lv_sCVUnitGroup, lp_sCV2);
lv_unitToMove = UnitGroupRandomUnit(lv_sCVUnitGroup, c_unitCountAlive);
UnitGroupAdd(lv_sCVUnitGroup, lp_sCV2);
}
else if (auto6E847259_val == lp_sCV3) {
UnitGroupRemove(lv_sCVUnitGroup, lp_sCV3);
lv_unitToMove = UnitGroupRandomUnit(lv_sCVUnitGroup, c_unitCountAlive);
UnitGroupAdd(lv_sCVUnitGroup, lp_sCV3);
}
else {
}
}
lv_lastSCVToMove = lv_unitToMove;
auto8210FB56_val = lv_unitToMove;
if (auto8210FB56_val == lp_sCV1) {
lv_returnPoint = lp_mineralPatch1;
}
else if (auto8210FB56_val == lp_sCV2) {
lv_returnPoint = lp_mineralPatch2;
}
else if (auto8210FB56_val == lp_sCV3) {
lv_returnPoint = lp_mineralPatch3;
}
else {
}
UnitIssueOrder(lv_unitToMove, OrderTargetingPoint(AbilityCommand("BraxisHoldoutSCVChannel", 0), lv_destinationPoint), c_orderQueueReplace);
UnitIssueOrder(lv_unitToMove, OrderTargetingPoint(AbilityCommand("BraxisHoldoutSCVChannel", 0), lv_returnPoint), c_orderQueueAddToEnd);
Wait(RandomFixed(5.0, 10.0), c_timeGame);
}
return true;
}
void libSCHO_gf_MMHODetermineAttackWavePath (int lp_waveIndex) {
// Automatic Variable Declarations
// Implementation
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
libSCHO_gf_MMHOAttackWavePath(libSCHO_gv_mMHO_AttackGroups[libGame_gv_teamChaosIndex_C][lp_waveIndex], libSCHO_gv_mMHO_AttackGroups[libGame_gv_teamOrderIndex_C][lp_waveIndex]);
}
else {
libSCHO_gf_MMHOAttackWavePath(libSCHO_gv_mMHO_AttackGroups[libGame_gv_teamOrderIndex_C][lp_waveIndex], libSCHO_gv_mMHO_AttackGroups[libGame_gv_teamChaosIndex_C][lp_waveIndex]);
}
libSCHO_gf_MMHOTeleportStuckZergFailsafe(lp_waveIndex);
}
trigger auto_libSCHO_gf_MMHOTeleportStuckZergFailsafe_Trigger = null;
int auto_libSCHO_gf_MMHOTeleportStuckZergFailsafe_lp_waveIndex;
void libSCHO_gf_MMHOTeleportStuckZergFailsafe (int lp_waveIndex) {
auto_libSCHO_gf_MMHOTeleportStuckZergFailsafe_lp_waveIndex = lp_waveIndex;
if (auto_libSCHO_gf_MMHOTeleportStuckZergFailsafe_Trigger == null) {
auto_libSCHO_gf_MMHOTeleportStuckZergFailsafe_Trigger = TriggerCreate("auto_libSCHO_gf_MMHOTeleportStuckZergFailsafe_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MMHOTeleportStuckZergFailsafe_Trigger, false, false);
}
bool auto_libSCHO_gf_MMHOTeleportStuckZergFailsafe_TriggerFunc (bool testConds, bool runActions) {
int lp_waveIndex = auto_libSCHO_gf_MMHOTeleportStuckZergFailsafe_lp_waveIndex;
// Variable Declarations
int lv_itUnit;
int lv_player;
// Automatic Variable Declarations
unitgroup autoADD67D88_g;
int autoADD67D88_u;
unit autoADD67D88_var;
unitgroup auto66B9FCA0_g;
int auto66B9FCA0_u;
unit auto66B9FCA0_var;
unitgroup auto19E1BCEE_g;
int auto19E1BCEE_u;
unit auto19E1BCEE_var;
unitgroup auto73A91A0D_g;
int auto73A91A0D_u;
unit auto73A91A0D_var;
// Variable Initialization
// Implementation
Wait(30.0, c_timeGame);
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
auto19E1BCEE_g = UnitGroup("ZergZergling", libStEx_gv_pLAYER_11_ORDER, RegionCircle(RegionGetCenter(libSCHO_gv_mMHO_Order_BottomHoldingPenRegion), 20.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
auto19E1BCEE_u = UnitGroupCount(auto19E1BCEE_g, c_unitCountAll);
for (;; auto19E1BCEE_u -= 1) {
auto19E1BCEE_var = UnitGroupUnitFromEnd(auto19E1BCEE_g, auto19E1BCEE_u);
if (auto19E1BCEE_var == null) { break; }
libStEx_gf_MoveUnit(auto19E1BCEE_var, RegionGetCenter(libSCHO_gv_mMHO_Order_BottomHoldingPenRegion), true);
}
auto73A91A0D_g = UnitGroup("ZergZergling", libStEx_gv_pLAYER_12_CHAOS, RegionCircle(RegionGetCenter(libSCHO_gv_mMHO_Chaos_TopHoldingPenRegion), 20.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
auto73A91A0D_u = UnitGroupCount(auto73A91A0D_g, c_unitCountAll);
for (;; auto73A91A0D_u -= 1) {
auto73A91A0D_var = UnitGroupUnitFromEnd(auto73A91A0D_g, auto73A91A0D_u);
if (auto73A91A0D_var == null) { break; }
libStEx_gf_MoveUnit(auto73A91A0D_var, RegionGetCenter(libSCHO_gv_mMHO_Chaos_TopHoldingPenRegion), true);
}
}
else {
autoADD67D88_g = UnitGroup("ZergZergling", libStEx_gv_pLAYER_11_ORDER, RegionCircle(RegionGetCenter(libSCHO_gv_mMHO_Order_TopHoldingPenRegion), 20.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
autoADD67D88_u = UnitGroupCount(autoADD67D88_g, c_unitCountAll);
for (;; autoADD67D88_u -= 1) {
autoADD67D88_var = UnitGroupUnitFromEnd(autoADD67D88_g, autoADD67D88_u);
if (autoADD67D88_var == null) { break; }
libStEx_gf_MoveUnit(autoADD67D88_var, RegionGetCenter(libSCHO_gv_mMHO_Order_TopHoldingPenRegion), true);
}
auto66B9FCA0_g = UnitGroup("ZergZergling", libStEx_gv_pLAYER_12_CHAOS, RegionCircle(RegionGetCenter(libSCHO_gv_mMHO_Chaos_BottomHoldingPenRegion), 20.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
auto66B9FCA0_u = UnitGroupCount(auto66B9FCA0_g, c_unitCountAll);
for (;; auto66B9FCA0_u -= 1) {
auto66B9FCA0_var = UnitGroupUnitFromEnd(auto66B9FCA0_g, auto66B9FCA0_u);
if (auto66B9FCA0_var == null) { break; }
libStEx_gf_MoveUnit(auto66B9FCA0_var, RegionGetCenter(libSCHO_gv_mMHO_Chaos_BottomHoldingPenRegion), true);
}
}
return true;
}
void libSCHO_gf_MMHOAttackWavePath (unitgroup lp_topGroup, unitgroup lp_botGroup) {
// Automatic Variable Declarations
// Implementation
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
if ((UnitIsAlive(libGame_gv_townTownData[2].lv_structureUnits[libGame_gv_townTownData[2].lv_townHallIndex]) == true)) {
libSCHO_gf_MMHOSendAttackWave(lp_topGroup, libSCHO_gv_mMHO_AttackPointsFort[2][1], libGame_gv_teamOrderIndex_C);
}
else {
libSCHO_gf_MMHOSendAttackWave(lp_topGroup, libSCHO_gv_mMHO_AttackPointsKeep[2][1], libGame_gv_teamOrderIndex_C);
}
if ((UnitIsAlive(libGame_gv_townTownData[8].lv_structureUnits[libGame_gv_townTownData[8].lv_townHallIndex]) == true)) {
libSCHO_gf_MMHOSendAttackWave(lp_botGroup, libSCHO_gv_mMHO_AttackPointsFort[3][1], libGame_gv_teamChaosIndex_C);
}
else {
libSCHO_gf_MMHOSendAttackWave(lp_botGroup, libSCHO_gv_mMHO_AttackPointsKeep[3][1], libGame_gv_teamChaosIndex_C);
}
}
else {
if ((UnitIsAlive(libGame_gv_townTownData[4].lv_structureUnits[libGame_gv_townTownData[4].lv_townHallIndex]) == true)) {
libSCHO_gf_MMHOSendAttackWave(lp_botGroup, libSCHO_gv_mMHO_AttackPointsFort[4][1], libGame_gv_teamOrderIndex_C);
}
else {
libSCHO_gf_MMHOSendAttackWave(lp_botGroup, libSCHO_gv_mMHO_AttackPointsFort[4][1], libGame_gv_teamOrderIndex_C);
}
if ((UnitIsAlive(libGame_gv_townTownData[6].lv_structureUnits[libGame_gv_townTownData[6].lv_townHallIndex]) == true)) {
libSCHO_gf_MMHOSendAttackWave(lp_topGroup, libSCHO_gv_mMHO_AttackPointsFort[1][1], libGame_gv_teamChaosIndex_C);
}
else {
libSCHO_gf_MMHOSendAttackWave(lp_topGroup, libSCHO_gv_mMHO_AttackPointsKeep[1][1], libGame_gv_teamChaosIndex_C);
}
}
}
trigger auto_libSCHO_gf_MMHOSendAttackWave_Trigger = null;
unitgroup auto_libSCHO_gf_MMHOSendAttackWave_lp_waveUnits;
point auto_libSCHO_gf_MMHOSendAttackWave_lp_wP1;
int auto_libSCHO_gf_MMHOSendAttackWave_lp_teamToAttack;
void libSCHO_gf_MMHOSendAttackWave (unitgroup lp_waveUnits, point lp_wP1, int lp_teamToAttack) {
auto_libSCHO_gf_MMHOSendAttackWave_lp_waveUnits = lp_waveUnits;
auto_libSCHO_gf_MMHOSendAttackWave_lp_wP1 = lp_wP1;
auto_libSCHO_gf_MMHOSendAttackWave_lp_teamToAttack = lp_teamToAttack;
if (auto_libSCHO_gf_MMHOSendAttackWave_Trigger == null) {
auto_libSCHO_gf_MMHOSendAttackWave_Trigger = TriggerCreate("auto_libSCHO_gf_MMHOSendAttackWave_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MMHOSendAttackWave_Trigger, false, false);
}
bool auto_libSCHO_gf_MMHOSendAttackWave_TriggerFunc (bool testConds, bool runActions) {
unitgroup lp_waveUnits = auto_libSCHO_gf_MMHOSendAttackWave_lp_waveUnits;
point lp_wP1 = auto_libSCHO_gf_MMHOSendAttackWave_lp_wP1;
int lp_teamToAttack = auto_libSCHO_gf_MMHOSendAttackWave_lp_teamToAttack;
// Variable Declarations
unitgroup lv_waveGroup;
unit lv_itUnit;
// Automatic Variable Declarations
unitgroup auto23860D9C_g;
int auto23860D9C_u;
// Variable Initialization
lv_waveGroup = UnitGroupEmpty();
// Implementation
lv_waveGroup = UnitGroupCopy(lp_waveUnits);
auto23860D9C_g = lv_waveGroup;
auto23860D9C_u = UnitGroupCount(auto23860D9C_g, c_unitCountAll);
for (;; auto23860D9C_u -= 1) {
lv_itUnit = UnitGroupUnitFromEnd(auto23860D9C_g, auto23860D9C_u);
if (lv_itUnit == null) { break; }
libGame_gf_CalculateSpawnedMinionGoalPoints(libGame_gf_EnemyTeam(lp_teamToAttack), lp_wP1);
libAIAI_gf_MinionAIStartMinionAI(-1, lv_itUnit, libGame_gv_spawnedMinionLane, libGame_gv_spawnedMinionFirstWaypointIndex, true, false, true, lp_teamToAttack, true);
UnitGroupRemove(lv_waveGroup, lv_itUnit);
}
return true;
}
void libSCHO_gf_MMHOZergAttackFinishedMonitorWait () {
// Automatic Variable Declarations
// Implementation
while (!(((UnitGroupCount(libSCHO_gv_mMHO_AttackGroups[libGame_gv_teamOrderIndex_C][1], c_unitCountAlive) == 0) && (UnitGroupCount(libSCHO_gv_mMHO_AttackGroups[libGame_gv_teamChaosIndex_C][1], c_unitCountAlive) == 0)))) {
Wait(1.0, c_timeGame);
}
libAIAI_gf_AITeamDelegateActivateDeactivateMapReward(libAIAI_ge_AITeamDelegateActivateDeactivateMapToken_Deactivate);
SoundPlayForPlayer(SoundLink("Event_BraxisHoldout_EventEnd", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
SoundtrackStopCurrent(libCore_gv_allHeroPlayersPlusObserver, c_soundtrackCategoryMusic, true);
libSCHO_gf_MMHOUISetMode(libSCHO_ge_MMHOUIModes_Idle);
libSCHO_gv_mMHO_HiveControlBeaconEventActive = false;
libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamOrderIndex_C] = 0.0;
libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamChaosIndex_C] = 0.0;
libSCHO_gv_mMHO_ZerglingCount[libGame_gv_teamOrderIndex_C] = 0;
libSCHO_gv_mMHO_BanelingCount[libGame_gv_teamOrderIndex_C] = 0;
libSCHO_gv_mMHO_ZerglingCount[libGame_gv_teamChaosIndex_C] = 0;
libSCHO_gv_mMHO_BanelingCount[libGame_gv_teamChaosIndex_C] = 0;
libSCHO_gf_MMHOResetSpawnProgressVariables(libGame_gv_teamOrderIndex_C);
libSCHO_gf_MMHOOpenCloseCaptureCages(false, libGame_gv_teamOrderIndex_C);
libSCHO_gf_MMHOOpenCloseCaptureCages(false, libGame_gv_teamChaosIndex_C);
libSCHO_gf_MMHOResetSpawnProgressVariables(libGame_gv_teamChaosIndex_C);
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[1][1], (FixedToText(libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamOrderIndex_C], 0) + StringExternal("Param/Value/lib_SCHO_4E2E5A66")), PlayerGroupAll());
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[2][1], (FixedToText(libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamOrderIndex_C], 0) + StringExternal("Param/Value/lib_SCHO_D4E4D430")), PlayerGroupAll());
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[1][2], (FixedToText(libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamChaosIndex_C], 0) + StringExternal("Param/Value/lib_SCHO_0CDA91D8")), PlayerGroupAll());
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[2][2], (FixedToText(libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamChaosIndex_C], 0) + StringExternal("Param/Value/lib_SCHO_E9A783F7")), PlayerGroupAll());
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[1], PlayerGroupAll(), "TopBarPulseStop");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[2], PlayerGroupAll(), "TopBarPulseStop");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[1], PlayerGroupAll(), "BottomBarPulseStop");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[2], PlayerGroupAll(), "BottomBarPulseStop");
UnitRemove(libSCHO_gv_mMHO_OrderProgressUnit);
UnitRemove(libSCHO_gv_mMHO_ChaosProgressUnit);
libSCHO_gv_mMHO_OrderProgressUnit = null;
libSCHO_gv_mMHO_ChaosProgressUnit = null;
libMapM_gf_JungleStopHibernateCamps();
libSond_gf_SoundtrackPlayMapSoundtrackAsDefaultSoundtrackForAllPlayers();
libSCHO_gf_MMHOTransmissionAllZergDead();
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_zergHudLeft[1], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_zergHudLeft[1], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_zergHudLeft[2], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_zergHudRight[1], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_zergHudRight[1], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_zergHudRight[2], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_alliedZergLabel[1], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_alliedZergLabel[1], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_alliedZergLabel[2], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_enemyZergLabel[1], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_enemyZergLabel[1], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_enemyZergLabel[2], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconProgressLabel[1], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconProgressLabel[1], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconProgressLabel[2], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_eggIconImageLeft[1], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_eggIconImageLeft[1], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_eggIconImageLeft[2], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_eggIconImageRight[1], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_eggIconImageRight[1], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_eggIconImageRight[2], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, true);
TimerStart(libSCHO_gv_mMHO_AttackEventTimer, libSCHO_gv_mMHO_AttackEventDuration_C, false, c_timeGame);
TriggerEnable(libSCHO_gt_MMHOUpdateZergPath, false);
if ((libSCHO_gv_mMHO_AttackLaneHPMiniMapController == 1)) {
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[1].lv_south, "HoldingPenControllerBL", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[2].lv_north, "HoldingPenControllerTR", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[2].lv_south, "HoldingPenControllerBR", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[1].lv_north, "HoldingPenControllerTL", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[1].lv_north, "HoldingPenAnimation", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[2].lv_south, "HoldingPenAnimation", 1);
}
else {
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[1].lv_south, "HoldingPenControllerBL", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[2].lv_north, "HoldingPenControllerTR", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[2].lv_south, "HoldingPenControllerBR", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[1].lv_north, "HoldingPenControllerTL", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[1].lv_south, "HoldingPenAnimation", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[2].lv_north, "HoldingPenAnimation", 1);
}
libSCHO_gv_mMHO_AttackLaneHPMiniMapController = (3 - libSCHO_gv_mMHO_AttackLane);
libSCHO_gf_MMHOControlSlabAnimationsEventStartStop(libSCHO_ge_MMHO_BeaconSignals_Stop);
}
void libSCHO_gf_MMHOSetupZergAttackWave () {
// Variable Declarations
int lv_itTeam;
// Automatic Variable Declarations
int auto0FA3C7F3_val;
// Variable Initialization
// Implementation
auto0FA3C7F3_val = libSCHO_gv_mMHO_WaveTracker;
if (auto0FA3C7F3_val == 1) {
libSCHO_gf_MMHOSpawnBeaconWave();
libSCHO_gf_MMHODetermineAttackWavePath(libSCHO_gv_mMHO_WaveTracker);
UIDisplayMessage(PlayerGroupAll(), c_messageAreaSubtitle, StringExternal("Param/Value/lib_SCHO_C2B1EB0F"));
Wait(5.0625, c_timeGame);
libSCHO_gf_MMHOZergAttackFinishedMonitorWait();
libSCHO_gv_mMHO_WaveTracker = 1;
}
else if (auto0FA3C7F3_val == 2) {
libSCHO_gf_MMHOSpawnBeaconWave();
libSCHO_gf_MMHODetermineAttackWavePath(libSCHO_gv_mMHO_WaveTracker);
}
else {
}
}
void libSCHO_gf_MMHOSpawnBeaconWave () {
// Variable Declarations
int lv_groupIndex;
int lv_random;
int lv_itUserData;
int lv_itSpawnUnit;
int lv_itSpawnRegion;
region lv_topSpawnRegion;
region lv_bottomSpawnRegion;
// Automatic Variable Declarations
// Variable Initialization
lv_topSpawnRegion = libSCHO_gv_mMHO_Chaos_TopSpawnRegion;
// Implementation
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_topSpawnRegion = libSCHO_gv_mMHO_Chaos_TopSpawnRegion;
lv_bottomSpawnRegion = libSCHO_gv_mMHO_Order_BottomSpawnRegion;
}
else {
lv_topSpawnRegion = libSCHO_gv_mMHO_Order_TopSpawnRegion;
lv_bottomSpawnRegion = libSCHO_gv_mMHO_Chaos_BottomSpawnRegion;
}
libSCHO_gf_MMHOSpawnBeaconUnits(libSCHO_gv_mMHO_AttackLane, lv_topSpawnRegion);
libSCHO_gf_MMHOSpawnBeaconUnits((3 - libSCHO_gv_mMHO_AttackLane), lv_bottomSpawnRegion);
Wait(5.0, c_timeGame);
}
trigger auto_libSCHO_gf_MMHOSpawnBeaconUnits_Trigger = null;
int auto_libSCHO_gf_MMHOSpawnBeaconUnits_lp_attackLane;
region auto_libSCHO_gf_MMHOSpawnBeaconUnits_lp_spawnRegion;
void libSCHO_gf_MMHOSpawnBeaconUnits (int lp_attackLane, region lp_spawnRegion) {
auto_libSCHO_gf_MMHOSpawnBeaconUnits_lp_attackLane = lp_attackLane;
auto_libSCHO_gf_MMHOSpawnBeaconUnits_lp_spawnRegion = lp_spawnRegion;
if (auto_libSCHO_gf_MMHOSpawnBeaconUnits_Trigger == null) {
auto_libSCHO_gf_MMHOSpawnBeaconUnits_Trigger = TriggerCreate("auto_libSCHO_gf_MMHOSpawnBeaconUnits_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MMHOSpawnBeaconUnits_Trigger, false, false);
}
bool auto_libSCHO_gf_MMHOSpawnBeaconUnits_TriggerFunc (bool testConds, bool runActions) {
int lp_attackLane = auto_libSCHO_gf_MMHOSpawnBeaconUnits_lp_attackLane;
region lp_spawnRegion = auto_libSCHO_gf_MMHOSpawnBeaconUnits_lp_spawnRegion;
// Variable Declarations
int lv_owner;
int lv_itUserData;
int lv_itSpawnUnit;
string lv_tier;
string lv_wave;
int lv_itZergling;
string lv_count;
int lv_team;
// Automatic Variable Declarations
const int autoAD53C12D_ae = 3;
const int autoAD53C12D_ai = 1;
int auto2149D197_ae;
const int auto2149D197_ai = 1;
int autoE1768950_val;
// Variable Initialization
// Implementation
if (((lp_spawnRegion == libSCHO_gv_mMHO_Chaos_TopSpawnRegion) || (lp_spawnRegion == libSCHO_gv_mMHO_Chaos_BottomSpawnRegion))) {
lv_owner = libCore_gv_cOMPUTER_TeamChaos;
lv_team = libGame_gv_teamChaosIndex_C;
lv_tier = libSCHO_gv_mMHO_TeamZergTier[libGame_gv_teamChaosIndex_C];
}
else {
lv_owner = libCore_gv_cOMPUTER_TeamOrder;
lv_team = libGame_gv_teamOrderIndex_C;
lv_tier = libSCHO_gv_mMHO_TeamZergTier[libGame_gv_teamOrderIndex_C];
}
if ((libSCHO_gv_mMHO_WaveTracker == 1)) {
lv_wave = "Wave 1";
lv_count = "Count 1";
}
else {
lv_wave = "Wave 2";
lv_count = "Count 2";
}
Wait(0.0625, c_timeGame);
libSCHO_gf_MMHOSpawnZerglingsBanelings(lp_attackLane, lv_team, lp_spawnRegion);
lv_itUserData = 1;
for ( ; ( (autoAD53C12D_ai >= 0 && lv_itUserData <= autoAD53C12D_ae) || (autoAD53C12D_ai < 0 && lv_itUserData >= autoAD53C12D_ae) ) ; lv_itUserData += autoAD53C12D_ai ) {
auto2149D197_ae = UserDataGetInt("BeaconWaves", lv_tier, lv_count, lv_itUserData);
lv_itSpawnUnit = 1;
for ( ; ( (auto2149D197_ai >= 0 && lv_itSpawnUnit <= auto2149D197_ae) || (auto2149D197_ai < 0 && lv_itSpawnUnit >= auto2149D197_ae) ) ; lv_itSpawnUnit += auto2149D197_ai ) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, UserDataGetUnit("BeaconWaves", lv_tier, lv_wave, lv_itUserData), 0, lv_owner, RegionRandomPoint(lp_spawnRegion), null);
UnitGroupAdd(libSCHO_gv_mMHO_AttackGroups[lp_attackLane][libSCHO_gv_mMHO_WaveTracker], UnitLastCreated());
UnitXPAddXP(UnitLastCreated(), null, libSCHO_gv_mMHO_ScalingLevel);
Wait(RandomFixed(0.0625, 0.125), c_timeGame);
autoE1768950_val = libSCHO_gv_mMHO_WaveTracker;
if (autoE1768950_val == 1) {
UnitBehaviorAdd(UnitLastCreated(), "Group1", UnitLastCreated(), 1);
}
else if (autoE1768950_val == 2) {
UnitBehaviorAdd(UnitLastCreated(), "Group2", UnitLastCreated(), 1);
}
else if (autoE1768950_val == 3) {
UnitBehaviorAdd(UnitLastCreated(), "Group3", UnitLastCreated(), 1);
}
else {
}
}
}
return true;
}
void libSCHO_gf_MMHOGrantFreeZergUnits (int lp_team) {
// Variable Declarations
region lv_spawnRegion;
point lv_moveTargetLocation;
int lv_owner;
unit lv_itUnit;
unitgroup lv_freeZergUnitsGroup;
// Automatic Variable Declarations
unitgroup autoD843BB99_g;
int autoD843BB99_u;
// Variable Initialization
lv_freeZergUnitsGroup = UnitGroupEmpty();
// Implementation
if ((lp_team == libGame_gv_teamOrderIndex_C)) {
lv_owner = libCore_gv_cOMPUTER_TeamOrder;
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_spawnRegion = libSCHO_gv_mMHO_Order_BottomSpawnRegion;
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[2].lv_frontSpawnRegion);
}
else {
lv_spawnRegion = libSCHO_gv_mMHO_Order_TopSpawnRegion;
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[0].lv_frontSpawnRegion);
}
}
else {
lv_owner = libCore_gv_cOMPUTER_TeamChaos;
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_spawnRegion = libSCHO_gv_mMHO_Chaos_TopSpawnRegion;
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[1].lv_frontSpawnRegion);
}
else {
lv_spawnRegion = libSCHO_gv_mMHO_Chaos_BottomSpawnRegion;
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[3].lv_frontSpawnRegion);
}
}
libNtve_gf_CreateUnitsAtPoint2(libSCHO_gv_mMHO_FreeZerglingCount_C, "ZergZergling", c_unitCreateIgnorePlacement, lv_owner, RegionRandomPoint(lv_spawnRegion), libGame_gv_teams[lp_team].lv_core);
UnitGroupAddUnitGroup(lv_freeZergUnitsGroup, UnitLastCreatedGroup());
libNtve_gf_CreateUnitsAtPoint2(libSCHO_gv_mMHO_FreeBanelingCount_C, "ZergBaneling", c_unitCreateIgnorePlacement, lv_owner, RegionRandomPoint(lv_spawnRegion), libGame_gv_teams[lp_team].lv_core);
UnitGroupAddUnitGroup(lv_freeZergUnitsGroup, UnitLastCreatedGroup());
libNtve_gf_CreateUnitsAtPoint2(libSCHO_gv_mMHO_FreeHydraliskCount_C, "ZergHydralisk", c_unitCreateIgnorePlacement, lv_owner, RegionRandomPoint(lv_spawnRegion), libGame_gv_teams[lp_team].lv_core);
UnitGroupAddUnitGroup(lv_freeZergUnitsGroup, UnitLastCreatedGroup());
libNtve_gf_CreateUnitsAtPoint2(libSCHO_gv_mMHO_FreeUltraliskCount_C, "ZergUltralisk", c_unitCreateIgnorePlacement, lv_owner, RegionRandomPoint(lv_spawnRegion), libGame_gv_teams[lp_team].lv_core);
UnitGroupAddUnitGroup(lv_freeZergUnitsGroup, UnitLastCreatedGroup());
libNtve_gf_CreateUnitsAtPoint2(libSCHO_gv_mMHO_FreeGuardianCount_C, "ZergGuardian", c_unitCreateIgnorePlacement, lv_owner, RegionRandomPoint(lv_spawnRegion), libGame_gv_teams[lp_team].lv_core);
UnitGroupAdd(lv_freeZergUnitsGroup, UnitLastCreated());
autoD843BB99_g = lv_freeZergUnitsGroup;
autoD843BB99_u = UnitGroupCount(autoD843BB99_g, c_unitCountAll);
for (;; autoD843BB99_u -= 1) {
lv_itUnit = UnitGroupUnitFromEnd(autoD843BB99_g, autoD843BB99_u);
if (lv_itUnit == null) { break; }
UnitGroupAdd(libSCHO_gv_mMHO_AttackGroups[lp_team][libSCHO_gv_mMHO_WaveTracker], lv_itUnit);
UnitBehaviorAdd(lv_itUnit, "ZergStasisBehavior", lv_itUnit, 1);
libAIAI_gf_MinionAIUnhookUnitFromMinionAI(lv_itUnit);
UnitIssueOrder(lv_itUnit, OrderTargetingPoint(AbilityCommand("move", 0), PointWithOffsetPolar(lv_moveTargetLocation, RandomInt(0, 3), RandomFixed(0.0, 360.0))), c_orderQueueReplace);
}
}
void libSCHO_gf_MMHOPeriodicallySpawnZergUnits (int lp_team) {
// Variable Declarations
region lv_spawnRegion;
region lv_topSpawnRegion;
region lv_bottomSpawnRegion;
int lv_spawnQuadrant;
// Automatic Variable Declarations
// Variable Initialization
lv_topSpawnRegion = libSCHO_gv_mMHO_Chaos_TopSpawnRegion;
// Implementation
if ((lp_team == libGame_gv_teamOrderIndex_C)) {
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_spawnRegion = libSCHO_gv_mMHO_Order_BottomSpawnRegion;
}
else {
lv_spawnRegion = libSCHO_gv_mMHO_Order_TopSpawnRegion;
}
}
else {
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_spawnRegion = libSCHO_gv_mMHO_Chaos_TopSpawnRegion;
}
else {
lv_spawnRegion = libSCHO_gv_mMHO_Chaos_BottomSpawnRegion;
}
}
libSCHO_gf_MMHOModifySpawnProgressVariables(lp_team);
libSCHO_gf_MMHODetermineSpawnCompositionBasedOnProgress(lp_team, lv_spawnRegion);
}
void libSCHO_gf_MMHOModifySpawnProgressVariables (int lp_team) {
// Automatic Variable Declarations
// Implementation
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] <= libSCHO_gv_mMHO_ZerglingBanelingConversionPoint_C)) {
libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_zerglingCount += libSCHO_gv_mMHO_ControlBeaconProgressIncrement_C;
}
else {
libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_banelingCount += libSCHO_gv_mMHO_ControlBeaconProgressIncrement_C;
}
libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_hydraliskCount += libSCHO_gv_mMHO_ControlBeaconProgressIncrement_C;
libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_guardianCount += libSCHO_gv_mMHO_ControlBeaconProgressIncrement_C;
libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_ultraliskCount += libSCHO_gv_mMHO_ControlBeaconProgressIncrement_C;
}
void libSCHO_gf_MMHODetermineSpawnCompositionBasedOnProgress (int lp_team, region lp_spawnRegion) {
// Variable Declarations
int lv_zerglingSpawnCount;
int lv_banelingSpawnCount;
int lv_hydraliskSpawnCount;
int lv_guardianSpawnCount;
int lv_ultraliskSpawnCount;
int lv_owner;
point lv_moveTargetLocation;
region lv_spawnRegion;
// Automatic Variable Declarations
int auto97983EC8_ae;
int auto97983EC8_var;
int auto5E17FE95_ae;
int auto5E17FE95_var;
int auto9A188936_ae;
int auto9A188936_var;
int auto34093CCA_ae;
int auto34093CCA_var;
int autoE6DF77C6_ae;
int autoE6DF77C6_var;
// Variable Initialization
// Implementation
if (((lp_spawnRegion == libSCHO_gv_mMHO_Chaos_TopSpawnRegion) || (lp_spawnRegion == libSCHO_gv_mMHO_Chaos_BottomSpawnRegion))) {
lv_owner = libCore_gv_cOMPUTER_TeamChaos;
if ((lp_spawnRegion == libSCHO_gv_mMHO_Chaos_TopSpawnRegion)) {
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] < 33.0)) {
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[1].lv_frontSpawnRegion);
}
else {
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] < 66.0)) {
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[1].lv_middleSpawnRegion);
}
else {
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] <= 100.0)) {
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[1].lv_backSpawnRegion);
}
}
}
}
else {
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] < 33.0)) {
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[3].lv_frontSpawnRegion);
}
else {
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] < 66.0)) {
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[3].lv_middleSpawnRegion);
}
else {
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] <= 100.0)) {
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[3].lv_backSpawnRegion);
}
}
}
}
}
else {
lv_owner = libCore_gv_cOMPUTER_TeamOrder;
if ((lp_spawnRegion == libSCHO_gv_mMHO_Order_TopSpawnRegion)) {
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] < 33.0)) {
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[0].lv_frontSpawnRegion);
}
else {
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] < 66.0)) {
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[0].lv_middleSpawnRegion);
}
else {
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] <= 100.0)) {
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[0].lv_backSpawnRegion);
}
}
}
}
else {
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] < 33.0)) {
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[2].lv_frontSpawnRegion);
}
else {
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] < 66.0)) {
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[2].lv_middleSpawnRegion);
}
else {
if ((libSCHO_gv_mMHO_TeamProgress[lp_team] <= 100.0)) {
lv_moveTargetLocation = RegionRandomPoint(libSCHO_gv_mMHOSpawnCageRegions[2].lv_backSpawnRegion);
}
}
}
}
}
while ((libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_zerglingCount >= libSCHO_gv_mMHO_ZerglingBanelingSubtractor_C)) {
libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_zerglingCount -= libSCHO_gv_mMHO_ZerglingBanelingSubtractor_C;
lv_zerglingSpawnCount += 1;
}
while ((libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_banelingCount >= libSCHO_gv_mMHO_ZerglingBanelingSubtractor_C)) {
libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_banelingCount -= libSCHO_gv_mMHO_ZerglingBanelingSubtractor_C;
lv_banelingSpawnCount += 1;
}
while ((libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_hydraliskCount >= libSCHO_gv_mMHO_HydraliskSubtractor_C)) {
libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_hydraliskCount -= libSCHO_gv_mMHO_HydraliskSubtractor_C;
lv_hydraliskSpawnCount += 1;
}
while ((libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_guardianCount >= libSCHO_gv_mMHO_GuardianSubtractor_C)) {
libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_guardianCount -= libSCHO_gv_mMHO_GuardianSubtractor_C;
lv_guardianSpawnCount += 1;
}
while ((libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_ultraliskCount >= libSCHO_gv_mMHO_UltraliskSubtractor_C)) {
libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_ultraliskCount -= libSCHO_gv_mMHO_UltraliskSubtractor_C;
lv_ultraliskSpawnCount += 1;
}
auto97983EC8_ae = lv_zerglingSpawnCount;
auto97983EC8_var = 1;
for ( ; auto97983EC8_var <= auto97983EC8_ae; auto97983EC8_var += 1 ) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "ZergZergling", c_unitCreateIgnorePlacement, lv_owner, RegionRandomPoint(lp_spawnRegion), null);
UnitGroupAdd(libSCHO_gv_mMHO_AttackGroups[lp_team][libSCHO_gv_mMHO_WaveTracker], UnitLastCreated());
UnitBehaviorAdd(UnitLastCreated(), "ZergStasisBehavior", UnitLastCreated(), 1);
libAIAI_gf_MinionAIUnhookUnitFromMinionAI(UnitLastCreated());
UnitIssueOrder(UnitLastCreated(), OrderTargetingPoint(AbilityCommand("move", 0), lv_moveTargetLocation), c_orderQueueReplace);
}
auto5E17FE95_ae = lv_banelingSpawnCount;
auto5E17FE95_var = 1;
for ( ; auto5E17FE95_var <= auto5E17FE95_ae; auto5E17FE95_var += 1 ) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "ZergBaneling", c_unitCreateIgnorePlacement, lv_owner, RegionRandomPoint(lp_spawnRegion), null);
UnitGroupAdd(libSCHO_gv_mMHO_AttackGroups[lp_team][libSCHO_gv_mMHO_WaveTracker], UnitLastCreated());
UnitBehaviorAdd(UnitLastCreated(), "ZergStasisBehavior", UnitLastCreated(), 1);
libAIAI_gf_MinionAIUnhookUnitFromMinionAI(UnitLastCreated());
UnitIssueOrder(UnitLastCreated(), OrderTargetingPoint(AbilityCommand("move", 0), lv_moveTargetLocation), c_orderQueueReplace);
}
auto9A188936_ae = lv_hydraliskSpawnCount;
auto9A188936_var = 1;
for ( ; auto9A188936_var <= auto9A188936_ae; auto9A188936_var += 1 ) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "ZergHydralisk", c_unitCreateIgnorePlacement, lv_owner, RegionRandomPoint(lp_spawnRegion), null);
UnitGroupAdd(libSCHO_gv_mMHO_AttackGroups[lp_team][libSCHO_gv_mMHO_WaveTracker], UnitLastCreated());
UnitBehaviorAdd(UnitLastCreated(), "ZergStasisBehavior", UnitLastCreated(), 1);
libAIAI_gf_MinionAIUnhookUnitFromMinionAI(UnitLastCreated());
UnitIssueOrder(UnitLastCreated(), OrderTargetingPoint(AbilityCommand("move", 0), lv_moveTargetLocation), c_orderQueueReplace);
}
auto34093CCA_ae = lv_guardianSpawnCount;
auto34093CCA_var = 1;
for ( ; auto34093CCA_var <= auto34093CCA_ae; auto34093CCA_var += 1 ) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "ZergGuardian", c_unitCreateIgnorePlacement, lv_owner, RegionRandomPoint(lp_spawnRegion), null);
UnitGroupAdd(libSCHO_gv_mMHO_AttackGroups[lp_team][libSCHO_gv_mMHO_WaveTracker], UnitLastCreated());
UnitBehaviorAdd(UnitLastCreated(), "ZergStasisBehavior", UnitLastCreated(), 1);
libAIAI_gf_MinionAIUnhookUnitFromMinionAI(UnitLastCreated());
UnitIssueOrder(UnitLastCreated(), OrderTargetingPoint(AbilityCommand("move", 0), lv_moveTargetLocation), c_orderQueueReplace);
}
autoE6DF77C6_ae = lv_ultraliskSpawnCount;
autoE6DF77C6_var = 1;
for ( ; autoE6DF77C6_var <= autoE6DF77C6_ae; autoE6DF77C6_var += 1 ) {
libSCHO_gf_MMHOActivateUltraliskForTeam(lv_moveTargetLocation, lp_team);
}
}
void libSCHO_gf_MMHOResetSpawnProgressVariables (int lp_team) {
// Automatic Variable Declarations
// Implementation
libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_zerglingCount = 0.0;
libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_banelingCount = 0.0;
libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_hydraliskCount = 0.0;
libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_guardianCount = 0.0;
libSCHO_gv_mMHO_SpawnProgressTracker[lp_team].lv_ultraliskCount = 0.0;
}
void libSCHO_gf_MMHOSpawnUltralisksForTeam (int lp_team) {
// Variable Declarations
point lv_spawnLocation1;
point lv_spawnLocation2;
int lv_owner;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
lv_owner = libGame_gf_ComputerPlayerInTeam(lp_team);
if ((lp_team == libGame_gv_teamOrderIndex_C)) {
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_spawnLocation1 = libSCHO_gv_mMHO_Order_BottomUltraliskPoints[1];
lv_spawnLocation2 = libSCHO_gv_mMHO_Order_BottomUltraliskPoints[2];
}
else {
lv_spawnLocation1 = libSCHO_gv_mMHO_Order_TopUltraliskPoints[1];
lv_spawnLocation2 = libSCHO_gv_mMHO_Order_TopUltraliskPoints[2];
}
}
else {
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
lv_spawnLocation1 = libSCHO_gv_mMHO_Chaos_TopUltraliskPoints[1];
lv_spawnLocation2 = libSCHO_gv_mMHO_Chaos_TopUltraliskPoints[2];
}
else {
lv_spawnLocation1 = libSCHO_gv_mMHO_Chaos_BottomUltraliskPoints[1];
lv_spawnLocation2 = libSCHO_gv_mMHO_Chaos_BottomUltraliskPoints[2];
}
}
libNtve_gf_CreateUnitsAtPoint2(1, "ZergUltralisk", c_unitCreateIgnorePlacement, lv_owner, lv_spawnLocation1, null);
UnitBehaviorAdd(UnitLastCreated(), "ZergStasisBehavior", UnitLastCreated(), 1);
libAIAI_gf_MinionAIUnhookUnitFromMinionAI(UnitLastCreated());
if ((lp_team == libGame_gv_teamOrderIndex_C)) {
UnitGroupAdd(libSCHO_gv_mMHO_OrderUltralisks, UnitLastCreated());
}
else {
UnitGroupAdd(libSCHO_gv_mMHO_ChaosUltralisks, UnitLastCreated());
}
libNtve_gf_CreateUnitsAtPoint2(1, "ZergUltralisk", c_unitCreateIgnorePlacement, lv_owner, lv_spawnLocation2, null);
UnitBehaviorAdd(UnitLastCreated(), "ZergStasisBehavior", UnitLastCreated(), 1);
libAIAI_gf_MinionAIUnhookUnitFromMinionAI(UnitLastCreated());
if ((lp_team == libGame_gv_teamOrderIndex_C)) {
UnitGroupAdd(libSCHO_gv_mMHO_OrderUltralisks, UnitLastCreated());
}
else {
UnitGroupAdd(libSCHO_gv_mMHO_ChaosUltralisks, UnitLastCreated());
}
}
void libSCHO_gf_MMHOActivateUltraliskForTeam (point lp_targetLocation, int lp_team) {
// Variable Declarations
unit lv_ultraliskToActivate;
unit lv_itUnit;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
libSCHO_gf_MMHOOpenLeftRightUltraliskCages(lp_team);
if ((lp_team == libGame_gv_teamOrderIndex_C)) {
lv_ultraliskToActivate = UnitGroupUnit(libSCHO_gv_mMHO_OrderUltralisks, 1);
UnitGroupRemove(libSCHO_gv_mMHO_OrderUltralisks, lv_ultraliskToActivate);
}
else {
lv_ultraliskToActivate = UnitGroupUnit(libSCHO_gv_mMHO_ChaosUltralisks, 1);
UnitGroupRemove(libSCHO_gv_mMHO_ChaosUltralisks, lv_ultraliskToActivate);
}
libNtve_gf_SendActorMessageToUnit(lv_ultraliskToActivate, "StatusSet Released 1");
UnitGroupAdd(libSCHO_gv_mMHO_AttackGroups[lp_team][libSCHO_gv_mMHO_WaveTracker], lv_ultraliskToActivate);
UnitIssueOrder(lv_ultraliskToActivate, OrderTargetingPoint(AbilityCommand("move", 0), lp_targetLocation), c_orderQueueReplace);
}
void libSCHO_gf_MMHOCleanUpRemainingUltralisks () {
// Variable Declarations
unit lv_itUnit;
// Automatic Variable Declarations
unitgroup auto72CF5C42_g;
int auto72CF5C42_u;
unitgroup auto1A40C015_g;
int auto1A40C015_u;
// Variable Initialization
// Implementation
auto72CF5C42_g = libSCHO_gv_mMHO_ChaosUltralisks;
auto72CF5C42_u = UnitGroupCount(auto72CF5C42_g, c_unitCountAll);
for (;; auto72CF5C42_u -= 1) {
lv_itUnit = UnitGroupUnitFromEnd(auto72CF5C42_g, auto72CF5C42_u);
if (lv_itUnit == null) { break; }
UnitKill(lv_itUnit);
}
auto1A40C015_g = libSCHO_gv_mMHO_OrderUltralisks;
auto1A40C015_u = UnitGroupCount(auto1A40C015_g, c_unitCountAll);
for (;; auto1A40C015_u -= 1) {
lv_itUnit = UnitGroupUnitFromEnd(auto1A40C015_g, auto1A40C015_u);
if (lv_itUnit == null) { break; }
UnitKill(lv_itUnit);
}
UnitGroupClear(libSCHO_gv_mMHO_ChaosUltralisks);
UnitGroupClear(libSCHO_gv_mMHO_OrderUltralisks);
}
void libSCHO_gf_MMHORemoveStasisBehaviorFromZerg () {
// Variable Declarations
unit lv_itUnit;
// Automatic Variable Declarations
unitgroup auto04A65BF4_g;
int auto04A65BF4_u;
unitgroup auto62836594_g;
int auto62836594_u;
// Variable Initialization
// Implementation
auto04A65BF4_g = libSCHO_gv_mMHO_AttackGroups[libGame_gv_teamOrderIndex_C][libSCHO_gv_mMHO_WaveTracker];
auto04A65BF4_u = UnitGroupCount(auto04A65BF4_g, c_unitCountAll);
for (;; auto04A65BF4_u -= 1) {
lv_itUnit = UnitGroupUnitFromEnd(auto04A65BF4_g, auto04A65BF4_u);
if (lv_itUnit == null) { break; }
UnitBehaviorRemove(lv_itUnit, "ZergStasisBehavior", 1);
UnitXPAddXP(lv_itUnit, null, libSCHO_gv_mMHO_ScalingLevel);
}
auto62836594_g = libSCHO_gv_mMHO_AttackGroups[libGame_gv_teamChaosIndex_C][libSCHO_gv_mMHO_WaveTracker];
auto62836594_u = UnitGroupCount(auto62836594_g, c_unitCountAll);
for (;; auto62836594_u -= 1) {
lv_itUnit = UnitGroupUnitFromEnd(auto62836594_g, auto62836594_u);
if (lv_itUnit == null) { break; }
UnitBehaviorRemove(lv_itUnit, "ZergStasisBehavior", 1);
UnitXPAddXP(lv_itUnit, null, libSCHO_gv_mMHO_ScalingLevel);
}
}
void libSCHO_gf_MMHODetermineFreeZerglingBanelingCount () {
// Variable Declarations
int lv_team;
// Automatic Variable Declarations
const int auto409D017F_ae = 2;
const int auto409D017F_ai = 1;
// Variable Initialization
// Implementation
lv_team = 1;
for ( ; ( (auto409D017F_ai >= 0 && lv_team <= auto409D017F_ae) || (auto409D017F_ai < 0 && lv_team >= auto409D017F_ae) ) ; lv_team += auto409D017F_ai ) {
while ((libSCHO_gv_mMHO_TeamProgress[lv_team] > 0.0)) {
if ((libSCHO_gv_mMHO_TeamProgress[lv_team] >= 51.0)) {
libSCHO_gv_mMHO_TeamProgress[lv_team] -= libSCHO_gv_mMHO_ZerglingBanelingSubtractor_C;
libSCHO_gv_mMHO_BanelingCount[lv_team] += 1;
}
else {
libSCHO_gv_mMHO_TeamProgress[lv_team] -= libSCHO_gv_mMHO_ZerglingBanelingSubtractor_C;
libSCHO_gv_mMHO_ZerglingCount[lv_team] += 1;
}
}
}
}
void libSCHO_gf_MMHOSpawnZerglingsBanelings (int lp_attackLane, int lp_team, region lp_spawnRegion) {
// Variable Declarations
int lv_itZergling;
int lv_itBaneling;
// Automatic Variable Declarations
int auto83859561_ae;
const int auto83859561_ai = 1;
int autoF4E4979F_val;
int auto5BCD9153_ae;
const int auto5BCD9153_ai = 1;
int auto4352345E_val;
// Variable Initialization
// Implementation
auto83859561_ae = libSCHO_gv_mMHO_ZerglingCount[lp_team];
lv_itZergling = 1;
for ( ; ( (auto83859561_ai >= 0 && lv_itZergling <= auto83859561_ae) || (auto83859561_ai < 0 && lv_itZergling >= auto83859561_ae) ) ; lv_itZergling += auto83859561_ai ) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "ZergZergling", 0, libGame_gf_ComputerPlayerInTeam(lp_team), RegionRandomPoint(lp_spawnRegion), null);
UnitGroupAdd(libSCHO_gv_mMHO_AttackGroups[lp_attackLane][libSCHO_gv_mMHO_WaveTracker], UnitLastCreated());
Wait(RandomFixed(0.0625, 0.125), c_timeGame);
autoF4E4979F_val = libSCHO_gv_mMHO_WaveTracker;
if (autoF4E4979F_val == 1) {
UnitBehaviorAdd(UnitLastCreated(), "Group1", UnitLastCreated(), 1);
}
else if (autoF4E4979F_val == 2) {
UnitBehaviorAdd(UnitLastCreated(), "Group2", UnitLastCreated(), 1);
}
else if (autoF4E4979F_val == 3) {
UnitBehaviorAdd(UnitLastCreated(), "Group3", UnitLastCreated(), 1);
}
else {
}
}
auto5BCD9153_ae = libSCHO_gv_mMHO_BanelingCount[lp_team];
lv_itBaneling = 1;
for ( ; ( (auto5BCD9153_ai >= 0 && lv_itBaneling <= auto5BCD9153_ae) || (auto5BCD9153_ai < 0 && lv_itBaneling >= auto5BCD9153_ae) ) ; lv_itBaneling += auto5BCD9153_ai ) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "ZergBaneling", 0, libGame_gf_ComputerPlayerInTeam(lp_team), RegionRandomPoint(lp_spawnRegion), null);
UnitGroupAdd(libSCHO_gv_mMHO_AttackGroups[lp_attackLane][libSCHO_gv_mMHO_WaveTracker], UnitLastCreated());
Wait(RandomFixed(0.0625, 0.125), c_timeGame);
auto4352345E_val = libSCHO_gv_mMHO_WaveTracker;
if (auto4352345E_val == 1) {
UnitBehaviorAdd(UnitLastCreated(), "Group1", UnitLastCreated(), 1);
}
else if (auto4352345E_val == 2) {
UnitBehaviorAdd(UnitLastCreated(), "Group2", UnitLastCreated(), 1);
}
else if (auto4352345E_val == 3) {
UnitBehaviorAdd(UnitLastCreated(), "Group3", UnitLastCreated(), 1);
}
else {
}
}
}
void libSCHO_gf_MMHOSpawnLanerArchangel (int lp_team, int lp_campIndex) {
// Variable Declarations
int lv_lane;
int lv_region;
// Automatic Variable Declarations
int autoCAB42D54_val;
// Variable Initialization
// Implementation
autoCAB42D54_val = lp_campIndex;
if (autoCAB42D54_val == 5) {
TimerStart(libSCHO_gv_mMHO_Elevator.lv_elevatorRaiseTimer, (libMapM_gv_jungleCreepCamps[5].lv_defenderRespawnTime - 8), false, c_timeGame);
libSCHO_gv_mMHO_ArchangelWinningTeam = lp_team;
libNtve_gf_CreateUnitsWithDefaultFacing(1, "TerranArchangelLaner", c_unitCreateIgnorePlacement, libGame_gf_ComputerPlayerInTeam(lp_team), libSCHO_gv_mMHO_ArchangelSpawnLocationCenter, null);
libSCHO_gv_mMHO_ArchangelLaner = UnitLastCreated();
UnitXPAddXP(UnitLastCreated(), null, libSCHO_gv_mMHO_ScalingLevel);
libSCHO_gf_MMHOCalculateArchangelRallyPoint();
libGame_gf_CalculateSpawnedMinionGoalPoints(libGame_gf_ComputerPlayerInTeam(lp_team), libSCHO_gv_mMHO_ArchangelSpawnLocationCenter);
libAIAI_gf_MinionAIStartMinionAI(-1, libSCHO_gv_mMHO_ArchangelLaner, libSCHO_gf_MMHODetermineArchangelPushingLane(lp_team), libGame_gv_spawnedMinionFirstWaypointIndex, true, false, false, libGame_gf_EnemyTeam(lp_team), true);
UnitSetCustomValue(libSCHO_gv_mMHO_ArchangelLaner, libCore_gf_CustomValueIndex(libCore_ge_CustomValueIndexes_MercLanerGroupIndex), IntToFixed(libSCHO_gv_mMHO_ArchangelAICustomUnitValue));
SoundPlayForPlayer(SoundLink("Doodad_Merc_Camp_Capture_Ally", -1), libGame_gf_ComputerPlayerInTeam(lp_team), libGame_gf_PlayersOnTeamHeroes(lp_team, false), 100.0, 0.0);
SoundPlayForPlayer(SoundLink("Doodad_Merc_Camp_Capture_Enemy", -1), libGame_gf_ComputerPlayerInTeam((3 - lp_team)), libGame_gf_PlayersOnTeamHeroes((3 - lp_team), false), 100.0, 0.0);
SoundPlayForPlayer(SoundLink("Doodad_Merc_Camp_Capture_Ally", -1), libCore_gv_oBSERVER_ObserverUIPlayer, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], 100.0, 0.0);
TriggerEnable(libSCHO_gt_MMHOArchangelDies, true);
TriggerEnable(libSCHO_gt_MMHOArchangelUpdateMercPath, true);
libSCHO_gf_MMHOCreateArchangelPathLine(libSCHO_gv_mMHO_ArchangelLaner, true);
}
else {
}
}
void libSCHO_gf_MMHOSetArchangelLanerStartPoints (point lp_lane1, point lp_lane2, point lp_center) {
// Automatic Variable Declarations
// Implementation
libSCHO_gv_mMHO_ArchangelLanerStartPoints[1] = lp_lane1;
libSCHO_gv_mMHO_ArchangelLanerStartPoints[2] = lp_lane2;
libSCHO_gv_mMHO_ArchangelSpawnLocationCenter = lp_center;
}
void libSCHO_gf_MMHOCalculateArchangelRallyPoint () {
// Variable Declarations
int lv_lane;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
lv_lane = libSCHO_gf_MMHODetermineArchangelPushingLane(libSCHO_gv_mMHO_ArchangelWinningTeam);
if ((lv_lane == 0)) {
TriggerDebugOutput(1, StringExternal("Param/Value/lib_SCHO_A7005D13"), true);
}
libSCHO_gv_mMHO_ArchangelLanerRallyPoint = libSCHO_gv_mMHO_ArchangelLanerStartPoints[lv_lane];
}
int libSCHO_gf_MMHODetermineArchangelPushingLane (int lp_team) {
// Variable Declarations
int lv_teamEnemy;
int lv_computerEnemy;
int lv_lane;
// Automatic Variable Declarations
int autoDBA5D822_val;
// Variable Initialization
// Implementation
lv_teamEnemy = libGame_gf_EnemyTeam(lp_team);
lv_computerEnemy = libGame_gf_ComputerPlayerInTeam(lv_teamEnemy);
autoDBA5D822_val = lp_team;
if (autoDBA5D822_val == libGame_gv_teamOrderIndex_C) {
if ((libGame_gf_TownTownIsAlive(6, lv_computerEnemy) == true) && (libGame_gf_TownTownIsAlive(8, lv_computerEnemy) == true)) {
if ((libSCHO_gf_MMHOTownComparison(6, 8, lv_computerEnemy) > 0)) {
lv_lane = 1;
}
else if ((libSCHO_gf_MMHOTownComparison(6, 8, lv_computerEnemy) < 0)) {
lv_lane = 2;
}
else if (true) {
lv_lane = 0;
}
}
else if ((libGame_gf_TownTownIsAlive(6, lv_computerEnemy) == true)) {
lv_lane = 1;
}
else if ((libGame_gf_TownTownIsAlive(8, lv_computerEnemy) == true)) {
lv_lane = 2;
}
else if ((libGame_gf_TownTownIsAlive(5, lv_computerEnemy) == true) && (libGame_gf_TownTownIsAlive(7, lv_computerEnemy) == true)) {
if ((libSCHO_gf_MMHOTownComparison(5, 7, lv_computerEnemy) > 0)) {
lv_lane = 1;
}
else if ((libSCHO_gf_MMHOTownComparison(5, 7, lv_computerEnemy) < 0)) {
lv_lane = 2;
}
else if (true) {
lv_lane = 0;
}
}
else if ((libGame_gf_TownTownIsAlive(5, lv_computerEnemy) == true)) {
lv_lane = 1;
}
else if ((libGame_gf_TownTownIsAlive(7, lv_computerEnemy) == true)) {
lv_lane = 2;
}
else if (true) {
lv_lane = 0;
}
}
else if (autoDBA5D822_val == libGame_gv_teamChaosIndex_C) {
if ((libGame_gf_TownTownIsAlive(2, lv_computerEnemy) == true) && (libGame_gf_TownTownIsAlive(4, lv_computerEnemy) == true)) {
if ((libSCHO_gf_MMHOTownComparison(2, 4, lv_computerEnemy) > 0)) {
lv_lane = 1;
}
else if ((libSCHO_gf_MMHOTownComparison(2, 4, lv_computerEnemy) < 0)) {
lv_lane = 2;
}
else if (true) {
lv_lane = 0;
}
}
else if ((libGame_gf_TownTownIsAlive(2, lv_computerEnemy) == true)) {
lv_lane = 1;
}
else if ((libGame_gf_TownTownIsAlive(4, lv_computerEnemy) == true)) {
lv_lane = 2;
}
else if ((libGame_gf_TownTownIsAlive(1, lv_computerEnemy) == true) && (libGame_gf_TownTownIsAlive(3, lv_computerEnemy) == true)) {
if ((libSCHO_gf_MMHOTownComparison(1, 3, lv_computerEnemy) > 0)) {
lv_lane = 1;
}
else if ((libSCHO_gf_MMHOTownComparison(1, 3, lv_computerEnemy) < 0)) {
lv_lane = 2;
}
else if (true) {
lv_lane = 0;
}
}
else if ((libGame_gf_TownTownIsAlive(1, lv_computerEnemy) == true)) {
lv_lane = 1;
}
else if ((libGame_gf_TownTownIsAlive(3, lv_computerEnemy) == true)) {
lv_lane = 2;
}
else if (true) {
lv_lane = 0;
}
}
else {
}
if ((lv_lane == 0)) {
lv_lane = RandomInt(1, 2);
}
return lv_lane;
}
int libSCHO_gf_MMHOTownComparison (int lp_town1, int lp_town2, int lp_player) {
// Variable Declarations
unitgroup lv_group;
unit lv_itStructure;
fixed lv_hPTotal;
fixed lv_townHP1;
fixed lv_townHP2;
// Automatic Variable Declarations
// Variable Initialization
lv_group = UnitGroupEmpty();
// Implementation
if ((libGame_gf_TownTownIsAlive(lp_town1, lp_player) == false) && (libGame_gf_TownTownIsAlive(lp_town2, lp_player) == false)) {
return 0;
}
if ((libGame_gf_TownTownIsAlive(lp_town1, lp_player) == false)) {
return -1;
}
if ((libGame_gf_TownTownIsAlive(lp_town2, lp_player) == false)) {
return 1;
}
if ((UnitIsAlive(libGame_gf_TownTownHall(lp_town1)) == true) && (UnitIsAlive(libGame_gf_TownTownHall(lp_town2)) == false)) {
return 1;
}
if ((UnitIsAlive(libGame_gf_TownTownHall(lp_town1)) == false) && (UnitIsAlive(libGame_gf_TownTownHall(lp_town2)) == true)) {
return -1;
}
lv_townHP1 = libSCHO_gf_MMHOTownHealth(lp_town1, lp_player);
lv_townHP2 = libSCHO_gf_MMHOTownHealth(lp_town2, lp_player);
if (((lv_townHP1 - lv_townHP2) > 0.0)) {
return 1;
}
if (((lv_townHP2 - lv_townHP1) > 0.0)) {
return -1;
}
return 0;
}
fixed libSCHO_gf_MMHOTownHealth (int lp_town, int lp_player) {
// Variable Declarations
unitgroup lv_group;
unit lv_itStructure;
fixed lv_hPTotal;
// Automatic Variable Declarations
unitgroup auto29A3DD09_g;
int auto29A3DD09_u;
// Variable Initialization
lv_group = UnitGroupEmpty();
// Implementation
lv_group = UnitGroup(null, lp_player, libGame_gv_townTownData[lp_town].lv_townRegion, UnitFilter((1 << c_targetFilterStructure), 0, (1 << c_targetFilterNoMinionAggro) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0);
auto29A3DD09_g = lv_group;
auto29A3DD09_u = UnitGroupCount(auto29A3DD09_g, c_unitCountAll);
for (;; auto29A3DD09_u -= 1) {
lv_itStructure = UnitGroupUnitFromEnd(auto29A3DD09_g, auto29A3DD09_u);
if (lv_itStructure == null) { break; }
if ((UnitGetType(lv_itStructure) != "TownMoonwell") && (UnitGetType(lv_itStructure) != "TownMoonwellL2") && (UnitGetType(lv_itStructure) != "TownMoonwellL3")) {
lv_hPTotal += UnitGetPropertyFixed(lv_itStructure, c_unitPropLife, c_unitPropCurrent);
}
}
return lv_hPTotal;
}
trigger auto_libSCHO_gf_MMHOCreateArchangelPathLine_Trigger = null;
unit auto_libSCHO_gf_MMHOCreateArchangelPathLine_lp_unit;
bool auto_libSCHO_gf_MMHOCreateArchangelPathLine_lp_new_Path;
void libSCHO_gf_MMHOCreateArchangelPathLine (unit lp_unit, bool lp_new_Path) {
auto_libSCHO_gf_MMHOCreateArchangelPathLine_lp_unit = lp_unit;
auto_libSCHO_gf_MMHOCreateArchangelPathLine_lp_new_Path = lp_new_Path;
if (auto_libSCHO_gf_MMHOCreateArchangelPathLine_Trigger == null) {
auto_libSCHO_gf_MMHOCreateArchangelPathLine_Trigger = TriggerCreate("auto_libSCHO_gf_MMHOCreateArchangelPathLine_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MMHOCreateArchangelPathLine_Trigger, false, false);
}
bool auto_libSCHO_gf_MMHOCreateArchangelPathLine_TriggerFunc (bool testConds, bool runActions) {
unit lp_unit = auto_libSCHO_gf_MMHOCreateArchangelPathLine_lp_unit;
bool lp_new_Path = auto_libSCHO_gf_MMHOCreateArchangelPathLine_lp_new_Path;
// Variable Declarations
int lv_currentLane;
int lv_itWaypoint;
// Automatic Variable Declarations
int auto7CA8A2BE_val;
// Variable Initialization
// Implementation
if ((UnitIsAlive(lp_unit) == false)) {
return true;
}
lv_currentLane = libAIAI_gf_MinionAIGetLaneForMinion(lp_unit);
lv_itWaypoint = libAIAI_gf_MinionAIGetNextWaypointIndexForMinion(lp_unit);
if ((lp_new_Path == false)) {
if ((libSCHO_gv_mMHO_ArchangelCurrentPathIndex < libSCHO_gv_mMHO_ArchangelPathIndexMax)) {
PathSetWayPointIndexStart(libSCHO_gv_mMHO_ArchangelLanerPathLine, libSCHO_gv_mMHO_ArchangelCurrentPathIndex);
}
else if ((libSCHO_gv_mMHO_ArchangelCurrentPathIndex >= libSCHO_gv_mMHO_ArchangelPathIndexMax)) {
PathDestroy(libSCHO_gv_mMHO_ArchangelLanerPathLine);
PathCreateForUnit(PlayerGroupAll(), lp_unit);
libSCHO_gv_mMHO_ArchangelLanerPathLine = PathLastCreated();
PathSetLineTexture(libSCHO_gv_mMHO_ArchangelLanerPathLine, c_pathLocationMinimap, "Assets\\Textures\\storm_waypointline.dds");
PathSetVisible(libSCHO_gv_mMHO_ArchangelLanerPathLine, c_pathLocationWorld, false);
PathSetOwnerPlayerId(libSCHO_gv_mMHO_ArchangelLanerPathLine, UnitGetOwner(lp_unit));
PathSetDestinationUnit(libSCHO_gv_mMHO_ArchangelLanerPathLine, libGame_gv_teams[libAIAI_gf_MinionAIGetTeamToAttackForMinion(lp_unit)].lv_core);
}
return true;
}
PathCreateForUnit(PlayerGroupAll(), lp_unit);
libSCHO_gv_mMHO_ArchangelLanerPathLine = PathLastCreated();
PathSetLineTexture(libSCHO_gv_mMHO_ArchangelLanerPathLine, c_pathLocationMinimap, "Assets\\Textures\\storm_waypointline.dds");
PathSetVisible(libSCHO_gv_mMHO_ArchangelLanerPathLine, c_pathLocationWorld, false);
auto7CA8A2BE_val = libAIAI_gf_MinionAIGetTeamToAttackForMinion(lp_unit);
if (auto7CA8A2BE_val == libGame_gv_teamChaosIndex_C) {
PathSetOwnerPlayerId(libSCHO_gv_mMHO_ArchangelLanerPathLine, libCore_gv_cOMPUTER_TeamOrder);
PathSetDestinationUnit(libSCHO_gv_mMHO_ArchangelLanerPathLine, libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_core);
while ((lv_itWaypoint < (libGame_gv_laneData[lv_currentLane].lv_waypointCount - 1))) {
PathAddWayPoint(libSCHO_gv_mMHO_ArchangelLanerPathLine, libGame_gv_laneData[lv_currentLane].lv_waypoints[lv_itWaypoint]);
lv_itWaypoint += 1;
libSCHO_gv_mMHO_ArchangelPathIndexMax += 1;
}
}
else if (auto7CA8A2BE_val == libGame_gv_teamOrderIndex_C) {
PathSetOwnerPlayerId(libSCHO_gv_mMHO_ArchangelLanerPathLine, libCore_gv_cOMPUTER_TeamChaos);
PathSetDestinationUnit(libSCHO_gv_mMHO_ArchangelLanerPathLine, libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_core);
while ((lv_itWaypoint > 1)) {
PathAddWayPoint(libSCHO_gv_mMHO_ArchangelLanerPathLine, libGame_gv_laneData[lv_currentLane].lv_waypoints[lv_itWaypoint]);
lv_itWaypoint -= 1;
libSCHO_gv_mMHO_ArchangelPathIndexMax += 1;
}
}
else {
}
return true;
}
void libSCHO_gf_MMHOElevatorAddRemoveUnpathable (bool lp_addRemove) {
// Automatic Variable Declarations
// Implementation
if ((lp_addRemove == true)) {
if ((libSCHO_gv_mMHO_ArchangelElevatorBlockerUnit == null)) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "ArchangelElevatorPathingBlocker", c_unitCreateIgnorePlacement, libCore_gv_cOMPUTER_Neutral, libSCHO_gv_mMHO_ArchangelSpawnLocationCenter, null);
libSCHO_gv_mMHO_ArchangelElevatorBlockerUnit = UnitLastCreated();
}
}
else {
UnitRemove(libSCHO_gv_mMHO_ArchangelElevatorBlockerUnit);
libSCHO_gv_mMHO_ArchangelElevatorBlockerUnit = null;
libSCHO_gv_mMHO_ArchangelElevator_ShouldBeLowered = false;
}
}
trigger auto_libSCHO_gf_MMHODelayElevatorLowering_Trigger = null;
void libSCHO_gf_MMHODelayElevatorLowering () {
if (auto_libSCHO_gf_MMHODelayElevatorLowering_Trigger == null) {
auto_libSCHO_gf_MMHODelayElevatorLowering_Trigger = TriggerCreate("auto_libSCHO_gf_MMHODelayElevatorLowering_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MMHODelayElevatorLowering_Trigger, false, false);
}
bool auto_libSCHO_gf_MMHODelayElevatorLowering_TriggerFunc (bool testConds, bool runActions) {
// Variable Declarations
unit lv_itUnit;
unit lv_itHeroUnit;
// Automatic Variable Declarations
const int autoF20BAEF3_n = 5;
int autoF20BAEF3_i;
unitgroup auto6C343D0B_g;
int auto6C343D0B_u;
// Variable Initialization
// Implementation
Wait(5.0, c_timeGame);
libSCHO_gv_mMHO_ArchangelElevator_ShouldBeLowered = true;
while (!(((libSCHO_gv_mMHO_ArchangelElevator_ShouldBeLowered == false) || ((UnitGroupCount(UnitGroup(null, c_playerAny, libSCHO_gv_mMHO_ArchangelElevatorRegion, UnitFilter((1 << c_targetFilterHeroic), 0, 0, 0), 0), c_unitCountAlive) == 0) && (UnitGroupCount(UnitGroup(null, c_playerAny, libSCHO_gv_mMHO_ArchangelElevatorRegion, UnitFilter(0, (1 << (c_targetFilterSummoned - 32)), 0, 0), 0), c_unitCountAlive) == 0) && (UnitGroupCount(UnitGroup(null, c_playerAny, libSCHO_gv_mMHO_ArchangelElevatorRegion, UnitFilter((1 << c_targetFilterMinion), 0, 0, 0), 0), c_unitCountAlive) == 0) && (UnitGroupCount(UnitGroup(null, c_playerAny, libSCHO_gv_mMHO_ArchangelElevatorRegion, UnitFilter((1 << c_targetFilterCreep), 0, 0, 0), 0), c_unitCountAlive) == 0))))) {
Wait(0.0625, c_timeGame);
}
if ((libSCHO_gv_mMHO_ArchangelElevator_ShouldBeLowered == true)) {
libSCHO_gv_mMHO_Elevator.lv_elevatorWasLowered = true;
libSCHO_gf_MMHOElevatorAddRemoveUnpathable(true);
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_ArchangelElevator), "Signal Down");
for (autoF20BAEF3_i = 1; autoF20BAEF3_i <= autoF20BAEF3_n; autoF20BAEF3_i += 1) {
auto6C343D0B_g = UnitGroup(null, c_playerAny, libSCHO_gv_mMHO_ArchangelElevatorRegion, libCore_gv_filtersHeroic, 0);
auto6C343D0B_u = UnitGroupCount(auto6C343D0B_g, c_unitCountAll);
for (;; auto6C343D0B_u -= 1) {
lv_itHeroUnit = UnitGroupUnitFromEnd(auto6C343D0B_g, auto6C343D0B_u);
if (lv_itHeroUnit == null) { break; }
UnitCreateEffectUnit(lv_itHeroUnit, "HeroGenericMissileInterruptLaunchMissile", lv_itHeroUnit);
}
Wait(0.0625, c_timeGame);
}
}
else {
libSCHO_gv_mMHO_Elevator.lv_elevatorWasLowered = false;
}
return true;
}
trigger auto_libSCHO_gf_MMHOCreateDropPod_Trigger = null;
point auto_libSCHO_gf_MMHOCreateDropPod_lp_dropPodPosition;
int auto_libSCHO_gf_MMHOCreateDropPod_lp_dropPodOwner;
void libSCHO_gf_MMHOCreateDropPod (point lp_dropPodPosition, int lp_dropPodOwner) {
auto_libSCHO_gf_MMHOCreateDropPod_lp_dropPodPosition = lp_dropPodPosition;
auto_libSCHO_gf_MMHOCreateDropPod_lp_dropPodOwner = lp_dropPodOwner;
if (auto_libSCHO_gf_MMHOCreateDropPod_Trigger == null) {
auto_libSCHO_gf_MMHOCreateDropPod_Trigger = TriggerCreate("auto_libSCHO_gf_MMHOCreateDropPod_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MMHOCreateDropPod_Trigger, false, false);
}
bool auto_libSCHO_gf_MMHOCreateDropPod_TriggerFunc (bool testConds, bool runActions) {
point lp_dropPodPosition = auto_libSCHO_gf_MMHOCreateDropPod_lp_dropPodPosition;
int lp_dropPodOwner = auto_libSCHO_gf_MMHOCreateDropPod_lp_dropPodOwner;
// Variable Declarations
const int lv_zerglingsPerDropPod_C = 3;
const int lv_hydralisksPerDropPod_C = 1;
const fixed lv_pathablePointSearchRadius_C = 6.0;
point lv_pathablePoint;
// Automatic Variable Declarations
const int auto72A1A2A5_n = lv_zerglingsPerDropPod_C;
int auto72A1A2A5_i;
const int autoD8D71635_n = lv_hydralisksPerDropPod_C;
int autoD8D71635_i;
// Variable Initialization
lv_pathablePoint = UnitTypePlacementFromPoint("ZergUltralisk", lp_dropPodOwner, lp_dropPodPosition, lv_pathablePointSearchRadius_C);
// Implementation
PlayerCreateEffectPoint(lp_dropPodOwner, "BraxisDropPodCreatePersistent", lp_dropPodPosition);
Wait(1.4, c_timeGame);
for (auto72A1A2A5_i = 1; auto72A1A2A5_i <= auto72A1A2A5_n; auto72A1A2A5_i += 1) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "ZergZergling", 0, lp_dropPodOwner, lp_dropPodPosition, null);
UnitXPAddXP(UnitLastCreated(), null, libSCHO_gv_mMHO_ScalingLevel);
UnitCreateAIThinkTree(UnitLastCreated());
}
for (autoD8D71635_i = 1; autoD8D71635_i <= autoD8D71635_n; autoD8D71635_i += 1) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "ZergHydralisk", 0, lp_dropPodOwner, lp_dropPodPosition, null);
UnitXPAddXP(UnitLastCreated(), null, libSCHO_gv_mMHO_ScalingLevel);
UnitCreateAIThinkTree(UnitLastCreated());
}
return true;
}
trigger auto_libSCHO_gf_MMHODisplayRegenGlobeGeneratorTimer_Trigger = null;
unit auto_libSCHO_gf_MMHODisplayRegenGlobeGeneratorTimer_lp_unit;
void libSCHO_gf_MMHODisplayRegenGlobeGeneratorTimer (unit lp_unit) {
auto_libSCHO_gf_MMHODisplayRegenGlobeGeneratorTimer_lp_unit = lp_unit;
if (auto_libSCHO_gf_MMHODisplayRegenGlobeGeneratorTimer_Trigger == null) {
auto_libSCHO_gf_MMHODisplayRegenGlobeGeneratorTimer_Trigger = TriggerCreate("auto_libSCHO_gf_MMHODisplayRegenGlobeGeneratorTimer_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MMHODisplayRegenGlobeGeneratorTimer_Trigger, false, false);
}
bool auto_libSCHO_gf_MMHODisplayRegenGlobeGeneratorTimer_TriggerFunc (bool testConds, bool runActions) {
unit lp_unit = auto_libSCHO_gf_MMHODisplayRegenGlobeGeneratorTimer_lp_unit;
// Automatic Variable Declarations
// Implementation
TextExpressionSetToken("Param/Expression/lib_SCHO_D818FDB9", "A", TextTimeFormat(StringToText("<min2/>:<sec2/>"), FixedToInt(UnitBehaviorDuration(lp_unit, "GenerateRegenGlobe"))));
TextTagCreate(TextExpressionAssemble("Param/Expression/lib_SCHO_D818FDB9"), 24, UnitGetPosition(lp_unit), 2.0, true, false, PlayerGroupAll());
while ((UnitHasBehavior2(lp_unit, "GenerateRegenGlobe") == true)) {
TextExpressionSetToken("Param/Expression/lib_SCHO_4B812242", "A", TextTimeFormat(StringToText("<min2/>:<sec2/>"), FixedToInt(UnitBehaviorDuration(lp_unit, "GenerateRegenGlobe"))));
TextTagSetText(TextTagLastCreated(), TextExpressionAssemble("Param/Expression/lib_SCHO_4B812242"));
Wait(1.0, c_timeGame);
}
TextTagDestroy(TextTagLastCreated());
return true;
}
void libSCHO_gf_MMHORegenGlobeCoolupTime () {
// Automatic Variable Declarations
unitgroup auto126029DC_g;
int auto126029DC_u;
unit auto126029DC_var;
// Implementation
auto126029DC_g = UnitGroup("RegenGlobeGenerator", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
auto126029DC_u = UnitGroupCount(auto126029DC_g, c_unitCountAll);
for (;; auto126029DC_u -= 1) {
auto126029DC_var = UnitGroupUnitFromEnd(auto126029DC_g, auto126029DC_u);
if (auto126029DC_var == null) { break; }
UnitBehaviorSetDuration(auto126029DC_var, "GenerateRegenGlobe", libSCHO_gv_mMHO_RegenGlobeCoolupTime_C);
libNtve_gf_SendActorMessageToUnit(auto126029DC_var, "Signal RegenGlobeDurationRefreshed");
}
}
void libSCHO_gf_MMHOEndofMatchAwardZergCrusherModifyValuesandReport (int lp_player, fixed lp_damage) {
// Automatic Variable Declarations
// Implementation
if ((lp_player > 0) && (lp_player <= libCore_gv_bALMaxPlayers)) {
libSCHO_gv_mMHOEndofMatchAwardZergCrusherValue[lp_player] += lp_damage;
libGame_gf_SendMapSpecificAwardEvent(lp_player, libSCHO_gv_mMHOEndofMatchAwardZergCrusherValue[lp_player], false);
libGame_gf_ScoreValuesReportRealValueAndLog(lp_player, "DamageDoneToZerg", libSCHO_gv_mMHOEndofMatchAwardZergCrusherValue[lp_player]);
}
}
trigger auto_libSCHO_gf_MMHOTransmissionBeaconsActivating_Trigger = null;
void libSCHO_gf_MMHOTransmissionBeaconsActivating () {
if (auto_libSCHO_gf_MMHOTransmissionBeaconsActivating_Trigger == null) {
auto_libSCHO_gf_MMHOTransmissionBeaconsActivating_Trigger = TriggerCreate("auto_libSCHO_gf_MMHOTransmissionBeaconsActivating_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MMHOTransmissionBeaconsActivating_Trigger, false, false);
}
bool auto_libSCHO_gf_MMHOTransmissionBeaconsActivating_TriggerFunc (bool testConds, bool runActions) {
// Variable Declarations
playergroup lv_groupOrder;
playergroup lv_groupChaos;
playergroup lv_groupObserver;
// Automatic Variable Declarations
// Variable Initialization
lv_groupOrder = PlayerGroupEmpty();
lv_groupChaos = PlayerGroupEmpty();
lv_groupObserver = PlayerGroupEmpty();
// Implementation
if ((libGame_gv_gameOver == true)) {
return true;
}
TriggerQueueEnter();
UserDataResetType("MapVOEvent");
if ((libSCHO_gv_mMHO_NumberOfEventsFired == 1)) {
UserDataSetInt("MapVOEvent", "Holdout - First Beacons Activating", "Value", 1, 1);
}
else {
UserDataSetInt("MapVOEvent", "Holdout - Subsequent Beacons Activating", "Value", 1, 1);
}
ConversationDataRun("HoldoutVO", PlayerGroupAll(), c_conversationSkipNone, false);
libCore_gf_WaitForConversationToFinish();
TriggerQueueExit();
return true;
}
trigger auto_libSCHO_gf_MMHOTransmissionBeaconsActive_Trigger = null;
void libSCHO_gf_MMHOTransmissionBeaconsActive () {
if (auto_libSCHO_gf_MMHOTransmissionBeaconsActive_Trigger == null) {
auto_libSCHO_gf_MMHOTransmissionBeaconsActive_Trigger = TriggerCreate("auto_libSCHO_gf_MMHOTransmissionBeaconsActive_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MMHOTransmissionBeaconsActive_Trigger, false, false);
}
bool auto_libSCHO_gf_MMHOTransmissionBeaconsActive_TriggerFunc (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Implementation
if ((libGame_gv_gameOver == true)) {
return true;
}
TriggerQueueEnter();
UserDataResetType("MapVOEvent");
if ((libSCHO_gv_mMHO_NumberOfEventsFired == 1)) {
UserDataSetInt("MapVOEvent", "Holdout - First Beacons Active", "Value", 1, 1);
}
else {
UserDataSetInt("MapVOEvent", "Holdout - Subsequent Beacons Active", "Value", 1, 1);
}
ConversationDataRun("HoldoutVO", PlayerGroupAll(), c_conversationSkipNone, false);
libCore_gf_WaitForConversationToFinish();
TriggerQueueExit();
return true;
}
trigger auto_libSCHO_gf_MMHOTransmissionZergAttacking_Trigger = null;
void libSCHO_gf_MMHOTransmissionZergAttacking () {
if (auto_libSCHO_gf_MMHOTransmissionZergAttacking_Trigger == null) {
auto_libSCHO_gf_MMHOTransmissionZergAttacking_Trigger = TriggerCreate("auto_libSCHO_gf_MMHOTransmissionZergAttacking_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MMHOTransmissionZergAttacking_Trigger, false, false);
}
bool auto_libSCHO_gf_MMHOTransmissionZergAttacking_TriggerFunc (bool testConds, bool runActions) {
int init_i;
// Variable Declarations
bool[libCore_gv_bALMaxTeams + 1] lv_transmissionAvailableForTeams;
unit lv_foremostZergUnit;
bool lv_isForemostZergUnitInCombat;
unitgroup lv_nearbyDefendingHeroes;
int lv_teamIndex;
// Automatic Variable Declarations
const int auto06308D99_ae = libCore_gv_bALMaxTeams;
const int auto06308D99_ai = 1;
int autoFCE8A238_val;
// Variable Initialization
for (init_i = 0; init_i <= libCore_gv_bALMaxTeams; init_i += 1) {
lv_transmissionAvailableForTeams[init_i] = true;
}
lv_nearbyDefendingHeroes = UnitGroupEmpty();
// Implementation
libSCHO_gv_mMHO_ReminderTransmissions[libGame_gv_teamOrderIndex_C] = c_invalidTransmissionId;
libSCHO_gv_mMHO_ReminderTransmissions[libGame_gv_teamChaosIndex_C] = c_invalidTransmissionId;
Wait(25.0, c_timeGame);
if ((libGame_gv_gameOver == true)) {
return true;
}
while (true) {
if ((lv_transmissionAvailableForTeams[libGame_gv_teamOrderIndex_C] == false) && (lv_transmissionAvailableForTeams[libGame_gv_teamChaosIndex_C] == false)) {
return true;
}
if ((libGame_gv_gameOver == true)) {
return true;
}
lv_teamIndex = 1;
for ( ; ( (auto06308D99_ai >= 0 && lv_teamIndex <= auto06308D99_ae) || (auto06308D99_ai < 0 && lv_teamIndex >= auto06308D99_ae) ) ; lv_teamIndex += auto06308D99_ai ) {
if ((lv_transmissionAvailableForTeams[lv_teamIndex] == false)) {
continue;
}
if ((UnitGroupCount(UnitGroupFilter("ZergUltralisk", c_playerAny, libSCHO_gv_mMHO_AttackGroups[libGame_gf_EnemyTeam(lv_teamIndex)][1], UnitFilter(0, 0, 0, (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) == 0) && (UnitGroupCount(UnitGroupFilter("ZergGuardian", c_playerAny, libSCHO_gv_mMHO_AttackGroups[libGame_gf_EnemyTeam(lv_teamIndex)][1], UnitFilter(0, 0, 0, (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) == 0) && (UnitGroupCount(UnitGroupFilter(null, c_playerAny, libSCHO_gv_mMHO_AttackGroups[libGame_gf_EnemyTeam(lv_teamIndex)][1], UnitFilter(0, 0, 0, (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0), c_unitCountAlive) < 10)) {
lv_transmissionAvailableForTeams[lv_teamIndex] = false;
}
else {
lv_foremostZergUnit = UnitGroupClosestToPoint(libSCHO_gv_mMHO_AttackGroups[libGame_gf_EnemyTeam(lv_teamIndex)][1], UnitGetPosition(libGame_gv_teams[lv_teamIndex].lv_core));
lv_isForemostZergUnitInCombat = (OrderGetAbilityCommand(UnitOrder(lv_foremostZergUnit, 0)) == AbilityCommand("attack", 0));
lv_nearbyDefendingHeroes = libNtve_gf_UnitsInRegionWithAllianceToPlayerMatchingCondition(null, "", "", UnitGetOwner(lv_foremostZergUnit), c_unitAllianceEnemy, RegionCircle(UnitGetPosition(lv_foremostZergUnit), 15.0), libCore_gv_filtersHeroic, 1);
if ((lv_isForemostZergUnitInCombat == true) && (UnitGroupCount(lv_nearbyDefendingHeroes, c_unitCountAlive) == 0)) {
autoFCE8A238_val = RandomInt(1, 9);
if (autoFCE8A238_val == 1) {
TransmissionSendForPlayerSelect(libGame_gf_PlayersOnTeamHeroes(lv_teamIndex, false), TransmissionSource(), c_invalidPortraitId, "", "Talk", SoundLinkNoIndex(ConversationDataGetSound("HoldoutVO|Line00032", false)), null, null, 0.0, c_transmissionDurationAdd, false, c_maxPlayers, false);
}
else if (autoFCE8A238_val == 2) {
TransmissionSendForPlayerSelect(libGame_gf_PlayersOnTeamHeroes(lv_teamIndex, false), TransmissionSource(), c_invalidPortraitId, "", "Talk", SoundLinkNoIndex(ConversationDataGetSound("HoldoutVO|Line00033", false)), null, null, 0.0, c_transmissionDurationAdd, false, c_maxPlayers, false);
}
else if (autoFCE8A238_val == 3) {
TransmissionSendForPlayerSelect(libGame_gf_PlayersOnTeamHeroes(lv_teamIndex, false), TransmissionSource(), c_invalidPortraitId, "", "Talk", SoundLinkNoIndex(ConversationDataGetSound("HoldoutVO|Line00034", false)), null, null, 0.0, c_transmissionDurationAdd, false, c_maxPlayers, false);
}
else if (autoFCE8A238_val == 4) {
TransmissionSendForPlayerSelect(libGame_gf_PlayersOnTeamHeroes(lv_teamIndex, false), TransmissionSource(), c_invalidPortraitId, "", "Talk", SoundLinkNoIndex(ConversationDataGetSound("HoldoutVO|Line00035", false)), null, null, 0.0, c_transmissionDurationAdd, false, c_maxPlayers, false);
}
else if (autoFCE8A238_val == 5) {
TransmissionSendForPlayerSelect(libGame_gf_PlayersOnTeamHeroes(lv_teamIndex, false), TransmissionSource(), c_invalidPortraitId, "", "Talk", SoundLinkNoIndex(ConversationDataGetSound("HoldoutVO|Line00036", false)), null, null, 0.0, c_transmissionDurationAdd, false, c_maxPlayers, false);
}
else if (autoFCE8A238_val == 6) {
TransmissionSendForPlayerSelect(libGame_gf_PlayersOnTeamHeroes(lv_teamIndex, false), TransmissionSource(), c_invalidPortraitId, "", "Talk", SoundLinkNoIndex(ConversationDataGetSound("HoldoutVO|Line00037", false)), null, null, 0.0, c_transmissionDurationAdd, false, c_maxPlayers, false);
}
else if (autoFCE8A238_val == 7) {
TransmissionSendForPlayerSelect(libGame_gf_PlayersOnTeamHeroes(lv_teamIndex, false), TransmissionSource(), c_invalidPortraitId, "", "Talk", SoundLinkNoIndex(ConversationDataGetSound("HoldoutVO|Line00038", false)), null, null, 0.0, c_transmissionDurationAdd, false, c_maxPlayers, false);
}
else if (autoFCE8A238_val == 8) {
TransmissionSendForPlayerSelect(libGame_gf_PlayersOnTeamHeroes(lv_teamIndex, false), TransmissionSource(), c_invalidPortraitId, "", "Talk", SoundLinkNoIndex(ConversationDataGetSound("HoldoutVO|Line00039", false)), null, null, 0.0, c_transmissionDurationAdd, false, c_maxPlayers, false);
}
else if (autoFCE8A238_val == 9) {
TransmissionSendForPlayerSelect(libGame_gf_PlayersOnTeamHeroes(lv_teamIndex, false), TransmissionSource(), c_invalidPortraitId, "", "Talk", SoundLinkNoIndex(ConversationDataGetSound("HoldoutVO|Line00053", false)), null, null, 0.0, c_transmissionDurationAdd, false, c_maxPlayers, false);
}
else {
}
lv_transmissionAvailableForTeams[lv_teamIndex] = false;
libSCHO_gv_mMHO_ReminderTransmissions[lv_teamIndex] = TransmissionLastSent();
}
}
}
Wait(1.0, c_timeGame);
}
return true;
}
trigger auto_libSCHO_gf_MMHOTransmissionAllZergDead_Trigger = null;
void libSCHO_gf_MMHOTransmissionAllZergDead () {
if (auto_libSCHO_gf_MMHOTransmissionAllZergDead_Trigger == null) {
auto_libSCHO_gf_MMHOTransmissionAllZergDead_Trigger = TriggerCreate("auto_libSCHO_gf_MMHOTransmissionAllZergDead_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MMHOTransmissionAllZergDead_Trigger, false, false);
}
bool auto_libSCHO_gf_MMHOTransmissionAllZergDead_TriggerFunc (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Implementation
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((libSCHO_gv_mMHO_ReminderTransmissions[libGame_gv_teamOrderIndex_C] != c_invalidTransmissionId)) {
TransmissionClear(libSCHO_gv_mMHO_ReminderTransmissions[libGame_gv_teamOrderIndex_C]);
}
if ((libSCHO_gv_mMHO_ReminderTransmissions[libGame_gv_teamChaosIndex_C] != c_invalidTransmissionId)) {
TransmissionClear(libSCHO_gv_mMHO_ReminderTransmissions[libGame_gv_teamChaosIndex_C]);
}
TriggerQueueEnter();
UserDataResetType("MapVOEvent");
UserDataSetInt("MapVOEvent", "Holdout - Zerg Dead", "Value", 1, 1);
ConversationDataRun("HoldoutVO", PlayerGroupAll(), c_conversationSkipNone, false);
libCore_gf_WaitForConversationToFinish();
TriggerQueueExit();
return true;
}
trigger auto_libSCHO_gf_MMHOTransmissionBeaconsFullyCaptured_Trigger = null;
fixed auto_libSCHO_gf_MMHOTransmissionBeaconsFullyCaptured_lp_orderTeamProgress;
fixed auto_libSCHO_gf_MMHOTransmissionBeaconsFullyCaptured_lp_chaosTeamProgress;
void libSCHO_gf_MMHOTransmissionBeaconsFullyCaptured (fixed lp_orderTeamProgress, fixed lp_chaosTeamProgress) {
auto_libSCHO_gf_MMHOTransmissionBeaconsFullyCaptured_lp_orderTeamProgress = lp_orderTeamProgress;
auto_libSCHO_gf_MMHOTransmissionBeaconsFullyCaptured_lp_chaosTeamProgress = lp_chaosTeamProgress;
if (auto_libSCHO_gf_MMHOTransmissionBeaconsFullyCaptured_Trigger == null) {
auto_libSCHO_gf_MMHOTransmissionBeaconsFullyCaptured_Trigger = TriggerCreate("auto_libSCHO_gf_MMHOTransmissionBeaconsFullyCaptured_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MMHOTransmissionBeaconsFullyCaptured_Trigger, false, false);
}
bool auto_libSCHO_gf_MMHOTransmissionBeaconsFullyCaptured_TriggerFunc (bool testConds, bool runActions) {
fixed lp_orderTeamProgress = auto_libSCHO_gf_MMHOTransmissionBeaconsFullyCaptured_lp_orderTeamProgress;
fixed lp_chaosTeamProgress = auto_libSCHO_gf_MMHOTransmissionBeaconsFullyCaptured_lp_chaosTeamProgress;
// Variable Declarations
playergroup lv_groupOrder;
playergroup lv_groupChaos;
playergroup lv_groupObserver;
// Automatic Variable Declarations
// Variable Initialization
lv_groupOrder = PlayerGroupEmpty();
lv_groupChaos = PlayerGroupEmpty();
lv_groupObserver = PlayerGroupEmpty();
// Implementation
Wait(1.0, c_timeGame);
if ((libGame_gv_gameOver == true)) {
return true;
}
TriggerQueueEnter();
lv_groupOrder = libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamOrderIndex_C, false);
lv_groupChaos = libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamChaosIndex_C, false);
lv_groupObserver = libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer];
libNtve_gf_AddPlayerGroupToPlayerGroup(lv_groupObserver, lv_groupOrder);
UserDataResetType("MapVOEvent");
ConversationDataLineResetPlayers("HoldoutVO", ("Left"));
ConversationDataLineResetPlayers("HoldoutVO", ("Right"));
if ((libSCHO_gv_mMHO_NumberOfEventsFired == 1)) {
UserDataSetInt("MapVOEvent", "Holdout - First Zerg Warning", "Value", 1, 1);
}
else {
UserDataSetInt("MapVOEvent", "Holdout - Subsequent Zerg Warnings", "Value", 1, 1);
}
if ((lp_orderTeamProgress > lp_chaosTeamProgress)) {
UserDataSetInt("MapVOEvent", "Holdout - Zerg Power Not Equal", "Value", 1, 1);
ConversationDataLineSetPlayers("HoldoutVO", ("Left"), lv_groupOrder);
ConversationDataLineSetPlayers("HoldoutVO", ("Right"), lv_groupChaos);
}
if ((lp_orderTeamProgress < lp_chaosTeamProgress)) {
UserDataSetInt("MapVOEvent", "Holdout - Zerg Power Not Equal", "Value", 1, 1);
ConversationDataLineSetPlayers("HoldoutVO", ("Left"), lv_groupChaos);
ConversationDataLineSetPlayers("HoldoutVO", ("Right"), lv_groupOrder);
}
if ((lp_orderTeamProgress == lp_chaosTeamProgress)) {
UserDataSetInt("MapVOEvent", "Holdout - Zerg Power Equal", "Value", 1, 1);
}
ConversationDataRun("HoldoutVO", PlayerGroupAll(), c_conversationSkipNone, false);
libCore_gf_WaitForConversationToFinish();
TriggerQueueExit();
return true;
}
void libSCHO_gf_MMHOUpdateTerranScaling () {
// Automatic Variable Declarations
unitgroup auto8529E143_g;
int auto8529E143_u;
unit auto8529E143_var;
unitgroup auto6DDA816B_g;
int auto6DDA816B_u;
unit auto6DDA816B_var;
unitgroup auto17CDE435_g;
int auto17CDE435_u;
unit auto17CDE435_var;
unitgroup auto23E8D062_g;
int auto23E8D062_u;
unit auto23E8D062_var;
// Implementation
auto8529E143_g = UnitGroup("TerranMarine", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32))), 0);
auto8529E143_u = UnitGroupCount(auto8529E143_g, c_unitCountAll);
for (;; auto8529E143_u -= 1) {
auto8529E143_var = UnitGroupUnitFromEnd(auto8529E143_g, auto8529E143_u);
if (auto8529E143_var == null) { break; }
UnitXPAddXP(auto8529E143_var, null, 1.0);
}
auto6DDA816B_g = UnitGroup("TerranHellbat", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
auto6DDA816B_u = UnitGroupCount(auto6DDA816B_g, c_unitCountAll);
for (;; auto6DDA816B_u -= 1) {
auto6DDA816B_var = UnitGroupUnitFromEnd(auto6DDA816B_g, auto6DDA816B_u);
if (auto6DDA816B_var == null) { break; }
UnitXPAddXP(auto6DDA816B_var, null, 1.0);
}
auto17CDE435_g = UnitGroup("TerranGoliath", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
auto17CDE435_u = UnitGroupCount(auto17CDE435_g, c_unitCountAll);
for (;; auto17CDE435_u -= 1) {
auto17CDE435_var = UnitGroupUnitFromEnd(auto17CDE435_g, auto17CDE435_u);
if (auto17CDE435_var == null) { break; }
UnitXPAddXP(auto17CDE435_var, null, 1.0);
}
auto23E8D062_g = UnitGroup("TerranRaven", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
auto23E8D062_u = UnitGroupCount(auto23E8D062_g, c_unitCountAll);
for (;; auto23E8D062_u -= 1) {
auto23E8D062_var = UnitGroupUnitFromEnd(auto23E8D062_g, auto23E8D062_u);
if (auto23E8D062_var == null) { break; }
UnitXPAddXP(auto23E8D062_var, null, 1.0);
}
}
void libSCHO_gf_MMHOCalculateZergTotalHP (bool lp_calculateMaximum) {
// Variable Declarations
int lv_team;
int lv_totalZergUnits;
// Automatic Variable Declarations
const int auto993CB229_ae = libGame_gv_teamChaosIndex_C;
const int auto993CB229_ai = 1;
unitgroup auto021841C3_g;
int auto021841C3_u;
unit auto021841C3_var;
// Variable Initialization
// Implementation
TriggerEnable(libSCHO_gt_MMHOZergUnitTakesDamage, true);
lv_team = libGame_gv_teamOrderIndex_C;
for ( ; ( (auto993CB229_ai >= 0 && lv_team <= auto993CB229_ae) || (auto993CB229_ai < 0 && lv_team >= auto993CB229_ae) ) ; lv_team += auto993CB229_ai ) {
libSCHO_gv_mMHO_TotalZergHP[lv_team] = 0.0;
auto021841C3_g = libSCHO_gv_mMHO_AttackGroups[lv_team][libSCHO_gv_mMHO_WaveTracker];
auto021841C3_u = UnitGroupCount(auto021841C3_g, c_unitCountAll);
for (;; auto021841C3_u -= 1) {
auto021841C3_var = UnitGroupUnitFromEnd(auto021841C3_g, auto021841C3_u);
if (auto021841C3_var == null) { break; }
if ((UnitIsAlive(auto021841C3_var) == true) && (UnitGetType(auto021841C3_var) == "ZergUltralisk")) {
libSCHO_gv_mMHO_TotalZergHP[lv_team] += (UnitGetPropertyFixed(auto021841C3_var, c_unitPropLife, c_unitPropCurrent) * libSCHO_gv_mMHO_UltraliskHealthWeighting);
}
else if ((UnitIsAlive(auto021841C3_var) == true) && (UnitGetType(auto021841C3_var) == "ZergGuardian")) {
libSCHO_gv_mMHO_TotalZergHP[lv_team] += (UnitGetPropertyFixed(auto021841C3_var, c_unitPropLife, c_unitPropCurrent) * libSCHO_gv_mMHO_GuardianHealthWeighting);
}
}
}
if ((lp_calculateMaximum == true)) {
UnitSetPropertyFixed(libSCHO_gv_mMHO_OrderProgressUnit, c_unitPropLifeMax, MaxF(libSCHO_gv_mMHO_TotalZergHP[libGame_gv_teamOrderIndex_C], libSCHO_gv_mMHO_TotalZergHP[libGame_gv_teamChaosIndex_C]));
UnitSetPropertyFixed(libSCHO_gv_mMHO_ChaosProgressUnit, c_unitPropLifeMax, MaxF(libSCHO_gv_mMHO_TotalZergHP[libGame_gv_teamOrderIndex_C], libSCHO_gv_mMHO_TotalZergHP[libGame_gv_teamChaosIndex_C]));
}
UnitSetPropertyFixed(libSCHO_gv_mMHO_OrderProgressUnit, c_unitPropLife, libSCHO_gv_mMHO_TotalZergHP[libGame_gv_teamOrderIndex_C]);
UnitSetPropertyFixed(libSCHO_gv_mMHO_ChaosProgressUnit, c_unitPropLife, libSCHO_gv_mMHO_TotalZergHP[libGame_gv_teamChaosIndex_C]);
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[1][1], (FixedToText(UnitGetPropertyFixed(libSCHO_gv_mMHO_OrderProgressUnit, c_unitPropLifePercent, c_unitPropCurrent), 0) + StringExternal("Param/Value/lib_SCHO_3D6BFA79")), PlayerGroupAll());
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[2][1], (FixedToText(UnitGetPropertyFixed(libSCHO_gv_mMHO_OrderProgressUnit, c_unitPropLifePercent, c_unitPropCurrent), 0) + StringExternal("Param/Value/lib_SCHO_0329DCD0")), PlayerGroupAll());
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[1][2], (FixedToText(UnitGetPropertyFixed(libSCHO_gv_mMHO_ChaosProgressUnit, c_unitPropLifePercent, c_unitPropCurrent), 0) + StringExternal("Param/Value/lib_SCHO_AC9B0BC2")), PlayerGroupAll());
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[2][2], (FixedToText(UnitGetPropertyFixed(libSCHO_gv_mMHO_ChaosProgressUnit, c_unitPropLifePercent, c_unitPropCurrent), 0) + StringExternal("Param/Value/lib_SCHO_4284B277")), PlayerGroupAll());
}
void libSCHO_gf_MMHOChangeZergMinimapIconsBasedOnZergHealth (int lp_team, unit lp_unit) {
// Variable Declarations
string lv_pingModelForTeam;
string lv_pingModelForEnemyTeam;
fixed lv_teamProgress;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
if ((UnitIsAlive(libSCHO_gv_mMHO_ZergIconUnit[lp_team].lv_iconUnit) == false)) {
PingDestroy(libSCHO_gv_mMHO_AllyZergIcon[lp_team]);
libSCHO_gv_mMHO_AllyZergIcon[lp_team] = c_invalidPingId;
PingDestroy(libSCHO_gv_mMHO_EnemyZergIcon[lp_team]);
libSCHO_gv_mMHO_EnemyZergIcon[lp_team] = c_invalidPingId;
PingDestroy(libSCHO_gv_mMHO_ObsZergPing[lp_team]);
libSCHO_gv_mMHO_ObsZergPing[lp_team] = c_invalidPingId;
}
lv_teamProgress = libSCHO_gv_mMHO_TeamProgress[lp_team];
if ((lv_teamProgress == 100.0)) {
lv_pingModelForTeam = "HoldoutBeaconZergBlueIconC";
lv_pingModelForEnemyTeam = "HoldoutBeaconZergRedIconC";
}
if ((lv_teamProgress < 100.0) && (lv_teamProgress >= 50.0)) {
lv_pingModelForTeam = "HoldoutBeaconZergBlueIconB";
lv_pingModelForEnemyTeam = "HoldoutBeaconZergRedIconB";
}
if ((lv_teamProgress < 50.0)) {
lv_pingModelForTeam = "HoldoutBeaconZergBlueIconA";
lv_pingModelForEnemyTeam = "HoldoutBeaconZergRedIconA";
}
if ((lp_team == libGame_gv_teamOrderIndex_C)) {
libSCHO_gv_mMHO_ObsZergPing[lp_team] = libSCHO_gf_MMHOCreateZergPing(PlayerGroupSingle(libCore_gv_oBSERVER_ObserverUIPlayer), lp_unit, lv_pingModelForTeam);
}
else {
libSCHO_gv_mMHO_ObsZergPing[lp_team] = libSCHO_gf_MMHOCreateZergPing(PlayerGroupSingle(libCore_gv_oBSERVER_ObserverUIPlayer), lp_unit, lv_pingModelForEnemyTeam);
}
libSCHO_gv_mMHO_AllyZergIcon[lp_team] = libSCHO_gf_MMHOCreateZergPing(libGame_gv_teams[lp_team].lv_teamPlayerGroup, lp_unit, lv_pingModelForTeam);
libSCHO_gv_mMHO_EnemyZergIcon[lp_team] = libSCHO_gf_MMHOCreateZergPing(libGame_gv_teams[libGame_gf_EnemyTeam(lp_team)].lv_teamPlayerGroup, lp_unit, lv_pingModelForEnemyTeam);
libSCHO_gv_mMHO_ZergIconUnit[lp_team].lv_iconUnit = lp_unit;
UnitSetCustomValue(lp_unit, libCore_gf_CustomValueIndex(libCore_ge_CustomValueIndexes_MercLanerGroupIndex), IntToFixed(libSCHO_gv_mMHO_ZergAICustomUnitValue[lp_team]));
}
void libSCHO_gf_MMHOUpdateZergMinimapIcons (int lp_team) {
// Variable Declarations
point lv_testPoint;
// Automatic Variable Declarations
unitgroup auto2DA5B050_g;
int auto2DA5B050_u;
unit auto2DA5B050_var;
// Variable Initialization
// Implementation
if ((UnitGroupCount(libSCHO_gv_mMHO_AttackGroups[lp_team][libSCHO_gv_mMHO_WaveTracker], c_unitCountAlive) > 0)) {
auto2DA5B050_g = libSCHO_gv_mMHO_AttackGroups[lp_team][libSCHO_gv_mMHO_WaveTracker];
auto2DA5B050_u = UnitGroupCount(auto2DA5B050_g, c_unitCountAll);
for (;; auto2DA5B050_u -= 1) {
auto2DA5B050_var = UnitGroupUnitFromEnd(auto2DA5B050_g, auto2DA5B050_u);
if (auto2DA5B050_var == null) { break; }
if ((UnitIsAlive(auto2DA5B050_var) == true)) {
libSCHO_gf_MMHOChangeZergMinimapIconsBasedOnZergHealth(lp_team, auto2DA5B050_var);
break;
}
}
}
else {
PingDestroy(libSCHO_gv_mMHO_AllyZergIcon[lp_team]);
libSCHO_gv_mMHO_AllyZergIcon[lp_team] = c_invalidPingId;
PingDestroy(libSCHO_gv_mMHO_EnemyZergIcon[lp_team]);
libSCHO_gv_mMHO_EnemyZergIcon[lp_team] = c_invalidPingId;
PingDestroy(libSCHO_gv_mMHO_ObsZergPing[lp_team]);
libSCHO_gv_mMHO_ObsZergPing[lp_team] = c_invalidPingId;
PathDestroy(libSCHO_gv_mMHO_ZergPaths[lp_team]);
}
}
trigger auto_libSCHO_gf_MMHOInitializeZergPath_Trigger = null;
void libSCHO_gf_MMHOInitializeZergPath () {
if (auto_libSCHO_gf_MMHOInitializeZergPath_Trigger == null) {
auto_libSCHO_gf_MMHOInitializeZergPath_Trigger = TriggerCreate("auto_libSCHO_gf_MMHOInitializeZergPath_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MMHOInitializeZergPath_Trigger, false, false);
}
bool auto_libSCHO_gf_MMHOInitializeZergPath_TriggerFunc (bool testConds, bool runActions) {
// Variable Declarations
int lv_itTeam;
// Automatic Variable Declarations
const int autoBA9DD683_ae = libCore_gv_bALMaxTeams;
const int autoBA9DD683_ai = 1;
// Variable Initialization
// Implementation
lv_itTeam = 1;
for ( ; ( (autoBA9DD683_ai >= 0 && lv_itTeam <= autoBA9DD683_ae) || (autoBA9DD683_ai < 0 && lv_itTeam >= autoBA9DD683_ae) ) ; lv_itTeam += autoBA9DD683_ai ) {
libSCHO_gf_MMHOCreateZergPath(lv_itTeam, true);
}
TriggerEnable(libSCHO_gt_MMHOUpdateZergPath, true);
return true;
}
void libSCHO_gf_MMHOCreateZergPath (int lp_team, bool lp_newPath) {
// Variable Declarations
int lv_itWaypoint;
int lv_currentLane;
// Automatic Variable Declarations
int autoCDD13B39_val;
// Variable Initialization
// Implementation
if (((UnitGroupCount(libSCHO_gv_mMHO_AttackGroups[lp_team][libSCHO_gv_mMHO_WaveTracker], c_unitCountAlive) == 0) || (UnitIsAlive(libSCHO_gv_mMHO_ZergIconUnit[lp_team].lv_iconUnit) == false))) {
return ;
}
if ((lp_newPath == false)) {
if ((libSCHO_gv_mMHO_ZergCurrentPathIndex[lp_team] < libSCHO_gv_mMHO_ZergPathIndexMax[lp_team])) {
PathSetWayPointIndexStart(libSCHO_gv_mMHO_ZergPaths[lp_team], libSCHO_gv_mMHO_ZergCurrentPathIndex[lp_team]);
}
else if ((libSCHO_gv_mMHO_ZergCurrentPathIndex[lp_team] >= libSCHO_gv_mMHO_ZergPathIndexMax[lp_team])) {
PathDestroy(libSCHO_gv_mMHO_ZergPaths[lp_team]);
PathCreateForUnit(PlayerGroupAll(), libSCHO_gv_mMHO_ZergIconUnit[lp_team].lv_iconUnit);
PathSetOwnerPlayerId(PathLastCreated(), libGame_gf_ComputerPlayerInTeam(lp_team));
libSCHO_gv_mMHO_ZergPaths[lp_team] = PathLastCreated();
PathSetVisible(libSCHO_gv_mMHO_ZergPaths[lp_team], c_pathLocationMinimap, true);
PathSetVisible(libSCHO_gv_mMHO_ZergPaths[lp_team], c_pathLocationWorld, false);
PathSetDestinationUnit(libSCHO_gv_mMHO_ZergPaths[lp_team], libGame_gv_teams[libGame_gf_EnemyTeam(lp_team)].lv_core);
}
return ;
}
else {
libSCHO_gv_mMHO_ZergCurrentPathIndex[lp_team] = 1;
libSCHO_gv_mMHO_ZergPathIndexMax[lp_team] = 1;
if ((libSCHO_gv_mMHO_ZergPaths[lp_team] != 0)) {
PathClearWayPoints(libSCHO_gv_mMHO_ZergPaths[lp_team]);
PathDestroy(libSCHO_gv_mMHO_ZergPaths[lp_team]);
}
}
lv_currentLane = libAIAI_gf_MinionAIGetLaneForMinion(libSCHO_gv_mMHO_ZergIconUnit[lp_team].lv_iconUnit);
lv_itWaypoint = libAIAI_gf_MinionAIGetNextWaypointIndexForMinion(libSCHO_gv_mMHO_ZergIconUnit[lp_team].lv_iconUnit);
PathCreateForUnit(PlayerGroupAll(), libSCHO_gv_mMHO_ZergIconUnit[lp_team].lv_iconUnit);
PathSetOwnerPlayerId(PathLastCreated(), libGame_gf_ComputerPlayerInTeam(lp_team));
libSCHO_gv_mMHO_ZergPaths[lp_team] = PathLastCreated();
PathSetVisible(libSCHO_gv_mMHO_ZergPaths[lp_team], c_pathLocationMinimap, true);
PathSetVisible(libSCHO_gv_mMHO_ZergPaths[lp_team], c_pathLocationWorld, false);
PathSetDestinationUnit(libSCHO_gv_mMHO_ZergPaths[lp_team], libGame_gv_teams[libGame_gf_EnemyTeam(lp_team)].lv_core);
autoCDD13B39_val = lp_team;
if (autoCDD13B39_val == libGame_gv_teamOrderIndex_C) {
while ((lv_itWaypoint < (libGame_gv_laneData[lv_currentLane].lv_waypointCount - 1))) {
PathAddWayPoint(libSCHO_gv_mMHO_ZergPaths[lp_team], libGame_gv_laneData[lv_currentLane].lv_waypoints[lv_itWaypoint]);
lv_itWaypoint += 1;
libSCHO_gv_mMHO_ZergPathIndexMax[libGame_gv_teamOrderIndex_C] += 1;
}
}
else if (autoCDD13B39_val == libGame_gv_teamChaosIndex_C) {
while ((lv_itWaypoint > 1)) {
PathAddWayPoint(libSCHO_gv_mMHO_ZergPaths[lp_team], libGame_gv_laneData[lv_currentLane].lv_waypoints[lv_itWaypoint]);
lv_itWaypoint -= 1;
libSCHO_gv_mMHO_ZergPathIndexMax[libGame_gv_teamChaosIndex_C] += 1;
}
}
else {
}
}
int libSCHO_gf_MMHOCreateZergPing (playergroup lp_playerGroup, unit lp_unit, string lp_zergPingModel) {
// Automatic Variable Declarations
// Implementation
libNtve_gf_CreatePingFacingAngleWithType(lp_playerGroup, lp_zergPingModel, UnitGetPosition(lp_unit), ColorWithAlpha(0.00, 0.00, 0.00, 0.00), 0.0, -135.0, -1, -1);
PingSetUnit(PingLastCreated(), lp_unit);
PingSetScale(PingLastCreated(), 0.15);
return PingLastCreated();
}
void libSCHO_gf_MMHOUIInit (int lp_parentPanel) {
int init_i;
// Variable Declarations
int[8] lv_panels;
int lv_currentPanelLayer;
int lv_itTeam;
int lv_enemyTeam;
// Automatic Variable Declarations
const int auto4AF678B4_ae = 2;
const int auto4AF678B4_ai = 1;
int auto9E75F3F0_val;
// Variable Initialization
for (init_i = 0; init_i <= 7; init_i += 1) {
lv_panels[init_i] = c_invalidDialogControlId;
}
// Implementation
DialogControlCreateInPanelFromTemplate(lp_parentPanel, c_triggerControlTypePanel, "HoldOut/HoldOutPanel");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
lv_currentPanelLayer += 1;
lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();
libSCHO_gv_mMHOPanel.lv_mainPanel = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HoldOutWarningFrame");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
lv_currentPanelLayer += 1;
lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();
libSCHO_gv_mMHOPanel.lv_zergWarningFrame = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "HoldOutWarningInfoLabel");
libSCHO_gv_mMHOPanel.lv_zergWarningInfoFrame = DialogControlLastCreated();
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_SCHO_6639B1F4"), PlayerGroupAll());
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "HoldOutWarningTimerLabel");
libSCHO_gv_mMHOPanel.lv_zergWarningTimerLabel = DialogControlLastCreated();
lv_currentPanelLayer -= 1;
lv_itTeam = 1;
for ( ; ( (auto4AF678B4_ai >= 0 && lv_itTeam <= auto4AF678B4_ae) || (auto4AF678B4_ai < 0 && lv_itTeam >= auto4AF678B4_ae) ) ; lv_itTeam += auto4AF678B4_ai ) {
lv_enemyTeam = libGame_gf_EnemyTeam(lv_itTeam);
auto9E75F3F0_val = lv_itTeam;
if (auto9E75F3F0_val == 1) {
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "BossDuelLeftFrame");
}
else if (auto9E75F3F0_val == 2) {
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "BossDuelRightFrame");
}
else {
}
libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[lv_itTeam] = DialogControlLastCreated();
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
lv_currentPanelLayer += 1;
lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "ZergHudRight");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libSCHO_gv_mMHOPanel.lv_zergHudRight[lv_itTeam] = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "ZergHudLeft");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libSCHO_gv_mMHOPanel.lv_zergHudLeft[lv_itTeam] = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "AlliedZergLabel");
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_SCHO_E540DB8E"), PlayerGroupAll());
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_SCHO_DB948499"), PlayerGroupSingle(libCore_gv_oBSERVER_ObserverUIPlayer));
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libSCHO_gv_mMHOPanel.lv_alliedZergLabel[lv_itTeam] = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "EnemyZergLabel");
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_SCHO_DF7BE75B"), PlayerGroupAll());
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_SCHO_D5905265"), PlayerGroupSingle(libCore_gv_oBSERVER_ObserverUIPlayer));
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libSCHO_gv_mMHOPanel.lv_enemyZergLabel[lv_itTeam] = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "BeaconProgressLabel");
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_SCHO_C04266F1"), PlayerGroupAll());
libSCHO_gv_mMHOPanel.lv_beaconProgressLabel[lv_itTeam] = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "BossHudLeft");
libSCHO_gv_mMHOPanel.lv_eggIconImageLeft[lv_itTeam] = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "BossHudRight");
libSCHO_gv_mMHOPanel.lv_eggIconImageRight[lv_itTeam] = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HealthBarTopContainerFrame");
lv_currentPanelLayer += 1;
lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HealthBarTopAnimFrame");
libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarAnimFrame[lv_itTeam][lv_itTeam] = DialogControlLastCreated();
lv_currentPanelLayer += 1;
lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "AllyBossHealthBar");
libSCHO_gv_mMHOPanel.lv_beaconProgressHPBar[lv_itTeam][lv_itTeam] = DialogControlLastCreated();
lv_currentPanelLayer -= 2;
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HealthBarBottomContainerFrame");
lv_currentPanelLayer += 1;
lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HealthBarBottomAnimFrame");
libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarAnimFrame[lv_itTeam][lv_enemyTeam] = DialogControlLastCreated();
lv_currentPanelLayer += 1;
lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "EnemyBossHealthBar");
libSCHO_gv_mMHOPanel.lv_beaconProgressHPBar[lv_itTeam][lv_enemyTeam] = DialogControlLastCreated();
lv_currentPanelLayer -= 2;
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "LeftBossHealthLabel");
libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[lv_itTeam][1] = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "RightBossHealthLabel");
libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[lv_itTeam][2] = DialogControlLastCreated();
lv_currentPanelLayer -= 1;
}
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "RadarDishModeFrame");
lv_currentPanelLayer += 1;
lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();
libSCHO_gv_mMHOPanel.lv_beaconStatusFrame = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HoldOutBeaconTopOff");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libSCHO_gv_mMHOPanel.lv_beaconTopNeutral = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HoldOutBeaconTopOrder");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libSCHO_gv_mMHOPanel.lv_beaconTopOrder = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HoldOutBeaconTopChaos");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libSCHO_gv_mMHOPanel.lv_beaconTopChaos = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HoldOutBeaconBottomOff");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libSCHO_gv_mMHOPanel.lv_beaconBottomNeutral = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HoldOutBeaconBottomOrder");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libSCHO_gv_mMHOPanel.lv_beaconBottomOrder = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HoldOutBeaconBottomChaos");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libSCHO_gv_mMHOPanel.lv_beaconBottomChaos = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HoldOutLink1");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libSCHO_gv_mMHOPanel.lv_lightningLink1 = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HoldOutLink2");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libSCHO_gv_mMHOPanel.lv_lightningLink2 = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HoldOutLink3");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libSCHO_gv_mMHOPanel.lv_lightningLink3 = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HoldOutLink4");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libSCHO_gv_mMHOPanel.lv_lightningLink4 = DialogControlLastCreated();
}
void libSCHO_gf_MMHOUIShowHidePanel (bool lp_showHide) {
// Automatic Variable Declarations
// Implementation
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_mainPanel, libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroupNoNPCPlayers, lp_showHide);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_mainPanel, libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers, lp_showHide);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_mainPanel, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], lp_showHide);
}
void libSCHO_gf_MMHOUISetMode (int lp_mode) {
// Automatic Variable Declarations
int auto4B1D3F24_val;
// Implementation
auto4B1D3F24_val = lp_mode;
if (auto4B1D3F24_val == libSCHO_ge_MMHOUIModes_Idle) {
Wait(3.0, c_timeGame);
libSCHO_gf_MMHOUIShowHidePanel(false);
}
else if (auto4B1D3F24_val == libSCHO_ge_MMHOUIModes_ZergWarning) {
libSCHO_gf_MMHOUIShowHidePanel(true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[libGame_gv_teamOrderIndex_C], PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[libGame_gv_teamChaosIndex_C], PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_zergWarningFrame, PlayerGroupAll(), true);
}
else if (auto4B1D3F24_val == libSCHO_ge_MMHOUIModes_ZergAttacking) {
libSCHO_gf_MMHOUIShowHidePanel(true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_zergWarningFrame, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[libGame_gv_teamOrderIndex_C], PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[libGame_gv_teamChaosIndex_C], PlayerGroupAll(), false);
}
else if (auto4B1D3F24_val == libSCHO_ge_MMHOUIModes_BeaconEvent) {
libSCHO_gf_MMHOUIShowHidePanel(true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_zergWarningFrame, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[libGame_gv_teamOrderIndex_C], libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamOrderIndex_C, false), true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[libGame_gv_teamOrderIndex_C], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[libGame_gv_teamChaosIndex_C], libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamChaosIndex_C, false), true);
}
else {
}
}
void libSCHO_gf_MMHOUISetZergWarningTime (int lp_progressUnit) {
// Automatic Variable Declarations
// Implementation
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_zergWarningTimerLabel, TextTimeFormat(StringToText("<min2/>:<sec2/>"), lp_progressUnit), PlayerGroupAll());
}
void libSCHO_gf_MMHOUISetZergAttackingTime (int lp_progressUnit) {
// Automatic Variable Declarations
// Implementation
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_zergAttackingTimerLabel, TextTimeFormat(StringToText("<min2/>:<sec2/>"), lp_progressUnit), PlayerGroupAll());
}
trigger auto_libSCHO_gf_MMHOUICreateProgressUnits_Trigger = null;
void libSCHO_gf_MMHOUICreateProgressUnits () {
if (auto_libSCHO_gf_MMHOUICreateProgressUnits_Trigger == null) {
auto_libSCHO_gf_MMHOUICreateProgressUnits_Trigger = TriggerCreate("auto_libSCHO_gf_MMHOUICreateProgressUnits_TriggerFunc");
}
TriggerExecute(auto_libSCHO_gf_MMHOUICreateProgressUnits_Trigger, false, false);
}
bool auto_libSCHO_gf_MMHOUICreateProgressUnits_TriggerFunc (bool testConds, bool runActions) {
// Variable Declarations
int lv_itTeam;
// Automatic Variable Declarations
const int auto0D3A682F_ae = 2;
const int auto0D3A682F_ai = 1;
// Variable Initialization
// Implementation
if (((libSCHO_gv_mMHO_OrderProgressUnit != null) && (libSCHO_gv_mMHO_ChaosProgressUnit != null))) {
return true;
}
lv_itTeam = 1;
for ( ; ( (auto0D3A682F_ai >= 0 && lv_itTeam <= auto0D3A682F_ae) || (auto0D3A682F_ai < 0 && lv_itTeam >= auto0D3A682F_ae) ) ; lv_itTeam += auto0D3A682F_ai ) {
libNtve_gf_CreateUnitsWithDefaultFacing(1, "JungleCampIconUnit", c_unitCreateIgnorePlacement, libGame_gf_ComputerPlayerInTeam(lv_itTeam), Point(0.0, 0.0), null);
if ((lv_itTeam == 1)) {
libSCHO_gv_mMHO_OrderProgressUnit = UnitLastCreated();
}
else {
libSCHO_gv_mMHO_ChaosProgressUnit = UnitLastCreated();
}
libNtve_gf_ShowHideUnit(UnitLastCreated(), false);
libNtve_gf_MakeUnitInvulnerable(UnitLastCreated(), true);
libNtve_gf_PauseUnit(UnitLastCreated(), true);
libNtve_gf_SendActorMessageToUnit(UnitLastCreated(), "SetMinimapVisibility");
libNtve_gf_SendActorMessageToUnit(UnitLastCreated(), "SetMinimapVisibilityAlways");
UnitSetState(UnitLastCreated(), c_unitStateTargetable, false);
UnitSetState(UnitLastCreated(), c_unitStateRadarable, false);
UnitSetState(UnitLastCreated(), c_unitStateStatusBar, false);
UnitSetState(UnitLastCreated(), c_unitStateSelectable, false);
UnitSetState(UnitLastCreated(), c_unitStateHighlightable, false);
UnitSetState(UnitLastCreated(), c_unitStateDetectable, false);
UnitSetState(UnitLastCreated(), c_unitStateCursorable, false);
UnitSetPropertyFixed(UnitLastCreated(), c_unitPropLifeMax, 100.0);
UnitSetPropertyFixed(UnitLastCreated(), c_unitPropLife, 1.0);
}
libSCHO_gf_MMHOUISetProgressUnits();
return true;
}
void libSCHO_gf_MMHOUISetProgressUnits () {
// Automatic Variable Declarations
// Implementation
if (((libSCHO_gv_mMHO_OrderProgressUnit != null) && (libSCHO_gv_mMHO_ChaosProgressUnit != null))) {
libNtve_gf_SetDialogItemUnit(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBar[1][1], libSCHO_gv_mMHO_OrderProgressUnit, PlayerGroupAll());
libNtve_gf_SetDialogItemUnit(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBar[1][2], libSCHO_gv_mMHO_ChaosProgressUnit, PlayerGroupAll());
libNtve_gf_SetDialogItemUnit(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBar[2][1], libSCHO_gv_mMHO_OrderProgressUnit, PlayerGroupAll());
libNtve_gf_SetDialogItemUnit(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBar[2][2], libSCHO_gv_mMHO_ChaosProgressUnit, PlayerGroupAll());
}
else {
return ;
}
}
void libSCHO_gf_MMHOUISetZergSwarmKilled (int lp_mode) {
// Automatic Variable Declarations
int autoAB1C8089_val;
// Implementation
autoAB1C8089_val = lp_mode;
if (autoAB1C8089_val == libGame_gv_teamOrderIndex_C) {
if ((libSCHO_gv_mMHO_OrderPlayedAnimation == false)) {
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[1], PlayerGroupAll(), "LeftBossDefeated");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[2], PlayerGroupAll(), "LeftBossDefeated");
libSCHO_gv_mMHO_ChaosPlayedAnimation = true;
}
}
else if (autoAB1C8089_val == libGame_gv_teamChaosIndex_C) {
if ((libSCHO_gv_mMHO_ChaosPlayedAnimation == false)) {
}
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[1], PlayerGroupAll(), "RightBossDefeated");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[2], PlayerGroupAll(), "RightBossDefeated");
libSCHO_gv_mMHO_ChaosPlayedAnimation = true;
}
else {
}
}
void libSCHO_gf_MMHOUISetTopBeaconOwner (int lp_team) {
// Variable Declarations
int lv_enemyTeam;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
if ((lp_team == 0)) {
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_dragonShireMoonShrineEnabledImage[libGame_gv_teamOrderIndex_C], PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_dragonShireMoonShrineEnabledImage[libGame_gv_teamChaosIndex_C], PlayerGroupAll(), false);
}
else {
lv_enemyTeam = (3 - lp_team);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_dragonShireMoonShrineEnabledImage[lp_team], PlayerGroupAll(), true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_dragonShireMoonShrineEnabledImage[lv_enemyTeam], PlayerGroupAll(), false);
}
}
void libSCHO_gf_MMHOUISetBottomBeaconOwner (int lp_team) {
// Variable Declarations
int lv_enemyTeam;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
if ((lp_team == 0)) {
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_dragonShireStarShrineEnabledImage[libGame_gv_teamOrderIndex_C], PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_dragonShireStarShrineEnabledImage[libGame_gv_teamChaosIndex_C], PlayerGroupAll(), false);
}
else {
lv_enemyTeam = (3 - lp_team);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_dragonShireStarShrineEnabledImage[lp_team], PlayerGroupAll(), true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_dragonShireStarShrineEnabledImage[lv_enemyTeam], PlayerGroupAll(), false);
}
}
void libSCHO_gf_MMHOUIBeaconStatusMonitor () {
// Automatic Variable Declarations
int auto2489A3F1_val;
int autoD492743C_val;
// Implementation
auto2489A3F1_val = UnitGetOwner(libSCHO_gv_mMHO_HiveControlBeacons[1].lv_beaconUnit);
if (auto2489A3F1_val == libCore_gv_cOMPUTER_Neutral) {
libSCHO_gf_MMHOUISetTopBeaconOwner(libCore_gv_cOMPUTER_Neutral);
}
else if (auto2489A3F1_val == libCore_gv_cOMPUTER_TeamOrder) {
libSCHO_gf_MMHOUISetTopBeaconOwner(libGame_gv_teamOrderIndex_C);
}
else if (auto2489A3F1_val == libCore_gv_cOMPUTER_TeamChaos) {
libSCHO_gf_MMHOUISetTopBeaconOwner(libGame_gv_teamChaosIndex_C);
}
else {
}
autoD492743C_val = UnitGetOwner(libSCHO_gv_mMHO_HiveControlBeacons[2].lv_beaconUnit);
if (autoD492743C_val == libCore_gv_cOMPUTER_Neutral) {
libSCHO_gf_MMHOUISetBottomBeaconOwner(libCore_gv_cOMPUTER_Neutral);
}
else if (autoD492743C_val == libCore_gv_cOMPUTER_TeamOrder) {
libSCHO_gf_MMHOUISetBottomBeaconOwner(libGame_gv_teamOrderIndex_C);
}
else if (autoD492743C_val == libCore_gv_cOMPUTER_TeamChaos) {
libSCHO_gf_MMHOUISetBottomBeaconOwner(libGame_gv_teamChaosIndex_C);
}
else {
}
}
void libSCHO_gf_MMHOShowHideBeaconMinimapPings (bool lp_showHide) {
// Automatic Variable Declarations
// Implementation
PingSetVisible(libSCHO_gv_mMHO_HiveControlBeacons[1].lv_pingModelOrder, lp_showHide);
PingSetVisible(libSCHO_gv_mMHO_HiveControlBeacons[1].lv_pingModelChaos, lp_showHide);
PingSetVisible(libSCHO_gv_mMHO_HiveControlBeacons[2].lv_pingModelChaos, lp_showHide);
PingSetVisible(libSCHO_gv_mMHO_HiveControlBeacons[2].lv_pingModelOrder, lp_showHide);
}
void libSCHO_gf_MMHOSpawnSpecificAttackWave (region lp_attackRegion, point lp_point, string lp_attackWave) {
// Variable Declarations
int lv_itUserData;
// Automatic Variable Declarations
const int auto5F9041E4_ae = 3;
const int auto5F9041E4_ai = 1;
// Variable Initialization
// Deprecated
lv_itUserData = 1;
for ( ; ( (auto5F9041E4_ai >= 0 && lv_itUserData <= auto5F9041E4_ae) || (auto5F9041E4_ai < 0 && lv_itUserData >= auto5F9041E4_ae) ) ; lv_itUserData += auto5F9041E4_ai ) {
libNtve_gf_CreateUnitsWithDefaultFacing(UserDataGetInt("AttackWaves", lp_attackWave, "Count", lv_itUserData), UserDataGetGameLink("AttackWaves", lp_attackWave, "Attacking Units", lv_itUserData), 0, libCore_gv_cOMPUTER_Hostile, RegionRandomPoint(lp_attackRegion), null);
}
}
// Triggers
//--------------------------------------------------------------------------------------------------
// Trigger: #Include HoldOut
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_IncludeHoldOut_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libSCHO_gt_MMHOInitializeMercCampData, true, false);
TriggerExecute(libSCHO_gt_MMHOInitializePingData, true, false);
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_IncludeHoldOut_Init () {
libSCHO_gt_IncludeHoldOut = TriggerCreate("libSCHO_gt_IncludeHoldOut_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Initialize Merc Camp Data
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOInitializeMercCampData_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_campType;
// Automatic Variable Declarations
// Variable Initialization
// Actions
if (!runActions) {
return true;
}
lv_campType = (libMapM_ge_JungleCampDefenderTypes_BossCamp1);
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_campIsSoloable = false;
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_campIsElite = true;
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_initialSpawnDelay = libMapM_gv_genericMercBossCampInitialSpawnDelay_C;
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_respawnTime = 250.0;
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_numberOfCreeps = 1;
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_campTypeMinimapLabel = StringExternal("Param/Value/lib_SCHO_DEB65393");
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_defendersCoweronDeath = false;
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_creepUnitTypes[1] = "TerranArchangelDefender";
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_defenderCoweringUnit[1] = false;
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_xPAwardForCapture = libCore_gv_data_XP_GraveGolemCapture_C;
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_aIGoalLink = "MercenaryCampGraveGolem";
libMapM_gv_dataJungleCampMercData[lv_campType].lv_numberOfMinionsSpawned = 0;
libMapM_gf_DataInitializeScalingDataForDefender(libMapM_ge_JungleCampDefenderTypes_BossCamp1, "TerranArchangelDefenderScaling");
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOInitializeMercCampData_Init () {
libSCHO_gt_MMHOInitializeMercCampData = TriggerCreate("libSCHO_gt_MMHOInitializeMercCampData_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Initialize Ping Data
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOInitializePingData_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
libUIUI_gf_PingCreateNewPingTarget("ZergHiveControlBeacon", false, StringExternal("Param/Value/lib_SCHO_63EB6567"), StringExternal("Param/Value/lib_SCHO_0A09B086"), StringExternal("Param/Value/lib_SCHO_4B4C4BB6"), SoundLink("UI_Game_Ping_Attack", -1), SoundLink("UI_Game_Ping_Attack", -1));
libUIUI_gf_PingCreateNewPingTarget("ZergZergling", false, StringExternal("Param/Value/lib_SCHO_AEDBE47A"), StringExternal("Param/Value/lib_SCHO_96C0AB98"), StringExternal("Param/Value/lib_SCHO_EEEE1F04"), SoundLink("UI_Game_Ping_Attack", -1), SoundLink("UI_Game_Ping_Attack", -1));
libUIUI_gf_PingCreateNewPingTarget("ZergHydralisk", false, StringExternal("Param/Value/lib_SCHO_D661E5B5"), StringExternal("Param/Value/lib_SCHO_883EF8B8"), StringExternal("Param/Value/lib_SCHO_CB673020"), SoundLink("UI_Game_Ping_Attack", -1), SoundLink("UI_Game_Ping_Attack", -1));
libUIUI_gf_PingCreateNewPingTarget("ZergBaneling", false, StringExternal("Param/Value/lib_SCHO_6D387197"), StringExternal("Param/Value/lib_SCHO_457DBFE2"), StringExternal("Param/Value/lib_SCHO_4E59B8E3"), SoundLink("UI_Game_Ping_Attack", -1), SoundLink("UI_Game_Ping_Attack", -1));
libUIUI_gf_PingCreateNewPingTarget("ZergUltralisk", false, StringExternal("Param/Value/lib_SCHO_3B6609ED"), StringExternal("Param/Value/lib_SCHO_9B951AEC"), StringExternal("Param/Value/lib_SCHO_B884D856"), SoundLink("UI_Game_Ping_Attack", -1), SoundLink("UI_Game_Ping_Attack", -1));
libUIUI_gf_PingCreateNewPingTarget("ZergGuardian", false, StringExternal("Param/Value/lib_SCHO_6FDD4E21"), StringExternal("Param/Value/lib_SCHO_10131632"), StringExternal("Param/Value/lib_SCHO_777FEC25"), SoundLink("UI_Game_Ping_Attack", -1), SoundLink("UI_Game_Ping_Attack", -1));
libUIUI_gf_PingCreateNewPingTarget("TerranArchangelDefender", false, StringExternal("Param/Value/lib_SCHO_1ADEB967"), StringExternal("Param/Value/lib_SCHO_239B828E"), StringExternal("Param/Value/lib_SCHO_93C2EF71"), SoundLink("UI_Game_Ping_Attack", -1), SoundLink("UI_Game_Ping_Attack", -1));
libUIUI_gf_PingSetHumanAISourceHeroVOForPingTarget(libUIUI_gf_PingLastCreatedPingTarget(), libCore_ge_HeroVOEvents_PingAttackMercCamp, libCore_ge_HeroVOEvents_AIMercCapture);
libUIUI_gf_PingCreateNewPingTarget("TerranArchangelLaner", false, StringExternal("Param/Value/lib_SCHO_822B4314"), StringExternal("Param/Value/lib_SCHO_0C299E2A"), StringExternal("Param/Value/lib_SCHO_642B339B"), SoundLink("UI_Game_Ping_Attack", -1), SoundLink("UI_Game_Ping_Attack", -1));
libUIUI_gf_PingSetAllyEnemyTargetHeroVOForPingTarget(libUIUI_gf_PingLastCreatedPingTarget(), libCore_ge_HeroVOEvents_PingAttackHere, libCore_ge_HeroVOEvents_PingAttackHere);
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOInitializePingData_Init () {
libSCHO_gt_MMHOInitializePingData = TriggerCreate("libSCHO_gt_MMHOInitializePingData_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Init
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOInit_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libGame_gf_MapMechanicInitializationMechanicType() == libSCHO_gv_mMSC1MechanicName_C))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
libSCHO_gv_mMHO_AttackLane = RandomInt(1, 2);
libSCHO_gf_MMHOInitializeHiveControlCapturePoints();
libGame_gf_SendMapSpecificAwardInitializeEventwithUserData(null, "Generic Instance");
libSCHO_gv_mMHO_ZergAICustomUnitValue[libGame_gv_teamOrderIndex_C] = libMapM_gf_RegisterMapMechanicAIUnitCustomValue();
libSCHO_gv_mMHO_ZergAICustomUnitValue[libGame_gv_teamChaosIndex_C] = libMapM_gf_RegisterMapMechanicAIUnitCustomValue();
libSCHO_gv_mMHO_ArchangelAICustomUnitValue = libMapM_gf_RegisterMapMechanicAIUnitCustomValue();
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOInit_Init () {
libSCHO_gt_MMHOInit = TriggerCreate("libSCHO_gt_MMHOInit_Func");
libGame_gf_MapMechanicInitialization(libSCHO_gt_MMHOInit);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Gate Open
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOGateOpen_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_itCamp;
// Automatic Variable Declarations
const int auto93719568_ae = 4;
const int auto93719568_ai = 1;
// Variable Initialization
// Actions
if (!runActions) {
return true;
}
if ((libMapM_gv_mMMapMechanicDisabled == false)) {
TimerStart(libSCHO_gv_mMHO_AttackEventTimer, libSCHO_gv_mMHO_FirstAttackEventDuration_C, false, c_timeGame);
}
TriggerExecute(libSCHO_gt_MMHOUIHandler, true, false);
libSCHO_gf_MMHORegenGlobeCoolupTime();
TimerStart(libSCHO_gv_mMHO_ScalingTimer, 60.0, false, c_timeGame);
TimerStart(libSCHO_gv_mMHO_Elevator.lv_elevatorInitialRaiseTimer, (libMapM_gv_dataJungleCampDefenderData[(libMapM_ge_JungleCampDefenderTypes_BossCamp1)].lv_initialSpawnDelay - libSCHO_gv_mMHO_Elevator_Anim_Headstart_C), false, c_timeGame);
lv_itCamp = 1;
for ( ; ( (auto93719568_ai >= 0 && lv_itCamp <= auto93719568_ae) || (auto93719568_ai < 0 && lv_itCamp >= auto93719568_ae) ) ; lv_itCamp += auto93719568_ai ) {
TimerStart(libSCHO_gv_mMHO_Factory_Timer[lv_itCamp].lv_animationTimer, (libMapM_gv_dataJungleCampDefenderData[libMapM_gv_jungleCreepCamps[lv_itCamp].lv_mapDataCampDefenderType].lv_initialSpawnDelay-libSCHO_gv_mMHO_Factory_Anim_Headstart_C), false, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOGateOpen_Init () {
libSCHO_gt_MMHOGateOpen = TriggerCreate("libSCHO_gt_MMHOGateOpen_Func");
TriggerAddEventTimer(libSCHO_gt_MMHOGateOpen, libGame_gv_openTheGatesTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Start Warning Timer
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOStartWarningTimer_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_index;
// Automatic Variable Declarations
const int auto424BF917_ae = libSCHO_gv_mMHO_ControlBeaconMaxCount_C;
const int auto424BF917_ai = 1;
// Variable Initialization
// Actions
if (!runActions) {
return true;
}
libCore_gf_CreateMinimapPingStorm(PlayerGroupAll(), "StormWarning", libSCHO_gv_mMHO_TopCaptureBeacon, ColorWithAlpha(100.00, 100.00, 0.00, 0.00), 15.0);
PingSetScale(PingLastCreated(), 0.5);
libCore_gf_CreateMinimapPingStorm(PlayerGroupAll(), "StormWarning", libSCHO_gv_mMHO_BottomCaptureBeacon, ColorWithAlpha(100.00, 100.00, 0.00, 0.00), 15.0);
PingSetScale(PingLastCreated(), 0.5);
SoundPlayForPlayer(SoundLink("UI_Game_Ping_BraxisHoldout_BeaconsEnergizing", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
libSond_gf_SoundtrackApplyNewDefaultSoundtrackForPlayerGroup("MX_BraxisHoldout_BeaconsActivating", libCore_gv_allHeroPlayersPlusObserver);
TimerStart(libSCHO_gv_mMHO_AttackEventWarningTimer, libSCHO_gv_mMHO_AttackEventWarningDuration_C, false, c_timeGame);
libAIAI_gf_AITeamDelegateSetPeriodicMapValueAction(libAIAI_ge_AITeamDelegateMapNonEventMapValueOperations_Decrease);
if ((libSCHO_gv_mMHO_AttackLane == 1)) {
UnitBehaviorAddPlayer(libSCHO_gv_mMHO_HiveCages[2].lv_south, "HoldingPenControllerBR", libGame_gv_teamChaosIndex_C, 1);
UnitBehaviorAddPlayer(libSCHO_gv_mMHO_HiveCages[1].lv_north, "HoldingPenControllerTL", libGame_gv_teamOrderIndex_C, 1);
}
else {
UnitBehaviorAddPlayer(libSCHO_gv_mMHO_HiveCages[1].lv_south, "HoldingPenControllerBL", libGame_gv_teamOrderIndex_C, 1);
UnitBehaviorAddPlayer(libSCHO_gv_mMHO_HiveCages[2].lv_north, "HoldingPenControllerTR", libGame_gv_teamChaosIndex_C, 1);
}
libSCHO_gv_mMHO_AttackLaneHPMiniMapController = libSCHO_gv_mMHO_AttackLane;
libSCHO_gv_mMHO_AttackLane = (3 - libSCHO_gv_mMHO_AttackLane);
libSCHO_gv_mMHO_NumberOfEventsFired += 1;
libSCHO_gv_zergDropPodDropsRemaining[1] = libSCHO_gv_zergDropPodMaximumDrops_C;
libSCHO_gv_zergDropPodDropsRemaining[2] = libSCHO_gv_zergDropPodMaximumDrops_C;
libSCHO_gf_MMHOTransmissionBeaconsActivating();
lv_index = 1;
for ( ; ( (auto424BF917_ai >= 0 && lv_index <= auto424BF917_ae) || (auto424BF917_ai < 0 && lv_index >= auto424BF917_ae) ) ; lv_index += auto424BF917_ai ) {
AddUnitOfInterest(libSCHO_gv_mMHO_HiveControlBeacons[lv_index].lv_beaconUnit, libSCHO_gv_mMHO_CapturePointRadius_C, libSCHO_gv_mMHO_AttackEventWarningDuration_C, "Beacon", libNtve_ge_GoalTeam_Both, libSCHO_gv_mMHO_HiveControlBeacons[lv_index].lv_controlBeaconIndex);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOStartWarningTimer_Init () {
libSCHO_gt_MMHOStartWarningTimer = TriggerCreate("libSCHO_gt_MMHOStartWarningTimer_Func");
TriggerAddEventTimer(libSCHO_gt_MMHOStartWarningTimer, libSCHO_gv_mMHO_AttackEventTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Warning Timer Expires
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOWarningTimerExpires_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
libAIAI_gf_AITeamDelegateActivateDeactivateMapEvent(libAIAI_ge_AITeamDelegateActivateDeactivateMapToken_Activate);
libSCHO_gf_MMHOTransmissionBeaconsActive();
libSCHO_gf_MMHOTurnOnHiveControlBeacons();
libSCHO_gf_MMHOHiveBeaconSpawnAnnouncement();
TriggerExecute(libSCHO_gt_MMHOHiveControlBeaconMonitor, true, false);
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOWarningTimerExpires_Init () {
libSCHO_gt_MMHOWarningTimerExpires = TriggerCreate("libSCHO_gt_MMHOWarningTimerExpires_Func");
TriggerAddEventTimer(libSCHO_gt_MMHOWarningTimerExpires, libSCHO_gv_mMHO_AttackEventWarningTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Spawn Attack Waves
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOSpawnAttackWaves_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
libSCHO_gv_mMHO_WaveTracker += 1;
libSCHO_gf_MMHOSetupZergAttackWave();
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOSpawnAttackWaves_Init () {
libSCHO_gt_MMHOSpawnAttackWaves = TriggerCreate("libSCHO_gt_MMHOSpawnAttackWaves_Func");
TriggerAddEventTimer(libSCHO_gt_MMHOSpawnAttackWaves, libSCHO_gv_mMHO_AttackWaveTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Hive Control Beacon Changes Owner
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOHiveControlBeaconChangesOwner_Func (bool testConds, bool runActions) {
// Variable Declarations
bool lv_bothCapturedByOrder;
bool lv_bothCapturedByChaos;
int lv_index;
int lv_oppositeIndex;
int lv_itIndex;
bool lv_capturePointCapturedWasZergBeacon;
int lv_beaconOwner;
// Automatic Variable Declarations
const int auto63C193D0_ae = libSCHO_gv_mMHO_ControlBeaconMaxCount_C;
const int auto63C193D0_ai = 1;
int auto31BA37A3_val;
int autoB98F8E0A_val;
// Variable Initialization
// Actions
if (!runActions) {
return true;
}
if (((libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamOrderIndex_C] >= 100.0) || (libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamChaosIndex_C] >= 100.0))) {
}
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconTopNeutral, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_top_off.dds", PlayerGroupAll());
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconTopOrder, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_top_off.dds", PlayerGroupAll());
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconTopChaos, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_top_off.dds", PlayerGroupAll());
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconBottomNeutral, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_bottom_off.dds", PlayerGroupAll());
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconBottomOrder, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_bottom_off.dds", PlayerGroupAll());
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconBottomChaos, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_bottom_off.dds", PlayerGroupAll());
lv_index = 1;
for ( ; ( (auto63C193D0_ai >= 0 && lv_index <= auto63C193D0_ae) || (auto63C193D0_ai < 0 && lv_index >= auto63C193D0_ae) ) ; lv_index += auto63C193D0_ai ) {
if ((libSCHO_gv_mMHO_HiveControlBeacons[lv_index].lv_controlBeaconIndex == libGame_gf_CapturePointChangesOwnerCapturePointIndex())) {
lv_beaconOwner = libSCHO_gf_MMHOGetHiveControlBeaconOwners();
lv_capturePointCapturedWasZergBeacon = true;
auto31BA37A3_val = libGame_gf_CapturePointChangesOwnerOwner();
if (auto31BA37A3_val == libCore_gv_cOMPUTER_TeamOrder) {
libSCHO_gf_MMHOControlSlabAnimationOwnershipChange(libGame_gv_teamOrderIndex_C, lv_index);
libSCHO_gf_MMHOSetSwitchAnimationOwnershipChanges(libGame_gv_teamOrderIndex_C, lv_index);
libCore_gf_CreateMinimapPingStorm(PlayerGroupAll(), "StormAlert", UnitGetPosition(libSCHO_gv_mMHO_HiveControlBeacons[lv_index].lv_beaconUnit), ColorWithAlpha(100.00, 100.00, 0.00, 0.00), 5.0);
SoundPlayForPlayer(SoundLink("UI_Game_Ping_Reminder2", -1), c_maxPlayers, PlayerGroupAll(), 75.0, 0.0);
if ((libSCHO_gv_mMHO_HiveControlBeacons[lv_index].lv_controlBeaconIndex == libSCHO_gv_mMHO_HiveControlBeacons[1].lv_controlBeaconIndex)) {
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopNeutral, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopOrder, PlayerGroupAll(), true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopChaos, PlayerGroupAll(), false);
}
else {
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomNeutral, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomOrder, PlayerGroupAll(), true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomChaos, PlayerGroupAll(), false);
}
if ((lv_beaconOwner == libCore_gv_cOMPUTER_Neutral)) {
SoundPlayForPlayer(SoundLink("Event_BraxisHoldout_BeaconCaptured_Ally", -1), c_maxPlayers, PlayerGroupSingle(libCore_gv_oBSERVER_ObserverUIPlayer), 100.0, 0.0);
SoundPlayForPlayer(SoundLink("Event_BraxisHoldout_BeaconCaptured_Ally", -1), c_maxPlayers, libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamOrderIndex_C, false), 100.0, 0.0);
SoundPlayForPlayer(SoundLink("Event_BraxisHoldout_BeaconCaptured_Enemy", -1), c_maxPlayers, libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamChaosIndex_C, false), 100.0, 0.0);
}
}
else if (auto31BA37A3_val == libCore_gv_cOMPUTER_TeamChaos) {
libSCHO_gf_MMHOControlSlabAnimationOwnershipChange(libGame_gv_teamChaosIndex_C, lv_index);
libSCHO_gf_MMHOSetSwitchAnimationOwnershipChanges(libGame_gv_teamChaosIndex_C, lv_index);
libCore_gf_CreateMinimapPingStorm(PlayerGroupAll(), "StormAlert", UnitGetPosition(libSCHO_gv_mMHO_HiveControlBeacons[lv_index].lv_beaconUnit), ColorWithAlpha(100.00, 100.00, 0.00, 0.00), 5.0);
SoundPlayForPlayer(SoundLink("UI_Game_Ping_Reminder2", -1), c_maxPlayers, PlayerGroupAll(), 75.0, 0.0);
if ((libSCHO_gv_mMHO_HiveControlBeacons[lv_index].lv_controlBeaconIndex == libSCHO_gv_mMHO_HiveControlBeacons[1].lv_controlBeaconIndex)) {
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopNeutral, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopOrder, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopChaos, PlayerGroupAll(), true);
}
else {
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomNeutral, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomOrder, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomChaos, PlayerGroupAll(), true);
}
if ((lv_beaconOwner == libCore_gv_cOMPUTER_Neutral)) {
SoundPlayForPlayer(SoundLink("Event_BraxisHoldout_BeaconCaptured_Ally", -1), c_maxPlayers, libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamChaosIndex_C, false), 100.0, 0.0);
SoundPlayForPlayer(SoundLink("Event_BraxisHoldout_BeaconCaptured_Enemy", -1), c_maxPlayers, PlayerGroupSingle(libCore_gv_oBSERVER_ObserverUIPlayer), 100.0, 0.0);
SoundPlayForPlayer(SoundLink("Event_BraxisHoldout_BeaconCaptured_Enemy", -1), c_maxPlayers, libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamOrderIndex_C, false), 100.0, 0.0);
}
}
else if (auto31BA37A3_val == libCore_gv_cOMPUTER_Neutral) {
libSCHO_gf_MMHOControlSlabAnimationOwnershipChange(libCore_gv_cOMPUTER_Neutral, lv_index);
libSCHO_gf_MMHOSetSwitchAnimationOwnershipChanges(libCore_gv_cOMPUTER_Neutral, lv_index);
UnitBehaviorRemove(libSCHO_gv_beaconUnitTop, "BeaconRadarWaveControllerTR", 1);
UnitBehaviorRemove(libSCHO_gv_beaconUnitBottom, "BeaconRadarWaveControllerBR", 1);
UnitBehaviorRemove(libSCHO_gv_beaconUnitBottom, "BeaconRadarWaveControllerBL", 1);
UnitBehaviorRemove(libSCHO_gv_beaconUnitTop, "BeaconRadarWaveControllerTL", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[2].lv_south, "HoldingPenControllerActiveBR", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[2].lv_north, "HoldingPenControllerActiveTR", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[1].lv_north, "HoldingPenControllerActiveTL", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[1].lv_south, "HoldingPenControllerActiveBL", 1);
if ((libSCHO_gv_mMHO_HiveControlBeacons[lv_index].lv_controlBeaconIndex == libSCHO_gv_mMHO_HiveControlBeacons[1].lv_controlBeaconIndex)) {
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopNeutral, PlayerGroupAll(), true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopOrder, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopChaos, PlayerGroupAll(), false);
}
else {
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomNeutral, PlayerGroupAll(), true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomOrder, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomChaos, PlayerGroupAll(), false);
}
}
else {
}
libSCHO_gf_MMHOHiveControlBeaconDoodadController(lv_index);
}
}
if ((lv_capturePointCapturedWasZergBeacon == false)) {
return true;
}
if ((UnitGetOwner(libSCHO_gv_mMHO_BeaconAntennae.lv_north) == lv_beaconOwner) && (UnitGetOwner(libSCHO_gv_mMHO_BeaconAntennae.lv_north) != libCore_gv_cOMPUTER_Neutral)) {
return true;
}
autoB98F8E0A_val = lv_beaconOwner;
if (autoB98F8E0A_val == libCore_gv_cOMPUTER_Neutral) {
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_HiveCages[libGame_gv_teamOrderIndex_C].lv_south, "Signal BothBeaconsNoLongerCaptured");
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_HiveCages[libGame_gv_teamChaosIndex_C].lv_south, "Signal BothBeaconsNoLongerCaptured");
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_TopCaptureSlab), "Signal BothBeaconsNoLongerCaptured");
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_BottomCaptureSlab), "Signal BothBeaconsNoLongerCaptured");
libSCHO_gf_MMHOSetSwitchAnimationBothBeaconsNoLongerCaptured();
libSCHO_gf_MMHOTurnCaptureCablesOnOffForTeam(false, 0);
libSCHO_gf_MMHOBothBeaconsNoLongerCapturedBeams();
libSCHO_gf_MMHOClearAlarmLights();
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink1, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink2, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink3, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink4, PlayerGroupAll(), false);
if ((UnitGetOwner(libSCHO_gv_mMHO_HiveControlBeacons[1].lv_beaconUnit) == libCore_gv_cOMPUTER_TeamOrder)) {
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopNeutral, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopOrder, PlayerGroupAll(), true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopChaos, PlayerGroupAll(), false);
}
else if ((UnitGetOwner(libSCHO_gv_mMHO_HiveControlBeacons[2].lv_beaconUnit) == libCore_gv_cOMPUTER_TeamOrder)) {
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomNeutral, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomOrder, PlayerGroupAll(), true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomChaos, PlayerGroupAll(), false);
}
else if ((UnitGetOwner(libSCHO_gv_mMHO_HiveControlBeacons[1].lv_beaconUnit) == libCore_gv_cOMPUTER_TeamChaos)) {
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopNeutral, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopOrder, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconTopChaos, PlayerGroupAll(), true);
}
else if ((UnitGetOwner(libSCHO_gv_mMHO_HiveControlBeacons[2].lv_beaconUnit) == libCore_gv_cOMPUTER_TeamChaos)) {
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomNeutral, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomOrder, PlayerGroupAll(), false);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_beaconBottomChaos, PlayerGroupAll(), true);
}
}
else if (autoB98F8E0A_val == libCore_gv_cOMPUTER_TeamOrder) {
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_HiveCages[libGame_gv_teamChaosIndex_C].lv_south, "Signal BothBeaconsCaptured");
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_TopCaptureSlab), "Signal BothBeaconsCaptured");
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_BottomCaptureSlab), "Signal BothBeaconsCaptured");
libSCHO_gf_MMHOTurnCaptureCablesOnOffForTeam(true, libGame_gv_teamOrderIndex_C);
libSCHO_gf_MMHOSetSwitchAnimationBothBeaconsCaptured(libGame_gv_teamOrderIndex_C);
libSCHO_gf_MMHOBothBeaconsCapturedBeams(libGame_gv_teamOrderIndex_C);
libSCHO_gf_MMHOTurnOnAlarmLightsForTeam(libGame_gv_teamOrderIndex_C);
if ((libSCHO_gv_mMHO_AttackLaneHPMiniMapController == 1)) {
UnitBehaviorAddPlayer(libSCHO_gv_beaconUnitTop, "BeaconRadarWaveControllerTL", libGame_gv_teamOrderIndex_C, 1);
UnitBehaviorAddPlayer(libSCHO_gv_mMHO_HiveCages[1].lv_north, "HoldingPenControllerActiveTL", libGame_gv_teamOrderIndex_C, 1);
UnitBehaviorRemove(libSCHO_gv_beaconUnitBottom, "BeaconRadarWaveControllerBR", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[2].lv_south, "HoldingPenControllerActiveBR", 1);
}
else {
UnitBehaviorAddPlayer(libSCHO_gv_beaconUnitBottom, "BeaconRadarWaveControllerBL", libGame_gv_teamOrderIndex_C, 1);
UnitBehaviorAddPlayer(libSCHO_gv_mMHO_HiveCages[1].lv_south, "HoldingPenControllerActiveBL", libGame_gv_teamOrderIndex_C, 1);
UnitBehaviorRemove(libSCHO_gv_beaconUnitTop, "BeaconRadarWaveControllerTR", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[2].lv_north, "HoldingPenControllerActiveTR", 1);
}
lv_bothCapturedByOrder = true;
}
else if (autoB98F8E0A_val == libCore_gv_cOMPUTER_TeamChaos) {
libNtve_gf_SendActorMessageToUnit(libSCHO_gv_mMHO_HiveCages[libGame_gv_teamOrderIndex_C].lv_south, "Signal BothBeaconsCaptured");
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_TopCaptureSlab), "Signal BothBeaconsCaptured");
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_BottomCaptureSlab), "Signal BothBeaconsCaptured");
libSCHO_gf_MMHOTurnCaptureCablesOnOffForTeam(true, libGame_gv_teamChaosIndex_C);
libSCHO_gf_MMHOSetSwitchAnimationBothBeaconsCaptured(libGame_gv_teamChaosIndex_C);
libSCHO_gf_MMHOBothBeaconsCapturedBeams(libGame_gv_teamChaosIndex_C);
libSCHO_gf_MMHOTurnOnAlarmLightsForTeam(libGame_gv_teamChaosIndex_C);
if ((libSCHO_gv_mMHO_AttackLaneHPMiniMapController == 1)) {
UnitBehaviorAddPlayer(libSCHO_gv_beaconUnitBottom, "BeaconRadarWaveControllerBR", libGame_gv_teamChaosIndex_C, 1);
UnitBehaviorAddPlayer(libSCHO_gv_mMHO_HiveCages[2].lv_south, "HoldingPenControllerActiveBR", libGame_gv_teamChaosIndex_C, 1);
UnitBehaviorRemove(libSCHO_gv_beaconUnitTop, "BeaconRadarWaveControllerTL", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[1].lv_north, "HoldingPenControllerActiveTL", 1);
}
else {
UnitBehaviorAddPlayer(libSCHO_gv_beaconUnitTop, "BeaconRadarWaveControllerTR", libGame_gv_teamChaosIndex_C, 1);
UnitBehaviorAddPlayer(libSCHO_gv_mMHO_HiveCages[2].lv_north, "HoldingPenControllerActiveTR", libGame_gv_teamChaosIndex_C, 1);
UnitBehaviorRemove(libSCHO_gv_beaconUnitBottom, "BeaconRadarWaveControllerBL", 1);
UnitBehaviorRemove(libSCHO_gv_mMHO_HiveCages[1].lv_south, "HoldingPenControllerActiveBL", 1);
}
lv_bothCapturedByChaos = true;
}
else {
}
if (((lv_bothCapturedByOrder == true) || (lv_bothCapturedByChaos == true))) {
if ((lv_bothCapturedByOrder == true)) {
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink1, libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroupNoNPCPlayers, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink2, libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroupNoNPCPlayers, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink1, PlayerGroupSingle(libCore_gv_oBSERVER_ObserverUIPlayer), true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink2, PlayerGroupSingle(libCore_gv_oBSERVER_ObserverUIPlayer), true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink3, libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink4, libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers, true);
Wait(0.0625, c_timeGame);
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconTopOrder, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_top_linked_blue.dds", PlayerGroupAll());
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconBottomOrder, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_bottom_linked_blue.dds", PlayerGroupAll());
}
else {
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink1, libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink2, libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink3, libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroupNoNPCPlayers, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink4, libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroupNoNPCPlayers, true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink3, PlayerGroupSingle(libCore_gv_oBSERVER_ObserverUIPlayer), true);
DialogControlSetVisible(libSCHO_gv_mMHOPanel.lv_lightningLink4, PlayerGroupSingle(libCore_gv_oBSERVER_ObserverUIPlayer), true);
Wait(0.0625, c_timeGame);
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconTopChaos, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_top_linked_red.dds", PlayerGroupAll());
libNtve_gf_SetDialogItemImage(libSCHO_gv_mMHOPanel.lv_beaconBottomChaos, "Assets\\Textures\\storm_ui_hud_minimap_holdout_beacon_bottom_linked_red.dds", PlayerGroupAll());
}
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOHiveControlBeaconChangesOwner_Init () {
libSCHO_gt_MMHOHiveControlBeaconChangesOwner = TriggerCreate("libSCHO_gt_MMHOHiveControlBeaconChangesOwner_Func");
libGame_gf_CapturePointChangesOwner(libSCHO_gt_MMHOHiveControlBeaconChangesOwner);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Hive Control Beacon Monitor
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOHiveControlBeaconMonitor_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_beaconOwner;
// Automatic Variable Declarations
int autoD5BD3175_val;
// Variable Initialization
// Actions
if (!runActions) {
return true;
}
while (true) {
lv_beaconOwner = libSCHO_gf_MMHOGetHiveControlBeaconOwners();
autoD5BD3175_val = lv_beaconOwner;
if (autoD5BD3175_val == libCore_gv_cOMPUTER_Neutral) {
libSCHO_gf_MMHOSetCableAnimationOwership(libCore_gv_cOMPUTER_Neutral);
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[1], PlayerGroupAll(), "TopBarPulseStop");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[2], PlayerGroupAll(), "TopBarPulseStop");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[1], PlayerGroupAll(), "BottomBarPulseStop");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[2], PlayerGroupAll(), "BottomBarPulseStop");
}
else if (autoD5BD3175_val == libCore_gv_cOMPUTER_TeamOrder) {
if ((libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamOrderIndex_C] < 100.0)) {
libSCHO_gf_MMHOSetCableAnimationOwership(libGame_gv_teamOrderIndex_C);
libSCHO_gf_MMHOControlSlabAnimationsProgress(libGame_gv_teamOrderIndex_C);
libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamOrderIndex_C] += libSCHO_gv_mMHO_ControlBeaconProgressIncrement_C;
libAIAI_gf_AITeamDelegateAdjustMapEventProgressforTeam(TruncI(libSCHO_gv_mMHO_ControlBeaconProgressIncrement_C), libGame_gv_teamOrderIndex_C);
if ((libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamOrderIndex_C] > 100.0)) {
libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamOrderIndex_C] = 100.0;
}
UnitSetPropertyFixed(libSCHO_gv_mMHO_OrderProgressUnit, c_unitPropLife, libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamOrderIndex_C]);
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[1][1], (FixedToText(libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamOrderIndex_C], 0) + StringExternal("Param/Value/lib_SCHO_8681B02F")), PlayerGroupAll());
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[2][1], (FixedToText(libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamOrderIndex_C], 0) + StringExternal("Param/Value/lib_SCHO_6033F3F5")), PlayerGroupAll());
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[1], PlayerGroupAll(), "TopBarPulse");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[2], PlayerGroupAll(), "BottomBarPulse");
libSCHO_gf_MMHOPeriodicallySpawnZergUnits(libGame_gv_teamOrderIndex_C);
}
else {
libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamOrderIndex_C] = 100.0;
}
}
else if (autoD5BD3175_val == libCore_gv_cOMPUTER_TeamChaos) {
if ((libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamChaosIndex_C] < 100.0)) {
libSCHO_gf_MMHOSetCableAnimationOwership(libGame_gv_teamChaosIndex_C);
libSCHO_gf_MMHOControlSlabAnimationsProgress(libGame_gv_teamChaosIndex_C);
libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamChaosIndex_C] += libSCHO_gv_mMHO_ControlBeaconProgressIncrement_C;
libAIAI_gf_AITeamDelegateAdjustMapEventProgressforTeam(TruncI(libSCHO_gv_mMHO_ControlBeaconProgressIncrement_C), libGame_gv_teamChaosIndex_C);
if ((libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamChaosIndex_C] > 100.0)) {
libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamChaosIndex_C] = 100.0;
}
UnitSetPropertyFixed(libSCHO_gv_mMHO_ChaosProgressUnit, c_unitPropLife, libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamChaosIndex_C]);
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[1][2], (FixedToText(libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamChaosIndex_C], 0) + StringExternal("Param/Value/lib_SCHO_675546D1")), PlayerGroupAll());
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[2][2], (FixedToText(libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamChaosIndex_C], 0) + StringExternal("Param/Value/lib_SCHO_EAFC236F")), PlayerGroupAll());
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[1], PlayerGroupAll(), "BottomBarPulse");
DialogControlSendAnimationEvent(libSCHO_gv_mMHOPanel.lv_beaconProgressFrame[2], PlayerGroupAll(), "TopBarPulse");
libSCHO_gf_MMHOPeriodicallySpawnZergUnits(libGame_gv_teamChaosIndex_C);
}
else {
libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamChaosIndex_C] = 100.0;
}
}
else {
}
if (((libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamOrderIndex_C] >= 100.0) || (libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamChaosIndex_C] >= 100.0))) {
libSCHO_gf_MMHOTransmissionBeaconsFullyCaptured(libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamOrderIndex_C], libSCHO_gv_mMHO_TeamProgress[libGame_gv_teamChaosIndex_C]);
libSCHO_gf_MMHOHiveCageFullyCharged();
return true;
}
Wait(libSCHO_gv_mMHO_ControlBeaconProgressTime_C, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOHiveControlBeaconMonitor_Init () {
libSCHO_gt_MMHOHiveControlBeaconMonitor = TriggerCreate("libSCHO_gt_MMHOHiveControlBeaconMonitor_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Animate Factory
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOAnimateFactory_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_index;
// Automatic Variable Declarations
timer auto61AC3838_val;
// Variable Initialization
// Actions
if (!runActions) {
return true;
}
auto61AC3838_val = EventTimer();
if (auto61AC3838_val == libSCHO_gv_mMHO_Factory_Timer[1].lv_animationTimer) {
lv_index = 1;
}
else if (auto61AC3838_val == libSCHO_gv_mMHO_Factory_Timer[2].lv_animationTimer) {
lv_index = 2;
}
else if (auto61AC3838_val == libSCHO_gv_mMHO_Factory_Timer[3].lv_animationTimer) {
lv_index = 3;
}
else if (auto61AC3838_val == libSCHO_gv_mMHO_Factory_Timer[4].lv_animationTimer) {
lv_index = 4;
}
else if (auto61AC3838_val == libSCHO_gv_mMHO_Factory_Timer[5].lv_animationTimer) {
lv_index = 5;
}
else if (auto61AC3838_val == libSCHO_gv_mMHO_Factory_Timer[6].lv_animationTimer) {
lv_index = 6;
}
else {
}
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_FactoryMercCampDoodads[lv_index]), "Signal CampSpawned");
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOAnimateFactory_Init () {
libSCHO_gt_MMHOAnimateFactory = TriggerCreate("libSCHO_gt_MMHOAnimateFactory_Func");
TriggerAddEventTimer(libSCHO_gt_MMHOAnimateFactory, libSCHO_gv_mMHO_Factory_Timer[1].lv_animationTimer);
TriggerAddEventTimer(libSCHO_gt_MMHOAnimateFactory, libSCHO_gv_mMHO_Factory_Timer[2].lv_animationTimer);
TriggerAddEventTimer(libSCHO_gt_MMHOAnimateFactory, libSCHO_gv_mMHO_Factory_Timer[3].lv_animationTimer);
TriggerAddEventTimer(libSCHO_gt_MMHOAnimateFactory, libSCHO_gv_mMHO_Factory_Timer[4].lv_animationTimer);
TriggerAddEventTimer(libSCHO_gt_MMHOAnimateFactory, libSCHO_gv_mMHO_Factory_Timer[5].lv_animationTimer);
TriggerAddEventTimer(libSCHO_gt_MMHOAnimateFactory, libSCHO_gv_mMHO_Factory_Timer[6].lv_animationTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Merc Camp Spawned
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOMercCampSpawned_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_index;
// Automatic Variable Declarations
// Variable Initialization
// Actions
if (!runActions) {
return true;
}
lv_index = libGame_gf_JungleCampSpawningIndex();
if ((TimerGetRemaining(libSCHO_gv_mMHO_Factory_Timer[lv_index].lv_animationTimer) > 1)) {
TimerStart(libSCHO_gv_mMHO_Factory_Timer[lv_index].lv_animationTimer, 0.0625, false, c_timeGame);
}
if ((lv_index == 5)) {
if ((TimerGetRemaining(libSCHO_gv_mMHO_Elevator.lv_elevatorInitialRaiseTimer) > 1)) {
TimerStart(libSCHO_gv_mMHO_Elevator.lv_elevatorInitialRaiseTimer, 0.0625, false, c_timeGame);
}
if ((TimerGetRemaining(libSCHO_gv_mMHO_Elevator.lv_elevatorLowerTimer) > 1)) {
TimerStart(libSCHO_gv_mMHO_Elevator.lv_elevatorLowerTimer, 0.0625, false, c_timeGame);
}
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOMercCampSpawned_Init () {
libSCHO_gt_MMHOMercCampSpawned = TriggerCreate("libSCHO_gt_MMHOMercCampSpawned_Func");
libGame_gf_JungleCampSpawning(libSCHO_gt_MMHOMercCampSpawned);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Merc Camp Cleared
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOMercCampCleared_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_index;
// Automatic Variable Declarations
// Variable Initialization
// Actions
if (!runActions) {
return true;
}
lv_index = libGame_gf_MercCampCapturedIndex();
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_FactoryMercCampDoodads[lv_index]), "Signal CampCleared");
if ((libMapM_gv_jungleCreepCamps[lv_index].lv_mapDataCampDefenderType != libMapM_ge_JungleCampDefenderTypes_BossCamp1)) {
TimerStart(libSCHO_gv_mMHO_Factory_Timer[lv_index].lv_animationTimer, (libMapM_gv_jungleCreepCamps[lv_index].lv_defenderRespawnTime-libSCHO_gv_mMHO_Factory_Anim_Headstart_C), false, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOMercCampCleared_Init () {
libSCHO_gt_MMHOMercCampCleared = TriggerCreate("libSCHO_gt_MMHOMercCampCleared_Func");
libGame_gf_MercCampCaptured(libSCHO_gt_MMHOMercCampCleared);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Archangel Is Captured
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOArchangelIsCaptured_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libGame_gf_MercCampCapturedIndex() == 5))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TimerStart(libSCHO_gv_mMHO_Elevator.lv_elevatorLowerTimer, (libMapM_gv_jungleCreepCamps[5].lv_defenderRespawnTime -15), false, c_timeGame);
libSCHO_gf_MMHOSpawnLanerArchangel(libGame_gf_TeamNumberOfPlayer(libGame_gf_MercCampCapturedOwner()), libGame_gf_MercCampCapturedIndex());
libSCHO_gf_MMHODelayElevatorLowering();
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOArchangelIsCaptured_Init () {
libSCHO_gt_MMHOArchangelIsCaptured = TriggerCreate("libSCHO_gt_MMHOArchangelIsCaptured_Func");
libGame_gf_MercCampCaptured(libSCHO_gt_MMHOArchangelIsCaptured);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Archangel Dies
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOArchangelDies_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
libSCHO_gv_mMHO_ArchangelWinningTeam = 0;
libSCHO_gv_mMHO_ArchangelCurrentPathIndex = 1;
libSCHO_gv_mMHO_ArchangelPathIndexMax = 1;
PathDestroy(libSCHO_gv_mMHO_ArchangelLanerPathLine);
PingDestroy(libSCHO_gv_mMHO_ArchangelLanerPing[0]);
PingDestroy(libSCHO_gv_mMHO_ArchangelLanerPing[1]);
PingDestroy(libSCHO_gv_mMHO_ArchangelLanerPing[2]);
TriggerEnable(TriggerGetCurrent(), false);
TriggerEnable(libSCHO_gt_MMHOArchangelUpdateMercPath, false);
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOArchangelDies_Init () {
libSCHO_gt_MMHOArchangelDies = TriggerCreate("libSCHO_gt_MMHOArchangelDies_Func");
TriggerEnable(libSCHO_gt_MMHOArchangelDies, false);
TriggerAddEventUnitDied(libSCHO_gt_MMHOArchangelDies, UnitRefFromVariable("libSCHO_gv_mMHO_ArchangelLaner"));
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Archangel Defender Spawned
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOArchangelDefenderSpawned_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((UnitGetType(libGame_gf_JungleCampDefenderUnit()) == "TerranArchangelDefender"))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
if ((libSCHO_gv_mMHO_Elevator.lv_elevatorWasLowered == false)) {
libNtve_gf_SendActorMessageToUnit(libGame_gf_JungleCampDefenderUnit(), "SetVisibility 1");
libNtve_gf_SendActorMessageToUnit(libGame_gf_JungleCampDefenderUnit(), "Signal FlyingBirth");
}
Wait(3.0, c_timeGame);
libSCHO_gf_MMHOElevatorAddRemoveUnpathable(false);
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOArchangelDefenderSpawned_Init () {
libSCHO_gt_MMHOArchangelDefenderSpawned = TriggerCreate("libSCHO_gt_MMHOArchangelDefenderSpawned_Func");
libGame_gf_JungleCampDefenderCreated(libSCHO_gt_MMHOArchangelDefenderSpawned);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Archangel Update Merc Path
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOArchangelUpdateMercPath_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
libSCHO_gv_mMHO_ArchangelCurrentPathIndex += 1;
libSCHO_gf_MMHOCreateArchangelPathLine(libSCHO_gv_mMHO_ArchangelLaner, false);
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOArchangelUpdateMercPath_Init () {
libSCHO_gt_MMHOArchangelUpdateMercPath = TriggerCreate("libSCHO_gt_MMHOArchangelUpdateMercPath_Func");
TriggerEnable(libSCHO_gt_MMHOArchangelUpdateMercPath, false);
TriggerAddEventUnitNextWaypointUpdated(libSCHO_gt_MMHOArchangelUpdateMercPath, UnitRefFromVariable("libSCHO_gv_mMHO_ArchangelLaner"));
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Add Unpathable Location At Start
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOAddUnpathableLocationAtStart_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
libSCHO_gf_MMHOElevatorAddRemoveUnpathable(true);
libSCHO_gv_mMHO_ArchangelElevator_ShouldBeLowered = true;
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOAddUnpathableLocationAtStart_Init () {
libSCHO_gt_MMHOAddUnpathableLocationAtStart = TriggerCreate("libSCHO_gt_MMHOAddUnpathableLocationAtStart_Func");
TriggerAddEventTimer(libSCHO_gt_MMHOAddUnpathableLocationAtStart, libGame_gv_openTheGatesTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Elevator Initial Timer Expires
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOElevatorInitialTimerExpires_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_ArchangelElevator), "Signal Up");
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOElevatorInitialTimerExpires_Init () {
libSCHO_gt_MMHOElevatorInitialTimerExpires = TriggerCreate("libSCHO_gt_MMHOElevatorInitialTimerExpires_Func");
TriggerAddEventTimer(libSCHO_gt_MMHOElevatorInitialTimerExpires, libSCHO_gv_mMHO_Elevator.lv_elevatorInitialRaiseTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Elevator Lower Timer Expires
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOElevatorLowerTimerExpires_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
if ((libSCHO_gv_mMHO_ArchangelElevator_ShouldBeLowered == true)) {
libSCHO_gv_mMHO_ArchangelElevator_ShouldBeLowered = false;
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOElevatorLowerTimerExpires_Init () {
libSCHO_gt_MMHOElevatorLowerTimerExpires = TriggerCreate("libSCHO_gt_MMHOElevatorLowerTimerExpires_Func");
TriggerAddEventTimer(libSCHO_gt_MMHOElevatorLowerTimerExpires, libSCHO_gv_mMHO_Elevator.lv_elevatorLowerTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Elevator Raise Timer Expires
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOElevatorRaiseTimerExpires_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
if ((libSCHO_gv_mMHO_Elevator.lv_elevatorWasLowered == true)) {
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_ArchangelElevator), "Signal Up");
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOElevatorRaiseTimerExpires_Init () {
libSCHO_gt_MMHOElevatorRaiseTimerExpires = TriggerCreate("libSCHO_gt_MMHOElevatorRaiseTimerExpires_Func");
TriggerAddEventTimer(libSCHO_gt_MMHOElevatorRaiseTimerExpires, libSCHO_gv_mMHO_Elevator.lv_elevatorRaiseTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Zerg Attacks Enemy
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOZergAttacksEnemy_Func (bool testConds, bool runActions) {
// Variable Declarations
const fixed lv_dropPodTouchdownDistanceBeyondTarget_C = 3.0;
const fixed lv_dropPodTouchdownAreaRadius_C = 3.0;
unit lv_attackingUnit;
unit lv_enemyUnit;
int lv_attackingTeam;
int lv_enemyComputer;
fixed lv_angleFromAttackerToEnemy;
point lv_dropPodTouchdownCenter;
// Automatic Variable Declarations
// Variable Initialization
lv_attackingUnit = EventPlayerEffectUsedUnit(c_effectUnitCaster);
lv_enemyUnit = EventPlayerEffectUsedUnit(c_effectUnitTarget);
// Conditions
if (testConds) {
if (!((lv_attackingUnit != null))) {
return false;
}
if (!((libGame_gv_gameOver == false))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
lv_attackingTeam = libGame_gf_TeamNumberOfPlayer(UnitGetOwner(lv_attackingUnit));
if (((libSCHO_gv_zergDropPodDropsRemaining[lv_attackingTeam] > 0.0) && (TimerGetRemaining(libSCHO_gv_zergDropPodCooldowns[lv_attackingTeam]) <= 0.0))) {
lv_enemyComputer = UnitGetOwner(lv_enemyUnit);
lv_angleFromAttackerToEnemy = AngleBetweenPoints(UnitGetPosition(lv_attackingUnit), UnitGetPosition(lv_enemyUnit));
lv_dropPodTouchdownCenter = PointWithOffsetPolar(UnitGetPosition(lv_enemyUnit), lv_dropPodTouchdownDistanceBeyondTarget_C, lv_angleFromAttackerToEnemy);
libSCHO_gf_MMHOCreateDropPod(RegionRandomPoint(RegionCircle(lv_dropPodTouchdownCenter, lv_dropPodTouchdownAreaRadius_C)), libGame_gf_ComputerPlayerInTeam(lv_attackingTeam));
TimerStart(libSCHO_gv_zergDropPodCooldowns[lv_attackingTeam], libSCHO_gv_zergDropPodCooldownTime_C, false, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOZergAttacksEnemy_Init () {
libSCHO_gt_MMHOZergAttacksEnemy = TriggerCreate("libSCHO_gt_MMHOZergAttacksEnemy_Func");
TriggerAddEventPlayerEffectUsed(libSCHO_gt_MMHOZergAttacksEnemy, c_playerAny, "ZergUltraliskWeaponDamage");
TriggerAddEventPlayerEffectUsed(libSCHO_gt_MMHOZergAttacksEnemy, c_playerAny, "ZergGuardianWeaponDamage");
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Scaling Timer Expires
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOScalingTimerExpires_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
libSCHO_gv_mMHO_ScalingLevel += 1.0;
libSCHO_gf_MMHOUpdateTerranScaling();
TimerStart(libSCHO_gv_mMHO_ScalingTimer, 60.0, false, c_timeGame);
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOScalingTimerExpires_Init () {
libSCHO_gt_MMHOScalingTimerExpires = TriggerCreate("libSCHO_gt_MMHOScalingTimerExpires_Func");
TriggerAddEventTimer(libSCHO_gt_MMHOScalingTimerExpires, libSCHO_gv_mMHO_ScalingTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Zerg Unit Takes Damage
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOZergUnitTakesDamage_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_damageAmount;
int lv_team;
// Automatic Variable Declarations
// Variable Initialization
// Conditions
if (testConds) {
if (!((((UnitGroupHasUnit(libSCHO_gv_mMHO_AttackGroups[1][1], EventUnit()) == true) || (UnitGroupHasUnit(libSCHO_gv_mMHO_AttackGroups[1][2], EventUnit()) == true) || (UnitGroupHasUnit(libSCHO_gv_mMHO_AttackGroups[2][1], EventUnit()) == true) || (UnitGroupHasUnit(libSCHO_gv_mMHO_AttackGroups[2][2], EventUnit()) == true)) && ((UnitGetType(EventUnit()) == "ZergUltralisk") || (UnitGetType(EventUnit()) == "ZergGuardian"))))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
lv_team = libGame_gf_TeamNumberOfPlayer(UnitGetOwner(EventUnit()));
if ((UnitGetType(EventUnit()) == "ZergUltralisk")) {
lv_damageAmount = (EventUnitDamageAmount() * libSCHO_gv_mMHO_UltraliskHealthWeighting);
}
else if ((UnitGetType(EventUnit()) == "ZergGuardian")) {
lv_damageAmount = (EventUnitDamageAmount() * libSCHO_gv_mMHO_GuardianHealthWeighting);
}
libSCHO_gv_mMHO_TotalZergHP[lv_team] -= lv_damageAmount;
libSCHO_gf_MMHOEndofMatchAwardZergCrusherModifyValuesandReport(EventUnitDamageSourcePlayer(), lv_damageAmount);
if ((lv_team == libGame_gv_teamOrderIndex_C)) {
if ((lv_damageAmount >= UnitGetPropertyFixed(libSCHO_gv_mMHO_OrderProgressUnit, c_unitPropLife, c_unitPropCurrent))) {
UnitSetPropertyFixed(libSCHO_gv_mMHO_OrderProgressUnit, c_unitPropLife, 1.0);
}
else {
UnitSetPropertyFixed(libSCHO_gv_mMHO_OrderProgressUnit, c_unitPropLife, libSCHO_gv_mMHO_TotalZergHP[libGame_gv_teamOrderIndex_C]);
}
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[1][1], (FixedToText(UnitGetPropertyFixed(libSCHO_gv_mMHO_OrderProgressUnit, c_unitPropLifePercent, c_unitPropCurrent), 0) + StringExternal("Param/Value/lib_SCHO_F53920F9")), PlayerGroupAll());
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[2][1], (FixedToText(UnitGetPropertyFixed(libSCHO_gv_mMHO_OrderProgressUnit, c_unitPropLifePercent, c_unitPropCurrent), 0) + StringExternal("Param/Value/lib_SCHO_D3691337")), PlayerGroupAll());
if ((libSCHO_gv_mMHO_TotalZergHP[libGame_gv_teamOrderIndex_C] == 0.0)) {
libSCHO_gf_MMHOUISetZergSwarmKilled(libGame_gv_teamOrderIndex_C);
}
}
else {
if ((lv_damageAmount >= UnitGetPropertyFixed(libSCHO_gv_mMHO_ChaosProgressUnit, c_unitPropLife, c_unitPropCurrent))) {
UnitSetPropertyFixed(libSCHO_gv_mMHO_ChaosProgressUnit, c_unitPropLife, 1.0);
}
else {
UnitSetPropertyFixed(libSCHO_gv_mMHO_ChaosProgressUnit, c_unitPropLife, libSCHO_gv_mMHO_TotalZergHP[libGame_gv_teamChaosIndex_C]);
}
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[1][2], (FixedToText(UnitGetPropertyFixed(libSCHO_gv_mMHO_ChaosProgressUnit, c_unitPropLifePercent, c_unitPropCurrent), 0) + StringExternal("Param/Value/lib_SCHO_E2F22591")), PlayerGroupAll());
libNtve_gf_SetDialogItemText(libSCHO_gv_mMHOPanel.lv_beaconProgressHPBarLabel[2][2], (FixedToText(UnitGetPropertyFixed(libSCHO_gv_mMHO_ChaosProgressUnit, c_unitPropLifePercent, c_unitPropCurrent), 0) + StringExternal("Param/Value/lib_SCHO_E9021DB9")), PlayerGroupAll());
if ((libSCHO_gv_mMHO_TotalZergHP[libGame_gv_teamChaosIndex_C] == 0.0)) {
libSCHO_gf_MMHOUISetZergSwarmKilled(libGame_gv_teamChaosIndex_C);
}
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOZergUnitTakesDamage_Init () {
libSCHO_gt_MMHOZergUnitTakesDamage = TriggerCreate("libSCHO_gt_MMHOZergUnitTakesDamage_Func");
TriggerAddEventUnitDamaged(libSCHO_gt_MMHOZergUnitTakesDamage, null, c_unitDamageTypeAny, c_unitDamageEither, null);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Zerg Icon Unit Dies
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOZergIconUnitDies_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
libSCHO_gf_MMHOUpdateZergMinimapIcons(libGame_gf_TeamNumberOfPlayer(EventPlayer()));
libSCHO_gf_MMHOCreateZergPath(libGame_gf_TeamNumberOfPlayer(EventPlayer()), true);
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOZergIconUnitDies_Init () {
libSCHO_gt_MMHOZergIconUnitDies = TriggerCreate("libSCHO_gt_MMHOZergIconUnitDies_Func");
TriggerAddEventUnitDied(libSCHO_gt_MMHOZergIconUnitDies, UnitRefFromVariable("libSCHO_gv_mMHO_ZergIconUnit[libGame_gv_teamOrderIndex_C].lv_iconUnit"));
TriggerAddEventUnitDied(libSCHO_gt_MMHOZergIconUnitDies, UnitRefFromVariable("libSCHO_gv_mMHO_ZergIconUnit[libGame_gv_teamChaosIndex_C].lv_iconUnit"));
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO Update Zerg Path
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOUpdateZergPath_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
if ((EventUnit() == libSCHO_gv_mMHO_ZergIconUnit[libGame_gv_teamOrderIndex_C].lv_iconUnit)) {
libSCHO_gv_mMHO_ZergCurrentPathIndex[libGame_gv_teamOrderIndex_C] += 1;
libSCHO_gf_MMHOCreateZergPath(libGame_gv_teamOrderIndex_C, false);
return true;
}
if ((EventUnit() == libSCHO_gv_mMHO_ZergIconUnit[libGame_gv_teamChaosIndex_C].lv_iconUnit)) {
libSCHO_gv_mMHO_ZergCurrentPathIndex[libGame_gv_teamChaosIndex_C] += 1;
libSCHO_gf_MMHOCreateZergPath(libGame_gv_teamChaosIndex_C, false);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOUpdateZergPath_Init () {
libSCHO_gt_MMHOUpdateZergPath = TriggerCreate("libSCHO_gt_MMHOUpdateZergPath_Func");
TriggerEnable(libSCHO_gt_MMHOUpdateZergPath, false);
TriggerAddEventUnitNextWaypointUpdated(libSCHO_gt_MMHOUpdateZergPath, null);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO UI Mod Initialize
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOUIModInitialize_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
libSCHO_gf_MMHOUIInit(libUIUI_gv_mapMechanicsPanel.lv_mainPanel);
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOUIModInitialize_Init () {
libSCHO_gt_MMHOUIModInitialize = TriggerCreate("libSCHO_gt_MMHOUIModInitialize_Func");
libCore_gf_IncludeModInitialization(libSCHO_gt_MMHOUIModInitialize);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMHO UI Handler
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_MMHOUIHandler_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_state;
int lv_lastState;
int lv_itTeam;
// Automatic Variable Declarations
// Variable Initialization
lv_state = libSCHO_ge_MMHOUIModes_Idle;
lv_lastState = libSCHO_ge_MMHOUIModes_Idle;
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
while (true) {
if ((TimerIsPaused(libSCHO_gv_mMHO_AttackEventWarningTimer) == false) && (TimerGetRemaining(libSCHO_gv_mMHO_AttackEventWarningTimer) > 0.0)) {
lv_state = libSCHO_ge_MMHOUIModes_ZergWarning;
if ((lv_state != lv_lastState)) {
libSCHO_gf_MMHOUISetMode(libSCHO_ge_MMHOUIModes_ZergWarning);
}
libSCHO_gf_MMHOUISetZergWarningTime(FixedToInt(TimerGetRemaining(libSCHO_gv_mMHO_AttackEventWarningTimer)));
lv_lastState = lv_state;
}
else if ((libSCHO_gv_mMHO_HiveControlBeaconEventActive == true) && (TimerGetRemaining(libSCHO_gv_mMHO_AttackEventWarningTimer) <= 0.0)) {
lv_state = libSCHO_ge_MMHOUIModes_BeaconEvent;
if ((lv_state != lv_lastState)) {
libSCHO_gf_MMHOUISetMode(libSCHO_ge_MMHOUIModes_BeaconEvent);
libSCHO_gf_MMHOUICreateProgressUnits();
libSCHO_gf_MMHOUISetProgressUnits();
}
lv_lastState = lv_state;
}
else if (true) {
lv_state = libSCHO_ge_MMHOUIModes_Idle;
if ((lv_state != lv_lastState)) {
libSCHO_gf_MMHOUISetMode(libSCHO_ge_MMHOUIModes_Idle);
}
lv_lastState = lv_state;
}
Wait(0.5, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_MMHOUIHandler_Init () {
libSCHO_gt_MMHOUIHandler = TriggerCreate("libSCHO_gt_MMHOUIHandler_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Debug - EVENTSTART
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_DebugEVENTSTART_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TimerStart(libSCHO_gv_mMHO_AttackEventTimer, 1.0, false, c_timeGame);
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_DebugEVENTSTART_Init () {
libSCHO_gt_DebugEVENTSTART = TriggerCreate("libSCHO_gt_DebugEVENTSTART_Func");
TriggerAddEventChatMessage(libSCHO_gt_DebugEVENTSTART, c_playerAny, "EVENTSTART", true);
TriggerAddEventChatMessage(libSCHO_gt_DebugEVENTSTART, c_playerAny, "eventstart", true);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Debug - EVENTSTART FAST
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_DebugEVENTSTARTFAST_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TimerStart(libSCHO_gv_mMHO_AttackEventWarningTimer, 1.0, false, c_timeGame);
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_DebugEVENTSTARTFAST_Init () {
libSCHO_gt_DebugEVENTSTARTFAST = TriggerCreate("libSCHO_gt_DebugEVENTSTARTFAST_Func");
TriggerAddEventChatMessage(libSCHO_gt_DebugEVENTSTARTFAST, c_playerAny, "EVENTSTART 0", true);
TriggerAddEventChatMessage(libSCHO_gt_DebugEVENTSTARTFAST, c_playerAny, "eventstart 0", true);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Debug - RespawnCamps
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_DebugRespawnCamps_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
if ((libSCHO_gv_mMHO_Elevator.lv_elevatorWasLowered == true)) {
ActorSend(ActorFromDoodad(libSCHO_gv_mMHO_ArchangelElevator), "Signal Up");
while (!((UnitGetOwner(EventUnit()) == 1))) {
Wait(1.0, c_timeGame);
}
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_DebugRespawnCamps_Init () {
libSCHO_gt_DebugRespawnCamps = TriggerCreate("libSCHO_gt_DebugRespawnCamps_Func");
TriggerAddEventChatMessage(libSCHO_gt_DebugRespawnCamps, c_playerAny, "respawncamps", true);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Debug - Test Wave
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_DebugTestWave_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
libNtve_gf_CreateUnitsAtPoint2(1, "ZergZergling", c_unitCreateIgnorePlacement, 15, RegionRandomPoint(libSCHO_gv_mMHO_Order_BottomSpawnRegion), null);
libSCHO_gf_MMHOSendAttackWave(libNtve_gf_ConvertUnitToUnitGroup(UnitLastCreated()), libSCHO_gv_mMHO_AttackPointsFort[2][1], libGame_gv_teamChaosIndex_C);
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_DebugTestWave_Init () {
libSCHO_gt_DebugTestWave = TriggerCreate("libSCHO_gt_DebugTestWave_Func");
TriggerAddEventChatMessage(libSCHO_gt_DebugTestWave, c_playerAny, "-tw", false);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Debug - Disable Event
//--------------------------------------------------------------------------------------------------
bool libSCHO_gt_DebugDisableEvent_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TimerPause(libSCHO_gv_mMHO_AttackEventTimer, true);
return true;
}
//--------------------------------------------------------------------------------------------------
void libSCHO_gt_DebugDisableEvent_Init () {
libSCHO_gt_DebugDisableEvent = TriggerCreate("libSCHO_gt_DebugDisableEvent_Func");
TriggerAddEventChatMessage(libSCHO_gt_DebugDisableEvent, c_playerAny, "-disableevent", true);
}
void libSCHO_InitTriggers () {
libSCHO_gt_IncludeHoldOut_Init();
libSCHO_gt_MMHOInitializeMercCampData_Init();
libSCHO_gt_MMHOInitializePingData_Init();
libSCHO_gt_MMHOInit_Init();
libSCHO_gt_MMHOGateOpen_Init();
libSCHO_gt_MMHOStartWarningTimer_Init();
libSCHO_gt_MMHOWarningTimerExpires_Init();
libSCHO_gt_MMHOSpawnAttackWaves_Init();
libSCHO_gt_MMHOHiveControlBeaconChangesOwner_Init();
libSCHO_gt_MMHOHiveControlBeaconMonitor_Init();
libSCHO_gt_MMHOAnimateFactory_Init();
libSCHO_gt_MMHOMercCampSpawned_Init();
libSCHO_gt_MMHOMercCampCleared_Init();
libSCHO_gt_MMHOArchangelIsCaptured_Init();
libSCHO_gt_MMHOArchangelDies_Init();
libSCHO_gt_MMHOArchangelDefenderSpawned_Init();
libSCHO_gt_MMHOArchangelUpdateMercPath_Init();
libSCHO_gt_MMHOAddUnpathableLocationAtStart_Init();
libSCHO_gt_MMHOElevatorInitialTimerExpires_Init();
libSCHO_gt_MMHOElevatorLowerTimerExpires_Init();
libSCHO_gt_MMHOElevatorRaiseTimerExpires_Init();
libSCHO_gt_MMHOZergAttacksEnemy_Init();
libSCHO_gt_MMHOScalingTimerExpires_Init();
libSCHO_gt_MMHOZergUnitTakesDamage_Init();
libSCHO_gt_MMHOZergIconUnitDies_Init();
libSCHO_gt_MMHOUpdateZergPath_Init();
libSCHO_gt_MMHOUIModInitialize_Init();
libSCHO_gt_MMHOUIHandler_Init();
libSCHO_gt_DebugEVENTSTART_Init();
libSCHO_gt_DebugEVENTSTARTFAST_Init();
libSCHO_gt_DebugRespawnCamps_Init();
libSCHO_gt_DebugTestWave_Init();
libSCHO_gt_DebugDisableEvent_Init();
}
//--------------------------------------------------------------------------------------------------
// Library Initialization
//--------------------------------------------------------------------------------------------------
bool libSCHO_InitLib_completed = false;
void libSCHO_InitLib () {
if (libSCHO_InitLib_completed) {
return;
}
libSCHO_InitLib_completed = true;
libSCHO_InitLibraries();
libSCHO_InitVariables();
libSCHO_InitTriggers();
}