include "TriggerLibs/HeroesLib"
//--------------------------------------------------------------------------------------------------
// Library: Cho'Gall
//--------------------------------------------------------------------------------------------------
// Constants
const fixed libHCHO_gv_shadowBoltVolleyTurnDelay = 0.2;
const fixed libHCHO_gv_heroChoHourofTwilightTalentDeathTimerReductionScale = 0.5;
const fixed libHCHO_gv_heroGallPsychoticBreakRespawnTimerScale = -6.0;
const fixed libHCHO_gv_heroGallPsychoticBreakRespawnMinimumTimer = 10.0;
// Variable Declarations
int libHCHO_gv_heroChoGallTriggerRegistrationVariable;
int libHCHO_gv_shadowBoltVolleyActiveCasters;
point[libCore_gv_bALMaxPlayers + 1] libHCHO_gv_shadowBoltVolleyMousePosition;
fixed[libCore_gv_bALMaxPlayers + 1] libHCHO_gv_shadowBoltVolleyMouseAngle;
bool[libCore_gv_bALMaxPlayers + 1] libHCHO_gv_shadowBoltVolleyFlag;
point[libCore_gv_bALMaxPlayers + 1] libHCHO_gv_surgingFistMousePosition;
bool[libCore_gv_bALMaxPlayers + 1] libHCHO_gv_surgingFistActiveFlag;
int libHCHO_gv_surgingFistActiveCasters;
bool libHCHO_gv_tryMeChoGallIsSwapping;
bool libHCHO_gv_tryMeChoGallAIRequiresRestart;
int libHCHO_gv_tryMe_ChoGall_PairedPlayer_C;
int[8] libHCHO_gv_choGallSwapandRespawnSavedTalents;
// Function Declarations
void libHCHO_gf_HeroChoGallIncrementHeroCountFunction ();
void libHCHO_gf_HeroChoGallDecrementHeroCountFunction ();
void libHCHO_gf_GallRuneBombBeahviorTimerController (int lp_PlayerNumber, unit lp_OrbUnit);
void libHCHO_gf_ChoGallSwapandRespawnApplySavedTalents (int lp_playerID);
void libHCHO_gf_HeroChogallGallFollow (unit lp_gallUnit);
void libHCHO_gf_HeroGallStartAFKTimer (int lp_gallPlayer);
// Trigger Declarations
trigger libHCHO_gt_ForceIncludeDataMods;
trigger libHCHO_gt_ChoGallHearthstoneSpecialCase;
trigger libHCHO_gt_HeroGallShadowBoltVolleyCast;
trigger libHCHO_gt_HeroGallShadowBoltVolleyEnd;
trigger libHCHO_gt_HeroChoShadowBoltVolleyVehicleActorHook;
trigger libHCHO_gt_HeroGallShoveRootOn;
trigger libHCHO_gt_HeroGallShoveRootOff;
trigger libHCHO_gt_HeroChoHourofTwilightDeathTimerReduction;
trigger libHCHO_gt_HeroGallPsychoticBreakRespawnTimerAdjustmentBase;
trigger libHCHO_gt_HeroChoTheWillofChoHeroTakedownProc;
trigger libHCHO_gt_HeroChoTheWillofChoMinionTakedownProc;
trigger libHCHO_gt_HeroGallTheWillofGallTakedownProc;
trigger libHCHO_gt_HeroChoMoltenBlockOverlayOn;
trigger libHCHO_gt_HeroChoMoltenBlockOverlayOff;
trigger libHCHO_gt_HeroChoRuneBombRunicFeedbackDamageResponses;
trigger libHCHO_gt_HeroGallDreadOrbEnragedRegenerationDamageResponse;
trigger libHCHO_gt_SurgingFistFakeCastActivated;
trigger libHCHO_gt_SurgingFistMouseTracker;
trigger libHCHO_gt_SurgingFistExecuteChargetomouse;
trigger libHCHO_gt_HeroChoSurgingFistDistanceTracker;
trigger libHCHO_gt_SurgingFistRootsOnMonitor;
trigger libHCHO_gt_SurgingFistRootsOffMonitor;
trigger libHCHO_gt_GallRuneBombBehaviorTimerControllerTrigger;
trigger libHCHO_gt_ChoRuneBombSpawn;
trigger libHCHO_gt_GallRuneBombDetonationCooldownControl;
trigger libHCHO_gt_InitMiscModInitialization;
trigger libHCHO_gt_DEBUGChoGallVideoSwapCheat;
trigger libHCHO_gt_HeroChoGallTryMeModeSetLevelSpecialCase;
trigger libHCHO_gt_HeroChoGallSwapandRespawn;
trigger libHCHO_gt_HeroChogallChoSpawn;
trigger libHCHO_gt_HeroChogallGallSpawn;
trigger libHCHO_gt_HeroChogallChoSpawnedviaAbathurUltimateEvolution;
trigger libHCHO_gt_DEBUGShowGall;
trigger libHCHO_gt_DEBUGAIGall;
trigger libHCHO_gt_DEBUGSwapChoGallCheat;
trigger libHCHO_gt_CCRecognitionRoot;
trigger libHCHO_gt_CCRecognitionVoidPrisonStasisOverlay;
trigger libHCHO_gt_HeroChogallHauntedMinescameraplanechange;
trigger libHCHO_gt_HeroChogallChoDiesKillGall;
trigger libHCHO_gt_HeroChoGallChoRemovedRemoveGall;
trigger libHCHO_gt_HeroChogallChoRespawnsRespawnGall;
trigger libHCHO_gt_HeroChogallGallStunnedorSilencedStop;
trigger libHCHO_gt_HeroChogallGallAbilityPowerBehaviorForwardingOn;
trigger libHCHO_gt_HeroChogallGallAbilityPowerBehaviorForwardingOff;
trigger libHCHO_gt_HeroChogallStasisBehaviorForwarding;
trigger libHCHO_gt_HeroChogallMoltenBlock;
trigger libHCHO_gt_HeroChogallHealingFountainCooldownforGall;
trigger libHCHO_gt_HeroChogallChoEntersTransport;
trigger libHCHO_gt_HeroChogallChoExitsTransport;
trigger libHCHO_gt_HeroChogallVehicleStart;
trigger libHCHO_gt_HeroChogallVehicleStop;
trigger libHCHO_gt_HeroChoGallDeathRecapSpecialCaseforGallChoDies;
// Library Initialization
void libHCHO_InitVariables ();