include "TriggerLibs/HeroesLib"
//--------------------------------------------------------------------------------------------------
// Library: Tracer
//--------------------------------------------------------------------------------------------------
// Constants
const int libTrac_gv_tracerRecallTrackCountMax = 8;
// Structures
struct libTrac_gs_MurkyUI {
int lv_tracerPulseBombFrame;
int lv_tracerStuckTextImage;
};
struct libTrac_gs_TracerRecallRecord {
point lv_position;
bool lv_positionPathable;
fixed lv_health;
int lv_tempTextTag;
unit lv_debugUnit;
};
// Variable Declarations
int libTrac_gv_heroTracerTriggerRegistrationVariable;
libTrac_gs_MurkyUI libTrac_gv_tracerUI;
unit[libCore_gv_bALMaxPlayers + 1] libTrac_gv_heroTracerCurrentAttackTarget;
unit[libCore_gv_bALMaxPlayers + 1] libTrac_gv_heroTracerFocusFireTarget;
int[libCore_gv_bALMaxPlayers + 1] libTrac_gv_heroTracerFocusFireTargetInteger;
bool libTrac_gv_tracerRecallDebugMode;
libTrac_gs_TracerRecallRecord[libCore_gv_bALMaxPlayers + 1][libTrac_gv_tracerRecallTrackCountMax + 1] libTrac_gv_tracerRecallRecordVariable;
unit[libCore_gv_bALMaxPlayers + 1] libTrac_gv_tracerRecallUnit;
// Function Declarations
void libTrac_gf_HeroTracerIncrementHeroCountFunction ();
void libTrac_gf_HeroTracerDecrementHeroCountFunction ();
int libTrac_gf_HeroTracerRecallDetermineIndex (int lp_player);
void libTrac_gf_HeroTracerResetAllRecallPointstoCurrentPosition (int lp_player, unit lp_tracer);
void libTrac_gf_HeroTracerCreateorUpdateAIRecallTrackerUnit (unit lp_tracerUnit);
// Trigger Declarations
trigger libTrac_gt_HeroTracerSpawned;
trigger libTrac_gt_HeroTracerHeroWeaponUIInitialize;
trigger libTrac_gt_HeroTracerPulseBombStuckOverlayOn;
trigger libTrac_gt_HeroTracerPulseBombStuckOverlayOff;
trigger libTrac_gt_HeroTracerCustomKillVO;
trigger libTrac_gt_HeroTracerReloadRestoreAmmoOnHearthMount;
trigger libTrac_gt_HeroTracerUntouchableProc;
trigger libTrac_gt_HeroTracerSpatialEchoProc;
trigger libTrac_gt_HeroTracerPulseBombSetFacing;
trigger libTrac_gt_HeroTracerFocusFireCleanup;
trigger libTrac_gt_HeroTracerFocusFireSetTarget;
trigger libTrac_gt_HeroTracerFocusFireIncrementCooldown;
trigger libTrac_gt_HeroTracerHeroWeaponApplyTargetingUnit;
trigger libTrac_gt_HeroTracerTargetAcquired;
trigger libTrac_gt_HeroTracerForceAcquireTargetTaunt;
trigger libTrac_gt_HeroTracerHoldFire;
trigger libTrac_gt_HeroTracerClearTargetViaEffect;
trigger libTrac_gt_HeroTracerUpdateRecallRecord;
trigger libTrac_gt_HeroTracerUpdateRecallonTracerHearth;
trigger libTrac_gt_HeroTracerRecallCast;
trigger libTrac_gt_HeroTracerRecallCameraLock;
trigger libTrac_gt_HeroTracerRecallDebugMode;
trigger libTrac_gt_HeroTracerUltimateEvolutionRecall;
trigger libTrac_gt_HeroTracerUltimateEvolutionKillRecallTracker;
trigger libTrac_gt_HeroTracerUpdateRecallPointsonRevive;
trigger libTrac_gt_HeroTracerMeleeSetFacing;
// Library Initialization
void libTrac_InitVariables ();