include "TriggerLibs/NativeLib"

include "TriggerLibs/HeroesLib_h"

include "TriggerLibs/GameLib_h"

include "TriggerLibs/MapMechanicsLib_h"

include "TriggerLibs/AILib_h"

include "TriggerLibs/StartingExperienceLib_h"

include "TriggerLibs/SoundLib_h"

include "TriggerLibs/GameDataHelperLib_h"

include "TriggerLibs/SupportLib_h"



include "TriggerLibs/UILib_h"



//--------------------------------------------------------------------------------------------------

// Library: UI

//--------------------------------------------------------------------------------------------------

// External Library Initialization

void libUIUI_InitLibraries () {

    libNtve_InitVariables();

    libCore_InitVariables();

    libGame_InitVariables();

    libMapM_InitVariables();

    libAIAI_InitVariables();

    libStEx_InitVariables();

    libSond_InitVariables();

    libGDHL_InitVariables();

    libSprt_InitVariables();

}



// Variable Initialization

bool libUIUI_InitVariables_completed = false;



void libUIUI_InitVariables () {

    int init_i;

    int init_j;

    int init_i1;

    int init_j1;



    if (libUIUI_InitVariables_completed) {

        return;

    }



    libUIUI_InitVariables_completed = true;



    libUIUI_gv_uITimeLabelUpdateTimer = TimerCreate();

    for (init_i = 0; init_i <= libCore_gv_bALMaxPlayers; init_i += 1) {

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_lostVikingsDebuggingLabels[init_i].lv_botDifficultyLabel[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_lostVikingsDebuggingLabels[init_i].lv_botStatusLabel[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_lostVikingsDebuggingLabels[init_i].lv_unitHealthBarResistant[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_lostVikingsDebuggingLabels[init_i].lv_unitHealthBarVulnerable[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_lostVikingsDebuggingLabels[init_i].lv_unitHealthBarDimmed[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_lostVikingsDebuggingLabels[init_i].lv_unitHealthBarInvincible[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_lostVikingsDebuggingLabels[init_i].lv_invulnerableImage[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_lostVikingsDebuggingLabels[init_i].lv_resistantImage[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_lostVikingsDebuggingLabels[init_i].lv_unstoppableImage[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_lostVikingsDebuggingLabels[init_i].lv_onFireCutscene[init_i1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_j1 += 1) {

            libUIUI_gv_uIBoosts.lv_boostFXAnchor[init_i1][init_j1] = c_invalidDialogId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_j1 += 1) {

            libUIUI_gv_uIBoosts.lv_boostFXAnchorFrame[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    libUIUI_gv_uIBoosts.lv_boostPanel = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_j1 += 1) {

            libUIUI_gv_uIBoosts.lv_boostFXPanel[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    libUIUI_gv_uI_BoostFXVisibilityTime = 7;

    libUIUI_gv_uIDamageFlashUI.lv_mainDialog = c_invalidDialogControlId;

    libUIUI_gv_uIDamageFlashUI.lv_lightSplashImage = c_invalidDialogControlId;

    libUIUI_gv_uIDamageFlashUI.lv_intenseSplashImage = c_invalidDialogControlId;

    libUIUI_gv_uIDamageFlashUI.lv_lowHealthPersistentImage = c_invalidDialogControlId;

    libUIUI_gv_uIDamageFlashLowHPThreshold = 30.0;

    libUIUI_gv_deathRecap_Panel.lv_mainPanel = c_invalidDialogControlId;

    libUIUI_gv_deathRecap_Panel.lv_tabScreenButton = c_invalidDialogControlId;

    libUIUI_gv_deathRecap_Panel.lv_openDeathRecapButton = c_invalidDialogControlId;

    libUIUI_gv_deathRecap_Panel.lv_mainGraphLabel = c_invalidDialogControlId;

    libUIUI_gv_deathRecap_Panel.lv_xpValueLabel = c_invalidDialogControlId;

    libUIUI_gv_deathRecap_Panel.lv_highestDamagersPanel = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxMaxDamagersSort_C; init_i1 += 1) {

        libUIUI_gv_deathRecap_Panel.lv_highestDamagersImages[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxMaxDamagersSort_C; init_i1 += 1) {

        libUIUI_gv_deathRecap_Panel.lv_highestDamagersAmountLabels[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxMaxDamagersSort_C; init_i1 += 1) {

        libUIUI_gv_deathRecap_Panel.lv_highestDamagersHeroNameLabels[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxMaxDamagersSort_C; init_i1 += 1) {

        libUIUI_gv_deathRecap_Panel.lv_highestDamagersPlayerNameLabels[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxMaxDamagersSort_C; init_i1 += 1) {

        libUIUI_gv_deathRecap_Panel.lv_highestDamagersProgressBars[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxMaxDamagersSort_C; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libGame_gv_deathRecap_MaxMaxDamageAbilsSort_C; init_j1 += 1) {

            libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilityBars[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxMaxDamagersSort_C; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libGame_gv_deathRecap_MaxMaxDamageAbilsSort_C; init_j1 += 1) {

            libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilityBarTooltips[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxMaxDamagersSort_C; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libGame_gv_deathRecap_MaxMaxDamageAbilsSort_C; init_j1 += 1) {

            libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilityBarProgressBars[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxMaxDamagersSort_C; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libGame_gv_deathRecap_MaxMaxDamageAbilsSort_C; init_j1 += 1) {

            libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilityLabels[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxMaxDamagersSort_C; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libGame_gv_deathRecap_MaxMaxDamageAbilsSort_C; init_j1 += 1) {

            libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilAmountLabels[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxMaxDamagersSort_C; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libGame_gv_deathRecap_MaxMaxDamageAbilsSort_C; init_j1 += 1) {

            libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilityFrame[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    libUIUI_gv_deathRecap_Panel.lv_abilitiesPanel = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxEffectBars_C; init_i1 += 1) {

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelTimeZone[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxEffectBars_C; init_i1 += 1) {

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHeroImages[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxEffectBars_C; init_i1 += 1) {

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealthBars[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxEffectBars_C; init_i1 += 1) {

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealingBars[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxEffectBars_C; init_i1 += 1) {

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelDamageBars[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxEffectBars_C; init_i1 += 1) {

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealthBarIcons[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxEffectBars_C; init_i1 += 1) {

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealthBarIconBorders[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxEffectBars_C; init_i1 += 1) {

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelEventCountLabels[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxEffectBars_C; init_i1 += 1) {

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealthBarTimeLabels[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelStartingHealthLabels = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libGame_gv_deathRecap_MaxEffectBars_C; init_i1 += 1) {

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelTooltipFrame[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_deathTimerPanel.lv_mainPanel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_deathTimerPanel.lv_timerBar[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_timerBarHeroFrame[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_timerBarHeroFramePortraitImage[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_timerBarHeroFrameTimeLabel[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_timerBarHeroFrameHeroNameLabel[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_timerBarDarkBargainBorder[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_timerBarAurielResurrectProgressBar[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_timerBarAurielResurrectLabel[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_timerBarZergRebirthProgressBar[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_timerBarZergRebirthLabel[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_deathTimerPanel.lv_announcementPanel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_announcementHeroFrame[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_announcementHeroFrameNameLabel[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_announcementHeroFrameKillersLabel[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_announcementHeroFramePortraitImage[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_announcementHeroFrameBorderImageFaded[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_announcementHeroFrameBorderImageBright[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j1 += 1) {

            libUIUI_gv_deathTimerPanel.lv_announcementHeroFrameCrossImage[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    libUIUI_gv_deathTimerPanelIndex = 1;

    for (init_i = 0; init_i <= libCore_gv_bALMaxTeams; init_i += 1) {

        libUIUI_gv_deathAnnouncement_AnnouncementVisibleTimers[init_i] = TimerCreate();

    }

    for (init_i = 0; init_i <= libCore_gv_bALMaxTeams; init_i += 1) {

        libUIUI_gv_deathAnnouncement_TopMostHeroFrame[init_i] = 1;

    }

    for (init_i = 0; init_i <= libCore_gv_bALMaxTeams; init_i += 1) {

        libUIUI_gv_deathAnnouncement_NextHeroFrameToUse[init_i] = 1;

    }

    for (init_i = 0; init_i <= libCore_gv_bALMaxTeams; init_i += 1) {

        for (init_j = 0; init_j <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j += 1) {

            libUIUI_gv_deathAnnouncement_HeroesAssignedToFrame[init_i][init_j].lv_deathAnnouncementDeathTimer = TimerCreate();

        }

    }

    for (init_i = 0; init_i <= libCore_gv_bALMaxTeams; init_i += 1) {

        for (init_j = 0; init_j <= libUIUI_gv_deathTimerPanel_MaxFrameCount; init_j += 1) {

            libUIUI_gv_deathTimerPanel_HeroesAssignedToFrame[init_i][init_j].lv_deathTimerFrameDeathTimer = TimerCreate();

        }

    }

    libUIUI_gv_uIDebugPanelForcedMinionWaveCompIndex = 1;

    libUIUI_gv_uIDebugPanelFloatingCombatTextToggle = true;

    libUIUI_gv_uIDebugPanelUseMapAnnouncerPackID = "NoAnnouncerPack";

    for (init_i = 0; init_i <= libCore_gv_bALMaxPlayers; init_i += 1) {

        libUIUI_gv_uIDebugPanelClearVoiceLineOnDebugSpawn[init_i] = true;

    }

    for (init_i = 0; init_i <= libCore_gv_bALMaxPlayers; init_i += 1) {

        libUIUI_gv_uIDebugPanelSelectedAnnouncerRadio[init_i] = true;

    }

    libUIUI_gv_uIDebugPanel.lv_mainDialog = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_closeButton = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_page1Button = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_page2Button = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_kIllDebugButton = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_generalControlsFrame = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_heroControlsFrame = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_lootContentSoundSpawnerFrame = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_lootContentModelSpawnerFrame = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_refreshCooldownsButton = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_selectionEnabledCheckbox = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_startGameButton = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_spawnCreepCampsButton = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_forceMinionWaveCompCheckbox = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_forceMinionWaveCompDropdown = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_disableMinionSpawningCheckbox = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_disableTrickleXPCheckbox = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_floatingCombatTextCheckbox = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_enableAllFloatingCombatTextCheckbox = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_respecHeroButton = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_playerLabel = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_playerSlider = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_levelLabel = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_levelSlider = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_useCurrentXPCheckbox = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_spawnHeroButton = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_allHeroesCheckbox = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_spawnAtCameraCheckbox = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_savedHeroCheckbox = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_heroDropdown = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_skinDropdown = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_mountTypeDropdown = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_mountBaseDropdown = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_mountVariationDropdown = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_sprayDropdown = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_bannerDropdown = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_announcerPackDropdown = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_voiceLineDropdown = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_lootContentsSetButton = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_announcerRadioDropdown = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_voiceLineRadioHeroDropdown = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_soundVOList = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_soundVOPlayButton = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_announcerRadio = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_voiceLineRadio = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_soundVOAddButton = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_soundVOClearButton = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_soundVODelayEditor = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_soundVOPlayList = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_metaXPEditBox = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_metaXPSendButton = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_xPLabel = c_invalidDialogControlId;

    libUIUI_gv_uIDebugPanel.lv_playerNumber = c_invalidDialogControlId;

    libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel = c_invalidDialogControlId;

    libUIUI_gv_EndofGameAwardsPanel.lv_skipButton = c_invalidDialogControlId;

    libUIUI_gv_EndofGameAwardsPanel.lv_exitButton = c_invalidDialogControlId;

    libUIUI_gv_EndofGameAwardsPanel.lv_secondaryContainer = c_invalidDialogControlId;

    libUIUI_gv_EndofGameAwardsPanel.lv_secondaryCutscenesContainer = c_invalidDialogControlId;

    libUIUI_gv_EndofGameAwardsPanel.lv_mVPSecondaryPlayerName = c_invalidDialogControlId;

    libUIUI_gv_EndofGameAwardsPanel.lv_mVPSecondaryPlayerBoostIcon = c_invalidDialogControlId;

    libUIUI_gv_EndofGameAwardsPanel.lv_mVPSecondaryHeroName = c_invalidDialogControlId;

    libUIUI_gv_EndofGameAwardsPanel.lv_mVPSecondaryHeading = c_invalidDialogControlId;

    libUIUI_gv_EndofGameAwardsPanel.lv_mVPSecondarySeparatorImage_Blue = c_invalidDialogControlId;

    libUIUI_gv_EndofGameAwardsPanel.lv_mVPSecondarySeparatorImage_Red = c_invalidDialogControlId;

    libUIUI_gv_EndofGameAwardsPanel.lv_mVPSecondaryAwardIcon = c_invalidDialogControlId;

    libUIUI_gv_EndofGameAwardsPanel.lv_voterButton = c_invalidDialogControlId;

    libUIUI_gv_EndofGameAwardsPanel.lv_voterButtonLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPHeading = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_heroNameLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_playerNameLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat1ValueLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat1NameLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat2ValueLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat2NameLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat3ValueLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat3NameLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat4ValueLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat4NameLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_killsLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_killsValueLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_assistsLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_assistsValueLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_deathsLabel = c_invalidDialogControlId;

    libUIUI_gv_uIMVPWinnerPanel.lv_deathsValueLabel = c_invalidDialogControlId;

    for (init_i = 0; init_i <= 5; init_i += 1) {

        libUIUI_gv_uIMVPSecondaryPanels[init_i].lv_panelContainer = c_invalidDialogControlId;

        libUIUI_gv_uIMVPSecondaryPanels[init_i].lv_awardTitleLabel = c_invalidDialogControlId;

        libUIUI_gv_uIMVPSecondaryPanels[init_i].lv_awardStatLabel = c_invalidDialogControlId;

        libUIUI_gv_uIMVPSecondaryPanels[init_i].lv_awardTooltipHitbox = c_invalidDialogControlId;

        libUIUI_gv_uIMVPSecondaryPanels[init_i].lv_awardIcon = c_invalidDialogControlId;

        libUIUI_gv_uIMVPSecondaryPanels[init_i].lv_heroNameLabel = c_invalidDialogControlId;

        libUIUI_gv_uIMVPSecondaryPanels[init_i].lv_playerNameLabel = c_invalidDialogControlId;

        libUIUI_gv_uIMVPSecondaryPanels[init_i].lv_playerBoostIcon = c_invalidDialogControlId;

        libUIUI_gv_uIMVPSecondaryPanels[init_i].lv_heroCutscene = c_invalidDialogControlId;

        libUIUI_gv_uIMVPSecondaryPanels[init_i].lv_BannerCutscne = c_invalidDialogControlId;

        libUIUI_gv_uIMVPSecondaryPanels[init_i].lv_voterButton = c_invalidDialogControlId;

        libUIUI_gv_uIMVPSecondaryPanels[init_i].lv_voterButtonLabel = c_invalidDialogControlId;

    }

    libUIUI_gv_vignetteOverlayPanel.lv_mainDialog = c_invalidDialogControlId;

    libUIUI_gv_vignetteOverlayPanel.lv_overlayCutscene = c_invalidDialogControlId;

    libUIUI_gv_fullscreenOverlaysPanelRework.lv_mainDialog = c_invalidDialogControlId;

    libUIUI_gv_fullscreenOverlaysPanelRework.lv_overlayCutscene = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_cargoOverlay.lv_cargoOverlay[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_cargoOverlay.lv_cargoOverlay_Cutscene[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_cargoOverlay.lv_cargoOverlay_FilterTimer[init_i1] = TimerCreate();

    }

    for (init_i = 0; init_i <= libCore_gv_bALMaxPlayers; init_i += 1) {

        libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimer[init_i] = TimerCreate();

    }

    for (init_i = 0; init_i <= libCore_gv_bALMaxPlayers; init_i += 1) {

        libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimer[init_i] = TimerCreate();

    }

    libUIUI_gv_fullscreenOverlaysPanel.lv_mainDialog = c_invalidDialogControlId;

    libUIUI_gv_fullscreenOverlaysPanel.lv_cCSplashImage = c_invalidDialogControlId;

    libUIUI_gv_fullscreenOverlaysPanel.lv_flashBangImage = c_invalidDialogControlId;

    libUIUI_gv_fullscreenOverlaysPanel.lv_abathurSymbioteOverlay = c_invalidDialogControlId;

    libUIUI_gv_fullscreenOverlaysPanel.lv_deathOverlay = c_invalidDialogControlId;

    libUIUI_gv_fullscreenOverlaysPanel.lv_specialOverlay = c_invalidDialogControlId;

    libUIUI_gv_gameOverSplash.lv_mainPanel = c_invalidDialogControlId;

    libUIUI_gv_gameOverSplash.lv_victoryFrame = c_invalidDialogControlId;

    libUIUI_gv_gameOverSplash.lv_defeatFrame = c_invalidDialogControlId;

    libUIUI_gv_gameOverSplash.lv_defeatLabel = c_invalidDialogControlId;

    libUIUI_gv_uIGameUIHandles.lv_fullscreenUpperContainer = c_invalidDialogControlId;

    libUIUI_gv_uIGameUIHandles.lv_consoleUIContainer = c_invalidDialogControlId;

    libUIUI_gv_uIGameUIHandles.lv_consolePanel = c_invalidDialogControlId;

    libUIUI_gv_uIGameUIHandles.lv_mapMechanicButton = c_invalidDialogControlId;

    libUIUI_gv_uIGameUIHandles.lv_talentsButton = c_invalidDialogControlId;

    libUIUI_gv_uIGameUIHandles.lv_gameMenuButton = c_invalidDialogControlId;

    libUIUI_gv_uIGameUIHandles.lv_minimapPanel = c_invalidDialogControlId;

    libUIUI_gv_uIGameUIHandles.lv_gameUIContainer = c_invalidDialogControlId;

    libUIUI_gv_uIGameUIHandles.lv_helpButton = c_invalidDialogControlId;

    libUIUI_gv_uIGameUIHandles.lv_targetInfoPanel = c_invalidDialogControlId;

    for (init_i = 0; init_i <= libCore_gv_bALMaxTeams; init_i += 1) {

        for (init_j = 0; init_j <= libUIUI_gv_uI_HealingFountainsHelpText_ArraySize_C; init_j += 1) {

            libUIUI_gv_uIHealingFountainsHelpText[init_i][init_j].lv_textTag = c_textTagNone;

        }

    }

    libUIUI_gv_uIHealingFountainsHelpTextEnabled = true;

    for (init_i = 0; init_i <= libUIUI_gv_helpButtonMaxCount_C; init_i += 1) {

        libUIUI_gv_helpButtonFrames[init_i] = c_invalidDialogControlId;

    }

    for (init_i = 0; init_i <= libUIUI_gv_helpButtonMaxCount_C; init_i += 1) {

        libUIUI_gv_helpButtonLabels[init_i] = c_invalidDialogControlId;

    }

    libUIUI_gv_uIHeroConsole.lv_mainPanel = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_buffDebuffPanel = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_buffBar = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_debuffBar = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_heroStatsFrame = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_heroStatsUnitStatusFrame = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_heroStatsHealthBar = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_heroStatsManaBar = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_heroStatsFuryStatFrame = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_heroStatsBrewStatFrame = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_heroStatsBreathStatFrame = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_heroStatsRageStatFrame = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_heroStatsEnergyStatFrame = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyStatFrame = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyNoShieldStatFrame = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_heroStatsBlinkingEnergyStatFrame = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_gameUIPortrait = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_gameUICommandCardPanelFrame = c_invalidDialogControlId;

    libUIUI_gv_uIHeroConsole.lv_gameUIOnFire = c_invalidDialogControlId;

    libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarParentFrame = c_invalidDialogControlId;

    libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarLeftBar = c_invalidDialogControlId;

    libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarRightBar = c_invalidDialogControlId;

    libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarIcon = c_invalidDialogControlId;

    libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarDescriptionLabel = c_invalidDialogControlId;

    libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarTimeLabel = c_invalidDialogControlId;

    libUIUI_gv_heroConsoleUnitStatusBars.lv_castChannelBarParentFrame = c_invalidDialogControlId;

    libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarParentFrame = c_invalidDialogControlId;

    libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarParentFrameRight = c_invalidDialogControlId;

    libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarDurationBar = c_invalidDialogControlId;

    libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarDurationBarRight = c_invalidDialogControlId;

    libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarBehaviorLabel = c_invalidDialogControlId;

    libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarBehaviorLabelRight = c_invalidDialogControlId;

    libUIUI_gv_heroicsObtainedAutomatedTeamNotificationsAllowed = true;

    libUIUI_gv_fullscreenStatusPanel = c_invalidDialogControlId;

    libUIUI_gv_heroSpecificStatusContainer = c_invalidDialogControlId;

    libUIUI_gv_heroSpecificFullUIModContainer = c_invalidDialogControlId;

    libUIUI_gv_useStatusFrames = true;

    for (init_i = 0; init_i <= libCore_gv_bALMaxPlayers; init_i += 1) {

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_uIHeroStatusFrames[init_i].lv_botDifficultyLabel[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_uIHeroStatusFrames[init_i].lv_botStatusLabel[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_uIHeroStatusFrames[init_i].lv_unitHealthBarResistant[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_uIHeroStatusFrames[init_i].lv_unitHealthBarVulnerable[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_uIHeroStatusFrames[init_i].lv_unitHealthBarDimmed[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_uIHeroStatusFrames[init_i].lv_unitHealthBarInvincible[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_uIHeroStatusFrames[init_i].lv_invulnerableImage[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_uIHeroStatusFrames[init_i].lv_resistantImage[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_uIHeroStatusFrames[init_i].lv_unstoppableImage[init_i1] = c_invalidDialogControlId;

        }

        for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

            libUIUI_gv_uIHeroStatusFrames[init_i].lv_onFireCutscene[init_i1] = c_invalidDialogControlId;

        }

    }

    libUIUI_gv_uIHeroTrackerArrows.lv_mainPanel = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

        libUIUI_gv_uIHeroTrackerArrows.lv_offscreenUnit[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

        libUIUI_gv_uIHeroTrackerArrows.lv_arrow[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

        libUIUI_gv_uIHeroTrackerArrows.lv_portraitImage[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

        libUIUI_gv_uIHeroTrackerArrows.lv_portraitImageOverride[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libUIUI_gv_uI_MaxHeroGroupStatusFrames; init_i1 += 1) {

        libUIUI_gv_uIHeroTrackerArrows.lv_portraitCutscene[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_killCounter_Panel.lv_mainPanel = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libUIUI_gv_killCounter_NumberOfSkullPips_C; init_i1 += 1) {

        libUIUI_gv_killCounter_Panel.lv_skullPips[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_mapMechanicsPanel.lv_mainPanel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtPanel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTributeSpawnFrame = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTributeSpawnInfoLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTributeSpawnTimerLabel = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTeamTributeFrame[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTeamTributeCounterLabel[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseFrame = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseInfoLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseTimerLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseAttentionEffectFrame = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayPanel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayChestSpawnFrame = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayDoubloonModeFrame = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayDoubloonCounterLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayHeldDoubloonCounterLabel[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayCannonModeFrame = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayCannonRemainingCannonballsLabel = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libUIUI_gv_mapMechanicsBlackheartsBayCannonballCount_C; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayCannonCannonballImages[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayCannonShotCounterLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayDoubloonTurninReadyGlow[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesPanel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesSkullModeFrame = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesSkullModeRemainingSkullsLabel = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesSkullModeSkullCounterLabel[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesMineTimerModeFrame = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesMineOpenLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesMineTimerLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesGolemModeFrame = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesAllyGolemHealthUnitStatus = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesEnemyGolemHealthUnitStatus = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesAllyGolemModeSkullCounterLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesEnemyGolemModeSkullCounterLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_dragonShirePanel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireShrineTimerModeFrame = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireShrineTimerLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireShrineModeFrame = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_dragonShireMoonShrineDisabledImage[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_dragonShireMoonShrineEnabledImage[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_dragonShireStarShrineDisabledImage[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_dragonShireStarShrineEnabledImage[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonModeFrame = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonInfoLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonTimerLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonHealthUnitStatus = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonHealthLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorPanel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrame = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashGold[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashRed[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelGold[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelRed[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameBlueSeedImage[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameRedSeedImage[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorTimeOfDayFrame = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorTimeOfDayCountdownLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrame = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemHealthUnitStatus = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemHealthUnitStatus = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemStatusLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemStatusLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemTimerLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemTimerLabel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicHelpPanel.lv_mainPanel = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicHelpPanel.lv_helpText = c_invalidDialogControlId;

    libUIUI_gv_mapMechanicHelpPanel.lv_closeButton = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_mainPanel = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_multikillTimerCountdownImage = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_multikillTimerTitleLabel = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_multikillTimerNumberLabel = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_standardNotificationTitle = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_standardNotificationSubLabel = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_enemyNotificationTitle = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_enemyNotificationSubLabel = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_tutorialNotificationTitle = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_tutorialNotificationSubLabel = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_singleKillNotificationTitle = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_singleKillNotificationSubLabel = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_doubleKillNotificationTitle = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_doubleKillNotificationSubLabel = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_tripleKillNotificationTitle = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_tripleKillNotificationSubLabel = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_quadKillNotificationTitle = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_quadKillNotificationSubLabel = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_MegaKillNotificationTitle = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_MegaKillNotificationSubLabel = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_MegaKillNotificationTitle2 = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_MegaKillNotificationSubLabel2 = c_invalidDialogControlId;

    libUIUI_gv_notificationDisplay.lv_MegaKillNotificationSubLabel3 = c_invalidDialogControlId;

    libUIUI_gv_killLog_TopOffset_D0A1 = 80;

    libUIUI_gv_killLogPanel = c_invalidDialogControlId;

    for (init_i = 0; init_i <= libUIUI_gv_killLog_MaxItemCount_D0A1; init_i += 1) {

        libUIUI_gv_killLogItems[init_i].lv_timer = TimerCreate();

        libUIUI_gv_killLogItems[init_i].lv_frame = c_invalidDialogControlId;

    }

    libUIUI_gv_killLogDebugPanel.lv_mainPanel = c_invalidDialogControlId;

    libUIUI_gv_killLogDebugPanel.lv_closeButton = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxEnginePlayerCount; init_i1 += 1) {

        libUIUI_gv_killLogDebugPanel.lv_killButtons[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_killLogDebugPanel.lv_questButtons[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_killLogDebugPanel.lv_killCheckbox = c_invalidDialogControlId;

    libUIUI_gv_killLogDebugPanel.lv_questCheckbox = c_invalidDialogControlId;

    libUIUI_gv_uIObserverUI.lv_mainPanel = c_invalidDialogControlId;

    libUIUI_gv_uIObserverUI.lv_topPanel = c_invalidDialogControlId;

    libUIUI_gv_uIObserverUI.lv_observerTimer = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIObserverUI.lv_heroPanels[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIObserverUI.lv_heroPortraitImages[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIObserverUI.lv_heroTargetFrames[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIObserverUI.lv_heroStatusBars[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIObserverUI.lv_heroDeathTimeLabels[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIObserverUI.lv_heroTopTalents[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIObserverUI.lv_heroExtendedDeathIcon[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIObserverUI.lv_heroCondensedDeathIcon[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIObserverUI.lv_teamTownsLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIObserverUI.lv_teamLevelLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIObserverUI.lv_coreHealthUnitStatusFrames[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_uIOnFireOnFireDisplayEnabled = true;

    libUIUI_gv_uIPartyFrame.lv_mainPanel = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_teamHeroPanel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroPanels[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libCore_gv_dataHeroesMaxAlternateHeroes; init_j1 += 1) {

            libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroTargetFrames[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroStatusBarsDefault[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroStatusBarsOrange[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroStatusBarsBreath[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroStatusBarsRage[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroStatusBarsYellow[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroStatusBarsPink[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroStatusBarsNoResource[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroStatusBarsRespawn[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroStatusBarsSeparateShields[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroStatusFrameHeroWithPet[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libCore_gv_dataHeroesMaxAlternateHeroes; init_j1 += 1) {

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsHeroWithPet[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroStatusFrameLostVikings[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libCore_gv_dataHeroesMaxAlternateHeroes; init_j1 += 1) {

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsLostVikings[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroHeroicTalentPanel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroHeroicIcon[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroHeroicTalentReadyIcon[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroHeroicTalentProgressBar[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroHeroicCooldownLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroExtendedDeathIcon[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroCondensedDeathIcon[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroOnFireCutscene[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_playerBoostEffect[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroPartyButton[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPetowner[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPet[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroPartyButtonA[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroPartyButtonB[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroPartyButtonC[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroPetDeathTimer[init_i1] = TimerCreate();

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libCore_gv_dataHeroesMaxAlternateHeroes; init_j1 += 1) {

            libUIUI_gv_uIPartyFrame.lv_heroVikingsDeathTimers[init_i1][init_j1] = TimerCreate();

        }

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroDeathTimeOverlay[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroDeathTimeLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroDeathTimePetLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        for (init_j1 = 0; init_j1 <= libCore_gv_dataHeroesMaxAlternateHeroes; init_j1 += 1) {

            libUIUI_gv_uIPartyFrame.lv_heroDeathTimeVikingLabels[init_i1][init_j1] = c_invalidDialogControlId;

        }

    }

    libUIUI_gv_uIPartyFrame.lv_gameTimerLabel = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_teamLevelInfoPanel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_teamLevelLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_teamNextLevelTalentIcon[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_teamNextLevelNoTalentIcon[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_teamTalentAdvantageIcon[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_coreHealthUnitStatusFrames[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_uIPartyFrame.lv_coreHealthLabel = c_invalidDialogControlId;

    libUIUI_gv_uIPartyFrame.lv_xPContributionClickableButton = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_xPContributionPopup[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_heroXPContributionLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_mercenaryXPContributionLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_minionXPContributionLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_passiveXPContributionLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_structureXPContributionLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_uIPartyFrame.lv_totalXPContributionLabel[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_uIPartyFrameDeathUpdateTimer = TimerCreate();

    for (init_i = 0; init_i <= libCore_gv_bALMaxTeams; init_i += 1) {

        libUIUI_gv_teamXPPartyFrameDecrementPingCountTimer[init_i] = TimerCreate();

    }

    for (init_i = 0; init_i <= libCore_gv_bALMaxTeams; init_i += 1) {

        libUIUI_gv_teamXPPartySpamLockoutTimer[init_i] = TimerCreate();

    }

    for (init_i = 0; init_i <= libCore_gv_bALMaxPlayers; init_i += 1) {

        libUIUI_gv_pingInputSuppressionTimer[init_i] = TimerCreate();

    }

    for (init_i = 0; init_i <= libCore_gv_bALMaxPlayers; init_i += 1) {

        libUIUI_gv_pingCountResetTimer[init_i] = TimerCreate();

    }

    for (init_i = 0; init_i <= libCore_gv_bALMaxPlayers; init_i += 1) {

        libUIUI_gv_pingLockoutTimer[init_i] = TimerCreate();

    }

    for (init_i = 0; init_i <= libCore_gv_bALMaxPlayers; init_i += 1) {

        libUIUI_gv_hearthPingTextLockoutTimer[init_i] = TimerCreate();

    }

    for (init_i = 0; init_i <= libCore_gv_bALMaxPlayers; init_i += 1) {

        libUIUI_gv_onMyWayPingPathDisplayTimer[init_i] = TimerCreate();

    }

    for (init_i = 0; init_i <= libCore_gv_bALMaxPlayers; init_i += 1) {

        libUIUI_gv_hearthStonePing[init_i] = c_invalidPingId;

    }

    for (init_i = 0; init_i <= libUIUI_gv_uI_PingTargetMaxCount_C; init_i += 1) {

        libUIUI_gv_ping_PingTargets[init_i].lv_heroVOLineAlliedTarget = libCore_ge_HeroVOEvents_Null;

        libUIUI_gv_ping_PingTargets[init_i].lv_heroVOLineEnemyTarget = libCore_ge_HeroVOEvents_Null;

        libUIUI_gv_ping_PingTargets[init_i].lv_heroVOLineHumanPingingPlayer = libCore_ge_HeroVOEvents_Null;

        libUIUI_gv_ping_PingTargets[init_i].lv_heroVOLineAIPingingPlayer = libCore_ge_HeroVOEvents_Null;

    }

    for (init_i = 0; init_i <= 10; init_i += 1) {

        libUIUI_gv_ping_PlayerHearth[init_i] = c_invalidPingId;

    }

    libUIUI_gv_uITabScreenPanel.lv_mainPanel = c_invalidDialogControlId;

    libUIUI_gv_uITabScreenPanel.lv_tabControl = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayers; init_i1 += 1) {

        libUIUI_gv_uITabScreenPanel.lv_tabScreenPlayerStats[init_i1].lv_damageTakenStat = c_invalidDialogControlId;

        libUIUI_gv_uITabScreenPanel.lv_tabScreenPlayerStats[init_i1].lv_kills = c_invalidDialogControlId;

        libUIUI_gv_uITabScreenPanel.lv_tabScreenPlayerStats[init_i1].lv_assists = c_invalidDialogControlId;

        libUIUI_gv_uITabScreenPanel.lv_tabScreenPlayerStats[init_i1].lv_siegeDamage = c_invalidDialogControlId;

        libUIUI_gv_uITabScreenPanel.lv_tabScreenPlayerStats[init_i1].lv_heroDamage = c_invalidDialogControlId;

        libUIUI_gv_uITabScreenPanel.lv_tabScreenPlayerStats[init_i1].lv_healingStat = c_invalidDialogControlId;

        libUIUI_gv_uITabScreenPanel.lv_tabScreenPlayerStats[init_i1].lv_xPContribution = c_invalidDialogControlId;

    }

    libUIUI_gv_uITargetingHelperPanel.lv_mainPanel = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayersOnATeam; init_i1 += 1) {

        libUIUI_gv_uITargetingHelperPanel.lv_heroFrames[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayersOnATeam; init_i1 += 1) {

        libUIUI_gv_uITargetingHelperPanel.lv_heroIcons[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayersOnATeam; init_i1 += 1) {

        libUIUI_gv_uITargetingHelperPanel.lv_heroBorderImages[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayersOnATeam; init_i1 += 1) {

        libUIUI_gv_uITargetingHelperPanel.lv_heroTargetFrames[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxPlayersOnATeam; init_i1 += 1) {

        libUIUI_gv_uITargetingHelperPanel.lv_heroStatusFrames[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_topBarPanel.lv_mainPanel = c_invalidDialogControlId;

    libUIUI_gv_topBarPanel.lv_gameTimerLabel = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_topBarPanel.lv_xPBackgroundBlue[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_topBarPanel.lv_xPBackgroundRed[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_topBarPanel.lv_xPUnitStatusFrame[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_topBarPanel.lv_xPVeterancyBar[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_topBarPanel.lv_levelLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_topBarPanel.lv_levelUpLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_topBarPanel.lv_coreHealthUnitStatusFrames[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_topBarPanel.lv_coreHealthLabel = c_invalidDialogControlId;

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_topBarPanel.lv_coreHealthPercentLabels[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_topBarPanel.lv_xPContributionPopup[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_topBarPanel.lv_heroXPContributionLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_topBarPanel.lv_mercenaryXPContributionLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_topBarPanel.lv_minionXPContributionLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_topBarPanel.lv_passiveXPContributionLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_topBarPanel.lv_structureXPContributionLabel[init_i1] = c_invalidDialogControlId;

    }

    for (init_i1 = 0; init_i1 <= libCore_gv_bALMaxTeams; init_i1 += 1) {

        libUIUI_gv_topBarPanel.lv_totalXPContributionLabel[init_i1] = c_invalidDialogControlId;

    }

    libUIUI_gv_tutorialReferenceShowHelp = c_invalidDialogControlId;

    libUIUI_gv_tutorialReferencePanel = c_invalidDialogControlId;

    libUIUI_gv_tutorialPanelHighlightFrame = c_invalidDialogControlId;

    for (init_i = 0; init_i <= 6; init_i += 1) {

        libUIUI_gv_tutorialReferenceLabels[init_i] = c_invalidDialogControlId;

    }

}



// Presets

// Functions

void libUIUI_gf_UISetDialogItemToSelectedOrObserved (int lp_dialogItem) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetObservedType(lp_dialogItem, c_triggerObservedTypeSelectedOrObservedPlayerId);

    DialogControlSetVisible(lp_dialogItem, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

    DialogControlSetVisible(lp_dialogItem, libCore_gv_nPCPlayers, false);

}



void libUIUI_gf_UIUpdateTimeLabels () {

    // Variable Declarations

    text lv_timeLabelText;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    if ((TimerGetRemaining(libGame_gv_openTheGatesTimer) > 0.0)) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_60CC3C9D", "A", StringToText(StringSub(libCore_gf_GetTimeStamp(TimerGetRemaining(libGame_gv_openTheGatesTimer)), 1, 5)));

        lv_timeLabelText = TextExpressionAssemble("Param/Expression/lib_UIUI_60CC3C9D");

    }

    else {

        lv_timeLabelText = StringToText(StringSub(libCore_gf_GetTimeStamp((TimerGetElapsed(libGame_gv_gameTimer)+libSprt_gf_DebugGameTimeDelta()*60)), 1, 5));

    }

    libNtve_gf_SetDialogItemText(libUIUI_gv_uIObserverUI.lv_observerTimer, lv_timeLabelText, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    libUIUI_gf_UIPartyFrameGameTimerUpdate(lv_timeLabelText);

    libUIUI_gf_UIPartyFrameHeroicTalentCooldownUpdate();

    TimerStart(libUIUI_gv_uITimeLabelUpdateTimer, libUIUI_gv_uIPartyFrameTimersUpdateDelay_C, false, c_timeGame);

}



fixed libUIUI_gf_HeroesGameTime () {

    // Automatic Variable Declarations

    // Implementation

    if ((TimerGetRemaining(libGame_gv_openTheGatesTimer) > 0.0)) {

        return (-1.0 * TimerGetRemaining(libGame_gv_openTheGatesTimer));

    }

    else {

        return (TimerGetElapsed(libGame_gv_gameTimer)+libSprt_gf_DebugGameTimeDelta()*60);

    }

}



void libUIUI_gf_UIDEBUGBoostsInitializeBoostFXforPlayers (int lp_player) {

    // Variable Declarations

    unit lv_itHero;

    int lv_heroCount;



    // Automatic Variable Declarations

    unitgroup auto76F73EF9_g;

    int auto76F73EF9_u;



    // Variable Initialization



    // Implementation

    if (((lp_player > libCore_gv_bALMaxPlayers) || (lp_player < 1))) {

        return ;

    }



    auto76F73EF9_g = libGame_gv_players[lp_player].lv_heroUnitGroup;

    auto76F73EF9_u = UnitGroupCount(auto76F73EF9_g, c_unitCountAll);

    for (;; auto76F73EF9_u -= 1) {

        lv_itHero = UnitGroupUnitFromEnd(auto76F73EF9_g, auto76F73EF9_u);

        if (lv_itHero == null) { break; }

        libUIUI_gf_UIBoostsInitializeBoostFX(lp_player, lv_itHero);

    }

}



void libUIUI_gf_UIBoostsInitializeBoostFXforPlayers (int lp_player) {

    // Variable Declarations

    unit lv_itHero;

    int lv_heroCount;



    // Automatic Variable Declarations

    unitgroup autoBB30E191_g;

    int autoBB30E191_u;



    // Variable Initialization



    // Implementation

    if (((lp_player > libCore_gv_bALMaxPlayers) || (lp_player < 1) || (PlayerHasActiveBoost(lp_player) == false))) {

        return ;

    }



    autoBB30E191_g = libGame_gv_players[lp_player].lv_heroUnitGroup;

    autoBB30E191_u = UnitGroupCount(autoBB30E191_g, c_unitCountAll);

    for (;; autoBB30E191_u -= 1) {

        lv_itHero = UnitGroupUnitFromEnd(autoBB30E191_g, autoBB30E191_u);

        if (lv_itHero == null) { break; }

        libUIUI_gf_UIBoostsInitializeBoostFX(lp_player, lv_itHero);

    }

}



void libUIUI_gf_UIBoostsInitializeBoostFX (int lp_player, unit lp_heroUnit) {

    // Variable Declarations

    int lv_heroIndex;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    if (((libUIUI_gv_uIBoosts.lv_frameCount[lp_player] == libUIUI_gv_uI_MaxBoostFrames) || (UnitTypeTestAttribute(UnitGetType(lp_heroUnit), c_unitAttributeHeroic) == false) || (UnitGetType(lp_heroUnit) == "HeroLostVikingsController") || (UnitGetType(lp_heroUnit) == "HeroDVaPilot") || (UnitGetType(lp_heroUnit) == "RexxarMisha"))) {

        return ;

    }



    if (((UnitGetType(lp_heroUnit) == "HeroCho") || (UnitGetType(lp_heroUnit) == "HeroGall"))) {

        libUIUI_gf_UIBoostsInitializeBoostFXforChoGallPlayers(lp_player);

    }

    else {

        libUIUI_gv_uIBoosts.lv_frameCount[lp_player] += 1;

        lv_heroIndex = libUIUI_gv_uIBoosts.lv_frameCount[lp_player];

        DialogCreate(1, 1, c_anchorTop, 0, 0, true);

        libUIUI_gv_uIBoosts.lv_boostFXAnchor[lp_player][lv_heroIndex] = DialogLastCreated();

        DialogSetPositionRelativeToUnitWithAnchor(DialogLastCreated(), lp_heroUnit, "Ref_Overhead", c_anchorBottom, 0, 0);

        DialogControlCreate(DialogLastCreated(), c_triggerControlTypePanel);

        libUIUI_gv_uIBoosts.lv_boostFXAnchorFrame[lp_player][lv_heroIndex] = DialogControlLastCreated();

        DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenLowerContainer/BoostPanel");

        libUIUI_gv_uIBoosts.lv_boostPanel = DialogControlLastCreated();

        DialogControlCreateInPanelFromTemplate(libUIUI_gv_uIBoosts.lv_boostPanel, c_triggerControlTypePanel, "InGameBoostCutsceneFrame/InGameBoostCutsceneFrame");

        libUIUI_gv_uIBoosts.lv_boostFXPanel[lp_player][lv_heroIndex] = DialogControlLastCreated();

        DialogControlSetPositionRelative(DialogControlLastCreated(), PlayerGroupAll(), c_anchorBottom, libUIUI_gv_uIBoosts.lv_boostFXAnchorFrame[lp_player][lv_heroIndex], c_anchorTop, 0, 50);

    }

}



void libUIUI_gf_UIBoostsInitializeBoostFXforChoGallPlayers (int lp_player) {

    // Variable Declarations

    int lv_choPlayer;

    int lv_gallPlayer;

    int lv_heroIndex;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_choPlayer = libGDHL_gv_chogallPairs[libGame_gf_TeamNumberOfPlayer(lp_player)].lv_choPlayer;

    lv_gallPlayer = libGDHL_gv_chogallPairs[libGame_gf_TeamNumberOfPlayer(lp_player)].lv_gallPlayer;

    if (((PlayerHasActiveBoost(lv_choPlayer) == true) || (PlayerHasActiveBoost(lv_gallPlayer) == true))) {

        libUIUI_gv_uIBoosts.lv_frameCount[lp_player] += 1;

        lv_heroIndex = libUIUI_gv_uIBoosts.lv_frameCount[lp_player];

        DialogCreate(1, 1, c_anchorTop, 0, 0, true);

        libUIUI_gv_uIBoosts.lv_boostFXAnchor[lp_player][lv_heroIndex] = DialogLastCreated();

        DialogSetPositionRelativeToUnitWithAnchor(DialogLastCreated(), libGDHL_gv_chogallPairs[libGame_gf_TeamNumberOfPlayer(lv_choPlayer)].lv_choUnit, "Ref_Overhead", c_anchorBottom, 0, 0);

        DialogControlCreate(DialogLastCreated(), c_triggerControlTypePanel);

        libUIUI_gv_uIBoosts.lv_boostFXAnchorFrame[lp_player][lv_heroIndex] = DialogControlLastCreated();

        DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenLowerContainer/BoostPanel");

        libUIUI_gv_uIBoosts.lv_boostPanel = DialogControlLastCreated();

        DialogControlCreateInPanelFromTemplate(libUIUI_gv_uIBoosts.lv_boostPanel, c_triggerControlTypePanel, "InGameBoostCutsceneFrame/InGameBoostCutsceneFrame");

        libUIUI_gv_uIBoosts.lv_boostFXPanel[lp_player][lv_heroIndex] = DialogControlLastCreated();

        DialogControlSetPositionRelative(DialogControlLastCreated(), PlayerGroupAll(), c_anchorBottom, libUIUI_gv_uIBoosts.lv_boostFXAnchorFrame[lp_player][lv_heroIndex], c_anchorTop, 0, 50);

    }



}



void libUIUI_gf_UIBoostsShowBoostFXFrames () {

    // Variable Declarations

    int lv_itPlayer;

    int lv_itFrame;



    // Automatic Variable Declarations

    const int auto1E27DA6D_ae = libCore_gv_bALMaxPlayers;

    const int auto1E27DA6D_ai = 1;

    int autoD5EA90E3_ae;

    const int autoD5EA90E3_ai = 1;



    // Variable Initialization



    // Implementation

    lv_itPlayer = 1;

    for ( ; ( (auto1E27DA6D_ai >= 0 && lv_itPlayer <= auto1E27DA6D_ae) || (auto1E27DA6D_ai < 0 && lv_itPlayer >= auto1E27DA6D_ae) ) ; lv_itPlayer += auto1E27DA6D_ai ) {

        if ((libUIUI_gv_uIBoosts.lv_frameCount[lv_itPlayer] > 0)) {

            autoD5EA90E3_ae = libUIUI_gv_uIBoosts.lv_frameCount[lv_itPlayer];

            lv_itFrame = 1;

            for ( ; ( (autoD5EA90E3_ai >= 0 && lv_itFrame <= autoD5EA90E3_ae) || (autoD5EA90E3_ai < 0 && lv_itFrame >= autoD5EA90E3_ae) ) ; lv_itFrame += autoD5EA90E3_ai ) {

                DialogControlSendAnimationEvent(libUIUI_gv_uIBoosts.lv_boostFXPanel[lv_itPlayer][lv_itFrame], libGame_gf_AlliedPlayerGroupOfPlayer(lv_itPlayer), "PlayBoostFX");

            }

        }



        if ((PlayerHasActiveBoost(lv_itPlayer) == true)) {

            DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_playerBoostEffect[lv_itPlayer], libGame_gf_AlliedPlayerGroupOfPlayer(lv_itPlayer), "ShowBoostEffect");

        }



    }

    Wait(libUIUI_gv_uI_BoostFXVisibilityTime, c_timeGame);

    libUIUI_gf_UIBoostsDestroyBoostFXFrames();

}



void libUIUI_gf_UIBoostsDestroyBoostFXFrames () {

    // Variable Declarations

    int lv_itPlayer;

    int lv_itFrame;



    // Automatic Variable Declarations

    const int auto747CC781_ae = libCore_gv_bALMaxPlayers;

    const int auto747CC781_ai = 1;

    int auto2375E146_ae;

    const int auto2375E146_ai = 1;



    // Variable Initialization



    // Implementation

    lv_itPlayer = 1;

    for ( ; ( (auto747CC781_ai >= 0 && lv_itPlayer <= auto747CC781_ae) || (auto747CC781_ai < 0 && lv_itPlayer >= auto747CC781_ae) ) ; lv_itPlayer += auto747CC781_ai ) {

        if ((libUIUI_gv_uIBoosts.lv_frameCount[lv_itPlayer] > 0)) {

            auto2375E146_ae = libUIUI_gv_uIBoosts.lv_frameCount[lv_itPlayer];

            lv_itFrame = 1;

            for ( ; ( (auto2375E146_ai >= 0 && lv_itFrame <= auto2375E146_ae) || (auto2375E146_ai < 0 && lv_itFrame >= auto2375E146_ae) ) ; lv_itFrame += auto2375E146_ai ) {

                DialogControlDestroy(libUIUI_gv_uIBoosts.lv_boostFXPanel[lv_itPlayer][lv_itFrame]);

                DialogDestroy(libUIUI_gv_uIBoosts.lv_boostFXAnchor[lv_itPlayer][lv_itFrame]);

            }

            libUIUI_gv_uIBoosts.lv_frameCount[lv_itPlayer] = 0;

        }



    }

}



void libUIUI_gf_InitPathingLines (unit lp_unit, int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    if ((libCore_gv_sYSGameMode == libCore_ge_GameModes_ModeC)) {

        return ;

    }



    PathCreateForUnit(libCore_gv_playerGroupFromPlayer[lp_player], lp_unit);

    PathSetVisible(PathLastCreated(), c_pathLocationWorld, false);

    PathSetAbilClassFilter(PathLastCreated(), c_classIdCAbilEffectInstant, c_abilClassFilterExcluded);

    PathSetAbilClassFilter(PathLastCreated(), c_classIdCAbilEffectTarget, c_abilClassFilterExcluded);

    PathSetAbilClassFilter(PathLastCreated(), c_classIdCAbilArmMagazine, c_abilClassFilterExcluded);

    PathSetLineTexture(PathLastCreated(), c_pathLocationMinimap, "Assets\\Textures\\storm_waypointline.dds");

    PathSetMinimumStepCount(PathLastCreated(), 0);

    PathSetMinimumTravelDistance(PathLastCreated(), 3.0);

    PathSetMinimumLinearDistance(PathLastCreated(), 3.0);

    PathSetLineTexture(PathLastCreated(), c_pathLocationWorld, "Assets\\Textures\\storm_waypointline_game.dds");

    PathSetLineTileLength(PathLastCreated(), c_pathLocationWorld, 0.8);

    libGame_gv_players[lp_player].lv_pathDisplay = PathLastCreated();

}



void libUIUI_gf_UIDamageFlashStartLowHPSoundAndScreenEffects (int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    if ((libGame_gv_players[lp_player].lv_lowHPSoundPlaying == false)) {

        DialogControlFadeTransparency(libUIUI_gv_uIDamageFlashUI.lv_lowHealthPersistentImage, libCore_gv_playerGroupFromPlayer[EventPlayer()], 0.0, 50.0);

        libGame_gv_players[lp_player].lv_lowHPSoundPlaying = true;

        TriggerEnable(libUIUI_gt_UIDamageFlashLowHPSoundsLooper, true);

        if ((libGame_gv_players[lp_player].lv_lowHPStartSound == null)) {

            SoundPlayForPlayer(SoundLink("UI_LowHealth_Warning_Start", -1), lp_player, libCore_gv_playerGroupFromPlayer[lp_player], 100.0, 0.0);

            libGame_gv_players[lp_player].lv_lowHPStartSound = SoundLastPlayed();

        }



        if ((libGame_gv_players[lp_player].lv_lowHPBreathLoop == null)) {

            SoundPlayForPlayer(SoundLink("UI_LowHealthWarning_Breath_Loop", -1), lp_player, libCore_gv_playerGroupFromPlayer[lp_player], 100.0, 0.0);

            libGame_gv_players[lp_player].lv_lowHPBreathLoop = SoundLastPlayed();

        }



        if ((libGame_gv_players[lp_player].lv_lowHPHeartBeatLoop == null)) {

            SoundPlayForPlayer(SoundLink("UI_LowHealthWarning_HeartBeat_Loop", -1), lp_player, libCore_gv_playerGroupFromPlayer[lp_player], 100.0, 0.0);

            libGame_gv_players[lp_player].lv_lowHPHeartBeatLoop = SoundLastPlayed();

        }



    }



}



void libUIUI_gf_UIDamageFlashStopLowHPSoundAndScreenEffects (int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    libGame_gv_players[lp_player].lv_lowHPSoundPlaying = false;

    DialogControlFadeTransparency(libUIUI_gv_uIDamageFlashUI.lv_lowHealthPersistentImage, libCore_gv_playerGroupFromPlayer[lp_player], 0.625, 100.0);

    if ((libGame_gv_players[lp_player].lv_lowHPStartSound != null)) {

        SoundStop(libGame_gv_players[lp_player].lv_lowHPStartSound, true);

        libGame_gv_players[lp_player].lv_lowHPStartSound = null;

    }



    if ((libGame_gv_players[lp_player].lv_lowHPBreathLoop != null)) {

        SoundStop(libGame_gv_players[lp_player].lv_lowHPBreathLoop, true);

        libGame_gv_players[lp_player].lv_lowHPBreathLoop = null;

    }



    if ((libGame_gv_players[lp_player].lv_lowHPHeartBeatLoop != null)) {

        SoundStop(libGame_gv_players[lp_player].lv_lowHPHeartBeatLoop, true);

        libGame_gv_players[lp_player].lv_lowHPHeartBeatLoop = null;

    }



}



void libUIUI_gf_UILowHPSetSoundChannelsForLowHealth (int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryAlert, 0.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryAmbient, 25.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryBuild, 25.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryCombat, 60.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryDeath, 100.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryDialogue, 100.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryDoodad, 25.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryFlames, 25.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryFoley, 100.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryGather, 25.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryME, 100.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryMission, 100.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryMovement, 35.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryMovie, 100.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryMusic, 80.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryOther, 100.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryReady, 25.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategorySAmbient, 70.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategorySEmitters, 100.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategorySPieces, 70.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategorySpell, 60.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryTV, 100.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryUI, 70.0, 2.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryVoice, 100.0, 2.0);

}



void libUIUI_gf_UILowHPSetSoundChannelsForSilence (int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryAlert, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryAmbient, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryBuild, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryCombat, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryDeath, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryDialogue, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryDoodad, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryFlames, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryFoley, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryGather, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryME, 100.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryMission, 100.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryMovement, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryMovie, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryMusic, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryOther, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryReady, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategorySAmbient, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategorySEmitters, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategorySPieces, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategorySpell, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryTV, 30.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryUI, 100.0, 1.0);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryVoice, 30.0, 1.0);

}



void libUIUI_gf_UILowHPSetSoundChannelsForNormal (int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    libNtve_gf_SetAllSoundChannelVolumes(libNtve_ge_VolumeChannelMode_Game, PlayerGroupSingle(lp_player), 1.5);

    SoundChannelSetVolume(PlayerGroupSingle(lp_player), c_soundCategoryVoice, 100.0, 1.0);

}



void libUIUI_gf_DeathRecapShowHideForPlayer (bool lp_showHide, int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    if ((libCore_gv_dEBUGDeathRecapEnabled == false)) {

        return ;

    }



    DialogControlSetVisible(libUIUI_gv_deathRecap_Panel.lv_mainPanel, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

}



void libUIUI_gf_DeathRecapShowHideToastButtonForPlayer (bool lp_showHide, int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    if ((libCore_gv_dEBUGDeathRecapEnabled == false)) {

        return ;

    }



    if ((libCore_gv_sYSGameMode != libCore_ge_GameModes_Normal) && (libCore_gv_sYSGameMode != libCore_ge_GameModes_Sandbox) && (libCore_gv_sYSGameMode != libCore_ge_GameModes_ModeC) && (libCore_gv_sYSGameMode != libCore_ge_GameModes_ArenaMode)) {

        return ;

    }



    if ((lp_showHide == true)) {

        TimerStart(libGame_gv_players[lp_player].lv_deathToastTimer, libGame_gv_heroDeathToastDisplayTime, false, c_timeGame);

    }

    else {

        libNtve_gf_StopTimer(libGame_gv_players[lp_player].lv_deathToastTimer);

    }

}



text libUIUI_gf_DeathRecapCreateTooltipTextNoSentence (int lp_deadPlayer, int lp_effectIndex) {

    // Variable Declarations

    int lv_effectAmount;

    int lv_effectOverkill;

    int lv_effectShielded;

    text lv_effectorText;

    text lv_abilityText;

    text lv_abilityTooltipText;

    text lv_shieldAmountText;

    text lv_damageAmountText;

    text lv_simpleTooltip;

    text lv_finalText;

    int lv_overkillOverride;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    if (((UnitGetType(libGame_gv_players[lp_deadPlayer].lv_heroUnit) == "HeroDVaPilot") || (UnitGetType(libGame_gv_players[lp_deadPlayer].lv_heroUnit) == "HeroUther") || (UnitGetType(libGame_gv_players[lp_deadPlayer].lv_heroUnit) == "HeroTyrael") || (UnitGetType(libGame_gv_players[lp_deadPlayer].lv_heroUnit) == "HeroLeoric"))) {

        lv_overkillOverride = PlayerScoreValueGetAsInt(lp_deadPlayer, "DeadHeroDamagePreventedByAbsorb");

    }

    else {

        lv_overkillOverride = 0;

    }

    lv_effectAmount = libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lp_effectIndex].lv_amount;

    lv_effectShielded = libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lp_effectIndex].lv_amountShielded;

    lv_effectOverkill = libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lp_effectIndex].lv_amountOverkill;

    if ((lp_effectIndex == 1)) {

        lv_effectShielded -= lv_overkillOverride;

        if ((lv_effectShielded < 0)) {

            lv_effectShielded = 0;

        }



    }



    TextExpressionSetToken("Param/Expression/lib_UIUI_140BB2E3", "A", StringExternal(CatalogFieldValueGet(c_gameCatalogButton, libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lp_effectIndex].lv_button, "SimpleDisplayText", c_playerAny)));

    lv_simpleTooltip = TextExpressionAssemble("Param/Expression/lib_UIUI_140BB2E3");

    if ((libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lp_effectIndex].lv_isHeal == true)) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_9535BBC2", "A", StringExternal(CatalogFieldValueGet(c_gameCatalogButton, libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lp_effectIndex].lv_button, "Name", c_playerAny)));

        lv_abilityText = TextExpressionAssemble("Param/Expression/lib_UIUI_9535BBC2");

        TextExpressionSetToken("Param/Expression/lib_UIUI_F3D6E61E", "A", IntToText(lv_effectAmount));

        lv_damageAmountText = TextExpressionAssemble("Param/Expression/lib_UIUI_F3D6E61E");

    }

    else {

        TextExpressionSetToken("Param/Expression/lib_UIUI_BF8AD33D", "A", StringExternal(CatalogFieldValueGet(c_gameCatalogButton, libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lp_effectIndex].lv_button, "Name", c_playerAny)));

        lv_abilityText = TextExpressionAssemble("Param/Expression/lib_UIUI_BF8AD33D");

        if ((lp_effectIndex == 1)) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_A411DA4A", "A", IntToText(lv_effectAmount));

            TextExpressionSetToken("Param/Expression/lib_UIUI_A411DA4A", "B", IntToText(lv_effectOverkill));

            lv_damageAmountText = TextExpressionAssemble("Param/Expression/lib_UIUI_A411DA4A");

        }

        else {

            TextExpressionSetToken("Param/Expression/lib_UIUI_8B91F9BD", "A", IntToText(lv_effectAmount));

            lv_damageAmountText = TextExpressionAssemble("Param/Expression/lib_UIUI_8B91F9BD");

        }

        if ((lv_effectShielded > 0)) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_38359851", "A", IntToText(lv_effectShielded));

            lv_shieldAmountText = TextExpressionAssemble("Param/Expression/lib_UIUI_38359851");

            TextExpressionSetToken("Param/Expression/lib_UIUI_2E90B459", "A", lv_damageAmountText);

            TextExpressionSetToken("Param/Expression/lib_UIUI_2E90B459", "B", lv_shieldAmountText);

            lv_damageAmountText = TextExpressionAssemble("Param/Expression/lib_UIUI_2E90B459");

        }



    }

    TextExpressionSetToken("Param/Expression/lib_UIUI_FC183A9D", "A", StringExternal(CatalogFieldValueGet(c_gameCatalogUnit, libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lp_effectIndex].lv_unitType, "Name", c_playerAny)));

    lv_effectorText = TextExpressionAssemble("Param/Expression/lib_UIUI_FC183A9D");

    TextExpressionSetToken("Param/Expression/lib_UIUI_ADF0BE72", "A", lv_effectorText);

    TextExpressionSetToken("Param/Expression/lib_UIUI_ADF0BE72", "D", lv_abilityText);

    TextExpressionSetToken("Param/Expression/lib_UIUI_ADF0BE72", "E", lv_damageAmountText);

    TextExpressionSetToken("Param/Expression/lib_UIUI_ADF0BE72", "F", lv_simpleTooltip);

    lv_finalText = TextExpressionAssemble("Param/Expression/lib_UIUI_ADF0BE72");

    return lv_finalText;

}



void libUIUI_gf_DeathRecapPopulateEffectInstancesForAbilitiesPanel (int lp_deadPlayer) {

    // Variable Declarations

    int lv_effectBarSize;

    int lv_healthBarSize;

    int lv_highestEffectAmount;

    int lv_highestHealthPercent;

    int lv_thirtyPercentHealth;

    int lv_itEffect;

    int lv_totalDamage;



    // Automatic Variable Declarations

    int auto991D4F48_ae;

    const int auto991D4F48_ai = 1;

    int auto0C063707_ae;

    const int auto0C063707_ai = 1;

    int auto5205215B_ae;

    const int auto5205215B_ai = 1;

    const int auto1087E968_ae = libGame_gv_deathRecap_MaxEffectBars_C;

    const int auto1087E968_ai = 1;



    // Variable Initialization



    // Implementation

    if ((libCore_gv_dEBUGDeathRecapEnabled == false)) {

        return ;

    }



    DialogControlSetEnabled(libUIUI_gv_deathRecap_Panel.lv_tabScreenButton, libCore_gv_playerGroupFromPlayer[lp_deadPlayer], true);

    if ((libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_deadHeroHighestHealth <= 0)) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_D98CF21D", "A", IntToText(lp_deadPlayer));

        TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_D98CF21D"), true);

        return ;

    }



    auto991D4F48_ae = libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBarCount;

    lv_itEffect = 1;

    for ( ; ( (auto991D4F48_ai >= 0 && lv_itEffect <= auto991D4F48_ae) || (auto991D4F48_ai < 0 && lv_itEffect >= auto991D4F48_ae) ) ; lv_itEffect += auto991D4F48_ai ) {

        if ((lv_highestEffectAmount < libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_amount)) {

            lv_highestEffectAmount = libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_amount;

        }



    }

    lv_highestHealthPercent = FixedToInt((IntToFixed(libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_deadHeroHighestHealth) / IntToFixed(libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_deadHeroMaxHealth) * 100));

    if ((lv_highestHealthPercent <= libUIUI_gv_deathRecap_MPercentLifeReference_C)) {

        lv_thirtyPercentHealth = FixedToInt((IntToFixed(libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_deadHeroMaxHealth) * .3));

        libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelStartingHealthLabels, IntToText(libUIUI_gv_deathRecap_MPercentLifeReference_C), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

        auto5205215B_ae = libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBarCount;

        lv_itEffect = 1;

        for ( ; ( (auto5205215B_ai >= 0 && lv_itEffect <= auto5205215B_ae) || (auto5205215B_ai < 0 && lv_itEffect >= auto5205215B_ae) ) ; lv_itEffect += auto5205215B_ai ) {

            lv_effectBarSize = (libUIUI_gv_deathRecap_TotalEffectBarHeight_C * libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_amount / lv_thirtyPercentHealth);

            if ((libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_isHeal == true)) {

                lv_healthBarSize = (libUIUI_gv_deathRecap_TotalEffectBarHeight_C * (libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_postEffectHealth - libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_amount) / lv_thirtyPercentHealth);

                if ((lv_healthBarSize < 2)) {

                    lv_healthBarSize = 2;

                }



                DialogControlSetSize(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealingBars[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], libUIUI_gv_deathRecap_DamageTakenPanelBarWidth_C, lv_effectBarSize);

                DialogControlSetSize(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealthBars[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], libUIUI_gv_deathRecap_DamageTakenPanelBarWidth_C, lv_healthBarSize);

                DialogControlSetAnimationState(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelTimeZone[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], "DamageHealState", "Heal");

            }

            else {

                lv_totalDamage = (lv_totalDamage + libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_amount);

                lv_healthBarSize = (libUIUI_gv_deathRecap_TotalEffectBarHeight_C * libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_postEffectHealth / lv_thirtyPercentHealth);

                if ((lv_healthBarSize < 2)) {

                    lv_healthBarSize = 2;

                }



                DialogControlSetSize(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelDamageBars[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], libUIUI_gv_deathRecap_DamageTakenPanelBarWidth_C, lv_effectBarSize);

                DialogControlSetSize(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealthBars[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], libUIUI_gv_deathRecap_DamageTakenPanelBarWidth_C, lv_healthBarSize);

                DialogControlSetAnimationState(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelTimeZone[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], "DamageHealState", "Damage");

            }

        }

    }

    else {

        libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelStartingHealthLabels, IntToText(lv_highestHealthPercent), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

        auto0C063707_ae = libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBarCount;

        lv_itEffect = 1;

        for ( ; ( (auto0C063707_ai >= 0 && lv_itEffect <= auto0C063707_ae) || (auto0C063707_ai < 0 && lv_itEffect >= auto0C063707_ae) ) ; lv_itEffect += auto0C063707_ai ) {

            lv_effectBarSize = (libUIUI_gv_deathRecap_TotalEffectBarHeight_C * libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_amount / libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_deadHeroHighestHealth);

            if ((lv_effectBarSize <= 1)) {

                lv_effectBarSize = 2;

            }



            if ((libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_isHeal == true)) {

                lv_healthBarSize = (libUIUI_gv_deathRecap_TotalEffectBarHeight_C * (libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_postEffectHealth - libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_amount) / libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_deadHeroHighestHealth);

                if ((lv_healthBarSize < 2)) {

                    lv_healthBarSize = 2;

                }



                DialogControlSetSize(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealingBars[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], libUIUI_gv_deathRecap_DamageTakenPanelBarWidth_C, lv_effectBarSize);

                DialogControlSetSize(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealthBars[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], libUIUI_gv_deathRecap_DamageTakenPanelBarWidth_C, lv_healthBarSize);

                DialogControlSetAnimationState(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelTimeZone[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], "DamageHealState", "Heal");

            }

            else {

                lv_totalDamage = (lv_totalDamage + libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_amount);

                lv_healthBarSize = (libUIUI_gv_deathRecap_TotalEffectBarHeight_C * libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_postEffectHealth / libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_deadHeroHighestHealth);

                if ((lv_healthBarSize < 2)) {

                    lv_healthBarSize = 2;

                }



                DialogControlSetSize(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelDamageBars[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], libUIUI_gv_deathRecap_DamageTakenPanelBarWidth_C, lv_effectBarSize);

                DialogControlSetSize(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealthBars[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], libUIUI_gv_deathRecap_DamageTakenPanelBarWidth_C, lv_healthBarSize);

                DialogControlSetAnimationState(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelTimeZone[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], "DamageHealState", "Damage");

            }

        }

    }

    libUIUI_gf_DeathRecapPopulateAbilityandHeroDataForAbilitiesPanel(lp_deadPlayer);

    TextExpressionSetToken("Param/Expression/lib_UIUI_C622E95B", "A", IntToText(lv_totalDamage));

    TextExpressionSetToken("Param/Expression/lib_UIUI_C622E95B", "B", FixedToText(libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBarCount].lv_time, 1));

    libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_mainGraphLabel, TextExpressionAssemble("Param/Expression/lib_UIUI_C622E95B"), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

    libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_xpValueLabel, StringToText(""), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

    lv_itEffect = (libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBarCount + 1);

    for ( ; ( (auto1087E968_ai >= 0 && lv_itEffect <= auto1087E968_ae) || (auto1087E968_ai < 0 && lv_itEffect >= auto1087E968_ae) ) ; lv_itEffect += auto1087E968_ai ) {

        DialogControlSetAnimationState(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelTimeZone[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], "DamageHealState", "NoData");

    }

}



void libUIUI_gf_DeathRecapPopulateAbilityandHeroDataForAbilitiesPanel (int lp_deadPlayer) {

    // Variable Declarations

    int lv_itEffect;

    text lv_effectTooltipText;

    text lv_effectAmountText;



    // Automatic Variable Declarations

    int autoB1082D0E_ae;

    const int autoB1082D0E_ai = 1;



    // Variable Initialization



    // Implementation

    autoB1082D0E_ae = libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBarCount;

    lv_itEffect = 1;

    for ( ; ( (autoB1082D0E_ai >= 0 && lv_itEffect <= autoB1082D0E_ae) || (autoB1082D0E_ai < 0 && lv_itEffect >= autoB1082D0E_ae) ) ; lv_itEffect += autoB1082D0E_ai ) {

        libNtve_gf_SetDialogItemImage(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealthBarIcons[lv_itEffect], (CatalogFieldValueGet(c_gameCatalogButton, libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_button, "Icon", c_playerAny)), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

        if ((libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_nPCSource == true)) {

            if ((libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_structureSource == true)) {

                libNtve_gf_SetDialogItemImage(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHeroImages[lv_itEffect], "Assets\\Textures\\storm_ui_icon_deathrecap_npc_structure.dds", libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

            }

            else {

                libNtve_gf_SetDialogItemImage(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHeroImages[lv_itEffect], "Assets\\Textures\\storm_ui_icon_deathrecap_npc_unit.dds", libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

            }

        }

        else {

            libNtve_gf_SetDialogItemImage(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHeroImages[lv_itEffect], (CatalogFieldValueGet(c_gameCatalogHero, libGame_gv_players[libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_effectPlayer].lv_heroData.lv_heroCatalogLink, "Portrait", c_playerAny)), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

        }

        lv_effectTooltipText = libUIUI_gf_DeathRecapCreateTooltipTextNoSentence(lp_deadPlayer, lv_itEffect);

        libNtve_gf_SetDialogItemTooltip(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelTooltipFrame[lv_itEffect], lv_effectTooltipText, libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

        if ((lv_itEffect == 1)) {

            DialogControlSetAnimationState(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelTimeZone[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], "KillingBlowState", "IsKillingBlow");

        }

        else {

            TextExpressionSetToken("Param/Expression/lib_UIUI_659D7708", "A", FixedToText(libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_time, 1));

            libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealthBarTimeLabels[lv_itEffect], TextExpressionAssemble("Param/Expression/lib_UIUI_659D7708"), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

        }

        if ((libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_combinedNumOfEvents > 1)) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_95C9FD85", "A", IntToText(libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_combinedNumOfEvents));

            libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelEventCountLabels[lv_itEffect], TextExpressionAssemble("Param/Expression/lib_UIUI_95C9FD85"), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

            DialogControlSetVisible(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelEventCountLabels[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], true);

        }

        else {

            DialogControlSetVisible(libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelEventCountLabels[lv_itEffect], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], false);

        }

    }

}



void libUIUI_gf_DeathRecapPopulateHighestDamagersForPlayer (int lp_deadPlayer) {

    // Variable Declarations

    int lv_itHighestDamager;

    int lv_itHighestDamagerAbilities;

    int lv_itEffect;

    int lv_totalDamage;

    int lv_highestDamagerPercent;

    string lv_highestDamagerButton;

    text lv_simpleTooltip;



    // Automatic Variable Declarations

    const int autoD5AC74C9_ae = libGame_gv_deathRecap_MaxEffectBars_C;

    const int autoD5AC74C9_ai = 1;

    int auto7386FB46_ae;

    const int auto7386FB46_ai = 1;

    const int auto152FC40A_ae = libGame_gv_deathRecap_MaxMaxDamageAbils_C;

    const int auto152FC40A_ai = 1;

    const int auto41B23CF7_ae = libGame_gv_deathRecap_MaxMaxDamagers_C;

    const int auto41B23CF7_ai = 1;



    // Variable Initialization



    // Implementation

    if ((libCore_gv_dEBUGDeathRecapEnabled == false)) {

        return ;

    }



    lv_itEffect = 1;

    for ( ; ( (autoD5AC74C9_ai >= 0 && lv_itEffect <= autoD5AC74C9_ae) || (autoD5AC74C9_ai < 0 && lv_itEffect >= autoD5AC74C9_ae) ) ; lv_itEffect += autoD5AC74C9_ai ) {

        if ((libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_isHeal == false)) {

            lv_totalDamage = (lv_totalDamage + libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_effectBars[lv_itEffect].lv_amount);

        }



    }

    lv_highestDamagerPercent = ((libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lv_itHighestDamager].lv_amount / lv_totalDamage) * 100);

    auto7386FB46_ae = libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagersCount;

    lv_itHighestDamager = 1;

    for ( ; ( (auto7386FB46_ai >= 0 && lv_itHighestDamager <= auto7386FB46_ae) || (auto7386FB46_ai < 0 && lv_itHighestDamager >= auto7386FB46_ae) ) ; lv_itHighestDamager += auto7386FB46_ai ) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_highestDamagersAmountLabels[lv_itHighestDamager], FixedToText((IntToFixed(libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lv_itHighestDamager].lv_amount) / IntToFixed(lv_totalDamage) * 100), 0), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

        libNtve_gf_SetDialogItemCurrentValue(libUIUI_gv_deathRecap_Panel.lv_highestDamagersProgressBars[lv_itHighestDamager], (IntToFixed(libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lv_itHighestDamager].lv_amount) / IntToFixed(lv_totalDamage) * 100), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

        if ((libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lv_itHighestDamager].lv_player >= 1) && (libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lv_itHighestDamager].lv_player <= libCore_gv_bALMaxPlayers)) {

            libNtve_gf_SetDialogItemImage(libUIUI_gv_deathRecap_Panel.lv_highestDamagersImages[lv_itHighestDamager], (CatalogFieldValueGet(c_gameCatalogHero, libGame_gv_players[libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lv_itHighestDamager].lv_player].lv_heroData.lv_heroCatalogLink, "SelectScreenButtonImage", c_playerAny)), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

            if ((PlayerType(libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lv_itHighestDamager].lv_player) == c_playerTypeUser)) {

                libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_highestDamagersPlayerNameLabels[lv_itHighestDamager], PlayerName(libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lv_itHighestDamager].lv_player), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

                DialogControlSetAnimationState(libUIUI_gv_deathRecap_Panel.lv_highestDamagersAmountLabels[lv_itHighestDamager], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], "HighestDamagerState", "Player");

                if ((libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lv_itHighestDamager].lv_heroIndex == libCore_gf_GetIndexFromHero("LostVikings"))) {

                    libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_highestDamagersHeroNameLabels[lv_itHighestDamager], StringExternal("Hero/Name/LostVikings"), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

                }

                else {

                    libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_highestDamagersHeroNameLabels[lv_itHighestDamager], UnitTypeGetName(UnitGetType(libGame_gv_players[libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lv_itHighestDamager].lv_player].lv_heroUnit)), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

                }

            }

            else {

                DialogControlSetAnimationState(libUIUI_gv_deathRecap_Panel.lv_highestDamagersAmountLabels[lv_itHighestDamager], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], "HighestDamagerState", "AI");

                if ((libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lv_itHighestDamager].lv_heroIndex == libCore_gf_GetIndexFromHero("LostVikings"))) {

                    libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_highestDamagersHeroNameLabels[lv_itHighestDamager], StringExternal("Hero/Name/LostVikings"), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

                }

                else {

                    libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_highestDamagersHeroNameLabels[lv_itHighestDamager], UnitTypeGetName(UnitGetType(libGame_gv_players[libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lv_itHighestDamager].lv_player].lv_heroUnit)), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

                }

            }

        }

        else {

            libNtve_gf_SetDialogItemImage(libUIUI_gv_deathRecap_Panel.lv_highestDamagersImages[lv_itHighestDamager], "Assets\\Textures\\storm_ui_icon_deathrecap_npc_unit.dds", libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

            libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_highestDamagersHeroNameLabels[lv_itHighestDamager], StringExternal("Param/Value/lib_UIUI_86B48C2D"), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

            DialogControlSetAnimationState(libUIUI_gv_deathRecap_Panel.lv_highestDamagersAmountLabels[lv_itHighestDamager], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], "HighestDamagerState", "NPC");

        }

        lv_itHighestDamagerAbilities = 1;

        for ( ; ( (auto152FC40A_ai >= 0 && lv_itHighestDamagerAbilities <= auto152FC40A_ae) || (auto152FC40A_ai < 0 && lv_itHighestDamagerAbilities >= auto152FC40A_ae) ) ; lv_itHighestDamagerAbilities += auto152FC40A_ai ) {

            if ((libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lv_itHighestDamager].lv_maxDamageAbils[lv_itHighestDamagerAbilities].lv_amount > 0)) {

                libUIUI_gf_DeathRecapPopulateHighestDamagersAbilities(lp_deadPlayer, lv_itHighestDamager, lv_itHighestDamagerAbilities);

            }

            else {

                DialogControlSetVisible(libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilityFrame[lv_itHighestDamager][lv_itHighestDamagerAbilities], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], false);

            }

        }

    }

    lv_itHighestDamager = (libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagersCount + 1);

    for ( ; ( (auto41B23CF7_ai >= 0 && lv_itHighestDamager <= auto41B23CF7_ae) || (auto41B23CF7_ai < 0 && lv_itHighestDamager >= auto41B23CF7_ae) ) ; lv_itHighestDamager += auto41B23CF7_ai ) {

        DialogControlSetAnimationState(libUIUI_gv_deathRecap_Panel.lv_highestDamagersAmountLabels[lv_itHighestDamager], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], "HighestDamagerState", "NoData");

    }

}



void libUIUI_gf_DeathRecapPopulateHighestDamagersAbilities (int lp_deadPlayer, int lp_highestDamager, int lp_highestDamagerAbilities) {

    // Variable Declarations

    string lv_highestDamagerButton;

    text lv_simpleTooltip;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_highestDamagerButton = libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lp_highestDamager].lv_maxDamageAbils[lp_highestDamagerAbilities].lv_abil;

    TextExpressionSetToken("Param/Expression/lib_UIUI_111D61A7", "A", StringExternal(CatalogFieldValueGet(c_gameCatalogButton, lv_highestDamagerButton, "SimpleDisplayText", c_playerAny)));

    lv_simpleTooltip = TextExpressionAssemble("Param/Expression/lib_UIUI_111D61A7");

    libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilityLabels[lp_highestDamager][lp_highestDamagerAbilities], StringExternal(CatalogFieldValueGet(c_gameCatalogButton, lv_highestDamagerButton, "Name", c_playerAny)), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

    libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilAmountLabels[lp_highestDamager][lp_highestDamagerAbilities], IntToText(libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lp_highestDamager].lv_maxDamageAbils[lp_highestDamagerAbilities].lv_amount), libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

    DialogControlSetSize(libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilityBarProgressBars[lp_highestDamager][lp_highestDamagerAbilities], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], FixedToInt((IntToFixed(libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lp_highestDamager].lv_maxDamageAbils[lp_highestDamagerAbilities].lv_amount) / IntToFixed(libGame_gv_deathRecap_DeathData[lp_deadPlayer].lv_highestDamagers[lp_highestDamager].lv_amount) * 248)), 24);

    libNtve_gf_SetDialogItemTooltip(libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilityBarTooltips[lp_highestDamager][lp_highestDamagerAbilities], lv_simpleTooltip, libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

    DialogControlSetVisible(libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilityFrame[lp_highestDamager][lp_highestDamagerAbilities], libCore_gv_playerGroupFromPlayer[lp_deadPlayer], true);

}



void libUIUI_gf_DeathRecapPopulateXPValue (int lp_deadPlayer, int lp_xpValue, unit lp_deadHero) {

    // Variable Declarations

    text lv_text;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    TextExpressionSetToken("UI/HeroLeaderPanel/DeathRecap/XPValue", "A", FormatNumber(lp_xpValue));

    lv_text = TextExpressionAssemble("UI/HeroLeaderPanel/DeathRecap/XPValue");

    if ((UnitGetType(lp_deadHero) != "RexxarMisha")) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_deathRecap_Panel.lv_xpValueLabel, lv_text, libCore_gv_playerGroupFromPlayer[lp_deadPlayer]);

    }



}



void libUIUI_gf_DeathTimerPanelShowHideTeamsPanelForPlayer (bool lp_showHide, int lp_team, int lp_player) {

    // Automatic Variable Declarations

}



trigger auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_Trigger = null;

int auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_player;

int auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_killingPlayer;

string auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_portraitImage;

unit auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_deadUnit;

text auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_deadUnitName;

timer auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_deathTimer;



void libUIUI_gf_DeathAnnouncementPanelRegisterDeath (int lp_player, int lp_killingPlayer, string lp_portraitImage, unit lp_deadUnit, text lp_deadUnitName, timer lp_deathTimer) {

    auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_player = lp_player;

    auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_killingPlayer = lp_killingPlayer;

    auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_portraitImage = lp_portraitImage;

    auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_deadUnit = lp_deadUnit;

    auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_deadUnitName = lp_deadUnitName;

    auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_deathTimer = lp_deathTimer;



    if (auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_Trigger == null) {

        auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_Trigger = TriggerCreate("auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_TriggerFunc");

    }



    TriggerExecute(auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_Trigger, false, false);

}



bool auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_TriggerFunc (bool testConds, bool runActions) {

    int lp_player = auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_player;

    int lp_killingPlayer = auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_killingPlayer;

    string lp_portraitImage = auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_portraitImage;

    unit lp_deadUnit = auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_deadUnit;

    text lp_deadUnitName = auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_deadUnitName;

    timer lp_deathTimer = auto_libUIUI_gf_DeathAnnouncementPanelRegisterDeath_lp_deathTimer;



    // Variable Declarations

    int lv_team;

    int lv_frameIndex;



    // Automatic Variable Declarations

    // Variable Initialization



    return true;

}



void libUIUI_gf_DeathAnnouncementPanelTransitionFrameOut (int lp_team) {

    // Variable Declarations

    int lv_itUpdateOrder;

    int lv_topmostFrame;

    int lv_topmostFramePlayer;

    string lv_topmostFramePortrait;

    timer lv_topmostFrameDeathTimer;

    unit lv_topmostFrameUnit;

    text lv_topmostFrameUnitName;

    int lv_frameIndex;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_topmostFrameDeathTimer = TimerCreate();



}



int libUIUI_gf_DeathTimerPanelGetFreeFrameIndexForTeam (int lp_team) {

    int init_i;



    // Variable Declarations

    int lv_itFrameIndex;

    bool[libCore_gv_bALMaxPlayersOnATeam + 1] lv_frameIndexAvailable;



    // Automatic Variable Declarations

    // Variable Initialization

    for (init_i = 0; init_i <= libCore_gv_bALMaxPlayersOnATeam; init_i += 1) {

        lv_frameIndexAvailable[init_i] = true;

    }



    // Implementation

    return 0;

}



int libUIUI_gf_DeathTimerPanelGetFreeGroupForTeam (int lp_team) {

    // Variable Declarations

    int lv_itGroup;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    return 0;

}



int libUIUI_gf_DeathTimerPanelFindAppropriateGroupForFrame (int lp_team, int lp_frameIndex, fixed lp_deathTimeRemaining) {

    // Variable Declarations

    int lv_itGroup;

    int lv_framePlayer;

    fixed lv_groupDeathTimeRemaining;

    fixed lv_groupTimeDifferential;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    return 0;

}



int libUIUI_gf_DeathTimerPanelGetGroupOfFrame (int lp_team, int lp_frameIndex) {

    // Variable Declarations

    int lv_itGroup;

    int lv_itLayer;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    return 0;

}



int libUIUI_gf_DeathTimerPanelGetLayerOfFrameInGroup (int lp_team, int lp_group, int lp_frameIndex) {

    // Variable Declarations

    int lv_itLayer;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    return 0;

}



void libUIUI_gf_DeathTimerPanelShowDeathTimeLabelForGroup (int lp_team, int lp_group) {

    // Automatic Variable Declarations

}



void libUIUI_gf_DeathTimerPanelSetRenderPrioritiesForGroups (int lp_team) {

    // Automatic Variable Declarations

}



void libUIUI_gf_DeathTimerPanelAddFrameToGroup (int lp_team, int lp_group, int lp_frameIndex) {

    // Automatic Variable Declarations

}



void libUIUI_gf_DeathTimerPanelRemoveFrameFromGroup (int lp_team, int lp_group, int lp_frameIndex) {

    // Automatic Variable Declarations

}



void libUIUI_gf_DeathTimerPanelRegisterDeath (int lp_player, string lp_portraitImage, unit lp_deadUnit, text lp_deadUnitName, timer lp_deathTimer) {

    // Automatic Variable Declarations

}



void libUIUI_gf_DeathTimerPanelUnregisterDeath (int lp_team, int lp_frameIndex) {

    // Automatic Variable Declarations

}



void libUIUI_gf_DeathTimerPanelUnregisterTimer (int lp_team, timer lp_timer) {

    // Automatic Variable Declarations

}



void libUIUI_gf_DeathTimerPanelPlayerDeathTimerChanges (int lp_player, unit lp_unit) {

    // Automatic Variable Declarations

}



void libUIUI_gf_DeathTimerPanelSlideGroupOutForPlayer (int lp_team, int lp_group, int lp_player) {

    // Automatic Variable Declarations

}



void libUIUI_gf_DeathTimerPanelCollapseGroupForPlayer (int lp_team, int lp_group, int lp_player) {

    // Automatic Variable Declarations

}



void libUIUI_gf_DeathTimerPanelUpdatePortraitsForTeam (int lp_team) {

    // Automatic Variable Declarations

}



void libUIUI_gf_DeathTimerPanelUpdateTeamDeathTimeIndicatorForTeam (int lp_team) {

    // Automatic Variable Declarations

}



void libUIUI_gf_DeathTimerPanelPauseTimerAnimations () {

    // Automatic Variable Declarations

}



void libUIUI_gf_UIDebugPanelShowHideDebugPanelForPlayer (bool lp_showHide, int lp_player) {

    // Variable Declarations

    int lv_p;

    bool lv_playerIsUsingDebugPanel;



    // Automatic Variable Declarations

    playergroup auto1FE062EF_g;



    // Variable Initialization



    // Implementation

    if ((libCore_gv_dEBUGDebuggingEnabled == false)) {

        return ;

    }



    if ((lp_showHide == true)) {

        DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_mainDialog, libCore_gv_playerGroupFromPlayer[lp_player], true);

        TriggerEnable(libUIUI_gt_UIDebugPanelUpdate, true);

    }

    else {

        DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_mainDialog, libCore_gv_playerGroupFromPlayer[lp_player], false);

        auto1FE062EF_g = libCore_gv_activeHumanPlayers;

        lv_p = -1;

        while (true) {

            	lv_p = PlayerGroupNextPlayer(auto1FE062EF_g, lv_p);

            	if (lv_p<0) { break; }

            	if ((DialogControlIsVisible(libUIUI_gv_uIDebugPanel.lv_mainDialog, lv_p) == true)) {

                lv_playerIsUsingDebugPanel = true;

                break;

            }



        }

        if ((lv_playerIsUsingDebugPanel == false)) {

            TriggerEnable(libUIUI_gt_UIDebugPanelUpdate, false);

        }



    }

}



void libUIUI_gf_UIDebugPanelSetUpMinionCompDropdown () {

    // Variable Declarations

    int lv_itMinionComp;



    // Automatic Variable Declarations

    const int auto85DDCEC0_ae = libCore_gv_dataMinionWaveCompositionMaxCount;

    const int auto85DDCEC0_ai = 1;



    // Variable Initialization



    // Implementation

    lv_itMinionComp = 1;

    for ( ; ( (auto85DDCEC0_ai >= 0 && lv_itMinionComp <= auto85DDCEC0_ae) || (auto85DDCEC0_ai < 0 && lv_itMinionComp >= auto85DDCEC0_ae) ) ; lv_itMinionComp += auto85DDCEC0_ai ) {

        DialogControlAddItem(libUIUI_gv_uIDebugPanel.lv_forceMinionWaveCompDropdown, PlayerGroupAll(), libCore_gv_dataMinionWaveCompositions[lv_itMinionComp].lv_name);

    }

    DialogControlSelectItem(libUIUI_gv_uIDebugPanel.lv_forceMinionWaveCompDropdown, PlayerGroupAll(), 1);

}



trigger auto_libUIUI_gf_UIDebugPanelApplyOptionsfromBank_Trigger = null;



void libUIUI_gf_UIDebugPanelApplyOptionsfromBank () {

    if (auto_libUIUI_gf_UIDebugPanelApplyOptionsfromBank_Trigger == null) {

        auto_libUIUI_gf_UIDebugPanelApplyOptionsfromBank_Trigger = TriggerCreate("auto_libUIUI_gf_UIDebugPanelApplyOptionsfromBank_TriggerFunc");

    }



    TriggerExecute(auto_libUIUI_gf_UIDebugPanelApplyOptionsfromBank_Trigger, false, false);

}



bool auto_libUIUI_gf_UIDebugPanelApplyOptionsfromBank_TriggerFunc (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_heroIndex;

    int lv_skinIndex;

    int lv_mountIndex;

    int lv_variationIndex;

    fixed lv_xPValue;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    if ((BankSectionExists(libGame_gv_players[1].lv_bankData.lv_bank, "Debug Menu Options") == true)) {

        if ((libCore_gf_LoadBankValueIfExistsAsBoolean(libUIUI_gv_uIDebugPanelShowAllCombatText, libGame_gv_players[1].lv_bankData.lv_bank, "ShowAllTextBoolean", "Debug Menu Options") == true)) {

            libNtve_gf_SetDialogItemChecked(libUIUI_gv_uIDebugPanel.lv_enableAllFloatingCombatTextCheckbox, true, PlayerGroupAll());

        }



        if ((libCore_gf_LoadBankValueIfExistsAsBoolean(libUIUI_gv_uIDebugPanelDisableTrickleXPToggle, libGame_gv_players[1].lv_bankData.lv_bank, "DisableTrickleXPBoolean", "Debug Menu Options") == true)) {

            libNtve_gf_SetDialogItemChecked(libUIUI_gv_uIDebugPanel.lv_disableTrickleXPCheckbox, true, PlayerGroupAll());

        }



        if ((libCore_gf_LoadBankValueIfExistsAsBoolean(libUIUI_gv_uIDebugPanelSpawnAtCamera, libGame_gv_players[1].lv_bankData.lv_bank, "SpawnAtCamera", "Debug Menu Options") == true)) {

            libNtve_gf_SetDialogItemChecked(libUIUI_gv_uIDebugPanel.lv_spawnAtCameraCheckbox, true, PlayerGroupAll());

        }



        if ((libCore_gf_LoadBankValueIfExistsAsBoolean(libUIUI_gv_uIDebugPanelDisableMinionSpawningToggle, libGame_gv_players[1].lv_bankData.lv_bank, "MinionSpawnsBoolean", "Debug Menu Options") == true)) {

            libNtve_gf_SetDialogItemChecked(libUIUI_gv_uIDebugPanel.lv_disableMinionSpawningCheckbox, true, PlayerGroupAll());

        }



        if ((libCore_gf_LoadBankValueIfExistsAsBoolean(libUIUI_gv_uIDebugPanelSavedHero, libGame_gv_players[1].lv_bankData.lv_bank, "SavedHero", "Debug Menu Options") == true)) {

            libNtve_gf_SetDialogItemChecked(libUIUI_gv_uIDebugPanel.lv_savedHeroCheckbox, true, PlayerGroupAll());

        }



        lv_heroIndex = libCore_gf_LoadBankValueIfExistsAsInteger(lv_heroIndex, libGame_gv_players[1].lv_bankData.lv_bank, "HeroIndex", "Debug Menu Options");

        if ((lv_heroIndex != 0)) {

            DialogControlSelectItem(libUIUI_gv_uIDebugPanel.lv_heroDropdown, PlayerGroupSingle(1), lv_heroIndex);

            TriggerWaitForTrigger(libUIUI_gt_UIDebugPanelHeroDropdownSelectionChange, true);

        }



        lv_skinIndex = libCore_gf_LoadBankValueIfExistsAsInteger(lv_skinIndex, libGame_gv_players[1].lv_bankData.lv_bank, "SkinIndex", "Debug Menu Options");

        if ((lv_skinIndex != 0)) {

            DialogControlSelectItem(libUIUI_gv_uIDebugPanel.lv_skinDropdown, PlayerGroupSingle(1), lv_skinIndex);

            TriggerWaitForTrigger(libUIUI_gt_UIDebugPanelSkinDropdownSelectionChange, true);

        }



        lv_mountIndex = libCore_gf_LoadBankValueIfExistsAsInteger(lv_mountIndex, libGame_gv_players[1].lv_bankData.lv_bank, "MountIndex", "Debug Menu Options");

        if ((lv_mountIndex != 0)) {

            DialogControlSelectItem(libUIUI_gv_uIDebugPanel.lv_mountTypeDropdown, PlayerGroupSingle(1), lv_mountIndex);

            TriggerWaitForTrigger(libUIUI_gt_UIDebugPanelMountTypeDropdownSelectionChange, true);

        }



        lv_variationIndex = libCore_gf_LoadBankValueIfExistsAsInteger(lv_variationIndex, libGame_gv_players[1].lv_bankData.lv_bank, "MountVariation", "Debug Menu Options");

        if ((lv_mountIndex != 0)) {

            DialogControlSelectItem(libUIUI_gv_uIDebugPanel.lv_mountVariationDropdown, PlayerGroupSingle(1), lv_variationIndex);

        }



    }



    return true;

}



void libUIUI_gf_UIDebugPanelSaveOptions (int lp_localPlayer) {

    // Variable Declarations

    bank lv_localBank;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_localBank = libGame_gv_players[lp_localPlayer].lv_bankData.lv_bank;

    BankLoad("PlayerSettings", lp_localPlayer);

    BankValueSetFromFlag(lv_localBank, "Debug Menu Options", "DisableTrickleXPBoolean", libUIUI_gv_uIDebugPanelDisableTrickleXPToggle);

    BankValueSetFromFlag(lv_localBank, "Debug Menu Options", "MinionSpawnsBoolean", libUIUI_gv_uIDebugPanelDisableMinionSpawningToggle);

    BankValueSetFromFlag(lv_localBank, "Debug Menu Options", "CombatTextBoolean", libUIUI_gv_uIDebugPanelFloatingCombatTextToggle);

    BankValueSetFromFlag(lv_localBank, "Debug Menu Options", "ShowAllTextBoolean", libUIUI_gv_uIDebugPanelShowAllCombatText);

    BankValueSetFromFlag(lv_localBank, "Debug Menu Options", "SpawnAtCamera", libUIUI_gv_uIDebugPanelSpawnAtCamera);

    BankValueSetFromFlag(lv_localBank, "Debug Menu Options", "SavedHero", libUIUI_gv_uIDebugPanelSavedHero);

    BankValueSetFromFixed(lv_localBank, "Debug Menu Options", "HeroLevelXP", libCore_gf_GetTotalXPForLevel(FixedToInt(libNtve_gf_DialogItemValue(libUIUI_gv_uIDebugPanel.lv_levelSlider, lp_localPlayer))));

    BankValueSetFromInt(lv_localBank, "Debug Menu Options", "HeroIndex", DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_heroDropdown, 1));

    BankValueSetFromInt(lv_localBank, "Debug Menu Options", "SkinIndex", DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_skinDropdown, 1));

    BankValueSetFromInt(lv_localBank, "Debug Menu Options", "MountIndex", DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_mountTypeDropdown, 1));

    BankValueSetFromInt(lv_localBank, "Debug Menu Options", "MountVariation", DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_mountVariationDropdown, 1));

    BankValueSetFromInt(lv_localBank, "Debug Menu Options", "TrueHeroIndex", DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_heroDropdown, 1));

    BankValueSetFromInt(lv_localBank, "Debug Menu Options", "TrueSkinIndex", libCore_gf_DataSkinsGetSkinIndexFromSkinLink((DataTableGetString(true, ("HeroIndex_" + IntToString(DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_heroDropdown, 1)) + "_SkinIndex_" + IntToString(DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_skinDropdown, 1)))))));

    BankSave(lv_localBank);

}



void libUIUI_gf_UIDebugPanelPopulateHeroDropdownForPlayer (int lp_player, bool lp_allHeroes) {

    // Variable Declarations

    int lv_itHeroIndex;

    int lv_itSortA;

    int lv_itSortB;

    int lv_itDropdownIndex;

    int lv_maxDropdownIndex;

    int lv_heroIndex;



    // Automatic Variable Declarations

    int auto5870041B_ae;

    const int auto5870041B_ai = 1;



    // Variable Initialization



    // Implementation

    DialogControlRemoveAllItems(libUIUI_gv_uIDebugPanel.lv_heroDropdown, libCore_gv_playerGroupFromPlayer[lp_player]);

    DialogControlRemoveAllItems(libUIUI_gv_uIDebugPanel.lv_voiceLineRadioHeroDropdown, libCore_gv_playerGroupFromPlayer[lp_player]);

    auto5870041B_ae = libCore_gv_dataHeroesNumberOfHeroes;

    lv_itHeroIndex = 1;

    for ( ; ( (auto5870041B_ai >= 0 && lv_itHeroIndex <= auto5870041B_ae) || (auto5870041B_ai < 0 && lv_itHeroIndex >= auto5870041B_ae) ) ; lv_itHeroIndex += auto5870041B_ai ) {

        DialogControlAddItem(libUIUI_gv_uIDebugPanel.lv_heroDropdown, libCore_gv_playerGroupFromPlayer[lp_player], StringExternal(("Hero/Name/" + DataTableGetString(true, ("HeroIndex_" + IntToString(lv_itHeroIndex))))));

        DialogControlAddItem(libUIUI_gv_uIDebugPanel.lv_voiceLineRadioHeroDropdown, libCore_gv_playerGroupFromPlayer[lp_player], StringExternal(("Hero/Name/" + DataTableGetString(true, ("HeroIndex_" + IntToString(lv_itHeroIndex))))));

    }

    DialogControlSelectItem(libUIUI_gv_uIDebugPanel.lv_heroDropdown, libCore_gv_playerGroupFromPlayer[lp_player], 1);

    DialogControlSelectItem(libUIUI_gv_uIDebugPanel.lv_voiceLineRadioHeroDropdown, libCore_gv_playerGroupFromPlayer[lp_player], 1);

}



void libUIUI_gf_UIDebugPanelPopulateSkinDropdownForPlayer (int lp_player, int lp_heroIndex) {

    // Variable Declarations

    int lv_itSkin;

    int lv_skinIndex;

    int lv_dropdownIndex;

    string lv_skinID;

    string lv_skinLink;



    // Automatic Variable Declarations

    int autoAB36DC2D_ae;

    const int autoAB36DC2D_ai = 1;



    // Variable Initialization

    lv_skinID = "";



    // Implementation

    DialogControlRemoveAllItems(libUIUI_gv_uIDebugPanel.lv_skinDropdown, libCore_gv_playerGroupFromPlayer[lp_player]);

    autoAB36DC2D_ae = DataTableGetInt(true, ("HeroIndex_" + IntToString(lp_heroIndex) + "_SkinCount"));

    lv_itSkin = 1;

    for ( ; ( (autoAB36DC2D_ai >= 0 && lv_itSkin <= autoAB36DC2D_ae) || (autoAB36DC2D_ai < 0 && lv_itSkin >= autoAB36DC2D_ae) ) ; lv_itSkin += autoAB36DC2D_ai ) {

        lv_skinID = DataTableGetString(true, ("HeroIndex_" + IntToString(lp_heroIndex) + "_SkinIndex_" + IntToString(lv_itSkin)));

        lv_skinLink = (lv_skinID);

        if ((lv_skinLink != null)) {

            DialogControlAddItem(libUIUI_gv_uIDebugPanel.lv_skinDropdown, libCore_gv_playerGroupFromPlayer[lp_player], StringExternal(("Skin/Name/" + lv_skinID)));

        }



    }

    DialogControlSelectItem(libUIUI_gv_uIDebugPanel.lv_skinDropdown, libCore_gv_playerGroupFromPlayer[lp_player], 1);

}



void libUIUI_gf_UIDebugPanelPopulateMountTypeDropdownForPlayer (int lp_player, int lp_heroIndex) {

    // Variable Declarations

    int lv_skinIndex;

    int lv_itMountCategory;

    string lv_mountCategoryStr;

    string lv_heroIndexStr;

    int lv_mountCategoryCount;



    // Automatic Variable Declarations

    int auto8FC14C0D_ae;

    const int auto8FC14C0D_ai = 1;



    // Variable Initialization

    lv_mountCategoryStr = "";

    lv_heroIndexStr = "";



    // Implementation

    DialogControlRemoveAllItems(libUIUI_gv_uIDebugPanel.lv_mountTypeDropdown, libCore_gv_playerGroupFromPlayer[lp_player]);

    lv_heroIndexStr = IntToString(lp_heroIndex);

    lv_skinIndex = libCore_gf_DataSkinsGetSkinIndexFromSkinLink((DataTableGetString(true, ("HeroIndex_" + lv_heroIndexStr + "_SkinIndex_" + IntToString(DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_skinDropdown, lp_player))))));

    lv_mountCategoryCount = DataTableGetInt(true, ("HeroIndex_" + lv_heroIndexStr + "_MountCategoryCount"));

    auto8FC14C0D_ae = lv_mountCategoryCount;

    lv_itMountCategory = 1;

    for ( ; ( (auto8FC14C0D_ai >= 0 && lv_itMountCategory <= auto8FC14C0D_ae) || (auto8FC14C0D_ai < 0 && lv_itMountCategory >= auto8FC14C0D_ae) ) ; lv_itMountCategory += auto8FC14C0D_ai ) {

        lv_mountCategoryStr = DataTableGetString(true, ("HeroIndex_" + lv_heroIndexStr + "_MountCategoryIndex_" + IntToString(lv_itMountCategory)));

        TextExpressionSetToken("Param/Expression/lib_UIUI_FCFB9990", "Category", StringToText(lv_mountCategoryStr));

        DialogControlAddItem(libUIUI_gv_uIDebugPanel.lv_mountTypeDropdown, libCore_gv_playerGroupFromPlayer[lp_player], TextExpressionAssemble("Param/Expression/lib_UIUI_FCFB9990"));

    }

    DialogControlSelectItem(libUIUI_gv_uIDebugPanel.lv_mountTypeDropdown, libCore_gv_playerGroupFromPlayer[lp_player], 1);

}



void libUIUI_gf_UIDebugPanelPopulateMountBaseDropdownForPlayer (int lp_player, int lp_heroIndex, int lp_mountTypeIndex) {

    // Variable Declarations

    int lv_itMount;

    int lv_skinIndex;

    int lv_mountIndex;

    int lv_mountVariationIndex;

    int lv_maxDropdownIndex;

    string lv_mountCategoryStr;

    string lv_mountStr;

    string lv_heroIndexStr;

    int lv_mountCount;



    // Automatic Variable Declarations

    int auto0EB3AB07_ae;

    const int auto0EB3AB07_ai = 1;



    // Variable Initialization

    lv_mountCategoryStr = "";

    lv_mountStr = "";

    lv_heroIndexStr = "";



    // Implementation

    DialogControlRemoveAllItems(libUIUI_gv_uIDebugPanel.lv_mountBaseDropdown, libCore_gv_playerGroupFromPlayer[lp_player]);

    lv_heroIndexStr = IntToString(lp_heroIndex);

    lv_skinIndex = libCore_gf_DataSkinsGetSkinIndexFromSkinLink((DataTableGetString(true, ("HeroIndex_" + lv_heroIndexStr + "_SkinIndex_" + IntToString(DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_skinDropdown, lp_player))))));

    lv_mountCategoryStr = DataTableGetString(true, ("HeroIndex_" + lv_heroIndexStr + "_MountCategoryIndex_" + IntToString(lp_mountTypeIndex)));

    lv_mountCount = DataTableGetInt(true, ("Mounts_MountCategory_" + lv_mountCategoryStr + "_MountCount"));

    auto0EB3AB07_ae = lv_mountCount;

    lv_itMount = 1;

    for ( ; ( (auto0EB3AB07_ai >= 0 && lv_itMount <= auto0EB3AB07_ae) || (auto0EB3AB07_ai < 0 && lv_itMount >= auto0EB3AB07_ae) ) ; lv_itMount += auto0EB3AB07_ai ) {

        lv_mountStr = DataTableGetString(true, ("Mounts_MountCategory_" + lv_mountCategoryStr + "_Index_" + IntToString(lv_itMount) + "_ID"));

        lv_mountIndex = DataTableGetInt(true, ("Mounts_MountCategory_" + lv_mountCategoryStr + "_Index_" + IntToString(lv_itMount) + "_Index"));

        lv_mountVariationIndex = DataTableGetInt(true, ("Mounts_MountCategory_" + lv_mountCategoryStr + "_Index_" + IntToString(lv_itMount) + "_VariationRefIndex"));

        if ((libCore_gf_DataMountMountIsValidForHeroSkin(lp_heroIndex, lv_skinIndex, lv_mountIndex) == true) && (lv_mountVariationIndex == 0)) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_8460D0C1", "MountName", StringExternal(("Mount/Name/" + lv_mountStr)));

            DialogControlAddItem(libUIUI_gv_uIDebugPanel.lv_mountBaseDropdown, libCore_gv_playerGroupFromPlayer[lp_player], TextExpressionAssemble("Param/Expression/lib_UIUI_8460D0C1"));

            lv_maxDropdownIndex += 1;

            DataTableSetInt(true, ("DEBUG_MountList_Player_" + IntToString(lp_player) + "_ListIndex_" + IntToString(lv_maxDropdownIndex) + "_Index"), lv_mountIndex);

        }



    }

    DialogControlSelectItem(libUIUI_gv_uIDebugPanel.lv_mountBaseDropdown, libCore_gv_playerGroupFromPlayer[lp_player], 1);

}



void libUIUI_gf_UIDebugPanelPopulateMountVariationDropdownForPlayer (int lp_player, int lp_mountIndex) {

    // Variable Declarations

    int lv_itMount;

    int lv_dropdownIndex;

    int lv_variationIndex;

    string lv_variationID;

    string lv_mountLink;



    // Automatic Variable Declarations

    int auto3114FEC1_ae;

    const int auto3114FEC1_ai = 1;



    // Variable Initialization

    lv_variationID = "";



    // Implementation

    DialogControlRemoveAllItems(libUIUI_gv_uIDebugPanel.lv_mountVariationDropdown, libCore_gv_playerGroupFromPlayer[lp_player]);

    if ((DialogControlGetItemCount(libUIUI_gv_uIDebugPanel.lv_mountBaseDropdown, lp_player) <= 0)) {

        return ;

    }



    lv_mountLink = libCore_gf_DataSkinsGetMountLinkFromMountIndex(lp_mountIndex);

    DialogControlAddItem(libUIUI_gv_uIDebugPanel.lv_mountVariationDropdown, libCore_gv_playerGroupFromPlayer[lp_player], StringExternal(("Mount/Name/" + (lv_mountLink))));

    lv_dropdownIndex += 1;

    DataTableSetInt(true, ("DEBUG_MountVariationList_Player_" + IntToString(lp_player) + "_ListIndex_" + IntToString(lv_dropdownIndex) + "_Index"), lp_mountIndex);

    auto3114FEC1_ae = (CatalogFieldValueCount(c_gameCatalogMount, lv_mountLink, "VariationArray", c_playerAny) - 1);

    lv_itMount = 0;

    for ( ; ( (auto3114FEC1_ai >= 0 && lv_itMount <= auto3114FEC1_ae) || (auto3114FEC1_ai < 0 && lv_itMount >= auto3114FEC1_ae) ) ; lv_itMount += auto3114FEC1_ai ) {

        lv_variationID = CatalogFieldValueGet(c_gameCatalogMount, lv_mountLink, "VariationArray[" + IntToString(lv_itMount) + "]", c_playerAny);

        lv_variationIndex = libCore_gf_DataMountGetMountIndexFromMountLink((lv_variationID));

        DialogControlAddItem(libUIUI_gv_uIDebugPanel.lv_mountVariationDropdown, libCore_gv_playerGroupFromPlayer[lp_player], StringExternal(("Mount/Name/" + lv_variationID)));

        lv_dropdownIndex += 1;

        DataTableSetInt(true, ("DEBUG_MountVariationList_Player_" + IntToString(lp_player) + "_ListIndex_" + IntToString(lv_dropdownIndex) + "_Index"), lv_variationIndex);

    }

    DialogControlSelectItem(libUIUI_gv_uIDebugPanel.lv_mountVariationDropdown, libCore_gv_playerGroupFromPlayer[lp_player], 1);

}



void libUIUI_gf_UIDebugPanelPopulateSprayDropdownForPlayer (int lp_player) {

    // Variable Declarations

    int lv_itSpray;

    string lv_sprayID;

    int lv_dropdown;

    text lv_itemText;

    string lv_icon;



    // Automatic Variable Declarations

    int auto551F6E44_ae;

    const int auto551F6E44_ai = 1;



    // Variable Initialization

    lv_dropdown = libUIUI_gv_uIDebugPanel.lv_sprayDropdown;

    lv_icon = "";



    // Implementation

    DialogControlRemoveAllItems(lv_dropdown, libCore_gv_playerGroupFromPlayer[lp_player]);

    auto551F6E44_ae = libCore_gv_loot_SprayCount;

    lv_itSpray = 1;

    for ( ; ( (auto551F6E44_ai >= 0 && lv_itSpray <= auto551F6E44_ae) || (auto551F6E44_ai < 0 && lv_itSpray >= auto551F6E44_ae) ) ; lv_itSpray += auto551F6E44_ai ) {

        DialogControlAddItem(lv_dropdown, libCore_gv_playerGroupFromPlayer[lp_player], StringExternal(("Spray/Name/" + (libCore_gf_GetSprayFromIndex(lv_itSpray)))));

    }

    DialogControlSelectItem(lv_dropdown, libCore_gv_playerGroupFromPlayer[lp_player], 1);

}



void libUIUI_gf_UIDebugPanelPopulateBannerDropdownForPlayer (int lp_player) {

    // Variable Declarations

    int lv_itBanner;

    string lv_bannerID;

    int lv_dropdown;

    text lv_itemText;

    string lv_icon;



    // Automatic Variable Declarations

    int autoFA2DEA7E_ae;

    const int autoFA2DEA7E_ai = 1;



    // Variable Initialization

    lv_dropdown = libUIUI_gv_uIDebugPanel.lv_bannerDropdown;

    lv_icon = "";



    // Implementation

    DialogControlRemoveAllItems(lv_dropdown, libCore_gv_playerGroupFromPlayer[lp_player]);

    autoFA2DEA7E_ae = libCore_gv_loot_BannerCount;

    lv_itBanner = 1;

    for ( ; ( (autoFA2DEA7E_ai >= 0 && lv_itBanner <= autoFA2DEA7E_ae) || (autoFA2DEA7E_ai < 0 && lv_itBanner >= autoFA2DEA7E_ae) ) ; lv_itBanner += autoFA2DEA7E_ai ) {

        DialogControlAddItem(lv_dropdown, libCore_gv_playerGroupFromPlayer[lp_player], StringExternal(("Banner/Name/" + (libCore_gf_GetBannerFromIndex(lv_itBanner)))));

    }

    DialogControlSelectItem(lv_dropdown, libCore_gv_playerGroupFromPlayer[lp_player], 1);

}



void libUIUI_gf_UIDebugPanelPopulateVoiceLineForPlayer (int lp_player, int lp_heroIndex) {

    // Variable Declarations

    int lv_itVL;

    string lv_vLID;

    int lv_dropdown;

    text lv_itemText;

    int lv_count;



    // Automatic Variable Declarations

    int autoA94D8808_ae;

    const int autoA94D8808_ai = 1;



    // Variable Initialization

    lv_dropdown = libUIUI_gv_uIDebugPanel.lv_voiceLineDropdown;

    lv_count = libCore_gf_VoiceLineCountFromHeroIndex(lp_heroIndex);



    // Implementation

    DialogControlRemoveAllItems(lv_dropdown, libCore_gv_playerGroupFromPlayer[lp_player]);

    DialogControlClearSelectedItem(lv_dropdown, libCore_gv_playerGroupFromPlayer[lp_player]);

    if ((lv_count == 0)) {

        DialogControlSetEnabled(lv_dropdown, libCore_gv_playerGroupFromPlayer[lp_player], false);

    }

    else {

        DialogControlSetEnabled(lv_dropdown, libCore_gv_playerGroupFromPlayer[lp_player], true);

    }

    autoA94D8808_ae = lv_count;

    lv_itVL = 1;

    for ( ; ( (autoA94D8808_ai >= 0 && lv_itVL <= autoA94D8808_ae) || (autoA94D8808_ai < 0 && lv_itVL >= autoA94D8808_ae) ) ; lv_itVL += autoA94D8808_ai ) {

        lv_vLID = libCore_gf_GetVoiceLineFromHeroIndex(lv_itVL, lp_heroIndex);

        lv_itemText = StringExternal(("VoiceLine/Name/" + (lv_vLID)));

        DialogControlAddItem(lv_dropdown, libCore_gv_playerGroupFromPlayer[lp_player], lv_itemText);

    }

    DialogControlSelectItem(lv_dropdown, libCore_gv_playerGroupFromPlayer[lp_player], 1);

}



void libUIUI_gf_UIDebugPanelPopulateAnnouncerPackDropdownForPlayer (int lp_player) {

    // Variable Declarations

    int lv_itAnnouncerPack;

    string lv_announcerPackID;

    int lv_dropdown;

    text lv_itemText;



    // Automatic Variable Declarations

    int auto4F5B37D8_ae;

    const int auto4F5B37D8_ai = 1;



    // Variable Initialization

    lv_announcerPackID = "";

    lv_dropdown = libUIUI_gv_uIDebugPanel.lv_announcerRadioDropdown;



    // Implementation

    DialogControlRemoveAllItems(libUIUI_gv_uIDebugPanel.lv_announcerPackDropdown, libCore_gv_playerGroupFromPlayer[lp_player]);

    DialogControlRemoveAllItems(libUIUI_gv_uIDebugPanel.lv_announcerRadioDropdown, libCore_gv_playerGroupFromPlayer[lp_player]);

    auto4F5B37D8_ae = libCore_gv_loot_AnnouncerPackCount;

    lv_itAnnouncerPack = 1;

    for ( ; ( (auto4F5B37D8_ai >= 0 && lv_itAnnouncerPack <= auto4F5B37D8_ae) || (auto4F5B37D8_ai < 0 && lv_itAnnouncerPack >= auto4F5B37D8_ae) ) ; lv_itAnnouncerPack += auto4F5B37D8_ai ) {

        lv_announcerPackID = (libCore_gf_GetAnnouncerPackFromIndex(lv_itAnnouncerPack));

        lv_itemText = StringExternal(("AnnouncerPack/Name/" + lv_announcerPackID));

        DialogControlAddItem(libUIUI_gv_uIDebugPanel.lv_announcerPackDropdown, libCore_gv_playerGroupFromPlayer[lp_player], lv_itemText);

        DialogControlAddItem(libUIUI_gv_uIDebugPanel.lv_announcerRadioDropdown, libCore_gv_playerGroupFromPlayer[lp_player], lv_itemText);

    }

    DialogControlSelectItem(libUIUI_gv_uIDebugPanel.lv_announcerPackDropdown, libCore_gv_playerGroupFromPlayer[lp_player], 1);

    DialogControlSelectItem(libUIUI_gv_uIDebugPanel.lv_announcerRadioDropdown, libCore_gv_playerGroupFromPlayer[lp_player], 2);

}



void libUIUI_gf_UIDebugPanelPopulateAnnouncerPackVOListForPlayer (int lp_player, int lp_announcerPackIndex) {

    // Variable Declarations

    string lv_announcerPackID;

    string lv_vOID;

    int lv_list;

    int lv_index;

    int lv_maxCount;

    string lv_soundID;

    string lv_suffix;

    string lv_entry;

    int lv_listIndex;



    // Automatic Variable Declarations

    int auto4BC421F3_ae;

    const int auto4BC421F3_ai = 1;



    // Variable Initialization

    lv_announcerPackID = "";

    lv_vOID = "";

    lv_list = libUIUI_gv_uIDebugPanel.lv_soundVOList;

    lv_index = 1;

    lv_maxCount = UserDataFieldValueCount("AnnouncerPackVOReplacementList", "SoundIDSuffixes");

    lv_soundID = "";

    lv_suffix = "";

    lv_entry = "";



    // Implementation

    DialogControlRemoveAllItems(lv_list, libCore_gv_playerGroupFromPlayer[lp_player]);

    DialogControlClearSelectedItem(lv_list, libCore_gv_playerGroupFromPlayer[lp_player]);

    lv_announcerPackID = (libCore_gf_GetAnnouncerPackFromIndex(lp_announcerPackIndex));

    lv_vOID = CatalogFieldValueGet(c_gameCatalogAnnouncerPack, lv_announcerPackID, "VoiceOver", c_playerAny);

    auto4BC421F3_ae = lv_maxCount;

    lv_index = 1;

    for ( ; ( (auto4BC421F3_ai >= 0 && lv_index <= auto4BC421F3_ae) || (auto4BC421F3_ai < 0 && lv_index >= auto4BC421F3_ae) ) ; lv_index += auto4BC421F3_ai ) {

        lv_suffix = UserDataGetString("AnnouncerPackVOReplacementList", "Default", "SoundIDSuffixes", lv_index);

        if ((lv_suffix == "")) {

            break;

        }



        lv_entry = (lv_vOID + lv_suffix);

        if ((CatalogEntryIsValid(c_gameCatalogSound, lv_entry) == true) && (CatalogEntryIsDefault(c_gameCatalogSound, lv_entry) == false)) {

            DialogControlAddItem(lv_list, libCore_gv_playerGroupFromPlayer[lp_player], StringToText(lv_entry));

            lv_listIndex += 1;

            DataTableSetString(true, ("DEBUG_AnnouncerVOSoundLink_Player_" + IntToString(lp_player) + "_ListIndex_" + IntToString(lv_listIndex) + "_SoundID"), lv_entry);

        }



    }

    DialogControlSelectItem(lv_list, libCore_gv_playerGroupFromPlayer[lp_player], 1);

}



void libUIUI_gf_UIDebugPanelPopulateVoiceLineRadioVOListForPlayer (int lp_player, int lp_heroIndex) {

    // Variable Declarations

    int lv_itVL;

    string lv_vLID;

    int lv_list;

    text lv_itemText;

    int lv_count;

    string lv_soundID;

    int lv_listIndex;



    // Automatic Variable Declarations

    int autoB24C70D5_ae;

    const int autoB24C70D5_ai = 1;



    // Variable Initialization

    lv_list = libUIUI_gv_uIDebugPanel.lv_soundVOList;

    lv_count = libCore_gf_VoiceLineCountFromHeroIndex(lp_heroIndex);

    lv_soundID = "";



    // Implementation

    DialogControlRemoveAllItems(lv_list, libCore_gv_playerGroupFromPlayer[lp_player]);

    DialogControlClearSelectedItem(lv_list, libCore_gv_playerGroupFromPlayer[lp_player]);

    autoB24C70D5_ae = lv_count;

    lv_itVL = 1;

    for ( ; ( (autoB24C70D5_ai >= 0 && lv_itVL <= autoB24C70D5_ae) || (autoB24C70D5_ai < 0 && lv_itVL >= autoB24C70D5_ae) ) ; lv_itVL += autoB24C70D5_ai ) {

        lv_vLID = libCore_gf_GetVoiceLineFromHeroIndex(lv_itVL, lp_heroIndex);

        lv_soundID = CatalogFieldValueGet(c_gameCatalogVoiceLine, lv_vLID, "Sound", c_playerAny);

        lv_itemText = StringExternal(("VoiceLine/Name/" + (lv_vLID)));

        if ((CatalogEntryIsValid(c_gameCatalogSound, lv_soundID) == true) && (CatalogEntryIsDefault(c_gameCatalogSound, lv_soundID) == false)) {

            DialogControlAddItem(lv_list, libCore_gv_playerGroupFromPlayer[lp_player], lv_itemText);

            lv_listIndex += 1;

            DataTableSetString(true, ("DEBUG_AnnouncerVOSoundLink_Player_" + IntToString(lp_player) + "_ListIndex_" + IntToString(lv_listIndex) + "_SoundID"), lv_soundID);

        }



    }

    DialogControlSelectItem(lv_list, libCore_gv_playerGroupFromPlayer[lp_player], 1);

}



void libUIUI_gf_UIDebugPanelCleanUpHeroForPlayer (int lp_player) {

    // Variable Declarations

    unit lv_itUnit;

    bool lv_wasAI;



    // Automatic Variable Declarations

    unitgroup autoEA75A6DB_g;

    int autoEA75A6DB_u;

    unitgroup auto14A27C5E_g;

    int auto14A27C5E_u;



    // Variable Initialization



    // Implementation

    if ((libAIAI_gf_HeroAIIsAIEnabledForPlayer(lp_player) == true)) {

        libAIAI_gf_HeroAIDisableAIForPlayer(lp_player);

        lv_wasAI = true;

    }



    libGame_gv_players[lp_player].lv_heroRequiresCustomRespawn = false;

    libGame_gf_TalentsRespecHeroForPlayer(lp_player);

    libGame_gf_RemoveLevelUpHeroStatsForPlayer(UnitGetType(libGame_gv_players[lp_player].lv_heroUnit), lp_player);

    libUIUI_gf_UIUnitStatusFramesResetUnitStatusFramesForPlayer(lp_player);

    libUIUI_gf_FullscreenOverlaysShowHideDeathOverlay(false, lp_player);

    if ((TimerGetRemaining(libGame_gv_players[lp_player].lv_respawnTimer) > 0.0)) {

        TimerPause(libGame_gv_players[lp_player].lv_respawnTimer, true);

        TimerPause(libGame_gv_players[lp_player].lv_respawnSoundCueTimer, true);

    }



    UnitClearSelection(lp_player);

    PathDestroy(libGame_gv_players[lp_player].lv_pathDisplay);

    UnitSetCustomValue(libGame_gv_players[lp_player].lv_heroUnit, libCore_gf_CustomValueIndex(libCore_ge_CustomValueIndexes_HeroIsSwappingIndex), 1.0);

    UnitGroupRemove(libGame_gv_heroes, libGame_gv_players[lp_player].lv_heroUnit);

    UnitRemove(libGame_gv_players[lp_player].lv_heroUnit);

    autoEA75A6DB_g = libGame_gv_players[lp_player].lv_heroUnitGroup;

    autoEA75A6DB_u = UnitGroupCount(autoEA75A6DB_g, c_unitCountAll);

    for (;; autoEA75A6DB_u -= 1) {

        lv_itUnit = UnitGroupUnitFromEnd(autoEA75A6DB_g, autoEA75A6DB_u);

        if (lv_itUnit == null) { break; }

        AIRemovePlayerUnit(lv_itUnit);

        UnitRemove(lv_itUnit);

    }

    auto14A27C5E_g = UnitGroup(null, lp_player, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterAlly) | (1 << c_targetFilterNeutral) | (1 << c_targetFilterEnemy) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);

    auto14A27C5E_u = UnitGroupCount(auto14A27C5E_g, c_unitCountAll);

    for (;; auto14A27C5E_u -= 1) {

        lv_itUnit = UnitGroupUnitFromEnd(auto14A27C5E_g, auto14A27C5E_u);

        if (lv_itUnit == null) { break; }

        if ((UnitHasBehavior2(lv_itUnit, "VehicleGenericIsAttachedVehicle") == true)) {

            UnitKill(libMapM_gv_vehicle[libMapM_gf_GetVehicleIndexOfUnit(lv_itUnit)].lv_unit_LinkedVehicle);

        }

        else {

            UnitKill(lv_itUnit);

        }

    }

    libGame_gv_players[lp_player].lv_heroUnit = null;

    PlayerSetHeroUnit(lp_player, null);

    UnitGroupClear(libGame_gv_players[lp_player].lv_heroUnitGroup);

    UISetCommandAllowed(PlayerGroupSingle(lp_player), c_uiCommandAllowQueue, true);

    libCore_gf_DataClearHeroDataAtIndex(lp_player);

    libCore_gf_DataClearSkinDataAtIndex(lp_player);

}



trigger auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_Trigger = null;

int auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_heroIndex;

int auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_skinIndex;

int auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_mountIndex;

fixed auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_xP;

int auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_player;

int auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_debugMenuTriggeringPlayer;



void libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer (int lp_heroIndex, int lp_skinIndex, int lp_mountIndex, fixed lp_xP, int lp_player, int lp_debugMenuTriggeringPlayer) {

    auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_heroIndex = lp_heroIndex;

    auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_skinIndex = lp_skinIndex;

    auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_mountIndex = lp_mountIndex;

    auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_xP = lp_xP;

    auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_player = lp_player;

    auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_debugMenuTriggeringPlayer = lp_debugMenuTriggeringPlayer;



    if (auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_Trigger == null) {

        auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_Trigger = TriggerCreate("auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_TriggerFunc");

    }



    TriggerExecute(auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_Trigger, false, false);

}



bool auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_TriggerFunc (bool testConds, bool runActions) {

    int lp_heroIndex = auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_heroIndex;

    int lp_skinIndex = auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_skinIndex;

    int lp_mountIndex = auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_mountIndex;

    fixed lp_xP = auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_xP;

    int lp_player = auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_player;

    int lp_debugMenuTriggeringPlayer = auto_libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer_lp_debugMenuTriggeringPlayer;



    // Variable Declarations

    unitgroup lv_cameraGroup;

    point lv_cameraCenter;

    int lv_itPlayer;

    unit lv_itUnit;

    bool lv_wasAI;

    int lv_itManualSpawnHero;

    bool lv_isManualSpawn;

    int lv_isManualSpawnIndex;

    int lv_index;

    int lv_itTier;

    unit lv_sconceUnit;



    // Automatic Variable Declarations

    const int autoD550C213_ae = libCore_gv_dataHeroesManualSpawnHeroesCount;

    const int autoD550C213_ai = 1;

    int auto5EA094CA_ae;

    int auto5EA094CA_var;

    const int autoDB72DD1B_ae = libGame_gv_moonwellMaxMoonwellCount;

    int autoDB72DD1B_var;

    const int auto9208DEE2_ae = libCore_gv_dataHeroesManualSpawnHeroesCount;

    const int auto9208DEE2_ai = 1;

    const int auto847DABC5_ae = libCore_gv_talents_MaxTiers_C;

    const int auto847DABC5_ai = 1;



    // Variable Initialization

    lv_cameraGroup = UnitGroupEmpty();



    // Implementation

    libUIUI_gf_TemporarilyDisableSpawnHeroButton();

    if ((lp_debugMenuTriggeringPlayer > 0) && (lp_debugMenuTriggeringPlayer <= libCore_gv_bALMaxPlayers)) {

        lv_cameraCenter = CameraGetTarget(lp_debugMenuTriggeringPlayer);

    }



    libGame_gv_players[lp_player].lv_selectedSkin = lp_skinIndex;

    libGame_gv_players[lp_player].lv_selectedMount = lp_mountIndex;

    libCore_gf_DataMountsClearMountDataAtIndex(lp_player);

    if ((libGame_gv_players[lp_player].lv_disableMount == false)) {

        if ((lp_mountIndex >= 1)) {

            libCore_gf_DataMountsLoadMountDataIntoIndex(libCore_gf_DataSkinsGetMountLinkFromMountIndex(lp_mountIndex), libCore_gf_DataMountGetMountModelScaleAtConfigIndex(libCore_gf_DataMountGetMountConfigIndexFromMountLink(libCore_gf_DataSkinsGetMountLinkFromMountIndex(lp_mountIndex))), libCore_gf_DataMountGetMountWalkAnimSpeedAtConfigIndex(libCore_gf_DataMountGetMountConfigIndexFromMountLink(libCore_gf_DataSkinsGetMountLinkFromMountIndex(lp_mountIndex))), libCore_gf_DataMountGetMountPoseAnimGroupAtConfigIndex(libCore_gf_DataMountGetMountConfigIndexFromMountLink(libCore_gf_DataSkinsGetMountLinkFromMountIndex(lp_mountIndex))), lp_player);

        }

        else {

            libCore_gf_DataMountsLoadMountDataIntoIndex(libCore_gf_DataSkinsGetMountLinkFromMountIndex(1), libCore_gf_DataMountGetMountModelScaleAtConfigIndex(libCore_gf_DataMountGetMountConfigIndexFromMountLink(libCore_gf_DataSkinsGetMountLinkFromMountIndex(1))), libCore_gf_DataMountGetMountWalkAnimSpeedAtConfigIndex(libCore_gf_DataMountGetMountConfigIndexFromMountLink(libCore_gf_DataSkinsGetMountLinkFromMountIndex(1))), libCore_gf_DataMountGetMountPoseAnimGroupAtConfigIndex(libCore_gf_DataMountGetMountConfigIndexFromMountLink(libCore_gf_DataSkinsGetMountLinkFromMountIndex(1))), lp_player);

        }

    }



    libGame_gv_players[lp_player].lv_suppressLevelUpFXAndTeamXPTracking = true;

    if ((libGame_gv_players[lp_player].lv_heroIndex == 0)) {

        if ((libGame_gv_players[lp_player].lv_faction == libGame_ge_Faction_Order)) {

            PlayerGroupAdd(libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroup, lp_player);

            PlayerGroupAdd(libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroupNoNPCPlayers, lp_player);

        }

        else {

            PlayerGroupAdd(libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroup, lp_player);

            PlayerGroupAdd(libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers, lp_player);

        }

        lv_itManualSpawnHero = 1;

        for ( ; ( (autoD550C213_ai >= 0 && lv_itManualSpawnHero <= autoD550C213_ae) || (autoD550C213_ai < 0 && lv_itManualSpawnHero >= autoD550C213_ae) ) ; lv_itManualSpawnHero += autoD550C213_ai ) {

            if ((lp_heroIndex == libCore_gv_dataHeroesManualSpawnHeroIDs[lv_itManualSpawnHero].lv_heroIndex)) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_D5E6D6D9", "A", IntToText(libCore_gf_GetHeroIndexForUnitType(UnitGetType(libGame_gv_players[lp_player].lv_heroUnit))));

                TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_D5E6D6D9"), true);

                lv_isManualSpawn = true;

                lv_isManualSpawnIndex = lv_itManualSpawnHero;

                break;

            }



        }

        libCore_gf_DataClearHeroDataAtIndex(lp_player);

        libCore_gf_DataClearSkinDataAtIndex(lp_player);

        libCore_gf_DataLoadHeroDataIntoIndex(libCore_gf_GetHeroFromIndex(lp_heroIndex), lp_player);

        libCore_gf_DataLoadSkinDataIntoIndex(libCore_gf_DataSkinsGetSkinLinkFromSkinCatalogIndex(lp_skinIndex), lp_player);

        if ((lv_isManualSpawn == true)) {

            libGame_gf_SendEventManualHeroSpawn(lp_player, libCore_gv_dataHeroesManualSpawnHeroIDs[lv_isManualSpawnIndex].lv_heroIndex, lp_xP, libGame_gv_players[lp_player].lv_spawnPoint);

        }

        else {

            lv_index = lp_player;

            libGame_gf_SpawnHero(lp_player, lv_index, libGame_gv_players[lp_player].lv_spawnPoint);

            libUIUI_gv_uIPartyFrameMaxLevelForTeam[libGame_gf_TeamNumberOfPlayer(lp_player)] = 0;

            libGame_gf_GrantXPToPlayer(lp_xP, lp_player, libGame_ge_XPSources_Debug);

        }

        if (((libCore_gv_sYSGameMode == libCore_ge_GameModes_Tutorial1) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_TutorialMapMechanics) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_TutorialVeteran) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_Debug) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_ModeC) || (TimerGetRemaining(libGame_gv_openTheGatesTimer) == 0.0))) {

            UnitBehaviorRemove(libGame_gv_players[lp_player].lv_heroUnit, "HeroGenericPregameAbilitySuppression", 1);

        }



        return true;

    }



    if ((libGame_gv_players[lp_player].lv_isDead == true)) {

        libAIAI_gf_AITeamDelegateModifyHeroStatusTokensforTeam(libAIAI_ge_AITeamDelegateAddRemoveLaneValue_Remove, libGame_gv_players[lp_player].lv_aIHeroDelegateTokenValue, libGame_gf_TeamNumberOfPlayer(lp_player), libAIAI_ge_AITeamDelegateLivingDeadHeroStatusUpdates_HeroDead);

    }

    else {

        libAIAI_gf_AITeamDelegateModifyHeroStatusTokensforTeam(libAIAI_ge_AITeamDelegateAddRemoveLaneValue_Remove, libGame_gv_players[lp_player].lv_aIHeroDelegateTokenValue, libGame_gf_TeamNumberOfPlayer(lp_player), libAIAI_ge_AITeamDelegateLivingDeadHeroStatusUpdates_HeroAlive);

    }

    if ((libAIAI_gf_HeroAIIsAIEnabledForPlayer(lp_player) == true)) {

        lv_wasAI = true;

    }



    libUIUI_gf_UIDebugPanelCleanUpHeroForPlayer(lp_player);

    auto5EA094CA_ae = libMapM_gv_jungleNumberOfCreepCamps;

    auto5EA094CA_var = 1;

    for ( ; auto5EA094CA_var <= auto5EA094CA_ae; auto5EA094CA_var += 1 ) {

        if ((libMapM_gv_jungleCreepCamps[auto5EA094CA_var].lv_capturingPlayer == lp_player)) {

            libMapM_gf_JungleDebugResetCamp(lp_player, auto5EA094CA_var);

        }



    }

    UIFlyerHelperOverride(PlayerGroupSingle(lp_player), libNtve_ge_FlyerHelperDisplay_c_flyerDisplayAll);

    autoDB72DD1B_var = 1;

    for ( ; autoDB72DD1B_var <= autoDB72DD1B_ae; autoDB72DD1B_var += 1 ) {

        if ((libGame_gv_moonwellTextTags[lp_player][autoDB72DD1B_var] != c_textTagNone)) {

            libNtve_gf_SendActorMessageToUnit(libGame_gv_moonwellTextTagsUnit[lp_player][autoDB72DD1B_var], "Signal MoonwellReset");

            TextTagDestroy(libGame_gv_moonwellTextTags[lp_player][autoDB72DD1B_var]);

            libGame_gv_moonwellTextTags[lp_player][autoDB72DD1B_var] = c_textTagNone;

            libGame_gv_moonwellTextTagsUnit[lp_player][autoDB72DD1B_var] = null;

            UnitGroupRemove(libGame_gv_moonwellTextTagsUnitGroup[lp_player], lv_itUnit);

        }



    }

    UIFlyerHelperClearOverride(PlayerGroupAll());

    lv_itManualSpawnHero = 1;

    for ( ; ( (auto9208DEE2_ai >= 0 && lv_itManualSpawnHero <= auto9208DEE2_ae) || (auto9208DEE2_ai < 0 && lv_itManualSpawnHero >= auto9208DEE2_ae) ) ; lv_itManualSpawnHero += auto9208DEE2_ai ) {

        if ((lp_heroIndex == libCore_gv_dataHeroesManualSpawnHeroIDs[lv_itManualSpawnHero].lv_heroIndex)) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_9ACCB7DC", "A", IntToText(lp_heroIndex));

            TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_9ACCB7DC"), true);

            lv_isManualSpawn = true;

            lv_isManualSpawnIndex = lv_itManualSpawnHero;

            break;

        }



    }

    if ((libUIUI_gv_uIDebugPanelClearVoiceLineOnDebugSpawn[lp_player] == true)) {

        libCore_gf_DataLootContentClearVoiceLineDataAtIndex(lp_player);

    }



    libCore_gf_DataLoadHeroDataIntoIndex(libCore_gf_GetHeroFromIndex(lp_heroIndex), lp_player);

    libCore_gf_DataLoadSkinDataIntoIndex(libCore_gf_DataSkinsGetSkinLinkFromSkinCatalogIndex(lp_skinIndex), lp_player);

    lv_itTier = 1;

    for ( ; ( (auto847DABC5_ai >= 0 && lv_itTier <= auto847DABC5_ae) || (auto847DABC5_ai < 0 && lv_itTier >= auto847DABC5_ae) ) ; lv_itTier += auto847DABC5_ai ) {

        libGame_gv_talents_TalentChoices[lp_player][lv_itTier].lv_numberOfTalentsForThisTier = -1;

    }

    if ((lv_isManualSpawn == true)) {

        if (((libUIUI_gv_uIDebugPanelSpawnAtCamera == false) || (lp_debugMenuTriggeringPlayer == 0))) {

            libGame_gf_SendEventManualHeroSpawn(lp_player, libCore_gv_dataHeroesManualSpawnHeroIDs[lv_isManualSpawnIndex].lv_heroIndex, lp_xP, libGame_gv_players[lp_player].lv_spawnPoint);

        }

        else {

            libGame_gv_players[lp_player].lv_CameraCenterPoint = lv_cameraCenter;

            libGame_gf_SendEventManualHeroSpawn(lp_player, libCore_gv_dataHeroesManualSpawnHeroIDs[lv_isManualSpawnIndex].lv_heroIndex, lp_xP, libGame_gv_players[lp_player].lv_CameraCenterPoint);

        }

    }

    else {

        lv_index = lp_player;

        if (((libUIUI_gv_uIDebugPanelSpawnAtCamera == false) || (lp_debugMenuTriggeringPlayer == 0) || (lp_debugMenuTriggeringPlayer > libCore_gv_bALMaxPlayers))) {

            libGame_gf_SpawnHero(lp_player, lv_index, libGame_gv_players[lp_player].lv_spawnPoint);

        }

        else {

            libGame_gv_players[lp_player].lv_CameraCenterPoint = lv_cameraCenter;

            libGame_gf_SpawnHero(lp_player, lv_index, libGame_gv_players[lp_player].lv_CameraCenterPoint);

        }

        libUIUI_gv_uIPartyFrameMaxLevelForTeam[libGame_gf_TeamNumberOfPlayer(lp_player)] = 0;

        libGame_gf_GrantXPToPlayer(lp_xP, lp_player, libGame_ge_XPSources_Debug);

    }

    libGame_gf_ReloadTrackedHeroesForTeam(libGame_gf_TeamNumberOfPlayer(lp_player));

    libGame_gf_SendEventDebugHeroSwapped(lp_player);

    Wait(0.125, c_timeGame);

    libGame_gv_players[lp_player].lv_suppressLevelUpFXAndTeamXPTracking = false;

    if ((lv_wasAI == true)) {

        libAIAI_gf_HeroAIEnableAIForPlayer(lp_player);

    }



    if (((libCore_gv_sYSGameMode == libCore_ge_GameModes_Tutorial1) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_TutorialMapMechanics) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_TutorialVeteran) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_ModeC) || (TimerGetRemaining(libGame_gv_openTheGatesTimer) == 0.0))) {

        UnitBehaviorRemove(libGame_gv_players[lp_player].lv_heroUnit, "HeroGenericPregameAbilitySuppression", 1);

    }



    return true;

}



trigger auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_Trigger = null;

int auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_player;

int auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_heroIndex;

int auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_sprayIndex;

int auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_bannerIndex;

int auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_annoucerIndex;

int auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_voiceLineIndex;



void libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer (int lp_player, int lp_heroIndex, int lp_sprayIndex, int lp_bannerIndex, int lp_annoucerIndex, int lp_voiceLineIndex) {

    auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_player = lp_player;

    auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_heroIndex = lp_heroIndex;

    auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_sprayIndex = lp_sprayIndex;

    auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_bannerIndex = lp_bannerIndex;

    auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_annoucerIndex = lp_annoucerIndex;

    auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_voiceLineIndex = lp_voiceLineIndex;



    if (auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_Trigger == null) {

        auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_Trigger = TriggerCreate("auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_TriggerFunc");

    }



    TriggerExecute(auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_Trigger, false, false);

}



bool auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_TriggerFunc (bool testConds, bool runActions) {

    int lp_player = auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_player;

    int lp_heroIndex = auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_heroIndex;

    int lp_sprayIndex = auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_sprayIndex;

    int lp_bannerIndex = auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_bannerIndex;

    int lp_annoucerIndex = auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_annoucerIndex;

    int lp_voiceLineIndex = auto_libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer_lp_voiceLineIndex;



    // Variable Declarations

    string lv_announcerPack;

    string lv_banner;

    string lv_spray;

    string lv_voiceLine;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_announcerPack = libCore_gf_GetAnnouncerPackFromIndex(lp_annoucerIndex);

    lv_banner = libCore_gf_GetBannerFromIndex(lp_bannerIndex);

    lv_spray = libCore_gf_GetSprayFromIndex(lp_sprayIndex);

    lv_voiceLine = libCore_gf_GetVoiceLineFromHeroIndex(lp_voiceLineIndex, lp_heroIndex);



    // Implementation

    if ((libUIUI_gv_uIDebugPanelMapAnnouncerPack[lp_player] == null)) {

        libUIUI_gv_uIDebugPanelMapAnnouncerPack[lp_player] = libGame_gv_players[lp_player].lv_lootContent.lv_loot_AnnouncerPack.lv_announcerPackID;

    }



    if ((lv_announcerPack != libUIUI_gv_uIDebugPanelUseMapAnnouncerPackID)) {

        libCore_gf_DataLootContentLoadAnnouncerPackDataIntoIndex(lv_announcerPack, lp_player, true);

        TextExpressionSetToken("Param/Expression/lib_UIUI_BA26F0CF", "Player", IntToText(lp_player));

        TextExpressionSetToken("Param/Expression/lib_UIUI_BA26F0CF", "Pack", StringToText((lv_announcerPack)));

        TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_BA26F0CF"), false);

    }

    else {

        libCore_gf_DataLootContentLoadAnnouncerPackDataIntoIndex(libUIUI_gv_uIDebugPanelMapAnnouncerPack[lp_player], lp_player, false);

        PlayerSetAnnouncerPack(lp_player, null);

    }

    if ((lv_voiceLine != null)) {

        libCore_gf_DataLootContentLoadVoiceLineDataIntoIndex(lv_voiceLine, lp_player);

        TextExpressionSetToken("Param/Expression/lib_UIUI_BD4D132D", "Player", IntToText(lp_player));

        TextExpressionSetToken("Param/Expression/lib_UIUI_BD4D132D", "Pack", StringToText((lv_voiceLine)));

        TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_BD4D132D"), false);

    }



    libCore_gf_DataLootContentLoadBannerDataIntoIndex(lv_banner, lp_player);

    TextExpressionSetToken("Param/Expression/lib_UIUI_BAFA5E36", "Player", IntToText(lp_player));

    TextExpressionSetToken("Param/Expression/lib_UIUI_BAFA5E36", "Pack", StringToText((lv_banner)));

    TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_BAFA5E36"), false);

    libCore_gf_DataLootContentLoadSprayDataIntoIndex(lv_spray, lp_player);

    TextExpressionSetToken("Param/Expression/lib_UIUI_CB0A6834", "Player", IntToText(lp_player));

    TextExpressionSetToken("Param/Expression/lib_UIUI_CB0A6834", "Pack", StringToText((lv_spray)));

    TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_CB0A6834"), false);

    return true;

}



trigger auto_libUIUI_gf_TemporarilyDisableSpawnHeroButton_Trigger = null;



void libUIUI_gf_TemporarilyDisableSpawnHeroButton () {

    if (auto_libUIUI_gf_TemporarilyDisableSpawnHeroButton_Trigger == null) {

        auto_libUIUI_gf_TemporarilyDisableSpawnHeroButton_Trigger = TriggerCreate("auto_libUIUI_gf_TemporarilyDisableSpawnHeroButton_TriggerFunc");

    }



    TriggerExecute(auto_libUIUI_gf_TemporarilyDisableSpawnHeroButton_Trigger, false, false);

}



bool auto_libUIUI_gf_TemporarilyDisableSpawnHeroButton_TriggerFunc (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetEnabled(libUIUI_gv_uIDebugPanel.lv_spawnHeroButton, PlayerGroupAll(), false);

    Wait(0.25, c_timeGame);

    DialogControlSetEnabled(libUIUI_gv_uIDebugPanel.lv_spawnHeroButton, PlayerGroupAll(), true);

    return true;

}



void libUIUI_gf_AssignMVPStattoNextUISlot (text lp_statLabel, text lp_statAmount, text lp_bestLabel) {

    // Variable Declarations

    int lv_bestInGameFrame;

    int lv_bestInGameLabel;



    // Automatic Variable Declarations

    int autoFC5C42FC_val;



    // Variable Initialization

    lv_bestInGameFrame = c_invalidDialogControlId;

    lv_bestInGameLabel = c_invalidDialogControlId;



    // Implementation

    libGame_gv_currentMVPStatSlot += 1;

    autoFC5C42FC_val = libGame_gv_currentMVPStatSlot;

    if (autoFC5C42FC_val == 1) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat1NameLabel, lp_statLabel, PlayerGroupAll());

        libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat1ValueLabel, lp_statAmount, PlayerGroupAll());

        DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypePanel, "BestInGame1");

        lv_bestInGameFrame = DialogControlLastCreated();

    }

    else if (autoFC5C42FC_val == 2) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat2NameLabel, lp_statLabel, PlayerGroupAll());

        libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat2ValueLabel, lp_statAmount, PlayerGroupAll());

        DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypePanel, "BestInGame2");

        lv_bestInGameFrame = DialogControlLastCreated();

    }

    else if (autoFC5C42FC_val == 3) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat3NameLabel, lp_statLabel, PlayerGroupAll());

        libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat3ValueLabel, lp_statAmount, PlayerGroupAll());

        DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypePanel, "BestInGame3");

        lv_bestInGameFrame = DialogControlLastCreated();

    }

    else {

    }

    if ((lp_bestLabel != null)) {

        DialogControlHookup(lv_bestInGameFrame, c_triggerControlTypeLabel, "Label");

        libNtve_gf_SetDialogItemPlayerId(DialogControlLastCreated(), 0, PlayerGroupAll());

        lv_bestInGameLabel = DialogControlLastCreated();

        DialogControlSetVisible(lv_bestInGameFrame, PlayerGroupAll(), true);

        libNtve_gf_SetDialogItemText(lv_bestInGameLabel, lp_bestLabel, PlayerGroupAll());

    }



}



void libUIUI_gf_UIEndofMatchAwardsSetMVPColor (int lp_teamId) {

    // Variable Declarations

    int lv_itPlayer;

    int lv_itPlayerBlueTeam;



    // Automatic Variable Declarations

    playergroup auto263DF57D_g;

    playergroup auto6D84BA56_g;



    // Variable Initialization



    // Implementation

    auto263DF57D_g = libGame_gf_EnemyPlayerGroupOfPlayer(libGame_gv_mVPPlayer);

    lv_itPlayer = -1;

    while (true) {

        	lv_itPlayer = PlayerGroupNextPlayer(auto263DF57D_g, lv_itPlayer);

        	if (lv_itPlayer<0) { break; }

        	DialogControlSetAnimationState(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, libCore_gv_playerGroupFromPlayer[lv_itPlayer], "TeamColor", "Red");

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[0].lv_heroCutscene, libCore_gv_playerGroupFromPlayer[lv_itPlayer], "TeamColor", "Red");

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[0].lv_panelContainer, libCore_gv_playerGroupFromPlayer[lv_itPlayer], "ColorState", "Red");

    }

    if ((lp_teamId == libGame_gv_teamChaosIndex_C)) {

        DialogControlSetAnimationState(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], "TeamColor", "Red");

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[0].lv_heroCutscene, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], "TeamColor", "Red");

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[0].lv_panelContainer, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], "ColorState", "Red");

    }

    else {

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[0].lv_heroCutscene, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], "TeamColor", "Blue");

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[0].lv_panelContainer, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], "ColorState", "Blue");

    }

    auto6D84BA56_g = libGame_gf_AlliedPlayerGroupOfPlayer(libGame_gv_mVPPlayer);

    lv_itPlayerBlueTeam = -1;

    while (true) {

        	lv_itPlayerBlueTeam = PlayerGroupNextPlayer(auto6D84BA56_g, lv_itPlayerBlueTeam);

        	if (lv_itPlayerBlueTeam<0) { break; }

        	DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[0].lv_heroCutscene, libCore_gv_playerGroupFromPlayer[lv_itPlayerBlueTeam], "TeamColor", "Blue");

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[0].lv_panelContainer, libCore_gv_playerGroupFromPlayer[lv_itPlayerBlueTeam], "ColorState", "Blue");

    }

}



void libUIUI_gf_UIEndofMatchAwardsSetSecondaryAwardColor (int lp_awardSlot, int lp_opposingTeamId) {

    // Variable Declarations

    int lv_itPlayer;

    int lv_itPlayerBlue;



    // Automatic Variable Declarations

    playergroup autoDA051515_g;

    playergroup auto20460FF4_g;



    // Variable Initialization



    // Implementation

    autoDA051515_g = GameAttributePlayersForTeam(lp_opposingTeamId);

    lv_itPlayer = -1;

    while (true) {

        	lv_itPlayer = PlayerGroupNextPlayer(autoDA051515_g, lv_itPlayer);

        	if (lv_itPlayer<0) { break; }

        	DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lp_awardSlot].lv_heroCutscene, libCore_gv_playerGroupFromPlayer[lv_itPlayer], "TeamColor", "Red");

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lp_awardSlot].lv_panelContainer, libCore_gv_playerGroupFromPlayer[lv_itPlayer], "ColorState", "Red");

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lp_awardSlot].lv_panelContainer, libCore_gv_playerGroupFromPlayer[lv_itPlayer], "AwardLabelsColor", "Red");

        auto20460FF4_g = PlayerGroupAlliance(c_playerGroupEnemy, lv_itPlayer);

        lv_itPlayerBlue = -1;

        while (true) {

            	lv_itPlayerBlue = PlayerGroupNextPlayer(auto20460FF4_g, lv_itPlayerBlue);

            	if (lv_itPlayerBlue<0) { break; }

            	DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lp_awardSlot].lv_heroCutscene, libCore_gv_playerGroupFromPlayer[lv_itPlayerBlue], "TeamColor", "Blue");

        }

    }

    if ((lp_opposingTeamId == libGame_gv_teamOrderIndex_C)) {

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lp_awardSlot].lv_heroCutscene, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], "TeamColor", "Red");

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lp_awardSlot].lv_panelContainer, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], "ColorState", "Red");

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lp_awardSlot].lv_panelContainer, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], "AwardLabelsColor", "Red");

    }

    else {

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lp_awardSlot].lv_heroCutscene, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], "TeamColor", "Blue");

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lp_awardSlot].lv_panelContainer, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], "ColorState", "Blue");

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lp_awardSlot].lv_panelContainer, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], "AwardLabelsColor", "Blue");

    }

}



void libUIUI_gf_UIEndofMatchAwardsSetSecondaryAwardBadge (int lp_awardSlot) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lp_awardSlot].lv_awardIcon, PlayerGroupAll(), "BadgeNumber", libGame_gv_finalSecondaryAwardsList[lp_awardSlot].lv_awardBadgeIndex);

}



void libUIUI_gf_UIEndofMatchAwardsMVPReveal () {

    // Variable Declarations

    int lv_mvpTeamId;

    int lv_itPlayer;

    int lv_iterator;

    int lv_winnerPlayerId;

    bool lv_hasBoost;



    // Automatic Variable Declarations

    playergroup auto288FD252_g;

    int auto288FD252_var;

    playergroup autoB2DB6389_g;

    int autoB2DB6389_var;

    const int auto20787B14_ae = 4;

    const int auto20787B14_ai = 1;

    const int auto1013F341_ae = libCore_gv_bALMaxPlayers;

    const int auto1013F341_ai = 1;



    // Variable Initialization



    // Implementation

    Wait(5.0, c_timeGame);

    auto288FD252_g = PlayerGroupAll();

    auto288FD252_var = -1;

    while (true) {

        	auto288FD252_var = PlayerGroupNextPlayer(auto288FD252_g, auto288FD252_var);

        	if (auto288FD252_var<0) { break; }

        	if (((PlayerStatus(auto288FD252_var) != c_playerStatusUnused) && (PlayerSkin(auto288FD252_var) != libGame_gv_players[auto288FD252_var].lv_skinData.lv_skinID))) {

            PlayerSetSkin(auto288FD252_var, libGame_gv_players[auto288FD252_var].lv_skinData.lv_skinID);

        }



    }

    libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPWinnerPanel.lv_heroNameLabel, libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_heroName, PlayerGroupAll());

    libNtve_gf_SetDialogItemText(libUIUI_gv_EndofGameAwardsPanel.lv_mVPSecondaryHeroName, libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_heroName, PlayerGroupAll());

    libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPWinnerPanel.lv_playerNameLabel, libGame_gv_players[libGame_gv_mVPPlayer].lv_name, PlayerGroupAll());

    libNtve_gf_SetDialogItemText(libUIUI_gv_EndofGameAwardsPanel.lv_mVPSecondaryPlayerName, libGame_gv_players[libGame_gv_mVPPlayer].lv_name, PlayerGroupAll());

    if ((PlayerHasActiveBoost(libGame_gv_mVPPlayer) == true)) {

        DialogControlSetVisible(libUIUI_gv_EndofGameAwardsPanel.lv_mVPSecondaryPlayerBoostIcon, PlayerGroupAll(), true);

    }

    else {

        DialogControlSetVisible(libUIUI_gv_EndofGameAwardsPanel.lv_mVPSecondaryPlayerBoostIcon, PlayerGroupAll(), false);

    }

    libNtve_gf_SetDialogItemPlayerId(libUIUI_gv_uIMVPSecondaryPanels[0].lv_heroCutscene, libGame_gv_mVPPlayer, PlayerGroupAll());

    libNtve_gf_SetDialogItemBannerLink(libUIUI_gv_uIMVPSecondaryPanels[0].lv_BannerCutscne, PlayerBanner(libGame_gv_mVPPlayer), PlayerGroupAll());

    libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPWinnerPanel.lv_killsValueLabel, FixedToText(libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_kills, c_fixedPrecisionAny), PlayerGroupAll());

    libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPWinnerPanel.lv_assistsValueLabel, FixedToText(libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_assists, c_fixedPrecisionAny), PlayerGroupAll());

    libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPWinnerPanel.lv_deathsValueLabel, FixedToText(libGame_gv_mVPStats[libGame_gv_mVPPlayer].lv_deaths, c_fixedPrecisionAny), PlayerGroupAll());

    lv_mvpTeamId = libGame_gf_TeamNumberOfPlayer(libGame_gv_mVPPlayer);

    libUIUI_gf_UIEndofMatchAwardsSetMVPColor(lv_mvpTeamId);

    SoundPlayForPlayer(SoundLink("UI_Game_MVP_Screen_Transition_To_MVP", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);

    DialogControlSetVisible(libUIUI_gv_EndofGameAwardsPanel.lv_skipButton, PlayerGroupAll(), false);

    DialogControlSetVisible(libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel, PlayerGroupAll(), true);

    UISetWorldVisible(PlayerGroupAll(), false);

    Wait(1.717, c_timeGame);

    autoB2DB6389_g = PlayerGroupAll();

    autoB2DB6389_var = -1;

    while (true) {

        	autoB2DB6389_var = PlayerGroupNextPlayer(autoB2DB6389_g, autoB2DB6389_var);

        	if (autoB2DB6389_var<0) { break; }

        	libSond_gf_SoundAnnouncerVOPlayAnnouncerVOForPlayer(libCore_ge_AnnouncerVOEvents_MVP, autoB2DB6389_var);

    }

    lv_iterator = 1;

    for ( ; ( (auto20787B14_ai >= 0 && lv_iterator <= auto20787B14_ae) || (auto20787B14_ai < 0 && lv_iterator >= auto20787B14_ae) ) ; lv_iterator += auto20787B14_ai ) {

        if ((libGame_gv_finalSecondaryAwardsList[lv_iterator].lv_winner != 0)) {

            lv_winnerPlayerId = libGame_gv_finalSecondaryAwardsList[lv_iterator].lv_winner;

            libNtve_gf_SetDialogItemPlayerId(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_heroCutscene, lv_winnerPlayerId, PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_awardTitleLabel, libGame_gv_finalSecondaryAwardsList[lv_iterator].lv_name, PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_awardStatLabel, libGame_gf_GetFinalAwardValueInfo(lv_winnerPlayerId, lv_iterator), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_heroNameLabel, UnitTypeGetName(UnitGetType(libGame_gv_players[lv_winnerPlayerId].lv_heroUnit)), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_playerNameLabel, libGame_gv_players[lv_winnerPlayerId].lv_name, PlayerGroupAll());

            if ((PlayerHasActiveBoost(lv_winnerPlayerId) == true)) {

                DialogControlSetVisible(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_playerBoostIcon, PlayerGroupAll(), true);

            }

            else {

                DialogControlSetVisible(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_playerBoostIcon, PlayerGroupAll(), false);

            }

            libUIUI_gf_UIEndofMatchAwardsSetSecondaryAwardColor(lv_iterator, libGame_gf_EnemyTeamNumberOfPlayer(lv_winnerPlayerId));

            libUIUI_gf_UIEndofMatchAwardsSetSecondaryAwardBadge(lv_iterator);

            libNtve_gf_SetDialogItemTooltip(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_awardTooltipHitbox, libGame_gf_GetAwardTooltipInfo(lv_winnerPlayerId, (libGame_gv_finalSecondaryAwardsList[lv_iterator].lv_awardIndex)), PlayerGroupAll());

        }



    }

    DialogControlSetVisible(libUIUI_gv_EndofGameAwardsPanel.lv_skipButton, PlayerGroupAll(), true);

    Wait(8.0, c_timeGame);

    lv_itPlayer = 1;

    for ( ; ( (auto1013F341_ai >= 0 && lv_itPlayer <= auto1013F341_ae) || (auto1013F341_ai < 0 && lv_itPlayer >= auto1013F341_ae) ) ; lv_itPlayer += auto1013F341_ai ) {

        if ((libUIUI_gv_uIEndOfMatchAwardsPlayerHasSkipped[lv_itPlayer] == false)) {

            libUIUI_gf_UIEndofMatchAwardsSecondaryAwardsReveal(lv_itPlayer);

        }



    }

    if ((libUIUI_gv_uIEndOfMatchAwardsObserverHasSkipped == false)) {

        libUIUI_gf_UIEndofMatchAwardsSecondaryAwardsReveal(libCore_gv_oBSERVER_ObserverUIPlayer);

    }



    Wait(2.5, c_timeGame);

    libUIUI_gv_uIEndOfMatchAwardsMVPSequenceEnded = true;

    Wait(37.5, c_timeGame);

    DialogControlSendAnimationEvent(libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel, PlayerGroupAll(), "CountDownToClosure");

    Wait(10.0, c_timeGame);

}



void libUIUI_gf_UIEndofMatchAwardsSecondaryAwardsReveal (int lp_playerID) {

    // Variable Declarations

    int lv_winnerPlayerId;

    playergroup lv_thisPlayerGroup;

    int lv_awardIDit;



    // Automatic Variable Declarations

    const int auto5AF96566_ae = libGame_gv_secondaryAwardSlotCount;

    const int auto5AF96566_ai = 1;



    // Variable Initialization

    lv_thisPlayerGroup = PlayerGroupEmpty();



    // Implementation

    lv_thisPlayerGroup = libCore_gv_playerGroupFromPlayer[lp_playerID];

    SoundPlayForPlayer(SoundLink("UI_Game_MVP_Screen_Transition_To_Vote", -1), c_maxPlayers, lv_thisPlayerGroup, 100.0, 0.0);

    DialogControlSendAnimationEvent(libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel, lv_thisPlayerGroup, "WaitForSound");

    DialogControlSetVisible(libUIUI_gv_EndofGameAwardsPanel.lv_secondaryContainer, lv_thisPlayerGroup, true);

    lv_winnerPlayerId = libGame_gv_mVPPlayer;

    if ((lp_playerID == lv_winnerPlayerId)) {

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[0].lv_voterButton, libCore_gv_playerGroupFromPlayer[lv_winnerPlayerId], "ButtonState", "Disabled");

    }



    lv_awardIDit = 1;

    for ( ; ( (auto5AF96566_ai >= 0 && lv_awardIDit <= auto5AF96566_ae) || (auto5AF96566_ai < 0 && lv_awardIDit >= auto5AF96566_ae) ) ; lv_awardIDit += auto5AF96566_ai ) {

        lv_winnerPlayerId = libGame_gv_finalSecondaryAwardsList[lv_awardIDit].lv_winner;

        if ((lp_playerID == lv_winnerPlayerId)) {

            DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lv_awardIDit].lv_voterButton, libCore_gv_playerGroupFromPlayer[lv_winnerPlayerId], "ButtonState", "Disabled");

        }



    }

    libUIUI_gf_UIEndOfMatchAwardsSyncUpvoteStatus(lv_thisPlayerGroup);

    TriggerExecute(libUIUI_gt_UIEndofMatchAwardsForceSync, true, false);

}



void libUIUI_gf_UIEndOfMatchAwardsSyncUpvoteStatus (playergroup lp_thisPlayerGroup) {

    // Variable Declarations

    int lv_iterator;



    // Automatic Variable Declarations

    const int auto4DACAD02_ae = 4;

    const int auto4DACAD02_ai = 1;



    // Variable Initialization



    // Implementation

    if ((libUIUI_gv_uIEndOfMatchAwardsAnyVoteCast == true)) {

        lv_iterator = 0;

        for ( ; ( (auto4DACAD02_ai >= 0 && lv_iterator <= auto4DACAD02_ae) || (auto4DACAD02_ai < 0 && lv_iterator >= auto4DACAD02_ae) ) ; lv_iterator += auto4DACAD02_ai ) {

            if ((libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_voteCount >= 1) && ((libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_voteCount < 4))) {

                DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_heroCutscene, lp_thisPlayerGroup, "SkipStatusFlags", "Tier0");

                libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_voterButtonLabel, IntToText(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_voteCount), lp_thisPlayerGroup);

            }

            else if ((libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_voteCount >= 4) && ((libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_voteCount < 8))) {

                libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_voterButtonLabel, IntToText(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_voteCount), lp_thisPlayerGroup);

                DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_heroCutscene, lp_thisPlayerGroup, "SkipStatusFlags", "Tier1");

            }

            else if ((libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_voteCount >= 8)) {

                libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_voterButtonLabel, IntToText(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_voteCount), lp_thisPlayerGroup);

                DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_heroCutscene, lp_thisPlayerGroup, "SkipStatusFlags", "Tier2");

                DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_panelContainer, lp_thisPlayerGroup, "ColorState", "Yellow");

                DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_panelContainer, lp_thisPlayerGroup, "AwardLabelsColor", "Yellow");

                DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lv_iterator].lv_awardIcon, lp_thisPlayerGroup, "IconState", (libGame_gv_finalSecondaryAwardsList[lv_iterator].lv_awardBadgeIndex + "2"));

            }

        }

    }



}



void libUIUI_gf_UIFloatingCombatTextCreateTextTag (int lp_displayPlayer, fixed lp_duration, text lp_text, unit lp_targetUnit, fixed lp_heightOffset, fixed lp_horizontalOffset, int lp_numberType, bool lp_obeyFogRules) {

    // Variable Declarations

    int lv_itPlayer;



    // Automatic Variable Declarations

    const int autoFFE582C5_ae = libCore_gv_bALMaxPlayers;

    const int autoFFE582C5_ai = 1;



    // Variable Initialization



    // Implementation

    if ((UnitIsValid(lp_targetUnit) == false)) {

        return ;

    }



    if (((libUIUI_gv_uIDebugPanelShowAllCombatText == true) && (libCore_gv_dEBUGDebuggingEnabled == true))) {

        lv_itPlayer = 1;

        for ( ; ( (autoFFE582C5_ai >= 0 && lv_itPlayer <= autoFFE582C5_ae) || (autoFFE582C5_ai < 0 && lv_itPlayer >= autoFFE582C5_ae) ) ; lv_itPlayer += autoFFE582C5_ai ) {

            libUIUI_gf_UIFloatingCombatTextCreateTextTagAtPosition(lv_itPlayer, lp_duration, lp_text, UnitGetPosition(lp_targetUnit), lp_heightOffset, lp_horizontalOffset, lp_numberType, lp_obeyFogRules);

        }

    }

    else {

        libUIUI_gf_UIFloatingCombatTextCreateTextTagAtPosition(lp_displayPlayer, lp_duration, lp_text, UnitGetPosition(lp_targetUnit), lp_heightOffset, lp_horizontalOffset, lp_numberType, lp_obeyFogRules);

    }

}



void libUIUI_gf_UIFloatingCombatTextCreateTextTagAtPosition (int lp_displayPlayer, fixed lp_duration, text lp_text, point lp_targetPosition, fixed lp_heightOffset, fixed lp_horizontalOffset, int lp_numberType, bool lp_obeyFogRules) {

    // Variable Declarations

    int lv_intensity;

    string lv_numberTypeString;

    string lv_fontStyleString;

    text lv_stormFontStyle;



    // Automatic Variable Declarations

    int autoA5E48E13_val;

    int auto8848A8C8_val;



    // Variable Initialization

    lv_intensity = 1;

    lv_numberTypeString = "";

    lv_fontStyleString = "";



    // Implementation

    if (((lp_displayPlayer < 0) || (lp_displayPlayer > libCore_gv_bALMaxEnginePlayerCount))) {

        return ;

    }



    autoA5E48E13_val = lp_numberType;

    if (autoA5E48E13_val == libCore_ge_FloatingTextType_NormalDamage) {

        lv_numberTypeString = "Damage";

        lv_intensity = 1;

    }

    else if (autoA5E48E13_val == libCore_ge_FloatingTextType_MediumDamage) {

        lv_numberTypeString = "Damage";

        lv_intensity = 2;

    }

    else if (autoA5E48E13_val == libCore_ge_FloatingTextType_HighDamage) {

        lv_numberTypeString = "Damage";

        lv_intensity = 3;

    }

    else if (autoA5E48E13_val == libCore_ge_FloatingTextType_InsaneDamage) {

        lv_numberTypeString = "Damage";

        lv_intensity = 4;

    }

    else if (autoA5E48E13_val == libCore_ge_FloatingTextType_BonusDamage) {

        lv_numberTypeString = "Damage";

        lv_intensity = 5;

    }

    else if (autoA5E48E13_val == libCore_ge_FloatingTextType_Healing) {

        lv_numberTypeString = "Health";

    }

    else if (autoA5E48E13_val == libCore_ge_FloatingTextType_Mana) {

        lv_numberTypeString = "Mana";

    }

    else if (autoA5E48E13_val == libCore_ge_FloatingTextType_NegativeStatus) {

        lv_numberTypeString = "Negative";

    }

    else if (autoA5E48E13_val == libCore_ge_FloatingTextType_PositiveStatus) {

        lv_numberTypeString = "Positive";

    }

    else if (autoA5E48E13_val == libCore_ge_FloatingTextType_XPSmall) {

        lv_numberTypeString = "XPSmall";

    }

    else if (autoA5E48E13_val == libCore_ge_FloatingTextType_XPMedium) {

        lv_numberTypeString = "XPMedium";

    }

    else if (autoA5E48E13_val == libCore_ge_FloatingTextType_XPLarge) {

        lv_numberTypeString = "XPLarge";

    }

    else if (autoA5E48E13_val == libCore_ge_FloatingTextType_Leashing) {

        lv_numberTypeString = "Negative";

    }

    else if (autoA5E48E13_val == libCore_ge_FloatingTextType_Countdown) {

        lv_numberTypeString = "Damage";

        lv_intensity = 5;

    }

    else if (autoA5E48E13_val == libCore_ge_FloatingTextType_Shield) {

        lv_numberTypeString = "Shield";

    }

    else {

    }

    lv_stormFontStyle = StringToText(("<s val=\"Storm_" + lv_numberTypeString + "_Kicker_" + IntToString(lv_intensity) + "\">"));

    auto8848A8C8_val = lp_numberType;

    if (auto8848A8C8_val == libCore_ge_FloatingTextType_Countdown) {

        if ((lp_displayPlayer == 0)) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_A461D55C", "A", lv_stormFontStyle);

            TextExpressionSetToken("Param/Expression/lib_UIUI_A461D55C", "B", lp_text);

            TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_A461D55C"), 30, lp_targetPosition, lp_heightOffset, true, lp_obeyFogRules, PlayerGroupAll());

        }

        else {

            TextExpressionSetToken("Param/Expression/lib_UIUI_40951B33", "A", lv_stormFontStyle);

            TextExpressionSetToken("Param/Expression/lib_UIUI_40951B33", "B", lp_text);

            TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_40951B33"), 30, lp_targetPosition, lp_heightOffset, true, lp_obeyFogRules, libCore_gv_playerGroupFromPlayer[lp_displayPlayer]);

        }

        TextTagSetTime(TextTagLastCreated(), c_textTagTimeFadeOut, libUIUI_gv_floatingCombatTextFadeDuration);

        TextTagSetTime(TextTagLastCreated(), c_textTagTimeDuration, lp_duration);

        TextTagSetFogVisibility(TextTagLastCreated(), c_visTypeFog);

    }

    else if (auto8848A8C8_val == libCore_ge_FloatingTextType_NormalDamage) {

        if ((lp_displayPlayer == 0)) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_3640E111", "A", lv_stormFontStyle);

            TextExpressionSetToken("Param/Expression/lib_UIUI_3640E111", "B", lp_text);

            TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_3640E111"), 15, lp_targetPosition, lp_heightOffset, true, lp_obeyFogRules, PlayerGroupAll());

        }

        else {

            TextExpressionSetToken("Param/Expression/lib_UIUI_42CACAFD", "A", lv_stormFontStyle);

            TextExpressionSetToken("Param/Expression/lib_UIUI_42CACAFD", "B", lp_text);

            TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_42CACAFD"), 15, lp_targetPosition, lp_heightOffset, true, lp_obeyFogRules, libCore_gv_playerGroupFromPlayer[lp_displayPlayer]);

        }

        TextTagSetVelocity(TextTagLastCreated(), 0.75, 90.0);

        TextTagSetTime(TextTagLastCreated(), c_textTagTimeFadeOut, libUIUI_gv_floatingCombatTextFadeDuration);

        TextTagSetTime(TextTagLastCreated(), c_textTagTimeDuration, lp_duration);

        TextTagSetFogVisibility(TextTagLastCreated(), c_visTypeFog);

    }

    else if (auto8848A8C8_val == libCore_ge_FloatingTextType_BonusDamage) {

        if ((lp_displayPlayer == 0)) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_3CF247C9", "A", lv_stormFontStyle);

            TextExpressionSetToken("Param/Expression/lib_UIUI_3CF247C9", "B", lp_text);

            TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_3CF247C9"), 7, lp_targetPosition, lp_heightOffset, true, lp_obeyFogRules, PlayerGroupAll());

        }

        else {

            TextExpressionSetToken("Param/Expression/lib_UIUI_B9E44C77", "A", lv_stormFontStyle);

            TextExpressionSetToken("Param/Expression/lib_UIUI_B9E44C77", "B", lp_text);

            TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_B9E44C77"), 7, PointWithOffset(lp_targetPosition, 0.35, 0.0), lp_heightOffset, true, lp_obeyFogRules, libCore_gv_playerGroupFromPlayer[lp_displayPlayer]);

        }

        TextTagSetVelocity(TextTagLastCreated(), 0.75, 90.0);

        TextTagSetTime(TextTagLastCreated(), c_textTagTimeFadeOut, libUIUI_gv_floatingCombatTextFadeDuration);

        TextTagSetTime(TextTagLastCreated(), c_textTagTimeDuration, lp_duration);

        TextTagSetFogVisibility(TextTagLastCreated(), c_visTypeFog);

    }

    else if (auto8848A8C8_val == libCore_ge_FloatingTextType_MediumDamage) {

        if ((lp_displayPlayer == 0)) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_DD1C12C8", "A", lv_stormFontStyle);

            TextExpressionSetToken("Param/Expression/lib_UIUI_DD1C12C8", "B", lp_text);

            TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_DD1C12C8"), 15, lp_targetPosition, lp_heightOffset, true, lp_obeyFogRules, PlayerGroupAll());

            TextTagSetColor(TextTagLastCreated(), c_textTagColorText, Color(100.00, 100.00, 0.00));

        }

        else {

            TextExpressionSetToken("Param/Expression/lib_UIUI_6F4CE946", "A", lv_stormFontStyle);

            TextExpressionSetToken("Param/Expression/lib_UIUI_6F4CE946", "B", lp_text);

            TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_6F4CE946"), 15, lp_targetPosition, lp_heightOffset, true, lp_obeyFogRules, libCore_gv_playerGroupFromPlayer[lp_displayPlayer]);

            TextTagSetColor(TextTagLastCreated(), c_textTagColorText, Color(100.00, 100.00, 0.00));

        }

        TextTagSetVelocity(TextTagLastCreated(), 1.5, 90.0);

        TextTagSetTime(TextTagLastCreated(), c_textTagTimeFadeOut, libUIUI_gv_floatingCombatTextFadeDuration);

        TextTagSetTime(TextTagLastCreated(), c_textTagTimeDuration, lp_duration);

        TextTagSetFogVisibility(TextTagLastCreated(), c_visTypeFog);

    }

    else if (auto8848A8C8_val == libCore_ge_FloatingTextType_HighDamage) {

        if ((lp_displayPlayer == 0)) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_FB354536", "A", lv_stormFontStyle);

            TextExpressionSetToken("Param/Expression/lib_UIUI_FB354536", "B", lp_text);

            TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_FB354536"), 15, lp_targetPosition, lp_heightOffset, true, lp_obeyFogRules, PlayerGroupAll());

            TextTagSetColor(TextTagLastCreated(), c_textTagColorText, Color(100.00, 50.20, 25.10));

        }

        else {

            TextExpressionSetToken("Param/Expression/lib_UIUI_4687922E", "A", lv_stormFontStyle);

            TextExpressionSetToken("Param/Expression/lib_UIUI_4687922E", "B", lp_text);

            TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_4687922E"), 15, lp_targetPosition, lp_heightOffset, true, lp_obeyFogRules, libCore_gv_playerGroupFromPlayer[lp_displayPlayer]);

            TextTagSetColor(TextTagLastCreated(), c_textTagColorText, Color(100.00, 50.20, 25.10));

        }

        TextTagSetVelocity(TextTagLastCreated(), 2.5, 90.0);

        TextTagSetTime(TextTagLastCreated(), c_textTagTimeFadeOut, libUIUI_gv_floatingCombatTextFadeDuration);

        TextTagSetTime(TextTagLastCreated(), c_textTagTimeDuration, lp_duration);

        TextTagSetFogVisibility(TextTagLastCreated(), c_visTypeFog);

    }

    else if (auto8848A8C8_val == libCore_ge_FloatingTextType_InsaneDamage) {

        if ((lp_displayPlayer == 0)) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_BA735566", "A", lv_stormFontStyle);

            TextExpressionSetToken("Param/Expression/lib_UIUI_BA735566", "B", lp_text);

            TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_BA735566"), 15, lp_targetPosition, lp_heightOffset, true, lp_obeyFogRules, PlayerGroupAll());

            TextTagSetColor(TextTagLastCreated(), c_textTagColorText, Color(100.00, 0.00, 0.00));

        }

        else {

            TextExpressionSetToken("Param/Expression/lib_UIUI_7FCA20F9", "A", lv_stormFontStyle);

            TextExpressionSetToken("Param/Expression/lib_UIUI_7FCA20F9", "B", lp_text);

            TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_7FCA20F9"), 15, lp_targetPosition, lp_heightOffset, true, lp_obeyFogRules, libCore_gv_playerGroupFromPlayer[lp_displayPlayer]);

            TextTagSetColor(TextTagLastCreated(), c_textTagColorText, Color(100.00, 0.00, 0.00));

        }

        TextTagSetVelocity(TextTagLastCreated(), 3.0, 90.0);

        TextTagSetTime(TextTagLastCreated(), c_textTagTimeFadeOut, libUIUI_gv_floatingCombatTextFadeDuration);

        TextTagSetTime(TextTagLastCreated(), c_textTagTimeDuration, lp_duration);

        TextTagSetFogVisibility(TextTagLastCreated(), c_visTypeFog);

    }

    else {

        if ((lp_displayPlayer == 0)) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_759AEE88", "A", lv_stormFontStyle);

            TextExpressionSetToken("Param/Expression/lib_UIUI_759AEE88", "B", lp_text);

            TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_759AEE88"), 15, lp_targetPosition, lp_heightOffset, true, lp_obeyFogRules, PlayerGroupAll());

        }

        else {

            TextExpressionSetToken("Param/Expression/lib_UIUI_A3D951DD", "A", lv_stormFontStyle);

            TextExpressionSetToken("Param/Expression/lib_UIUI_A3D951DD", "B", lp_text);

            TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_A3D951DD"), 15, lp_targetPosition, lp_heightOffset, true, lp_obeyFogRules, libCore_gv_playerGroupFromPlayer[lp_displayPlayer]);

        }

        TextTagSetVelocity(TextTagLastCreated(), 1.0, 90.0);

        TextTagSetTime(TextTagLastCreated(), c_textTagTimeFadeOut, libUIUI_gv_floatingCombatTextFadeDuration);

        TextTagSetTime(TextTagLastCreated(), c_textTagTimeDuration, lp_duration);

        TextTagSetFogVisibility(TextTagLastCreated(), c_visTypeFog);

    }

}



void libUIUI_gf_UIFloatingCombatTextXP (int lp_displayPlayer, unit lp_target, text lp_amount, int lp_textTagType) {

    // Variable Declarations

    fixed lv_duration;

    fixed lv_vertOffset;

    fixed lv_horizOffset;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    if ((libSprt_gv_dEBUGCombatTextEnabled == true)) {

        if ((libGame_gv_players[lp_displayPlayer].lv_heroUnit == null)) {

            return ;

        }



        lv_duration = 1.25;

        lv_vertOffset = 1.5;

        lv_horizOffset = RandomFixed(0.4, 0.6);

        if (((PointGetX(UnitGetPosition(libGame_gv_players[lp_displayPlayer].lv_heroUnit)) - PointGetX(UnitGetPosition(lp_target))) > 0)) {

            lv_horizOffset *= -1.0;

        }



        libUIUI_gf_UIFloatingCombatTextCreateTextTag(lp_displayPlayer, lv_duration, lp_amount, lp_target, lv_vertOffset, lv_horizOffset, lp_textTagType, false);

    }



}



void libUIUI_gf_UIFloatingCombatTextHealText (int lp_impactPlayer, unit lp_impactUnit, int lp_launchPlayer, unit lp_launchUnit, unit lp_casterUnit, unit lp_targetUnit, fixed lp_amount, string lp_triggeringEffect) {

    // Variable Declarations

    int lv_impactPlayer;

    unit lv_impactUnit;

    int lv_launchPlayer;

    unit lv_launchUnit;

    unit lv_casterUnit;

    unit lv_targetUnit;

    fixed lv_amount;

    fixed lv_vertOffset;

    fixed lv_horizOffset;

    playergroup lv_vOGroup;

    string lv_triggeringEffect;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_impactPlayer = lp_impactPlayer;

    lv_impactUnit = lp_impactUnit;

    lv_launchPlayer = lp_launchPlayer;

    lv_launchUnit = lp_launchUnit;

    lv_casterUnit = lp_casterUnit;

    lv_targetUnit = lp_targetUnit;

    lv_amount = lp_amount;

    lv_vOGroup = PlayerGroupEmpty();

    lv_triggeringEffect = lp_triggeringEffect;



    // Implementation

    lv_vertOffset = 2.0;

    lv_horizOffset = RandomFixed(-0.4, -0.6);

    if ((lv_triggeringEffect != "LiLiCloudSerpentCreateHealer") && ((lv_amount > 0.0) || (lv_triggeringEffect == "BlinkHealInitialHeal"))) {

        if ((lv_impactPlayer != libCore_gv_cOMPUTER_TeamOrder) && (lv_impactPlayer != libCore_gv_cOMPUTER_TeamChaos)) {

            libUIUI_gf_UIFloatingCombatTextCreateTextTag(lv_launchPlayer, libUIUI_gv_floatingCombatTextHighDuration, FixedToText(lv_amount, 0), lv_impactUnit, lv_vertOffset, lv_horizOffset, libCore_ge_FloatingTextType_Healing, false);

        }



        if ((lv_impactPlayer != lv_launchPlayer) && (lv_launchPlayer != libCore_gv_cOMPUTER_TeamOrder) && (lv_launchPlayer != libCore_gv_cOMPUTER_TeamChaos)) {

            libUIUI_gf_UIFloatingCombatTextCreateTextTag(lv_impactPlayer, libUIUI_gv_floatingCombatTextHighDuration, FixedToText(lv_amount, 0), lv_impactUnit, lv_vertOffset, lv_horizOffset, libCore_ge_FloatingTextType_Healing, false);

            if ((lv_triggeringEffect != "SoothingMistCreateHealer") && ((UnitHasBehavior2(lv_casterUnit, "HeroSharesCutsceneOverlaysDestination") == false) || (UnitHasBehavior2(lv_targetUnit, "HeroSharesCutsceneOverlaysSource") == false))) {

                PlayerGroupAdd(lv_vOGroup, UnitGetOwner(lv_casterUnit));

                PlayerGroupAdd(lv_vOGroup, UnitGetOwner(lv_targetUnit));

                libSond_gf_HeroVOPlayHealThankYouLine(UnitGetOwner(lv_targetUnit), lv_vOGroup);

            }



        }



    }



}



void libUIUI_gf_UIFloatingCombatTextLeashing (unit lp_Unit) {

    // Variable Declarations

    fixed lv_vertOffset;

    fixed lv_horizOffset;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    if (((UnitIsValid(lp_Unit) == true) && (libUIUI_gv_floatingCombatText_SuppressLeashingText == false))) {

        FloatingCombatElementCreateTextAtUnit(PlayerGroupAll(), "FloatingCombatElements/FloatingCombatElementTemplate", "", lp_Unit, StringExternal("Param/Value/lib_UIUI_3BE6264C"), libNtve_gv_FloatingCombatTextAutoRandomSeed);

    }



}



void libUIUI_gf_UIFloatingCombatTextH16MidXP (int lp_displayPlayer, unit lp_target, int lp_type, int lp_Unit) {

    // Variable Declarations

    fixed lv_vertOffset;

    fixed lv_horizOffset;

    text lv_xPText;



    // Automatic Variable Declarations

    int autoA62876A2_val;



    // Variable Initialization

    lv_xPText = StringExternal("Param/Value/lib_UIUI_54136D08");



    // Implementation

    autoA62876A2_val = lp_type;

    if (autoA62876A2_val == libCore_ge_FloatingTextType_XPSmall) {

        FloatingCombatElementCreateNumberTextAtPoint(PlayerGroupSingle(lp_displayPlayer), "FloatingCombatElements/FloatingCombatNormalAmountReceived", "XPState", UnitGetPosition(lp_target), lp_Unit, lv_xPText, libNtve_gv_FloatingCombatTextAutoRandomSeed);

    }

    else if (autoA62876A2_val == libCore_ge_FloatingTextType_XPMedium) {

        FloatingCombatElementCreateNumberTextAtPoint(PlayerGroupSingle(lp_displayPlayer), "FloatingCombatElements/FloatingCombatGreaterAmountReceived", "XPState", UnitGetPosition(lp_target), lp_Unit, lv_xPText, libNtve_gv_FloatingCombatTextAutoRandomSeed);

    }

    else if (autoA62876A2_val == libCore_ge_FloatingTextType_XPLarge) {

        FloatingCombatElementCreateNumberTextAtPoint(PlayerGroupSingle(lp_displayPlayer), "FloatingCombatElements/FloatingCombatGreaterAmountReceived", "XPState", UnitGetPosition(lp_target), lp_Unit, lv_xPText, libNtve_gv_FloatingCombatTextAutoRandomSeed);

    }

    else if (autoA62876A2_val == libCore_ge_FloatingTextType_XPSelf) {

        FloatingCombatElementCreateNumberTextAtPoint(PlayerGroupSingle(lp_displayPlayer), "FloatingCombatElements/FloatingCombatSelfAmountReceived", "XPState", UnitGetPosition(lp_target), lp_Unit, lv_xPText, libNtve_gv_FloatingCombatTextAutoRandomSeed);

    }

    else {

    }

}



void libUIUI_gf_UIFloatingCombatTextPeriodicCatapults (text lp_displayText, point lp_position) {

    // Automatic Variable Declarations

    // Implementation

    TextExpressionSetToken("Param/Expression/lib_UIUI_4ABD003C", "A", StringExternal("Param/Value/lib_UIUI_43616147"));

    TextExpressionSetToken("Param/Expression/lib_UIUI_4ABD003C", "B", lp_displayText);

    TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_4ABD003C"), 20, lp_position, 1.5, true, false, PlayerGroupAll());

    TextTagSetVelocity(TextTagLastCreated(), 1.0, 90.0);

    TextTagSetTime(TextTagLastCreated(), c_textTagTimeFadeOut, 0.25);

    TextTagSetTime(TextTagLastCreated(), c_textTagTimeDuration, 3.0);

    TextTagSetFogVisibility(TextTagLastCreated(), c_visTypeFog);

}



void libUIUI_gf_VignetteOverlayPlayForPlayer (int lp_player, string lp_cutscene) {

    // Automatic Variable Declarations

    // Implementation

    libNtve_gf_SetDialogItemCutscene(libUIUI_gv_vignetteOverlayPanel.lv_overlayCutscene, lp_cutscene, libCore_gv_playerGroupFromPlayer[lp_player]);

    DialogControlSetVisible(libUIUI_gv_vignetteOverlayPanel.lv_overlayCutscene, libCore_gv_playerGroupFromPlayer[lp_player], true);

    DialogControlSendAnimationEvent(libUIUI_gv_vignetteOverlayPanel.lv_overlayCutscene, libCore_gv_playerGroupFromPlayer[lp_player], "Start");

}



void libUIUI_gf_VignetteOverlayStopPlayingForPlayer (int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSendAnimationEvent(libUIUI_gv_vignetteOverlayPanel.lv_overlayCutscene, libCore_gv_playerGroupFromPlayer[lp_player], "Stop");

}



void libUIUI_gf_VignetteOverlayPlayForAllPlayersExcludingSpecifiedPlayerGroup (playergroup lp_playerGroupToExclude, string lp_cutscene) {

    // Variable Declarations

    int lv_itPlayer;

    playergroup lv_playerGroup;



    // Automatic Variable Declarations

    const int auto11E990B2_ae = libCore_gv_bALMaxPlayers;

    const int auto11E990B2_ai = 1;

    playergroup auto33C0A2D0_g;



    // Variable Initialization

    lv_playerGroup = PlayerGroupEmpty();



    // Implementation

    lv_itPlayer = 1;

    for ( ; ( (auto11E990B2_ai >= 0 && lv_itPlayer <= auto11E990B2_ae) || (auto11E990B2_ai < 0 && lv_itPlayer >= auto11E990B2_ae) ) ; lv_itPlayer += auto11E990B2_ai ) {

        PlayerGroupAdd(lv_playerGroup, lv_itPlayer);

    }

    libNtve_gf_RemovePlayerGroupFromPlayerGroup(lp_playerGroupToExclude, lv_playerGroup);

    auto33C0A2D0_g = lv_playerGroup;

    lv_itPlayer = -1;

    while (true) {

        	lv_itPlayer = PlayerGroupNextPlayer(auto33C0A2D0_g, lv_itPlayer);

        	if (lv_itPlayer<0) { break; }

        	libUIUI_gf_VignetteOverlayPlayForPlayer(lv_itPlayer, lp_cutscene);

    }

}



void libUIUI_gf_VignetteOverlayStopForAllPlayersExcludingSpecifiedPlayerGroup (playergroup lp_playerGroupToExclude) {

    // Variable Declarations

    int lv_itPlayer;

    playergroup lv_playerGroup;



    // Automatic Variable Declarations

    const int autoCFF459E9_ae = libCore_gv_bALMaxPlayers;

    const int autoCFF459E9_ai = 1;

    playergroup autoBA916C8E_g;



    // Variable Initialization

    lv_playerGroup = PlayerGroupEmpty();



    // Implementation

    lv_itPlayer = 1;

    for ( ; ( (autoCFF459E9_ai >= 0 && lv_itPlayer <= autoCFF459E9_ae) || (autoCFF459E9_ai < 0 && lv_itPlayer >= autoCFF459E9_ae) ) ; lv_itPlayer += autoCFF459E9_ai ) {

        PlayerGroupAdd(lv_playerGroup, lv_itPlayer);

    }

    libNtve_gf_RemovePlayerGroupFromPlayerGroup(lp_playerGroupToExclude, lv_playerGroup);

    autoBA916C8E_g = lv_playerGroup;

    lv_itPlayer = -1;

    while (true) {

        	lv_itPlayer = PlayerGroupNextPlayer(autoBA916C8E_g, lv_itPlayer);

        	if (lv_itPlayer<0) { break; }

        	libUIUI_gf_VignetteOverlayStopPlayingForPlayer(lv_itPlayer);

    }

}



void libUIUI_gf_FullscreenOverlayAddItemForPlayer (int lp_player, int lp_priority, string lp_cutscene, string lp_behavior) {

    // Variable Declarations

    int lv_itQueuePosition;

    int lv_priorityInt;

    int lv_desiredPosition;



    // Automatic Variable Declarations

    playergroup auto55A079BE_g;

    int auto55A079BE_var;

    int auto428A475E_ae;

    const int auto428A475E_ai = 1;

    int autoE999B1CE_ae;

    const int autoE999B1CE_ai = 1;



    // Variable Initialization



    // Implementation

    if ((lp_player > libCore_gv_bALMaxPlayers)) {

        return ;

    }



    if ((UnitHasBehavior2(libGame_gv_players[lp_player].lv_heroUnit, "HeroSharesCutsceneOverlaysSource") == true)) {

        auto55A079BE_g = PlayerGroupAlliance(c_playerGroupAlly, lp_player);

        auto55A079BE_var = -1;

        while (true) {

            	auto55A079BE_var = PlayerGroupNextPlayer(auto55A079BE_g, auto55A079BE_var);

            	if (auto55A079BE_var<0) { break; }

            	if ((UnitHasBehavior2(libGame_gv_players[auto55A079BE_var].lv_heroUnit, "HeroSharesCutsceneOverlaysDestination") == true)) {

                libUIUI_gf_FullscreenOverlayAddItemForPlayer(auto55A079BE_var, lp_priority, lp_cutscene, lp_behavior);

            }



        }

    }



    if ((libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_numberOfItemsInQueue >= libUIUI_gv_fullscreenOverlayMaxQueueSize_C)) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_524823FB", "A", IntToText(lp_player));

        TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_524823FB"), true);

        return ;

    }



    auto428A475E_ae = libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_numberOfItemsInQueue;

    lv_itQueuePosition = 1;

    for ( ; ( (auto428A475E_ai >= 0 && lv_itQueuePosition <= auto428A475E_ae) || (auto428A475E_ai < 0 && lv_itQueuePosition >= auto428A475E_ae) ) ; lv_itQueuePosition += auto428A475E_ai ) {

        if ((lp_behavior == libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_behavior[lv_itQueuePosition])) {

            return ;

        }



    }

    lv_priorityInt = (lp_priority);

    lv_desiredPosition = 0;

    if ((libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_numberOfItemsInQueue == 0)) {

        lv_desiredPosition = 1;

    }

    else {

        autoE999B1CE_ae = libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_numberOfItemsInQueue;

        lv_itQueuePosition = 1;

        for ( ; ( (autoE999B1CE_ai >= 0 && lv_itQueuePosition <= autoE999B1CE_ae) || (autoE999B1CE_ai < 0 && lv_itQueuePosition >= autoE999B1CE_ae) ) ; lv_itQueuePosition += autoE999B1CE_ai ) {

            if ((libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_priority[lv_itQueuePosition] > lv_priorityInt)) {

                lv_desiredPosition = lv_itQueuePosition;

                break;

            }



        }

        if ((lv_desiredPosition == 0)) {

            lv_desiredPosition = (libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_numberOfItemsInQueue + 1);

        }



    }

    libUIUI_gf_FullscreenOverlayInsertItemIntoQueueForPlayer(lp_player, lp_priority, lv_desiredPosition, lp_cutscene, lp_behavior);

    if ((lp_behavior == libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_behavior[1])) {

        libUIUI_gf_FullscreenOverlayPlayCutscene(lp_player, lp_cutscene);

    }



}



void libUIUI_gf_FullscreenOverlayInsertItemIntoQueueForPlayer (int lp_player, int lp_priority, int lp_desiredInsertPosition, string lp_cutscene, string lp_behavior) {

    // Variable Declarations

    int lv_itQueuePosition;

    int lv_insertPosition;



    // Automatic Variable Declarations

    int auto96355AA4_ae;

    const int auto96355AA4_ai = -1;



    // Variable Initialization



    // Implementation

    if ((lp_desiredInsertPosition > libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_numberOfItemsInQueue)) {

        libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_numberOfItemsInQueue += 1;

        lv_insertPosition = libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_numberOfItemsInQueue;

    }

    else {

        auto96355AA4_ae = lp_desiredInsertPosition;

        lv_itQueuePosition = libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_numberOfItemsInQueue;

        for ( ; ( (auto96355AA4_ai >= 0 && lv_itQueuePosition <= auto96355AA4_ae) || (auto96355AA4_ai < 0 && lv_itQueuePosition >= auto96355AA4_ae) ) ; lv_itQueuePosition += auto96355AA4_ai ) {

            libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_priority[(lv_itQueuePosition + 1)] = libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_priority[lv_itQueuePosition];

            libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_cutscene[(lv_itQueuePosition + 1)] = libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_cutscene[lv_itQueuePosition];

            libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_behavior[(lv_itQueuePosition + 1)] = libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_behavior[lv_itQueuePosition];

        }

        libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_numberOfItemsInQueue += 1;

        lv_insertPosition = lp_desiredInsertPosition;

    }

    libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_priority[lv_insertPosition] = (lp_priority);

    libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_cutscene[lv_insertPosition] = lp_cutscene;

    libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_behavior[lv_insertPosition] = lp_behavior;

}



void libUIUI_gf_FullscreenOverlayRemoveItemFromQueueForPlayer (int lp_player, string lp_cutscene, string lp_behavior) {

    // Automatic Variable Declarations

    // Implementation

    libUIUI_gf_FullscreenOverlayRemoveItemFromQueueWithCustomStop(lp_player, lp_cutscene, lp_behavior, "Stop");

}



void libUIUI_gf_FullscreenOverlayRemoveItemFromQueueWithCustomStop (int lp_player, string lp_cutscene, string lp_behavior, string lp_finalAnimationEvent) {

    // Variable Declarations

    int lv_numberOfItemsInQueue;

    int lv_positionInQueue;

    int lv_itQueuePosition;



    // Automatic Variable Declarations

    playergroup autoA91D20B2_g;

    int autoA91D20B2_var;

    int autoB28C435A_ae;

    const int autoB28C435A_ai = 1;

    int auto8A4F6F26_ae;

    const int auto8A4F6F26_ai = 1;



    // Variable Initialization



    // Implementation

    if (((lp_player == 0) || (lp_player > libCore_gv_bALMaxPlayers))) {

        return ;

    }



    if ((UnitHasBehavior2(libGame_gv_players[lp_player].lv_heroUnit, "HeroSharesCutsceneOverlaysSource") == true)) {

        autoA91D20B2_g = PlayerGroupAlliance(c_playerGroupAlly, lp_player);

        autoA91D20B2_var = -1;

        while (true) {

            	autoA91D20B2_var = PlayerGroupNextPlayer(autoA91D20B2_g, autoA91D20B2_var);

            	if (autoA91D20B2_var<0) { break; }

            	if ((UnitHasBehavior2(libGame_gv_players[autoA91D20B2_var].lv_heroUnit, "HeroSharesCutsceneOverlaysDestination") == true)) {

                libUIUI_gf_FullscreenOverlayRemoveItemFromQueueWithCustomStop(autoA91D20B2_var, lp_cutscene, lp_behavior, lp_finalAnimationEvent);

            }



        }

    }



    lv_numberOfItemsInQueue = libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_numberOfItemsInQueue;

    autoB28C435A_ae = lv_numberOfItemsInQueue;

    lv_itQueuePosition = 1;

    for ( ; ( (autoB28C435A_ai >= 0 && lv_itQueuePosition <= autoB28C435A_ae) || (autoB28C435A_ai < 0 && lv_itQueuePosition >= autoB28C435A_ae) ) ; lv_itQueuePosition += autoB28C435A_ai ) {

        if ((libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_behavior[lv_itQueuePosition] == lp_behavior)) {

            lv_positionInQueue = lv_itQueuePosition;

            break;

        }



    }

    if ((lv_positionInQueue == 0)) {

        return ;

    }



    if ((lv_numberOfItemsInQueue == 1)) {

        DialogControlSendAnimationEvent(libUIUI_gv_fullscreenOverlaysPanelRework.lv_overlayCutscene, libCore_gv_playerGroupFromPlayer[lp_player], lp_finalAnimationEvent);

        libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_numberOfItemsInQueue -= 1;

        return ;

    }



    auto8A4F6F26_ae = lv_numberOfItemsInQueue;

    lv_itQueuePosition = (lv_positionInQueue+1);

    for ( ; ( (auto8A4F6F26_ai >= 0 && lv_itQueuePosition <= auto8A4F6F26_ae) || (auto8A4F6F26_ai < 0 && lv_itQueuePosition >= auto8A4F6F26_ae) ) ; lv_itQueuePosition += auto8A4F6F26_ai ) {

        libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_priority[(lv_itQueuePosition - 1)] = libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_priority[lv_itQueuePosition];

        libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_cutscene[(lv_itQueuePosition - 1)] = libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_cutscene[lv_itQueuePosition];

        libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_behavior[(lv_itQueuePosition - 1)] = libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_behavior[lv_itQueuePosition];

    }

    libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_numberOfItemsInQueue -= 1;

    if ((lv_positionInQueue == 1)) {

        libUIUI_gf_FullscreenOverlayPlayCutscene(lp_player, libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_cutscene[1]);

        return ;

    }



}



void libUIUI_gf_FullscreenOverlayStopandClearCutsceneQueueForPlayer (int lp_player) {

    // Variable Declarations

    int lv_numberOfItemsInQueue;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    if ((libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_numberOfItemsInQueue > 0)) {

        DialogControlSendAnimationEvent(libUIUI_gv_fullscreenOverlaysPanelRework.lv_overlayCutscene, libCore_gv_playerGroupFromPlayer[lp_player], "Stop");

        libUIUI_gv_fullscreenOverlayQueue[lp_player].lv_numberOfItemsInQueue = 0;

    }



}



void libUIUI_gf_FullscreenOverlayPlayCutscene (int lp_player, string lp_cutscene) {

    // Automatic Variable Declarations

    // Implementation

    libNtve_gf_SetDialogItemCutscene(libUIUI_gv_fullscreenOverlaysPanelRework.lv_overlayCutscene, lp_cutscene, libCore_gv_playerGroupFromPlayer[lp_player]);

    DialogControlSendAnimationEvent(libUIUI_gv_fullscreenOverlaysPanelRework.lv_overlayCutscene, libCore_gv_playerGroupFromPlayer[lp_player], "Start");

}



void libUIUI_gf_FullscreenOverlaysShowHideDeathOverlay (bool lp_showHide, int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    if ((UnitHasBehavior2(libGame_gv_players[lp_player].lv_heroUnit, "HeroHasCustomDeathDisableDeathCutscene") == true)) {

        return ;

    }

    else {

        if ((lp_showHide == true)) {

            DialogControlSetVisible(libUIUI_gv_fullscreenOverlaysPanel.lv_deathOverlay, libCore_gv_playerGroupFromPlayer[lp_player], false);

            DialogControlSetVisible(libUIUI_gv_fullscreenOverlaysPanel.lv_deathOverlay, libCore_gv_playerGroupFromPlayer[lp_player], true);

            TimerPause(libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimer[lp_player], true);

        }

        else {

            DialogControlSendAnimationEvent(libUIUI_gv_fullscreenOverlaysPanel.lv_deathOverlay, libCore_gv_playerGroupFromPlayer[lp_player], "Stop");

            TimerStart(libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimer[lp_player], libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimerDuration_C, false, c_timeGame);

        }

    }

}



void libUIUI_gf_FullscreenOverlaysStopSpecialOverlay (int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    if (((lp_player < 1) || (lp_player > libCore_gv_bALMaxPlayers))) {

        return ;

    }



    DialogControlSendAnimationEvent(libUIUI_gv_fullscreenOverlaysPanel.lv_specialOverlay, libCore_gv_playerGroupFromPlayer[lp_player], "Stop");

    TimerStart(libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimer[lp_player], libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimerDuration_C, false, c_timeGame);

}



void libUIUI_gf_FullscreenOverlaysShowSpecialOverlay (string lp_cutscene, int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    if (((lp_player < 1) || (lp_player > libCore_gv_bALMaxPlayers))) {

        return ;

    }



    libNtve_gf_SetDialogItemCutscene(libUIUI_gv_fullscreenOverlaysPanel.lv_specialOverlay, lp_cutscene, libCore_gv_playerGroupFromPlayer[lp_player]);

    DialogControlSetVisible(libUIUI_gv_fullscreenOverlaysPanel.lv_specialOverlay, libCore_gv_playerGroupFromPlayer[lp_player], true);

    TimerPause(libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimer[lp_player], true);

}



void libUIUI_gf_FullscreenOverlaysCreateCCEffectFlashForPlayer (int lp_player, fixed lp_cCDuration) {

    // Variable Declarations

    fixed lv_fadeTime;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_fadeTime = 0.25;



    // Implementation

    libNtve_gf_SetDialogItemColor(libUIUI_gv_fullscreenOverlaysPanel.lv_cCSplashImage, Color(0.00, 0.00, 100.00), PlayerGroupAll());

    DialogControlFadeTransparency(libUIUI_gv_fullscreenOverlaysPanel.lv_cCSplashImage, PlayerGroupSingle(lp_player), 0.0, 0.0);

    if ((lp_cCDuration > lv_fadeTime) && (lp_cCDuration < 32765.0)) {

        if ((libGame_gv_players[lp_player].lv_activeVehicle == null)) {

            while (((UnitFilterMatch(libGame_gv_players[lp_player].lv_heroUnit, 1, UnitFilter(0, (1 << (c_targetFilterOrdersPaused - 32)), 0, 0)) == true) || (UnitFilterMatch(libGame_gv_players[lp_player].lv_heroUnit, 1, UnitFilter(0, (1 << (c_targetFilterStasis - 32)), 0, 0)) == true) || (UnitFilterMatch(libGame_gv_players[lp_player].lv_heroUnit, 1, UnitFilter(0, (1 << (c_targetFilterSilenced - 32)), 0, 0)) == true))) {

                Wait(0.0625, c_timeGame);

            }

        }

        else {

            while ((UnitIsAlive(libGame_gv_players[lp_player].lv_activeVehicle) == true) && ((UnitFilterMatch(libGame_gv_players[lp_player].lv_activeVehicle, 1, UnitFilter(0, (1 << (c_targetFilterOrdersPaused - 32)), 0, 0)) == true) || (UnitFilterMatch(libGame_gv_players[lp_player].lv_activeVehicle, 1, UnitFilter(0, (1 << (c_targetFilterStasis - 32)), 0, 0)) == true) || (UnitFilterMatch(libGame_gv_players[lp_player].lv_activeVehicle, 1, UnitFilter(0, (1 << (c_targetFilterSilenced - 32)), 0, 0)) == true))) {

                Wait(0.0625, c_timeGame);

            }

        }

        DialogControlFadeTransparency(libUIUI_gv_fullscreenOverlaysPanel.lv_cCSplashImage, PlayerGroupSingle(lp_player), lv_fadeTime, 100.0);

    }

    else {

        while (((UnitBehaviorCount(libGame_gv_players[lp_player].lv_heroUnit, "StitchesHooked") > 0) || (UnitBehaviorCount(libGame_gv_players[lp_player].lv_heroUnit, "VoidPrisonDisplay") > 0) || (UnitBehaviorCount(libGame_gv_players[lp_player].lv_heroUnit, "AmazonValkyrieImpaleImpaledTarget") > 0) || (UnitBehaviorCount(libGame_gv_players[lp_player].lv_heroUnit, "AmazonValkyrieImpaleFinalStun") > 0))) {

            Wait(0.0625, c_timeGame);

        }

        DialogControlFadeTransparency(libUIUI_gv_fullscreenOverlaysPanel.lv_cCSplashImage, PlayerGroupSingle(lp_player), (lv_fadeTime / 2.0), 100.0);

    }

}



void libUIUI_gf_GameOverSplashDisplayForAllPlayers (int lp_winningTeam) {

    // Automatic Variable Declarations

    // Implementation

    libUIUI_gf_GameOverSplashShowHideForAllPlayers(true, lp_winningTeam);

}



void libUIUI_gf_GameOverSplashShowHideForAllPlayers (bool lp_showHide, int lp_winningTeam) {

    // Variable Declarations

    int lv_itPlayer;



    // Automatic Variable Declarations

    const int auto715961E6_ae = libCore_gv_bALMaxPlayers;

    const int auto715961E6_ai = 1;

    int autoDFBE4811_val;

    int autoCCD02957_val;



    // Variable Initialization



    // Implementation

    lv_itPlayer = 1;

    for ( ; ( (auto715961E6_ai >= 0 && lv_itPlayer <= auto715961E6_ae) || (auto715961E6_ai < 0 && lv_itPlayer >= auto715961E6_ae) ) ; lv_itPlayer += auto715961E6_ai ) {

        autoDFBE4811_val = libGame_gv_players[lv_itPlayer].lv_victoryDefeat;

        if (autoDFBE4811_val == c_gameOverVictory) {

            DialogControlSetVisible(libUIUI_gv_gameOverSplash.lv_victoryFrame, libCore_gv_playerGroupFromPlayer[lv_itPlayer], lp_showHide);

        }

        else if (autoDFBE4811_val == c_gameOverDefeat) {

            DialogControlSetVisible(libUIUI_gv_gameOverSplash.lv_defeatFrame, libCore_gv_playerGroupFromPlayer[lv_itPlayer], lp_showHide);

        }

        else {

        }

        DialogControlSetVisible(libUIUI_gv_gameOverSplash.lv_mainPanel, libCore_gv_playerGroupFromPlayer[lv_itPlayer], lp_showHide);

        if ((lp_showHide == true)) {

            UnitStatusBarOverride(libGame_gv_players[lv_itPlayer].lv_heroUnit, -1);

        }

        else {

            UnitStatusBarOverride(libGame_gv_players[lv_itPlayer].lv_heroUnit, c_unitStatusGroupAll);

        }

    }

    DialogControlSetVisible(libUIUI_gv_uIGameUIHandles.lv_gameMenuButton, PlayerGroupAll(), lp_showHide);

    autoCCD02957_val = lp_winningTeam;

    if (autoCCD02957_val == libGame_gv_teamOrderIndex_C) {

        DialogControlSetVisible(libUIUI_gv_gameOverSplash.lv_victoryFrame, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], lp_showHide);

    }

    else if (autoCCD02957_val == libGame_gv_teamChaosIndex_C) {

        DialogControlSetVisible(libUIUI_gv_gameOverSplash.lv_defeatFrame, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], lp_showHide);

    }

    else if (autoCCD02957_val == 0) {

        if ((lp_showHide == true)) {

            libNtve_gf_SetDialogItemText(libUIUI_gv_gameOverSplash.lv_defeatLabel, StringExternal("Param/Value/lib_UIUI_2F6F064B"), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

        }



        DialogControlSetVisible(libUIUI_gv_gameOverSplash.lv_defeatFrame, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], lp_showHide);

    }

    else {

    }

    DialogControlSetVisible(libUIUI_gv_gameOverSplash.lv_mainPanel, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], lp_showHide);

}



void libUIUI_gf_UIGameUIShowHideConsolePanelForPlayer (bool lp_showHide, int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetVisible(libUIUI_gv_uIGameUIHandles.lv_consolePanel, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

}



void libUIUI_gf_UIHealingFountainsHelpTextCreateTextTagsForTeam (int lp_team) {

    // Variable Declarations

    unitgroup lv_healingFountainsGroup;

    int lv_itTextTag;

    unit lv_itU;

    text lv_helpLabel;



    // Automatic Variable Declarations

    unitgroup autoD6CBEC40_g;

    int autoD6CBEC40_u;



    // Variable Initialization

    lv_healingFountainsGroup = UnitGroupEmpty();



    // Implementation

    UnitGroupAddUnitGroup(lv_healingFountainsGroup, UnitGroup("TownMoonwellL2", libGame_gv_teams[lp_team].lv_nPCPlayer, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));

    UnitGroupAddUnitGroup(lv_healingFountainsGroup, UnitGroup("TownMoonwellL3", libGame_gv_teams[lp_team].lv_nPCPlayer, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));

    if ((UnitGroupCount(lv_healingFountainsGroup, c_unitCountAlive) > libGame_gv_moonwellMaxMoonwellCount)) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_DE134FE2", "A", IntToText(libGame_gv_moonwellMaxMoonwellCount));

        TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_DE134FE2"), true);

    }



    if (((libCore_gv_sYSGameMode == libCore_ge_GameModes_Normal) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_Sandbox) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_AttackDefend) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_ArenaMode) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_ModeC))) {

        lv_helpLabel = StringExternal("Param/Value/lib_UIUI_28EB608E");

    }

    else {

        lv_helpLabel = StringExternal("Param/Value/lib_UIUI_70B25B17");

    }

    autoD6CBEC40_g = lv_healingFountainsGroup;

    autoD6CBEC40_u = UnitGroupCount(autoD6CBEC40_g, c_unitCountAll);

    for (;; autoD6CBEC40_u -= 1) {

        lv_itU = UnitGroupUnitFromEnd(autoD6CBEC40_g, autoD6CBEC40_u);

        if (lv_itU == null) { break; }

        lv_itTextTag += 1;

        TextTagCreate(lv_helpLabel, 24, UnitGetPosition(lv_itU), libUIUI_gv_uI_HealingFountainsHelpText_HeightOffset_C, false, false, PlayerGroupAll());

        libUIUI_gv_uIHealingFountainsHelpText[lp_team][lv_itTextTag].lv_textTag = TextTagLastCreated();

        libUIUI_gv_uIHealingFountainsHelpText[lp_team][lv_itTextTag].lv_healingFountain = lv_itU;

    }

}



void libUIUI_gf_UIHealingFountainsHelpTextShowHideForPlayer (int lp_player, bool lp_showHide) {

    // Variable Declarations

    int lv_itTextTag;

    int lv_arrayToUse;



    // Automatic Variable Declarations

    const int auto2CCEED65_ae = libUIUI_gv_uI_HealingFountainsHelpText_ArraySize_C;

    const int auto2CCEED65_ai = 1;



    // Variable Initialization

    lv_arrayToUse = libGame_gf_TeamNumberOfPlayer(lp_player);



    // Implementation

    if ((lp_showHide == true)) {

        libUIUI_gv_uIHealingFountainsHelpTextTextShowing[lp_player] = true;

    }

    else {

        libUIUI_gv_uIHealingFountainsHelpTextTextShowing[lp_player] = false;

    }

    lv_itTextTag = 1;

    for ( ; ( (auto2CCEED65_ai >= 0 && lv_itTextTag <= auto2CCEED65_ae) || (auto2CCEED65_ai < 0 && lv_itTextTag >= auto2CCEED65_ae) ) ; lv_itTextTag += auto2CCEED65_ai ) {

        if ((libUIUI_gv_uIHealingFountainsHelpText[lv_arrayToUse][lv_itTextTag].lv_textTag == c_textTagNone)) {

            break;

        }

        else {

            if (((lp_showHide == false) || (UnitIsAlive(libUIUI_gv_uIHealingFountainsHelpText[lv_arrayToUse][lv_itTextTag].lv_healingFountain) == true))) {

                TextTagShow(libUIUI_gv_uIHealingFountainsHelpText[lv_arrayToUse][lv_itTextTag].lv_textTag, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

            }



        }

    }

}



void libUIUI_gf_AttachHelpButtonToUnit (unit lp_attachedUnit, trigger lp_callback, text lp_helpText, int lp_xOffset, int lp_yOffset) {

    // Automatic Variable Declarations

    // Implementation

    if ((libUIUI_gv_helpButtonCount >= libUIUI_gv_helpButtonMaxCount_C)) {

        return ;

    }



    libUIUI_gv_helpButtonCount += 1;

    DialogControlHookupUnitStatus(c_triggerControlTypePanel, "AttachPointFrame", lp_attachedUnit);

    libUIUI_gv_helpButtonFrames[libUIUI_gv_helpButtonCount] = DialogControlLastCreated();

    DialogControlSetPosition(DialogControlLastCreated(), PlayerGroupAll(), c_anchorTopLeft, lp_xOffset, lp_yOffset);

    DialogControlHookupUnitStatus(c_triggerControlTypeLabel, "HelpText", lp_attachedUnit);

    libUIUI_gv_helpButtonLabels[libUIUI_gv_helpButtonCount] = DialogControlLastCreated();

    TextExpressionSetToken("Param/Expression/lib_UIUI_C420E9AE", "A", StringExternal("Param/Value/lib_UIUI_ECEBD1AC"));

    TextExpressionSetToken("Param/Expression/lib_UIUI_C420E9AE", "B", lp_helpText);

    libNtve_gf_SetDialogItemText(libUIUI_gv_helpButtonLabels[libUIUI_gv_helpButtonCount], TextExpressionAssemble("Param/Expression/lib_UIUI_C420E9AE"), PlayerGroupAll());

    UnitStatusBarOverride(lp_attachedUnit, c_unitStatusGroupAll);

    libUIUI_gv_helpButtonCallbacks[libUIUI_gv_helpButtonCount] = lp_callback;

    libUIUI_gv_helpButtonUnits[libUIUI_gv_helpButtonCount] = lp_attachedUnit;

}



void libUIUI_gf_ShowHideHelpButtonOnUnitForPlayer (int lp_player, bool lp_showHide, unit lp_unit) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetVisible(libUIUI_gv_helpButtonLabels[libUIUI_gf_HelpButtonFromUnit(lp_unit)], libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

}



int libUIUI_gf_HelpButtonClickedPlayer () {

    // Automatic Variable Declarations

    // Implementation

    return DataTableGetInt(true, libUIUI_gv_helpButtonDataTableKey_C);

}



void libUIUI_gf_SetHelpButtonText (unit lp_unit, text lp_text, playergroup lp_players) {

    // Variable Declarations

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_index = libUIUI_gf_HelpButtonFromUnit(lp_unit);

    if ((lv_index <= 0)) {

        return ;

    }



    libNtve_gf_SetDialogItemText(libUIUI_gv_helpButtonLabels[lv_index], lp_text, lp_players);

}



int libUIUI_gf_HelpButtonFromUnit (unit lp_unit) {

    // Variable Declarations

    int lv_itIndex;



    // Automatic Variable Declarations

    int auto32E447F9_ae;

    const int auto32E447F9_ai = 1;



    // Variable Initialization



    // Implementation

    auto32E447F9_ae = libUIUI_gv_helpButtonCount;

    lv_itIndex = 1;

    for ( ; ( (auto32E447F9_ai >= 0 && lv_itIndex <= auto32E447F9_ae) || (auto32E447F9_ai < 0 && lv_itIndex >= auto32E447F9_ae) ) ; lv_itIndex += auto32E447F9_ai ) {

        if ((libUIUI_gv_helpButtonUnits[lv_itIndex] == lp_unit)) {

            return lv_itIndex;

        }



    }

    return 0;

}



void libUIUI_gf_UIHeroConsoleShowHideForPlayer (bool lp_showHide, int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_mainPanel, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

    DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_buffDebuffPanel, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

    DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_gameUIPortrait, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

    UISetFrameVisible(libCore_gv_playerGroupFromPlayer[lp_player], c_syncFrameTypeCommandPanel, lp_showHide);

}



void libUIUI_gf_UIHeroConsoleShowHideUnitStatusFrameForPlayer (bool lp_showHide, int lp_player) {

    // Automatic Variable Declarations

    int auto15575334_val;

    int autoA5817BAB_val;



    // Implementation

    if ((lp_showHide == true)) {

        DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsFuryStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], false);

        DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsBlinkingEnergyStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], false);

        DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsBrewStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], false);

        DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], false);

        DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyNoShieldStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], false);

        DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsEnergyStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], false);

        DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsUnitStatusFrame, libCore_gv_playerGroupFromPlayer[lp_player], false);

        DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsBreathStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], false);

        DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsRageStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], false);

    }



    if ((UnitGetType(libGame_gv_players[lp_player].lv_activeVehicle) != "VolskayaVehicle") && (UnitGetType(libGame_gv_players[lp_player].lv_activeVehicle) != "VolskayaVehicleGunner") && ((libGame_gv_players[lp_player].lv_activeVehicle == null) || (UnitGetType(libGame_gv_players[lp_player].lv_heroUnit) != "HeroAbathur"))) {

        autoA5817BAB_val = libUIUI_gf_UIGetHeroResourceType(UnitGetType(libGame_gv_players[lp_player].lv_heroUnit));

        if (autoA5817BAB_val == libUIUI_ge_UIHeroResourceType_None) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else if (autoA5817BAB_val == libUIUI_ge_UIHeroResourceType_NoShields) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyNoShieldStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else if (autoA5817BAB_val == libUIUI_ge_UIHeroResourceType_Orange) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsFuryStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else if (autoA5817BAB_val == libUIUI_ge_UIHeroResourceType_Yellow) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsBrewStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else if (autoA5817BAB_val == libUIUI_ge_UIHeroResourceType_Pink) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsEnergyStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else if (autoA5817BAB_val == libUIUI_ge_UIHeroResourceType_Blinking) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsBlinkingEnergyStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else if (autoA5817BAB_val == libUIUI_ge_UIHeroResourceType_Breath) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsBreathStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else if (autoA5817BAB_val == libUIUI_ge_UIHeroResourceType_Rage) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsRageStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsUnitStatusFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

    }

    else {

        auto15575334_val = libUIUI_gf_UIGetHeroResourceType(UnitGetType(libGame_gv_players[lp_player].lv_activeVehicle));

        if (auto15575334_val == libUIUI_ge_UIHeroResourceType_None) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else if (auto15575334_val == libUIUI_ge_UIHeroResourceType_Orange) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsFuryStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else if (auto15575334_val == libUIUI_ge_UIHeroResourceType_NoShields) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyNoShieldStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else if (auto15575334_val == libUIUI_ge_UIHeroResourceType_Yellow) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsBrewStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else if (auto15575334_val == libUIUI_ge_UIHeroResourceType_Pink) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsEnergyStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else if (auto15575334_val == libUIUI_ge_UIHeroResourceType_Blinking) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsBlinkingEnergyStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else if (auto15575334_val == libUIUI_ge_UIHeroResourceType_Breath) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsBreathStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else if (auto15575334_val == libUIUI_ge_UIHeroResourceType_Rage) {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsRageStatFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

        else {

            DialogControlSetVisible(libUIUI_gv_uIHeroConsole.lv_heroStatsUnitStatusFrame, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

        }

    }

}



void libUIUI_gf_UIHeroConsoleSetUpForPlayer (unit lp_unit, int lp_player) {

    // Variable Declarations

    text lv_healthText;



    // Automatic Variable Declarations

    int auto4296FE76_val;

    int auto4832C7DC_val;

    string autoAFEECCF3_val;



    // Variable Initialization



    // Implementation

    lv_healthText = StringExternal("Param/Value/lib_UIUI_6796A88E");

    libUIUI_gf_UIHeroConsoleShowHideUnitStatusFrameForPlayer(true, lp_player);

    if ((UnitGetType(libGame_gv_players[lp_player].lv_activeVehicle) != "VolskayaVehicle") && (UnitGetType(libGame_gv_players[lp_player].lv_activeVehicle) != "VolskayaVehicleGunner") && ((libGame_gv_players[lp_player].lv_activeVehicle == null) || (UnitGetType(libGame_gv_players[lp_player].lv_heroUnit) != "HeroAbathur"))) {

        auto4832C7DC_val = libUIUI_gf_UIGetHeroResourceType(UnitGetType(libGame_gv_players[lp_player].lv_heroUnit));

        if (auto4832C7DC_val == libUIUI_ge_UIHeroResourceType_None) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else if (auto4832C7DC_val == libUIUI_ge_UIHeroResourceType_NoShields) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyNoShieldStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyNoShieldStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else if (auto4832C7DC_val == libUIUI_ge_UIHeroResourceType_Orange) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsFuryStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsFuryStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else if (auto4832C7DC_val == libUIUI_ge_UIHeroResourceType_Yellow) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsBrewStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsBrewStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else if (auto4832C7DC_val == libUIUI_ge_UIHeroResourceType_Breath) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsBreathStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsBreathStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else if (auto4832C7DC_val == libUIUI_ge_UIHeroResourceType_Rage) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsRageStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsRageStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else if (auto4832C7DC_val == libUIUI_ge_UIHeroResourceType_Pink) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsUnitStatusFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsEnergyStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsEnergyStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else if (auto4832C7DC_val == libUIUI_ge_UIHeroResourceType_Blinking) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsBlinkingEnergyStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsBlinkingEnergyStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsUnitStatusFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            libNtve_gf_SetDialogItemTooltip(libUIUI_gv_uIHeroConsole.lv_heroStatsHealthBar, lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

            libNtve_gf_SetDialogItemTooltip(libUIUI_gv_uIHeroConsole.lv_heroStatsManaBar, StringExternal("Param/Value/lib_UIUI_0D593A89"), libCore_gv_playerGroupFromPlayer[lp_player]);

        }

    }

    else {

        auto4296FE76_val = libUIUI_gf_UIGetHeroResourceType(UnitGetType(libGame_gv_players[lp_player].lv_activeVehicle));

        if (auto4296FE76_val == libUIUI_ge_UIHeroResourceType_None) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else if (auto4296FE76_val == libUIUI_ge_UIHeroResourceType_NoShields) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyNoShieldStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyNoShieldStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else if (auto4296FE76_val == libUIUI_ge_UIHeroResourceType_Orange) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsFuryStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsFuryStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else if (auto4296FE76_val == libUIUI_ge_UIHeroResourceType_Yellow) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsBrewStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsBrewStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else if (auto4296FE76_val == libUIUI_ge_UIHeroResourceType_Pink) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsUnitStatusFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsEnergyStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsEnergyStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else if (auto4296FE76_val == libUIUI_ge_UIHeroResourceType_Blinking) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsBlinkingEnergyStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsBlinkingEnergyStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else if (auto4296FE76_val == libUIUI_ge_UIHeroResourceType_Breath) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsBreathStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsBreathStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else if (auto4296FE76_val == libUIUI_ge_UIHeroResourceType_Rage) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsRageStatFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsRageStatFrame, c_triggerControlTypeUnitStatusBar, "HealthBar");

            libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroConsole.lv_heroStatsUnitStatusFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

            libNtve_gf_SetDialogItemTooltip(libUIUI_gv_uIHeroConsole.lv_heroStatsHealthBar, lv_healthText, libCore_gv_playerGroupFromPlayer[lp_player]);

            libNtve_gf_SetDialogItemTooltip(libUIUI_gv_uIHeroConsole.lv_heroStatsManaBar, StringExternal("Param/Value/lib_UIUI_59A5022A"), libCore_gv_playerGroupFromPlayer[lp_player]);

        }

    }

    autoAFEECCF3_val = UnitGetType(libGame_gv_players[lp_player].lv_heroUnit);

    if (autoAFEECCF3_val == "HeroTinker") {

        DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsBrewStatFrame, c_triggerControlTypeUnitStatusBar, "EnergyBar");

        libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), StringToText(""), libCore_gv_playerGroupFromPlayer[lp_player]);

    }

    else if (autoAFEECCF3_val == "HeroValeera") {

        DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsBrewStatFrame, c_triggerControlTypeUnitStatusBar, "EnergyBar");

        libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), StringToText(""), libCore_gv_playerGroupFromPlayer[lp_player]);

    }

    else if (autoAFEECCF3_val == "HeroMedic") {

        DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsBrewStatFrame, c_triggerControlTypeUnitStatusBar, "EnergyBar");

        libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), StringToText(""), libCore_gv_playerGroupFromPlayer[lp_player]);

    }

    else if (autoAFEECCF3_val == "HeroChen") {

        DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsBrewStatFrame, c_triggerControlTypeUnitStatusBar, "EnergyBar");

        libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), StringExternal("Param/Value/lib_UIUI_4051986D"), libCore_gv_playerGroupFromPlayer[lp_player]);

    }

    else if (autoAFEECCF3_val == "HeroBarbarian") {

        DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsFuryStatFrame, c_triggerControlTypeUnitStatusBar, "EnergyBar");

        libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), StringExternal("Param/Value/lib_UIUI_54736515"), libCore_gv_playerGroupFromPlayer[lp_player]);

    }

    else if (autoAFEECCF3_val == "HeroZarya") {

        DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsEnergyStatFrame, c_triggerControlTypeUnitStatusBar, "EnergyBar");

        libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), StringExternal("Param/Value/lib_UIUI_64406079"), libCore_gv_playerGroupFromPlayer[lp_player]);

    }

    else if (autoAFEECCF3_val == "HeroDeathwing") {

        DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsBreathStatFrame, c_triggerControlTypeUnitStatusBar, "EnergyBar");

        libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), StringExternal("Param/Value/lib_UIUI_0E6A1519"), libCore_gv_playerGroupFromPlayer[lp_player]);

    }

    else if (autoAFEECCF3_val == "HeroHogger") {

        DialogControlHookup(libUIUI_gv_uIHeroConsole.lv_heroStatsRageStatFrame, c_triggerControlTypeUnitStatusBar, "EnergyBar");

        libNtve_gf_SetDialogItemTooltip(DialogControlLastCreated(), StringExternal("Param/Value/lib_UIUI_E1FBE224"), libCore_gv_playerGroupFromPlayer[lp_player]);

    }

    else {

    }

}



void libUIUI_gf_HeroConsoleUnitStatusBarsUpdateStunDeathBar (string lp_newBehavior, int lp_player) {

    // Variable Declarations

    int lv_player;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_player = lp_player;

    if ((lv_player > libCore_gv_bALMaxEnginePlayerCount)) {

        return ;

    }



    if (((lp_newBehavior == ("OverwatchBossBeingImprisonedBehavior")) || (lp_newBehavior == ("MaievContainmentDiscStoppedSilence")))) {

        return ;

    }



    if ((lp_newBehavior == "Dead")) {

        DialogControlSetAnimationState(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarParentFrame, libCore_gv_playerGroupFromPlayer[lv_player], "DeadOrStunned", "Dead");

        libUIUI_gv_heroConsoleUnitStatusBars_StunDeathBarCurrentBehaviorForPlayer[lv_player] = lp_newBehavior;

        libNtve_gf_SetDialogItemBehavior(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarLeftBar, lp_newBehavior, libCore_gv_playerGroupFromPlayer[lv_player]);

        libNtve_gf_SetDialogItemBehavior(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarRightBar, lp_newBehavior, libCore_gv_playerGroupFromPlayer[lv_player]);

        libNtve_gf_SetDialogItemText(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarDescriptionLabel, StringExternal("Param/Value/lib_UIUI_5CE53894"), libCore_gv_playerGroupFromPlayer[lv_player]);

        libNtve_gf_SetDialogItemImage(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarIcon, "@UI/HUD_Bar_DeathStun_Icon_Stun", libCore_gv_playerGroupFromPlayer[lv_player]);

    }

    else {

        if ((lp_newBehavior == "GuldanDarkBargainDuration")) {

            DialogControlSetAnimationState(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarParentFrame, libCore_gv_playerGroupFromPlayer[lv_player], "DeadOrStunned", "Dead");

            libUIUI_gv_heroConsoleUnitStatusBars_StunDeathBarCurrentBehaviorForPlayer[lv_player] = lp_newBehavior;

            libNtve_gf_SetDialogItemBehavior(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarLeftBar, lp_newBehavior, libCore_gv_playerGroupFromPlayer[lv_player]);

            libNtve_gf_SetDialogItemBehavior(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarRightBar, lp_newBehavior, libCore_gv_playerGroupFromPlayer[lv_player]);

            libNtve_gf_SetDialogItemText(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarDescriptionLabel, StringExternal("Param/Value/lib_UIUI_A7D5AC14"), libCore_gv_playerGroupFromPlayer[lv_player]);

            libNtve_gf_SetDialogItemImage(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarIcon, "@UI/HUD_Bar_DeathStun_Icon_Stun", libCore_gv_playerGroupFromPlayer[lv_player]);

        }

        else {

            if ((UnitBehaviorDuration(libGame_gv_players[lv_player].lv_unitStatusBarsMonitorUnit_StunDeath, lp_newBehavior) >= UnitBehaviorDuration(libGame_gv_players[lv_player].lv_unitStatusBarsMonitorUnit_StunDeath, libUIUI_gv_heroConsoleUnitStatusBars_StunDeathBarCurrentBehaviorForPlayer[lv_player]))) {

                DialogControlSetAnimationState(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarParentFrame, libCore_gv_playerGroupFromPlayer[lv_player], "DeadOrStunned", "Stunned");

                libUIUI_gv_heroConsoleUnitStatusBars_StunDeathBarCurrentBehaviorForPlayer[lv_player] = lp_newBehavior;

                libNtve_gf_SetDialogItemBehavior(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarLeftBar, lp_newBehavior, libCore_gv_playerGroupFromPlayer[lv_player]);

                libNtve_gf_SetDialogItemBehavior(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarRightBar, lp_newBehavior, libCore_gv_playerGroupFromPlayer[lv_player]);

                libNtve_gf_SetDialogItemText(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarDescriptionLabel, StringExternal("Param/Value/lib_UIUI_33824A8F"), libCore_gv_playerGroupFromPlayer[lv_player]);

                libNtve_gf_SetDialogItemImage(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarIcon, (CatalogFieldValueGet(c_gameCatalogBehavior, lp_newBehavior, "InfoIcon", c_playerAny)), libCore_gv_playerGroupFromPlayer[lv_player]);

            }



        }

    }

    DialogControlSetVisible(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarParentFrame, libCore_gv_playerGroupFromPlayer[lv_player], true);

}



void libUIUI_gf_HeroConsoleUnitStatusBarsSetUnitForBars (unit lp_unit, int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    libGame_gv_players[lp_player].lv_unitStatusBarsMonitorUnit_StunDeath = lp_unit;

    libNtve_gf_SetDialogItemUnit(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarParentFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

    libGame_gv_players[lp_player].lv_unitStatusBarsMonitorUnit_Channel = lp_unit;

    libNtve_gf_SetDialogItemUnit(libUIUI_gv_heroConsoleUnitStatusBars.lv_castChannelBarParentFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

    libGame_gv_players[lp_player].lv_unitStatusBarsMonitorUnit_Behavior = lp_unit;

    libNtve_gf_SetDialogItemUnit(libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarParentFrame, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

    libNtve_gf_SetDialogItemUnit(libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarParentFrameRight, lp_unit, libCore_gv_playerGroupFromPlayer[lp_player]);

}



void libUIUI_gf_HeroConsoleUnitStatusBarsUpdateForPlayer (int lp_player) {

    // Variable Declarations

    fixed lv_behaviorDurationRemaining;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_behaviorDurationRemaining = UnitBehaviorDuration(libGame_gv_players[lp_player].lv_unitStatusBarsMonitorUnit_StunDeath, libUIUI_gv_heroConsoleUnitStatusBars_StunDeathBarCurrentBehaviorForPlayer[lp_player]);

    if ((lv_behaviorDurationRemaining > 0.0)) {

        if ((lv_behaviorDurationRemaining < 32767.0)) {

            libNtve_gf_SetDialogItemText(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarTimeLabel, FixedToText(lv_behaviorDurationRemaining, 1), libCore_gv_playerGroupFromPlayer[lp_player]);

            DialogControlSetVisible(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarTimeLabel, libCore_gv_playerGroupFromPlayer[lp_player], true);

        }

        else {

            DialogControlSetVisible(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarTimeLabel, libCore_gv_playerGroupFromPlayer[lp_player], false);

        }

    }

    else {

        DialogControlSetVisible(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarParentFrame, libCore_gv_playerGroupFromPlayer[lp_player], false);

    }

    lv_behaviorDurationRemaining = UnitBehaviorDuration(libGame_gv_players[lp_player].lv_unitStatusBarsMonitorUnit_Behavior, libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayer[lp_player]);

    if ((lv_behaviorDurationRemaining <= 0.0)) {

        DialogControlSetVisible(libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarParentFrame, libCore_gv_playerGroupFromPlayer[lp_player], false);

    }



    lv_behaviorDurationRemaining = UnitBehaviorDuration(libGame_gv_players[lp_player].lv_unitStatusBarsMonitorUnit_Behavior, libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayerRight[lp_player]);

    if ((lv_behaviorDurationRemaining <= 0.0)) {

        DialogControlSetVisible(libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarParentFrameRight, libCore_gv_playerGroupFromPlayer[lp_player], false);

    }



}



void libUIUI_gf_HeroConsoleUnitStatusBarsSetChannelBehaviorForBehaviorChannelBar (int lp_player, string lp_behavior) {

    // Variable Declarations

    unit lv_heroUnit;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_heroUnit = libGame_gv_players[lp_player].lv_unitStatusBarsMonitorUnit_Channel;

    if (((UnitBehaviorDuration(lv_heroUnit, lp_behavior) >= UnitBehaviorDuration(lv_heroUnit, libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayer[lp_player])) || (CatalogFieldValueGetAsInt(c_gameCatalogBehavior, lp_behavior, "DisplayPriority", c_playerAny) > CatalogFieldValueGetAsInt(c_gameCatalogBehavior, libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayer[lp_player], "DisplayPriority", c_playerAny)))) {

        if ((libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayer[lp_player] != "") && (UnitBehaviorDurationTotal(lv_heroUnit, libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayer[lp_player]) > 0.0) && (CatalogFieldValueGetAsInt(c_gameCatalogBehavior, lp_behavior, "DisplayPriority", c_playerAny) < CatalogFieldValueGetAsInt(c_gameCatalogBehavior, libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayer[lp_player], "DisplayPriority", c_playerAny))) {

            return ;

        }



        libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayer[lp_player] = lp_behavior;

        libNtve_gf_SetDialogItemBehavior(libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarDurationBar, lp_behavior, libCore_gv_playerGroupFromPlayer[lp_player]);

        libNtve_gf_SetDialogItemText(libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarBehaviorLabel, StringExternal(CatalogFieldValueGet(c_gameCatalogBehavior, lp_behavior, "Name", c_playerAny)), libCore_gv_playerGroupFromPlayer[lp_player]);

    }



    DialogControlSetVisible(libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarParentFrame, libCore_gv_playerGroupFromPlayer[lp_player], true);

}



void libUIUI_gf_HeroConsoleUnitStatusBarsSetChannelBehaviorForBehaviorChannelBarRight (int lp_player, string lp_behavior) {

    // Variable Declarations

    unit lv_heroUnit;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_heroUnit = libGame_gv_players[lp_player].lv_unitStatusBarsMonitorUnit_Channel;

    if (((UnitBehaviorDuration(lv_heroUnit, lp_behavior) >= UnitBehaviorDuration(lv_heroUnit, libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayerRight[lp_player])) || (CatalogFieldValueGetAsInt(c_gameCatalogBehavior, lp_behavior, "DisplayPriority", c_playerAny) > CatalogFieldValueGetAsInt(c_gameCatalogBehavior, libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayerRight[lp_player], "DisplayPriority", c_playerAny)))) {

        if ((libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayerRight[lp_player] != "") && (UnitBehaviorDurationTotal(lv_heroUnit, libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayerRight[lp_player]) > 0.0) && (CatalogFieldValueGetAsInt(c_gameCatalogBehavior, lp_behavior, "DisplayPriority", c_playerAny) < CatalogFieldValueGetAsInt(c_gameCatalogBehavior, libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayerRight[lp_player], "DisplayPriority", c_playerAny))) {

            return ;

        }



        libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayerRight[lp_player] = lp_behavior;

        libNtve_gf_SetDialogItemBehavior(libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarDurationBarRight, lp_behavior, libCore_gv_playerGroupFromPlayer[lp_player]);

        libNtve_gf_SetDialogItemText(libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarBehaviorLabelRight, StringExternal(CatalogFieldValueGet(c_gameCatalogBehavior, lp_behavior, "Name", c_playerAny)), libCore_gv_playerGroupFromPlayer[lp_player]);

    }



    DialogControlSetVisible(libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarParentFrameRight, libCore_gv_playerGroupFromPlayer[lp_player], true);

}



void libUIUI_gf_HeroConsoleUnitStatusBarsSetChannelBehaviorForBehaviorChannelBarFromUnit (int lp_player, string lp_behavior, unit lp_unit) {

    // Variable Declarations

    unit lv_heroUnit;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_heroUnit = lp_unit;

    if ((UnitBehaviorDuration(lv_heroUnit, lp_behavior) >= UnitBehaviorDuration(lv_heroUnit, libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayer[lp_player]))) {

        libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayer[lp_player] = lp_behavior;

        libNtve_gf_SetDialogItemBehavior(libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarDurationBar, lp_behavior, libCore_gv_playerGroupFromPlayer[lp_player]);

        libNtve_gf_SetDialogItemText(libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarBehaviorLabel, StringExternal(CatalogFieldValueGet(c_gameCatalogBehavior, lp_behavior, "Name", c_playerAny)), libCore_gv_playerGroupFromPlayer[lp_player]);

    }



    DialogControlSetVisible(libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarParentFrame, libCore_gv_playerGroupFromPlayer[lp_player], true);

}



void libUIUI_gf_UIUpdateUnitFrameToShowBehaviorState (int lp_player, int lp_index) {

    // Variable Declarations

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    if ((libUIUI_gv_uIHeroBehaviorStates[lp_player].lv_invulnerableActive[lp_index] == true)) {

        DialogControlSetVisible(libUIUI_gv_uIHeroStatusFrames[lp_player].lv_invulnerableImage[lp_index], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unstoppableImage[lp_index], PlayerGroupAll(), false);

        return ;

    }



    if ((libUIUI_gv_uIHeroBehaviorStates[lp_player].lv_unstoppableActive[lp_index] == true)) {

        DialogControlSetVisible(libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unstoppableImage[lp_index], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_uIHeroStatusFrames[lp_player].lv_invulnerableImage[lp_index], PlayerGroupAll(), false);

        return ;

    }



    DialogControlSetVisible(libUIUI_gv_uIHeroStatusFrames[lp_player].lv_invulnerableImage[lp_index], PlayerGroupAll(), false);

    DialogControlSetVisible(libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unstoppableImage[lp_index], PlayerGroupAll(), false);

}



void libUIUI_gf_UIUnitStatusFramesHookupUnitStatusFramesForPlayer (int lp_player) {

    // Variable Declarations

    unit lv_itHero;

    int lv_heroCount;



    // Automatic Variable Declarations

    unitgroup auto77C03741_g;

    int auto77C03741_u;



    // Variable Initialization



    // Implementation

    if (((lp_player > libCore_gv_bALMaxPlayers) || (lp_player < 1) || (libUIUI_gv_useStatusFrames == false))) {

        return ;

    }



    auto77C03741_g = libGame_gv_players[lp_player].lv_heroUnitGroup;

    auto77C03741_u = UnitGroupCount(auto77C03741_g, c_unitCountAll);

    for (;; auto77C03741_u -= 1) {

        lv_itHero = UnitGroupUnitFromEnd(auto77C03741_g, auto77C03741_u);

        if (lv_itHero == null) { break; }

        libUIUI_gf_UIUnitStatusFramesUpdateUnitStatusFramesForUnit(lp_player, lv_itHero);

    }

}



void libUIUI_gf_UIUnitStatusFramesUpdateUnitStatusFramesForUnit (int lp_player, unit lp_unit) {

    // Variable Declarations

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    if (((lp_player < 1) || (lp_player > libCore_gv_bALMaxPlayers))) {

        return ;

    }



    if ((libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitCount == libUIUI_gv_uI_MaxHeroGroupStatusFrames)) {

        return ;

    }



    libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitCount += 1;

    lv_index = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitCount;

    libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unit[lv_index] = lp_unit;

    DialogControlHookupUnitStatus(c_triggerControlTypeLabel, "HeroUnitStatusParentFrame/BotDifficultyLabel", lp_unit);

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    libUIUI_gv_uIHeroStatusFrames[lp_player].lv_botDifficultyLabel[lv_index] = DialogControlLastCreated();

    DialogControlHookupUnitStatus(c_triggerControlTypeLabel, "HeroUnitStatusParentFrame/BotStatusLabel", lp_unit);

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    libUIUI_gv_uIHeroStatusFrames[lp_player].lv_botStatusLabel[lv_index] = DialogControlLastCreated();

    DialogControlHookupUnitStatus(c_triggerControlTypeUnitStatusBar, "HeroUnitStatusParentFrame/HealthBarResistant", lp_unit);

    libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitHealthBarResistant[lv_index] = DialogControlLastCreated();

    DialogControlHookupUnitStatus(c_triggerControlTypeUnitStatusBar, "HeroUnitStatusParentFrame/HealthBarVulnerable", lp_unit);

    libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitHealthBarVulnerable[lv_index] = DialogControlLastCreated();

    DialogControlHookupUnitStatus(c_triggerControlTypePanel, "HeroUnitStatusParentFrame/InvincibleHealthBarFrame", lp_unit);

    libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitHealthBarInvincible[lv_index] = DialogControlLastCreated();

    DialogControlHookupUnitStatus(c_triggerControlTypeImage, "HeroUnitStatusParentFrame/DimmingFrame", lp_unit);

    libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitHealthBarDimmed[lv_index] = DialogControlLastCreated();

    DialogControlHookupUnitStatus(c_triggerControlTypeImage, "HeroUnitStatusParentFrame/HeroInvulnerableFrameBackground", lp_unit);

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    libUIUI_gv_uIHeroStatusFrames[lp_player].lv_invulnerableImage[lv_index] = DialogControlLastCreated();

    DialogControlHookupUnitStatus(c_triggerControlTypeImage, "HeroUnitStatusParentFrame/HeroUnstoppableFrameBackground", lp_unit);

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unstoppableImage[lv_index] = DialogControlLastCreated();

    DialogControlHookupUnitStatus(c_triggerControlTypeImage, "HeroUnitStatusParentFrame/HeroResistantFrameBackground", lp_unit);

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    libUIUI_gv_uIHeroStatusFrames[lp_player].lv_resistantImage[lv_index] = DialogControlLastCreated();

    DialogControlHookupUnitStatus(c_triggerControlTypeCutscene, "HeroUnitStatusParentFrame/OnFireCutsceneFrame", lp_unit);

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), true);

    libUIUI_gv_uIHeroStatusFrames[lp_player].lv_onFireCutscene[lv_index] = DialogControlLastCreated();

}



void libUIUI_gf_UIUnitStatusFramesRemoveUnitfromUnitStatusFrameHookup (int lp_player, unit lp_unit) {

    // Variable Declarations

    int lv_maxIndexCount;

    int lv_itIndex;

    int lv_currentUnitIndex;

    unit lv_unit;



    // Automatic Variable Declarations

    int auto72BD5671_ae;

    const int auto72BD5671_ai = 1;



    // Variable Initialization



    // Implementation

    lv_maxIndexCount = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitCount;

    lv_currentUnitIndex = libUIUI_gf_UIUnitStatusFramesGetUnitIndex(lp_player, lp_unit);

    if ((lv_currentUnitIndex == 0)) {

        return ;

    }



    if ((libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unit[lv_maxIndexCount] == lp_unit)) {

        libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitCount -= 1;

        return ;

    }



    auto72BD5671_ae = (lv_maxIndexCount - 1
);

    lv_itIndex = lv_currentUnitIndex;

    for ( ; ( (auto72BD5671_ai >= 0 && lv_itIndex <= auto72BD5671_ae) || (auto72BD5671_ai < 0 && lv_itIndex >= auto72BD5671_ae) ) ; lv_itIndex += auto72BD5671_ai ) {

        libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unit[lv_itIndex] = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unit[(lv_itIndex + 1)];

        libUIUI_gv_uIHeroStatusFrames[lp_player].lv_botDifficultyLabel[lv_itIndex] = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_botDifficultyLabel[(lv_itIndex + 1)];

        libUIUI_gv_uIHeroStatusFrames[lp_player].lv_botStatusLabel[lv_itIndex] = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_botStatusLabel[(lv_itIndex + 1)];

        libUIUI_gv_uIHeroStatusFrames[lp_player].lv_invulnerableImage[lv_itIndex] = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_invulnerableImage[(lv_itIndex + 1)];

        libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unstoppableImage[lv_itIndex] = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unstoppableImage[(lv_itIndex + 1)];

        libUIUI_gv_uIHeroStatusFrames[lp_player].lv_resistantImage[lv_itIndex] = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_resistantImage[(lv_itIndex + 1)];

        libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitHealthBarInvincible[lv_itIndex] = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitHealthBarInvincible[(lv_itIndex + 1)];

        libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitHealthBarDimmed[lv_itIndex] = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitHealthBarDimmed[(lv_itIndex + 1)];

        libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitHealthBarResistant[lv_itIndex] = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitHealthBarResistant[(lv_itIndex + 1)];

        libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitHealthBarVulnerable[lv_itIndex] = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitHealthBarVulnerable[(lv_itIndex + 1)];

    }

    libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitCount -= 1;

}



void libUIUI_gf_UIUnitStatusFramesRemoveHeroUnitStatusFramesForPlayer (int lp_player) {

    // Variable Declarations

    unit lv_itHero;

    int lv_heroCount;



    // Automatic Variable Declarations

    unitgroup auto56B9872A_g;

    int auto56B9872A_u;



    // Variable Initialization



    // Implementation

    if (((lp_player > libCore_gv_bALMaxPlayers) || (lp_player < 1) || (libUIUI_gv_useStatusFrames == false))) {

        return ;

    }



    auto56B9872A_g = libGame_gv_players[lp_player].lv_heroUnitGroup;

    auto56B9872A_u = UnitGroupCount(auto56B9872A_g, c_unitCountAll);

    for (;; auto56B9872A_u -= 1) {

        lv_itHero = UnitGroupUnitFromEnd(auto56B9872A_g, auto56B9872A_u);

        if (lv_itHero == null) { break; }

        libUIUI_gf_UIUnitStatusFramesRemoveUnitfromUnitStatusFrameHookup(lp_player, lv_itHero);

    }

}



void libUIUI_gf_UIUnitStatusFramesResetUnitStatusFramesForPlayer (int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitCount = 0;

}



int libUIUI_gf_UIUnitStatusFramesGetUnitIndex (int lp_player, unit lp_unit) {

    // Variable Declarations

    int lv_itUnit;



    // Automatic Variable Declarations

    int autoB41525CD_ae;

    const int autoB41525CD_ai = 1;



    // Variable Initialization



    // Implementation

    autoB41525CD_ae = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitCount;

    lv_itUnit = 1;

    for ( ; ( (autoB41525CD_ai >= 0 && lv_itUnit <= autoB41525CD_ae) || (autoB41525CD_ai < 0 && lv_itUnit >= autoB41525CD_ae) ) ; lv_itUnit += autoB41525CD_ai ) {

        if ((lp_unit == libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unit[lv_itUnit])) {

            return lv_itUnit;

        }



    }

    return 0;

}



void libUIUI_gf_UIHeroTrackerArrowShowHideForPlayer (bool lp_showHide, int lp_player) {

    // Variable Declarations

    unit lv_itHero;

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    DialogControlSetVisible(libUIUI_gv_uIHeroTrackerArrows.lv_mainPanel, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

}



void libUIUI_gf_UIHeroTrackerArrowShowHideHeroUnitForPlayer (bool lp_showHide, int lp_player, unit lp_unit) {

    // Variable Declarations

    unit lv_itHero;

    int lv_index;



    // Automatic Variable Declarations

    const int autoC005CB17_ae = libUIUI_gv_uI_MaxHeroGroupStatusFrames;

    const int autoC005CB17_ai = 1;



    // Variable Initialization



    // Implementation

    lv_index = 1;

    for ( ; ( (autoC005CB17_ai >= 0 && lv_index <= autoC005CB17_ae) || (autoC005CB17_ai < 0 && lv_index >= autoC005CB17_ae) ) ; lv_index += autoC005CB17_ai ) {

        if ((libUIUI_gv_uIHeroTrackerArrows.lv_unit[lv_index] == lp_unit)) {

            DialogControlSetVisible(libUIUI_gv_uIHeroTrackerArrows.lv_arrow[lv_index], libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

            DialogControlSetVisible(libUIUI_gv_uIHeroTrackerArrows.lv_portraitImage[lv_index], libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

            return ;

        }



    }

}



void libUIUI_gf_UIHeroTrackerArrowHookupTrackerArrowsForPlayer (int lp_player) {

    // Variable Declarations

    unit lv_itHero;

    int lv_heroCount;

    int lv_index;



    // Automatic Variable Declarations

    unitgroup autoA921AE06_g;

    int autoA921AE06_u;



    // Variable Initialization



    // Implementation

    if (((lp_player > libCore_gv_bALMaxPlayers) || (lp_player < 1))) {

        return ;

    }



    libUIUI_gv_uIHeroTrackerArrows.lv_unitCount = 0;

    autoA921AE06_g = libGame_gv_players[lp_player].lv_heroUnitGroup;

    autoA921AE06_u = UnitGroupCount(autoA921AE06_g, c_unitCountAll);

    for (;; autoA921AE06_u -= 1) {

        lv_itHero = UnitGroupUnitFromEnd(autoA921AE06_g, autoA921AE06_u);

        if (lv_itHero == null) { break; }

        if ((lv_itHero == libGame_gv_players[lp_player].lv_heroUnit)) {

            continue;

        }



        libUIUI_gv_uIHeroTrackerArrows.lv_unitCount += 1;

        lv_index = libUIUI_gv_uIHeroTrackerArrows.lv_unitCount;

        if ((lv_index > libUIUI_gv_uI_MaxHeroGroupStatusFrames)) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_C22535C8", "A", UnitGetName(lv_itHero));

            TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_C22535C8"), true);

            lv_index = libUIUI_gv_uI_MaxHeroGroupStatusFrames;

        }

        else {

            libUIUI_gv_uIHeroTrackerArrows.lv_unit[lv_index] = lv_itHero;

        }

        libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIHeroTrackerArrows.lv_arrow[lv_index], lv_itHero, libCore_gv_playerGroupFromPlayer[lp_player]);

        libNtve_gf_SetDialogItemImage(libUIUI_gv_uIHeroTrackerArrows.lv_portraitImage[lv_index], (CatalogFieldValueGet(c_gameCatalogActor, UnitGetType(lv_itHero), "HeroIcon", lp_player)), libCore_gv_playerGroupFromPlayer[lp_player]);

    }

    libUIUI_gf_UIHeroTrackerArrowShowHideForPlayer(true, lp_player);

}



void libUIUI_gf_UIEnableMapMechanicButtonForPlayer (int lp_PlayerID, bool lp_playIntroAnims) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetSize(libUIUI_gv_uIGameUIHandles.lv_mapMechanicButton, PlayerGroupSingle(lp_PlayerID), libUIUI_gv_defaultButtonSize_C, libUIUI_gv_defaultButtonSize_C);

    if ((lp_playIntroAnims == true)) {

        DialogControlSetAnimationState(libUIUI_gv_uIGameUIHandles.lv_mapMechanicButton, PlayerGroupSingle(lp_PlayerID), "PlayOnceAnimationState", "IntroOn");

    }



}



void libUIUI_gf_UIDisableMapMechanicButtonForPlayer (int lp_PlayerID) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetSize(libUIUI_gv_uIGameUIHandles.lv_mapMechanicButton, PlayerGroupSingle(lp_PlayerID), -1, -1);

    DialogControlSetAnimationState(libUIUI_gv_uIGameUIHandles.lv_mapMechanicButton, PlayerGroupSingle(lp_PlayerID), "PlayOnceAnimationState", "IntroOff");

}



void libUIUI_gf_UIEnableMapMechanicButtonAllPlayers (bool lp_playIntroAnims) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetSize(libUIUI_gv_uIGameUIHandles.lv_mapMechanicButton, PlayerGroupAll(), libUIUI_gv_defaultButtonSize_C, libUIUI_gv_defaultButtonSize_C);

    if ((lp_playIntroAnims == true)) {

        DialogControlSetAnimationState(libUIUI_gv_uIGameUIHandles.lv_mapMechanicButton, PlayerGroupAll(), "PlayOnceAnimationState", "IntroOn");

    }



}



void libUIUI_gf_MapMechanicsRavenCourtShowHidePanel (bool lp_showHide) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseAttentionEffectFrame, PlayerGroupAll(), false);

    DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtPanel, libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroupNoNPCPlayers, lp_showHide);

    DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtPanel, libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers, lp_showHide);

    DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtPanel, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], lp_showHide);

}



void libUIUI_gf_MapMechanicsRavenCourtSetModeForTeam (int lp_mode, int lp_teamThatWonTheCurse) {

    // Variable Declarations

    int lv_cursedTeam;



    // Automatic Variable Declarations

    int auto3B208D3F_val;

    int auto2092A327_val;



    // Variable Initialization



    // Implementation

    auto3B208D3F_val = lp_mode;

    if (auto3B208D3F_val == libUIUI_ge_MapMechanicsRavenCourtModes_NoActivity) {

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTributeSpawnFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTeamTributeFrame[libGame_gv_teamOrderIndex_C], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTeamTributeFrame[libGame_gv_teamChaosIndex_C], PlayerGroupAll(), true);

    }

    else if (auto3B208D3F_val == libUIUI_ge_MapMechanicsRavenCourtModes_TributeSpawning) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTributeSpawnInfoLabel, StringExternal("Param/Value/lib_UIUI_EA41E137"), PlayerGroupAll());

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTributeSpawnTimerLabel, PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTributeSpawnFrame, PlayerGroupAll(), true);

    }

    else if (auto3B208D3F_val == libUIUI_ge_MapMechanicsRavenCourtModes_TributeSpawned) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTributeSpawnInfoLabel, StringExternal("Param/Value/lib_UIUI_6A9FCB78"), PlayerGroupAll());

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTributeSpawnTimerLabel, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTributeSpawnFrame, PlayerGroupAll(), true);

    }

    else if (auto3B208D3F_val == libUIUI_ge_MapMechanicsRavenCourtModes_Curse) {

        lv_cursedTeam = libGame_gf_EnemyTeam(lp_teamThatWonTheCurse);

        libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseInfoLabel, "Storm_MapMechanic_MechanicTimerCentered_Blue", libGame_gv_teams[lp_teamThatWonTheCurse].lv_teamPlayerGroupNoNPCPlayers);

        libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseInfoLabel, "Storm_MapMechanic_MechanicTimerCentered_Red", libGame_gv_teams[lv_cursedTeam].lv_teamPlayerGroupNoNPCPlayers);

        DialogControlSendAnimationEvent(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseTimerLabel, PlayerGroupAll(), "Stop");

        libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseTimerLabel, "Storm_MapMechanic_MechanicTimerCentered_Blue", libGame_gv_teams[lp_teamThatWonTheCurse].lv_teamPlayerGroupNoNPCPlayers);

        libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseTimerLabel, "Storm_MapMechanic_MechanicTimerCentered_Red", libGame_gv_teams[lv_cursedTeam].lv_teamPlayerGroupNoNPCPlayers);

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseInfoLabel, StringExternal("UI/MapMechanics/CursedHollow/TeamCursed"), libGame_gv_teams[lv_cursedTeam].lv_teamPlayerGroupNoNPCPlayers);

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseInfoLabel, StringExternal("UI/MapMechanics/CursedHollow/EnemyTeamCursed"), libGame_gv_teams[lp_teamThatWonTheCurse].lv_teamPlayerGroupNoNPCPlayers);

        auto2092A327_val = lv_cursedTeam;

        if (auto2092A327_val == libGame_gv_teamOrderIndex_C) {

            libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseInfoLabel, StringExternal("Param/Value/lib_UIUI_51946936"), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

        }

        else if (auto2092A327_val == libGame_gv_teamChaosIndex_C) {

            libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseInfoLabel, StringExternal("Param/Value/lib_UIUI_9C28BA95"), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

        }

        else {

        }

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTributeSpawnFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseFrame, PlayerGroupAll(), true);

    }

    else {

    }

}



void libUIUI_gf_MapMechanicsRavenCourtSetTributeCountForTeam (int lp_count, int lp_team) {

    // Automatic Variable Declarations

    // Implementation

    TextExpressionSetToken("Param/Expression/lib_UIUI_2C0A5180", "A", IntToText(lp_count));

    TextExpressionSetToken("Param/Expression/lib_UIUI_2C0A5180", "B", IntToText(libMapM_gv_mMRavenTributeThreshold_C));

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTeamTributeCounterLabel[lp_team], TextExpressionAssemble("Param/Expression/lib_UIUI_2C0A5180"), PlayerGroupAll());

}



void libUIUI_gf_MapMechanicsRavenCourtSetRemainingCurseTimeForTeam (int lp_remainingSeconds, int lp_cursingTeam) {

    // Automatic Variable Declarations

    // Implementation

    if ((lp_remainingSeconds == 7)) {

        DialogControlSetAnimationState(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseAttentionEffectFrame, PlayerGroupAll(), "Team", IntToString(lp_cursingTeam));

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseAttentionEffectFrame, PlayerGroupAll(), true);

    }



    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseTimerLabel, TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), lp_remainingSeconds), PlayerGroupAll());

}



void libUIUI_gf_MapMechanicsRavenCourtSetRemainingTributeSpawnTime (int lp_remainingSeconds) {

    // Automatic Variable Declarations

    // Implementation

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTributeSpawnTimerLabel, TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), lp_remainingSeconds), PlayerGroupAll());

}



void libUIUI_gf_MapMechanicsHauntedMinesShowHidePanel (bool lp_showHide) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesPanel, libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroupNoNPCPlayers, lp_showHide);

    DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesPanel, libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers, lp_showHide);

    DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesPanel, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], lp_showHide);

}



void libUIUI_gf_MapMechanicsHauntedMinesSetMode (int lp_mode) {

    // Automatic Variable Declarations

    int autoCBAA65F0_val;



    // Implementation

    autoCBAA65F0_val = lp_mode;

    if (autoCBAA65F0_val == libUIUI_ge_MapMechanicsHauntedMinesModes_MinesTimer) {

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesSkullModeFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesGolemModeFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesMineTimerModeFrame, PlayerGroupAll(), true);

    }

    else if (autoCBAA65F0_val == libUIUI_ge_MapMechanicsHauntedMinesModes_Skulls) {

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesGolemModeFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesMineTimerModeFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesSkullModeFrame, PlayerGroupAll(), true);

    }

    else if (autoCBAA65F0_val == libUIUI_ge_MapMechanicsHauntedMinesModes_Golem) {

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesMineTimerModeFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesSkullModeFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesGolemModeFrame, PlayerGroupAll(), true);

    }

    else {

    }

}



void libUIUI_gf_MapMechanicsHauntedMinesSetRemainingMinesWarningTime (int lp_remainingSeconds) {

    // Automatic Variable Declarations

    // Implementation

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesMineTimerLabel, TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), lp_remainingSeconds), PlayerGroupAll());

}



void libUIUI_gf_MapMechanicsHauntedMinesSetSkullCountForTeam (int lp_count, int lp_team) {

    // Automatic Variable Declarations

    // Implementation

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesSkullModeSkullCounterLabel[lp_team], IntToText(lp_count), PlayerGroupAll());

}



void libUIUI_gf_MapMechanicsHauntedMinesSetSkullsRemaining (int lp_count) {

    // Automatic Variable Declarations

    // Implementation

    TextExpressionSetToken("Param/Expression/lib_UIUI_265167E5", "A", IntToText(lp_count));

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesSkullModeRemainingSkullsLabel, TextExpressionAssemble("Param/Expression/lib_UIUI_265167E5"), PlayerGroupAll());

}



void libUIUI_gf_MapMechanicsHauntedMinesSetUpGolemForTeam (unit lp_golemUnit, int lp_skullCount, int lp_team) {

    // Variable Declarations

    int lv_enemyTeam;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_enemyTeam = (3 - lp_team);

    libNtve_gf_SetDialogItemUnit(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesAllyGolemHealthUnitStatus, lp_golemUnit, libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemUnit(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesEnemyGolemHealthUnitStatus, lp_golemUnit, libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesAllyGolemModeSkullCounterLabel, IntToText(lp_skullCount), libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesEnemyGolemModeSkullCounterLabel, IntToText(lp_skullCount), libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

}



void libUIUI_gf_MapMechanicsHauntedMinesSetUpGolemForObserver (unit lp_golemUnitTeamBlue, unit lp_golemUnitTeamRed, int lp_skullCountTeamBlue, int lp_skullCountTeamRed) {

    // Variable Declarations

    int lv_enemyTeam;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    libNtve_gf_SetDialogItemUnit(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesAllyGolemHealthUnitStatus, lp_golemUnitTeamBlue, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    libNtve_gf_SetDialogItemUnit(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesEnemyGolemHealthUnitStatus, lp_golemUnitTeamRed, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesAllyGolemModeSkullCounterLabel, IntToText(lp_skullCountTeamBlue), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesEnemyGolemModeSkullCounterLabel, IntToText(lp_skullCountTeamRed), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

}



void libUIUI_gf_MapMechanicsDragonShireShowHidePanel (bool lp_showHide) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShirePanel, libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroupNoNPCPlayers, lp_showHide);

    DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShirePanel, libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers, lp_showHide);

    DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShirePanel, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], lp_showHide);

}



void libUIUI_gf_MapMechanicsDragonShireSetMode (int lp_mode) {

    // Automatic Variable Declarations

    int auto1CD42420_val;



    // Implementation

    auto1CD42420_val = lp_mode;

    if (auto1CD42420_val == libUIUI_ge_MapMechanicsDragonShireModes_ShrineTimer) {

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireShrineModeFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonModeFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireShrineTimerModeFrame, PlayerGroupAll(), true);

    }

    else if (auto1CD42420_val == libUIUI_ge_MapMechanicsDragonShireModes_Shrines) {

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonModeFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireShrineTimerModeFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireShrineModeFrame, PlayerGroupAll(), true);

    }

    else if (auto1CD42420_val == libUIUI_ge_MapMechanicsDragonShireModes_Dragon) {

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireShrineModeFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireShrineTimerModeFrame, PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonModeFrame, PlayerGroupAll(), true);

    }

    else {

    }

}



void libUIUI_gf_MapMechanicsDragonShireSetRemainingShrineWarningTime (int lp_remainingSeconds) {

    // Automatic Variable Declarations

    // Implementation

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_dragonShireShrineTimerLabel, TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), lp_remainingSeconds), PlayerGroupAll());

}



void libUIUI_gf_MapMechanicsDragonShireSetStarShrineOwner (int lp_team) {

    // Variable Declarations

    int lv_enemyTeam;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    if ((lp_team == 0)) {

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireStarShrineEnabledImage[libGame_gv_teamOrderIndex_C], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireStarShrineEnabledImage[libGame_gv_teamChaosIndex_C], PlayerGroupAll(), false);

    }

    else {

        lv_enemyTeam = (3 - lp_team);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireStarShrineEnabledImage[lp_team], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireStarShrineEnabledImage[lv_enemyTeam], PlayerGroupAll(), false);

    }

}



void libUIUI_gf_MapMechanicsDragonShireSetMoonShrineOwner (int lp_team) {

    // Variable Declarations

    int lv_enemyTeam;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    if ((lp_team == 0)) {

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireMoonShrineEnabledImage[libGame_gv_teamOrderIndex_C], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireMoonShrineEnabledImage[libGame_gv_teamChaosIndex_C], PlayerGroupAll(), false);

    }

    else {

        lv_enemyTeam = (3 - lp_team);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireMoonShrineEnabledImage[lp_team], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_dragonShireMoonShrineEnabledImage[lv_enemyTeam], PlayerGroupAll(), false);

    }

}



void libUIUI_gf_MapMechanicsDragonShireSetRemainingDragonTime (int lp_remainingSeconds) {

    // Automatic Variable Declarations

    // Implementation

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonTimerLabel, TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), lp_remainingSeconds), PlayerGroupAll());

}



void libUIUI_gf_MapMechanicsDragonShireSetUpDragonForTeam (unit lp_dragonUnit, int lp_team) {

    // Variable Declarations

    int lv_enemyTeam;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_enemyTeam = (3 - lp_team);

    libNtve_gf_SetDialogItemUnit(libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonHealthUnitStatus, lp_dragonUnit, PlayerGroupAll());

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonHealthLabel, "Storm_MapMechanic_MechanicCounterSmallRight_Blue", libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonHealthLabel, "Storm_MapMechanic_MechanicCounterSmallRight_Red", libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonInfoLabel, "Storm_MapMechanic_MechanicCounterSmallLeft_Blue", libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonInfoLabel, "Storm_MapMechanic_MechanicCounterSmallLeft_Red", libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonInfoLabel, StringExternal("UI/MapMechanics/Dragonshire/DragonKnight"), libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonInfoLabel, StringExternal("UI/MapMechanics/Dragonshire/EnemyDragonKnight"), libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

}



void libUIUI_gf_MapMechanicsGardenOfTerrorInit (int lp_parentPanel) {

    int init_i;



    // Variable Declarations

    int lv_itTeam;

    int[6] lv_panels;

    int lv_currentPanelLayer;

    int lv_enemyTeam;



    // Automatic Variable Declarations

    const int auto84B64AD9_ae = libCore_gv_bALMaxTeams;

    const int auto84B64AD9_ai = 1;



    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Implementation

    DialogControlHookup(lp_parentPanel, c_triggerControlTypePanel, "GardenOfTerrorPanel");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorPanel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "SeedsFrame");

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrame = DialogControlLastCreated();

    lv_itTeam = 1;

    for ( ; ( (auto84B64AD9_ai >= 0 && lv_itTeam <= auto84B64AD9_ae) || (auto84B64AD9_ai < 0 && lv_itTeam >= auto84B64AD9_ae) ) ; lv_itTeam += auto84B64AD9_ai ) {

        lv_enemyTeam = (3 - lv_itTeam);

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Team" + IntToString(lv_itTeam) + "BackgroundBlue");

        DialogControlSetVisible(DialogControlLastCreated(), libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers, false);

        if ((lv_itTeam == libGame_gv_teamChaosIndex_C)) {

            DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

        }



        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Team" + IntToString(lv_itTeam) + "BackgroundRed");

        DialogControlSetVisible(DialogControlLastCreated(), libGame_gv_teams[lv_itTeam].lv_teamPlayerGroupNoNPCPlayers, false);

        if ((lv_itTeam == libGame_gv_teamOrderIndex_C)) {

            DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

        }



        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Team" + IntToString(lv_itTeam) + "SeedBlue");

        DialogControlSetVisible(DialogControlLastCreated(), libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers, false);

        if ((lv_itTeam == libGame_gv_teamChaosIndex_C)) {

            DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

        }



        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameBlueSeedImage[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Team" + IntToString(lv_itTeam) + "SeedRed");

        DialogControlSetVisible(DialogControlLastCreated(), libGame_gv_teams[lv_itTeam].lv_teamPlayerGroupNoNPCPlayers, false);

        if ((lv_itTeam == libGame_gv_teamOrderIndex_C)) {

            DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

        }



        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameRedSeedImage[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "Team" + IntToString(lv_itTeam) + "SeedCounter");

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "Team" + IntToString(lv_itTeam) + "StatusLabel");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabel[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "Team" + IntToString(lv_itTeam) + "StatusLabelFlashGold");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

        DialogControlFadeTransparency(DialogControlLastCreated(), PlayerGroupAll(), 0.0, 100.0);

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashGold[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "Team" + IntToString(lv_itTeam) + "StatusLabelFlashRed");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

        DialogControlFadeTransparency(DialogControlLastCreated(), PlayerGroupAll(), 0.0, 100.0);

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashRed[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "Team" + IntToString(lv_itTeam) + "CountdownLabel");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabel[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "Team" + IntToString(lv_itTeam) + "CountdownLabelFlashGold");

        DialogControlFadeTransparency(DialogControlLastCreated(), PlayerGroupAll(), 0.0, 100.0);

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelGold[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "Team" + IntToString(lv_itTeam) + "CountdownLabelFlashRed");

        DialogControlFadeTransparency(DialogControlLastCreated(), PlayerGroupAll(), 0.0, 100.0);

        libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelRed[lv_itTeam] = DialogControlLastCreated();

    }

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[libGame_gv_teamOrderIndex_C], "Storm_MapMechanic_MechanicCounterLeft_Red", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[libGame_gv_teamChaosIndex_C], "Storm_MapMechanic_MechanicCounterRight_Blue", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabel[libGame_gv_teamOrderIndex_C], "Storm_MapMechanic_MechanicCounterMediumLeft_Red", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabel[libGame_gv_teamChaosIndex_C], "Storm_MapMechanic_MechanicCounterMediumRight_Blue", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabel[libGame_gv_teamOrderIndex_C], "Storm_MapMechanic_MechanicCounterSmallLeft_Red", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabel[libGame_gv_teamChaosIndex_C], "Storm_MapMechanic_MechanicCounterSmallRight_Blue", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    lv_currentPanelLayer -= 1;

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "TimeOfDayFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorTimeOfDayFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "CountdownLabel");

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorTimeOfDayCountdownLabel = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "GolemFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "AllyGolemHealthBar");

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemHealthUnitStatus = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "EnemyGolemHealthBar");

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemHealthUnitStatus = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "AllyGolemStatusLabel");

    libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_UIUI_5CE5C89B"), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemStatusLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "EnemyGolemStatusLabel");

    libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_UIUI_497DCACF"), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemStatusLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "AllyGolemTimerLabel");

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemTimerLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "EnemyGolemTimerLabel");

    libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemTimerLabel = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

}



void libUIUI_gf_MapMechanicsGardenOfTerrorShowHidePanel (bool lp_showHide) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorPanel, PlayerGroupAll(), lp_showHide);

}



void libUIUI_gf_MapMechanicsGardenOfTerrorShowHideNightWarning (bool lp_showHide) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorTimeOfDayFrame, PlayerGroupAll(), lp_showHide);

}



void libUIUI_gf_MapMechanicsGardenOfTerrorSetNightWarningTime (int lp_remainingSeconds) {

    // Automatic Variable Declarations

    // Implementation

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorTimeOfDayCountdownLabel, TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), lp_remainingSeconds), PlayerGroupAll());

}



void libUIUI_gf_MapMechanicsGardenOfTerrorSetGolemSummonPossibleForTeam (int lp_team, bool lp_summonPossible) {

    // Automatic Variable Declarations

    // Implementation

    libUIUI_gv_mapMechanicsGardenOfTerrorGolemSummonPossible[lp_team] = lp_summonPossible;

}



void libUIUI_gf_MapMechanicsGardenOfTerrorSetSeedCountForTeam (text lp_countText, int lp_team, bool lp_golemSummonPossible) {

    // Variable Declarations

    int lv_enemyTeam;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_enemyTeam = (3 - lp_team);

    if ((lp_golemSummonPossible == true)) {

        if ((lp_team == libGame_gv_teamOrderIndex_C)) {

            libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[lp_team], "Storm_MapMechanic_MechanicCounterLeft_Blue", libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers);

            libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[lp_team], "Storm_MapMechanic_MechanicCounterLeft_Red", libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

        }

        else {

            libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[lp_team], "Storm_MapMechanic_MechanicCounterRight_Blue", libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers);

            libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[lp_team], "Storm_MapMechanic_MechanicCounterRight_Red", libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

        }

    }

    else {

        if ((lp_team == libGame_gv_teamOrderIndex_C)) {

            libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[lp_team], "Storm_MapMechanic_MechanicCounterLeft_Disabled", PlayerGroupAll());

        }

        else {

            libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[lp_team], "Storm_MapMechanic_MechanicCounterRight_Disabled", PlayerGroupAll());

        }

    }

    libUIUI_gf_MapMechanicsGardenOfTerrorSetSeedFrameImageForTeam(lp_team, lp_golemSummonPossible);

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[lp_team], lp_countText, PlayerGroupAll());

}



void libUIUI_gf_MapMechanicsGardenOfTerrorSetSeedFrameImageForTeam (int lp_team, bool lp_golemSummonPossible) {

    // Automatic Variable Declarations

    int autoC45B1EE1_val;



    // Implementation

    autoC45B1EE1_val = libUIUI_gv_mapMechanicsGardenOfTerrorLastSeedFrameStatus[lp_team];

    if (autoC45B1EE1_val == libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_Growing) {

        libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameBlueSeedImage[lp_team], "@UI/hud_minimap_garden_Team1_Golem_Growing", PlayerGroupAll());

        libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameRedSeedImage[lp_team], "@UI/hud_minimap_garden_Team2_Golem_Growing", PlayerGroupAll());

        return ;

    }

    else if (autoC45B1EE1_val == libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_ReadyToSummon) {

        libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameBlueSeedImage[lp_team], "@UI/hud_minimap_garden_Team1_Golem_Ready", PlayerGroupAll());

        libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameRedSeedImage[lp_team], "@UI/hud_minimap_garden_Team2_Golem_Ready", PlayerGroupAll());

        return ;

    }

    else {

    }

    if ((lp_golemSummonPossible == true)) {

        libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameBlueSeedImage[lp_team], "@UI/hud_minimap_garden_Team1_Seed_Open", PlayerGroupAll());

        libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameRedSeedImage[lp_team], "@UI/hud_minimap_garden_Team2_Seed_Open", PlayerGroupAll());

    }

    else {

        libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameBlueSeedImage[lp_team], "@UI/hud_minimap_garden_Team1_Seed_Closed", PlayerGroupAll());

        libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameRedSeedImage[lp_team], "@UI/hud_minimap_garden_Team2_Seed_Closed", PlayerGroupAll());

    }

}



void libUIUI_gf_MapMechanicsGardenOfTerrorShowHideGolemFrame (bool lp_showHide) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrame, PlayerGroupAll(), lp_showHide);

}



void libUIUI_gf_MapMechanicsGardenOfTerrorSetUpGolemStatusBarForTeam (unit lp_golemUnit, int lp_team) {

    // Variable Declarations

    int lv_enemyTeam;



    // Automatic Variable Declarations

    int autoE5B9E0EA_val;

    int autoD500ACC5_val;



    // Variable Initialization



    // Implementation

    lv_enemyTeam = (3 - lp_team);

    if ((UnitIsAlive(lp_golemUnit) == true)) {

        libNtve_gf_SetDialogItemUnit(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemHealthUnitStatus, lp_golemUnit, libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers);

        libNtve_gf_SetDialogItemUnit(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemHealthUnitStatus, lp_golemUnit, libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemHealthUnitStatus, libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers, true);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemHealthUnitStatus, libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers, true);

        autoD500ACC5_val = lp_team;

        if (autoD500ACC5_val == libGame_gv_teamOrderIndex_C) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemHealthUnitStatus, lp_golemUnit, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

            DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemHealthUnitStatus, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);

        }

        else if (autoD500ACC5_val == libGame_gv_teamChaosIndex_C) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemHealthUnitStatus, lp_golemUnit, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

            DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemHealthUnitStatus, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);

        }

        else {

        }

    }

    else {

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemHealthUnitStatus, libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers, false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemHealthUnitStatus, libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers, false);

        autoE5B9E0EA_val = lp_team;

        if (autoE5B9E0EA_val == libGame_gv_teamOrderIndex_C) {

            DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemHealthUnitStatus, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

        }

        else if (autoE5B9E0EA_val == libGame_gv_teamChaosIndex_C) {

            DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemHealthUnitStatus, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

        }

        else {

        }

    }

}



void libUIUI_gf_MapMechanicsGardenOfTerrorSetGolemRemainingTimeForTeam (int lp_team, int lp_remainingTime) {

    // Variable Declarations

    int lv_enemyTeam;



    // Automatic Variable Declarations

    int auto6FE397AA_val;

    int autoAF37D237_val;



    // Variable Initialization



    // Implementation

    lv_enemyTeam = (3 - lp_team);

    if ((lp_remainingTime > 0)) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemTimerLabel, TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), lp_remainingTime), libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers);

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemTimerLabel, TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), lp_remainingTime), libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemTimerLabel, libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers, true);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemTimerLabel, libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers, true);

        autoAF37D237_val = lp_team;

        if (autoAF37D237_val == libGame_gv_teamOrderIndex_C) {

            libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemTimerLabel, TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), lp_remainingTime), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

            DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemTimerLabel, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);

        }

        else if (autoAF37D237_val == libGame_gv_teamChaosIndex_C) {

            libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemTimerLabel, TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), lp_remainingTime), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

            DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemTimerLabel, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);

        }

        else {

        }

    }

    else {

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemTimerLabel, libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers, false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemTimerLabel, libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers, false);

        auto6FE397AA_val = lp_team;

        if (auto6FE397AA_val == libGame_gv_teamOrderIndex_C) {

            DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemTimerLabel, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

        }

        else if (auto6FE397AA_val == libGame_gv_teamChaosIndex_C) {

            DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemTimerLabel, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

        }

        else {

        }

    }

}



void libUIUI_gf_MapMechanicsGardenOfTerrorSetGolemGrowTimeForTeam (int lp_team, int lp_remainingTime) {

    // Variable Declarations

    int lv_enemyTeam;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_enemyTeam = (3 - lp_team);

    if ((lp_remainingTime > 0)) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabel[lp_team], TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), lp_remainingTime), PlayerGroupAll());

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelGold[lp_team], TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), lp_remainingTime), PlayerGroupAll());

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelRed[lp_team], TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), lp_remainingTime), PlayerGroupAll());

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabel[lp_team], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelGold[lp_team], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelRed[lp_team], PlayerGroupAll(), true);

    }

    else {

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabel[lp_team], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelGold[lp_team], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelRed[lp_team], PlayerGroupAll(), false);

    }

}



void libUIUI_gf_MapMechanicsGardenOfTerrorSetGolemStatusTextForTeam (int lp_team, int lp_status) {

    // Variable Declarations

    int lv_enemyTeam;



    // Automatic Variable Declarations

    int auto7D3A6A92_val;



    // Variable Initialization



    // Implementation

    lv_enemyTeam = (3 - lp_team);

    auto7D3A6A92_val = lp_status;

    if (auto7D3A6A92_val == libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_Null) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemStatusLabel, StringToText(""), libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers);

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemStatusLabel, StringToText(""), libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

    }

    else if (auto7D3A6A92_val == libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_Growing) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemStatusLabel, StringExternal("Param/Value/lib_UIUI_0E651D6C"), libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers);

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemStatusLabel, StringExternal("Param/Value/lib_UIUI_1682864F"), libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

    }

    else if (auto7D3A6A92_val == libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_Active) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemStatusLabel, StringExternal("Param/Value/lib_UIUI_93643624"), libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers);

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemStatusLabel, StringExternal("Param/Value/lib_UIUI_9268A46E"), libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

    }

    else if (auto7D3A6A92_val == libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_ReadyToSummon) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemStatusLabel, StringExternal("Param/Value/lib_UIUI_5C82ADC7"), libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers);

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemStatusLabel, StringExternal("Param/Value/lib_UIUI_E4FDFC2B"), libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

    }

    else if (auto7D3A6A92_val == libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_WaitToSummon) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameAllyGolemStatusLabel, StringExternal("Param/Value/lib_UIUI_6CA2033C"), libGame_gv_teams[lp_team].lv_teamPlayerGroupNoNPCPlayers);

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorGolemFrameEnemyGolemStatusLabel, StringExternal("Param/Value/lib_UIUI_40BA8E02"), libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

    }

    else {

    }

}



void libUIUI_gf_MapMechanicsGardenOfTerrorSetSeedFrameStatusTextForTeam (int lp_team, int lp_status) {

    // Automatic Variable Declarations

    int auto3D4555AE_val;



    // Implementation

    libUIUI_gv_mapMechanicsGardenOfTerrorLastSeedFrameStatus[lp_team] = lp_status;

    auto3D4555AE_val = lp_status;

    if (auto3D4555AE_val == libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_Null) {

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[lp_team], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabel[lp_team], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashGold[lp_team], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashRed[lp_team], PlayerGroupAll(), false);

    }

    else if (auto3D4555AE_val == libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_Growing) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabel[lp_team], StringExternal("Param/Value/lib_UIUI_7580B745"), PlayerGroupAll());

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashGold[lp_team], StringExternal("Param/Value/lib_UIUI_736DA5E9"), PlayerGroupAll());

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashRed[lp_team], StringExternal("Param/Value/lib_UIUI_739718CD"), PlayerGroupAll());

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[lp_team], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabel[lp_team], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashGold[lp_team], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashRed[lp_team], PlayerGroupAll(), true);

    }

    else if (auto3D4555AE_val == libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_Active) {

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[lp_team], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabel[lp_team], PlayerGroupAll(), false);

    }

    else if (auto3D4555AE_val == libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_ReadyToSummon) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabel[lp_team], StringExternal("Param/Value/lib_UIUI_8B7100B9"), PlayerGroupAll());

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashGold[lp_team], StringExternal("Param/Value/lib_UIUI_8ED8BB41"), PlayerGroupAll());

        libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashRed[lp_team], StringExternal("Param/Value/lib_UIUI_5308A28B"), PlayerGroupAll());

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[lp_team], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabel[lp_team], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashGold[lp_team], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashRed[lp_team], PlayerGroupAll(), true);

    }

    else if (auto3D4555AE_val == libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_WaitToSummon) {

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameSeedCounterLabel[lp_team], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabel[lp_team], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashGold[lp_team], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashRed[lp_team], PlayerGroupAll(), false);

    }

    else {

    }

    libUIUI_gf_MapMechanicsGardenOfTerrorSetSeedFrameImageForTeam(lp_team, libUIUI_gv_mapMechanicsGardenOfTerrorGolemSummonPossible[lp_team]);

}



trigger auto_libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText_Trigger = null;

int auto_libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText_lp_team;

bool auto_libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText_lp_flash;

int auto_libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText_lp_level;



void libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText (int lp_team, bool lp_flash, int lp_level) {

    auto_libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText_lp_team = lp_team;

    auto_libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText_lp_flash = lp_flash;

    auto_libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText_lp_level = lp_level;



    if (auto_libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText_Trigger == null) {

        auto_libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText_Trigger = TriggerCreate("auto_libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText_TriggerFunc");

    }



    TriggerExecute(auto_libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText_Trigger, false, false);

}



bool auto_libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText_TriggerFunc (bool testConds, bool runActions) {

    int lp_team = auto_libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText_lp_team;

    bool lp_flash = auto_libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText_lp_flash;

    int lp_level = auto_libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText_lp_level;



    // Variable Declarations

    int lv_localFlashLevel;



    // Automatic Variable Declarations

    int auto70B7A999_val;

    int auto36FA8889_val;



    // Variable Initialization



    // Implementation

    if ((lp_flash == false)) {

        if ((libUIUI_gv_mapMechanicsGardenOfTerrorSeedStatusTextFlashLevel[lp_team] == 0)) {

            return true;

        }



        libUIUI_gv_mapMechanicsGardenOfTerrorSeedStatusTextFlashLevel[lp_team] = 0;

    }

    else {

        if ((libUIUI_gv_mapMechanicsGardenOfTerrorSeedStatusTextFlashLevel[lp_team] == lp_level)) {

            return true;

        }



        libUIUI_gv_mapMechanicsGardenOfTerrorSeedStatusTextFlashLevel[lp_team] = lp_level;

    }

    if ((libUIUI_gv_mapMechanicsGardenOfTerrorSeedStatusTextFlashLevel[lp_team] > 0)) {

        lv_localFlashLevel = libUIUI_gv_mapMechanicsGardenOfTerrorSeedStatusTextFlashLevel[lp_team];

        DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabel[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 100.0);

        auto70B7A999_val = lv_localFlashLevel;

        if (auto70B7A999_val == 1) {

            DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelGold[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 0.0);

            DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelRed[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 100.0);

        }

        else if (auto70B7A999_val == 2) {

            DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelGold[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 100.0);

            DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelRed[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 0.0);

        }

        else {

        }

        while (true) {

            DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabel[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 100.0);

            auto36FA8889_val = lv_localFlashLevel;

            if (auto36FA8889_val == 1) {

                DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashGold[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 0.0);

                DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashRed[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 100.0);

            }

            else if (auto36FA8889_val == 2) {

                DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashGold[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 100.0);

                DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashRed[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 0.0);

            }

            else {

            }

            Wait(0.5, c_timeGame);

            DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabel[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 0.0);

            DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashGold[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 100.0);

            DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashRed[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 100.0);

            Wait(0.6, c_timeGame);

            if ((libUIUI_gv_mapMechanicsGardenOfTerrorSeedStatusTextFlashLevel[lp_team] != lv_localFlashLevel)) {

                return true;

            }



        }

    }

    else {

        DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabel[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 0.0);

        DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashGold[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 100.0);

        DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameStatusLabelFlashRed[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 100.0);

        DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabel[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 0.0);

        DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelGold[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 100.0);

        DialogControlFadeTransparency(libUIUI_gv_mapMechanicsPanel.lv_gardenOfTerrorSeedsFrameCountdownLabelRed[lp_team], libGame_gf_PlayersOnTeamHeroes(lp_team, false), 0.0, 100.0);

    }

    return true;

}



void libUIUI_gf_MapMechanicHelpPanelShowHide (bool lp_showHide, playergroup lp_players) {

    // Automatic Variable Declarations

    // Implementation

    if ((lp_showHide == true)) {

        TriggerEnable(libUIUI_gt_MapMechanicHelpPanelOKButtonClicked, true);

    }



    DialogControlSetVisible(libUIUI_gv_mapMechanicHelpPanel.lv_mainPanel, lp_players, lp_showHide);

}



void libUIUI_gf_MapMechanicHelpPanelSetText (text lp_text) {

    // Automatic Variable Declarations

    // Implementation

    libNtve_gf_SetDialogItemText(libUIUI_gv_mapMechanicHelpPanel.lv_helpText, lp_text, PlayerGroupAll());

}



void libUIUI_gf_NotificationDisplaySetMultikillTimerLabelsForPlayer (int lp_player, text lp_titleText, text lp_numberText) {

    // Automatic Variable Declarations

    // Implementation

    libNtve_gf_SetDialogItemText(libUIUI_gv_notificationDisplay.lv_multikillTimerTitleLabel, lp_titleText, libCore_gv_playerGroupFromPlayer[lp_player]);

    libNtve_gf_SetDialogItemText(libUIUI_gv_notificationDisplay.lv_multikillTimerNumberLabel, lp_numberText, libCore_gv_playerGroupFromPlayer[lp_player]);

}



int libUIUI_gf_KillLogGetUnusedItemIndex () {

    // Variable Declarations

    int lv_i_Item;



    // Automatic Variable Declarations

    const int autoFF4CC790_ae = libUIUI_gv_killLog_MaxItemCount_D0A1;

    const int autoFF4CC790_ai = 1;



    // Variable Initialization



    // Implementation

    lv_i_Item = 1;

    for ( ; ( (autoFF4CC790_ai >= 0 && lv_i_Item <= autoFF4CC790_ae) || (autoFF4CC790_ai < 0 && lv_i_Item >= autoFF4CC790_ae) ) ; lv_i_Item += autoFF4CC790_ai ) {

        if ((libUIUI_gv_killLogItems[lv_i_Item].lv_player == 0)) {

            return lv_i_Item;

            return 0;

        }



    }

    return 0;

}



int libUIUI_gf_KillLogGetItemIndexforUnit (int lp_sourcePlayer, int lp_type) {

    // Variable Declarations

    int lv_i_Item;



    // Automatic Variable Declarations

    const int auto6C433549_ae = libUIUI_gv_killLog_MaxItemCount_D0A1;

    const int auto6C433549_ai = 1;



    // Variable Initialization



    // Implementation

    lv_i_Item = 1;

    for ( ; ( (auto6C433549_ai >= 0 && lv_i_Item <= auto6C433549_ae) || (auto6C433549_ai < 0 && lv_i_Item >= auto6C433549_ae) ) ; lv_i_Item += auto6C433549_ai ) {

        if ((libUIUI_gv_killLogItems[lv_i_Item].lv_player == lp_sourcePlayer) && (libUIUI_gv_killLogItems[lv_i_Item].lv_type == lp_type) && (((lp_type == libUIUI_ge_KillLogItemType_Kill) && (libUIUI_gv_killLogItems[lv_i_Item].lv_combo < (libUIUI_gv_killLog_MaxComboPortraits_D0A1 - 1))) || ((lp_type == libUIUI_ge_KillLogItemType_Quest) && (libUIUI_gv_killLogItems[lv_i_Item].lv_combo < (libUIUI_gv_killLog_MaxComboIcons_D0A1 - 1))))) {

            return lv_i_Item;

            return 0;

        }



    }

    return 0;

}



int libUIUI_gf_KillLogGetItemwithLeastRemainingTime () {

    // Variable Declarations

    int lv_i_Item;

    int lv_itemIndexWithLeastRemainingTime;



    // Automatic Variable Declarations

    const int autoBC76CB2B_ae = libUIUI_gv_killLog_MaxItemCount_D0A1;

    const int autoBC76CB2B_ai = 1;



    // Variable Initialization

    lv_itemIndexWithLeastRemainingTime = 1;



    // Implementation

    lv_i_Item = 2;

    for ( ; ( (autoBC76CB2B_ai >= 0 && lv_i_Item <= autoBC76CB2B_ae) || (autoBC76CB2B_ai < 0 && lv_i_Item >= autoBC76CB2B_ae) ) ; lv_i_Item += autoBC76CB2B_ai ) {

        if ((TimerGetRemaining(libUIUI_gv_killLogItems[lv_i_Item].lv_timer) < TimerGetRemaining(libUIUI_gv_killLogItems[lv_itemIndexWithLeastRemainingTime].lv_timer))) {

            lv_itemIndexWithLeastRemainingTime = lv_i_Item;

        }



    }

    return lv_itemIndexWithLeastRemainingTime;

}



string libUIUI_gf_KillLogGetPortraitPathforUnit (unit lp_unit) {

    // Automatic Variable Declarations

    string auto943A18DB_val;



    // Implementation

    auto943A18DB_val = UnitGetType(lp_unit);

    if (auto943A18DB_val == "HeroDVaMech") {

        return "Assets\\Textures\\ui_targetportrait_hero_dva_mech.dds";

    }

    else if (auto943A18DB_val == "RexxarMisha") {

        return "Assets\\Textures\\ui_targetportrait_hero_misha.dds";

    }

    else if (auto943A18DB_val == "HeroErik") {

        return "Assets\\Textures\\ui_targetportrait_hero_erik.dds";

    }

    else if (auto943A18DB_val == "HeroBaleog") {

        return "Assets\\Textures\\ui_targetportrait_hero_baelog.dds";

    }

    else if (auto943A18DB_val == "HeroOlaf") {

        return "Assets\\Textures\\ui_targetportrait_hero_olaf.dds";

    }

    else {

        return libGame_gv_players[UnitGetOwner(lp_unit)].lv_portraitIcon;

    }

}



int libUIUI_gf_KillLogAddNewItem (int lp_sourcePlayer, int lp_eventType) {

    // Variable Declarations

    int lv_itemFrame;

    int lv_itemIndex;

    int lv_i_ItemIndex;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_itemFrame = c_invalidDialogControlId;



    // Implementation

    lv_itemIndex = libUIUI_gf_KillLogGetUnusedItemIndex();

    if ((lv_itemIndex <= 0)) {

        TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_1545E51B"), true);

        return 0;

    }



    libUIUI_gv_killLogItems[lv_itemIndex].lv_player = lp_sourcePlayer;

    libUIUI_gv_killLogItems[lv_itemIndex].lv_type = lp_eventType;

    TimerStart(libUIUI_gv_killLogItems[lv_itemIndex].lv_timer, libUIUI_gv_killLog_Timeout_D0A1, false, c_timeGame);

    lv_itemFrame = libUIUI_gv_killLogItems[lv_itemIndex].lv_frame;

    if ((lp_eventType == libUIUI_ge_KillLogItemType_Kill)) {

        DialogControlSetAnimationState(lv_itemFrame, PlayerGroupAll(), "KillLogItemType", "Kill");

    }

    else if ((lp_eventType == libUIUI_ge_KillLogItemType_Quest)) {

        DialogControlSetAnimationState(lv_itemFrame, PlayerGroupAll(), "KillLogItemType", "Quest");

    }

    if ((lv_itemIndex > 1)) {

        DialogControlSetPositionRelative(lv_itemFrame, PlayerGroupAll(), c_anchorLeft, libUIUI_gv_killLogItems[(lv_itemIndex - 1)].lv_frame, c_anchorLeft, 0, 0);

    }

    else {

        DialogControlSetPositionRelative(lv_itemFrame, PlayerGroupAll(), c_anchorLeft, libUIUI_gv_killLogPanel, c_anchorTopLeft, 0, libUIUI_gv_killLog_TopOffset_D0A1);

    }

    DialogControlSendAnimationEvent(lv_itemFrame, PlayerGroupAll(), "SlideUp");

    DialogControlSendAnimationEvent(lv_itemFrame, PlayerGroupAll(), "FadeIn");

    DialogControlHookup(lv_itemFrame, c_triggerControlTypeImage, "SrcPortrait/PortraitImage");

    libNtve_gf_SetDialogItemImage(DialogControlLastCreated(), libGame_gv_players[lp_sourcePlayer].lv_portraitIcon, PlayerGroupAll());

    if ((lp_sourcePlayer > libCore_gv_bALMaxGamePlayers)) {

        DialogControlSetAnimationState(lv_itemFrame, PlayerGroupAll(), "SrcColor", "Purple");

    }

    else if ((libGame_gf_TeamNumberOfPlayer(lp_sourcePlayer) == libGame_gv_teamChaosIndex_C)) {

        DialogControlSetAnimationState(lv_itemFrame, libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamOrderIndex_C, false), "SrcColor", "Red");

        DialogControlSetAnimationState(lv_itemFrame, libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamChaosIndex_C, false), "SrcColor", "Blue");

        DialogControlSetAnimationState(lv_itemFrame, PlayerGroupSingle(libCore_gv_oBSERVER_ObserverUIPlayer), "SrcColor", "Red");

    }

    else if ((libGame_gf_TeamNumberOfPlayer(lp_sourcePlayer) == libGame_gv_teamOrderIndex_C)) {

        DialogControlSetAnimationState(lv_itemFrame, libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamOrderIndex_C, false), "SrcColor", "Blue");

        DialogControlSetAnimationState(lv_itemFrame, libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamChaosIndex_C, false), "SrcColor", "Red");

        DialogControlSetAnimationState(lv_itemFrame, PlayerGroupSingle(libCore_gv_oBSERVER_ObserverUIPlayer), "SrcColor", "Blue");

    }

    else if (true) {

        DialogControlSetAnimationState(lv_itemFrame, PlayerGroupAll(), "SrcColor", "Purple");

    }

    if ((lv_itemIndex > libUIUI_gv_killLog_MaxVisibleItemsCount_D0A1)) {

        libUIUI_gf_KillLogHideItem(libUIUI_gf_KillLogGetItemwithLeastRemainingTime());

    }



    return lv_itemFrame;

}



void libUIUI_gf_KillLogAnnounceKill (int lp_sourcePlayer, unit lp_target) {

    // Variable Declarations

    int lv_itemFrame;

    int lv_itemIndex;

    int lv_combo;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_itemFrame = c_invalidDialogControlId;



    // Implementation

    if (((lp_target == null) || (UnitIsValid(lp_target) == false))) {

        TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_64C9BCB4"), true);

        return ;

    }



    lv_itemIndex = libUIUI_gf_KillLogGetItemIndexforUnit(lp_sourcePlayer, libUIUI_ge_KillLogItemType_Kill);

    if ((lv_itemIndex > 0) && ((UnitGetType(lp_target) == "HeroGall") || ((lp_sourcePlayer >= 1) && (lp_sourcePlayer <= libCore_gv_bALMaxPlayers)))) {

        if ((libUIUI_gv_killLogItems[lv_itemIndex].lv_combo >= (libUIUI_gv_killLog_MaxComboPortraits_D0A1 - 1))) {

            TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_C342B9D2"), true);

            return ;

        }



        TimerStart(libUIUI_gv_killLogItems[lv_itemIndex].lv_timer, libUIUI_gv_killLog_Timeout_D0A1, false, c_timeGame);

        lv_itemFrame = libUIUI_gv_killLogItems[lv_itemIndex].lv_frame;

        libUIUI_gv_killLogItems[lv_itemIndex].lv_combo += 1;

        lv_combo = libUIUI_gv_killLogItems[lv_itemIndex].lv_combo;

    }

    else {

        lv_itemFrame = libUIUI_gf_KillLogAddNewItem(lp_sourcePlayer, libUIUI_ge_KillLogItemType_Kill);

        if ((lv_itemFrame == c_invalidDialogControlId)) {

            return ;

        }



        DialogControlSendAnimationEvent(lv_itemFrame, PlayerGroupAll(), "FadeIn");

        if (((libGame_gf_TeamNumberOfPlayer(UnitGetOwner(lp_target)) == libGame_gv_teamChaosIndex_C) && (lv_itemFrame != c_invalidDialogControlId))) {

            DialogControlSetAnimationState(lv_itemFrame, libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamOrderIndex_C, false), "TgtColor", "Red");

            DialogControlSetAnimationState(lv_itemFrame, libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamChaosIndex_C, false), "TgtColor", "Blue");

            DialogControlSetAnimationState(lv_itemFrame, PlayerGroupSingle(libCore_gv_oBSERVER_ObserverUIPlayer), "TgtColor", "Red");

        }

        else {

            DialogControlSetAnimationState(lv_itemFrame, libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamOrderIndex_C, false), "TgtColor", "Blue");

            DialogControlSetAnimationState(lv_itemFrame, libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamChaosIndex_C, false), "TgtColor", "Red");

            DialogControlSetAnimationState(lv_itemFrame, PlayerGroupSingle(libCore_gv_oBSERVER_ObserverUIPlayer), "TgtColor", "Blue");

        }

    }

    DialogControlHookup(lv_itemFrame, c_triggerControlTypeImage, libNtve_gf_ConvertStringToUILayoutFrameName(("TgtPortrait" + IntToString(lv_combo) + "/PortraitImage")));

    libNtve_gf_SetDialogItemImage(DialogControlLastCreated(), libUIUI_gf_KillLogGetPortraitPathforUnit(lp_target), PlayerGroupAll());

    DialogControlHookup(lv_itemFrame, c_triggerControlTypePanel, libNtve_gf_ConvertStringToUILayoutFrameName(("TgtPortrait" + IntToString(lv_combo))));

    DialogControlSendAnimationEvent(DialogControlLastCreated(), PlayerGroupAll(), "FadeIn");

    libUIUI_gf_KillLogDisplayQuestResetdatafromCache(UnitGetOwner(lp_target), DialogControlLastCreated());

}



void libUIUI_gf_KillLogAnnounceQuestCompletion (int lp_player, string lp_questToken, fixed lp_progress) {

    // Variable Declarations

    int lv_itemFrame;

    string lv_icon;

    string lv_questTalent;

    text lv_questName;

    int lv_itemIndex;

    int lv_combo;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_itemFrame = c_invalidDialogControlId;

    lv_icon = "";



    // Implementation

    if ((lp_player <= 0) && (lp_player > libCore_gv_bALMaxPlayers)) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_4648B800", "Player", IntToText(lp_player));

        TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_4648B800"), true);

        return ;

    }



    if ((lp_questToken == null)) {

        TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_06EBE0CB"), true);

        return ;

    }



    lv_itemIndex = libUIUI_gf_KillLogGetItemIndexforUnit(lp_player, libUIUI_ge_KillLogItemType_Quest);

    if ((lv_itemIndex > 0)) {

        if ((libUIUI_gv_killLogItems[lv_itemIndex].lv_combo >= (libUIUI_gv_killLog_MaxComboIcons_D0A1 - 1))) {

            TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_47B58C0A"), true);

            return ;

        }



        TimerStart(libUIUI_gv_killLogItems[lv_itemIndex].lv_timer, libUIUI_gv_killLog_Timeout_D0A1, false, c_timeGame);

        libUIUI_gv_killLogItems[lv_itemIndex].lv_combo += 1;

        lv_itemFrame = libUIUI_gv_killLogItems[lv_itemIndex].lv_frame;

        lv_combo = libUIUI_gv_killLogItems[lv_itemIndex].lv_combo;

    }

    else {

        lv_itemFrame = libUIUI_gf_KillLogAddNewItem(lp_player, libUIUI_ge_KillLogItemType_Quest);

    }

    lv_icon = CatalogFieldValueGet(c_gameCatalogButton, CatalogFieldValueGet(c_gameCatalogBehavior, lp_questToken, "Face", c_playerAny), "Icon", c_playerAny);

    DialogControlHookup(lv_itemFrame, c_triggerControlTypeImage, libNtve_gf_ConvertStringToUILayoutFrameName(("QuestIcon" + IntToString(lv_combo) + "/IconImage")));

    libNtve_gf_SetDialogItemImage(DialogControlLastCreated(), (lv_icon), PlayerGroupAll());

    DialogControlHookup(lv_itemFrame, c_triggerControlTypeLabel, libNtve_gf_ConvertStringToUILayoutFrameName(("QuestIcon" + IntToString(lv_combo) + "/TimestampLabel")));

    libNtve_gf_SetDialogItemText(DialogControlLastCreated(), TextTimeFormat(StringToText("<mintotal/>:<sec2/>"), FixedToInt(TimerGetElapsed(libGame_gv_gameTimer))), PlayerGroupAll());

    DialogControlHookup(lv_itemFrame, c_triggerControlTypeLabel, libNtve_gf_ConvertStringToUILayoutFrameName(("QuestIcon" + IntToString(lv_combo) + "/ProgressValue")));

    libNtve_gf_SetDialogItemText(DialogControlLastCreated(), FixedToText(lp_progress, c_fixedPrecisionAny), PlayerGroupAll());

    DialogControlHookup(lv_itemFrame, c_triggerControlTypePanel, libNtve_gf_ConvertStringToUILayoutFrameName(("QuestIcon" + IntToString(lv_combo))));

    DialogControlSendAnimationEvent(DialogControlLastCreated(), PlayerGroupAll(), "FadeIn");

    SoundPlayForPlayer(SoundLink("TalentQuestLogCompleteAlly", -1), c_maxPlayers, PlayerGroupMath(PlayerGroupAlliance(c_playerGroupAlly, lp_player), PlayerGroupSingle(lp_player), libNtve_ge_PlayerGroupOperation_Subtract), 100.0, 0.0);

    SoundPlayForPlayer(SoundLink("TalentQuestLogCompleteEnemy", -1), c_maxPlayers, PlayerGroupAlliance(c_playerGroupEnemy, lp_player), 100.0, 0.0);

    lv_questName = StringExternal(CatalogFieldValueGet(c_gameCatalogButton, CatalogFieldValueGet(c_gameCatalogBehavior, lp_questToken, "Face", c_playerAny), "Name", c_playerAny));

    libGame_gf_AnnouncementAddItemForPlayerGroup(libCore_gv_playerGroupFromPlayer[lp_player], libGame_ge_AnnouncementPriorities_Normal, libCore_ge_AnnouncerVOEvents_Null, "ShowQuestNotification", StringExternal("Param/Value/lib_UIUI_607B6246"), lv_questName, null, null, (lv_icon), libGame_gv_announcement_LongAnnouncementDuration_C, false);

}



void libUIUI_gf_KillLogAnnounceQuestMilestone (int lp_player, string lp_questToken, fixed lp_progress) {

    // Variable Declarations

    int lv_itemFrame;

    string lv_icon;

    string lv_questTalent;

    text lv_questName;

    int lv_itemIndex;

    int lv_combo;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_itemFrame = c_invalidDialogControlId;

    lv_icon = "";



    // Implementation

    if ((lp_player <= 0) && (lp_player > libCore_gv_bALMaxPlayers)) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_E0FFD098", "Player", IntToText(lp_player));

        TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_E0FFD098"), true);

        return ;

    }



    if ((lp_questToken == null)) {

        TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_FF3CBDB1"), true);

        return ;

    }



    lv_icon = CatalogFieldValueGet(c_gameCatalogButton, CatalogFieldValueGet(c_gameCatalogBehavior, lp_questToken, "Face", c_playerAny), "Icon", c_playerAny);

    lv_questName = StringExternal(CatalogFieldValueGet(c_gameCatalogButton, CatalogFieldValueGet(c_gameCatalogBehavior, lp_questToken, "Face", c_playerAny), "Name", c_playerAny));

    SoundPlayForPlayer(SoundLink("TalentQuestLogCompleteAlly", -1), c_maxPlayers, libCore_gv_playerGroupFromPlayer[lp_player], 100.0, 0.0);

    libGame_gf_AnnouncementAddItemForPlayerGroup(libCore_gv_playerGroupFromPlayer[lp_player], libGame_ge_AnnouncementPriorities_Normal, libCore_ge_AnnouncerVOEvents_Null, "ShowQuestNotification", StringExternal("Param/Value/lib_UIUI_F7FD8E35"), lv_questName, null, null, (lv_icon), libGame_gv_announcement_LongAnnouncementDuration_C, false);

}



void libUIUI_gf_KillLogSaveQuestResetdatatoCache (int lp_player, string lp_quest) {

    // Variable Declarations

    int lv_i_CacheEntryBehavior;



    // Automatic Variable Declarations

    int autoFB04E600_ae;



    // Variable Initialization



    // Implementation

    autoFB04E600_ae = libUIUI_gv_killLog_MaxComboIcons_D0A1;

    lv_i_CacheEntryBehavior = 1;

    for ( ; lv_i_CacheEntryBehavior <= autoFB04E600_ae ; lv_i_CacheEntryBehavior += 1 ) {

        if ((libUIUI_gv_killLogQuestResetCache[lp_player].lv_quests[lv_i_CacheEntryBehavior] == null)) {

            libUIUI_gv_killLogQuestResetCache[lp_player].lv_quests[lv_i_CacheEntryBehavior] = lp_quest;

            return ;

        }



    }

    TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_200ADF8A"), true);

}



void libUIUI_gf_KillLogDisplayQuestResetdatafromCache (int lp_player, int lp_portraitFrame) {

    // Variable Declarations

    int lv_i_BehaviorIndex;

    int lv_questIconFrame;

    string lv_icon;



    // Automatic Variable Declarations

    int auto435BDE7C_ae;



    // Variable Initialization

    lv_questIconFrame = c_invalidDialogControlId;

    lv_icon = "";



    // Implementation

    auto435BDE7C_ae = libUIUI_gv_killLog_MaxComboIcons_D0A1;

    lv_i_BehaviorIndex = 1;

    for ( ; lv_i_BehaviorIndex <= auto435BDE7C_ae ; lv_i_BehaviorIndex += 1 ) {

        if ((libUIUI_gv_killLogQuestResetCache[lp_player].lv_quests[lv_i_BehaviorIndex] != null)) {

            DialogControlHookup(lp_portraitFrame, c_triggerControlTypePanel, libNtve_gf_ConvertStringToUILayoutFrameName(("QuestResetIcon" + IntToString(lv_i_BehaviorIndex))));

            lv_questIconFrame = DialogControlLastCreated();

            DialogControlSetVisible(lv_questIconFrame, PlayerGroupAll(), true);

            lv_icon = CatalogFieldValueGet(c_gameCatalogButton, CatalogFieldValueGet(c_gameCatalogBehavior, libUIUI_gv_killLogQuestResetCache[lp_player].lv_quests[lv_i_BehaviorIndex], "Face", c_playerAny), "Icon", c_playerAny);

            DialogControlHookup(lv_questIconFrame, c_triggerControlTypeImage, "IconImage");

            libNtve_gf_SetDialogItemImage(DialogControlLastCreated(), (lv_icon), PlayerGroupAll());

            libUIUI_gv_killLogQuestResetCache[lp_player].lv_quests[lv_i_BehaviorIndex] = null;

        }



    }

}



void libUIUI_gf_KillLogHideItem (int lp_indextoRemove) {

    // Variable Declarations

    int lv_i_Item;

    int lv_temp_Frame;

    timer lv_temp_Timer;



    // Automatic Variable Declarations

    int auto27647D8C_ae;

    const int auto27647D8C_ai = 1;



    // Variable Initialization

    lv_temp_Frame = c_invalidDialogControlId;



    // Implementation

    libNtve_gf_StopTimer(libUIUI_gv_killLogItems[lp_indextoRemove].lv_timer);

    lv_temp_Timer = libUIUI_gv_killLogItems[lp_indextoRemove].lv_timer;

    lv_temp_Frame = libUIUI_gv_killLogItems[lp_indextoRemove].lv_frame;

    if ((libUIUI_gv_killLogItems[(lp_indextoRemove + 1)].lv_player > 0)) {

        if ((lp_indextoRemove > 1)) {

            DialogControlSetPositionRelative(libUIUI_gv_killLogItems[(lp_indextoRemove + 1)].lv_frame, PlayerGroupAll(), c_anchorLeft, libUIUI_gv_killLogItems[(lp_indextoRemove - 1)].lv_frame, c_anchorLeft, 0, 0);

        }

        else {

            DialogControlSetPositionRelative(libUIUI_gv_killLogItems[(lp_indextoRemove + 1)].lv_frame, PlayerGroupAll(), c_anchorLeft, libUIUI_gv_killLogPanel, c_anchorTopLeft, 0, libUIUI_gv_killLog_TopOffset_D0A1);

        }

        DialogControlSendAnimationEvent(libUIUI_gv_killLogItems[(lp_indextoRemove + 1)].lv_frame, PlayerGroupAll(), "SlideUp");

    }



    auto27647D8C_ae = (libUIUI_gv_killLog_MaxItemCount_D0A1 - 1);

    lv_i_Item = lp_indextoRemove;

    for ( ; ( (auto27647D8C_ai >= 0 && lv_i_Item <= auto27647D8C_ae) || (auto27647D8C_ai < 0 && lv_i_Item >= auto27647D8C_ae) ) ; lv_i_Item += auto27647D8C_ai ) {

        libUIUI_gv_killLogItems[lv_i_Item].lv_player = libUIUI_gv_killLogItems[(lv_i_Item + 1)].lv_player;

        libUIUI_gv_killLogItems[lv_i_Item].lv_frame = libUIUI_gv_killLogItems[(lv_i_Item + 1)].lv_frame;

        libUIUI_gv_killLogItems[lv_i_Item].lv_timer = libUIUI_gv_killLogItems[(lv_i_Item + 1)].lv_timer;

        libUIUI_gv_killLogItems[lv_i_Item].lv_combo = libUIUI_gv_killLogItems[(lv_i_Item + 1)].lv_combo;

        libUIUI_gv_killLogItems[lv_i_Item].lv_type = libUIUI_gv_killLogItems[(lv_i_Item + 1)].lv_type;

    }

    libUIUI_gv_killLogItems[libUIUI_gv_killLog_MaxItemCount_D0A1].lv_player = 0;

    libUIUI_gv_killLogItems[libUIUI_gv_killLog_MaxItemCount_D0A1].lv_frame = lv_temp_Frame;

    libUIUI_gv_killLogItems[libUIUI_gv_killLog_MaxItemCount_D0A1].lv_timer = lv_temp_Timer;

    libUIUI_gv_killLogItems[libUIUI_gv_killLog_MaxItemCount_D0A1].lv_combo = 0;

    DialogControlSendAnimationEvent(libUIUI_gv_killLogItems[libUIUI_gv_killLog_MaxItemCount_D0A1].lv_frame, PlayerGroupAll(), "FadeOut");

}



void libUIUI_gf_KillLogDebugInitPanel () {

    // Variable Declarations

    int lv_i_Player;

    int lv_killFrame;

    int lv_questFrame;



    // Automatic Variable Declarations

    int auto5DE6BA42_ae;

    int auto26EAC635_ae;



    // Variable Initialization

    lv_killFrame = c_invalidDialogControlId;

    lv_questFrame = c_invalidDialogControlId;



    // Implementation

    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsolePanel/KillLogDebugPanel");

    libUIUI_gv_killLogDebugPanel.lv_mainPanel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_killLogDebugPanel.lv_mainPanel, c_triggerControlTypeButton, "CloseButton");

    libUIUI_gv_killLogDebugPanel.lv_closeButton = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_killLogDebugPanel.lv_mainPanel, c_triggerControlTypePanel, "KillFrame");

    lv_killFrame = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_killLogDebugPanel.lv_mainPanel, c_triggerControlTypePanel, "QuestFrame");

    lv_questFrame = DialogControlLastCreated();

    auto5DE6BA42_ae = libCore_gv_bALMaxPlayers;

    lv_i_Player = 1;

    for ( ; lv_i_Player <= auto5DE6BA42_ae ; lv_i_Player += 1 ) {

        if ((PlayerGroupHasPlayer(PlayerGroupActive(), lv_i_Player) == true)) {

            DialogControlHookup(lv_killFrame, c_triggerControlTypeButton, libNtve_gf_ConvertStringToUILayoutFrameName(("Button" + IntToString(lv_i_Player))));

            DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), true);

            libNtve_gf_SetDialogItemText(DialogControlLastCreated(), libGame_gv_players[lv_i_Player].lv_heroData.lv_name, PlayerGroupAll());

            libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "StandardGlueButtonRedSmall", libGame_gf_EnemyPlayerGroupOfPlayer(lv_i_Player));

            libUIUI_gv_killLogDebugPanel.lv_killButtons[lv_i_Player] = DialogControlLastCreated();

            DialogControlHookup(lv_questFrame, c_triggerControlTypeButton, libNtve_gf_ConvertStringToUILayoutFrameName(("Button" + IntToString(lv_i_Player))));

            DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), true);

            libNtve_gf_SetDialogItemText(DialogControlLastCreated(), libGame_gv_players[lv_i_Player].lv_heroData.lv_name, PlayerGroupAll());

            libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "StandardGlueButtonRedSmall", libGame_gf_EnemyPlayerGroupOfPlayer(lv_i_Player));

            libUIUI_gv_killLogDebugPanel.lv_questButtons[lv_i_Player] = DialogControlLastCreated();

        }



    }

    auto26EAC635_ae = libCore_gv_bALMaxEnginePlayerCount;

    lv_i_Player = (libCore_gv_bALMaxPlayers + 1);

    for ( ; lv_i_Player <= auto26EAC635_ae ; lv_i_Player += 1 ) {

        DialogControlHookup(lv_killFrame, c_triggerControlTypeButton, libNtve_gf_ConvertStringToUILayoutFrameName(("Button" + IntToString(lv_i_Player))));

        DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), true);

        libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "StandardGlueButtonRedSmall", libGame_gf_EnemyPlayerGroupOfPlayer(lv_i_Player));

        libUIUI_gv_killLogDebugPanel.lv_killButtons[lv_i_Player] = DialogControlLastCreated();

    }

    DialogControlHookup(lv_killFrame, c_triggerControlTypeCheckBox, "Checkbox");

    libUIUI_gv_killLogDebugPanel.lv_killCheckbox = DialogControlLastCreated();

    DialogControlHookup(lv_questFrame, c_triggerControlTypeCheckBox, "Checkbox");

    libUIUI_gv_killLogDebugPanel.lv_questCheckbox = DialogControlLastCreated();

}



string libUIUI_gf_KillLogDebugRandomQuestBehavior () {

    // Automatic Variable Declarations

    int autoA6BF4E18_val;



    // Implementation

    autoA6BF4E18_val = RandomInt(0, 5);

    if (autoA6BF4E18_val == 1) {

        return "ETCProgRockTokenCounter";

    }

    else if (autoA6BF4E18_val == 2) {

        return "ChenFreshestIngredientsTokenCounter";

    }

    else if (autoA6BF4E18_val == 3) {

        return "KaelthasFlamestrikeConvectionQuestToken";

    }

    else if (autoA6BF4E18_val == 4) {

        return "LucioSoundwaveChaseTheBassQuestToken";

    }

    else if (autoA6BF4E18_val == 5) {

        return "FalstadHammerangGatheringStormQuestToken";

    }

    else {

        return "GreymaneWizenedDuelistQuestToken";

    }

}



void libUIUI_gf_UIObserverUIAddPlayerToObserverUI (int lp_player) {

    // Variable Declarations

    int lv_slot;

    int lv_heroIndex;

    string lv_heroName;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_heroName = "";



    // Implementation

    lv_slot = libGame_gv_players[lp_player].lv_rosterSlot;

    DialogControlSetVisible(libUIUI_gv_uIObserverUI.lv_heroPanels[lv_slot], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);

    if ((libUIUI_gv_uIObserverUI.lv_heroTopTalents[lv_slot] != c_invalidDialogControlId)) {

        DialogControlFadeTransparency(libUIUI_gv_uIObserverUI.lv_heroTopTalents[lv_slot], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], 0.01, 0.0);

    }



    lv_heroIndex = lp_player;

    lv_heroName = (libGame_gv_players[lv_heroIndex].lv_heroData.lv_heroCatalogLink);

    libNtve_gf_SetDialogItemImage(libUIUI_gv_uIObserverUI.lv_heroPortraitImages[lv_slot], libGame_gv_players[lv_heroIndex].lv_heroData.lv_loadingScreenImage, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIObserverUI.lv_heroTargetFrames[lv_slot], libGame_gv_players[lp_player].lv_heroUnit, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIObserverUI.lv_heroStatusBars[lv_slot], libGame_gv_players[lp_player].lv_heroUnit, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

}



void libUIUI_gf_UIObserverUIUpdateForPlayer (int lp_player) {

    // Variable Declarations

    int lv_itPlayer;

    int lv_rosterSlot;

    fixed[libCore_gv_bALMaxTeams + 1] lv_teamDeaths;

    int lv_team;



    // Automatic Variable Declarations

    const int autoB0E7DA55_ae = libCore_gv_bALMaxPlayers;

    const int autoB0E7DA55_ai = 1;



    // Variable Initialization



    // Implementation

    lv_itPlayer = 1;

    for ( ; ( (autoB0E7DA55_ai >= 0 && lv_itPlayer <= autoB0E7DA55_ae) || (autoB0E7DA55_ai < 0 && lv_itPlayer >= autoB0E7DA55_ae) ) ; lv_itPlayer += autoB0E7DA55_ai ) {

        if ((libGame_gv_players[lv_itPlayer].lv_playerStatus == libGame_ge_PlayerStatusStorm_Playing)) {

            lv_rosterSlot = libGame_gv_players[lv_itPlayer].lv_rosterSlot;

            if ((libGame_gv_players[lv_itPlayer].lv_faction == libGame_ge_Faction_Order)) {

                lv_team = 1;

            }

            else {

                lv_team = 2;

            }

            if ((libGame_gv_players[lv_itPlayer].lv_isDead == true) && (UnitGetType(libGame_gv_players[lv_itPlayer].lv_heroUnit) != "HeroLostVikingsController")) {

                libNtve_gf_SetDialogItemText(libUIUI_gv_uIObserverUI.lv_heroDeathTimeLabels[lv_rosterSlot], FixedToText(TimerGetRemaining(libGame_gv_players[lv_itPlayer].lv_respawnTimer), 0), libCore_gv_playerGroupFromPlayer[lp_player]);

            }

            else {

                libGDHL_gf_LostVikingsUpdateObserverUI(libUIUI_gv_uIObserverUI.lv_heroDeathTimeLabels[lv_rosterSlot], lp_player, lv_itPlayer);

            }

            lv_teamDeaths[lv_team] += libGame_gv_scoreValues[lv_itPlayer].lv_deaths;

        }



    }

    libNtve_gf_SetDialogItemText(libUIUI_gv_uIObserverUI.lv_teamTownsLabel[1], IntToText(libGame_gv_teams[1].lv_townsRemaining), libCore_gv_playerGroupFromPlayer[lp_player]);

    libNtve_gf_SetDialogItemText(libUIUI_gv_uIObserverUI.lv_teamTownsLabel[2], IntToText(libGame_gv_teams[2].lv_townsRemaining), libCore_gv_playerGroupFromPlayer[lp_player]);

    libNtve_gf_SetDialogItemText(libUIUI_gv_uIObserverUI.lv_teamLevelLabel[1], IntToText(libGame_gv_teams[1].lv_teamLevel), libCore_gv_playerGroupFromPlayer[lp_player]);

    libNtve_gf_SetDialogItemText(libUIUI_gv_uIObserverUI.lv_teamLevelLabel[2], IntToText(libGame_gv_teams[2].lv_teamLevel), libCore_gv_playerGroupFromPlayer[lp_player]);

}



void libUIUI_gf_UIOnFireEnableDisableOnFireSystem (bool lp_enableDisable) {

    // Variable Declarations

    int lv_playerIndex;



    // Automatic Variable Declarations

    const int auto5723B54C_ae = libCore_gv_bALMaxPlayers;

    const int auto5723B54C_ai = 1;



    // Variable Initialization



    // Implementation

    libUIUI_gv_uIOnFireOnFireDisplayEnabled = lp_enableDisable;

    lv_playerIndex = 1;

    for ( ; ( (auto5723B54C_ai >= 0 && lv_playerIndex <= auto5723B54C_ae) || (auto5723B54C_ai < 0 && lv_playerIndex >= auto5723B54C_ae) ) ; lv_playerIndex += auto5723B54C_ai ) {

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Extinguished, lv_playerIndex);

    }

}



void libUIUI_gf_UIOnFireSetOnFireType (int lp_onFireType, int lp_player) {

    // Variable Declarations

    int lv_heroGroupStatusFramesIndex;



    // Automatic Variable Declarations

    int autoA795863C_ae;

    const int autoA795863C_ai = 1;



    // Variable Initialization



    // Implementation

    if ((libUIUI_gv_uIOnFireOnFireDisplayEnabled == false)) {

        return ;

    }



    autoA795863C_ae = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitCount;

    lv_heroGroupStatusFramesIndex = 1;

    for ( ; ( (autoA795863C_ai >= 0 && lv_heroGroupStatusFramesIndex <= autoA795863C_ae) || (autoA795863C_ai < 0 && lv_heroGroupStatusFramesIndex >= autoA795863C_ae) ) ; lv_heroGroupStatusFramesIndex += autoA795863C_ai ) {

        DialogControlSendAnimationEvent(libUIUI_gv_uIHeroStatusFrames[lp_player].lv_onFireCutscene[lv_heroGroupStatusFramesIndex], PlayerGroupAlliance(c_playerGroupAlly, lp_player), "OnFireDefense");

        DialogControlSendAnimationEvent(libUIUI_gv_uIHeroStatusFrames[lp_player].lv_onFireCutscene[lv_heroGroupStatusFramesIndex], PlayerGroupSingle(lp_player), "OnFireDefense");

        DialogControlSendAnimationEvent(libUIUI_gv_uIHeroStatusFrames[lp_player].lv_onFireCutscene[lv_heroGroupStatusFramesIndex], PlayerGroupAlliance(c_playerGroupEnemy, lp_player), "OnFireOffense");

    }

    DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroOnFireCutscene[libGame_gv_players[lp_player].lv_rosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(lp_player), "OnFireAlly");

    DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroOnFireCutscene[libGame_gv_players[lp_player].lv_rosterSlot], libGame_gf_EnemyPlayerGroupOfPlayer(lp_player), "OnFireEnemy");

    if ((libGame_gv_players[lp_player].lv_faction == libGame_ge_Faction_Order)) {

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroOnFireCutscene[libGame_gv_players[lp_player].lv_rosterSlot], PlayerGroupAll(), "OnFireLeft");

    }

    else {

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroOnFireCutscene[libGame_gv_players[lp_player].lv_rosterSlot], PlayerGroupAll(), "OnFireRight");

    }

}



void libUIUI_gf_UIOnFireSetOnFireLevel (int lp_onFireLevel, int lp_player) {

    // Variable Declarations

    bool lv_noStatusFrameFire;

    int lv_iterator;

    int lv_heroGroupStatusFramesIndex;



    // Automatic Variable Declarations

    int autoE935F3FA_val;

    int autoC450851C_ae;

    const int autoC450851C_ai = 1;

    int auto659BAA03_ae;

    const int auto659BAA03_ai = 1;

    int autoC584046E_ae;

    const int autoC584046E_ai = 1;

    int auto004A449C_ae;

    const int auto004A449C_ai = 1;



    // Variable Initialization



    // Implementation

    if ((libUIUI_gv_uIOnFireOnFireDisplayEnabled == false)) {

        return ;

    }



    if (((UnitGetType(libGame_gv_players[lp_player].lv_heroUnit) == "HeroSamuro") || (UnitGetType(libGame_gv_players[lp_player].lv_heroUnit) == "HeroNova"))) {

        lv_noStatusFrameFire = true;

    }



    autoE935F3FA_val = lp_onFireLevel;

    if (autoE935F3FA_val == libGame_ge_OnFireLevel_Extinguished) {

        autoC450851C_ae = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitCount;

        lv_heroGroupStatusFramesIndex = 1;

        for ( ; ( (autoC450851C_ai >= 0 && lv_heroGroupStatusFramesIndex <= autoC450851C_ae) || (autoC450851C_ai < 0 && lv_heroGroupStatusFramesIndex >= autoC450851C_ae) ) ; lv_heroGroupStatusFramesIndex += autoC450851C_ai ) {

            if ((lv_noStatusFrameFire == false)) {

                DialogControlSendAnimationEvent(libUIUI_gv_uIHeroStatusFrames[lp_player].lv_onFireCutscene[lv_heroGroupStatusFramesIndex], PlayerGroupAll(), "OnFireEnd");

            }



        }

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroOnFireCutscene[libGame_gv_players[lp_player].lv_rosterSlot], PlayerGroupAll(), "OnFireEnd");

        DialogControlSendAnimationEvent(libUIUI_gv_uIHeroConsole.lv_gameUIOnFire, PlayerGroupSingle(lp_player), "OnFireEnd");

    }

    else if (autoE935F3FA_val == libGame_ge_OnFireLevel_Embers) {

        auto659BAA03_ae = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitCount;

        lv_heroGroupStatusFramesIndex = 1;

        for ( ; ( (auto659BAA03_ai >= 0 && lv_heroGroupStatusFramesIndex <= auto659BAA03_ae) || (auto659BAA03_ai < 0 && lv_heroGroupStatusFramesIndex >= auto659BAA03_ae) ) ; lv_heroGroupStatusFramesIndex += auto659BAA03_ai ) {

            if ((lv_noStatusFrameFire == false)) {

                DialogControlSendAnimationEvent(libUIUI_gv_uIHeroStatusFrames[lp_player].lv_onFireCutscene[lv_heroGroupStatusFramesIndex], PlayerGroupAll(), "OnFireEmbers");

            }



        }

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroOnFireCutscene[libGame_gv_players[lp_player].lv_rosterSlot], PlayerGroupAll(), "OnFireEmbers");

        DialogControlSendAnimationEvent(libUIUI_gv_uIHeroConsole.lv_gameUIOnFire, PlayerGroupSingle(lp_player), "OnFireEmbers");

    }

    else if (autoE935F3FA_val == libGame_ge_OnFireLevel_UNUSED) {

        autoC584046E_ae = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitCount;

        lv_heroGroupStatusFramesIndex = 1;

        for ( ; ( (autoC584046E_ai >= 0 && lv_heroGroupStatusFramesIndex <= autoC584046E_ae) || (autoC584046E_ai < 0 && lv_heroGroupStatusFramesIndex >= autoC584046E_ae) ) ; lv_heroGroupStatusFramesIndex += autoC584046E_ai ) {

            if ((lv_noStatusFrameFire == false)) {

                DialogControlSendAnimationEvent(libUIUI_gv_uIHeroStatusFrames[lp_player].lv_onFireCutscene[lv_heroGroupStatusFramesIndex], PlayerGroupAll(), "OnFireSmoldering");

            }



        }

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroOnFireCutscene[libGame_gv_players[lp_player].lv_rosterSlot], PlayerGroupAll(), "OnFireSmoldering");

        DialogControlSendAnimationEvent(libUIUI_gv_uIHeroConsole.lv_gameUIOnFire, PlayerGroupSingle(lp_player), "OnFireSmoldering");

    }

    else if (autoE935F3FA_val == libGame_ge_OnFireLevel_Inferno) {

        auto004A449C_ae = libUIUI_gv_uIHeroStatusFrames[lp_player].lv_unitCount;

        lv_heroGroupStatusFramesIndex = 1;

        for ( ; ( (auto004A449C_ai >= 0 && lv_heroGroupStatusFramesIndex <= auto004A449C_ae) || (auto004A449C_ai < 0 && lv_heroGroupStatusFramesIndex >= auto004A449C_ae) ) ; lv_heroGroupStatusFramesIndex += auto004A449C_ai ) {

            if ((lv_noStatusFrameFire == false)) {

                DialogControlSendAnimationEvent(libUIUI_gv_uIHeroStatusFrames[lp_player].lv_onFireCutscene[lv_heroGroupStatusFramesIndex], PlayerGroupAll(), "OnFireInferno");

            }



        }

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroOnFireCutscene[libGame_gv_players[lp_player].lv_rosterSlot], PlayerGroupAll(), "OnFireInferno");

        DialogControlSendAnimationEvent(libUIUI_gv_uIHeroConsole.lv_gameUIOnFire, PlayerGroupSingle(lp_player), "OnFireInferno");

    }

    else {

    }

}



void libUIUI_gf_UIOnFireSetOnFireScoreValueHighlights () {

    // Variable Declarations

    int lv_playerIterator;

    int lv_statIterator;



    // Automatic Variable Declarations

    int auto9131CD3C_ae;



    // Variable Initialization



    // Implementation

    auto9131CD3C_ae = libCore_gv_bALMaxPlayers;

    lv_playerIterator = 1;

    for ( ; lv_playerIterator <= auto9131CD3C_ae ; lv_playerIterator += 1 ) {

        if ((((libGame_gv_onFireScores[1].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[1].lv_fireLevel > 0)) || ((libGame_gv_onFireScores[2].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[2].lv_fireLevel > 0)) || ((libGame_gv_onFireScores[3].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[3].lv_fireLevel > 0))) && (libGame_gv_onFireHighlightforHeroDamager[lv_playerIterator] == true)) {

            PlayerScoreValueSetFromInt(lv_playerIterator, "OnFireHighlightHeroDamageBoolean", 1);

        }

        else {

            PlayerScoreValueSetFromInt(lv_playerIterator, "OnFireHighlightHeroDamageBoolean", 0);

        }

        if ((libGame_gv_onFireHighlightforHealing[lv_playerIterator] == true) && (((libGame_gv_onFireScores[1].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[1].lv_fireLevel > 0)) || ((libGame_gv_onFireScores[2].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[2].lv_fireLevel > 0)) || ((libGame_gv_onFireScores[3].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[3].lv_fireLevel > 0)))) {

            PlayerScoreValueSetFromInt(lv_playerIterator, "OnFireHighlightHealingBoolean", 1);

        }

        else {

            PlayerScoreValueSetFromInt(lv_playerIterator, "OnFireHighlightHealingBoolean", 0);

        }

        if ((libGame_gv_onFireHighlightforDamageTaken[lv_playerIterator] == true) && (((libGame_gv_onFireScores[1].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[1].lv_fireLevel > 0)) || ((libGame_gv_onFireScores[2].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[2].lv_fireLevel > 0)) || ((libGame_gv_onFireScores[3].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[3].lv_fireLevel > 0)))) {

            PlayerScoreValueSetFromInt(lv_playerIterator, "OnFireHighlightDamageTakenBoolean", 1);

        }

        else {

            PlayerScoreValueSetFromInt(lv_playerIterator, "OnFireHighlightDamageTakenBoolean", 0);

        }

        if ((libGame_gv_onFireHighlightforSiegeDamage[lv_playerIterator] == true) && (((libGame_gv_onFireScores[1].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[1].lv_fireLevel > 0)) || ((libGame_gv_onFireScores[2].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[2].lv_fireLevel > 0)) || ((libGame_gv_onFireScores[3].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[3].lv_fireLevel > 0)))) {

            PlayerScoreValueSetFromInt(lv_playerIterator, "OnFireHighlightSiegeDamageBoolean", 1);

        }

        else {

            PlayerScoreValueSetFromInt(lv_playerIterator, "OnFireHighlightSiegeDamageBoolean", 0);

        }

        if ((libGame_gv_onFireHighlightforXPContributoronTeam[lv_playerIterator] == true) && (((libGame_gv_onFireScores[1].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[1].lv_fireLevel > 0)) || ((libGame_gv_onFireScores[2].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[2].lv_fireLevel > 0)) || ((libGame_gv_onFireScores[3].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[3].lv_fireLevel > 0)))) {

            PlayerScoreValueSetFromInt(lv_playerIterator, "OnFireHighlightXPContributionBoolean", 1);

        }

        else {

            PlayerScoreValueSetFromInt(lv_playerIterator, "OnFireHighlightXPContributionBoolean", 0);

        }

        if ((libGame_gv_onFireHighlightforAssists[lv_playerIterator] == true) && (((libGame_gv_onFireScores[1].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[1].lv_fireLevel > 0)) || ((libGame_gv_onFireScores[2].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[2].lv_fireLevel > 0)) || ((libGame_gv_onFireScores[3].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[3].lv_fireLevel > 0)))) {

            PlayerScoreValueSetFromInt(lv_playerIterator, "OnFireHighlightAssistsBoolean", 1);

        }

        else {

            PlayerScoreValueSetFromInt(lv_playerIterator, "OnFireHighlightAssistsBoolean", 0);

        }

        if ((libGame_gv_onFireHighlightforKills[lv_playerIterator] == true) && (((libGame_gv_onFireScores[1].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[1].lv_fireLevel > 0)) || ((libGame_gv_onFireScores[2].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[2].lv_fireLevel > 0)) || ((libGame_gv_onFireScores[3].lv_player == lv_playerIterator) && (libGame_gv_onFireScores[3].lv_fireLevel > 0)))) {

            PlayerScoreValueSetFromInt(lv_playerIterator, "OnFireHighlightKillsBoolean", 1);

        }

        else {

            PlayerScoreValueSetFromInt(lv_playerIterator, "OnFireHighlightKillsBoolean", 0);

        }

    }

}



void libUIUI_gf_UIPartyFrameShowHidePartyFramePanelForPlayer (bool lp_showHide, int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_mainPanel, libCore_gv_playerGroupFromPlayer[lp_player], lp_showHide);

}



void libUIUI_gf_UIPartyFrameAddPlayerToPartyFrame (int lp_player) {

    // Variable Declarations

    int lv_rosterSlot;

    int lv_partyFrameHeroUnitIndex;

    unit lv_heroUnit;

    unit lv_unitIndex;



    // Automatic Variable Declarations

    int auto79366A55_val;

    int auto99686152_val;



    // Variable Initialization



    // Implementation

    lv_rosterSlot = libGame_gv_players[lp_player].lv_rosterSlot;

    lv_heroUnit = libGame_gv_players[lp_player].lv_heroUnit;

    libUIUI_gv_uIPartyFrame.lv_teamHasHeroes[libGame_gf_TeamNumberOfPlayer(lp_player)] = true;

    auto79366A55_val = libUIUI_gf_UIPartyFrameHeroTypeofHero(lv_heroUnit);

    if (auto79366A55_val == libUIUI_ge_UIPartyFrameHeroType_NormalHero) {

        libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlot_C] = libGame_gv_players[lp_player].lv_heroUnit;

        libNtve_gf_SetDialogItemImage(libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlot_C], libGame_gv_players[lp_player].lv_heroData.lv_partyFrameImage, PlayerGroupAll());

        libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroPartyButton[lv_rosterSlot], libGame_gv_players[lp_player].lv_heroUnit, PlayerGroupAll());

        auto99686152_val = libUIUI_gf_UIGetHeroResourceTypeForPartyFrame(UnitGetType(libGame_gv_players[lp_player].lv_heroUnit));

        if (auto99686152_val == libUIUI_ge_UIHeroResourceType_None) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsNoResource[lv_rosterSlot], libGame_gv_players[lp_player].lv_heroUnit, PlayerGroupAll());

        }

        else if (auto99686152_val == libUIUI_ge_UIHeroResourceType_Blue) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsDefault[lv_rosterSlot], libGame_gv_players[lp_player].lv_heroUnit, PlayerGroupAll());

        }

        else if (auto99686152_val == libUIUI_ge_UIHeroResourceType_Blinking) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsDefault[lv_rosterSlot], libGame_gv_players[lp_player].lv_heroUnit, PlayerGroupAll());

        }

        else if (auto99686152_val == libUIUI_ge_UIHeroResourceType_Orange) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsOrange[lv_rosterSlot], libGame_gv_players[lp_player].lv_heroUnit, PlayerGroupAll());

        }

        else if (auto99686152_val == libUIUI_ge_UIHeroResourceType_Breath) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsBreath[lv_rosterSlot], libGame_gv_players[lp_player].lv_heroUnit, PlayerGroupAll());

        }

        else if (auto99686152_val == libUIUI_ge_UIHeroResourceType_Yellow) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsYellow[lv_rosterSlot], libGame_gv_players[lp_player].lv_heroUnit, PlayerGroupAll());

        }

        else if (auto99686152_val == libUIUI_ge_UIHeroResourceType_Pink) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsPink[lv_rosterSlot], libGame_gv_players[lp_player].lv_heroUnit, PlayerGroupAll());

        }

        else if (auto99686152_val == libUIUI_ge_UIHeroResourceType_NoShields) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsSeparateShields[lv_rosterSlot], libGame_gv_players[lp_player].lv_heroUnit, PlayerGroupAll());

        }

        else if (auto99686152_val == libUIUI_ge_UIHeroResourceType_Rage) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsRage[lv_rosterSlot], libGame_gv_players[lp_player].lv_heroUnit, PlayerGroupAll());

        }

        else {

            TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_C01D02F0"), true);

        }

        if ((UnitGetType(lv_heroUnit) == "HeroLeoric")) {

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsRespawn[lv_rosterSlot], lv_heroUnit, PlayerGroupAll());

        }



        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsRespawn[lv_rosterSlot], libCore_gv_allHeroPlayersPlusObserver, false);

    }

    else if (auto79366A55_val == libUIUI_ge_UIPartyFrameHeroType_PetHero) {

        libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlot_C] = libGame_gv_players[lp_player].lv_heroUnit;

        libNtve_gf_SetDialogItemImage(libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlot_C], libGame_gv_players[lp_player].lv_heroData.lv_partyFrameImage, PlayerGroupAll());

        libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsHeroWithPet[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlot_C], libGame_gv_players[lp_player].lv_heroUnit, PlayerGroupAll());

        libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPetowner[lv_rosterSlot], libGame_gv_players[lp_player].lv_heroUnit, PlayerGroupAll());

    }

    else if (auto79366A55_val == libUIUI_ge_UIPartyFrameHeroType_LostVikings) {

    }

    else {

    }

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroPetSlot_C], PlayerGroupAll(), false);

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlotC_C], PlayerGroupAll(), false);

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroPanels[lv_rosterSlot], PlayerGroupAll(), true);

    libUIUI_gf_UIPartyFrameShowHideUnitStatusFrameofPlayerforPlayerGroup(true, lp_player, libGame_gf_AlliedPlayerGroupOfPlayer(lp_player));

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeOverlay[lv_rosterSlot], PlayerGroupAll(), false);

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeLabel[lv_rosterSlot], PlayerGroupAll(), false);

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroDeathTimePetLabel[lv_rosterSlot], PlayerGroupAll(), false);

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeVikingLabels[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlotA_C], PlayerGroupAll(), false);

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeVikingLabels[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlotB_C], PlayerGroupAll(), false);

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeVikingLabels[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlotC_C], PlayerGroupAll(), false);

    libUIUI_gf_UIPartyFrameHeroicAbilityIconUpdate(lp_player);

}



void libUIUI_gf_UIPartyFrameHeroicAbilityIconUpdate (int lp_player) {

    // Variable Declarations

    int lv_rosterSlot;

    int lv_abilityIndex;

    string lv_abilityButtonEntry;

    unit lv_heroUnit;



    // Automatic Variable Declarations

    int autoBC0E6A3B_ae;

    const int autoBC0E6A3B_ai = 1;



    // Variable Initialization



    // Implementation

    lv_rosterSlot = libGame_gv_players[lp_player].lv_rosterSlot;

    lv_heroUnit = libGame_gv_players[lp_player].lv_heroUnit;

    libUIUI_gv_uIPartyFrame.lv_teamHasHeroes[libGame_gf_TeamNumberOfPlayer(lp_player)] = true;

    libUIUI_gf_UIPartyFrameHeroicAbilitySet(null, lp_player);

    libUIUI_gv_uIPartyFrame.lv_heroDeathInSpecialDeathState[lv_rosterSlot] = false;

    if ((libUIUI_gf_UIPartyFrameSpecialCaseHeroHasHeroicatStart(UnitGetType(libGame_gv_players[lp_player].lv_heroUnit)) == true)) {

        autoBC0E6A3B_ae = libGame_gv_players[lp_player].lv_heroData.lv_numberOfAbilities;

        lv_abilityIndex = 1;

        for ( ; ( (autoBC0E6A3B_ai >= 0 && lv_abilityIndex <= autoBC0E6A3B_ae) || (autoBC0E6A3B_ai < 0 && lv_abilityIndex >= autoBC0E6A3B_ae) ) ; lv_abilityIndex += autoBC0E6A3B_ai ) {

            if ((libGame_gv_players[lp_player].lv_heroData.lv_abilities[lv_abilityIndex].lv_isHeroic == true)) {

                lv_abilityButtonEntry = CatalogFieldValueGet(c_gameCatalogAbil, libGame_gv_players[lp_player].lv_heroData.lv_abilities[lv_abilityIndex].lv_ability, "CmdButtonArray[" + IntToString(0) + "].DefaultButtonFace", lp_player);

                libUIUI_gf_UIPartyFrameHeroicTalentIconSet((CatalogFieldValueGet(c_gameCatalogButton, lv_abilityButtonEntry, "Icon", lp_player)), lp_player);

                libUIUI_gf_UIPartyFrameHeroicAbilitySet(libGame_gv_players[lp_player].lv_heroData.lv_abilities[lv_abilityIndex].lv_ability, lp_player);

                libUIUI_gf_UIPartyFrameShowHideHeroicAbility(true, lp_player);

                break;

            }



        }

    }

    else if ((libGame_gv_talents_TalentChoices[lp_player][libGame_gv_players[lp_player].lv_talent_HeroicTalentTier].lv_selection > 0)) {

        libUIUI_gf_UIPartyFrameHeroicTalentUpdate(lp_player, libGame_gv_players[lp_player].lv_talent_HeroicTalentTier);

    }

    else if (true) {

        libUIUI_gf_UIPartyFrameShowHideHeroicAbility(false, lp_player);

    }

}



void libUIUI_gf_UIPartyFrameShowHidePlayerForPartyFrame (bool lp_showHide, int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroPanels[libGame_gv_players[lp_player].lv_rosterSlot], PlayerGroupAll(), lp_showHide);

}



void libUIUI_gf_UIPartyFrameShowHideUnitStatusFrameofPlayerforPlayerGroup (bool lp_showHide, int lp_player, playergroup lp_playerGroup) {

    // Variable Declarations

    int lv_rosterSlot;



    // Automatic Variable Declarations

    int auto903465C9_val;

    int auto48A6BE0D_val;



    // Variable Initialization



    // Implementation

    lv_rosterSlot = libGame_gv_players[lp_player].lv_rosterSlot;

    if ((lp_showHide == true)) {

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsDefault[lv_rosterSlot], lp_playerGroup, false);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsOrange[lv_rosterSlot], lp_playerGroup, false);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsYellow[lv_rosterSlot], lp_playerGroup, false);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsPink[lv_rosterSlot], lp_playerGroup, false);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsNoResource[lv_rosterSlot], lp_playerGroup, false);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsSeparateShields[lv_rosterSlot], lp_playerGroup, false);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusFrameHeroWithPet[lv_rosterSlot], lp_playerGroup, false);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusFrameLostVikings[lv_rosterSlot], lp_playerGroup, false);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsBreath[lv_rosterSlot], lp_playerGroup, false);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsRage[lv_rosterSlot], lp_playerGroup, false);

    }



    auto903465C9_val = libUIUI_gf_UIPartyFrameHeroTypeofHero(libGame_gv_players[lp_player].lv_heroUnit);

    if (auto903465C9_val == libUIUI_ge_UIPartyFrameHeroType_NormalHero) {

        auto48A6BE0D_val = libUIUI_gf_UIGetHeroResourceTypeForPartyFrame(UnitGetType(libGame_gv_players[lp_player].lv_heroUnit));

        if (auto48A6BE0D_val == libUIUI_ge_UIHeroResourceType_Blue) {

            DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsDefault[lv_rosterSlot], lp_playerGroup, lp_showHide);

        }

        else if (auto48A6BE0D_val == libUIUI_ge_UIHeroResourceType_Blinking) {

            DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsDefault[lv_rosterSlot], lp_playerGroup, lp_showHide);

        }

        else if (auto48A6BE0D_val == libUIUI_ge_UIHeroResourceType_Orange) {

            DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsOrange[lv_rosterSlot], lp_playerGroup, lp_showHide);

        }

        else if (auto48A6BE0D_val == libUIUI_ge_UIHeroResourceType_Yellow) {

            DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsYellow[lv_rosterSlot], lp_playerGroup, lp_showHide);

        }

        else if (auto48A6BE0D_val == libUIUI_ge_UIHeroResourceType_Pink) {

            DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsPink[lv_rosterSlot], lp_playerGroup, lp_showHide);

        }

        else if (auto48A6BE0D_val == libUIUI_ge_UIHeroResourceType_Breath) {

            DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsBreath[lv_rosterSlot], lp_playerGroup, lp_showHide);

        }

        else if (auto48A6BE0D_val == libUIUI_ge_UIHeroResourceType_None) {

            DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsNoResource[lv_rosterSlot], lp_playerGroup, lp_showHide);

        }

        else if (auto48A6BE0D_val == libUIUI_ge_UIHeroResourceType_NoShields) {

            DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsSeparateShields[lv_rosterSlot], lp_playerGroup, lp_showHide);

        }

        else if (auto48A6BE0D_val == libUIUI_ge_UIHeroResourceType_Rage) {

            DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsRage[lv_rosterSlot], lp_playerGroup, lp_showHide);

        }

        else {

            TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_B12F5382"), true);

        }

    }

    else if (auto903465C9_val == libUIUI_ge_UIPartyFrameHeroType_PetHero) {

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusFrameHeroWithPet[lv_rosterSlot], lp_playerGroup, lp_showHide);

    }

    else if (auto903465C9_val == libUIUI_ge_UIPartyFrameHeroType_LostVikings) {

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusFrameLostVikings[lv_rosterSlot], lp_playerGroup, lp_showHide);

    }

    else {

    }

}



void libUIUI_gf_UIPartyFrameShowHideCoreHealth (bool lp_showHide) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_coreHealthUnitStatusFrames[libGame_gv_teamOrderIndex_C], PlayerGroupAll(), lp_showHide);

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_coreHealthUnitStatusFrames[libGame_gv_teamChaosIndex_C], PlayerGroupAll(), lp_showHide);

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_coreHealthLabel, PlayerGroupAll(), lp_showHide);

}



void libUIUI_gf_UIPartyFrameShowHideCoreUnderAttackWarning (int lp_teamNumber, bool lp_showHide) {

    // Variable Declarations

    playergroup lv_warningGroup;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_warningGroup = PlayerGroupEmpty();



    // Implementation

    libNtve_gf_AddPlayerGroupToPlayerGroup(libGame_gv_teams[lp_teamNumber].lv_teamPlayerGroup, lv_warningGroup);

    libNtve_gf_AddPlayerGroupToPlayerGroup(libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], lv_warningGroup);

    if ((lp_showHide == true)) {

        DialogControlSetAnimationState(libUIUI_gv_uIPartyFrame.lv_coreHealthUnitStatusFrames[lp_teamNumber], lv_warningGroup, "CoreWarning", "WarningOn");

    }

    else {

        DialogControlSetAnimationState(libUIUI_gv_uIPartyFrame.lv_coreHealthUnitStatusFrames[lp_teamNumber], lv_warningGroup, "CoreWarning", "WarningOff");

    }

}



void libUIUI_gf_UIPartyFrameShowHideTeamPanelforPlayerGroup (int lp_team, bool lp_showHide, playergroup lp_playerGroup) {

    // Automatic Variable Declarations

    // Implementation

    if (((lp_team > libCore_gv_bALMaxTeams) || (lp_team <= 0))) {

        return ;

    }

    else {

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_teamHeroPanel[lp_team], lp_playerGroup, lp_showHide);

    }

}



void libUIUI_gf_UIPartyFrameShowHideLevelInfoPanelforPlayerGroup (int lp_team, bool lp_showHide, playergroup lp_playerGroup) {

    // Automatic Variable Declarations

    // Implementation

    if (((lp_team > libCore_gv_bALMaxTeams) || (lp_team <= 0))) {

        return ;

    }

    else {

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_teamLevelInfoPanel[lp_team], lp_playerGroup, lp_showHide);

    }

}



void libUIUI_gf_UIPartyFrameSendAnimationEventtoPartyFrameMainPanel (string lp_animationEvent, playergroup lp_playerGroup) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_mainPanel, lp_playerGroup, lp_animationEvent);

}



void libUIUI_gf_UIPartyFrameSendAnimationEventtoPartyFrameHeroPanelforPlayer (string lp_animationEvent, int lp_player, playergroup lp_playerGroup) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroPanels[libGame_gv_players[lp_player].lv_rosterSlot], lp_playerGroup, lp_animationEvent);

}



void libUIUI_gf_UIPartyFrameHeroDies (int lp_killedPlayer, unit lp_killedUnit) {

    // Variable Declarations

    int lv_rosterSlot;

    timer lv_deathTimer;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_deathTimer = TimerCreate();



    // Implementation

    lv_rosterSlot = libGame_gv_players[lp_killedPlayer].lv_rosterSlot;

    libUIUI_gv_uIPartyFrame.lv_heroDeathRespawnReminderSent[lv_rosterSlot][libUIUI_gf_UIPartyFrameUIIndexofHeroUnit(lp_killedUnit, lp_killedPlayer)] = false;

    if ((libUIUI_gf_UIPartyFrameHeroTypeofHero(lp_killedUnit) == libUIUI_ge_UIPartyFrameHeroType_LostVikings)) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeVikingLabels[lv_rosterSlot][libUIUI_gf_UIPartyFrameUIIndexofHeroUnit(lp_killedUnit, lp_killedPlayer)], StringToText(""), PlayerGroupAll());

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeVikingLabels[lv_rosterSlot][libUIUI_gf_UIPartyFrameUIIndexofHeroUnit(lp_killedUnit, lp_killedPlayer)], PlayerGroupAll(), true);

    }

    else {

        if ((UnitBehaviorDurationTotal(lp_killedUnit, "Dead") > 0.0)) {

            DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeOverlay[lv_rosterSlot], PlayerGroupAll(), true);

            lv_deathTimer = libUIUI_gf_UIPartyFrameDeathTimer(lp_killedPlayer, lp_killedUnit);

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeLabel[lv_rosterSlot], FixedToText(TimerGetRemaining(lv_deathTimer), 0), PlayerGroupAll());

        }

        else {

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeLabel[lv_rosterSlot], StringToText(""), PlayerGroupAll());

        }

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeLabel[lv_rosterSlot], PlayerGroupAll(), true);

        libUIUI_gf_UIPartyFrameShowHideHeroicAbility(false, lp_killedPlayer);

        libUIUI_gf_UIPartyFrameShowHideUnitStatusFrameofPlayerforPlayerGroup(false, lp_killedPlayer, libGame_gf_AlliedPlayerGroupOfPlayer(lp_killedPlayer));

        if ((libUIUI_gf_UIPartyFrameSpecialCaseHeroHasExtendedDeath(lp_killedPlayer) == true)) {

            DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroExtendedDeathIcon[lv_rosterSlot], libCore_gv_allHeroPlayersPlusObserver, true);

            DialogControlSetVisible(libUIUI_gv_uIObserverUI.lv_heroExtendedDeathIcon[lv_rosterSlot], libCore_gv_allHeroPlayersPlusObserver, true);

        }



        if ((libUIUI_gf_UIPartyFrameSpecialCaseHeroHasCondensedDeath(lp_killedUnit) == true)) {

            DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroCondensedDeathIcon[lv_rosterSlot], libCore_gv_allHeroPlayersPlusObserver, true);

            DialogControlSetVisible(libUIUI_gv_uIObserverUI.lv_heroCondensedDeathIcon[lv_rosterSlot], libCore_gv_allHeroPlayersPlusObserver, true);

        }



        if ((libUIUI_gf_UIPartyFrameHeroTypeofHero(lp_killedUnit) == libUIUI_ge_UIPartyFrameHeroType_PetHero)) {

            DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroDeathTimePetLabel[lv_rosterSlot], PlayerGroupAll(), false);

        }



        if ((UnitGetType(lp_killedUnit) == "HeroLeoric")) {

            DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsRespawn[lv_rosterSlot], libCore_gv_allHeroPlayersPlusObserver, true);

        }



    }

}



void libUIUI_gf_UIPartyFrameSetUpCoreHealthBarforTeam (int lp_team) {

    // Automatic Variable Declarations

    // Implementation

    if ((libGame_gv_teams[lp_team].lv_core != null)) {

        libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_coreHealthUnitStatusFrames[lp_team], libGame_gv_teams[lp_team].lv_core, PlayerGroupAll());

    }



}



void libUIUI_gf_UIPartyFrameTeamLevelUpdate (int lp_team, int lp_level) {

    // Variable Declarations

    int lv_playerIndex;

    bool lv_allHeroesSpecialCase;

    int lv_alliedTeamPlayer;

    int lv_talentTierIndex;

    bool lv_nextIsNewTalentTier;



    // Automatic Variable Declarations

    playergroup autoBAF8E1F1_g;

    const int auto7AAB40B0_ae = libCore_gv_talents_MaxTiers_C;

    const int auto7AAB40B0_ai = 1;



    // Variable Initialization

    lv_allHeroesSpecialCase = true;



    // Implementation

    libUIUI_gf_UIPartyFrameTalentAdvantageUpdate();

    if ((lp_level > libUIUI_gv_uIPartyFrameMaxLevelForTeam[lp_team])) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_teamLevelLabel[lp_team], IntToText(lp_level), PlayerGroupAll());

        libUIUI_gv_uIPartyFrameMaxLevelForTeam[lp_team] = lp_level;

    }



    if ((lp_level > 1)) {

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_teamLevelInfoPanel[lp_team], PlayerGroupAll(), "LevelUp");

    }



    autoBAF8E1F1_g = libGame_gf_PlayersOnTeamHeroes(lp_team, false);

    lv_playerIndex = -1;

    while (true) {

        	lv_playerIndex = PlayerGroupNextPlayer(autoBAF8E1F1_g, lv_playerIndex);

        	if (lv_playerIndex<0) { break; }

        	if ((libGame_gv_players[lv_playerIndex].lv_playerStatus == libGame_ge_PlayerStatusStorm_Playing) && (libUIUI_gf_UIPartyFrameSpecialCaseHeroTalentLevelsAreDifferent(UnitGetType(libGame_gv_players[lv_playerIndex].lv_heroUnit)) == false)) {

            lv_allHeroesSpecialCase = false;

            lv_alliedTeamPlayer = lv_playerIndex;

            break;

        }



    }

    if ((lv_allHeroesSpecialCase == true)) {

        lv_alliedTeamPlayer = libCore_gf_GetPlayerIDfromTeamSlot(1, lp_team);

    }



    lv_talentTierIndex = 1;

    for ( ; ( (auto7AAB40B0_ai >= 0 && lv_talentTierIndex <= auto7AAB40B0_ae) || (auto7AAB40B0_ai < 0 && lv_talentTierIndex >= auto7AAB40B0_ae) ) ; lv_talentTierIndex += auto7AAB40B0_ai ) {

        if ((lp_level == (libGame_gv_players[lv_alliedTeamPlayer].lv_talents_TierLevels[lv_talentTierIndex].lv_level - 1))) {

            lv_nextIsNewTalentTier = true;

            break;

        }



    }

    if ((lv_nextIsNewTalentTier == true)) {

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_teamNextLevelTalentIcon[lp_team], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_teamNextLevelNoTalentIcon[lp_team], PlayerGroupAll(), false);

    }

    else {

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_teamNextLevelTalentIcon[lp_team], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_teamNextLevelNoTalentIcon[lp_team], PlayerGroupAll(), true);

    }

}



void libUIUI_gf_UIPartyFrameSetPetFrame (unit lp_petUnit, int lp_player) {

    // Variable Declarations

    int lv_rosterSlot;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_rosterSlot = libGame_gv_players[lp_player].lv_rosterSlot;

    libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroPetSlot_C] = lp_petUnit;

    libNtve_gf_SetDialogItemImage(libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroPetSlot_C], "Assets\\Textures\\storm_ui_ingame_partyframe_rexxar_misha.dds", PlayerGroupActive());

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroPetSlot_C], PlayerGroupAll(), true);

    libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsHeroWithPet[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroPetSlot_C], lp_petUnit, PlayerGroupActive());

    libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPet[lv_rosterSlot], lp_petUnit, PlayerGroupAll());

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroDeathTimePetLabel[lv_rosterSlot], PlayerGroupAll(), false);

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroPartyButton[lv_rosterSlot], PlayerGroupAll(), false);

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPetowner[lv_rosterSlot], PlayerGroupAll(), true);

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPet[lv_rosterSlot], PlayerGroupAll(), true);

}



void libUIUI_gf_UIPartyFrameSetVikingFrame (unit lp_vikingUnit, int lp_player) {

    // Variable Declarations

    int lv_rosterSlot;

    int lv_uIVikingIndex;



    // Automatic Variable Declarations

    string autoA362E223_val;



    // Variable Initialization



    // Implementation

    lv_rosterSlot = libGame_gv_players[lp_player].lv_rosterSlot;

    lv_uIVikingIndex = libUIUI_gf_UIPartyFrameUIIndexofHeroUnit(lp_vikingUnit, lp_player);

    libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_rosterSlot][lv_uIVikingIndex] = lp_vikingUnit;

    autoA362E223_val = UnitGetType(lp_vikingUnit);

    if (autoA362E223_val == "HeroOlaf") {

        libNtve_gf_SetDialogItemImage(libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlotA_C], "Assets\\Textures\\storm_ui_ingame_partyframe_lostvikings_olaf.dds", PlayerGroupActive());

        libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroPartyButtonA[lv_rosterSlot], lp_vikingUnit, PlayerGroupAll());

    }

    else if (autoA362E223_val == "HeroBaleog") {

        libNtve_gf_SetDialogItemImage(libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlotB_C], "Assets\\Textures\\storm_ui_ingame_partyframe_lostvikings_baelog.dds", PlayerGroupActive());

        libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroPartyButtonB[lv_rosterSlot], lp_vikingUnit, PlayerGroupAll());

    }

    else if (autoA362E223_val == "HeroErik") {

        libNtve_gf_SetDialogItemImage(libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlotC_C], "Assets\\Textures\\storm_ui_ingame_partyframe_lostvikings_eric.dds", PlayerGroupActive());

        libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroPartyButtonC[lv_rosterSlot], lp_vikingUnit, PlayerGroupAll());

    }

    else {

    }

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_rosterSlot][lv_uIVikingIndex], PlayerGroupAll(), true);

    libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsLostVikings[lv_rosterSlot][lv_uIVikingIndex], lp_vikingUnit, PlayerGroupActive());

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroPartyButton[lv_rosterSlot], PlayerGroupAll(), false);

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroPartyButtonA[lv_rosterSlot], PlayerGroupAll(), true);

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroPartyButtonB[lv_rosterSlot], PlayerGroupAll(), true);

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroPartyButtonC[lv_rosterSlot], PlayerGroupAll(), true);

}



void libUIUI_gf_UIPartyFrameSetDVaFrame (int lp_playerID, bool lp_inMech) {

    // Variable Declarations

    int lv_rosterSlot;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_rosterSlot = libGame_gv_players[lp_playerID].lv_rosterSlot;

    if ((lp_inMech == true)) {

        libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIObserverUI.lv_heroStatusBars[lv_rosterSlot], UnitTransport(libGame_gv_players[lp_playerID].lv_heroUnit), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

        libNtve_gf_SetDialogItemImage(libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlot_C], "Assets\\Textures\\storm_ui_ingame_partyframe_dva_mech.dds", PlayerGroupActive());

    }

    else {

        libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIObserverUI.lv_heroStatusBars[lv_rosterSlot], libGame_gv_players[lp_playerID].lv_heroUnit, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

        libNtve_gf_SetDialogItemImage(libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlot_C], "Assets\\Textures\\storm_ui_ingame_partyframe_dva.dds", PlayerGroupActive());

    }

}



void libUIUI_gf_UIPartyFramePetDies (int lp_player, timer lp_petDeathTimer) {

    // Variable Declarations

    int lv_rosterSlot;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_rosterSlot = libGame_gv_players[lp_player].lv_rosterSlot;

    libUIUI_gv_uIPartyFrame.lv_heroPetDeathTimer[lv_rosterSlot] = lp_petDeathTimer;

    if ((libGame_gv_players[lp_player].lv_isDead == false)) {

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroDeathTimePetLabel[lv_rosterSlot], PlayerGroupAll(), true);

        libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_heroDeathTimePetLabel[lv_rosterSlot], StringToText(""), PlayerGroupAll());

    }



}



void libUIUI_gf_UIPartyFrameVikingDies (int lp_player, unit lp_viking, timer lp_deathTimer) {

    // Variable Declarations

    int lv_rosterSlot;

    int lv_vikingIndex;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    libUIUI_gf_UIPartyFrameHeroDies(lp_player, lp_viking);

    lv_rosterSlot = libGame_gv_players[lp_player].lv_rosterSlot;

    lv_vikingIndex = libUIUI_gf_UIPartyFrameUIIndexofHeroUnit(lp_viking, lp_player);

    libUIUI_gv_uIPartyFrame.lv_heroVikingsDeathTimers[lv_rosterSlot][lv_vikingIndex] = lp_deathTimer;

}



void libUIUI_gf_UIPartyFrameHeroHearthstoneStart (int lp_player, unit lp_unit) {

    // Variable Declarations

    int lv_rosterSlot;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_rosterSlot = libGame_gv_players[lp_player].lv_rosterSlot;

    if ((libUIUI_gf_UIPartyFrameHeroTypeofHero(lp_unit) == libUIUI_ge_UIPartyFrameHeroType_LostVikings)) {

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroPanels[lv_rosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(lp_player), ("HearthstoneStartHero" + IntToString(libUIUI_gf_UIPartyFrameUIIndexofHeroUnit(lp_unit, lp_player))));

    }

    else {

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroPanels[lv_rosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(lp_player), "HearthstoneStartDefault");

    }

}



void libUIUI_gf_UIPartyFrameHeroHearthstoneFizzle (int lp_player, unit lp_unit) {

    // Variable Declarations

    int lv_rosterSlot;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_rosterSlot = libGame_gv_players[lp_player].lv_rosterSlot;

    if ((libUIUI_gf_UIPartyFrameHeroTypeofHero(lp_unit) == libUIUI_ge_UIPartyFrameHeroType_LostVikings)) {

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroPanels[lv_rosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(lp_player), ("HearthstoneFizzleHero" + IntToString(libUIUI_gf_UIPartyFrameUIIndexofHeroUnit(lp_unit, lp_player))));

    }

    else {

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroPanels[lv_rosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(lp_player), "HearthstoneFizzleDefault");

    }

}



void libUIUI_gf_UIPartyFrameSpecialCaseAurielRevivesHero (int lp_revivedPlayer, unit lp_revivedUnit) {

    // Variable Declarations

    int lv_rosterSlot;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_rosterSlot = libGame_gv_players[lp_revivedPlayer].lv_rosterSlot;

    if ((libUIUI_gf_UIPartyFrameHeroTypeofHero(lp_revivedUnit) == libUIUI_ge_UIPartyFrameHeroType_LostVikings)) {

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroPanels[lv_rosterSlot], PlayerGroupAll(), ("AurielReviveHero" + IntToString(libUIUI_gf_UIPartyFrameUIIndexofHeroUnit(lp_revivedUnit, lp_revivedPlayer))));

    }

    else {

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroPanels[lv_rosterSlot], PlayerGroupAll(), "AurielReviveDefault");

    }

}



void libUIUI_gf_UIPartyFrameTalentAdvantageUpdate () {

    // Variable Declarations

    int[libCore_gv_bALMaxTeams + 1] lv_teamPlayer;

    int[libCore_gv_bALMaxTeams + 1] lv_teamCurrentTalentTier;

    int lv_teamIndex;

    int lv_playerIndex;

    bool lv_allHeroesAreSpecialCase;



    // Automatic Variable Declarations

    const int auto264A460A_ae = libCore_gv_bALMaxTeams;

    const int auto264A460A_ai = 1;

    playergroup autoBF292849_g;



    // Variable Initialization

    lv_allHeroesAreSpecialCase = true;



    // Implementation

    if (((PlayerGroupCount(libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamOrderIndex_C, true)) <= 0) || (PlayerGroupCount(libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamChaosIndex_C, true)) <= 0))) {

        return ;

    }



    lv_teamIndex = 1;

    for ( ; ( (auto264A460A_ai >= 0 && lv_teamIndex <= auto264A460A_ae) || (auto264A460A_ai < 0 && lv_teamIndex >= auto264A460A_ae) ) ; lv_teamIndex += auto264A460A_ai ) {

        lv_allHeroesAreSpecialCase = true;

        autoBF292849_g = libGame_gf_PlayersOnTeamHeroes(lv_teamIndex, false);

        lv_playerIndex = -1;

        while (true) {

            	lv_playerIndex = PlayerGroupNextPlayer(autoBF292849_g, lv_playerIndex);

            	if (lv_playerIndex<0) { break; }

            	if ((libGame_gv_players[lv_playerIndex].lv_playerStatus == libGame_ge_PlayerStatusStorm_Playing) && (libUIUI_gf_UIPartyFrameSpecialCaseHeroTalentLevelsAreDifferent(UnitGetType(libGame_gv_players[lv_playerIndex].lv_heroUnit)) == false)) {

                lv_allHeroesAreSpecialCase = false;

                lv_teamPlayer[lv_teamIndex] = lv_playerIndex;

                break;

            }



        }

        if ((lv_allHeroesAreSpecialCase == true)) {

            lv_teamPlayer[lv_teamIndex] = libCore_gf_GetPlayerIDfromTeamSlot(1, lv_teamIndex);

        }



        lv_teamCurrentTalentTier[lv_teamIndex] = libGame_gf_GetCurrentTalentTierforPlayer(lv_teamPlayer[lv_teamIndex]);

        libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_teamIndex] = lv_teamCurrentTalentTier[lv_teamIndex];

    }

    if (((lv_teamCurrentTalentTier[libGame_gv_teamOrderIndex_C] == lv_teamCurrentTalentTier[libGame_gv_teamChaosIndex_C]) || ((libUIUI_gv_uIPartyFrame.lv_teamHasHeroes[libGame_gv_teamOrderIndex_C] == false) || (libUIUI_gv_uIPartyFrame.lv_teamHasHeroes[libGame_gv_teamChaosIndex_C] == false)))) {

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_teamTalentAdvantageIcon[libGame_gv_teamOrderIndex_C], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_teamTalentAdvantageIcon[libGame_gv_teamChaosIndex_C], PlayerGroupAll(), false);

    }

    else if ((lv_teamCurrentTalentTier[libGame_gv_teamOrderIndex_C] > lv_teamCurrentTalentTier[libGame_gv_teamChaosIndex_C])) {

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_teamTalentAdvantageIcon[libGame_gv_teamOrderIndex_C], PlayerGroupAll(), true);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_teamTalentAdvantageIcon[libGame_gv_teamChaosIndex_C], PlayerGroupAll(), false);

    }

    else if ((lv_teamCurrentTalentTier[libGame_gv_teamOrderIndex_C] < lv_teamCurrentTalentTier[libGame_gv_teamChaosIndex_C])) {

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_teamTalentAdvantageIcon[libGame_gv_teamOrderIndex_C], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_teamTalentAdvantageIcon[libGame_gv_teamChaosIndex_C], PlayerGroupAll(), true);

    }

}



void libUIUI_gf_UIPartyFrameGameTimerUpdate (text lp_gameTimeText) {

    // Automatic Variable Declarations

    // Implementation

    libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_gameTimerLabel, lp_gameTimeText, PlayerGroupAll());

}



void libUIUI_gf_UIPartyFrameHeroicTalentCooldownUpdate () {

    // Variable Declarations

    int lv_playerIndex;

    unit lv_playerUnit;

    string lv_heroicAbilityLink;

    fixed lv_abilityCooldownTime;

    int lv_playerRosterSlot;

    fixed lv_heroicCoolupCharges;

    fixed lv_heroicCoolupChargesMax;



    // Automatic Variable Declarations

    const int auto9CDBD809_ae = libCore_gv_bALMaxPlayers;

    const int auto9CDBD809_ai = 1;



    // Variable Initialization



    // Implementation

    lv_playerIndex = 1;

    for ( ; ( (auto9CDBD809_ai >= 0 && lv_playerIndex <= auto9CDBD809_ae) || (auto9CDBD809_ai < 0 && lv_playerIndex >= auto9CDBD809_ae) ) ; lv_playerIndex += auto9CDBD809_ai ) {

        lv_playerRosterSlot = libGame_gv_players[lv_playerIndex].lv_rosterSlot;

        if ((libGame_gv_players[lv_playerIndex].lv_playerStatus == libGame_ge_PlayerStatusStorm_Playing) && (libUIUI_gv_uIPartyFrame.lv_heroHeroicAbility[lv_playerRosterSlot] != null)) {

            lv_heroicAbilityLink = libUIUI_gv_uIPartyFrame.lv_heroHeroicAbility[lv_playerRosterSlot];

            lv_playerUnit = libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_playerRosterSlot][libUIUI_gv_uIPartyFrameHeroSlot_C];

            if ((libUIUI_gf_UIPartyFrameSpecialCaseHeroHasHeroicCoolup(UnitGetType(lv_playerUnit)) == true)) {

                lv_heroicCoolupCharges = UnitGetChargeUsed(lv_playerUnit, CatalogFieldValueGet(c_gameCatalogAbil, lv_heroicAbilityLink, "Cost.Charge.Link", lv_playerIndex));

                lv_heroicCoolupChargesMax = IntToFixed(CatalogFieldValueGetAsInt(c_gameCatalogAbil, lv_heroicAbilityLink, "Cost.Charge.CountMax", lv_playerIndex));

                lv_heroicCoolupCharges = (lv_heroicCoolupChargesMax - lv_heroicCoolupCharges);

                if ((lv_heroicCoolupCharges < lv_heroicCoolupChargesMax)) {

                    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroHeroicCooldownLabel[lv_playerRosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(lv_playerIndex), true);

                    libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_heroHeroicCooldownLabel[lv_playerRosterSlot], StringToText(""), libGame_gf_AlliedPlayerGroupOfPlayer(lv_playerIndex));

                    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroHeroicTalentReadyIcon[lv_playerRosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(lv_playerIndex), false);

                    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroHeroicTalentProgressBar[lv_playerRosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(lv_playerIndex), true);

                    if ((lv_heroicCoolupChargesMax == 0.0)) {

                        libNtve_gf_SetDialogItemCurrentValue(libUIUI_gv_uIPartyFrame.lv_heroHeroicTalentProgressBar[lv_playerRosterSlot], 0.0, libGame_gf_AlliedPlayerGroupOfPlayer(lv_playerIndex));

                    }

                    else {

                        libNtve_gf_SetDialogItemCurrentValue(libUIUI_gv_uIPartyFrame.lv_heroHeroicTalentProgressBar[lv_playerRosterSlot], (100.0 * (lv_heroicCoolupCharges / lv_heroicCoolupChargesMax)), libGame_gf_AlliedPlayerGroupOfPlayer(lv_playerIndex));

                    }

                }

                else {

                    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroHeroicCooldownLabel[lv_playerRosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(lv_playerIndex), false);

                    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroHeroicTalentReadyIcon[lv_playerRosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(lv_playerIndex), true);

                    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroHeroicTalentProgressBar[lv_playerRosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(lv_playerIndex), false);

                }

            }

            else {

                lv_abilityCooldownTime = libUIUI_gf_UIPartyFrameAbilityCooldownTime(lv_playerUnit, lv_heroicAbilityLink, UnitGetOwner(lv_playerUnit));

                if ((lv_abilityCooldownTime > 0.0)) {

                    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroHeroicCooldownLabel[lv_playerRosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(lv_playerIndex), true);

                    libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_heroHeroicCooldownLabel[lv_playerRosterSlot], FixedToText(lv_abilityCooldownTime, 0), libGame_gf_AlliedPlayerGroupOfPlayer(lv_playerIndex));

                    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroHeroicTalentReadyIcon[lv_playerRosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(lv_playerIndex), false);

                }

                else {

                    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroHeroicCooldownLabel[lv_playerRosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(lv_playerIndex), false);

                    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroHeroicTalentReadyIcon[lv_playerRosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(lv_playerIndex), true);

                }

            }

        }



    }

}



void libUIUI_gf_UIPartyFrameHeroicTalentUpdate (int lp_player, int lp_talentTierIndex) {

    // Variable Declarations

    string lv_buttonEntry;

    int lv_rosterSlot;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    if (((lp_talentTierIndex != libGame_gv_players[lp_player].lv_talent_HeroicTalentTier) || (libGame_gv_talents_TalentChoices[lp_player][lp_talentTierIndex].lv_selection == 0))) {

        return ;

    }



    lv_rosterSlot = libGame_gv_players[lp_player].lv_rosterSlot;

    lv_buttonEntry = CatalogFieldValueGet(c_gameCatalogTalent, libGame_gv_talents_TalentChoices[lp_player][lp_talentTierIndex].lv_talentData[libGame_gv_talents_TalentChoices[lp_player][lp_talentTierIndex].lv_selection].lv_talentCatalogLink, "Face", c_playerAny);

    if ((libUIUI_gf_UIPartyFrameSpecialCaseHeroHasHeroicatStart(UnitGetType(libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlot_C])) == false)) {

        libUIUI_gf_UIPartyFrameHeroicTalentIconSet(((CatalogFieldValueGet(c_gameCatalogButton, lv_buttonEntry, "Icon", c_playerAny))), lp_player);

        libUIUI_gf_UIPartyFrameHeroicAbilitySet((CatalogFieldValueGet(c_gameCatalogTalent, libGame_gv_talents_TalentChoices[lp_player][libGame_gv_players[lp_player].lv_talent_HeroicTalentTier].lv_talentData[libGame_gv_talents_TalentChoices[lp_player][libGame_gv_players[lp_player].lv_talent_HeroicTalentTier].lv_selection].lv_talentCatalogLink, "Abil", c_playerAny)), lp_player);

    }



    if ((libGame_gv_players[lp_player].lv_isDead == false)) {

        libUIUI_gf_UIPartyFrameShowHideHeroicAbility(true, lp_player);

    }



}



void libUIUI_gf_UIPartyFrameHeroicTalentIconSet (string lp_icon, int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    libNtve_gf_SetDialogItemImage(libUIUI_gv_uIPartyFrame.lv_heroHeroicIcon[libGame_gv_players[lp_player].lv_rosterSlot], lp_icon, PlayerGroupAll());

}



void libUIUI_gf_UIPartyFrameHeroicAbilitySet (string lp_heroicAbility, int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    libUIUI_gv_uIPartyFrame.lv_heroHeroicAbility[libGame_gv_players[lp_player].lv_rosterSlot] = lp_heroicAbility;

}



void libUIUI_gf_UIPartyFrameShowHideHeroicAbility (bool lp_showHide, int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroHeroicTalentPanel[libGame_gv_players[lp_player].lv_rosterSlot], PlayerGroupAll(), lp_showHide);

}



void libUIUI_gf_UIPartyFrameSpecialCaseUpdatePetDeath (int lp_player) {

    // Variable Declarations

    int lv_rosterSlot;

    int lv_petUISlot;

    unit lv_petUnit;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_rosterSlot = libGame_gv_players[lp_player].lv_rosterSlot;

    lv_petUnit = libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroPetSlot_C];

    lv_petUISlot = libUIUI_gf_UIPartyFrameUIIndexofHeroUnit(lv_petUnit, lp_player);

    if ((UnitIsAlive(lv_petUnit) == false)) {

        libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_heroDeathTimePetLabel[lv_rosterSlot], FixedToText(TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroPetDeathTimer[lv_rosterSlot]), 0), PlayerGroupAll());

        if ((TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroPetDeathTimer[lv_rosterSlot]) <= libUIUI_gv_data_XPPercentage_UpdatePeriod_C3) && (libUIUI_gv_uIPartyFrame.lv_heroDeathRespawnReminderSent[lv_rosterSlot][lv_petUISlot] == false)) {

            libUIUI_gv_uIPartyFrame.lv_heroDeathRespawnReminderSent[lv_rosterSlot][lv_petUISlot] = true;

            DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroPanels[lv_rosterSlot], PlayerGroupAll(), "HeroAlmostRespawnedPet");

        }



    }



}



void libUIUI_gf_UIPartyFrameSpecialCaseUpdateVikingsDeath (int lp_player) {

    // Variable Declarations

    int lv_rosterSlot;

    int lv_heroIndex;



    // Automatic Variable Declarations

    const int auto05292D6E_ae = libCore_gv_dataHeroesMaxAlternateHeroes;

    const int auto05292D6E_ai = 1;



    // Variable Initialization



    // Implementation

    lv_rosterSlot = libGame_gv_players[lp_player].lv_rosterSlot;

    lv_heroIndex = 1;

    for ( ; ( (auto05292D6E_ai >= 0 && lv_heroIndex <= auto05292D6E_ae) || (auto05292D6E_ai < 0 && lv_heroIndex >= auto05292D6E_ae) ) ; lv_heroIndex += auto05292D6E_ai ) {

        if ((UnitIsAlive(libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_rosterSlot][lv_heroIndex]) == false)) {

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeVikingLabels[lv_rosterSlot][lv_heroIndex], FixedToText(TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroVikingsDeathTimers[lv_rosterSlot][lv_heroIndex]), 0), PlayerGroupAll());

            if ((TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroVikingsDeathTimers[lv_rosterSlot][lv_heroIndex]) <= libUIUI_gv_data_XPPercentage_UpdatePeriod_C3) && (libUIUI_gv_uIPartyFrame.lv_heroDeathRespawnReminderSent[lv_rosterSlot][lv_heroIndex] == false)) {

                libUIUI_gv_uIPartyFrame.lv_heroDeathRespawnReminderSent[lv_rosterSlot][lv_heroIndex] = true;

                DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroPanels[lv_rosterSlot], PlayerGroupAll(), ("HeroAlmostRespawnedHero" + IntToString(lv_heroIndex)));

            }



        }



    }

}



fixed libUIUI_gf_UIPartyFrameAbilityCooldownTime (unit lp_unit, string lp_ability, int lp_player) {

    // Variable Declarations

    fixed lv_cooldownTime;

    string lv_cooldownLink;

    string lv_chargeLink;

    fixed lv_chargesUsed;

    int lv_chargesMax;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_cooldownLink = CatalogFieldValueGet(c_gameCatalogAbil, lp_ability, "Cost.Cooldown.Link", lp_player);

    lv_chargesMax = CatalogFieldValueGetAsInt(c_gameCatalogAbil, lp_ability, "Cost.Charge.CountMax", lp_player);

    if ((CatalogFieldValueGet(c_gameCatalogAbil, lp_ability, "Cost.Cooldown.Location", lp_player) == "Unit")) {

        if ((lv_chargesMax > 0)) {

            lv_chargeLink = CatalogFieldValueGet(c_gameCatalogAbil, lp_ability, "Cost.Charge.Link", lp_player);

            lv_chargesUsed = UnitGetChargeUsed(lp_unit, lv_chargeLink);

            if ((lv_chargesUsed >= IntToFixed(lv_chargesMax))) {

                lv_cooldownTime = UnitGetChargeRegen(lp_unit, lv_chargeLink);

            }

            else {

                lv_cooldownTime = UnitGetCooldown(lp_unit, lv_cooldownLink);

            }

        }

        else {

            lv_cooldownTime = UnitGetCooldown(lp_unit, lv_cooldownLink);

        }

    }

    else if ((CatalogFieldValueGet(c_gameCatalogAbil, lp_ability, "Cost.Cooldown.Location", lp_player) == "Player")) {

        if ((lv_chargesMax > 0)) {

            lv_chargeLink = CatalogFieldValueGet(c_gameCatalogAbil, lp_ability, "Cost.Charge.Link", lp_player);

            lv_chargesUsed = PlayerGetChargeUsed(lp_player, lv_chargeLink);

            if ((lv_chargesUsed >= IntToFixed(lv_chargesMax))) {

                lv_cooldownTime = PlayerGetChargeRegen(lp_player, lv_chargeLink);

            }

            else {

                lv_cooldownTime = PlayerGetCooldown(lp_player, lv_cooldownLink);

            }

        }

        else {

            lv_cooldownTime = PlayerGetCooldown(lp_player, lv_cooldownLink);

        }

    }

    return lv_cooldownTime;

}



timer libUIUI_gf_UIPartyFrameDeathTimer (int lp_player, unit lp_heroUnit) {

    // Automatic Variable Declarations

    // Implementation

    if ((libUIUI_gf_UIPartyFrameSpecialCaseHeroUsesPairedRespawnTimer(lp_heroUnit) == true)) {

        return libUIUI_gf_UIPartyFrameSpecialCaseHeroPairedRespawnTimer(lp_player);

    }



    return libGame_gv_players[lp_player].lv_respawnTimer;

}



bool libUIUI_gf_UIPartyFrameSpecialCaseHeroUsesPairedRespawnTimer (unit lp_heroUnit) {

    // Automatic Variable Declarations

    string auto7EFFE71D_val;



    // Implementation

    auto7EFFE71D_val = UnitGetType(lp_heroUnit);

    if (auto7EFFE71D_val == "HeroGall") {

        return true;

    }

    else {

        return false;

    }

}



timer libUIUI_gf_UIPartyFrameSpecialCaseHeroPairedRespawnTimer (int lp_player) {

    // Variable Declarations

    int lv_heroIndex;

    int lv_heroRosterSlotIndex;

    int lv_playerTeam;



    // Automatic Variable Declarations

    const int auto08234671_ae = libCore_gv_bALMaxPlayersOnATeam;

    const int auto08234671_ai = 1;



    // Variable Initialization



    // Implementation

    lv_playerTeam = libGame_gf_TeamNumberOfPlayer(lp_player);

    lv_heroIndex = 1;

    for ( ; ( (auto08234671_ai >= 0 && lv_heroIndex <= auto08234671_ae) || (auto08234671_ai < 0 && lv_heroIndex >= auto08234671_ae) ) ; lv_heroIndex += auto08234671_ai ) {

        lv_heroRosterSlotIndex = ((lv_playerTeam - 1) * libCore_gv_bALMaxPlayersOnATeam + lv_heroIndex);

        if ((UnitGetType(libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_heroRosterSlotIndex][libUIUI_gv_uIPartyFrameHeroSlot_C]) == "HeroCho")) {

            return libGame_gv_players[libGame_gf_GetPlayerNumberFromRosterSlot(lv_heroRosterSlotIndex)].lv_respawnTimer;

        }



    }

    return null;

}



bool libUIUI_gf_UIPartyFrameSpecialCaseHeroTalentLevelsAreDifferent (string lp_hero) {

    // Automatic Variable Declarations

    string auto37755074_val;



    // Implementation

    auto37755074_val = lp_hero;

    if (auto37755074_val == "HeroChromie") {

        return true;

    }

    else {

        return false;

    }

}



bool libUIUI_gf_UIPartyFrameSpecialCaseHeroHasExtendedDeath (int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    if (((PlayerHasTalent(lp_player, "GuldanDarkBargain") == true) || (TechTreeBehaviorCount(lp_player, "MalthaelNoOneCanStopDeathActivated", c_techCountQueuedOrBetter) == 1))) {

        return true;

    }



    return false;

}



bool libUIUI_gf_UIPartyFrameSpecialCaseHeroHasCondensedDeath (unit lp_playerOwnedHero) {

    // Automatic Variable Declarations

    // Implementation

    return (UnitGetTokenCount(lp_playerOwnedHero, "KelThuzadPhylacteryQuestToken") == CatalogFieldValueGetAsInt(c_gameCatalogBehavior, "KelThuzadPhylacteryQuestToken", "Max", 0));

}



bool libUIUI_gf_UIPartyFrameSpecialCaseHeroHasHeroicatStart (string lp_hero) {

    // Automatic Variable Declarations

    string auto4AC3BCDB_val;



    // Implementation

    auto4AC3BCDB_val = lp_hero;

    if (auto4AC3BCDB_val == "HeroTracer") {

        return true;

    }

    else if (auto4AC3BCDB_val == "HeroDeathwing") {

        return true;

    }

    else if (auto4AC3BCDB_val == "DeathwingDragonflightUnit") {

        return true;

    }

    else {

        return false;

    }

}



bool libUIUI_gf_UIPartyFrameSpecialCaseHeroHasHeroicCoolup (string lp_hero) {

    // Automatic Variable Declarations

    string auto4D6381D4_val;



    // Implementation

    auto4D6381D4_val = lp_hero;

    if (auto4D6381D4_val == "HeroTracer") {

        return true;

    }

    else if (auto4D6381D4_val == "HeroDeathwing") {

        return true;

    }

    else if (auto4D6381D4_val == "DeathwingDragonflightUnit") {

        return true;

    }

    else {

        return false;

    }

}



int libUIUI_gf_UIPartyFrameHeroTypeofHero (unit lp_hero) {

    // Automatic Variable Declarations

    // Implementation

    if (((UnitGetType(lp_hero) == "HeroLostVikingsController") || (UnitGetType(lp_hero) == "HeroOlaf") || (UnitGetType(lp_hero) == "HeroErik") || (UnitGetType(lp_hero) == "HeroBaleog"))) {

        return libUIUI_ge_UIPartyFrameHeroType_LostVikings;

    }

    else if ((UnitGetType(lp_hero) == "HeroRexxar")) {

        return libUIUI_ge_UIPartyFrameHeroType_PetHero;

    }

    return libUIUI_ge_UIPartyFrameHeroType_NormalHero;

}



int libUIUI_gf_UIPartyFrameUIIndexofHeroUnit (unit lp_heroUnit, int lp_player) {

    // Automatic Variable Declarations

    int auto4F8E0933_val;

    string auto0EFE0E31_val;



    // Implementation

    auto4F8E0933_val = libUIUI_gf_UIPartyFrameHeroTypeofHero(libGame_gv_players[lp_player].lv_heroUnit);

    if (auto4F8E0933_val == libUIUI_ge_UIPartyFrameHeroType_PetHero) {

        if ((lp_heroUnit == libGame_gv_players[lp_player].lv_heroUnit)) {

            return libUIUI_gv_uIPartyFrameHeroSlot_C;

        }

        else {

            return libUIUI_gv_uIPartyFrameHeroPetSlot_C;

        }

    }

    else if (auto4F8E0933_val == libUIUI_ge_UIPartyFrameHeroType_LostVikings) {

        auto0EFE0E31_val = UnitGetType(lp_heroUnit);

        if (auto0EFE0E31_val == "HeroOlaf") {

            return libUIUI_gv_uIPartyFrameHeroSlotA_C;

        }

        else if (auto0EFE0E31_val == "HeroBaleog") {

            return libUIUI_gv_uIPartyFrameHeroSlotB_C;

        }

        else if (auto0EFE0E31_val == "HeroErik") {

            return libUIUI_gv_uIPartyFrameHeroSlotC_C;

        }

        else {

        }

    }

    else {

    }

    return libUIUI_gv_uIPartyFrameHeroSlot_C;

}



void libUIUI_gf_PartyFrameEnemyPing (int lp_pingingPlayer, unit lp_targetUnit, int lp_targetPlayerID, int lp_uIRosterSlot, int lp_vikingIndex) {

    // Variable Declarations

    text lv_pingMessage;

    point lv_location;

    text lv_friendlyColor;

    text lv_hostileColor;

    soundlink lv_pingSoundLink;

    playergroup lv_pingPlayerGroup;

    text lv_targetUnitName;

    unit lv_targetUnit;

    unit lv_transportUnit;

    bool lv_foundVisibleUnit;

    unit lv_activeVehicleUnit;

    int lv_deathTimerPrecision;



    // Automatic Variable Declarations

    unitgroup autoEF6A30F5_g;

    int autoEF6A30F5_u;

    unit autoEF6A30F5_var;



    // Variable Initialization

    lv_friendlyColor = StringExternal("Param/Value/lib_UIUI_3FA34F1F");

    lv_hostileColor = StringExternal("Param/Value/lib_UIUI_53780097");

    lv_pingSoundLink = SoundLink("EditorDefaultSound", -1);

    lv_pingPlayerGroup = PlayerGroupEmpty();

    lv_targetUnitName = UnitTypeGetName(UnitGetType(lp_targetUnit));

    lv_targetUnit = lp_targetUnit;



    // Implementation

    if (((lp_pingingPlayer <= 0) || (lp_pingingPlayer > libCore_gv_bALMaxPlayers) || (lp_targetPlayerID <= 0) || (lp_targetPlayerID > libCore_gv_bALMaxPlayers))) {

        return ;

    }



    if ((TimerGetRemaining(libUIUI_gv_pingInputSuppressionTimer[lp_pingingPlayer]) > 0.0)) {

        return ;

    }



    if ((TimerGetRemaining(libUIUI_gv_pingLockoutTimer[lp_pingingPlayer]) > 0.0)) {

        UIDisplayMessage(libCore_gv_playerGroupFromPlayer[lp_pingingPlayer], c_messageAreaChat, StringExternal("Param/Value/lib_UIUI_86A3B9F2"));

        return ;

    }



    if ((UnitIsValid(lv_targetUnit) == false)) {

        lv_targetUnitName = UnitTypeGetName("RexxarMisha");

        if ((TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroPetDeathTimer[lp_uIRosterSlot]) < 1) && (TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroPetDeathTimer[lp_uIRosterSlot]) > 0.0)) {

            lv_deathTimerPrecision = 1;

        }



        TextExpressionSetToken("Param/Expression/lib_UIUI_29AC3B96", "C", lv_friendlyColor);

        TextExpressionSetToken("Param/Expression/lib_UIUI_29AC3B96", "A", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

        TextExpressionSetToken("Param/Expression/lib_UIUI_29AC3B96", "A", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

        TextExpressionSetToken("Param/Expression/lib_UIUI_29AC3B96", "D", lv_hostileColor);

        TextExpressionSetToken("Param/Expression/lib_UIUI_29AC3B96", "B", lv_targetUnitName);

        TextExpressionSetToken("Param/Expression/lib_UIUI_29AC3B96", "E", FixedToText(TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroPetDeathTimer[lp_uIRosterSlot]), lv_deathTimerPrecision));

        lv_pingMessage = TextExpressionAssemble("Param/Expression/lib_UIUI_29AC3B96");

        lv_pingSoundLink = SoundLink("UI_Game_Ping_General", -1);

        lv_pingPlayerGroup = PlayerGroupMath(libGame_gf_PlayersOnTeamHeroes(libGame_gf_TeamNumberOfPlayer(lp_pingingPlayer), false), PlayerGroupMuting(libNtve_ge_MuteType_Pings, lp_pingingPlayer, true), libNtve_ge_PlayerGroupOperation_Subtract);

        libUIUI_gf_PingIncrementPingCountAndManageTimersForPlayer(lp_pingingPlayer);

        UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, lv_pingMessage);

        SoundPlayForPlayer(lv_pingSoundLink, lp_pingingPlayer, lv_pingPlayerGroup, 100.0, 0.0);

        return ;

    }



    if ((libGame_gv_players[lp_targetPlayerID].lv_heroUsesAnnouncementAlias == true)) {

        if ((UnitGetType(lv_targetUnit) == "HeroGall")) {

            lv_targetUnit = libGDHL_gv_chogallPairs[libGame_gf_TeamNumberOfPlayer(lp_targetPlayerID)].lv_choUnit;

        }



        lv_targetUnitName = libGame_gv_players[lp_targetPlayerID].lv_heroAnnouncementAliasText;

    }



    if ((libGame_gv_players[lp_targetPlayerID].lv_activeVehicle != null)) {

        lv_activeVehicleUnit = libGame_gv_players[lp_targetPlayerID].lv_activeVehicle;

    }



    if ((libNtve_gf_UnitIsInsideTransport(lv_targetUnit) == true)) {

        lv_transportUnit = UnitTransport(lv_targetUnit);

        while ((UnitIsValid(UnitTransport(lv_transportUnit)) == true)) {

            lv_transportUnit = UnitTransport(lv_transportUnit);

        }

        if ((libNtve_gf_UnitIsVisibleToPlayer(lv_transportUnit, lp_pingingPlayer) == true)) {

            lv_targetUnit = lv_transportUnit;

            lv_targetUnitName = UnitGetName(lv_transportUnit);

        }



    }



    if (((UnitIsAlive(lv_targetUnit) == false) || (UnitHasBehaviorWithCategoryFlag(lv_targetUnit, c_behaviorCategorySpecialDeathState) == true))) {

        if ((TimerGetRemaining(libGame_gv_players[lp_targetPlayerID].lv_respawnTimer) < 1) && (TimerGetRemaining(libGame_gv_players[lp_targetPlayerID].lv_respawnTimer) > 0.0)) {

            lv_deathTimerPrecision = 1;

        }



        TextExpressionSetToken("Param/Expression/lib_UIUI_72A6528B", "C", lv_friendlyColor);

        TextExpressionSetToken("Param/Expression/lib_UIUI_72A6528B", "A", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

        TextExpressionSetToken("Param/Expression/lib_UIUI_72A6528B", "A", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

        TextExpressionSetToken("Param/Expression/lib_UIUI_72A6528B", "D", lv_hostileColor);

        TextExpressionSetToken("Param/Expression/lib_UIUI_72A6528B", "B", lv_targetUnitName);

        TextExpressionSetToken("Param/Expression/lib_UIUI_72A6528B", "E", FixedToText(TimerGetRemaining(libGame_gv_players[lp_targetPlayerID].lv_respawnTimer), lv_deathTimerPrecision));

        lv_pingMessage = TextExpressionAssemble("Param/Expression/lib_UIUI_72A6528B");

        lv_pingSoundLink = SoundLink("UI_Game_Ping_General", -1);

        lv_pingPlayerGroup = PlayerGroupMath(libGame_gf_PlayersOnTeamHeroes(libGame_gf_TeamNumberOfPlayer(lp_pingingPlayer), false), PlayerGroupMuting(libNtve_ge_MuteType_Pings, lp_pingingPlayer, true), libNtve_ge_PlayerGroupOperation_Subtract);

        if (((UnitGetType(lv_targetUnit) == "HeroOlaf") || (UnitGetType(lv_targetUnit) == "HeroBaleog") || (UnitGetType(lv_targetUnit) == "HeroErik"))) {

            if ((TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroVikingsDeathTimers[lp_uIRosterSlot][lp_vikingIndex]) < 1) && (TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroVikingsDeathTimers[lp_uIRosterSlot][lp_vikingIndex]) > 0.0)) {

                lv_deathTimerPrecision = 1;

            }



            TextExpressionSetToken("Param/Expression/lib_UIUI_A391FD68", "C", lv_friendlyColor);

            TextExpressionSetToken("Param/Expression/lib_UIUI_A391FD68", "A", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

            TextExpressionSetToken("Param/Expression/lib_UIUI_A391FD68", "A", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

            TextExpressionSetToken("Param/Expression/lib_UIUI_A391FD68", "D", lv_hostileColor);

            TextExpressionSetToken("Param/Expression/lib_UIUI_A391FD68", "B", lv_targetUnitName);

            TextExpressionSetToken("Param/Expression/lib_UIUI_A391FD68", "E", FixedToText(TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroVikingsDeathTimers[lp_uIRosterSlot][lp_vikingIndex]), lv_deathTimerPrecision));

            lv_pingMessage = TextExpressionAssemble("Param/Expression/lib_UIUI_A391FD68");

        }



        libUIUI_gf_PingIncrementPingCountAndManageTimersForPlayer(lp_pingingPlayer);

        UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, lv_pingMessage);

        SoundPlayForPlayer(lv_pingSoundLink, lp_pingingPlayer, lv_pingPlayerGroup, 100.0, 0.0);

        return ;

    }

    else {

        lv_pingPlayerGroup = PlayerGroupMath(libGame_gf_PlayersOnTeamHeroes(libGame_gf_TeamNumberOfPlayer(lp_pingingPlayer), false), PlayerGroupMuting(libNtve_ge_MuteType_Pings, lp_pingingPlayer, true), libNtve_ge_PlayerGroupOperation_Subtract);

        if ((lv_activeVehicleUnit != null) && ((UnitFilterMatch(lv_activeVehicleUnit, lp_pingingPlayer, UnitFilter(0, (1 << (c_targetFilterAITargetableStructure - 32)), 0, 0)) == true) || (libNtve_gf_UnitIsVisibleToPlayer(lv_activeVehicleUnit, lp_pingingPlayer) == true))) {

            UnitCreateEffectUnit(libGame_gv_players[lp_pingingPlayer].lv_heroUnit, "AttackPing", lv_activeVehicleUnit);

            libNtve_gf_CreatePingFacingAngleWithType(lv_pingPlayerGroup, "StormGeneralPing", UnitGetPosition(lv_activeVehicleUnit), Color(100.00, 100.00, 100.00), 3.0, 270.0, -1, lp_pingingPlayer);

            lv_targetUnitName = UnitTypeGetName(UnitGetType(lv_activeVehicleUnit));

            lv_foundVisibleUnit = true;

        }



        if ((lv_activeVehicleUnit == null) && ((UnitFilterMatch(lv_targetUnit, lp_pingingPlayer, UnitFilter(0, (1 << (c_targetFilterAITargetableStructure - 32)), 0, 0)) == true) || ((libNtve_gf_UnitIsVisibleToPlayer(lv_targetUnit, lp_pingingPlayer) == true) && (UnitHasBehavior2(lv_targetUnit, "ZagaraInsideNydusWorm") == false) && (UnitHasBehavior2(lv_targetUnit, "DeathwingDragonflightBuff") == false)))) {

            UnitCreateEffectUnit(libGame_gv_players[lp_pingingPlayer].lv_heroUnit, "AttackPing", lv_targetUnit);

            libNtve_gf_CreatePingFacingAngleWithType(lv_pingPlayerGroup, "StormGeneralPing", UnitGetPosition(lv_targetUnit), Color(100.00, 100.00, 100.00), 3.0, 270.0, -1, lp_pingingPlayer);

            lv_foundVisibleUnit = true;

        }



        if ((UnitGroupCount(libGame_gv_players[lp_targetPlayerID].lv_altClickPartyFrameAnnouncementUnitGroup, c_unitCountAlive) != 0)) {

            autoEF6A30F5_g = libGame_gv_players[lp_targetPlayerID].lv_altClickPartyFrameAnnouncementUnitGroup;

            autoEF6A30F5_u = UnitGroupCount(autoEF6A30F5_g, c_unitCountAll);

            for (;; autoEF6A30F5_u -= 1) {

                autoEF6A30F5_var = UnitGroupUnitFromEnd(autoEF6A30F5_g, autoEF6A30F5_u);

                if (autoEF6A30F5_var == null) { break; }

                if ((libNtve_gf_UnitIsVisibleToPlayer(autoEF6A30F5_var, lp_pingingPlayer) == true)) {

                    if ((lv_activeVehicleUnit != null)) {

                        lv_targetUnitName = UnitTypeGetName(UnitGetType(lv_activeVehicleUnit));

                    }



                    UnitCreateEffectUnit(libGame_gv_players[lp_pingingPlayer].lv_heroUnit, "AttackPing", autoEF6A30F5_var);

                    libNtve_gf_CreatePingFacingAngleWithType(lv_pingPlayerGroup, "StormGeneralPing", UnitGetPosition(autoEF6A30F5_var), Color(100.00, 100.00, 100.00), 3.0, 270.0, -1, lp_pingingPlayer);

                    lv_foundVisibleUnit = true;

                }



            }

        }



        if ((lv_foundVisibleUnit == true)) {

            lv_pingSoundLink = SoundLink("UI_Game_Ping_General", -1);

        }

        else {

            TextExpressionSetToken("Param/Expression/lib_UIUI_F54003A9", "C", lv_friendlyColor);

            TextExpressionSetToken("Param/Expression/lib_UIUI_F54003A9", "A", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

            TextExpressionSetToken("Param/Expression/lib_UIUI_F54003A9", "A", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

            TextExpressionSetToken("Param/Expression/lib_UIUI_F54003A9", "D", lv_hostileColor);

            TextExpressionSetToken("Param/Expression/lib_UIUI_F54003A9", "B", lv_targetUnitName);

            lv_pingMessage = TextExpressionAssemble("Param/Expression/lib_UIUI_F54003A9");

            lv_pingSoundLink = SoundLink("UI_Game_Ping_Careful", -1);

            libSond_gf_HeroVOPlayHeroLine(libCore_ge_HeroVOEvents_VOPing_EnemyMissing, lp_pingingPlayer, lv_pingPlayerGroup);

            UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, lv_pingMessage);

        }

        libUIUI_gf_PingIncrementPingCountAndManageTimersForPlayer(lp_pingingPlayer);

        SoundPlayForPlayer(lv_pingSoundLink, lp_pingingPlayer, lv_pingPlayerGroup, 100.0, 0.0);

    }

}



void libUIUI_gf_PartyFrameAllyPing (int lp_pingingPlayer, unit lp_targetUnit, int lp_targetPlayerID, int lp_uIRosterSlot, int lp_vikingIndex) {

    // Variable Declarations

    unit lv_targetUnit;

    unit lv_targetPlayerHeroUnit;

    playergroup lv_pingTargetGroup;

    text lv_pingText;

    text lv_friendlyColor;

    int lv_deathTimerPrecision;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_targetUnit = lp_targetUnit;

    lv_pingTargetGroup = PlayerGroupEmpty();

    lv_friendlyColor = StringExternal("Param/Value/lib_UIUI_6FFD6B5B");



    // Implementation

    if (((lp_pingingPlayer <= 0) || (lp_pingingPlayer > libCore_gv_bALMaxPlayers) || (lp_targetPlayerID <= 0) || (lp_targetPlayerID > libCore_gv_bALMaxPlayers))) {

        return ;

    }



    if ((TimerGetRemaining(libUIUI_gv_pingInputSuppressionTimer[lp_pingingPlayer]) > 0.0)) {

        return ;

    }



    if ((TimerGetRemaining(libUIUI_gv_pingLockoutTimer[lp_pingingPlayer]) > 0.0)) {

        UIDisplayMessage(libCore_gv_playerGroupFromPlayer[lp_pingingPlayer], c_messageAreaChat, StringExternal("Param/Value/lib_UIUI_A70B9203"));

        return ;

    }



    lv_pingTargetGroup = PlayerGroupMath(libGame_gf_PlayersOnTeamHeroes(libGame_gf_TeamNumberOfPlayer(lp_pingingPlayer), false), PlayerGroupMuting(libNtve_ge_MuteType_Pings, lp_pingingPlayer, true), libNtve_ge_PlayerGroupOperation_Subtract);

    if (((UnitIsAlive(lv_targetUnit) == true) && (UnitHasBehaviorWithCategoryFlag(lv_targetUnit, c_behaviorCategorySlow) == false))) {

        if ((UnitGetType(lv_targetUnit) == "HeroGall")) {

            lv_targetUnit = libGDHL_gv_chogallPairs[libGame_gf_TeamNumberOfPlayer(lp_targetPlayerID)].lv_choUnit;

        }



        if ((libGame_gv_players[lp_targetPlayerID].lv_activeVehicle != null)) {

            lv_targetUnit = libGame_gv_players[lp_targetPlayerID].lv_activeVehicle;

        }



        libUIUI_gf_PingPlayerPingsUnit(lp_pingingPlayer, lv_targetUnit, lv_pingTargetGroup);

        libUIUI_gf_PingIncrementPingCountAndManageTimersForPlayer(lp_pingingPlayer);

    }

    else {

        if ((UnitIsValid(lv_targetUnit) == true)) {

            if ((TimerGetRemaining(libGame_gv_players[lp_targetPlayerID].lv_respawnTimer) < 1) && (TimerGetRemaining(libGame_gv_players[lp_targetPlayerID].lv_respawnTimer) > 0.0)) {

                lv_deathTimerPrecision = 1;

            }



            TextExpressionSetToken("Param/Expression/lib_UIUI_4725CA19", "E", lv_friendlyColor);

            TextExpressionSetToken("Param/Expression/lib_UIUI_4725CA19", "B", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

            TextExpressionSetToken("Param/Expression/lib_UIUI_4725CA19", "B", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

            TextExpressionSetToken("Param/Expression/lib_UIUI_4725CA19", "D", lv_friendlyColor);

            TextExpressionSetToken("Param/Expression/lib_UIUI_4725CA19", "C", libGame_gv_players[lp_targetPlayerID].lv_heroData.lv_name);

            TextExpressionSetToken("Param/Expression/lib_UIUI_4725CA19", "A", FixedToText(TimerGetRemaining(libGame_gv_players[lp_targetPlayerID].lv_respawnTimer), lv_deathTimerPrecision));

            lv_pingText = TextExpressionAssemble("Param/Expression/lib_UIUI_4725CA19");

            if ((libGame_gv_players[lp_targetPlayerID].lv_heroUsesAnnouncementAlias == true)) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_44709242", "E", lv_friendlyColor);

                TextExpressionSetToken("Param/Expression/lib_UIUI_44709242", "B", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

                TextExpressionSetToken("Param/Expression/lib_UIUI_44709242", "B", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

                TextExpressionSetToken("Param/Expression/lib_UIUI_44709242", "D", lv_friendlyColor);

                TextExpressionSetToken("Param/Expression/lib_UIUI_44709242", "C", libGame_gv_players[lp_targetPlayerID].lv_heroAnnouncementAliasText);

                TextExpressionSetToken("Param/Expression/lib_UIUI_44709242", "A", FixedToText(TimerGetRemaining(libGame_gv_players[lp_targetPlayerID].lv_respawnTimer), lv_deathTimerPrecision));

                lv_pingText = TextExpressionAssemble("Param/Expression/lib_UIUI_44709242");

            }



            if (((UnitGetType(lv_targetUnit) == "HeroOlaf") || (UnitGetType(lv_targetUnit) == "HeroBaleog") || (UnitGetType(lv_targetUnit) == "HeroErik"))) {

                if ((TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroVikingsDeathTimers[lp_uIRosterSlot][lp_vikingIndex]) < 1) && (TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroVikingsDeathTimers[lp_uIRosterSlot][lp_vikingIndex]) > 0.0)) {

                    lv_deathTimerPrecision = 1;

                }



                TextExpressionSetToken("Param/Expression/lib_UIUI_311FDEF8", "E", lv_friendlyColor);

                TextExpressionSetToken("Param/Expression/lib_UIUI_311FDEF8", "B", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

                TextExpressionSetToken("Param/Expression/lib_UIUI_311FDEF8", "B", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

                TextExpressionSetToken("Param/Expression/lib_UIUI_311FDEF8", "D", lv_friendlyColor);

                TextExpressionSetToken("Param/Expression/lib_UIUI_311FDEF8", "C", UnitGetName(lv_targetUnit));

                TextExpressionSetToken("Param/Expression/lib_UIUI_311FDEF8", "A", FixedToText(TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroVikingsDeathTimers[lp_uIRosterSlot][lp_vikingIndex]), lv_deathTimerPrecision));

                lv_pingText = TextExpressionAssemble("Param/Expression/lib_UIUI_311FDEF8");

            }



            libUIUI_gf_PingIncrementPingCountAndManageTimersForPlayer(lp_pingingPlayer);

            UIDisplayMessage(lv_pingTargetGroup, c_messageAreaChat, lv_pingText);

        }

        else {

            if ((TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroPetDeathTimer[lp_uIRosterSlot]) < 1) && (TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroPetDeathTimer[lp_uIRosterSlot]) > 0.0)) {

                lv_deathTimerPrecision = 1;

            }



            TextExpressionSetToken("Param/Expression/lib_UIUI_B24E5C6E", "E", lv_friendlyColor);

            TextExpressionSetToken("Param/Expression/lib_UIUI_B24E5C6E", "B", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

            TextExpressionSetToken("Param/Expression/lib_UIUI_B24E5C6E", "B", libGame_gv_players[lp_pingingPlayer].lv_heroData.lv_name);

            TextExpressionSetToken("Param/Expression/lib_UIUI_B24E5C6E", "D", lv_friendlyColor);

            TextExpressionSetToken("Param/Expression/lib_UIUI_B24E5C6E", "C", UnitTypeGetName("RexxarMisha"));

            TextExpressionSetToken("Param/Expression/lib_UIUI_B24E5C6E", "A", FixedToText(TimerGetRemaining(libUIUI_gv_uIPartyFrame.lv_heroPetDeathTimer[lp_uIRosterSlot]), lv_deathTimerPrecision));

            lv_pingText = TextExpressionAssemble("Param/Expression/lib_UIUI_B24E5C6E");

            libUIUI_gf_PingIncrementPingCountAndManageTimersForPlayer(lp_pingingPlayer);

            UIDisplayMessage(lv_pingTargetGroup, c_messageAreaChat, lv_pingText);

        }

    }

}



void libUIUI_gf_PartyFrameTeamXPUpdateandManageTeamSpamTimers (int lp_teamNumber) {

    // Automatic Variable Declarations

    // Implementation

    libUIUI_gv_teamXPPartySpamCounter[lp_teamNumber] += 1;

    if ((libUIUI_gv_teamXPPartySpamCounter[lp_teamNumber] >= libUIUI_gv_teamXPPartyFrameTeamPingCap_C)) {

        TimerStart(libUIUI_gv_teamXPPartySpamLockoutTimer[lp_teamNumber], 8.0, false, c_timeGame);

        libUIUI_gv_teamXPPartySpamCounter[lp_teamNumber] = 0;

    }

    else {

        TimerStart(libUIUI_gv_teamXPPartyFrameDecrementPingCountTimer[lp_teamNumber], 4.0, false, c_timeGame);

    }

}



int libUIUI_gf_PingDeterminePingTargetType (unit lp_unit) {

    // Variable Declarations

    int lv_itPingTarget;

    string lv_unitTypeOfUnit;

    bool lv_unitHasOccupiedVehicleBehavior;



    // Automatic Variable Declarations

    int auto73F0F178_ae;

    const int auto73F0F178_ai = 1;



    // Variable Initialization



    // Implementation

    lv_unitTypeOfUnit = UnitGetType(lp_unit);

    lv_unitHasOccupiedVehicleBehavior = UnitHasBehavior2(lp_unit, "GenericVehicleBehaviorOccupied");

    auto73F0F178_ae = libUIUI_gv_ping_PingTargetCount;

    lv_itPingTarget = 1;

    for ( ; ( (auto73F0F178_ai >= 0 && lv_itPingTarget <= auto73F0F178_ae) || (auto73F0F178_ai < 0 && lv_itPingTarget >= auto73F0F178_ae) ) ; lv_itPingTarget += auto73F0F178_ai ) {

        if ((libUIUI_gv_ping_PingTargets[lv_itPingTarget].lv_pingIsForOccupiedVehicle == lv_unitHasOccupiedVehicleBehavior) && (lv_unitTypeOfUnit == libUIUI_gv_ping_PingTargets[lv_itPingTarget].lv_unitType)) {

            return lv_itPingTarget;

        }



    }

    return 0;

}



unit libUIUI_gf_PingGetSpecialPingTargetInRangeOfPoint (point lp_point, bool lp_pingFromMinimap, int lp_pingingPlayer) {

    // Variable Declarations

    const fixed lv_worldSearchRange_C = 3.0;

    const fixed lv_minimapSearchRange_C = 4.0;

    unit lv_itUnit;

    fixed lv_searchRange;

    unitgroup lv_scanUnitGroup;



    // Automatic Variable Declarations

    unitgroup auto65EB7870_g;

    int auto65EB7870_u;

    unitgroup autoBAC9C38F_g;

    int autoBAC9C38F_u;

    unitgroup auto5D8D7022_g;

    int auto5D8D7022_u;



    // Variable Initialization

    lv_scanUnitGroup = UnitGroupEmpty();



    // Implementation

    if ((lp_pingFromMinimap == true)) {

        lv_searchRange = lv_minimapSearchRange_C;

    }

    else {

        lv_searchRange = lv_worldSearchRange_C;

    }

    lv_scanUnitGroup = UnitGroup(null, c_playerAny, RegionCircle(lp_point, lv_searchRange), UnitFilter(0, 0, (1 << c_targetFilterMinion) | (1 << c_targetFilterMissile) | (1 << c_targetFilterItem), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);

    auto65EB7870_g = lv_scanUnitGroup;

    auto65EB7870_u = UnitGroupCount(auto65EB7870_g, c_unitCountAll);

    for (;; auto65EB7870_u -= 1) {

        lv_itUnit = UnitGroupUnitFromEnd(auto65EB7870_g, auto65EB7870_u);

        if (lv_itUnit == null) { break; }

        if ((UnitHasBehavior2(lv_itUnit, "UnitCannotBePinged") == true)) {

            UnitGroupRemove(lv_scanUnitGroup, lv_itUnit);

        }



    }

    autoBAC9C38F_g = lv_scanUnitGroup;

    autoBAC9C38F_u = UnitGroupCount(autoBAC9C38F_g, c_unitCountAll);

    for (;; autoBAC9C38F_u -= 1) {

        lv_itUnit = UnitGroupUnitFromEnd(autoBAC9C38F_g, autoBAC9C38F_u);

        if (lv_itUnit == null) { break; }

        if ((UnitTypeTestAttribute(UnitGetType(lv_itUnit), c_unitAttributeHeroic) == true) && (libNtve_gf_UnitIsVisibleToPlayer(lv_itUnit, lp_pingingPlayer) == true)) {

            return lv_itUnit;

        }



    }

    auto5D8D7022_g = lv_scanUnitGroup;

    auto5D8D7022_u = UnitGroupCount(auto5D8D7022_g, c_unitCountAll);

    for (;; auto5D8D7022_u -= 1) {

        lv_itUnit = UnitGroupUnitFromEnd(auto5D8D7022_g, auto5D8D7022_u);

        if (lv_itUnit == null) { break; }

        if (((libUIUI_gf_PingDeterminePingTargetType(lv_itUnit) != 0) || (libGame_gf_TownGetTownStructurePresetFromUnit(lv_itUnit) != libGame_ge_TownStructureTypes_None))) {

            return lv_itUnit;

        }



    }

    return null;

}



void libUIUI_gf_PingIncrementPingCountAndManageTimersForPlayer (int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    if ((libCore_gv_dEBUGPingLimitEnabled == false)) {

        return ;

    }



    libUIUI_gv_pingCount[lp_player] += 1;

    TimerStart(libUIUI_gv_pingInputSuppressionTimer[lp_player], libUIUI_gv_uI_PingInputSuppressionTime_C, false, c_timeGame);

    TimerStart(libUIUI_gv_pingCountResetTimer[lp_player], libUIUI_gv_uI_PingCountResetTime_C, false, c_timeGame);

    if ((libUIUI_gv_pingCount[lp_player] >= libUIUI_gv_uI_PingMaxCount_C)) {

        TimerStart(libUIUI_gv_pingLockoutTimer[lp_player], libUIUI_gv_uI_PingLockoutTime_C, false, c_timeGame);

    }



}



void libUIUI_gf_PingResetPingLockoutTimeandPingCount (int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    libUIUI_gv_pingCount[lp_player] = 0;

    libNtve_gf_StopTimer(libUIUI_gv_pingInputSuppressionTimer[lp_player]);

    libNtve_gf_StopTimer(libUIUI_gv_pingCountResetTimer[lp_player]);

    libNtve_gf_StopTimer(libUIUI_gv_pingLockoutTimer[lp_player]);

}



void libUIUI_gf_PingPlayerPingsUnit (int lp_pingingPlayer, unit lp_targetUnit, playergroup lp_pingPlayerGroup) {

    // Variable Declarations

    bool lv_targetIsAllied;

    text lv_colorForTarget;

    text lv_colorForPingingHero;

    text lv_nameOfPingingHero;

    int lv_targetType;

    bool lv_targetFound;

    text lv_nameOfTarget;

    text lv_textExpression;

    text lv_pingMessage;

    string lv_pingModel;

    soundlink lv_pingSound;

    int lv_townStructureTypeForUnit;



    // Automatic Variable Declarations

    point autoD49C0A03_val;

    int auto8657C484_val;



    // Variable Initialization

    lv_pingModel = "StormGeneralPing";

    lv_pingSound = SoundLink("UI_Game_Ping_General", -1);



    // Implementation

    lv_targetIsAllied = PlayerGetAlliance(lp_pingingPlayer, c_allianceIdChat, UnitGetOwner(lp_targetUnit));

    if ((lv_targetIsAllied == true)) {

        lv_colorForTarget = StringExternal("Param/Value/lib_UIUI_1C2DFD0A");

    }

    else {

        if ((UnitGetOwner(lp_targetUnit) == libCore_gv_cOMPUTER_Neutral)) {

            lv_colorForTarget = StringExternal("Param/Value/lib_UIUI_1E1DF5DF");

        }

        else {

            lv_colorForTarget = StringExternal("Param/Value/lib_UIUI_4EAC3090");

        }

    }

    lv_colorForPingingHero = StringExternal("Param/Value/lib_UIUI_4F4CCEA9");

    lv_nameOfPingingHero = UnitTypeGetName(UnitGetType(libGame_gv_players[lp_pingingPlayer].lv_heroUnit));

    if ((libGame_gv_players[UnitGetOwner(lp_targetUnit)].lv_heroUsesAnnouncementAlias == true)) {

        lv_nameOfTarget = libGame_gv_players[UnitGetOwner(lp_targetUnit)].lv_heroAnnouncementAliasText;

    }

    else {

        lv_nameOfTarget = UnitGetName(lp_targetUnit);

    }

    lv_targetType = libUIUI_gf_PingDeterminePingTargetType(lp_targetUnit);

    if ((lv_targetType != 0)) {

        lv_targetFound = true;

        if ((libUIUI_gv_ping_PingTargets[lv_targetType].lv_targetNameOverride != null)) {

            lv_nameOfTarget = libUIUI_gv_ping_PingTargets[lv_targetType].lv_targetNameOverride;

        }



        if ((lv_targetType == libUIUI_gv_ping_PingTargetCount) && (libCore_gv_mAPMapStringID == "ControlPoints")) {

            autoD49C0A03_val = UnitGetPosition(lp_targetUnit);

            if (autoD49C0A03_val == Point(124.0, 184.0)) {

                lv_nameOfTarget = StringExternal("Param/Value/lib_UIUI_3E1DF626");

            }

            else if (autoD49C0A03_val == Point(124.0, 127.0)) {

                lv_nameOfTarget = StringExternal("Param/Value/lib_UIUI_5799501A");

            }

            else if (autoD49C0A03_val == Point(124.0, 42.0)) {

                lv_nameOfTarget = StringExternal("Param/Value/lib_UIUI_696AB2FD");

            }

            else {

                if ((libSprt_gv_dEBUGDebugMessagesEnabled == true)) {

                    TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_D81DE3F3"), true);

                }



            }

        }



        if ((lv_targetIsAllied == true)) {

            UnitCreateEffectUnit(libGame_gv_players[lp_pingingPlayer].lv_heroUnit, "HelpPing", lp_targetUnit);

            lv_textExpression = libUIUI_gv_ping_PingTargets[lv_targetType].lv_textMessageAlliedTarget;

            TextExpressionSetToken("CustomExpression", c_textExpressionTokenMain, lv_textExpression);

            TextExpressionSetToken("CustomExpression", "C", lv_colorForPingingHero);

            TextExpressionSetToken("CustomExpression", "A", lv_nameOfPingingHero);

            TextExpressionSetToken("CustomExpression", "D", lv_colorForTarget);

            TextExpressionSetToken("CustomExpression", "B", lv_nameOfTarget);

            lv_pingMessage = TextExpressionAssemble("CustomExpression");

            lv_pingSound = libUIUI_gv_ping_PingTargets[lv_targetType].lv_pingSoundAlliedTarget;

            if ((libUIUI_gv_ping_PingTargets[lv_targetType].lv_heroVOLineAlliedTarget != libCore_ge_HeroVOEvents_Null)) {

                libSond_gf_HeroVOPlayHeroLine(libUIUI_gv_ping_PingTargets[lv_targetType].lv_heroVOLineAlliedTarget, lp_pingingPlayer, lp_pingPlayerGroup);

            }



        }

        else {

            UnitCreateEffectUnit(libGame_gv_players[lp_pingingPlayer].lv_heroUnit, "AttackPing", lp_targetUnit);

            lv_textExpression = libUIUI_gv_ping_PingTargets[lv_targetType].lv_textMessageEnemyTarget;

            TextExpressionSetToken("CustomExpression", c_textExpressionTokenMain, lv_textExpression);

            TextExpressionSetToken("CustomExpression", "C", lv_colorForPingingHero);

            TextExpressionSetToken("CustomExpression", "A", lv_nameOfPingingHero);

            TextExpressionSetToken("CustomExpression", "D", lv_colorForTarget);

            TextExpressionSetToken("CustomExpression", "B", lv_nameOfTarget);

            lv_pingMessage = TextExpressionAssemble("CustomExpression");

            lv_pingSound = libUIUI_gv_ping_PingTargets[lv_targetType].lv_pingSoundEnemyTarget;

            if ((libUIUI_gv_ping_PingTargets[lv_targetType].lv_heroVOLineEnemyTarget != libCore_ge_HeroVOEvents_Null)) {

                libSond_gf_HeroVOPlayHeroLine(libUIUI_gv_ping_PingTargets[lv_targetType].lv_heroVOLineEnemyTarget, lp_pingingPlayer, lp_pingPlayerGroup);

            }



        }

        if ((libAIAI_gf_HeroAIIsPlayerActive(lp_pingingPlayer, 1) == true)) {

            if ((libUIUI_gv_ping_PingTargets[lv_targetType].lv_heroVOLineHumanPingingPlayer != libCore_ge_HeroVOEvents_Null)) {

                libSond_gf_HeroVOPlayHeroLine(libUIUI_gv_ping_PingTargets[lv_targetType].lv_heroVOLineHumanPingingPlayer, lp_pingingPlayer, lp_pingPlayerGroup);

            }



        }

        else {

            if ((libUIUI_gv_ping_PingTargets[lv_targetType].lv_heroVOLineAIPingingPlayer != libCore_ge_HeroVOEvents_Null)) {

                libSond_gf_HeroVOPlayHeroLine(libUIUI_gv_ping_PingTargets[lv_targetType].lv_heroVOLineAIPingingPlayer, lp_pingingPlayer, lp_pingPlayerGroup);

            }



        }

    }



    if ((lv_targetFound == false) && (UnitTypeTestAttribute(UnitGetType(lp_targetUnit), c_unitAttributeHeroic) == true)) {

        lv_targetFound = true;

        if ((lp_targetUnit == libAIAI_gv_aIHeroes[lp_pingingPlayer].lv_currentHeroUnit)) {

            UnitCreateEffectUnit(libGame_gv_players[lp_pingingPlayer].lv_heroUnit, "HelpPing", lp_targetUnit);

            TextExpressionSetToken("Param/Expression/lib_UIUI_A17166FA", "C", lv_colorForPingingHero);

            TextExpressionSetToken("Param/Expression/lib_UIUI_A17166FA", "A", lv_nameOfPingingHero);

            lv_pingMessage = TextExpressionAssemble("Param/Expression/lib_UIUI_A17166FA");

            lv_pingSound = SoundLink("UI_Game_Ping_Help", -1);

            libSond_gf_HeroVOPlayHeroLine(libCore_ge_HeroVOEvents_PingAssistMe, lp_pingingPlayer, lp_pingPlayerGroup);

        }

        else {

            if ((lv_targetIsAllied == true)) {

                UnitCreateEffectUnit(libGame_gv_players[lp_pingingPlayer].lv_heroUnit, "HelpPing", lp_targetUnit);

                if ((libAIAI_gf_HeroAIIsPlayerActive(UnitGetOwner(lp_targetUnit), libAIAI_gv_heroAIComputerPlayerType) == true) && (libAIAI_gf_HeroAICanPlayerPingPlayerForHelp(lp_pingingPlayer, UnitGetOwner(lp_targetUnit)) == true)) {

                    libNtve_gf_CreatePingFacingAngleWithType(lp_pingPlayerGroup, lv_pingModel, UnitGetPosition(lp_targetUnit), Color(100.00, 100.00, 100.00), 3.0, 270.0, -1, lp_pingingPlayer);

                    SoundPlayForPlayer(SoundLink("UI_Game_Ping_Help", -1), lp_pingingPlayer, lp_pingPlayerGroup, 100.0, 0.0);

                    return ;

                }



                TextExpressionSetToken("Param/Expression/lib_UIUI_0E193F9C", "C", lv_colorForPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_0E193F9C", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_0E193F9C", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_0E193F9C", "D", lv_colorForTarget);

                TextExpressionSetToken("Param/Expression/lib_UIUI_0E193F9C", "B", lv_nameOfTarget);

                lv_pingMessage = TextExpressionAssemble("Param/Expression/lib_UIUI_0E193F9C");

                lv_pingSound = SoundLink("UI_Game_Ping_Help", -1);

                libSond_gf_HeroVOPlayHeroLine(libCore_ge_HeroVOEvents_PingAssistHero, lp_pingingPlayer, lp_pingPlayerGroup);

            }

            else {

                UnitCreateEffectUnit(libGame_gv_players[lp_pingingPlayer].lv_heroUnit, "AttackPing", lp_targetUnit);

                TextExpressionSetToken("Param/Expression/lib_UIUI_5F178A58", "C", lv_colorForPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_5F178A58", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_5F178A58", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_5F178A58", "D", lv_colorForTarget);

                TextExpressionSetToken("Param/Expression/lib_UIUI_5F178A58", "B", lv_nameOfTarget);

                lv_pingMessage = TextExpressionAssemble("Param/Expression/lib_UIUI_5F178A58");

                lv_pingSound = SoundLink("UI_Game_Ping_Attack", -1);

                libSond_gf_HeroVOPlayHeroLine(libCore_ge_HeroVOEvents_PingKillHero, lp_pingingPlayer, lp_pingPlayerGroup);

            }

        }

    }



    lv_townStructureTypeForUnit = libGame_gf_TownGetTownStructurePresetFromUnit(lp_targetUnit);

    if ((lv_targetFound == false) && (lv_townStructureTypeForUnit != libGame_ge_TownStructureTypes_None)) {

        lv_targetFound = true;

        auto8657C484_val = lv_townStructureTypeForUnit;

        if (auto8657C484_val == libGame_ge_TownStructureTypes_Moonwell) {

            if ((lv_targetIsAllied == true)) {

                UnitCreateEffectUnit(libGame_gv_players[lp_pingingPlayer].lv_heroUnit, "HelpPing", lp_targetUnit);

                TextExpressionSetToken("Param/Expression/lib_UIUI_D5F24432", "C", lv_colorForPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_D5F24432", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_D5F24432", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_D5F24432", "D", lv_colorForTarget);

                TextExpressionSetToken("Param/Expression/lib_UIUI_D5F24432", "B", lv_nameOfTarget);

                lv_pingMessage = TextExpressionAssemble("Param/Expression/lib_UIUI_D5F24432");

                lv_pingSound = SoundLink("UI_Game_Ping_General", -1);

            }

            else {

                UnitCreateEffectUnit(libGame_gv_players[lp_pingingPlayer].lv_heroUnit, "AttackPing", lp_targetUnit);

                TextExpressionSetToken("Param/Expression/lib_UIUI_43F90C78", "C", lv_colorForPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_43F90C78", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_43F90C78", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_43F90C78", "D", lv_colorForTarget);

                TextExpressionSetToken("Param/Expression/lib_UIUI_43F90C78", "B", lv_nameOfTarget);

                lv_pingMessage = TextExpressionAssemble("Param/Expression/lib_UIUI_43F90C78");

                lv_pingSound = SoundLink("UI_Game_Ping_Attack", -1);

                libSond_gf_HeroVOPlayHeroLine(libCore_ge_HeroVOEvents_PingAttackTown, lp_pingingPlayer, lp_pingPlayerGroup);

            }

        }

        else if (auto8657C484_val == libGame_ge_TownStructureTypes_Core) {

            if ((lv_targetIsAllied == true)) {

                UnitCreateEffectUnit(libGame_gv_players[lp_pingingPlayer].lv_heroUnit, "DefendPing", lp_targetUnit);

                TextExpressionSetToken("Param/Expression/lib_UIUI_AD297C75", "C", lv_colorForPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_AD297C75", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_AD297C75", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_AD297C75", "D", lv_colorForTarget);

                TextExpressionSetToken("Param/Expression/lib_UIUI_AD297C75", "B", lv_nameOfTarget);

                lv_pingMessage = TextExpressionAssemble("Param/Expression/lib_UIUI_AD297C75");

                lv_pingSound = SoundLink("UI_Game_Ping_Defend", -1);

                lv_pingModel = "DefendPingMinimap";

                libSond_gf_HeroVOPlayHeroLine(libCore_ge_HeroVOEvents_PingDefendCore, lp_pingingPlayer, lp_pingPlayerGroup);

            }

            else {

                UnitCreateEffectUnit(libGame_gv_players[lp_pingingPlayer].lv_heroUnit, "AttackPing", lp_targetUnit);

                TextExpressionSetToken("Param/Expression/lib_UIUI_2C958F1A", "C", lv_colorForPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_2C958F1A", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_2C958F1A", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_2C958F1A", "D", lv_colorForTarget);

                TextExpressionSetToken("Param/Expression/lib_UIUI_2C958F1A", "B", lv_nameOfTarget);

                lv_pingMessage = TextExpressionAssemble("Param/Expression/lib_UIUI_2C958F1A");

                lv_pingSound = SoundLink("UI_Game_Ping_Attack", -1);

                libSond_gf_HeroVOPlayHeroLine(libCore_ge_HeroVOEvents_PingAttackCore, lp_pingingPlayer, lp_pingPlayerGroup);

            }

        }

        else {

            if ((lv_targetIsAllied == true)) {

                UnitCreateEffectUnit(libGame_gv_players[lp_pingingPlayer].lv_heroUnit, "DefendPing", lp_targetUnit);

                TextExpressionSetToken("Param/Expression/lib_UIUI_DCDF8D55", "C", lv_colorForPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_DCDF8D55", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_DCDF8D55", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_DCDF8D55", "D", lv_colorForTarget);

                TextExpressionSetToken("Param/Expression/lib_UIUI_DCDF8D55", "B", lv_nameOfTarget);

                lv_pingMessage = TextExpressionAssemble("Param/Expression/lib_UIUI_DCDF8D55");

                lv_pingSound = SoundLink("UI_Game_Ping_Defend", -1);

                lv_pingModel = "DefendPingMinimap";

                libSond_gf_HeroVOPlayHeroLine(libCore_ge_HeroVOEvents_PingDefendTown, lp_pingingPlayer, lp_pingPlayerGroup);

            }

            else {

                UnitCreateEffectUnit(libGame_gv_players[lp_pingingPlayer].lv_heroUnit, "AttackPing", lp_targetUnit);

                TextExpressionSetToken("Param/Expression/lib_UIUI_E37D78F1", "C", lv_colorForPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_E37D78F1", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_E37D78F1", "A", lv_nameOfPingingHero);

                TextExpressionSetToken("Param/Expression/lib_UIUI_E37D78F1", "D", lv_colorForTarget);

                TextExpressionSetToken("Param/Expression/lib_UIUI_E37D78F1", "B", lv_nameOfTarget);

                lv_pingMessage = TextExpressionAssemble("Param/Expression/lib_UIUI_E37D78F1");

                lv_pingSound = SoundLink("UI_Game_Ping_Attack", -1);

                libSond_gf_HeroVOPlayHeroLine(libCore_ge_HeroVOEvents_PingAttackTown, lp_pingingPlayer, lp_pingPlayerGroup);

            }

        }

    }



    if ((lv_targetFound == true)) {

        UIDisplayMessage(lp_pingPlayerGroup, c_messageAreaChat, lv_pingMessage);

        libNtve_gf_CreatePingFacingAngleWithType(lp_pingPlayerGroup, lv_pingModel, UnitGetPosition(lp_targetUnit), Color(100.00, 100.00, 100.00), 3.0, 270.0, -1, lp_pingingPlayer);

        SoundPlayForPlayer(lv_pingSound, lp_pingingPlayer, lp_pingPlayerGroup, 100.0, 0.0);

    }

    else {

        libNtve_gf_CreatePingFacingAngleWithType(lp_pingPlayerGroup, lv_pingModel, EventPingPoint(), Color(100.00, 100.00, 100.00), 3.0, 270.0, -1, lp_pingingPlayer);

        SoundPlayForPlayer(lv_pingSound, lp_pingingPlayer, lp_pingPlayerGroup, 100.0, 0.0);

    }

}



void libUIUI_gf_PingAIResponse (int lp_pingingPlayer, unit lp_targetUnit, playergroup lp_pingPlayerGroup) {

    // Variable Declarations

    bool lv_targetIsAllied;

    int lv_targetType;

    int lv_townStructureTypeForUnit;



    // Automatic Variable Declarations

    // Variable Initialization



    // Implementation

    lv_targetType = libUIUI_gf_PingDeterminePingTargetType(lp_targetUnit);

    if ((lv_targetType != 0)) {

        if ((libUIUI_gv_ping_PingTargets[lv_targetType].lv_customPingResponseTrigger != null)) {

            libUIUI_gv_ping_PingCallbackPingingPlayer = lp_pingingPlayer;

            libUIUI_gv_ping_PingCallbackTargetUnit = lp_targetUnit;

            TriggerExecute(libUIUI_gv_ping_PingTargets[lv_targetType].lv_customPingResponseTrigger, true, false);

        }



        return ;

    }



}



void libUIUI_gf_PingPlayerUsesAssistMePing (int lp_player, unit lp_targetUnit, point lp_location) {

    // Variable Declarations

    int lv_pingType;

    text lv_targetName;

    int lv_targetType;

    unit lv_pingingPlayerHero;

    playergroup lv_pingPlayerGroup;

    string lv_pingModel;

    soundlink lv_pingSound;



    // Automatic Variable Declarations

    string autoC3C26EF1_val;



    // Variable Initialization

    lv_pingType = c_pingTypeAssistMe;

    lv_pingPlayerGroup = PlayerGroupEmpty();

    lv_pingModel = "StormGeneralPing";

    lv_pingSound = SoundLink("UI_Game_Ping_General", -1);



    // Implementation

    lv_pingingPlayerHero = libGame_gv_players[lp_player].lv_heroUnit;

    lv_pingPlayerGroup = PlayerGroupMath(libGame_gf_PlayersOnTeamHeroes(libGame_gf_TeamNumberOfPlayer(lp_player), false), PlayerGroupMuting(libNtve_ge_MuteType_Pings, lp_player, true), libNtve_ge_PlayerGroupOperation_Subtract);

    lv_pingSound = SoundLink("UI_Game_Ping_Help", -1);

    lv_pingModel = "AssistMePingMinimap";

    lv_targetType = libUIUI_gf_PingDeterminePingTargetType(lp_targetUnit);

    libNtve_gf_CreatePingFacingAngleWithType(lv_pingPlayerGroup, lv_pingModel, lp_location, Color(100.00, 100.00, 100.00), 3.0, 270.0, lv_pingType, lp_player);

    PingSetScale(PingLastCreated(), 0.6);

    SoundPlayForPlayer(lv_pingSound, lp_player, lv_pingPlayerGroup, 100.0, 0.0);

    libSond_gf_HeroVOPlayHeroLine(libCore_ge_HeroVOEvents_VOPing_AssistMe, lp_player, lv_pingPlayerGroup);

    UnitCreateEffectPoint(libGame_gv_players[lp_player].lv_heroUnit, "AssistMePing", lp_location);

    if (((lp_targetUnit == null) || (UnitFilterMatch(lp_targetUnit, UnitGetOwner(lv_pingingPlayerHero), UnitFilter((1 << c_targetFilterUser1), 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)))) == true))) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_289FB7DC", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

        TextExpressionSetToken("Param/Expression/lib_UIUI_289FB7DC", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

        UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_289FB7DC"));

    }

    else {

        if ((lv_targetType != 0) && (libUIUI_gv_ping_PingTargets[lv_targetType].lv_targetNameOverride != null)) {

            lv_targetName = libUIUI_gv_ping_PingTargets[lv_targetType].lv_targetNameOverride;

        }

        else if ((libGame_gv_players[UnitGetOwner(lp_targetUnit)].lv_heroUsesAnnouncementAlias == true)) {

            lv_targetName = libGame_gv_players[UnitGetOwner(lp_targetUnit)].lv_heroAnnouncementAliasText;

        }

        else if (true) {

            lv_targetName = UnitGetName(lp_targetUnit);

        }

        if ((libGame_gf_TeamNumberOfPlayer(UnitGetOwner(lp_targetUnit)) == libGame_gf_EnemyTeamNumberOfPlayer(lp_player))) {

            if ((UnitFilterMatch(lp_targetUnit, lp_player, UnitFilter((1 << c_targetFilterStructure), 0, (1 << c_targetFilterPlayer) | (1 << c_targetFilterAlly) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)))) == true)) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_3FD0895A", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_3FD0895A", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_3FD0895A", "B", lv_targetName);

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_3FD0895A"));

            }

            else if ((UnitFilterMatch(lp_targetUnit, lp_player, libCore_gv_filtersHeroicEnemyorNeutral) == true)) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_50B64FB9", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_50B64FB9", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_50B64FB9", "B", lv_targetName);

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_50B64FB9"));

            }

            else if ((UnitGetType(lp_targetUnit) == "JungleGraveGolemLaner")) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_A45642C7", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_A45642C7", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_A45642C7", "B", lv_targetName);

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_A45642C7"));

            }

            else if (true) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_962A8AA1", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_962A8AA1", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_962A8AA1"));

            }

        }

        else {

            if ((UnitFilterMatch(lp_targetUnit, lp_player, libCore_gv_filtersHeroicAlly) == true)) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_D8A53C54", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_D8A53C54", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_D8A53C54", "B", lv_targetName);

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_D8A53C54"));

            }

            else if ((UnitFilterMatch(lp_targetUnit, lp_player, UnitFilter((1 << c_targetFilterStructure), 0, (1 << c_targetFilterPlayer) | (1 << c_targetFilterNeutral) | (1 << c_targetFilterEnemy) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)))) == true)) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_0A460F80", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_0A460F80", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_0A460F80", "B", lv_targetName);

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_0A460F80"));

            }

            else if ((UnitFilterMatch(lp_targetUnit, lp_player, UnitFilter(0, 0, (1 << c_targetFilterMinion) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterBenign - 32)))) == true)) {

                autoC3C26EF1_val = UnitGetType(lp_targetUnit);

                if (autoC3C26EF1_val == "DragonShireShrineMoon") {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_57F2E174", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_57F2E174", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_57F2E174", "B", lv_targetName);

                    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_57F2E174"));

                }

                else if (autoC3C26EF1_val == "DragonShireShrineSun") {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_80F26FF2", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_80F26FF2", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_80F26FF2", "B", lv_targetName);

                    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_80F26FF2"));

                }

                else if (autoC3C26EF1_val == "XelNagaWatchTower") {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_6310C497", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_6310C497", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_6310C497"));

                }

                else if (autoC3C26EF1_val == "DocksPirateCaptain") {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_C93B900C", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_C93B900C", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_C93B900C"));

                }

                else if (autoC3C26EF1_val == "DocksTreasureChest") {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_B587146C", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_B587146C", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_B587146C"));

                }

                else if (autoC3C26EF1_val == "RavenLordTribute") {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_A7E3E303", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_A7E3E303", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_A7E3E303"));

                }

                else {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_42A13BF7", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_42A13BF7", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_42A13BF7"));

                }

            }

            else if ((UnitGetType(lp_targetUnit) == "JungleGraveGolemLaner")) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_B52607BC", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_B52607BC", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_B52607BC", "B", lv_targetName);

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_B52607BC"));

            }

            else if (true) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_80F8E278", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_80F8E278", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_80F8E278"));

            }

        }

    }

}



void libUIUI_gf_PingPlayerUsesDangerPing (int lp_player, point lp_location, unit lp_targetUnit) {

    // Variable Declarations

    int lv_pingType;

    text lv_targetName;

    int lv_targetType;

    unit lv_pingingPlayerHero;

    playergroup lv_pingPlayerGroup;

    string lv_pingModel;

    soundlink lv_pingSound;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_pingType = c_pingTypeDanger;

    lv_pingPlayerGroup = PlayerGroupEmpty();

    lv_pingModel = "StormGeneralPing";

    lv_pingSound = SoundLink("UI_Game_Ping_General", -1);



    // Implementation

    lv_pingingPlayerHero = libGame_gv_players[lp_player].lv_heroUnit;

    lv_pingPlayerGroup = PlayerGroupMath(libGame_gf_PlayersOnTeamHeroes(libGame_gf_TeamNumberOfPlayer(lp_player), false), PlayerGroupMuting(libNtve_ge_MuteType_Pings, lp_player, true), libNtve_ge_PlayerGroupOperation_Subtract);

    lv_pingSound = SoundLink("UI_Game_Ping_Careful", -1);

    lv_pingModel = "DangerPingMinimap";

    lv_targetType = libUIUI_gf_PingDeterminePingTargetType(lp_targetUnit);

    libNtve_gf_CreatePingFacingAngleWithType(lv_pingPlayerGroup, lv_pingModel, lp_location, Color(100.00, 100.00, 100.00), 3.0, 270.0, lv_pingType, lp_player);

    PingSetScale(PingLastCreated(), 0.6);

    SoundPlayForPlayer(lv_pingSound, lp_player, lv_pingPlayerGroup, 100.0, 0.0);

    libSond_gf_HeroVOPlayHeroLine(libCore_ge_HeroVOEvents_VOPing_Danger, lp_player, lv_pingPlayerGroup);

    if (((lp_targetUnit == null) || (UnitFilterMatch(lp_targetUnit, UnitGetOwner(lv_pingingPlayerHero), UnitFilter((1 << c_targetFilterUser1), 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)))) == true))) {

        UnitCreateEffectPoint(libGame_gv_players[lp_player].lv_heroUnit, "DangerPingPoint", lp_location);

        TextExpressionSetToken("Param/Expression/lib_UIUI_B79FD716", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

        TextExpressionSetToken("Param/Expression/lib_UIUI_B79FD716", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

        UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_B79FD716"));

    }

    else {

        if ((lv_targetType != 0) && (libUIUI_gv_ping_PingTargets[lv_targetType].lv_targetNameOverride != null)) {

            lv_targetName = libUIUI_gv_ping_PingTargets[lv_targetType].lv_targetNameOverride;

        }

        else if ((libGame_gv_players[UnitGetOwner(lp_targetUnit)].lv_heroUsesAnnouncementAlias == true)) {

            lv_targetName = libGame_gv_players[UnitGetOwner(lp_targetUnit)].lv_heroAnnouncementAliasText;

        }

        else if (true) {

            lv_targetName = UnitGetName(lp_targetUnit);

        }

        if ((libGame_gf_TeamNumberOfPlayer(UnitGetOwner(lp_targetUnit)) != libGame_gf_TeamNumberOfPlayer(lp_player))) {

            if (((UnitFilterMatch(lp_targetUnit, lp_player, libCore_gv_filtersHeroicEnemyorNeutral) == true) || (UnitFilterMatch(lp_targetUnit, lp_player, UnitFilter((1 << c_targetFilterStructure), 0, (1 << c_targetFilterPlayer) | (1 << c_targetFilterAlly) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)))) == true) || (UnitGetType(lp_targetUnit) == "JungleGraveGolemLaner"))) {

                UnitCreateEffectUnit(lv_pingingPlayerHero, "DangerPingUnit", lp_targetUnit);

                if ((UnitGetOwner(lp_targetUnit) == libCore_gv_cOMPUTER_Neutral)) {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_D85365F0", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_D85365F0", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_D85365F0", "B", lv_targetName);

                    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_D85365F0"));

                }

                else {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_5D96DEC5", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_5D96DEC5", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_5D96DEC5", "B", lv_targetName);

                    TextExpressionSetToken("Param/Expression/lib_UIUI_5D96DEC5", "B", lv_targetName);

                    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_5D96DEC5"));

                }

            }

            else {

                UnitCreateEffectPoint(libGame_gv_players[lp_player].lv_heroUnit, "DangerPingPoint", lp_location);

                TextExpressionSetToken("Param/Expression/lib_UIUI_6A9CA732", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_6A9CA732", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_6A9CA732"));

            }

        }

        else {

            if (((UnitFilterMatch(lp_targetUnit, lp_player, libCore_gv_filtersHeroicAlly) == true) || (UnitFilterMatch(lp_targetUnit, lp_player, UnitFilter((1 << c_targetFilterStructure), 0, (1 << c_targetFilterPlayer) | (1 << c_targetFilterNeutral) | (1 << c_targetFilterEnemy) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)))) == true) || (UnitGetType(lp_targetUnit) == "JungleGraveGolemLaner"))) {

                UnitCreateEffectUnit(lv_pingingPlayerHero, "DangerPingUnit", lp_targetUnit);

                if ((lv_targetType != 0) && (libUIUI_gv_ping_PingTargets[lv_targetType].lv_targetNameOverride != null)) {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_472BAA00", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_472BAA00", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_472BAA00", "B", libUIUI_gv_ping_PingTargets[lv_targetType].lv_targetNameOverride);

                    TextExpressionSetToken("Param/Expression/lib_UIUI_472BAA00", "B", libUIUI_gv_ping_PingTargets[lv_targetType].lv_targetNameOverride);

                    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_472BAA00"));

                }

                else {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_C5EC5EEF", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_C5EC5EEF", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                    TextExpressionSetToken("Param/Expression/lib_UIUI_C5EC5EEF", "B", lv_targetName);

                    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_C5EC5EEF"));

                }

            }

            else {

                UnitCreateEffectPoint(libGame_gv_players[lp_player].lv_heroUnit, "DangerPingPoint", lp_location);

                TextExpressionSetToken("Param/Expression/lib_UIUI_E4B1CDA8", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_E4B1CDA8", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_E4B1CDA8"));

            }

        }

    }

}



void libUIUI_gf_PingPlayerUsesOnMyWayPing (unit lp_pingedUnit, int lp_player, point lp_location) {

    // Variable Declarations

    int lv_pingType;

    text lv_targetName;

    int lv_targetType;

    unit lv_pingingPlayerHero;

    playergroup lv_pingPlayerGroup;

    string lv_pingModel;

    soundlink lv_pingSound;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_pingType = c_pingTypeOnMyWay;

    lv_pingPlayerGroup = PlayerGroupEmpty();

    lv_pingModel = "StormGeneralPing";

    lv_pingSound = SoundLink("UI_Game_Ping_General", -1);



    // Implementation

    lv_pingingPlayerHero = libGame_gv_players[lp_player].lv_heroUnit;

    lv_pingPlayerGroup = PlayerGroupMath(libGame_gf_PlayersOnTeamHeroes(libGame_gf_TeamNumberOfPlayer(lp_player), false), PlayerGroupMuting(libNtve_ge_MuteType_Pings, lp_player, true), libNtve_ge_PlayerGroupOperation_Subtract);

    lv_pingSound = SoundLink("UI_Game_Ping_OMW", -1);

    lv_pingModel = "OnMyWayPingMinimap";

    lv_targetType = libUIUI_gf_PingDeterminePingTargetType(lp_pingedUnit);

    libNtve_gf_CreatePingFacingAngleWithType(lv_pingPlayerGroup, lv_pingModel, lp_location, Color(100.00, 100.00, 100.00), 3.0, 270.0, lv_pingType, lp_player);

    PingSetScale(PingLastCreated(), 0.6);

    libSond_gf_HeroVOPlayHeroLine(libCore_ge_HeroVOEvents_VOPing_OnMyWay, lp_player, lv_pingPlayerGroup);

    SoundPlayForPlayer(lv_pingSound, lp_player, lv_pingPlayerGroup, 100.0, 0.0);

    if ((libGame_gv_players[lp_player].lv_activeVehicle != null)) {

        UnitCreateEffectPoint(libGame_gv_players[lp_player].lv_activeVehicle, "OnMyWayPing", lp_location);

    }

    else {

        UnitCreateEffectPoint(libGame_gv_players[lp_player].lv_heroUnit, "OnMyWayPing", lp_location);

    }

    TextExpressionSetToken("Param/Expression/lib_UIUI_D1E3E15A", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

    TextTagCreate(TextExpressionAssemble("Param/Expression/lib_UIUI_D1E3E15A"), 24, lp_location, 2.0, true, false, lv_pingPlayerGroup);

    TextTagSetTime(TextTagLastCreated(), c_textTagTimeDuration, 3.5);

    if (((lp_pingedUnit == null) || (UnitFilterMatch(lp_pingedUnit, UnitGetOwner(lv_pingingPlayerHero), UnitFilter((1 << c_targetFilterUser1), 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)))) == true))) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_FBCFA2A1", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

        TextExpressionSetToken("Param/Expression/lib_UIUI_FBCFA2A1", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

        UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_FBCFA2A1"));

    }

    else {

        if ((lv_targetType != 0) && (libUIUI_gv_ping_PingTargets[lv_targetType].lv_targetNameOverride != null)) {

            lv_targetName = libUIUI_gv_ping_PingTargets[lv_targetType].lv_targetNameOverride;

        }

        else if ((libGame_gv_players[UnitGetOwner(lp_pingedUnit)].lv_heroUsesAnnouncementAlias == true)) {

            lv_targetName = libGame_gv_players[UnitGetOwner(lp_pingedUnit)].lv_heroAnnouncementAliasText;

        }

        else if (true) {

            lv_targetName = UnitGetName(lp_pingedUnit);

        }

        if ((libGame_gf_TeamNumberOfPlayer(UnitGetOwner(lp_pingedUnit)) == libGame_gf_TeamNumberOfPlayer(lp_player))) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_2E6959AD", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

            TextExpressionSetToken("Param/Expression/lib_UIUI_2E6959AD", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

            TextExpressionSetToken("Param/Expression/lib_UIUI_2E6959AD", "B", lv_targetName);

            UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_2E6959AD"));

        }

        else {

            if ((UnitGetOwner(lp_pingedUnit) == libCore_gv_cOMPUTER_Neutral)) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_0C972BDC", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_0C972BDC", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_0C972BDC", "B", lv_targetName);

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_0C972BDC"));

            }

            else {

                TextExpressionSetToken("Param/Expression/lib_UIUI_E5B936AA", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_E5B936AA", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_E5B936AA", "B", lv_targetName);

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_E5B936AA"));

            }

        }

    }

    PathDestroy(libGame_gv_players[lp_player].lv_onMyWayPathDisplay);

    if (((UnitGetType(libGame_gv_players[lp_player].lv_heroUnit) == "HeroLostVikingsController"))) {

        PathCreateForUnit(lv_pingPlayerGroup, UnitGroupUnit(UnitGroupSelected(lp_player), 1));

    }

    else {

        if ((libGame_gv_players[lp_player].lv_activeVehicle != null)) {

            PathCreateForUnit(lv_pingPlayerGroup, libGame_gv_players[lp_player].lv_activeVehicle);

        }

        else {

            PathCreateForUnit(lv_pingPlayerGroup, libGame_gv_players[lp_player].lv_heroUnit);

        }

    }

    PathSetDestinationPoint(PathLastCreated(), lp_location);

    PathSetVisible(PathLastCreated(), c_pathLocationWorld, false);

    PathSetLineTexture(PathLastCreated(), c_pathLocationMinimap, "Assets\\Textures\\storm_waypointline.dds");

    PathSetMinimumStepCount(PathLastCreated(), 0);

    PathSetMinimumTravelDistance(PathLastCreated(), 0.0);

    PathSetMinimumLinearDistance(PathLastCreated(), 3.0);

    PathSetLineTexture(PathLastCreated(), c_pathLocationWorld, "Assets\\Textures\\storm_waypointline_game.dds");

    PathSetColor(PathLastCreated(), c_pathLocationAll, Color(80.39, 98.04, 68.63));

    PathSetLineTileLength(PathLastCreated(), c_pathLocationWorld, 0.8);

    libGame_gv_players[lp_player].lv_onMyWayPathDisplay = PathLastCreated();

    TimerStart(libUIUI_gv_onMyWayPingPathDisplayTimer[lp_player], libUIUI_gv_uI_OnMyWayPing_PathDisplayDuration, false, c_timeGame);

}



void libUIUI_gf_PingPlayerUsesDefendPing (unit lp_pingedUnit, int lp_player, point lp_location) {

    // Variable Declarations

    int lv_pingType;

    unit lv_pingingPlayerHero;

    text lv_pingingHeroName;

    playergroup lv_pingPlayerGroup;

    string lv_pingModel;

    soundlink lv_pingSound;

    text lv_pingedTargetName;

    int lv_targetType;



    // Automatic Variable Declarations

    string auto73D17142_val;



    // Variable Initialization

    lv_pingType = c_pingTypeDefend;

    lv_pingPlayerGroup = PlayerGroupEmpty();

    lv_pingModel = "StormGeneralPing";

    lv_pingSound = SoundLink("UI_Game_Ping_General", -1);



    // Implementation

    lv_pingingPlayerHero = libGame_gv_players[lp_player].lv_heroUnit;

    lv_pingingHeroName = UnitTypeGetName(UnitGetType(lv_pingingPlayerHero));

    lv_pingPlayerGroup = PlayerGroupMath(libGame_gf_PlayersOnTeamHeroes(libGame_gf_TeamNumberOfPlayer(lp_player), false), PlayerGroupMuting(libNtve_ge_MuteType_Pings, lp_player, true), libNtve_ge_PlayerGroupOperation_Subtract);

    lv_pingSound = SoundLink("UI_Game_Ping_Defend", -1);

    lv_pingModel = "DefendPingMinimap";

    lv_targetType = libUIUI_gf_PingDeterminePingTargetType(lp_pingedUnit);

    libNtve_gf_CreatePingFacingAngleWithType(lv_pingPlayerGroup, lv_pingModel, lp_location, Color(100.00, 100.00, 100.00), 3.0, 270.0, lv_pingType, lp_player);

    PingSetScale(PingLastCreated(), 0.6);

    libSond_gf_HeroVOPlayHeroLine(libCore_ge_HeroVOEvents_VOPing_Defend, lp_player, lv_pingPlayerGroup);

    SoundPlayForPlayer(lv_pingSound, lp_player, lv_pingPlayerGroup, 100.0, 0.0);

    UnitCreateEffectPoint(libGame_gv_players[lp_player].lv_heroUnit, "DefendPing", lp_location);

    if (((lp_pingedUnit == null) || (UnitFilterMatch(lp_pingedUnit, UnitGetOwner(lv_pingingPlayerHero), UnitFilter((1 << c_targetFilterUser1), 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)))) == true))) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_E60F1356", "A", lv_pingingHeroName);

        TextExpressionSetToken("Param/Expression/lib_UIUI_E60F1356", "A", lv_pingingHeroName);

        UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_E60F1356"));

    }

    else {

        if ((lv_targetType != 0) && (libUIUI_gv_ping_PingTargets[lv_targetType].lv_targetNameOverride != null)) {

            lv_pingedTargetName = libUIUI_gv_ping_PingTargets[lv_targetType].lv_targetNameOverride;

        }

        else if ((libGame_gv_players[UnitGetOwner(lp_pingedUnit)].lv_heroUsesAnnouncementAlias == true)) {

            lv_pingedTargetName = libGame_gv_players[UnitGetOwner(lp_pingedUnit)].lv_heroAnnouncementAliasText;

        }

        else if (true) {

            lv_pingedTargetName = UnitGetName(lp_pingedUnit);

        }

        if ((libGame_gf_TeamNumberOfPlayer(UnitGetOwner(lp_pingedUnit)) == libGame_gf_EnemyTeamNumberOfPlayer(lp_player))) {

            if ((UnitGetType(lp_pingedUnit) == "JungleGraveGolemLaner")) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_D187F76F", "A", lv_pingingHeroName);

                TextExpressionSetToken("Param/Expression/lib_UIUI_D187F76F", "A", lv_pingingHeroName);

                TextExpressionSetToken("Param/Expression/lib_UIUI_D187F76F", "B", lv_pingedTargetName);

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_D187F76F"));

            }

            else {

                TextExpressionSetToken("Param/Expression/lib_UIUI_6B25B463", "A", lv_pingingHeroName);

                TextExpressionSetToken("Param/Expression/lib_UIUI_6B25B463", "A", lv_pingingHeroName);

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_6B25B463"));

            }

        }

        else {

            if ((UnitFilterMatch(lp_pingedUnit, lp_player, libCore_gv_filtersHeroicAlly) == true)) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_39A25168", "A", lv_pingingHeroName);

                TextExpressionSetToken("Param/Expression/lib_UIUI_39A25168", "A", lv_pingingHeroName);

                TextExpressionSetToken("Param/Expression/lib_UIUI_39A25168", "B", lv_pingedTargetName);

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_39A25168"));

            }

            else if ((UnitFilterMatch(lp_pingedUnit, lp_player, UnitFilter((1 << c_targetFilterStructure), 0, (1 << c_targetFilterPlayer) | (1 << c_targetFilterNeutral) | (1 << c_targetFilterEnemy) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)))) == true)) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_1C1EB2B0", "A", lv_pingingHeroName);

                TextExpressionSetToken("Param/Expression/lib_UIUI_1C1EB2B0", "A", lv_pingingHeroName);

                TextExpressionSetToken("Param/Expression/lib_UIUI_1C1EB2B0", "B", UnitGetName(lp_pingedUnit));

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_1C1EB2B0"));

            }

            else if ((UnitFilterMatch(lp_pingedUnit, lp_player, UnitFilter(0, 0, (1 << c_targetFilterMinion) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterBenign - 32)))) == true)) {

                auto73D17142_val = UnitGetType(lp_pingedUnit);

                if (auto73D17142_val == "DragonShireShrineMoon") {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_C6222373", "A", lv_pingingHeroName);

                    TextExpressionSetToken("Param/Expression/lib_UIUI_C6222373", "A", lv_pingingHeroName);

                    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_C6222373"));

                }

                else if (auto73D17142_val == "DragonShireShrineSun") {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_9FFEB691", "A", lv_pingingHeroName);

                    TextExpressionSetToken("Param/Expression/lib_UIUI_9FFEB691", "A", lv_pingingHeroName);

                    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_9FFEB691"));

                }

                else if (auto73D17142_val == "XelNagaWatchTower") {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_D5BF280C", "A", lv_pingingHeroName);

                    TextExpressionSetToken("Param/Expression/lib_UIUI_D5BF280C", "A", lv_pingingHeroName);

                    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_D5BF280C"));

                }

                else {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_8875BB2E", "A", lv_pingingHeroName);

                    TextExpressionSetToken("Param/Expression/lib_UIUI_8875BB2E", "A", lv_pingingHeroName);

                    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_8875BB2E"));

                }

            }

            else if ((UnitGetType(lp_pingedUnit) == "JungleGraveGolemLaner")) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_D2CBB294", "A", lv_pingingHeroName);

                TextExpressionSetToken("Param/Expression/lib_UIUI_D2CBB294", "A", lv_pingingHeroName);

                TextExpressionSetToken("Param/Expression/lib_UIUI_D2CBB294", "B", lv_pingedTargetName);

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_D2CBB294"));

            }

            else if (true) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_6DB941D1", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                TextExpressionSetToken("Param/Expression/lib_UIUI_6DB941D1", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

                UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_6DB941D1"));

            }

        }

    }

}



void libUIUI_gf_PingPlayerUsesRetreatPing (int lp_player, point lp_location) {

    // Variable Declarations

    int lv_pingType;

    unit lv_pingingPlayerHero;

    playergroup lv_pingPlayerGroup;

    string lv_pingModel;

    soundlink lv_pingSound;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_pingType = c_pingTypeRetreat;

    lv_pingPlayerGroup = PlayerGroupEmpty();

    lv_pingModel = "StormGeneralPing";

    lv_pingSound = SoundLink("UI_Game_Ping_General", -1);



    // Implementation

    lv_pingingPlayerHero = libGame_gv_players[lp_player].lv_heroUnit;

    lv_pingPlayerGroup = PlayerGroupMath(libGame_gf_PlayersOnTeamHeroes(libGame_gf_TeamNumberOfPlayer(lp_player), false), PlayerGroupMuting(libNtve_ge_MuteType_Pings, lp_player, true), libNtve_ge_PlayerGroupOperation_Subtract);

    lv_pingSound = SoundLink("UI_Game_Ping_Retreat", -1);

    lv_pingModel = "RetreatPingMinimap";

    libNtve_gf_CreatePingFacingAngleWithType(lv_pingPlayerGroup, lv_pingModel, lp_location, Color(100.00, 100.00, 100.00), 3.0, 270.0, lv_pingType, lp_player);

    PingSetScale(PingLastCreated(), 0.6);

    libSond_gf_HeroVOPlayHeroLine(libCore_ge_HeroVOEvents_VOPing_Retreat, lp_player, lv_pingPlayerGroup);

    SoundPlayForPlayer(lv_pingSound, lp_player, lv_pingPlayerGroup, 100.0, 0.0);

    UnitCreateEffectPoint(libGame_gv_players[lp_player].lv_heroUnit, "RetreatPing", lp_location);

    TextExpressionSetToken("Param/Expression/lib_UIUI_4F67313D", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

    TextExpressionSetToken("Param/Expression/lib_UIUI_4F67313D", "A", UnitTypeGetName(UnitGetType(lv_pingingPlayerHero)));

    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_4F67313D"));

}



void libUIUI_gf_PingPlayerStartsHearthStonePing (int lp_player, point lp_location) {

    // Variable Declarations

    unit lv_pingingPlayerHero;

    playergroup lv_pingPlayerGroup;

    string lv_pingModel;

    text lv_pingingUnitName;

    int lv_pingTargetType;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_pingPlayerGroup = PlayerGroupEmpty();

    lv_pingModel = "StormGeneralPing";



    // Implementation

    if ((TimerGetRemaining(libUIUI_gv_pingInputSuppressionTimer[lp_player]) > 0.0)) {

        return ;

    }



    if ((TimerGetRemaining(libUIUI_gv_pingLockoutTimer[lp_player]) > 0.0)) {

        return ;

    }



    libUIUI_gf_PingIncrementPingCountAndManageTimersForPlayer(lp_player);

    lv_pingingPlayerHero = libGame_gv_players[lp_player].lv_heroUnit;

    lv_pingTargetType = libUIUI_gf_PingDeterminePingTargetType(lv_pingingPlayerHero);

    if ((UnitGetType(lv_pingingPlayerHero) != "HeroLostVikingsController")) {

        if ((libGame_gv_players[UnitGetOwner(lv_pingingPlayerHero)].lv_heroUsesAnnouncementAlias == true)) {

            lv_pingingUnitName = libGame_gv_players[UnitGetOwner(lv_pingingPlayerHero)].lv_heroAnnouncementAliasText;

        }

        else {

            lv_pingingUnitName = UnitGetName(lv_pingingPlayerHero);

        }

    }

    else {

        if ((UnitGroupCount(UnitGroupSelected(lp_player), c_unitCountAlive) == 1)) {

            lv_pingingUnitName = UnitGetName(UnitGroupUnit(UnitGroupSelected(lp_player), 1));

        }

        else {

            lv_pingingUnitName = UnitGetName(lv_pingingPlayerHero);

        }

    }

    lv_pingPlayerGroup = PlayerGroupMath(libGame_gf_PlayersOnTeamHeroes(libGame_gf_TeamNumberOfPlayer(lp_player), false), PlayerGroupMuting(libNtve_ge_MuteType_Pings, lp_player, true), libNtve_ge_PlayerGroupOperation_Subtract);

    lv_pingModel = "HearthstonePingMinimap";

    libNtve_gf_CreatePingFacingAngleWithType(lv_pingPlayerGroup, lv_pingModel, lp_location, Color(0.00, 5.49, 73.33), 6.0, 270.0, -1, lp_player);

    libUIUI_gv_ping_PlayerHearth[lp_player] = PingLastCreated();

    PingSetScale(PingLastCreated(), 0.6);

    libUIUI_gv_hearthStonePing[lp_player] = PingLastCreated();

    if ((TimerGetRemaining(libUIUI_gv_hearthPingTextLockoutTimer[lp_player]) > 0.0)) {

    }

    else {

        TextExpressionSetToken("Param/Expression/lib_UIUI_4EC55313", "A", lv_pingingUnitName);

        TextExpressionSetToken("Param/Expression/lib_UIUI_4EC55313", "A", lv_pingingUnitName);

        UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, TextExpressionAssemble("Param/Expression/lib_UIUI_4EC55313"));

        TimerStart(libUIUI_gv_hearthPingTextLockoutTimer[lp_player], 10.0, false, c_timeGame);

    }

}



void libUIUI_gf_PingCancelPlayersHearthStonePing (int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    if ((libUIUI_gv_hearthStonePing[lp_player] != c_invalidPingId)) {

        PingDestroy(libUIUI_gv_hearthStonePing[lp_player]);

        libUIUI_gv_hearthStonePing[lp_player] = c_invalidPingId;

    }



}



int libUIUI_gf_PingLastCreatedPingTarget () {

    // Automatic Variable Declarations

    // Implementation

    return libUIUI_gv_ping_PingTargetCount;

}



void libUIUI_gf_PingCreateNewPingTarget (string lp_unitType, bool lp_pingIsForOccupiedVehicle, text lp_pingTargetNameOverride, text lp_alliedTargetMessageText, text lp_enemyTargetMessageText, soundlink lp_alliedTargetPingSound, soundlink lp_enemyTargetPingSound) {

    // Automatic Variable Declarations

    // Implementation

    libUIUI_gv_ping_PingTargetCount += 1;

    if ((libUIUI_gv_ping_PingTargetCount > libUIUI_gv_uI_PingTargetMaxCount_C)) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_FF965B94", "A", IntToText(libUIUI_gv_uI_PingTargetMaxCount_C));

        TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_FF965B94"), true);

        libUIUI_gv_ping_PingTargetCount = libUIUI_gv_uI_PingTargetMaxCount_C;

        return ;

    }



    libUIUI_gv_ping_PingTargets[libUIUI_gv_ping_PingTargetCount].lv_unitType = lp_unitType;

    libUIUI_gv_ping_PingTargets[libUIUI_gv_ping_PingTargetCount].lv_pingIsForOccupiedVehicle = lp_pingIsForOccupiedVehicle;

    libUIUI_gv_ping_PingTargets[libUIUI_gv_ping_PingTargetCount].lv_targetNameOverride = lp_pingTargetNameOverride;

    libUIUI_gv_ping_PingTargets[libUIUI_gv_ping_PingTargetCount].lv_textMessageAlliedTarget = lp_alliedTargetMessageText;

    libUIUI_gv_ping_PingTargets[libUIUI_gv_ping_PingTargetCount].lv_textMessageEnemyTarget = lp_enemyTargetMessageText;

    libUIUI_gv_ping_PingTargets[libUIUI_gv_ping_PingTargetCount].lv_pingSoundAlliedTarget = lp_alliedTargetPingSound;

    libUIUI_gv_ping_PingTargets[libUIUI_gv_ping_PingTargetCount].lv_pingSoundEnemyTarget = lp_enemyTargetPingSound;

}



void libUIUI_gf_PingCreateNewPingTargetNameOverrideOnly (string lp_unitType, text lp_pingTargetNameOverride) {

    // Variable Declarations

    int lv_i;



    // Automatic Variable Declarations

    int auto0A803D40_ae;



    // Variable Initialization



    // Implementation

    auto0A803D40_ae = libUIUI_gv_ping_PingTargetCount;

    lv_i = 1;

    for ( ; lv_i <= auto0A803D40_ae ; lv_i += 1 ) {

        if ((libUIUI_gv_ping_PingTargets[lv_i].lv_unitType == lp_unitType)) {

            libUIUI_gv_ping_PingTargets[lv_i].lv_targetNameOverride = lp_pingTargetNameOverride;

        }



    }

}



void libUIUI_gf_PingSetAllyEnemyTargetHeroVOForPingTarget (int lp_pingTarget, int lp_allyTargetHeroVO, int lp_enemyTargetHeroVO) {

    // Automatic Variable Declarations

    // Implementation

    libUIUI_gv_ping_PingTargets[lp_pingTarget].lv_heroVOLineAlliedTarget = lp_allyTargetHeroVO;

    libUIUI_gv_ping_PingTargets[lp_pingTarget].lv_heroVOLineEnemyTarget = lp_enemyTargetHeroVO;

}



void libUIUI_gf_PingSetHumanAISourceHeroVOForPingTarget (int lp_pingTarget, int lp_humanSourceHeroVO, int lp_aISourceHeroVO) {

    // Automatic Variable Declarations

    // Implementation

    libUIUI_gv_ping_PingTargets[lp_pingTarget].lv_heroVOLineHumanPingingPlayer = lp_humanSourceHeroVO;

    libUIUI_gv_ping_PingTargets[lp_pingTarget].lv_heroVOLineAIPingingPlayer = lp_aISourceHeroVO;

}



void libUIUI_gf_PingSetCustomResponseTriggerForPingTarget (int lp_pingTarget, trigger lp_trigger) {

    // Automatic Variable Declarations

    // Implementation

    libUIUI_gv_ping_PingTargets[lp_pingTarget].lv_customPingResponseTrigger = lp_trigger;

}



void libUIUI_gf_PingSetCustomResponseTriggerForPingbyUnitType (string lp_pingedUnitType, trigger lp_responseTrigger) {

    // Variable Declarations

    int lv_pingIndex;



    // Automatic Variable Declarations

    int autoF2735158_ae;

    const int autoF2735158_ai = 1;



    // Variable Initialization



    // Implementation

    autoF2735158_ae = libUIUI_gv_ping_PingTargetCount;

    lv_pingIndex = 1;

    for ( ; ( (autoF2735158_ai >= 0 && lv_pingIndex <= autoF2735158_ae) || (autoF2735158_ai < 0 && lv_pingIndex >= autoF2735158_ae) ) ; lv_pingIndex += autoF2735158_ai ) {

        if ((libUIUI_gv_ping_PingTargets[lv_pingIndex].lv_unitType == lp_pingedUnitType)) {

            libUIUI_gv_ping_PingTargets[lv_pingIndex].lv_customPingResponseTrigger = lp_responseTrigger;

            return ;

        }



    }

}



void libUIUI_gf_UITargetingHelperPanelHandleAbilityTargetModeChange (int lp_player, int lp_targetModeState, string lp_ability, bool lp_abilityIsOffensive) {

    // Variable Declarations

    int lv_i;



    // Automatic Variable Declarations

    int autoEE6B7FB0_ae;

    const int autoEE6B7FB0_ai = 1;



    // Variable Initialization



    // Implementation

    if ((lp_targetModeState == c_targetModeStateOn)) {

        libUIUI_gv_uITargetingHelperPanelNumberOfPlayersUsingPanel += 1;

        TriggerEnable(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseEnter, true);

        TriggerEnable(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseExit, true);

        if ((lp_ability == "attack")) {

            libUIUI_gf_UITargetingHelperPanelUpdateForPlayer(lp_player, libAIAI_gf_AIGetActiveWeaponRange(libGame_gv_players[lp_player].lv_heroUnit), lp_abilityIsOffensive);

        }

        else {

            libUIUI_gf_UITargetingHelperPanelUpdateForPlayer(lp_player, CatalogFieldValueGetAsFixed(c_gameCatalogAbil, lp_ability, "Range[" + IntToString(0) + "]", lp_player), lp_abilityIsOffensive);

        }

        if ((lp_abilityIsOffensive == true)) {

            libUIUI_gv_uITargetingHelperPanelPlayerIsTargetingOffensiveAbility[lp_player] = true;

            TriggerEnable(libUIUI_gt_UITargetingHelperPanelUpdateVisibilityForOffensiveAbilities, true);

        }



        libUIUI_gf_UITargetingHelperPanelShowHideForPlayer(true, lp_player);

    }

    else {

        libUIUI_gf_UITargetingHelperPanelShowHideForPlayer(false, lp_player);

        autoEE6B7FB0_ae = libUIUI_gv_uITargetingHelperPanelNumberOfTargetUnitsForPlayer[lp_player];

        lv_i = 1;

        for ( ; ( (autoEE6B7FB0_ai >= 0 && lv_i <= autoEE6B7FB0_ae) || (autoEE6B7FB0_ai < 0 && lv_i >= autoEE6B7FB0_ae) ) ; lv_i += autoEE6B7FB0_ai ) {

            ActorSend(ActorFromActor(libNtve_gf_MainActorofUnit(libUIUI_gv_uITargetingHelperPanelTargetUnitsForPlayer[lp_player][lv_i]), ("FriendlyTargetHelperBeamPlayer" + IntToString(lp_player))), "Destroy");

        }

        libUIUI_gv_uITargetingHelperPanelPlayerIsTargetingOffensiveAbility[lp_player] = false;

        libUIUI_gv_uITargetingHelperPanelNumberOfPlayersUsingPanel -= 1;

        if ((libUIUI_gv_uITargetingHelperPanelNumberOfPlayersUsingPanel <= 0)) {

            TriggerEnable(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseEnter, false);

            TriggerEnable(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseExit, false);

            TriggerEnable(libUIUI_gt_UITargetingHelperPanelUpdateVisibilityForOffensiveAbilities, false);

        }



    }

}



void libUIUI_gf_UITargetingHelperPanelUpdateForPlayer (int lp_player, fixed lp_abilityRange, bool lp_abilityIsOffensive) {

    // Variable Declarations

    int lv_i;

    int lv_k;

    int lv_p;

    int lv_frame;

    unit lv_hero;

    playergroup lv_targetPlayerGroup;

    unit lv_targetHero;

    int lv_numberOfHeroesToDisplay;

    int[libCore_gv_bALMaxPlayersOnATeam + 1] lv_heroPlayersToDisplay;

    fixed[libCore_gv_bALMaxPlayersOnATeam + 1] lv_heroPlayerHPValues;

    fixed lv_tempVal;



    // Automatic Variable Declarations

    playergroup autoF57B81EF_g;

    const int auto845BD2BE_ae = 1;

    const int auto845BD2BE_ai = -1;

    int auto03723F66_ae;

    const int auto03723F66_ai = 1;

    int auto70455873_ae;

    const int auto70455873_ai = 1;

    const int auto1CD3BFA1_ae = libCore_gv_bALMaxPlayersOnATeam;

    const int auto1CD3BFA1_ai = 1;



    // Variable Initialization

    lv_targetPlayerGroup = PlayerGroupEmpty();



    // Implementation

    lv_hero = libGame_gv_players[lp_player].lv_heroUnit;

    if ((lp_abilityIsOffensive == true)) {

        lv_targetPlayerGroup = libGame_gf_EnemyPlayerGroupOfPlayer(lp_player);

    }

    else {

        lv_targetPlayerGroup = libGame_gf_AlliedPlayerGroupOfPlayer(lp_player);

    }

    autoF57B81EF_g = lv_targetPlayerGroup;

    lv_p = -1;

    while (true) {

        	lv_p = PlayerGroupNextPlayer(autoF57B81EF_g, lv_p);

        	if (lv_p<0) { break; }

        	if ((lv_p != libCore_gv_cOMPUTER_TeamOrder) && (lv_p != libCore_gv_cOMPUTER_TeamChaos) && (lv_p != lp_player)) {

            lv_targetHero = libGame_gv_players[lv_p].lv_heroUnit;

            if (((lp_abilityIsOffensive == false) || (libNtve_gf_UnitIsVisibleToPlayer(lv_targetHero, lp_player) == true)) && (DistanceBetweenPoints(UnitGetPosition(lv_hero), UnitGetPosition(lv_targetHero)) <= (lp_abilityRange + libUIUI_gv_uITargetingHelperPanelRangeSlop))) {

                lv_numberOfHeroesToDisplay += 1;

                lv_heroPlayersToDisplay[lv_numberOfHeroesToDisplay] = lv_p;

                lv_heroPlayerHPValues[lv_numberOfHeroesToDisplay] = UnitGetPropertyFixed(libGame_gv_players[lv_p].lv_heroUnit, c_unitPropLife, c_unitPropCurrent);

            }



        }



    }

    if ((lp_abilityIsOffensive == false)) {

        lv_numberOfHeroesToDisplay += 1;

        lv_heroPlayersToDisplay[lv_numberOfHeroesToDisplay] = lp_player;

        lv_heroPlayerHPValues[lv_numberOfHeroesToDisplay] = UnitGetPropertyFixed(lv_hero, c_unitPropLife, c_unitPropCurrent);

    }



    lv_i = (lv_numberOfHeroesToDisplay - 1);

    for ( ; ( (auto845BD2BE_ai >= 0 && lv_i <= auto845BD2BE_ae) || (auto845BD2BE_ai < 0 && lv_i >= auto845BD2BE_ae) ) ; lv_i += auto845BD2BE_ai ) {

        auto03723F66_ae = lv_i;

        lv_k = 1;

        for ( ; ( (auto03723F66_ai >= 0 && lv_k <= auto03723F66_ae) || (auto03723F66_ai < 0 && lv_k >= auto03723F66_ae) ) ; lv_k += auto03723F66_ai ) {

            if ((lv_heroPlayerHPValues[lv_k] > lv_heroPlayerHPValues[(lv_k + 1)])) {

                lv_tempVal = lv_heroPlayerHPValues[lv_k];

                lv_heroPlayerHPValues[lv_k] = lv_heroPlayerHPValues[(lv_k + 1)];

                lv_heroPlayerHPValues[(lv_k + 1)] = lv_tempVal;

                lv_tempVal = lv_heroPlayersToDisplay[lv_k];

                lv_heroPlayersToDisplay[lv_k] = lv_heroPlayersToDisplay[(lv_k + 1)];

                lv_heroPlayersToDisplay[(lv_k + 1)] = FixedToInt(lv_tempVal);

            }



        }

    }

    libUIUI_gv_uITargetingHelperPanelNumberOfTargetUnitsForPlayer[lp_player] = lv_numberOfHeroesToDisplay;

    auto70455873_ae = lv_numberOfHeroesToDisplay;

    lv_frame = 1;

    for ( ; ( (auto70455873_ai >= 0 && lv_frame <= auto70455873_ae) || (auto70455873_ai < 0 && lv_frame >= auto70455873_ae) ) ; lv_frame += auto70455873_ai ) {

        lv_p = lv_heroPlayersToDisplay[lv_frame];

        if ((lv_p == lp_player)) {

            libNtve_gf_SetDialogItemColor(libUIUI_gv_uITargetingHelperPanel.lv_heroBorderImages[lv_frame], libCore_gv_cOLORPlayerColor, libCore_gv_playerGroupFromPlayer[lp_player]);

        }

        else {

            if ((lp_abilityIsOffensive == true)) {

                libNtve_gf_SetDialogItemColor(libUIUI_gv_uITargetingHelperPanel.lv_heroBorderImages[lv_frame], libCore_gv_cOLOREnemyColor, libCore_gv_playerGroupFromPlayer[lp_player]);

            }

            else {

                libNtve_gf_SetDialogItemColor(libUIUI_gv_uITargetingHelperPanel.lv_heroBorderImages[lv_frame], libCore_gv_cOLORAllyColor, libCore_gv_playerGroupFromPlayer[lp_player]);

            }

        }

        libNtve_gf_SetDialogItemImage(libUIUI_gv_uITargetingHelperPanel.lv_heroIcons[lv_frame], libGame_gv_players[lv_p].lv_portraitIcon, libCore_gv_playerGroupFromPlayer[lp_player]);

        libNtve_gf_SetDialogItemUnit(libUIUI_gv_uITargetingHelperPanel.lv_heroTargetFrames[lv_frame], libGame_gv_players[lv_p].lv_heroUnit, libCore_gv_playerGroupFromPlayer[lp_player]);

        libNtve_gf_SetDialogItemUnit(libUIUI_gv_uITargetingHelperPanel.lv_heroStatusFrames[lv_frame], libGame_gv_players[lv_p].lv_heroUnit, libCore_gv_playerGroupFromPlayer[lp_player]);

        DialogControlSetVisible(libUIUI_gv_uITargetingHelperPanel.lv_heroFrames[lv_frame], libCore_gv_playerGroupFromPlayer[lp_player], true);

        libUIUI_gv_uITargetingHelperPanelTargetUnitsForPlayer[lp_player][lv_frame] = libGame_gv_players[lv_p].lv_heroUnit;

    }

    lv_frame = (lv_numberOfHeroesToDisplay + 1);

    for ( ; ( (auto1CD3BFA1_ai >= 0 && lv_frame <= auto1CD3BFA1_ae) || (auto1CD3BFA1_ai < 0 && lv_frame >= auto1CD3BFA1_ae) ) ; lv_frame += auto1CD3BFA1_ai ) {

        DialogControlSetVisible(libUIUI_gv_uITargetingHelperPanel.lv_heroFrames[lv_frame], libCore_gv_playerGroupFromPlayer[lp_player], false);

    }

}



void libUIUI_gf_UITargetingHelperPanelShowHideForPlayer (bool lp_showHide, int lp_player) {

    // Automatic Variable Declarations

    // Implementation

    if ((lp_showHide == true)) {

        DialogControlSetVisible(libUIUI_gv_uITargetingHelperPanel.lv_mainPanel, libCore_gv_playerGroupFromPlayer[lp_player], true);

    }

    else {

        DialogControlSetVisible(libUIUI_gv_uITargetingHelperPanel.lv_mainPanel, libCore_gv_playerGroupFromPlayer[lp_player], false);

    }

}



void libUIUI_gf_TopBarPanelShowHideForPlayer (bool lp_showHide, int lp_player) {

    // Automatic Variable Declarations

}



void libUIUI_gf_TopBarTeamLevelHookUpXPBarUnitForTeamAndShowTeamLevelLabel (int lp_team, unit lp_unit) {

    // Automatic Variable Declarations

}



void libUIUI_gf_TopBarTeamLevelUpdateTeamsLevelLabel (int lp_team, int lp_level) {

    // Variable Declarations

    int lv_enemyTeam;

    int lv_itPlayer;



    // Automatic Variable Declarations

    // Variable Initialization



}



void libUIUI_gf_TopBarSetUpCoreHealthBarforTeam (int lp_team) {

    // Automatic Variable Declarations

}



void libUIUI_gf_AddTutorialReferenceItem (text lp_item) {

    // Variable Declarations

    int lv_index;



    // Automatic Variable Declarations

    const int auto4DAC34C7_ae = libUIUI_gv_tutorialReferenceCount_Max_C;

    const int auto4DAC34C7_ai = 1;



    // Variable Initialization



    // Implementation

    if ((libUIUI_gv_tutorialReferenceCount >= libUIUI_gv_tutorialReferenceCount_Max_C)) {

        return ;

    }



    libUIUI_gv_tutorialReferenceCount += 1;

    if ((libUIUI_gv_tutorialReferencePanel == c_invalidDialogControlId)) {

        DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/TutorialCardButton");

        libUIUI_gv_tutorialReferenceShowHelp = DialogControlLastCreated();

        DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/TutorialReferenceCard");

        libUIUI_gv_tutorialReferencePanel = DialogControlLastCreated();

        DialogControlHookup(libUIUI_gv_tutorialReferencePanel, c_triggerControlTypePanel, "ReferenceCardHighlight");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

        libUIUI_gv_tutorialPanelHighlightFrame = DialogControlLastCreated();

        lv_index = 1;

        for ( ; ( (auto4DAC34C7_ai >= 0 && lv_index <= auto4DAC34C7_ae) || (auto4DAC34C7_ai < 0 && lv_index >= auto4DAC34C7_ae) ) ; lv_index += auto4DAC34C7_ai ) {

            DialogControlHookupStandard(c_triggerControlTypeLabel, ("UIContainer/ConsoleUIContainer/TutorialReferenceCard/Item" + IntToString(lv_index)));

            libUIUI_gv_tutorialReferenceLabels[lv_index] = DialogControlLastCreated();

        }

    }



    DialogControlSetVisible(libUIUI_gv_tutorialReferencePanel, PlayerGroupAll(), true);

    libNtve_gf_SetDialogItemText(libUIUI_gv_tutorialReferenceLabels[libUIUI_gv_tutorialReferenceCount], lp_item, PlayerGroupAll());

    DialogControlSetVisible(libUIUI_gv_tutorialReferenceLabels[libUIUI_gv_tutorialReferenceCount], PlayerGroupAll(), true);

}



void libUIUI_gf_AddTutorialReferenceItemPreset (int lp_item) {

    // Variable Declarations

    int lv_mouseImgWidth_C;

    int lv_mouseImgHeight_C;



    // Automatic Variable Declarations

    int auto9DB8A3C3_val;



    // Variable Initialization

    lv_mouseImgWidth_C = 26;

    lv_mouseImgHeight_C = 31;



    // Implementation

    auto9DB8A3C3_val = lp_item;

    if (auto9DB8A3C3_val == libUIUI_ge_TutorialReferenceItem_Move) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_7E1E7B39", "A", libStEx_gf_HotkeyProfile_MouseButtonImageStringTag(libStEx_gf_HotkeyProfile_SmartCommandMouseButton(1), lv_mouseImgWidth_C, lv_mouseImgHeight_C));

        libUIUI_gf_AddTutorialReferenceItem(TextExpressionAssemble("Param/Expression/lib_UIUI_7E1E7B39"));

    }

    else if (auto9DB8A3C3_val == libUIUI_ge_TutorialReferenceItem_Attack) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_7CD6357C", "A", StringExternal("Param/Value/lib_UIUI_2356944A"));

        TextExpressionSetToken("Param/Expression/lib_UIUI_7CD6357C", "B", libStEx_gf_HotkeyProfile_MouseButtonImageStringTag(libStEx_ge_MouseButton_LeftButton, lv_mouseImgWidth_C, lv_mouseImgHeight_C));

        libUIUI_gf_AddTutorialReferenceItem(TextExpressionAssemble("Param/Expression/lib_UIUI_7CD6357C"));

    }

    else if (auto9DB8A3C3_val == libUIUI_ge_TutorialReferenceItem_PenetratingRound) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_6560E05F", "A", StringExternal("Param/Value/lib_UIUI_52CD2B75"));

        libUIUI_gf_AddTutorialReferenceItem(TextExpressionAssemble("Param/Expression/lib_UIUI_6560E05F"));

    }

    else if (auto9DB8A3C3_val == libUIUI_ge_TutorialReferenceItem_Inspire) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_8571BA1A", "A", StringExternal("Param/Value/lib_UIUI_F0F020D7"));

        libUIUI_gf_AddTutorialReferenceItem(TextExpressionAssemble("Param/Expression/lib_UIUI_8571BA1A"));

    }

    else if (auto9DB8A3C3_val == libUIUI_ge_TutorialReferenceItem_Camera) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_C184B84B", "A", libStEx_gf_CameraLockHotkeyText());

        libUIUI_gf_AddTutorialReferenceItem(TextExpressionAssemble("Param/Expression/lib_UIUI_C184B84B"));

    }

    else if (auto9DB8A3C3_val == libUIUI_ge_TutorialReferenceItem_Heroic) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_D712BEEB", "A", StringExternal("Param/Value/lib_UIUI_7B4F3BB8"));

        libUIUI_gf_AddTutorialReferenceItem(TextExpressionAssemble("Param/Expression/lib_UIUI_D712BEEB"));

    }

    else if (auto9DB8A3C3_val == libUIUI_ge_TutorialReferenceItem_Mount) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_23046111", "A", StringExternal("Param/Value/lib_UIUI_64032958"));

        libUIUI_gf_AddTutorialReferenceItem(TextExpressionAssemble("Param/Expression/lib_UIUI_23046111"));

    }

    else if (auto9DB8A3C3_val == libUIUI_ge_TutorialReferenceItem_Abilities) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_AE9352C9", "A", StringExternal("Param/Value/lib_UIUI_ABA1EB82"));

        TextExpressionSetToken("Param/Expression/lib_UIUI_AE9352C9", "B", StringExternal("Param/Value/lib_UIUI_28162153"));

        TextExpressionSetToken("Param/Expression/lib_UIUI_AE9352C9", "C", StringExternal("Param/Value/lib_UIUI_07F9491B"));

        TextExpressionSetToken("Param/Expression/lib_UIUI_AE9352C9", "D", StringExternal("Param/Value/lib_UIUI_58C6B4C7"));

        libUIUI_gf_AddTutorialReferenceItem(TextExpressionAssemble("Param/Expression/lib_UIUI_AE9352C9"));

    }

    else if (auto9DB8A3C3_val == libUIUI_ge_TutorialReferenceItem_Hearthstone) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_AF21C256", "A", StringExternal("Param/Value/lib_UIUI_0DA49855"));

        libUIUI_gf_AddTutorialReferenceItem(TextExpressionAssemble("Param/Expression/lib_UIUI_AF21C256"));

    }

    else if (auto9DB8A3C3_val == libUIUI_ge_TutorialReferenceItem_Talents) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_421E2A05", "A", StringExternal("Param/Value/lib_UIUI_BE02DEE1"));

        libUIUI_gf_AddTutorialReferenceItem(TextExpressionAssemble("Param/Expression/lib_UIUI_421E2A05"));

    }

    else {

    }

}



void libUIUI_gf_RemoveTutorialReferenceItem (int lp_index) {

    // Variable Declarations

    int lv_itIndex;



    // Automatic Variable Declarations

    int autoC91B969B_ae;

    const int autoC91B969B_ai = 1;



    // Variable Initialization



    // Implementation

    if (((lp_index == 0) || (lp_index > libUIUI_gv_tutorialReferenceCount) || (libUIUI_gv_tutorialReferencePanel == c_invalidDialogControlId))) {

        return ;

    }



    if ((lp_index < libUIUI_gv_tutorialReferenceCount)) {

        autoC91B969B_ae = (libUIUI_gv_tutorialReferenceCount - 1);

        lv_itIndex = lp_index;

        for ( ; ( (autoC91B969B_ai >= 0 && lv_itIndex <= autoC91B969B_ae) || (autoC91B969B_ai < 0 && lv_itIndex >= autoC91B969B_ae) ) ; lv_itIndex += autoC91B969B_ai ) {

            libNtve_gf_SetDialogItemText(libUIUI_gv_tutorialReferenceLabels[lv_itIndex], libNtve_gf_DialogItemText(libUIUI_gv_tutorialReferenceLabels[(lv_itIndex + 1)], 1), PlayerGroupAll());

        }

    }



    libNtve_gf_SetDialogItemText(libUIUI_gv_tutorialReferenceLabels[libUIUI_gv_tutorialReferenceCount], StringToText(""), PlayerGroupAll());

    DialogControlSetVisible(libUIUI_gv_tutorialReferenceLabels[libUIUI_gv_tutorialReferenceCount], PlayerGroupAll(), false);

    libUIUI_gv_tutorialReferenceCount -= 1;

}



void libUIUI_gf_SetTutorialReferenceItemText (int lp_index, text lp_text) {

    // Automatic Variable Declarations

    // Implementation

    if ((lp_index > libUIUI_gv_tutorialReferenceCount)) {

        return ;

    }



    libNtve_gf_SetDialogItemText(libUIUI_gv_tutorialReferenceLabels[lp_index], lp_text, PlayerGroupAll());

    DialogControlSetVisible(libUIUI_gv_tutorialReferenceLabels[lp_index], PlayerGroupAll(), true);

}



void libUIUI_gf_CreateMapMechanicPickupTextTag (unit lp_unit, text lp_text) {

    // Variable Declarations

    playergroup lv_playerGroup;

    playergroup lv_enemyPlayerGroup;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_playerGroup = PlayerGroupEmpty();

    lv_enemyPlayerGroup = libGame_gf_EnemyPlayerGroupOfPlayer(UnitGetOwner(lp_unit));



    // Implementation

    libNtve_gf_AddPlayerGroupToPlayerGroup(libGame_gf_AlliedPlayerGroupOfPlayer(UnitGetOwner(lp_unit)), lv_playerGroup);

    PlayerGroupAdd(lv_playerGroup, libCore_gv_oBSERVER_ObserverUIPlayer);

    libUIUI_gf_CreateMapMechanicPickupTextTagAtUnit(lp_text, lp_unit, lv_playerGroup);

    libUIUI_gf_CreateMapMechanicPickupTextTagAtUnit(lp_text, lp_unit, lv_enemyPlayerGroup);

}



void libUIUI_gf_CreateMapMechanicPickupTextTagAtUnit (text lp_T, unit lp_unit, playergroup lp_playerGroup) {

    // Automatic Variable Declarations

    // Implementation

    TextTagCreate(lp_T, 24, UnitGetPosition(lp_unit), 1.0, true, true, lp_playerGroup);

    TextTagSetVelocity(TextTagLastCreated(), 1.5, 90.0);

    TextTagSetTime(TextTagLastCreated(), c_textTagTimeDuration, 3.0);

    TextTagSetFogVisibility(TextTagLastCreated(), c_visTypeFog);

}



int libUIUI_gf_UIGetHeroResourceType (string lp_heroUnitType) {

    // Automatic Variable Declarations

    // Implementation

    if (((lp_heroUnitType == "HeroChen") || (lp_heroUnitType == "HeroAuriel") || (lp_heroUnitType == "HeroValeera") || (lp_heroUnitType == "HeroMedic"))) {

        return libUIUI_ge_UIHeroResourceType_Yellow;

    }

    else if (((lp_heroUnitType == "HeroBarbarian") || (lp_heroUnitType == "HeroTinker"))) {

        return libUIUI_ge_UIHeroResourceType_Orange;

    }

    else if (((lp_heroUnitType == "HeroDeathwing"))) {

        return libUIUI_ge_UIHeroResourceType_Breath;

    }

    else if (((lp_heroUnitType == "HeroHogger"))) {

        return libUIUI_ge_UIHeroResourceType_Rage;

    }

    else if (((lp_heroUnitType == "HeroZarya") || (lp_heroUnitType == "VolskayaVehicleGunner"))) {

        return libUIUI_ge_UIHeroResourceType_Pink;

    }

    else if (((lp_heroUnitType == "HeroProbius"))) {

        return libUIUI_ge_UIHeroResourceType_Blinking;

    }

    else if (((lp_heroUnitType == "HeroTracer") || (lp_heroUnitType == "HeroIllidan") || (lp_heroUnitType == "HeroJunkrat") || (lp_heroUnitType == "HeroMurky") || (lp_heroUnitType == "HeroCho") || (lp_heroUnitType == "HeroGall") || (lp_heroUnitType == "HeroSamuro") || (lp_heroUnitType == "HeroAbathur") || (lp_heroUnitType == "HeroDVaPilot") || (lp_heroUnitType == "HeroDVaMech") || (lp_heroUnitType == "VolskayaVehicle"))) {

        return libUIUI_ge_UIHeroResourceType_None;

    }

    else if (((lp_heroUnitType == "HeroFenix"))) {

        return libUIUI_ge_UIHeroResourceType_NoShields;

    }

    return libUIUI_ge_UIHeroResourceType_Blue;

}



int libUIUI_gf_UIGetHeroResourceTypeForPartyFrame (string lp_heroUnitType) {

    // Automatic Variable Declarations

    // Implementation

    if (((lp_heroUnitType == "HeroChen") || (lp_heroUnitType == "HeroAuriel") || (lp_heroUnitType == "HeroValeera") || (lp_heroUnitType == "HeroMedic"))) {

        return libUIUI_ge_UIHeroResourceType_Yellow;

    }

    else if (((lp_heroUnitType == "HeroBarbarian") || (lp_heroUnitType == "HeroTinker"))) {

        return libUIUI_ge_UIHeroResourceType_Orange;

    }

    else if (((lp_heroUnitType == "HeroDVaPilot") || (lp_heroUnitType == "HeroDVaMech") || (lp_heroUnitType == "HeroZarya"))) {

        return libUIUI_ge_UIHeroResourceType_Pink;

    }

    else if (((lp_heroUnitType == "HeroProbius"))) {

        return libUIUI_ge_UIHeroResourceType_Blinking;

    }

    else if (((lp_heroUnitType == "HeroDeathwing"))) {

        return libUIUI_ge_UIHeroResourceType_Breath;

    }

    else if (((lp_heroUnitType == "HeroHogger"))) {

        return libUIUI_ge_UIHeroResourceType_Rage;

    }

    else if (((lp_heroUnitType == "HeroTracer") || (lp_heroUnitType == "HeroIllidan") || (lp_heroUnitType == "HeroJunkrat") || (lp_heroUnitType == "HeroMurky") || (lp_heroUnitType == "HeroCho") || (lp_heroUnitType == "HeroGall") || (lp_heroUnitType == "HeroSamuro") || (lp_heroUnitType == "HeroAbathur"))) {

        return libUIUI_ge_UIHeroResourceType_None;

    }

    else if (((lp_heroUnitType == "HeroFenix"))) {

        return libUIUI_ge_UIHeroResourceType_NoShields;

    }

    return libUIUI_ge_UIHeroResourceType_Blue;

}



// Triggers

//--------------------------------------------------------------------------------------------------

// Trigger: #Include UI

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_IncludeUI_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_IncludeUI_Init () {

    libUIUI_gt_IncludeUI = TriggerCreate("libUIUI_gt_IncludeUI_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Initialize UI

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_InitializeUI_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itPlayer;



    // Automatic Variable Declarations

    const int autoB26F30E4_ae = 15;

    const int autoB26F30E4_ai = 1;

    playergroup autoF5CB0BEB_g;

    playergroup autoE37598EE_g;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeSupply, false);

    UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeAllianceButton, false);

    UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeResourcePanel, false);

    UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeControlGroupPanel, false);

    UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeIdleWorkerButton, false);

    UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeArmyButton, false);

    UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeHeroPanel, false);

    UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeInfoPanel, false);

    UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeMissionTimePanel, false);

    UISetFrameVisible(PlayerGroupAll(), c_syncFrameTypeLeaderPanel, false);

    UISetBattleNetButtonOffset(PlayerGroupAll(), 280, 0);

    UISetDragSelectEnabled(PlayerGroupAll(), false);

    UISetSelectionTypeEnabled(PlayerGroupAll(), c_localSelectionTypeUnknown, false);

    UISetSelectionTypeEnabled(PlayerGroupAll(), c_localSelectionTypeWorldPanelHero, true);

    PingSetPlayerPingsShown(libCore_gv_activeHumanPlayers, false);

    UISetGameMenuItemVisible(PlayerGroupAll(), c_gameMenuDialogRestartButton, false);

    UISetGameMenuItemVisible(PlayerGroupAll(), c_gameMenuDialogSaveButton, false);

    UISetGameMenuItemVisible(PlayerGroupAll(), c_gameMenuDialogLoadButton, false);

    UISetGameMenuItemVisible(PlayerGroupAll(), c_gameMenuDialogReturnToGameplayButton, true);

    UISetGameMenuItemVisible(PlayerGroupAll(), c_gameMenuDialogMessageLogButton, false);

    UISetGameMenuItemVisible(PlayerGroupAll(), c_gameMenuDialogAchievementsButton, false);

    libNtve_gf_AddRemoveUIFrameTypeForGlobalFilterList(true, c_syncFrameTypeCommandPanel);

    UIClearCustomMenuItemList(PlayerGroupAll());

    UISetCustomMenuItemVisible(PlayerGroupAll(), c_gameMenuDialogOptionsButton, true);

    if ((PlayerGroupCount(libCore_gv_activeHumanPlayers) > 1)) {

        UISetCustomMenuItemVisible(PlayerGroupAll(), c_gameMenuDialogExitButton, true);

    }

    else {

        UISetCustomMenuItemVisible(PlayerGroupAll(), c_gameMenuDialogQuitButton, true);

    }

    UISetCustomMenuItemVisible(PlayerGroupAll(), c_gameMenuDialogReturnToGameplayButton, true);

    UISetCustomMenuItemVisible(PlayerGroupAll(), c_gameMenuDialogMessageLogButton, false);

    UISetCustomMenuItemVisible(PlayerGroupAll(), c_gameMenuDialogAchievementsButton, false);

    TriggerExecute(libUIUI_gt_UIInitializeGameUIHandles, true, true);

    TriggerExecute(libUIUI_gt_NotificationDisplayInitialize, true, true);

    TriggerExecute(libUIUI_gt_UIInitializeHeroConsole, true, true);

    TriggerExecute(libUIUI_gt_UIInitializeDamageFlashUI, true, true);

    TriggerExecute(libUIUI_gt_FullscreenOverlaysInitialize, true, true);

    TriggerExecute(libUIUI_gt_FullscreenOverlaysInitializeRework, true, true);

    TriggerExecute(libUIUI_gt_CargoOverlayInitiliaze, true, true);

    TriggerExecute(libUIUI_gt_VignetteOverlayInitialize, true, true);

    TriggerExecute(libUIUI_gt_HeroConsoleUnitStatusBarsInitialize, true, true);

    TriggerExecute(libUIUI_gt_UIInitializeTargetingHelperPanel, true, true);

    TriggerExecute(libUIUI_gt_DeathRecapPanelInitialize, true, true);

    TriggerExecute(libUIUI_gt_UIEndofMatchAwardsPanelInitialize, true, true);

    TriggerExecute(libUIUI_gt_UIInitializeObserverUI, true, true);

    TriggerExecute(libUIUI_gt_UIInitializeHeroTrackerArrow, true, true);

    TriggerExecute(libUIUI_gt_UIInitializeDebugPanel, true, true);

    TriggerExecute(libUIUI_gt_UIInitializeHealingFountainsHelpText, true, true);

    TriggerExecute(libUIUI_gt_GameOverSplashInitialize, true, true);

    TriggerExecute(libUIUI_gt_UIInitializePartyFrameUI, true, true);

    TriggerExecute(libUIUI_gt_MapMechanicsPanelInitialize, true, true);

    TriggerExecute(libUIUI_gt_MapMechanicHelpPanelInitialize, true, true);

    TriggerExecute(libUIUI_gt_HeroSpecificStatusContainerInitialize, true, true);

    TriggerExecute(libUIUI_gt_FullscreenStatusPanelInitialize, true, true);

    TriggerExecute(libUIUI_gt_UIInitializeTabScreenPanel, true, true);

    TriggerExecute(libUIUI_gt_KillLogInitialize, true, true);

    TriggerExecute(libGDHL_gt_LeoricUIInitialize, true, true);

    TriggerExecute(libGDHL_gt_MedicUIInitialize, true, true);

    TriggerExecute(libUIUI_gt_InitializeBaseModPingData, true, true);

    lv_itPlayer = 0;

    for ( ; ( (autoB26F30E4_ai >= 0 && lv_itPlayer <= autoB26F30E4_ae) || (autoB26F30E4_ai < 0 && lv_itPlayer >= autoB26F30E4_ae) ) ; lv_itPlayer += autoB26F30E4_ai ) {

        PlayerSetState(lv_itPlayer, c_playerStateShowWorldTip, false);

    }

    libUIUI_gf_UIHeroConsoleShowHideForPlayer(false, libCore_gv_oBSERVER_ObserverUIPlayer);

    autoF5CB0BEB_g = libCore_gv_nPCPlayers;

    lv_itPlayer = -1;

    while (true) {

        	lv_itPlayer = PlayerGroupNextPlayer(autoF5CB0BEB_g, lv_itPlayer);

        	if (lv_itPlayer<0) { break; }

        	libUIUI_gf_UIHeroConsoleShowHideForPlayer(false, lv_itPlayer);

    }

    autoE37598EE_g = PlayerGroupAll();

    lv_itPlayer = -1;

    while (true) {

        	lv_itPlayer = PlayerGroupNextPlayer(autoE37598EE_g, lv_itPlayer);

        	if (lv_itPlayer<0) { break; }

        	libUIUI_gf_UIGameUIShowHideConsolePanelForPlayer(false, lv_itPlayer);

    }

    libUIUI_gf_UIGameUIShowHideConsolePanelForPlayer(true, libCore_gv_oBSERVER_ObserverUIPlayer);

    TriggerExecute(libUIUI_gt_UIDebugInitandHideErrorWarning, true, true);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_InitializeUI_Init () {

    libUIUI_gt_InitializeUI = TriggerCreate("libUIUI_gt_InitializeUI_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Update Time Labels Timer Expires

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIUpdateTimeLabelsTimerExpires_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libGame_gv_gameOver == false))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gf_UIUpdateTimeLabels();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIUpdateTimeLabelsTimerExpires_Init () {

    libUIUI_gt_UIUpdateTimeLabelsTimerExpires = TriggerCreate("libUIUI_gt_UIUpdateTimeLabelsTimerExpires_Func");

    TriggerAddEventTimer(libUIUI_gt_UIUpdateTimeLabelsTimerExpires, libUIUI_gv_uITimeLabelUpdateTimer);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug - Init and Hide Error Warning

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugInitandHideErrorWarning_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypeImage, "UIContainer/FullscreenUpperContainer/DebugDataErrorMessage");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugInitandHideErrorWarning_Init () {

    libUIUI_gt_UIDebugInitandHideErrorWarning = TriggerCreate("libUIUI_gt_UIDebugInitandHideErrorWarning_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - DEBUG - Show Boost FX

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDEBUGShowBoostFX_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itPlayer;



    // Automatic Variable Declarations

    int autoF880E1CE_ae;



    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    autoF880E1CE_ae = libCore_gv_bALMaxPlayers;

    lv_itPlayer = 1;

    for ( ; lv_itPlayer <= autoF880E1CE_ae ; lv_itPlayer += 1 ) {

        libUIUI_gf_UIDEBUGBoostsInitializeBoostFXforPlayers(lv_itPlayer);

    }

    libUIUI_gf_UIBoostsShowBoostFXFrames();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDEBUGShowBoostFX_Init () {

    libUIUI_gt_UIDEBUGShowBoostFX = TriggerCreate("libUIUI_gt_UIDEBUGShowBoostFX_Func");

    TriggerAddEventChatMessage(libUIUI_gt_UIDEBUGShowBoostFX, c_playerAny, "DebugBoostFX", true);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Boosts - Show Boost FX

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIBoostsShowBoostFX_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itPlayer;



    // Automatic Variable Declarations

    const int auto424D09CF_ae = libCore_gv_bALMaxPlayers;

    const int auto424D09CF_ai = 1;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    Wait(4.0, c_timeGame);

    lv_itPlayer = 1;

    for ( ; ( (auto424D09CF_ai >= 0 && lv_itPlayer <= auto424D09CF_ae) || (auto424D09CF_ai < 0 && lv_itPlayer >= auto424D09CF_ae) ) ; lv_itPlayer += auto424D09CF_ai ) {

        libUIUI_gf_UIBoostsInitializeBoostFXforPlayers(lv_itPlayer);

    }

    libUIUI_gf_UIBoostsShowBoostFXFrames();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIBoostsShowBoostFX_Init () {

    libUIUI_gt_UIBoostsShowBoostFX = TriggerCreate("libUIUI_gt_UIBoostsShowBoostFX_Func");

    libGame_gf_GameOpenTimerStarted(libUIUI_gt_UIBoostsShowBoostFX);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Initialize Damage Flash UI

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIInitializeDamageFlashUI_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int[6] lv_panels;

    int lv_currentPanelLayer;



    // Automatic Variable Declarations

    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenUpperContainer/DamageOverlayImagesPanel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

    DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_cOMPUTER_TeamOrder], false);

    DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_cOMPUTER_TeamChaos], false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_uIDamageFlashUI.lv_mainDialog = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "LightDamageSplash");

    DialogControlFadeTransparency(DialogControlLastCreated(), PlayerGroupAll(), 0.0, 100.0);

    libUIUI_gv_uIDamageFlashUI.lv_lightSplashImage = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "IntenseSplash");

    DialogControlFadeTransparency(DialogControlLastCreated(), PlayerGroupAll(), 0.0, 100.0);

    libUIUI_gv_uIDamageFlashUI.lv_intenseSplashImage = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "PersistentLowHealthSplash");

    DialogControlFadeTransparency(DialogControlLastCreated(), PlayerGroupAll(), 0.0, 100.0);

    libUIUI_gv_uIDamageFlashUI.lv_lowHealthPersistentImage = DialogControlLastCreated();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIInitializeDamageFlashUI_Init () {

    libUIUI_gt_UIInitializeDamageFlashUI = TriggerCreate("libUIUI_gt_UIInitializeDamageFlashUI_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Damage Flash - Trigger Damage Flash

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDamageFlashTriggerDamageFlash_Func (bool testConds, bool runActions) {

    // Variable Declarations

    fixed lv_currentHP;

    fixed lv_damagePercentage;

    fixed lv_flashOpacity;

    fixed lv_fadeTime;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_flashOpacity = 100.0;

    lv_fadeTime = 0.625;



    // Conditions

    if (testConds) {

        if (!((libGame_gv_gameOver == false))) {

            return false;

        }



        if (!((EventPlayer() > 0))) {

            return false;

        }



        if (!((EventUnitDamageAttempted() > 0))) {

            return false;

        }



        if (!((EventPlayer() <= libCore_gv_bALMaxPlayers))) {

            return false;

        }



        if (!((EventUnit() == libGame_gv_players[UnitGetOwner(EventUnit())].lv_heroUnit))) {

            return false;

        }



        if (!((libGame_gv_players[EventPlayer()].lv_activeVehicle == null))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_currentHP = (UnitGetPropertyFixed(EventUnit(), c_unitPropLife, c_unitPropCurrent) + UnitGetPropertyFixed(EventUnit(), c_unitPropShields, c_unitPropCurrent));

    lv_currentHP += 1.0;

    lv_damagePercentage = (EventUnitDamageAmount() / lv_currentHP);

    if ((UnitHasBehavior2(EventUnit(), "SymbioteCasterDummyBehavior") == true)) {

        lv_flashOpacity -= 100.0;

        DialogControlFadeTransparency(libUIUI_gv_uIDamageFlashUI.lv_intenseSplashImage, PlayerGroupSingle(EventPlayer()), 0.0, lv_flashOpacity);

        DialogControlFadeTransparency(libUIUI_gv_uIDamageFlashUI.lv_intenseSplashImage, PlayerGroupSingle(EventPlayer()), lv_fadeTime, 100.0);

    }

    else {

        if ((UnitGetPropertyFixed(EventUnit(), c_unitPropLifePercent, c_unitPropCurrent) > libUIUI_gv_uIDamageFlashLowHPThreshold)) {

            if ((lv_damagePercentage >= 0.1)) {

                lv_flashOpacity -= 30.0;

            }



            if ((lv_damagePercentage >= 0.25)) {

                lv_flashOpacity -= 40.0;

                lv_fadeTime += 0.125;

            }



            if ((lv_damagePercentage >= 0.35)) {

                lv_flashOpacity -= 30.0;

                lv_fadeTime += 0.25;

            }



            DialogControlFadeTransparency(libUIUI_gv_uIDamageFlashUI.lv_lightSplashImage, PlayerGroupSingle(EventPlayer()), 0.0, lv_flashOpacity);

            DialogControlFadeTransparency(libUIUI_gv_uIDamageFlashUI.lv_lightSplashImage, PlayerGroupSingle(EventPlayer()), lv_fadeTime, 100.0);

        }

        else {

            libUIUI_gf_UIDamageFlashStartLowHPSoundAndScreenEffects(EventPlayer());

            if ((lv_damagePercentage >= 0.05)) {

                lv_flashOpacity -= 30.0;

                if ((lv_damagePercentage >= 0.1)) {

                    lv_flashOpacity -= 40.0;

                    lv_fadeTime += 0.125;

                }



                if ((lv_damagePercentage >= 0.2)) {

                    lv_flashOpacity -= 30.0;

                    lv_fadeTime += 0.25;

                }



                DialogControlFadeTransparency(libUIUI_gv_uIDamageFlashUI.lv_intenseSplashImage, PlayerGroupSingle(EventPlayer()), 0.0, lv_flashOpacity);

                DialogControlFadeTransparency(libUIUI_gv_uIDamageFlashUI.lv_intenseSplashImage, PlayerGroupSingle(EventPlayer()), lv_fadeTime, 100.0);

            }

            else {

                lv_flashOpacity -= 60.0;

                DialogControlFadeTransparency(libUIUI_gv_uIDamageFlashUI.lv_lightSplashImage, libCore_gv_playerGroupFromPlayer[EventPlayer()], 0.0, lv_flashOpacity);

                DialogControlFadeTransparency(libUIUI_gv_uIDamageFlashUI.lv_lightSplashImage, libCore_gv_playerGroupFromPlayer[EventPlayer()], lv_fadeTime, 100.0);

            }

        }

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDamageFlashTriggerDamageFlash_Init () {

    libUIUI_gt_UIDamageFlashTriggerDamageFlash = TriggerCreate("libUIUI_gt_UIDamageFlashTriggerDamageFlash_Func");

    TriggerAddEventUnitDamaged(libUIUI_gt_UIDamageFlashTriggerDamageFlash, null, c_unitDamageTypeAny, c_unitDamageEither, null);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Damage Flash - Low HP Sounds Looper

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDamageFlashLowHPSoundsLooper_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_i;

    bool lv_triggerInUse;



    // Automatic Variable Declarations

    const int auto1DC59C8C_ae = libCore_gv_bALMaxPlayers;

    const int auto1DC59C8C_ai = 1;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    lv_i = 1;

    for ( ; ( (auto1DC59C8C_ai >= 0 && lv_i <= auto1DC59C8C_ae) || (auto1DC59C8C_ai < 0 && lv_i >= auto1DC59C8C_ae) ) ; lv_i += auto1DC59C8C_ai ) {

        if ((libGame_gv_players[lv_i].lv_lowHPSoundPlaying == true)) {

            if (((libGame_gv_gameOver == true) || (UnitGetPropertyFixed(libGame_gv_players[lv_i].lv_heroUnit, c_unitPropLifePercent, c_unitPropCurrent) > libUIUI_gv_uIDamageFlashLowHPThreshold))) {

                libUIUI_gf_UIDamageFlashStopLowHPSoundAndScreenEffects(lv_i);

            }

            else {

                lv_triggerInUse = true;

            }

        }



    }

    if ((lv_triggerInUse == false)) {

        TriggerEnable(TriggerGetCurrent(), false);

    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDamageFlashLowHPSoundsLooper_Init () {

    libUIUI_gt_UIDamageFlashLowHPSoundsLooper = TriggerCreate("libUIUI_gt_UIDamageFlashLowHPSoundsLooper_Func");

    TriggerEnable(libUIUI_gt_UIDamageFlashLowHPSoundsLooper, false);

    TriggerAddEventTimePeriodic(libUIUI_gt_UIDamageFlashLowHPSoundsLooper, 0.25, c_timeGame);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Death Recap Panel Initialize

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_DeathRecapPanelInitialize_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int lv_itTimeZone;

    int lv_itMaxDamager;

    int lv_itMaxDamagerAbilities;

    int[6] lv_panels;

    int lv_currentPanelLayer;



    // Automatic Variable Declarations

    const int auto5356343C_ae = libGame_gv_deathRecap_MaxMaxDamagers_C;

    const int auto5356343C_ai = 1;

    const int auto616B15D7_ae = libGame_gv_deathRecap_MaxMaxDamageAbils_C;

    const int auto616B15D7_ai = 1;

    const int autoBF397E47_ae = libGame_gv_deathRecap_MaxEffectBars_C;

    const int autoBF397E47_ai = 1;



    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookup(libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarParentFrame, c_triggerControlTypeButton, "DeathRecapButton");

    libUIUI_gv_deathRecap_Panel.lv_openDeathRecapButton = DialogControlLastCreated();

    DialogControlHookupStandard(c_triggerControlTypeButton, "UIContainer\\FullscreenUpperContainer\\HeroLeaderPanel\\HeroLeaderPanelContainer\\TabControl\\ShowDeathRecapButton");

    libUIUI_gv_deathRecap_Panel.lv_tabScreenButton = DialogControlLastCreated();

    DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);

    if ((libCore_gv_dEBUGDeathRecapEnabled == false)) {

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenUpperContainer/HeroLeaderPanel/HeroLeaderPanelContainer/TabControl/DeathRecapContainerFrame/DeathRecapPanel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_deathRecap_Panel.lv_mainPanel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "GraphLabel");

    libUIUI_gv_deathRecap_Panel.lv_mainGraphLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HighestDamagersPanel");

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_deathRecap_Panel.lv_highestDamagersPanel = DialogControlLastCreated();

    lv_itMaxDamager = 1;

    for ( ; ( (auto5356343C_ai >= 0 && lv_itMaxDamager <= auto5356343C_ae) || (auto5356343C_ai < 0 && lv_itMaxDamager >= auto5356343C_ae) ) ; lv_itMaxDamager += auto5356343C_ai ) {

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HighestDamage" + IntToString(lv_itMaxDamager) + "/HighestDamagerPortraitBackgroundImage/HighestDamagerPortrait");

        libUIUI_gv_deathRecap_Panel.lv_highestDamagersImages[lv_itMaxDamager] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeProgressBar, "HighestDamage" + IntToString(lv_itMaxDamager) + "/HighestDamagerPortraitBackgroundImage/HighestDamagerPercentProgressBar");

        libUIUI_gv_deathRecap_Panel.lv_highestDamagersProgressBars[lv_itMaxDamager] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "HighestDamage" + IntToString(lv_itMaxDamager) + "/HighestDamagerAmountLabel");

        libUIUI_gv_deathRecap_Panel.lv_highestDamagersAmountLabels[lv_itMaxDamager] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "HighestDamage" + IntToString(lv_itMaxDamager) + "/HighestDamagerHeroNameLabel");

        libUIUI_gv_deathRecap_Panel.lv_highestDamagersHeroNameLabels[lv_itMaxDamager] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "HighestDamage" + IntToString(lv_itMaxDamager) + "/HighestDamagerPlayerNameLabel");

        libUIUI_gv_deathRecap_Panel.lv_highestDamagersPlayerNameLabels[lv_itMaxDamager] = DialogControlLastCreated();

        lv_itMaxDamagerAbilities = 1;

        for ( ; ( (auto616B15D7_ai >= 0 && lv_itMaxDamagerAbilities <= auto616B15D7_ae) || (auto616B15D7_ai < 0 && lv_itMaxDamagerAbilities >= auto616B15D7_ae) ) ; lv_itMaxDamagerAbilities += auto616B15D7_ai ) {

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HighestDamage" +IntToString(lv_itMaxDamager) + "/HighestDamagerAbilityFrame" + IntToString(lv_itMaxDamagerAbilities));

            lv_currentPanelLayer += 1;

            lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

            libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilityFrame[lv_itMaxDamager][lv_itMaxDamagerAbilities] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "AbilityImage");

            libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilityBars[lv_itMaxDamager][lv_itMaxDamagerAbilities] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "AbilityImage/AbilityProgressBar");

            libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilityBarProgressBars[lv_itMaxDamager][lv_itMaxDamagerAbilities] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "AbilityLabel");

            libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilityLabels[lv_itMaxDamager][lv_itMaxDamagerAbilities] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "AbilityAmount");

            libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilAmountLabels[lv_itMaxDamager][lv_itMaxDamagerAbilities] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "AbilityTooltip");

            libUIUI_gv_deathRecap_Panel.lv_highestDamagersAbilityBarTooltips[lv_itMaxDamager][lv_itMaxDamagerAbilities] = DialogControlLastCreated();

            lv_currentPanelLayer -= 1;

        }

    }

    lv_currentPanelLayer -= 1;

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "AbilitiesPanel");

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_deathRecap_Panel.lv_abilitiesPanel = DialogControlLastCreated();

    lv_itTimeZone = 0;

    lv_itTimeZone = 1;

    for ( ; ( (autoBF397E47_ai >= 0 && lv_itTimeZone <= autoBF397E47_ae) || (autoBF397E47_ai < 0 && lv_itTimeZone >= autoBF397E47_ae) ) ; lv_itTimeZone += autoBF397E47_ai ) {

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "AbilityTimeZone" + IntToString(lv_itTimeZone));

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelTimeZone[lv_itTimeZone] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "AbilityTimeZone" + IntToString(lv_itTimeZone) + "/DamageChunk");

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelDamageBars[lv_itTimeZone] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "AbilityTimeZone" + IntToString(lv_itTimeZone) + "/HealingChunk");

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealingBars[lv_itTimeZone] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "AbilityTimeZone" + IntToString(lv_itTimeZone) + "/HealthChunk");

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealthBars[lv_itTimeZone] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "AbilityTimeZone" + IntToString(lv_itTimeZone) + "/AbilityIcon");

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealthBarIcons[lv_itTimeZone] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "AbilityTimeZone" + IntToString(lv_itTimeZone) + "/AbilityIconBorder");

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealthBarIconBorders[lv_itTimeZone] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "AbilityTimeZone" + IntToString(lv_itTimeZone) + "/EventCountLabel");

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelEventCountLabels[lv_itTimeZone] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "AbilityTimeZone" + IntToString(lv_itTimeZone) + "/TimeLabel");

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHealthBarTimeLabels[lv_itTimeZone] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "AbilityTimeZone" + IntToString(lv_itTimeZone) + "/HeroImageChunkContainer/HeroImageChunk");

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelHeroImages[lv_itTimeZone] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "AbilityTimeZone" + IntToString(lv_itTimeZone) + "/TooltipFrame/BarGraphTooltipFrame");

        libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelTooltipFrame[lv_itTimeZone] = DialogControlLastCreated();

    }

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "GraphTopLabel");

    libUIUI_gv_deathRecap_Panel.lv_abilitiesPanelStartingHealthLabels = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "XPValueLabel");

    libUIUI_gv_deathRecap_Panel.lv_xpValueLabel = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_DeathRecapPanelInitialize_Init () {

    libUIUI_gt_DeathRecapPanelInitialize = TriggerCreate("libUIUI_gt_DeathRecapPanelInitialize_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Death Recap Open Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_DeathRecapOpenButtonClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((EventDialogControl() == libUIUI_gv_deathRecap_Panel.lv_openDeathRecapButton))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gf_DeathRecapShowHideToastButtonForPlayer(false, EventPlayer());

    DialogControlSendAnimationEvent(libUIUI_gv_uITabScreenPanel.lv_tabControl, libCore_gv_playerGroupFromPlayer[EventPlayer()], "SetSelectedIndex_2");

    DialogControlSendAnimationEvent(libUIUI_gv_uITabScreenPanel.lv_mainPanel, libCore_gv_playerGroupFromPlayer[EventPlayer()], "Show");

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_DeathRecapOpenButtonClicked_Init () {

    libUIUI_gt_DeathRecapOpenButtonClicked = TriggerCreate("libUIUI_gt_DeathRecapOpenButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_DeathRecapOpenButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: DEBUG - Effect History Test

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_DEBUGEffectHistoryTest_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itEntry;

    unit lv_unit;

    effecthistory lv_history;

    int lv_count;

    string lv_dataAbility;

    string lv_dataBehavior;

    fixed lv_dataAmount;

    fixed lv_dataAmountAttempted;

    fixed lv_dataAmountShielded;

    int lv_dataAmountInt;

    string lv_dataEffectRoot;

    string lv_dataEffectCurrent;

    fixed lv_dataTime;

    int lv_dataType;

    unit lv_dataUnit;

    string lv_dataWeapon;



    // Automatic Variable Declarations

    int autoAAD5E102_ae;

    const int autoAAD5E102_ai = 1;



    // Variable Initialization

    lv_dataType = c_effectHistoryDamage;



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_unit = UnitGroupUnit(UnitGroupSelected(1), 1);

    lv_history = UnitEffectHistory(lv_unit, 0);

    lv_count = EffectHistoryCount(lv_history);

    TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_983E27A4"), true);

    TriggerDebugOutput(1, UnitTypeGetName(UnitGetType(lv_unit)), true);

    autoAAD5E102_ae = lv_count;

    lv_itEntry = 1;

    for ( ; ( (autoAAD5E102_ai >= 0 && lv_itEntry <= autoAAD5E102_ae) || (autoAAD5E102_ai < 0 && lv_itEntry >= autoAAD5E102_ae) ) ; lv_itEntry += autoAAD5E102_ai ) {

        lv_dataAbility = EffectHistoryGetAbil(lv_history, lv_itEntry);

        lv_dataBehavior = EffectHistoryGetSourceBehavior(lv_history, lv_itEntry);

        lv_dataAmount = EffectHistoryGetAmountFixed(lv_history, lv_itEntry, c_effectAmountDamaged, false);

        lv_dataAmountAttempted = EffectHistoryGetAmountFixed(lv_history, lv_itEntry, c_effectAmountDamageAttempted, false);

        lv_dataAmountShielded = EffectHistoryGetAmountFixed(lv_history, lv_itEntry, c_effectAmountBehaviorShield, false);

        lv_dataAmountInt = EffectHistoryGetAmountInt(lv_history, lv_itEntry, c_effectAmountDamaged, true);

        lv_dataEffectRoot = EffectHistoryGetEffect(lv_history, lv_itEntry, c_effectHistoryEffectRoot);

        lv_dataEffectCurrent = EffectHistoryGetEffect(lv_history, lv_itEntry, c_effectHistoryEffectCurrent);

        lv_dataTime = EffectHistoryGetTime(lv_history, lv_itEntry);

        lv_dataType = EffectHistoryGetType(lv_history, lv_itEntry);

        lv_dataUnit = EffectHistoryGetUnitByLocation(lv_history, lv_itEntry, c_effectUnitCaster);

        lv_dataWeapon = EffectHistoryGetWeapon(lv_history, lv_itEntry);

        TextExpressionSetToken("Param/Expression/lib_UIUI_199067E4", "A", IntToText(lv_itEntry));

        TextExpressionSetToken("Param/Expression/lib_UIUI_199067E4", "D", StringToText((lv_dataEffectCurrent)));

        TextExpressionSetToken("Param/Expression/lib_UIUI_199067E4", "C", FixedToText(lv_dataAmount, 2));

        TextExpressionSetToken("Param/Expression/lib_UIUI_199067E4", "G", FixedToText(lv_dataAmountAttempted, 2));

        TextExpressionSetToken("Param/Expression/lib_UIUI_199067E4", "I", FixedToText(lv_dataAmountShielded, c_fixedPrecisionAny));

        TextExpressionSetToken("Param/Expression/lib_UIUI_199067E4", "E", FixedToText(lv_dataTime, 2));

        TextExpressionSetToken("Param/Expression/lib_UIUI_199067E4", "B", StringToText((lv_dataAbility)));

        TextExpressionSetToken("Param/Expression/lib_UIUI_199067E4", "F", StringToText((lv_dataWeapon)));

        TextExpressionSetToken("Param/Expression/lib_UIUI_199067E4", "H", StringToText((lv_dataBehavior)));

        TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_199067E4"), true);

    }

    TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_88DA049B"), true);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_DEBUGEffectHistoryTest_Init () {

    libUIUI_gt_DEBUGEffectHistoryTest = TriggerCreate("libUIUI_gt_DEBUGEffectHistoryTest_Func");

    TriggerAddEventChatMessage(libUIUI_gt_DEBUGEffectHistoryTest, c_playerAny, "test", true);

}



//--------------------------------------------------------------------------------------------------

// Trigger: DEBUG - Death Recap Populate Test

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_DEBUGDeathRecapPopulateTest_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_populatePlayer;

    int lv_populateUnitOwner;

    unit lv_populateUnit;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_populatePlayer = EventPlayer();



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_populateUnit = UnitGroupUnit(UnitGroupSelected(lv_populatePlayer), 1);

    lv_populateUnitOwner = UnitGetOwner(lv_populateUnit);

    if ((lv_populateUnitOwner > 0) && (lv_populateUnitOwner <= libCore_gv_bALMaxPlayers)) {

        libGame_gf_DeathRecapPopulateDeathRecapDataForPlayer(lv_populateUnit, lv_populatePlayer);

        libUIUI_gf_DeathRecapShowHideForPlayer(true, lv_populatePlayer);

    }

    else {

        TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_24884AE4"), true);

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_DEBUGDeathRecapPopulateTest_Init () {

    libUIUI_gt_DEBUGDeathRecapPopulateTest = TriggerCreate("libUIUI_gt_DEBUGDeathRecapPopulateTest_Func");

    TriggerAddEventChatMessage(libUIUI_gt_DEBUGDeathRecapPopulateTest, c_playerAny, "recapnow", true);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Death Timer Panel Initialize

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_DeathTimerPanelInitialize_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int lv_itTeam;

    int lv_itPlayer;

    int[6] lv_panels;

    int lv_currentPanelLayer;

    int lv_enemyTeam;

    int lv_eventFrame;



    // Automatic Variable Declarations

    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }

    lv_eventFrame = c_invalidDialogControlId;



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_DeathTimerPanelInitialize_Init () {

    libUIUI_gt_DeathTimerPanelInitialize = TriggerCreate("libUIUI_gt_DeathTimerPanelInitialize_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Death Announcement Panel Visible Timer Expires

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_DeathAnnouncementPanelVisibleTimerExpires_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itTeam;

    int lv_itSlot;

    int lv_triggeringTimerTeam;

    int lv_triggeringTimerSlot;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((libGame_gv_gameOver == false))) {

            return false;

        }

    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_DeathAnnouncementPanelVisibleTimerExpires_Init () {

    libUIUI_gt_DeathAnnouncementPanelVisibleTimerExpires = TriggerCreate("libUIUI_gt_DeathAnnouncementPanelVisibleTimerExpires_Func");

    TriggerEnable(libUIUI_gt_DeathAnnouncementPanelVisibleTimerExpires, false);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Death Timer Panel Death Timer Frame Mouse Enter

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_DeathTimerPanelDeathTimerFrameMouseEnter_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itTeam;

    int lv_itFrameIndex;

    int lv_team;

    int lv_frameIndex;

    int lv_group;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((libGame_gv_gameOver == false))) {

            return false;

        }

    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_DeathTimerPanelDeathTimerFrameMouseEnter_Init () {

    libUIUI_gt_DeathTimerPanelDeathTimerFrameMouseEnter = TriggerCreate("libUIUI_gt_DeathTimerPanelDeathTimerFrameMouseEnter_Func");

    TriggerEnable(libUIUI_gt_DeathTimerPanelDeathTimerFrameMouseEnter, false);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Death Timer Panel Death Timer Frame Mouse Exit

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_DeathTimerPanelDeathTimerFrameMouseExit_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itTeam;

    int lv_itFrameIndex;

    int lv_team;

    int lv_frameIndex;

    int lv_group;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((libGame_gv_gameOver == false))) {

            return false;

        }

    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_DeathTimerPanelDeathTimerFrameMouseExit_Init () {

    libUIUI_gt_DeathTimerPanelDeathTimerFrameMouseExit = TriggerCreate("libUIUI_gt_DeathTimerPanelDeathTimerFrameMouseExit_Func");

    TriggerEnable(libUIUI_gt_DeathTimerPanelDeathTimerFrameMouseExit, false);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Death Timer Panel Update

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_DeathTimerPanelUpdate_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itTeam;



    // Automatic Variable Declarations

    // Variable Initialization



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_DeathTimerPanelUpdate_Init () {

    libUIUI_gt_DeathTimerPanelUpdate = TriggerCreate("libUIUI_gt_DeathTimerPanelUpdate_Func");

    TriggerEnable(libUIUI_gt_DeathTimerPanelUpdate, false);

    TriggerAddEventTimePeriodic(libUIUI_gt_DeathTimerPanelUpdate, 0.0625, c_timeGame);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Initialize Debug Panel

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIInitializeDebugPanel_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int lv_itPlayer;

    int[6] lv_panels;

    int lv_currentPanelLayer;



    // Automatic Variable Declarations

    const int autoE0F0FF91_ae = libCore_gv_bALMaxPlayers;

    const int autoE0F0FF91_ai = 1;



    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenUpperContainer/DebugPanel");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_uIDebugPanel.lv_mainDialog = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "GeneralControlsFrame");

    libUIUI_gv_uIDebugPanel.lv_generalControlsFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "LootContentSoundSpawnerFrame");

    libUIUI_gv_uIDebugPanel.lv_lootContentSoundSpawnerFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HeroControlsFrame");

    libUIUI_gv_uIDebugPanel.lv_heroControlsFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "CloseButton");

    libUIUI_gv_uIDebugPanel.lv_closeButton = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "Page1Button");

    libUIUI_gv_uIDebugPanel.lv_page1Button = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "Page2Button");

    libUIUI_gv_uIDebugPanel.lv_page2Button = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "KillLogPanelButton");

    libUIUI_gv_uIDebugPanel.lv_kIllDebugButton = DialogControlLastCreated();

    if ((libCore_gv_dEBUGDebuggingEnabled == false)) {

        return true;

    }



    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "GeneralControlsFrame");

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "RefreshCooldownsButton");

    libUIUI_gv_uIDebugPanel.lv_refreshCooldownsButton = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeCheckBox, "SelectionEnabledCheckBox");

    libUIUI_gv_uIDebugPanel.lv_selectionEnabledCheckbox = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "StartGameButton");

    DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);

    libUIUI_gv_uIDebugPanel.lv_startGameButton = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "SpawnCreepCampsButton");

    DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);

    libUIUI_gv_uIDebugPanel.lv_spawnCreepCampsButton = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeCheckBox, "ToggleMinionSpawningCheckBox");

    libUIUI_gv_uIDebugPanel.lv_disableMinionSpawningCheckbox = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeCheckBox, "ToggleTrickleXPCheckBox");

    libUIUI_gv_uIDebugPanel.lv_disableTrickleXPCheckbox = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeCheckBox, "FloatingCombatTextCheckBox");

    libUIUI_gv_uIDebugPanel.lv_floatingCombatTextCheckbox = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeCheckBox, "AllCombatTextCheckBox");

    libUIUI_gv_uIDebugPanel.lv_enableAllFloatingCombatTextCheckbox = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HeroControlsFrame");

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "RespecHeroButton");

    libUIUI_gv_uIDebugPanel.lv_respecHeroButton = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "PlayerLabel");

    libUIUI_gv_uIDebugPanel.lv_playerLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeSlider, "PlayerSlider");

    libNtve_gf_SetDialogItemMinimumValue(DialogControlLastCreated(), 1.0, PlayerGroupAll());

    libNtve_gf_SetDialogItemMaximumValue(DialogControlLastCreated(), libCore_gv_bALMaxPlayers, PlayerGroupAll());

    libUIUI_gv_uIDebugPanel.lv_playerSlider = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "LevelLabel");

    libUIUI_gv_uIDebugPanel.lv_levelLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeSlider, "LevelSlider");

    libNtve_gf_SetDialogItemMinimumValue(DialogControlLastCreated(), 1.0, PlayerGroupAll());

    libNtve_gf_SetDialogItemMaximumValue(DialogControlLastCreated(), libCore_gv_bALMaxLevel, PlayerGroupAll());

    libUIUI_gv_uIDebugPanel.lv_levelSlider = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeCheckBox, "SameXPCheckBox");

    if ((GameIsOnline() == true)) {

        libNtve_gf_SetDialogItemChecked(DialogControlLastCreated(), true, PlayerGroupAll());

    }

    else {

        libNtve_gf_SetDialogItemChecked(DialogControlLastCreated(), false, PlayerGroupAll());

    }

    libUIUI_gv_uIDebugPanel.lv_useCurrentXPCheckbox = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "SpawnHeroButton");

    libUIUI_gv_uIDebugPanel.lv_spawnHeroButton = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeCheckBox, "AllHeroesCheckBox");

    libUIUI_gv_uIDebugPanel.lv_allHeroesCheckbox = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePulldown, "HeroPulldown");

    libUIUI_gv_uIDebugPanel.lv_heroDropdown = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePulldown, "SkinPulldown");

    libUIUI_gv_uIDebugPanel.lv_skinDropdown = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePulldown, "MountTypePulldown");

    libUIUI_gv_uIDebugPanel.lv_mountTypeDropdown = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePulldown, "MountBasePulldown");

    libUIUI_gv_uIDebugPanel.lv_mountBaseDropdown = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePulldown, "MountVariationPulldown");

    libUIUI_gv_uIDebugPanel.lv_mountVariationDropdown = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePulldown, "SprayPulldown");

    libUIUI_gv_uIDebugPanel.lv_sprayDropdown = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePulldown, "BannerPulldown");

    libUIUI_gv_uIDebugPanel.lv_bannerDropdown = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePulldown, "AnnouncerPackPulldown");

    libUIUI_gv_uIDebugPanel.lv_announcerPackDropdown = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePulldown, "VoiceLinePulldown");

    libUIUI_gv_uIDebugPanel.lv_voiceLineDropdown = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "LootContentSetButton");

    libUIUI_gv_uIDebugPanel.lv_lootContentsSetButton = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeEditBox, "MetaExperienceEditBox");

    libUIUI_gv_uIDebugPanel.lv_metaXPEditBox = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "SendMetaExperienceButton");

    libUIUI_gv_uIDebugPanel.lv_metaXPSendButton = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeCheckBox, "SpawnAtCameraCheckBox");

    libUIUI_gv_uIDebugPanel.lv_spawnAtCameraCheckbox = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeCheckBox, "SaveHeroCheckbox");

    DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupSingle(1), true);

    libUIUI_gv_uIDebugPanel.lv_savedHeroCheckbox = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "LootContentSoundSpawnerFrame");

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "AnnouncerRadio");

    libUIUI_gv_uIDebugPanel.lv_announcerRadio = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePulldown, "AnnouncerRadioPulldown");

    libUIUI_gv_uIDebugPanel.lv_announcerRadioDropdown = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "VoiceLineRadio");

    libUIUI_gv_uIDebugPanel.lv_voiceLineRadio = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePulldown, "VoiceLineRadioPulldown");

    libUIUI_gv_uIDebugPanel.lv_voiceLineRadioHeroDropdown = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeListBox, "SoundVOBox");

    libUIUI_gv_uIDebugPanel.lv_soundVOList = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "SoundVOPlayButton");

    libUIUI_gv_uIDebugPanel.lv_soundVOPlayButton = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "SoundVOMultiplayAddButton");

    libUIUI_gv_uIDebugPanel.lv_soundVOAddButton = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "SoundVOMultiplayClearButton");

    libUIUI_gv_uIDebugPanel.lv_soundVOClearButton = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeEditBox, "SoundVODelayEdit");

    libUIUI_gv_uIDebugPanel.lv_soundVODelayEditor = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeListBox, "SoundVOMultiplayBox");

    libUIUI_gv_uIDebugPanel.lv_soundVOPlayList = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "XPLabel");

    libUIUI_gv_uIDebugPanel.lv_xPLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "PlayerNumber");

    libUIUI_gv_uIDebugPanel.lv_playerNumber = DialogControlLastCreated();

    libNtve_gf_SetDialogItemAcceptMouse(libUIUI_gv_uIDebugPanel.lv_announcerRadio, false, PlayerGroupAll());

    libNtve_gf_SetDialogItemToggled(libUIUI_gv_uIDebugPanel.lv_announcerRadio, true, PlayerGroupAll());

    DialogControlSetEnabled(libUIUI_gv_uIDebugPanel.lv_announcerRadioDropdown, PlayerGroupAll(), true);

    DialogControlSetEnabled(libUIUI_gv_uIDebugPanel.lv_voiceLineRadioHeroDropdown, PlayerGroupAll(), false);

    lv_itPlayer = 1;

    for ( ; ( (autoE0F0FF91_ai >= 0 && lv_itPlayer <= autoE0F0FF91_ae) || (autoE0F0FF91_ai < 0 && lv_itPlayer >= autoE0F0FF91_ae) ) ; lv_itPlayer += autoE0F0FF91_ai ) {

        libUIUI_gf_UIDebugPanelPopulateHeroDropdownForPlayer(lv_itPlayer, false);

        libUIUI_gf_UIDebugPanelPopulateAnnouncerPackDropdownForPlayer(lv_itPlayer);

        libUIUI_gf_UIDebugPanelPopulateBannerDropdownForPlayer(lv_itPlayer);

        libUIUI_gf_UIDebugPanelPopulateSprayDropdownForPlayer(lv_itPlayer);

    }

    TriggerEnable(libUIUI_gt_UIDebugPanelUseCurrentXPCheckboxClicked, true);

    libUIUI_gf_UIDebugPanelApplyOptionsfromBank();

    TriggerExecute(libUIUI_gt_UIDebugPanelPlayerNumber, true, false);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIInitializeDebugPanel_Init () {

    libUIUI_gt_UIInitializeDebugPanel = TriggerCreate("libUIUI_gt_UIInitializeDebugPanel_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Close Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelCloseButtonClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_closeButton))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gf_UIDebugPanelShowHideDebugPanelForPlayer(false, EventPlayer());

    libUIUI_gf_UIDebugPanelSaveOptions(EventPlayer());

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelCloseButtonClicked_Init () {

    libUIUI_gt_UIDebugPanelCloseButtonClicked = TriggerCreate("libUIUI_gt_UIDebugPanelCloseButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelCloseButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Refresh Cooldowns Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelRefreshCooldownsButtonClicked_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_i;

    unit lv_unit;

    int lv_heroIndex;

    string lv_abilLink;

    string lv_cooldownLink;

    string lv_chargeLink;

    string lv_itemUnitType;

    int lv_itemIndex;

    int lv_currentRank;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_cooldownLink = "";

    lv_chargeLink = "";



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_refreshCooldownsButton))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libGame_gf_HeroRefreshCooldowns(EventPlayer(), false);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelRefreshCooldownsButtonClicked_Init () {

    libUIUI_gt_UIDebugPanelRefreshCooldownsButtonClicked = TriggerCreate("libUIUI_gt_UIDebugPanelRefreshCooldownsButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelRefreshCooldownsButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Selection Enabled Checkbox Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelSelectionEnabledCheckboxClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_selectionEnabledCheckbox))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libSprt_gf_DEBUGToggleSelection();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelSelectionEnabledCheckboxClicked_Init () {

    libUIUI_gt_UIDebugPanelSelectionEnabledCheckboxClicked = TriggerCreate("libUIUI_gt_UIDebugPanelSelectionEnabledCheckboxClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelSelectionEnabledCheckboxClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeChecked);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Start Game Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelStartGameButtonClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_startGameButton))) {

            return false;

        }



        if (!((DialogControlIsEnabled(libUIUI_gv_uIDebugPanel.lv_startGameButton, EventPlayer()) == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libSprt_gf_DEBUGStartGame();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelStartGameButtonClicked_Init () {

    libUIUI_gt_UIDebugPanelStartGameButtonClicked = TriggerCreate("libUIUI_gt_UIDebugPanelStartGameButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelStartGameButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Spawn Creep Camps Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelSpawnCreepCampsButtonClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_spawnCreepCampsButton))) {

            return false;

        }



        if (!((DialogControlIsEnabled(libUIUI_gv_uIDebugPanel.lv_spawnCreepCampsButton, EventPlayer()) == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libSprt_gf_DEBUGSpawnCreepCamps();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelSpawnCreepCampsButtonClicked_Init () {

    libUIUI_gt_UIDebugPanelSpawnCreepCampsButtonClicked = TriggerCreate("libUIUI_gt_UIDebugPanelSpawnCreepCampsButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelSpawnCreepCampsButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Disable Minion Spawning Checkbox Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelDisableMinionSpawningCheckboxClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_disableMinionSpawningCheckbox))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libSprt_gf_DEBUGToggleMinionSpawning();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelDisableMinionSpawningCheckboxClicked_Init () {

    libUIUI_gt_UIDebugPanelDisableMinionSpawningCheckboxClicked = TriggerCreate("libUIUI_gt_UIDebugPanelDisableMinionSpawningCheckboxClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelDisableMinionSpawningCheckboxClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeChecked);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Disable Trickle XP Checkbox Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelDisableTrickleXPCheckboxClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_disableTrickleXPCheckbox))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libSprt_gf_DEBUGToggleTrickleXP();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelDisableTrickleXPCheckboxClicked_Init () {

    libUIUI_gt_UIDebugPanelDisableTrickleXPCheckboxClicked = TriggerCreate("libUIUI_gt_UIDebugPanelDisableTrickleXPCheckboxClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelDisableTrickleXPCheckboxClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeChecked);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Combat Text Checkbox Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelCombatTextCheckboxClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_floatingCombatTextCheckbox))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libSprt_gf_DEBUGToggleCombatText();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelCombatTextCheckboxClicked_Init () {

    libUIUI_gt_UIDebugPanelCombatTextCheckboxClicked = TriggerCreate("libUIUI_gt_UIDebugPanelCombatTextCheckboxClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelCombatTextCheckboxClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeChecked);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Enable All Combat Text Checkbox Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelEnableAllCombatTextCheckboxClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_enableAllFloatingCombatTextCheckbox))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libSprt_gf_DEBUGToggleAllCombatText();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelEnableAllCombatTextCheckboxClicked_Init () {

    libUIUI_gt_UIDebugPanelEnableAllCombatTextCheckboxClicked = TriggerCreate("libUIUI_gt_UIDebugPanelEnableAllCombatTextCheckboxClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelEnableAllCombatTextCheckboxClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeChecked);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Saved Hero Checkbox Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelSavedHeroCheckboxClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_savedHeroCheckbox))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libSprt_gf_DEBUGToggleSavedHeroCheckbox();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelSavedHeroCheckboxClicked_Init () {

    libUIUI_gt_UIDebugPanelSavedHeroCheckboxClicked = TriggerCreate("libUIUI_gt_UIDebugPanelSavedHeroCheckboxClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelSavedHeroCheckboxClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeChecked);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Page 1 Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelPage1ButtonClicked_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_triggeringPlayer;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_triggeringPlayer = EventPlayer();



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_page1Button))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_page1Button, PlayerGroupSingle(lv_triggeringPlayer), false);

    DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_page2Button, PlayerGroupSingle(lv_triggeringPlayer), true);

    DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_lootContentSoundSpawnerFrame, PlayerGroupSingle(lv_triggeringPlayer), false);

    DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_generalControlsFrame, PlayerGroupSingle(lv_triggeringPlayer), true);

    DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_heroControlsFrame, PlayerGroupSingle(lv_triggeringPlayer), true);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelPage1ButtonClicked_Init () {

    libUIUI_gt_UIDebugPanelPage1ButtonClicked = TriggerCreate("libUIUI_gt_UIDebugPanelPage1ButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelPage1ButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Page 2 Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelPage2ButtonClicked_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_triggeringPlayer;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_triggeringPlayer = EventPlayer();



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_page2Button))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_page1Button, PlayerGroupSingle(lv_triggeringPlayer), true);

    DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_page2Button, PlayerGroupSingle(lv_triggeringPlayer), false);

    DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_lootContentSoundSpawnerFrame, PlayerGroupSingle(lv_triggeringPlayer), true);

    DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_generalControlsFrame, PlayerGroupSingle(lv_triggeringPlayer), false);

    DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_heroControlsFrame, PlayerGroupSingle(lv_triggeringPlayer), false);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelPage2ButtonClicked_Init () {

    libUIUI_gt_UIDebugPanelPage2ButtonClicked = TriggerCreate("libUIUI_gt_UIDebugPanelPage2ButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelPage2ButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Kill Log Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelKillLogButtonClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_kIllDebugButton))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gf_KillLogDebugInitPanel();

    DialogControlSetVisible(libUIUI_gv_killLogDebugPanel.lv_mainPanel, PlayerGroupSingle(EventPlayer()), true);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelKillLogButtonClicked_Init () {

    libUIUI_gt_UIDebugPanelKillLogButtonClicked = TriggerCreate("libUIUI_gt_UIDebugPanelKillLogButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelKillLogButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Respec Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelRespecButtonClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_respecHeroButton))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libGame_gf_TalentsRespecHeroForPlayer(EventPlayer());

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelRespecButtonClicked_Init () {

    libUIUI_gt_UIDebugPanelRespecButtonClicked = TriggerCreate("libUIUI_gt_UIDebugPanelRespecButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelRespecButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Player Slider Value Change

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelPlayerSliderValueChange_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_playerSlider))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    TextExpressionSetToken("Param/Expression/lib_UIUI_7777446E", "A", FixedToText(libNtve_gf_DialogItemValue(EventDialogControl(), EventPlayer()), 0));

    libNtve_gf_SetDialogItemText(libUIUI_gv_uIDebugPanel.lv_playerLabel, TextExpressionAssemble("Param/Expression/lib_UIUI_7777446E"), libCore_gv_playerGroupFromPlayer[EventPlayer()]);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelPlayerSliderValueChange_Init () {

    libUIUI_gt_UIDebugPanelPlayerSliderValueChange = TriggerCreate("libUIUI_gt_UIDebugPanelPlayerSliderValueChange_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelPlayerSliderValueChange, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeValueChanged);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Level Slider Value Change

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelLevelSliderValueChange_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_levelSlider))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    TextExpressionSetToken("Param/Expression/lib_UIUI_FA37F92E", "A", FixedToText(libNtve_gf_DialogItemValue(EventDialogControl(), EventPlayer()), 0));

    libNtve_gf_SetDialogItemText(libUIUI_gv_uIDebugPanel.lv_levelLabel, TextExpressionAssemble("Param/Expression/lib_UIUI_FA37F92E"), libCore_gv_playerGroupFromPlayer[EventPlayer()]);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelLevelSliderValueChange_Init () {

    libUIUI_gt_UIDebugPanelLevelSliderValueChange = TriggerCreate("libUIUI_gt_UIDebugPanelLevelSliderValueChange_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelLevelSliderValueChange, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeValueChanged);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Use Current XP Checkbox Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelUseCurrentXPCheckboxClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_useCurrentXPCheckbox))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    if ((libNtve_gf_DialogItemIsChecked(EventDialogControl(), EventPlayer()) == true)) {

        DialogControlSetEnabled(libUIUI_gv_uIDebugPanel.lv_levelSlider, libCore_gv_playerGroupFromPlayer[EventPlayer()], false);

    }

    else {

        DialogControlSetEnabled(libUIUI_gv_uIDebugPanel.lv_levelSlider, libCore_gv_playerGroupFromPlayer[EventPlayer()], true);

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelUseCurrentXPCheckboxClicked_Init () {

    libUIUI_gt_UIDebugPanelUseCurrentXPCheckboxClicked = TriggerCreate("libUIUI_gt_UIDebugPanelUseCurrentXPCheckboxClicked_Func");

    TriggerEnable(libUIUI_gt_UIDebugPanelUseCurrentXPCheckboxClicked, false);

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelUseCurrentXPCheckboxClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeChecked);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - All Heroes Checkbox Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelAllHeroesCheckboxClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_allHeroesCheckbox))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gf_UIDebugPanelPopulateHeroDropdownForPlayer(EventPlayer(), libNtve_gf_DialogItemIsChecked(EventDialogControl(), EventPlayer()));

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelAllHeroesCheckboxClicked_Init () {

    libUIUI_gt_UIDebugPanelAllHeroesCheckboxClicked = TriggerCreate("libUIUI_gt_UIDebugPanelAllHeroesCheckboxClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelAllHeroesCheckboxClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeChecked);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Spawn At Base Checkbox Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelSpawnAtBaseCheckboxClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_spawnAtCameraCheckbox))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libSprt_gf_DEBUGToggleSpawnatCameraorBaseSelection();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelSpawnAtBaseCheckboxClicked_Init () {

    libUIUI_gt_UIDebugPanelSpawnAtBaseCheckboxClicked = TriggerCreate("libUIUI_gt_UIDebugPanelSpawnAtBaseCheckboxClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelSpawnAtBaseCheckboxClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeChecked);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Hero Dropdown Selection Change

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelHeroDropdownSelectionChange_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_heroIndex;

    int lv_triggeringPlayer;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_triggeringPlayer = EventPlayer();



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_heroDropdown))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_heroIndex = DialogControlGetSelectedItem(EventDialogControl(), lv_triggeringPlayer);

    libUIUI_gf_UIDebugPanelPopulateSkinDropdownForPlayer(lv_triggeringPlayer, lv_heroIndex);

    libUIUI_gf_UIDebugPanelPopulateVoiceLineForPlayer(lv_triggeringPlayer, lv_heroIndex);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelHeroDropdownSelectionChange_Init () {

    libUIUI_gt_UIDebugPanelHeroDropdownSelectionChange = TriggerCreate("libUIUI_gt_UIDebugPanelHeroDropdownSelectionChange_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelHeroDropdownSelectionChange, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeSelectionChanged);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Skin Dropdown Selection Change

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelSkinDropdownSelectionChange_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_heroIndex;

    int lv_triggeringPlayer;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_triggeringPlayer = EventPlayer();



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_skinDropdown))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_heroIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_heroDropdown, lv_triggeringPlayer);

    libUIUI_gf_UIDebugPanelPopulateMountTypeDropdownForPlayer(lv_triggeringPlayer, lv_heroIndex);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelSkinDropdownSelectionChange_Init () {

    libUIUI_gt_UIDebugPanelSkinDropdownSelectionChange = TriggerCreate("libUIUI_gt_UIDebugPanelSkinDropdownSelectionChange_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelSkinDropdownSelectionChange, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeSelectionChanged);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Mount Type Dropdown Selection Change

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelMountTypeDropdownSelectionChange_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_mountTypeIndex;

    int lv_heroIndex;

    int lv_triggeringPlayer;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_triggeringPlayer = EventPlayer();



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_mountTypeDropdown))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_heroIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_heroDropdown, lv_triggeringPlayer);

    lv_mountTypeIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_mountTypeDropdown, lv_triggeringPlayer);

    libUIUI_gf_UIDebugPanelPopulateMountBaseDropdownForPlayer(lv_triggeringPlayer, lv_heroIndex, lv_mountTypeIndex);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelMountTypeDropdownSelectionChange_Init () {

    libUIUI_gt_UIDebugPanelMountTypeDropdownSelectionChange = TriggerCreate("libUIUI_gt_UIDebugPanelMountTypeDropdownSelectionChange_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelMountTypeDropdownSelectionChange, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeSelectionChanged);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Mount Base Dropdown Selection Change

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelMountBaseDropdownSelectionChange_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_mountIndex;

    int lv_triggeringPlayer;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_triggeringPlayer = EventPlayer();



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_mountBaseDropdown))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_mountIndex = DataTableGetInt(true, ("DEBUG_MountList_Player_" + IntToString(lv_triggeringPlayer) + "_ListIndex_" + IntToString(DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_mountBaseDropdown, lv_triggeringPlayer)) + "_Index"));

    libUIUI_gf_UIDebugPanelPopulateMountVariationDropdownForPlayer(lv_triggeringPlayer, lv_mountIndex);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelMountBaseDropdownSelectionChange_Init () {

    libUIUI_gt_UIDebugPanelMountBaseDropdownSelectionChange = TriggerCreate("libUIUI_gt_UIDebugPanelMountBaseDropdownSelectionChange_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelMountBaseDropdownSelectionChange, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeSelectionChanged);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Announcer Raido Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelAnnouncerRaidoButtonClicked_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_announcerIndex;

    int lv_triggeringPlayer;

    int lv_listRight;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_triggeringPlayer = EventPlayer();

    lv_listRight = libUIUI_gv_uIDebugPanel.lv_soundVOPlayList;



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_announcerRadio))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libNtve_gf_SetDialogItemAcceptMouse(libUIUI_gv_uIDebugPanel.lv_announcerRadio, false, PlayerGroupSingle(lv_triggeringPlayer));

    libNtve_gf_SetDialogItemAcceptMouse(libUIUI_gv_uIDebugPanel.lv_voiceLineRadio, true, PlayerGroupSingle(lv_triggeringPlayer));

    libNtve_gf_SetDialogItemToggled(libUIUI_gv_uIDebugPanel.lv_announcerRadio, true, PlayerGroupSingle(lv_triggeringPlayer));

    libNtve_gf_SetDialogItemToggled(libUIUI_gv_uIDebugPanel.lv_voiceLineRadio, false, PlayerGroupSingle(lv_triggeringPlayer));

    DialogControlSetEnabled(libUIUI_gv_uIDebugPanel.lv_announcerRadioDropdown, PlayerGroupSingle(lv_triggeringPlayer), true);

    DialogControlSetEnabled(libUIUI_gv_uIDebugPanel.lv_voiceLineRadioHeroDropdown, PlayerGroupSingle(lv_triggeringPlayer), false);

    DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_announcerRadioDropdown, PlayerGroupSingle(lv_triggeringPlayer), true);

    DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_voiceLineRadioHeroDropdown, PlayerGroupSingle(lv_triggeringPlayer), false);

    libUIUI_gv_uIDebugPanelSelectedAnnouncerRadio[lv_triggeringPlayer] = true;

    lv_announcerIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_announcerRadioDropdown, lv_triggeringPlayer);

    libUIUI_gf_UIDebugPanelPopulateAnnouncerPackVOListForPlayer(lv_triggeringPlayer, lv_announcerIndex);

    DialogControlRemoveAllItems(lv_listRight, libCore_gv_playerGroupFromPlayer[lv_triggeringPlayer]);

    DialogControlClearSelectedItem(lv_listRight, libCore_gv_playerGroupFromPlayer[lv_triggeringPlayer]);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelAnnouncerRaidoButtonClicked_Init () {

    libUIUI_gt_UIDebugPanelAnnouncerRaidoButtonClicked = TriggerCreate("libUIUI_gt_UIDebugPanelAnnouncerRaidoButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelAnnouncerRaidoButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Voice Line Raido Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelAnnouncerRaidoButtonClicked2_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_triggeringPlayer;

    int lv_heroIndex;

    int lv_listRight;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_triggeringPlayer = EventPlayer();

    lv_listRight = libUIUI_gv_uIDebugPanel.lv_soundVOPlayList;



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_voiceLineRadio))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libNtve_gf_SetDialogItemAcceptMouse(libUIUI_gv_uIDebugPanel.lv_announcerRadio, true, PlayerGroupSingle(lv_triggeringPlayer));

    libNtve_gf_SetDialogItemAcceptMouse(libUIUI_gv_uIDebugPanel.lv_voiceLineRadio, false, PlayerGroupSingle(lv_triggeringPlayer));

    libNtve_gf_SetDialogItemToggled(libUIUI_gv_uIDebugPanel.lv_announcerRadio, false, PlayerGroupSingle(lv_triggeringPlayer));

    libNtve_gf_SetDialogItemToggled(libUIUI_gv_uIDebugPanel.lv_voiceLineRadio, true, PlayerGroupSingle(lv_triggeringPlayer));

    DialogControlSetEnabled(libUIUI_gv_uIDebugPanel.lv_announcerRadioDropdown, PlayerGroupSingle(lv_triggeringPlayer), false);

    DialogControlSetEnabled(libUIUI_gv_uIDebugPanel.lv_voiceLineRadioHeroDropdown, PlayerGroupSingle(lv_triggeringPlayer), true);

    DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_announcerRadioDropdown, PlayerGroupSingle(lv_triggeringPlayer), false);

    DialogControlSetVisible(libUIUI_gv_uIDebugPanel.lv_voiceLineRadioHeroDropdown, PlayerGroupSingle(lv_triggeringPlayer), true);

    libUIUI_gv_uIDebugPanelSelectedAnnouncerRadio[lv_triggeringPlayer] = false;

    lv_heroIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_voiceLineRadioHeroDropdown, lv_triggeringPlayer);

    libUIUI_gf_UIDebugPanelPopulateVoiceLineRadioVOListForPlayer(lv_triggeringPlayer, lv_heroIndex);

    DialogControlRemoveAllItems(lv_listRight, libCore_gv_playerGroupFromPlayer[lv_triggeringPlayer]);

    DialogControlClearSelectedItem(lv_listRight, libCore_gv_playerGroupFromPlayer[lv_triggeringPlayer]);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelAnnouncerRaidoButtonClicked2_Init () {

    libUIUI_gt_UIDebugPanelAnnouncerRaidoButtonClicked2 = TriggerCreate("libUIUI_gt_UIDebugPanelAnnouncerRaidoButtonClicked2_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelAnnouncerRaidoButtonClicked2, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Announcer Radio Dropdown Selection Change

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelAnnouncerRadioDropdownSelectionChange_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_announcerIndex;

    int lv_triggeringPlayer;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_triggeringPlayer = EventPlayer();



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_announcerRadioDropdown))) {

            return false;

        }



        if (!((DialogControlIsEnabled(EventDialogControl(), lv_triggeringPlayer) == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_announcerIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_announcerRadioDropdown, lv_triggeringPlayer);

    libUIUI_gf_UIDebugPanelPopulateAnnouncerPackVOListForPlayer(lv_triggeringPlayer, lv_announcerIndex);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelAnnouncerRadioDropdownSelectionChange_Init () {

    libUIUI_gt_UIDebugPanelAnnouncerRadioDropdownSelectionChange = TriggerCreate("libUIUI_gt_UIDebugPanelAnnouncerRadioDropdownSelectionChange_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelAnnouncerRadioDropdownSelectionChange, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeSelectionChanged);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Voice Line Radio Dropdown Selection Change

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelVoiceLineRadioDropdownSelectionChange_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_heroIndex;

    int lv_triggeringPlayer;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_triggeringPlayer = EventPlayer();



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_voiceLineRadioHeroDropdown))) {

            return false;

        }



        if (!((DialogControlIsEnabled(EventDialogControl(), lv_triggeringPlayer) == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_heroIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_voiceLineRadioHeroDropdown, lv_triggeringPlayer);

    libUIUI_gf_UIDebugPanelPopulateVoiceLineRadioVOListForPlayer(lv_triggeringPlayer, lv_heroIndex);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelVoiceLineRadioDropdownSelectionChange_Init () {

    libUIUI_gt_UIDebugPanelVoiceLineRadioDropdownSelectionChange = TriggerCreate("libUIUI_gt_UIDebugPanelVoiceLineRadioDropdownSelectionChange_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelVoiceLineRadioDropdownSelectionChange, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeSelectionChanged);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Sound VO Play Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelSoundVOPlayButtonClicked_Func (bool testConds, bool runActions) {

    // Variable Declarations

    string lv_soundID;

    int lv_triggeringPlayer;

    int lv_listIndexLeft;

    int lv_listRight;

    int lv_listIndexRight;

    int lv_listCountRight;

    unit lv_heroUnit;

    fixed lv_delay;



    // Automatic Variable Declarations

    int auto39B1433C_ae;

    const int auto39B1433C_ai = 1;



    // Variable Initialization

    lv_soundID = "";

    lv_triggeringPlayer = EventPlayer();

    lv_listIndexLeft = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_soundVOList, lv_triggeringPlayer);

    lv_listRight = libUIUI_gv_uIDebugPanel.lv_soundVOPlayList;

    lv_listCountRight = DialogControlGetItemCount(lv_listRight, lv_triggeringPlayer);



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_soundVOPlayButton))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    if ((lv_listCountRight == 0)) {

        if ((lv_listIndexLeft == 0)) {

            TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_A90201D3"), true);

            return true;

        }



        lv_soundID = DataTableGetString(true, ("DEBUG_AnnouncerVOSoundLink_Player_" + IntToString(lv_triggeringPlayer) + "_ListIndex_" + IntToString(lv_listIndexLeft) + "_SoundID"));

        TextExpressionSetToken("Param/Expression/lib_UIUI_432F44CB", "SoundID", StringToText(lv_soundID));

        TextExpressionSetToken("Param/Expression/lib_UIUI_432F44CB", "Player", IntToText(lv_triggeringPlayer));

        TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_432F44CB"), true);

        if ((libUIUI_gv_uIDebugPanelSelectedAnnouncerRadio[lv_triggeringPlayer] == true)) {

            SoundPlayForPlayer(SoundLink((lv_soundID), c_soundIndexAny), c_maxPlayers, libCore_gv_playerGroupFromPlayer[lv_triggeringPlayer], 100.0, 0.0);

        }

        else {

            lv_heroUnit = libGame_gv_players[lv_triggeringPlayer].lv_heroUnit;

            if ((UnitIsAlive(lv_heroUnit) == true)) {

                ActorSend(libNtve_gf_MainActorofUnit(lv_heroUnit), libNtve_gf_Create((libUIUI_gv_uIDebugPanelVoiceLineActor), lv_soundID));

            }

            else {

                TextExpressionSetToken("Param/Expression/lib_UIUI_1FD57944", "Player", IntToText(lv_triggeringPlayer));

                TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_1FD57944"), true);

            }

        }

    }

    else {

        lv_delay = StringToFixed(libNtve_gf_DialogItemEditValue(libUIUI_gv_uIDebugPanel.lv_soundVODelayEditor, lv_triggeringPlayer));

        auto39B1433C_ae = lv_listCountRight;

        lv_listIndexRight = 1;

        for ( ; ( (auto39B1433C_ai >= 0 && lv_listIndexRight <= auto39B1433C_ae) || (auto39B1433C_ai < 0 && lv_listIndexRight >= auto39B1433C_ae) ) ; lv_listIndexRight += auto39B1433C_ai ) {

            lv_soundID = DataTableGetString(true, ("DEBUG_SoundVOPlayBox_Player_" + IntToString(lv_triggeringPlayer) + "_ListIndex_" + IntToString(lv_listIndexRight) + "_SoundID"));

            if ((libUIUI_gv_uIDebugPanelSelectedAnnouncerRadio[lv_triggeringPlayer] == true)) {

                SoundPlayForPlayer(SoundLink((lv_soundID), c_soundIndexAny), c_maxPlayers, libCore_gv_playerGroupFromPlayer[lv_triggeringPlayer], 100.0, 0.0);

            }

            else {

                lv_heroUnit = libGame_gv_players[lv_triggeringPlayer].lv_heroUnit;

                if ((UnitIsAlive(lv_heroUnit) == true)) {

                    ActorSend(libNtve_gf_MainActorofUnit(lv_heroUnit), libNtve_gf_Create((libUIUI_gv_uIDebugPanelVoiceLineActor), lv_soundID));

                }

                else {

                    TextExpressionSetToken("Param/Expression/lib_UIUI_BBBE8D0D", "Player", IntToText(lv_triggeringPlayer));

                    TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_BBBE8D0D"), true);

                }

            }

            Wait(lv_delay, c_timeGame);

        }

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelSoundVOPlayButtonClicked_Init () {

    libUIUI_gt_UIDebugPanelSoundVOPlayButtonClicked = TriggerCreate("libUIUI_gt_UIDebugPanelSoundVOPlayButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelSoundVOPlayButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Sound VO Add Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelSoundVOAddButtonClicked_Func (bool testConds, bool runActions) {

    // Variable Declarations

    string lv_soundID;

    int lv_triggeringPlayer;

    int lv_listIndexLeft;

    int lv_listRight;

    unit lv_heroUnit;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_soundID = "";

    lv_triggeringPlayer = EventPlayer();

    lv_listIndexLeft = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_soundVOList, lv_triggeringPlayer);

    lv_listRight = libUIUI_gv_uIDebugPanel.lv_soundVOPlayList;



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_soundVOAddButton))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    if ((lv_listIndexLeft == 0)) {

        TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_AF0DDFBF"), true);

        return true;

    }



    lv_soundID = DataTableGetString(true, ("DEBUG_AnnouncerVOSoundLink_Player_" + IntToString(lv_triggeringPlayer) + "_ListIndex_" + IntToString(lv_listIndexLeft) + "_SoundID"));

    DialogControlAddItem(lv_listRight, PlayerGroupSingle(lv_triggeringPlayer), StringToText(lv_soundID));

    DataTableSetString(true, ("DEBUG_SoundVOPlayBox_Player_" + IntToString(lv_triggeringPlayer) + "_ListIndex_" + IntToString(DialogControlGetItemCount(lv_listRight, lv_triggeringPlayer)) + "_SoundID"), lv_soundID);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelSoundVOAddButtonClicked_Init () {

    libUIUI_gt_UIDebugPanelSoundVOAddButtonClicked = TriggerCreate("libUIUI_gt_UIDebugPanelSoundVOAddButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelSoundVOAddButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Sound VO Clear Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelSoundVOClearButtonClicked_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_triggeringPlayer;

    int lv_listRight;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_triggeringPlayer = EventPlayer();

    lv_listRight = libUIUI_gv_uIDebugPanel.lv_soundVOPlayList;



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_soundVOClearButton))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlRemoveAllItems(lv_listRight, libCore_gv_playerGroupFromPlayer[lv_triggeringPlayer]);

    DialogControlClearSelectedItem(lv_listRight, libCore_gv_playerGroupFromPlayer[lv_triggeringPlayer]);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelSoundVOClearButtonClicked_Init () {

    libUIUI_gt_UIDebugPanelSoundVOClearButtonClicked = TriggerCreate("libUIUI_gt_UIDebugPanelSoundVOClearButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelSoundVOClearButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Sound VO Delay Box Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelSoundVODelayBoxClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_soundVODelayEditor))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlRequestFocus(libUIUI_gv_uIDebugPanel.lv_soundVODelayEditor, libCore_gv_playerGroupFromPlayer[EventPlayer()]);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelSoundVODelayBoxClicked_Init () {

    libUIUI_gt_UIDebugPanelSoundVODelayBoxClicked = TriggerCreate("libUIUI_gt_UIDebugPanelSoundVODelayBoxClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelSoundVODelayBoxClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Spawn Hero Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelSpawnHeroButtonClicked_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_heroIndex;

    int lv_skinIndex;

    int lv_mountIndex;

    fixed lv_xP;

    int lv_triggeringPlayer;

    int lv_player;

    int lv_sprayIndex;

    int lv_bannerIndex;

    int lv_announcerPackIndex;

    int lv_voiceLineIndex;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_triggeringPlayer = EventPlayer();



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_spawnHeroButton))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_heroIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_heroDropdown, lv_triggeringPlayer);

    lv_skinIndex = libCore_gf_DataSkinsGetSkinIndexFromSkinLink((DataTableGetString(true, ("HeroIndex_" + IntToString(lv_heroIndex) + "_SkinIndex_" + IntToString(DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_skinDropdown, lv_triggeringPlayer))))));

    lv_mountIndex = DataTableGetInt(true, ("DEBUG_MountVariationList_Player_" + IntToString(lv_triggeringPlayer) + "_ListIndex_" + IntToString(DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_mountVariationDropdown, lv_triggeringPlayer)) + "_Index"));

    lv_sprayIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_sprayDropdown, lv_triggeringPlayer);

    lv_bannerIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_bannerDropdown, lv_triggeringPlayer);

    lv_announcerPackIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_announcerPackDropdown, lv_triggeringPlayer);

    lv_voiceLineIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_voiceLineDropdown, lv_triggeringPlayer);

    lv_player = FixedToInt(libNtve_gf_DialogItemValue(libUIUI_gv_uIDebugPanel.lv_playerSlider, lv_triggeringPlayer));

    if ((libNtve_gf_DialogItemIsChecked(libUIUI_gv_uIDebugPanel.lv_useCurrentXPCheckbox, lv_triggeringPlayer) == true)) {

        lv_xP = UnitGetPropertyFixed(libGame_gv_players[lv_player].lv_heroUnit, c_unitPropXP, c_unitPropCurrent);

    }

    else {

        lv_xP = libCore_gf_GetTotalXPForLevel(FixedToInt(libNtve_gf_DialogItemValue(libUIUI_gv_uIDebugPanel.lv_levelSlider, lv_triggeringPlayer)));

    }

    libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer(lv_triggeringPlayer, lv_heroIndex, lv_sprayIndex, lv_bannerIndex, lv_announcerPackIndex, lv_voiceLineIndex);

    libUIUI_gv_uIDebugPanelClearVoiceLineOnDebugSpawn[EventPlayer()] = false;

    libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer(lv_heroIndex, lv_skinIndex, lv_mountIndex, lv_xP, lv_player, lv_triggeringPlayer);

    libUIUI_gv_uIDebugPanelClearVoiceLineOnDebugSpawn[EventPlayer()] = true;

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelSpawnHeroButtonClicked_Init () {

    libUIUI_gt_UIDebugPanelSpawnHeroButtonClicked = TriggerCreate("libUIUI_gt_UIDebugPanelSpawnHeroButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelSpawnHeroButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Meta XP Edit Box Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelMetaXPEditBoxClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_metaXPEditBox))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlRequestFocus(libUIUI_gv_uIDebugPanel.lv_metaXPEditBox, libCore_gv_playerGroupFromPlayer[EventPlayer()]);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelMetaXPEditBoxClicked_Init () {

    libUIUI_gt_UIDebugPanelMetaXPEditBoxClicked = TriggerCreate("libUIUI_gt_UIDebugPanelMetaXPEditBoxClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelMetaXPEditBoxClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Send Meta XP Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelSendMetaXPButtonClicked_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_player;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_metaXPSendButton))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_player = EventPlayer();

    libUIUI_gv_uIDebugPanelDebugMetaXPValue = StringToInt(libNtve_gf_DialogItemEditValue(libUIUI_gv_uIDebugPanel.lv_metaXPEditBox, lv_player));

    if ((libUIUI_gv_uIDebugPanelDebugMetaXPValue <= 0)) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_8002416C", "A", IntToText(libUIUI_gv_uIDebugPanelDebugMetaXPValue));

        TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_8002416C"), true);

        return true;

    }



    ConsoleCommand("speed 5", true, true);

    while ((TimerGetElapsed(libGame_gv_totalTime) < (3.5 * 60))) {

        Wait(0.0625, c_timeGame);

    }

    ConsoleCommand("speed", true, true);

    Wait(1.0, c_timeGame);

    UnitKill(libGame_gv_teams[2].lv_core);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelSendMetaXPButtonClicked_Init () {

    libUIUI_gt_UIDebugPanelSendMetaXPButtonClicked = TriggerCreate("libUIUI_gt_UIDebugPanelSendMetaXPButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelSendMetaXPButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Set Loot Contents Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelSetLootContentsButtonClicked_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_triggeringPlayer;

    int lv_heroIndex;

    int lv_sprayIndex;

    int lv_bannerIndex;

    int lv_announcerPackIndex;

    int lv_voiceLineIndex;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_triggeringPlayer = EventPlayer();



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIDebugPanel.lv_lootContentsSetButton))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_heroIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_heroDropdown, lv_triggeringPlayer);

    lv_sprayIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_sprayDropdown, lv_triggeringPlayer);

    lv_bannerIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_bannerDropdown, lv_triggeringPlayer);

    lv_announcerPackIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_announcerPackDropdown, lv_triggeringPlayer);

    lv_voiceLineIndex = DialogControlGetSelectedItem(libUIUI_gv_uIDebugPanel.lv_voiceLineDropdown, lv_triggeringPlayer);

    libUIUI_gf_UIDebugPanelLoadLootContentIndexForPlayer(lv_triggeringPlayer, lv_heroIndex, lv_sprayIndex, lv_bannerIndex, lv_announcerPackIndex, lv_voiceLineIndex);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelSetLootContentsButtonClicked_Init () {

    libUIUI_gt_UIDebugPanelSetLootContentsButtonClicked = TriggerCreate("libUIUI_gt_UIDebugPanelSetLootContentsButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIDebugPanelSetLootContentsButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Update

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelUpdate_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_p;



    // Automatic Variable Declarations

    playergroup auto45BE7191_g;



    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    auto45BE7191_g = libCore_gv_activeHumanPlayers;

    lv_p = -1;

    while (true) {

        	lv_p = PlayerGroupNextPlayer(auto45BE7191_g, lv_p);

        	if (lv_p<0) { break; }

        	if ((DialogControlIsVisible(libUIUI_gv_uIDebugPanel.lv_mainDialog, lv_p) == true)) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_5C4FEBA6", "A", FixedToText(UnitGetPropertyFixed(UnitGroupUnit(UnitGroupSelected(lv_p), 1), c_unitPropXP, c_unitPropCurrent), 0));

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIDebugPanel.lv_xPLabel, TextExpressionAssemble("Param/Expression/lib_UIUI_5C4FEBA6"), libCore_gv_playerGroupFromPlayer[lv_p]);

        }



    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelUpdate_Init () {

    libUIUI_gt_UIDebugPanelUpdate = TriggerCreate("libUIUI_gt_UIDebugPanelUpdate_Func");

    TriggerEnable(libUIUI_gt_UIDebugPanelUpdate, false);

    TriggerAddEventTimePeriodic(libUIUI_gt_UIDebugPanelUpdate, 0.0625, c_timeGame);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Spawn Button

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelSpawnButton_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    TriggerExecute(libUIUI_gt_UIDebugPanelSpawnHeroButtonClicked, false, false);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelSpawnButton_Init () {

    libUIUI_gt_UIDebugPanelSpawnButton = TriggerCreate("libUIUI_gt_UIDebugPanelSpawnButton_Func");

    TriggerAddEventChatMessage(libUIUI_gt_UIDebugPanelSpawnButton, c_playerAny, "spawnbutton", false);

    TriggerAddEventChatMessage(libUIUI_gt_UIDebugPanelSpawnButton, c_playerAny, "sb", true);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Debug Panel - Player Number

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIDebugPanelPlayerNumber_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itPlayer;



    // Automatic Variable Declarations

    playergroup auto35FFDD5A_g;



    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    auto35FFDD5A_g = libCore_gv_activeHumanPlayers;

    lv_itPlayer = -1;

    while (true) {

        	lv_itPlayer = PlayerGroupNextPlayer(auto35FFDD5A_g, lv_itPlayer);

        	if (lv_itPlayer<0) { break; }

        	libNtve_gf_SetDialogItemCurrentValue(libUIUI_gv_uIDebugPanel.lv_playerSlider, IntToFixed(lv_itPlayer), libCore_gv_playerGroupFromPlayer[lv_itPlayer]);

        TextExpressionSetToken("Param/Expression/lib_UIUI_F5312A72", "A", IntToText(lv_itPlayer));

        libNtve_gf_SetDialogItemText(libUIUI_gv_uIDebugPanel.lv_playerNumber, TextExpressionAssemble("Param/Expression/lib_UIUI_F5312A72"), libCore_gv_playerGroupFromPlayer[lv_itPlayer]);

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIDebugPanelPlayerNumber_Init () {

    libUIUI_gt_UIDebugPanelPlayerNumber = TriggerCreate("libUIUI_gt_UIDebugPanelPlayerNumber_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - End of Match Awards Panel Initialize

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIEndofMatchAwardsPanelInitialize_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itAwardWinners;

    int lv_currAwardPanel;



    // Automatic Variable Declarations

    const int auto1A5B0C20_ae = 4;

    const int auto1A5B0C20_ai = 1;



    // Variable Initialization

    lv_currAwardPanel = c_invalidDialogControlId;



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenUpperContainer/EndOfGameAwardsPanel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel = DialogControlLastCreated();

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlHookup(libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel, c_triggerControlTypeButton, "SkipButton");

    libUIUI_gv_EndofGameAwardsPanel.lv_skipButton = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel, c_triggerControlTypeButton, "LeaveButton");

    libUIUI_gv_EndofGameAwardsPanel.lv_exitButton = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel, c_triggerControlTypePanel, "AwardWinnerContainerMVP");

    libUIUI_gv_uIMVPSecondaryPanels[0].lv_panelContainer = DialogControlLastCreated();

    lv_currAwardPanel = DialogControlLastCreated();

    DialogControlHookup(lv_currAwardPanel, c_triggerControlTypeLabel, "PlayerNameFrame/PlayerNameLabel");

    libUIUI_gv_EndofGameAwardsPanel.lv_mVPSecondaryPlayerName = DialogControlLastCreated();

    DialogControlHookup(lv_currAwardPanel, c_triggerControlTypeImage, "PlayerNameFrame/BoostIcon");

    libUIUI_gv_EndofGameAwardsPanel.lv_mVPSecondaryPlayerBoostIcon = DialogControlLastCreated();

    DialogControlHookup(lv_currAwardPanel, c_triggerControlTypeLabel, "HeroNameLabel");

    libUIUI_gv_EndofGameAwardsPanel.lv_mVPSecondaryHeroName = DialogControlLastCreated();

    DialogControlHookup(lv_currAwardPanel, c_triggerControlTypeLabel, "MVPTitleLabel");

    libUIUI_gv_EndofGameAwardsPanel.lv_mVPSecondaryHeading = DialogControlLastCreated();

    DialogControlHookup(lv_currAwardPanel, c_triggerControlTypeImage, "AwardIcon");

    libUIUI_gv_uIMVPSecondaryPanels[0].lv_awardIcon = DialogControlLastCreated();

    DialogControlHookup(lv_currAwardPanel, c_triggerControlTypeButton, "VoterButton");

    libUIUI_gv_uIMVPSecondaryPanels[0].lv_voterButton = DialogControlLastCreated();

    DialogControlHookup(lv_currAwardPanel, c_triggerControlTypeLabel, "VoterButton/VoteCounter");

    libUIUI_gv_uIMVPSecondaryPanels[0].lv_voterButtonLabel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel, c_triggerControlTypePanel, "MVPStats");

    libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypeLabel, "MVPLabel");

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPHeading = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypeLabel, "MVPPlayerName");

    libUIUI_gv_uIMVPWinnerPanel.lv_playerNameLabel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypeLabel, "MVPHeroName");

    libUIUI_gv_uIMVPWinnerPanel.lv_heroNameLabel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypeLabel, "MVPStat1ValueLabel");

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat1ValueLabel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypeLabel, "MVPStat2ValueLabel");

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat2ValueLabel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypeLabel, "MVPStat3ValueLabel");

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat3ValueLabel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypeLabel, "MVPStat1Label");

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat1NameLabel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypeLabel, "MVPStat2Label");

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat2NameLabel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypeLabel, "MVPStat3Label");

    libUIUI_gv_uIMVPWinnerPanel.lv_mVPStat3NameLabel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypeLabel, "KillsValueLabel");

    libUIUI_gv_uIMVPWinnerPanel.lv_killsValueLabel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypeLabel, "AssistsValueLabel");

    libUIUI_gv_uIMVPWinnerPanel.lv_assistsValueLabel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypeLabel, "DeathsValueLabel");

    libUIUI_gv_uIMVPWinnerPanel.lv_deathsValueLabel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypeLabel, "KillsLabel");

    libUIUI_gv_uIMVPWinnerPanel.lv_killsLabel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypeLabel, "AssistsLabel");

    libUIUI_gv_uIMVPWinnerPanel.lv_assistsLabel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIMVPWinnerPanel.lv_statsPanel, c_triggerControlTypeLabel, "DeathsLabel");

    libUIUI_gv_uIMVPWinnerPanel.lv_deathsLabel = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel, c_triggerControlTypeHeroCutscene, "MVPCutsceneFrame/HeroCutscene");

    libUIUI_gv_uIMVPSecondaryPanels[0].lv_heroCutscene = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel, c_triggerControlTypeHeroCutscene, "MVPCutsceneFrame/BannerCutscene");

    libUIUI_gv_uIMVPSecondaryPanels[0].lv_BannerCutscne = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel, c_triggerControlTypePanel, "SecondaryAwardStats");

    libUIUI_gv_EndofGameAwardsPanel.lv_secondaryContainer = DialogControlLastCreated();

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlHookup(libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel, c_triggerControlTypePanel, "SecondaryAwardCutscenes");

    libUIUI_gv_EndofGameAwardsPanel.lv_secondaryCutscenesContainer = DialogControlLastCreated();

    lv_itAwardWinners = 1;

    for ( ; ( (auto1A5B0C20_ai >= 0 && lv_itAwardWinners <= auto1A5B0C20_ae) || (auto1A5B0C20_ai < 0 && lv_itAwardWinners >= auto1A5B0C20_ae) ) ; lv_itAwardWinners += auto1A5B0C20_ai ) {

        DialogControlHookup(libUIUI_gv_EndofGameAwardsPanel.lv_secondaryContainer, c_triggerControlTypePanel, "AwardWinnerContainer" + IntToString(lv_itAwardWinners));

        lv_currAwardPanel = DialogControlLastCreated();

        libUIUI_gv_uIMVPSecondaryPanels[lv_itAwardWinners].lv_panelContainer = DialogControlLastCreated();

        DialogControlHookup(libUIUI_gv_EndofGameAwardsPanel.lv_secondaryCutscenesContainer, c_triggerControlTypeHeroCutscene, "HeroCutsceneContainer" + IntToString(lv_itAwardWinners) + "/HeroCutscene");

        libUIUI_gv_uIMVPSecondaryPanels[lv_itAwardWinners].lv_heroCutscene = DialogControlLastCreated();

        DialogControlHookup(lv_currAwardPanel, c_triggerControlTypeLabel, "AwardTitleLabel");

        libUIUI_gv_uIMVPSecondaryPanels[lv_itAwardWinners].lv_awardTitleLabel = DialogControlLastCreated();

        DialogControlHookup(lv_currAwardPanel, c_triggerControlTypeLabel, "HeroNameLabel");

        libUIUI_gv_uIMVPSecondaryPanels[lv_itAwardWinners].lv_heroNameLabel = DialogControlLastCreated();

        DialogControlHookup(lv_currAwardPanel, c_triggerControlTypeLabel, "PlayerNameFrame/PlayerNameLabel");

        libUIUI_gv_uIMVPSecondaryPanels[lv_itAwardWinners].lv_playerNameLabel = DialogControlLastCreated();

        DialogControlHookup(lv_currAwardPanel, c_triggerControlTypeImage, "PlayerNameFrame/BoostIcon");

        libUIUI_gv_uIMVPSecondaryPanels[lv_itAwardWinners].lv_playerBoostIcon = DialogControlLastCreated();

        DialogControlHookup(lv_currAwardPanel, c_triggerControlTypeLabel, "AwardStatValueLabel");

        libUIUI_gv_uIMVPSecondaryPanels[lv_itAwardWinners].lv_awardStatLabel = DialogControlLastCreated();

        DialogControlHookup(lv_currAwardPanel, c_triggerControlTypePanel, "AwardTooltipHitBox");

        libUIUI_gv_uIMVPSecondaryPanels[lv_itAwardWinners].lv_awardTooltipHitbox = DialogControlLastCreated();

        DialogControlHookup(lv_currAwardPanel, c_triggerControlTypeImage, "AwardIcon");

        libUIUI_gv_uIMVPSecondaryPanels[lv_itAwardWinners].lv_awardIcon = DialogControlLastCreated();

        DialogControlHookup(lv_currAwardPanel, c_triggerControlTypeButton, "VoterButton");

        libUIUI_gv_uIMVPSecondaryPanels[lv_itAwardWinners].lv_voterButton = DialogControlLastCreated();

        DialogControlHookup(lv_currAwardPanel, c_triggerControlTypeLabel, "VoterButton/VoteCounter");

        libUIUI_gv_uIMVPSecondaryPanels[lv_itAwardWinners].lv_voterButtonLabel = DialogControlLastCreated();

    }

    DialogControlSetAnimationState(libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], "VotingState", "Disabled");

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIEndofMatchAwardsPanelInitialize_Init () {

    libUIUI_gt_UIEndofMatchAwardsPanelInitialize = TriggerCreate("libUIUI_gt_UIEndofMatchAwardsPanelInitialize_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - End of Match Awards Disabled

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIEndofMatchAwardsDisabled_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlSetEnabled(libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel, PlayerGroupAll(), false);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIEndofMatchAwardsDisabled_Init () {

    libUIUI_gt_UIEndofMatchAwardsDisabled = TriggerCreate("libUIUI_gt_UIEndofMatchAwardsDisabled_Func");

    libGame_gf_EndofMatchAwardsDisabled(libUIUI_gt_UIEndofMatchAwardsDisabled);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - End of Match Awards - Force Sync

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIEndofMatchAwardsForceSync_Func (bool testConds, bool runActions) {

    // Variable Declarations

    playergroup lv_forceSyncGroup;

    int lv_iterator;



    // Automatic Variable Declarations

    const int auto160A0EA3_ae = libCore_gv_bALMaxPlayers;

    const int auto160A0EA3_ai = 1;



    // Variable Initialization

    lv_forceSyncGroup = PlayerGroupEmpty();



    // Actions

    if (!runActions) {

        return true;

    }



    Wait(2.6, c_timeGame);

    if ((libUIUI_gv_uIEndOfMatchAwardsMVPSequenceEnded == true)) {

        lv_forceSyncGroup = PlayerGroupAll();

    }

    else {

        lv_iterator = 1;

        for ( ; ( (auto160A0EA3_ai >= 0 && lv_iterator <= auto160A0EA3_ae) || (auto160A0EA3_ai < 0 && lv_iterator >= auto160A0EA3_ae) ) ; lv_iterator += auto160A0EA3_ai ) {

            if ((libUIUI_gv_uIEndOfMatchAwardsPlayerHasSkipped[lv_iterator] == true)) {

                PlayerGroupAdd(lv_forceSyncGroup, lv_iterator);

            }



        }

        if ((libUIUI_gv_uIEndOfMatchAwardsObserverHasSkipped == true)) {

            PlayerGroupAdd(lv_forceSyncGroup, libCore_gv_oBSERVER_ObserverUIPlayer);

        }



    }

    libUIUI_gf_UIEndOfMatchAwardsSyncUpvoteStatus(lv_forceSyncGroup);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIEndofMatchAwardsForceSync_Init () {

    libUIUI_gt_UIEndofMatchAwardsForceSync = TriggerCreate("libUIUI_gt_UIEndofMatchAwardsForceSync_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - End ofMatch Awards - UpVoteButtonClicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIEndofMatchAwardsUpVoteButtonClicked_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_idButtonUsed;

    int lv_boolEpicHit;

    int lv_boolLegendHit;

    int lv_receivingPlayerID;

    playergroup lv_currentViewingPlayerGroup;

    int lv_itSkippedPlayerCheck;



    // Automatic Variable Declarations

    int auto37F9178D_val;

    const int autoACDF2062_ae = libCore_gv_bALMaxPlayers;

    const int autoACDF2062_ai = 1;

    int auto922465EA_val;

    playergroup auto825F3FF8_g;

    int auto825F3FF8_var;

    playergroup auto3AAC2C56_g;

    int auto3AAC2C56_var;



    // Variable Initialization

    lv_currentViewingPlayerGroup = PlayerGroupEmpty();



    // Conditions

    if (testConds) {

        if (!(((EventDialogControl() == libUIUI_gv_uIMVPSecondaryPanels[0].lv_voterButton) || (EventDialogControl() == libUIUI_gv_uIMVPSecondaryPanels[1].lv_voterButton) || (EventDialogControl() == libUIUI_gv_uIMVPSecondaryPanels[2].lv_voterButton) || (EventDialogControl() == libUIUI_gv_uIMVPSecondaryPanels[3].lv_voterButton) || (EventDialogControl() == libUIUI_gv_uIMVPSecondaryPanels[4].lv_voterButton)))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    if ((libUIUI_gv_uIEndOfMatchAwardsPlayerHasVoted[EventPlayer()] == true)) {

        return true;

    }



    if ((libCore_gv_dEBUGDebuggingEnabled == false)) {

        libUIUI_gv_uIEndOfMatchAwardsPlayerHasVoted[EventPlayer()] = true;

        DialogControlSetAnimationState(libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel, libCore_gv_playerGroupFromPlayer[EventPlayer()], "VotingState", "Disabled");

    }



    auto37F9178D_val = EventDialogControl();

    if (auto37F9178D_val == libUIUI_gv_uIMVPSecondaryPanels[0].lv_voterButton) {

        lv_idButtonUsed = 0;

        lv_receivingPlayerID = libGame_gv_mVPPlayer;

    }

    else if (auto37F9178D_val == libUIUI_gv_uIMVPSecondaryPanels[1].lv_voterButton) {

        lv_idButtonUsed = 1;

        lv_receivingPlayerID = libGame_gv_finalSecondaryAwardsList[1].lv_winner;

    }

    else if (auto37F9178D_val == libUIUI_gv_uIMVPSecondaryPanels[2].lv_voterButton) {

        lv_idButtonUsed = 2;

        lv_receivingPlayerID = libGame_gv_finalSecondaryAwardsList[2].lv_winner;

    }

    else if (auto37F9178D_val == libUIUI_gv_uIMVPSecondaryPanels[3].lv_voterButton) {

        lv_idButtonUsed = 3;

        lv_receivingPlayerID = libGame_gv_finalSecondaryAwardsList[3].lv_winner;

    }

    else if (auto37F9178D_val == libUIUI_gv_uIMVPSecondaryPanels[4].lv_voterButton) {

        lv_idButtonUsed = 4;

        lv_receivingPlayerID = libGame_gv_finalSecondaryAwardsList[4].lv_winner;

    }

    else {

        if ((libCore_gv_dEBUGDebuggingEnabled == true)) {

            lv_idButtonUsed = 0;

            lv_receivingPlayerID = libGame_gv_mVPPlayer;

        }



    }

    if ((libUIUI_gv_uIEndOfMatchAwardsMVPSequenceEnded == true)) {

        lv_currentViewingPlayerGroup = PlayerGroupAll();

    }

    else {

        lv_itSkippedPlayerCheck = 1;

        for ( ; ( (autoACDF2062_ai >= 0 && lv_itSkippedPlayerCheck <= autoACDF2062_ae) || (autoACDF2062_ai < 0 && lv_itSkippedPlayerCheck >= autoACDF2062_ae) ) ; lv_itSkippedPlayerCheck += autoACDF2062_ai ) {

            if ((libUIUI_gv_uIEndOfMatchAwardsPlayerHasSkipped[lv_itSkippedPlayerCheck] == true)) {

                PlayerGroupAdd(lv_currentViewingPlayerGroup, lv_itSkippedPlayerCheck);

            }



        }

        if ((libUIUI_gv_uIEndOfMatchAwardsObserverHasSkipped == true)) {

            PlayerGroupAdd(lv_currentViewingPlayerGroup, libCore_gv_oBSERVER_ObserverUIPlayer);

        }



    }

    libUIUI_gv_uIEndOfMatchAwardsAnyVoteCast = true;

    libUIUI_gv_uIMVPSecondaryPanels[lv_idButtonUsed].lv_voteCount = (1 + libUIUI_gv_uIMVPSecondaryPanels[lv_idButtonUsed].lv_voteCount);

    libNtve_gf_SetDialogItemText(libUIUI_gv_uIMVPSecondaryPanels[lv_idButtonUsed].lv_voterButtonLabel, IntToText(libUIUI_gv_uIMVPSecondaryPanels[lv_idButtonUsed].lv_voteCount), lv_currentViewingPlayerGroup);

    auto922465EA_val = libUIUI_gv_uIMVPSecondaryPanels[lv_idButtonUsed].lv_voteCount;

    if (auto922465EA_val == 1) {

        DialogControlSendAnimationEvent(libUIUI_gv_uIMVPSecondaryPanels[lv_idButtonUsed].lv_voterButton, lv_currentViewingPlayerGroup, "TurnOnVoteCounters");

        SoundPlayForPlayer(SoundLink("UI_Game_MVP_Vote01", -1), c_maxPlayers, lv_currentViewingPlayerGroup, 100.0, 0.0);

    }

    else if (auto922465EA_val == 2) {

        SoundPlayForPlayer(SoundLink("UI_Game_MVP_Vote02", -1), c_maxPlayers, lv_currentViewingPlayerGroup, 100.0, 0.0);

    }

    else if (auto922465EA_val == 3) {

        SoundPlayForPlayer(SoundLink("UI_Game_MVP_Vote03", -1), c_maxPlayers, lv_currentViewingPlayerGroup, 100.0, 0.0);

        SoundPlayForPlayer(SoundLink("UI_Game_MVP_Vote_Epic", -1), c_maxPlayers, lv_currentViewingPlayerGroup, 100.0, 0.0);

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lv_idButtonUsed].lv_heroCutscene, lv_currentViewingPlayerGroup, "AwardTier", "Tier1");

        DialogControlSendAnimationEvent(libUIUI_gv_uIMVPSecondaryPanels[lv_idButtonUsed].lv_voterButton, lv_currentViewingPlayerGroup, "Tier1EpicTransition");

        lv_boolEpicHit = 1;

    }

    else if (auto922465EA_val == 4) {

        SoundPlayForPlayer(SoundLink("UI_Game_MVP_Vote04", -1), c_maxPlayers, lv_currentViewingPlayerGroup, 100.0, 0.0);

    }

    else if (auto922465EA_val == 5) {

        SoundPlayForPlayer(SoundLink("UI_Game_MVP_Vote05", -1), c_maxPlayers, lv_currentViewingPlayerGroup, 100.0, 0.0);

    }

    else if (auto922465EA_val == 6) {

        SoundPlayForPlayer(SoundLink("UI_Game_MVP_Vote06", -1), c_maxPlayers, lv_currentViewingPlayerGroup, 100.0, 0.0);

    }

    else if (auto922465EA_val == 7) {

        SoundPlayForPlayer(SoundLink("UI_Game_MVP_Vote07", -1), c_maxPlayers, lv_currentViewingPlayerGroup, 100.0, 0.0);

        SoundPlayForPlayer(SoundLink("UI_Game_MVP_Vote_Legendary", -1), c_maxPlayers, lv_currentViewingPlayerGroup, 100.0, 0.0);

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lv_idButtonUsed].lv_heroCutscene, lv_currentViewingPlayerGroup, "AwardTier", "Tier2");

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lv_idButtonUsed].lv_panelContainer, lv_currentViewingPlayerGroup, "ColorState", "Yellow");

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lv_idButtonUsed].lv_panelContainer, lv_currentViewingPlayerGroup, "AwardLabelsColor", "Yellow");

        DialogControlSetAnimationState(libUIUI_gv_uIMVPSecondaryPanels[lv_idButtonUsed].lv_awardIcon, lv_currentViewingPlayerGroup, "IconState", (libGame_gv_finalSecondaryAwardsList[lv_idButtonUsed].lv_awardBadgeIndex + "2"));

        lv_boolLegendHit = 1;

    }

    else if (auto922465EA_val == 8) {

        SoundPlayForPlayer(SoundLink("UI_Game_MVP_Vote08", -1), c_maxPlayers, lv_currentViewingPlayerGroup, 100.0, 0.0);

    }

    else if (auto922465EA_val == 9) {

        SoundPlayForPlayer(SoundLink("UI_Game_MVP_Vote09", -1), c_maxPlayers, lv_currentViewingPlayerGroup, 100.0, 0.0);

    }

    else if (auto922465EA_val == 10) {

        SoundPlayForPlayer(SoundLink("UI_Game_MVP_Vote10", -1), c_maxPlayers, lv_currentViewingPlayerGroup, 100.0, 0.0);

    }

    else {

    }

    if ((lv_boolEpicHit == 1)) {

        Wait(0.55, c_timeGame);

        auto825F3FF8_g = lv_currentViewingPlayerGroup;

        auto825F3FF8_var = -1;

        while (true) {

            	auto825F3FF8_var = PlayerGroupNextPlayer(auto825F3FF8_g, auto825F3FF8_var);

            	if (auto825F3FF8_var<0) { break; }

            	libSond_gf_SoundAnnouncerVOPlayAnnouncerVOForPlayer(libCore_ge_AnnouncerVOEvents_MVPVoteEpic, auto825F3FF8_var);

        }

    }



    if ((lv_boolLegendHit == 1)) {

        Wait(0.706, c_timeGame);

        auto3AAC2C56_g = lv_currentViewingPlayerGroup;

        auto3AAC2C56_var = -1;

        while (true) {

            	auto3AAC2C56_var = PlayerGroupNextPlayer(auto3AAC2C56_g, auto3AAC2C56_var);

            	if (auto3AAC2C56_var<0) { break; }

            	libSond_gf_SoundAnnouncerVOPlayAnnouncerVOForPlayer(libCore_ge_AnnouncerVOEvents_MVPVoteLegendary, auto3AAC2C56_var);

        }

    }



    StatEventCreate("EndOfGameUpVotesCollected");

    StatEventAddDataInt(StatEventLastCreated(), "Player", lv_receivingPlayerID);

    StatEventAddDataInt(StatEventLastCreated(), "Voter", EventPlayer());

    StatEventAddDataInt(StatEventLastCreated(), "UpVotesReceived", libUIUI_gv_uIMVPSecondaryPanels[lv_idButtonUsed].lv_voteCount);

    StatEventSend(StatEventLastCreated());

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIEndofMatchAwardsUpVoteButtonClicked_Init () {

    libUIUI_gt_UIEndofMatchAwardsUpVoteButtonClicked = TriggerCreate("libUIUI_gt_UIEndofMatchAwardsUpVoteButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIEndofMatchAwardsUpVoteButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - End of Match Awards - SkipButtonClicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIEndofMatchAwardsSkipButtonClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!(((EventDialogControl() == libUIUI_gv_EndofGameAwardsPanel.lv_skipButton)))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    if ((EventPlayer() == libCore_gv_oBSERVER_ObserverUIPlayer)) {

        libUIUI_gv_uIEndOfMatchAwardsObserverHasSkipped = true;

    }

    else {

        libUIUI_gv_uIEndOfMatchAwardsPlayerHasSkipped[EventPlayer()] = true;

    }

    DialogControlSendAnimationEvent(libUIUI_gv_EndofGameAwardsPanel.lv_mainPanel, libCore_gv_playerGroupFromPlayer[EventPlayer()], "SkipMVP");

    libUIUI_gf_UIEndofMatchAwardsSecondaryAwardsReveal(EventPlayer());

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIEndofMatchAwardsSkipButtonClicked_Init () {

    libUIUI_gt_UIEndofMatchAwardsSkipButtonClicked = TriggerCreate("libUIUI_gt_UIEndofMatchAwardsSkipButtonClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIEndofMatchAwardsSkipButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Floating Combat Text - Shield

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIFloatingCombatTextShield_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_impactPlayer;

    unit lv_impactUnit;

    int lv_launchPlayer;

    unit lv_launchUnit;

    unit lv_casterUnit;

    unit lv_targetUnit;

    fixed lv_amount;

    playergroup lv_vOGroup;

    string lv_shieldBehavior;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_vOGroup = PlayerGroupEmpty();

    lv_shieldBehavior = EventUnitBehavior();



    // Conditions

    if (testConds) {

        if (!((libSprt_gv_dEBUGCombatTextEnabled == true))) {

            return false;

        }



        if (!((UnitIsAlive(UnitBehaviorEffectUnit(EventUnit(), lv_shieldBehavior, c_effectUnitTarget, 0)) == true))) {

            return false;

        }



        if (!((UnitHasBehavior2(UnitBehaviorEffectUnit(EventUnit(), lv_shieldBehavior, c_effectUnitTarget, 0), "UsingVehicle") == false))) {

            return false;

        }



        if (!((CatalogFieldValueGetAsInt(c_gameCatalogBehavior, lv_shieldBehavior, "DamageResponse.SuppressFloatersCausedByBehavior", c_playerAny) != 0))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_impactUnit = UnitBehaviorEffectUnit(EventUnit(), lv_shieldBehavior, c_effectUnitTarget, 0);

    lv_impactPlayer = UnitGetOwner(lv_impactUnit);

    lv_launchUnit = UnitBehaviorEffectUnit(EventUnit(), lv_shieldBehavior, c_effectUnitCaster, 0);

    lv_launchPlayer = UnitGetOwner(lv_launchUnit);

    lv_targetUnit = lv_impactUnit;

    lv_casterUnit = lv_casterUnit;

    if ((Round(CatalogFieldValueGetAsFixed(c_gameCatalogBehavior, lv_shieldBehavior, "DamageResponse.ModifyLimit", lv_launchPlayer)) <= 0.0)) {

        if ((Round(CatalogFieldValueGetAsFixed(c_gameCatalogBehavior, lv_shieldBehavior, "DamageResponse.ModifyLimitVitalMaxFractionArray[" + IntToString(2) + "]", lv_launchPlayer)) <= 0.0)) {

            lv_amount = CatalogFieldValueGetAsFixed(c_gameCatalogBehavior, lv_shieldBehavior, "DamageResponse.ModifyLimitVitalMaxFractionArray[" + IntToString(0) + "]", lv_launchPlayer);

            lv_amount = Round((lv_amount * UnitGetPropertyFixed(lv_targetUnit, c_unitPropLifeMax, c_unitPropCurrent)));

        }

        else {

            lv_amount = CatalogFieldValueGetAsFixed(c_gameCatalogBehavior, lv_shieldBehavior, "DamageResponse.ModifyLimitVitalMaxFractionArray[" + IntToString(2) + "]", lv_launchPlayer);

            lv_amount = Round((lv_amount * UnitGetPropertyFixed(lv_targetUnit, c_unitPropEnergyMax, c_unitPropCurrent)));

        }

    }

    else {

        lv_amount = Round(CatalogFieldValueGetAsFixed(c_gameCatalogBehavior, lv_shieldBehavior, "DamageResponse.ModifyLimit", lv_launchPlayer));

    }

    if ((lv_amount <= 0.0)) {

        return true;

    }



    if ((lv_launchPlayer != libCore_gv_cOMPUTER_TeamOrder) && (lv_launchPlayer != libCore_gv_cOMPUTER_TeamChaos)) {

        PlayerGroupAdd(lv_vOGroup, lv_impactPlayer);

        PlayerGroupAdd(lv_vOGroup, lv_launchPlayer);

        if ((CatalogFieldValueGet(c_gameCatalogBehavior, lv_shieldBehavior, "DamageResponse.SuppressFloatersCausedByBehavior", lv_launchPlayer) == IntToString(1))) {

            FloatingCombatElementCreateTextAtUnit(lv_vOGroup, "FloatingCombatElements/FloatingCombatNormalAmountReceived", "ShieldState", lv_impactUnit, FixedToText(lv_amount, 0), libNtve_gv_FloatingCombatTextAutoRandomSeed);

        }



        if ((lv_impactPlayer != lv_launchPlayer)) {

            libSond_gf_HeroVOPlayHealThankYouLine(UnitGetOwner(lv_targetUnit), lv_vOGroup);

        }



    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIFloatingCombatTextShield_Init () {

    libUIUI_gt_UIFloatingCombatTextShield = TriggerCreate("libUIUI_gt_UIFloatingCombatTextShield_Func");

    TriggerAddEventUnitBehaviorChangeFromCategory(libUIUI_gt_UIFloatingCombatTextShield, null, c_behaviorCategoryBuffTempMaxHealth, c_unitBehaviorChangeIncrease);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Floating Combat Text - Missed

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIFloatingCombatTextMissed_Func (bool testConds, bool runActions) {

    // Variable Declarations

    playergroup lv_players;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_players = PlayerGroupEmpty();



    // Conditions

    if (testConds) {

        if (!((libSprt_gv_dEBUGCombatTextEnabled == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    if (((UnitTypeTestAttribute(UnitGetType(EventPlayerEffectUsedUnit(c_effectUnitSource)), c_unitAttributeHeroic) == true) || (UnitTypeTestAttribute(UnitGetType(EventPlayerEffectUsedUnit(c_effectUnitTarget)), c_unitAttributeHeroic) == true))) {

        if (((EventPlayerEffectUsed() == "BlindMissedDummy"))) {

            if ((UnitIsValid(EventPlayerEffectUsedUnit(c_effectUnitTarget)) == false)) {

                return true;

            }

            else {

                PlayerGroupAdd(lv_players, EventPlayerEffectUsedUnitOwner(c_effectPlayerCaster));

                PlayerGroupAdd(lv_players, EventPlayerEffectUsedUnitOwner(c_effectPlayerSource));

                FloatingCombatElementCreateTextAtUnit(lv_players, "FloatingCombatElements/FloatingCombatElementTemplate", "", EventPlayerEffectUsedUnit(c_effectUnitTarget), StringExternal("Param/Value/lib_UIUI_23A2E25C"), libNtve_gv_FloatingCombatTextAutoRandomSeed);

            }

        }

        else {

            if ((UnitIsValid(EventPlayerEffectUsedUnit(c_effectUnitSource)) == false)) {

                return true;

            }

            else {

                PlayerGroupAdd(lv_players, EventPlayerEffectUsedUnitOwner(c_effectPlayerTarget));

                PlayerGroupAdd(lv_players, EventPlayerEffectUsedUnitOwner(c_effectPlayerCaster));

                FloatingCombatElementCreateTextAtUnit(lv_players, "FloatingCombatElements/FloatingCombatElementTemplate", "", EventPlayerEffectUsedUnit(c_effectUnitSource), StringExternal("Param/Value/lib_UIUI_525777A6"), libNtve_gv_FloatingCombatTextAutoRandomSeed);

            }

        }

    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIFloatingCombatTextMissed_Init () {

    libUIUI_gt_UIFloatingCombatTextMissed = TriggerCreate("libUIUI_gt_UIFloatingCombatTextMissed_Func");

    TriggerAddEventPlayerEffectUsed(libUIUI_gt_UIFloatingCombatTextMissed, c_playerAny, "IllidanEvasionDummyEffectSet");

    TriggerAddEventPlayerEffectUsed(libUIUI_gt_UIFloatingCombatTextMissed, c_playerAny, "BlindMissedDummy");

    TriggerAddEventPlayerEffectUsed(libUIUI_gt_UIFloatingCombatTextMissed, c_playerAny, "BlindMissedDummyCaster");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Floating Combat Text - Blocked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIFloatingCombatTextBlocked_Func (bool testConds, bool runActions) {

    // Variable Declarations

    playergroup lv_players;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_players = PlayerGroupEmpty();



    // Conditions

    if (testConds) {

        if (!((libSprt_gv_dEBUGCombatTextEnabled == true))) {

            return false;

        }



        if (!((UnitTypeTestAttribute(UnitGetType(EventPlayerEffectUsedUnit(c_effectUnitTarget)), c_unitAttributeStructure) == false))) {

            return false;

        }



        if (!((UnitTypeTestAttribute(UnitGetType(EventPlayerEffectUsedUnit(c_effectUnitTarget)), c_unitAttributeHeroic) == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    PlayerGroupAdd(lv_players, EventPlayerEffectUsedUnitOwner(c_effectPlayerTarget));

    PlayerGroupAdd(lv_players, EventPlayerEffectUsedUnitOwner(c_effectPlayerCaster));

    PlayerGroupAdd(lv_players, EventPlayerEffectUsedUnitOwner(c_effectPlayerSource));

    FloatingCombatElementCreateTextAtUnit(lv_players, "FloatingCombatElements/FloatingCombatElementTemplate", "", EventPlayerEffectUsedUnit(c_effectUnitSource), StringExternal("Param/Value/lib_UIUI_AC5EFAA0"), libNtve_gv_FloatingCombatTextAutoRandomSeed);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIFloatingCombatTextBlocked_Init () {

    libUIUI_gt_UIFloatingCombatTextBlocked = TriggerCreate("libUIUI_gt_UIFloatingCombatTextBlocked_Func");

    TriggerAddEventPlayerEffectUsed(libUIUI_gt_UIFloatingCombatTextBlocked, c_playerAny, "BlockDummyDamage");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Floating Combat Text - Unrevealable

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIFloatingCombatTextUnrevealable_Func (bool testConds, bool runActions) {

    // Variable Declarations

    playergroup lv_players;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_players = PlayerGroupEmpty();



    // Conditions

    if (testConds) {

        if (!((libSprt_gv_dEBUGCombatTextEnabled == true))) {

            return false;

        }



        if (!((UnitIsAlive(EventPlayerEffectUsedUnit(c_effectUnitSource)) == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    PlayerGroupAdd(lv_players, EventPlayerEffectUsedUnitOwner(c_effectPlayerTarget));

    PlayerGroupAdd(lv_players, EventPlayerEffectUsedUnitOwner(c_effectPlayerCaster));

    PlayerGroupAdd(lv_players, EventPlayerEffectUsedUnitOwner(c_effectPlayerSource));

    FloatingCombatElementCreateTextAtUnit(lv_players, "FloatingCombatElements/FloatingCombatElementTemplate", "", EventPlayerEffectUsedUnit(c_effectUnitSource), StringExternal("Param/Value/lib_UIUI_80508741"), libNtve_gv_FloatingCombatTextAutoRandomSeed);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIFloatingCombatTextUnrevealable_Init () {

    libUIUI_gt_UIFloatingCombatTextUnrevealable = TriggerCreate("libUIUI_gt_UIFloatingCombatTextUnrevealable_Func");

    TriggerAddEventPlayerEffectUsed(libUIUI_gt_UIFloatingCombatTextUnrevealable, c_playerAny, "HeroGenericUnrevealableDummy");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Floating Combat Text - Unrevealable Impact

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIFloatingCombatTextUnrevealableImpact_Func (bool testConds, bool runActions) {

    // Variable Declarations

    playergroup lv_players;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_players = PlayerGroupEmpty();



    // Conditions

    if (testConds) {

        if (!((libSprt_gv_dEBUGCombatTextEnabled == true))) {

            return false;

        }



        if (!((UnitIsAlive(EventPlayerEffectUsedUnit(c_effectUnitCaster)) == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    PlayerGroupAdd(lv_players, EventPlayerEffectUsedUnitOwner(c_effectPlayerTarget));

    PlayerGroupAdd(lv_players, EventPlayerEffectUsedUnitOwner(c_effectPlayerCaster));

    PlayerGroupAdd(lv_players, EventPlayerEffectUsedUnitOwner(c_effectPlayerSource));

    FloatingCombatElementCreateTextAtUnit(lv_players, "FloatingCombatElements/FloatingCombatElementTemplate", "", EventPlayerEffectUsedUnit(c_effectUnitTarget), StringExternal("Param/Value/lib_UIUI_93639CC9"), libNtve_gv_FloatingCombatTextAutoRandomSeed);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIFloatingCombatTextUnrevealableImpact_Init () {

    libUIUI_gt_UIFloatingCombatTextUnrevealableImpact = TriggerCreate("libUIUI_gt_UIFloatingCombatTextUnrevealableImpact_Func");

    TriggerAddEventPlayerEffectUsed(libUIUI_gt_UIFloatingCombatTextUnrevealableImpact, c_playerAny, "HeroGenericUnrevealableImpactDummy");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Floating Combat Text - Quest Progress Via Tokens

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIFloatingCombatTextQuestProgressViaTokens_Func (bool testConds, bool runActions) {

    // Variable Declarations

    unit lv_impactUnit;

    unit lv_launchUnit;

    int lv_launchPlayer;

    string lv_questIdentifier;



    // Automatic Variable Declarations

    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    if ((UnitHasBehavior2(EventUnit(), "AbathurUltimateEvolutionControlBehavior") == true)) {

        return true;

    }



    lv_impactUnit = EventUnitTokenContextUnit();

    lv_launchUnit = EventUnit();

    lv_launchPlayer = UnitGetOwner(lv_launchUnit);

    lv_questIdentifier = EventUnitTokenBehavior();

    if ((lv_launchPlayer <= libCore_gv_bALMaxPlayers) && (lv_launchPlayer > 0)) {

        if ((libNtve_gf_UnitIsVisibleToPlayer(lv_impactUnit, lv_launchPlayer) == true)) {

            FloatingCombatElementCreateTextAtPointWithId(libCore_gv_playerGroupFromPlayer[lv_launchPlayer], "FloatingCombatElements/FloatingCombatQuestProgress", "", UnitGetPosition(lv_impactUnit), null, libNtve_gv_FloatingCombatTextAutoRandomSeed, (lv_questIdentifier));

        }

        else {

            FloatingCombatElementCreateTextAtPointWithId(libCore_gv_playerGroupFromPlayer[lv_launchPlayer], "FloatingCombatElements/FloatingCombatQuestProgress", "", UnitGetPosition(lv_launchUnit), null, libNtve_gv_FloatingCombatTextAutoRandomSeed, (lv_questIdentifier));

        }

    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIFloatingCombatTextQuestProgressViaTokens_Init () {

    libUIUI_gt_UIFloatingCombatTextQuestProgressViaTokens = TriggerCreate("libUIUI_gt_UIFloatingCombatTextQuestProgressViaTokens_Func");

    TriggerAddEventUnitToken(libUIUI_gt_UIFloatingCombatTextQuestProgressViaTokens, "QuestIncrease", null, null);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Floating Combat Text - Quest Progress Via Effect

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIFloatingCombatTextQuestProgressViaEffect_Func (bool testConds, bool runActions) {

    // Variable Declarations

    unit lv_impactUnit;

    unit lv_launchUnit;

    int lv_launchPlayer;

    string lv_questIdentifier;



    // Automatic Variable Declarations

    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    lv_impactUnit = EventPlayerEffectUsedUnit(c_effectUnitCaster);

    lv_launchUnit = EventPlayerEffectUsedUnit(c_effectUnitCaster);

    lv_launchPlayer = UnitGetOwner(lv_launchUnit);

    if ((lv_launchPlayer <= libCore_gv_bALMaxPlayers) && (lv_launchPlayer > 0)) {

        if ((libNtve_gf_UnitIsVisibleToPlayer(lv_impactUnit, lv_launchPlayer) == true)) {

            FloatingCombatElementCreateTextAtPointWithId(libCore_gv_playerGroupFromPlayer[lv_launchPlayer], "FloatingCombatElements/FloatingCombatQuestProgress", "", UnitGetPosition(lv_impactUnit), null, libNtve_gv_FloatingCombatTextAutoRandomSeed, "");

        }

        else {

            FloatingCombatElementCreateTextAtPointWithId(libCore_gv_playerGroupFromPlayer[lv_launchPlayer], "FloatingCombatElements/FloatingCombatQuestProgress", "", UnitGetPosition(lv_launchUnit), null, libNtve_gv_FloatingCombatTextAutoRandomSeed, "");

        }

    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIFloatingCombatTextQuestProgressViaEffect_Init () {

    libUIUI_gt_UIFloatingCombatTextQuestProgressViaEffect = TriggerCreate("libUIUI_gt_UIFloatingCombatTextQuestProgressViaEffect_Func");

    TriggerAddEventPlayerEffectUsed(libUIUI_gt_UIFloatingCombatTextQuestProgressViaEffect, c_playerAny, "TalentQuestProgressDummySet");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Vignette Overlay Initialize

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_VignetteOverlayInitialize_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int[6] lv_panels;

    int lv_currentPanelLayer;



    // Automatic Variable Declarations

    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenLowerContainer/FullscreenVignettePanelOverlay");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_vignetteOverlayPanel.lv_mainDialog = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeCutscene, "VignetteCutscene");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    libUIUI_gv_vignetteOverlayPanel.lv_overlayCutscene = DialogControlLastCreated();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_VignetteOverlayInitialize_Init () {

    libUIUI_gt_VignetteOverlayInitialize = TriggerCreate("libUIUI_gt_VignetteOverlayInitialize_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Fullscreen Overlays Initialize Rework

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_FullscreenOverlaysInitializeRework_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int[6] lv_panels;

    int lv_currentPanelLayer;



    // Automatic Variable Declarations

    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenLowerContainer/FullscreenOverlayImagesPanelRework");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_fullscreenOverlaysPanelRework.lv_mainDialog = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeCutscene, "SpecialOverlayCutscene");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    libUIUI_gv_fullscreenOverlaysPanelRework.lv_overlayCutscene = DialogControlLastCreated();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_FullscreenOverlaysInitializeRework_Init () {

    libUIUI_gt_FullscreenOverlaysInitializeRework = TriggerCreate("libUIUI_gt_FullscreenOverlaysInitializeRework_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Cargo Overlay Initiliaze

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_CargoOverlayInitiliaze_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int[6] lv_panels;

    int lv_currentPanelLayer;

    int lv_i;



    // Automatic Variable Declarations

    const int autoFCC496C9_ae = libCore_gv_bALMaxPlayers;

    const int autoFCC496C9_ai = 1;



    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_i = 1;

    for ( ; ( (autoFCC496C9_ai >= 0 && lv_i <= autoFCC496C9_ae) || (autoFCC496C9_ai < 0 && lv_i >= autoFCC496C9_ae) ) ; lv_i += autoFCC496C9_ai ) {

        DialogControlHookupStandard(c_triggerControlTypePanel, ("UIContainer/FullscreenLowerContainer/CargoOverlay" + IntToString(lv_i)));

        libUIUI_gv_cargoOverlay.lv_cargoOverlay[lv_i] = DialogControlLastCreated();

        DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

        DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

        DialogControlHookup(libUIUI_gv_cargoOverlay.lv_cargoOverlay[lv_i], c_triggerControlTypeCutscene, "SpecialOverlayCutscene");

        libUIUI_gv_cargoOverlay.lv_cargoOverlay_Cutscene[lv_i] = DialogControlLastCreated();

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_CargoOverlayInitiliaze_Init () {

    libUIUI_gt_CargoOverlayInitiliaze = TriggerCreate("libUIUI_gt_CargoOverlayInitiliaze_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Fullscreen Overlays Initialize

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_FullscreenOverlaysInitialize_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int[6] lv_panels;

    int lv_currentPanelLayer;



    // Automatic Variable Declarations

    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenLowerContainer/FullscreenOverlayImagesPanel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

    DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_cOMPUTER_TeamOrder], false);

    DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_cOMPUTER_TeamChaos], false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_fullscreenOverlaysPanel.lv_mainDialog = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "AbathurSymbioteOverlay");

    DialogControlFadeTransparency(DialogControlLastCreated(), PlayerGroupAll(), 0.0, 100.0);

    libUIUI_gv_fullscreenOverlaysPanel.lv_abathurSymbioteOverlay = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "CCOverlay");

    DialogControlFadeTransparency(DialogControlLastCreated(), PlayerGroupAll(), 0.0, 100.0);

    libUIUI_gv_fullscreenOverlaysPanel.lv_cCSplashImage = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "FlashBangOverlay");

    DialogControlFadeTransparency(DialogControlLastCreated(), PlayerGroupAll(), 0.0, 100.0);

    libUIUI_gv_fullscreenOverlaysPanel.lv_flashBangImage = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeCutscene, "SpecialOverlayCutscene");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    libUIUI_gv_fullscreenOverlaysPanel.lv_specialOverlay = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeCutscene, "DeathOverlayCutscene");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    libUIUI_gv_fullscreenOverlaysPanel.lv_deathOverlay = DialogControlLastCreated();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_FullscreenOverlaysInitialize_Init () {

    libUIUI_gt_FullscreenOverlaysInitialize = TriggerCreate("libUIUI_gt_FullscreenOverlaysInitialize_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Fullscreen Overlays Death Overlay Hide Time Expires

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itPlayer;



    // Automatic Variable Declarations

    const int auto3C504770_ae = libCore_gv_bALMaxPlayers;

    const int auto3C504770_ai = 1;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    lv_itPlayer = 1;

    for ( ; ( (auto3C504770_ai >= 0 && lv_itPlayer <= auto3C504770_ae) || (auto3C504770_ai < 0 && lv_itPlayer >= auto3C504770_ae) ) ; lv_itPlayer += auto3C504770_ai ) {

        if ((EventTimer() == libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimer[lv_itPlayer])) {

            DialogControlSetVisible(libUIUI_gv_fullscreenOverlaysPanel.lv_deathOverlay, libCore_gv_playerGroupFromPlayer[lv_itPlayer], false);

            break;

        }



    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires_Init () {

    libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires = TriggerCreate("libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires_Func");

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimer[1]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimer[2]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimer[3]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimer[4]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimer[5]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimer[6]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimer[7]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimer[8]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimer[9]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimer[10]);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Fullscreen Overlays Special Overlay Hide Time Expires

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itPlayer;



    // Automatic Variable Declarations

    const int auto3BBEA73E_ae = libCore_gv_bALMaxPlayers;

    const int auto3BBEA73E_ai = 1;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    lv_itPlayer = 1;

    for ( ; ( (auto3BBEA73E_ai >= 0 && lv_itPlayer <= auto3BBEA73E_ae) || (auto3BBEA73E_ai < 0 && lv_itPlayer >= auto3BBEA73E_ae) ) ; lv_itPlayer += auto3BBEA73E_ai ) {

        if ((EventTimer() == libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimer[lv_itPlayer])) {

            DialogControlSetVisible(libUIUI_gv_fullscreenOverlaysPanel.lv_specialOverlay, libCore_gv_playerGroupFromPlayer[lv_itPlayer], false);

            break;

        }



    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires_Init () {

    libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires = TriggerCreate("libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires_Func");

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimer[1]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimer[2]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimer[3]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimer[4]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimer[5]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimer[6]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimer[7]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimer[8]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimer[9]);

    TriggerAddEventTimer(libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires, libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimer[10]);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Game Over Splash Initialize

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_GameOverSplashInitialize_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int[6] lv_panels;

    int lv_currentPanelLayer;



    // Automatic Variable Declarations

    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/GameOverSplash");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_gameOverSplash.lv_mainPanel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "VictoryBackground");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    libUIUI_gv_gameOverSplash.lv_victoryFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "VictoryBackground/VictoryLabel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_UIUI_33023126"), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "Storm_VictoryLabel_Observer", libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "VictoryBackground/VictoryLabelGlow");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "DefeatBackground");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    libUIUI_gv_gameOverSplash.lv_defeatFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "DefeatBackground/DefeatLabel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_UIUI_E8B2497B"), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "Storm_DefeatLabel_Observer", libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    libUIUI_gv_gameOverSplash.lv_defeatLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "DefeatBackground/DefeatLabelGlow");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_GameOverSplashInitialize_Init () {

    libUIUI_gt_GameOverSplashInitialize = TriggerCreate("libUIUI_gt_GameOverSplashInitialize_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Initialize Game UI Handles

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIInitializeGameUIHandles_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer");

    libUIUI_gv_uIGameUIHandles.lv_gameUIContainer = DialogControlLastCreated();

    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenUpperContainer");

    libUIUI_gv_uIGameUIHandles.lv_fullscreenUpperContainer = DialogControlLastCreated();

    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer");

    libUIUI_gv_uIGameUIHandles.lv_consoleUIContainer = DialogControlLastCreated();

    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsolePanel");

    libUIUI_gv_uIGameUIHandles.lv_consolePanel = DialogControlLastCreated();

    DialogControlHookupStandard(c_triggerControlTypeButton, "UIContainer/ConsoleUIContainer/CommandPanel/CommandButton15");

    libUIUI_gv_uIGameUIHandles.lv_mapMechanicButton = DialogControlLastCreated();

    DialogControlSetSize(libUIUI_gv_uIGameUIHandles.lv_mapMechanicButton, PlayerGroupAll(), 0, 0);

    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/MinimapPanel");

    libUIUI_gv_uIGameUIHandles.lv_minimapPanel = DialogControlLastCreated();

    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullScreenUpperContainer/TargetInfoFrame/TargetInfoPanel");

    libUIUI_gv_uIGameUIHandles.lv_targetInfoPanel = DialogControlLastCreated();

    DialogControlHookupStandard(c_triggerControlTypeButton, "UIContainer/FullscreenUpperContainer/MenuBar/TalentsButton");

    libUIUI_gv_uIGameUIHandles.lv_talentsButton = DialogControlLastCreated();

    DialogControlHookupStandard(c_triggerControlTypeButton, "UIContainer/FullscreenUpperContainer/MenuBar/MenuButton");

    libUIUI_gv_uIGameUIHandles.lv_gameMenuButton = DialogControlLastCreated();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIInitializeGameUIHandles_Init () {

    libUIUI_gt_UIInitializeGameUIHandles = TriggerCreate("libUIUI_gt_UIInitializeGameUIHandles_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Initialize Healing Fountains Help Text

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIInitializeHealingFountainsHelpText_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itPlayer;



    // Automatic Variable Declarations

    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    if ((libUIUI_gv_uIHealingFountainsHelpTextEnabled == true)) {

        libUIUI_gf_UIHealingFountainsHelpTextCreateTextTagsForTeam(libGame_gv_teamOrderIndex_C);

        libUIUI_gf_UIHealingFountainsHelpTextCreateTextTagsForTeam(libGame_gv_teamChaosIndex_C);

    }



    TriggerEnable(libUIUI_gt_UIHealingFountainsHelpTextPlayerUsesHealingFountain, true);

    TriggerEnable(libUIUI_gt_UIHealingFountainsHelpTextTextDisplayController, true);

    TriggerEnable(libUIUI_gt_UIHealingFountainsHelpTextHealingFountainDies, true);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIInitializeHealingFountainsHelpText_Init () {

    libUIUI_gt_UIInitializeHealingFountainsHelpText = TriggerCreate("libUIUI_gt_UIInitializeHealingFountainsHelpText_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Reset Moonwell Text Tag and Animation For Players

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIResetMoonwellTextTagandAnimationForPlayers_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_textTag;

    int lv_itPlayer;



    // Automatic Variable Declarations

    const int autoA3D95D9F_ae = libCore_gv_bALMaxPlayers;

    const int autoA3D95D9F_ai = 1;

    const int auto8403A281_ae = libGame_gv_moonwellMaxMoonwellCount;

    int auto8403A281_var;

    unitgroup autoD1EC9F11_g;

    int autoD1EC9F11_u;

    unit autoD1EC9F11_var;

    const int auto538C2D83_ae = libCore_gv_bALMaxPlayers;

    const int auto538C2D83_ai = 1;



    // Variable Initialization

    lv_textTag = c_textTagNone;



    // Actions

    if (!runActions) {

        return true;

    }



    lv_itPlayer = 1;

    for ( ; ( (autoA3D95D9F_ai >= 0 && lv_itPlayer <= autoA3D95D9F_ae) || (autoA3D95D9F_ai < 0 && lv_itPlayer >= autoA3D95D9F_ae) ) ; lv_itPlayer += autoA3D95D9F_ai ) {

        libGame_gv_moonwellMoonwellonCooldown[lv_itPlayer] = false;

        auto8403A281_var = 1;

        for ( ; auto8403A281_var <= auto8403A281_ae; auto8403A281_var += 1 ) {

            lv_textTag = libGame_gv_moonwellTextTags[lv_itPlayer][auto8403A281_var];

            if ((lv_textTag != c_textTagNone)) {

                TextTagDestroy(lv_textTag);

                libGame_gv_moonwellTextTags[lv_itPlayer][auto8403A281_var] = c_textTagNone;

            }

        }

    }

    UIFlyerHelperOverride(PlayerGroupAll(), libNtve_ge_FlyerHelperDisplay_c_flyerDisplayAll);

    autoD1EC9F11_g = libNtve_gf_UnitsInRegionWithAllianceToPlayerMatchingCondition("TownMoonwell", "TownMoonwellL2", "TownMoonwellL3", UnitGetOwner(EventUnit()), c_unitAllianceAlly, RegionPlayableMap(), UnitFilter(0, 0, (1 << c_targetFilterPlayer) | (1 << c_targetFilterNeutral) | (1 << c_targetFilterEnemy) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);

    autoD1EC9F11_u = UnitGroupCount(autoD1EC9F11_g, c_unitCountAll);

    for (;; autoD1EC9F11_u -= 1) {

        autoD1EC9F11_var = UnitGroupUnitFromEnd(autoD1EC9F11_g, autoD1EC9F11_u);

        if (autoD1EC9F11_var == null) { break; }

        libNtve_gf_SendActorMessageToUnit(autoD1EC9F11_var, "Signal MoonwellReset");

    }

    UIFlyerHelperClearOverride(PlayerGroupAll());

    libUIUI_gf_UIHealingFountainsHelpTextCreateTextTagsForTeam(libGame_gv_teamOrderIndex_C);

    libUIUI_gf_UIHealingFountainsHelpTextCreateTextTagsForTeam(libGame_gv_teamChaosIndex_C);

    lv_itPlayer = 1;

    for ( ; ( (auto538C2D83_ai >= 0 && lv_itPlayer <= auto538C2D83_ae) || (auto538C2D83_ai < 0 && lv_itPlayer >= auto538C2D83_ae) ) ; lv_itPlayer += auto538C2D83_ai ) {

        libUIUI_gf_UIHealingFountainsHelpTextShowHideForPlayer(lv_itPlayer, false);

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIResetMoonwellTextTagandAnimationForPlayers_Init () {

    libUIUI_gt_UIResetMoonwellTextTagandAnimationForPlayers = TriggerCreate("libUIUI_gt_UIResetMoonwellTextTagandAnimationForPlayers_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Healing Fountains Help Text - Player Uses Healing Fountain

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIHealingFountainsHelpTextPlayerUsesHealingFountain_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gv_uIHealingFountainsHelpTextHasFountainBeenUsed[EventPlayerEffectUsedUnitOwner(c_effectPlayerCaster)] = true;

    libUIUI_gf_UIHealingFountainsHelpTextShowHideForPlayer(EventPlayerEffectUsedUnitOwner(c_effectPlayerCaster), false);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIHealingFountainsHelpTextPlayerUsesHealingFountain_Init () {

    libUIUI_gt_UIHealingFountainsHelpTextPlayerUsesHealingFountain = TriggerCreate("libUIUI_gt_UIHealingFountainsHelpTextPlayerUsesHealingFountain_Func");

    TriggerEnable(libUIUI_gt_UIHealingFountainsHelpTextPlayerUsesHealingFountain, false);

    TriggerAddEventPlayerEffectUsed(libUIUI_gt_UIHealingFountainsHelpTextPlayerUsesHealingFountain, c_playerAny, "MoonwellDrinkStartingSet");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Healing Fountains Help Text - Text Display Controller

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIHealingFountainsHelpTextTextDisplayController_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_player;



    // Automatic Variable Declarations

    int autoE686765A_ae;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    autoE686765A_ae = libCore_gv_bALMaxPlayers;

    lv_player = 1;

    for ( ; lv_player <= autoE686765A_ae ; lv_player += 1 ) {

        if ((libCore_gv_sYSGameMode != libCore_ge_GameModes_Tutorial1) && (libCore_gv_sYSGameMode != libCore_ge_GameModes_TutorialMapMechanics) && ((libUIUI_gv_uIHealingFountainsHelpTextHasFountainBeenUsed[lv_player] == true) || (UnitIsValid(libGame_gv_players[lv_player].lv_heroUnit) == false))) {

            continue;

        }



        if ((libGame_gv_moonwellMoonwellonCooldown[lv_player] == false) && ((libUIUI_gv_uIHealingFountainsHelpTextShowTextTagforTutorial == true) || ((UnitIsValid(libGame_gv_players[lv_player].lv_activeVehicle) == false) && (UnitGetPropertyFixed(libGame_gv_players[lv_player].lv_heroUnit, c_unitPropLifePercent, c_unitPropCurrent) <= 50.0)))) {

            if ((libUIUI_gv_uIHealingFountainsHelpTextTextShowing[lv_player] == false)) {

                libUIUI_gf_UIHealingFountainsHelpTextShowHideForPlayer(lv_player, true);

            }



        }

        else {

            if ((libUIUI_gv_uIHealingFountainsHelpTextTextShowing[lv_player] == true)) {

                libUIUI_gf_UIHealingFountainsHelpTextShowHideForPlayer(lv_player, false);

            }



        }

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIHealingFountainsHelpTextTextDisplayController_Init () {

    libUIUI_gt_UIHealingFountainsHelpTextTextDisplayController = TriggerCreate("libUIUI_gt_UIHealingFountainsHelpTextTextDisplayController_Func");

    TriggerEnable(libUIUI_gt_UIHealingFountainsHelpTextTextDisplayController, false);

    TriggerAddEventTimePeriodic(libUIUI_gt_UIHealingFountainsHelpTextTextDisplayController, 1.0, c_timeGame);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Healing Fountains Help Text - Healing Fountain Dies

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIHealingFountainsHelpTextHealingFountainDies_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_iter;

    int lv_arrayToUse;



    // Automatic Variable Declarations

    int autoC6505DAD_ae;



    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((((UnitGetType(EventUnit()) == "TownMoonwellL2") || (UnitGetType(EventUnit()) == "TownMoonwellL3")) && ((UnitGetOwner(EventUnit()) == libCore_gv_cOMPUTER_TeamOrder) || (UnitGetOwner(EventUnit()) == libCore_gv_cOMPUTER_TeamChaos))))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_arrayToUse = libGame_gf_TeamNumberOfPlayer(UnitGetOwner(EventUnit()));

    autoC6505DAD_ae = libUIUI_gv_uI_HealingFountainsHelpText_ArraySize_C;

    lv_iter = 1;

    for ( ; lv_iter <= autoC6505DAD_ae ; lv_iter += 1 ) {

        if ((libUIUI_gv_uIHealingFountainsHelpText[lv_arrayToUse][lv_iter].lv_healingFountain == EventUnit())) {

            TextTagShow(libUIUI_gv_uIHealingFountainsHelpText[lv_arrayToUse][lv_iter].lv_textTag, PlayerGroupAll(), false);

        }



    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIHealingFountainsHelpTextHealingFountainDies_Init () {

    libUIUI_gt_UIHealingFountainsHelpTextHealingFountainDies = TriggerCreate("libUIUI_gt_UIHealingFountainsHelpTextHealingFountainDies_Func");

    TriggerEnable(libUIUI_gt_UIHealingFountainsHelpTextHealingFountainDies, false);

    TriggerAddEventUnitDied(libUIUI_gt_UIHealingFountainsHelpTextHealingFountainDies, null);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Help Button Debug Position

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_HelpButtonDebugPosition_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlSetPosition(libUIUI_gv_helpButtonFrames[1], PlayerGroupAll(), c_anchorTopLeft, StringToInt(StringWord(EventChatMessage(false), 2)), StringToInt(StringWord(EventChatMessage(false), 3)));

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_HelpButtonDebugPosition_Init () {

    libUIUI_gt_HelpButtonDebugPosition = TriggerCreate("libUIUI_gt_HelpButtonDebugPosition_Func");

    TriggerAddEventChatMessage(libUIUI_gt_HelpButtonDebugPosition, c_playerAny, "-sss", false);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Initialize Hero Console

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIInitializeHeroConsole_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int lv_itInventoryButton;

    int[6] lv_panels;

    int lv_currentPanelLayer;



    // Automatic Variable Declarations

    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/HeroConsolePanel");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_uIHeroConsole.lv_mainPanel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HeroStatsFrame");

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_uIHeroConsole.lv_heroStatsFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrame");

    libUIUI_gv_uIHeroConsole.lv_heroStatsUnitStatusFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrameOrange");

    libUIUI_gv_uIHeroConsole.lv_heroStatsFuryStatFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrameYellow");

    libUIUI_gv_uIHeroConsole.lv_heroStatsBrewStatFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFramePink");

    libUIUI_gv_uIHeroConsole.lv_heroStatsEnergyStatFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrameBreath");

    libUIUI_gv_uIHeroConsole.lv_heroStatsBreathStatFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrameRage");

    libUIUI_gv_uIHeroConsole.lv_heroStatsRageStatFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrameNoEnergy");

    libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyStatFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrameNoEnergyNoShield");

    libUIUI_gv_uIHeroConsole.lv_heroStatsNoEnergyNoShieldStatFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrameBlinking");

    libUIUI_gv_uIHeroConsole.lv_heroStatsBlinkingEnergyStatFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatusBar, "HeroUnitStatusFrame/HealthBar");

    libUIUI_gv_uIHeroConsole.lv_heroStatsHealthBar = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatusBar, "HeroUnitStatusFrame/EnergyBar");

    libUIUI_gv_uIHeroConsole.lv_heroStatsManaBar = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    DialogControlHookupStandard(c_triggerControlTypePanel, "$ConsolePortraitPanelContainer/PortraitPanel");

    libUIUI_gv_uIHeroConsole.lv_gameUIPortrait = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeCutscene, "OnFireCutsceneFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), true);

    libUIUI_gv_uIHeroConsole.lv_gameUIOnFire = DialogControlLastCreated();

    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/HeroCommandCardPanelFrame");

    libUIUI_gv_uIHeroConsole.lv_gameUICommandCardPanelFrame = DialogControlLastCreated();

    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/HeroBuffDebuffPanel");

    libUIUI_gv_uIHeroConsole.lv_buffDebuffPanel = DialogControlLastCreated();

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HeroBuffBar");

    libUIUI_gv_uIHeroConsole.lv_buffBar = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HeroDebuffBar");

    libUIUI_gv_uIHeroConsole.lv_debuffBar = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIInitializeHeroConsole_Init () {

    libUIUI_gt_UIInitializeHeroConsole = TriggerCreate("libUIUI_gt_UIInitializeHeroConsole_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Hero Console Unit Status Bars Initialize

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_HeroConsoleUnitStatusBarsInitialize_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int[6] lv_panels;

    int lv_currentPanelLayer;



    // Automatic Variable Declarations

    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookup(libUIUI_gv_uIGameUIHandles.lv_consoleUIContainer, c_triggerControlTypeUnitStatus, "HeroDeathStunFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeObservedPlayerId);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarParentFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatusDurationBar, "UnitStatusDurationBarLeft");

    libNtve_gf_SetDialogItemBehavior(DialogControlLastCreated(), "Dead", PlayerGroupAll());

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeObservedPlayerId);

    libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarLeftBar = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatusDurationBar, "UnitStatusDurationBarRight");

    libNtve_gf_SetDialogItemBehavior(DialogControlLastCreated(), "Dead", PlayerGroupAll());

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeObservedPlayerId);

    libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarRightBar = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "DeathStunIcon");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeObservedPlayerId);

    libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarIcon = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "DeathStunLabel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeObservedPlayerId);

    libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarDescriptionLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "DeathStunTimeLabel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeObservedPlayerId);

    libUIUI_gv_heroConsoleUnitStatusBars.lv_stunDeathBarTimeLabel = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    DialogControlHookup(libUIUI_gv_uIGameUIHandles.lv_consoleUIContainer, c_triggerControlTypeUnitStatus, "HeroCastChannelBarFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeObservedPlayerId);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_heroConsoleUnitStatusBars.lv_castChannelBarParentFrame = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    DialogControlHookup(libUIUI_gv_uIGameUIHandles.lv_consoleUIContainer, c_triggerControlTypeUnitStatus, "HeroBehaviorChannelBarFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeObservedPlayerId);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarParentFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatusDurationBar, "HeroBehaviorChannelBar");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeObservedPlayerId);

    libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarDurationBar = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "HeroBehaviorChannelBar/ChannelNameLabel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeObservedPlayerId);

    libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarBehaviorLabel = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    DialogControlHookup(libUIUI_gv_uIGameUIHandles.lv_consoleUIContainer, c_triggerControlTypeUnitStatus, "HeroBehaviorChannelBarFrameRight");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeObservedPlayerId);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarParentFrameRight = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatusDurationBar, "HeroBehaviorChannelBar");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeObservedPlayerId);

    libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarDurationBarRight = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "HeroBehaviorChannelBar/ChannelNameLabel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeObservedPlayerId);

    libUIUI_gv_heroConsoleUnitStatusBars.lv_behaviorChannelBarBehaviorLabelRight = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    TriggerEnable(libUIUI_gt_HeroConsoleUnitStatusBarsUpdate, true);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_HeroConsoleUnitStatusBarsInitialize_Init () {

    libUIUI_gt_HeroConsoleUnitStatusBarsInitialize = TriggerCreate("libUIUI_gt_HeroConsoleUnitStatusBarsInitialize_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Hero Console Unit Status Bars Channel Behavior Added

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_HeroConsoleUnitStatusBarsChannelBehaviorAdded_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_player;

    unit lv_heroUnit;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((EventPlayer() >= 1))) {

            return false;

        }



        if (!((EventPlayer() <= libCore_gv_bALMaxPlayers))) {

            return false;

        }



        if (!((CatalogFieldValueGetAsInt(c_gameCatalogBehavior, EventUnitBehavior(), "BehaviorCategories[Restorable]", c_playerAny) == 1))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_player = EventPlayer();

    lv_heroUnit = libGame_gv_players[lv_player].lv_unitStatusBarsMonitorUnit_Behavior;

    if ((lv_heroUnit != EventUnit())) {

        return true;

    }



    if ((CatalogFieldValueGetAsInt(c_gameCatalogBehavior, EventUnitBehavior(), "DisplayPriority", c_playerAny) >= 1000)) {

        libUIUI_gf_HeroConsoleUnitStatusBarsSetChannelBehaviorForBehaviorChannelBarRight(lv_player, EventUnitBehavior());

    }

    else {

        libUIUI_gf_HeroConsoleUnitStatusBarsSetChannelBehaviorForBehaviorChannelBar(lv_player, EventUnitBehavior());

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_HeroConsoleUnitStatusBarsChannelBehaviorAdded_Init () {

    libUIUI_gt_HeroConsoleUnitStatusBarsChannelBehaviorAdded = TriggerCreate("libUIUI_gt_HeroConsoleUnitStatusBarsChannelBehaviorAdded_Func");

    TriggerAddEventUnitBehaviorChange(libUIUI_gt_HeroConsoleUnitStatusBarsChannelBehaviorAdded, null, null, c_unitBehaviorChangeActivate);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Hero Console Unit Status Bars Update

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_HeroConsoleUnitStatusBarsUpdate_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itPlayer;



    // Automatic Variable Declarations

    const int auto50FBA062_ae = libCore_gv_bALMaxPlayers;

    const int auto50FBA062_ai = 1;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    lv_itPlayer = 1;

    for ( ; ( (auto50FBA062_ai >= 0 && lv_itPlayer <= auto50FBA062_ae) || (auto50FBA062_ai < 0 && lv_itPlayer >= auto50FBA062_ae) ) ; lv_itPlayer += auto50FBA062_ai ) {

        libUIUI_gf_HeroConsoleUnitStatusBarsUpdateForPlayer(lv_itPlayer);

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_HeroConsoleUnitStatusBarsUpdate_Init () {

    libUIUI_gt_HeroConsoleUnitStatusBarsUpdate = TriggerCreate("libUIUI_gt_HeroConsoleUnitStatusBarsUpdate_Func");

    TriggerEnable(libUIUI_gt_HeroConsoleUnitStatusBarsUpdate, false);

    TriggerAddEventTimePeriodic(libUIUI_gt_HeroConsoleUnitStatusBarsUpdate, 0.0625, c_timeGame);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Gate Timer Starts - HideHeroCastChannelBarFrameForObserver

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_GateTimerStartsHideHeroCastChannelBarFrameForObserver_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlSetVisible(libUIUI_gv_heroConsoleUnitStatusBars.lv_castChannelBarParentFrame, PlayerGroupSingle(libCore_gv_oBSERVER_ObserverUIPlayer), false);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_GateTimerStartsHideHeroCastChannelBarFrameForObserver_Init () {

    libUIUI_gt_GateTimerStartsHideHeroCastChannelBarFrameForObserver = TriggerCreate("libUIUI_gt_GateTimerStartsHideHeroCastChannelBarFrameForObserver_Func");

    libGame_gf_GameOpenTimerStarted(libUIUI_gt_GateTimerStartsHideHeroCastChannelBarFrameForObserver);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Hero Spawns - ShowHeroCastChannelBarFrame

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_HeroSpawnsShowHeroCastChannelBarFrame_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlSetVisible(libUIUI_gv_heroConsoleUnitStatusBars.lv_castChannelBarParentFrame, PlayerGroupSingle(libGame_gf_HeroSpawnPlayer()), true);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_HeroSpawnsShowHeroCastChannelBarFrame_Init () {

    libUIUI_gt_HeroSpawnsShowHeroCastChannelBarFrame = TriggerCreate("libUIUI_gt_HeroSpawnsShowHeroCastChannelBarFrame_Func");

    libGame_gf_HeroSpawn(libUIUI_gt_HeroSpawnsShowHeroCastChannelBarFrame);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Game Start - Enable Heroics Obtained Automated Team Notification

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_GameStartEnableHeroicsObtainedAutomatedTeamNotification_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_sYSGameMode != libCore_ge_GameModes_ArenaMode))) {

            return false;

        }



        if (!((libCore_gv_sYSGameMode != libCore_ge_GameModes_AttackDefend))) {

            return false;

        }



        if (!((libCore_gv_sYSGameMode != libCore_ge_GameModes_Tutorial1))) {

            return false;

        }



        if (!((libCore_gv_sYSGameMode != libCore_ge_GameModes_TryMe))) {

            return false;

        }



        if (!((libCore_gv_sYSGameMode != libCore_ge_GameModes_TutorialVeteran))) {

            return false;

        }



        if (!((libUIUI_gv_heroicsObtainedAutomatedTeamNotificationsAllowed == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    TriggerEnable(libUIUI_gt_HeroicsObtainedNotifyTeams, true);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_GameStartEnableHeroicsObtainedAutomatedTeamNotification_Init () {

    libUIUI_gt_GameStartEnableHeroicsObtainedAutomatedTeamNotification = TriggerCreate("libUIUI_gt_GameStartEnableHeroicsObtainedAutomatedTeamNotification_Func");

    libCore_gf_IncludeModInitialization(libUIUI_gt_GameStartEnableHeroicsObtainedAutomatedTeamNotification);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Heroics Obtained - Notify Teams

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_HeroicsObtainedNotifyTeams_Func (bool testConds, bool runActions) {

    // Variable Declarations

    playergroup lv_alliedTeam;

    playergroup lv_enemyTeam;

    bool lv_skipMessaging;



    // Automatic Variable Declarations

    playergroup auto4C80ADCF_g;

    int auto4C80ADCF_var;



    // Variable Initialization

    lv_alliedTeam = PlayerGroupEmpty();

    lv_enemyTeam = PlayerGroupEmpty();



    // Conditions

    if (testConds) {

        if (!((libUIUI_gv_teamHasAlreadyAnnouncedHeroics[libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())] == false))) {

            return false;

        }



        if (!((libGame_gv_players[libGame_gf_HeroLevelUpPlayer()].lv_suppressLevelUpFXAndTeamXPTracking == false))) {

            return false;

        }



        if (!((libGame_gf_HeroLevelUpLevel() == libGame_gv_players[libGame_gf_HeroLevelUpPlayer()].lv_talents_TierLevels[4].lv_level))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_alliedTeam = libGame_gf_PlayersOnTeamHeroes(libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer()), false);

    lv_enemyTeam = libGame_gf_PlayersOnTeamHeroes(libGame_gf_EnemyTeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer()), false);

    if ((PlayerHero(libGame_gf_HeroLevelUpPlayer()) == "Chromie")) {

        auto4C80ADCF_g = lv_alliedTeam;

        auto4C80ADCF_var = -1;

        while (true) {

            	auto4C80ADCF_var = PlayerGroupNextPlayer(auto4C80ADCF_g, auto4C80ADCF_var);

            	if (auto4C80ADCF_var<0) { break; }

            	if ((PlayerHero(auto4C80ADCF_var) != "Chromie")) {

                lv_skipMessaging = true;

                break;

            }



        }

        if ((lv_skipMessaging == true)) {

            return true;

        }



    }



    if ((libGame_gv_teams[libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())].lv_teamLevel > libGame_gv_teams[libGame_gf_EnemyTeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())].lv_teamLevel)) {

        UIDisplayMessage(lv_alliedTeam, c_messageAreaChat, StringExternal("Param/Value/lib_UIUI_A1C5CF40"));

        SoundPlayForPlayer(SoundLink("UI_Game_Ping_Attack", -1), libGame_gv_teams[libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())].lv_nPCPlayer, lv_alliedTeam, 100.0, 0.0);

        UIDisplayMessage(lv_enemyTeam, c_messageAreaChat, StringExternal("Param/Value/lib_UIUI_FDA881E6"));

        SoundPlayForPlayer(SoundLink("UI_Game_Ping_Careful", -1), libGame_gv_teams[libGame_gf_EnemyTeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())].lv_nPCPlayer, lv_enemyTeam, 100.0, 0.0);

    }

    else {

        UIDisplayMessage(lv_alliedTeam, c_messageAreaChat, StringExternal("Param/Value/lib_UIUI_F35EA257"));

        SoundPlayForPlayer(SoundLink("UI_Game_Ping_General", -1), libGame_gv_teams[libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())].lv_nPCPlayer, lv_alliedTeam, 100.0, 0.0);

        UIDisplayMessage(lv_enemyTeam, c_messageAreaChat, StringExternal("Param/Value/lib_UIUI_7E5BBF67"));

        SoundPlayForPlayer(SoundLink("UI_Game_Ping_General", -1), libGame_gv_teams[libGame_gf_EnemyTeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())].lv_nPCPlayer, lv_enemyTeam, 100.0, 0.0);

    }

    libUIUI_gv_teamHasAlreadyAnnouncedHeroics[libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())] = true;

    if ((libUIUI_gv_teamHasAlreadyAnnouncedHeroics[libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())] == true) && (libUIUI_gv_teamHasAlreadyAnnouncedHeroics[libGame_gf_EnemyTeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())] == true)) {

        TriggerEnable(TriggerGetCurrent(), false);

        TriggerEnable(libUIUI_gt_StormTalentsObtainedNotifyTeams, true);

        libUIUI_gv_teamHasAlreadyAnnouncedHeroics[libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())] = false;

        libUIUI_gv_teamHasAlreadyAnnouncedHeroics[libGame_gf_EnemyTeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())] = false;

    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_HeroicsObtainedNotifyTeams_Init () {

    libUIUI_gt_HeroicsObtainedNotifyTeams = TriggerCreate("libUIUI_gt_HeroicsObtainedNotifyTeams_Func");

    TriggerEnable(libUIUI_gt_HeroicsObtainedNotifyTeams, false);

    libGame_gf_HeroLevelUp(libUIUI_gt_HeroicsObtainedNotifyTeams);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Storm Talents Obtained - Notify Teams

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_StormTalentsObtainedNotifyTeams_Func (bool testConds, bool runActions) {

    // Variable Declarations

    playergroup lv_alliedTeam;

    playergroup lv_enemyTeam;

    bool lv_skipMessaging;



    // Automatic Variable Declarations

    playergroup autoC07B5041_g;

    int autoC07B5041_var;



    // Variable Initialization

    lv_alliedTeam = PlayerGroupEmpty();

    lv_enemyTeam = PlayerGroupEmpty();



    // Conditions

    if (testConds) {

        if (!((libUIUI_gv_teamHasAlreadyAnnouncedHeroics[libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())] == false))) {

            return false;

        }



        if (!((libGame_gv_players[libGame_gf_HeroLevelUpPlayer()].lv_suppressLevelUpFXAndTeamXPTracking == false))) {

            return false;

        }



        if (!((libGame_gf_HeroLevelUpLevel() == libGame_gv_players[libGame_gf_HeroLevelUpPlayer()].lv_talents_TierLevels[7].lv_level))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_alliedTeam = libGame_gf_PlayersOnTeamHeroes(libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer()), false);

    lv_enemyTeam = libGame_gf_PlayersOnTeamHeroes(libGame_gf_EnemyTeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer()), false);

    if ((PlayerHero(libGame_gf_HeroLevelUpPlayer()) == "Chromie")) {

        autoC07B5041_g = lv_alliedTeam;

        autoC07B5041_var = -1;

        while (true) {

            	autoC07B5041_var = PlayerGroupNextPlayer(autoC07B5041_g, autoC07B5041_var);

            	if (autoC07B5041_var<0) { break; }

            	if ((PlayerHero(autoC07B5041_var) != "Chromie")) {

                lv_skipMessaging = true;

                break;

            }



        }

        if ((lv_skipMessaging == true)) {

            return true;

        }



    }



    if ((libGame_gv_teams[libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())].lv_teamLevel > libGame_gv_teams[libGame_gf_EnemyTeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())].lv_teamLevel)) {

        UIDisplayMessage(lv_alliedTeam, c_messageAreaChat, StringExternal("Param/Value/lib_UIUI_B2E78703"));

        SoundPlayForPlayer(SoundLink("UI_Game_Ping_Attack", -1), libGame_gv_teams[libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())].lv_nPCPlayer, lv_alliedTeam, 100.0, 0.0);

        UIDisplayMessage(lv_enemyTeam, c_messageAreaChat, StringExternal("Param/Value/lib_UIUI_345D1AAB"));

        SoundPlayForPlayer(SoundLink("UI_Game_Ping_Careful", -1), libGame_gv_teams[libGame_gf_EnemyTeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())].lv_nPCPlayer, lv_enemyTeam, 100.0, 0.0);

    }

    else {

        UIDisplayMessage(lv_alliedTeam, c_messageAreaChat, StringExternal("Param/Value/lib_UIUI_AF876A66"));

        SoundPlayForPlayer(SoundLink("UI_Game_Ping_General", -1), libGame_gv_teams[libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())].lv_nPCPlayer, lv_alliedTeam, 100.0, 0.0);

        UIDisplayMessage(lv_enemyTeam, c_messageAreaChat, StringExternal("Param/Value/lib_UIUI_4BA6CE1D"));

        SoundPlayForPlayer(SoundLink("UI_Game_Ping_General", -1), libGame_gv_teams[libGame_gf_EnemyTeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())].lv_nPCPlayer, lv_enemyTeam, 100.0, 0.0);

    }

    libUIUI_gv_teamHasAlreadyAnnouncedHeroics[libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())] = true;

    if ((libUIUI_gv_teamHasAlreadyAnnouncedHeroics[libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())] == true) && (libUIUI_gv_teamHasAlreadyAnnouncedHeroics[libGame_gf_EnemyTeamNumberOfPlayer(libGame_gf_HeroLevelUpPlayer())] == true)) {

        TriggerEnable(TriggerGetCurrent(), false);

    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_StormTalentsObtainedNotifyTeams_Init () {

    libUIUI_gt_StormTalentsObtainedNotifyTeams = TriggerCreate("libUIUI_gt_StormTalentsObtainedNotifyTeams_Func");

    TriggerEnable(libUIUI_gt_StormTalentsObtainedNotifyTeams, false);

    libGame_gf_HeroLevelUp(libUIUI_gt_StormTalentsObtainedNotifyTeams);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Fullscreen Status Panel Initialize

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_FullscreenStatusPanelInitialize_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/FullscreenStatusPanel");

    libUIUI_gf_UISetDialogItemToSelectedOrObserved(DialogControlLastCreated());

    libUIUI_gv_fullscreenStatusPanel = DialogControlLastCreated();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_FullscreenStatusPanelInitialize_Init () {

    libUIUI_gt_FullscreenStatusPanelInitialize = TriggerCreate("libUIUI_gt_FullscreenStatusPanelInitialize_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Hero Specific Status Container Initialize

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_HeroSpecificStatusContainerInitialize_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/HeroSpecificFullUIModContainer");

    libUIUI_gf_UISetDialogItemToSelectedOrObserved(DialogControlLastCreated());

    libUIUI_gv_heroSpecificFullUIModContainer = DialogControlLastCreated();

    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/HeroSpecificStatusContainer");

    libUIUI_gv_heroSpecificStatusContainer = DialogControlLastCreated();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_HeroSpecificStatusContainerInitialize_Init () {

    libUIUI_gt_HeroSpecificStatusContainerInitialize = TriggerCreate("libUIUI_gt_HeroSpecificStatusContainerInitialize_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Unit Behavior State Activates - Invulnerable

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UnitBehaviorStateActivatesInvulnerable_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_player;

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((UnitGetOwner(EventUnit()) >= 1))) {

            return false;

        }



        if (!((UnitGetOwner(EventUnit()) <= 10))) {

            return false;

        }



        if (!(((EventUnit() == libGame_gv_players[UnitGetOwner(EventUnit())].lv_heroUnit) || (EventUnit() == libGame_gv_players[UnitGetOwner(EventUnit())].lv_activeVehicle)))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_player = UnitGetOwner(EventUnit());

    lv_index = libUIUI_gf_UIUnitStatusFramesGetUnitIndex(lv_player, EventUnit());

    libUIUI_gf_UIUpdateUnitFrameToShowBehaviorState(lv_player, lv_index);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UnitBehaviorStateActivatesInvulnerable_Init () {

    libUIUI_gt_UnitBehaviorStateActivatesInvulnerable = TriggerCreate("libUIUI_gt_UnitBehaviorStateActivatesInvulnerable_Func");

    TriggerAddEventUnitBehaviorChangeFromCategory(libUIUI_gt_UnitBehaviorStateActivatesInvulnerable, null, c_behaviorCategoryInvulnerable, c_unitBehaviorChangeActivate);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Unit Behavior State Activates - Unstoppable

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UnitBehaviorStateActivatesUnstoppable_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_player;

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((UnitGetOwner(EventUnit()) >= 1))) {

            return false;

        }



        if (!((UnitGetOwner(EventUnit()) <= 10))) {

            return false;

        }



        if (!(((EventUnit() == libGame_gv_players[UnitGetOwner(EventUnit())].lv_heroUnit) || (EventUnit() == libGame_gv_players[UnitGetOwner(EventUnit())].lv_activeVehicle)))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_player = UnitGetOwner(EventUnit());

    lv_index = libUIUI_gf_UIUnitStatusFramesGetUnitIndex(lv_player, EventUnit());

    libUIUI_gf_UIUpdateUnitFrameToShowBehaviorState(lv_player, lv_index);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UnitBehaviorStateActivatesUnstoppable_Init () {

    libUIUI_gt_UnitBehaviorStateActivatesUnstoppable = TriggerCreate("libUIUI_gt_UnitBehaviorStateActivatesUnstoppable_Func");

    TriggerAddEventUnitBehaviorChangeFromCategory(libUIUI_gt_UnitBehaviorStateActivatesUnstoppable, null, c_behaviorCategoryBuffUnstoppable, c_unitBehaviorChangeActivate);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Unit Behavior State Activates - Resistant

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UnitBehaviorStateActivatesResistant_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_player;

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((UnitGetOwner(EventUnit()) >= 1))) {

            return false;

        }



        if (!((UnitGetOwner(EventUnit()) <= 10))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_player = UnitGetOwner(EventUnit());

    lv_index = libUIUI_gf_UIUnitStatusFramesGetUnitIndex(lv_player, EventUnit());

    libUIUI_gv_uIHeroBehaviorStates[lv_player].lv_resistantActive[lv_index] = true;

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UnitBehaviorStateActivatesResistant_Init () {

    libUIUI_gt_UnitBehaviorStateActivatesResistant = TriggerCreate("libUIUI_gt_UnitBehaviorStateActivatesResistant_Func");

    TriggerAddEventUnitBehaviorChangeFromCategory(libUIUI_gt_UnitBehaviorStateActivatesResistant, null, c_behaviorCategoryBuffResistant, c_unitBehaviorChangeActivate);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Unit Behavior State Activates - Vulnerable

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UnitBehaviorStateActivatesVulnerable_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_player;

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((UnitGetOwner(EventUnit()) >= 1))) {

            return false;

        }



        if (!((UnitGetOwner(EventUnit()) <= 10))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_player = UnitGetOwner(EventUnit());

    lv_index = libUIUI_gf_UIUnitStatusFramesGetUnitIndex(lv_player, EventUnit());

    libUIUI_gv_uIHeroBehaviorStates[lv_player].lv_vulnerableActive[lv_index] = true;

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UnitBehaviorStateActivatesVulnerable_Init () {

    libUIUI_gt_UnitBehaviorStateActivatesVulnerable = TriggerCreate("libUIUI_gt_UnitBehaviorStateActivatesVulnerable_Func");

    TriggerAddEventUnitBehaviorChangeFromCategory(libUIUI_gt_UnitBehaviorStateActivatesVulnerable, null, c_behaviorCategoryDebuffVulnerable, c_unitBehaviorChangeActivate);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Unit Behavior State Activates - Dimmed

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UnitBehaviorStateActivatesDimmed_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_player;

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((UnitGetOwner(EventUnit()) >= 1))) {

            return false;

        }



        if (!((UnitGetOwner(EventUnit()) <= 10))) {

            return false;

        }



        if (!((UnitIsAlive(EventUnit()) == true))) {

            return false;

        }



        if (!((UnitBehaviorCount(EventUnit(), "HeroGenericHasNoStatusBar") == 0))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_player = UnitGetOwner(EventUnit());

    lv_index = libUIUI_gf_UIUnitStatusFramesGetUnitIndex(lv_player, EventUnit());

    libUIUI_gv_uIHeroBehaviorStates[lv_player].lv_dimmedActive[lv_index] = true;

    DialogControlSendAnimationEvent(libUIUI_gv_uIHeroStatusFrames[lv_player].lv_unitHealthBarDimmed[lv_index], PlayerGroupAll(), "DimmedOn");

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UnitBehaviorStateActivatesDimmed_Init () {

    libUIUI_gt_UnitBehaviorStateActivatesDimmed = TriggerCreate("libUIUI_gt_UnitBehaviorStateActivatesDimmed_Func");

    TriggerAddEventUnitBehaviorChangeFromCategory(libUIUI_gt_UnitBehaviorStateActivatesDimmed, null, c_behaviorCategoryDebuffStasis, c_unitBehaviorChangeActivate);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Unit Behavior State Activates - Invincible

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UnitBehaviorStateActivatesInvincible_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_player;

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_player = UnitGetOwner(EventUnit());

    lv_index = libUIUI_gf_UIUnitStatusFramesGetUnitIndex(lv_player, EventUnit());



    // Conditions

    if (testConds) {

        if (!((UnitGetOwner(EventUnit()) >= 1))) {

            return false;

        }



        if (!((UnitGetOwner(EventUnit()) <= 10))) {

            return false;

        }



        if (!((lv_index > 0))) {

            return false;

        }



        if (!((UnitTestState(EventUnit(), c_unitStateHallucination) == false))) {

            return false;

        }



        if (!((UnitIsAlive(EventUnit()) == true))) {

            return false;

        }



        if (!((UnitBehaviorCount(EventUnit(), "HeroGenericHasNoStatusBar") == 0))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gv_uIHeroBehaviorStates[lv_player].lv_invincibleActive[lv_index] = true;

    DialogControlSendAnimationEvent(libUIUI_gv_uIHeroStatusFrames[lv_player].lv_unitHealthBarInvincible[lv_index], PlayerGroupAll(), "InvincibleOn");

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UnitBehaviorStateActivatesInvincible_Init () {

    libUIUI_gt_UnitBehaviorStateActivatesInvincible = TriggerCreate("libUIUI_gt_UnitBehaviorStateActivatesInvincible_Func");

    TriggerAddEventUnitBehaviorChangeFromCategory(libUIUI_gt_UnitBehaviorStateActivatesInvincible, null, c_behaviorCategoryProtected, c_unitBehaviorChangeActivate);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Unit Behavior State Deactivates - Invulnerable

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UnitBehaviorStateDeactivatesInvulnerable_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_player;

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((UnitGetOwner(EventUnit()) >= 1))) {

            return false;

        }



        if (!((UnitGetOwner(EventUnit()) <= 10))) {

            return false;

        }



        if (!(((EventUnit() == libGame_gv_players[UnitGetOwner(EventUnit())].lv_heroUnit) || (EventUnit() == libGame_gv_players[UnitGetOwner(EventUnit())].lv_activeVehicle)))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_player = UnitGetOwner(EventUnit());

    lv_index = libUIUI_gf_UIUnitStatusFramesGetUnitIndex(lv_player, EventUnit());

    libUIUI_gf_UIUpdateUnitFrameToShowBehaviorState(lv_player, lv_index);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UnitBehaviorStateDeactivatesInvulnerable_Init () {

    libUIUI_gt_UnitBehaviorStateDeactivatesInvulnerable = TriggerCreate("libUIUI_gt_UnitBehaviorStateDeactivatesInvulnerable_Func");

    TriggerAddEventUnitBehaviorChangeFromCategory(libUIUI_gt_UnitBehaviorStateDeactivatesInvulnerable, null, c_behaviorCategoryInvulnerable, c_unitBehaviorChangeDeactivate);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Unit Behavior State Deactivates - Unstoppable

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UnitBehaviorStateDeactivatesUnstoppable_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_player;

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((UnitGetOwner(EventUnit()) >= 1))) {

            return false;

        }



        if (!((UnitGetOwner(EventUnit()) <= 10))) {

            return false;

        }



        if (!(((EventUnit() == libGame_gv_players[UnitGetOwner(EventUnit())].lv_heroUnit) || (EventUnit() == libGame_gv_players[UnitGetOwner(EventUnit())].lv_activeVehicle)))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_player = UnitGetOwner(EventUnit());

    lv_index = libUIUI_gf_UIUnitStatusFramesGetUnitIndex(lv_player, EventUnit());

    libUIUI_gf_UIUpdateUnitFrameToShowBehaviorState(lv_player, lv_index);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UnitBehaviorStateDeactivatesUnstoppable_Init () {

    libUIUI_gt_UnitBehaviorStateDeactivatesUnstoppable = TriggerCreate("libUIUI_gt_UnitBehaviorStateDeactivatesUnstoppable_Func");

    TriggerAddEventUnitBehaviorChangeFromCategory(libUIUI_gt_UnitBehaviorStateDeactivatesUnstoppable, null, c_behaviorCategoryBuffUnstoppable, c_unitBehaviorChangeDeactivate);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Unit Behavior State Deactivates - Resistant

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UnitBehaviorStateDeactivatesResistant_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_player;

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((UnitGetOwner(EventUnit()) >= 1))) {

            return false;

        }



        if (!((UnitGetOwner(EventUnit()) <= 10))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_player = UnitGetOwner(EventUnit());

    lv_index = libUIUI_gf_UIUnitStatusFramesGetUnitIndex(lv_player, EventUnit());

    libUIUI_gv_uIHeroBehaviorStates[lv_player].lv_resistantActive[lv_index] = false;

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UnitBehaviorStateDeactivatesResistant_Init () {

    libUIUI_gt_UnitBehaviorStateDeactivatesResistant = TriggerCreate("libUIUI_gt_UnitBehaviorStateDeactivatesResistant_Func");

    TriggerAddEventUnitBehaviorChangeFromCategory(libUIUI_gt_UnitBehaviorStateDeactivatesResistant, null, c_behaviorCategoryBuffResistant, c_unitBehaviorChangeDeactivate);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Unit Behavior State Deactivates - Vulnerable

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UnitBehaviorStateDeactivatesVulnerable_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_player;

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((UnitGetOwner(EventUnit()) >= 1))) {

            return false;

        }



        if (!((UnitGetOwner(EventUnit()) <= 10))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_player = UnitGetOwner(EventUnit());

    lv_index = libUIUI_gf_UIUnitStatusFramesGetUnitIndex(lv_player, EventUnit());

    libUIUI_gv_uIHeroBehaviorStates[lv_player].lv_vulnerableActive[lv_index] = false;

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UnitBehaviorStateDeactivatesVulnerable_Init () {

    libUIUI_gt_UnitBehaviorStateDeactivatesVulnerable = TriggerCreate("libUIUI_gt_UnitBehaviorStateDeactivatesVulnerable_Func");

    TriggerAddEventUnitBehaviorChangeFromCategory(libUIUI_gt_UnitBehaviorStateDeactivatesVulnerable, null, c_behaviorCategoryDebuffVulnerable, c_unitBehaviorChangeDeactivate);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Unit Behavior State Deactivates - Dimmed

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UnitBehaviorStateDeactivatesDimmed_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_player;

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((UnitGetOwner(EventUnit()) >= 1))) {

            return false;

        }



        if (!((UnitGetOwner(EventUnit()) <= 10))) {

            return false;

        }



        if (!((UnitBehaviorCount(EventUnit(), "HeroGenericHasNoStatusBar") == 0))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_player = UnitGetOwner(EventUnit());

    lv_index = libUIUI_gf_UIUnitStatusFramesGetUnitIndex(lv_player, EventUnit());

    libUIUI_gv_uIHeroBehaviorStates[lv_player].lv_dimmedActive[lv_index] = false;

    DialogControlSendAnimationEvent(libUIUI_gv_uIHeroStatusFrames[lv_player].lv_unitHealthBarDimmed[lv_index], PlayerGroupAll(), "DimmedOff");

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UnitBehaviorStateDeactivatesDimmed_Init () {

    libUIUI_gt_UnitBehaviorStateDeactivatesDimmed = TriggerCreate("libUIUI_gt_UnitBehaviorStateDeactivatesDimmed_Func");

    TriggerAddEventUnitBehaviorChangeFromCategory(libUIUI_gt_UnitBehaviorStateDeactivatesDimmed, null, c_behaviorCategoryDebuffStasis, c_unitBehaviorChangeDeactivate);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Unit Behavior State Deactivates - Invincible

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UnitBehaviorStateDeactivatesInvincible_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_player;

    int lv_index;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_player = UnitGetOwner(EventUnit());

    lv_index = libUIUI_gf_UIUnitStatusFramesGetUnitIndex(lv_player, EventUnit());



    // Conditions

    if (testConds) {

        if (!((UnitGetOwner(EventUnit()) >= 1))) {

            return false;

        }



        if (!((UnitGetOwner(EventUnit()) <= 10))) {

            return false;

        }



        if (!((lv_index > 0))) {

            return false;

        }



        if (!((UnitTestState(EventUnit(), c_unitStateHallucination) == false))) {

            return false;

        }



        if (!((UnitBehaviorCount(EventUnit(), "HeroGenericHasNoStatusBar") == 0))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gv_uIHeroBehaviorStates[lv_player].lv_invincibleActive[lv_index] = false;

    DialogControlSendAnimationEvent(libUIUI_gv_uIHeroStatusFrames[lv_player].lv_unitHealthBarInvincible[lv_index], PlayerGroupAll(), "InvincibleOff");

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UnitBehaviorStateDeactivatesInvincible_Init () {

    libUIUI_gt_UnitBehaviorStateDeactivatesInvincible = TriggerCreate("libUIUI_gt_UnitBehaviorStateDeactivatesInvincible_Func");

    TriggerAddEventUnitBehaviorChangeFromCategory(libUIUI_gt_UnitBehaviorStateDeactivatesInvincible, null, c_behaviorCategoryProtected, c_unitBehaviorChangeDeactivate);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Initialize Hero Tracker Arrow

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIInitializeHeroTrackerArrow_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_index;



    // Automatic Variable Declarations

    const int auto5828B1AD_ae = libUIUI_gv_uI_MaxHeroGroupStatusFrames;

    const int auto5828B1AD_ai = 1;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/OffscreenUnitContainer");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    libUIUI_gv_uIHeroTrackerArrows.lv_mainPanel = DialogControlLastCreated();

    lv_index = 1;

    for ( ; ( (auto5828B1AD_ai >= 0 && lv_index <= auto5828B1AD_ae) || (auto5828B1AD_ai < 0 && lv_index >= auto5828B1AD_ae) ) ; lv_index += auto5828B1AD_ai ) {

        DialogControlHookup(libUIUI_gv_uIHeroTrackerArrows.lv_mainPanel, c_triggerControlTypeOffscreenUnit, "OffscreenUnitFrame" + IntToString(lv_index));

        libUIUI_gv_uIHeroTrackerArrows.lv_arrow[lv_index] = DialogControlLastCreated();

        DialogControlHookup(libUIUI_gv_uIHeroTrackerArrows.lv_arrow[lv_index], c_triggerControlTypeImage, "HeroIcon");

        libUIUI_gv_uIHeroTrackerArrows.lv_portraitImage[lv_index] = DialogControlLastCreated();

        DialogControlHookup(libUIUI_gv_uIHeroTrackerArrows.lv_arrow[lv_index], c_triggerControlTypeImage, "HeroOverrideIcon");

        libUIUI_gv_uIHeroTrackerArrows.lv_portraitImageOverride[lv_index] = DialogControlLastCreated();

    }

    DialogControlHookup(libUIUI_gv_uIHeroTrackerArrows.lv_arrow[9], c_triggerControlTypeCutscene, "OffscreenUnitCutscene");

    libUIUI_gv_uIHeroTrackerArrows.lv_portraitCutscene[9] = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_uIHeroTrackerArrows.lv_arrow[10], c_triggerControlTypeCutscene, "OffscreenUnitCutscene");

    libUIUI_gv_uIHeroTrackerArrows.lv_portraitCutscene[10] = DialogControlLastCreated();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIInitializeHeroTrackerArrow_Init () {

    libUIUI_gt_UIInitializeHeroTrackerArrow = TriggerCreate("libUIUI_gt_UIInitializeHeroTrackerArrow_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Input - Backslash Key Down

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_InputBackslashKeyDown_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libGame_gv_players[EventPlayer()].lv_playerStatus == libGame_ge_PlayerStatusStorm_Playing))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    if ((DialogControlIsVisible(libUIUI_gv_uIDebugPanel.lv_mainDialog, EventPlayer()) == false)) {

        libUIUI_gf_UIDebugPanelShowHideDebugPanelForPlayer(true, EventPlayer());

    }

    else {

        libUIUI_gf_UIDebugPanelShowHideDebugPanelForPlayer(false, EventPlayer());

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_InputBackslashKeyDown_Init () {

    libUIUI_gt_InputBackslashKeyDown = TriggerCreate("libUIUI_gt_InputBackslashKeyDown_Func");

    TriggerAddEventKeyPressed(libUIUI_gt_InputBackslashKeyDown, c_playerAny, c_keyBackSlash, true, c_keyModifierStateIgnore, c_keyModifierStateIgnore, c_keyModifierStateIgnore);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Map Mechanics Panel Initialize

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_MapMechanicsPanelInitialize_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int lv_itTeam;

    int lv_itCannonball;

    int[6] lv_panels;

    int lv_currentPanelLayer;

    int lv_enemyTeam;



    // Automatic Variable Declarations

    const int autoA85338A7_ae = libCore_gv_bALMaxTeams;

    const int autoA85338A7_ai = 1;

    const int autoA70BE915_ae = libCore_gv_bALMaxTeams;

    const int autoA70BE915_ai = 1;

    const int autoD9406E61_ae = libUIUI_gv_mapMechanicsBlackheartsBayCannonballCount_C;

    const int autoD9406E61_ai = 1;

    const int autoECCAEF98_ae = libCore_gv_bALMaxTeams;

    const int autoECCAEF98_ai = 1;

    const int auto49841FC3_ae = libCore_gv_bALMaxTeams;

    const int auto49841FC3_ai = 1;

    const int autoE09329D4_ae = libCore_gv_bALMaxTeams;

    const int autoE09329D4_ai = 1;



    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/MapMechanicPanel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_mainPanel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "RavenCourtPanel");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtPanel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "TributeSpawnFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTributeSpawnFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TributeInfoLabel");

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTributeSpawnInfoLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TributeTimerLabel");

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTributeSpawnTimerLabel = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "CurseFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "CurseInfoLabel");

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseInfoLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "CurseTimerLabel");

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseTimerLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "AttentionEffect");

    libUIUI_gv_mapMechanicsPanel.lv_ravenCourtCurseAttentionEffectFrame = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    lv_itTeam = 1;

    for ( ; ( (autoA85338A7_ai >= 0 && lv_itTeam <= autoA85338A7_ae) || (autoA85338A7_ai < 0 && lv_itTeam >= autoA85338A7_ae) ) ; lv_itTeam += autoA85338A7_ai ) {

        lv_enemyTeam = (3 - lv_itTeam);

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "Team" + IntToString(lv_itTeam) + "TributeFrame");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

        lv_currentPanelLayer += 1;

        lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

        libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTeamTributeFrame[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TributeCounter");

        libUIUI_gv_mapMechanicsPanel.lv_ravenCourtTeamTributeCounterLabel[lv_itTeam] = DialogControlLastCreated();

        lv_currentPanelLayer -= 1;

    }

    lv_currentPanelLayer -= 1;

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "BlackheartsBayPanel");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayPanel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "ChestSpawnFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayChestSpawnFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "DoubloonModeFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayDoubloonModeFrame = DialogControlLastCreated();

    lv_itTeam = 1;

    for ( ; ( (autoA70BE915_ai >= 0 && lv_itTeam <= autoA70BE915_ae) || (autoA70BE915_ai < 0 && lv_itTeam >= autoA70BE915_ae) ) ; lv_itTeam += autoA70BE915_ai ) {

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "Team" + IntToString(lv_itTeam) + "DoubloonCounter");

        libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayDoubloonCounterLabel[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "Team" + IntToString(lv_itTeam) + "CountValue");

        libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringToText(""), PlayerGroupAll());

        libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayHeldDoubloonCounterLabel[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "Team" + IntToString(lv_itTeam) + "MapMechanicGlowContainer");

        libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayDoubloonTurninReadyGlow[lv_itTeam] = DialogControlLastCreated();

        DialogControlSetAnimationState(DialogControlLastCreated(), PlayerGroupAll(), "TurninReady", "NotReady");

    }

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayDoubloonCounterLabel[libGame_gv_teamOrderIndex_C], "Storm_MapMechanic_MechanicCounterLeft_Red", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayDoubloonCounterLabel[libGame_gv_teamChaosIndex_C], "Storm_MapMechanic_MechanicCounterRight_Blue", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayHeldDoubloonCounterLabel[libGame_gv_teamOrderIndex_C], "Storm_ObserverMMCountLabel_Red", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayHeldDoubloonCounterLabel[libGame_gv_teamChaosIndex_C], "Storm_ObserverMMCountLabel_Blue", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    lv_currentPanelLayer -= 1;

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "CannonModeFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayCannonModeFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "CannonballsLeftLabel");

    libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayCannonRemainingCannonballsLabel = DialogControlLastCreated();

    lv_itCannonball = 1;

    for ( ; ( (autoD9406E61_ai >= 0 && lv_itCannonball <= autoD9406E61_ae) || (autoD9406E61_ai < 0 && lv_itCannonball >= autoD9406E61_ae) ) ; lv_itCannonball += autoD9406E61_ai ) {

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "CannonShotFrame" + IntToString(lv_itCannonball) + "/ActiveCannonBall");

        libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayCannonCannonballImages[lv_itCannonball] = DialogControlLastCreated();

    }

    lv_itTeam = 1;

    for ( ; ( (autoECCAEF98_ai >= 0 && lv_itTeam <= autoECCAEF98_ae) || (autoECCAEF98_ai < 0 && lv_itTeam >= autoECCAEF98_ae) ) ; lv_itTeam += autoECCAEF98_ai ) {

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "Team" + IntToString(lv_itTeam) + "ShotCounter");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

        libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayCannonShotCounterLabel[lv_itTeam] = DialogControlLastCreated();

    }

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayCannonShotCounterLabel[libGame_gv_teamOrderIndex_C], "Storm_MapMechanic_MechanicCounterSmallLeft_Red", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_mapMechanicsPanel.lv_blackheartsBayCannonShotCounterLabel[libGame_gv_teamChaosIndex_C], "Storm_MapMechanic_MechanicCounterSmallLeft_Blue", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    lv_currentPanelLayer -= 1;

    lv_currentPanelLayer -= 1;

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HauntedMinesPanel");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesPanel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "SkullModeFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesSkullModeFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "SkullsRemainingLabel");

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesSkullModeRemainingSkullsLabel = DialogControlLastCreated();

    lv_itTeam = 1;

    for ( ; ( (auto49841FC3_ai >= 0 && lv_itTeam <= auto49841FC3_ae) || (auto49841FC3_ai < 0 && lv_itTeam >= auto49841FC3_ae) ) ; lv_itTeam += auto49841FC3_ai ) {

        lv_enemyTeam = (3 - lv_itTeam);

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Team" + IntToString(lv_itTeam) + "BackgroundBlue");

        DialogControlSetVisible(DialogControlLastCreated(), libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers, false);

        if ((lv_itTeam == libGame_gv_teamChaosIndex_C)) {

            DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

        }



        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Team" + IntToString(lv_itTeam) + "BackgroundRed");

        DialogControlSetVisible(DialogControlLastCreated(), libGame_gv_teams[lv_itTeam].lv_teamPlayerGroupNoNPCPlayers, false);

        if ((lv_itTeam == libGame_gv_teamOrderIndex_C)) {

            DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

        }



        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "Team" + IntToString(lv_itTeam) + "SkullCounter");

        if ((lv_itTeam == libGame_gv_teamOrderIndex_C)) {

            libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "Storm_MapMechanic_MechanicCounterLeft_Blue", libGame_gv_teams[lv_itTeam].lv_teamPlayerGroupNoNPCPlayers);

            libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "Storm_MapMechanic_MechanicCounterLeft_Red", libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

        }

        else {

            libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "Storm_MapMechanic_MechanicCounterRight_Blue", libGame_gv_teams[lv_itTeam].lv_teamPlayerGroupNoNPCPlayers);

            libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "Storm_MapMechanic_MechanicCounterRight_Red", libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers);

        }

        libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesSkullModeSkullCounterLabel[lv_itTeam] = DialogControlLastCreated();

    }

    lv_currentPanelLayer -= 1;

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "MineTimerModeFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesMineTimerModeFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "MineOpenLabel");

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesMineOpenLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "MineOpenTimer");

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesMineTimerLabel = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "GolemModeFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesGolemModeFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "AllyGolemHealthBar");

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesAllyGolemHealthUnitStatus = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "EnemyGolemHealthBar");

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesEnemyGolemHealthUnitStatus = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "AllySkullCounter");

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesAllyGolemModeSkullCounterLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "EnemySkullCounter");

    libUIUI_gv_mapMechanicsPanel.lv_hauntedMinesEnemyGolemModeSkullCounterLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "AllyGolemLabel");

    libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_UIUI_57C6D82D"), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "EnemyGolemLabel");

    libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_UIUI_114C2761"), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    lv_currentPanelLayer -= 1;

    lv_currentPanelLayer -= 1;

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "DragonShirePanel");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_dragonShirePanel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "ShrineTimerModeFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireShrineTimerModeFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "ShrineActivateTimer");

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireShrineTimerLabel = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "ShrineModeFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireShrineModeFrame = DialogControlLastCreated();

    lv_itTeam = 1;

    for ( ; ( (autoE09329D4_ai >= 0 && lv_itTeam <= autoE09329D4_ae) || (autoE09329D4_ai < 0 && lv_itTeam >= autoE09329D4_ae) ) ; lv_itTeam += autoE09329D4_ai ) {

        lv_enemyTeam = (3 - lv_itTeam);

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Team" + IntToString(lv_itTeam) + "BackgroundBlue");

        DialogControlSetVisible(DialogControlLastCreated(), libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers, false);

        if ((lv_itTeam == libGame_gv_teamChaosIndex_C)) {

            DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

        }



        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Team" + IntToString(lv_itTeam) + "BackgroundRed");

        DialogControlSetVisible(DialogControlLastCreated(), libGame_gv_teams[lv_itTeam].lv_teamPlayerGroupNoNPCPlayers, false);

        if ((lv_itTeam == libGame_gv_teamOrderIndex_C)) {

            DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

        }



        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Team" + IntToString(lv_itTeam) + "MoonShrineDisabled");

        libUIUI_gv_mapMechanicsPanel.lv_dragonShireMoonShrineDisabledImage[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Team" + IntToString(lv_itTeam) + "StarShrineDisabled");

        libUIUI_gv_mapMechanicsPanel.lv_dragonShireStarShrineDisabledImage[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Team" + IntToString(lv_itTeam) + "MoonShrineEnabled");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

        libUIUI_gv_mapMechanicsPanel.lv_dragonShireMoonShrineEnabledImage[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Team" + IntToString(lv_itTeam) + "StarShrineEnabled");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

        libUIUI_gv_mapMechanicsPanel.lv_dragonShireStarShrineEnabledImage[lv_itTeam] = DialogControlLastCreated();

    }

    libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_dragonShireMoonShrineDisabledImage[libGame_gv_teamOrderIndex_C], "@UI/HUD_MapMechanic_DragonShire_MoonDisabledRed", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_dragonShireMoonShrineDisabledImage[libGame_gv_teamChaosIndex_C], "@UI/HUD_MapMechanic_DragonShire_MoonDisabledBlue", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_dragonShireStarShrineDisabledImage[libGame_gv_teamOrderIndex_C], "@UI/HUD_MapMechanic_DragonShire_StarDisabledRed", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_dragonShireStarShrineDisabledImage[libGame_gv_teamChaosIndex_C], "@UI/HUD_MapMechanic_DragonShire_StarDisabledBlue", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_dragonShireMoonShrineEnabledImage[libGame_gv_teamOrderIndex_C], "@UI/HUD_MapMechanic_DragonShire_MoonEnabledRed", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_dragonShireMoonShrineEnabledImage[libGame_gv_teamChaosIndex_C], "@UI/HUD_MapMechanic_DragonShire_MoonEnabledBlue", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_dragonShireStarShrineEnabledImage[libGame_gv_teamOrderIndex_C], "@UI/HUD_MapMechanic_DragonShire_StarEnabledRed", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemImage(libUIUI_gv_mapMechanicsPanel.lv_dragonShireStarShrineEnabledImage[libGame_gv_teamChaosIndex_C], "@UI/HUD_MapMechanic_DragonShire_StarEnabledBlue", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    lv_currentPanelLayer -= 1;

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "DragonModeFrame");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonModeFrame = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "DragonInfoLabel");

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonInfoLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "DragonTimer");

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonTimerLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "DragonHealthBar");

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonHealthUnitStatus = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "DragonHealthBar/HealthLabel/StatusLabel");

    libUIUI_gv_mapMechanicsPanel.lv_dragonShireDragonHealthLabel = DialogControlLastCreated();

    lv_currentPanelLayer -= 1;

    lv_currentPanelLayer -= 1;

    libUIUI_gf_MapMechanicsGardenOfTerrorInit(lv_panels[lv_currentPanelLayer]);

    TriggerEnable(libUIUI_gt_MapMechanicsPanelUpdate, true);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_MapMechanicsPanelInitialize_Init () {

    libUIUI_gt_MapMechanicsPanelInitialize = TriggerCreate("libUIUI_gt_MapMechanicsPanelInitialize_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Map Mechanics Panel Update

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_MapMechanicsPanelUpdate_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_MapMechanicsPanelUpdate_Init () {

    libUIUI_gt_MapMechanicsPanelUpdate = TriggerCreate("libUIUI_gt_MapMechanicsPanelUpdate_Func");

    TriggerEnable(libUIUI_gt_MapMechanicsPanelUpdate, false);

    TriggerAddEventTimePeriodic(libUIUI_gt_MapMechanicsPanelUpdate, 0.0625, c_timeGame);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Map Mechanic Help Panel Initialize

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_MapMechanicHelpPanelInitialize_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenUpperContainer/MapMechanicHelpPanel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    libUIUI_gv_mapMechanicHelpPanel.lv_mainPanel = DialogControlLastCreated();

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlHookup(libUIUI_gv_mapMechanicHelpPanel.lv_mainPanel, c_triggerControlTypeLabel, "HelpText");

    libUIUI_gv_mapMechanicHelpPanel.lv_helpText = DialogControlLastCreated();

    DialogControlHookup(libUIUI_gv_mapMechanicHelpPanel.lv_mainPanel, c_triggerControlTypeButton, "OKButton");

    libUIUI_gv_mapMechanicHelpPanel.lv_closeButton = DialogControlLastCreated();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_MapMechanicHelpPanelInitialize_Init () {

    libUIUI_gt_MapMechanicHelpPanelInitialize = TriggerCreate("libUIUI_gt_MapMechanicHelpPanelInitialize_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Map Mechanic Help Panel OK Button Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_MapMechanicHelpPanelOKButtonClicked_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((EventDialogControl() == libUIUI_gv_mapMechanicHelpPanel.lv_closeButton))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gf_MapMechanicHelpPanelShowHide(false, libCore_gv_playerGroupFromPlayer[EventPlayer()]);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_MapMechanicHelpPanelOKButtonClicked_Init () {

    libUIUI_gt_MapMechanicHelpPanelOKButtonClicked = TriggerCreate("libUIUI_gt_MapMechanicHelpPanelOKButtonClicked_Func");

    TriggerEnable(libUIUI_gt_MapMechanicHelpPanelOKButtonClicked, false);

    TriggerAddEventDialogControl(libUIUI_gt_MapMechanicHelpPanelOKButtonClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Notification Display Initialize

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_NotificationDisplayInitialize_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int[6] lv_panels;

    int lv_currentPanelLayer;



    // Automatic Variable Declarations

    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenLowerContainer/GameNotificationsPanel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_notificationDisplay.lv_mainPanel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "KillCounterTemplate/TimerCountdown");

    libNtve_gf_SetDialogItemAnimationDuration(DialogControlLastCreated(), libGame_gv_heroDeathMultikillTimeoutDuration, PlayerGroupAll());

    libUIUI_gv_notificationDisplay.lv_multikillTimerCountdownImage = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "KillCounterTemplate/KillCountLabel");

    libUIUI_gv_notificationDisplay.lv_multikillTimerTitleLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "KillCounterTemplate/KillCountAmount");

    libUIUI_gv_notificationDisplay.lv_multikillTimerNumberLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "StandardNotificationTemplate/NotificationTitle");

    libUIUI_gv_notificationDisplay.lv_standardNotificationTitle = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "StandardNotificationTemplate/NotificationLabel");

    libUIUI_gv_notificationDisplay.lv_standardNotificationSubLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "StandardEnemyNotificationTemplate/NotificationTitle");

    libUIUI_gv_notificationDisplay.lv_enemyNotificationTitle = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "StandardEnemyNotificationTemplate/NotificationLabel");

    libUIUI_gv_notificationDisplay.lv_enemyNotificationSubLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TutorialNotificationTemplate/NotificationTitle");

    libUIUI_gv_notificationDisplay.lv_tutorialNotificationTitle = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TutorialNotificationTemplate/NotificationLabel");

    libUIUI_gv_notificationDisplay.lv_tutorialNotificationSubLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TimedKillNotificationTemplate/TimedKillNotification_Tier0/NotificationTitle");

    libUIUI_gv_notificationDisplay.lv_singleKillNotificationTitle = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TimedKillNotificationTemplate/TimedKillNotification_Tier0/NotificationLabel");

    libUIUI_gv_notificationDisplay.lv_singleKillNotificationSubLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TimedKillNotificationTemplate/TimedKillNotification_Tier1/NotificationTitle");

    libUIUI_gv_notificationDisplay.lv_doubleKillNotificationTitle = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TimedKillNotificationTemplate/TimedKillNotification_Tier1/NotificationLabel");

    libUIUI_gv_notificationDisplay.lv_doubleKillNotificationSubLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TimedKillNotificationTemplate/TimedKillNotification_Tier2/NotificationTitle");

    libUIUI_gv_notificationDisplay.lv_tripleKillNotificationTitle = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TimedKillNotificationTemplate/TimedKillNotification_Tier2/NotificationLabel");

    libUIUI_gv_notificationDisplay.lv_tripleKillNotificationSubLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TimedKillNotificationTemplate/TimedKillNotification_Tier3/NotificationTitle");

    libUIUI_gv_notificationDisplay.lv_quadKillNotificationTitle = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TimedKillNotificationTemplate/TimedKillNotification_Tier3/NotificationLabel");

    libUIUI_gv_notificationDisplay.lv_quadKillNotificationSubLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TimedKillNotificationTemplate/TimedKillNotification_Tier4/NotificationTitle");

    libUIUI_gv_notificationDisplay.lv_MegaKillNotificationTitle = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TimedKillNotificationTemplate/TimedKillNotification_Tier4/NotificationLabel");

    libUIUI_gv_notificationDisplay.lv_MegaKillNotificationSubLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "QuestNotificationTemplate/NotificationTitle");

    libUIUI_gv_notificationDisplay.lv_MegaKillNotificationTitle2 = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "QuestNotificationTemplate/NotificationLabel");

    libUIUI_gv_notificationDisplay.lv_MegaKillNotificationSubLabel2 = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "QuestNotificationTemplate/QuestIcon/IconImage");

    libUIUI_gv_notificationDisplay.lv_MegaKillNotificationSubLabel3 = DialogControlLastCreated();

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_NotificationDisplayInitialize_Init () {

    libUIUI_gt_NotificationDisplayInitialize = TriggerCreate("libUIUI_gt_NotificationDisplayInitialize_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: DEBUG Notification Display Anim Cheat

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_DEBUGNotificationDisplayAnimCheat_Func (bool testConds, bool runActions) {

    // Variable Declarations

    string lv_animName;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_animName = "";



    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_animName = StringWord(EventChatMessage(false), 2);

    DialogControlSendAnimationEvent(libUIUI_gv_notificationDisplay.lv_mainPanel, PlayerGroupAll(), lv_animName);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_DEBUGNotificationDisplayAnimCheat_Init () {

    libUIUI_gt_DEBUGNotificationDisplayAnimCheat = TriggerCreate("libUIUI_gt_DEBUGNotificationDisplayAnimCheat_Func");

    TriggerAddEventChatMessage(libUIUI_gt_DEBUGNotificationDisplayAnimCheat, c_playerAny, "notification", false);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Kill Log - Initialize

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_KillLogInitialize_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_i_Item;

    int lv_i_Player;



    // Automatic Variable Declarations

    const int auto6EE86EF3_ae = libUIUI_gv_killLog_MaxItemCount_D0A1;

    const int auto6EE86EF3_ai = 1;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsolePanel/KillLogPanel");

    libUIUI_gv_killLogPanel = DialogControlLastCreated();

    if (((libCore_gv_sYSGameMode == libCore_ge_GameModes_Tutorial1) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_TutorialMapMechanics))) {

        DialogControlSetVisible(libUIUI_gv_killLogPanel, PlayerGroupAll(), false);

    }



    lv_i_Item = 1;

    for ( ; ( (auto6EE86EF3_ai >= 0 && lv_i_Item <= auto6EE86EF3_ae) || (auto6EE86EF3_ai < 0 && lv_i_Item >= auto6EE86EF3_ae) ) ; lv_i_Item += auto6EE86EF3_ai ) {

        DialogControlCreateInPanelFromTemplate(libUIUI_gv_killLogPanel, c_triggerControlTypePanel, "KillLog/Item");

        libUIUI_gv_killLogItems[lv_i_Item].lv_frame = DialogControlLastCreated();

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_KillLogInitialize_Init () {

    libUIUI_gt_KillLogInitialize = TriggerCreate("libUIUI_gt_KillLogInitialize_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Kill Log - On Hero Unit Dies

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_KillLogOnHeroUnitDies_Func (bool testConds, bool runActions) {

    // Variable Declarations

    unit lv_target;

    int lv_killingPlayer;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_target = libGame_gf_HeroKilledUnit();

    lv_killingPlayer = libGame_gf_HeroKilledKillingPlayer();



    // Conditions

    if (testConds) {

        if (!((libGame_gf_HeroKilledPlayer() >= 1))) {

            return false;

        }



        if (!((libGame_gf_HeroKilledPlayer() <= libCore_gv_bALMaxPlayers))) {

            return false;

        }



        if (!((UnitGetType(lv_target) != "HeroGall"))) {

            return false;

        }



        if (!((libGame_gv_players[libGame_gf_HeroKilledPlayer()].lv_suppressKillLogwhenKilled == false))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gf_KillLogAnnounceKill(lv_killingPlayer, lv_target);

    if ((UnitGetType(lv_target) == "HeroCho")) {

        libUIUI_gf_KillLogAnnounceKill(lv_killingPlayer, libGDHL_gv_chogallPairs[libGame_gf_TeamNumberOfPlayer(libGame_gf_HeroKilledPlayer())].lv_gallUnit);

    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_KillLogOnHeroUnitDies_Init () {

    libUIUI_gt_KillLogOnHeroUnitDies = TriggerCreate("libUIUI_gt_KillLogOnHeroUnitDies_Func");

    libGame_gf_HeroKilled(libUIUI_gt_KillLogOnHeroUnitDies);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Kill Log - On Quest Complete

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_KillLogOnQuestComplete_Func (bool testConds, bool runActions) {

    // Variable Declarations

    unit lv_hero;

    string lv_quest;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_hero = EventUnit();

    lv_quest = EventUnitTokenBehavior();



    // Actions

    if (!runActions) {

        return true;

    }



    if ((UnitTestState(lv_hero, c_unitStateHallucination) == true)) {

        return true;

    }



    libUIUI_gf_KillLogAnnounceQuestCompletion(UnitGetOwner(lv_hero), lv_quest, 1.0);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_KillLogOnQuestComplete_Init () {

    libUIUI_gt_KillLogOnQuestComplete = TriggerCreate("libUIUI_gt_KillLogOnQuestComplete_Func");

    TriggerAddEventUnitToken(libUIUI_gt_KillLogOnQuestComplete, "QuestComplete", null, "");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Kill Log - On Quest Milestone New

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_KillLogOnQuestMilestoneNew_Func (bool testConds, bool runActions) {

    // Variable Declarations

    unit lv_hero;

    string lv_quest;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_hero = EventUnit();

    lv_quest = EventUnitTokenBehavior();



    // Actions

    if (!runActions) {

        return true;

    }



    if ((UnitTestState(lv_hero, c_unitStateHallucination) == true)) {

        return true;

    }



    libUIUI_gf_KillLogAnnounceQuestMilestone(UnitGetOwner(lv_hero), lv_quest, 1.0);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_KillLogOnQuestMilestoneNew_Init () {

    libUIUI_gt_KillLogOnQuestMilestoneNew = TriggerCreate("libUIUI_gt_KillLogOnQuestMilestoneNew_Func");

    TriggerAddEventUnitToken(libUIUI_gt_KillLogOnQuestMilestoneNew, "QuestMilestone", null, "");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Kill Log - On Quest Reset

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_KillLogOnQuestReset_Func (bool testConds, bool runActions) {

    // Variable Declarations

    unit lv_hero;

    string lv_quest;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_hero = EventUnit();

    lv_quest = EventUnitTokenBehavior();



    // Conditions

    if (testConds) {

        if (!((UnitIsAlive(lv_hero) == false))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gf_KillLogSaveQuestResetdatatoCache(UnitGetOwner(lv_hero), lv_quest);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_KillLogOnQuestReset_Init () {

    libUIUI_gt_KillLogOnQuestReset = TriggerCreate("libUIUI_gt_KillLogOnQuestReset_Func");

    TriggerAddEventUnitToken(libUIUI_gt_KillLogOnQuestReset, "QuestReset", null, "");

}



//--------------------------------------------------------------------------------------------------

// Trigger: Kill Log - Item Timer Expires

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_KillLogItemTimerExpires_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_i_item;



    // Automatic Variable Declarations

    int auto4B097611_ae;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    auto4B097611_ae = libUIUI_gv_killLog_MaxItemCount_D0A1;

    lv_i_item = 1;

    for ( ; lv_i_item <= auto4B097611_ae ; lv_i_item += 1 ) {

        if ((EventTimer() == libUIUI_gv_killLogItems[lv_i_item].lv_timer)) {

            libUIUI_gf_KillLogHideItem(lv_i_item);

            return true;

        }



    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_KillLogItemTimerExpires_Init () {

    libUIUI_gt_KillLogItemTimerExpires = TriggerCreate("libUIUI_gt_KillLogItemTimerExpires_Func");

    TriggerAddEventTimer(libUIUI_gt_KillLogItemTimerExpires, libUIUI_gv_killLogItems[1].lv_timer);

    TriggerAddEventTimer(libUIUI_gt_KillLogItemTimerExpires, libUIUI_gv_killLogItems[2].lv_timer);

    TriggerAddEventTimer(libUIUI_gt_KillLogItemTimerExpires, libUIUI_gv_killLogItems[3].lv_timer);

    TriggerAddEventTimer(libUIUI_gt_KillLogItemTimerExpires, libUIUI_gv_killLogItems[4].lv_timer);

    TriggerAddEventTimer(libUIUI_gt_KillLogItemTimerExpires, libUIUI_gv_killLogItems[5].lv_timer);

    TriggerAddEventTimer(libUIUI_gt_KillLogItemTimerExpires, libUIUI_gv_killLogItems[6].lv_timer);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Kill Log - Debug - Show Panel

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_KillLogDebugShowPanel_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gf_KillLogDebugInitPanel();

    DialogControlSetVisible(libUIUI_gv_killLogDebugPanel.lv_mainPanel, PlayerGroupSingle(EventPlayer()), true);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_KillLogDebugShowPanel_Init () {

    libUIUI_gt_KillLogDebugShowPanel = TriggerCreate("libUIUI_gt_KillLogDebugShowPanel_Func");

    TriggerAddEventChatMessage(libUIUI_gt_KillLogDebugShowPanel, c_playerAny, "killlogdebug", true);

    TriggerAddEventChatMessage(libUIUI_gt_KillLogDebugShowPanel, c_playerAny, "kld", true);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Kill Log - Debug - Announce Kill

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_KillLogDebugAnnounceKill_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_i_Player;

    unit lv_killerUnit;

    unit lv_targetUnit;

    int lv_i_Quest;

    libUIUI_gs_KillLogQuestArray lv_questArrayBuffer;

    int lv_questsResetCount;



    // Automatic Variable Declarations

    const int auto4B68C9FE_ae = libCore_gv_bALMaxEnginePlayerCount;

    const int auto4B68C9FE_ai = 1;

    int auto0DCE6825_ae;

    int auto2CDA3C01_ae;



    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!(((EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[1]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[2]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[3]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[4]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[5]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[6]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[7]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[8]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[9]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[10]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[11]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[12]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[13]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[14]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[15])))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_i_Player = 1;

    for ( ; ( (auto4B68C9FE_ai >= 0 && lv_i_Player <= auto4B68C9FE_ae) || (auto4B68C9FE_ai < 0 && lv_i_Player >= auto4B68C9FE_ae) ) ; lv_i_Player += auto4B68C9FE_ai ) {

        if ((EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_killButtons[lv_i_Player])) {

            if ((PlayerGroupCount(PlayerGroupAlliance(c_playerGroupEnemy, lv_i_Player)) == 0)) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_60927072", "A", IntToText(libGame_gf_EnemyTeamNumberOfPlayer(lv_i_Player)));

                TriggerDebugOutput(1, TextExpressionAssemble("Param/Expression/lib_UIUI_60927072"), true);

                return true;

            }



            lv_targetUnit = libGame_gv_players[PlayerGroupPlayer(PlayerGroupAlliance(c_playerGroupEnemy, lv_i_Player), RandomInt(1, PlayerGroupCount(PlayerGroupAlliance(c_playerGroupEnemy, lv_i_Player))))].lv_heroUnit;

            if ((libNtve_gf_DialogItemIsChecked(libUIUI_gv_killLogDebugPanel.lv_killCheckbox, EventPlayer()) == true)) {

                lv_questsResetCount = 1;

                auto0DCE6825_ae = libUIUI_gv_killLog_MaxComboIcons_D0A1;

                lv_i_Quest = 1;

                for ( ; lv_i_Quest <= auto0DCE6825_ae ; lv_i_Quest += 1 ) {

                    lv_questArrayBuffer.lv_quests[lv_i_Quest] = libUIUI_gv_killLogQuestResetCache[UnitGetOwner(lv_targetUnit)].lv_quests[lv_i_Quest];

                    if ((lv_i_Quest > lv_questsResetCount)) {

                        libUIUI_gv_killLogQuestResetCache[UnitGetOwner(lv_targetUnit)].lv_quests[lv_i_Quest] = null;

                    }

                    else {

                        libUIUI_gv_killLogQuestResetCache[UnitGetOwner(lv_targetUnit)].lv_quests[lv_i_Quest] = libUIUI_gf_KillLogDebugRandomQuestBehavior();

                    }

                }

                libUIUI_gf_KillLogAnnounceKill(lv_i_Player, lv_targetUnit);

                auto2CDA3C01_ae = libUIUI_gv_killLog_MaxComboIcons_D0A1;

                lv_i_Quest = 1;

                for ( ; lv_i_Quest <= auto2CDA3C01_ae ; lv_i_Quest += 1 ) {

                    libUIUI_gv_killLogQuestResetCache[UnitGetOwner(lv_targetUnit)].lv_quests[lv_i_Quest] = lv_questArrayBuffer.lv_quests[lv_i_Quest];

                }

            }

            else {

                libUIUI_gf_KillLogAnnounceKill(lv_i_Player, lv_targetUnit);

            }

        }



    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_KillLogDebugAnnounceKill_Init () {

    libUIUI_gt_KillLogDebugAnnounceKill = TriggerCreate("libUIUI_gt_KillLogDebugAnnounceKill_Func");

    TriggerAddEventDialogControl(libUIUI_gt_KillLogDebugAnnounceKill, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Kill Log - Debug - Announce Quest

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_KillLogDebugAnnounceQuest_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_i_Player;

    string lv_behaviorEntry;



    // Automatic Variable Declarations

    playergroup auto89041613_g;



    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!(((EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_questButtons[1]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_questButtons[2]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_questButtons[3]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_questButtons[4]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_questButtons[5]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_questButtons[6]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_questButtons[7]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_questButtons[8]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_questButtons[9]) || (EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_questButtons[10])))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    auto89041613_g = PlayerGroupActive();

    lv_i_Player = -1;

    while (true) {

        	lv_i_Player = PlayerGroupNextPlayer(auto89041613_g, lv_i_Player);

        	if (lv_i_Player<0) { break; }

        	if ((EventDialogControl() == libUIUI_gv_killLogDebugPanel.lv_questButtons[lv_i_Player])) {

            libUIUI_gf_KillLogAnnounceQuestCompletion(lv_i_Player, libUIUI_gf_KillLogDebugRandomQuestBehavior(), 1.0);

        }



    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_KillLogDebugAnnounceQuest_Init () {

    libUIUI_gt_KillLogDebugAnnounceQuest = TriggerCreate("libUIUI_gt_KillLogDebugAnnounceQuest_Func");

    TriggerAddEventDialogControl(libUIUI_gt_KillLogDebugAnnounceQuest, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Initialize Observer UI

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIInitializeObserverUI_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int lv_team;

    int lv_hero;

    int[6] lv_panels;

    int lv_currentPanelLayer;

    int lv_leaderboardIndex;



    // Automatic Variable Declarations

    const int autoBAB376C6_ae = libCore_gv_bALMaxTeams;

    const int autoBAB376C6_ai = 1;

    const int autoBCB352F9_ae = libCore_gv_bALMaxPlayersOnATeam;

    const int autoBCB352F9_ai = 1;

    const int auto54143569_ae = libCore_gv_bALMaxTeams;

    const int auto54143569_ai = 1;



    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/HeroSpecificCommandCardPanel");

    DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenUpperContainer/ObserverHeroOverviewPanel");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_uIObserverUI.lv_mainPanel = DialogControlLastCreated();

    DialogControlHookupStandard(c_triggerControlTypeButton, "UIContainer/ConsoleUIContainer/MinimapPanel/PingButton");

    DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

    DialogControlHookupStandard(c_triggerControlTypeLabel, "UIContainer/FullscreenUpperContainer/ChatHelpLabel");

    DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenUpperContainer/ObserverHeroOverviewPanel/BottomPanel");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlSetEnabled(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);

    DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);

    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenUpperContainer/ObserverToggleControls");

    DialogControlSetEnabled(DialogControlLastCreated(), PlayerGroupAll(), false);

    DialogControlSetEnabled(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);

    lv_team = 1;

    for ( ; ( (autoBAB376C6_ai >= 0 && lv_team <= autoBAB376C6_ae) || (autoBAB376C6_ai < 0 && lv_team >= autoBAB376C6_ae) ) ; lv_team += autoBAB376C6_ai ) {

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "Team" + IntToString(lv_team) + "HeroOverview");

        DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

        lv_currentPanelLayer += 1;

        lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TownsRemainingValueLabel");

        libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringToText(""), PlayerGroupAll());

        DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

        libUIUI_gv_uIObserverUI.lv_teamTownsLabel[lv_team] = DialogControlLastCreated();

        lv_hero = 1;

        for ( ; ( (autoBCB352F9_ai >= 0 && lv_hero <= autoBCB352F9_ae) || (autoBCB352F9_ai < 0 && lv_hero >= autoBCB352F9_ae) ) ; lv_hero += autoBCB352F9_ai ) {

            lv_leaderboardIndex = ((lv_team - 1) * libCore_gv_bALMaxPlayersOnATeam + lv_hero);

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HeroOverview" + IntToString(lv_hero));

            DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

            DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

            libUIUI_gv_uIObserverUI.lv_heroPanels[lv_leaderboardIndex] = DialogControlLastCreated();

            lv_currentPanelLayer += 1;

            lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HeroPortraitImage");

            DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

            libUIUI_gv_uIObserverUI.lv_heroPortraitImages[lv_leaderboardIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitTarget, "TargetHeroUnitFrame");

            DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

            libUIUI_gv_uIObserverUI.lv_heroTargetFrames[lv_leaderboardIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "HeroDeathTimeLabel");

            DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

            libUIUI_gv_uIObserverUI.lv_heroDeathTimeLabels[lv_leaderboardIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HeroDeathExtendedIcon");

            DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

            libUIUI_gv_uIObserverUI.lv_heroExtendedDeathIcon[lv_leaderboardIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HeroDeathCondensedIcon");

            DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

            libUIUI_gv_uIObserverUI.lv_heroCondensedDeathIcon[lv_leaderboardIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroStatus");

            DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

            libUIUI_gv_uIObserverUI.lv_heroStatusBars[lv_leaderboardIndex] = DialogControlLastCreated();

            lv_currentPanelLayer -= 1;

        }

        lv_currentPanelLayer -= 1;

    }

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "ObserverTopPanel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    libUIUI_gv_uIObserverUI.lv_topPanel = DialogControlLastCreated();

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "GameTimerLabel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringToText(""), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    libUIUI_gv_uIObserverUI.lv_observerTimer = DialogControlLastCreated();

    lv_team = 1;

    for ( ; ( (auto54143569_ai >= 0 && lv_team <= auto54143569_ae) || (auto54143569_ai < 0 && lv_team >= auto54143569_ae) ) ; lv_team += auto54143569_ai ) {

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "Team" + IntToString(lv_team) + "LevelLabel");

        DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

        libUIUI_gv_uIObserverUI.lv_teamLevelLabel[lv_team] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "Team" + IntToString(lv_team) + "CoreUnitStatus");

        DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

        if ((libGame_gv_teams[lv_team].lv_core != null)) {

            libNtve_gf_SetDialogItemUnit(DialogControlLastCreated(), libGame_gv_teams[lv_team].lv_core, libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

        }



        libUIUI_gv_uIObserverUI.lv_coreHealthUnitStatusFrames[lv_team] = DialogControlLastCreated();

    }

    TriggerEnable(libUIUI_gt_UIObserverUIUpdate, true);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIInitializeObserverUI_Init () {

    libUIUI_gt_UIInitializeObserverUI = TriggerCreate("libUIUI_gt_UIInitializeObserverUI_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Observer UI - Hero Dies

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIObserverUIHeroDies_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_rosterSlot;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((libGame_gf_HeroKilledPlayer() >= 1))) {

            return false;

        }



        if (!((libGame_gf_HeroKilledPlayer() <= libCore_gv_bALMaxPlayers))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_rosterSlot = libGame_gv_players[libGame_gf_HeroKilledPlayer()].lv_rosterSlot;

    libNtve_gf_SetDialogItemColor(libUIUI_gv_uIObserverUI.lv_heroPortraitImages[lv_rosterSlot], Color(29.41, 29.41, 29.41), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    libNtve_gf_SetDialogItemText(libUIUI_gv_uIObserverUI.lv_heroDeathTimeLabels[lv_rosterSlot], StringToText(""), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

    DialogControlSetVisible(libUIUI_gv_uIObserverUI.lv_heroDeathTimeLabels[lv_rosterSlot], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);

    if ((UnitGetType(libGame_gv_players[libGame_gf_HeroKilledPlayer()].lv_heroUnit) != "HeroLostVikingsController")) {

        DialogControlSetVisible(libUIUI_gv_uIObserverUI.lv_heroStatusBars[lv_rosterSlot], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIObserverUIHeroDies_Init () {

    libUIUI_gt_UIObserverUIHeroDies = TriggerCreate("libUIUI_gt_UIObserverUIHeroDies_Func");

    libGame_gf_HeroKilled(libUIUI_gt_UIObserverUIHeroDies);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Observer UI - Hero Respawn

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIObserverUIHeroRespawn_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_rosterSlot;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((libGame_gf_HeroRespawnPlayer() <= libCore_gv_bALMaxEnginePlayerCount))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    if ((UnitGetType(libGame_gv_players[libGame_gf_HeroRespawnPlayer()].lv_heroUnit) != "HeroLostVikingsController")) {

        lv_rosterSlot = libGame_gv_players[libGame_gf_HeroRespawnPlayer()].lv_rosterSlot;

        libNtve_gf_SetDialogItemColor(libUIUI_gv_uIObserverUI.lv_heroPortraitImages[lv_rosterSlot], Color(100.00, 100.00, 100.00), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

        DialogControlSetVisible(libUIUI_gv_uIObserverUI.lv_heroDeathTimeLabels[lv_rosterSlot], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

        DialogControlSetVisible(libUIUI_gv_uIObserverUI.lv_heroStatusBars[lv_rosterSlot], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);

    }

    else {

        if ((UnitGroupCount(libGame_gv_players[libGame_gf_HeroRespawnPlayer()].lv_heroUnitGroup, c_unitCountDead) == 0)) {

            lv_rosterSlot = libGame_gv_players[libGame_gf_HeroRespawnPlayer()].lv_rosterSlot;

            libNtve_gf_SetDialogItemColor(libUIUI_gv_uIObserverUI.lv_heroPortraitImages[lv_rosterSlot], Color(100.00, 100.00, 100.00), libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer]);

            DialogControlSetVisible(libUIUI_gv_uIObserverUI.lv_heroDeathTimeLabels[lv_rosterSlot], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], false);

            DialogControlSetVisible(libUIUI_gv_uIObserverUI.lv_heroStatusBars[lv_rosterSlot], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);

        }



    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIObserverUIHeroRespawn_Init () {

    libUIUI_gt_UIObserverUIHeroRespawn = TriggerCreate("libUIUI_gt_UIObserverUIHeroRespawn_Func");

    libGame_gf_HeroRespawn(libUIUI_gt_UIObserverUIHeroRespawn);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Observer UI - Update

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIObserverUIUpdate_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gf_UIObserverUIUpdateForPlayer(libCore_gv_oBSERVER_ObserverUIPlayer);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIObserverUIUpdate_Init () {

    libUIUI_gt_UIObserverUIUpdate = TriggerCreate("libUIUI_gt_UIObserverUIUpdate_Func");

    TriggerEnable(libUIUI_gt_UIObserverUIUpdate, false);

    TriggerAddEventTimePeriodic(libUIUI_gt_UIObserverUIUpdate, 0.125, c_timeGame);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - On Fire - DEBUG - Enable/Disable On Fire Debug

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIOnFireDEBUGEnableDisableOnFireDebug_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Conditions

    if (testConds) {

        if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {

            return false;

        }



        if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    if ((libUIUI_gv_uIOnFireDEBUGOnFireDebugEnabled == true)) {

        TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_D3C71AC6"), true);

        libUIUI_gv_uIOnFireDEBUGOnFireDebugEnabled = false;

        TriggerEnable(libUIUI_gt_UIOnFireDEBUGCycleOffenseOnFire, false);

        TriggerEnable(libUIUI_gt_UIOnFireDEBUGCycleDefenseOnFire, false);

        TriggerEnable(libUIUI_gt_UIOnFireDEBUGCycleUtilityOnFire, false);

    }

    else {

        TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_B8BB2DE3"), true);

        libUIUI_gv_uIOnFireDEBUGOnFireDebugEnabled = true;

        TriggerEnable(libUIUI_gt_UIOnFireDEBUGCycleOffenseOnFire, true);

        TriggerEnable(libUIUI_gt_UIOnFireDEBUGCycleDefenseOnFire, true);

        TriggerEnable(libUIUI_gt_UIOnFireDEBUGCycleUtilityOnFire, true);

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIOnFireDEBUGEnableDisableOnFireDebug_Init () {

    libUIUI_gt_UIOnFireDEBUGEnableDisableOnFireDebug = TriggerCreate("libUIUI_gt_UIOnFireDEBUGEnableDisableOnFireDebug_Func");

    TriggerAddEventChatMessage(libUIUI_gt_UIOnFireDEBUGEnableDisableOnFireDebug, c_playerAny, "-debugonfire", true);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - On Fire - DEBUG - Cycle Defense On Fire

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIOnFireDEBUGCycleDefenseOnFire_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    int auto5907F58C_val;



    // Conditions

    if (testConds) {

        if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {

            return false;

        }



        if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gv_uIOnFireDEBUGUtilityOnFireLevel = 0;

    libUIUI_gv_uIOnFireDEBUGOffenseOnFireLevel = 0;

    if (libUIUI_gv_uIOnFireDEBUGDefenseOnFireLevel >= 3) {

        libUIUI_gv_uIOnFireDEBUGDefenseOnFireLevel = 0;

    }

    else {

        libUIUI_gv_uIOnFireDEBUGDefenseOnFireLevel = libUIUI_gv_uIOnFireDEBUGDefenseOnFireLevel + 1;

    }

    auto5907F58C_val = libUIUI_gv_uIOnFireDEBUGDefenseOnFireLevel;

    if (auto5907F58C_val == 0) {

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Extinguished, 1);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Extinguished, 6);

    }

    else if (auto5907F58C_val == 1) {

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Defense, 1);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Embers, 1);

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Defense, 6);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Embers, 6);

    }

    else if (auto5907F58C_val == 2) {

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Defense, 1);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_UNUSED, 1);

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Defense, 6);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_UNUSED, 6);

    }

    else if (auto5907F58C_val == 3) {

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Defense, 1);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Inferno, 1);

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Defense, 6);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Inferno, 6);

    }

    else {

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIOnFireDEBUGCycleDefenseOnFire_Init () {

    libUIUI_gt_UIOnFireDEBUGCycleDefenseOnFire = TriggerCreate("libUIUI_gt_UIOnFireDEBUGCycleDefenseOnFire_Func");

    TriggerEnable(libUIUI_gt_UIOnFireDEBUGCycleDefenseOnFire, false);

    TriggerAddEventKeyPressed(libUIUI_gt_UIOnFireDEBUGCycleDefenseOnFire, c_playerAny, c_keyI, true, c_keyModifierStateIgnore, c_keyModifierStateIgnore, c_keyModifierStateIgnore);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - On Fire - DEBUG - Cycle Offense On Fire

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIOnFireDEBUGCycleOffenseOnFire_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    int auto6ECA1839_val;



    // Conditions

    if (testConds) {

        if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {

            return false;

        }



        if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gv_uIOnFireDEBUGUtilityOnFireLevel = 0;

    libUIUI_gv_uIOnFireDEBUGDefenseOnFireLevel = 0;

    if (libUIUI_gv_uIOnFireDEBUGOffenseOnFireLevel >= 3) {

        libUIUI_gv_uIOnFireDEBUGOffenseOnFireLevel = 0;

    }

    else {

        libUIUI_gv_uIOnFireDEBUGOffenseOnFireLevel = libUIUI_gv_uIOnFireDEBUGOffenseOnFireLevel + 1;

    }

    auto6ECA1839_val = libUIUI_gv_uIOnFireDEBUGOffenseOnFireLevel;

    if (auto6ECA1839_val == 0) {

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Extinguished, 1);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Extinguished, 6);

    }

    else if (auto6ECA1839_val == 1) {

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Offense, 1);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Embers, 1);

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Offense, 6);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Embers, 6);

    }

    else if (auto6ECA1839_val == 2) {

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Offense, 1);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_UNUSED, 1);

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Offense, 6);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_UNUSED, 6);

    }

    else if (auto6ECA1839_val == 3) {

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Offense, 1);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Inferno, 1);

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Offense, 6);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Inferno, 6);

    }

    else {

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIOnFireDEBUGCycleOffenseOnFire_Init () {

    libUIUI_gt_UIOnFireDEBUGCycleOffenseOnFire = TriggerCreate("libUIUI_gt_UIOnFireDEBUGCycleOffenseOnFire_Func");

    TriggerEnable(libUIUI_gt_UIOnFireDEBUGCycleOffenseOnFire, false);

    TriggerAddEventKeyPressed(libUIUI_gt_UIOnFireDEBUGCycleOffenseOnFire, c_playerAny, c_keyO, true, c_keyModifierStateIgnore, c_keyModifierStateIgnore, c_keyModifierStateIgnore);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - On Fire - DEBUG - Cycle Utility On Fire

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIOnFireDEBUGCycleUtilityOnFire_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    int auto5ECD0BBC_val;



    // Conditions

    if (testConds) {

        if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {

            return false;

        }



        if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gv_uIOnFireDEBUGDefenseOnFireLevel = 0;

    libUIUI_gv_uIOnFireDEBUGOffenseOnFireLevel = 0;

    if (libUIUI_gv_uIOnFireDEBUGUtilityOnFireLevel >= 3) {

        libUIUI_gv_uIOnFireDEBUGUtilityOnFireLevel = 0;

    }

    else {

        libUIUI_gv_uIOnFireDEBUGUtilityOnFireLevel = libUIUI_gv_uIOnFireDEBUGUtilityOnFireLevel + 1;

    }

    auto5ECD0BBC_val = libUIUI_gv_uIOnFireDEBUGUtilityOnFireLevel;

    if (auto5ECD0BBC_val == 0) {

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Extinguished, 1);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Extinguished, 6);

    }

    else if (auto5ECD0BBC_val == 1) {

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Utility, 1);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Embers, 1);

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Utility, 6);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Embers, 6);

    }

    else if (auto5ECD0BBC_val == 2) {

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Utility, 1);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_UNUSED, 1);

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Utility, 6);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_UNUSED, 6);

    }

    else if (auto5ECD0BBC_val == 3) {

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Utility, 1);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Inferno, 1);

        libUIUI_gf_UIOnFireSetOnFireType(libGame_ge_OnFireType_Utility, 6);

        libUIUI_gf_UIOnFireSetOnFireLevel(libGame_ge_OnFireLevel_Inferno, 6);

    }

    else {

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIOnFireDEBUGCycleUtilityOnFire_Init () {

    libUIUI_gt_UIOnFireDEBUGCycleUtilityOnFire = TriggerCreate("libUIUI_gt_UIOnFireDEBUGCycleUtilityOnFire_Func");

    TriggerEnable(libUIUI_gt_UIOnFireDEBUGCycleUtilityOnFire, false);

    TriggerAddEventKeyPressed(libUIUI_gt_UIOnFireDEBUGCycleUtilityOnFire, c_playerAny, c_keyP, true, c_keyModifierStateIgnore, c_keyModifierStateIgnore, c_keyModifierStateIgnore);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Initialize Party Frame UI

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIInitializePartyFrameUI_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int lv_teamIndex;

    int lv_heroIndex;

    int[6] lv_panels;

    int lv_currentPanelLayer;

    int lv_heroRosterIndex;

    int lv_onFireIndex;



    // Automatic Variable Declarations

    const int auto2714545E_ae = libCore_gv_bALMaxTeams;

    const int auto2714545E_ai = 1;

    const int autoD23D7419_ae = libCore_gv_bALMaxPlayersOnATeam;

    const int autoD23D7419_ai = 1;



    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    TimerStart(libUIUI_gv_uIPartyFrameDeathUpdateTimer, libUIUI_gv_uIPartyFrameTimersUpdateDelay_C, false, c_timeGame);

    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/PartyFramePanel");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_uIPartyFrame.lv_mainPanel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "GameTimerLabel");

    libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringToText(""), PlayerGroupAll());

    libUIUI_gv_uIPartyFrame.lv_gameTimerLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "CoreHealthLabel");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    libUIUI_gv_uIPartyFrame.lv_coreHealthLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "PartyFrameTopPanel/XPContributionHitTestFrame");

    libUIUI_gv_uIPartyFrame.lv_xPContributionClickableButton = DialogControlLastCreated();

    lv_teamIndex = 1;

    for ( ; ( (auto2714545E_ai >= 0 && lv_teamIndex <= auto2714545E_ae) || (auto2714545E_ai < 0 && lv_teamIndex >= auto2714545E_ae) ) ; lv_teamIndex += auto2714545E_ai ) {

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "Team" + IntToString(lv_teamIndex) + "LevelInfo");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), true);

        libUIUI_gv_uIPartyFrame.lv_teamLevelInfoPanel[lv_teamIndex] = DialogControlLastCreated();

        lv_currentPanelLayer += 1;

        lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TeamLevelLabel");

        libUIUI_gv_uIPartyFrame.lv_teamLevelLabel[lv_teamIndex] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "TeamNextLevelTalentIcon");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), true);

        libUIUI_gv_uIPartyFrame.lv_teamNextLevelTalentIcon[lv_teamIndex] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "TeamNextLevelNoTalentIcon");

        libUIUI_gv_uIPartyFrame.lv_teamNextLevelNoTalentIcon[lv_teamIndex] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "TeamTalentAdvantageFrame");

        libUIUI_gv_uIPartyFrame.lv_teamTalentAdvantageIcon[lv_teamIndex] = DialogControlLastCreated();

        lv_currentPanelLayer -= 1;

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "Team" + IntToString(lv_teamIndex) + "CoreUnitStatus");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

        libUIUI_gv_uIPartyFrame.lv_coreHealthUnitStatusFrames[lv_teamIndex] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "PartyFrameTopPanel/Team" + IntToString(lv_teamIndex) + "XPInfoFrame");

        lv_currentPanelLayer += 1;

        lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

        libUIUI_gv_uIPartyFrame.lv_xPContributionPopup[lv_teamIndex] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "PropertyBindLabels/HeroAmountLabel");

        libUIUI_gv_uIPartyFrame.lv_heroXPContributionLabel[lv_teamIndex] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "PropertyBindLabels/MercenaryAmountLabel");

        libUIUI_gv_uIPartyFrame.lv_mercenaryXPContributionLabel[lv_teamIndex] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "PropertyBindLabels/MinionAmountLabel");

        libUIUI_gv_uIPartyFrame.lv_minionXPContributionLabel[lv_teamIndex] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "PropertyBindLabels/PassiveAmountLabel");

        libUIUI_gv_uIPartyFrame.lv_passiveXPContributionLabel[lv_teamIndex] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "PropertyBindLabels/StructureAmountLabel");

        libUIUI_gv_uIPartyFrame.lv_structureXPContributionLabel[lv_teamIndex] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "PropertyBindLabels/TotalAmountLabel");

        libUIUI_gv_uIPartyFrame.lv_totalXPContributionLabel[lv_teamIndex] = DialogControlLastCreated();

        lv_currentPanelLayer -= 1;

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "Team" + IntToString(lv_teamIndex) + "HeroOverview");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), true);

        libUIUI_gv_uIPartyFrame.lv_teamHeroPanel[lv_teamIndex] = DialogControlLastCreated();

        lv_currentPanelLayer += 1;

        lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

        lv_heroIndex = 1;

        for ( ; ( (autoD23D7419_ai >= 0 && lv_heroIndex <= autoD23D7419_ae) || (autoD23D7419_ai < 0 && lv_heroIndex >= autoD23D7419_ae) ) ; lv_heroIndex += autoD23D7419_ai ) {

            lv_heroRosterIndex = ((lv_teamIndex - 1) * libCore_gv_bALMaxPlayersOnATeam + lv_heroIndex);

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HeroOverview" + IntToString(lv_heroIndex));

            DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

            libUIUI_gv_uIPartyFrame.lv_heroPanels[lv_heroRosterIndex] = DialogControlLastCreated();

            lv_currentPanelLayer += 1;

            lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HeroPortraitImage");

            libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_heroRosterIndex][libUIUI_gv_uIPartyFrameHeroSlot_C] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HeroPortraitImage2");

            libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_heroRosterIndex][libUIUI_gv_uIPartyFrameHeroPetSlot_C] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HeroPortraitImage3");

            libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_heroRosterIndex][libUIUI_gv_uIPartyFrameHeroSlotC_C] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitTarget, "PartyAlertButton");

            DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), true);

            libUIUI_gv_uIPartyFrame.lv_heroPartyButton[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitTarget, "PartyAlertButtonPetowner");

            DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

            libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPetowner[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitTarget, "PartyAlertButtonPet");

            DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

            libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPet[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitTarget, "PartyAlertButtonA");

            DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

            libUIUI_gv_uIPartyFrame.lv_heroPartyButtonA[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitTarget, "PartyAlertButtonB");

            DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

            libUIUI_gv_uIPartyFrame.lv_heroPartyButtonB[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitTarget, "PartyAlertButtonC");

            DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

            libUIUI_gv_uIPartyFrame.lv_heroPartyButtonC[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "HeroDeathTimeLabel");

            libUIUI_gv_uIPartyFrame.lv_heroDeathTimeLabel[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "HeroDeathTimePetLabel");

            libUIUI_gv_uIPartyFrame.lv_heroDeathTimePetLabel[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "HeroDeathTimeVikingOlafLabel");

            libUIUI_gv_uIPartyFrame.lv_heroDeathTimeVikingLabels[lv_heroRosterIndex][libUIUI_gv_uIPartyFrameHeroSlotA_C] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "HeroDeathTimeVikingBaleogLabel");

            libUIUI_gv_uIPartyFrame.lv_heroDeathTimeVikingLabels[lv_heroRosterIndex][libUIUI_gv_uIPartyFrameHeroSlotB_C] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "HeroDeathTimeVikingErikLabel");

            libUIUI_gv_uIPartyFrame.lv_heroDeathTimeVikingLabels[lv_heroRosterIndex][libUIUI_gv_uIPartyFrameHeroSlotC_C] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HeroDeathOverlayFrame");

            libUIUI_gv_uIPartyFrame.lv_heroDeathTimeOverlay[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HeroDeathExtendedIcon");

            DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

            libUIUI_gv_uIPartyFrame.lv_heroExtendedDeathIcon[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HeroDeathCondensedIcon");

            DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

            libUIUI_gv_uIPartyFrame.lv_heroCondensedDeathIcon[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrame");

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsDefault[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrameNoResource");

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsNoResource[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrameSeparateShields");

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsSeparateShields[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrameYellowEnergy");

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsYellow[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrameOrangeEnergy");

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsOrange[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFramePinkEnergy");

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsPink[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrameBreathEnergy");

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsBreath[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrameRageEnergy");

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsRage[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroUnitStatusFrameRespawn");

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsRespawn[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HeroWithPetStatusFrame");

            libUIUI_gv_uIPartyFrame.lv_heroStatusFrameHeroWithPet[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(libUIUI_gv_uIPartyFrame.lv_heroStatusFrameHeroWithPet[lv_heroRosterIndex], c_triggerControlTypeUnitStatus, "HeroUnitStatusPetMaster");

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsHeroWithPet[lv_heroRosterIndex][libUIUI_gv_uIPartyFrameHeroSlot_C] = DialogControlLastCreated();

            DialogControlHookup(libUIUI_gv_uIPartyFrame.lv_heroStatusFrameHeroWithPet[lv_heroRosterIndex], c_triggerControlTypeUnitStatus, "HeroUnitStatusPet");

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsHeroWithPet[lv_heroRosterIndex][libUIUI_gv_uIPartyFrameHeroPetSlot_C] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HeroLostVikingsStatusFrame");

            libUIUI_gv_uIPartyFrame.lv_heroStatusFrameLostVikings[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(libUIUI_gv_uIPartyFrame.lv_heroStatusFrameLostVikings[lv_heroRosterIndex], c_triggerControlTypeUnitStatus, "HeroUnitStatus1");

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsLostVikings[lv_heroRosterIndex][libUIUI_gv_uIPartyFrameHeroSlotA_C] = DialogControlLastCreated();

            DialogControlHookup(libUIUI_gv_uIPartyFrame.lv_heroStatusFrameLostVikings[lv_heroRosterIndex], c_triggerControlTypeUnitStatus, "HeroUnitStatus2");

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsLostVikings[lv_heroRosterIndex][libUIUI_gv_uIPartyFrameHeroSlotB_C] = DialogControlLastCreated();

            DialogControlHookup(libUIUI_gv_uIPartyFrame.lv_heroStatusFrameLostVikings[lv_heroRosterIndex], c_triggerControlTypeUnitStatus, "HeroUnitStatus3");

            libUIUI_gv_uIPartyFrame.lv_heroStatusBarsLostVikings[lv_heroRosterIndex][libUIUI_gv_uIPartyFrameHeroSlotC_C] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HeroicTalentPanel");

            libUIUI_gv_uIPartyFrame.lv_heroHeroicTalentPanel[lv_heroRosterIndex] = DialogControlLastCreated();

            lv_currentPanelLayer += 1;

            lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HeroicTalentImage");

            libUIUI_gv_uIPartyFrame.lv_heroHeroicIcon[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "HeroicTalentCooldownLabel");

            libUIUI_gv_uIPartyFrame.lv_heroHeroicCooldownLabel[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HeroicTalentFrame_Ready");

            libUIUI_gv_uIPartyFrame.lv_heroHeroicTalentReadyIcon[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "HeroicTalentCooldownLabel");

            libUIUI_gv_uIPartyFrame.lv_heroHeroicCooldownLabel[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeProgressBar, "HeroicTalentChargeFillProgress");

            libUIUI_gv_uIPartyFrame.lv_heroHeroicTalentProgressBar[lv_heroRosterIndex] = DialogControlLastCreated();

            lv_currentPanelLayer -= 1;

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeCutscene, "OnFireCutsceneFrame");

            DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

            libUIUI_gv_uIPartyFrame.lv_heroOnFireCutscene[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "BoostGlowEffect");

            libUIUI_gv_uIPartyFrame.lv_playerBoostEffect[lv_heroRosterIndex] = DialogControlLastCreated();

            DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

            lv_currentPanelLayer -= 1;

        }

        lv_currentPanelLayer -= 1;

    }

    DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_xPContributionPopup[libGame_gv_teamOrderIndex_C], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroupNoNPCPlayers, "AllyColorSwap");

    DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_xPContributionPopup[libGame_gv_teamChaosIndex_C], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroupNoNPCPlayers, "EnemyColorSwap");

    DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_xPContributionPopup[libGame_gv_teamChaosIndex_C], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers, "AllyColorSwap");

    DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_xPContributionPopup[libGame_gv_teamOrderIndex_C], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers, "EnemyColorSwap");

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIInitializePartyFrameUI_Init () {

    libUIUI_gt_UIInitializePartyFrameUI = TriggerCreate("libUIUI_gt_UIInitializePartyFrameUI_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Party Frame - Death Update Timer Expires

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIPartyFrameDeathUpdateTimerExpires_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_playerIndex;

    int lv_rosterSlot;

    unit lv_playerHeroUnit;

    int lv_heroIndex;

    timer lv_deathTimer;



    // Automatic Variable Declarations

    const int auto1AAE5753_ae = libCore_gv_bALMaxPlayers;

    const int auto1AAE5753_ai = 1;



    // Variable Initialization

    lv_deathTimer = TimerCreate();



    // Actions

    if (!runActions) {

        return true;

    }



    lv_playerIndex = 1;

    for ( ; ( (auto1AAE5753_ai >= 0 && lv_playerIndex <= auto1AAE5753_ae) || (auto1AAE5753_ai < 0 && lv_playerIndex >= auto1AAE5753_ae) ) ; lv_playerIndex += auto1AAE5753_ai ) {

        lv_rosterSlot = libGame_gv_players[lv_playerIndex].lv_rosterSlot;

        lv_playerHeroUnit = libGame_gv_players[lv_playerIndex].lv_heroUnit;

        if ((libUIUI_gf_UIPartyFrameHeroTypeofHero(lv_playerHeroUnit) == libUIUI_ge_UIPartyFrameHeroType_LostVikings)) {

            libUIUI_gf_UIPartyFrameSpecialCaseUpdateVikingsDeath(lv_playerIndex);

        }

        else {

            if (((libGame_gv_players[lv_playerIndex].lv_isDead == true) || (libUIUI_gv_uIPartyFrame.lv_heroDeathInSpecialDeathState[lv_rosterSlot] == true))) {

                lv_deathTimer = libUIUI_gf_UIPartyFrameDeathTimer(lv_playerIndex, lv_playerHeroUnit);

                if ((TimerGetRemaining(lv_deathTimer) >= 0.0)) {

                    libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeLabel[lv_rosterSlot], FixedToText(TimerGetRemaining(lv_deathTimer), 0), PlayerGroupAll());

                }



                if ((TimerGetRemaining(lv_deathTimer) <= libUIUI_gv_data_XPPercentage_UpdatePeriod_C3) && (libUIUI_gv_uIPartyFrame.lv_heroDeathRespawnReminderSent[lv_rosterSlot][libUIUI_gf_UIPartyFrameUIIndexofHeroUnit(lv_playerHeroUnit, lv_playerIndex)] == false)) {

                    libUIUI_gv_uIPartyFrame.lv_heroDeathRespawnReminderSent[lv_rosterSlot][libUIUI_gf_UIPartyFrameUIIndexofHeroUnit(lv_playerHeroUnit, lv_playerIndex)] = true;

                    DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroPanels[lv_rosterSlot], PlayerGroupAll(), "HeroAlmostRespawned");

                }



            }

            else {

                if ((libUIUI_gf_UIPartyFrameHeroTypeofHero(lv_playerHeroUnit) == libUIUI_ge_UIPartyFrameHeroType_PetHero)) {

                    libUIUI_gf_UIPartyFrameSpecialCaseUpdatePetDeath(lv_playerIndex);

                }



            }

        }

    }

    TimerStart(libUIUI_gv_uIPartyFrameDeathUpdateTimer, libUIUI_gv_uIPartyFrameTimersUpdateDelay_C, false, c_timeGame);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIPartyFrameDeathUpdateTimerExpires_Init () {

    libUIUI_gt_UIPartyFrameDeathUpdateTimerExpires = TriggerCreate("libUIUI_gt_UIPartyFrameDeathUpdateTimerExpires_Func");

    TriggerAddEventTimer(libUIUI_gt_UIPartyFrameDeathUpdateTimerExpires, libUIUI_gv_uIPartyFrameDeathUpdateTimer);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Party Frame - Hero Respawn

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIPartyFrameHeroRespawn_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_rosterSlot;

    int lv_vikingIndex;



    // Automatic Variable Declarations

    // Variable Initialization



    // Conditions

    if (testConds) {

        if (!((libGame_gf_HeroRespawnPlayer() <= libCore_gv_bALMaxEnginePlayerCount))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_rosterSlot = libGame_gv_players[libGame_gf_HeroRespawnPlayer()].lv_rosterSlot;

    libUIUI_gv_uIPartyFrame.lv_heroDeathInSpecialDeathState[lv_rosterSlot] = false;

    if ((libUIUI_gf_UIPartyFrameHeroTypeofHero(libGame_gf_HeroRespawnUnit()) == libUIUI_ge_UIPartyFrameHeroType_LostVikings)) {

        lv_vikingIndex = libUIUI_gf_UIPartyFrameUIIndexofHeroUnit(libGame_gf_HeroRespawnUnit(), libGame_gf_HeroRespawnPlayer());

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroPanels[lv_rosterSlot], PlayerGroupAll(), ("HeroRespawnedHero" + IntToString(lv_vikingIndex)));

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeVikingLabels[lv_rosterSlot][lv_vikingIndex], PlayerGroupAll(), false);

    }

    else {

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroPanels[lv_rosterSlot], PlayerGroupAll(), "HeroRespawned");

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeLabel[lv_rosterSlot], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroDeathTimeOverlay[lv_rosterSlot], PlayerGroupAll(), false);

        libUIUI_gf_UIPartyFrameShowHideUnitStatusFrameofPlayerforPlayerGroup(true, libGame_gf_HeroRespawnPlayer(), libGame_gf_AlliedPlayerGroupOfPlayer(libGame_gf_HeroRespawnPlayer()));

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroExtendedDeathIcon[lv_rosterSlot], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroCondensedDeathIcon[lv_rosterSlot], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_uIObserverUI.lv_heroExtendedDeathIcon[lv_rosterSlot], PlayerGroupAll(), false);

        DialogControlSetVisible(libUIUI_gv_uIObserverUI.lv_heroCondensedDeathIcon[lv_rosterSlot], PlayerGroupAll(), false);

        if (((libUIUI_gv_uIPartyFrame.lv_heroHeroicAbility[lv_rosterSlot] != null) || (libUIUI_gf_UIPartyFrameSpecialCaseHeroHasHeroicatStart(UnitGetType(libGame_gv_players[libGame_gf_HeroRespawnPlayer()].lv_heroUnit)) == true))) {

            libUIUI_gf_UIPartyFrameShowHideHeroicAbility(true, libGame_gf_HeroRespawnPlayer());

        }

        else if ((libGame_gv_talents_TalentChoices[libGame_gf_HeroRespawnPlayer()][libGame_gv_players[libGame_gf_HeroRespawnPlayer()].lv_talent_HeroicTalentTier].lv_selection > 0)) {

            libUIUI_gf_UIPartyFrameHeroicAbilityIconUpdate(libGame_gf_HeroRespawnPlayer());

            libUIUI_gf_UIPartyFrameShowHideHeroicAbility(true, libGame_gf_HeroRespawnPlayer());

        }

        if ((UnitGetType(libGame_gf_HeroRespawnUnit()) == "HeroLeoric")) {

            DialogControlSetVisible(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsRespawn[lv_rosterSlot], libCore_gv_allHeroPlayersPlusObserver, false);

        }



    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIPartyFrameHeroRespawn_Init () {

    libUIUI_gt_UIPartyFrameHeroRespawn = TriggerCreate("libUIUI_gt_UIPartyFrameHeroRespawn_Func");

    libGame_gf_HeroRespawn(libUIUI_gt_UIPartyFrameHeroRespawn);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Party Frame - Hero Hearthstone Complete

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIPartyFrameHeroHearthstoneComplete_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_heroIndex;

    int lv_rosterSlot;

    unit lv_portedUnit;



    // Automatic Variable Declarations

    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    lv_rosterSlot = libGame_gv_players[libGame_gf_HeroPortedBackToTownPlayer()].lv_rosterSlot;

    lv_portedUnit = libGame_gf_HeroPortedBackToTownUnit();

    if ((libUIUI_gf_UIPartyFrameHeroTypeofHero(lv_portedUnit) == libUIUI_ge_UIPartyFrameHeroType_LostVikings)) {

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroPanels[lv_rosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(libGame_gf_HeroPortedBackToTownPlayer()), ("HearthstoneCompleteHero" + IntToString(libUIUI_gf_UIPartyFrameUIIndexofHeroUnit(lv_portedUnit, libGame_gf_HeroPortedBackToTownPlayer()))));

    }

    else {

        DialogControlSendAnimationEvent(libUIUI_gv_uIPartyFrame.lv_heroPanels[lv_rosterSlot], libGame_gf_AlliedPlayerGroupOfPlayer(libGame_gf_HeroPortedBackToTownPlayer()), "HearthstoneCompleteDefault");

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIPartyFrameHeroHearthstoneComplete_Init () {

    libUIUI_gt_UIPartyFrameHeroHearthstoneComplete = TriggerCreate("libUIUI_gt_UIPartyFrameHeroHearthstoneComplete_Func");

    libGame_gf_HeroPortedBackToTown(libUIUI_gt_UIPartyFrameHeroHearthstoneComplete);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Party Frame - XP Contribution Percentage

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIPartyFrameXPContributionPercentage_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_Player;

    fixed lv_currentXPForPlayerINT;

    unit lv_heroUnit;

    fixed[6] lv_prioritizedXPVauleList;

    fixed lv_totalXPContribution;

    int lv_tryMeMode_EnemyPlayer;



    // Automatic Variable Declarations

    playergroup autoC16A080A_g;

    playergroup auto243DAC2A_g;



    // Variable Initialization

    lv_tryMeMode_EnemyPlayer = 6;



    // Conditions

    if (testConds) {

        if (!((libGame_gv_gameOver == false))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    autoC16A080A_g = GameAttributePlayersForTeam(libGame_gv_teamOrderIndex_C);

    lv_Player = -1;

    while (true) {

        	lv_Player = PlayerGroupNextPlayer(autoC16A080A_g, lv_Player);

        	if (lv_Player<0) { break; }

        	lv_heroUnit = libGame_gv_players[lv_Player].lv_heroUnit;

        if ((lv_heroUnit == null)) {

            continue;

        }



        lv_currentXPForPlayerINT = UnitGetPropertyFixed(lv_heroUnit, c_unitPropXP, c_unitPropCurrent);

        if ((lv_currentXPForPlayerINT >= 100.0)) {

            lv_prioritizedXPVauleList[0] = libGame_gv_players[lv_Player].lv_xPRecievedFromHeroes;

            lv_prioritizedXPVauleList[1] = libGame_gv_players[lv_Player].lv_xPRecievedFromCreeps;

            lv_prioritizedXPVauleList[2] = libGame_gv_players[lv_Player].lv_xPRecievedFromMinions;

            lv_prioritizedXPVauleList[3] = libGame_gv_players[lv_Player].lv_xPRecievedFromTrickle;

            lv_prioritizedXPVauleList[4] = libGame_gv_players[lv_Player].lv_xPRecievedFromStructures;

            lv_totalXPContribution = (lv_prioritizedXPVauleList[0] + lv_prioritizedXPVauleList[1] + lv_prioritizedXPVauleList[2] + lv_prioritizedXPVauleList[3] + lv_prioritizedXPVauleList[4]);

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_heroXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_Player)], FormatNumber(FixedToInt(lv_prioritizedXPVauleList[0])), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_mercenaryXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_Player)], FormatNumber(FixedToInt(lv_prioritizedXPVauleList[1])), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_minionXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_Player)], FormatNumber(FixedToInt(lv_prioritizedXPVauleList[2])), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_passiveXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_Player)], FormatNumber(FixedToInt(lv_prioritizedXPVauleList[3])), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_structureXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_Player)], FormatNumber(FixedToInt(lv_prioritizedXPVauleList[4])), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_totalXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_Player)], FormatNumber(FixedToInt(lv_totalXPContribution)), PlayerGroupAll());

        }



        break;

    }

    auto243DAC2A_g = GameAttributePlayersForTeam(libGame_gv_teamChaosIndex_C);

    lv_Player = -1;

    while (true) {

        	lv_Player = PlayerGroupNextPlayer(auto243DAC2A_g, lv_Player);

        	if (lv_Player<0) { break; }

        	lv_heroUnit = libGame_gv_players[lv_Player].lv_heroUnit;

        if ((lv_heroUnit == null)) {

            continue;

        }



        lv_currentXPForPlayerINT = UnitGetPropertyFixed(lv_heroUnit, c_unitPropXP, c_unitPropCurrent);

        if ((lv_currentXPForPlayerINT >= 100.0)) {

            lv_prioritizedXPVauleList[0] = libGame_gv_players[lv_Player].lv_xPRecievedFromHeroes;

            lv_prioritizedXPVauleList[1] = libGame_gv_players[lv_Player].lv_xPRecievedFromCreeps;

            lv_prioritizedXPVauleList[2] = libGame_gv_players[lv_Player].lv_xPRecievedFromMinions;

            lv_prioritizedXPVauleList[3] = libGame_gv_players[lv_Player].lv_xPRecievedFromTrickle;

            lv_prioritizedXPVauleList[4] = libGame_gv_players[lv_Player].lv_xPRecievedFromStructures;

            lv_totalXPContribution = (lv_prioritizedXPVauleList[0] + lv_prioritizedXPVauleList[1] + lv_prioritizedXPVauleList[2] + lv_prioritizedXPVauleList[3] + lv_prioritizedXPVauleList[4]);

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_heroXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_Player)], FormatNumber(FixedToInt(lv_prioritizedXPVauleList[0])), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_mercenaryXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_Player)], FormatNumber(FixedToInt(lv_prioritizedXPVauleList[1])), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_minionXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_Player)], FormatNumber(FixedToInt(lv_prioritizedXPVauleList[2])), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_passiveXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_Player)], FormatNumber(FixedToInt(lv_prioritizedXPVauleList[3])), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_structureXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_Player)], FormatNumber(FixedToInt(lv_prioritizedXPVauleList[4])), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_totalXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_Player)], FormatNumber(FixedToInt(lv_totalXPContribution)), PlayerGroupAll());

        }



        break;

    }

    if ((libCore_gv_sYSGameMode == libCore_ge_GameModes_TryMe)) {

        lv_heroUnit = libGame_gv_players[lv_tryMeMode_EnemyPlayer].lv_heroUnit;

        if ((lv_heroUnit == null)) {



        }



        lv_currentXPForPlayerINT = UnitGetPropertyFixed(lv_heroUnit, c_unitPropXP, c_unitPropCurrent);

        if ((lv_currentXPForPlayerINT >= 100.0)) {

            lv_prioritizedXPVauleList[0] = libGame_gv_players[lv_tryMeMode_EnemyPlayer].lv_xPRecievedFromHeroes;

            lv_prioritizedXPVauleList[1] = libGame_gv_players[lv_tryMeMode_EnemyPlayer].lv_xPRecievedFromCreeps;

            lv_prioritizedXPVauleList[2] = libGame_gv_players[lv_tryMeMode_EnemyPlayer].lv_xPRecievedFromMinions;

            lv_prioritizedXPVauleList[3] = libGame_gv_players[lv_tryMeMode_EnemyPlayer].lv_xPRecievedFromTrickle;

            lv_prioritizedXPVauleList[4] = libGame_gv_players[lv_tryMeMode_EnemyPlayer].lv_xPRecievedFromStructures;

            lv_totalXPContribution = (lv_prioritizedXPVauleList[0] + lv_prioritizedXPVauleList[1] + lv_prioritizedXPVauleList[2] + lv_prioritizedXPVauleList[3] + lv_prioritizedXPVauleList[4]);

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_heroXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_tryMeMode_EnemyPlayer)], FormatNumber(FixedToInt(lv_prioritizedXPVauleList[0])), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_mercenaryXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_tryMeMode_EnemyPlayer)], FormatNumber(FixedToInt(lv_prioritizedXPVauleList[1])), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_minionXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_tryMeMode_EnemyPlayer)], FormatNumber(FixedToInt(lv_prioritizedXPVauleList[2])), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_passiveXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_tryMeMode_EnemyPlayer)], FormatNumber(FixedToInt(lv_prioritizedXPVauleList[3])), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_structureXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_tryMeMode_EnemyPlayer)], FormatNumber(FixedToInt(lv_prioritizedXPVauleList[4])), PlayerGroupAll());

            libNtve_gf_SetDialogItemText(libUIUI_gv_uIPartyFrame.lv_totalXPContributionLabel[libGame_gf_TeamNumberOfPlayer(lv_tryMeMode_EnemyPlayer)], FormatNumber(FixedToInt(lv_totalXPContribution)), PlayerGroupAll());

        }



    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIPartyFrameXPContributionPercentage_Init () {

    libUIUI_gt_UIPartyFrameXPContributionPercentage = TriggerCreate("libUIUI_gt_UIPartyFrameXPContributionPercentage_Func");

    TriggerAddEventTimePeriodic(libUIUI_gt_UIPartyFrameXPContributionPercentage, libUIUI_gv_data_XPPercentage_UpdatePeriod_C2, c_timeGame);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Party Frame - Hero Enters Special Death State

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIPartyFrameHeroEntersSpecialDeathState_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_rosterSlot;



    // Automatic Variable Declarations

    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    lv_rosterSlot = libGame_gv_players[UnitGetOwner(libGame_gf_HeroEntersSpecialDeathStateHero())].lv_rosterSlot;

    libUIUI_gv_uIPartyFrame.lv_heroDeathInSpecialDeathState[lv_rosterSlot] = true;

    libUIUI_gf_UIPartyFrameHeroDies(UnitGetOwner(libGame_gf_HeroEntersSpecialDeathStateHero()), libGame_gf_HeroEntersSpecialDeathStateHero());

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIPartyFrameHeroEntersSpecialDeathState_Init () {

    libUIUI_gt_UIPartyFrameHeroEntersSpecialDeathState = TriggerCreate("libUIUI_gt_UIPartyFrameHeroEntersSpecialDeathState_Func");

    libGame_gf_HeroEntersSpecialDeathState(libUIUI_gt_UIPartyFrameHeroEntersSpecialDeathState);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Party Frame - Player Rejoins

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIPartyFramePlayerRejoins_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_rosterSlot;

    int lv_partyFrameHeroUnitIndex;

    unit lv_heroUnit;

    unit lv_unitIndex;

    playergroup lv_reconnectingPlayer;

    playergroup lv_playerstoUpdate;

    int lv_i_Player;



    // Automatic Variable Declarations

    playergroup autoA416A728_g;

    int auto6C9F01BA_val;

    int auto6F1CBD07_val;



    // Variable Initialization

    lv_reconnectingPlayer = PlayerGroupEmpty();

    lv_playerstoUpdate = PlayerGroupEmpty();



    // Actions

    if (!runActions) {

        return true;

    }



    lv_playerstoUpdate = PlayerGroupActive();

    lv_reconnectingPlayer = PlayerGroupSingle(EventPlayer());

    autoA416A728_g = lv_playerstoUpdate;

    lv_i_Player = -1;

    while (true) {

        	lv_i_Player = PlayerGroupNextPlayer(autoA416A728_g, lv_i_Player);

        	if (lv_i_Player<0) { break; }

        	lv_rosterSlot = libGame_gv_players[lv_i_Player].lv_rosterSlot;

        lv_heroUnit = libGame_gv_players[lv_i_Player].lv_heroUnit;

        auto6C9F01BA_val = libUIUI_gf_UIPartyFrameHeroTypeofHero(lv_heroUnit);

        if (auto6C9F01BA_val == libUIUI_ge_UIPartyFrameHeroType_NormalHero) {

            libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlot_C] = libGame_gv_players[lv_i_Player].lv_heroUnit;

            libNtve_gf_SetDialogItemImage(libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlot_C], libGame_gv_players[lv_i_Player].lv_heroData.lv_partyFrameImage, lv_reconnectingPlayer);

            auto6F1CBD07_val = libUIUI_gf_UIGetHeroResourceTypeForPartyFrame(UnitGetType(libGame_gv_players[lv_i_Player].lv_heroUnit));

            if (auto6F1CBD07_val == libUIUI_ge_UIHeroResourceType_Blue) {

                libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsDefault[lv_rosterSlot], libGame_gv_players[lv_i_Player].lv_heroUnit, lv_reconnectingPlayer);

            }

            else if (auto6F1CBD07_val == libUIUI_ge_UIHeroResourceType_Blinking) {

                libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsDefault[lv_rosterSlot], libGame_gv_players[lv_i_Player].lv_heroUnit, lv_reconnectingPlayer);

            }

            else if (auto6F1CBD07_val == libUIUI_ge_UIHeroResourceType_Orange) {

                libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsOrange[lv_rosterSlot], libGame_gv_players[lv_i_Player].lv_heroUnit, lv_reconnectingPlayer);

            }

            else if (auto6F1CBD07_val == libUIUI_ge_UIHeroResourceType_Yellow) {

                libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsYellow[lv_rosterSlot], libGame_gv_players[lv_i_Player].lv_heroUnit, lv_reconnectingPlayer);

            }

            else if (auto6F1CBD07_val == libUIUI_ge_UIHeroResourceType_Pink) {

                libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsPink[lv_rosterSlot], libGame_gv_players[lv_i_Player].lv_heroUnit, lv_reconnectingPlayer);

            }

            else if (auto6F1CBD07_val == libUIUI_ge_UIHeroResourceType_Breath) {

                libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsBreath[lv_rosterSlot], libGame_gv_players[lv_i_Player].lv_heroUnit, lv_reconnectingPlayer);

            }

            else if (auto6F1CBD07_val == libUIUI_ge_UIHeroResourceType_None) {

                libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsNoResource[lv_rosterSlot], libGame_gv_players[lv_i_Player].lv_heroUnit, lv_reconnectingPlayer);

            }

            else if (auto6F1CBD07_val == libUIUI_ge_UIHeroResourceType_NoShields) {

                libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsSeparateShields[lv_rosterSlot], libGame_gv_players[lv_i_Player].lv_heroUnit, lv_reconnectingPlayer);

            }

            else {

                TriggerDebugOutput(1, StringExternal("Param/Value/lib_UIUI_292B4A8F"), true);

            }

        }

        else if (auto6C9F01BA_val == libUIUI_ge_UIPartyFrameHeroType_PetHero) {

            libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlot_C] = libGame_gv_players[lv_i_Player].lv_heroUnit;

            libNtve_gf_SetDialogItemImage(libUIUI_gv_uIPartyFrame.lv_heroPortraitImages[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlot_C], libGame_gv_players[lv_i_Player].lv_heroData.lv_partyFrameImage, lv_reconnectingPlayer);

            libNtve_gf_SetDialogItemUnit(libUIUI_gv_uIPartyFrame.lv_heroStatusBarsHeroWithPet[lv_rosterSlot][libUIUI_gv_uIPartyFrameHeroSlot_C], libGame_gv_players[lv_i_Player].lv_heroUnit, lv_reconnectingPlayer);

            if ((libGDHL_gv_rexxarMishaUnit[lv_i_Player] != null) && (UnitHasBehavior2(lv_heroUnit, "AbathurUltimateEvolutionControlBehavior") == false)) {

                libUIUI_gf_UIPartyFrameSetPetFrame(libGDHL_gv_rexxarMishaUnit[lv_i_Player], lv_i_Player);

            }

        }

        else if (auto6C9F01BA_val == libUIUI_ge_UIPartyFrameHeroType_LostVikings) {

            libUIUI_gf_UIPartyFrameSetVikingFrame(libGDHL_gv_lostVikingsPlayer[lv_i_Player].lv_olaf, lv_i_Player);

            libUIUI_gf_UIPartyFrameSetVikingFrame(libGDHL_gv_lostVikingsPlayer[lv_i_Player].lv_baleog, lv_i_Player);

            libUIUI_gf_UIPartyFrameSetVikingFrame(libGDHL_gv_lostVikingsPlayer[lv_i_Player].lv_erik, lv_i_Player);

        }

        else {

        }

        libUIUI_gf_UIPartyFrameHeroicAbilityIconUpdate(lv_i_Player);

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIPartyFramePlayerRejoins_Init () {

    libUIUI_gt_UIPartyFramePlayerRejoins = TriggerCreate("libUIUI_gt_UIPartyFramePlayerRejoins_Func");

    TriggerAddEventPlayerJoin(libUIUI_gt_UIPartyFramePlayerRejoins, c_playerAny);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Party Frame - Unit Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIPartyFrameUnitClicked_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_vikingIndex;

    int lv_itRosterIndex;

    unit lv_targetUnit;

    int lv_targetPlayerID;

    int lv_clickingPlayerID;

    bool lv_isAlly;



    // Automatic Variable Declarations

    int auto2AE0F1C4_ae;

    int auto8C12CFA3_val;



    // Variable Initialization

    lv_clickingPlayerID = EventPlayer();



    // Conditions

    if (testConds) {

        if (!((((EventKeyAlt() == true) || (EventKeyControl() == true) || (EventKeyShift() == true)) && ((EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButton[1]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPetowner[1]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPet[1]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonA[1]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonB[1]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonC[1]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButton[2]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPetowner[2]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPet[2]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonA[2]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonB[2]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonC[2]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButton[3]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPetowner[3]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPet[3]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonA[3]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonB[3]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonC[3]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButton[4]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPetowner[4]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPet[4]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonA[4]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonB[4]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonC[4]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButton[5]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPetowner[5]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPet[5]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonA[5]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonB[5]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonC[5]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButton[6]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPetowner[6]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPet[6]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonA[6]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonB[6]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonC[6]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButton[7]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPetowner[7]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPet[7]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonA[7]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonB[7]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonC[7]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButton[8]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPetowner[8]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPet[8]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonA[8]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonB[8]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonC[8]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButton[9]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPetowner[9]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPet[9]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonA[9]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonB[9]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonC[9]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButton[10]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPetowner[10]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPet[10]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonA[10]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonB[10]) || (EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonC[10]))))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    auto2AE0F1C4_ae = libCore_gv_bALMaxPlayers;

    lv_itRosterIndex = 1;

    for ( ; lv_itRosterIndex <= auto2AE0F1C4_ae ; lv_itRosterIndex += 1 ) {

        auto8C12CFA3_val = EventDialogControl();

        if (auto8C12CFA3_val == libUIUI_gv_uIPartyFrame.lv_heroPartyButton[lv_itRosterIndex]) {

            lv_targetPlayerID = UnitGetOwner(libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_itRosterIndex][1]);

            lv_targetUnit = libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_itRosterIndex][libUIUI_gv_uIPartyFrameHeroSlot_C];

            break;

        }

        else if (auto8C12CFA3_val == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPetowner[lv_itRosterIndex]) {

            lv_targetPlayerID = UnitGetOwner(libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_itRosterIndex][1]);

            lv_targetUnit = libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_itRosterIndex][libUIUI_gv_uIPartyFrameHeroSlot_C];

            break;

        }

        else if (auto8C12CFA3_val == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonPet[lv_itRosterIndex]) {

            lv_targetPlayerID = UnitGetOwner(libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_itRosterIndex][1]);

            lv_targetUnit = libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_itRosterIndex][libUIUI_gv_uIPartyFrameHeroPetSlot_C];

            break;

        }

        else if (auto8C12CFA3_val == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonA[lv_itRosterIndex]) {

            lv_targetPlayerID = UnitGetOwner(libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_itRosterIndex][1]);

            lv_targetUnit = libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_itRosterIndex][libUIUI_gv_uIPartyFrameHeroSlotA_C];

            lv_vikingIndex = libUIUI_gv_uIPartyFrameHeroSlotA_C;

            break;

        }

        else if (auto8C12CFA3_val == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonB[lv_itRosterIndex]) {

            lv_targetPlayerID = UnitGetOwner(libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_itRosterIndex][1]);

            lv_targetUnit = libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_itRosterIndex][libUIUI_gv_uIPartyFrameHeroSlotB_C];

            lv_vikingIndex = libUIUI_gv_uIPartyFrameHeroSlotB_C;

            break;

        }

        else if (auto8C12CFA3_val == libUIUI_gv_uIPartyFrame.lv_heroPartyButtonC[lv_itRosterIndex]) {

            lv_targetPlayerID = UnitGetOwner(libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_itRosterIndex][1]);

            lv_targetUnit = libUIUI_gv_uIPartyFrame.lv_heroUnits[lv_itRosterIndex][libUIUI_gv_uIPartyFrameHeroSlotC_C];

            lv_vikingIndex = libUIUI_gv_uIPartyFrameHeroSlotC_C;

            break;

        }

        else {

        }

    }

    lv_isAlly = PlayerGetAlliance(lv_clickingPlayerID, c_allianceIdChat, lv_targetPlayerID);

    if ((lv_isAlly == true)) {

        libUIUI_gf_PartyFrameAllyPing(lv_clickingPlayerID, lv_targetUnit, lv_targetPlayerID, lv_itRosterIndex, lv_vikingIndex);

    }

    else {

        libUIUI_gf_PartyFrameEnemyPing(lv_clickingPlayerID, lv_targetUnit, lv_targetPlayerID, lv_itRosterIndex, lv_vikingIndex);

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIPartyFrameUnitClicked_Init () {

    libUIUI_gt_UIPartyFrameUnitClicked = TriggerCreate("libUIUI_gt_UIPartyFrameUnitClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIPartyFrameUnitClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Party Frame - Team XP Clicked

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIPartyFrameTeamXPClicked_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_clickingPlayerID;

    playergroup lv_pingPlayerGroup;

    text lv_blue;

    text lv_red;

    text lv_friendlyEnemyColor;

    int lv_talentTierGap;

    text lv_aggressionCautionStringPart3;

    text lv_aggressionCautionStringPart4;

    int lv_localPlayerTeamID;

    text lv_talentgappluralcontroller;

    text lv_pingOutput;

    soundlink lv_pingSoundLink;

    int lv_enemyTeamID;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_pingPlayerGroup = PlayerGroupEmpty();

    lv_blue = StringExternal("Param/Value/lib_UIUI_CDE9C4F4");

    lv_red = StringExternal("Param/Value/lib_UIUI_74411D1C");

    lv_talentgappluralcontroller = StringExternal("Param/Value/lib_UIUI_EAEA61E4");

    lv_pingSoundLink = SoundLink("EditorDefaultSound", -1);



    // Conditions

    if (testConds) {

        if (!(((EventKeyControl() == true) || (EventKeyShift() == true) || (EventKeyAlt() == true)))) {

            return false;

        }



        if (!((EventDialogControl() == libUIUI_gv_uIPartyFrame.lv_xPContributionClickableButton))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    lv_clickingPlayerID = EventPlayer();

    lv_localPlayerTeamID = libGame_gf_TeamNumberOfPlayer(lv_clickingPlayerID);

    lv_enemyTeamID = libGame_gf_EnemyTeam(lv_localPlayerTeamID);

    if ((TimerGetRemaining(libUIUI_gv_pingInputSuppressionTimer[lv_clickingPlayerID]) > 0.0)) {

        return true;

    }



    if ((TimerGetRemaining(libUIUI_gv_teamXPPartySpamLockoutTimer[lv_localPlayerTeamID]) > 0.0)) {

        UIDisplayMessage(libCore_gv_playerGroupFromPlayer[lv_clickingPlayerID], c_messageAreaChat, StringExternal("Param/Value/lib_UIUI_C6AF7344"));

        return true;

    }



    if ((TimerGetRemaining(libUIUI_gv_pingLockoutTimer[lv_clickingPlayerID]) > 0.0)) {

        UIDisplayMessage(libCore_gv_playerGroupFromPlayer[lv_clickingPlayerID], c_messageAreaChat, StringExternal("Param/Value/lib_UIUI_DC67E5F9"));

        return true;

    }



    lv_talentTierGap = (libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_localPlayerTeamID] - libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_enemyTeamID]);

    if ((AbsI(lv_talentTierGap) > 1)) {

        lv_talentgappluralcontroller = TextExpressionAssemble("Param/Expression/lib_UIUI_5AAD1E27");

    }



    TextExpressionSetToken("Param/Expression/lib_UIUI_61ED816E", "B", lv_talentgappluralcontroller);

    lv_aggressionCautionStringPart3 = TextExpressionAssemble("Param/Expression/lib_UIUI_61ED816E");

    if ((lv_talentTierGap < 0)) {

        TextExpressionSetToken("Param/Expression/lib_UIUI_807D0664", "B", lv_talentgappluralcontroller);

        lv_aggressionCautionStringPart3 = TextExpressionAssemble("Param/Expression/lib_UIUI_807D0664");

        if ((((libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_localPlayerTeamID] < 4) && (libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_enemyTeamID] > 3)) || ((libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_enemyTeamID] < 4) && (libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_localPlayerTeamID] > 3)))) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_2364A4C0", "A", lv_friendlyEnemyColor);

            lv_aggressionCautionStringPart3 = TextExpressionAssemble("Param/Expression/lib_UIUI_2364A4C0");

        }



        if ((((libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_localPlayerTeamID] < 7) && (libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_enemyTeamID] > 6)) || ((libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_enemyTeamID] < 7) && (libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_localPlayerTeamID] > 6)))) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_3ECCF9AF", "A", lv_friendlyEnemyColor);

            lv_aggressionCautionStringPart3 = TextExpressionAssemble("Param/Expression/lib_UIUI_3ECCF9AF");

        }



        TextExpressionSetToken("Param/Expression/lib_UIUI_DD8332CD", "A", lv_red);

        lv_friendlyEnemyColor = TextExpressionAssemble("Param/Expression/lib_UIUI_DD8332CD");

        TextExpressionSetToken("Param/Expression/lib_UIUI_E577C20E", "C", libGame_gv_players[lv_clickingPlayerID].lv_heroData.lv_name);

        TextExpressionSetToken("Param/Expression/lib_UIUI_E577C20E", "A", lv_friendlyEnemyColor);

        TextExpressionSetToken("Param/Expression/lib_UIUI_E577C20E", "B", lv_aggressionCautionStringPart3);

        lv_aggressionCautionStringPart4 = TextExpressionAssemble("Param/Expression/lib_UIUI_E577C20E");

    }

    else {

        if ((lv_talentTierGap > 0)) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_A46A8870", "B", lv_talentgappluralcontroller);

            lv_aggressionCautionStringPart3 = TextExpressionAssemble("Param/Expression/lib_UIUI_A46A8870");

            if ((((libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_localPlayerTeamID] < 4) && (libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_enemyTeamID] > 3)) || ((libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_enemyTeamID] < 4) && (libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_localPlayerTeamID] > 3)))) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_E705002E", "A", lv_friendlyEnemyColor);

                lv_aggressionCautionStringPart3 = TextExpressionAssemble("Param/Expression/lib_UIUI_E705002E");

            }



            if ((((libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_localPlayerTeamID] < 7) && (libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_enemyTeamID] > 6)) || ((libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_enemyTeamID] < 7) && (libUIUI_gv_teamXPPartyFrameTeamTalentTier[lv_localPlayerTeamID] > 6)))) {

                TextExpressionSetToken("Param/Expression/lib_UIUI_7946D714", "A", lv_friendlyEnemyColor);

                lv_aggressionCautionStringPart3 = TextExpressionAssemble("Param/Expression/lib_UIUI_7946D714");

            }



            TextExpressionSetToken("Param/Expression/lib_UIUI_BB5C4E3B", "A", lv_blue);

            lv_friendlyEnemyColor = TextExpressionAssemble("Param/Expression/lib_UIUI_BB5C4E3B");

            TextExpressionSetToken("Param/Expression/lib_UIUI_37579629", "C", libGame_gv_players[lv_clickingPlayerID].lv_heroData.lv_name);

            TextExpressionSetToken("Param/Expression/lib_UIUI_37579629", "A", lv_friendlyEnemyColor);

            TextExpressionSetToken("Param/Expression/lib_UIUI_37579629", "B", lv_aggressionCautionStringPart3);

            lv_aggressionCautionStringPart4 = TextExpressionAssemble("Param/Expression/lib_UIUI_37579629");

        }

        else {

            TextExpressionSetToken("Param/Expression/lib_UIUI_D4406AF1", "A", libGame_gv_players[lv_clickingPlayerID].lv_heroData.lv_name);

            lv_aggressionCautionStringPart4 = TextExpressionAssemble("Param/Expression/lib_UIUI_D4406AF1");

        }

    }

    TextExpressionSetToken("Param/Expression/lib_UIUI_352C8882", "E", lv_blue);

    TextExpressionSetToken("Param/Expression/lib_UIUI_352C8882", "A", libGame_gv_players[lv_clickingPlayerID].lv_heroData.lv_name);

    TextExpressionSetToken("Param/Expression/lib_UIUI_352C8882", "D", lv_aggressionCautionStringPart4);

    lv_pingOutput = TextExpressionAssemble("Param/Expression/lib_UIUI_352C8882");

    lv_pingPlayerGroup = PlayerGroupMath(libGame_gf_PlayersOnTeamHeroes(libGame_gf_TeamNumberOfPlayer(lv_clickingPlayerID), false), PlayerGroupMuting(libNtve_ge_MuteType_Pings, lv_clickingPlayerID, true), libNtve_ge_PlayerGroupOperation_Subtract);

    libUIUI_gf_PingIncrementPingCountAndManageTimersForPlayer(lv_clickingPlayerID);

    UIDisplayMessage(lv_pingPlayerGroup, c_messageAreaChat, lv_pingOutput);

    SoundPlayForPlayer(lv_pingSoundLink, lv_clickingPlayerID, lv_pingPlayerGroup, 100.0, 0.0);

    libUIUI_gf_PartyFrameTeamXPUpdateandManageTeamSpamTimers(lv_localPlayerTeamID);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIPartyFrameTeamXPClicked_Init () {

    libUIUI_gt_UIPartyFrameTeamXPClicked = TriggerCreate("libUIUI_gt_UIPartyFrameTeamXPClicked_Func");

    TriggerAddEventDialogControl(libUIUI_gt_UIPartyFrameTeamXPClicked, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Team XP Party Frame - Lockout Timer Expires

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_TeamXPPartyFrameLockoutTimerExpires_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itTeam;



    // Automatic Variable Declarations

    const int auto091C6150_ae = libCore_gv_bALMaxTeams;

    const int auto091C6150_ai = 1;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    lv_itTeam = 1;

    for ( ; ( (auto091C6150_ai >= 0 && lv_itTeam <= auto091C6150_ae) || (auto091C6150_ai < 0 && lv_itTeam >= auto091C6150_ae) ) ; lv_itTeam += auto091C6150_ai ) {

        if ((EventTimer() == libUIUI_gv_teamXPPartySpamLockoutTimer[lv_itTeam])) {

            libUIUI_gv_teamXPPartySpamCounter[lv_itTeam] = 0;

            break;

        }



    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_TeamXPPartyFrameLockoutTimerExpires_Init () {

    libUIUI_gt_TeamXPPartyFrameLockoutTimerExpires = TriggerCreate("libUIUI_gt_TeamXPPartyFrameLockoutTimerExpires_Func");

    TriggerAddEventTimer(libUIUI_gt_TeamXPPartyFrameLockoutTimerExpires, libUIUI_gv_teamXPPartySpamLockoutTimer[1]);

    TriggerAddEventTimer(libUIUI_gt_TeamXPPartyFrameLockoutTimerExpires, libUIUI_gv_teamXPPartySpamLockoutTimer[2]);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Team XP Party Frame - Ping Decrement Timer Expires (Order)

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_TeamXPPartyFramePingDecrementTimerExpiresOrder_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_teamNumber;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_teamNumber = 1;



    // Conditions

    if (testConds) {

        if (!((libUIUI_gv_teamXPPartySpamCounter[lv_teamNumber] > 0))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gv_teamXPPartySpamCounter[lv_teamNumber] -= 1;

    if ((libUIUI_gv_teamXPPartySpamCounter[lv_teamNumber] > 0)) {

        TimerStart(libUIUI_gv_teamXPPartyFrameDecrementPingCountTimer[lv_teamNumber], 3.0, false, c_timeGame);

    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_TeamXPPartyFramePingDecrementTimerExpiresOrder_Init () {

    libUIUI_gt_TeamXPPartyFramePingDecrementTimerExpiresOrder = TriggerCreate("libUIUI_gt_TeamXPPartyFramePingDecrementTimerExpiresOrder_Func");

    TriggerAddEventTimer(libUIUI_gt_TeamXPPartyFramePingDecrementTimerExpiresOrder, libUIUI_gv_teamXPPartyFrameDecrementPingCountTimer[1]);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Team XP Party Frame - Ping Decrement Timer Expires (Chaos)

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_TeamXPPartyFramePingDecrementTimerExpiresChaos_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_teamNumber;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_teamNumber = 2;



    // Conditions

    if (testConds) {

        if (!((libUIUI_gv_teamXPPartySpamCounter[lv_teamNumber] > 0))) {

            return false;

        }

    }



    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gv_teamXPPartySpamCounter[lv_teamNumber] -= 1;

    if ((libUIUI_gv_teamXPPartySpamCounter[lv_teamNumber] > 0)) {

        TimerStart(libUIUI_gv_teamXPPartyFrameDecrementPingCountTimer[lv_teamNumber], 3.0, false, c_timeGame);

    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_TeamXPPartyFramePingDecrementTimerExpiresChaos_Init () {

    libUIUI_gt_TeamXPPartyFramePingDecrementTimerExpiresChaos = TriggerCreate("libUIUI_gt_TeamXPPartyFramePingDecrementTimerExpiresChaos_Func");

    TriggerAddEventTimer(libUIUI_gt_TeamXPPartyFramePingDecrementTimerExpiresChaos, libUIUI_gv_teamXPPartyFrameDecrementPingCountTimer[2]);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Ping Count Reset Timer Expires

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_PingCountResetTimerExpires_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itPlayer;



    // Automatic Variable Declarations

    const int autoABC6A461_ae = libCore_gv_bALMaxPlayers;

    const int autoABC6A461_ai = 1;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    lv_itPlayer = 1;

    for ( ; ( (autoABC6A461_ai >= 0 && lv_itPlayer <= autoABC6A461_ae) || (autoABC6A461_ai < 0 && lv_itPlayer >= autoABC6A461_ae) ) ; lv_itPlayer += autoABC6A461_ai ) {

        if ((EventTimer() == libUIUI_gv_pingCountResetTimer[lv_itPlayer])) {

            libUIUI_gv_pingCount[lv_itPlayer] = 0;

            break;

        }



    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_PingCountResetTimerExpires_Init () {

    libUIUI_gt_PingCountResetTimerExpires = TriggerCreate("libUIUI_gt_PingCountResetTimerExpires_Func");

    TriggerAddEventTimer(libUIUI_gt_PingCountResetTimerExpires, libUIUI_gv_pingCountResetTimer[1]);

    TriggerAddEventTimer(libUIUI_gt_PingCountResetTimerExpires, libUIUI_gv_pingCountResetTimer[2]);

    TriggerAddEventTimer(libUIUI_gt_PingCountResetTimerExpires, libUIUI_gv_pingCountResetTimer[3]);

    TriggerAddEventTimer(libUIUI_gt_PingCountResetTimerExpires, libUIUI_gv_pingCountResetTimer[4]);

    TriggerAddEventTimer(libUIUI_gt_PingCountResetTimerExpires, libUIUI_gv_pingCountResetTimer[5]);

    TriggerAddEventTimer(libUIUI_gt_PingCountResetTimerExpires, libUIUI_gv_pingCountResetTimer[6]);

    TriggerAddEventTimer(libUIUI_gt_PingCountResetTimerExpires, libUIUI_gv_pingCountResetTimer[7]);

    TriggerAddEventTimer(libUIUI_gt_PingCountResetTimerExpires, libUIUI_gv_pingCountResetTimer[8]);

    TriggerAddEventTimer(libUIUI_gt_PingCountResetTimerExpires, libUIUI_gv_pingCountResetTimer[9]);

    TriggerAddEventTimer(libUIUI_gt_PingCountResetTimerExpires, libUIUI_gv_pingCountResetTimer[10]);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Ping On My Way Ping Path Display Timer Expires

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_itPlayer;



    // Automatic Variable Declarations

    const int autoB660A991_ae = libCore_gv_bALMaxPlayers;

    const int autoB660A991_ai = 1;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    lv_itPlayer = 1;

    for ( ; ( (autoB660A991_ai >= 0 && lv_itPlayer <= autoB660A991_ae) || (autoB660A991_ai < 0 && lv_itPlayer >= autoB660A991_ae) ) ; lv_itPlayer += autoB660A991_ai ) {

        if ((EventTimer() == libUIUI_gv_onMyWayPingPathDisplayTimer[lv_itPlayer])) {

            PathDestroy(libGame_gv_players[lv_itPlayer].lv_onMyWayPathDisplay);

            break;

        }



    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires_Init () {

    libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires = TriggerCreate("libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires_Func");

    TriggerAddEventTimer(libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires, libUIUI_gv_onMyWayPingPathDisplayTimer[1]);

    TriggerAddEventTimer(libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires, libUIUI_gv_onMyWayPingPathDisplayTimer[2]);

    TriggerAddEventTimer(libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires, libUIUI_gv_onMyWayPingPathDisplayTimer[3]);

    TriggerAddEventTimer(libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires, libUIUI_gv_onMyWayPingPathDisplayTimer[4]);

    TriggerAddEventTimer(libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires, libUIUI_gv_onMyWayPingPathDisplayTimer[5]);

    TriggerAddEventTimer(libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires, libUIUI_gv_onMyWayPingPathDisplayTimer[6]);

    TriggerAddEventTimer(libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires, libUIUI_gv_onMyWayPingPathDisplayTimer[7]);

    TriggerAddEventTimer(libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires, libUIUI_gv_onMyWayPingPathDisplayTimer[8]);

    TriggerAddEventTimer(libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires, libUIUI_gv_onMyWayPingPathDisplayTimer[9]);

    TriggerAddEventTimer(libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires, libUIUI_gv_onMyWayPingPathDisplayTimer[10]);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Ping Listen For Player Ping

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_PingListenForPlayerPing_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_pingType;

    unit lv_targetUnit;

    int lv_pingingPlayer;

    unit lv_pingingPlayerHero;

    playergroup lv_pingPlayerGroup;

    string lv_pingModel;

    soundlink lv_pingSound;



    // Automatic Variable Declarations

    int autoFCAAB407_val;



    // Variable Initialization

    lv_pingPlayerGroup = PlayerGroupEmpty();

    lv_pingModel = "StormGeneralPing";

    lv_pingSound = SoundLink("UI_Game_Ping_General", -1);



    // Actions

    if (!runActions) {

        return true;

    }



    lv_pingType = EventPingOption();

    if ((!(((lv_pingType == c_pingTypeAssistMe) || (lv_pingType == c_pingTypeDanger) || (lv_pingType == c_pingTypeDefend) || (lv_pingType == c_pingTypeNormal) || (lv_pingType == c_pingTypeOnMyWay) || (lv_pingType == c_pingTypeRetreat))))) {

        return true;

    }



    lv_pingingPlayer = EventPlayer();

    if ((TimerGetRemaining(libUIUI_gv_pingInputSuppressionTimer[lv_pingingPlayer]) > 0.0)) {

        return true;

    }



    if ((TimerGetRemaining(libUIUI_gv_pingLockoutTimer[lv_pingingPlayer]) > 0.0)) {

        UIDisplayMessage(libCore_gv_playerGroupFromPlayer[lv_pingingPlayer], c_messageAreaChat, StringExternal("Param/Value/lib_UIUI_639B6AEA"));

        return true;

    }



    lv_pingingPlayerHero = libGame_gv_players[lv_pingingPlayer].lv_heroUnit;

    if ((lv_pingingPlayerHero == null)) {

        return true;

    }



    lv_targetUnit = EventPingUnit();

    if ((UnitTypeTestAttribute(UnitGetType(lv_targetUnit), c_unitAttributeHeroic) == true) && (libNtve_gf_UnitIsVisibleToPlayer(lv_targetUnit, lv_pingingPlayer) == false)) {

        return true;

    }



    lv_pingPlayerGroup = PlayerGroupMath(libGame_gv_teams[libGame_gf_TeamNumberOfPlayer(lv_pingingPlayer)].lv_teamPlayerGroup, PlayerGroupMuting(libNtve_ge_MuteType_Pings, lv_pingingPlayer, true), libNtve_ge_PlayerGroupOperation_Subtract);

    if ((UnitIsValid(lv_targetUnit) == false)) {

        lv_targetUnit = libUIUI_gf_PingGetSpecialPingTargetInRangeOfPoint(EventPingPoint(), EventPingedMinimap(), lv_pingingPlayer);

    }



    if ((UnitTypeTestAttribute(UnitGetType(lv_targetUnit), c_unitAttributeSummoned) == true) && (UnitHasBehavior2(lv_targetUnit, "HeroicSummon") == false)) {

        lv_targetUnit = null;

    }



    if ((UnitHasBehavior2(lv_targetUnit, "UnitCannotBePinged") == true)) {

        lv_targetUnit = null;

    }



    libUIUI_gf_PingIncrementPingCountAndManageTimersForPlayer(lv_pingingPlayer);

    autoFCAAB407_val = lv_pingType;

    if (autoFCAAB407_val == c_pingTypeAssistMe) {

        libUIUI_gf_PingPlayerUsesAssistMePing(lv_pingingPlayer, lv_targetUnit, EventPingPoint());

    }

    else if (autoFCAAB407_val == c_pingTypeDanger) {

        libUIUI_gf_PingPlayerUsesDangerPing(lv_pingingPlayer, EventPingPoint(), lv_targetUnit);

    }

    else if (autoFCAAB407_val == c_pingTypeOnMyWay) {

        libUIUI_gf_PingPlayerUsesOnMyWayPing(lv_targetUnit, lv_pingingPlayer, EventPingPoint());

    }

    else if (autoFCAAB407_val == c_pingTypeDefend) {

        libUIUI_gf_PingPlayerUsesDefendPing(lv_targetUnit, lv_pingingPlayer, EventPingPoint());

    }

    else if (autoFCAAB407_val == c_pingTypeRetreat) {

        libUIUI_gf_PingPlayerUsesRetreatPing(lv_pingingPlayer, EventPingPoint());

    }

    else if (autoFCAAB407_val == c_pingTypeNormal) {

        if ((UnitIsValid(lv_targetUnit) == true)) {

            libUIUI_gf_PingPlayerPingsUnit(lv_pingingPlayer, lv_targetUnit, lv_pingPlayerGroup);

        }

        else {

            libNtve_gf_CreatePingFacingAngleWithType(lv_pingPlayerGroup, lv_pingModel, EventPingPoint(), Color(100.00, 100.00, 100.00), 3.0, 270.0, -1, lv_pingingPlayer);

            SoundPlayForPlayer(lv_pingSound, lv_pingingPlayer, lv_pingPlayerGroup, 100.0, 0.0);

        }

    }

    else {

    }

    libUIUI_gf_PingAIResponse(lv_pingingPlayer, lv_targetUnit, lv_pingPlayerGroup);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_PingListenForPlayerPing_Init () {

    libUIUI_gt_PingListenForPlayerPing = TriggerCreate("libUIUI_gt_PingListenForPlayerPing_Func");

    TriggerAddEventPing(libUIUI_gt_PingListenForPlayerPing, c_playerAny);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Initialize Base Mod Ping Data

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_InitializeBaseModPingData_Func (bool testConds, bool runActions) {

    // Automatic Variable Declarations

    // Actions

    if (!runActions) {

        return true;

    }



    libUIUI_gf_PingCreateNewPingTarget("XelNagaWatchTower", false, StringExternal("Param/Value/lib_UIUI_BB9FB19A"), StringExternal("Param/Value/lib_UIUI_8B771608"), StringExternal("Param/Value/lib_UIUI_648E981A"), SoundLink("UI_Game_Ping_General", -1), SoundLink("UI_Game_Ping_General", -1));

    libUIUI_gf_PingSetAllyEnemyTargetHeroVOForPingTarget(libUIUI_gf_PingLastCreatedPingTarget(), libCore_ge_HeroVOEvents_PingDefendWatchTower, libCore_ge_HeroVOEvents_PingAttackWatchTower);

    libUIUI_gf_PingCreateNewPingTarget("RegenGlobeGenerator", false, null, StringExternal("Param/Value/lib_UIUI_0418FE6D"), StringExternal("Param/Value/lib_UIUI_DBC3763E"), SoundLink("UI_Game_Ping_Help", -1), SoundLink("UI_Game_Ping_Help", -1));

    libUIUI_gf_PingCreateNewPingTarget("MercDefenderSiegeGiant", false, StringExternal("Param/Value/lib_UIUI_F3AD68B5"), StringExternal("Param/Value/lib_UIUI_34C3922F"), StringExternal("Param/Value/lib_UIUI_E92A724E"), 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("MercLanerSiegeGiant", false, null, StringExternal("Param/Value/lib_UIUI_3CBD35F4"), StringExternal("Param/Value/lib_UIUI_AC742509"), 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);

    libUIUI_gf_PingCreateNewPingTarget("MercDefenderMeleeKnight", false, StringExternal("Param/Value/lib_UIUI_E3D74DB2"), StringExternal("Param/Value/lib_UIUI_18B59E22"), StringExternal("Param/Value/lib_UIUI_BC88A1F6"), 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("MercDefenderRangedMage", false, StringExternal("Param/Value/lib_UIUI_1B9EAA4B"), StringExternal("Param/Value/lib_UIUI_7F73BE4B"), StringExternal("Param/Value/lib_UIUI_5EB33761"), 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("MercLanerMeleeKnight", false, null, StringExternal("Param/Value/lib_UIUI_16B3C4A5"), StringExternal("Param/Value/lib_UIUI_F54FF2F1"), 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);

    libUIUI_gf_PingCreateNewPingTarget("MercLanerRangedMage", false, null, StringExternal("Param/Value/lib_UIUI_D7DB6851"), StringExternal("Param/Value/lib_UIUI_092DF955"), 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);

    libUIUI_gf_PingCreateNewPingTarget("JungleGraveGolemDefender", false, StringExternal("Param/Value/lib_UIUI_E8CBF858"), StringExternal("Param/Value/lib_UIUI_33B91B76"), StringExternal("Param/Value/lib_UIUI_69553610"), 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("JungleGraveGolemLaner", false, null, StringExternal("Param/Value/lib_UIUI_DE6A12AF"), StringExternal("Param/Value/lib_UIUI_8B9827B8"), 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);

    libUIUI_gf_PingCreateNewPingTarget("RavenLordTribute", false, null, StringExternal("Param/Value/lib_UIUI_5953402D"), StringExternal("Param/Value/lib_UIUI_8AE29806"), SoundLink("UI_Game_Ping_General", -1), SoundLink("UI_Game_Ping_General", -1));

    libUIUI_gf_PingCreateNewPingTarget("RavenLordTributeWarning", false, null, StringExternal("Param/Value/lib_UIUI_2ED174B4"), StringExternal("Param/Value/lib_UIUI_BE09D2A0"), SoundLink("UI_Game_Ping_General", -1), SoundLink("UI_Game_Ping_General", -1));

    libUIUI_gf_PingCreateNewPingTarget("DragonShireShrineMoon", false, null, StringExternal("Param/Value/lib_UIUI_1040DC1F"), StringExternal("Param/Value/lib_UIUI_C436C94B"), SoundLink("UI_Game_Ping_Defend", -1), SoundLink("UI_Game_Ping_Attack", -1));

    libUIUI_gf_PingCreateNewPingTarget("DragonShireShrineSun", false, null, StringExternal("Param/Value/lib_UIUI_1EA7E487"), StringExternal("Param/Value/lib_UIUI_2CD1B470"), SoundLink("UI_Game_Ping_Defend", -1), SoundLink("UI_Game_Ping_Attack", -1));

    libUIUI_gf_PingCreateNewPingTarget("VehicleDragon", false, null, StringExternal("Param/Value/lib_UIUI_07F511D0"), StringExternal("Param/Value/lib_UIUI_9F44136E"), SoundLink("UI_Game_Ping_Attack", -1), SoundLink("UI_Game_Ping_Attack", -1));

    libUIUI_gf_PingCreateNewPingTarget("VehicleDragon", true, null, StringExternal("Param/Value/lib_UIUI_DD86FABD"), StringExternal("Param/Value/lib_UIUI_D6F214F6"), SoundLink("UI_Game_Ping_Defend", -1), SoundLink("UI_Game_Ping_Attack", -1));

    libUIUI_gf_PingSetAllyEnemyTargetHeroVOForPingTarget(libUIUI_gf_PingLastCreatedPingTarget(), libCore_ge_HeroVOEvents_PingAssistHero, libCore_ge_HeroVOEvents_PingKillHero);

    libUIUI_gf_PingCreateNewPingTarget("HoleLadderDown", false, null, StringExternal("Param/Value/lib_UIUI_D2A4075C"), StringExternal("Param/Value/lib_UIUI_9F89A9DC"), SoundLink("UI_Game_Ping_Attack", -1), SoundLink("UI_Game_Ping_Attack", -1));

    libUIUI_gf_PingCreateNewPingTarget("GroundHole", false, null, StringExternal("Param/Value/lib_UIUI_4474E55E"), StringExternal("Param/Value/lib_UIUI_9A53F98A"), SoundLink("UI_Game_Ping_Attack", -1), SoundLink("UI_Game_Ping_Attack", -1));

    libUIUI_gf_PingCreateNewPingTarget("HoleLadderUp", false, null, StringExternal("Param/Value/lib_UIUI_B068F5DD"), StringExternal("Param/Value/lib_UIUI_C344D623"), SoundLink("UI_Game_Ping_General", -1), SoundLink("UI_Game_Ping_General", -1));

    libUIUI_gf_PingCreateNewPingTarget("UnderworldBoss", false, null, StringExternal("Param/Value/lib_UIUI_0DF05FD5"), StringExternal("Param/Value/lib_UIUI_3994CFA3"), SoundLink("UI_Game_Ping_Attack", -1), SoundLink("UI_Game_Ping_Attack", -1));

    libUIUI_gf_PingCreateNewPingTarget("UnderworldSummonedBoss", false, null, StringExternal("Param/Value/lib_UIUI_23B1DE63"), StringExternal("Param/Value/lib_UIUI_6E74A67B"), SoundLink("UI_Game_Ping_Help", -1), SoundLink("UI_Game_Ping_Attack", -1));

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_InitializeBaseModPingData_Init () {

    libUIUI_gt_InitializeBaseModPingData = TriggerCreate("libUIUI_gt_InitializeBaseModPingData_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Initialize Tab Screen Panel

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIInitializeTabScreenPanel_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int lv_i;

    int[6] lv_panels;

    int lv_currentPanelLayer;

    int lv_statBoostIndex;



    // Automatic Variable Declarations

    int autoA997A7DC_ae;



    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenUpperContainer/HeroLeaderPanel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_uITabScreenPanel.lv_mainPanel = DialogControlLastCreated();

    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenUpperContainer/HeroLeaderPanel/HeroLeaderPanelContainer/TabControl");

    libUIUI_gv_uITabScreenPanel.lv_tabControl = DialogControlLastCreated();

    autoA997A7DC_ae = libCore_gv_bALMaxPlayers;

    lv_i = 1;

    for ( ; lv_i <= autoA997A7DC_ae ; lv_i += 1 ) {

        DialogControlHookupStandard(c_triggerControlTypePanel, ("UIContainer/FullscreenUpperContainer/HeroLeaderPanel/HeroLeaderPanelContainer/TabControl/PlayerFrame" + IntToString((lv_i - 1)) + "/StatsContainerFrame/SoloKillScoreValueFrame"));

        libUIUI_gv_uITabScreenPanel.lv_tabScreenPlayerStats[lv_i].lv_kills = DialogControlLastCreated();

        DialogControlHookupStandard(c_triggerControlTypePanel, ("UIContainer/FullscreenUpperContainer/HeroLeaderPanel/HeroLeaderPanelContainer/TabControl/PlayerFrame" + IntToString((lv_i - 1)) + "/StatsContainerFrame/AssistsScoreValueFrame"));

        libUIUI_gv_uITabScreenPanel.lv_tabScreenPlayerStats[lv_i].lv_assists = DialogControlLastCreated();

        DialogControlHookupStandard(c_triggerControlTypePanel, ("UIContainer/FullscreenUpperContainer/HeroLeaderPanel/HeroLeaderPanelContainer/TabControl/PlayerFrame" + IntToString((lv_i - 1)) + "/StatsContainerFrame/SiegeDamageScoreValueFrame"));

        libUIUI_gv_uITabScreenPanel.lv_tabScreenPlayerStats[lv_i].lv_siegeDamage = DialogControlLastCreated();

        DialogControlHookupStandard(c_triggerControlTypePanel, ("UIContainer/FullscreenUpperContainer/HeroLeaderPanel/HeroLeaderPanelContainer/TabControl/PlayerFrame" + IntToString((lv_i - 1)) + "/StatsContainerFrame/HeroDamageScoreValueFrame"));

        libUIUI_gv_uITabScreenPanel.lv_tabScreenPlayerStats[lv_i].lv_heroDamage = DialogControlLastCreated();

        DialogControlHookupStandard(c_triggerControlTypePanel, ("UIContainer/FullscreenUpperContainer/HeroLeaderPanel/HeroLeaderPanelContainer/TabControl/PlayerFrame" + IntToString((lv_i - 1)) + "/StatsContainerFrame/HealingScoreValueFrame"));

        libUIUI_gv_uITabScreenPanel.lv_tabScreenPlayerStats[lv_i].lv_healingStat = DialogControlLastCreated();

        DialogControlHookupStandard(c_triggerControlTypePanel, ("UIContainer/FullscreenUpperContainer/HeroLeaderPanel/HeroLeaderPanelContainer/TabControl/PlayerFrame" + IntToString((lv_i - 1)) + "/StatsContainerFrame/DamageTakenScoreValueFrame"));

        libUIUI_gv_uITabScreenPanel.lv_tabScreenPlayerStats[lv_i].lv_damageTakenStat = DialogControlLastCreated();

        DialogControlHookupStandard(c_triggerControlTypePanel, ("UIContainer/FullscreenUpperContainer/HeroLeaderPanel/HeroLeaderPanelContainer/TabControl/PlayerFrame" + IntToString((lv_i - 1)) + "/StatsContainerFrame/ExperienceScoreValueFrame"));

        libUIUI_gv_uITabScreenPanel.lv_tabScreenPlayerStats[lv_i].lv_xPContribution = DialogControlLastCreated();

    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIInitializeTabScreenPanel_Init () {

    libUIUI_gt_UIInitializeTabScreenPanel = TriggerCreate("libUIUI_gt_UIInitializeTabScreenPanel_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Initialize Targeting Helper Panel

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UIInitializeTargetingHelperPanel_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int lv_i;

    int[6] lv_panels;

    int lv_currentPanelLayer;



    // Automatic Variable Declarations

    const int auto56AF556C_ae = libCore_gv_bALMaxPlayersOnATeam;

    const int auto56AF556C_ai = 1;



    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenUpperContainer/FriendlyAbilityTargetHelper");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_uITargetingHelperPanel.lv_mainPanel = DialogControlLastCreated();

    lv_i = 1;

    for ( ; ( (auto56AF556C_ai >= 0 && lv_i <= auto56AF556C_ae) || (auto56AF556C_ai < 0 && lv_i >= auto56AF556C_ae) ) ; lv_i += auto56AF556C_ai ) {

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "HeroFrame" + IntToString(lv_i));

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

        lv_currentPanelLayer += 1;

        lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

        libUIUI_gv_uITargetingHelperPanel.lv_heroFrames[lv_i] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HeroIcon");

        libUIUI_gv_uITargetingHelperPanel.lv_heroIcons[lv_i] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "HeroIconBorder");

        libNtve_gf_SetDialogItemColor(DialogControlLastCreated(), libCore_gv_cOLORAllyColor, PlayerGroupAll());

        libUIUI_gv_uITargetingHelperPanel.lv_heroBorderImages[lv_i] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitTarget, "TargetHeroUnitFrame");

        libUIUI_gv_uITargetingHelperPanel.lv_heroTargetFrames[lv_i] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "HeroStatus");

        libUIUI_gv_uITargetingHelperPanel.lv_heroStatusFrames[lv_i] = DialogControlLastCreated();

        lv_currentPanelLayer -= 1;

    }

    TriggerAddEventDialogControl(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseExit, c_playerAny, libUIUI_gv_uITargetingHelperPanel.lv_heroTargetFrames[1], c_triggerControlEventTypeMouseExit);

    TriggerAddEventDialogControl(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseExit, c_playerAny, libUIUI_gv_uITargetingHelperPanel.lv_heroTargetFrames[2], c_triggerControlEventTypeMouseExit);

    TriggerAddEventDialogControl(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseExit, c_playerAny, libUIUI_gv_uITargetingHelperPanel.lv_heroTargetFrames[3], c_triggerControlEventTypeMouseExit);

    TriggerAddEventDialogControl(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseExit, c_playerAny, libUIUI_gv_uITargetingHelperPanel.lv_heroTargetFrames[4], c_triggerControlEventTypeMouseExit);

    TriggerAddEventDialogControl(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseExit, c_playerAny, libUIUI_gv_uITargetingHelperPanel.lv_heroTargetFrames[5], c_triggerControlEventTypeMouseExit);

    TriggerAddEventDialogControl(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseEnter, c_playerAny, libUIUI_gv_uITargetingHelperPanel.lv_heroTargetFrames[1], c_triggerControlEventTypeMouseEnter);

    TriggerAddEventDialogControl(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseEnter, c_playerAny, libUIUI_gv_uITargetingHelperPanel.lv_heroTargetFrames[2], c_triggerControlEventTypeMouseEnter);

    TriggerAddEventDialogControl(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseEnter, c_playerAny, libUIUI_gv_uITargetingHelperPanel.lv_heroTargetFrames[3], c_triggerControlEventTypeMouseEnter);

    TriggerAddEventDialogControl(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseEnter, c_playerAny, libUIUI_gv_uITargetingHelperPanel.lv_heroTargetFrames[4], c_triggerControlEventTypeMouseEnter);

    TriggerAddEventDialogControl(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseEnter, c_playerAny, libUIUI_gv_uITargetingHelperPanel.lv_heroTargetFrames[5], c_triggerControlEventTypeMouseEnter);

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UIInitializeTargetingHelperPanel_Init () {

    libUIUI_gt_UIInitializeTargetingHelperPanel = TriggerCreate("libUIUI_gt_UIInitializeTargetingHelperPanel_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Targeting Helper Panel - Unit Frame Mouse Enter

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UITargetingHelperPanelUnitFrameMouseEnter_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_i;

    int lv_frameIndex;



    // Automatic Variable Declarations

    const int auto4E0DCE1A_ae = libCore_gv_bALMaxPlayersOnATeam;

    const int auto4E0DCE1A_ai = 1;

    const int auto1D8443F8_ae = libCore_gv_bALMaxPlayers;

    const int auto1D8443F8_ai = 1;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    lv_i = 1;

    for ( ; ( (auto4E0DCE1A_ai >= 0 && lv_i <= auto4E0DCE1A_ae) || (auto4E0DCE1A_ai < 0 && lv_i >= auto4E0DCE1A_ae) ) ; lv_i += auto4E0DCE1A_ai ) {

        if ((EventDialogControl() == libUIUI_gv_uITargetingHelperPanel.lv_heroTargetFrames[lv_i])) {

            lv_frameIndex = lv_i;

            break;

        }



    }

    TextExpressionSetToken("Param/Expression/lib_UIUI_CFF72C0A", "A", IntToText(EventPlayer()));

    ActorSendAsText(libNtve_gf_MainActorofUnit(libUIUI_gv_uITargetingHelperPanelTargetUnitsForPlayer[EventPlayer()][lv_frameIndex]), TextExpressionAssemble("Param/Expression/lib_UIUI_CFF72C0A"));

    lv_i = 1;

    for ( ; ( (auto1D8443F8_ai >= 0 && lv_i <= auto1D8443F8_ae) || (auto1D8443F8_ai < 0 && lv_i >= auto1D8443F8_ae) ) ; lv_i += auto1D8443F8_ai ) {

        if ((lv_i != EventPlayer())) {

            TextExpressionSetToken("Param/Expression/lib_UIUI_99C703B2", "A", IntToText(lv_i));

            ActorSendAsText(ActorFromActor(libNtve_gf_MainActorofUnit(libUIUI_gv_uITargetingHelperPanelTargetUnitsForPlayer[EventPlayer()][lv_frameIndex]), ("FriendlyTargetHelperBeamPlayer" + IntToString(EventPlayer()))), TextExpressionAssemble("Param/Expression/lib_UIUI_99C703B2"));

        }



    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UITargetingHelperPanelUnitFrameMouseEnter_Init () {

    libUIUI_gt_UITargetingHelperPanelUnitFrameMouseEnter = TriggerCreate("libUIUI_gt_UITargetingHelperPanelUnitFrameMouseEnter_Func");

    TriggerEnable(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseEnter, false);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Targeting Helper Panel - Unit Frame Mouse Exit

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UITargetingHelperPanelUnitFrameMouseExit_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_i;

    int lv_frameIndex;



    // Automatic Variable Declarations

    const int auto9AF623AC_ae = libCore_gv_bALMaxPlayersOnATeam;

    const int auto9AF623AC_ai = 1;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    lv_i = 1;

    for ( ; ( (auto9AF623AC_ai >= 0 && lv_i <= auto9AF623AC_ae) || (auto9AF623AC_ai < 0 && lv_i >= auto9AF623AC_ae) ) ; lv_i += auto9AF623AC_ai ) {

        if ((EventDialogControl() == libUIUI_gv_uITargetingHelperPanel.lv_heroTargetFrames[lv_i])) {

            lv_frameIndex = lv_i;

            break;

        }



    }

    ActorSend(ActorFromActor(libNtve_gf_MainActorofUnit(libUIUI_gv_uITargetingHelperPanelTargetUnitsForPlayer[EventPlayer()][lv_frameIndex]), ("FriendlyTargetHelperBeamPlayer" + IntToString(EventPlayer()))), "Destroy");

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UITargetingHelperPanelUnitFrameMouseExit_Init () {

    libUIUI_gt_UITargetingHelperPanelUnitFrameMouseExit = TriggerCreate("libUIUI_gt_UITargetingHelperPanelUnitFrameMouseExit_Func");

    TriggerEnable(libUIUI_gt_UITargetingHelperPanelUnitFrameMouseExit, false);

}



//--------------------------------------------------------------------------------------------------

// Trigger: UI - Targeting Helper Panel - Update Visibility For Offensive Abilities

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_UITargetingHelperPanelUpdateVisibilityForOffensiveAbilities_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_i;

    int lv_p;



    // Automatic Variable Declarations

    const int auto1CF92869_ae = libCore_gv_bALMaxPlayers;

    const int auto1CF92869_ai = 1;

    int auto9982399D_ae;

    const int auto9982399D_ai = 1;



    // Variable Initialization



    // Actions

    if (!runActions) {

        return true;

    }



    lv_p = 1;

    for ( ; ( (auto1CF92869_ai >= 0 && lv_p <= auto1CF92869_ae) || (auto1CF92869_ai < 0 && lv_p >= auto1CF92869_ae) ) ; lv_p += auto1CF92869_ai ) {

        if ((libUIUI_gv_uITargetingHelperPanelPlayerIsTargetingOffensiveAbility[lv_p] == true)) {

            auto9982399D_ae = libUIUI_gv_uITargetingHelperPanelNumberOfTargetUnitsForPlayer[lv_p];

            lv_i = 1;

            for ( ; ( (auto9982399D_ai >= 0 && lv_i <= auto9982399D_ae) || (auto9982399D_ai < 0 && lv_i >= auto9982399D_ae) ) ; lv_i += auto9982399D_ai ) {

                if ((libNtve_gf_UnitIsVisibleToPlayer(libUIUI_gv_uITargetingHelperPanelTargetUnitsForPlayer[lv_p][lv_i], lv_p) == false)) {

                    DialogControlSetVisible(libUIUI_gv_uITargetingHelperPanel.lv_heroFrames[lv_i], libCore_gv_playerGroupFromPlayer[lv_p], false);

                }



            }

        }



    }

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_UITargetingHelperPanelUpdateVisibilityForOffensiveAbilities_Init () {

    libUIUI_gt_UITargetingHelperPanelUpdateVisibilityForOffensiveAbilities = TriggerCreate("libUIUI_gt_UITargetingHelperPanelUpdateVisibilityForOffensiveAbilities_Func");

    TriggerEnable(libUIUI_gt_UITargetingHelperPanelUpdateVisibilityForOffensiveAbilities, false);

    TriggerAddEventTimePeriodic(libUIUI_gt_UITargetingHelperPanelUpdateVisibilityForOffensiveAbilities, 0.0625, c_timeGame);

}



//--------------------------------------------------------------------------------------------------

// Trigger: Top Bar Panel Initialize

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_TopBarPanelInitialize_Func (bool testConds, bool runActions) {

    int init_i;



    // Variable Declarations

    int lv_itTeam;

    int[6] lv_panels;

    int lv_currentPanelLayer;

    int lv_enemyTeam;



    // Automatic Variable Declarations

    const int auto4D936E5E_ae = libCore_gv_bALMaxTeams;

    const int auto4D936E5E_ai = 1;

    const int auto507A4472_ae = libCore_gv_bALMaxTeams;

    const int auto507A4472_ai = 1;



    // Variable Initialization

    for (init_i = 0; init_i <= 5; init_i += 1) {

        lv_panels[init_i] = c_invalidDialogControlId;

    }



    // Actions

    if (!runActions) {

        return true;

    }



    DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/TopPanel");

    DialogControlSetObservedType(DialogControlLastCreated(), c_triggerObservedTypeDefaultObservedPlayerId);

    lv_currentPanelLayer += 1;

    lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

    libUIUI_gv_topBarPanel.lv_mainPanel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "GameTimerLabel");

    libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringToText(""), PlayerGroupAll());

    libUIUI_gv_topBarPanel.lv_gameTimerLabel = DialogControlLastCreated();

    DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "NormalModeContainer/CoreHealthLabel");

    DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

    libUIUI_gv_topBarPanel.lv_coreHealthLabel = DialogControlLastCreated();

    lv_itTeam = 1;

    for ( ; ( (auto4D936E5E_ai >= 0 && lv_itTeam <= auto4D936E5E_ae) || (auto4D936E5E_ai < 0 && lv_itTeam >= auto4D936E5E_ae) ) ; lv_itTeam += auto4D936E5E_ai ) {

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Team" + IntToString(lv_itTeam) + "XPBackgroundBlue");

        libUIUI_gv_topBarPanel.lv_xPBackgroundBlue[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Team" + IntToString(lv_itTeam) + "XPBackgroundRed");

        libUIUI_gv_topBarPanel.lv_xPBackgroundRed[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "NormalModeContainer/Team" + IntToString(lv_itTeam) + "XPUnitStatusFrame");

        libUIUI_gv_topBarPanel.lv_xPUnitStatusFrame[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatusBar, "NormalModeContainer/Team" + IntToString(lv_itTeam) + "XPUnitStatusFrame/XPBar");

        libUIUI_gv_topBarPanel.lv_xPVeterancyBar[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "NormalModeContainer/Team" + IntToString(lv_itTeam) + "LevelLabel");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

        libUIUI_gv_topBarPanel.lv_levelLabel[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "NormalModeContainer/Team" + IntToString(lv_itTeam) + "LevelUpLabel");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

        libUIUI_gv_topBarPanel.lv_levelUpLabel[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeUnitStatus, "NormalModeContainer/Team" + IntToString(lv_itTeam) + "CoreUnitStatus");

        DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);

        libUIUI_gv_topBarPanel.lv_coreHealthUnitStatusFrames[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "NormalModeContainer/Team" + IntToString(lv_itTeam) + "CoreUnitStatus/HealthLabel/StatusLabel");

        libUIUI_gv_topBarPanel.lv_coreHealthPercentLabels[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "NormalModeContainer/Team" + IntToString(lv_itTeam) + "XPInfoFrame");

        lv_currentPanelLayer += 1;

        lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();

        libUIUI_gv_topBarPanel.lv_xPContributionPopup[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "PropertyBindLabels/HeroAmountLabel");

        libUIUI_gv_topBarPanel.lv_heroXPContributionLabel[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "PropertyBindLabels/MercenaryAmountLabel");

        libUIUI_gv_topBarPanel.lv_mercenaryXPContributionLabel[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "PropertyBindLabels/MinionAmountLabel");

        libUIUI_gv_topBarPanel.lv_minionXPContributionLabel[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "PropertyBindLabels/PassiveAmountLabel");

        libUIUI_gv_topBarPanel.lv_passiveXPContributionLabel[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "PropertyBindLabels/StructureAmountLabel");

        libUIUI_gv_topBarPanel.lv_structureXPContributionLabel[lv_itTeam] = DialogControlLastCreated();

        DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "PropertyBindLabels/TotalAmountLabel");

        libUIUI_gv_topBarPanel.lv_totalXPContributionLabel[lv_itTeam] = DialogControlLastCreated();

        lv_currentPanelLayer -= 1;

    }

    lv_itTeam = 1;

    for ( ; ( (auto507A4472_ai >= 0 && lv_itTeam <= auto507A4472_ae) || (auto507A4472_ai < 0 && lv_itTeam >= auto507A4472_ae) ) ; lv_itTeam += auto507A4472_ai ) {

        lv_enemyTeam = (3 - lv_itTeam);

        DialogControlSetVisible(libUIUI_gv_topBarPanel.lv_xPBackgroundBlue[lv_itTeam], libGame_gv_teams[lv_itTeam].lv_teamPlayerGroupNoNPCPlayers, true);

        DialogControlSetVisible(libUIUI_gv_topBarPanel.lv_xPBackgroundRed[lv_itTeam], libGame_gv_teams[lv_enemyTeam].lv_teamPlayerGroupNoNPCPlayers, true);

    }

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_topBarPanel.lv_levelUpLabel[libGame_gv_teamOrderIndex_C], "Storm_TopBar_TeamLevelUpLeftRed", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_topBarPanel.lv_levelUpLabel[libGame_gv_teamChaosIndex_C], "Storm_TopBar_TeamLevelUpRightBlue", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_topBarPanel.lv_coreHealthPercentLabels[libGame_gv_teamOrderIndex_C], "Storm_TopBar_CoreHealthPercentLeftRed", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    libNtve_gf_SetDialogItemStyle(libUIUI_gv_topBarPanel.lv_coreHealthPercentLabels[libGame_gv_teamChaosIndex_C], "Storm_TopBar_CoreHealthPercentRightBlue", libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers);

    DialogControlSetVisible(libUIUI_gv_topBarPanel.lv_xPBackgroundBlue[libGame_gv_teamOrderIndex_C], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);

    DialogControlSetVisible(libUIUI_gv_topBarPanel.lv_xPBackgroundRed[libGame_gv_teamChaosIndex_C], libCore_gv_playerGroupFromPlayer[libCore_gv_oBSERVER_ObserverUIPlayer], true);

    DialogControlSendAnimationEvent(libUIUI_gv_topBarPanel.lv_xPContributionPopup[libGame_gv_teamOrderIndex_C], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroupNoNPCPlayers, "AllyColorSwap");

    DialogControlSendAnimationEvent(libUIUI_gv_topBarPanel.lv_xPContributionPopup[libGame_gv_teamChaosIndex_C], libGame_gv_teams[libGame_gv_teamOrderIndex_C].lv_teamPlayerGroupNoNPCPlayers, "EnemyColorSwap");

    DialogControlSendAnimationEvent(libUIUI_gv_topBarPanel.lv_xPContributionPopup[libGame_gv_teamChaosIndex_C], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers, "AllyColorSwap");

    DialogControlSendAnimationEvent(libUIUI_gv_topBarPanel.lv_xPContributionPopup[libGame_gv_teamOrderIndex_C], libGame_gv_teams[libGame_gv_teamChaosIndex_C].lv_teamPlayerGroupNoNPCPlayers, "EnemyColorSwap");

    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_TopBarPanelInitialize_Init () {

    libUIUI_gt_TopBarPanelInitialize = TriggerCreate("libUIUI_gt_TopBarPanelInitialize_Func");

}



//--------------------------------------------------------------------------------------------------

// Trigger: XP Contribution Perecentage

//--------------------------------------------------------------------------------------------------

bool libUIUI_gt_XPContributionPerecentage_Func (bool testConds, bool runActions) {

    // Variable Declarations

    int lv_Player;

    fixed lv_currentXPForPlayerINT;

    unit lv_heroUnit;

    fixed[6] lv_prioritizedXPVauleList;

    fixed lv_totalXPContribution;

    int lv_tryMeMode_EnemyPlayer;



    // Automatic Variable Declarations

    // Variable Initialization

    lv_tryMeMode_EnemyPlayer = 6;



    // Conditions

    if (testConds) {

        if (!((libGame_gv_gameOver == false))) {

            return false;

        }

    }



    return true;

}



//--------------------------------------------------------------------------------------------------

void libUIUI_gt_XPContributionPerecentage_Init () {

    libUIUI_gt_XPContributionPerecentage = TriggerCreate("libUIUI_gt_XPContributionPerecentage_Func");

}



void libUIUI_InitTriggers () {

    libUIUI_gt_IncludeUI_Init();

    libUIUI_gt_InitializeUI_Init();

    libUIUI_gt_UIUpdateTimeLabelsTimerExpires_Init();

    libUIUI_gt_UIDebugInitandHideErrorWarning_Init();

    libUIUI_gt_UIDEBUGShowBoostFX_Init();

    libUIUI_gt_UIBoostsShowBoostFX_Init();

    libUIUI_gt_UIInitializeDamageFlashUI_Init();

    libUIUI_gt_UIDamageFlashTriggerDamageFlash_Init();

    libUIUI_gt_UIDamageFlashLowHPSoundsLooper_Init();

    libUIUI_gt_DeathRecapPanelInitialize_Init();

    libUIUI_gt_DeathRecapOpenButtonClicked_Init();

    libUIUI_gt_DEBUGEffectHistoryTest_Init();

    libUIUI_gt_DEBUGDeathRecapPopulateTest_Init();

    libUIUI_gt_DeathTimerPanelInitialize_Init();

    libUIUI_gt_DeathAnnouncementPanelVisibleTimerExpires_Init();

    libUIUI_gt_DeathTimerPanelDeathTimerFrameMouseEnter_Init();

    libUIUI_gt_DeathTimerPanelDeathTimerFrameMouseExit_Init();

    libUIUI_gt_DeathTimerPanelUpdate_Init();

    libUIUI_gt_UIInitializeDebugPanel_Init();

    libUIUI_gt_UIDebugPanelCloseButtonClicked_Init();

    libUIUI_gt_UIDebugPanelRefreshCooldownsButtonClicked_Init();

    libUIUI_gt_UIDebugPanelSelectionEnabledCheckboxClicked_Init();

    libUIUI_gt_UIDebugPanelStartGameButtonClicked_Init();

    libUIUI_gt_UIDebugPanelSpawnCreepCampsButtonClicked_Init();

    libUIUI_gt_UIDebugPanelDisableMinionSpawningCheckboxClicked_Init();

    libUIUI_gt_UIDebugPanelDisableTrickleXPCheckboxClicked_Init();

    libUIUI_gt_UIDebugPanelCombatTextCheckboxClicked_Init();

    libUIUI_gt_UIDebugPanelEnableAllCombatTextCheckboxClicked_Init();

    libUIUI_gt_UIDebugPanelSavedHeroCheckboxClicked_Init();

    libUIUI_gt_UIDebugPanelPage1ButtonClicked_Init();

    libUIUI_gt_UIDebugPanelPage2ButtonClicked_Init();

    libUIUI_gt_UIDebugPanelKillLogButtonClicked_Init();

    libUIUI_gt_UIDebugPanelRespecButtonClicked_Init();

    libUIUI_gt_UIDebugPanelPlayerSliderValueChange_Init();

    libUIUI_gt_UIDebugPanelLevelSliderValueChange_Init();

    libUIUI_gt_UIDebugPanelUseCurrentXPCheckboxClicked_Init();

    libUIUI_gt_UIDebugPanelAllHeroesCheckboxClicked_Init();

    libUIUI_gt_UIDebugPanelSpawnAtBaseCheckboxClicked_Init();

    libUIUI_gt_UIDebugPanelHeroDropdownSelectionChange_Init();

    libUIUI_gt_UIDebugPanelSkinDropdownSelectionChange_Init();

    libUIUI_gt_UIDebugPanelMountTypeDropdownSelectionChange_Init();

    libUIUI_gt_UIDebugPanelMountBaseDropdownSelectionChange_Init();

    libUIUI_gt_UIDebugPanelAnnouncerRaidoButtonClicked_Init();

    libUIUI_gt_UIDebugPanelAnnouncerRaidoButtonClicked2_Init();

    libUIUI_gt_UIDebugPanelAnnouncerRadioDropdownSelectionChange_Init();

    libUIUI_gt_UIDebugPanelVoiceLineRadioDropdownSelectionChange_Init();

    libUIUI_gt_UIDebugPanelSoundVOPlayButtonClicked_Init();

    libUIUI_gt_UIDebugPanelSoundVOAddButtonClicked_Init();

    libUIUI_gt_UIDebugPanelSoundVOClearButtonClicked_Init();

    libUIUI_gt_UIDebugPanelSoundVODelayBoxClicked_Init();

    libUIUI_gt_UIDebugPanelSpawnHeroButtonClicked_Init();

    libUIUI_gt_UIDebugPanelMetaXPEditBoxClicked_Init();

    libUIUI_gt_UIDebugPanelSendMetaXPButtonClicked_Init();

    libUIUI_gt_UIDebugPanelSetLootContentsButtonClicked_Init();

    libUIUI_gt_UIDebugPanelUpdate_Init();

    libUIUI_gt_UIDebugPanelSpawnButton_Init();

    libUIUI_gt_UIDebugPanelPlayerNumber_Init();

    libUIUI_gt_UIEndofMatchAwardsPanelInitialize_Init();

    libUIUI_gt_UIEndofMatchAwardsDisabled_Init();

    libUIUI_gt_UIEndofMatchAwardsForceSync_Init();

    libUIUI_gt_UIEndofMatchAwardsUpVoteButtonClicked_Init();

    libUIUI_gt_UIEndofMatchAwardsSkipButtonClicked_Init();

    libUIUI_gt_UIFloatingCombatTextShield_Init();

    libUIUI_gt_UIFloatingCombatTextMissed_Init();

    libUIUI_gt_UIFloatingCombatTextBlocked_Init();

    libUIUI_gt_UIFloatingCombatTextUnrevealable_Init();

    libUIUI_gt_UIFloatingCombatTextUnrevealableImpact_Init();

    libUIUI_gt_UIFloatingCombatTextQuestProgressViaTokens_Init();

    libUIUI_gt_UIFloatingCombatTextQuestProgressViaEffect_Init();

    libUIUI_gt_VignetteOverlayInitialize_Init();

    libUIUI_gt_FullscreenOverlaysInitializeRework_Init();

    libUIUI_gt_CargoOverlayInitiliaze_Init();

    libUIUI_gt_FullscreenOverlaysInitialize_Init();

    libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires_Init();

    libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires_Init();

    libUIUI_gt_GameOverSplashInitialize_Init();

    libUIUI_gt_UIInitializeGameUIHandles_Init();

    libUIUI_gt_UIInitializeHealingFountainsHelpText_Init();

    libUIUI_gt_UIResetMoonwellTextTagandAnimationForPlayers_Init();

    libUIUI_gt_UIHealingFountainsHelpTextPlayerUsesHealingFountain_Init();

    libUIUI_gt_UIHealingFountainsHelpTextTextDisplayController_Init();

    libUIUI_gt_UIHealingFountainsHelpTextHealingFountainDies_Init();

    libUIUI_gt_HelpButtonDebugPosition_Init();

    libUIUI_gt_UIInitializeHeroConsole_Init();

    libUIUI_gt_HeroConsoleUnitStatusBarsInitialize_Init();

    libUIUI_gt_HeroConsoleUnitStatusBarsChannelBehaviorAdded_Init();

    libUIUI_gt_HeroConsoleUnitStatusBarsUpdate_Init();

    libUIUI_gt_GateTimerStartsHideHeroCastChannelBarFrameForObserver_Init();

    libUIUI_gt_HeroSpawnsShowHeroCastChannelBarFrame_Init();

    libUIUI_gt_GameStartEnableHeroicsObtainedAutomatedTeamNotification_Init();

    libUIUI_gt_HeroicsObtainedNotifyTeams_Init();

    libUIUI_gt_StormTalentsObtainedNotifyTeams_Init();

    libUIUI_gt_FullscreenStatusPanelInitialize_Init();

    libUIUI_gt_HeroSpecificStatusContainerInitialize_Init();

    libUIUI_gt_UnitBehaviorStateActivatesInvulnerable_Init();

    libUIUI_gt_UnitBehaviorStateActivatesUnstoppable_Init();

    libUIUI_gt_UnitBehaviorStateActivatesResistant_Init();

    libUIUI_gt_UnitBehaviorStateActivatesVulnerable_Init();

    libUIUI_gt_UnitBehaviorStateActivatesDimmed_Init();

    libUIUI_gt_UnitBehaviorStateActivatesInvincible_Init();

    libUIUI_gt_UnitBehaviorStateDeactivatesInvulnerable_Init();

    libUIUI_gt_UnitBehaviorStateDeactivatesUnstoppable_Init();

    libUIUI_gt_UnitBehaviorStateDeactivatesResistant_Init();

    libUIUI_gt_UnitBehaviorStateDeactivatesVulnerable_Init();

    libUIUI_gt_UnitBehaviorStateDeactivatesDimmed_Init();

    libUIUI_gt_UnitBehaviorStateDeactivatesInvincible_Init();

    libUIUI_gt_UIInitializeHeroTrackerArrow_Init();

    libUIUI_gt_InputBackslashKeyDown_Init();

    libUIUI_gt_MapMechanicsPanelInitialize_Init();

    libUIUI_gt_MapMechanicsPanelUpdate_Init();

    libUIUI_gt_MapMechanicHelpPanelInitialize_Init();

    libUIUI_gt_MapMechanicHelpPanelOKButtonClicked_Init();

    libUIUI_gt_NotificationDisplayInitialize_Init();

    libUIUI_gt_DEBUGNotificationDisplayAnimCheat_Init();

    libUIUI_gt_KillLogInitialize_Init();

    libUIUI_gt_KillLogOnHeroUnitDies_Init();

    libUIUI_gt_KillLogOnQuestComplete_Init();

    libUIUI_gt_KillLogOnQuestMilestoneNew_Init();

    libUIUI_gt_KillLogOnQuestReset_Init();

    libUIUI_gt_KillLogItemTimerExpires_Init();

    libUIUI_gt_KillLogDebugShowPanel_Init();

    libUIUI_gt_KillLogDebugAnnounceKill_Init();

    libUIUI_gt_KillLogDebugAnnounceQuest_Init();

    libUIUI_gt_UIInitializeObserverUI_Init();

    libUIUI_gt_UIObserverUIHeroDies_Init();

    libUIUI_gt_UIObserverUIHeroRespawn_Init();

    libUIUI_gt_UIObserverUIUpdate_Init();

    libUIUI_gt_UIOnFireDEBUGEnableDisableOnFireDebug_Init();

    libUIUI_gt_UIOnFireDEBUGCycleDefenseOnFire_Init();

    libUIUI_gt_UIOnFireDEBUGCycleOffenseOnFire_Init();

    libUIUI_gt_UIOnFireDEBUGCycleUtilityOnFire_Init();

    libUIUI_gt_UIInitializePartyFrameUI_Init();

    libUIUI_gt_UIPartyFrameDeathUpdateTimerExpires_Init();

    libUIUI_gt_UIPartyFrameHeroRespawn_Init();

    libUIUI_gt_UIPartyFrameHeroHearthstoneComplete_Init();

    libUIUI_gt_UIPartyFrameXPContributionPercentage_Init();

    libUIUI_gt_UIPartyFrameHeroEntersSpecialDeathState_Init();

    libUIUI_gt_UIPartyFramePlayerRejoins_Init();

    libUIUI_gt_UIPartyFrameUnitClicked_Init();

    libUIUI_gt_UIPartyFrameTeamXPClicked_Init();

    libUIUI_gt_TeamXPPartyFrameLockoutTimerExpires_Init();

    libUIUI_gt_TeamXPPartyFramePingDecrementTimerExpiresOrder_Init();

    libUIUI_gt_TeamXPPartyFramePingDecrementTimerExpiresChaos_Init();

    libUIUI_gt_PingCountResetTimerExpires_Init();

    libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires_Init();

    libUIUI_gt_PingListenForPlayerPing_Init();

    libUIUI_gt_InitializeBaseModPingData_Init();

    libUIUI_gt_UIInitializeTabScreenPanel_Init();

    libUIUI_gt_UIInitializeTargetingHelperPanel_Init();

    libUIUI_gt_UITargetingHelperPanelUnitFrameMouseEnter_Init();

    libUIUI_gt_UITargetingHelperPanelUnitFrameMouseExit_Init();

    libUIUI_gt_UITargetingHelperPanelUpdateVisibilityForOffensiveAbilities_Init();

    libUIUI_gt_TopBarPanelInitialize_Init();

    libUIUI_gt_XPContributionPerecentage_Init();

}



//--------------------------------------------------------------------------------------------------

// Library Initialization

//--------------------------------------------------------------------------------------------------

bool libUIUI_InitLib_completed = false;



void libUIUI_InitLib () {

    if (libUIUI_InitLib_completed) {

        return;

    }



    libUIUI_InitLib_completed = true;



    libUIUI_InitLibraries();

    libUIUI_InitVariables();

    libUIUI_InitTriggers();

}



include "TriggerLibs/HeroesLib"

include "TriggerLibs/GameLib"

include "TriggerLibs/MapMechanicsLib"

include "TriggerLibs/AILib"

include "TriggerLibs/StartingExperienceLib"

include "TriggerLibs/SoundLib"

include "TriggerLibs/GameDataHelperLib"

include "TriggerLibs/SupportLib"