include "TriggerLibs/HeroesLib_h"



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

// Library: Game

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

// Preset Declarations

const int libGame_ge_AnnouncementPriorities_Critical = 0;

const int libGame_ge_AnnouncementPriorities_High = 1;

const int libGame_ge_AnnouncementPriorities_Normal = 2;

const int libGame_ge_AnnouncementPriorities_Low = 3;

string libGame_ge_BehaviorCategoriesStorm_Ident (int lp_val);

const int libGame_ge_CapturePointState_Contested = 0;

const int libGame_ge_CapturePointState_Paused = 1;

const int libGame_ge_CapturePointState_Neutral = 2;

const int libGame_ge_CapturePointState_Captured = 3;

const int libGame_ge_CapturePointState_RevertingtoNeutral = 4;

const int libGame_ge_CapturePointState_Capturing = 5;

const int libGame_ge_CapturePointDecay_Owner = 0;

const int libGame_ge_CapturePointDecay_Neutral = 1;

const int libGame_ge_CapturePointDecay_DoNotDecay = 2;

const int libGame_ge_DebuffCategories_Null = 0;

const int libGame_ge_DebuffCategories_Stun = 1;

const int libGame_ge_DebuffCategories_Root = 2;

const int libGame_ge_DebuffCategories_Slow = 3;

const int libGame_ge_DebuffCategories_Vulnerable = 4;

const int libGame_ge_DebuffCategories_Revealed = 5;

const int libGame_ge_DebuffCategories_Silence = 6;

const int libGame_ge_DebuffCategories_Blind = 7;

const int libGame_ge_DebuffCategories_Stasis = 8;

const int libGame_ge_DebuffCategories_Enfeebled = 9;

const int libGame_ge_MVPAwards_Kill = 0;

const int libGame_ge_MVPAwards_Assist = 1;

const int libGame_ge_MVPAwards_TimeSpentDead = 2;

const int libGame_ge_MVPAwards_TopHeroDamage = 3;

const int libGame_ge_MVPAwards_TopHeroDamageonTeam = 4;

const int libGame_ge_MVPAwards_TopSiegeDamage = 5;

const int libGame_ge_MVPAwards_TopSiegeDamageonTeam = 6;

const int libGame_ge_MVPAwards_TopHealing = 7;

const int libGame_ge_MVPAwards_TopDamageTakenasWarrior = 8;

const int libGame_ge_MVPAwards_TopDamageTakenasWarrioronTeam = 9;

const int libGame_ge_MVPAwards_TopXPContributor = 10;

const int libGame_ge_MVPAwards_TopXPContributoronTeam = 11;

const int libGame_ge_MVPAwards_OnWinningTeam = 12;

const int libGame_ge_MVPAwards_Takedown = 13;

const int libGame_ge_MVPStatPriority_Dummyfor0 = 0;

const int libGame_ge_MVPStatPriority_Notable = 1;

const int libGame_ge_MVPStatPriority_BestinTeam = 2;

const int libGame_ge_MVPStatPriority_BestinGame = 3;

const int libGame_ge_SecondaryAwards_Dummyfor0 = 0;

const int libGame_ge_SecondaryAwards_Experienced = 1;

const int libGame_ge_SecondaryAwards_Painbringer = 2;

const int libGame_ge_SecondaryAwards_Bulwark = 3;

const int libGame_ge_SecondaryAwards_MainHealer = 4;

const int libGame_ge_SecondaryAwards_SiegeMaster = 5;

const int libGame_ge_SecondaryAwards_Dominator = 6;

const int libGame_ge_SecondaryAwards_Stunner = 7;

const int libGame_ge_SecondaryAwards_Headhunter = 8;

const int libGame_ge_SecondaryAwards_MapSpecific = 9;

const int libGame_ge_SecondaryAwards_Finisher = 10;

const int libGame_ge_SecondaryAwards_HatTrick = 11;

const int libGame_ge_SecondaryAwards_SoleSurvivor = 12;

const int libGame_ge_SecondaryAwards_ClutchHealer = 13;

const int libGame_ge_SecondaryAwards_Trapper = 14;

const int libGame_ge_SecondaryAwards_Protector = 15;

const int libGame_ge_SecondaryAwards_Silencer = 16;

const int libGame_ge_SecondaryAwards_Guardian = 17;

const int libGame_ge_SecondaryAwards_CombatMedic = 18;

const int libGame_ge_SecondaryAwards_TeamPlayer = 19;

const int libGame_ge_SecondaryAwards_EscapeArtist = 20;

const int libGame_ge_SecondaryAwards_Daredevil = 21;

const int libGame_ge_SecondaryAwards_Scrapper = 22;

const int libGame_ge_SecondaryAwards_Avenger = 23;

const int libGame_ge_HeroDeathRespawnOptions_NormalRespawn = 0;

const int libGame_ge_HeroDeathRespawnOptions_NoRespawn = 1;

const int libGame_ge_HeroDeathKillStingerQueueType_Ally = 0;

const int libGame_ge_HeroDeathKillStingerQueueType_Enemy = 1;

const int libGame_ge_LaneNamePresets_Top = 0;

const int libGame_ge_LaneNamePresets_Middle = 1;

const int libGame_ge_LaneNamePresets_Bottom = 2;

const int libGame_ge_LaneNamePresets_Extra = 3;

const int libGame_ge_AllLanes_AllLanes = 0;

const int libGame_ge_OnFireScoreValues_Kills = 0;

const int libGame_ge_OnFireScoreValues_Assists = 1;

const int libGame_ge_OnFireScoreValues_SiegeDamage = 2;

const int libGame_ge_OnFireScoreValues_HeroDamage = 3;

const int libGame_ge_OnFireScoreValues_Healing = 4;

const int libGame_ge_OnFireScoreValues_DamageTaken = 5;

const int libGame_ge_OnFireScoreValues_Experience = 6;

const int libGame_ge_OnFireLevel_Subfor0 = 0;

const int libGame_ge_OnFireLevel_Embers = 1;

const int libGame_ge_OnFireLevel_UNUSED = 2;

const int libGame_ge_OnFireLevel_Inferno = 3;

const int libGame_ge_OnFireLevel_Extinguished = 4;

const int libGame_ge_OnFireType_Subfor0 = 0;

const int libGame_ge_OnFireType_Offense = 1;

const int libGame_ge_OnFireType_Defense = 2;

const int libGame_ge_OnFireType_Utility = 3;

const int libGame_ge_PlayerStatusStorm_Unused = 0;

const int libGame_ge_PlayerStatusStorm_ChoosingaHero = 1;

const int libGame_ge_PlayerStatusStorm_Playing = 2;

const int libGame_ge_PlayerStatusStorm_LefttheGame = 3;

const int libGame_ge_Faction_Order = 0;

const int libGame_ge_Faction_Chaos = 1;

const int libGame_ge_Faction_HostileCreeps = 2;

const int libGame_ge_Faction_Neutral = 3;

const int libGame_ge_XPSources_Debug = 0;

const int libGame_ge_XPSources_Trickle = 1;

const int libGame_ge_XPSources_Minion = 2;

const int libGame_ge_XPSources_Creep = 3;

const int libGame_ge_XPSources_Hero = 4;

const int libGame_ge_XPSources_Structure = 5;

const int libGame_ge_XPSources_RegenGlobe = 6;

const int libGame_ge_TownStates_Idle = 0;

const int libGame_ge_TownStates_Fighting = 1;

const int libGame_ge_TownStates_Leashing = 2;

const int libGame_ge_TownStates_Dead = 3;

const int libGame_ge_TownStructureTypes_None = 0;

const int libGame_ge_TownStructureTypes_TownHall = 1;

const int libGame_ge_TownStructureTypes_Wall = 2;

const int libGame_ge_TownStructureTypes_Gate = 3;

const int libGame_ge_TownStructureTypes_CannonTower = 4;

const int libGame_ge_TownStructureTypes_Moonwell = 5;

const int libGame_ge_TownStructureTypes_Core = 6;

const int libGame_ge_TownHallTypes_None = 0;

const int libGame_ge_TownHallTypes_FrontTown = 1;

const int libGame_ge_TownHallTypes_BackTown = 2;



// Constants

const int libGame_gv_teamOrderIndex_C = 1;

const int libGame_gv_teamChaosIndex_C = 2;

const fixed libGame_gv_afk_AfkInitialTimerStartDelay_C = 0.0;

const fixed libGame_gv_afk_AfkWarningTimerDuration_C = 90.0;

const fixed libGame_gv_afk_AfkKickTimerDuration_C = 45.0;

const int libGame_gv_afk_AfkMaxWarnCount_C = 1;

const int libGame_gv_afk_AfkMaxWarnCount_Training_C = 2;

const fixed libGame_gv_afk_PlayerCheckNearbyEnemyHeroRadius_C = 12.0;

const fixed libGame_gv_afkBrawl_AfkWarningTimerDuration_C = 30.0;

const fixed libGame_gv_afkBrawl_AfkKickTimerDuration_C = 30.0;

const int libGame_gv_announcement_QueueMaxCount_C = 32;

const fixed libGame_gv_announcement_StandardTimerDuration_C = 2.0;

const fixed libGame_gv_announcement_QuickSoundOnlyTimerDuration_C = 1.625;

const fixed libGame_gv_announcement_KillAnnouncementDuration_C = 1.5;

const fixed libGame_gv_announcement_LongAnnouncementDuration_C = 4.0;

const fixed libGame_gv_announcement_NoDelay_C = 0.0625;

const fixed libGame_gv_announcement_KillAnnouncementTimerThreshold_C = 0.25;

const fixed libGame_gv_announcement_HeroTakedownVODelay_C = 2.0;

const int libGame_gv_announcement_MinimumLevelForTeamKillHeroVO_C = 8;

const int libGame_gv_cameraBound_MaxCount_C = 10;

const int libGame_gv_capturePointMaxCount_C = 15;

const fixed libGame_gv_towerCoreUnderAttackAlertRepeatTime = 30.0;

const fixed libGame_gv_towerCoreUnderAttackAlertMinTime = 15.0;

const fixed libGame_gv_towerCoreUnderAttackScanPeriod = 1.0;

const fixed libGame_gv_towerCoreUnderAttackScanRange = 20.0;

const string libGame_gv_eventID_DeathRecapSpecialCaseEvent_C = "DeathRecapSpecialCaseEvent";

const string libGame_gv_eventParam_DeathRecapSpecialCaseEvent_Player_C = "PlayerKilling";

const fixed libGame_gv_deathRecap_MaxTimeElapsed_C = 9.9;

const int libGame_gv_deathRecap_MaxEffectsInHistory_C = 30;

const int libGame_gv_deathRecap_MaxEffectBars_C = 10;

const int libGame_gv_deathRecap_MaxMaxDamagersSort_C = 6;

const int libGame_gv_deathRecap_MaxMaxDamageAbilsSort_C = 8;

const int libGame_gv_deathRecap_MaxMaxDamagers_C = 3;

const int libGame_gv_deathRecap_MaxMaxDamageAbils_C = 3;

const int libGame_gv_deathRecap_MaxEffectCombinePerSlot = 5;

const fixed libGame_gv_deathRecap_MaxEffectCombineTimeElapsed = 0.65;

const int libGame_gv_deathRecap_SpecialDamageEffectsCount_C = 1;

const string libGame_gv_eventID_EndOfMatchAwardsDisabled_C = "EndOfMatchAwardsDisabled";

const fixed libGame_gv_awardforKill = 1.0;

const fixed libGame_gv_awardforAssist = 1.0;

const fixed libGame_gv_awardforPercentageTimeSpentDead = -0.5;

const fixed libGame_gv_awardforTopHeroDamage = 1.0;

const fixed libGame_gv_awardforTopHeroDamageonTeam = 1.0;

const fixed libGame_gv_awardforTopSiegeDamage = 1.0;

const fixed libGame_gv_awardforTopSiegeDamageonTeam = 1.0;

const fixed libGame_gv_awardforTopHealing = 1.0;

const fixed libGame_gv_awardforTopDamageTakenasWarrior = 1.0;

const fixed libGame_gv_awardforTopDamageTakenasWarrioronTeam = 0.5;

const fixed libGame_gv_awardforTopXPContributor = 1.0;

const fixed libGame_gv_awardforTopXPContributoronTeam = 1.0;

const fixed libGame_gv_awardforOnWinningTeam = 2.0;

const fixed libGame_gv_thoroughputBonusMultiplier = 2.0;

const fixed libGame_gv_thoroughputBonusExtraStatMultiplier = 0.5;

const int libGame_gv_maxMVPStatSlots = 3;

const int libGame_gv_maxMVPStatstoConsider = 4;

const int libGame_gv_secondaryAwardSlotCount = 4;

const int libGame_gv_secondaryAwardCount = 23;

const string libGame_gv_eventID_MapSpecificAwardInitialize_C = "MapSpecificAwardInitialize";

const string libGame_gv_eventParam_MapSpecificAwardInitialize_Name_C = "Name";

const string libGame_gv_eventParam_MapSpecificAwardInitialize_Suffix_C = "Suffix";

const string libGame_gv_eventParam_MapSpecificAwardInitialize_Base_C = "Base";

const string libGame_gv_eventParam_MapSpecificAwardInitialize_PresentAsRatio_C = "Present as Ratio";

const string libGame_gv_eventParam_MapSpecificAwardInitialize_GatedByBase_C = "Gated by Base";

const string libGame_gv_eventParam_MapSpecificAwardInitialize_BadgeIndex_C = "Badge Index";

const string libGame_gv_eventParam_MapSpecificAwardInitialize_ScoreValue_C = "Score Value";

const string libGame_gv_eventParam_MapSpecificAwardInitialize_Tooltip_C = "Tooltip";

const string libGame_gv_eventID_MapSpecificAwardUpdate_C = "MapSpecificAwardUpdate";

const string libGame_gv_eventParam_MapSpecificAwardUpdate_Player_C = "Player";

const string libGame_gv_eventParam_MapSpecificAwardUpdate_Value_C = "Value";

const string libGame_gv_eventParam_MapSpecificAwardUpdate_IsAdd_C = "IsAdd";

const int libGame_gv_teamfightTrackingCount = 2;

const int libGame_gv_teamfightTrackingRadius = 10;

const string libGame_gv_eventID_TryMeCustomButton1Pressed_C = "Try Me Custom Button 1 Pressed";

const string libGame_gv_eventParam_TryMeCustomButton1Pressed_Player_C = "Clicking Player";

const string libGame_gv_eventID_CameraPannedFromScript_C = "Camera Panned From Script";

const string libGame_gv_eventParam_CameraPannedFromScript_Player_C = "Player";

const string libGame_gv_eventParam_CameraPannedFromScript_Point_C = "Point";

const string libGame_gv_eventID_CapturePointChangesOwner_C = "CapturePointChangesOwner";

const string libGame_gv_eventParam_CapturePointChangesOwner_CapturePointIndex_C = "Capture Point Index";

const string libGame_gv_eventParam_CapturePointChangesOwner_Owner_C = "Owner";

const string libGame_gv_eventParam_CapturePointChangesOwner_CapturingPlayers_C = "CapturingPlayers";

const string libGame_gv_eventParam_CapturePointChangesOwner_HasMercLordTalent_C = "HasMercLordTalent";

const string libGame_gv_eventID_CapturePointBecomesFullyOverCaptured_C = "CapturePointBecomesFullyOverCaptured";

const string libGame_gv_eventParam_CapturePointBecomesFullyOverCaptured_CapturePointIndex_C = "Capture Point Index";

const string libGame_gv_eventParam_CapturePointBecomesFullyOverCaptured_HasMercLordTalent_C = "Has Merc Lord Talent";

const string libGame_gv_eventID_CustomTryMeModeSetLevel_C = "Custom Try Me Mode Set Level";

const string libGame_gv_eventParam_CustomTryMeModeSetLevel_Player_C = "Player";

const string libGame_gv_eventParam_CustomTryMeModeSetLevel_Level_C = "Level";

const string libGame_gv_eventID_DebugHeroSwapped_C = "Debug Player Swapped";

const string libGame_gv_eventParam_DebugHeroSwapped_Player_C = "Player";

const string libGame_gv_eventID_JungleDefenderAIDefendersBeginFighting_C = "JungleDefenderAIDefendersBeginFighting";

const string libGame_gv_eventParam_JungleDefenderAIDefendersBeginFighting_Index_C = "Index";

const string libGame_gv_eventID_JungleDefenderAIDefendersEndFighting_C = "JungleDefenderAIDefendersEndFighting";

const string libGame_gv_eventParam_JungleDefenderAIDefendersEndFighting_Index_C = "Index";

const string libGame_gv_eventID_JungleDefenderAIDefenderKilled_C = "JungleDefenderAIDefenderKilled";

const string libGame_gv_eventParam_JungleDefenderAIDefenderKilled_Index_C = "Index";

const string libGame_gv_eventParam_JungleDefenderAIDefenderKilled_Unit_C = "Unit";

const string libGame_gv_eventParam_JungleDefenderAIDefenderKilled_KillingPlayer_C = "Killing Player";

const string libGame_gv_eventID_JungleDefenderAIAllDefendersKilled_C = "JungleDefenderAIAllDefendersKilled";

const string libGame_gv_eventParam_JungleDefenderAIAllDefendersKilled_Index_C = "Index";

const string libGame_gv_eventParam_JungleDefenderAIAllDefendersKilled_KillingPlayer_C = "Killing Player";

const string libGame_gv_eventID_JungleDefenderAIDefendersBeginFightingFromIdleOrLeashing_C = "JungleDefenderAIDefendersBeginFightingFromIdleOrLeashing";

const string libGame_gv_eventParam_JungleDefenderAIDefendersBeginFightingFromIdleOrLeashing_Index_C = "Index";

const string libGame_gv_eventID_GateOpenTimerStarted_C = "GateOpenTimerStart";

const string libGame_gv_eventID_TownDataInitialized_C = "TownDataInitialized";

const string libGame_gv_eventID_GameOverEvent_C = "GameOverEvent";

const string libGame_gv_eventID_HeroAIStartingCampAttack_C = "HeroAIStartingCampAttack";

const string libGame_gv_eventParam_HeroAIStartingCampAttack_TeamIndex_C = "TeamIndex";

const string libGame_gv_eventParam_HeroAIStartingCampAttack_CampIndex_C = "CampIndex";

const string libGame_gv_eventID_HeroAIEndingCampAttack_C = "HeroAIEndingCampAttack";

const string libGame_gv_eventParam_HeroAIEndingCampAttack_TeamIndex_C = "TeamIndex";

const string libGame_gv_eventParam_HeroAIEndingCampAttack_CampIndex_C = "CampIndex";

const string libGame_gv_eventParam_HeroAIEndingCampAttack_Success_C = "Success";

const string libGame_gv_eventID_HeroParticipatedInCreepTakedown_C = "HeroParticipatedInCreepTakedown";

const string libGame_gv_eventParam_HeroParticipatedInCreepTakedown_Player_C = "PlayerKilling";

const string libGame_gv_eventParam_HeroParticipatedInCreepTakedown_NPC_C = "DeadUnit";

const string libGame_gv_eventID_ClearHeroSpecificUI_C = "ClearHeroSpecificUI";

const string libGame_gv_eventID_HeroExitedTransport_C = "HeroExitedTransport";

const string libGame_gv_eventParam_HeroExitedTransport_Player_C = "PlayerExiting";

const string libGame_gv_eventParam_HeroExitedTransport_Transport_C = "Transport";

const string libGame_gv_eventID_HeroEnteredTransport_C = "HeroEnteredTransport";

const string libGame_gv_eventParam_HeroEnteredTransport_Player_C = "PlayerEntering";

const string libGame_gv_eventParam_HeroEnteredTransport_Transport_C = "Transport";

const string libGame_gv_eventParam_HeroEnteredTransport_CargoUnit_C = "Cargo Unit Entered";

const string libGame_gv_eventID_HeroLevelUp_C = "HeroLevelUp";

const string libGame_gv_eventParam_HeroLevelUp_Player = "Player";

const string libGame_gv_eventParam_HeroLevelUp_Level = "Level";

const string libGame_gv_eventID_HeroSpecialCaseMounting_C = "HeroSpecialCaseMounting";

const string libGame_gv_eventParam_HeroSpecialCaseMounting_Player_C = "Player";

const string libGame_gv_eventID_HeroPortedBackToTown_C = "HeroPortedBackToTown";

const string libGame_gv_eventParam_HeroPortedBackToTown_Player_C = "Player";

const string libGame_gv_eventParam_HeroPortedBackToTown_Unit_C = "PortedBackToTownUnit";

const string libGame_gv_eventID_HeroParticipatedInNPCTakedown_C = "HeroParticipatedInNPCTakedown";

const string libGame_gv_eventParam_HeroParticipatedInNPCTakedown_Player_C = "PlayerKilling";

const string libGame_gv_eventParam_HeroParticipatedInNPCTakedown_NPC_C = "DeadUnit";

const string libGame_gv_eventID_HeroWitnessedAlliedNPCDeath_C = "HeroWitnessedAlliedNPCDeath";

const string libGame_gv_eventParam_HeroWitnessedAlliedNPCDeath_Player_C = "AlliedPlayer";

const string libGame_gv_eventParam_HeroWitnessedAlliedNPCDeath_NPC_C = "DeadUnit";

const string libGame_gv_eventID_SpecialCaseUnitParticipatedInNPCTakedown_C = "SpecialCaseUnitParticipatedInNPCTakedown";

const string libGame_gv_eventParam_SpecialCaseUnitParticipatedInNPCTakedown_Player_C = "PlayerParticipant";

const string libGame_gv_eventParam_SpecialCaseUnitParticipatedInNPCTakedown_NPC_C = "DeadUnit";

const string libGame_gv_eventID_HeroParticipatedInTakedown_C = "HeroParticipatedInTakedown";

const string libGame_gv_eventParam_HeroParticipatedInTakedown_PlayerKilling_C = "PlayerKilling";

const string libGame_gv_eventParam_HeroParticipatedInTakedown_LastHitPlayer_C = "LastHitPlayer";

const string libGame_gv_eventParam_HeroParticipatedInTakedown_PlayerKilled_C = "PlayerKilled";

const string libGame_gv_eventParam_HeroParticipatedInTakedown_HeroKilled_C = "HeroKilled";

const string libGame_gv_eventParam_HeroParticipatedInTakedown_HeroKilledPosition_C = "HeroKilledPosition";

const string libGame_gv_eventID_HeroKilled_C = "HeroKilled";

const string libGame_gv_eventParam_HeroKilled_PlayerKilled_C = "PlayerKilled";

const string libGame_gv_eventParam_HeroKilled_KilledUnit_C = "KilledUnit";

const string libGame_gv_eventParam_HeroKilled_PlayerKilling_C = "PlayerKilling";

const string libGame_gv_eventParam_HeroKilled_Location_C = "Location";

const string libGame_gv_eventID_HeroAllyKilled_C = "HeroAllyKilled";

const string libGame_gv_eventParam_HeroAllyKilled_PlayerKilled_C = "PlayerKilled";

const string libGame_gv_eventParam_HeroAllyKilled_KilledUnit_C = "KilledUnit";

const string libGame_gv_eventParam_HeroAllyKilled_PlayerKilling_C = "PlayerKilling";

const string libGame_gv_eventParam_HeroAllyKilled_Location_C = "Location";

const string libGame_gv_eventID_HeroSpawn_C = "HeroSpawn";

const string libGame_gv_eventParam_HeroSpawn_Player_C = "Player";

const string libGame_gv_eventID_ManualHeroSpawn_C = "ManualHeroSpawn";

const string libGame_gv_eventParam_ManualHeroSpawn_Player_C = "Player";

const string libGame_gv_eventParam_ManualHeroSpawn_HeroID_C = "HeroID";

const string libGame_gv_eventParam_ManualHeroSpawn_DebugXP_C = "DebugXP";

const string libGame_gv_eventParam_ManualHeroSpawn_Location = "Location";

const string libGame_gv_eventID_RequestCustomRespawn_C = "RequestCustomRespawn";

const string libGame_gv_eventParam_RequestCustomRespawn_Player_C = "Player";

const string libGame_gv_eventParam_RequestCustomRespawn_RespawnMounted_C = "RespawnMounted";

const string libGame_gv_eventParam_RequestCustomRespawn_RespawnLocation_C = "RespawnLocation";

const string libGame_gv_eventParam_RequestCustomRespawn_RespawnHealthPercent_C = "RespawnHealthPercent";

const string libGame_gv_eventID_HeroRespawn_C = "HeroRespawn";

const string libGame_gv_eventParam_HeroRespawn_Player_C = "Player";

const string libGame_gv_eventParam_HeroRespawn_RespawnUnit_C = "RespawnUnit";

const string libGame_gv_eventID_HeroGainTalent_C = "HeroGainTalent";

const string libGame_gv_eventParam_HeroGainTalent_Player = "Player";

const string libGame_gv_eventParam_HeroGainTalent_Gained_Talent = "Gained Talent";

const string libGame_gv_eventID_HeroRespecsTalents_C = "HeroRespecsTalents";

const string libGame_gv_eventParam_HeroRespecsTalents_Player = "Player";

const string libGame_gv_EventID_HeroMindControlsNPC_C = "HeroMindControlsNPC";

const string libGame_gv_eventParam_HeroMindControlsNPC_NPCUnit_C = "NPCUnit";

const string libGame_gv_eventParam_HeroMindControlsNPC_OriginalOwner_C = "OriginalOwner";

const string libGame_gv_eventID_HeroEntersSpecialDeathState_C = "Hero";

const string libGame_gv_eventParam_HeroEntersSpecialDeathState_Unit_C = "Hero";

const string libGame_gv_eventID_CheckUnitForAbilityRedirect_C = "Unit";

const string libGame_gv_eventParam_CheckUnitForAbilityRedirect_Unit_C = "Unit";

const string libGame_gv_eventParam_CheckUnitForAbilityRedirect_Target_C = "TargetUnit";

const string libGame_gv_eventParam_CheckUnitForAbilityRedirect_Boolean_C = "Boolean";

const string libGame_gv_eventParam_CheckUnitForAbilityRedirect_Point_C = "Point";

const string libGame_gv_eventID_SpecialCaseTalentCooldownReset_C = "Player";

const string libGame_gv_eventParam_SpecialCaseTalentCooldownReset_Player_C = "Player";

const string libGame_gv_eventID_HeroUnitSwappedForPlayer_C = "HeroUnitSwappedForPlayer";

const string libGame_gv_eventParam_HeroUnitSwappedForPlayer_OldUnit_C = "OldUnit";

const string libGame_gv_eventParam_HeroUnitSwappedForPlayer_NewUnit_C = "NewUnit";

const string libGame_gv_eventParam_HeroUnitSwappedForPlayer_PlayerNumber_C = "PlayerNumber";

const string libGame_gv_eventParam_HeroUnitSwappedForPlayer_PreserveOnOld_C = "PreserveOnOld";

const string libGame_gv_eventID_JungleCampStartedSpawning_C = "JungleCampSpawning";

const string libGame_gv_eventParam_JungleCampStartedSpawning_Camp_C = "Camp";

const string libGame_gv_eventID_JungleCampSpawned_C = "JungleCampSpawned";

const string libGame_gv_eventParam_JungleCampSpawned_Camp_C = "Camp";

const string libGame_gv_eventID_JungleCampDefenderCreated_C = "JungleCampDefenderCreated";

const string libGame_gv_eventParam_JungleCampDefenderCreated_C = "Unit";

const string libGame_gv_eventID_JungleCampLanerCreated_C = "JungleCampLanerCreated";

const string libGame_gv_eventParam_JungleCampLanerCreated_C = "Unit";

const string libGame_gv_eventID_MercCampCaptured_C = "MercCampCaptured";

const string libGame_gv_eventParam_MercCampCaptured_Index_C = "Index";

const string libGame_gv_eventParam_MercCampCaptured_Owner_C = "Owner";

const string libGame_gv_eventParam_MercCampCaptured_CapturingPlayers_C = "CapturingPlayers";

const string libGame_gv_eventID_MapMechanicInit_C = "MapMechanicInit";

const string libGame_gv_eventParam_MapMechanicInit_Mechanic_C = "Mechanic";

const string libGame_gv_eventID_UnitCapturedMapObjective_C = "UnitCapturedMapObjective";

const string libGame_gv_eventParam_UnitCapturedMapObjective_Unit_C = "Unit That Captured Map Objective";

const string libGame_gv_eventID_MapTributeWarning_C = "MapTributeSpawnWarning";

const string libGame_gv_eventParam_MapTributeWarning_Position_C = "Position";

const string libGame_gv_eventID_MapTributeSpawned_C = "MapTributeSpawned";

const string libGame_gv_eventParam_MapTributeSpawned_Tribute_C = "Tribute";

const string libGame_gv_eventID_MapTributePickedup_C = "MapTributePickedUp";

const string libGame_gv_eventParam_MapTributePickedup_Player_C = "Player";

const string libGame_gv_eventParam_MapTributePickedup_Position_C = "Position";

const string libGame_gv_eventID_MapRavenCurseStarts_C = "MapRavenCurseStarts";

const string libGame_gv_eventParam_MapRavenCurseStarts_Team_C = "Team";

const string libGame_gv_eventID_MapRavenCurseEnds_C = "MapRavenCurseEnds";

const string libGame_gv_eventID_MapUnderworldOpen_C = "MapUnderworldOpen";

const string libGame_gv_eventParam_MapUnderworldOpen_Entrances_C = "UnderworldEntrances";

const string libGame_gv_eventParam_MapUnderworldOpen_Underworld_C = "UnderworldRegion";

const string libGame_gv_eventParam_MapUnderworldOpen_TotalSkull_C = "UnderworldTotalSkull";

const string libGame_gv_eventID_MapUnderworldSkullCollected_C = "MapUnderworldSkullCollected";

const string libGame_gv_eventParam_MapUnderworldSkullCollected_Team1Skulls_C = "Team1Skulls";

const string libGame_gv_eventParam_MapUnderworldSkullCollected_Team2Skulls_C = "Team2Skulls";

const string libGame_gv_eventParam_MapUnderworldSkullCollected_CollectingPlayer_C = "Player";

const string libGame_gv_eventID_MapUnderworldCleared_C = "MapUnderworldCleared";

const string libGame_gv_eventID_MapUnderworldBossStartSummoning_C = "MapUnderworldBossStartSummoning";

const string libGame_gv_eventParam_MapUnderworldBossStartSummoning_Team_C = "Team";

const string libGame_gv_eventParam_MapUnderworldBossStartSummoning_Location_C = "Location";

const string libGame_gv_eventParam_MapUnderworldBossStartSummoning_Lane_C = "Lane";

const string libGame_gv_eventID_MapUnderworldBossSummoned_C = "MapUnderworldBossSummoned";

const string libGame_gv_eventParam_MapUnderworldBossSummoned_Boss_C = "SummonedBoss";

const string libGame_gv_eventID_MapUnderworldPlayerUsesGate_C = "MapUnderworldPlayerUsesGate";

const string libGame_gv_eventParam_MapUnderworldPlayerUsesGate_Player_C = "Player";

const string libGame_gv_eventParam_MapUnderworldPlayerUsesGate_HeroUnit_C = "HeroUnit";

const string libGame_gv_eventID_MapUnderworldPlayerChangesPlane_C = "MapUnderworldPlayerUsesGate";

const string libGame_gv_eventParam_MapUnderworldPlayerChangesPlane_Player_C = "Player";

const string libGame_gv_eventParam_MapUnderworldPlayerChangesPlane_HeroUnit_C = "HeroUnit";

const string libGame_gv_eventID_MapObeliskSpawned_C = "MapObeliskSpawned";

const string libGame_gv_eventParam_MapObeliskSpawned_Obelisk_C = "Obelisk";

const string libGame_gv_eventID_MapObeliskOwnershipChange_C = "MapObeliskOwnerShipChnage";

const string libGame_gv_eventParam_MapObeliskOwnershipChange_Team_C = "Team";

const string libGame_gv_eventParam_MapObeliskOwnershipChange_Obelisk_C = "Obelisk";

const string libGame_gv_eventParam_MapObeliskOwnershipChange_CapturingPlayers_C = "CapturingPlayers";

const string libGame_gv_eventID_MapDragonActivated_C = "MapDragonActivated";

const string libGame_gv_eventParam_MapDragonActivated_Dragon_C = "Dragon";

const string libGame_gv_eventParam_MapDragonActivated_Player_C = "Player";

const string libGame_gv_eventID_MapDragonShireDragonEnds_C = "MapDragonShireDragonEnds";

const string libGame_gv_eventID_MapHauntedWoodsNightStarts_C = "MapHauntedWoodsNightStarts";

const string libGame_gv_eventID_MapHauntedWoodsNightEnds_C = "MapHauntedWoodsNightEnds";

const string libGame_gv_eventID_MapGardensSeedCollected_C = "MapGardensSeedCollected";

const string libGame_gv_eventParam_MapGardensSeedCollected_CollectingPlayer_C = "Player";

const string libGame_gv_eventID_MapSoulCagesSoulCollected_C = "MapSoulCagesSoulCollected";

const string libGame_gv_eventParam_MapSoulCagesSoulCollected_CollectingPlayer_C = "Player";

const string libGame_gv_eventParam_MapSoulCagesSoulCollected_Count_C = "Count";

const string libGame_gv_eventID_MinionGroupCreated_C = "MinionGroupCreated";

const string libGame_gv_eventParam_MinionGroupCreated_C = "UnitGroup";

const string libGame_gv_eventID_PlayerAchievesMultiKill_C = "PlayerAchievesMultiKill";

const string libGame_gv_eventParam_PlayerAchievesMultiKill_Player_C = "Player";

const string libGame_gv_eventParam_PlayerAchievesMultiKill_KillCount_C = "KillCount";

const string libGame_gv_eventParam_KillingSpree_Player_C = "KillingSpreePlayer";

const string libGame_gv_eventID_ArenaMode_Crowd_KillingSpree_Announce_C = "ArenaModeKillingSpree";

const string libGame_gv_eventParam_Mayhem_Player_C = "MayhemPlayer";

const string libGame_gv_eventID_ArenaMode_Crowd_Mayhem_Announce_C = "ArenaModeMayhem";

const string libGame_gv_eventParam_HotS_Player_C = "HotSPlayer";

const string libGame_gv_eventID_ArenaMode_Crowd_HotS_Announce_C = "ArenaModeHotS";

const string libGame_gv_eventID_AnnouncerVOInitiated_C = "Announcer VO Initiated";

const string libGame_gv_eventParam_AnnouncerEvent_C = "Announcer Event";

const string libGame_gv_eventParam_Player_C = "Player";

const string libGame_gv_eventParam_Sound_C = "Sound";

const string libGame_gv_eventID_CustomKillVO_C = "Custom Kill VO";

const string libGame_gv_eventParam_CustomKillVOPlayer_C = "Custom Kill VO Player";

const string libGame_gv_eventParam_CustomKillVODeadPlayer_C = "Custom Kill VO Dead Player";

const string libGame_gv_eventParam_CustomKillVOSpeakingPlayer_C = "Custom Kill VO Speaking Player";

const string libGame_gv_eventParam_CustomKillVOKillLine_C = "Custom Kill VO Kill Line";

const string libGame_gv_eventID_TalentPanelVisibilityChanged_C = "TalentPanelVisibilityChange";

const string libGame_gv_eventParam_TalentPanelVisibilityChanged_Player_C = "Player";

const string libGame_gv_eventParam_TalentPanelVisibilityChanged_Visibility_C = "Visibility";

const string libGame_gv_eventID_TownStructureEntersSpecialDeathState_C = "Structure";

const string libGame_gv_eventParam_TownStructureEntersSpecialDeathState_Structure_C = "Structure";

const string libGame_gv_eventID_UnitEntersSafeZonePuntRegion_C = "UnitEntersSafeZonePuntRegion";

const string libGame_gv_eventParam_UnitEntersSafeZonePuntRegion_Unit_C = "Unit";

const string libGame_gv_eventParam_UnitEntersSafeZonePuntRegion_PuntPoint_C = "PuntPoint";

const string libGame_gv_eventID_UnitEntersSafeZoneRegion_C = "UnitEntersSafeZoneRegion";

const string libGame_gv_eventParam_UnitEntersSafeZoneRegion_Unit_C = "Unit";

const string libGame_gv_eventID_UnitExitsSafeZoneRegion_C = "UnitExitsSafeZoneRegion";

const string libGame_gv_eventParam_UnitExitsSafeZoneRegion_Unit_C = "Unit";

const string libGame_gv_eventID_GameLoadedUIHook_C = "GameLoadedUIHook";

const string libGame_gv_eventID_UIShownForPlayer_C = "UIInitialized";

const string libGame_gv_eventParam_PlayerShownUI_C = "PlayerShownUI";

const string libGame_gv_eventID_MercCampRewardGranted_C = "MercCampRewardGranted";

const string libGame_gv_eventParam_MercCamp_CampIndex_C = "CampIndex";

const string libGame_gv_eventParam_MercCamp_RewardedPlayer_C = "RewardedPlayer";

const string libGame_gv_eventID_UnitEnteredVehicleInstant_C = "Unit Entered Vehicle (Instant)";

const string libGame_gv_eventParam_UnitEnteredVehicleInstant_VehicleUnit_C = "Vehicle Unit";

const string libGame_gv_eventParam_UnitEnteredVehicleInstant_Passengerhero_C = "Passenger Hero";

const string libGame_gv_eventParam_UnitEnteredVehicleInstant_HeroPlayer_C = "Hero Player";

const string libGame_gv_eventID_VehicleSwappedInstant_C = "Vehicle Swapped (Instant)";

const string libGame_gv_eventParam_VehicleSwappedInstant_OriginVehicle_C = "Use Vehicle Caster Unit";

const string libGame_gv_eventParam_VehicleSwappedInstant_NewVehicle_C = "New Vehicle";

const string libGame_gv_eventParam_VehicleSwappedInstant_PassengerHero_C = "Passenger Hero";

const string libGame_gv_eventParam_VehicleSwappedInstant_HeroPlayer_C = "Hero Player";

const string libGame_gv_eventID_VehicleAbandoned_C = "Vehicle Abandoned (Instant)";

const string libGame_gv_eventParam_VehicleAbandoned_Vehicle_C = "Vehicle";

const string libGame_gv_eventParam_VehicleAbandoned_PassengerHero_C = "Passenger Hero";

const string libGame_gv_eventParam_VehicleAbandoned_HeroPlayer_C = "Hero Player";

const string libGame_gv_eventID_VehicleDestroyed_C = "Vehicle Destroyed (Instant)";

const string libGame_gv_eventParam_VehicleDestroyed_Vehicle_C = "Vehicle";

const string libGame_gv_eventParam_VehicleDestroyed_PassengerHero_C = "Passenger Hero";

const string libGame_gv_eventParam_VehicleDestroyed_HeroPlayer_C = "Hero Player";

const string libGame_gv_eventID_UnitStopsOccupyingVehicle_C = "Unit Stops Occupying Vehicle";

const string libGame_gv_eventParam_UnitStopsOccupyingVehicle_Vehicle_C = "Vehicle";

const string libGame_gv_eventParam_UnitStopsOccupyingVehicle_PassengerHero_C = "Passenger Hero";

const string libGame_gv_eventParam_UnitStopsOccupyingVehicle_HeroPlayer_C = "Hero Player";

const int libGame_gv_waitBeforePlayingHeroCheer = 6;

const int libGame_gv_mapMechanicHelpNumberOfGamesToDisplay_C = 1;

const fixed libGame_gv_heroSpawnDelay_C = 3.0;

const fixed libGame_gv_individualHeroSpawnMiniDelay_C = 0.5;

const fixed libGame_gv_heroIntroLineTimeframe_C = 30.0;

const fixed libGame_gv_mapMechanicHelpPanelDelayTime_C = 10.0;

const fixed libGame_gv_gameOver_CoreAnimationWaitTime_C = 5.0;

const fixed libGame_gv_heroDeathActionCamActivationDelay = 1.0;

const fixed libGame_gv_heroDeathMultikillTimeoutDuration = 10.0;

const fixed libGame_gv_heroDeathTeamKilledVODelay = 4.0;

const fixed libGame_gv_heroDeathHeroDamageLookBackWindow = 1.5;

const fixed libGame_gv_heroDeathRespawnCueSoundTiming = 2.0;

const fixed libGame_gv_heroDeathToastDisplayTime = 5.0;

const fixed libGame_gv_heroDeathKillStingerQueueTimerDuration = 0.125;

const int libGame_gv_laneMaxCount_C = 10;

const int libGame_gv_laneMinioinCompositionMaxCount_C = 2;

const int libGame_gv_laneCustomLane = -1;

const fixed libGame_gv_teamAbandonedTheGameTimerDuration_C = 20.0;

const fixed libGame_gv_playerLeftAnnouncementTimerDuration_C = 5.0;

const string libGame_gv_wheelCmdUserType = "TheWheelOfCommand";

const string libGame_gv_lootVoiceLineActor = "HeroVoiceLineActor";

const fixed libGame_gv_loot_BannerTextTagHeightOffset_C = 4.5;

const int libGame_gv_minion_CatapultCap_C = 15;

const int libGame_gv_minion_PeriodicCatapultsWavePeriod_C = 3;

const int libGame_gv_moonwellMaxMoonwellCount = 16;

const string libGame_gv_mountModelActor = "MountModel";

const string libGame_gv_morphMountModelActor = "MorphMountModel";

const fixed libGame_gv_onFireMaxOffenseScoreAwardforTakedown = 2.0;

const int libGame_gv_onFireAllowedCount = 1;

const int libGame_gv_onFireWindowTimeBetweenRecounts = 12;

const int libGame_gv_onFireWindowCount = 18;

const fixed libGame_gv_onFireInfernoDistance = 6.0;

const fixed libGame_gv_onFireScoreThresholdBeforeFire = 5.0;

const fixed libGame_gv_onFireScoreDeathPenaltyPeriodinSeconds = 180.0;

const int libGame_gv_numberofOnFireScoreValues = 6;

const string libGame_gv_eventID_ScalingIncremented_C = "ScalingIncremented";

const fixed libGame_gv_gameScore_HeroTakedownMultiplier = 2.0;

const fixed libGame_gv_gameScore_NPCTakedownMultiplier = 0.5;

const fixed libGame_gv_gameScore_HealScoreMultiplier = 0.05;

const int libGame_gv_townMaxTownCount = 30;

const int libGame_gv_townMaxStructureCount = 63;

const fixed libGame_gv_hallOfStormsKnockbackLaunchDistance = 12.0;

const fixed libGame_gv_hallOfStormsKnockbackCutoffDistance = -1.0;

const int libGame_gv_watchTowersMaxCount = 15;

const int libGame_gv_TimeToStartDecay_C = 15;

const int libGame_gv_TimeToDecay_C2 = 30;



// Structures

struct libGame_gs_Team {

    unit lv_core;

    unit lv_hearthStone;

    point lv_repulserFieldPuntLocation;

    int lv_xPTotals;

    int lv_teamLevel;

    int lv_kills;

    int lv_revives;

    int lv_townKills;

    int lv_townsRemaining;

    int lv_map_MercCampCaptures;

    int lv_map_CursesPlacedOnEnemyTeam;

    int lv_map_DragonCaptures;

    int lv_map_SkullsCollected;

    int lv_map_SeedsCollected;

    playergroup lv_teamPlayerGroup;

    playergroup lv_teamPlayerGroupNoNPCPlayers;

    int lv_teamPlayerCount;

    int lv_nPCPlayer;

    int lv_multikillStreak;

    timer lv_multikillTimer;

    int lv_activeHumanPlayers;

    timer lv_abandonedTheGameTimer;

};



struct libGame_gs_AfkScoreValues {

    fixed lv_healing;

    fixed lv_siegeDamage;

    fixed lv_heroDamage;

};



struct libGame_gs_AnnouncementQueue {

    timer lv_messageTimer;

    int lv_numberOfItemsInQueue;

    int[libGame_gv_announcement_QueueMaxCount_C + 1] lv_priority;

    int[libGame_gv_announcement_QueueMaxCount_C + 1] lv_announcerVOEvent;

    string[libGame_gv_announcement_QueueMaxCount_C + 1] lv_animName;

    text[libGame_gv_announcement_QueueMaxCount_C + 1] lv_textParam1;

    text[libGame_gv_announcement_QueueMaxCount_C + 1] lv_textParam2;

    text[libGame_gv_announcement_QueueMaxCount_C + 1] lv_textParam3;

    text[libGame_gv_announcement_QueueMaxCount_C + 1] lv_textParam4;

    string[libGame_gv_announcement_QueueMaxCount_C + 1] lv_icon;

    fixed[libGame_gv_announcement_QueueMaxCount_C + 1] lv_duration;

    bool[libGame_gv_announcement_QueueMaxCount_C + 1] lv_isKillAnnouncement;

};



struct libGame_gs_CapturePoint {

    fixed[libCore_gv_bALMaxPlayers + 1] lv_timeOnCapturePointForPlayers;

    fixed[libCore_gv_bALMaxPlayers + 1] lv_timeOnCurrentEnabledCapturePointForPlayers;

    bool lv_enabled;

    unit lv_captureBeaconUnit;

    region lv_captureRegion;

    int lv_captureCounter;

    int lv_pointsNeededToCapture;

    int lv_maximumPoints;

    int lv_captureProgressBar;

    int lv_progressBarDimmingFrame;

    int lv_capturePointState;

    int lv_emptyPointDecay;

    int lv_contestedPointDecay;

    bool lv_rememberLastOwner;

    bool lv_decayToOwner;

    bool lv_alwaysDecay;

};



struct libGame_gs_DeathRecapMaxDamageAbil {

    string lv_abil;

    int lv_amount;

};



struct libGame_gs_DeathRecapSpecialDamageEffect {

    string lv_effect;

};



struct libGame_gs_DeathRecapMaxDamager {

    int lv_player;

    int lv_amount;

    int lv_heroIndex;

    libGame_gs_DeathRecapMaxDamageAbil[libGame_gv_deathRecap_MaxMaxDamageAbilsSort_C + 1] lv_maxDamageAbils;

    int lv_maxDamageAbilCount;

};



struct libGame_gs_DeathRecapEffectBar {

    int lv_effectPlayer;

    int lv_postEffectHealth;

    bool lv_nPCSource;

    bool lv_structureSource;

    bool lv_isHeal;

    string lv_effect;

    int lv_heroIndex;

    fixed lv_time;

    string lv_button;

    string lv_debugString;

    int lv_amount;

    int lv_amountAttempted;

    int lv_amountShielded;

    int lv_amountOverkill;

    int lv_combinedNumOfEvents;

    fixed lv_combinedTimeDelta;

    string lv_abilityLink;

    string lv_unitType;

};



struct libGame_gs_DeathRecapData {

    libGame_gs_DeathRecapEffectBar[libGame_gv_deathRecap_MaxEffectBars_C + 1] lv_effectBars;

    int lv_effectBarCount;

    int lv_effectEventCount;

    libGame_gs_DeathRecapMaxDamager[libGame_gv_deathRecap_MaxMaxDamagersSort_C + 1] lv_highestDamagers;

    int lv_highestDamagersCount;

    int lv_deadHeroStartHealth;

    int lv_deadHeroHighestHealth;

    int lv_deadHeroMaxHealth;

};



struct libGame_gs_MVPStats {

    int lv_team;

    int lv_role;

    playergroup lv_mvpRoles;

    fixed lv_kills;

    fixed lv_assists;

    fixed lv_deaths;

    fixed lv_timeSpentDead;

    fixed lv_heroDamageDone;

    fixed lv_xPContribution;

    fixed lv_siegeDamageDone;

    fixed lv_damageTaken;

    fixed lv_healAmount;

    fixed lv_mVPScore;

    int lv_enemyTeam;

    text lv_heroName;

    string lv_unitType;

};



struct libGame_gs_MVPStatDataSet {

    text lv_mVPStatText;

    fixed lv_mVPStatValue;

    text lv_mVPStatLabel;

    int lv_mVPStatPriority;

};



struct libGame_gs_EndofMatchAwardRecordBase {

    int lv_winner;

    int lv_awardIndex;

    string lv_awardBadgeIndex;

    bool lv_gatedbyBase;

    bool lv_presentasRatio;

    fixed lv_value;

    fixed lv_weight;

    fixed lv_base;

    fixed lv_weightModifier;

    text lv_name;

    text lv_prefix;

    text lv_suffix;

    bool lv_dEBUGManuallyForceAssigned;

    string lv_scoreValue;

    text lv_tooltip;

};



struct libGame_gs_HeroDeathKillStingerQueue {

    timer[libCore_gv_bALMaxTeams + 1] lv_killStingerTimer;

    int[libCore_gv_bALMaxTeams + 1] lv_numberOfItemsInQueue;

    int[libCore_gv_bALMaxTeams + 1] lv_nextPlayIndex;

    soundlink[libCore_gv_bALMaxTeams + 1][libCore_gv_bALMaxPlayersOnATeam + 1] lv_soundQueue;

};



struct libGame_gs_LaneData {

    text lv_laneName;

    int lv_laneNamePreset;

    int lv_waypointCount;

    point[61] lv_waypoints;

    int lv_heroMaxOrderWaypointIndex;

    int lv_heroMinChaosWaypointIndex;

    int lv_structureCount;

    unit[11] lv_orderStructures;

    unit[11] lv_chaosStructures;

    fixed lv_spawnDelay;

    int[libCore_gv_bALMaxTeams + 1] lv_minionCompositions;

    int[libCore_gv_bALMaxTeams + 1] lv_bruiserMinionLevel;

    bool lv_minionSpawningEnabled;

};



struct libGame_gs_LaneClosestPointInfo {

    int lv_closestIndex;

    int lv_secondaryIndex;

    point lv_closestPoint;

    fixed lv_closestDist;

};



struct libGame_gs_ClosestLaneInfo {

    libGame_gs_LaneClosestPointInfo[libGame_gv_laneMaxCount_C + 1] lv_laneData;

    int lv_closestLane;

    int lv_closestMinionLane;

};



struct libGame_gs_WheelPingData {

    string lv_action;

    abilcmd lv_cmd;

    string lv_effect;

};



struct libGame_gs_OnFireStats {

    int lv_team;

    int lv_role;

    playergroup lv_mvpRoles;

    fixed lv_kills;

    fixed lv_assists;

    fixed lv_deaths;

    fixed lv_timeSpentDead;

    fixed lv_heroDamageDone;

    fixed lv_xPContribution;

    fixed lv_siegeDamageDone;

    fixed lv_damageTaken;

    fixed lv_healAmount;

    fixed lv_mVPScore;

    fixed lv_offenseScore;

    fixed lv_defenseScore;

    fixed lv_utilityScore;

    int lv_enemyTeam;

    text lv_heroName;

    string lv_unitType;

};



struct libGame_gs_OnFireSimpleScores {

    int lv_player;

    fixed lv_score;

    int lv_fireLevel;

};



struct libGame_gs_PlayerBankData {

    bank lv_bank;

    int lv_mapPlayCount;

};



struct libGame_gs_Player {

    int lv_talent_HeroicTalentTier;

    libCore_gs_TalentTier[libCore_gv_talents_MaxTiers_C + 1] lv_talents_TierLevels;

    bool lv_heroRequiresCustomRespawn;

    int lv_playerStatus;

    int lv_victoryDefeat;

    bool lv_gameEndedForPlayer;

    text lv_name;

    int lv_faction;

    bool lv_disableMount;

    string lv_defaultMountOverride;

    int lv_heroIndex;

    unit lv_heroUnit;

    unitgroup lv_heroUnitGroup;

    unitgroup lv_summonedUnitGroup;

    unit lv_activeVehicle;

    unit lv_gravestone;

    int lv_gravestoneTextTag;

    string lv_portraitIcon;

    int lv_pathDisplay;

    int lv_onMyWayPathDisplay;

    point lv_spawnPoint;

    int lv_rosterSlot;

    int lv_teamPlayerSlot;

    bool lv_suppressReviveVOSound;

    bool lv_suppressLevelUpFXAndTeamXPTracking;

    bool lv_suppressLevelUpFXAndSounds;

    bool lv_playerLeftAnnoucnementPlayed;

    unit lv_unitStatusBarsMonitorUnit_StunDeath;

    unit lv_unitStatusBarsMonitorUnit_Behavior;

    unit lv_unitStatusBarsMonitorUnit_Channel;

    int lv_killingSpreeCount;

    point lv_lastKnownPosition;

    unit lv_cameraDeadUnitCameraTarget;

    unit lv_cameraPlayerUnitToFocusOn;

    unitgroup lv_cameraPlayerUnitGroupToFocusOn;

    int lv_cameraAllyPlayerToTrack;

    unit lv_cameraCurrentTarget;

    unitgroup lv_cameraCurrentTargetGroup;

    bool lv_cameraPlayerHasControl;

    bool lv_cameraForcedLock;

    bool lv_cameraCameraLockInterrupt;

    bool lv_vOPissedSoundIsPlaying;

    int lv_vOPissedSoundIndex;

    int lv_vOPissedClickCount;

    string lv_vOSoundSuffix;

    bool lv_vOHeroHasCustomKillVO;

    string lv_soundDeathAlertPrefix;

    fixed lv_lowHPHPAmount;

    sound lv_lowHPStartSound;

    sound lv_lowHPBreathLoop;

    sound lv_lowHPHeartBeatLoop;

    bool lv_lowHPSoundPlaying;

    libCore_gs_LootContentData lv_lootContent;

    int lv_selectedAnnouncerVOPack;

    int[libCore_gv_dataAnnouncerVOMaxNumberOfAnnouncerEvents + 1] lv_announcerVOOverrides;

    int lv_selectedMount;

    int lv_selectedSkin;

    bool lv_isDead;

    timer lv_respawnTimer;

    timer lv_respawnSoundCueTimer;

    bool lv_noRespawn;

    timer lv_deathToastTimer;

    int lv_lastKillingPlayer;

    fixed lv_brettTimersTimeMod;

    fixed[libCore_gv_bALMaxPlayers + 1] lv_lastTimeHeroWasWithinXPRadius;

    fixed[libCore_gv_bALMaxPlayers + 1] lv_lastTimeHeroDealtDamage;

    timer lv_recentDamageResetTimer;

    fixed[libCore_gv_bALMaxPlayers + 1] lv_recentPlayerDamageReceived;

    int lv_multikillStreak;

    timer lv_multikillTimer;

    unit lv_currentVampiricTouchTarget;

    int lv_bribeChargeStackRequirement;

    string lv_bribeTokenLink;

    libGame_gs_PlayerBankData lv_bankData;

    fixed lv_timeSpentDead;

    fixed lv_xPRecievedFromMinions;

    fixed lv_xPRecievedFromCreeps;

    fixed lv_xPRecievedFromStructures;

    fixed lv_xPRecievedFromHeroes;

    fixed lv_xPRecievedFromTrickle;

    fixed lv_xPRecievedFromRegenGlobe;

    fixed lv_individualXPEarned;

    int lv_aIHeroDelegateTokenValue;

    int lv_regenGlobes;

    bool lv_heroSpawnReady;

    bool lv_remountHeroAfterTeleport;

    point lv_CameraCenterPoint;

    bool lv_suppressHeroAnnouncements;

    bool lv_suppressKillLogwhenKilled;

    bool lv_heroUsesAnnouncementAlias;

    text lv_heroAnnouncementAliasText;

    string lv_heroAnnouncementAliasIcon;

    timer lv_playerLeftAnnouncementTimer;

    bool lv_playerIgnoresAFKSystem;

    libCore_gs_HeroData lv_heroData;

    libCore_gs_SkinData lv_skinData;

    libCore_gs_HeroMountData lv_mountData;

    unitgroup lv_altClickPartyFrameAnnouncementUnitGroup;

    bool lv_suppressMapMechanicButton;

};



struct libGame_gs_BuildingScaling {

    fixed lv_l2_Tower_Health;

    fixed lv_l2_Tower_Damage;

    fixed lv_l2_TownHall_Health;

    fixed lv_l2_TownHall_Damage;

    fixed lv_l2_Gate_Health;

    fixed lv_l2_Wall_Health;

    fixed lv_l2_HealingFountain_Health;

    fixed lv_l2_HealingFountain_Shields;

    fixed lv_l3_Tower_Health;

    fixed lv_l3_Tower_Damage;

    fixed lv_l3_TownHall_Health;

    fixed lv_l3_TownHall_Damage;

    fixed lv_l3_Gate_Health;

    fixed lv_l3_Wall_Health;

    fixed lv_l3_HealingFountain_Health;

    fixed lv_l3_HealingFountain_Shields;

};



struct libGame_gs_ScoreValues {

    fixed lv_gameScore;

    fixed lv_kills;

    fixed lv_assists;

    int lv_creepCampsCaptured;

    int lv_watchTowersCaptured;

    fixed lv_takedowns;

    fixed lv_deaths;

    int lv_level;

    int lv_townKills;

    int lv_minionKills;

    fixed lv_individualXPEarned;

    fixed lv_timeCCdEnemyHeroes;

    int lv_damageTaken;

    int lv_damageSoaked;

    int lv_lessThan4Deaths;

    int lv_physicalDamage;

    int lv_spellDamage;

    int lv_multikill;

    int lv_healing;

    int lv_regenGlobes;

    int lv_tributesCollected;

    int lv_dragonCaptures;

    int lv_dragonShrineCaptures;

    int lv_skullsCollected;

    int lv_seedsCollected;

};



struct libGame_gs_TownData {

    int lv_lane;

    int lv_owner;

    region lv_townRegion;

    point lv_flagBearerTroopRallyPoint;

    bool lv_makesCoreVulnerableWhenKilled;

    int lv_structureCount;

    int[libGame_gv_townMaxStructureCount + 1] lv_structureTypes;

    unit[libGame_gv_townMaxStructureCount + 1] lv_structureUnits;

    string[libGame_gv_townMaxStructureCount + 1] lv_structureUnitIDs;

    point[libGame_gv_townMaxStructureCount + 1] lv_structureSpawnPoints;

    int lv_townHallIndex;

    point lv_townHallPosition;

    unit lv_lootBannerUnit;

    int lv_structuresAlive;

    int lv_moonwellIconPairIndex;

};



struct libGame_gs_WatchTowers {

    unit lv_watchTowerUnit;

    unit lv_captureBeaconUnit;

    region lv_captureRegion;

    int lv_captureCounter;

    bool lv_enabled;

    int lv_capturePointIndex;

    int lv_decayDelayTicks;

    int lv_neutralDecayTicks;

    bool lv_startedDecaying;

};



// Variable Declarations

libGame_gs_Team[libCore_gv_bALMaxTeams + 1] libGame_gv_teams;

revealer[13] libGame_gv_baseRevealers;

bool libGame_gv_firstBloodAvailable;

bool libGame_gv_gameOver;

bool libGame_gv_teamOrderCoreAlive;

bool libGame_gv_xPTrickleEnabled;

fixed[libCore_gv_bALMaxTeams + 1] libGame_gv_xPTrickleModifier;

timer libGame_gv_totalTime;

timer libGame_gv_gameTimer;

timer libGame_gv_matchGameplayTimer;

timer libGame_gv_gobalTimer;

timer libGame_gv_xPTrickleStartTimer;

fixed[libCore_gv_bALMaxPlayers + 1] libGame_gv_captureTimes;

trigger libGame_gv_initializeVisibilityCallback;

bool libGame_gv_afk_AfkDetectionSystemEnabled;

bool libGame_gv_afk_AfkDetectionSystemSkipped;

timer[libCore_gv_bALMaxPlayers + 1] libGame_gv_afk_PlayerAfkWarningTimer;

timer[libCore_gv_bALMaxPlayers + 1] libGame_gv_afk_PlayerAfkKickTimer;

bool[libCore_gv_bALMaxPlayers + 1] libGame_gv_afk_PlayerAfkWarning;

libGame_gs_AfkScoreValues[libCore_gv_bALMaxPlayers + 1] libGame_gv_afk_PlayerScoreValueTracking;

int[libCore_gv_bALMaxPlayers + 1] libGame_gv_afk_PlayerAfkWarnCount;

bool libGame_gv_afk_DebugOn;

bool[libCore_gv_bALMaxPlayers + 1] libGame_gv_afk_PlayerStartingIdle;

bool libGame_gv_afk_UseAFKSystem;

int[libCore_gv_bALMaxPlayers + 1] libGame_gv_afk_PlayerStationaryDuration;

bool libGame_gv_afk_UseBrawlAFKSystem;

bool libGame_gv_afk_BrawlAfkAccountsForAbilities;

bool libGame_gv_announcement_SystemEnabled;

libGame_gs_AnnouncementQueue[libCore_gv_bALMaxEnginePlayerCount + 1] libGame_gv_announcementQueue;

bool[libCore_gv_bALMaxEnginePlayerCount + 1] libGame_gv_cameraFollowForced;

region[libGame_gv_cameraBound_MaxCount_C + 1] libGame_gv_cameraBound_Regions;

int libGame_gv_cameraBound_Count;

int[libCore_gv_bALMaxEnginePlayerCount + 1] libGame_gv_cameraBound_CurrentCameraBoundForPlayer;

int libGame_gv_capturePointCurrentCount;

libGame_gs_CapturePoint[libGame_gv_capturePointMaxCount_C + 1] libGame_gv_capturePoints;

string libGame_gv_capturePointLastCreatedCapturePointIndex_C;

bool libGame_gv_towerMapPlaysCoreWarning;

timer libGame_gv_towerMainCoreAlertTimer;

timer[libCore_gv_bALMaxTeams + 1] libGame_gv_towerTeamCoreAlertTimer;

timer[libCore_gv_bALMaxTeams + 1] libGame_gv_towerTeamCoreAlertCooldownTimer;

int[libCore_gv_bALMaxTeams + 1] libGame_gv_towerTeamCoreAlertPing;

bool[libCore_gv_bALMaxTeams + 1] libGame_gv_towerTeamCoreIsUnderAttack;

bool[libCore_gv_bALMaxTeams + 1] libGame_gv_towerTeamCoreAlertOnCooldown;

libGame_gs_DeathRecapData[libCore_gv_bALMaxPlayers + 1] libGame_gv_deathRecap_DeathData;

libGame_gs_DeathRecapSpecialDamageEffect[libGame_gv_deathRecap_SpecialDamageEffectsCount_C + 1] libGame_gv_deathRecap_SpecialDamageEffects;

bool libGame_gv_endofMatchAwardsDisabled;

int libGame_gv_mVPManualOverride;

int libGame_gv_mVPPlayer;

libGame_gs_MVPStats[libCore_gv_bALMaxPlayers + 1] libGame_gv_mVPStats;

libGame_gs_MVPStatDataSet[libGame_gv_maxMVPStatstoConsider + 1] libGame_gv_mVPStatstoDisplay;

int libGame_gv_currentMVPStatSlot;

libGame_gs_EndofMatchAwardRecordBase[libCore_gv_bALMaxPlayers + 1][libGame_gv_secondaryAwardCount + 1] libGame_gv_playerAwardEligibility;

fixed[libCore_gv_bALMaxTeams + 1][libGame_gv_secondaryAwardCount + 1] libGame_gv_teamAwardTotalValues;

bool[libCore_gv_bALMaxPlayers + 1] libGame_gv_playerHasWonAward;

libGame_gs_EndofMatchAwardRecordBase[libGame_gv_secondaryAwardCount + 1] libGame_gv_initialSecondaryAwardsList;

libGame_gs_EndofMatchAwardRecordBase[libGame_gv_secondaryAwardSlotCount + 1] libGame_gv_finalSecondaryAwardsList;

int[libCore_gv_bALMaxPlayers + 1][libCore_gv_bALMaxPlayers + 1] libGame_gv_vengeanceTargets;

bool[libCore_gv_bALMaxPlayers + 1] libGame_gv_escapeTrackingHeroReducedtoLowHealthBoolean;

unitgroup[libCore_gv_bALMaxPlayers + 1] libGame_gv_escapeTrackingHeroReducedtoLowHealthUnitGroup;

int[libCore_gv_bALMaxPlayers + 1] libGame_gv_escapeTrackingCount;

int[libCore_gv_bALMaxPlayers + 1] libGame_gv_escapeTrackinginTeamfightsCount;

int[libCore_gv_bALMaxPlayers + 1] libGame_gv_outnumberedDeathCount;

int[libCore_gv_bALMaxPlayers + 1] libGame_gv_nearbyAlliesRecentlyKilledinTeamfight;

int[libCore_gv_bALMaxPlayers + 1] libGame_gv_teamfightTrackingNearbyAllyCount;

int[libCore_gv_bALMaxPlayers + 1] libGame_gv_teamfightTrackingNearbyEnemyCount;

fixed[libCore_gv_bALMaxPlayers + 1][libCore_gv_bALMaxPlayers + 1] libGame_gv_protectorProtectedAmount;

bool[libCore_gv_bALMaxPlayers + 1][libCore_gv_bALMaxPlayers + 1] libGame_gv_clutchHealerMonitorOn;

int libGame_gv_hatTrickKillCount;

int libGame_gv_hatTrickTentativeWinner;

bool libGame_gv_oldXPCheat;

int libGame_gv_coreHeroPlayer;

timer libGame_gv_minionSpawnStartTimer;

timer libGame_gv_openTheGatesTimer;

timer libGame_gv_jungleWatchTowerStartTimer;

trigger libGame_gv_gameOverCallback;

bool libGame_gv_heroSpawnReady;

bool libGame_gv_heroPickDone;

bool libGame_gv_gateTimerReady;

bool libGame_gv_heroSpawnBlockGame;

bool libGame_gv_gameStarted;

trigger libGame_gv_pickingHeroesCallback;

bool libGame_gv_randomizeMountsAndSkins;

trigger libGame_gv_overrideMusicCallback;

trigger libGame_gv_startingAnimationsCallback;

trigger libGame_gv_announceCountdownCallback;

trigger libGame_gv_heroSelectionOverrideCallback;

bool libGame_gv_shufflePickEnabled;

fixed libGame_gv_gameOver_CameraPanTime_C;

bool libGame_gv_gameOver_DetermineWinningTeamHasRun;

bool libGame_gv_dEBUG_PercentScalingEnabled;

int libGame_gv_heroDeathRespawnSetting;

unit[libCore_gv_bALMaxPlayers + 1] libGame_gv_heroDeathMurkyRespawnEggs;

unit[libCore_gv_bALMaxPlayers + 1] libGame_gv_heroDeathMurkyRespawnEgg2FromTalent;

fixed[libCore_gv_bALMaxPlayers + 1] libGame_gv_heroDeathMurkyRespawnEggDeathTimeStamp;

point[libCore_gv_bALMaxPlayers + 1] libGame_gv_heroDeathMurkyRespawnEggPoint;

point[libCore_gv_bALMaxPlayers + 1] libGame_gv_heroDeathMurkyRespawnEggPoint2;

bool libGame_gv_heroDeath_UpdateStats;

bool libGame_gv_heroDeath_RespawnMounted;

bool libGame_gv_heroDeath_RunDeathUIUpdates;

sound[libCore_gv_bALMaxPlayers + 1] libGame_gv_heroDeath_DeathAmbientSound;

sound[libCore_gv_bALMaxPlayers + 1] libGame_gv_heroDeath_DeathMusicSound;

bool[libCore_gv_bALMaxPlayers + 1][libCore_gv_killingSpree_KillThresholdCount_C + 1] libGame_gv_heroDeathKillStreakRegistered;

bool libGame_gv_heroDeathMultikillTimerEnabled;

text[libCore_gv_bALMaxPlayers + 1] libGame_gv_heroDeathAnnouncementSecondaryText;

libGame_gs_HeroDeathKillStingerQueue[libCore_gv_bALMaxEnginePlayerCount + 1] libGame_gv_heroDeathKillStingerQueue;

int libGame_gv_laneCount;

libGame_gs_LaneData[libGame_gv_laneMaxCount_C + 1] libGame_gv_laneData;

libGame_gs_ClosestLaneInfo libGame_gv_closestLaneData;

string[libCore_gv_bALMaxEnginePlayerCount + 1] libGame_gv_stormMapLightingSpecial;

string[libCore_gv_bALMaxEnginePlayerCount + 1] libGame_gv_stormMapLightingCurrent;

int[libCore_gv_bALMaxEnginePlayerCount + 1] libGame_gv_stormMapHeroDeathOverlay;

string libGame_gv_mapFile;

libGame_gs_WheelPingData[16] libGame_gv_wheelPingMapping;

int libGame_gv_wheelPingOffsetIndex;

unitgroup[16] libGame_gv_wheelCmdHeroGroup;

int libGame_gv_wheelPingIndexMin;

int libGame_gv_wheelPingIndexMax;

int libGame_gv_wheelUnitStatus;

int[libGame_gv_townMaxTownCount + 1] libGame_gv_loot_TownHallAttackers;

bool libGame_gv_loot_DropBannerInTownHallRubble;

bool libGame_gv_minionTakesReducedSpellDamage;

int libGame_gv_minionWaveSpawnCounter;

bool libGame_gv_minionSystemStarted;

bool libGame_gv_minionSystemPaused;

bool[libCore_gv_bALMaxTeams + 1][libGame_gv_laneMaxCount_C + 1] libGame_gv_minionSystemPausedAdvanced;

bool libGame_gv_minionSpawningEnabled;

bool libGame_gv_minionMapNeverSpawnsCatapults;

bool libGame_gv_minionStaggerCatapultSpawning;

bool libGame_gv_minion_CapCatapults;

unitgroup[3] libGame_gv_minion_CatapultGroup;

int libGame_gv_minion_PeriodicCatapultsFirstWave;

bool libGame_gv_minionScalingEnabled;

int libGame_gv_spawnedMinionLane;

int libGame_gv_spawnedMinionFirstWaypointIndex;

bool[libCore_gv_bALMaxPlayers + 1] libGame_gv_moonwellMoonwellonCooldown;

int[libCore_gv_bALMaxPlayers + 1][libGame_gv_moonwellMaxMoonwellCount + 1] libGame_gv_moonwellTextTags;

unit[libCore_gv_bALMaxPlayers + 1][libGame_gv_moonwellMaxMoonwellCount + 1] libGame_gv_moonwellTextTagsUnit;

unitgroup[libCore_gv_bALMaxPlayers + 1] libGame_gv_moonwellTextTagsUnitGroup;

bool[11] libGame_gv_playerIsEngine;

int[11] libGame_gv_cabooseEngineOwner;

unit[11][11] libGame_gv_choochooTrains;

int[11] libGame_gv_choochooSize;

bool libGame_gv_townDestructionRemovesCoreInvulnerable;

libGame_gs_OnFireStats[libCore_gv_bALMaxPlayers + 1] libGame_gv_onFireRollingWindowSums;

timer[libCore_gv_bALMaxPlayers + 1] libGame_gv_onFireTimer;

bool[libCore_gv_bALMaxPlayers + 1] libGame_gv_onFireHighlightforKills;

bool[libCore_gv_bALMaxPlayers + 1] libGame_gv_onFireHighlightforAssists;

bool[libCore_gv_bALMaxPlayers + 1] libGame_gv_onFireHighlightforHeroDamager;

bool[libCore_gv_bALMaxPlayers + 1] libGame_gv_onFireHighlightforSiegeDamage;

bool[libCore_gv_bALMaxPlayers + 1] libGame_gv_onFireHighlightforHealing;

bool[libCore_gv_bALMaxPlayers + 1] libGame_gv_onFireHighlightforDamageTaken;

bool[libCore_gv_bALMaxPlayers + 1] libGame_gv_onFireHighlightforXPContributoronTeam;

int[libCore_gv_bALMaxPlayers + 1] libGame_gv_onFireLevel;

fixed[libCore_gv_bALMaxPlayers + 1] libGame_gv_onFireDeathPenalty;

bool[libCore_gv_bALMaxPlayers + 1] libGame_gv_onFireDeathPenaltyInProgress;

bool libGame_gv_onFireFirstCalculationDone;

libGame_gs_OnFireSimpleScores[libCore_gv_bALMaxPlayers + 1] libGame_gv_onFireScores;

libGame_gs_OnFireStats[libCore_gv_bALMaxPlayers + 1][libGame_gv_onFireWindowCount + 1] libGame_gv_onFireRollingWindowValues;

int libGame_gv_onFireWindowStage;

bool libGame_gv_onFireEnabled;

bool libGame_gv_onFirePrintingEnabled;

bool libGame_gv_onFireUpdating;

int[libCore_gv_bALMaxEnginePlayerCount + 1] libGame_gv_playerLeaveCheck;

libGame_gs_Player[libCore_gv_bALMaxEnginePlayerCount + 1] libGame_gv_players;

unitgroup libGame_gv_heroes;

unitgroup[libCore_gv_bALMaxTeams + 1] libGame_gv_players_Heroes_AllTrackedHeroesForTeam;

int libGame_gv_gameSpawnHeroCount;

bool libGame_gv_suppressInitialHeroSpawnFX;

timer libGame_gv_scalingTimer;

int libGame_gv_scalingTicks;

libGame_gs_BuildingScaling libGame_gv_buildingScaling;

bool libGame_gv_buildingScalingEnabled;

fixed libGame_gv_bALScalingTimerDuration;

libGame_gs_ScoreValues[libCore_gv_bALMaxEnginePlayerCount + 1] libGame_gv_scoreValues;

bool[libCore_gv_bALMaxPlayers + 1] libGame_gv_gameScore_MinorVictoryScored;

fixed[libCore_gv_bALMaxEnginePlayerCount + 1] libGame_gv_gameScore_BrawlModeCScore;

int[libCore_gv_bALMaxPlayers + 1] libGame_gv_talents_ActiveChoiceTierForPlayer;

libCore_gs_TalentChoice[libCore_gv_bALMaxPlayers + 1][libCore_gv_talents_MaxTiers_C + 1] libGame_gv_talents_TalentChoices;

int libGame_gv_talents_DebugMaxModifedAbilites;

bool libGame_gv_talents_PlayChooseATalentSound;

string[11] libGame_gv_teleporters_PetList;

int libGame_gv_teleporters_PetListLength;

int libGame_gv_townTownCount;

libGame_gs_TownData[libGame_gv_townMaxTownCount + 1] libGame_gv_townTownData;

bool libGame_gv_townMidLateGamePowerTransitionOn;

bool libGame_gv_townBasicMinimapHealthMontior;

fixed libGame_gv_vehicleDragonKnightBullRushLaunchDistance;

fixed libGame_gv_vehicleDragonKnightBullRushCutoffDistance;

int libGame_gv_watchTowersCurrentCount;

libGame_gs_WatchTowers[libGame_gv_watchTowersMaxCount + 1] libGame_gv_watchTowers;



// Function Declarations

playergroup libGame_gf_PlayersOnTeamHeroes (int lp_team, bool lp_nPCOption);

void libGame_gf_SetXPTrickleModifier (fixed lp_modifier);

void libGame_gf_AfkStartAfkWarningSystem (bool lp_instantly);

void libGame_gf_AfkStopAfkWarningSystem ();

void libGame_gf_AfkResetWarningTimerForPlayer (int lp_player);

void libGame_gf_AfkPauseWarningTimerForPlayer (int lp_player, bool lp_pauseOption);

void libGame_gf_AfkResumeWarningTimerForPlayer (int lp_player);

void libGame_gf_AfkKickPlayer (int lp_player);

void libGame_gf_AfkResetAltarTimerForPlayer (int lp_player);

void libGame_gf_AfkResetMapMechanicUnits ();

void libGame_gf_AfkAddMapMechanicUnitToArray (unit lp_mechanicUnit, int lp_regionRadius);

void libGame_gf_AfkRemoveMapMechanicUnitFromArray (unit lp_mechanicUnit);

void libGame_gf_AfkResetMapMechanicLocations ();

void libGame_gf_AfkAddMapMechanicLocation (point lp_point);

void libGame_gf_AFKBrawlStartAfkWarningSystem (bool lp_instantly);

void libGame_gf_AFKBrawlTurnDetectionTriggersOnOff (bool lp_onOff);

void libGame_gf_AFKBrawlPauseWarningTimerForPlayer (int lp_player, bool lp_pauseOption);

void libGame_gf_AFKBrawlResetWarningTimerForPlayer (int lp_player);

void libGame_gf_AnnouncementAddItemForPlayerGroup (playergroup lp_playerGroup, int lp_priority, int lp_vOEvent, string lp_animName, text lp_textParam1, text lp_textParam2, text lp_textParam3, text lp_textParam4, string lp_icon, fixed lp_duration, bool lp_isKillAnnouncement);

void libGame_gf_AnnouncementClearQueueForPlayer (int lp_player);

void libGame_gf_AnnouncementInsertItemIntoQueueForPlayer (int lp_player, int lp_priority, int lp_vOEvent, string lp_animName, text lp_textParam1, text lp_textParam2, text lp_textParam3, text lp_textParam4, string lp_icon, fixed lp_duration, int lp_desiredInsertPosition, bool lp_isKillAnnouncement);

void libGame_gf_AnnouncementSetTextOnAnnouncementFrameLabelsForPlayer (int lp_player, string lp_animName, text lp_textParam1, text lp_textParam2, text lp_textParam3, text lp_textParam4, string lp_icon);

void libGame_gf_AnnouncementPlayNextItemForPlayer (int lp_player);

void libGame_gf_CameraPanCameraForPlayerAndUpdateMapBoundsIfNecessary (int lp_player, point lp_point, fixed lp_duration, fixed lp_initialVelocity, fixed lp_decelerate, bool lp_smart);

void libGame_gf_CameraTrackNextAliveAllyForPlayer (int lp_player);

void libGame_gf_CameraTrackPreviousAliveAllyForPlayer (int lp_player);

void libGame_gf_CameraUpdateCameraForPlayer (int lp_player);

int libGame_gf_CameraBoundStormIndex (region lp_bound);

void libGame_gf_AddCameraBoundsStorm (region lp_bounds);

void libGame_gf_SetCameraBoundsStorm (int lp_index, region lp_bounds);

void libGame_gf_SetCameraBoundStormIndexForPlayer (int lp_player, int lp_boundsIndex);

void libGame_gf_SetCameraBoundStormForPlayer (int lp_player, region lp_bound);

void libGame_gf_SetCameraBoundStormForObservers (region lp_bound);

void libGame_gf_CapturePointChangeOwnership (int lp_capturePointIndex, int lp_newOwner, playergroup lp_capturingPlayers, bool lp_hasMercLordTalent);

void libGame_gf_UpdateTimers (int lp_capturePointIndex, playergroup lp_capturingPlayers);

void libGame_gf_CapturePointCreate (unit lp_beaconUnit, fixed lp_captureRadius, fixed lp_captureTime, fixed lp_overCaptureTime, int lp_contestedPointDecay, int lp_emptyPointDecay, bool lp_rememberLastOwner);

void libGame_gf_CapturePointEnable (int lp_capturePointIndex);

void libGame_gf_CapturePointDisable (int lp_capturePointIndex);

void libGame_gf_CapturePointSetAlwaysDecay (int lp_index, bool lp_always);

fixed libGame_gf_CapturePointGetCaptureTimeForPlayer (int lp_capturePointIndex, int lp_player);

fixed libGame_gf_CapturePointGetCaptureTimeForCurrentEnabledPointForPlayer (int lp_capturePointIndex, int lp_player);

int libGame_gf_LastCreatedCapturePoint ();

bool libGame_gf_CapturePointFullyCaptured (int lp_capturePointIndex);

int libGame_gf_CapturePointCounter (int lp_capturePointIndex);

int libGame_gf_CapturePointCounterMax (int lp_capturePointIndex);

bool libGame_gf_CapturePointContested (int lp_capturePointIndex);

void libGame_gf_TowerTurnOnOffCoreWarning (bool lp_onOff);

void libGame_gf_TowerCreateCoreUnderAttackPing (unit lp_coreUnit, int lp_teamNumber);

void libGame_gf_CCRecognitionCCReduction (unit lp_unit, string lp_cCBehavior);

void libGame_gf_DeathRecapSpecialCaseEvent (trigger t);

void libGame_gf_SendEventDeathRecapSpecialCaseEvent (int lp_player);

int libGame_gf_DeathRecapSpecialCasePlayer ();

bool libGame_gf_DeathRecapCheckforCombineEvent (int lp_deadPlayer, int lp_currentEffectBarIndex, fixed lp_currentEffectInstanceTime, int lp_effectingPlayer, string lp_effectingUnitType, string lp_effectingSourceButton, bool lp_nPCSource, bool lp_structureSource);

void libGame_gf_DeathRecapAddSpecialDamageEffect (string lp_effectLink);

void libGame_gf_DeathRecapSortMaxDamageAbils (int lp_deadPlayer, int lp_maxDamagerIndex, int lp_currentMaxDamagerAbilIndex);

void libGame_gf_DeathRecapSortMaxDamagers (int lp_deadPlayer);

void libGame_gf_DeathRecapAddMaxDamageAbilForPlayer (int lp_deadPlayer, int lp_maxDamagerIndex, string lp_effectingAbility, int lp_effectAmount);

void libGame_gf_DeathRecapAddEffectInstanceForPlayer (int lp_deadPlayer, string lp_effect, int lp_effectingPlayer, string lp_effectingAbility, string lp_effectingUnitType, int lp_effectAmount, int lp_effectAmountAttempted, int lp_effectAmountShielded, bool lp_effectIsHeal, fixed lp_effectTime, string lp_debugString, string lp_sourceButton);

void libGame_gf_DeathRecapClearDeathRecapForPlayer (int lp_deadPlayer);

void libGame_gf_DeathRecapPopulateDeathRecapDataForPlayer (unit lp_playerHero, int lp_deadPlayer);

void libGame_gf_EndofMatchAwardsDisabled (trigger t);

void libGame_gf_DisableEndofMatchAwards ();

fixed libGame_gf_GetMVPAwardAmount (string lp_heroUnit, int lp_awardCategory);

void libGame_gf_SortMVPStats ();

void libGame_gf_AssignMVP (int lp_winningTeam);

void libGame_gf_MapSpecificAwardInitialize (trigger t);

void libGame_gf_SendMapSpecificAwardInitializeEvent (text lp_name, text lp_suffix, fixed lp_base, bool lp_presentasRatio, bool lp_gatedbyBase, string lp_badgeIndex, string lp_scoreValue);

void libGame_gf_SendMapSpecificAwardInitializeEventwithUserData (text lp_name, string lp_userData);

text libGame_gf_MapSpecificAwardInitializeName ();

text libGame_gf_MapSpecificAwardInitializeSuffix ();

fixed libGame_gf_MapSpecificAwardInitializeBase ();

bool libGame_gf_MapSpecificAwardInitializePresentasRatio ();

bool libGame_gf_MapSpecificAwardInitializeGateByBase ();

string libGame_gf_MapSpecificAwardInitializeBadgeIndex ();

string libGame_gf_MapSpecificAwardInitializeScoreValue ();

text libGame_gf_MapSpecificAwardInitializeTooltip ();

void libGame_gf_MapSpecificAwardUpdate (trigger t);

void libGame_gf_SendMapSpecificAwardEvent (int lp_player, fixed lp_value, bool lp_isAdd);

int libGame_gf_MapSpecificAwardUpdatePlayer ();

fixed libGame_gf_MapSpecificAwardUpdateValue ();

bool libGame_gf_MapSpecificAwardUpdateIsAdd ();

void libGame_gf_AddtoAwardValue (int lp_player, fixed lp_awardValue, int lp_award);

void libGame_gf_AssignTopAwardValue (int lp_player, fixed lp_awardValue, int lp_award);

void libGame_gf_SetAwardValueandWeight (int lp_player, fixed lp_awardValue, int lp_award);

void libGame_gf_SortInitialSecondaryAwardList ();

void libGame_gf_InitializeAwardData (int lp_award, string lp_badgeIndex, text lp_name, text lp_prefix, text lp_suffix, fixed lp_base, bool lp_gatedbyBase, bool lp_presentasRatio, string lp_score, text lp_tooltip);

void libGame_gf_EscapeTrackingCreditEscapeAttempt (int lp_player, unit lp_unit);

void libGame_gf_DetermineSoleSurvivor ();

void libGame_gf_DetermineTeamPlayer ();

void libGame_gf_AddGuardianDamage (fixed lp_damageValue, int lp_player);

void libGame_gf_AddScrapperDamage (fixed lp_damageValue, int lp_player);

void libGame_gf_InitializeAwardDataFromUserData (string lp_userData, int lp_award);

void libGame_gf_InitializeSecondaryAwardList ();

void libGame_gf_BuildInitialSecondaryAwardList ();

void libGame_gf_AssignAwardWinner (int lp_awardIndex, int lp_playerIndex);

int libGame_gf_DecideTiebreaker (int lp_awardPreset, int lp_firstPlayer, int lp_secondPlayer);

fixed libGame_gf_GetAwardRatio (int lp_player, int lp_award);

text libGame_gf_GetFinalAwardValueInfo (int lp_playerIndex, int lp_finalAwardSlotIndex);

bool libGame_gf_IsSecondaryAwardAboveRatioThreshold (int lp_player, int lp_awardPreset);

text libGame_gf_GetAwardTooltipInfo (int lp_playerIndex, int lp_awardIndex);

void libGame_gf_AssignFinalSecondaryAwards ();

void libGame_gf_TryMeCustomButton1Pressed (trigger t);

void libGame_gf_SendEventTryMeCustomButton1Pressed (int lp_player);

int libGame_gf_TryMeCustomButton1PressedPlayer ();

void libGame_gf_CameraPannedFromScript (trigger t);

void libGame_gf_SendEventCameraPannedFromScript (int lp_player, point lp_point);

point libGame_gf_CameraPannedFromScriptPoint ();

int libGame_gf_CameraPannedFromScriptPlayer ();

void libGame_gf_CapturePointChangesOwner (trigger t);

void libGame_gf_SendEventCapturePointChangesOwner (int lp_capturePointIndex, int lp_owner, playergroup lp_capturingPlayers, bool lp_hasMercLordTalent);

int libGame_gf_CapturePointChangesOwnerCapturePointIndex ();

int libGame_gf_CapturePointChangesOwnerOwner ();

playergroup libGame_gf_CapturePointChangesOwnerCapturingPlayers ();

bool libGame_gf_CapturePointChangesOwnerHasMercLordTalent ();

void libGame_gf_CapturePointBecomesFullyOverCaptured (trigger t);

void libGame_gf_SendEventCapturePointBecomesFullyOverCaptured (int lp_capturePointIndex);

int libGame_gf_CapturePointBecomesFullyOverCapturedCapturePointIndex ();

void libGame_gf_CustomTryMeModeSetLevel (trigger t);

void libGame_gf_SendEventCustomTryMeModeSetLevel (int lp_player, fixed lp_level);

int libGame_gf_CustomTryMeModeSetLevelPlayer ();

fixed libGame_gf_CustomTryMeModeSetLevelXPValue ();

void libGame_gf_DebugHeroSwapped (trigger t);

void libGame_gf_SendEventDebugHeroSwapped (int lp_player);

int libGame_gf_DebugHeroSwappedPlayer ();

void libGame_gf_JungleDefenderAIDefendersBeginFighting (trigger t);

void libGame_gf_SendEventJungleDefenderAIDefendersBeginFighting (int lp_defenderAIIndex);

int libGame_gf_JungleDefenderAIDefendersBeginFightingIndex ();

void libGame_gf_JungleDefenderAIDefendersEndFighting (trigger t);

void libGame_gf_SendEventJungleDefenderAIDefendersEndFighting (int lp_defenderAIIndex);

int libGame_gf_JungleDefenderAIDefendersEndFightingIndex ();

void libGame_gf_JungleDefenderAIDefenderKilled (trigger t);

void libGame_gf_SendEventJungleDefenderAIDefenderKilled (int lp_defenderAIIndex, unit lp_unit, int lp_killingPlayer);

int libGame_gf_JungleDefenderAIDefenderKilledIndex ();

unit libGame_gf_JungleDefenderAIDefenderKilledUnit ();

int libGame_gf_JungleDefenderAIDefenderKilledKillingPlayer ();

void libGame_gf_JungleDefenderAIAllDefendersKilled (trigger t);

void libGame_gf_SendEventJungleDefenderAIAllDefendersKilled (int lp_defenderAIIndex, int lp_killingPlayer);

int libGame_gf_JungleDefenderAIAllDefendersKilledIndex ();

int libGame_gf_JungleDefenderAIAllDefendersKilledKillingPlayer ();

void libGame_gf_JungleDefenderAIDefendersBeginFightingFromIdleOrLeashing (trigger t);

int libGame_gf_JungleDefenderAIDefendersBeginFightingFromIdleOrLeashingIndex ();

void libGame_gf_SendEventJungleDefenderAIDefendersBeginFightingFromIdleOrLeashing (int lp_defenderAIIndex);

void libGame_gf_GameOpenTimerStarted (trigger t);

void libGame_gf_SendEventGameOpenTimerStarted ();

void libGame_gf_TownDataInitialized (trigger t);

void libGame_gf_SendEventTownDataInitialized ();

void libGame_gf_GameOverEvent (trigger t);

void libGame_gf_SendEventGameOverEvent ();

void libGame_gf_HeroAIStartingCampAttack (trigger t);

void libGame_gf_SendEventHeroAIStartingCampAttack (int lp_teamIndex, int lp_campIndex);

int libGame_gf_HeroAIStartingCampAttackTeamIndex ();

int libGame_gf_HeroAIStartingCampAttackCampIndex ();

void libGame_gf_HeroAIEndingCampAttack (trigger t);

void libGame_gf_SendEventHeroAIEndingCampAttack (int lp_teamIndex, int lp_campIndex, bool lp_success);

int libGame_gf_HeroAIEndingCampAttackTeamIndex ();

int libGame_gf_HeroAIEndingCampAttackCampIndex ();

bool libGame_gf_HeroAIEndingCampAttackSuccess ();

void libGame_gf_HeroParticipatedInCreepTakedown (trigger t);

void libGame_gf_SendEventHeroParticipatedInCreepTakedown (int lp_player, unit lp_unit);

int libGame_gf_HeroParticipatedInCreepTakedownKillingPlayer ();

unit libGame_gf_HeroParticipatedInCreepTakedownCreep ();

void libGame_gf_ClearHeroSpecificUI (trigger t);

void libGame_gf_SendEventClearHeroSpecificUI ();

void libGame_gf_HeroExitedTransport (trigger t);

void libGame_gf_SendEventHeroExitedTransport (int lp_player, unit lp_unit);

int libGame_gf_HeroExitingTransportPlayerExiting ();

unit libGame_gf_HeroExitingTransportTransport ();

void libGame_gf_HeroEnteredTransport (trigger t);

void libGame_gf_SendEventHeroEnteredTransport (int lp_player, unit lp_transportUnit, unit lp_cargoUnit);

int libGame_gf_HeroEnteredTransportPlayerEntering ();

unit libGame_gf_HeroEnteredTransportTransport ();

unit libGame_gf_HeroEnteredTransportCargoUnit ();

void libGame_gf_HeroLevelUp (trigger t);

void libGame_gf_SendEventHeroLevelUp (int lp_player, int lp_level);

int libGame_gf_HeroLevelUpPlayer ();

int libGame_gf_HeroLevelUpLevel ();

void libGame_gf_HeroSpecialCaseMounting (trigger t);

void libGame_gf_SendEventHeroSpecialCaseMounting (int lp_player);

int libGame_gf_HeroSpecialCaseMountingPlayer ();

void libGame_gf_HeroPortedBackToTown (trigger t);

void libGame_gf_SendEventHeroPortedBackToTown (int lp_player, unit lp_unit);

int libGame_gf_HeroPortedBackToTownPlayer ();

unit libGame_gf_HeroPortedBackToTownUnit ();

void libGame_gf_HeroParticipatedInNPCTakedown (trigger t);

void libGame_gf_SendEventHeroParticipatedInNPCTakedown (int lp_player, unit lp_unit);

int libGame_gf_HeroParticipatedInNPCTakedownKillingPlayer ();

unit libGame_gf_HeroParticipatedInNPCTakedownMinion ();

void libGame_gf_HeroWitnessedAlliedNPCDeath (trigger t);

void libGame_gf_SendEventHeroWitnessedAlliedNPCDeath (int lp_player, unit lp_unit);

int libGame_gf_HeroWitnessedAlliedNPCDeathAlliedPlayer ();

unit libGame_gf_HeroWitnessedAlliedNPCDeathMinion ();

void libGame_gf_SpecialCaseParticipatedInNPCTakedown (trigger t);

void libGame_gf_SendEventSpecialCaseUnitParticipatedInNPCTakedown (int lp_player, unit lp_unit);

int libGame_gf_SpecialCaseUnitParticipatedInNPCTakedownPlayerParticipant ();

unit libGame_gf_SpecialCaseUnitParticipatedInNPCTakedownMinion ();

void libGame_gf_HeroParticipatedInTakedown (trigger t);

void libGame_gf_SendEventHeroParticipatedInTakedowndepreciated (int lp_playerKilling, int lp_playerKilled, unit lp_heroKilled);

void libGame_gf_SendEventHeroParticipatedInTakedown (int lp_lastHitPlayer, int lp_playerKilling, int lp_playerKilled, unit lp_heroKilled, point lp_heroKilledPosition);

int libGame_gf_HeroParticipatedInTakedownKillingPlayer ();

int libGame_gf_HeroParticipatedInTakedownLastHitPlayer ();

int libGame_gf_HeroParticipatedInTakedownKilledPlayer ();

unit libGame_gf_HeroParticipatedInTakedownKilledHero ();

point libGame_gf_HeroParticipatedInTakedownKilledHeroPosition ();

void libGame_gf_HeroKilled (trigger t);

void libGame_gf_SendEventHeroKilled (int lp_playerKilling, unit lp_killedUnit);

int libGame_gf_HeroKilledKillingPlayer ();

int libGame_gf_HeroKilledPlayer ();

point libGame_gf_HeroKilledLocation ();

unit libGame_gf_HeroKilledUnit ();

void libGame_gf_HeroAllyKilled (trigger t);

void libGame_gf_SendEventHeroAllyKilled (int lp_playerKilling, unit lp_killedUnit);

int libGame_gf_HeroAllyKilledKillingPlayer ();

int libGame_gf_HeroAllyKilledPlayer ();

point libGame_gf_HeroAllyKilledLocation ();

unit libGame_gf_HeroAllyKilledUnit ();

void libGame_gf_HeroSpawn (trigger t);

void libGame_gf_SendEventHeroSpawn (int lp_player);

int libGame_gf_HeroSpawnPlayer ();

void libGame_gf_ManualHeroSpawn (trigger t);

void libGame_gf_SendEventManualHeroSpawn (int lp_player, int lp_heroID, fixed lp_debugXP, point lp_location);

int libGame_gf_ManualHeroSpawnPlayer ();

int libGame_gf_ManualHeroSpawnHeroID ();

fixed libGame_gf_ManualHeroSpawnDebugXP ();

point libGame_gf_ManualHeroSpawnLocation ();

void libGame_gf_RequestCustomRespawn (trigger t);

void libGame_gf_SendEventRequestCustomRespawn (int lp_player, bool lp_respawnMounted, point lp_reSpawnLocation, int lp_reSpawnHealthPercent);

int libGame_gf_RequestCustomRespawnPlayer ();

point libGame_gf_RequestCustomRespawnRespawnLocation ();

bool libGame_gf_RequestCustomRespawnRespawnMounted ();

int libGame_gf_RequestCustomRespawnRespawnHealthPercent ();

void libGame_gf_HeroRespawn (trigger t);

void libGame_gf_SendEventHeroRespawn (int lp_player, unit lp_unit);

int libGame_gf_HeroRespawnPlayer ();

unit libGame_gf_HeroRespawnUnit ();

void libGame_gf_HeroGainTalent (trigger t);

void libGame_gf_SendEventHeroGainTalent (string lp_GainedTalent, int lp_player);

int libGame_gf_HeroGainTalentPlayer ();

string libGame_gf_HeroGainTalentGainedTalent ();

void libGame_gf_HeroRespecsTalents (trigger t);

void libGame_gf_SendEventHeroRespecsTalents (int lp_player);

int libGame_gf_HeroRespecsTalentsPlayer ();

void libGame_gf_HeroMindControlsNPC (trigger t);

void libGame_gf_SendEventHeroMindControlsNPC (unit lp_mindControlledUnit, int lp_originalOwner);

unit libGame_gf_HeroMindControlsNPCNPCUnit ();

int libGame_gf_HeroMindControlsNPCOriginalOwner ();

void libGame_gf_HeroEntersSpecialDeathState (trigger t);

void libGame_gf_SendEventHeroEntersSpecialDeathState (unit lp_hero);

unit libGame_gf_HeroEntersSpecialDeathStateHero ();

void libGame_gf_CheckUnitForAbilityRedirect (trigger t);

void libGame_gf_SendEventCheckUnitForAbilityRedirect (unit lp_Unit, unit lp_TargetUnit, bool lp_boolean, point lp_point);

unit libGame_gf_CheckUnitForAbilityRedirectUnit ();

unit libGame_gf_CheckUnitForAbilityRedirectTarget ();

bool libGame_gf_CheckUnitForAbilityRedirectBoolean ();

point libGame_gf_CheckUnitForAbilityRedirectPoint ();

void libGame_gf_SpecialCaseTalentCooldownReset (trigger t);

void libGame_gf_SendEventSpecialCaseTalentCooldownReset (int lp_player);

int libGame_gf_SpecialCaseTalentCooldownResetPlayer ();

void libGame_gf_HeroUnitSwappedForPlayer (trigger t);

void libGame_gf_SendEventHeroUnitSwappedForPlayer (unit lp_oldUnit, unit lp_newUnit, int lp_playerNumber, bool lp_preserveOnOld);

unit libGame_gf_HeroUnitSwappedForPlayerOldUnit ();

unit libGame_gf_HeroUnitSwappedForPlayerNewUnit ();

int libGame_gf_HeroUnitSwappedForPlayerPlayerNumber ();

bool libGame_gf_HeroUnitSwappedForPlayerPreserveOnOld ();

void libGame_gf_JungleCampSpawning (trigger t);

void libGame_gf_SendEventJungleCampSpawning (int lp_camp);

int libGame_gf_JungleCampSpawningIndex ();

void libGame_gf_JungleCampSpawned (trigger t);

void libGame_gf_SendEventJungleCampSpawned (int lp_camp);

int libGame_gf_JungleCampSpawnedIndex ();

void libGame_gf_JungleCampDefenderCreated (trigger t);

void libGame_gf_SendEventJungleCampDefenderCreated (unit lp_unit);

unit libGame_gf_JungleCampDefenderUnit ();

void libGame_gf_JungleCampLanerCreated (trigger t);

void libGame_gf_SendEventJungleCampLanerCreated (unit lp_unit);

unit libGame_gf_JungleCampLanerUnit ();

void libGame_gf_MercCampCaptured (trigger t);

void libGame_gf_SendEventMercCampCaptured (int lp_camp, int lp_owner, playergroup lp_capturingPlayers);

int libGame_gf_MercCampCapturedIndex ();

int libGame_gf_MercCampCapturedOwner ();

playergroup libGame_gf_MercCampCapturedCapturingPlayers ();

void libGame_gf_MapMechanicInitialization (trigger t);

void libGame_gf_SendEventMapMechanicInitialization (string lp_mechanic);

string libGame_gf_MapMechanicInitializationMechanicType ();

void libGame_gf_MapObjectiveCapturedByUnit (trigger t);

void libGame_gf_SendEventMapObjectiveCapturedByUnit (unit lp_capturingUnit);

unit libGame_gf_MapObjectiveCapturingUnit ();

void libGame_gf_MapCursedHollowTributeWarning (trigger t);

void libGame_gf_SendEventMapCursedHollowTributeWarning (point lp_position);

point libGame_gf_MapCursedHollowTributeWarningPosition ();

void libGame_gf_MapCursedHollowTributeSpawned (trigger t);

void libGame_gf_SendEventMapCursedHollowTributeSpawned (unit lp_tribute);

unit libGame_gf_MapCursedHollowTributeSpawnedUnit ();

void libGame_gf_MapCursedHollowTributePickedUp (trigger t);

void libGame_gf_SendEventMapCursedHollowTributePickedUp (int lp_player, point lp_positioin);

int libGame_gf_MapCursedHollowTributePickedUpPlayer ();

point libGame_gf_MapCursedHollowTributePickedUpPosition ();

void libGame_gf_MapCursedHollowCurseStarts (trigger t);

void libGame_gf_SendEventMapCursedHollowCurseStarts (int lp_team);

int libGame_gf_MapCursedHollowCurseActivatedTeam ();

void libGame_gf_MapCursedHollowCurseEnds (trigger t);

void libGame_gf_SendEventMapCursedHollowCurseEnds ();

void libGame_gf_MapHauntedMinesUndeadSpawned (trigger t);

void libGame_gf_SendEventMapHauntedMinesUndeadSpawned (unitgroup lp_entrances, region lp_underworld, int lp_totalSkull);

unitgroup libGame_gf_MapHauntedMinesUndeadSpawnedEntrances ();

region libGame_gf_MapHauntedMinesUndeadSpawnedUnderworldRegion ();

int libGame_gf_MapHauntedMinesUndeadSpawnedTotalSkull ();

void libGame_gf_MapHauntedMinesSkullCollected (trigger t);

void libGame_gf_SendEventMapHauntedMinesSkullCollected (int lp_team1, int lp_team2, int lp_collectingPlayer);

int libGame_gf_MapHauntedMinesSkullCollectedTeam1Skulls ();

int libGame_gf_MapHauntedMinesSkullCollectedTeam2Skulls ();

int libGame_gf_MapHauntedMinesSkullCollectedCollectingPlayer ();

void libGame_gf_MapHauntedMinesCleared (trigger t);

void libGame_gf_SendEventMapHauntedMinesCleared ();

void libGame_gf_MapHauntedMinesBossStartSummoning (trigger t);

void libGame_gf_SendEventMapHauntedMinesBossStartSummoning (int lp_team, point lp_location, int lp_lane);

int libGame_gf_MapHauntedMinesBossStartSummoningTeam ();

point libGame_gf_MapHauntedMinesBossStartSummoningLocation ();

int libGame_gf_MapHauntedMinesBossStartSummoningLane ();

void libGame_gf_MapHauntedMinesBossSummoned (trigger t);

void libGame_gf_SendEventMapHauntedMinesBossSummoned (unit lp_boss);

unit libGame_gf_MapHauntedMinesBossSummonedBoss ();

void libGame_gf_MapHauntedMinesPlayerUsesGate (trigger t);

void libGame_gf_SendEventMapHauntedMinesPlayerUsesGate (int lp_player, unit lp_heroUnit);

int libGame_gf_MapHauntedMinesPlayerUsesGatePlayer ();

unit libGame_gf_MapHauntedMinesPlayerUsesGateHeroUnit ();

void libGame_gf_MapHauntedMinesPlayerChangesPlane (trigger t);

void libGame_gf_SendEventMapHauntedMinesPlayerChangesPlane (int lp_player, unit lp_heroUnit);

int libGame_gf_MapHauntedMinesPlayerChangesPlanePlayer ();

unit libGame_gf_MapHauntedMinesPlayerChangesPlaneHeroUnit ();

void libGame_gf_MapDragonShireObeliskSpawned (trigger t);

void libGame_gf_SendEventMapDragonShireSpawned (unit lp_obelisk);

unit libGame_gf_MapDragonShireObeliskSpawnedUnit ();

void libGame_gf_MapDragonShireObeliskOwnershipChange (trigger t);

void libGame_gf_SendEventMapDragonShireObeliskOwnershipChange (int lp_team, unit lp_obelisk, playergroup lp_capturingPlayers);

int libGame_gf_MapDragonShireObeliskOwnershipChangeTeam ();

unit libGame_gf_MapDragonShireObeliskOwnershipChangeObelisk ();

playergroup libGame_gf_MapDragonShireObeliskOwnershipChangeCapturingPlayers ();

void libGame_gf_MapDragonShireDragonActivated (trigger t);

void libGame_gf_SendEventMapDragonShireDragonActivated (unit lp_dragon, int lp_activatingPlayer);

unit libGame_gf_MapDragonShireDragonActivatedDragonUnit ();

int libGame_gf_MapDragonShireDragonActivatedDragonPlayer ();

void libGame_gf_MapDragonShireDragonEnds (trigger t);

void libGame_gf_SendEventMapDragonShireDragonEnds ();

void libGame_gf_MapGardenOfTerrorNightStarts (trigger t);

void libGame_gf_SendEventMapGardenOfTerrorNightStarts ();

void libGame_gf_MapGardenOfTerrorNightEnds (trigger t);

void libGame_gf_SendEventMapGardenOfTerrorNightEnds ();

void libGame_gf_MapGardenOfTerrorSeedsCollected (trigger t);

void libGame_gf_SendEventMapGardenOfTerrorSeedsCollected (int lp_collectingPlayer);

int libGame_gf_MapGardenOfTerrorSeedsCollectedCollectingPlayer ();

void libGame_gf_MapTombSpiderQueenSoulCollected (trigger t);

void libGame_gf_SendEventMapTombSpiderQueenSoulCollected (int lp_collectingPlayer, int lp_count);

int libGame_gf_MapTombSpiderQueenSoulCollectedCollectingPlayer ();

int libGame_gf_MapTombSpiderQueenSoulCollectedCount ();

void libGame_gf_MinionGroupCreated (trigger t);

void libGame_gf_SendEventMinionGroupCreated (unitgroup lp_unitGroup);

unitgroup libGame_gf_MinionUnitGroup ();

void libGame_gf_PlayerAchievesMultiKill (trigger t);

void libGame_gf_SendEventPlayerAchievesMultiKill (int lp_player, int lp_killCount);

int libGame_gf_PlayerAchievesMultiKillPlayer ();

int libGame_gf_PlayerAchievesMultiKillKillCount ();

void libGame_gf_ArenaModeCrowdKillingSpree (trigger t);

void libGame_gf_SendEventArenaModeCrowdKillingSpree (int lp_player);

int libGame_gf_ArenaModeKillingSpreePlayer ();

void libGame_gf_ArenaModeCrowdMayhem (trigger t);

void libGame_gf_SendEventArenaModeCrowdMayhem (int lp_player);

int libGame_gf_ArenaModeMayhemPlayer ();

void libGame_gf_ArenaModeCrowdHotS (trigger t);

void libGame_gf_SendEventArenaModeCrowdHotS (int lp_player);

int libGame_gf_ArenaModeHotSPlayer ();

void libGame_gf_AnnouncerVOInitiated (trigger t);

void libGame_gf_SendEventAnnouncerVOInitiated (sound lp_sound, int lp_player, int lp_announcerEvent);

int libGame_gf_AnnouncerVOInitiatedAnnouncerEvent ();

int libGame_gf_AnnouncerVOInitiatedPlayer ();

sound libGame_gf_AnnouncerVOInitiatedSound ();

void libGame_gf_CustomKillVO (trigger t);

void libGame_gf_SendCustomKillVO (int lp_killingplayer, int lp_deadplayer, string lp_killLine, int lp_speakingPlayer);

int libGame_gf_CustomKillVOKillingPlayer ();

int libGame_gf_CustomKillVODeadPlayer ();

int libGame_gf_CustomKillVOSpeakingPlayer ();

string libGame_gf_CustomKillVOKillLine ();

void libGame_gf_TalentPanelVisibilityChanged (trigger t);

void libGame_gf_SendEventTalentPanelVisibilityChanged (int lp_player, bool lp_visible);

int libGame_gf_TalentPanelVisibilityChangedPlayer ();

bool libGame_gf_TalentPanelVisibilityChangedVisible ();

void libGame_gf_TownStructureEntersSpecialDeathState (trigger t);

void libGame_gf_SendEventTownStructureEntersSpecialDeathState (unit lp_structure);

unit libGame_gf_TownStructureEntersSpecialDeathStateStructure ();

void libGame_gf_UnitEntersSafeZonePuntRegion (trigger t);

void libGame_gf_SendEventUnitEntersSafeZonePuntRegion (unit lp_unit, point lp_puntPoint);

unit libGame_gf_UnitEntersSafeZonePuntRegionUnit ();

point libGame_gf_UnitEntersSafeZonePuntRegionPuntPoint ();

void libGame_gf_UnitEntersSafeZoneRegion (trigger t);

void libGame_gf_SendEventUnitEntersSafeZoneRegion (unit lp_unit);

unit libGame_gf_UnitEntersSafeZoneRegionUnit ();

void libGame_gf_UnitExitsSafeZoneRegion (trigger t);

void libGame_gf_SendEventUnitExitsSafeZoneRegion (unit lp_unit);

unit libGame_gf_UnitExitsSafeZoneRegionUnit ();

void libGame_gf_GameLoadedUIHook (trigger t);

void libGame_gf_SendEventGameLoadedUIHook ();

void libGame_gf_UIShownForPlayer (trigger t);

int libGame_gf_PlayerShownUI ();

void libGame_gf_SendEventUIShownForPlayer (int lp_player);

void libGame_gf_MercCampRewardGranted (trigger t);

void libGame_gf_SendEventMercCampRewardGranted (int lp_player, int lp_campIndex);

int libGame_gf_MercCampRewardGrantedCampIndex ();

int libGame_gf_MercCampRewardGrantedPlayer ();

void libGame_gf_HeroEnteredVehicleInstant (trigger t);

void libGame_gf_SendInstantEventPlayerEnteredVehicle (int lp_playerThatEnteredVehicle, unit lp_useVehicleCasterUnit, unit lp_heroUnitThatEnteredVehicle, unit lp_vehicleUnit);

int libGame_gf_UseVehicleHeroPlayer ();

unit libGame_gf_UseVehiclePassengerHero ();

unit libGame_gf_UseVehicleVehicleUnit ();

void libGame_gf_HeroSwappedVehicleInstant (trigger t);

int libGame_gf_VehicleSwappedPlayer ();

unit libGame_gf_VehicleSwappedPassengerHero ();

unit libGame_gf_VehicleSwappedOriginVehicle ();

unit libGame_gf_VehicleSwappedNewVehicle ();

void libGame_gf_SendInstantEventPlayerSwappedVehicle (int lp_playerThatEnteredVehicle, unit lp_heroUnitThatEnteredVehicle, unit lp_originVehicle, unit lp_newVehicle);

void libGame_gf_VehicleAbandonedInstant (trigger t);

void libGame_gf_SendInstantEventPlayerAbandonedVehicle (int lp_playerThatEnteredVehicle, unit lp_heroUnitThatEnteredVehicle, unit lp_vehicle);

int libGame_gf_VehicleAbandonedPlayer ();

unit libGame_gf_VehicleAbandonedPassengerHero ();

unit libGame_gf_VehicleAbandonedVehicle ();

void libGame_gf_VehicleDestroyedInstant (trigger t);

void libGame_gf_SendInstantEventVehicleDestroyed (int lp_playerThatEnteredVehicle, unit lp_heroUnitThatEnteredVehicle, unit lp_vehicle);

int libGame_gf_VehicleDestroyedPlayer ();

unit libGame_gf_VehicleDestroyedPassengerHero ();

unit libGame_gf_VehicleDestroyedVehicle ();

void libGame_gf_UnitStopsOccupyingVehicleInstant (trigger t);

void libGame_gf_SendInstantEventUnitStopsOccupyingVehicle (int lp_playerThatEnteredVehicle, unit lp_heroUnitThatEnteredVehicle, unit lp_vehicle);

int libGame_gf_UnitStopsOccupyingVehiclePlayer ();

unit libGame_gf_UnitStopsOccupyingVehiclePassengerHero ();

unit libGame_gf_UnitStopsOccupyingVehicleVehicle ();

void libGame_gf_PickingHeroesForPlayers ();

void libGame_gf_ChoGallSkinSelection (int lp_choPlayerID);

void libGame_gf_ChoGallMountandBannerSelection (int lp_skinSelectedPlayer, int lp_mountSelectedPlayer);

void libGame_gf_GameOver (int lp_winningTeam);

void libGame_gf_PlayGameOverStinger (int lp_winningTeam);

void libGame_gf_PlayVictoryDefeatVO (int lp_winningTeam);

void libGame_gf_TogglePercentScaling (bool lp_enabled);

void libGame_gf_ApplyAbilityModificationsForPlayerAtTalent (int lp_player, int lp_tierIndex, int lp_buttonIndex);

void libGame_gf_RemoveTalentAbilityModificationsForPlayerAtTalent (int lp_player, int lp_tierIndex, int lp_buttonIndex);

void libGame_gf_ApplyLevelUpHeroStatsForHeroSingleLevel (unit lp_hero);

void libGame_gf_RemoveLevelUpHeroStatsForPlayer (string lp_heroUnitType, int lp_player);

void libGame_gf_UpdateHeroManaCosts (unit lp_unit);

void libGame_gf_TurnDeathTimerCapOnOff (bool lp_onOff, fixed lp_cap);

void libGame_gf_HeroDeathUpdateStatsAwardXPMakeAnnouncementsCORE (unit lp_deadHero, int lp_killingPlayer);

playergroup libGame_gf_HeroDeathGetKillingGroupFromKillingTeamGroupAndDeadUnit (playergroup lp_killingTeamGroup, int lp_killingPlayer, unit lp_deadHero);

void libGame_gf_HeroDeathUpdateTeamStats (unit lp_deadHero, int lp_killingFaction);

void libGame_gf_HeroDeathUpdatePlayerStats (unit lp_deadHero, int lp_killingPlayer, playergroup lp_killingTeamGroup, playergroup lp_killingGroup);

void libGame_gf_HeroDeathAwardXP (int lp_killingPlayer, unit lp_deadHero, playergroup lp_awardGroup, playergroup lp_killingGroup, bool lp_takedownScored);

void libGame_gf_HeroDeathDeadTeamAnnouncements (unit lp_deadHero, playergroup lp_deadPlayerTeamGroup, int lp_killingFaction);

void libGame_gf_HeroDeathCheckForTeamDominatedAnnouncement (int lp_deadPlayerTeam);

void libGame_gf_HeroDeathCheckToSeeIfLivingAlliesExist (unit lp_deadUnit, int lp_deadPlayerTeamNumber, playergroup lp_deadPlayersTeam);

void libGame_gf_HeroDeathStartRespawnTimer (int lp_player, fixed lp_initialRespawnTime);

void libGame_gf_HeroDeathUpdateUIElementsForDeath (bool lp_showOverlay, bool lp_registerwithAnnouncementUI, bool lp_showDeathRecapToast, int lp_player, int lp_killingPlayer);

void libGame_gf_HeroDeathEnableDisableDeadSoundStateForPlayer (bool lp_enableDisable, int lp_player);

void libGame_gf_HeroDeathPortHeroBackAndSetDeathState (int lp_player, point lp_portLocation);

void libGame_gf_HeroDeathModifyRespawnTimer (int lp_respawningPlayer, fixed lp_modificationAmount);

void libGame_gf_HeroDeathUpdateRespawnTimer (int lp_respawningPlayer, fixed lp_newRespawnTimerDuration);

void libGame_gf_HeroDeathRespawnHeroforPlayer (bool lp_respawnMounted, int lp_player, point lp_reSpawnLocation, int lp_reSpawnHealthPercent);

void libGame_gf_HeroDeathAddSecondaryTexttoAnnouncementforPlayer (int lp_playerID, text lp_text);

void libGame_gf_HeroDeathHeroKilledAnnouncementToKillingTeamPlayer (int lp_deadPlayer, unit lp_deadHero, int lp_killingTeamPlayer, bool lp_playerWasInvolvedInKill, fixed lp_xPValue);

void libGame_gf_HeroDeathHeroKilledAnnouncementToObserver (int lp_deadPlayer, unit lp_deadHero);

void libGame_gf_HeroDeathHeroDiedAnnouncementToAlliedPlayerGroup (int lp_deadPlayer, unit lp_deadHero, playergroup lp_alliedPlayerGroup);

void libGame_gf_HeroDeathYouHaveDiedAnnouncementToDeadPlayer (int lp_deadPlayer);

void libGame_gf_HeroDeathHeroHasDiedAnnouncementToDeadPlayer (int lp_deadPlayer, unit lp_deadHero);

void libGame_gf_HeroDeathCheckForKillingSpree (int lp_killingPlayer);

void libGame_gf_HeroDeathDispatchKillingSpreeAnnouncement (int lp_player);

void libGame_gf_HeroDeathStartMultikillTimerForPlayer (int lp_player);

void libGame_gf_HeroDeathAddStingerSoundToQueueForPlayer (string lp_sound, int lp_queueType, int lp_player);

void libGame_gf_HeroDeathPlayNextSoundInQueueForPlayer (int lp_queueType, int lp_player);

bool libGame_gf_HeroSelectionIsHeroSelectedForAnyPlayer (int lp_heroIndex);

bool libGame_gf_HeroSelectionIsHeroSelectedForPlayersTeam (int lp_heroIndex, int lp_player);

bool libGame_gf_HeroSelectionIsSkinAlreadyInUsebyAnyPlayer (int lp_skinIndex);

int libGame_gf_HeroSelectionRandomlyPickAnyUnusedHero (int lp_choosingPlayer, bool lp_allowAnyTier, bool lp_ignoreCheck);

int libGame_gf_HeroSelectionRandomlyPickMetaUnusedHero (int lp_choosingPlayer);

int libGame_gf_HeroSelectionRandomlyPickUnusedHeroWithRole (int lp_choosingPlayer, bool lp_allowTank, bool lp_allowBruiser, bool lp_allowRangedAssassin, bool lp_allowMeleeAssassin, bool lp_allowHealer, bool lp_allowSupport);

void libGame_gf_HeroSelectionSetBNetHeroAndSkinSelectionsForAllPlayers ();

void libGame_gf_HeroSelectionSetBNetMountSelectionsForAllPlayers ();

void libGame_gf_HeroSelectionSetBNetLootContentSelectionsForAllPlayers ();

void libGame_gf_HeroSelectionComputersRandomlyPickSkinsMounts ();

void libGame_gf_HeroSelectionRandomlyPickSkin (int lp_choosingPlayer);

void libGame_gf_HeroSelectionRandomlyPickMount (int lp_choosingPlayer);

void libGame_gf_HeroSelectionRandomlyPickSpray (int lp_choosingPlayer);

void libGame_gf_HeroSelectionRandomlyPickBanner (int lp_choosingPlayer);

void libGame_gf_HeroSelectionRandomlyPickAnnouncerPack (int lp_choosingPlayer);

void libGame_gf_HeroSelectionRandomlyPickVoiceLine (int lp_choosingPlayer);

bool libGame_gf_HeroAbilityIsAffectedByCDR (int lp_player, string lp_abilityLink);

bool libGame_gf_HeroAbilityCooldownCanBeReset (int lp_player, string lp_abilityLink);

void libGame_gf_HeroRefreshCooldowns (int lp_player, bool lp_resetPlayerHeroUnits);

void libGame_gf_StormUniversalModifyCooldownonUnitCDRforAbilities (unit lp_targetUnit, fixed lp_cooldownChange, bool lp_includeTrait, bool lp_includeHeroic, bool lp_includeMount);

void libGame_gf_CalculateClosestLaneDataForLane (point lp_testPoint, int lp_curLane);

void libGame_gf_CalculateClosestLaneData (point lp_testPoint);

bool libGame_gf_LaneIndexIsValid (int lp_laneIndex);

void libGame_gf_SetStormMapLighting (string lp_lighting, playergroup lp_players, fixed lp_blendtime);

void libGame_gf_UpdateStormMapLighting (playergroup lp_players, fixed lp_blendtime);

void libGame_gf_SpecialLightingEventStart (string lp_lighting, playergroup lp_players, fixed lp_blendtime);

void libGame_gf_SpecialLightingEventEnd (string lp_lighting, playergroup lp_players, fixed lp_blendtime);

abilcmd libGame_gf_GetWheelCommandFromIndex (int lp_pingIndex);

string libGame_gf_GetWheelEffectFromIndex (int lp_pingIndex);

string libGame_gf_GetWheelActionFromIndex (int lp_pingIndex);

void libGame_gf_SetWheelMonitorUnitForPlayers (unit lp_unit, playergroup lp_players);

void libGame_gf_DropLootBannerinTownHallRubble (int lp_townIndex);

void libGame_gf_DropLootBannerinSconce (unit lp_sconceUnit, string lp_bannerID, int lp_owningPlayer, bool lp_createTextTag);

int libGame_gf_MinionDetermineWaveComposition (int lp_lane, int lp_team);

bool libGame_gf_MinionSystemStarted ();

void libGame_gf_MinionEnableDisableWaveCompositionType (bool lp_enableDisable, int lp_compositionType);

void libGame_gf_MinionTurnOnOffCatapults (bool lp_onOff);

void libGame_gf_MinionStartStopMinionSystem (bool lp_startStop);

void libGame_gf_MinionStartStopMinionSpawnCycle (bool lp_startStop);

void libGame_gf_MinionPauseUnpauseMinionSystem (bool lp_pauseUnpause);

void libGame_gf_MinionPauseUnpauseMinionSystemForTeam (bool lp_pauseUnpause, int lp_team, int lp_lane);

void libGame_gf_MinionSpawnMinion (int lp_lane, int lp_owner, int lp_type, point lp_spawnPoint);

void libGame_gf_MinionSpawnWave (int lp_lane, int lp_owner, int lp_composition);

void libGame_gf_MinionTurnMinionScalingOnOff (bool lp_onOff);

void libGame_gf_MinionPauseUnpauseMinionScaling (bool lp_pauseUnpause);

void libGame_gf_CalculateSpawnedMinionGoalPoints (int lp_ownerPlayer, point lp_positionofSpawner);

void libGame_gf_CalculateSpawnedMinionGoalPointsFromLane (int lp_ownerPlayer, point lp_positionofSpawner, int lp_lane);

void libGame_gf_CalculateSpawnedMinionGoalPointsFromClosestLaneData (int lp_ownerPlayer);

void libGame_gf_ApplyMountBehaviorToHero (unit lp_hero);

bool libGame_gf_MountEnabled (unit lp_hero);

void libGame_gf_TurnOnOffTownDestructionRemovesCoreInvulnerable (bool lp_onOff);

void libGame_gf_AwardXPForNPCKill (unit lp_killedUnit, int lp_killedUnitPlayer, int lp_killedUnitClassification, int lp_killingPlayer, fixed lp_killedUnitXPAward);

void libGame_gf_BuildingDiesCameraShake (fixed lp_delay, string lp_intensity, playergroup lp_playerGroup);

void libGame_gf_BribeProc (int lp_killingPlayer, unit lp_minion);

void libGame_gf_DiabloBlackSoulstoneProc (int lp_killingPlayer, unit lp_minion);

void libGame_gf_GenericSeasonedMarksmanProc (int lp_killingPlayer, unit lp_minion);

void libGame_gf_LeoricMithrilMaceProc (int lp_killingPlayer, unit lp_minion);

void libGame_gf_BrightwingHyperShiftProc (int lp_killingPlayer, unit lp_minion);

void libGame_gf_BrightwingPixieCharmProc (int lp_killingPlayer, unit lp_minion);

void libGame_gf_CreepDies (unit lp_creepUnit, int lp_killingPlayer, fixed lp_killXP);

void libGame_gf_MinionDies (unit lp_minionUnit, int lp_killingPlayer, fixed lp_killXP);

bool libGame_gf_TownAliveinLane (int lp_team, int lp_laneID);

int libGame_gf_TownsAliveinLane (int lp_team, int lp_lane);

int libGame_gf_TownsTotalinLane (int lp_team, int lp_lane);

fixed libGame_gf_GetOnFireAwardAmount (string lp_heroUnit, int lp_awardCategory);

void libGame_gf_UpdateOnFireScoreHighlightBooleans (int lp_player, int lp_onFireScoreValue, bool lp_toHighlight);

void libGame_gf_CalculateOnFireScore ();

void libGame_gf_SortOnFireRanks ();

void libGame_gf_SendOnFireEvents ();

void libGame_gf_UpdateOnFireScore ();

void libGame_gf_OnFireDeathMultiplier (int lp_deadHeroPlayer);

void libGame_gf_TurnOnOffInitialHeroSpawnFX (bool lp_onOff);

int libGame_gf_EnemyTeam (int lp_team);

color libGame_gf_TeamColor (int lp_team);

playergroup libGame_gf_AlliedPlayerGroupOfPlayer (int lp_player);

playergroup libGame_gf_EnemyPlayerGroupOfPlayer (int lp_player);

int libGame_gf_TeamNumberOfPlayer (int lp_player);

int libGame_gf_TeamNumberOfFaction (int lp_faction);

bool libGame_gf_TeamNumberIsValid (int lp_team);

int libGame_gf_EnemyTeamNumberOfPlayer (int lp_player);

int libGame_gf_ComputerPlayerInTeam (int lp_team);

int libGame_gf_ComputerPlayerInFaction (int lp_faction);

int libGame_gf_PlayersAliveOnTeam (int lp_team);

int libGame_gf_GetPlayerNumberFromRosterSlot (int lp_rosterSlot);

bool libGame_gf_UnitIsHero (unit lp_testUnit);

int libGame_gf_GetCustomValueLevelofHeroUnit (unit lp_heroUnit);

int libGame_gf_GetCurrentTalentTierforPlayer (int lp_playerIndex);

void libGame_gf_InitializePlayer (int lp_player, int lp_team);

void libGame_gf_GrantXPToPlayer (fixed lp_incomingXP, int lp_player, int lp_source);

void libGame_gf_LevelUpHero (unit lp_hero);

void libGame_gf_TurnOnOffLevelUpFXForPlayer (bool lp_onOff, int lp_player);

void libGame_gf_PreloadTalentModelAssets (int lp_player, int lp_talentTier);

void libGame_gf_SpawnHero (int lp_player, int lp_heroIndex, point lp_spawnLocation);

void libGame_gf_SpawnHeroesForTeam (int lp_team);

void libGame_gf_SpawnHeroesForBothTeams ();

void libGame_gf_ReloadTrackedHeroesForTeam (int lp_team);

void libGame_gf_PreloadHeroesForTeam (int lp_team);

void libGame_gf_PreloadRequiredAnimationsForPlayer (int lp_player);

void libGame_gf_ShareUnshareVisionOfAlliesForPlayer (bool lp_onOff, int lp_player);

void libGame_gf_EndGameForPlayerStorm (int lp_player);

void libGame_gf_PlayerTurnMountCostsOnOffForPlayer (int lp_player, bool lp_onOff);

void libGame_gf_PlayerResetMountCostsForPlayers ();

void libGame_gf_PlayerHeroDisplacementCameraLock (unit lp_lockUnit, string lp_displacingBehavior);

void libGame_gf_PlayerHeroDisplacementCameraUnlock (int lp_player, string lp_displacingBehavior);

void libGame_gf_UpdateScalingForUnit (unit lp_unit, int lp_desiredLevel, int lp_existingLevel);

void libGame_gf_UpdateUpgradesForPlayer (int lp_player, unit lp_unit, int lp_level);

void libGame_gf_JungleUpdateScalingForCamp (int lp_camp, int lp_scalingTicks);

void libGame_gf_JungleUpdateScalingForCamps ();

void libGame_gf_CoreUpdateScaling ();

void libGame_gf_ScalingIncremented (trigger t);

void libGame_gf_SendEventScalingIncremented ();

fixed libGame_gf_BrawlMetaXPTableLerp (fixed lp_time);

int libGame_gf_BrawlMetaXP (int lp_player);

void libGame_gf_ScoreValuesReportIntegerValueAndLog (int lp_player, string lp_score, int lp_value);

void libGame_gf_ScoreValuesReportRealValueAndLog (int lp_player, string lp_score, fixed lp_value);

void libGame_gf_ScoreValuesReportForPlayer (int lp_player);

void libGame_gf_ScoreValuesRecordXPContributionForPlayer (int lp_player, fixed lp_amount, bool lp_resetAfk);

void libGame_gf_TalentsSetupTalentChoicesFromHeroDataForPlayer (int lp_heroIndex, int lp_player);

void libGame_gf_TalentsRespecHeroForPlayer (int lp_player);

void libGame_gf_TalentsUpdateChoicePanelForPlayer (int lp_player);

void libGame_gf_TalentsChooseTalentForPlayer (int lp_tierIndex, int lp_buttonIndex, int lp_player);

void libGame_gf_InitializeTeleporterPetList ();

void libGame_gf_TeleportPetstoHeroLocation (int lp_player, point lp_preTeleportLocation);

void libGame_gf_ModifyTokenCount (int lp_modification, string lp_tokenCounterBehavior, unit lp_unit);

void libGame_gf_ResetTokenCount (string lp_tokenCounterBehavior, unit lp_unit);

void libGame_gf_TownAddStructureToTownArray (int lp_townIndex, unit lp_structureUnit, int lp_structurePresetValue, int lp_enemyTeam);

int libGame_gf_TownGetTownForUnit (unit lp_unit);

int libGame_gf_TownGetTownStructureIndexForUnit (unit lp_unit);

int libGame_gf_TownGetTownStructurePresetFromUnit (unit lp_unit);

int libGame_gf_TownGetTownHallPresetFromUnitID (string lp_unitType);

int libGame_gf_TownGetTownFromPoint (point lp_point);

bool libGame_gf_TownTownIsAlive (int lp_town, int lp_player);

unit libGame_gf_TownTownHall (int lp_town);

void libGame_gf_TownUpgradeBruiserMinions (int lp_town);

void libGame_gf_TownAnnounceTownDestroyed (int lp_town, int lp_townType);

void libGame_gf_TownAddMoonwellMinimapIconstoTown (int lp_townIndex);

void libGame_gf_TownRemoveMoonwellMinimapIconsFromTown (int lp_townIndex);

void libGame_gf_TownHideMinimapIconsOnMoonwellUnits (int lp_townIndex);

void libGame_gf_TownUnhideMinimapIconsOnMoonwellUnits (int lp_townIndex);

void libGame_gf_TownTurnOnOffBasicMinimapHealthMonitor (bool lp_turnOnOff);

void libGame_gf_ControlGroupsEnterVehicleLostVikings (unit lp_vehicle, unit lp_hero, int lp_player);

void libGame_gf_ControlGroupsExitVehicleLostVikings (unit lp_vehicle, unit lp_hero, int lp_player);

void libGame_gf_ControlGroupsSwapVehicleLostVikings (unit lp_originVehicle, unit lp_newVehicle, int lp_player);

void libGame_gf_ControlGroupsEnterVehicleSamuro (unit lp_vehicle, unit lp_hero, int lp_player);

void libGame_gf_ControlGroupsExitVehicleSamuro (unit lp_vehicle, unit lp_hero, int lp_player);

void libGame_gf_ControlGroupsSwapVehicleSamuro (unit lp_originVehicle, unit lp_newVehicle, int lp_player);

void libGame_gf_UnitSelectionEnterVehicle (unit lp_vehicle, unit lp_hero, int lp_player);

void libGame_gf_UnitSelectionExitVehicle (unit lp_vehicle, unit lp_hero, int lp_player);

void libGame_gf_UnitSelectionSwapVehicle (unit lp_originVehicle, unit lp_newVehicle, int lp_player);

void libGame_gf_VehiclesUseVehicle (int lp_player, unit lp_hero, unit lp_vehicle, bool lp_storeSelection, bool lp_stopOverlays);

void libGame_gf_VehiclesMoveUnitWithVehicle (unit lp_vehicle);

void libGame_gf_VehiclesReturnPlayerFromVehicleAtPoint (int lp_player, point lp_vehicleLocation);

void libGame_gf_WatchTowersChangeWatchTowerOwnership (int lp_watchTower, int lp_newOwner);

int libGame_gf_WatchTowersGetWatchTowerIndexForUnit (unit lp_unit);

void libGame_gf_InitializeHealthPackGenerators ();



// Trigger Declarations

trigger libGame_gt_IncludeGame;

trigger libGame_gt_InitializeBanks;

trigger libGame_gt_InitializeGameSystems;

trigger libGame_gt_InitializePlayers;

trigger libGame_gt_InitializeVisibility;

trigger libGame_gt_AfkCheckPlayerScoreValuesForActivity;

trigger libGame_gt_AfkPlayerMovementDetection;

trigger libGame_gt_AfkCheckPlayerMoving;

trigger libGame_gt_AfkCheckPlayerEnteredVehicle;

trigger libGame_gt_AfkPlayerAfkWarningTimerExpires;

trigger libGame_gt_AfkPlayerAfkKickTimerExpires;

trigger libGame_gt_AnnouncementMessageTimerExpires;

trigger libGame_gt_CapturePointLogic;

trigger libGame_gt_DimCapturePoint;

trigger libGame_gt_UnDimCapturePoint;

trigger libGame_gt_TowerCoreIsUnderAttack;

trigger libGame_gt_TowerCoreUnderAttackAnnouncementOrder;

trigger libGame_gt_TowerCoreUnderAttackAnnouncementChaos;

trigger libGame_gt_TowerCoreAlertAnnouncementCooldownExpiresOrder;

trigger libGame_gt_TowerCoreAlertAnnouncementCooldownExpiresChaos;

trigger libGame_gt_TowerCoreHasTakenDamage;

trigger libGame_gt_CCRecognitionSlow;

trigger libGame_gt_CCRecognitionBlind;

trigger libGame_gt_CCRecognitionRoot;

trigger libGame_gt_CCRecognitionStun;

trigger libGame_gt_CCRecognitionTaunt;

trigger libGame_gt_CCRecognitionSilenced;

trigger libGame_gt_CCRecognitionStasis;

trigger libGame_gt_CCRecognitionTimeStopOn;

trigger libGame_gt_CCRecognitionTimeStopOffResumeCooldowns;

trigger libGame_gt_CCRecognitionTimeStopOffUnpathableFix;

trigger libGame_gt_DeathRecapHeroDies;

trigger libGame_gt_DeathRecapHeroRespawn;

trigger libGame_gt_DEBUGManualAssignAward;

trigger libGame_gt_EndofMatchAwardsDisabledResponse;

trigger libGame_gt_MapSpecificEventInitializeResponse;

trigger libGame_gt_MapSpecificEventUpdateResponse;

trigger libGame_gt_AddtoVengeanceTargets;

trigger libGame_gt_EscapeTrackingLowHealthDetected;

trigger libGame_gt_EventBasedAwardsDataReport;

trigger libGame_gt_TrackIfDeathOutnumbered;

trigger libGame_gt_TeamPlayerHeroDeathGracePeriod;

trigger libGame_gt_AddCombatMedicHealing;

trigger libGame_gt_TeamfightTracking;

trigger libGame_gt_SilencerDataCollection;

trigger libGame_gt_ProtectorDataCollection;

trigger libGame_gt_StunnerDataCollection;

trigger libGame_gt_TrapperDataCollection;

trigger libGame_gt_ClutchHealerIncrement;

trigger libGame_gt_HatTrickAwardCounter;

trigger libGame_gt_InitializeSecondaryAwardList;

trigger libGame_gt_OldXPEnableDisable;

trigger libGame_gt_ExperienceGlobeScaling;

trigger libGame_gt_ExperienceGlobeSpawn;

trigger libGame_gt_ExperienceGlobeGrantXP;

trigger libGame_gt_OldXPEnabledMinionVeterency;

trigger libGame_gt_StartGame;

trigger libGame_gt_PickingHeroesNormalMode;

trigger libGame_gt_StartGameShowTowerRadius;

trigger libGame_gt_AnnounceCountdown;

trigger libGame_gt_RunAnimations;

trigger libGame_gt_OpenTheGatesOpenTheGatesTimerExpires;

trigger libGame_gt_SpawnMinionsMinionSpawnStartTimerExpires;

trigger libGame_gt_TurnOnXPTrickleXPTrickleStartTimerExpires;

trigger libGame_gt_ConfineHeroesToBaseUntilCountdownEnds;

trigger libGame_gt_ConfineOtherUnitsToBaseUntilCountdownEnds;

trigger libGame_gt_ConfineCreatedUnitsToBaseUntilCountdownEnds;

trigger libGame_gt_RemoveUnitsCreatedOutsideOfBaseUntilCountdownEnds;

trigger libGame_gt_DetermineWinningTeam;

trigger libGame_gt_HeroDeathUpdateStatsAwardXPMakeAnnouccementsCORE;

trigger libGame_gt_HeroDeathDiabloParticipatedInTakedown;

trigger libGame_gt_HeroDeathSeasonedMarksmanParticipatedInTakedown;

trigger libGame_gt_HeroDeathWrathOfTheBoneKingParticipatedInTakedown;

trigger libGame_gt_HeroDeathHeroDies;

trigger libGame_gt_HeroDeathHeroDeathToastTimerExpires;

trigger libGame_gt_HeroDeathHeroRespawnSoundCueTimerExpires;

trigger libGame_gt_HeroDeathHeroRespawnTimerExpires;

trigger libGame_gt_HeroDeathTeamMultikillTimerExpires;

trigger libGame_gt_HeroDeathPlayerMultikillTimerExpires;

trigger libGame_gt_HeroDeathUpdateMultikillTimerUI;

trigger libGame_gt_HeroDeathKillStingerTimerExpires;

trigger libGame_gt_HeroDeathDiabloDiabloDies;

trigger libGame_gt_HeroDeathUtherEternalDevotionProc;

trigger libGame_gt_HeroDeathUtherRedemptionProc;

trigger libGame_gt_HeroDeathTyraelArchangelsWrathProc;

trigger libGame_gt_HeroDeathSpecialDeathStateDiesTyraelUther;

trigger libGame_gt_HeroDeathGallDies;

trigger libGame_gt_InitializeCodeLaneSystem;

trigger libGame_gt_PlayerLeavesGame;

trigger libGame_gt_PlayerLeavesGameIsHumanPlayer;

trigger libGame_gt_PlayerRejoinsGame;

trigger libGame_gt_TeamAbandonedTheGameTimerExpires;

trigger libGame_gt_PlayerLeftAnnouncementTimerExpires;

trigger libGame_gt_InitializeLootContent;

trigger libGame_gt_InitializeWheelCommand;

trigger libGame_gt_PlayerUsesExpressionWheel;

trigger libGame_gt_InitializeWheelUI;

trigger libGame_gt_InitializeWheelUnit;

trigger libGame_gt_LootYellVoiceLine;

trigger libGame_gt_LootSpray;

trigger libGame_gt_MinionSpawnCycle;

trigger libGame_gt_HeroMoonwellCooldownOnOff;

trigger libGame_gt_HeroMoonwellDurationTextTagUpdates;

trigger libGame_gt_TownTownHallKilledMoonwellSearch;

trigger libGame_gt_HeroMount;

trigger libGame_gt_HeroDismount;

trigger libGame_gt_HeroDismountOnCheerDanceTauntUsed;

trigger libGame_gt_ApplyEngineInteractionBehaviors;

trigger libGame_gt_RemoveEngineInteractionBehaviors;

trigger libGame_gt_MountCaboose;

trigger libGame_gt_DismountCaboose;

trigger libGame_gt_CabooseFollowLogic;

trigger libGame_gt_UnitLosesToyTrainFollowBehavior;

trigger libGame_gt_GameGeneralNPCProcListener;

trigger libGame_gt_NPCUnitDies;

trigger libGame_gt_TownStructureDies;

trigger libGame_gt_CoreDiesGameOver;

trigger libGame_gt_OnFireEnableMessaging;

trigger libGame_gt_OnFireDisableMessaging;

trigger libGame_gt_OnFireStart;

trigger libGame_gt_OnFireForcedUpdate;

trigger libGame_gt_OnFireDisable;

trigger libGame_gt_RecordOnFireTimers;

trigger libGame_gt_LevelUp;

trigger libGame_gt_RecentDamageTimerExpires;

trigger libGame_gt_HeroDamageTracking;

trigger libGame_gt_HeroDamageSoakedDeathUpdate;

trigger libGame_gt_HeroKillCreditProximityTracking;

trigger libGame_gt_HeroXPChanges;

trigger libGame_gt_XPTrickle;

trigger libGame_gt_PlayerHomeShieldProtectionOn;

trigger libGame_gt_PlayerHomeShieldProtectionOff;

trigger libGame_gt_PlayerShrubProximityRevealProc;

trigger libGame_gt_PlayerHeroDisplacementBehaviors;

trigger libGame_gt_PlayerRegenGlobeDummyImpact;

trigger libGame_gt_PlayerRegenGlobeNeutralDummySet;

trigger libGame_gt_PlayerRegenGlobeImpactScoreTracking;

trigger libGame_gt_NeutralRegenGlobeCreatedChangeOwner;

trigger libGame_gt_ScalingTimerExpiration;

trigger libGame_gt_JungleScalingTimerExpires;

trigger libGame_gt_CoreScalingTimerExpires;

trigger libGame_gt_TownScalingTimerExpires;

trigger libGame_gt_ScoreTrackingTimeCCdEnemyHeroes;

trigger libGame_gt_ScoreTrackingPhysicalDamage;

trigger libGame_gt_ScoreTrackingSpellDamage;

trigger libGame_gt_ScoreTrackingRavenTributeCollected;

trigger libGame_gt_ScoreTrackingDragonActivated;

trigger libGame_gt_ScoreTrackingDragonShrineCaptured;

trigger libGame_gt_ScoreTrackingSkullCollected;

trigger libGame_gt_ScoreTrackingSeedCollected;

trigger libGame_gt_TalentsChoiceSelected;

trigger libGame_gt_TowerTowerDeadStateGateCheck;

trigger libGame_gt_TowerTowerMorphToDeadStateStructureDies;

trigger libGame_gt_InitializeTownSystem;

trigger libGame_gt_KillStandaloneTowers;

trigger libGame_gt_InitializeMoonwellIconsonTowns;

trigger libGame_gt_TownMidLateGamePowerTransitionOn;

trigger libGame_gt_HallOfStormsKnockbackLaunchMissile;

trigger libGame_gt_HallOfStormsKnockbackUnitEntersRegion;

trigger libGame_gt_HallOfStormsUnitEntersRegion;

trigger libGame_gt_HallOfStormsUnitExitsRegion;

trigger libGame_gt_VehicleReconnectionMonitor;

trigger libGame_gt_KaelthasEntersVehicle;

trigger libGame_gt_KaelthasStopsOccupyingVehicle;

trigger libGame_gt_UnitSelectionVehicleEntered;

trigger libGame_gt_UnitSelectionVehicleSwapped;

trigger libGame_gt_UnitSelectionOnUnitDeselected;

trigger libGame_gt_VehiclesVehicleEntered;

trigger libGame_gt_VehiclesVehicleSwapped;

trigger libGame_gt_VehiclesVehicleAbandoned;

trigger libGame_gt_VehiclesVehicleDies;

trigger libGame_gt_VehiclesRegenGlobe;

trigger libGame_gt_VehicleDragonKnightBullRush;

trigger libGame_gt_InitializeWatchTowers;

trigger libGame_gt_WatchTowersOwnershipChanges;

trigger libGame_gt_HealthPackGeneratorHealthPackCreated;



// Library Initialization

void libGame_InitVariables ();