include "TriggerLibs/HeroesLib"

include "TriggerLibs/GameLib"



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

// Library: Ragnaros

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

// Variable Declarations

unit[libCore_gv_bALMaxPlayers + 1] libHMaj_gv_ragnarosUnit;

unit[libCore_gv_bALMaxPlayers + 1] libHMaj_gv_ragnarosUnit2;

bool[libCore_gv_bALMaxPlayers + 1] libHMaj_gv_ragnarosSpawned;

int libHMaj_gv_heroRagnarosTriggerRegistrationVariable;

actor[libCore_gv_bALMaxPlayers + 1][libGame_gv_townMaxTownCount + 1] libHMaj_gv_heroRagnarosMoltenCoreMarkerActors;

int[libCore_gv_bALMaxPlayers + 1] libHMaj_gv_lavaWaveCurrentIndex;

int[libCore_gv_bALMaxPlayers + 1][3] libHMaj_gv_lavaWaveMiniMapPathId;

fixed libHMaj_gv_hero_Ragnaros_BlastWave_TemperedFlameMod_C;



// Function Declarations

void libHMaj_gf_HeroRagnarosIncrementHeroCountFunction ();

void libHMaj_gf_HeroRagnarosDecrementHeroCountFunction ();

void libHMaj_gf_HeroRagnarosLavaWaveLaneUnitAI (bool lp_belongsToOrder, int lp_player, int lp_directionInt, unit lp_laneUnit, int lp_lane, int lp_nextWaypoint, int lp_lastWaypoint);

void libHMaj_gf_HeroRagnarosLavaWaveMinimapPathSetup (bool lp_belongsToOrder, unit lp_lavaWaveUnit, int lp_currentLane, int lp_startingWaypoint, int lp_endingWaypoint, int lp_waypointDelta, int lp_player, int lp_lavaWaveIndex);

void libHMaj_gf_HeroRagnarosLavaWaveMinimapPathCleanup (int lp_player, int lp_lavaWaveIndex);



// Trigger Declarations

trigger libHMaj_gt_HeroRagnarosMoltenCore;

trigger libHMaj_gt_HeroRagnarosMoltenCoreEnd;

trigger libHMaj_gt_HeroRagnarosMoltenCoreUpdateDurationBar;

trigger libHMaj_gt_HeroRagnarosMoltenCoreCreateMarkers;

trigger libHMaj_gt_HeroRagnarosMoltenCoreDestroyMarkers;

trigger libHMaj_gt_HeroRagnarosMoltenCoreFullscreenOverlayOn;

trigger libHMaj_gt_HeroRagnarosMoltenCoreFullscreenOverlayOff;

trigger libHMaj_gt_HeroRagnarosMoltenCoreAbathurCloneSetCooldown;

trigger libHMaj_gt_HeroRagnarosBigRagHealthGlobeRedirect;

trigger libHMaj_gt_HeroRagnarosLavaWavePointTarget;

trigger libHMaj_gt_HeroRagnarosSubmergeFullscreenOverlayOn;

trigger libHMaj_gt_HeroRagnarosSubmergeFullscreenOverlayOff;

trigger libHMaj_gt_HeroRagnarosGainsHeroic;

trigger libHMaj_gt_HeroRagnarosEmpowerSulfurasCauterizeWounds;

trigger libHMaj_gt_HeroRagnarosEmpowerSulfurasResilientFlame;



// Library Initialization

void libHMaj_InitVariables ();