include "TriggerLibs/HeroesLib"



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

// Library: Genji

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

// Constants

const fixed libHGen_gv_heroGenjiDeflectZanshinDamageRequirement = 6500.0;

const fixed libHGen_gv_heroGenjiDeflectAugmentedGuardShieldPercent = 1.0;

const fixed libHGen_gv_heroGenjiDragonbladeTheDragonBecomesMeDurationIncreaseIncrement = 0.5;



// Variable Declarations

int libHGen_gv_heroGenjiTriggerRegistrationVariable;

fixed[libCore_gv_bALMaxPlayers + 1] libHGen_gv_heroGenjiDeflectDamageTaken;

bool[libCore_gv_bALMaxPlayers + 1] libHGen_gv_heroGenjiDeflectZanshinActivated;

string libHGen_gv_heroGenjiDeflectDamageTakenLifetimeScore;

string libHGen_gv_heroGenjiDeflectDragonClawDamageAbsorbedScore;



// Function Declarations

void libHGen_gf_HeroGenjiIncrementHeroCountFunction ();

void libHGen_gf_HeroGenjiDecrementHeroCountFunction ();

void libHGen_gf_HeroGenjiDeflectDamageTaken (unit lp_genjiUnit, int lp_genjiPlayer, fixed lp_incomingDamage);

void libHGen_gf_HeroGenjiDeflectDragonClawDamageTracker (unit lp_genjiUnit, int lp_genjiPlayer, fixed lp_incomingDamage);

void libHGen_gf_HeroGenjiDeflectZanshinDamageTracker (unit lp_genjiUnit, int lp_genjiPlayer, fixed lp_incomingDamage);

void libHGen_gf_HeroGenjiDeflectAugmentedGuard (unit lp_genjiUnit, int lp_genjiPlayer);



// Trigger Declarations

trigger libHGen_gt_HeroGenjiCyberAgilityAgileDismountInitial;

trigger libHGen_gt_HeroGenjiCyberAgilityAgileDismountRespec;

trigger libHGen_gt_HeroGenjiCyberAgilityAgileDismountOn;

trigger libHGen_gt_HeroGenjiCyberAgilityAgileDismountOff;

trigger libHGen_gt_HeroGenjiDeflectActivated;

trigger libHGen_gt_HeroGenjiDeflectMissileLauncher;

trigger libHGen_gt_HeroGenjiDeflectMissileImpact;

trigger libHGen_gt_HeroGenjiDeflectAbsorbDamage;

trigger libHGen_gt_HeroGenjiDeflectEnd;

trigger libHGen_gt_HeroGenjiDeflectDragonClawUsed;

trigger libHGen_gt_HeroGenjiDeflectZanshinInitial;

trigger libHGen_gt_HeroGenjiDragonbladeExtendDuration;

trigger libHGen_gt_Hero;

trigger libHGen_gt_HeroGenjiSwiftStrike;

trigger libHGen_gt_DEBUGHeroGenjiDeflectDragonClawActivateCheat;



// Library Initialization

void libHGen_InitVariables ();