include "TriggerLibs/NativeLib"
include "TriggerLibs/HeroesLib"
include "TriggerLibs/GameLib"
include "TriggerLibs/AILib"
include "TriggerLibs/UILib"
include "LibHMAI_h"
//--------------------------------------------------------------------------------------------------
// Library: Maiev
//--------------------------------------------------------------------------------------------------
// External Library Initialization
void libHMAI_InitLibraries () {
libNtve_InitVariables();
libCore_InitVariables();
libGame_InitVariables();
libAIAI_InitVariables();
libUIUI_InitVariables();
}
// Variable Initialization
bool libHMAI_InitVariables_completed = false;
void libHMAI_InitVariables () {
int init_i;
if (libHMAI_InitVariables_completed) {
return;
}
libHMAI_InitVariables_completed = true;
for (init_i = 0; init_i <= libCore_gv_bALMaxPlayers; init_i += 1) {
libHMAI_gv_heroMaievContainmentDiscBackupVisionGroups[init_i] = UnitGroupEmpty();
}
}
// Functions
void libHMAI_gf_HeroMaievIncrementHeroCountFunction () {
// Automatic Variable Declarations
// Implementation
libHMAI_gv_heroMaievTriggerRegistrationVariable += 1;
if ((libHMAI_gv_heroMaievTriggerRegistrationVariable == 1)) {
TriggerEnable(libHMAI_gt_HeroMaievApplyContainmentDiscAllyVisionSuppression, true);
TriggerEnable(libHMAI_gt_HeroMaievRemoveContainmentDiscAllyVisionSuppression, true);
TriggerEnable(libHMAI_gt_HeroMaievContainmentDiscOverlayOn, true);
TriggerEnable(libHMAI_gt_HeroMaievContainmentDiscOverlayOff, true);
TriggerEnable(libHMAI_gt_HeroMaievChargedTalentsRespec, true);
TriggerEnable(libHMAI_gt_HeroMaievVaultCharge, true);
TriggerEnable(libHMAI_gt_HeroMaievResetVaultCharge, true);
}
}
void libHMAI_gf_HeroMaievDecrementHeroCountFunction () {
// Automatic Variable Declarations
// Implementation
libHMAI_gv_heroMaievTriggerRegistrationVariable -= 1;
if ((libHMAI_gv_heroMaievTriggerRegistrationVariable < 0)) {
libHMAI_gv_heroMaievTriggerRegistrationVariable = 0;
}
if ((libHMAI_gv_heroMaievTriggerRegistrationVariable == 0)) {
TriggerEnable(libHMAI_gt_HeroMaievApplyContainmentDiscAllyVisionSuppression, false);
TriggerEnable(libHMAI_gt_HeroMaievRemoveContainmentDiscAllyVisionSuppression, false);
TriggerEnable(libHMAI_gt_HeroMaievContainmentDiscOverlayOn, false);
TriggerEnable(libHMAI_gt_HeroMaievContainmentDiscOverlayOff, false);
TriggerEnable(libHMAI_gt_HeroMaievChargedTalentsRespec, false);
TriggerEnable(libHMAI_gt_HeroMaievVaultCharge, false);
TriggerEnable(libHMAI_gt_HeroMaievResetVaultCharge, false);
}
}
// Triggers
//--------------------------------------------------------------------------------------------------
// Trigger: Hero - Maiev Charged Talents Respec
//--------------------------------------------------------------------------------------------------
bool libHMAI_gt_HeroMaievChargedTalentsRespec_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_respecPlayer;
// Automatic Variable Declarations
// Variable Initialization
lv_respecPlayer = libGame_gf_HeroRespecsTalentsPlayer();
// Conditions
if (testConds) {
if (!((PlayerHero(lv_respecPlayer) == "Maiev"))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
PlayerAddChargeUsed(lv_respecPlayer, CatalogFieldValueGet(c_gameCatalogAbil, "MaievFanOfKnivesNaishasMemento", "Cost.Charge.Link", c_playerAny), (-1.0 * CatalogFieldValueGetAsFixed(c_gameCatalogAbil, "MaievFanOfKnivesNaishasMemento", "Cost.Charge.CountMax", c_playerAny)));
PlayerAddChargeUsed(lv_respecPlayer, CatalogFieldValueGet(c_gameCatalogAbil, "MaievShadowOrbHuntress", "Cost.Charge.Link", c_playerAny), (-1.0 * CatalogFieldValueGetAsFixed(c_gameCatalogAbil, "MaievShadowOrbHuntress", "Cost.Charge.CountMax", c_playerAny)));
PlayerAddChargeUsed(lv_respecPlayer, CatalogFieldValueGet(c_gameCatalogAbil, "MaievShadowOrbShadowStrike", "Cost.Charge.Link", c_playerAny), (-1.0 * CatalogFieldValueGetAsFixed(c_gameCatalogAbil, "MaievShadowOrbShadowStrike", "Cost.Charge.CountMax", c_playerAny)));
PlayerAddChargeUsed(lv_respecPlayer, CatalogFieldValueGet(c_gameCatalogAbil, "MaievSpiritOfVengeanceShadowOrbVengeance", "Cost.Charge.Link", c_playerAny), (-1.0 * CatalogFieldValueGetAsFixed(c_gameCatalogAbil, "MaievSpiritOfVengeanceShadowOrbVengeance", "Cost.Charge.CountMax", c_playerAny)));
return true;
}
//--------------------------------------------------------------------------------------------------
void libHMAI_gt_HeroMaievChargedTalentsRespec_Init () {
libHMAI_gt_HeroMaievChargedTalentsRespec = TriggerCreate("libHMAI_gt_HeroMaievChargedTalentsRespec_Func");
TriggerEnable(libHMAI_gt_HeroMaievChargedTalentsRespec, false);
libGame_gf_HeroRespecsTalents(libHMAI_gt_HeroMaievChargedTalentsRespec);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Hero - Maiev Containment Disc Overlay On
//--------------------------------------------------------------------------------------------------
bool libHMAI_gt_HeroMaievContainmentDiscOverlayOn_Func (bool testConds, bool runActions) {
// Variable Declarations
unit lv_unit;
// Automatic Variable Declarations
// Variable Initialization
lv_unit = EventUnit();
// Conditions
if (testConds) {
if (!((UnitIsAlive(lv_unit) == true))) {
return false;
}
if (!((UnitTestState(lv_unit, c_unitStateHallucination) == false))) {
return false;
}
if (!((UnitHasBehavior2(lv_unit, "HeroGenericIgnoreFullscreenOverlay") == false))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
libUIUI_gf_FullscreenOverlayAddItemForPlayer(UnitGetOwner(lv_unit), libUIUI_ge_FullscreenOverlayPriorities_Stasis, "Cutscenes\\GameUI_StasisOverlay.StormCutscene", EventUnitBehavior());
return true;
}
//--------------------------------------------------------------------------------------------------
void libHMAI_gt_HeroMaievContainmentDiscOverlayOn_Init () {
libHMAI_gt_HeroMaievContainmentDiscOverlayOn = TriggerCreate("libHMAI_gt_HeroMaievContainmentDiscOverlayOn_Func");
TriggerEnable(libHMAI_gt_HeroMaievContainmentDiscOverlayOn, false);
TriggerAddEventUnitBehaviorChange(libHMAI_gt_HeroMaievContainmentDiscOverlayOn, null, "MaievContainmentDiscTimeStop", c_unitBehaviorChangeActivate);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Hero - Maiev Containment Disc Overlay Off
//--------------------------------------------------------------------------------------------------
bool libHMAI_gt_HeroMaievContainmentDiscOverlayOff_Func (bool testConds, bool runActions) {
// Variable Declarations
unit lv_unit;
// Automatic Variable Declarations
// Variable Initialization
lv_unit = EventUnit();
// Conditions
if (testConds) {
if (!((UnitHasBehavior2(lv_unit, "HeroGenericIgnoreFullscreenOverlay") == false))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
libUIUI_gf_FullscreenOverlayRemoveItemFromQueueForPlayer(UnitGetOwner(lv_unit), "Cutscenes\\GameUI_StasisOverlay.StormCutscene", EventUnitBehavior());
return true;
}
//--------------------------------------------------------------------------------------------------
void libHMAI_gt_HeroMaievContainmentDiscOverlayOff_Init () {
libHMAI_gt_HeroMaievContainmentDiscOverlayOff = TriggerCreate("libHMAI_gt_HeroMaievContainmentDiscOverlayOff_Func");
TriggerEnable(libHMAI_gt_HeroMaievContainmentDiscOverlayOff, false);
TriggerAddEventUnitBehaviorChange(libHMAI_gt_HeroMaievContainmentDiscOverlayOff, null, "MaievContainmentDiscTimeStop", c_unitBehaviorChangeDestroy);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Hero - Maiev Multi-Hero Containment Disc Controller
//--------------------------------------------------------------------------------------------------
bool libHMAI_gt_HeroMaievMultiHeroContainmentDiscController_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_maievPlayer;
int lv_confinedPlayer;
unitgroup lv_confinedPlayerVisionGroup;
unit lv_targetUnit;
int lv_targetplayer;
playergroup lv_AllyPlayerGroup;
int lv_pickedPlayer;
// Automatic Variable Declarations
playergroup autoFAC0A58B_g;
// Variable Initialization
lv_confinedPlayer = UnitGetOwner(EventUnit());
lv_confinedPlayerVisionGroup = UnitGroupEmpty();
lv_targetUnit = EventUnit();
lv_targetplayer = UnitGetOwner(EventUnit());
lv_AllyPlayerGroup = PlayerGroupEmpty();
// Conditions
if (testConds) {
if (!((UnitHasBehavior2(lv_targetUnit, "MaievContainmentDiscVisionSource") == true))) {
return false;
}
if (!((lv_confinedPlayer > 0))) {
return false;
}
if (!((lv_confinedPlayer < libCore_gv_bALMaxPlayers))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
lv_maievPlayer = UnitBehaviorEffectPlayer(lv_targetUnit, "MaievContainmentDiscVisionSource", c_effectPlayerCaster, 0);
UnitGroupRemove(libHMAI_gv_heroMaievContainmentDiscBackupVisionGroups[lv_targetplayer], lv_targetUnit);
if ((UnitGroupCount(libHMAI_gv_heroMaievContainmentDiscBackupVisionGroups[lv_targetplayer], c_unitCountAlive) == 0)) {
libGame_gf_ShareUnshareVisionOfAlliesForPlayer(false, lv_targetplayer);
lv_AllyPlayerGroup = libGame_gf_AlliedPlayerGroupOfPlayer(lv_targetplayer);
autoFAC0A58B_g = lv_AllyPlayerGroup;
lv_pickedPlayer = -1;
while (true) {
lv_pickedPlayer = PlayerGroupNextPlayer(autoFAC0A58B_g, lv_pickedPlayer);
if (lv_pickedPlayer<0) { break; }
PlayerSetAlliance(lv_pickedPlayer, c_allianceIdSeekHelp, lv_targetplayer, false);
PlayerSetAlliance(lv_pickedPlayer, c_allianceIdGiveHelp, lv_targetplayer, false);
}
VisRevealerEnable(libGame_gv_baseRevealers[lv_targetplayer], false);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libHMAI_gt_HeroMaievMultiHeroContainmentDiscController_Init () {
libHMAI_gt_HeroMaievMultiHeroContainmentDiscController = TriggerCreate("libHMAI_gt_HeroMaievMultiHeroContainmentDiscController_Func");
TriggerEnable(libHMAI_gt_HeroMaievMultiHeroContainmentDiscController, false);
TriggerAddEventUnitDied(libHMAI_gt_HeroMaievMultiHeroContainmentDiscController, null);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Hero - Maiev Apply Containment Disc Ally Vision Suppression
//--------------------------------------------------------------------------------------------------
bool libHMAI_gt_HeroMaievApplyContainmentDiscAllyVisionSuppression_Func (bool testConds, bool runActions) {
// Variable Declarations
unit lv_targetUnit;
string lv_typeOfTargetUnit;
int lv_targetplayer;
int lv_maievPlayer;
unitgroup lv_targetPlayerVisionGroup;
playergroup lv_AllyPlayerGroup;
int lv_pickedPlayer;
// Automatic Variable Declarations
unitgroup auto83DA7049_g;
int auto83DA7049_u;
unit auto83DA7049_var;
playergroup auto7F50E12A_g;
// Variable Initialization
lv_targetUnit = EventUnit();
lv_typeOfTargetUnit = UnitGetType(lv_targetUnit);
lv_targetplayer = UnitGetOwner(lv_targetUnit);
lv_maievPlayer = UnitBehaviorEffectPlayer(lv_targetUnit, "MaievContainmentDiscTimeStop", c_effectPlayerCaster, 0);
lv_targetPlayerVisionGroup = UnitGroupEmpty();
lv_AllyPlayerGroup = PlayerGroupEmpty();
// Conditions
if (testConds) {
if (!((lv_targetplayer > 0))) {
return false;
}
if (!((lv_targetplayer <= libCore_gv_bALMaxPlayers))) {
return false;
}
if (!((lv_maievPlayer > 0))) {
return false;
}
if (!((lv_maievPlayer <= libCore_gv_bALMaxPlayers))) {
return false;
}
if (!((UnitTypeTestAttribute(lv_typeOfTargetUnit, c_unitAttributeHeroic) == true))) {
return false;
}
if (!(((lv_targetUnit == libGame_gv_players[lv_targetplayer].lv_heroUnit) || (lv_targetUnit == libAIAI_gv_aIHeroes[lv_targetplayer].lv_currentHeroUnit) || (lv_typeOfTargetUnit == "HeroBaleog") || (lv_typeOfTargetUnit == "HeroErik") || (lv_typeOfTargetUnit == "HeroOlaf") || (lv_typeOfTargetUnit == "HeroChenEarth") || (lv_typeOfTargetUnit == "HeroChenFire") || (lv_typeOfTargetUnit == "HeroChenStorm")))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
libHMAI_gv_heroMaievContainmentDiscBackupVisionGroups[lv_targetplayer] = UnitGroupEmpty();
libHMAI_gv_heroMaievActiveContainmentDiscTargets += 1;
auto83DA7049_g = UnitGroup(null, lv_targetplayer, RegionEntireMap(), UnitFilter((1 << c_targetFilterHeroic), 0, (1 << c_targetFilterAlly) | (1 << c_targetFilterNeutral) | (1 << c_targetFilterEnemy) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0);
auto83DA7049_u = UnitGroupCount(auto83DA7049_g, c_unitCountAll);
for (;; auto83DA7049_u -= 1) {
auto83DA7049_var = UnitGroupUnitFromEnd(auto83DA7049_g, auto83DA7049_u);
if (auto83DA7049_var == null) { break; }
if ((UnitHasBehavior2(auto83DA7049_var, "MaievContainmentDiscTimeStop") == false) && (UnitGetType(auto83DA7049_var) != "NovaHoloCloneCloaked") && (UnitGetType(auto83DA7049_var) != "NovaHoloClone") && (UnitGetType(auto83DA7049_var) != "RexxarMisha")) {
UnitGroupAdd(libHMAI_gv_heroMaievContainmentDiscBackupVisionGroups[lv_targetplayer], auto83DA7049_var);
UnitBehaviorAdd(auto83DA7049_var, "MaievContainmentDiscVisionSource", libGame_gv_players[lv_maievPlayer].lv_heroUnit, 1);
}
}
if ((UnitGroupCount(libHMAI_gv_heroMaievContainmentDiscBackupVisionGroups[lv_targetplayer], c_unitCountAlive) == 0)) {
libGame_gf_ShareUnshareVisionOfAlliesForPlayer(false, lv_targetplayer);
lv_AllyPlayerGroup = libGame_gf_AlliedPlayerGroupOfPlayer(lv_targetplayer);
auto7F50E12A_g = lv_AllyPlayerGroup;
lv_pickedPlayer = -1;
while (true) {
lv_pickedPlayer = PlayerGroupNextPlayer(auto7F50E12A_g, lv_pickedPlayer);
if (lv_pickedPlayer<0) { break; }
PlayerSetAlliance(lv_pickedPlayer, c_allianceIdSeekHelp, lv_targetplayer, false);
PlayerSetAlliance(lv_pickedPlayer, c_allianceIdGiveHelp, lv_targetplayer, false);
}
VisRevealerEnable(libGame_gv_baseRevealers[lv_targetplayer], false);
}
if ((libHMAI_gv_heroMaievActiveContainmentDiscTargets > 0) && (UnitGroupCount(libHMAI_gv_heroMaievContainmentDiscBackupVisionGroups[lv_targetplayer], c_unitCountAlive) > 0)) {
TriggerEnable(libHMAI_gt_HeroMaievMultiHeroContainmentDiscController, true);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libHMAI_gt_HeroMaievApplyContainmentDiscAllyVisionSuppression_Init () {
libHMAI_gt_HeroMaievApplyContainmentDiscAllyVisionSuppression = TriggerCreate("libHMAI_gt_HeroMaievApplyContainmentDiscAllyVisionSuppression_Func");
TriggerEnable(libHMAI_gt_HeroMaievApplyContainmentDiscAllyVisionSuppression, false);
TriggerAddEventUnitBehaviorChange(libHMAI_gt_HeroMaievApplyContainmentDiscAllyVisionSuppression, null, "MaievContainmentDiscTimeStop", c_unitBehaviorChangeActivate);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Hero - Maiev Remove Containment Disc Ally Vision Suppression
//--------------------------------------------------------------------------------------------------
bool libHMAI_gt_HeroMaievRemoveContainmentDiscAllyVisionSuppression_Func (bool testConds, bool runActions) {
// Variable Declarations
unit lv_targetUnit;
int lv_targetPlayer;
int lv_maievPlayer;
playergroup lv_allyPlayerGroup;
int lv_pickedPlayer;
// Automatic Variable Declarations
unitgroup autoB722C4E5_g;
int autoB722C4E5_u;
unit autoB722C4E5_var;
playergroup autoBF4B1106_g;
// Variable Initialization
lv_targetUnit = EventPlayerEffectUsedUnit(c_effectUnitTarget);
lv_targetPlayer = UnitGetOwner(lv_targetUnit);
lv_maievPlayer = EventPlayerEffectUsedUnitOwner(c_effectPlayerCaster);
lv_allyPlayerGroup = PlayerGroupEmpty();
// Conditions
if (testConds) {
if (!((UnitTypeTestAttribute(UnitGetType(lv_targetUnit), c_unitAttributeHeroic) == true))) {
return false;
}
if (!((lv_targetPlayer > 0))) {
return false;
}
if (!((lv_targetPlayer <= libCore_gv_bALMaxPlayers))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
autoB722C4E5_g = libHMAI_gv_heroMaievContainmentDiscBackupVisionGroups[lv_targetPlayer];
autoB722C4E5_u = UnitGroupCount(autoB722C4E5_g, c_unitCountAll);
for (;; autoB722C4E5_u -= 1) {
autoB722C4E5_var = UnitGroupUnitFromEnd(autoB722C4E5_g, autoB722C4E5_u);
if (autoB722C4E5_var == null) { break; }
UnitBehaviorRemove(autoB722C4E5_var, "MaievContainmentDiscVisionSource", 1);
}
if ((UnitHasBehaviorWithCategoryFlag(lv_targetUnit, c_behaviorCategoryVisionRemoval) == false)) {
libGame_gf_ShareUnshareVisionOfAlliesForPlayer(true, lv_targetPlayer);
lv_allyPlayerGroup = libGame_gf_AlliedPlayerGroupOfPlayer(lv_targetPlayer);
autoBF4B1106_g = lv_allyPlayerGroup;
lv_pickedPlayer = -1;
while (true) {
lv_pickedPlayer = PlayerGroupNextPlayer(autoBF4B1106_g, lv_pickedPlayer);
if (lv_pickedPlayer<0) { break; }
PlayerSetAlliance(lv_pickedPlayer, c_allianceIdSeekHelp, lv_targetPlayer, true);
PlayerSetAlliance(lv_pickedPlayer, c_allianceIdGiveHelp, lv_targetPlayer, true);
}
VisRevealerEnable(libGame_gv_baseRevealers[lv_targetPlayer], true);
libHMAI_gv_heroMaievActiveContainmentDiscTargets -= 1;
}
if ((libHMAI_gv_heroMaievActiveContainmentDiscTargets == 0)) {
TriggerEnable(libHMAI_gt_HeroMaievMultiHeroContainmentDiscController, false);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libHMAI_gt_HeroMaievRemoveContainmentDiscAllyVisionSuppression_Init () {
libHMAI_gt_HeroMaievRemoveContainmentDiscAllyVisionSuppression = TriggerCreate("libHMAI_gt_HeroMaievRemoveContainmentDiscAllyVisionSuppression_Func");
TriggerEnable(libHMAI_gt_HeroMaievRemoveContainmentDiscAllyVisionSuppression, false);
TriggerAddEventPlayerEffectUsed(libHMAI_gt_HeroMaievRemoveContainmentDiscAllyVisionSuppression, c_playerAny, "MaievContainmentDiscVisionDummy");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Hero - Maiev - Vault Charge
//--------------------------------------------------------------------------------------------------
bool libHMAI_gt_HeroMaievVaultCharge_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_player;
unit lv_unit;
// Automatic Variable Declarations
// Variable Initialization
lv_player = libGame_gf_HeroLevelUpPlayer();
lv_unit = libGame_gv_players[lv_player].lv_heroUnit;
// Conditions
if (testConds) {
if (!((lv_player >= 1))) {
return false;
}
if (!((lv_player <= libCore_gv_bALMaxPlayers))) {
return false;
}
if (!((libGame_gf_HeroLevelUpLevel() >= 20))) {
return false;
}
if (!((UnitGetType(lv_unit) == "HeroMaiev"))) {
return false;
}
if (!((PlayerHasTalent(lv_player, "MaievVigorousVaulter") == false))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
PlayerAddTalent(lv_player, "MaievVigorousVaulter");
UnitCreateEffectUnit(lv_unit, "MaievVigorousVaulterModifyPlayer", lv_unit);
UnitCreateEffectUnit(lv_unit, "MaievVigorousVaulterAddToken", lv_unit);
return true;
}
//--------------------------------------------------------------------------------------------------
void libHMAI_gt_HeroMaievVaultCharge_Init () {
libHMAI_gt_HeroMaievVaultCharge = TriggerCreate("libHMAI_gt_HeroMaievVaultCharge_Func");
TriggerEnable(libHMAI_gt_HeroMaievVaultCharge, false);
libGame_gf_HeroLevelUp(libHMAI_gt_HeroMaievVaultCharge);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Hero - Maiev - Reset Vault Charge
//--------------------------------------------------------------------------------------------------
bool libHMAI_gt_HeroMaievResetVaultCharge_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_player;
unit lv_unit;
// Automatic Variable Declarations
// Variable Initialization
lv_player = UnitGetOwner(EventUnit());
lv_unit = libGame_gv_players[lv_player].lv_heroUnit;
// Conditions
if (testConds) {
if (!((lv_player >= 1))) {
return false;
}
if (!((lv_player <= libCore_gv_bALMaxPlayers))) {
return false;
}
if (!((UnitGetType(lv_unit) == "HeroMaiev"))) {
return false;
}
if (!((PlayerHasTalent(lv_player, "MaievVigorousVaulter") == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
PlayerRemoveTalent(lv_player, "MaievVigorousVaulter");
UnitCreateEffectUnit(lv_unit, "MaievVigorousVaulterResetPlayer", lv_unit);
Wait(0.125, c_timeGame);
if ((UnitBehaviorCount(EventUnit(), "HeroDummyVeterancy") >= 20) && (PlayerHasTalent(lv_player, "MaievVigorousVaulter") == false)) {
PlayerAddTalent(lv_player, "MaievVigorousVaulter");
UnitCreateEffectUnit(lv_unit, "MaievVigorousVaulterModifyPlayer", lv_unit);
UnitCreateEffectUnit(lv_unit, "MaievVigorousVaulterAddToken", lv_unit);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libHMAI_gt_HeroMaievResetVaultCharge_Init () {
libHMAI_gt_HeroMaievResetVaultCharge = TriggerCreate("libHMAI_gt_HeroMaievResetVaultCharge_Func");
TriggerEnable(libHMAI_gt_HeroMaievResetVaultCharge, false);
TriggerAddEventUnitBehaviorChange(libHMAI_gt_HeroMaievResetVaultCharge, null, "MaievVigorousVaulterTokenCounter", c_unitBehaviorChangeCreate);
}
void libHMAI_InitTriggers () {
libHMAI_gt_HeroMaievChargedTalentsRespec_Init();
libHMAI_gt_HeroMaievContainmentDiscOverlayOn_Init();
libHMAI_gt_HeroMaievContainmentDiscOverlayOff_Init();
libHMAI_gt_HeroMaievMultiHeroContainmentDiscController_Init();
libHMAI_gt_HeroMaievApplyContainmentDiscAllyVisionSuppression_Init();
libHMAI_gt_HeroMaievRemoveContainmentDiscAllyVisionSuppression_Init();
libHMAI_gt_HeroMaievVaultCharge_Init();
libHMAI_gt_HeroMaievResetVaultCharge_Init();
}
//--------------------------------------------------------------------------------------------------
// Library Initialization
//--------------------------------------------------------------------------------------------------
bool libHMAI_InitLib_completed = false;
void libHMAI_InitLib () {
if (libHMAI_InitLib_completed) {
return;
}
libHMAI_InitLib_completed = true;
libHMAI_InitLibraries();
libHMAI_InitVariables();
libHMAI_InitTriggers();
}