include "TriggerLibs/natives"



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

// Library: Core

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

// Preset Declarations

const int libCore_ge_GameModes_Normal = 0;

const int libCore_ge_GameModes_Tutorial1Deprecated = 1;

const int libCore_ge_GameModes_Tutorial1 = 2;

const int libCore_ge_GameModes_Tutorial3Deprecated = 3;

const int libCore_ge_GameModes_TryMe = 4;

const int libCore_ge_GameModes_ArenaMode = 5;

const int libCore_ge_GameModes_AttackDefend = 6;

const int libCore_ge_GameModes_TutorialVeteran = 7;

const int libCore_ge_GameModes_TutorialMapMechanics = 8;

const int libCore_ge_GameModes_ModeC = 9;

const int libCore_ge_GameModes_Sandbox = 10;

const int libCore_ge_GameModes_Debug = 11;

const int libCore_ge_FloatingTextType_NormalDamage = 0;

const int libCore_ge_FloatingTextType_MediumDamage = 1;

const int libCore_ge_FloatingTextType_HighDamage = 2;

const int libCore_ge_FloatingTextType_InsaneDamage = 3;

const int libCore_ge_FloatingTextType_Healing = 4;

const int libCore_ge_FloatingTextType_Mana = 5;

const int libCore_ge_FloatingTextType_PositiveStatus = 6;

const int libCore_ge_FloatingTextType_NegativeStatus = 7;

const int libCore_ge_FloatingTextType_XPSmall = 8;

const int libCore_ge_FloatingTextType_XPMedium = 9;

const int libCore_ge_FloatingTextType_XPLarge = 10;

const int libCore_ge_FloatingTextType_XPSelf = 11;

const int libCore_ge_FloatingTextType_BonusDamage = 12;

const int libCore_ge_FloatingTextType_Leashing = 13;

const int libCore_ge_FloatingTextType_Countdown = 14;

const int libCore_ge_FloatingTextType_Shield = 15;

const int libCore_ge_CustomValueIndexes_TownIndex = 0;

const int libCore_ge_CustomValueIndexes_TownStructureIndex = 1;

const int libCore_ge_CustomValueIndexes_LaneIndex = 2;

const int libCore_ge_CustomValueIndexes_NextWaypointIndex = 3;

const int libCore_ge_CustomValueIndexes_MinionIndex = 4;

const int libCore_ge_CustomValueIndexes_JungleDefenderCreepCampIndex = 5;

const int libCore_ge_CustomValueIndexes_JungleDefenderCreepUnitIndex = 6;

const int libCore_ge_CustomValueIndexes_JungleDefenderAIIndex = 7;

const int libCore_ge_CustomValueIndexes_JungleLanerCreepCampIndex = 8;

const int libCore_ge_CustomValueIndexes_MercLanerGroupIndex = 9;

const int libCore_ge_CustomValueIndexes_HeroIsSwappingIndex = 10;

const int libCore_ge_CustomValueIndexes_WatchTowerIndex = 11;

const int libCore_ge_CustomValueIndexes_SummonerSummonIndex = 12;

const int libCore_ge_CustomValueIndexes_HeroLevelIndex = 13;

const int libCore_ge_CustomValueIndexes_AIThreatBase = 14;

const int libCore_ge_AnnouncerVOEvents_Null = 0;

const int libCore_ge_AnnouncerVOEvents_GetReadyForBattle = 1;

const int libCore_ge_AnnouncerVOEvents_BattleStartingIn = 2;

const int libCore_ge_AnnouncerVOEvents_Countdown10 = 3;

const int libCore_ge_AnnouncerVOEvents_Countdown5 = 4;

const int libCore_ge_AnnouncerVOEvents_Countdown4 = 5;

const int libCore_ge_AnnouncerVOEvents_Countdown3 = 6;

const int libCore_ge_AnnouncerVOEvents_Countdown2 = 7;

const int libCore_ge_AnnouncerVOEvents_Countdown1 = 8;

const int libCore_ge_AnnouncerVOEvents_LetTheBattleBegin = 9;

const int libCore_ge_AnnouncerVOEvents_YouHaveBeenKilled = 10;

const int libCore_ge_AnnouncerVOEvents_AllyKilled = 11;

const int libCore_ge_AnnouncerVOEvents_EnemyKilledNonparticipants = 12;

const int libCore_ge_AnnouncerVOEvents_EnemyKilledParticipants = 13;

const int libCore_ge_AnnouncerVOEvents_HeroKilledObserver = 14;

const int libCore_ge_AnnouncerVOEvents_DoubleKill = 15;

const int libCore_ge_AnnouncerVOEvents_TripleKill = 16;

const int libCore_ge_AnnouncerVOEvents_QuadraKill = 17;

const int libCore_ge_AnnouncerVOEvents_MegaKill = 18;

const int libCore_ge_AnnouncerVOEvents_SixKill = 19;

const int libCore_ge_AnnouncerVOEvents_SevenKill = 20;

const int libCore_ge_AnnouncerVOEvents_EightKill = 21;

const int libCore_ge_AnnouncerVOEvents_NineKill = 22;

const int libCore_ge_AnnouncerVOEvents_TenKill = 23;

const int libCore_ge_AnnouncerVOEvents_TeamKill = 24;

const int libCore_ge_AnnouncerVOEvents_BlueTeamKilled = 25;

const int libCore_ge_AnnouncerVOEvents_RedTeamKilled = 26;

const int libCore_ge_AnnouncerVOEvents_AllyFirstBlood = 27;

const int libCore_ge_AnnouncerVOEvents_EnemyFirstBlood = 28;

const int libCore_ge_AnnouncerVOEvents_BlueTeamFirstBlood = 29;

const int libCore_ge_AnnouncerVOEvents_RedTeamFirstBlood = 30;

const int libCore_ge_AnnouncerVOEvents_KillingSpreeStart = 31;

const int libCore_ge_AnnouncerVOEvents_KillingSpreeEndYou = 32;

const int libCore_ge_AnnouncerVOEvents_KillingSpreeUpgrade1Mayhem = 33;

const int libCore_ge_AnnouncerVOEvents_KillingSpreeUpgrade2Untouchable = 34;

const int libCore_ge_AnnouncerVOEvents_KillingSpreeUpgrade3HeroOfTheStorm = 35;

const int libCore_ge_AnnouncerVOEvents_KillingSpreeUpgrade4AllStarDEP = 36;

const int libCore_ge_AnnouncerVOEvents_APlayerHasLeftTheGame = 37;

const int libCore_ge_AnnouncerVOEvents_APlayerHasRejoinedTheGame = 38;

const int libCore_ge_AnnouncerVOEvents_GravestoneRevive = 39;

const int libCore_ge_AnnouncerVOEvents_AlliedOutpostDestroyed = 40;

const int libCore_ge_AnnouncerVOEvents_EnemyOutpostDestroyed = 41;

const int libCore_ge_AnnouncerVOEvents_AlliedKeepDestroyed = 42;

const int libCore_ge_AnnouncerVOEvents_EnemyKeepDestroyed = 43;

const int libCore_ge_AnnouncerVOEvents_BlueTeamDestroysTown = 44;

const int libCore_ge_AnnouncerVOEvents_RedTeamDestroysTown = 45;

const int libCore_ge_AnnouncerVOEvents_AlliedCoreUnderAttack = 46;

const int libCore_ge_AnnouncerVOEvents_BlueTeamCoreUnderAttack = 47;

const int libCore_ge_AnnouncerVOEvents_RedTeamCoreUnderAttack = 48;

const int libCore_ge_AnnouncerVOEvents_Victory = 49;

const int libCore_ge_AnnouncerVOEvents_Defeat = 50;

const int libCore_ge_AnnouncerVOEvents_BlueTeamWins = 51;

const int libCore_ge_AnnouncerVOEvents_RedTeamWins = 52;

const int libCore_ge_AnnouncerVOEvents_AlliesCaptureMercCamp = 53;

const int libCore_ge_AnnouncerVOEvents_EnemiesCaptureMercCamp = 54;

const int libCore_ge_AnnouncerVOEvents_BlueTeamCapturesMercCamp = 55;

const int libCore_ge_AnnouncerVOEvents_RedTeamCapturesMercCamp = 56;

const int libCore_ge_AnnouncerVOEvents_LevelUp = 57;

const int libCore_ge_AnnouncerVOEvents_TalentUnlocked = 58;

const int libCore_ge_AnnouncerVOEvents_EventCount = 59;

const int libCore_ge_AnnouncerVOEvents_GamePaused = 60;

const int libCore_ge_AnnouncerVOEvents_GameResumed = 61;

const int libCore_ge_AnnouncerVOEvents_MVP = 62;

const int libCore_ge_AnnouncerVOEvents_MVPVoteEpic = 63;

const int libCore_ge_AnnouncerVOEvents_MVPVoteLegendary = 64;

const int libCore_ge_AnnouncerVOEvents_Preset65 = 65;

const int libCore_ge_AnnouncerVOEvents_Preset66 = 66;

const int libCore_ge_AnnouncerVOEvents_Preset67 = 67;

const int libCore_ge_AnnouncerVOEvents_Preset68 = 68;

const int libCore_ge_AnnouncerVOEvents_Preset69 = 69;

const int libCore_ge_AnnouncerVOEvents_Preset70 = 70;

const int libCore_ge_AnnouncerVOEvents_Preset71 = 71;

const int libCore_ge_AnnouncerVOEvents_Preset72 = 72;

const int libCore_ge_AnnouncerVOEvents_Preset73 = 73;

const int libCore_ge_AnnouncerVOEvents_Preset74 = 74;

const int libCore_ge_AnnouncerVOEvents_Preset75 = 75;

const int libCore_ge_AnnouncerVOEvents_Preset76 = 76;

const int libCore_ge_AnnouncerVOEvents_Preset77 = 77;

const int libCore_ge_AnnouncerVOEvents_Preset78 = 78;

const int libCore_ge_AnnouncerVOEvents_Preset79 = 79;

const int libCore_ge_AnnouncerVOEvents_Preset80 = 80;

const int libCore_ge_AnnouncerVOEvents_Preset81 = 81;

const int libCore_ge_AnnouncerVOEvents_Preset82 = 82;

const int libCore_ge_AnnouncerVOEvents_Preset83 = 83;

const int libCore_ge_AnnouncerVOEvents_Preset84 = 84;

const int libCore_ge_AnnouncerVOEvents_Preset85 = 85;

const int libCore_ge_AnnouncerVOEvents_Preset86 = 86;

const int libCore_ge_AnnouncerVOEvents_Preset87 = 87;

const int libCore_ge_AnnouncerVOEvents_Preset88 = 88;

const int libCore_ge_AnnouncerVOEvents_Preset89 = 89;

const int libCore_ge_AnnouncerVOEvents_Preset90 = 90;

string libCore_ge_AnnouncerVOEvents_Ident (int lp_val);

const int libCore_ge_HeroVOEvents_Null = 0;

const int libCore_ge_HeroVOEvents_Revive = 1;

const int libCore_ge_HeroVOEvents_Healed = 2;

const int libCore_ge_HeroVOEvents_Resurrected = 3;

const int libCore_ge_HeroVOEvents_Pissed = 4;

const int libCore_ge_HeroVOEvents_GenericKill = 5;

const int libCore_ge_HeroVOEvents_TeamKilled = 6;

const int libCore_ge_HeroVOEvents_Laugh = 7;

const int libCore_ge_HeroVOEvents_No = 8;

const int libCore_ge_HeroVOEvents_EndEnemyKillingSpree = 9;

const int libCore_ge_HeroVOEvents_TalentChosen = 10;

const int libCore_ge_HeroVOEvents_Celebrate = 11;

const int libCore_ge_HeroVOEvents_WorthIt = 12;

const int libCore_ge_HeroVOEvents_Comeback = 13;

const int libCore_ge_HeroVOEvents_AIRetreat = 14;

const int libCore_ge_HeroVOEvents_AIGoodJob = 15;

const int libCore_ge_HeroVOEvents_AIOnMyWay = 16;

const int libCore_ge_HeroVOEvents_AIMercCapture = 17;

const int libCore_ge_HeroVOEvents_AICaution = 18;

const int libCore_ge_HeroVOEvents_AIAttack = 19;

const int libCore_ge_HeroVOEvents_AIUhOh = 20;

const int libCore_ge_HeroVOEvents_AIHeal = 21;

const int libCore_ge_HeroVOEvents_PingAttackHere = 22;

const int libCore_ge_HeroVOEvents_PingDefendHere = 23;

const int libCore_ge_HeroVOEvents_PingAttackTown = 24;

const int libCore_ge_HeroVOEvents_PingDefendTown = 25;

const int libCore_ge_HeroVOEvents_PingAttackWatchTower = 26;

const int libCore_ge_HeroVOEvents_PingDefendWatchTower = 27;

const int libCore_ge_HeroVOEvents_PingAttackCore = 28;

const int libCore_ge_HeroVOEvents_PingDefendCore = 29;

const int libCore_ge_HeroVOEvents_PingAttackMercCamp = 30;

const int libCore_ge_HeroVOEvents_PingKillHero = 31;

const int libCore_ge_HeroVOEvents_PingAssistHero = 32;

const int libCore_ge_HeroVOEvents_PingAssistMe = 33;

const int libCore_ge_HeroVOEvents_PingEnemyMissing = 34;

const int libCore_ge_HeroVOEvents_IntroQuestion = 35;

const int libCore_ge_HeroVOEvents_IntroResponse = 36;

const int libCore_ge_HeroVOEvents_IntroBoast = 37;

const int libCore_ge_HeroVOEvents_IntroAgree = 38;

const int libCore_ge_HeroVOEvents_VOXGetHit = 39;

const int libCore_ge_HeroVOEvents_VOXGetHitLarge = 40;

const int libCore_ge_HeroVOEvents_VOXGetHitSmall = 41;

const int libCore_ge_HeroVOEvents_Hello = 42;

const int libCore_ge_HeroVOEvents_Thanks = 43;

const int libCore_ge_HeroVOEvents_WellPlayed = 44;

const int libCore_ge_HeroVOEvents_Sorry = 45;

const int libCore_ge_HeroVOEvents_Goodbye = 46;

const int libCore_ge_HeroVOEvents_Cheer = 47;

const int libCore_ge_HeroVOEvents_GlueTrial = 48;

const int libCore_ge_HeroVOEvents_VOPing_Danger = 49;

const int libCore_ge_HeroVOEvents_VOPing_AssistMe = 50;

const int libCore_ge_HeroVOEvents_VOPing_OnMyWay = 51;

const int libCore_ge_HeroVOEvents_VOPing_Defend = 52;

const int libCore_ge_HeroVOEvents_VOPing_Retreat = 53;

const int libCore_ge_HeroVOEvents_VOPing_EnemyMissing = 54;

const int libCore_ge_MinionTypes_Null = 0;

const int libCore_ge_MinionTypes_Footmen = 1;

const int libCore_ge_MinionTypes_Wizard = 2;

const int libCore_ge_MinionTypes_Ranged = 3;

const int libCore_ge_MinionTypes_Catapult = 4;

const int libCore_ge_MinionTypes_CustomMelee1 = 5;

const int libCore_ge_MinionTypes_CustomRanged1 = 6;

const int libCore_ge_MinionTypes_CustomCaster1 = 7;

const int libCore_ge_MinionTypes_CustomCatapult1 = 8;

const int libCore_ge_MinionTypes_CustomMelee2 = 9;

const int libCore_ge_MinionTypes_CustomRanged2 = 10;

const int libCore_ge_MinionTypes_CustomCaster2 = 11;

const int libCore_ge_MinionTypes_CustomCatapult2 = 12;

const int libCore_ge_MinionTypes_CustomMelee3 = 13;

const int libCore_ge_MinionTypes_CustomRanged3 = 14;

const int libCore_ge_MinionTypes_CustomCaster3 = 15;

const int libCore_ge_MinionTypes_CustomCatapult3 = 16;

const int libCore_ge_MinionWaveCompositionsTypes_Null = 0;

const int libCore_ge_MinionWaveCompositionsTypes_Standard = 1;

const int libCore_ge_MinionWaveCompositionsTypes_Custom1 = 2;

const int libCore_ge_MinionWaveCompositionsTypes_Custom2 = 3;

const int libCore_ge_MinionWaveCompositionsTypes_Custom3 = 4;

const int libCore_ge_MinionWaveCompositionsTypes_Custom4 = 5;

const int libCore_ge_MinionWaveCompositionsTypes_Custom5 = 6;

const int libCore_ge_SegregationTriggerTypes_DefenderAIIssueOrdersToCreep = 0;

const int libCore_ge_SegregationTriggerTypes_HeroAIInitializeHeroTierData = 1;

const int libCore_ge_SegregationTriggerTypes_HeroAIInitAbilities = 2;

const int libCore_ge_SegregationTriggerTypes_HeroAIEnableAIForPlayer = 3;

const int libCore_ge_SegregationTriggerTypes_HeroAIDebuggingUpdateStatus = 4;

const int libCore_ge_SegregationTriggerTypes_HeroAIMapMechanicPinged = 5;

const int libCore_ge_SegregationTriggerTypes_HeroAIFollowerNearbyMapObjective = 6;

const int libCore_ge_SegregationTriggerTypes_HeroAITalentLogic = 7;

const int libCore_ge_SegregationTriggerTypes_HeroAIIsCurrentlyAttacking = 8;

string libCore_ge_SegregationTriggerTypes_Ident (int lp_val);

const int libCore_ge_TalentTierType_Null = 0;

const int libCore_ge_TalentTierType_NormalTalent = 1;

const int libCore_ge_TalentTierType_HeroicAbility = 2;

const int libCore_ge_TalentTierType_StormTalent = 3;

const int libCore_ge_ReticleType_MainObjective = 0;

const int libCore_ge_ReticleType_BonusObjective = 1;

const int libCore_ge_ReticleType_Enemy = 2;

const int libCore_ge_ReticleSize_Large = 0;

const int libCore_ge_ReticleSize_Medium = 1;

const int libCore_ge_ReticleSize_Small = 2;

const int libCore_ge__UnitDataType_Actor = 0;

const int libCore_ge__UnitDataType_Integer = 1;

const int libCore_ge__UnitDataType_Ping = 2;

const int libCore_ge__UnitDataType_Point = 3;

const int libCore_ge__UnitDataType_Region = 4;

const int libCore_ge__UnitDataType_TextTag = 5;

const int libCore_ge__UnitDataType_Unit = 6;

const int libCore_ge__UnitDataType_UnitGroup = 7;

const int libCore_ge_TransmissionPortraitOptioins_LeavePortraitVisibleAfter = 0;

const int libCore_ge_TransmissionPortraitOptioins_HidePortraitAfter = 1;

const int libCore_ge_TransmissionPortraitOptioins_DontShowPortrait = 2;

const int libCore_ge_TransmissionCueSoundOptions_DefaultCueSoundBehavior = 0;

const int libCore_ge_TransmissionCueSoundOptions_PlayCueSound = 1;

const int libCore_ge_TransmissionCueSoundOptions_DontPlayCueSound = 2;

const int libCore_ge_TransmissionOptions_ChatBubble = 0;



// Constants

const int libCore_gv_maxMapSoundtracks_C = 3;

const fixed libCore_gv_floatingCombatTextStandardDuration = 2.5;

const int libCore_gv_data_MaxRequiredRewards_C = 8;

const int libCore_gv_dataAnnouncerVONumberOfAnnouncerPacks = 2;

const int libCore_gv_dataAnnouncerVOMaxNumberOfAnnouncerEvents = 90;

const int libCore_gv_cOLOROrderPlayerColor = 2;

const int libCore_gv_cOLORChaosPlayerColor = 1;

const int libCore_gv_cOLORHostilePlayerColor = 3;

const int libCore_gv_cOLORNeutralPlayerColor = 4;

const fixed libCore_gv_bALMeleePlaceholder2SplashDamagePercentage = 0.25;

const fixed libCore_gv_bALHealAreaonHitSplashHealingPercentage = 0.4;

const fixed libCore_gv_bALRangedPlaceholder2DoTDamagePercentage = 1.0;

const fixed libCore_gv_bALRangedPlaceholder2DoTNumberofTics = 4.0;

const fixed libCore_gv_bALHeroDiabloMoltenFistDoT = 0.2;

const string libCore_gv_debugPathDebugOutput = "Debug_Output";

const string libCore_gv_debugPathScoreValueLog = "ScoreValueLog";

const string libCore_gv_debugPathEncouragementDataTrackingLog = "EncouragementDataLog";

const string libCore_gv_debugPathDeathTimerRenderPrioritiesLog = "DeathTimerRenderPriorities";

const string libCore_gv_debugPathIndividualStatTrackerLog = "IndividualStatTrackerLog";

const string libCore_gv_debugPathMVPLog = "MVPLog";

const fixed libCore_gv_bALHeroSelectTime = 60.0;

const fixed libCore_gv_bALOpenTheGatesDelay_Brawl = 20.0;

const fixed libCore_gv_bALSpawnMinionsDelay = 0.0;

const fixed libCore_gv_bALJungleWatchTowerActivationDelay = 5.0;

const fixed libCore_gv_bALXPTrickleStartDelay = 35.0;

const int libCore_gv_dataMaxCatalogChangesPerAbility = 28;

const int libCore_gv_heroes_MaxSkinsPerHero_C = 64;

const int libCore_gv_data_MaxHeroAllowedMountCategories_C = 8;

const int libCore_gv_dataHeroesNumberOfHeroRoles = 4;

const int libCore_gv_dataHeroesMaxAlternateHeroes = 3;

const int libCore_gv_dataHeroesManualSpawnHeroesCount = 2;

const int libCore_gv_dataHeroesMaxAbilitiesPerHero = 13;

const int libCore_gv_dataHeroesMaxBasicAbilitiesPerHero = 3;

const int libCore_gv_dataHeroesMaxHeroicAbilitiesPerHero = 2;

const int libCore_gv_dataHeroesMaxTraitAbilitiesPerHero = 1;

const int libCore_gv_dataHeroVOMaxNumberOfHeroVOEvents = 55;

const int libCore_gv_killingSpree_KillThresholdCount_C = 4;

const int libCore_gv_killingSpree_KillThresholdBase_C = 5;

const int libCore_gv_killingSpree_KillThresholdUpgrade1_C = 10;

const int libCore_gv_killingSpree_KillThresholdUpgrade2_C = 15;

const int libCore_gv_killingSpree_KillThresholdUpgrade3_C = 20;

const string libCore_gv_mountModelActor3 = "LootSpray";

const string libCore_gv_mountModelActor4 = "SprayStaticFluidDefault";

const string libCore_gv_loot_BannerDefault = "BannerDefault";

const string libCore_gv_loot_BannerMerc = "NeutralMercCamp";

const int libCore_gv_dataMinionTypeCount = 16;

const int libCore_gv_dataMinionWaveCompositionMaxCount = 5;

const int libCore_gv_dataMinionWaveCompositionMaxGroupCount = 5;

const int libCore_gv_dataMountsMaxActorMessageCount = 16;

const int libCore_gv_dataScalingMaxScalingTicks = 60;

const int libCore_gv_cOMPUTER_Neutral = 0;

const int libCore_gv_cOMPUTER_TeamOrder = 11;

const int libCore_gv_cOMPUTER_TeamChaos = 12;

const int libCore_gv_cOMPUTER_NoVision_TeamOrder = 13;

const int libCore_gv_cOMPUTER_NoVision_TeamChaos = 14;

const int libCore_gv_cOMPUTER_Hostile = 15;

const int libCore_gv_oBSERVER_ObserverUIPlayer = 0;

const int libCore_gv_bALMaxTeams = 2;

const int libCore_gv_bALMaxPlayers = 10;

const int libCore_gv_bALMaxGamePlayers = 12;

const int libCore_gv_bALMaxPlayersOnATeam = 5;

const int libCore_gv_bALMaxEnginePlayerCount = 15;

const int libCore_gv_bALMaxLevel = 30;

const fixed libCore_gv_bALHeroKillXPRadius = 20.0;

const fixed libCore_gv_bALRecentDamageResetTime = 5.0;

const int libCore_gv_bALPlayerActiveInventorySlots = 6;

const int libCore_gv_bALPlayerTotalInventorySlots = 6;

const fixed libCore_gv_bALDiabloSoulstoneDeathTime = 5.0;

const fixed libCore_gv_bALMurkyWithEggDeathTime = 8.0;

const fixed libCore_gv_bALMurkyWithEggandBigFishTalentDeathTime = 16.0;

const fixed libCore_gv_bALTyraelPassiveDeathTimeReduction = 10.0;

const int libCore_gv_segregationTriggerTypesMax = 20;

const int libCore_gv_segregationTriggerCountPerType = 40;

const int libCore_gv_dataSkinsMaxActorMessageCount = 32;

const int libCore_gv_data_MaxSkinAllowedMountCategories_C = 2;

const int libCore_gv_talents_MaxTiers_C = 7;

const int libCore_gv_talents_MaxTalentsPerTier_C = 5;

const int libCore_gv_talents_MaxTalentRank_C = 1;

const int libCore_gv_talents_MaxBehaviorsPerTalent_C = 5;

const int libCore_gv_talents_MaxModificationsPerTalent_C = 30;

const fixed libCore_gv_talents_RelentlessCCReduction25_C = 0.25;

const fixed libCore_gv_talents_RelentlessCCReduction50_C = 0.5;

const fixed libCore_gv_talents_0ManaCostBuffMod_C = 1.0;

const fixed libCore_gv_talents_BucketOverdriveManaCostIncreasePercent_C = 0.4;

const fixed libCore_gv_data_WatchTower_CaptureTime_C = 1.5;

const fixed libCore_gv_data_WatchTower_CaptureRadius_C = 4.0;

const fixed libCore_gv_data_XP_RegenGlobePickup_C = 0.0;

const fixed libCore_gv_data_XP_TricklePeriod_C = 1.0;

const fixed libCore_gv_data_XP_TrickleAmount_C = 23.0;

const fixed libCore_gv_data_XP_TrickleTownHallMod_C = 0.2;

const fixed libCore_gv_data_XP_SiegeGiantCapture_C = 0.0;

const fixed libCore_gv_data_XP_OgreCapture_C = 0.0;

const fixed libCore_gv_data_XP_GraveGolemCapture_C = 0.0;

const fixed libCore_gv_data_XP_HeroOneQuarterValueCoefficient_C = 0.25;

const fixed libCore_gv_data_XP_HeroHalfValueCoefficient_C = 0.5;

const fixed libCore_gv_data_XP_HeroThreeQuarterValueCoefficient_C = 0.75;

const int libCore_gv_data_XP_HeroLevelModifier_C = 5;

const int libCore_gv_data_XP_BrawlMetaXPTableSize_C = 30;

const string libCore_gv_eventID_IncludeModInit_C = "IncludeModInitialization";

const int libCore_gv__ConvoMultipleCount_C = 5;



// Structures

struct libCore_gs_AnnouncerVODataField {

    string lv_vOString;

    bool lv_playAtGameEnd;

};



struct libCore_gs_AnnouncerVOLine {

    string lv_soundLink;

    bool lv_playAtGameEnd;

};



struct libCore_gs_AnnouncerVOPack {

    text lv_name;

    string lv_stringName;

    libCore_gs_AnnouncerVOLine[libCore_gv_dataAnnouncerVOMaxNumberOfAnnouncerEvents + 1] lv_announcerVOLines;

};



struct libCore_gs_ManualSpawnHero {

    trigger lv_coreSpawnTrigger;

    int lv_heroIndex;

    bool lv_attached;

    bool lv_core;

};



struct libCore_gs_HeroCatalogChangeData {

    int[libCore_gv_dataHeroesMaxAbilitiesPerHero + 1] lv_numberOfFieldChanges;

    bool[libCore_gv_dataHeroesMaxAbilitiesPerHero + 1] lv_abilityIsHeroic;

    int[libCore_gv_dataHeroesMaxAbilitiesPerHero + 1][libCore_gv_dataMaxCatalogChangesPerAbility + 1] lv_catalog;

    string[libCore_gv_dataHeroesMaxAbilitiesPerHero + 1][libCore_gv_dataMaxCatalogChangesPerAbility + 1] lv_entry;

    string[libCore_gv_dataHeroesMaxAbilitiesPerHero + 1][libCore_gv_dataMaxCatalogChangesPerAbility + 1] lv_field;

    bool[libCore_gv_dataHeroesMaxAbilitiesPerHero + 1][libCore_gv_dataMaxCatalogChangesPerAbility + 1] lv_fieldIsInteger;

    fixed[libCore_gv_dataHeroesMaxAbilitiesPerHero + 1][libCore_gv_dataMaxCatalogChangesPerAbility + 1] lv_valueAddedPerLevel;

    bool[libCore_gv_dataHeroesMaxAbilitiesPerHero + 1][libCore_gv_dataMaxCatalogChangesPerAbility + 1] lv_affectedByAbilityPower;

    bool[libCore_gv_dataHeroesMaxAbilitiesPerHero + 1][libCore_gv_dataMaxCatalogChangesPerAbility + 1] lv_affectedByHealingPower;

    bool[libCore_gv_dataHeroesMaxAbilitiesPerHero + 1][libCore_gv_dataMaxCatalogChangesPerAbility + 1] lv_percentScaled;

};



struct libCore_gs_HeroAbilityData {

    string lv_ability;

    bool lv_isHeroic;

    bool lv_isAffectedByCooldownReduction;

    bool lv_isTrait;

    bool lv_usesCharges;

    bool lv_isAffectedByOverdrive;

    bool lv_isMountReplacement;

};



struct libCore_gs_HeroData {

    int lv_initializedCount;

    string lv_heroCatalogLink;

    string[libCore_gv_data_MaxRequiredRewards_C + 1] lv_requiredRewardArray;

    string lv_unitType;

    int lv_role;

    int lv_expandedRole;

    playergroup lv_heroRoles;

    int lv_heroRolesCount;

    int lv_universe;

    int lv_gender;

    text lv_description;

    bool lv_isFlyer;

    bool lv_isMelee;

    bool lv_isCaster;

    bool lv_isPaired;

    bool lv_allowAIRandomSelection;

    bool lv_allowHumanRandomSelection;

    int lv_numberOfAlternateUnitTypes;

    string[libCore_gv_dataHeroesMaxAlternateHeroes + 1] lv_alternateUnitTypes;

    libCore_gs_HeroAbilityData[libCore_gv_dataHeroesMaxAbilitiesPerHero + 1] lv_abilities;

    int lv_numberOfAbilities;

    string lv_portrait;

    string lv_leaderboardImage;

    string lv_loadingScreenImage;

    string lv_partyFrameImage;

    string lv_heroSelectScreenButtonPortrait;

    int lv_introCutsceneSize;

    string[libCore_gv_heroes_MaxSkinsPerHero_C + 1] lv_skinArray;

    int lv_skinCount;

    bool lv_usesMounts;

    libCore_gs_HeroCatalogChangeData lv_levelUpModificationData;

    int lv_levelUpAbilitiesCount;

    string lv_veterencyHealthTemplateBehavior;

    text lv_name;

    text[libCore_gv_dataHeroesMaxAbilitiesPerHero + 1] lv_abilityNames;

    string[libCore_gv_dataHeroesMaxAbilitiesPerHero + 1] lv_abilityIcons;

    text[libCore_gv_dataHeroesMaxAbilitiesPerHero + 1] lv_abilityTooltips;

    int lv_allowedMountCategoryCount;

    string[libCore_gv_data_MaxHeroAllowedMountCategories_C + 1] lv_allowedMountCategories;

    string lv_defaultMount;

    bool lv_dEBUGPlayable;

};



struct libCore_gs_HeroVO {

    string[libCore_gv_dataHeroVOMaxNumberOfHeroVOEvents + 1] lv_vOEventLines;

};



struct libCore_gs_LootVoiceLine {

    string lv_voiceLineID;

    string lv_voiceLineSoundID;

    string[libCore_gv_data_MaxRequiredRewards_C + 1] lv_requiredRewardArray;

    int lv_requiredRewardCount;

};



struct libCore_gs_LootAnnouncerPack {

    string lv_announcerPackID;

    string lv_announcerVoiceOverID;

    string lv_announcerHeroID;

    libCore_gs_AnnouncerVOLine[libCore_gv_dataAnnouncerVOMaxNumberOfAnnouncerEvents + 1] lv_announcerVOLines;

    bool lv_announcerIsPlayerAssigned;

    string[libCore_gv_data_MaxRequiredRewards_C + 1] lv_requiredRewardArray;

    int lv_requiredRewardCount;

};



struct libCore_gs_LootBanner {

    string lv_bannerID;

    string lv_bannerModelID;

    string[libCore_gv_data_MaxRequiredRewards_C + 1] lv_requiredRewardArray;

    int lv_requiredRewardCount;

    string[libCore_gv_dataSkinsMaxActorMessageCount + 1] lv_actorMessageArray;

    int lv_actorMessageCount;

};



struct libCore_gs_LootSpray {

    string lv_sprayID;

    string lv_sprayModelID;

    string[libCore_gv_data_MaxRequiredRewards_C + 1] lv_requiredRewardArray;

    int lv_requiredRewardCount;

    string[libCore_gv_dataSkinsMaxActorMessageCount + 1] lv_actorMessageArray;

    int lv_actorMessageCount;

};



struct libCore_gs_LootContentData {

    libCore_gs_LootBanner lv_loot_Banner;

    libCore_gs_LootSpray lv_loot_Spray;

    libCore_gs_LootAnnouncerPack lv_loot_AnnouncerPack;

    libCore_gs_LootVoiceLine lv_loot_VoiceLine;

};



struct libCore_gs_MinionData {

    string lv_unitType;

};



struct libCore_gs_MinionWaveComposition {

    bool lv_enabled;

    text lv_name;

    int lv_numberOfGroups;

    int[libCore_gv_dataMinionWaveCompositionMaxGroupCount + 1] lv_groupMinionType;

    int[libCore_gv_dataMinionWaveCompositionMaxGroupCount + 1] lv_groupMinionCount;

};



struct libCore_gs_HeroMountData {

    bool lv_isFree;

    string[libCore_gv_data_MaxRequiredRewards_C + 1] lv_requiredRewardArray;

    int lv_requiredRewardCount;

    text lv_mountName;

    string lv_mountID;

    string lv_mountModel;

    string lv_mountActor;

    fixed lv_mountModelScale;

    fixed lv_mountModelWalkAnimMoveSpeed;

    string lv_mountPoseAnimGroup;

    string lv_mountPoseAnimGroupStatus;

    bool lv_noAttachedMountModel;

    string[libCore_gv_dataMountsMaxActorMessageCount + 1] lv_actorMessageArray;

    int lv_actorMessageCount;

    string lv_mountSound;

    string lv_dismountSound;

    string lv_loopingSound;

    string lv_movingSound;

    string lv_stationarySound;

    string lv_moveStartSound;

    string lv_moveStopSound;

    string lv_turboSound;

    string lv_category;

    bool lv_isMorphMount;

    string lv_mountUpFXActor;

    string lv_dismountFXActor;

};



struct libCore_gs_SkinData {

    text lv_skinName;

    string lv_skinID;

    string[libCore_gv_data_MaxRequiredRewards_C + 1] lv_requiredRewardArray;

    int lv_requiredRewardCount;

    string[libCore_gv_dataSkinsMaxActorMessageCount + 1] lv_actorMessageArray;

    int lv_actorMessageCount;

    int lv_allowedMountCategoryCount;

    string[libCore_gv_data_MaxSkinAllowedMountCategories_C + 1] lv_allowedMountCategories;

};



struct libCore_gs_TalentTier {

    int lv_level;

    int lv_tierType;

};



struct libCore_gs_TalentAbilityModificationData {

    int lv_changeType;

    int lv_catalog;

    string lv_entry;

    string lv_field;

    bool lv_fieldIsInteger;

    fixed lv_value;

    string lv_stringReplacementValue;

    string lv_catalogReplaceFrom;

    string lv_catalogChangeTo;

};



struct libCore_gs_TalentData {

    string lv_talentCatalogLink;

    int lv_totalModifications;

    libCore_gs_TalentAbilityModificationData[libCore_gv_talents_MaxModificationsPerTalent_C + 1] lv_abilityModificationData;

    int lv_behaviorCount;

    string[libCore_gv_talents_MaxBehaviorsPerTalent_C + 1] lv_behaviors;

};



struct libCore_gs_TalentChoice {

    int lv_selection;

    int lv_numberOfTalentsForThisTier;

    libCore_gs_TalentData[libCore_gv_talents_MaxTalentsPerTier_C + 1] lv_talentData;

};



struct libCore_gs_AutoRevealerData {

    revealer[64] lv_revealers;

    region[64] lv_triggeringRegions;

    int[64] lv_triggeringPlayers;

    int lv_count;

};



// Variable Declarations

bool libCore_gv_dEBUGDebuggingEnabled;

bool libCore_gv_dEBUGGameIsOnline;

bool libCore_gv_dEBUGDeathRecapEnabled;

bool libCore_gv_dEBUGPingLimitEnabled;

bool libCore_gv_dEBUGSoloXPOn;

int libCore_gv_sYSGameMode;

bool libCore_gv_sYSIsBrawlGame;

bool libCore_gv_sYSStartGame;

bool libCore_gv_sYSDisplayIntroCutscene;

bool libCore_gv_sYSTowns;

bool libCore_gv_sYSMinionAI;

bool libCore_gv_sYSMinionSpawningOn;

bool libCore_gv_sYSCustomMinionsEnabled;

bool libCore_gv_sYSTalentsOn;

bool libCore_gv_sYSTowerAI;

bool libCore_gv_sYSJungleCreepCamps;

bool libCore_gv_sYSJungleWatchTowers;

bool libCore_gv_sYSUseEncouragementPanel;

bool libCore_gv_sYSDataMiningListenForData;

fixed libCore_gv_sYSDeathTimerCap;

int libCore_gv_sYSHeroStartLevel;

bool libCore_gv_sYSXPOn;

bool libCore_gv_tUTTalentsAutobuyOn;

string libCore_gv_mAPMapStringID;

bool libCore_gv_mAPUsesCirclingAI;

int libCore_gv_mAPPathNodesBeforeLooping;

string libCore_gv_mAPMapImage;

string libCore_gv_mAPMapTileset;

string libCore_gv_mAPMapLight;

string[libCore_gv_maxMapSoundtracks_C + 1] libCore_gv_mAPMapSoundtrack;

string libCore_gv_mAPMapAmbience;

region libCore_gv_mAPOrderBaseRegion;

region libCore_gv_mAPChaosBaseRegion;

region libCore_gv_mAPFlyerOutOfBoundsRegion;

region libCore_gv_mAPExploredRegion;

int libCore_gv_dataAnnouncerVOExtraAnnouncerEventsIndex;

libCore_gs_AnnouncerVODataField[libCore_gv_dataAnnouncerVOMaxNumberOfAnnouncerEvents + 1] libCore_gv_dataAnnouncerVODataFieldMap;

libCore_gs_AnnouncerVOPack[libCore_gv_dataAnnouncerVONumberOfAnnouncerPacks + 1] libCore_gv_dataAnnouncerVOPacks;

color libCore_gv_cOLORPlayerColor;

color libCore_gv_cOLORAllyColor;

color libCore_gv_cOLOREnemyColor;

color libCore_gv_cOLORNeutralColor;

color libCore_gv_cOLORJungleCreepColor;

fixed libCore_gv_bALFaerieDragonFaerieDustHealPercentage;

fixed libCore_gv_bALOpenTheGatesDelay;

int libCore_gv_dataNumberOfTalentsWithCatalogChanges;

int libCore_gv_dataHeroesNumberOfHeroes;

string libCore_gv_heroes_RandomHeroID;

string libCore_gv_heroes_RandomSkinID;

string libCore_gv_heroes_RandomMountID;

libCore_gs_ManualSpawnHero[libCore_gv_dataHeroesManualSpawnHeroesCount + 1] libCore_gv_dataHeroesManualSpawnHeroIDs;

string[libCore_gv_dataHeroVOMaxNumberOfHeroVOEvents + 1] libCore_gv_dataHeroVODataFieldMap;

libCore_gs_HeroVO[libCore_gv_bALMaxPlayers + 1] libCore_gv_dataHeroVO;

int libCore_gv_loot_SprayCount;

int libCore_gv_loot_BannerCount;

int libCore_gv_loot_AnnouncerPackCount;

int libCore_gv_loot_VoiceLineCount;

fixed libCore_gv_bALMinionWaveInterval;

fixed[libCore_gv_bALMaxTeams + 1] libCore_gv_bALMinionTeamSpawnDelay;

fixed libCore_gv_bALMinionScalingTimerDuration;

libCore_gs_MinionData[libCore_gv_dataMinionTypeCount + 1] libCore_gv_dataMinionData;

libCore_gs_MinionWaveComposition[libCore_gv_dataMinionWaveCompositionMaxCount + 1] libCore_gv_dataMinionWaveCompositions;

int libCore_gv_dataMountsMountCount;

playergroup libCore_gv_allHeroPlayersPlusObserver;

playergroup libCore_gv_activeHumanPlayers;

playergroup libCore_gv_nPCPlayers;

playergroup[libCore_gv_bALMaxEnginePlayerCount + 1] libCore_gv_playerGroupFromPlayer;

fixed libCore_gv_bALCancelDelay;

fixed libCore_gv_bALXPRadius;

fixed libCore_gv_bALHeroKillCreditTimeWindow;

fixed[libCore_gv_bALMaxLevel + 1] libCore_gv_bALDeathTimes;

fixed libCore_gv_bALMaxDeathTime;

fixed libCore_gv_bALDeathTimeOverride;

fixed libCore_gv_bALDeathTimeScaler;

bool libCore_gv_brettTimersEnabled;

fixed libCore_gv_brettTimersDeathModifier;

fixed libCore_gv_brettTimersKillModifier;

fixed libCore_gv_brettTimersTakedownModifier;

fixed libCore_gv_brettTimersMinimumTimer;

fixed libCore_gv_brettTimersMaximumTimer;

trigger[libCore_gv_segregationTriggerTypesMax + 1][libCore_gv_segregationTriggerCountPerType + 1] libCore_gv_segregationTriggers;

int libCore_gv_segTriggerPlayer;

unit libCore_gv_segTriggerUnit;

point libCore_gv_segTriggerPoint;

int libCore_gv_segTriggerIndex;

int libCore_gv_dataSkinsSkinCount;

fixed libCore_gv_talents_RelentlessCCReduction75_C;

fixed[libCore_gv_bALMaxTeams + 1] libCore_gv_data_XP_TrickleTotalTownHallMod;

fixed libCore_gv_data_XP_HeroValuePerLevel_C;

fixed[libCore_gv_bALMaxTeams + 1] libCore_gv_data_XP_HeroXPModifier;

fixed[libCore_gv_bALMaxTeams + 1] libCore_gv_data_XP_MinionXPModifier;

fixed libCore_gv_data_XP_CatchUpXPBonusScaler;

fixed libCore_gv_data_XP_CatchUpXPPunishmentScaler;

bool libCore_gv_dataXPGranularBountyXPMathDisplayEnabled;

fixed[libCore_gv_bALMaxLevel + 1] libCore_gv_dataXPLevelXPValues;

fixed libCore_gv_dataXPBrawlMetaXPExpectedDuration;

fixed libCore_gv_dataXPBrawlMetaXPMaximumDuration;

fixed[libCore_gv_data_XP_BrawlMetaXPTableSize_C + 1] libCore_gv_dataXPBrawlMetaXPValues;

bool libCore_gv_HearthstoneAbilityDisabled;

bool libCore_gv_dEBUGErrorDuringInitialization;

int libCore_gv_metagame_DefaultRotationSlots_C;

unitfilter libCore_gv_filtersAlly;

unitfilter libCore_gv_filtersEnemy;

unitfilter libCore_gv_filtersVisible;

unitfilter libCore_gv_filtersNoMinionAggro;

unitfilter libCore_gv_filtersIgnoredByTargetingAI;

unitfilter libCore_gv_filtersHeroic;

unitfilter libCore_gv_filtersHeroicjustexcludingCloakedandDead;

unitfilter libCore_gv_filtersHeroicjustexcludingMissile;

unitfilter libCore_gv_filtersHeroicjustexcludingHallucination;

unitfilter libCore_gv_filtersHeroicAlly;

unitfilter libCore_gv_filtersHeroicAllyandnotHallucination;

unitfilter libCore_gv_filtersHeroicAllyandnotHallucinationHoverorBenign;

unitfilter libCore_gv_filtersHeroicAllyandnotImmuneToFriendlyAbilitiesorBenign;

unitfilter libCore_gv_filtersHeroicAllyorPlayer;

unitfilter libCore_gv_filtersHeroicAllyorPlayerandnotHallucinationorBenign;

unitfilter libCore_gv_filtersHeroicAllyorPlayerandnotHover;

unitfilter libCore_gv_filtersHeroicAllyorPlayerandnotHoverorStasis;

unitfilter libCore_gv_filtersHeroicAllyorPlayerandnotStasis;

unitfilter libCore_gv_filtersHeroicEnemy;

unitfilter libCore_gv_filtersHeroicEnemyorNeutral;

unitfilter libCore_gv_filtersHeroicEnemyandnotHallucination;

unitfilter libCore_gv_filtersHeroicandnotBenign;

unitfilter libCore_gv_filtersHeroicandnotBenignInvulnerableorStasis;

unitfilter libCore_gv_filtersHeroicandnotCloaked;

unitfilter libCore_gv_filtersHeroicandnotHallucination;

unitfilter libCore_gv_filtersHeroicandnotInvulnerable;

unitfilter libCore_gv_filtersHeroicandnotInvulnerableorStasis;

unitfilter libCore_gv_filtersHeroicandnotPlayer;

unitfilter libCore_gv_filtersHeroicandnotStasis;

unitfilter libCore_gv_filtersMinionsAllLaners;

unitfilter libCore_gv_filtersMinionsTownMinions;

unitfilter libCore_gv_filtersMercLaner;

unitfilter libCore_gv_filtersMercDefender;

unitfilter libCore_gv_filtersMapBosses;

unitfilter libCore_gv_filtersMapCreatures;

unitfilter libCore_gv_filtersStructure;

unitfilter libCore_gv_filtersSummoned;

int libCore_gv_zS_SendTransmissionCampaignIndex;

int libCore_gv_zS_SendTransmissionCampaignPortrait;

unit libCore_gv_zS_SendTransmissionCampaignSpeaker;

trigger libCore_gv_zS_SendTransmissionCampaignTrigger;

int libCore_gv_zS_SendTransmissionCampaignPlayingTick;

bool libCore_gv_zS_SendTransmissionCampaignChatBubbleOn;

bool[11] libCore_gv__ConvoMultipleFinished;

libCore_gs_AutoRevealerData libCore_gv_autoRevealers;



// Function Declarations

int libCore_gf_CustomValueIndex (int lp_indexName);

void libCore_gf_DataAnnouncerVOMapDataField (int lp_event, string lp_arrayIndexName, bool lp_playAtGameEnd);

int libCore_gf_DataAnnouncerVOAddOutsideMapDataField (string lp_soundString, bool lp_playAtGameEnd);

void libCore_gf_DataInitializeAnnouncerVOPackSingle (int lp_iDPack, string lp_stringID, text lp_name);

void libCore_gf_DataAnnouncerVOSetAnnouncerPackForPlayerGroup (playergroup lp_playerGroup, int lp_announcerPack);

void libCore_gf_DataAnnouncerVOSetDefaultAnnouncerForPlayerGroup (playergroup lp_playerGroup, string lp_announcerPackLink);

void libCore_gf_UpdateTassadarAbilityStats (unit lp_tassadar);

void libCore_gf_DataHeroesAddManualSpawnHero (int lp_heroID, bool lp_isAttachedHero, bool lp_isCoreHero);

int libCore_gf_GetHeroTotalCount ();

string libCore_gf_GetHeroFromUnitType (string lp_unitType);

string libCore_gf_GetHeroFromIndex (int lp_index);

int libCore_gf_GetIndexFromHero (string lp_hero);

void libCore_gf_DataHeroesAddSkinPlusVariationsToHero (int lp_heroIndex, string lp_skinLink);

void libCore_gf_DataHeroesAddHeroSkinIDToDataTable (int lp_heroIndex, string lp_skinLink);

void libCore_gf_DataHeroesAddHeroIDToDataTable (int lp_heroIndex, string lp_heroLink);

void libCore_gf_DataClearHeroDataAtIndex (int lp_index);

void libCore_gf_DataLoadHeroDataIntoIndex (string lp_heroLink, int lp_index);

void libCore_gf_DataHeroVOMapDataField (int lp_event, string lp_arrayIndexName);

void libCore_gf_DataHeroVOReloadHeroVODataForHero (int lp_player);

string libCore_gf_GetSprayFromIndex (int lp_index);

void libCore_gf_DataLootContentLoadSprayDataIntoIndex (string lp_sprayLink, int lp_playerIndex);

void libCore_gf_DataLootContentClearSprayDataAtIndex (int lp_playerIndex);

string libCore_gf_GetBannerFromIndex (int lp_index);

void libCore_gf_DataLootContentLoadBannerDataIntoIndex (string lp_bannerLink, int lp_playerIndex);

void libCore_gf_DataLootContentClearBannerDataAtIndex (int lp_playerIndex);

string libCore_gf_GetAnnouncerPackFromIndex (int lp_index);

void libCore_gf_DataLootContentLoadAnnouncerPackDataIntoIndex (string lp_announcerPackLink, int lp_playerIndex, bool lp_announcerIsPlayerAssigned);

void libCore_gf_DataLootContentClearAnnouncerPackDataAtIndex (int lp_playerIndex);

string libCore_gf_GetVoiceLineFromHeroIndex (int lp_voiceLineIndex, int lp_heroIndex);

string libCore_gf_GetDefaultVoiceLineForPlayer (int lp_player);

int libCore_gf_VoiceLineCountFromHeroIndex (int lp_heroIndex);

void libCore_gf_DataLootContentLoadVoiceLineDataIntoIndex (string lp_voiceLine, int lp_playerIndex);

void libCore_gf_DataLootContentClearVoiceLineDataAtIndex (int lp_playerIndex);

string libCore_gf_DataMinionUnitTypeFromPreset (int lp_type);

bool libCore_gf_DataMinionTypeIsCatapult (int lp_minionType);

void libCore_gf_DataInitializeScalingDataForMinion (string lp_unitType, int lp_minionType);

string libCore_gf_DataSkinsGetMountLinkFromMountIndex (int lp_index);

int libCore_gf_DataMountGetMountConfigIndexFromMountLink (string lp_mountLink);

int libCore_gf_DataMountGetMountIndexFromMountLink (string lp_mountLink);

bool libCore_gf_DataMountMountIsValidForHeroSkin (int lp_heroIndex, int lp_skinIndex, int lp_mountIndex);

fixed libCore_gf_DataMountGetMountModelScaleAtConfigIndex (int lp_catalogIndex);

fixed libCore_gf_DataMountGetMountWalkAnimSpeedAtConfigIndex (int lp_catalogIndex);

string libCore_gf_DataMountGetMountPoseAnimGroupAtConfigIndex (int lp_catalogIndex);

void libCore_gf_DataMountsClearMountDataAtIndex (int lp_index);

void libCore_gf_DataMountsLoadMountDataIntoIndex (string lp_mountLink, fixed lp_mountModelScale, fixed lp_walkAnimMoveSpeed, string lp_poseAnimGroup, int lp_index);

void libCore_gf_DataMountsAddMountIDToDataTable (string lp_mountLink, int lp_catalogIndex, int lp_variationRefIndex);

void libCore_gf_SendMountActorMessagesToActor (int lp_mountIndex, actor lp_actor);

fixed libCore_gf_HeroDeathTime (int lp_player, int lp_level);

void libCore_gf_RegisterSegregationTrigger (int lp_type, trigger lp_trigger);

void libCore_gf_CallRegisteredSegregationTriggers (int lp_type);

string libCore_gf_DataSkinsGetSkinLinkFromSkinCatalogIndex (int lp_index);

int libCore_gf_DataSkinsGetSkinIndexFromSkinLink (string lp_skinLink);

bool libCore_gf_DataSkinsIsSkinValidForHero (int lp_heroIndex, int lp_skinIndex);

void libCore_gf_DataClearSkinDataAtIndex (int lp_index);

void libCore_gf_DataLoadSkinDataIntoIndex (string lp_skinLink, int lp_index);

void libCore_gf_SendPlayersSkinActorMessagesToUnit (int lp_player, unit lp_unit);

void libCore_gf_SendSkinActorMessagesToUnit (string lp_skin, unit lp_unit);

void libCore_gf_SetTalentsTierLevels (int lp_player);

void libCore_gf_SetHeroicTalentTier (int lp_player);

int libCore_gf_DataXPLevelGapBetweenHeroes (int lp_awardPlayer, unit lp_deadUnit);

fixed libCore_gf_DataXPGetMoreGranularBountyXPModifier (unit lp_deadHero, unit lp_playerHero);

fixed libCore_gf_DataXPGetValueCoefficientForUnit (unit lp_deadUnit);

fixed libCore_gf_DataXPXPForHero (int lp_awardPlayer, unit lp_deadUnit);

fixed libCore_gf_DataXPXPForMinion (fixed lp_baseXPValue, int lp_awardPlayer, unit lp_deadUnit);

void libCore_gf_IncludeModInitialization (trigger t);

void libCore_gf_SendEventIncludeModInitialization ();

bool libCore_gf_MetagameIsHeroInRotationForPlayer (int lp_player, int lp_heroIndex);

bool libCore_gf_MetagameIsHeroInFreebieSet (int lp_heroIndex);

bool libCore_gf_MetagameDoesPlayerHaveAccessToHero (int lp_player, int lp_heroIndex);

bool libCore_gf_MetagameDoesPlayerHaveAccessToSkin (int lp_player, int lp_skinIndex);

bool libCore_gf_MetagameDoesPlayerHaveAccessToMount (int lp_player, int lp_mountIndex);

void libCore_gf_ExecuteEffectAtRandomPointsWithinCircle (string lp_effect, unit lp_casterUnit, int lp_numberOfExecutions, fixed lp_radius, point lp_centerPoint, bool lp_pointsMustBePathable);

fixed libCore_gf_GetWeaponDamageForUnit (unit lp_unit);

fixed libCore_gf_GetWeaponAttackSpeedForUnit (unit lp_unit);

int libCore_gf_CalculateGameLoopsFromReal (fixed lp_duration);

text libCore_gf_ConvertPointToText (point lp_point);

string libCore_gf_GetTimeStamp (fixed lp_time);

point libCore_gf_AdvancePointinDirection (point lp_point, point lp_dir, fixed lp_distance);

color libCore_gf_GetAllianceColorFromGameUIData (string lp_overrideColor, int lp_player);

int libCore_gf_GetNumberOfRanksOfAnAbilityAHeroHasLearned (unit lp_heroUnit, int lp_abilIndex);

string libCore_gf_GetModelLinkForUnitType (string lp_unitType);

int libCore_gf_GetHeroIndexForUnitType (string lp_heroType);

int libCore_gf_GetAbilityIndexForAbilityLink (int lp_heroIndex, string lp_abilLink);

bool libCore_gf_TestLocationClosertoFactionSide (point lp_location, int lp_faction, fixed lp_modifier);

fixed libCore_gf_StandalizedAngle (fixed lp_angle);

fixed libCore_gf_StandalizedAngleDifference (fixed lp_angle1, fixed lp_angle2);

bool libCore_gf_IsAbilityOnCooldown (unit lp_unit, string lp_ability);

fixed libCore_gf_GetTotalHPForUnitIncludingAllShields (unit lp_unit);

fixed libCore_gf_GetTotalXPForLevel (int lp_level);

int libCore_gf_GetPlayerIDfromTeamSlot (int lp_slot, int lp_team);

void libCore_gf_SendActorMessageToDoodadsInRegion (string lp_message, region lp_target, string lp_doodadType);

void libCore_gf_ClearAllNonpermanentBehaviorsonUnit (unit lp_targetUnit);

bool libCore_gf_LoadBankValueIfExistsAsBoolean (bool lp_variable, bank lp_bank, string lp_key, string lp_section);

int libCore_gf_LoadBankValueIfExistsAsInteger (int lp_variable, bank lp_bank, string lp_key, string lp_section);

fixed libCore_gf_LoadBankValueIfExistsAsReal (fixed lp_variable, bank lp_bank, string lp_key, string lp_section);

string libCore_gf_LoadBankValueIfExistsAsString (string lp_variable, bank lp_bank, string lp_key, string lp_section);

void libCore_gf_CreateMinimapPingStorm (playergroup lp_players, string lp_pingData, point lp_position, color lp_color, fixed lp_duration);

void libCore_gf_CreateMinimapPingStormWithPlayerId (playergroup lp_players, string lp_pingData, point lp_position, color lp_color, fixed lp_duration, int lp_playerId);

string libCore_gf_ZS_ReticleModelOfStyle (int lp_type, int lp_size);

string libCore_gf_ZS_ReticleTextFontOfStyle (int lp_type);

void libCore_gf__CreateReticleEffect (int lp_type, int lp_size, point lp_location);

void libCore_gf__AttachReticleEffect (int lp_type, int lp_size, unit lp_target, string lp_attachPoint);

void libCore_gf_CreateReticleEffectAndTextTagAtPoint (int lp_type, int lp_size, text lp_text, point lp_location);

void libCore_gf_AttachTextTagOnUnit (int lp_type, text lp_text, unit lp_target, string lp_attachPoint);

void libCore_gf_AttachReticleEffectAndTextTagOnUnit (int lp_type, int lp_size, text lp_text, unit lp_target, string lp_attachPoint);

string libCore_gf__UnitDataName (int lp_type, unit lp_unit, int lp_index);

void libCore_gf_StoreActorForUnit (unit lp_unit, int lp_index, actor lp_actor);

actor libCore_gf_ActorStoredForUnit (unit lp_unit, int lp_index);

void libCore_gf_StoreTextTagForUnit (unit lp_unit, int lp_index, int lp_textTag);

int libCore_gf_TextTagStoredForUnit (unit lp_unit, int lp_index);

void libCore_gf_StorePointForUnit (unit lp_unit, int lp_index, point lp_point);

point libCore_gf_PointStoredForUnit (unit lp_unit, int lp_index);

void libCore_gf_StoreRegionForUnit (unit lp_unit, int lp_index, region lp_region);

region libCore_gf_RegionStoredForUnit (unit lp_unit, int lp_index);

void libCore_gf_StorePingForUnit (unit lp_unit, int lp_index, int lp_ping);

int libCore_gf_PingStoredForUnit (unit lp_unit, int lp_index);

void libCore_gf_StoreIntegerForUnit (unit lp_unit, int lp_index, int lp_value);

int libCore_gf_IntegerStoredForUnit (unit lp_unit, int lp_index);

void libCore_gf_StoreUnitForUnit (unit lp_unit, int lp_index, unit lp_value);

unit libCore_gf_UnitStoredForUnit (unit lp_unit, int lp_index);

void libCore_gf_StoreUnitGroupForUnit (unit lp_unit, int lp_index, unitgroup lp_value);

unitgroup libCore_gf_UnitGroupStoredForUnit (unit lp_unit, int lp_index);

void libCore_gf_PlayTransmissionCueSound (playergroup lp_playerGroup);

void libCore_gf_SetAllSoundChannelVolumesStandardTiming (int lp_mode, playergroup lp_players);

bool libCore_gf_PlayerGroupOverlap (playergroup lp_group1, playergroup lp_group2);

int libCore_gf_TransmissionOwningPlayerFromPlayerGroup (playergroup lp_toPlayers);

void libCore_gf_SendTransmissionCampaign (unit lp_unit, string lp_conversationLine, int lp_durationType, fixed lp_duration, bool lp_waitUntilDone, int lp_keepPortraitVisible, int lp_cueSoundOption);

void libCore_gf_SendTransmissionCampaignPlaceHolder (unit lp_unit, string lp_model, text lp_speaker, text lp_message, fixed lp_duration, bool lp_waitUntilDone, int lp_keepPortraitVisible2, int lp_cueSoundOption2);

void libCore_gf_SendTransmissionToPlayerStorm (unit lp_unit, string lp_conversationLine, int lp_durationType, fixed lp_duration, bool lp_waitUntilDone, int lp_keepPortraitVisible, int lp_cueSoundOption, int lp_player);

void libCore_gf_TurnTransmissionOptionsOnOffCampaign (int lp_option, bool lp_onOff);

void libCore_gf_ZS_SendTransmissionCampaignInternal (bool lp_isPlaceHolder, unit lp_unit, string lp_model, soundlink lp_sound, text lp_speaker, text lp_message, int lp_durationType, fixed lp_duration, bool lp_waitUntilDone, int lp_keepPortraitVisible, int lp_cueSoundOption, string lp_portraitActor);

void libCore_gf_ZS_SendTransmissionCampaignCleanUp (int lp_transmission, int lp_keepPortraitVisible, int lp_portrait, actor lp_talkIcon, actor lp_talkRing, int lp_ping, int lp_localIndex);

void libCore_gf_ZS_SendTransmissionCampaignInternal2 (bool lp_isPlaceHolder, unit lp_unit, string lp_model, soundlink lp_sound, text lp_speaker, text lp_message, int lp_durationType, fixed lp_duration, bool lp_waitUntilDone, int lp_keepPortraitVisible, int lp_cueSoundOption, string lp_portraitActor, int lp_player);

void libCore_gf_ZS_SendTransmissionCampaignCleanUp2 (int lp_transmission, int lp_keepPortraitVisible, int lp_portrait, actor lp_talkIcon, actor lp_talkRing, int lp_ping, int lp_localIndex, int lp_player);

void libCore_gf_HideCampaignTransmissionPortrait ();

fixed libCore_gf_ConvesationLineDuration (string lp_conversationLine);

void libCore_gf_PlayConvoMultiple (string lp_convo1, playergroup lp_forPlayers1, string lp_convo2, playergroup lp_forPlayers2, string lp_convo3, playergroup lp_forPlayers3, string lp_convo4, playergroup lp_forPlayers4, string lp_convo5, playergroup lp_forPlayers5, int lp_skipOptions);

void libCore_gf__PlayConvoMultipleSingle (int lp_convoMultipleIndex, string lp_dataConvo, int lp_skipOptions, playergroup lp_forPlayers);

string libCore_gf_ConvoLineName (int lp_index);

void libCore_gf_WaitForConversationToFinish ();

void libCore_gf_AutoRevealRegion (region lp_visibilityRegion, region lp_triggeringRegion, int lp_player);



// Trigger Declarations

trigger libCore_gt_IncludeCore;

trigger libCore_gt_DataAnnouncerVOMapDataFields;

trigger libCore_gt_DataHeroesHeroData;

trigger libCore_gt_DataHeroVOMapDataFields;

trigger libCore_gt_DataInitializeSprayData;

trigger libCore_gt_DataInitializeBannerData;

trigger libCore_gt_DataInitializeAnnouncerPackData;

trigger libCore_gt_DataMinionScalingData;

trigger libCore_gt_DataMinionWaveCompositionData;

trigger libCore_gt_DataInitializeMountData;

trigger libCore_gt_DataDeathTimes;

trigger libCore_gt_BrettTimersSetVariables;

trigger libCore_gt_BrettTimersCheckDeathTimerMod;

trigger libCore_gt_BrettTimersTakedownParticipation;

trigger libCore_gt_DataInitializeSkinData;

trigger libCore_gt_DataEnableGranularBountyXPMathDisplay;

trigger libCore_gt_DataXPInitializeLevelXPValues;

trigger libCore_gt_DataXPInitializeBrawlMetaXPValues;

trigger libCore_gt_InitializeStormMod;

trigger libCore_gt_DEBUGInitializeDataMiningAndDebugOutput;

trigger libCore_gt_InitializeData;

trigger libCore_gt_InitializeMiscStuff;

trigger libCore_gt__SendTransmissionTick;

trigger libCore_gt_AutoRevealRegionController;



// Library Initialization

void libCore_InitVariables ();