include "TriggerLibs/HeroesLib"



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

// Library: Dehaka

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

// Constants

const fixed libHDEH_gv_heroDehakaAdaptationBaseHealMod = 1.0;

const fixed libHDEH_gv_heroDehakaAdaptationTalentedHealMod = 2.0;

const int libHDEH_gv_heroDehakaEssenceCollectionMaxStackBase = 50;

const int libHDEH_gv_heroDehakaEssenceCollectionHeroTakedownCount = 10;

const int libHDEH_gv_heroDehakaEssenceCollectionHeroTakedownCountHeroStalker = 20;

const int libHDEH_gv_heroDehakaEssenceCollectionNPCTakedownCount = 2;

const int libHDEH_gv_heroDehakaEssenceCollectionNPCTakedownCountOneWhoCollects = 3;

const int libHDEH_gv_heroDehakaTalentEnhancedAgilityEssencePerStack = 50;

const int libHDEH_gv_heroDehakaTalentTissueRegenerationEssencePerStack = 50;



// Variable Declarations

int libHDEH_gv_heroDehakaTriggerRegistrationVariable;

timer[libCore_gv_bALMaxPlayers + 1] libHDEH_gv_brushStalkerPingTextLockoutTimer;

int[libCore_gv_bALMaxPlayers + 1] libHDEH_gv_brushStalkerPings;

fixed[libCore_gv_bALMaxPlayers + 1] libHDEH_gv_heroDehakaAdaptationCombinedHeal;

fixed[libCore_gv_bALMaxPlayers + 1] libHDEH_gv_heroDehakaAdaptationHealPreviewCombinedDamage;

int[libCore_gv_bALMaxPlayers + 1] libHDEH_gv_heroDehakaEssenceCollectionMaxStackCount;

unitgroup[libCore_gv_bALMaxPlayers + 1] libHDEH_gv_heroDehakaIsolationBackupVisionGroups;

int libHDEH_gv_heroDehakaActiveIsolationTargets;

int libHDEH_gv_heroDehakaTalentEnhancedAgilityMaxTokenStackCount;

int libHDEH_gv_heroDehakaTalentTissueRegenerationMaxTokenStackCount;

int libHDEH_gv_heroDehakaTalentEssenceDevourerMaxTokenCount;



// Function Declarations

void libHDEH_gf_HeroDehakaIncrementHeroCountFunction ();

void libHDEH_gf_HeroDehakaDecrementHeroCountFunction ();

void libHDEH_gf_HeroDehakaTalentEnhancedAgilityAddEssenceForPlayer (int lp_playerNumber, int lp_essenceCollectedAmount);

void libHDEH_gf_HeroDehakaTalentTissueRegenerationAddEssenceForPlayer (int lp_playerNumber, int lp_essenceCollectedAmount);



// Trigger Declarations

trigger libHDEH_gt_HeroDehakaBurrowOverlayOn;

trigger libHDEH_gt_HeroDehakaBurrowOverlayOff;

trigger libHDEH_gt_HeroDehakaBrushStalkerStart;

trigger libHDEH_gt_HeroDehakaBrushStalkerEnd;

trigger libHDEH_gt_HeroDehakaBrushStalkerPing;

trigger libHDEH_gt_HeroDehakaAdaptationDamageTracker;

trigger libHDEH_gt_HeroDehakaAdaptationHeal;

trigger libHDEH_gt_HeroDehakaAdaptationHealPreviewDamageTracker;

trigger libHDEH_gt_HeroDehakaAdaptationHealPreviewCatalog;

trigger libHDEH_gt_HeroDehakaEssenceCollectionHeal;

trigger libHDEH_gt_HeroDehakaEssenceCollectionHeroTakedown;

trigger libHDEH_gt_HeroDehakaEssenceCollectionNPCKill;

trigger libHDEH_gt_HeroDehakaEssenceCollectionEssenceClawsProc;

trigger libHDEH_gt_HeroDehakaMultiHeroIsolationController;

trigger libHDEH_gt_HeroDehakaApplyAllyVisionSuppression;

trigger libHDEH_gt_HeroDehakaRemoveAllyVisionSuppression;

trigger libHDEH_gt_HeroDehakaApplyDragCameraLock;

trigger libHDEH_gt_HeroDehakaDragMovespeedUpdate;

trigger libHDEH_gt_HeroDehakaTalentResetClearStacks;

trigger libHDEH_gt_HeroDehakaTalentEssenceDevourer;

trigger libHDEH_gt_HeroDehakaHeroStalkerTalentDarkSwarmProc;



// Library Initialization

void libHDEH_InitVariables ();