include "TriggerLibs/HeroesLib_h"



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

// Library: Game Data Helper

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

// Preset Declarations

const int libGDHL_ge_SpearofAdunPurifierBeamState_Priming = 0;

const int libGDHL_ge_SpearofAdunPurifierBeamState_Active = 1;

const int libGDHL_ge_SpearofAdunPurifierBeamState_Idle = 2;

const int libGDHL_ge_CloudSerpentAIState_Idle = 0;

const int libGDHL_ge_CloudSerpentAIState_Moving = 1;

const int libGDHL_ge_CloudSerpentAIState_Fighting = 2;

const int libGDHL_ge_CloudSerpentAIState_Leashing = 3;

const int libGDHL_ge_LostVikingsUIState_None = 0;

const int libGDHL_ge_LostVikingsUIState_Selected = 1;

const int libGDHL_ge_LostVikingsUIState_Downed = 2;

const int libGDHL_ge_MishaState_AI_Paused = 0;

const int libGDHL_ge_MishaState_GoingToMoonwell = 1;

const int libGDHL_ge_MishaState_HoldingPosition = 2;

const int libGDHL_ge_MishaState_RexxarStasis = 3;

const int libGDHL_ge_MishaState_Dancing = 4;

const int libGDHL_ge_MishaState_Following = 5;

const int libGDHL_ge_MishaState_Idle = 6;

const int libGDHL_ge_MishaState_Fighting = 7;

const int libGDHL_ge_MishaState_Leashing = 8;

const int libGDHL_ge_MishaState_Moving = 9;

const int libGDHL_ge_MishaState_Pursuing = 10;

const int libGDHL_ge_MishaState_Searching = 11;

const int libGDHL_ge_GargantuanState_Leashing = 0;

const int libGDHL_ge_GargantuanState_Idle = 1;

const int libGDHL_ge_GargantuanState_Aggro = 2;

const int libGDHL_ge_GargantuanState_Approach = 3;



// Constants

const string libGDHL_gv_eventID_AbathurUltimateEvolutionEnded_C = "AbathurUltimateEvolutionEnded";

const string libGDHL_gv_eventParam_AbathurUltimateEvolution_AbathurPlayer_C = "AbathurUltimateEvolutionEndedAbathurPlayer";

const string libGDHL_gv_eventParam_AbathurUltimateEvolution_ClonedUnit_C = "AbathurUltimateEvolutionEndedClonedUnit";

const string libGDHL_gv_eventID_AbathurUltimateEvolutionHeroCopied_C = "HeroAbathurUltimateEvolutionHeroCopied";

const string libGDHL_gv_eventParam_AbathurUltimateEvolutionHeroCopied_AbathurOwner_C = "AbathurOwner";

const string libGDHL_gv_eventParam_AbathurUltimateEvolutionHeroCopied_TargetOwner_C = "TargetOwner";

const string libGDHL_gv_eventID_AbathurSymbiote_C = "AbathurSymbiote";

const string libGDHL_gv_eventParam_AbathurSymbiote_AbathurPlayer_C = "AbathurPlayer";

const string libGDHL_gv_eventParam_AbathurSymbiote_SymbioteUnit_C = "SymbioteUnit";

const string libGDHL_gv_eventParam_AbathurSymbiote_SymbioteTarget_C = "SymbioteTarget";

const int libGDHL_gv_abathurSymbioteHivemindMaxHosts_C = 1;

const fixed libGDHL_gv_abathurSymbioteHivemindCastRange_C = 8.0;

const fixed libGDHL_gv_abathurSymbioteHivemindMaxRange_C = 12.0;

const fixed libGDHL_gv_heroArthasAntiMagicShellHealingFraction = 0.25;

const fixed libGDHL_gv_heroDiabloInfernoBreathTurningRate = 106.25;

const fixed libGDHL_gv_hero_Leoric_Undying_Reanimation_DeathTimeReduction = 1.0;

const int libGDHL_gv_aIHeroDelegateTokenValueVikingValue = 3;

const int libGDHL_gv_aIHeroDelegateTokenValueAnyVikingAliveValue = 1;

const fixed libGDHL_gv_data_LostVikingsDeathTimeReduction = 0.0;

const fixed libGDHL_gv_data_LostVikingsTheSequelDeathTimeReduction = 0.5;

const fixed libGDHL_gv_data_LostVikingsCheckpointReachedDeathTime = 3.0;

const fixed libGDHL_gv_data_LostVikingsUIWarningCameraDistance_C = 20.0;

const fixed libGDHL_gv_heroMuradinHaymakerGrandSlamMultiplier = 1.4;

const fixed libGDHL_gv_mURKY_BAL_EGG_DEATH_cd = 15.0;

const int libGDHL_gv_heroMurkyAFishyDealStackCountRequirement = 7;

const int libGDHL_gv_heroMurkyEggHuntMaxCount = 3;

const int libGDHL_gv_heroNecromancerSkeletonMasteryMaxUnits = 3;

const int libGDHL_gv_heroNecromancerSkeletonMasteryColdHandofDeathTalentMaxUnits = 6;

const fixed libGDHL_gv_heroNecromancerSkeletonMasteryRange = 15.0;

const int libGDHL_gv_heroNovaCovertMissionStackCountRequirement = 25;

const fixed libGDHL_gv_novaTripleTapRedirectDistanceThreshold = 0.5;

const fixed libGDHL_gv_novaTripleTapDisjointDistanceThreshold = 20.0;

const int libGDHL_gv_aIHeroDelegateTokenValueMishaValue = 4;

const int libGDHL_gv_aIHeroDelegateTokenValueRexxarValue = 6;

const fixed libGDHL_gv_rexxar_Misha_LeashRange_Max_C = 18.0;

const fixed libGDHL_gv_rexxar_Misha_LeashRange_Immediate_C = 21.0;

const fixed libGDHL_gv_rexxar_Misha_LeashRange_Min_C = 6.0;

const fixed libGDHL_gv_rexxar_Misha_LeashRange_Speedboost_Min_C = 4.0;

const fixed libGDHL_gv_rexxar_Misha_LeashMoveOffset_C = 2.0;

const int libGDHL_gv_thrallTraitMaxStacks = 5;

const fixed libGDHL_gv_heroTychusSuppressiveFireMaxTurnRate = 500.0;

const fixed libGDHL_gv_illusionistProcPercentageConstant = 0.2;



// Structures

struct libGDHL_gs_SymbioteHivemind {

    unit lv_symbioteUnit;

    unit lv_hostUnit;

};



struct libGDHL_gs_ChenStormEarthFireUnits {

    unitgroup lv_stormEarthFireUnits;

    unit lv_controlStoreUnit;

};



struct libGDHL_gs_ChogallSet {

    int lv_choPlayer;

    int lv_gallPlayer;

    unit lv_choUnit;

    unit lv_gallUnit;

    unit lv_gallFollowUnit;

    int lv_pairedHighestHeroRingMasteryLevel;

};



struct libGDHL_gs_LeroicUI {

    int lv_mainPanel;

    int lv_traitLabel;

    int lv_cheatDeathFrame;

};



struct libGDHL_gs_LostVikingsPlayer {

    int lv_player;

    unit lv_centerViking;

    unit lv_boat;

    fixed lv_respawnPolarOffset;

    unit lv_checkpointReachedCairn;

    bool lv_checkpointReachedDeathTimerActive;

    timer lv_checkpointReachedCarinRespawnTimer;

    int lv_checkpointReachedCarinRespawnTextTag;

    unit lv_erik;

    unit lv_erikGravestone;

    timer lv_erikDeathTimer;

    int lv_erikDeathRallyDisplay;

    bool lv_erikRallyDisplayed;

    int lv_erikPath;

    unit lv_baleog;

    unit lv_baleogGravestone;

    timer lv_baleogDeathTimer;

    int lv_baleogDeathRallyDisplay;

    bool lv_baleogRallyDisplayed;

    int lv_baleogPath;

    unit lv_olaf;

    unit lv_olafGravestone;

    timer lv_olafDeathTimer;

    int lv_olafDeathRallyDisplay;

    bool lv_olafRallyDisplayed;

    int lv_olafPath;

    unit lv_longboatCaptain;

    unitgroup lv_longboatCrew;

    int lv_erikSelectionIndicator;

    int lv_baleogSelectionIndicator;

    int lv_olafSelectionIndicator;

    int lv_erikIdentityImage;

    int lv_baleogIdentityImage;

    int lv_olafIdentityImage;

};



struct libGDHL_gs_LostVikingsUI {

    int lv_heroStatsFrame;

    int lv_erikUnitStatusFrame;

    int lv_erikNameLabel;

    int lv_erikHPLabel;

    int lv_erikDownedLabel;

    int lv_baleogUnitStatusFrame;

    int lv_baleogNameLabel;

    int lv_baleogHPLabel;

    int lv_baleogDownedLabel;

    int lv_olafUnitStatusFrame;

    int lv_olafNameLabel;

    int lv_olafHPLabel;

    int lv_olafDownedLabel;

    int lv_lostVikingsIconFrame;

    int lv_erikSelectedIconImage;

    int lv_erikUnselectedIconImage;

    int lv_erikDeadImage;

    int lv_lostErikDeadImageOverlay;

    int lv_baleogSelectedIconImage;

    int lv_baleogUnselectedIconImage;

    int lv_baleogDeadImage;

    int lv_lostBaleogDeadImageOverlay;

    int lv_olafSelectedIconImage;

    int lv_olafUnselectedIconImage;

    int lv_olafDeadImage;

    int lv_lostOlafDeadImageOverlay;

    int lv_lostVikingsChannelFrame;

    int lv_lostVikingsOlafCastChannelBarFrame;

    int lv_lostVikingsBaleogCastChannelBarFrame;

    int lv_lostVikingsErikCastChannelBarFrame;

    int lv_lostVikingsOlafBehaviorChannelBarFrame;

    int lv_lostVikingsBaleogBehaviorChannelBarFrame;

    int lv_lostVikingsBaleogBehaviorChannelBarDurationBar;

    int lv_lostVikingsBaleogBehaviorChannelBarBehaviorLabel;

    int lv_lostVikingsErikBehaviorChannelBarFrame;

    int lv_lostVikingsErikBehaviorChannelBarDurationBar;

    int lv_lostVikingsErikBehaviorChannelBarBehaviorLabel;

    int lv_lostVikingsOlafBehaviorChannelBarDurationBar;

    int lv_lostVikingsOlafBehaviorChannelBarBehaviorLabel;

    int lv_olafDeathStatusFrame;

    int lv_baleogDeathStatusFrame;

    int lv_erikDeathStatusFrame;

    int lv_allDeathStatusFrame;

};



struct libGDHL_gs_HealingBeamUI {

    int lv_healingBeamTargetDisplayName;

    int lv_healingBeamTargetPortrait;

};



struct libGDHL_gs_MedicUI {

    int lv_mainPanel;

    int lv_medivacAlert;

    int lv_medivacCountdownNumber;

};



struct libGDHL_gs_MurkyUI {

    int lv_mainPanel;

    int lv_eggOk;

    int lv_eggBroken;

};



struct libGDHL_gs_RexxarUI {

    int lv_mainPanel;

    int lv_rexxarMishaUnitStatus;

    int lv_rexxarMishaHealth;

    int lv_rexxarMishaIcon;

    int lv_rexxarMishaDarkImage;

    int lv_rexxarMishaSkullImage;

};



struct libGDHL_gs_ThrallUI {

    int lv_mainPanel;

    int[libGDHL_gv_thrallTraitMaxStacks + 1] lv_counterImage;

};



// Variable Declarations

unitgroup libGDHL_gv_updateOnAnyVisibilityChangeUnitGroup;

bool libGDHL_gv_gPU2020EventEnabled;

bool libGDHL_gv_gPU2020Force01Rando;

fixed libGDHL_gv_gPU2020TimerDurationMod;

fixed libGDHL_gv_gPU2020Phase1Threshold;

fixed libGDHL_gv_gPU2020Phase2Threshold;

fixed libGDHL_gv_gPU2020Phase3Threshold;

fixed libGDHL_gv_gPU2020Phase4Threshold;

fixed libGDHL_gv_gPU2020Phase5Threshold;

timer libGDHL_gv_gPU2020GateTimer;

int libGDHL_gv_gPU2020EventPhase;

int libGDHL_gv_heroAbathurTriggerRegistrationVariable;

timer[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_abathurDeepTunnelPingTextLockoutTimer;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_abathurDeepTunnelPings;

unit[17] libGDHL_gv_abathurSymbioteMonstrosity;

unit[17] libGDHL_gv_abathurMonstrosity;

sound[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroAbathurSymbioteScreenSound;

fixed libGDHL_gv_heroAbathurSpikeBurstSplatScalar;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroAbathurSymbioteUnit;

point[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroAbathurSymbioteLookAt;

bool[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroAbathurSymbioteActive;

bool[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroAbathurSymbioteEventAdded;

bool libGDHL_gv_heroAbathurSymbioteDontLockCameraforCutscene;

bool[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroAbathurStopControlIgnoredforPlayer;

timer[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_abathurMonstrosityDeepTunnelPingTextLockoutTimer;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_abathurMonstrosityDeepTunnelPings;

fixed libGDHL_gv_heroAbathurMonstrosityTimedLifeIncrease;

fixed libGDHL_gv_heroAbathurMonstrosityHealthIncreasePerLevel;

fixed libGDHL_gv_heroAbathurEvolutionCompleteStacksCarryover;

int libGDHL_gv_heroArtanisTriggerRegistrationVariable;

bool[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroArtanisPhasePrismBoolean;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroArtanisSpearofAdunPurifierBeamTarget;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroArtanisSpearofAdunPurifierBeamUnit;

bool[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroArtanisSpearofAdunPurifierBeamPointOverride;

point[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroArtanisSpearofAdunPurifierBeamLastKnownPoint;

int libGDHL_gv_heroArthasTriggerRegistrationVariable;

int libGDHL_gv_heroAnubarakTriggerRegistrationVariable;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_cocoonTargets;

int libGDHL_gv_heroAzmodanTriggerRegistrationVariable;

unitgroup[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroAzmodanDemonicInvasionUnitGroup;

int libGDHL_gv_heroBarbarianTriggerRegistrationVariable;

int libGDHL_gv_heroBarbarianAncientSpearReDirectDistance;

int libGDHL_gv_heroButcherTriggerRegistrationVariable;

int libGDHL_gv_heroButcherFreshMeatMaxMeatCount;

int libGDHL_gv_heroChenTriggerRegistrationVariable;

point[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroChenWanderingKegMoveTo;

fixed[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroChenWanderingKegAngleMoveTo;

bool[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroChenWanderingKegActive;

bool[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroChenWanderingKegEventAdded;

fixed[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroChenWanderingKegHealthStore;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroChenStormEarthFireFatalDamageResponseCounter;

libGDHL_gs_ChenStormEarthFireUnits[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroChenStormEarthFireUnits;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroChenFreshestIngredientsRegenGlobeUnitGroup;

fixed[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroChenStaggerDamageModification;

libGDHL_gs_ChogallSet[libCore_gv_bALMaxTeams + 1] libGDHL_gv_chogallPairs;

int libGDHL_gv_heroCrusaderTriggerRegistrationVariable;

fixed libGDHL_gv_cruasder_ShieldGlarePathOfTheCrusade_DurationIncrease;

int libGDHL_gv_heroDiabloTriggerRegistrationVariable;

bool[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroDiabloInfernoBreathActive;

bool[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroDiabloInfernoBreathEventAdded;

int libGDHL_gv_heroDemonHunterTriggerRegistrationVariable;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroDemonHunterManticoreTarget;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroDemonHunterManticoreIncrementer;

int libGDHL_gv_heroDryadTriggerRegistrationVariable;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroDryadLeapingStrikeTarget;

int libGDHL_gv_heroDryadAbolishMagicIncrementer;

int libGDHL_gv_heroGreymaneTriggerRegistrationVariable;

int libGDHL_gv_heroFaerieDragonTriggerRegistrationVariable;

timer[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_faerieDragonPhaseShiftPingTextLockoutTimer;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_faerieDragonPhaseShiftPings;

timer[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_falstadFlightPingTextLockoutTimer;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_falstadFlightPings;

int libGDHL_gv_heroFalstadTriggerRegistrationVariable;

int libGDHL_gv_heroIllidanTriggerRegistrationVariable;

int libGDHL_gv_heroJainaTriggerRegistrationVariable;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroJainaWaterElemental;

int libGDHL_gv_heroJainaFrostbiteConstant;

fixed libGDHL_gv_bALHeroJainaIceBarrierDamageModifier;

fixed libGDHL_gv_heroJainaIcyVeinsManaCostModifier;

int libGDHL_gv_heroKaelthasTriggerRegistrationVariable;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_kaelthas_PhoenixUnit;

unitgroup[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_verdantSpheresUnitGroup;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroKaelthasPyroblastMissileUnit;

int libGDHL_gv_heroKerriganTriggerRegistrationVariable;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroKerriganUltraliskCurrentAttackTargetUnit;

int libGDHL_gv_heroETCTriggerRegistrationVariable;

int libGDHL_gv_heroLiLiTriggerRegistrationVariable;

unit[libCore_gv_bALMaxPlayers + 1][libCore_gv_bALMaxPlayers + 1] libGDHL_gv_hero_LiLi_ActiveCloudSerpents;

int libGDHL_gv_heroLeoricTriggerRegistrationVariable;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_hero_Leoric_WraithWalk_Unit;

fixed[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_hero_Leoric_Undying_Dead_Duration;

fixed[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_hero_Leoric_Undying_Dead_Time_Saved;

libGDHL_gs_LeroicUI libGDHL_gv_leoricUI;

int libGDHL_gv_heroLostVikingsTriggerRegistrationVariable;

libGDHL_gs_LostVikingsPlayer[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_lostVikingsPlayer;

string[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_lostVikingsUnitStatusBars_BehaviorChannelBarCurrentBehaviorForOlaf;

string[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_lostVikingsUnitStatusBars_BehaviorChannelBarCurrentBehaviorForBaleog;

string[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_lostVikingsUnitStatusBars_BehaviorChannelBarCurrentBehaviorForErik;

libGDHL_gs_LostVikingsUI libGDHL_gv_lostVikingsUI;

int libGDHL_gv_heroMalfurionTriggerRegistrationVariable;

fixed libGDHL_gv_bALHeroMalfurionDruidsGiftManaCostReduction;

int libGDHL_gv_heroMedicTriggerRegistrationVariable;

libGDHL_gs_HealingBeamUI libGDHL_gv_healingBeamUI;

libGDHL_gs_MedicUI libGDHL_gv_medicUI;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_medivacTransmissionPortraitOverride;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_medicSafeguardCasterOwner;

int libGDHL_gv_heroMonkTriggerRegistrationVariable;

fixed[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroMonkFacing;

int libGDHL_gv_heroMuradinTriggerRegistrationVariable;

fixed libGDHL_gv_heroMuradinHaymakerLaunchDistance;

fixed libGDHL_gv_heroMuradinHaymakerCutoffDistance;

int libGDHL_gv_heroMurkyTriggerRegistrationVariable;

libGDHL_gs_MurkyUI libGDHL_gv_murkyUI;

bool[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_murkyDeathOverlayActive;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_murkyRevealPing;

timer[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_murkyEggDeathTimer;

fixed libGDHL_gv_mURKY_BAL_EGG_DEATH_TALENT;

unitgroup[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroMurkyEggHuntUnitGroup;

int libGDHL_gv_heroNecromancerTriggerRegistrationVariable;

unitgroup[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroNecromancerSkeletonMasteryUnitGroup;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroNecromancerMortalWoundsCasterOwner;

fixed[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroNecromancerMortalWoundsNumbers;

int libGDHL_gv_heroNovaTriggerRegistrationVariable;

unitgroup[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_novaTripleTapMissileGroup;

bool[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_novaTripleTappingRedirectNecessary;

bool[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_novaTripleTappingBoolean;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_novaTripleTapTarget;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_novaTripleTapCaster;

point[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_novaTripleTapTargetLastPoint;

int libGDHL_gv_heroRaynorTriggerRegistrationVariable;

bool[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroRaynorRaynorsBansheeIsAttacking;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroRaynorBansheeTarget;

int libGDHL_gv_heroRehgarTriggerRegistrationVariable;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroRehgarTotemicProjectionTalentActiveTotem;

fixed[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroRehgarElecrtricChargeLeechCombined;

int libGDHL_gv_heroRexxarTriggerRegistrationVariable;

libGDHL_gs_RexxarUI libGDHL_gv_rexxarUI;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_hunterGathererGlobe;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_rexxarMishaUnit;

point[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroRexxarMishaLastKnownTargetLocation;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroRexxarMishaPursuitTarget;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_commandMishaTargetUnit;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_commandMishaTargetMoonwell;

point[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_commandMishaTargetPoint;

bool[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_rexxarIsInStasis;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_rexxarStasisOrderCount;

timer[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_mishaDeathTimer;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_mishaCurrentAIState;

int libGDHL_gv_heroSgtHammerTriggerRegistrationVariable;

point[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroSgtHammerOrbitalBFGOriginPoint;

point[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroSgtHammerOrbitalBFGTargetPoint;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroSgtHammerOrbitalBFGUnit;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroSgtHammerOrbitalBFGDummy;

bool[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroSgtHammerSgtHammerWasAboveGroundWhenSheCast;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroSgtHammerPathDisplay;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroSgtHammerPathDisplayEnemies;

bool libGDHL_gv_heroSgtHammerUseEffectForBFGTargetCalculation;

int libGDHL_gv_heroStitchesTriggerRegistrationVariable;

int libGDHL_gv_heroSylvanasTriggerRegistrationVariable;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroSylvanasMindControlTargetUnit;

int libGDHL_gv_heroSylvanasActiveMindControlCounter;

int libGDHL_gv_heroTassadarTriggerRegistrationVariable;

int libGDHL_gv_heroThrallTriggerRegistrationVariable;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_thrallTraitCount;

libGDHL_gs_ThrallUI libGDHL_gv_thrallUI;

point[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_thrallPosition;

int libGDHL_gv_heroTinkerTriggerRegistrationVariable;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroTinkerFocusTurretsTarget;

int libGDHL_gv_heroTychusTriggerRegistrationVariable;

fixed[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroTychusThatsTheStuffCombinedHeal;

fixed[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroTychusThatsTheStuffHealPreviewCombinedDamage;

int libGDHL_gv_heroTychusThatsTheStuffCastCount;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroTychusOverkillTargetedTarget;

fixed libGDHL_gv_tychus_RunAndGunRollingReload_DurationInc;

int libGDHL_gv_heroTyraelTriggerRegistrationVariable;

timer[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_sanctifcationTimer;

int libGDHL_gv_heroTyrandeTriggerRegistrationVariable;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroTyrandeElunesChosenTarget;

int libGDHL_gv_heroWitchDoctorTriggerRegistrationVariable;

point[11] libGDHL_gv_heroWitchDoctorFacing;

actor[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroWitchDoctorGargantuanThrowActor;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroWitchDoctorGargantuanThrowUnit;

unitgroup[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroWitchDoctorGargantuanAggroGroup;

fixed libGDHL_gv_witchDoctor_Gargantuan_AggroRange_C;

fixed libGDHL_gv_witchDoctor_Gargantuan_LeashRange_C;

fixed libGDHL_gv_witchDoctor_Gargantuan_PersonalSpace_C;

int libGDHL_gv_heroWizardTriggerRegistrationVariable;

int libGDHL_gv_heroUtherTriggerRegistrationVariable;

fixed[libCore_gv_bALMaxPlayers + 1][3] libGDHL_gv_heroUtherBlessedChampionStoredHealing;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroUtherBlessedChampionRegisteredHeals;

int libGDHL_gv_heroZagaraTriggerRegistrationVariable;

int[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroZagaraMaxNydusWorms;

unitgroup[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroZagaraNydusWormUnitGroup;

unit[libCore_gv_bALMaxPlayers + 1] libGDHL_gv_heroZagaraNydusWorms;

int libGDHL_gv_heroZeratulTriggerRegistrationVariable;

bool libGDHL_gv_ragnarosExists;



// Function Declarations

void libGDHL_gf_GPU2020RunEvent (bool lp_rando);

void libGDHL_gf_SiegeUpdateAbilityPowerOnSummonedUnits (unit lp_unit);

void libGDHL_gf_RestoreHeight (unit lp_unit);

point libGDHL_gf_TargetCalculation (point lp_targetPoint, point lp_casterPoint, region lp_bFGRegion);

void libGDHL_gf_HeroicSummonsApplySummonedUnitTalentMonitor (unit lp_casterUnit, unit lp_summonedUnit);

void libGDHL_gf_HeroAbathurIncrementHeroCountFunction ();

void libGDHL_gf_HeroAbathurDecrementHeroCountFunction ();

void libGDHL_gf_AbathurUltimateEvolutionEnded (trigger t);

void libGDHL_gf_SendEventAbathurUltimateEvolutionEnded (int lp_abathurPlayer, unit lp_clonedUnit);

int libGDHL_gf_AbathurUltimateEvolutionEndedAbathurPlayer ();

unit libGDHL_gf_AbathurUltimateEvolutionEndedClonedUnit ();

void libGDHL_gf_AbathurUltimateEvolutionHeroCopied (trigger t);

void libGDHL_gf_SendEventAbathurUltimateEvolutionHeroCopied (int lp_ownerofAbathur, int lp_ownerofTarget);

int libGDHL_gf_AbathurUltimateEvolutionHeroCopiedAbathurOwner ();

int libGDHL_gf_AbathurUltimateEvolutionHeroCopiedTargetOwner ();

void libGDHL_gf_AbathurSymbiote (trigger t);

void libGDHL_gf_SendEventAbathurSymbiote (int lp_abathurPlayer, unit lp_symbioteUnit, unit lp_symbioteTarget);

int libGDHL_gf_AbathurSymbioteAbathurPlayer ();

unit libGDHL_gf_AbathurSymbioteUnit ();

unit libGDHL_gf_AbathurSymbioteTarget ();

void libGDHL_gf_HeroArtanisIncrementHeroCountFunction ();

void libGDHL_gf_HeroArtanisDecrementHeroCountFunction ();

void libGDHL_gf_HeroArtanisSpearofAdunPurifierBeamAI (unit lp_purifierBeam, int lp_owner);

void libGDHL_gf_HeroArthasIncrementHeroCountFunction ();

void libGDHL_gf_HeroArthasDecrementHeroCountFunction ();

void libGDHL_gf_HeroAnubarakIncrementHeroCountFunction ();

void libGDHL_gf_HeroAnubarakDecrementHeroCountFunction ();

void libGDHL_gf_HeroAzmodanIncrementHeroCountFunction ();

void libGDHL_gf_HeroAzmodanDecrementHeroCountFunction ();

void libGDHL_gf_HeroBarbarianIncrementHeroCountFunction ();

void libGDHL_gf_HeroBarbarianDecrementHeroCountFunction ();

void libGDHL_gf_HeroButcherIncrementHeroCountFunction ();

void libGDHL_gf_HeroButcherDecrementHeroCountFunction ();

void libGDHL_gf_HeroChenIncrementHeroCountFunction ();

void libGDHL_gf_HeroChenDecrementHeroCountFunction ();

void libGDHL_gf_HeroChenStormEarthFireCleanup (int lp_chenOwner, bool lp_suicide, unit lp_suicideSource);

void libGDHL_gf_HeroCrusaderIncrementHeroCountFunction ();

void libGDHL_gf_HeroCrusaderDecrementHeroCountFunction ();

void libGDHL_gf_HeroDiabloIncrementHeroCountFunction ();

void libGDHL_gf_HeroDiabloDecrementHeroCountFunction ();

void libGDHL_gf_HeroDemonHunterIncrementHeroCountFunction ();

void libGDHL_gf_HeroDemonHunterDecrementHeroCountFunction ();

void libGDHL_gf_HeroDryadIncrementHeroCountFunction ();

void libGDHL_gf_HeroDryadDecrementHeroCountFunction ();

void libGDHL_gf_HeroGreymaneIncrementHeroCountFunction ();

void libGDHL_gf_HeroGreymaneDecrementHeroCountFunction ();

void libGDHL_gf_HeroGuldanDarkBargainDeathTimerHoldandSwap (int lp_team, int lp_frameIndex, fixed lp_waitTime);

void libGDHL_gf_HeroFaerieDragonIncrementHeroCountFunction ();

void libGDHL_gf_HeroFaerieDragonDecrementHeroCountFunction ();

void libGDHL_gf_HeroFalstadIncrementHeroCountFunction ();

void libGDHL_gf_HeroFalstadDecrementHeroCountFunction ();

void libGDHL_gf_HeroIllidanIncrementHeroCountFunction ();

void libGDHL_gf_HeroIllidanDecrementHeroCountFunction ();

void libGDHL_gf_HeroJainaIncrementHeroCountFunction ();

void libGDHL_gf_HeroJainaDecrementHeroCountFunction ();

void libGDHL_gf_HeroJainaWaterElementalVehicleControl (unit lp_jaina, int lp_player);

void libGDHL_gf_HeroKaelthasIncrementHeroCountFunction ();

void libGDHL_gf_HeroKaelthasDecrementHeroCountFunction ();

void libGDHL_gf_HeroKerriganIncrementHeroCountFunction ();

void libGDHL_gf_HeroKerriganDecrementHeroCountFunction ();

void libGDHL_gf_HeroKerriganUltraliskLogicController (int lp_owningPlayer, unit lp_ultraliskUnit);

void libGDHL_gf_HeroETCIncrementHeroCountFunction ();

void libGDHL_gf_HeroETCDecrementHeroCountFunction ();

void libGDHL_gf_HeroLiLiIncrementHeroCountFunction ();

void libGDHL_gf_HeroLiLiDecrementHeroCountFunction ();

void libGDHL_gf_HeroLiLiCloudSerpentCloakController (unit lp_owningUnit, unit lp_serpentUnit);

void libGDHL_gf_HeroLeoricIncrementHeroCountFunction ();

void libGDHL_gf_HeroLeoricDecrementHeroCountFunction ();

void libGDHL_gf_LeoricUIHeroSpecificStatusFrameUpdateLeoricUIValue (int lp_player);

void libGDHL_gf_LeoricUIHeroSpecificStatusFrameShowHideLeoricTraitUI (bool lp_showHide, int lp_player);

void libGDHL_gf_LeoricUIClearUIForHeroSwap (int lp_player);

void libGDHL_gf_LeoricUIShowHideCustomDeathOverlay (bool lp_showHide, int lp_player);

void libGDHL_gf_HeroLostVikingsIncrementHeroCountFunction ();

void libGDHL_gf_HeroLostVikingsDecrementHeroCountFunction ();

void libGDHL_gf_VikingBriberyProc (int lp_killingPlayer, unit lp_minion);

void libGDHL_gf_VikingDownGiveCarryBehaviorsToGravestone (unit lp_viking, unit lp_gravestone);

void libGDHL_gf_VikingDownStartRespawnTimer (unit lp_viking, timer lp_respawnTimer, bool lp_modify, fixed lp_modifyNumber, string lp_modifyUnitType);

void libGDHL_gf_VikingDownRespawnVikingforPlayer (unit lp_viking);

void libGDHL_gf_VikingDownUpdateStatsAwardXPMakeAnnouncements (unit lp_downedViking, int lp_killingPlayer);

void libGDHL_gf_HeroLostVikingsPlayAgainTeleportViking (unit lp_vikingToTeleport, point lp_locationToTeleportToo);

void libGDHL_gf_LostVikingsHeroConsoleUnitStatusBarsSetUnitForBars (int lp_player);

void libGDHL_gf_LostVikingsUISetupUIForPlayer (int lp_player);

void libGDHL_gf_LostVikingsUIUnSetupUIForPlayer (int lp_player);

void libGDHL_gf_LostVikingsUIUpdateUIStateForSingleViking (int lp_player, unit lp_viking, int lp_state);

void libGDHL_gf_LostVikingsUIUpdateAllSelectionDownedStatusForPlayer (int lp_player);

void libGDHL_gf_LostVikingsUIStartStopRespawnTimerOverlay (unit lp_unit, int lp_player, bool lp_alive);

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

void libGDHL_gf_LostVikingsUpdateObserverUI (int lp_dialogToUpdate, int lp_player, int lp_lostVikingPlayer);

void libGDHL_gf_HeroMalfurionIncrementHeroCountFunction ();

void libGDHL_gf_HeroMalfurionDecrementHeroCountFunction ();

void libGDHL_gf_HeroMedicIncrementHeroCountFunction ();

void libGDHL_gf_HeroMedicDecrementHeroCountFunction ();

string libGDHL_gf_HealingBeamGetPortraitPathforUnit (unit lp_unit);

void libGDHL_gf_MedicUIHealingBeam (bool lp_reset, int lp_medicPlayer, unit lp_healingBeamTarget);

text libGDHL_gf_MedicUIUnitDisplayName (unit lp_unit);

void libGDHL_gf_UIHeroSpecificStatusFrameShowHideMedivacUI (bool lp_showHide, int lp_player);

void libGDHL_gf_HeroMonkIncrementHeroCountFunction ();

void libGDHL_gf_HeroMonkDecrementHeroCountFunction ();

void libGDHL_gf_HeroMuradinIncrementHeroCountFunction ();

void libGDHL_gf_HeroMuradinDecrementHeroCountFunction ();

void libGDHL_gf_HeroMurkyIncrementHeroCountFunction ();

void libGDHL_gf_HeroMurkyDecrementHeroCountFunction ();

void libGDHL_gf_UIHeroSpecificStatusFrameUpdateMurkyEggStatus (int lp_player);

void libGDHL_gf_HeroMurkyCreateEggAtBaseforPlayer (int lp_player);

void libGDHL_gf_HeroMurkyRespawnLogicCheck (int lp_player);

void libGDHL_gf_HeroNecromancerIncrementHeroCountFunction ();

void libGDHL_gf_HeroNecromancerDecrementHeroCountFunction ();

void libGDHL_gf_HeroNovaIncrementHeroCountFunction ();

void libGDHL_gf_HeroNovaDecrementHeroCountFunction ();

void libGDHL_gf_HeroRaynorIncrementHeroCountFunction ();

void libGDHL_gf_HeroRaynorDecrementHeroCountFunction ();

void libGDHL_gf_HeroRehgarIncrementHeroCountFunction ();

void libGDHL_gf_HeroRehgarDecrementHeroCountFunction ();

void libGDHL_gf_HeroRexxarIncrementHeroCountFunction ();

void libGDHL_gf_HeroRexxarDecrementHeroCountFunction ();

void libGDHL_gf_RexxarUISetup (int lp_rexxarPlayer, unit lp_mishaUnit);

void libGDHL_gf_RexxarUICleanup (int lp_rexxarPlayer);

void libGDHL_gf_HeroRexxarUnleashtheBoarsTeleportValidation (unit lp_boarUnit, unit lp_targetUnit, fixed lp_teleportDistanceThreshold);

void libGDHL_gf_HeroRexxarMishaThink (int lp_player);

void libGDHL_gf_HeroRexxarOrderMishaMoveNearPoint (unit lp_rexxar, unit lp_misha, point lp_target);

void libGDHL_gf_HeroRexxarMishaStopMishaandResetThink (unit lp_mishaUnit);

void libGDHL_gf_HeroRexxarMishaFocusOff (int lp_player);

void libGDHL_gf_HeroSgtHammerIncrementHeroCountFunction ();

void libGDHL_gf_HeroSgtHammerDecrementHeroCountFunction ();

void libGDHL_gf_HeroStitchesIncrementHeroCountFunction ();

void libGDHL_gf_HeroStitchesDecrementHeroCountFunction ();

void libGDHL_gf_HeroSylvanasIncrementHeroCountFunction ();

void libGDHL_gf_HeroSylvanasDecrementHeroCountFunction ();

void libGDHL_gf_HeroTassadarIncrementHeroCountFunction ();

void libGDHL_gf_HeroTassadarDecrementHeroCountFunction ();

void libGDHL_gf_HeroThrallIncrementHeroCountFunction ();

void libGDHL_gf_HeroThrallDecrementHeroCountFunction ();

void libGDHL_gf_UIHeroSpecificStatusFrameUpdateThrallStatus (int lp_player);

void libGDHL_gf_UIClearThrallFrostwolfCount (int lp_player);

void libGDHL_gf_HeroTinkerIncrementHeroCountFunction ();

void libGDHL_gf_HeroTinkerDecrementHeroCountFunction ();

void libGDHL_gf_HeroTychusIncrementHeroCountFunction ();

void libGDHL_gf_HeroTychusDecrementHeroCountFunction ();

void libGDHL_gf_HeroTyraelIncrementHeroCountFunction ();

void libGDHL_gf_HeroTyraelDecrementHeroCountFunction ();

void libGDHL_gf_HeroTyrandeIncrementHeroCountFunction ();

void libGDHL_gf_HeroTyrandeDecrementHeroCountFunction ();

void libGDHL_gf_HeroWitchDoctorIncrementHeroCountFunction ();

void libGDHL_gf_HeroWitchDoctorDecrementHeroCountFunction ();

void libGDHL_gf_HeroWitchDoctorGargantuanAI (unit lp_witchDoctor, unit lp_george, int lp_player, point lp_castPosition);

void libGDHL_gf_HeroWizardIncrementHeroCountFunction ();

void libGDHL_gf_HeroWizardDecrementHeroCountFunction ();

void libGDHL_gf_HeroUtherIncrementHeroCountFunction ();

void libGDHL_gf_HeroUtherDecrementHeroCountFunction ();

void libGDHL_gf_HeroUtherBlessedChampionSetHeal (int lp_player);

void libGDHL_gf_HeroZagaraIncrementHeroCountFunction ();

void libGDHL_gf_HeroZagaraDecrementHeroCountFunction ();

void libGDHL_gf_HeroZagaraUpdateNydusWormLineofSuccession (int lp_player);

void libGDHL_gf_HeroZeratulIncrementHeroCountFunction ();

void libGDHL_gf_HeroZeratulDecrementHeroCountFunction ();



// Trigger Declarations

trigger libGDHL_gt_IncludeGameDataHelper;

trigger libGDHL_gt_SummonedUnitAPApplication;

trigger libGDHL_gt_SummonedUnitImposingPresenceApplication;

trigger libGDHL_gt_SummonedUnitDamageDealtEnumTargetCasterHandled;

trigger libGDHL_gt_HeroGenericCameraShakeLightTarget;

trigger libGDHL_gt_HeroGenericCameraShakeMediumTarget;

trigger libGDHL_gt_HeroGenericCameraShakeHeavyTarget;

trigger libGDHL_gt_HeroGenericCameraShakeAutoCaster;

trigger libGDHL_gt_HeroGenericCameraShakeLightCaster;

trigger libGDHL_gt_HeroGenericCameraShakeMediumCaster;

trigger libGDHL_gt_HeroGenericCameraShakeHeavyCaster;

trigger libGDHL_gt_HeroGenericSpeedRibbonController;

trigger libGDHL_gt_HeroGenericSlowFXController;

trigger libGDHL_gt_HeroGenericRevealCloakedPeriodicDamageSource;

trigger libGDHL_gt_HeroGenericRevealCloakedOneOffDamageSource;

trigger libGDHL_gt_HeroGenericSuperStealthActivateDeactivate;

trigger libGDHL_gt_HeroAllHeroRespec;

trigger libGDHL_gt_HearthstoneTeleport;

trigger libGDHL_gt_HearthstoneChannelingBuffOn;

trigger libGDHL_gt_HearthstoneChannelingBuffOff;

trigger libGDHL_gt_HearthstoneChannelingBuffCanceled;

trigger libGDHL_gt_HeroicSummonsUnitGainsHeroicSummonBehavior;

trigger libGDHL_gt_HeroAbathurDeepTunnelPing;

trigger libGDHL_gt_HeroAbathurAbathurExitsTransport;

trigger libGDHL_gt_HeroAbathurSymbiote;

trigger libGDHL_gt_HeroAbathurCarapaceRegenerativeMicrobes;

trigger libGDHL_gt_HeroAbathurSymbioteScreenEffect;

trigger libGDHL_gt_HeroAbathurStabFacer;

trigger libGDHL_gt_HeroAbathurVolatileMutationUltimateEvolution;

trigger libGDHL_gt_HeroAbathurUltimateEvolutionStartControl;

trigger libGDHL_gt_HeroAbathurUltimateEvolutionStopControl;

trigger libGDHL_gt_HeroAbathurUltimateEvolutionGameEnd;

trigger libGDHL_gt_HeroAbathurUltimateEvolutionUnitDead;

trigger libGDHL_gt_HeroAbathurLocustSpawned;

trigger libGDHL_gt_HeroAbathurLocustNestSetFacing;

trigger libGDHL_gt_HeroAbathurLocustNestCast;

trigger libGDHL_gt_HeroAbathurSymbioteHivemindSingleTarget;

trigger libGDHL_gt_HeroAbathurSymbioteHivemindStab;

trigger libGDHL_gt_HeroAbathurMonstrosityDeepTunnelPing;

trigger libGDHL_gt_HeroAbathurMonstrosityAddMinionKillStacks;

trigger libGDHL_gt_HeroAbathurMonstrositySymbioteendHooktoAI;

trigger libGDHL_gt_HeroAbathurMonstrosityDeselectedHooktoAI;

trigger libGDHL_gt_HeroAbathurMonstrosityUnhookAI;

trigger libGDHL_gt_HeroAbathurMonstrosityKillInitialTarget;

trigger libGDHL_gt_HeroAbathurMonstrosityAddSymbioteStacks;

trigger libGDHL_gt_HeroAbathurSymbiotedMonstrositySymbioted;

trigger libGDHL_gt_HeroAbathurSymbioteMinimapIcon;

trigger libGDHL_gt_HeroArtanisProtectorofAiurHeroTakedownProc;

trigger libGDHL_gt_HeroArtanisBladeDashPhasePrismCast;

trigger libGDHL_gt_HeroArtanisTwinBladesZealotChargeTargeting;

trigger libGDHL_gt_HeroArtanisSpearofAdunPurifierBeamSetTarget;

trigger libGDHL_gt_HeroArtanisSpearofAdunPurifierBeamUnitCreated;

trigger libGDHL_gt_HeroArtanisSpearofAdunPurifierBeamRedirectTarget2ElectricBoogaloo;

trigger libGDHL_gt_HeroArthasAntiMagicShellHeal;

trigger libGDHL_gt_HeroArthasArmyoftheDeadLegionofNorthrendTalentSpawn;

trigger libGDHL_gt_HeroArthasArmyoftheDeadNPCDeathProc;

trigger libGDHL_gt_HeroArthasArmyoftheDeadTakedownDeathProc;

trigger libGDHL_gt_HeroArthasArmyoftheDeadMinionAITakeoverDeath;

trigger libGDHL_gt_HeroArthasArmyoftheDeadMinionAITakeoverTransport;

trigger libGDHL_gt_HeroArthasArmyoftheDeadPortGhouls;

trigger libGDHL_gt_HeroArthasArmyoftheDeadGhoulSpawned;

trigger libGDHL_gt_HeroArthasDeathPactTalentTakedownTokenProc;

trigger libGDHL_gt_HeroAnubarakBurrowChargeSuppressCollision;

trigger libGDHL_gt_HeroAnubarakBurrowChargeMaxRange;

trigger libGDHL_gt_HeroAnubarakBurrowChargeCancel;

trigger libGDHL_gt_HeroAnubarakBurrowChargeUnpathableCheck;

trigger libGDHL_gt_HeroAnubarakBeetleJuicedMasterySpecialDeathStateProc;

trigger libGDHL_gt_HeroAnubarakCocoonUnitHit;

trigger libGDHL_gt_HeroAnubarakCocoonSpawned;

trigger libGDHL_gt_HeroAnubarakCocoonSoundEffect;

trigger libGDHL_gt_HeroAnubarakCocoonOn;

trigger libGDHL_gt_HeroAnubarakCocoonOff;

trigger libGDHL_gt_HeroAzmodanSpawned;

trigger libGDHL_gt_HeroAzmodanDemonicInvasionAddUnitstoUnitGroup;

trigger libGDHL_gt_HeroAzmodanDemonicInvasionUnpathableLocation;

trigger libGDHL_gt_HeroAzmodanDemonicInvasionRemoveExistingDemons;

trigger libGDHL_gt_HeroAzmodanAnnihilationStackScoreValues;

trigger libGDHL_gt_HeroAzmodanAnnihilationStackScoreValuesReset;

trigger libGDHL_gt_HeroAzmodanCustomKillVO;

trigger libGDHL_gt_HeroAzmodanGlobeTalentPicked;

trigger libGDHL_gt_HeroAzmodanDemonCreate;

trigger libGDHL_gt_HeroAzmodanDemonGeneralBirthFacing;

trigger libGDHL_gt_HeroSonyaWrathoftheBerserkerBuffDurationExtension;

trigger libGDHL_gt_HeroBarbarianAncientSpearLaunchBarbarianUsed;

trigger libGDHL_gt_HeroBarbarianLeap;

trigger libGDHL_gt_HeroBarbarianLeapRefactor;

trigger libGDHL_gt_HeroBarbarianLeapArreatCraterForcedDestruction;

trigger libGDHL_gt_HeroButcherRuthlessOnslaughtTargetAudioTelegraph;

trigger libGDHL_gt_HeroButcherRuthlessOnslaughtTravelValidation;

trigger libGDHL_gt_HeroButcherRuthlessOnslaughtCast;

trigger libGDHL_gt_HeroButcherRuthlessOnslaughtCancelAnimationHook;

trigger libGDHL_gt_HeroButcherButcherParticipatedInTakedown;

trigger libGDHL_gt_HeroButcherFreshMeatVehiclePickup;

trigger libGDHL_gt_HeroButcherFreshMeatVehicleOccupy;

trigger libGDHL_gt_HeroButcherFreshMeatUpdateStackCounter;

trigger libGDHL_gt_HeroChenWanderingKegActivate;

trigger libGDHL_gt_HeroChenWanderingKegDeactivate;

trigger libGDHL_gt_HeroChenStormEarthFireTimedLifeIncrease;

trigger libGDHL_gt_HeroChenStormEarthAndFireStasis;

trigger libGDHL_gt_HeroChenStormEarthAndFireTimestop;

trigger libGDHL_gt_HeroChenStormEarthAndFireStasisCleanup;

trigger libGDHL_gt_HeroChenStormEarthFireActivatedNew;

trigger libGDHL_gt_HeroChenElementDies;

trigger libGDHL_gt_HeroChenElementFatalDamageResponse;

trigger libGDHL_gt_HeroChenExpirationCleanup;

trigger libGDHL_gt_HeroChenStormEarthFireEarthAbility;

trigger libGDHL_gt_HeroChenSwiftReflexesTalentMissed;

trigger libGDHL_gt_HeroChenFreshestIngredientsTalentProc;

trigger libGDHL_gt_HeroChenStaggerGiftOfTheOxTalentDamageModification;

trigger libGDHL_gt_HeroChenStaggerGiftOfTheOxTalentDamageModificationReset;

trigger libGDHL_gt_HeroChenStaggerDamageResponse;

trigger libGDHL_gt_HeroChenStaggerDisplayUpdate;

trigger libGDHL_gt_CrusaderFallingSwordTeleport;

trigger libGDHL_gt_CrusaderFallingSwordFinalSet;

trigger libGDHL_gt_CrusaderFallingSwordSuppressCollision;

trigger libGDHL_gt_HeroDiabloOverpowerSetFacing;

trigger libGDHL_gt_HeroDiabloInfernoBreathCast;

trigger libGDHL_gt_HeroDiabloInfernoBreathEnd;

trigger libGDHL_gt_HeroDiabloEternalSoulstoneRessurection;

trigger libGDHL_gt_HeroDiabloResetEternalSoulstoneRessurection;

trigger libGDHL_gt_HeroDiabloBlackSoulstoneStackTalentPicked;

trigger libGDHL_gt_HeroDemonHunterVaultDamageBuff;

trigger libGDHL_gt_HeroDemonHunterManticoreProc;

trigger libGDHL_gt_HeroDryadLeapingStrikeSetTargetVariable;

trigger libGDHL_gt_HeroDryadLeapingStrikeFindLandingLocation;

trigger libGDHL_gt_HeroDryadLeapingStrikeCreateAttackPersistent;

trigger libGDHL_gt_HeroDryadNaturesToxinHandleApplication;

trigger libGDHL_gt_HeroDryadWispDividingWispDuration;

trigger libGDHL_gt_HeroDryadDanceCancelOrders;

trigger libGDHL_gt_HeroDryadAbolishMagicBehaviorActivate;

trigger libGDHL_gt_HeroDryadAbolishMagicBehaviorDeactivate;

trigger libGDHL_gt_HeroDryadAbolishMagicCCRecognition;

trigger libGDHL_gt_HeroDryadActivateCameraSettings;

trigger libGDHL_gt_HeroDryadDeactivateCameraSettings;

trigger libGDHL_gt_HeroDryadActivateCameraforSymbiote;

trigger libGDHL_gt_HeroDryadLossofControlCamera;

trigger libGDHL_gt_HeroGreymaneGofortheThroatSpecialDeathProcs;

trigger libGDHL_gt_HeroGreymaneActorSoundSwaps;

trigger libGDHL_gt_HeroGreymaneTalentWizenedDuelistDeath;

trigger libGDHL_gt_HeroFaerieDragonPhaseShiftPing;

trigger libGDHL_gt_HeroFaerieDragonPhaseShiftCamera;

trigger libGDHL_gt_HeroFaerieDragonPixieCharmChargeCountProc;

trigger libGDHL_gt_HeroFalstadDishonorableDischargeHeroKillRefreshCooldown;

trigger libGDHL_gt_HeroFalstadFlightPing;

trigger libGDHL_gt_HeroFalstadFlightCameraHeightRestore;

trigger libGDHL_gt_HeroFalstadWingmanVariables;

trigger libGDHL_gt_HeroIllidanApplyFotBCooldownonInventoryUse;

trigger libGDHL_gt_HeroIllidanMetamorphosisAvatarApplyHealthBuff;

trigger libGDHL_gt_HeroIllidanTheHuntNowhereToHideTalentActivate;

trigger libGDHL_gt_HeroIllidanBladesOfAzzinothAddCharge;

trigger libGDHL_gt_HeroIllidanUnendingHatredHeroTakedown;

trigger libGDHL_gt_HeroIllidanUnendingHatredNPCKill;

trigger libGDHL_gt_HeroIllidanMetamorphisisUnendingHatredHearthstoneUsed;

trigger libGDHL_gt_HeroJainaWaterElementalCreated;

trigger libGDHL_gt_HeroJainaWaterElementalCommand;

trigger libGDHL_gt_HeroJainaWaterElementalSummonedUnitSpecialCaseInteraction;

trigger libGDHL_gt_HeroJainaFrostboltWintermuteCast;

trigger libGDHL_gt_HeroJainaConeofColdWintermuteCast;

trigger libGDHL_gt_HeroJainaBlizzardWintermuteCast;

trigger libGDHL_gt_HeroJainaWaterElementalVehicleInitial;

trigger libGDHL_gt_HeroJainaFrostbiteIceblockItem;

trigger libGDHL_gt_HeroJainaFrostbiteQuestReset;

trigger libGDHL_gt_HeroJainaChilledDamageResponse;

trigger libGDHL_gt_HeroJainaFrostbittenCompletionDummy;

trigger libGDHL_gt_HeroJainaImprovedIceBlockOverlayOn;

trigger libGDHL_gt_HeroJainaImprovedIceBlockOverlayOff;

trigger libGDHL_gt_HeroKaelthasPhoenixSpawnSelection;

trigger libGDHL_gt_HeroKaelthasTwinSpheresTalentPickCooldownReset;

trigger libGDHL_gt_HeroKaelthasPyroblastMissileCreated;

trigger libGDHL_gt_HeroKerriganUltraliskSummonUltralisk;

trigger libGDHL_gt_HeroKerriganUltraliskUpdateOrdersOnIssueOrderAbility;

trigger libGDHL_gt_HeroKerriganUltraliskUpdateOrdersOnIssueOrderAbilitySummonedUnitSpecialCaseInteraction;

trigger libGDHL_gt_HeroKerriganUltraliskUpdateOrdersOnIssueOrderAbilityPoint;

trigger libGDHL_gt_HeroKerriganUltraliskDies;

trigger libGDHL_gt_HeroKerriganImpalingBladesKineticFulminationTokenTransfer;

trigger libGDHL_gt_HeroETCProgRockTalentRegenGlobeProc;

trigger libGDHL_gt_HeroL90ETCPowerslideTargetCheck;

trigger libGDHL_gt_HeroL90ETCStageDiveTeleportUnit;

trigger libGDHL_gt_HeroL90ETCStageDiveFinalSet;

trigger libGDHL_gt_HeroL90ETCMoshPitOn;

trigger libGDHL_gt_HeroLiLiCloudSerpentTurretSerpentSummonandSimplifiedAI;

trigger libGDHL_gt_HeroLiLiCloudSerpentSummonandSimplifiedAI;

trigger libGDHL_gt_HeroLiLiCloudSerpentAttackMimic;

trigger libGDHL_gt_LeoricSpawn;

trigger libGDHL_gt_HeroLeoricEntombForcedDestruction;

trigger libGDHL_gt_HeroLeoricWraithWalkDevouringMawSpecialCase;

trigger libGDHL_gt_HeroLeoricWraithWalkCast;

trigger libGDHL_gt_LeoricUndyingStart;

trigger libGDHL_gt_LeoricUndyingEnd;

trigger libGDHL_gt_LeoricSwappedDuringUndying;

trigger libGDHL_gt_LeoricUndyingHealingDeathTimerReduction;

trigger libGDHL_gt_LeoricUIInitialize;

trigger libGDHL_gt_LeoricUICleanUpUIForHeroSwap;

trigger libGDHL_gt_LeoricFealtyUntoDeathEnemyNPCProcListener;

trigger libGDHL_gt_LeoricFealtyUntoDeathAlliedNPCProcListener;

trigger libGDHL_gt_HeroLeoricOsseinRenewalTalentGlobeProc;

trigger libGDHL_gt_HeroLeoricShroudOfTheDeadKingFloatingText;

trigger libGDHL_gt_HeroLostVikingsVikingBriberyNPCProcListener;

trigger libGDHL_gt_HeroLostVikingsVikingBriberyUsed;

trigger libGDHL_gt_HeroLostVikingsVikingBriberyScoreReset;

trigger libGDHL_gt_HeroLostVikingsVikingBriberyAddStacksonCooldownReset;

trigger libGDHL_gt_HeroLostVikingsVikingHoard;

trigger libGDHL_gt_HeroLostVikingsSpinToWin;

trigger libGDHL_gt_HeroLostVikingsOlafTheStout;

trigger libGDHL_gt_HeroLostVikingsRespawnTimerExpires;

trigger libGDHL_gt_HeroLostVikingsSpawn;

trigger libGDHL_gt_HeroLostVikingsDebugSwap;

trigger libGDHL_gt_HeroLostVikingsVikingDies;

trigger libGDHL_gt_HeroLostVikingsVikingRemoved;

trigger libGDHL_gt_HeroLostVikingsUnderAttackPing;

trigger libGDHL_gt_HeroLostVikingsUnderAttackUI;

trigger libGDHL_gt_HeroLostVikingsXPGain;

trigger libGDHL_gt_HeroLostVikingsBehaviorTalentGained;

trigger libGDHL_gt_HeroLostVikingsUnitControllerUpdate;

trigger libGDHL_gt_HeroLostVikingsMoonwellRedistribution;

trigger libGDHL_gt_HeroLostVikingsVikingEntersStasis;

trigger libGDHL_gt_HeroLostVikingsVikingsLeavesStasis;

trigger libGDHL_gt_HeroLostVikingsUnitSelected;

trigger libGDHL_gt_HeroLostVikingsUnitDeselected;

trigger libGDHL_gt_HeroLostVikingsUseTransport;

trigger libGDHL_gt_HeroLostVikingsRallyCast;

trigger libGDHL_gt_HeroLostVikingsRallyFinishCancel;

trigger libGDHL_gt_HeroLostVikingsRallySounds;

trigger libGDHL_gt_HeroLostVikingsPlayAgainComplete;

trigger libGDHL_gt_HeroLostVikingsPlayAgainForceGhostFacingPlacement;

trigger libGDHL_gt_HeroLostVikingsCheckpointTimerPauseinTimeStop;

trigger libGDHL_gt_HeroLostVikingsCheckpointReachedTimerCountdown;

trigger libGDHL_gt_HeroLostVikingsCheckpointReachTimerExpires;

trigger libGDHL_gt_HeroLostVikingsLongboatRaidSelection;

trigger libGDHL_gt_HeroLostVikingsLongboatRaidEndsResetControlGroups;

trigger libGDHL_gt_HeroLostVikingsLongboatRaidExpiration;

trigger libGDHL_gt_HeroLostVikingsHideVikingsOn;

trigger libGDHL_gt_HeroLostVikingsAbathurClone;

trigger libGDHL_gt_HeroLostVikingsCloneLongboatRaidSelection;

trigger libGDHL_gt_HeroLostVikingsCloneLongboatRaidExpiration;

trigger libGDHL_gt_LostVikingsUIInitialize;

trigger libGDHL_gt_LostVikingsUIUpdate;

trigger libGDHL_gt_LostVikingsUICleanUpUIForDebugHeroSwap;

trigger libGDHL_gt_LostVikingsConsoleUnitStatusBarsChannelBehaviorAdded;

trigger libGDHL_gt_HeroMalfurionTwilightDreamSilenceTarget;

trigger libGDHL_gt_HeroMalfurionTwilightDreamSilenceEnd;

trigger libGDHL_gt_HeroMalfurionInnervateCDR;

trigger libGDHL_gt_HeroMalfurionTenaciousRootsProc;

trigger libGDHL_gt_HealingBeamUIInitialize;

trigger libGDHL_gt_MedicUIInitialize;

trigger libGDHL_gt_HeroMedicStimDroneFullscreenOverlayOn;

trigger libGDHL_gt_HeroMedicStimDroneFullscreenOverlayOff;

trigger libGDHL_gt_HeroMedicMedivacDropshipCreated;

trigger libGDHL_gt_HeroMedicMedivacDropshipEnRouteOrders;

trigger libGDHL_gt_HeroMedicMedivacDropshipDeathCleanup;

trigger libGDHL_gt_HeroMedicMedivacDropshipLoadEvent;

trigger libGDHL_gt_HeroMedicMedivacDropshipUnloadEvent;

trigger libGDHL_gt_HeroMedicMedivacDropshipRejoinHideMedivacUI;

trigger libGDHL_gt_HeroMedicMedivacDropshipOverlay;

trigger libGDHL_gt_HeroMedicMedivacDropshipCountdownSound;

trigger libGDHL_gt_HeroMedicMedivacBeingBoarded;

trigger libGDHL_gt_HeroMedicMedivacGameOverHide;

trigger libGDHL_gt_HeroMedicHealingBeamTargetActions;

trigger libGDHL_gt_HeroMedicHealingBeamUIReset;

trigger libGDHL_gt_HeroMedicHearthCleanup;

trigger libGDHL_gt_HeroMedicHealingBeamAllyRangeVisibility;

trigger libGDHL_gt_HeroMedicSafeguardVanadiumPlatingTalentProc;

trigger libGDHL_gt_HeroMonkSixthSenseProc;

trigger libGDHL_gt_HeroMonkDeadlyReachPlaystyleUpdateOff;

trigger libGDHL_gt_HeroMonkDeadlyReachPlaystyleUpdateOn;

trigger libGDHL_gt_HeroMonkDivinePalmSetLife;

trigger libGDHL_gt_HeroMonkDivinePalmOverlayOn;

trigger libGDHL_gt_HeroMonkDivinePalmOverlayOff;

trigger libGDHL_gt_HeroMonkSevenSidedStrikeTakeFacing;

trigger libGDHL_gt_HeroMonkSevenSidedStrikeFinishSetFacing;

trigger libGDHL_gt_HeroMonkAbathurUltimateEvolutionClone;

trigger libGDHL_gt_HeroMuradinHaymaker;

trigger libGDHL_gt_HeroMuradinAvatarApplyHealthBuff;

trigger libGDHL_gt_HeroMuradinHaymakerGrandSlamTalentProc;

trigger libGDHL_gt_HeroMuradinItsHammerTimeOnDeathProc;

trigger libGDHL_gt_HeroMuradinFreePiercingStormbolt;

trigger libGDHL_gt_HeroMuradinResetFreePiercingStormbolt;

trigger libGDHL_gt_MurkyUIInitialize;

trigger libGDHL_gt_HeroMurkyMurkyEggDies;

trigger libGDHL_gt_HeroMurkyMurkyDies;

trigger libGDHL_gt_HeroMurkyReviveWhileEggIsAlive;

trigger libGDHL_gt_HeroMurkyCreateEggOnSpawn;

trigger libGDHL_gt_HeroMurkyEggSpawnsChangeDeathSound;

trigger libGDHL_gt_HeroMurkyCleanUpEggUIForDebugHeroSwap;

trigger libGDHL_gt_HeroMurkyAFishyDealVariables;

trigger libGDHL_gt_HeroMurkyAFishyDealChargeCountProc;

trigger libGDHL_gt_HeroMurkyFishEyeDynamicApplication;

trigger libGDHL_gt_HeroMurkyRespawnEggCreated;

trigger libGDHL_gt_HeroNecromancerSkeletonMasteryProc;

trigger libGDHL_gt_HeroNecromancerSkeletonMasterySpawned;

trigger libGDHL_gt_HeroNecromancerSkeletonMasteryMaxCountProc;

trigger libGDHL_gt_HeroNecromancerTrackMortalWoundsDamageReduction;

trigger libGDHL_gt_HeroNecromancerMortalWoundsDebuffController;

trigger libGDHL_gt_HeroNovaCovertMissionTakedown;

trigger libGDHL_gt_HeroNovaCovertMissionVariables;

trigger libGDHL_gt_HeroNovaTripleTapAbilityUsed;

trigger libGDHL_gt_HeroNovaTripleTapMissiles;

trigger libGDHL_gt_HeroNovaTripleTapMissileCleanup;

trigger libGDHL_gt_HeroNovaHoloCloneSpawned;

trigger libGDHL_gt_HeroNovaHoloCloneDamageDuplication;

trigger libGDHL_gt_HeroNovaAntiArmorShellsAttackCooldownController;

trigger libGDHL_gt_HeroRaynorRaynorsBansheeFlyIn;

trigger libGDHL_gt_HeroRaynorRaynorsBansheeFlyOut;

trigger libGDHL_gt_HeroRaynorBansheesCommand;

trigger libGDHL_gt_HeroRaynorBansheeTeleport;

trigger libGDHL_gt_HeroRaynorRemoveBansheeOnEnterVehicle;

trigger libGDHL_gt_HeroRaynorACardToPlayTalentGained;

trigger libGDHL_gt_HeroRaynorACardToPlayHeroTakedown;

trigger libGDHL_gt_HeroRaynorExecuteOrderDeathTimerMod;

trigger libGDHL_gt_HeroRaynorExecuteOrderHyperionActivate;

trigger libGDHL_gt_HeroRehgarTidalWavesModifyCooldown;

trigger libGDHL_gt_HeroRehgarEarthlivingEnchantHotApply;

trigger libGDHL_gt_HeroRehgarTotemicProjectionTalentSaveTotem;

trigger libGDHL_gt_HeroRehgarTotemicProjectionTalentMoveTotem;

trigger libGDHL_gt_HeroRehgarTotemicProjectionResetOnRewindUse;

trigger libGDHL_gt_HeroRehgarGhostWolfAfterPortToTown;

trigger libGDHL_gt_HeroRehgarGhostWolfMountingSpecialCase;

trigger libGDHL_gt_HeroRehgarElectricChargeAddLeech;

trigger libGDHL_gt_HeroRehgarElectricChargeLeechProc;

trigger libGDHL_gt_RexxarUIInitialize;

trigger libGDHL_gt_RexxarUICleanupForHeroSwap;

trigger libGDHL_gt_HeroRexxarCleanUpForAbathurUltimateEvolutionClone;

trigger libGDHL_gt_HeroRexxarUnleashtheBoarsCast;

trigger libGDHL_gt_HeroRexxarMishaClearPursuitTargetonUnitDeath;

trigger libGDHL_gt_HeroRexxarMishaSetPursuitTargetFromMishaFocus;

trigger libGDHL_gt_HeroRexxarMishaClearPursuitTargetFromMishaFollow;

trigger libGDHL_gt_HeroRexxarMishaSetPursuitTargetFromAttacks;

trigger libGDHL_gt_HeroRexxarMishaFocusUsed;

trigger libGDHL_gt_HeroRexxarMishaGainsMapMechanicStack;

trigger libGDHL_gt_HeroRexxarMishaChargeDisable;

trigger libGDHL_gt_HeroRexxarMishaMendPetDisable;

trigger libGDHL_gt_HeroRexxarMishaSpawn;

trigger libGDHL_gt_HeroRexxarMishaDance;

trigger libGDHL_gt_HeroRexxarRexxarDies;

trigger libGDHL_gt_HeroRexxarRexxarLosesMapMechanicStacks;

trigger libGDHL_gt_HeroRexxarRemoveMisha;

trigger libGDHL_gt_HeroRexxarRexxarStasisStartIncludesFeignDeath;

trigger libGDHL_gt_HeroRexxarRexxarStasisEndIncludedFeignDeath;

trigger libGDHL_gt_HeroRexxarMishaDies;

trigger libGDHL_gt_HeroRexxarDeselectMishaOnVehicleEnter;

trigger libGDHL_gt_HeroRexxarSelectMishaOnVehicleExit;

trigger libGDHL_gt_HeroRexxarGorgeEnd;

trigger libGDHL_gt_HeroRexxarMishaTeleport;

trigger libGDHL_gt_HeroRexxarMishaUnderworldGateUsed;

trigger libGDHL_gt_HeroRexxarMishaVehicleUsed;

trigger libGDHL_gt_HeroRexxarMishaVehicleDone;

trigger libGDHL_gt_HeroRexxarStuffMishaIntoTransport;

trigger libGDHL_gt_HeroRexxarKickMishaOutOfTransport;

trigger libGDHL_gt_HeroRexxarMishaMountedBehaviorDisabled;

trigger libGDHL_gt_HeroRexxarAliveMishaGrizzledFortitude;

trigger libGDHL_gt_HeroRexxarAliveMishaEasyPrey;

trigger libGDHL_gt_HeroRexxarAliveMishaWildfireBear;

trigger libGDHL_gt_HeroRexxarAliveMishaAnimalHusbandry;

trigger libGDHL_gt_HeroRexxarAliveMishaDireBeast;

trigger libGDHL_gt_HeroRexxarAliveMishaPrimalIntimidation;

trigger libGDHL_gt_HeroRexxarAliveMishaHunterGatherer;

trigger libGDHL_gt_HeroRexxarHunterGathererController;

trigger libGDHL_gt_HeroRexxarThrilloftheHuntProc;

trigger libGDHL_gt_HeroRexxarHardenedSkin;

trigger libGDHL_gt_HeroRexxarBestialWrathSpiritBondBearNecessitiesHealProc;

trigger libGDHL_gt_HeroRexxarChargeCast;

trigger libGDHL_gt_HeroRexxarFeignDeathOverlayOn;

trigger libGDHL_gt_HeroRexxarFeignDeathOverlayOff;

trigger libGDHL_gt_HeroSgtHammerCompleteHearthstone;

trigger libGDHL_gt_HeroSgtHammerSiegeModeUpdate;

trigger libGDHL_gt_HeroSgtHammerBluntForceGunPrepStart;

trigger libGDHL_gt_HeroSgtHammerBluntForceGunTargetCalculation;

trigger libGDHL_gt_HeroSgtHammerBluntForceGunTargetCalculationViaEffect;

trigger libGDHL_gt_HeroSgtHammerBluntForceGunCheckForLocation;

trigger libGDHL_gt_HeroSgtHammerBluntForceGunApplyOrbitalScan;

trigger libGDHL_gt_HeroSgtHammerConcussiveBlastCancel;

trigger libGDHL_gt_HeroSgtHammerConcussiveBlastForcedDestruction;

trigger libGDHL_gt_HeroSgtHammerMaelstromRoundsAddCharge;

trigger libGDHL_gt_HeroSgtHammerHearthstoneUsed;

trigger libGDHL_gt_HeroStitchesGiftFromTheEmbalmerDeathTimerReduction;

trigger libGDHL_gt_HeroStitchesHookHookVision;

trigger libGDHL_gt_HeroStitchesHookLaunchTargetUsed;

trigger libGDHL_gt_HeroStitchesGorgeDecreases;

trigger libGDHL_gt_HeroStitchesGorgeActivate;

trigger libGDHL_gt_HeroStitchesGorgeOff;

trigger libGDHL_gt_HeroStitchesFreeFishingHookTalent;

trigger libGDHL_gt_HeroStitchesResetFreeFishingHookTalent;

trigger libGDHL_gt_HeroSylvanasMindControlTargetSelect;

trigger libGDHL_gt_HeroSylvanasMovementCommandForwarding;

trigger libGDHL_gt_HeroSylvanasDarkLadysCallTalentApplyAllyVisionSuppression;

trigger libGDHL_gt_HeroSylvanasDarkLadysCallTalentResetAllyVisionSuppression;

trigger libGDHL_gt_HeroSylvanasMindControlCameraLock;

trigger libGDHL_gt_HeroSylvanasWailingArrowSilenceTarget;

trigger libGDHL_gt_HeroSylvanasWailingArrowDeafeningBlastSilenceTarget;

trigger libGDHL_gt_HeroSylvanasWailingArrowSilenceEnd;

trigger libGDHL_gt_HeroSylvanasWitheringFireHeroKillAddCharge;

trigger libGDHL_gt_HeroSylvanasPossessionRewire;

trigger libGDHL_gt_HeroSylvanasPossessionCatapultMinionModifyChargeCount;

trigger libGDHL_gt_HeroTassadarUpdateDistortionBeamPeriod;

trigger libGDHL_gt_HeroTassadarForceWallForcedDestruction;

trigger libGDHL_gt_HeroTassadarShockRayVision;

trigger libGDHL_gt_ThrallUIInitialize;

trigger libGDHL_gt_ThrallShowFrostwolfResilienceUI;

trigger libGDHL_gt_ThrallGetsStackOfFrostwolfResilience;

trigger libGDHL_gt_ThrallUICleanUpUIForDebugHeroSwap;

trigger libGDHL_gt_ThrallUICleanUpUIForAbathurUltimateEvolutionClone;

trigger libGDHL_gt_ThrallDies;

trigger libGDHL_gt_HeroThrallAncestralWrathHealingDummyUpdate;

trigger libGDHL_gt_HeroThrallAncestralWrathChargeCountProc;

trigger libGDHL_gt_HeroThrallEarthquakeEarthenShieldMasteryShieldApplication;

trigger libGDHL_gt_HeroThrallWorldBreakerForcedDestruction;

trigger libGDHL_gt_HeroTinkerFocusTurretsSetTarget;

trigger libGDHL_gt_HeroTychusRelentlessSoldierTalentProc;

trigger libGDHL_gt_HeroTychusMasterAssassinHeroTakedownProc;

trigger libGDHL_gt_HeroTychusThatsTheStuffOn;

trigger libGDHL_gt_HeroTychusThatsTheStuffDamageTracker;

trigger libGDHL_gt_HeroTychusThatsTheStuffHealPreviewCatalog;

trigger libGDHL_gt_HeroTychusThatsTheStuffOff;

trigger libGDHL_gt_HeroTychusUpdateOrdersOnIssueOrderAbility;

trigger libGDHL_gt_HeroTychusOverkillTargetedRetargetvH16;

trigger libGDHL_gt_HeroTychusOverkillRollingReload;

trigger libGDHL_gt_HeroTyraelSanctificationFacing;

trigger libGDHL_gt_HeroTyraelSanctificationTimerStart;

trigger libGDHL_gt_HeroTyraelArchangelsWrathSuppressCollision;

trigger libGDHL_gt_HeroTyraelArchangelsWrathDeathTimerModification;

trigger libGDHL_gt_HeroTyraelSanctificationFullscreenOverlayOn;

trigger libGDHL_gt_HeroTyraelSanctificationFullscreenOverlayOff;

trigger libGDHL_gt_HeroTyrandeElunesChosenSetTarget;

trigger libGDHL_gt_HeroTyrandeElunesChosenDamageProc;

trigger libGDHL_gt_HeroTyrandeEyesOfTheHuntressActivate;

trigger libGDHL_gt_HeroWitchDoctorZombiePrisonKillZombies;

trigger libGDHL_gt_HeroWitchDoctorZombiePrisonRelicZombiesSpawned;

trigger libGDHL_gt_HeroWitchDoctorRavenousSpiritCast;

trigger libGDHL_gt_HeroWitchDoctorRavenousSpiritExpires;

trigger libGDHL_gt_HeroWitchDoctorPassiveTarget;

trigger libGDHL_gt_HeroWitchDoctorBloodRitualHeroTakedownProc;

trigger libGDHL_gt_HeroWitchDoctorGargantuanCreated;

trigger libGDHL_gt_HeroWitchDoctorGargantuanStompUsed;

trigger libGDHL_gt_HeroWitchDoctorVileInfectionTaken;

trigger libGDHL_gt_HeroWitchDoctorThingoftheDeepTaken;

trigger libGDHL_gt_HeroWizardCriticalMassCDReduction;

trigger libGDHL_gt_HeroWizardDominance;

trigger libGDHL_gt_HeroWizardIllusionistDamageCheck;

trigger libGDHL_gt_HeroUtherArmorofFaithProc;

trigger libGDHL_gt_HeroUtherBlessedChampionTargetProc;

trigger libGDHL_gt_HeroUtherBlessedChampionSelfHealingProc;

trigger libGDHL_gt_HeroUtherBlessedChampionDummyProcs;

trigger libGDHL_gt_HeroUtherSpiritofRedemptionCooldownReset;

trigger libGDHL_gt_HeroUtherEternalDevotionSuppressCollision;

trigger libGDHL_gt_HeroUtherDivineShieldFullscreenOverlayOn;

trigger libGDHL_gt_HeroUtherDivineShieldFullscreenOverlayOff;

trigger libGDHL_gt_HeroZagaraDevouringMawOverlayOn;

trigger libGDHL_gt_HeroZagaraDevouringMawOverlayOff;

trigger libGDHL_gt_HeroZagaraExitNydusWormUsed;

trigger libGDHL_gt_HeroZagaraNydusWormSpawned;

trigger libGDHL_gt_HeroZagaraNydusWormTargetingState;

trigger libGDHL_gt_HeroZagaraNydusWormDies;

trigger libGDHL_gt_HeroZagaraNydusWormDiesUpdateLineofSuccession;

trigger libGDHL_gt_HeroZagaraNydusWormExitAnimation;

trigger libGDHL_gt_HeroZagaraBanelingBarrage;

trigger libGDHL_gt_HeroZagaraHydraliskorMutaliskControl;

trigger libGDHL_gt_HeroZagaraInfestedDropSpawnRoach;

trigger libGDHL_gt_HeroZagaraInfestScaling;

trigger libGDHL_gt_HeroZagaraTyrantMawCDRonDeath;

trigger libGDHL_gt_HeroZagaraHunterKillerHydraliskTransfusion;

trigger libGDHL_gt_HeroZagaraEndlessCreepApplyBehavior;

trigger libGDHL_gt_HeroZeratulShroudofAdunFCT;

trigger libGDHL_gt_HeroZeratulSeekerInTheDarkStructureTarget;

trigger libGDHL_gt_HeroZeratulGrimTaskProc;

trigger libGDHL_gt_HeroZeratulVoidPrisonApplyStasisOverlay;

trigger libGDHL_gt_HeroZeratulVoidPrisonRemoveStasisOverlay;

trigger libGDHL_gt_TalentOverdriveUpdateManaAndAP;

trigger libGDHL_gt_FocusedAttackCooldown;

trigger libGDHL_gt_TalentIceBlockOverlayOn;

trigger libGDHL_gt_TalentIceBlockOverlayOff;

trigger libGDHL_gt_TalentRewindActivate;

trigger libGDHL_gt_TalentFollowThrough;

trigger libGDHL_gt_TalentGatheringPowerTakedowns;

trigger libGDHL_gt_TalentGatheringPowerRemoval;

trigger libGDHL_gt_TalentScoutingDroneSelfRevealer;

trigger libGDHL_gt_TalentApplyXPToMULE;

trigger libGDHL_gt_TalentApplyXPToHealingWard;

trigger libGDHL_gt_TalentBribeAddStacksonCooldownReset;

trigger libGDHL_gt_TalentBribeCampRespawnTimerModification;



// Library Initialization

void libGDHL_InitVariables ();