include "TriggerLibs/HeroesLib_h"

include "TriggerLibs/GameLib_h"



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

// Library: UI

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

// Preset Declarations

const int libUIUI_ge_FullscreenOverlayPriorities_Death = 0;

const int libUIUI_ge_FullscreenOverlayPriorities_VoidPrison = 1;

const int libUIUI_ge_FullscreenOverlayPriorities_Invulnerable = 2;

const int libUIUI_ge_FullscreenOverlayPriorities_Stasis = 3;

const int libUIUI_ge_MapMechanicsRavenCourtModes_NoActivity = 0;

const int libUIUI_ge_MapMechanicsRavenCourtModes_TributeSpawning = 1;

const int libUIUI_ge_MapMechanicsRavenCourtModes_TributeSpawned = 2;

const int libUIUI_ge_MapMechanicsRavenCourtModes_Curse = 3;

const int libUIUI_ge_MapMechanicsHauntedMinesModes_MinesTimer = 0;

const int libUIUI_ge_MapMechanicsHauntedMinesModes_Skulls = 1;

const int libUIUI_ge_MapMechanicsHauntedMinesModes_Golem = 2;

const int libUIUI_ge_MapMechanicsDragonShireModes_ShrineTimer = 0;

const int libUIUI_ge_MapMechanicsDragonShireModes_Shrines = 1;

const int libUIUI_ge_MapMechanicsDragonShireModes_Dragon = 2;

const int libUIUI_ge_MapMechanicsGardenOfTerrorModes_Day = 0;

const int libUIUI_ge_MapMechanicsGardenOfTerrorModes_Night = 1;

const int libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_Null = 0;

const int libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_Growing = 1;

const int libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_WaitToSummon = 2;

const int libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_ReadyToSummon = 3;

const int libUIUI_ge_MapMechanicsGardenOfTerrorGolemStatusText_Active = 4;

const int libUIUI_ge_KillLogItemType_Kill = 0;

const int libUIUI_ge_KillLogItemType_Quest = 1;

const int libUIUI_ge_UIPartyFrameHeroType_NormalHero = 0;

const int libUIUI_ge_UIPartyFrameHeroType_PetHero = 1;

const int libUIUI_ge_UIPartyFrameHeroType_LostVikings = 2;

const int libUIUI_ge_TutorialReferenceItem_Move = 0;

const int libUIUI_ge_TutorialReferenceItem_Attack = 1;

const int libUIUI_ge_TutorialReferenceItem_PenetratingRound = 2;

const int libUIUI_ge_TutorialReferenceItem_Inspire = 3;

const int libUIUI_ge_TutorialReferenceItem_Camera = 4;

const int libUIUI_ge_TutorialReferenceItem_Heroic = 5;

const int libUIUI_ge_TutorialReferenceItem_Mount = 6;

const int libUIUI_ge_TutorialReferenceItem_Abilities = 7;

const int libUIUI_ge_TutorialReferenceItem_Hearthstone = 8;

const int libUIUI_ge_TutorialReferenceItem_Talents = 9;

const int libUIUI_ge_UIHeroResourceType_NoShields = 0;

const int libUIUI_ge_UIHeroResourceType_Blue = 1;

const int libUIUI_ge_UIHeroResourceType_Blinking = 2;

const int libUIUI_ge_UIHeroResourceType_Yellow = 3;

const int libUIUI_ge_UIHeroResourceType_Orange = 4;

const int libUIUI_ge_UIHeroResourceType_Pink = 5;

const int libUIUI_ge_UIHeroResourceType_Grey = 6;

const int libUIUI_ge_UIHeroResourceType_Purple = 7;

const int libUIUI_ge_UIHeroResourceType_Breath = 8;

const int libUIUI_ge_UIHeroResourceType_Rage = 9;

const int libUIUI_ge_UIHeroResourceType_None = 10;



// Constants

const int libUIUI_gv_defaultRenderPriority_C = 512;

const int libUIUI_gv_defaultButtonSize_C = 120;

const int libUIUI_gv_uI_MaxBoostFrames = 3;

const int libUIUI_gv_deathRecap_DamageTakenPanelBarWidth_C = 96;

const int libUIUI_gv_deathRecap_MPercentLifeReference_C = 30;

const int libUIUI_gv_deathRecap_TotalEffectBarHeight_C = 250;

const int libUIUI_gv_deathRecap_TotalLineGraphPointHeight_C = 365;

const fixed libUIUI_gv_deathTimerPanel_AnnouncementVisibleDuration_C = 1.0;

const int libUIUI_gv_deathTimerPanel_MaxFrameCount = 10;

const fixed libUIUI_gv_deathTimerPanel_AnnouncementTransitionOutDuration_C = 0.625;

const int libUIUI_gv_deathAnnouncement_TopFrameRenderPriority_C = 600;

const int libUIUI_gv_deathAnnouncement_RenderPriorityDecrement_C = 10;

const int libUIUI_gv_deathTimerPanel_MaxBarWidth_C = 465;

const int libUIUI_gv_deathTimerPanel_BarHeight_C = 5;

const fixed libUIUI_gv_deathTimerPanel_NearRezTime_C = 2.0;

const fixed libUIUI_gv_deathTimerPanel_GroupTimeDifferentialNormal_C = 6.0;

const fixed libUIUI_gv_deathTimerPanel_GroupTimeDifferentialArena_C = 2.0;

const int libUIUI_gv_deathTimerPanel_PerLayerYOffset_C = 20;

const string libUIUI_gv_uIDebugPanelVoiceLineActor = "HeroVoiceLineActor";

const fixed libUIUI_gv_floatingCombatTextNormalDuration = 0.5;

const fixed libUIUI_gv_floatingCombatTextMediumDuration = 0.75;

const fixed libUIUI_gv_floatingCombatTextHighDuration = 1.0;

const fixed libUIUI_gv_floatingCombatTextInsaneDuration = 1.25;

const fixed libUIUI_gv_floatingCombatTextFadeDuration = 0.25;

const fixed libUIUI_gv_floatingCombatText_PercentCutoff_C = 0.0;

const int libUIUI_gv_fullscreenOverlayMaxQueueSize_C = 10;

const fixed libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimerDuration_C = 2.0;

const fixed libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimerDuration_C = 1.0;

const int libUIUI_gv_uI_HealingFountainsHelpText_ArraySize_C = 31;

const fixed libUIUI_gv_uI_HealingFountainsHelpText_HeightOffset_C = 2.0;

const int libUIUI_gv_helpButtonMaxCount_C = 10;

const string libUIUI_gv_helpButtonDataTableKey_C = "HelpButtonClickedPlayer";

const int libUIUI_gv_heroConsole_MaxAdditionalButtons_C = 7;

const int libUIUI_gv_heroConsole_MaxButtonOffset_C = 266;

const int libUIUI_gv_heroConsole_CommandButtonSize_C = 87;

const int libUIUI_gv_heroConsole_NumberOfAbilitySlots_C = 4;

const int libUIUI_gv_heroConsole_NumberOfAbilityUpgrades_C = 3;

const int libUIUI_gv_uI_MaxHeroGroupStatusFrames = 10;

const int libUIUI_gv_killCounter_NumberOfSkullPips_C = 40;

const int libUIUI_gv_mapMechanicsBlackheartsBayCannonballCount_C = 12;

const int libUIUI_gv_killLog_MaxVisibleItemsCount_D0A1 = 5;

const int libUIUI_gv_killLog_MaxItemCount_D0A1 = 6;

const int libUIUI_gv_killLog_MaxComboPortraits_D0A1 = 11;

const int libUIUI_gv_killLog_MaxComboIcons_D0A1 = 4;

const fixed libUIUI_gv_killLog_Timeout_D0A1 = libGame_gv_heroDeathMultikillTimeoutDuration;

const int libUIUI_gv_uIPartyFrameHeroIconWidth_C = 108;

const int libUIUI_gv_uIPartyFrameHeroIconHeight_C = 46;

const fixed libUIUI_gv_data_XPPercentage_UpdatePeriod_C2 = 3.0;

const fixed libUIUI_gv_data_XPPercentage_UpdatePeriod_C3 = 5.0;

const fixed libUIUI_gv_uIPartyFrameTimersUpdateDelay_C = 0.2;

const int libUIUI_gv_uIPartyFrameHeroSlot_C = 1;

const int libUIUI_gv_uIPartyFrameHeroPetSlot_C = 2;

const int libUIUI_gv_uIPartyFrameHeroSlotA_C = 1;

const int libUIUI_gv_uIPartyFrameHeroSlotB_C = 2;

const int libUIUI_gv_uIPartyFrameHeroSlotC_C = 3;

const int libUIUI_gv_teamXPPartyFrameTeamPingCap_C = 2;

const int libUIUI_gv_uI_PingMaxCount_C = 5;

const fixed libUIUI_gv_uI_PingInputSuppressionTime_C = 0.25;

const fixed libUIUI_gv_uI_PingCountResetTime_C = 4.0;

const fixed libUIUI_gv_uI_PingLockoutTime_C = 5.0;

const fixed libUIUI_gv_uI_OnMyWayPing_PathDisplayDuration = 6.0;

const int libUIUI_gv_uI_PingTargetMaxCount_C = 64;

const fixed libUIUI_gv_uITargetingHelperPanelRangeSlop = 16.0;

const fixed libUIUI_gv_data_XPPercentage_UpdatePeriod_C = 3.0;

const int libUIUI_gv_tutorialReferenceCount_Max_C = 6;



// Structures

struct libUIUI_gs_UIBoostsBoostFX {

    int[libCore_gv_bALMaxPlayers + 1] lv_frameCount;

    int[libCore_gv_bALMaxPlayers + 1][libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_boostFXAnchor;

    int[libCore_gv_bALMaxPlayers + 1][libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_boostFXAnchorFrame;

    int lv_boostPanel;

    int[libCore_gv_bALMaxPlayers + 1][libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_boostFXPanel;

};



struct libUIUI_gs_UIDamageFlashUI {

    int lv_mainDialog;

    int lv_lightSplashImage;

    int lv_intenseSplashImage;

    int lv_lowHealthPersistentImage;

};



struct libUIUI_gs_DeathRecapPanel {

    int lv_mainPanel;

    int lv_tabScreenButton;

    int lv_openDeathRecapButton;

    int lv_mainGraphLabel;

    int lv_xpValueLabel;

    int lv_highestDamagersPanel;

    int[libGame_gv_deathRecap_MaxMaxDamagersSort_C + 1] lv_highestDamagersImages;

    int[libGame_gv_deathRecap_MaxMaxDamagersSort_C + 1] lv_highestDamagersAmountLabels;

    int[libGame_gv_deathRecap_MaxMaxDamagersSort_C + 1] lv_highestDamagersHeroNameLabels;

    int[libGame_gv_deathRecap_MaxMaxDamagersSort_C + 1] lv_highestDamagersPlayerNameLabels;

    int[libGame_gv_deathRecap_MaxMaxDamagersSort_C + 1] lv_highestDamagersProgressBars;

    int[libGame_gv_deathRecap_MaxMaxDamagersSort_C + 1][libGame_gv_deathRecap_MaxMaxDamageAbilsSort_C + 1] lv_highestDamagersAbilityBars;

    int[libGame_gv_deathRecap_MaxMaxDamagersSort_C + 1][libGame_gv_deathRecap_MaxMaxDamageAbilsSort_C + 1] lv_highestDamagersAbilityBarTooltips;

    int[libGame_gv_deathRecap_MaxMaxDamagersSort_C + 1][libGame_gv_deathRecap_MaxMaxDamageAbilsSort_C + 1] lv_highestDamagersAbilityBarProgressBars;

    int[libGame_gv_deathRecap_MaxMaxDamagersSort_C + 1][libGame_gv_deathRecap_MaxMaxDamageAbilsSort_C + 1] lv_highestDamagersAbilityLabels;

    int[libGame_gv_deathRecap_MaxMaxDamagersSort_C + 1][libGame_gv_deathRecap_MaxMaxDamageAbilsSort_C + 1] lv_highestDamagersAbilAmountLabels;

    int[libGame_gv_deathRecap_MaxMaxDamagersSort_C + 1][libGame_gv_deathRecap_MaxMaxDamageAbilsSort_C + 1] lv_highestDamagersAbilityFrame;

    int lv_abilitiesPanel;

    int[libGame_gv_deathRecap_MaxEffectBars_C + 1] lv_abilitiesPanelTimeZone;

    int[libGame_gv_deathRecap_MaxEffectBars_C + 1] lv_abilitiesPanelHeroImages;

    int[libGame_gv_deathRecap_MaxEffectBars_C + 1] lv_abilitiesPanelHealthBars;

    int[libGame_gv_deathRecap_MaxEffectBars_C + 1] lv_abilitiesPanelHealingBars;

    int[libGame_gv_deathRecap_MaxEffectBars_C + 1] lv_abilitiesPanelDamageBars;

    int[libGame_gv_deathRecap_MaxEffectBars_C + 1] lv_abilitiesPanelHealthBarIcons;

    int[libGame_gv_deathRecap_MaxEffectBars_C + 1] lv_abilitiesPanelHealthBarIconBorders;

    int[libGame_gv_deathRecap_MaxEffectBars_C + 1] lv_abilitiesPanelEventCountLabels;

    int[libGame_gv_deathRecap_MaxEffectBars_C + 1] lv_abilitiesPanelHealthBarTimeLabels;

    int lv_abilitiesPanelStartingHealthLabels;

    int[libGame_gv_deathRecap_MaxEffectBars_C + 1] lv_abilitiesPanelTooltipFrame;

};



struct libUIUI_gs_DeathTimerPanel {

    int[libCore_gv_bALMaxTeams + 1] lv_mainPanel;

    int[libCore_gv_bALMaxTeams + 1] lv_timerBar;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_timerBarHeroFrame;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_timerBarHeroFramePortraitImage;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_timerBarHeroFrameTimeLabel;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_timerBarHeroFrameHeroNameLabel;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_timerBarDarkBargainBorder;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_timerBarAurielResurrectProgressBar;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_timerBarAurielResurrectLabel;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_timerBarZergRebirthProgressBar;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_timerBarZergRebirthLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_announcementPanel;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_announcementHeroFrame;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_announcementHeroFrameNameLabel;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_announcementHeroFrameKillersLabel;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_announcementHeroFramePortraitImage;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_announcementHeroFrameBorderImageFaded;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_announcementHeroFrameBorderImageBright;

    int[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_announcementHeroFrameCrossImage;

};



struct libUIUI_gs_DeathAnnouncement {

    int lv_deathAnnouncementPlayer;

    string lv_deathAnnouncementPortrait;

    unit lv_deathAnnouncementUnit;

    text lv_deathAnnouncementUnitName;

    bool lv_deathAnnouncementHeroFrameInUse;

    timer lv_deathAnnouncementDeathTimer;

};



struct libUIUI_gs_DeathTimerFrame {

    int lv_deathTimerFramePlayer;

    string lv_deathTimerFramePortrait;

    unit lv_deathTimerFrameUnit;

    text lv_deathTimerFrameUnitName;

    timer lv_deathTimerFrameDeathTimer;

};



struct libUIUI_gs_DeathTimerGroup {

    int lv_frameCount;

    int[libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] lv_frames;

    bool[libCore_gv_bALMaxPlayers + 1] lv_slideOut;

};



struct libUIUI_gs_UIDebugPanel {

    int lv_mainDialog;

    int lv_closeButton;

    int lv_page1Button;

    int lv_page2Button;

    int lv_kIllDebugButton;

    int lv_generalControlsFrame;

    int lv_heroControlsFrame;

    int lv_lootContentSoundSpawnerFrame;

    int lv_lootContentModelSpawnerFrame;

    int lv_refreshCooldownsButton;

    int lv_selectionEnabledCheckbox;

    int lv_startGameButton;

    int lv_spawnCreepCampsButton;

    int lv_forceMinionWaveCompCheckbox;

    int lv_forceMinionWaveCompDropdown;

    int lv_disableMinionSpawningCheckbox;

    int lv_disableTrickleXPCheckbox;

    int lv_floatingCombatTextCheckbox;

    int lv_enableAllFloatingCombatTextCheckbox;

    int lv_respecHeroButton;

    int lv_playerLabel;

    int lv_playerSlider;

    int lv_levelLabel;

    int lv_levelSlider;

    int lv_useCurrentXPCheckbox;

    int lv_spawnHeroButton;

    int lv_allHeroesCheckbox;

    int lv_spawnAtCameraCheckbox;

    int lv_savedHeroCheckbox;

    int lv_heroDropdown;

    int lv_skinDropdown;

    int lv_mountTypeDropdown;

    int lv_mountBaseDropdown;

    int lv_mountVariationDropdown;

    int lv_sprayDropdown;

    int lv_bannerDropdown;

    int lv_announcerPackDropdown;

    int lv_voiceLineDropdown;

    int lv_lootContentsSetButton;

    int lv_announcerRadioDropdown;

    int lv_voiceLineRadioHeroDropdown;

    int lv_soundVOList;

    int lv_soundVOPlayButton;

    int lv_announcerRadio;

    int lv_voiceLineRadio;

    int lv_soundVOAddButton;

    int lv_soundVOClearButton;

    int lv_soundVODelayEditor;

    int lv_soundVOPlayList;

    int lv_metaXPEditBox;

    int lv_metaXPSendButton;

    int lv_xPLabel;

    int lv_playerNumber;

};



struct libUIUI_gs_UIEndofMatchAwardsMainPanel {

    int lv_mainPanel;

    int lv_skipButton;

    int lv_exitButton;

    int lv_secondaryContainer;

    int lv_secondaryCutscenesContainer;

    int lv_mVPSecondaryPlayerName;

    int lv_mVPSecondaryPlayerBoostIcon;

    int lv_mVPSecondaryHeroName;

    int lv_mVPSecondaryHeading;

    int lv_mVPSecondarySeparatorImage_Blue;

    int lv_mVPSecondarySeparatorImage_Red;

    int lv_mVPSecondaryAwardIcon;

    int lv_voterButton;

    int lv_voterButtonLabel;

};



struct libUIUI_gs_UIEndofMatchAwardsMVPPanel {

    int lv_statsPanel;

    int lv_mVPHeading;

    int lv_heroNameLabel;

    int lv_playerNameLabel;

    int lv_mVPStat1ValueLabel;

    int lv_mVPStat1NameLabel;

    int lv_mVPStat2ValueLabel;

    int lv_mVPStat2NameLabel;

    int lv_mVPStat3ValueLabel;

    int lv_mVPStat3NameLabel;

    int lv_mVPStat4ValueLabel;

    int lv_mVPStat4NameLabel;

    int lv_killsLabel;

    int lv_killsValueLabel;

    int lv_assistsLabel;

    int lv_assistsValueLabel;

    int lv_deathsLabel;

    int lv_deathsValueLabel;

};



struct libUIUI_gs_UIEndofMatchAwardsSecondaryPanel {

    int lv_panelContainer;

    int lv_awardTitleLabel;

    int lv_awardStatLabel;

    int lv_awardTooltipHitbox;

    int lv_awardIcon;

    int lv_heroNameLabel;

    int lv_playerNameLabel;

    int lv_playerBoostIcon;

    int lv_heroCutscene;

    int lv_BannerCutscne;

    int lv_voterButton;

    int lv_voterButtonLabel;

    int lv_voteCount;

    int lv_badgeRowNumber;

};



struct libUIUI_gs_VignetteOverlayPanel {

    int lv_mainDialog;

    int lv_overlayCutscene;

};



struct libUIUI_gs_FullscreenOverlayPanelRework {

    int lv_mainDialog;

    int lv_overlayCutscene;

};



struct libUIUI_gs_FullscreenOverlayQueue {

    string[libUIUI_gv_fullscreenOverlayMaxQueueSize_C + 1] lv_cutscene;

    int lv_numberOfItemsInQueue;

    int[libUIUI_gv_fullscreenOverlayMaxQueueSize_C + 1] lv_priority;

    string[libUIUI_gv_fullscreenOverlayMaxQueueSize_C + 1] lv_behavior;

};



struct libUIUI_gs_CargoOverlay {

    int[libCore_gv_bALMaxPlayers + 1] lv_cargoOverlay;

    int[libCore_gv_bALMaxPlayers + 1] lv_cargoOverlay_Cutscene;

    timer[libCore_gv_bALMaxPlayers + 1] lv_cargoOverlay_FilterTimer;

};



struct libUIUI_gs_FullscreenOverlaysPanel {

    int lv_mainDialog;

    int lv_cCSplashImage;

    int lv_flashBangImage;

    int lv_abathurSymbioteOverlay;

    int lv_deathOverlay;

    int lv_specialOverlay;

};



struct libUIUI_gs_GameOverSplash {

    int lv_mainPanel;

    int lv_victoryFrame;

    int lv_defeatFrame;

    int lv_defeatLabel;

};



struct libUIUI_gs_UIGameUIHandles {

    int lv_fullscreenUpperContainer;

    int lv_consoleUIContainer;

    int lv_consolePanel;

    int lv_mapMechanicButton;

    int lv_talentsButton;

    int lv_gameMenuButton;

    int lv_minimapPanel;

    int lv_gameUIContainer;

    int lv_helpButton;

    int lv_targetInfoPanel;

};



struct libUIUI_gs_HealingFountainHelperTags {

    int lv_textTag;

    unit lv_healingFountain;

};



struct libUIUI_gs_UIHeroConsole {

    int lv_mainPanel;

    int lv_buffDebuffPanel;

    int lv_buffBar;

    int lv_debuffBar;

    int lv_heroStatsFrame;

    int lv_heroStatsUnitStatusFrame;

    int lv_heroStatsHealthBar;

    int lv_heroStatsManaBar;

    int lv_heroStatsFuryStatFrame;

    int lv_heroStatsBrewStatFrame;

    int lv_heroStatsBreathStatFrame;

    int lv_heroStatsRageStatFrame;

    int lv_heroStatsEnergyStatFrame;

    int lv_heroStatsNoEnergyStatFrame;

    int lv_heroStatsNoEnergyNoShieldStatFrame;

    int lv_heroStatsBlinkingEnergyStatFrame;

    int lv_gameUIPortrait;

    int lv_gameUICommandCardPanelFrame;

    int lv_gameUIOnFire;

};



struct libUIUI_gs_HeroConsoleUnitStatusBars {

    int lv_stunDeathBarParentFrame;

    int lv_stunDeathBarLeftBar;

    int lv_stunDeathBarRightBar;

    int lv_stunDeathBarIcon;

    int lv_stunDeathBarDescriptionLabel;

    int lv_stunDeathBarTimeLabel;

    int lv_castChannelBarParentFrame;

    int lv_behaviorChannelBarParentFrame;

    int lv_behaviorChannelBarParentFrameRight;

    int lv_behaviorChannelBarDurationBar;

    int lv_behaviorChannelBarDurationBarRight;

    int lv_behaviorChannelBarBehaviorLabel;

    int lv_behaviorChannelBarBehaviorLabelRight;

};



struct libUIUI_gs_UIHeroBehaviorStates {

    bool[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_unstoppableActive;

    bool[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_resistantActive;

    bool[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_vulnerableActive;

    bool[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_invulnerableActive;

    bool[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_dimmedActive;

    bool[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_invincibleActive;

};



struct libUIUI_gs_UIHeroStatusFrame {

    int lv_unitCount;

    unit[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_unit;

    int[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_botDifficultyLabel;

    int[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_botStatusLabel;

    int[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_unitHealthBarResistant;

    int[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_unitHealthBarVulnerable;

    int[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_unitHealthBarDimmed;

    int[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_unitHealthBarInvincible;

    int[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_invulnerableImage;

    int[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_resistantImage;

    int[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_unstoppableImage;

    int[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_onFireCutscene;

};



struct libUIUI_gs_UIHeroTrackerArrows {

    int lv_unitCount;

    unit[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_unit;

    int lv_mainPanel;

    int[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_offscreenUnit;

    int[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_arrow;

    int[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_portraitImage;

    int[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_portraitImageOverride;

    int[libUIUI_gv_uI_MaxHeroGroupStatusFrames + 1] lv_portraitCutscene;

};



struct libUIUI_gs_KillCounterPanel {

    int lv_mainPanel;

    int[libUIUI_gv_killCounter_NumberOfSkullPips_C + 1] lv_skullPips;

};



struct libUIUI_gs_MMCountsPanel {

    int[libCore_gv_bALMaxTeams + 1] lv_teamScore;

};



struct libUIUI_gs_MapMechanicsPanel {

    int lv_mainPanel;

    int lv_ravenCourtPanel;

    int lv_ravenCourtTributeSpawnFrame;

    int lv_ravenCourtTributeSpawnInfoLabel;

    int lv_ravenCourtTributeSpawnTimerLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_ravenCourtTeamTributeFrame;

    int[libCore_gv_bALMaxTeams + 1] lv_ravenCourtTeamTributeCounterLabel;

    int lv_ravenCourtCurseFrame;

    int lv_ravenCourtCurseInfoLabel;

    int lv_ravenCourtCurseTimerLabel;

    int lv_ravenCourtCurseAttentionEffectFrame;

    int lv_blackheartsBayPanel;

    int lv_blackheartsBayChestSpawnFrame;

    int lv_blackheartsBayDoubloonModeFrame;

    int[libCore_gv_bALMaxTeams + 1] lv_blackheartsBayDoubloonCounterLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_blackheartsBayHeldDoubloonCounterLabel;

    int lv_blackheartsBayCannonModeFrame;

    int lv_blackheartsBayCannonRemainingCannonballsLabel;

    int[libUIUI_gv_mapMechanicsBlackheartsBayCannonballCount_C + 1] lv_blackheartsBayCannonCannonballImages;

    int[libCore_gv_bALMaxTeams + 1] lv_blackheartsBayCannonShotCounterLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_blackheartsBayDoubloonTurninReadyGlow;

    int lv_hauntedMinesPanel;

    int lv_hauntedMinesSkullModeFrame;

    int lv_hauntedMinesSkullModeRemainingSkullsLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_hauntedMinesSkullModeSkullCounterLabel;

    int lv_hauntedMinesMineTimerModeFrame;

    int lv_hauntedMinesMineOpenLabel;

    int lv_hauntedMinesMineTimerLabel;

    int lv_hauntedMinesGolemModeFrame;

    int lv_hauntedMinesAllyGolemHealthUnitStatus;

    int lv_hauntedMinesEnemyGolemHealthUnitStatus;

    int lv_hauntedMinesAllyGolemModeSkullCounterLabel;

    int lv_hauntedMinesEnemyGolemModeSkullCounterLabel;

    int lv_dragonShirePanel;

    int lv_dragonShireShrineTimerModeFrame;

    int lv_dragonShireShrineTimerLabel;

    int lv_dragonShireShrineModeFrame;

    int[libCore_gv_bALMaxTeams + 1] lv_dragonShireMoonShrineDisabledImage;

    int[libCore_gv_bALMaxTeams + 1] lv_dragonShireMoonShrineEnabledImage;

    int[libCore_gv_bALMaxTeams + 1] lv_dragonShireStarShrineDisabledImage;

    int[libCore_gv_bALMaxTeams + 1] lv_dragonShireStarShrineEnabledImage;

    int lv_dragonShireDragonModeFrame;

    int lv_dragonShireDragonInfoLabel;

    int lv_dragonShireDragonTimerLabel;

    int lv_dragonShireDragonHealthUnitStatus;

    int lv_dragonShireDragonHealthLabel;

    int lv_gardenOfTerrorPanel;

    int lv_gardenOfTerrorSeedsFrame;

    int[libCore_gv_bALMaxTeams + 1] lv_gardenOfTerrorSeedsFrameSeedCounterLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_gardenOfTerrorSeedsFrameStatusLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_gardenOfTerrorSeedsFrameStatusLabelFlashGold;

    int[libCore_gv_bALMaxTeams + 1] lv_gardenOfTerrorSeedsFrameStatusLabelFlashRed;

    int[libCore_gv_bALMaxTeams + 1] lv_gardenOfTerrorSeedsFrameCountdownLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_gardenOfTerrorSeedsFrameCountdownLabelGold;

    int[libCore_gv_bALMaxTeams + 1] lv_gardenOfTerrorSeedsFrameCountdownLabelRed;

    int[libCore_gv_bALMaxTeams + 1] lv_gardenOfTerrorSeedsFrameBlueSeedImage;

    int[libCore_gv_bALMaxTeams + 1] lv_gardenOfTerrorSeedsFrameRedSeedImage;

    int lv_gardenOfTerrorTimeOfDayFrame;

    int lv_gardenOfTerrorTimeOfDayCountdownLabel;

    int lv_gardenOfTerrorGolemFrame;

    int lv_gardenOfTerrorGolemFrameAllyGolemHealthUnitStatus;

    int lv_gardenOfTerrorGolemFrameEnemyGolemHealthUnitStatus;

    int lv_gardenOfTerrorGolemFrameAllyGolemStatusLabel;

    int lv_gardenOfTerrorGolemFrameEnemyGolemStatusLabel;

    int lv_gardenOfTerrorGolemFrameAllyGolemTimerLabel;

    int lv_gardenOfTerrorGolemFrameEnemyGolemTimerLabel;

};



struct libUIUI_gs_MapMechanicHelpPanel {

    int lv_mainPanel;

    int lv_helpText;

    int lv_closeButton;

};



struct libUIUI_gs_NotificationDisplay {

    int lv_mainPanel;

    int lv_multikillTimerCountdownImage;

    int lv_multikillTimerTitleLabel;

    int lv_multikillTimerNumberLabel;

    int lv_standardNotificationTitle;

    int lv_standardNotificationSubLabel;

    int lv_enemyNotificationTitle;

    int lv_enemyNotificationSubLabel;

    int lv_tutorialNotificationTitle;

    int lv_tutorialNotificationSubLabel;

    int lv_singleKillNotificationTitle;

    int lv_singleKillNotificationSubLabel;

    int lv_doubleKillNotificationTitle;

    int lv_doubleKillNotificationSubLabel;

    int lv_tripleKillNotificationTitle;

    int lv_tripleKillNotificationSubLabel;

    int lv_quadKillNotificationTitle;

    int lv_quadKillNotificationSubLabel;

    int lv_MegaKillNotificationTitle;

    int lv_MegaKillNotificationSubLabel;

    int lv_MegaKillNotificationTitle2;

    int lv_MegaKillNotificationSubLabel2;

    int lv_MegaKillNotificationSubLabel3;

};



struct libUIUI_gs_KillLogItem {

    unit lv_Unit;

    int lv_player;

    timer lv_timer;

    int lv_frame;

    int lv_combo;

    int lv_type;

};



struct libUIUI_gs_KillLogQuestArray {

    string[libUIUI_gv_killLog_MaxComboIcons_D0A1 + 1] lv_quests;

};



struct libUIUI_gs_KillLogDebugPanel {

    int lv_mainPanel;

    int lv_closeButton;

    int[libCore_gv_bALMaxEnginePlayerCount + 1] lv_killButtons;

    int[libCore_gv_bALMaxPlayers + 1] lv_questButtons;

    int lv_killCheckbox;

    int lv_questCheckbox;

};



struct libUIUI_gs_UIObserverUI {

    int lv_mainPanel;

    int lv_topPanel;

    int lv_observerTimer;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroPanels;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroPortraitImages;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroTargetFrames;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroStatusBars;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroDeathTimeLabels;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroTopTalents;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroExtendedDeathIcon;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroCondensedDeathIcon;

    int[libCore_gv_bALMaxTeams + 1] lv_teamTownsLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_teamLevelLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_coreHealthUnitStatusFrames;

};



struct libUIUI_gs_UIPartyFrame {

    int lv_mainPanel;

    int[libCore_gv_bALMaxTeams + 1] lv_teamHeroPanel;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroPanels;

    int[libCore_gv_bALMaxPlayers + 1][libCore_gv_dataHeroesMaxAlternateHeroes + 1] lv_heroPortraitImages;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroTargetFrames;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroStatusBarsDefault;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroStatusBarsOrange;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroStatusBarsBreath;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroStatusBarsRage;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroStatusBarsYellow;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroStatusBarsPink;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroStatusBarsNoResource;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroStatusBarsRespawn;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroStatusBarsSeparateShields;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroStatusFrameHeroWithPet;

    int[libCore_gv_bALMaxPlayers + 1][libCore_gv_dataHeroesMaxAlternateHeroes + 1] lv_heroStatusBarsHeroWithPet;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroStatusFrameLostVikings;

    int[libCore_gv_bALMaxPlayers + 1][libCore_gv_dataHeroesMaxAlternateHeroes + 1] lv_heroStatusBarsLostVikings;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroHeroicTalentPanel;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroHeroicIcon;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroHeroicTalentReadyIcon;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroHeroicTalentProgressBar;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroHeroicCooldownLabel;

    string[libCore_gv_bALMaxPlayers + 1] lv_heroHeroicAbility;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroExtendedDeathIcon;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroCondensedDeathIcon;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroOnFireCutscene;

    int[libCore_gv_bALMaxPlayers + 1] lv_playerBoostEffect;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroPartyButton;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroPartyButtonPetowner;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroPartyButtonPet;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroPartyButtonA;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroPartyButtonB;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroPartyButtonC;

    unit[libCore_gv_bALMaxPlayers + 1][libCore_gv_dataHeroesMaxAlternateHeroes + 1] lv_heroUnits;

    timer[libCore_gv_bALMaxPlayers + 1] lv_heroPetDeathTimer;

    timer[libCore_gv_bALMaxPlayers + 1][libCore_gv_dataHeroesMaxAlternateHeroes + 1] lv_heroVikingsDeathTimers;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroDeathTimeOverlay;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroDeathTimeLabel;

    int[libCore_gv_bALMaxPlayers + 1] lv_heroDeathTimePetLabel;

    int[libCore_gv_bALMaxPlayers + 1][libCore_gv_dataHeroesMaxAlternateHeroes + 1] lv_heroDeathTimeVikingLabels;

    bool[libCore_gv_bALMaxPlayers + 1][libCore_gv_dataHeroesMaxAlternateHeroes + 1] lv_heroDeathRespawnReminderSent;

    bool[libCore_gv_bALMaxPlayers + 1] lv_heroDeathInSpecialDeathState;

    int lv_gameTimerLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_teamLevelInfoPanel;

    int[libCore_gv_bALMaxTeams + 1] lv_teamLevelLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_teamNextLevelTalentIcon;

    int[libCore_gv_bALMaxTeams + 1] lv_teamNextLevelNoTalentIcon;

    int[libCore_gv_bALMaxTeams + 1] lv_teamTalentAdvantageIcon;

    bool[libCore_gv_bALMaxTeams + 1] lv_teamHasHeroes;

    int[libCore_gv_bALMaxTeams + 1] lv_coreHealthUnitStatusFrames;

    int lv_coreHealthLabel;

    int lv_xPContributionClickableButton;

    int[libCore_gv_bALMaxTeams + 1] lv_xPContributionPopup;

    int[libCore_gv_bALMaxTeams + 1] lv_heroXPContributionLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_mercenaryXPContributionLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_minionXPContributionLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_passiveXPContributionLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_structureXPContributionLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_totalXPContributionLabel;

};



struct libUIUI_gs_PingTarget {

    string lv_unitType;

    bool lv_pingIsForOccupiedVehicle;

    text lv_targetNameOverride;

    text lv_textMessageAlliedTarget;

    text lv_textMessageEnemyTarget;

    soundlink lv_pingSoundAlliedTarget;

    soundlink lv_pingSoundEnemyTarget;

    int lv_heroVOLineAlliedTarget;

    int lv_heroVOLineEnemyTarget;

    int lv_heroVOLineHumanPingingPlayer;

    int lv_heroVOLineAIPingingPlayer;

    trigger lv_customPingResponseTrigger;

};



struct libUIUI_gs_UITabScreenPlayerStats {

    int lv_damageTakenStat;

    int lv_kills;

    int lv_assists;

    int lv_siegeDamage;

    int lv_heroDamage;

    int lv_healingStat;

    int lv_xPContribution;

};



struct libUIUI_gs_UITabScreenPanel {

    int lv_mainPanel;

    int lv_tabControl;

    libUIUI_gs_UITabScreenPlayerStats[libCore_gv_bALMaxPlayers + 1] lv_tabScreenPlayerStats;

};



struct libUIUI_gs_UITargetingHelperPanel {

    int lv_mainPanel;

    int[libCore_gv_bALMaxPlayersOnATeam + 1] lv_heroFrames;

    int[libCore_gv_bALMaxPlayersOnATeam + 1] lv_heroIcons;

    int[libCore_gv_bALMaxPlayersOnATeam + 1] lv_heroBorderImages;

    int[libCore_gv_bALMaxPlayersOnATeam + 1] lv_heroTargetFrames;

    int[libCore_gv_bALMaxPlayersOnATeam + 1] lv_heroStatusFrames;

};



struct libUIUI_gs_TopBarPanel {

    int lv_mainPanel;

    int lv_gameTimerLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_xPBackgroundBlue;

    int[libCore_gv_bALMaxTeams + 1] lv_xPBackgroundRed;

    int[libCore_gv_bALMaxTeams + 1] lv_xPUnitStatusFrame;

    int[libCore_gv_bALMaxTeams + 1] lv_xPVeterancyBar;

    int[libCore_gv_bALMaxTeams + 1] lv_levelLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_levelUpLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_coreHealthUnitStatusFrames;

    int lv_coreHealthLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_coreHealthPercentLabels;

    int[libCore_gv_bALMaxTeams + 1] lv_xPContributionPopup;

    int[libCore_gv_bALMaxTeams + 1] lv_heroXPContributionLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_mercenaryXPContributionLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_minionXPContributionLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_passiveXPContributionLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_structureXPContributionLabel;

    int[libCore_gv_bALMaxTeams + 1] lv_totalXPContributionLabel;

};



// Variable Declarations

timer libUIUI_gv_uITimeLabelUpdateTimer;

libUIUI_gs_UIHeroStatusFrame[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_lostVikingsDebuggingLabels;

libUIUI_gs_UIBoostsBoostFX libUIUI_gv_uIBoosts;

int libUIUI_gv_uI_BoostFXVisibilityTime;

libUIUI_gs_UIDamageFlashUI libUIUI_gv_uIDamageFlashUI;

fixed libUIUI_gv_uIDamageFlashLowHPThreshold;

libUIUI_gs_DeathRecapPanel libUIUI_gv_deathRecap_Panel;

libUIUI_gs_DeathTimerPanel libUIUI_gv_deathTimerPanel;

int libUIUI_gv_deathTimerPanelIndex;

timer[libCore_gv_bALMaxTeams + 1] libUIUI_gv_deathAnnouncement_AnnouncementVisibleTimers;

int[libCore_gv_bALMaxTeams + 1] libUIUI_gv_deathAnnouncement_TopMostHeroFrame;

int[libCore_gv_bALMaxTeams + 1] libUIUI_gv_deathAnnouncement_NextHeroFrameToUse;

bool[libCore_gv_bALMaxTeams + 1][libCore_gv_bALMaxPlayers + 1] libUIUI_gv_deathAnnouncement_HeroFrameInUse;

int[libCore_gv_bALMaxTeams + 1] libUIUI_gv_deathAnnouncement_VisibleHeroFrameCount;

libUIUI_gs_DeathAnnouncement[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] libUIUI_gv_deathAnnouncement_HeroesAssignedToFrame;

libUIUI_gs_DeathTimerFrame[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] libUIUI_gv_deathTimerPanel_HeroesAssignedToFrame;

libUIUI_gs_DeathTimerGroup[libCore_gv_bALMaxTeams + 1][libUIUI_gv_deathTimerPanel_MaxFrameCount + 1] libUIUI_gv_deathTimerPanel_TimerGroups;

bool libUIUI_gv_deathTimerPane_Enabled;

bool[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_uIDebugPanelDisableRangeCheck;

bool libUIUI_gv_uIDebugPanelForceMinionWaveComp;

int libUIUI_gv_uIDebugPanelForcedMinionWaveCompIndex;

int libUIUI_gv_uIDebugPanelDebugMetaXPValue;

bool libUIUI_gv_uIDebugPanelSpawnAtCamera;

bool libUIUI_gv_uIDebugPanelSavedHero;

bool libUIUI_gv_uIDebugPanelShowAllCombatText;

bool libUIUI_gv_uIDebugPanelDisableMinionSpawningToggle;

bool libUIUI_gv_uIDebugPanelDisableTrickleXPToggle;

bool libUIUI_gv_uIDebugPanelFloatingCombatTextToggle;

string[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_uIDebugPanelMapAnnouncerPack;

string libUIUI_gv_uIDebugPanelUseMapAnnouncerPackID;

bool[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_uIDebugPanelClearVoiceLineOnDebugSpawn;

bool[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_uIDebugPanelSelectedAnnouncerRadio;

libUIUI_gs_UIDebugPanel libUIUI_gv_uIDebugPanel;

libUIUI_gs_UIEndofMatchAwardsMainPanel libUIUI_gv_EndofGameAwardsPanel;

libUIUI_gs_UIEndofMatchAwardsMVPPanel libUIUI_gv_uIMVPWinnerPanel;

libUIUI_gs_UIEndofMatchAwardsSecondaryPanel[6] libUIUI_gv_uIMVPSecondaryPanels;

bool[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_uIEndOfMatchAwardsPlayerHasVoted;

bool libUIUI_gv_uIEndOfMatchAwardsAnyVoteCast;

bool libUIUI_gv_uIEndOfMatchAwardsMVPSequenceEnded;

bool libUIUI_gv_uIEndOfMatchAwardsObserverHasSkipped;

bool[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_uIEndOfMatchAwardsPlayerHasSkipped;

bool libUIUI_gv_floatingCombatText_SuppressLeashingText;

libUIUI_gs_VignetteOverlayPanel libUIUI_gv_vignetteOverlayPanel;

libUIUI_gs_FullscreenOverlayPanelRework libUIUI_gv_fullscreenOverlaysPanelRework;

libUIUI_gs_FullscreenOverlayQueue[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_fullscreenOverlayQueue;

libUIUI_gs_CargoOverlay libUIUI_gv_cargoOverlay;

timer[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_fullscreenOverlaysDeathOverlayHideTimer;

timer[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_fullscreenOverlaysSpecialOverlayHideTimer;

libUIUI_gs_FullscreenOverlaysPanel libUIUI_gv_fullscreenOverlaysPanel;

libUIUI_gs_GameOverSplash libUIUI_gv_gameOverSplash;

libUIUI_gs_UIGameUIHandles libUIUI_gv_uIGameUIHandles;

libUIUI_gs_HealingFountainHelperTags[libCore_gv_bALMaxTeams + 1][libUIUI_gv_uI_HealingFountainsHelpText_ArraySize_C + 1] libUIUI_gv_uIHealingFountainsHelpText;

bool[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_uIHealingFountainsHelpTextHasFountainBeenUsed;

bool libUIUI_gv_uIHealingFountainsHelpTextShowTextTagforTutorial;

bool[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_uIHealingFountainsHelpTextTextShowing;

bool libUIUI_gv_uIHealingFountainsHelpTextEnabled;

int[libUIUI_gv_helpButtonMaxCount_C + 1] libUIUI_gv_helpButtonFrames;

int[libUIUI_gv_helpButtonMaxCount_C + 1] libUIUI_gv_helpButtonLabels;

trigger[libUIUI_gv_helpButtonMaxCount_C + 1] libUIUI_gv_helpButtonCallbacks;

unit[libUIUI_gv_helpButtonMaxCount_C + 1] libUIUI_gv_helpButtonUnits;

int libUIUI_gv_helpButtonCount;

libUIUI_gs_UIHeroConsole libUIUI_gv_uIHeroConsole;

libUIUI_gs_HeroConsoleUnitStatusBars libUIUI_gv_heroConsoleUnitStatusBars;

bool[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_heroConsoleUnitStatusBars_PlayerIsCasting;

unit[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_heroConsoleUnitStatusBars_CurrentUnitForPlayer;

string[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_heroConsoleUnitStatusBars_StunDeathBarCurrentBehaviorForPlayer;

string[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayer;

string[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_heroConsoleUnitStatusBars_BehaviorChannelBarCurrentBehaviorForPlayerRight;

bool libUIUI_gv_heroicsObtainedAutomatedTeamNotificationsAllowed;

bool[libCore_gv_bALMaxTeams + 1] libUIUI_gv_teamHasAlreadyAnnouncedHeroics;

int libUIUI_gv_fullscreenStatusPanel;

int libUIUI_gv_heroSpecificStatusContainer;

int libUIUI_gv_heroSpecificFullUIModContainer;

bool libUIUI_gv_useStatusFrames;

libUIUI_gs_UIHeroBehaviorStates[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_uIHeroBehaviorStates;

libUIUI_gs_UIHeroStatusFrame[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_uIHeroStatusFrames;

libUIUI_gs_UIHeroTrackerArrows libUIUI_gv_uIHeroTrackerArrows;

libUIUI_gs_KillCounterPanel libUIUI_gv_killCounter_Panel;

libUIUI_gs_MMCountsPanel libUIUI_gv_mMCountsPanel;

libUIUI_gs_MapMechanicsPanel libUIUI_gv_mapMechanicsPanel;

int[libCore_gv_bALMaxTeams + 1] libUIUI_gv_mapMechanicsGardenOfTerrorLastSeedFrameStatus;

bool[libCore_gv_bALMaxTeams + 1] libUIUI_gv_mapMechanicsGardenOfTerrorGolemSummonPossible;

int[libCore_gv_bALMaxTeams + 1] libUIUI_gv_mapMechanicsGardenOfTerrorSeedStatusTextFlashLevel;

libUIUI_gs_MapMechanicHelpPanel libUIUI_gv_mapMechanicHelpPanel;

libUIUI_gs_NotificationDisplay libUIUI_gv_notificationDisplay;

int libUIUI_gv_killLog_TopOffset_D0A1;

int libUIUI_gv_killLogPanel;

libUIUI_gs_KillLogItem[libUIUI_gv_killLog_MaxItemCount_D0A1 + 1] libUIUI_gv_killLogItems;

libUIUI_gs_KillLogQuestArray[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_killLogQuestResetCache;

libUIUI_gs_KillLogDebugPanel libUIUI_gv_killLogDebugPanel;

libUIUI_gs_UIObserverUI libUIUI_gv_uIObserverUI;

int libUIUI_gv_uIOnFireDEBUGDefenseOnFireLevel;

int libUIUI_gv_uIOnFireDEBUGOffenseOnFireLevel;

int libUIUI_gv_uIOnFireDEBUGUtilityOnFireLevel;

bool libUIUI_gv_uIOnFireDEBUGOnFireDebugEnabled;

bool libUIUI_gv_uIOnFireOnFireDisplayEnabled;

libUIUI_gs_UIPartyFrame libUIUI_gv_uIPartyFrame;

timer libUIUI_gv_uIPartyFrameDeathUpdateTimer;

int[libCore_gv_bALMaxTeams + 1] libUIUI_gv_uIPartyFrameMaxLevelForTeam;

int[libCore_gv_bALMaxTeams + 1] libUIUI_gv_teamXPPartyFrameTeamTalentTier;

timer[libCore_gv_bALMaxTeams + 1] libUIUI_gv_teamXPPartyFrameDecrementPingCountTimer;

timer[libCore_gv_bALMaxTeams + 1] libUIUI_gv_teamXPPartySpamLockoutTimer;

int[libCore_gv_bALMaxTeams + 1] libUIUI_gv_teamXPPartySpamCounter;

timer[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_pingInputSuppressionTimer;

timer[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_pingCountResetTimer;

timer[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_pingLockoutTimer;

timer[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_hearthPingTextLockoutTimer;

timer[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_onMyWayPingPathDisplayTimer;

int[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_pingCount;

int[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_hearthStonePing;

libUIUI_gs_PingTarget[libUIUI_gv_uI_PingTargetMaxCount_C + 1] libUIUI_gv_ping_PingTargets;

int libUIUI_gv_ping_PingTargetCount;

int[11] libUIUI_gv_ping_PlayerHearth;

int libUIUI_gv_ping_PingCallbackPingingPlayer;

unit libUIUI_gv_ping_PingCallbackTargetUnit;

libUIUI_gs_UITabScreenPanel libUIUI_gv_uITabScreenPanel;

int libUIUI_gv_uITargetingHelperPanelNumberOfPlayersUsingPanel;

bool[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_uITargetingHelperPanelPlayerIsTargetingOffensiveAbility;

int[libCore_gv_bALMaxPlayers + 1] libUIUI_gv_uITargetingHelperPanelNumberOfTargetUnitsForPlayer;

unit[libCore_gv_bALMaxPlayers + 1][libCore_gv_bALMaxPlayersOnATeam + 1] libUIUI_gv_uITargetingHelperPanelTargetUnitsForPlayer;

libUIUI_gs_UITargetingHelperPanel libUIUI_gv_uITargetingHelperPanel;

libUIUI_gs_TopBarPanel libUIUI_gv_topBarPanel;

int libUIUI_gv_tutorialReferenceShowHelp;

int libUIUI_gv_tutorialReferencePanel;

int libUIUI_gv_tutorialPanelHighlightFrame;

int[7] libUIUI_gv_tutorialReferenceLabels;

int libUIUI_gv_tutorialReferenceCount;



// Function Declarations

void libUIUI_gf_UISetDialogItemToSelectedOrObserved (int lp_dialogItem);

void libUIUI_gf_UIUpdateTimeLabels ();

fixed libUIUI_gf_HeroesGameTime ();

void libUIUI_gf_UIDEBUGBoostsInitializeBoostFXforPlayers (int lp_player);

void libUIUI_gf_UIBoostsInitializeBoostFXforPlayers (int lp_player);

void libUIUI_gf_UIBoostsInitializeBoostFX (int lp_player, unit lp_heroUnit);

void libUIUI_gf_UIBoostsInitializeBoostFXforChoGallPlayers (int lp_player);

void libUIUI_gf_UIBoostsShowBoostFXFrames ();

void libUIUI_gf_UIBoostsDestroyBoostFXFrames ();

void libUIUI_gf_InitPathingLines (unit lp_unit, int lp_player);

void libUIUI_gf_UIDamageFlashStartLowHPSoundAndScreenEffects (int lp_player);

void libUIUI_gf_UIDamageFlashStopLowHPSoundAndScreenEffects (int lp_player);

void libUIUI_gf_UILowHPSetSoundChannelsForLowHealth (int lp_player);

void libUIUI_gf_UILowHPSetSoundChannelsForSilence (int lp_player);

void libUIUI_gf_UILowHPSetSoundChannelsForNormal (int lp_player);

void libUIUI_gf_DeathRecapShowHideForPlayer (bool lp_showHide, int lp_player);

void libUIUI_gf_DeathRecapShowHideToastButtonForPlayer (bool lp_showHide, int lp_player);

text libUIUI_gf_DeathRecapCreateTooltipTextNoSentence (int lp_deadPlayer, int lp_effectIndex);

void libUIUI_gf_DeathRecapPopulateEffectInstancesForAbilitiesPanel (int lp_deadPlayer);

void libUIUI_gf_DeathRecapPopulateAbilityandHeroDataForAbilitiesPanel (int lp_deadPlayer);

void libUIUI_gf_DeathRecapPopulateHighestDamagersForPlayer (int lp_deadPlayer);

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

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

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

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

void libUIUI_gf_DeathAnnouncementPanelTransitionFrameOut (int lp_team);

int libUIUI_gf_DeathTimerPanelGetFreeFrameIndexForTeam (int lp_team);

int libUIUI_gf_DeathTimerPanelGetFreeGroupForTeam (int lp_team);

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

int libUIUI_gf_DeathTimerPanelGetGroupOfFrame (int lp_team, int lp_frameIndex);

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

void libUIUI_gf_DeathTimerPanelShowDeathTimeLabelForGroup (int lp_team, int lp_group);

void libUIUI_gf_DeathTimerPanelSetRenderPrioritiesForGroups (int lp_team);

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

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

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

void libUIUI_gf_DeathTimerPanelUnregisterDeath (int lp_team, int lp_frameIndex);

void libUIUI_gf_DeathTimerPanelUnregisterTimer (int lp_team, timer lp_timer);

void libUIUI_gf_DeathTimerPanelPlayerDeathTimerChanges (int lp_player, unit lp_unit);

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

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

void libUIUI_gf_DeathTimerPanelUpdatePortraitsForTeam (int lp_team);

void libUIUI_gf_DeathTimerPanelUpdateTeamDeathTimeIndicatorForTeam (int lp_team);

void libUIUI_gf_DeathTimerPanelPauseTimerAnimations ();

void libUIUI_gf_UIDebugPanelShowHideDebugPanelForPlayer (bool lp_showHide, int lp_player);

void libUIUI_gf_UIDebugPanelSetUpMinionCompDropdown ();

void libUIUI_gf_UIDebugPanelApplyOptionsfromBank ();

void libUIUI_gf_UIDebugPanelSaveOptions (int lp_localPlayer);

void libUIUI_gf_UIDebugPanelPopulateHeroDropdownForPlayer (int lp_player, bool lp_allHeroes);

void libUIUI_gf_UIDebugPanelPopulateSkinDropdownForPlayer (int lp_player, int lp_heroIndex);

void libUIUI_gf_UIDebugPanelPopulateMountTypeDropdownForPlayer (int lp_player, int lp_heroIndex);

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

void libUIUI_gf_UIDebugPanelPopulateMountVariationDropdownForPlayer (int lp_player, int lp_mountIndex);

void libUIUI_gf_UIDebugPanelPopulateSprayDropdownForPlayer (int lp_player);

void libUIUI_gf_UIDebugPanelPopulateBannerDropdownForPlayer (int lp_player);

void libUIUI_gf_UIDebugPanelPopulateVoiceLineForPlayer (int lp_player, int lp_heroIndex);

void libUIUI_gf_UIDebugPanelPopulateAnnouncerPackDropdownForPlayer (int lp_player);

void libUIUI_gf_UIDebugPanelPopulateAnnouncerPackVOListForPlayer (int lp_player, int lp_announcerPackIndex);

void libUIUI_gf_UIDebugPanelPopulateVoiceLineRadioVOListForPlayer (int lp_player, int lp_heroIndex);

void libUIUI_gf_UIDebugPanelCleanUpHeroForPlayer (int lp_player);

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

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

void libUIUI_gf_TemporarilyDisableSpawnHeroButton ();

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

void libUIUI_gf_UIEndofMatchAwardsSetMVPColor (int lp_teamId);

void libUIUI_gf_UIEndofMatchAwardsSetSecondaryAwardColor (int lp_awardSlot, int lp_opposingTeamId);

void libUIUI_gf_UIEndofMatchAwardsSetSecondaryAwardBadge (int lp_awardSlot);

void libUIUI_gf_UIEndofMatchAwardsMVPReveal ();

void libUIUI_gf_UIEndofMatchAwardsSecondaryAwardsReveal (int lp_playerID);

void libUIUI_gf_UIEndOfMatchAwardsSyncUpvoteStatus (playergroup lp_thisPlayerGroup);

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);

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);

void libUIUI_gf_UIFloatingCombatTextXP (int lp_displayPlayer, unit lp_target, text lp_amount, int lp_textTagType);

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);

void libUIUI_gf_UIFloatingCombatTextLeashing (unit lp_Unit);

void libUIUI_gf_UIFloatingCombatTextH16MidXP (int lp_displayPlayer, unit lp_target, int lp_type, int lp_Unit);

void libUIUI_gf_UIFloatingCombatTextPeriodicCatapults (text lp_displayText, point lp_position);

void libUIUI_gf_VignetteOverlayPlayForPlayer (int lp_player, string lp_cutscene);

void libUIUI_gf_VignetteOverlayStopPlayingForPlayer (int lp_player);

void libUIUI_gf_VignetteOverlayPlayForAllPlayersExcludingSpecifiedPlayerGroup (playergroup lp_playerGroupToExclude, string lp_cutscene);

void libUIUI_gf_VignetteOverlayStopForAllPlayersExcludingSpecifiedPlayerGroup (playergroup lp_playerGroupToExclude);

void libUIUI_gf_FullscreenOverlayAddItemForPlayer (int lp_player, int lp_priority, string lp_cutscene, string lp_behavior);

void libUIUI_gf_FullscreenOverlayInsertItemIntoQueueForPlayer (int lp_player, int lp_priority, int lp_desiredInsertPosition, string lp_cutscene, string lp_behavior);

void libUIUI_gf_FullscreenOverlayRemoveItemFromQueueForPlayer (int lp_player, string lp_cutscene, string lp_behavior);

void libUIUI_gf_FullscreenOverlayRemoveItemFromQueueWithCustomStop (int lp_player, string lp_cutscene, string lp_behavior, string lp_finalAnimationEvent);

void libUIUI_gf_FullscreenOverlayStopandClearCutsceneQueueForPlayer (int lp_player);

void libUIUI_gf_FullscreenOverlayPlayCutscene (int lp_player, string lp_cutscene);

void libUIUI_gf_FullscreenOverlaysShowHideDeathOverlay (bool lp_showHide, int lp_player);

void libUIUI_gf_FullscreenOverlaysStopSpecialOverlay (int lp_player);

void libUIUI_gf_FullscreenOverlaysShowSpecialOverlay (string lp_cutscene, int lp_player);

void libUIUI_gf_FullscreenOverlaysCreateCCEffectFlashForPlayer (int lp_player, fixed lp_cCDuration);

void libUIUI_gf_GameOverSplashDisplayForAllPlayers (int lp_winningTeam);

void libUIUI_gf_GameOverSplashShowHideForAllPlayers (bool lp_showHide, int lp_winningTeam);

void libUIUI_gf_UIGameUIShowHideConsolePanelForPlayer (bool lp_showHide, int lp_player);

void libUIUI_gf_UIHealingFountainsHelpTextCreateTextTagsForTeam (int lp_team);

void libUIUI_gf_UIHealingFountainsHelpTextShowHideForPlayer (int lp_player, bool lp_showHide);

void libUIUI_gf_AttachHelpButtonToUnit (unit lp_attachedUnit, trigger lp_callback, text lp_helpText, int lp_xOffset, int lp_yOffset);

void libUIUI_gf_ShowHideHelpButtonOnUnitForPlayer (int lp_player, bool lp_showHide, unit lp_unit);

int libUIUI_gf_HelpButtonClickedPlayer ();

void libUIUI_gf_SetHelpButtonText (unit lp_unit, text lp_text, playergroup lp_players);

int libUIUI_gf_HelpButtonFromUnit (unit lp_unit);

void libUIUI_gf_UIHeroConsoleShowHideForPlayer (bool lp_showHide, int lp_player);

void libUIUI_gf_UIHeroConsoleShowHideUnitStatusFrameForPlayer (bool lp_showHide, int lp_player);

void libUIUI_gf_UIHeroConsoleSetUpForPlayer (unit lp_unit, int lp_player);

void libUIUI_gf_HeroConsoleUnitStatusBarsUpdateStunDeathBar (string lp_newBehavior, int lp_player);

void libUIUI_gf_HeroConsoleUnitStatusBarsSetUnitForBars (unit lp_unit, int lp_player);

void libUIUI_gf_HeroConsoleUnitStatusBarsUpdateForPlayer (int lp_player);

void libUIUI_gf_HeroConsoleUnitStatusBarsSetChannelBehaviorForBehaviorChannelBar (int lp_player, string lp_behavior);

void libUIUI_gf_HeroConsoleUnitStatusBarsSetChannelBehaviorForBehaviorChannelBarRight (int lp_player, string lp_behavior);

void libUIUI_gf_HeroConsoleUnitStatusBarsSetChannelBehaviorForBehaviorChannelBarFromUnit (int lp_player, string lp_behavior, unit lp_unit);

void libUIUI_gf_UIUpdateUnitFrameToShowBehaviorState (int lp_player, int lp_index);

void libUIUI_gf_UIUnitStatusFramesHookupUnitStatusFramesForPlayer (int lp_player);

void libUIUI_gf_UIUnitStatusFramesUpdateUnitStatusFramesForUnit (int lp_player, unit lp_unit);

void libUIUI_gf_UIUnitStatusFramesRemoveUnitfromUnitStatusFrameHookup (int lp_player, unit lp_unit);

void libUIUI_gf_UIUnitStatusFramesRemoveHeroUnitStatusFramesForPlayer (int lp_player);

void libUIUI_gf_UIUnitStatusFramesResetUnitStatusFramesForPlayer (int lp_player);

int libUIUI_gf_UIUnitStatusFramesGetUnitIndex (int lp_player, unit lp_unit);

void libUIUI_gf_UIHeroTrackerArrowShowHideForPlayer (bool lp_showHide, int lp_player);

void libUIUI_gf_UIHeroTrackerArrowShowHideHeroUnitForPlayer (bool lp_showHide, int lp_player, unit lp_unit);

void libUIUI_gf_UIHeroTrackerArrowHookupTrackerArrowsForPlayer (int lp_player);

void libUIUI_gf_UIEnableMapMechanicButtonForPlayer (int lp_PlayerID, bool lp_playIntroAnims);

void libUIUI_gf_UIDisableMapMechanicButtonForPlayer (int lp_PlayerID);

void libUIUI_gf_UIEnableMapMechanicButtonAllPlayers (bool lp_playIntroAnims);

void libUIUI_gf_MapMechanicsRavenCourtShowHidePanel (bool lp_showHide);

void libUIUI_gf_MapMechanicsRavenCourtSetModeForTeam (int lp_mode, int lp_teamThatWonTheCurse);

void libUIUI_gf_MapMechanicsRavenCourtSetTributeCountForTeam (int lp_count, int lp_team);

void libUIUI_gf_MapMechanicsRavenCourtSetRemainingCurseTimeForTeam (int lp_remainingSeconds, int lp_cursingTeam);

void libUIUI_gf_MapMechanicsRavenCourtSetRemainingTributeSpawnTime (int lp_remainingSeconds);

void libUIUI_gf_MapMechanicsHauntedMinesShowHidePanel (bool lp_showHide);

void libUIUI_gf_MapMechanicsHauntedMinesSetMode (int lp_mode);

void libUIUI_gf_MapMechanicsHauntedMinesSetRemainingMinesWarningTime (int lp_remainingSeconds);

void libUIUI_gf_MapMechanicsHauntedMinesSetSkullCountForTeam (int lp_count, int lp_team);

void libUIUI_gf_MapMechanicsHauntedMinesSetSkullsRemaining (int lp_count);

void libUIUI_gf_MapMechanicsHauntedMinesSetUpGolemForTeam (unit lp_golemUnit, int lp_skullCount, int lp_team);

void libUIUI_gf_MapMechanicsHauntedMinesSetUpGolemForObserver (unit lp_golemUnitTeamBlue, unit lp_golemUnitTeamRed, int lp_skullCountTeamBlue, int lp_skullCountTeamRed);

void libUIUI_gf_MapMechanicsDragonShireShowHidePanel (bool lp_showHide);

void libUIUI_gf_MapMechanicsDragonShireSetMode (int lp_mode);

void libUIUI_gf_MapMechanicsDragonShireSetRemainingShrineWarningTime (int lp_remainingSeconds);

void libUIUI_gf_MapMechanicsDragonShireSetStarShrineOwner (int lp_team);

void libUIUI_gf_MapMechanicsDragonShireSetMoonShrineOwner (int lp_team);

void libUIUI_gf_MapMechanicsDragonShireSetRemainingDragonTime (int lp_remainingSeconds);

void libUIUI_gf_MapMechanicsDragonShireSetUpDragonForTeam (unit lp_dragonUnit, int lp_team);

void libUIUI_gf_MapMechanicsGardenOfTerrorInit (int lp_parentPanel);

void libUIUI_gf_MapMechanicsGardenOfTerrorShowHidePanel (bool lp_showHide);

void libUIUI_gf_MapMechanicsGardenOfTerrorShowHideNightWarning (bool lp_showHide);

void libUIUI_gf_MapMechanicsGardenOfTerrorSetNightWarningTime (int lp_remainingSeconds);

void libUIUI_gf_MapMechanicsGardenOfTerrorSetGolemSummonPossibleForTeam (int lp_team, bool lp_summonPossible);

void libUIUI_gf_MapMechanicsGardenOfTerrorSetSeedCountForTeam (text lp_countText, int lp_team, bool lp_golemSummonPossible);

void libUIUI_gf_MapMechanicsGardenOfTerrorSetSeedFrameImageForTeam (int lp_team, bool lp_golemSummonPossible);

void libUIUI_gf_MapMechanicsGardenOfTerrorShowHideGolemFrame (bool lp_showHide);

void libUIUI_gf_MapMechanicsGardenOfTerrorSetUpGolemStatusBarForTeam (unit lp_golemUnit, int lp_team);

void libUIUI_gf_MapMechanicsGardenOfTerrorSetGolemRemainingTimeForTeam (int lp_team, int lp_remainingTime);

void libUIUI_gf_MapMechanicsGardenOfTerrorSetGolemGrowTimeForTeam (int lp_team, int lp_remainingTime);

void libUIUI_gf_MapMechanicsGardenOfTerrorSetGolemStatusTextForTeam (int lp_team, int lp_status);

void libUIUI_gf_MapMechanicsGardenOfTerrorSetSeedFrameStatusTextForTeam (int lp_team, int lp_status);

void libUIUI_gf_MapMechanicsGardenOfTerrorFlashSeedFrameStatusText (int lp_team, bool lp_flash, int lp_level);

void libUIUI_gf_MapMechanicHelpPanelShowHide (bool lp_showHide, playergroup lp_players);

void libUIUI_gf_MapMechanicHelpPanelSetText (text lp_text);

void libUIUI_gf_NotificationDisplaySetMultikillTimerLabelsForPlayer (int lp_player, text lp_titleText, text lp_numberText);

int libUIUI_gf_KillLogGetUnusedItemIndex ();

int libUIUI_gf_KillLogGetItemIndexforUnit (int lp_sourcePlayer, int lp_type);

int libUIUI_gf_KillLogGetItemwithLeastRemainingTime ();

string libUIUI_gf_KillLogGetPortraitPathforUnit (unit lp_unit);

int libUIUI_gf_KillLogAddNewItem (int lp_sourcePlayer, int lp_eventType);

void libUIUI_gf_KillLogAnnounceKill (int lp_sourcePlayer, unit lp_target);

void libUIUI_gf_KillLogAnnounceQuestCompletion (int lp_player, string lp_questToken, fixed lp_progress);

void libUIUI_gf_KillLogAnnounceQuestMilestone (int lp_player, string lp_questToken, fixed lp_progress);

void libUIUI_gf_KillLogSaveQuestResetdatatoCache (int lp_player, string lp_quest);

void libUIUI_gf_KillLogDisplayQuestResetdatafromCache (int lp_player, int lp_portraitFrame);

void libUIUI_gf_KillLogHideItem (int lp_indextoRemove);

void libUIUI_gf_KillLogDebugInitPanel ();

string libUIUI_gf_KillLogDebugRandomQuestBehavior ();

void libUIUI_gf_UIObserverUIAddPlayerToObserverUI (int lp_player);

void libUIUI_gf_UIObserverUIUpdateForPlayer (int lp_player);

void libUIUI_gf_UIOnFireEnableDisableOnFireSystem (bool lp_enableDisable);

void libUIUI_gf_UIOnFireSetOnFireType (int lp_onFireType, int lp_player);

void libUIUI_gf_UIOnFireSetOnFireLevel (int lp_onFireLevel, int lp_player);

void libUIUI_gf_UIOnFireSetOnFireScoreValueHighlights ();

void libUIUI_gf_UIPartyFrameShowHidePartyFramePanelForPlayer (bool lp_showHide, int lp_player);

void libUIUI_gf_UIPartyFrameAddPlayerToPartyFrame (int lp_player);

void libUIUI_gf_UIPartyFrameHeroicAbilityIconUpdate (int lp_player);

void libUIUI_gf_UIPartyFrameShowHidePlayerForPartyFrame (bool lp_showHide, int lp_player);

void libUIUI_gf_UIPartyFrameShowHideUnitStatusFrameofPlayerforPlayerGroup (bool lp_showHide, int lp_player, playergroup lp_playerGroup);

void libUIUI_gf_UIPartyFrameShowHideCoreHealth (bool lp_showHide);

void libUIUI_gf_UIPartyFrameShowHideCoreUnderAttackWarning (int lp_teamNumber, bool lp_showHide);

void libUIUI_gf_UIPartyFrameShowHideTeamPanelforPlayerGroup (int lp_team, bool lp_showHide, playergroup lp_playerGroup);

void libUIUI_gf_UIPartyFrameShowHideLevelInfoPanelforPlayerGroup (int lp_team, bool lp_showHide, playergroup lp_playerGroup);

void libUIUI_gf_UIPartyFrameSendAnimationEventtoPartyFrameMainPanel (string lp_animationEvent, playergroup lp_playerGroup);

void libUIUI_gf_UIPartyFrameSendAnimationEventtoPartyFrameHeroPanelforPlayer (string lp_animationEvent, int lp_player, playergroup lp_playerGroup);

void libUIUI_gf_UIPartyFrameHeroDies (int lp_killedPlayer, unit lp_killedUnit);

void libUIUI_gf_UIPartyFrameSetUpCoreHealthBarforTeam (int lp_team);

void libUIUI_gf_UIPartyFrameTeamLevelUpdate (int lp_team, int lp_level);

void libUIUI_gf_UIPartyFrameSetPetFrame (unit lp_petUnit, int lp_player);

void libUIUI_gf_UIPartyFrameSetVikingFrame (unit lp_vikingUnit, int lp_player);

void libUIUI_gf_UIPartyFrameSetDVaFrame (int lp_playerID, bool lp_inMech);

void libUIUI_gf_UIPartyFramePetDies (int lp_player, timer lp_petDeathTimer);

void libUIUI_gf_UIPartyFrameVikingDies (int lp_player, unit lp_viking, timer lp_deathTimer);

void libUIUI_gf_UIPartyFrameHeroHearthstoneStart (int lp_player, unit lp_unit);

void libUIUI_gf_UIPartyFrameHeroHearthstoneFizzle (int lp_player, unit lp_unit);

void libUIUI_gf_UIPartyFrameSpecialCaseAurielRevivesHero (int lp_revivedPlayer, unit lp_revivedUnit);

void libUIUI_gf_UIPartyFrameTalentAdvantageUpdate ();

void libUIUI_gf_UIPartyFrameGameTimerUpdate (text lp_gameTimeText);

void libUIUI_gf_UIPartyFrameHeroicTalentCooldownUpdate ();

void libUIUI_gf_UIPartyFrameHeroicTalentUpdate (int lp_player, int lp_talentTierIndex);

void libUIUI_gf_UIPartyFrameHeroicTalentIconSet (string lp_icon, int lp_player);

void libUIUI_gf_UIPartyFrameHeroicAbilitySet (string lp_heroicAbility, int lp_player);

void libUIUI_gf_UIPartyFrameShowHideHeroicAbility (bool lp_showHide, int lp_player);

void libUIUI_gf_UIPartyFrameSpecialCaseUpdatePetDeath (int lp_player);

void libUIUI_gf_UIPartyFrameSpecialCaseUpdateVikingsDeath (int lp_player);

fixed libUIUI_gf_UIPartyFrameAbilityCooldownTime (unit lp_unit, string lp_ability, int lp_player);

timer libUIUI_gf_UIPartyFrameDeathTimer (int lp_player, unit lp_heroUnit);

bool libUIUI_gf_UIPartyFrameSpecialCaseHeroUsesPairedRespawnTimer (unit lp_heroUnit);

timer libUIUI_gf_UIPartyFrameSpecialCaseHeroPairedRespawnTimer (int lp_player);

bool libUIUI_gf_UIPartyFrameSpecialCaseHeroTalentLevelsAreDifferent (string lp_hero);

bool libUIUI_gf_UIPartyFrameSpecialCaseHeroHasExtendedDeath (int lp_player);

bool libUIUI_gf_UIPartyFrameSpecialCaseHeroHasCondensedDeath (unit lp_playerOwnedHero);

bool libUIUI_gf_UIPartyFrameSpecialCaseHeroHasHeroicatStart (string lp_hero);

bool libUIUI_gf_UIPartyFrameSpecialCaseHeroHasHeroicCoolup (string lp_hero);

int libUIUI_gf_UIPartyFrameHeroTypeofHero (unit lp_hero);

int libUIUI_gf_UIPartyFrameUIIndexofHeroUnit (unit lp_heroUnit, int lp_player);

void libUIUI_gf_PartyFrameEnemyPing (int lp_pingingPlayer, unit lp_targetUnit, int lp_targetPlayerID, int lp_uIRosterSlot, int lp_vikingIndex);

void libUIUI_gf_PartyFrameAllyPing (int lp_pingingPlayer, unit lp_targetUnit, int lp_targetPlayerID, int lp_uIRosterSlot, int lp_vikingIndex);

void libUIUI_gf_PartyFrameTeamXPUpdateandManageTeamSpamTimers (int lp_teamNumber);

int libUIUI_gf_PingDeterminePingTargetType (unit lp_unit);

unit libUIUI_gf_PingGetSpecialPingTargetInRangeOfPoint (point lp_point, bool lp_pingFromMinimap, int lp_pingingPlayer);

void libUIUI_gf_PingIncrementPingCountAndManageTimersForPlayer (int lp_player);

void libUIUI_gf_PingResetPingLockoutTimeandPingCount (int lp_player);

void libUIUI_gf_PingPlayerPingsUnit (int lp_pingingPlayer, unit lp_targetUnit, playergroup lp_pingPlayerGroup);

void libUIUI_gf_PingAIResponse (int lp_pingingPlayer, unit lp_targetUnit, playergroup lp_pingPlayerGroup);

void libUIUI_gf_PingPlayerUsesAssistMePing (int lp_player, unit lp_targetUnit, point lp_location);

void libUIUI_gf_PingPlayerUsesDangerPing (int lp_player, point lp_location, unit lp_targetUnit);

void libUIUI_gf_PingPlayerUsesOnMyWayPing (unit lp_pingedUnit, int lp_player, point lp_location);

void libUIUI_gf_PingPlayerUsesDefendPing (unit lp_pingedUnit, int lp_player, point lp_location);

void libUIUI_gf_PingPlayerUsesRetreatPing (int lp_player, point lp_location);

void libUIUI_gf_PingPlayerStartsHearthStonePing (int lp_player, point lp_location);

void libUIUI_gf_PingCancelPlayersHearthStonePing (int lp_player);

int libUIUI_gf_PingLastCreatedPingTarget ();

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);

void libUIUI_gf_PingCreateNewPingTargetNameOverrideOnly (string lp_unitType, text lp_pingTargetNameOverride);

void libUIUI_gf_PingSetAllyEnemyTargetHeroVOForPingTarget (int lp_pingTarget, int lp_allyTargetHeroVO, int lp_enemyTargetHeroVO);

void libUIUI_gf_PingSetHumanAISourceHeroVOForPingTarget (int lp_pingTarget, int lp_humanSourceHeroVO, int lp_aISourceHeroVO);

void libUIUI_gf_PingSetCustomResponseTriggerForPingTarget (int lp_pingTarget, trigger lp_trigger);

void libUIUI_gf_PingSetCustomResponseTriggerForPingbyUnitType (string lp_pingedUnitType, trigger lp_responseTrigger);

void libUIUI_gf_UITargetingHelperPanelHandleAbilityTargetModeChange (int lp_player, int lp_targetModeState, string lp_ability, bool lp_abilityIsOffensive);

void libUIUI_gf_UITargetingHelperPanelUpdateForPlayer (int lp_player, fixed lp_abilityRange, bool lp_abilityIsOffensive);

void libUIUI_gf_UITargetingHelperPanelShowHideForPlayer (bool lp_showHide, int lp_player);

void libUIUI_gf_TopBarPanelShowHideForPlayer (bool lp_showHide, int lp_player);

void libUIUI_gf_TopBarTeamLevelHookUpXPBarUnitForTeamAndShowTeamLevelLabel (int lp_team, unit lp_unit);

void libUIUI_gf_TopBarTeamLevelUpdateTeamsLevelLabel (int lp_team, int lp_level);

void libUIUI_gf_TopBarSetUpCoreHealthBarforTeam (int lp_team);

void libUIUI_gf_AddTutorialReferenceItem (text lp_item);

void libUIUI_gf_AddTutorialReferenceItemPreset (int lp_item);

void libUIUI_gf_RemoveTutorialReferenceItem (int lp_index);

void libUIUI_gf_SetTutorialReferenceItemText (int lp_index, text lp_text);

void libUIUI_gf_CreateMapMechanicPickupTextTag (unit lp_unit, text lp_text);

void libUIUI_gf_CreateMapMechanicPickupTextTagAtUnit (text lp_T, unit lp_unit, playergroup lp_playerGroup);

int libUIUI_gf_UIGetHeroResourceType (string lp_heroUnitType);

int libUIUI_gf_UIGetHeroResourceTypeForPartyFrame (string lp_heroUnitType);



// Trigger Declarations

trigger libUIUI_gt_IncludeUI;

trigger libUIUI_gt_InitializeUI;

trigger libUIUI_gt_UIUpdateTimeLabelsTimerExpires;

trigger libUIUI_gt_UIDebugInitandHideErrorWarning;

trigger libUIUI_gt_UIDEBUGShowBoostFX;

trigger libUIUI_gt_UIBoostsShowBoostFX;

trigger libUIUI_gt_UIInitializeDamageFlashUI;

trigger libUIUI_gt_UIDamageFlashTriggerDamageFlash;

trigger libUIUI_gt_UIDamageFlashLowHPSoundsLooper;

trigger libUIUI_gt_DeathRecapPanelInitialize;

trigger libUIUI_gt_DeathRecapOpenButtonClicked;

trigger libUIUI_gt_DEBUGEffectHistoryTest;

trigger libUIUI_gt_DEBUGDeathRecapPopulateTest;

trigger libUIUI_gt_DeathTimerPanelInitialize;

trigger libUIUI_gt_DeathAnnouncementPanelVisibleTimerExpires;

trigger libUIUI_gt_DeathTimerPanelDeathTimerFrameMouseEnter;

trigger libUIUI_gt_DeathTimerPanelDeathTimerFrameMouseExit;

trigger libUIUI_gt_DeathTimerPanelUpdate;

trigger libUIUI_gt_UIInitializeDebugPanel;

trigger libUIUI_gt_UIDebugPanelCloseButtonClicked;

trigger libUIUI_gt_UIDebugPanelRefreshCooldownsButtonClicked;

trigger libUIUI_gt_UIDebugPanelSelectionEnabledCheckboxClicked;

trigger libUIUI_gt_UIDebugPanelStartGameButtonClicked;

trigger libUIUI_gt_UIDebugPanelSpawnCreepCampsButtonClicked;

trigger libUIUI_gt_UIDebugPanelDisableMinionSpawningCheckboxClicked;

trigger libUIUI_gt_UIDebugPanelDisableTrickleXPCheckboxClicked;

trigger libUIUI_gt_UIDebugPanelCombatTextCheckboxClicked;

trigger libUIUI_gt_UIDebugPanelEnableAllCombatTextCheckboxClicked;

trigger libUIUI_gt_UIDebugPanelSavedHeroCheckboxClicked;

trigger libUIUI_gt_UIDebugPanelPage1ButtonClicked;

trigger libUIUI_gt_UIDebugPanelPage2ButtonClicked;

trigger libUIUI_gt_UIDebugPanelKillLogButtonClicked;

trigger libUIUI_gt_UIDebugPanelRespecButtonClicked;

trigger libUIUI_gt_UIDebugPanelPlayerSliderValueChange;

trigger libUIUI_gt_UIDebugPanelLevelSliderValueChange;

trigger libUIUI_gt_UIDebugPanelUseCurrentXPCheckboxClicked;

trigger libUIUI_gt_UIDebugPanelAllHeroesCheckboxClicked;

trigger libUIUI_gt_UIDebugPanelSpawnAtBaseCheckboxClicked;

trigger libUIUI_gt_UIDebugPanelHeroDropdownSelectionChange;

trigger libUIUI_gt_UIDebugPanelSkinDropdownSelectionChange;

trigger libUIUI_gt_UIDebugPanelMountTypeDropdownSelectionChange;

trigger libUIUI_gt_UIDebugPanelMountBaseDropdownSelectionChange;

trigger libUIUI_gt_UIDebugPanelAnnouncerRaidoButtonClicked;

trigger libUIUI_gt_UIDebugPanelAnnouncerRaidoButtonClicked2;

trigger libUIUI_gt_UIDebugPanelAnnouncerRadioDropdownSelectionChange;

trigger libUIUI_gt_UIDebugPanelVoiceLineRadioDropdownSelectionChange;

trigger libUIUI_gt_UIDebugPanelSoundVOPlayButtonClicked;

trigger libUIUI_gt_UIDebugPanelSoundVOAddButtonClicked;

trigger libUIUI_gt_UIDebugPanelSoundVOClearButtonClicked;

trigger libUIUI_gt_UIDebugPanelSoundVODelayBoxClicked;

trigger libUIUI_gt_UIDebugPanelSpawnHeroButtonClicked;

trigger libUIUI_gt_UIDebugPanelMetaXPEditBoxClicked;

trigger libUIUI_gt_UIDebugPanelSendMetaXPButtonClicked;

trigger libUIUI_gt_UIDebugPanelSetLootContentsButtonClicked;

trigger libUIUI_gt_UIDebugPanelUpdate;

trigger libUIUI_gt_UIDebugPanelSpawnButton;

trigger libUIUI_gt_UIDebugPanelPlayerNumber;

trigger libUIUI_gt_UIEndofMatchAwardsPanelInitialize;

trigger libUIUI_gt_UIEndofMatchAwardsDisabled;

trigger libUIUI_gt_UIEndofMatchAwardsForceSync;

trigger libUIUI_gt_UIEndofMatchAwardsUpVoteButtonClicked;

trigger libUIUI_gt_UIEndofMatchAwardsSkipButtonClicked;

trigger libUIUI_gt_UIFloatingCombatTextShield;

trigger libUIUI_gt_UIFloatingCombatTextMissed;

trigger libUIUI_gt_UIFloatingCombatTextBlocked;

trigger libUIUI_gt_UIFloatingCombatTextUnrevealable;

trigger libUIUI_gt_UIFloatingCombatTextUnrevealableImpact;

trigger libUIUI_gt_UIFloatingCombatTextQuestProgressViaTokens;

trigger libUIUI_gt_UIFloatingCombatTextQuestProgressViaEffect;

trigger libUIUI_gt_VignetteOverlayInitialize;

trigger libUIUI_gt_FullscreenOverlaysInitializeRework;

trigger libUIUI_gt_CargoOverlayInitiliaze;

trigger libUIUI_gt_FullscreenOverlaysInitialize;

trigger libUIUI_gt_FullscreenOverlaysDeathOverlayHideTimeExpires;

trigger libUIUI_gt_FullscreenOverlaysSpecialOverlayHideTimeExpires;

trigger libUIUI_gt_GameOverSplashInitialize;

trigger libUIUI_gt_UIInitializeGameUIHandles;

trigger libUIUI_gt_UIInitializeHealingFountainsHelpText;

trigger libUIUI_gt_UIResetMoonwellTextTagandAnimationForPlayers;

trigger libUIUI_gt_UIHealingFountainsHelpTextPlayerUsesHealingFountain;

trigger libUIUI_gt_UIHealingFountainsHelpTextTextDisplayController;

trigger libUIUI_gt_UIHealingFountainsHelpTextHealingFountainDies;

trigger libUIUI_gt_HelpButtonDebugPosition;

trigger libUIUI_gt_UIInitializeHeroConsole;

trigger libUIUI_gt_HeroConsoleUnitStatusBarsInitialize;

trigger libUIUI_gt_HeroConsoleUnitStatusBarsChannelBehaviorAdded;

trigger libUIUI_gt_HeroConsoleUnitStatusBarsUpdate;

trigger libUIUI_gt_GateTimerStartsHideHeroCastChannelBarFrameForObserver;

trigger libUIUI_gt_HeroSpawnsShowHeroCastChannelBarFrame;

trigger libUIUI_gt_GameStartEnableHeroicsObtainedAutomatedTeamNotification;

trigger libUIUI_gt_HeroicsObtainedNotifyTeams;

trigger libUIUI_gt_StormTalentsObtainedNotifyTeams;

trigger libUIUI_gt_FullscreenStatusPanelInitialize;

trigger libUIUI_gt_HeroSpecificStatusContainerInitialize;

trigger libUIUI_gt_UnitBehaviorStateActivatesInvulnerable;

trigger libUIUI_gt_UnitBehaviorStateActivatesUnstoppable;

trigger libUIUI_gt_UnitBehaviorStateActivatesResistant;

trigger libUIUI_gt_UnitBehaviorStateActivatesVulnerable;

trigger libUIUI_gt_UnitBehaviorStateActivatesDimmed;

trigger libUIUI_gt_UnitBehaviorStateActivatesInvincible;

trigger libUIUI_gt_UnitBehaviorStateDeactivatesInvulnerable;

trigger libUIUI_gt_UnitBehaviorStateDeactivatesUnstoppable;

trigger libUIUI_gt_UnitBehaviorStateDeactivatesResistant;

trigger libUIUI_gt_UnitBehaviorStateDeactivatesVulnerable;

trigger libUIUI_gt_UnitBehaviorStateDeactivatesDimmed;

trigger libUIUI_gt_UnitBehaviorStateDeactivatesInvincible;

trigger libUIUI_gt_UIInitializeHeroTrackerArrow;

trigger libUIUI_gt_InputBackslashKeyDown;

trigger libUIUI_gt_MapMechanicsPanelInitialize;

trigger libUIUI_gt_MapMechanicsPanelUpdate;

trigger libUIUI_gt_MapMechanicHelpPanelInitialize;

trigger libUIUI_gt_MapMechanicHelpPanelOKButtonClicked;

trigger libUIUI_gt_NotificationDisplayInitialize;

trigger libUIUI_gt_DEBUGNotificationDisplayAnimCheat;

trigger libUIUI_gt_KillLogInitialize;

trigger libUIUI_gt_KillLogOnHeroUnitDies;

trigger libUIUI_gt_KillLogOnQuestComplete;

trigger libUIUI_gt_KillLogOnQuestMilestoneNew;

trigger libUIUI_gt_KillLogOnQuestReset;

trigger libUIUI_gt_KillLogItemTimerExpires;

trigger libUIUI_gt_KillLogDebugShowPanel;

trigger libUIUI_gt_KillLogDebugAnnounceKill;

trigger libUIUI_gt_KillLogDebugAnnounceQuest;

trigger libUIUI_gt_UIInitializeObserverUI;

trigger libUIUI_gt_UIObserverUIHeroDies;

trigger libUIUI_gt_UIObserverUIHeroRespawn;

trigger libUIUI_gt_UIObserverUIUpdate;

trigger libUIUI_gt_UIOnFireDEBUGEnableDisableOnFireDebug;

trigger libUIUI_gt_UIOnFireDEBUGCycleDefenseOnFire;

trigger libUIUI_gt_UIOnFireDEBUGCycleOffenseOnFire;

trigger libUIUI_gt_UIOnFireDEBUGCycleUtilityOnFire;

trigger libUIUI_gt_UIInitializePartyFrameUI;

trigger libUIUI_gt_UIPartyFrameDeathUpdateTimerExpires;

trigger libUIUI_gt_UIPartyFrameHeroRespawn;

trigger libUIUI_gt_UIPartyFrameHeroHearthstoneComplete;

trigger libUIUI_gt_UIPartyFrameXPContributionPercentage;

trigger libUIUI_gt_UIPartyFrameHeroEntersSpecialDeathState;

trigger libUIUI_gt_UIPartyFramePlayerRejoins;

trigger libUIUI_gt_UIPartyFrameUnitClicked;

trigger libUIUI_gt_UIPartyFrameTeamXPClicked;

trigger libUIUI_gt_TeamXPPartyFrameLockoutTimerExpires;

trigger libUIUI_gt_TeamXPPartyFramePingDecrementTimerExpiresOrder;

trigger libUIUI_gt_TeamXPPartyFramePingDecrementTimerExpiresChaos;

trigger libUIUI_gt_PingCountResetTimerExpires;

trigger libUIUI_gt_PingOnMyWayPingPathDisplayTimerExpires;

trigger libUIUI_gt_PingListenForPlayerPing;

trigger libUIUI_gt_InitializeBaseModPingData;

trigger libUIUI_gt_UIInitializeTabScreenPanel;

trigger libUIUI_gt_UIInitializeTargetingHelperPanel;

trigger libUIUI_gt_UITargetingHelperPanelUnitFrameMouseEnter;

trigger libUIUI_gt_UITargetingHelperPanelUnitFrameMouseExit;

trigger libUIUI_gt_UITargetingHelperPanelUpdateVisibilityForOffensiveAbilities;

trigger libUIUI_gt_TopBarPanelInitialize;

trigger libUIUI_gt_XPContributionPerecentage;



// Library Initialization

void libUIUI_InitVariables ();