include "TriggerLibs/HeroesLib"



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

// Library: Medivh

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

// Variable Declarations

int libHMDV_gv_heroMedivhTriggerRegistrationVariable;

unit[libCore_gv_bALMaxPlayers + 1] libHMDV_gv_medivhForceofWillCaster;

int[libCore_gv_bALMaxPlayers + 1] libHMDV_gv_medivhForceofWillCasterOwner;

playergroup[libCore_gv_bALMaxPlayers + 1] libHMDV_gv_medivhForceofWillPlayerGroup;

fixed libHMDV_gv_medivhForceOfWillBaseHealMod;

fixed libHMDV_gv_medivhForceOfWillReabsorptionTalentHealMod;



// Function Declarations

void libHMDV_gf_HeroMedivhRavenFamiliartCloakController (unit lp_owningUnit, unit lp_ravenUnit);

void libHMDV_gf_HeroMedivhIncrementHeroCountFunction ();

void libHMDV_gf_HeroMedivhDecrementHeroCountFunction ();

unitgroup libHMDV_gf_HeroAIMedivhFindPortalPair (int lp_player);



// Trigger Declarations

trigger libHMDV_gt_HeroMedivhRavenFamiliarSpawn;

trigger libHMDV_gt_HeroMedivhRavenFamiliarPostSpawnCloak;

trigger libHMDV_gt_HeroAIMedivhHasLanded;

trigger libHMDV_gt_HeroAIMedivhHasCastRavenForm;

trigger libHMDV_gt_HeroAIAIMedivhRegisterPortalCast;

trigger libHMDV_gt_HeroAIAIMedivhUnregisterPortal;

trigger libHMDV_gt_HeroMedivhLeyLineSealOverlayOn;

trigger libHMDV_gt_HeroMedivhLeyLineSealOverlayOff;

trigger libHMDV_gt_HeroMedivhPortalCameraPan;

trigger libHMDV_gt_HeroMedivhPortalPortalMasterySelectionClamping;

trigger libHMDV_gt_HeroMedivhPortalPortalMasteryMorphBackToMedivh;

trigger libHMDV_gt_HeroMedivhForceofWillBehaviorResponses;

trigger libHMDV_gt_HeroMedivhForceofWillRemoveEarly;

trigger libHMDV_gt_HeroMedivhTransformRavenAfterPortToTown;

trigger libHMDV_gt_HeroMedivhTransformRavenMountingSpecialCase;

trigger libHMDV_gt_HeroMedivhTransformSwapToMedivh;

trigger libHMDV_gt_HeroMedivhPortalMasteryCDR;



// Library Initialization

void libHMDV_InitVariables ();