include "TriggerLibs/NativeLib"
include "TriggerLibs/HeroesLib_h"
include "TriggerLibs/GameLib_h"
include "TriggerLibs/MapMechanicsLib_h"
include "TriggerLibs/UILib_h"
include "TriggerLibs/StartingExperienceLib_h"
//--------------------------------------------------------------------------------------------------
// Library: Starting Experience
//--------------------------------------------------------------------------------------------------
// External Library Initialization
void libStEx_InitLibraries () {
libNtve_InitVariables();
libCore_InitVariables();
libGame_InitVariables();
libMapM_InitVariables();
libUIUI_InitVariables();
}
// Variable Initialization
bool libStEx_InitVariables_completed = false;
void libStEx_InitVariables () {
int init_i;
int init_i1;
int init_i2;
if (libStEx_InitVariables_completed) {
return;
}
libStEx_InitVariables_completed = true;
for (init_i = 0; init_i <= 10; init_i += 1) {
libStEx_gv_sE_AbilityHighlightFlash[init_i] = c_invalidDialogControlId;
}
libStEx_gv_sE_HintMsgDialog = c_invalidDialogId;
libStEx_gv_sE_HintMsgPanel = c_invalidDialogControlId;
libStEx_gv_sE_HintMsgLabel = c_invalidDialogControlId;
libStEx_gv_sE_VOMsgDialog = c_invalidDialogId;
libStEx_gv_sE_VOMsgPanel = c_invalidDialogControlId;
libStEx_gv_sE_VOMsgLabel = c_invalidDialogControlId;
libStEx_gv_sE_VOPausedMsgDialog = c_invalidDialogId;
libStEx_gv_sE_VOPausedMsgFramePanel = c_invalidDialogControlId;
libStEx_gv_sE_VOPausedMsgPanel = c_invalidDialogControlId;
libStEx_gv_sE_VOPausedMsgIcon = c_invalidDialogControlId;
libStEx_gv_sE_VOPausedMsgLabel = c_invalidDialogControlId;
libStEx_gv_sE_VOPausedMsgButton = c_invalidDialogControlId;
for (init_i = 0; init_i <= libCore_gv_bALMaxTeams; init_i += 1) {
libStEx_gv_mapCutsceneStrings[init_i] = "";
}
libStEx_gv_tutorialCinematicRestoreSelection = true;
libStEx_gv_sEUnitGroupRemovedRing = UnitGroupEmpty();
libStEx_gv_sEMMIntroPlayersWatching = PlayerGroupEmpty();
libStEx_gv_sEMMIntroPlayersInitiallyWatching = PlayerGroupEmpty();
libStEx_gv_sE_MoveMouseButton = libStEx_ge_MouseButton_RightButton;
libStEx_gv_sE_FrozenUnits = UnitGroupEmpty();
libStEx_gv_sE_TrainingModeTalentPanelFlashingImage = c_invalidDialogControlId;
for (init_i = 0; init_i <= 30; init_i += 1) {
libStEx_gv_sE_TrainingModeTips[init_i].lv_iD = libStEx_ge_SE_TrainingModeTips_None;
libStEx_gv_sE_TrainingModeTips[init_i].lv_vO = "TutorialVO|Line00568";
}
libStEx_gv_sE_TrainingModeTipDialog = c_invalidDialogId;
libStEx_gv_objectives.lv_objectivePickOneTalent = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectivePickRemainingTalentsAndReady = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveTargetDummy = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveGraveGolemFight = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveGraveGolemFightUtherMustSurvive = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveMoshPitFight = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveMoshPitTeamMustSurvive = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveDefendKeep = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveDefendKeepVallaMustSurvive = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveEscapeHelpValla = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveEscapeKillJaina = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveEscapeAbathurMustSurvive = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveRoamHitTenFirst = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveRoamZeratulMustSurvive = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveSoakHitThirteenFirst = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveSoakAbathurMustSurvive = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveDragonKnightCapture = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveDragonKnightAbathurMustSurvive = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveDragonKnightAllyMustSurvive = c_invalidObjectiveId;
libStEx_gv_objectiveTargetDummy = c_invalidObjectiveId;
for (init_i = 0; init_i <= libCore_gv_talents_MaxTiers_C; init_i += 1) {
for (init_i1 = 0; init_i1 <= libCore_gv_talents_MaxTalentsPerTier_C; init_i1 += 1) {
for (init_i2 = 0; init_i2 <= libCore_gv_talents_MaxModificationsPerTalent_C; init_i2 += 1) {
libStEx_gv_talents_TalentChoices[init_i].lv_talentData[init_i1].lv_abilityModificationData[init_i2].lv_changeType = c_talentModificationNone;
libStEx_gv_talents_TalentChoices[init_i].lv_talentData[init_i1].lv_abilityModificationData[init_i2].lv_catalog = c_gameCatalogUnit;
libStEx_gv_talents_TalentChoices[init_i].lv_talentData[init_i1].lv_abilityModificationData[init_i2].lv_entry = "";
libStEx_gv_talents_TalentChoices[init_i].lv_talentData[init_i1].lv_abilityModificationData[init_i2].lv_field = "";
libStEx_gv_talents_TalentChoices[init_i].lv_talentData[init_i1].lv_abilityModificationData[init_i2].lv_stringReplacementValue = "";
libStEx_gv_talents_TalentChoices[init_i].lv_talentData[init_i1].lv_abilityModificationData[init_i2].lv_catalogReplaceFrom = "";
libStEx_gv_talents_TalentChoices[init_i].lv_talentData[init_i1].lv_abilityModificationData[init_i2].lv_catalogChangeTo = "";
}
}
}
libStEx_gv_tutorialVeteranPanel.lv_mainPanel = c_invalidDialogControlId;
libStEx_gv_tutorialVeteranPanel.lv_RespecButton = c_invalidDialogControlId;
libStEx_gv_tutorialVeteranPanel.lv_RespecButton2 = c_invalidDialogControlId;
libStEx_gv_tutorialVeteranPanel.lv_RetryButton = c_invalidDialogControlId;
libStEx_gv_tutorialVeteranPanel.lv_ReadyButton = c_invalidDialogControlId;
libStEx_gv_tutorialVeteranPanel.lv_challengeCompleteImage = c_invalidDialogControlId;
libStEx_gv_tutorialVeteranPanel.lv_challengeTitleFrame = c_invalidDialogControlId;
libStEx_gv_tutorialVeteranPanel.lv_challengeDescriptionLabel = c_invalidDialogControlId;
libStEx_gv_tutorialVeteranPanel.lv_countdownFrame = c_invalidDialogControlId;
libStEx_gv_tutorialVeteranPanel.lv_countdown3Image = c_invalidDialogControlId;
libStEx_gv_tutorialVeteranPanel.lv_countdown2Image = c_invalidDialogControlId;
libStEx_gv_tutorialVeteranPanel.lv_countdown1Image = c_invalidDialogControlId;
libStEx_gv_tutorialVeteranPanel.lv_countdownGoLabel = c_invalidDialogControlId;
libStEx_gv_tutorialVeteranPanel.lv_dummyPanel = c_invalidDialogControlId;
libStEx_gv_tutorialVeteranPanel.lv_dummyDamageLabel = c_invalidDialogControlId;
libStEx_gv_tutorialVeteranPanel.lv_dummyDPSLabel = c_invalidDialogControlId;
libStEx_gv_targetDummyDamageTimer = TimerCreate();
libStEx_gv_targetDummyPeaceTimer = TimerCreate();
libStEx_gv_queryDialogResult = libStEx_ge_QueryDialogResult__None;
libStEx_gv_tutorialHeroBtnJaina = c_invalidDialogControlId;
libStEx_gv_tutorialHeroBtnMuradin = c_invalidDialogControlId;
libStEx_gv_tutorialHeroBtnTyrande = c_invalidDialogControlId;
}
// Presets
string libStEx_ge_SE_TrainingModeTips_Ident (int lp_val) {
if (lp_val == libStEx_ge_SE_TrainingModeTips_None) { return "None"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_WatchTower) { return "WatchTower"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_MercCamps) { return "MercCamps"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_HealingFountain) { return "HealingFountain"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_Experience) { return "Experience"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_Gates) { return "Gates"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_Ammo1) { return "Ammo1"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_Ammo2) { return "Ammo2"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_Bushes) { return "Bushes"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_Hearthstone) { return "Hearthstone"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_HearthstoneUsed) { return "HearthstoneUsed"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_Mount) { return "Mount"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_Mana) { return "Mana"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_Abilities) { return "Abilities"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_Death1) { return "Death1"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_Death2) { return "Death2"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_Spacebar) { return "Spacebar"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_Talents) { return "Talents"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_CoreShield) { return "CoreShield"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_Forts) { return "Forts"; }
else if (lp_val == libStEx_ge_SE_TrainingModeTips_NewUserTip_Last) { return "NewUserTip_Last"; }
return null;
}
// Functions
void libStEx_gf_HighlightCommandButton (bool lp_highlightUnhighlight, int lp_button) {
// Automatic Variable Declarations
int autoFA2999E1_val;
// Implementation
if ((libStEx_gv_sE_AbilityHighlightFlash[(lp_button)] == c_invalidDialogControlId) && (lp_highlightUnhighlight == true)) {
autoFA2999E1_val = lp_button;
if (autoFA2999E1_val == libStEx_ge_TutorialCommandButton_Ability1) {
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/CommandPanel/TutorialArrow00");
libStEx_gv_sE_AbilityHighlightFlash[(lp_button)] = DialogControlLastCreated();
}
else if (autoFA2999E1_val == libStEx_ge_TutorialCommandButton_Ability2) {
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/CommandPanel/TutorialArrow01");
libStEx_gv_sE_AbilityHighlightFlash[(lp_button)] = DialogControlLastCreated();
}
else if (autoFA2999E1_val == libStEx_ge_TutorialCommandButton_Ability3) {
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/CommandPanel/TutorialArrow04");
libStEx_gv_sE_AbilityHighlightFlash[(lp_button)] = DialogControlLastCreated();
}
else if (autoFA2999E1_val == libStEx_ge_TutorialCommandButton_Heroic) {
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/CommandPanel/TutorialArrow05");
libStEx_gv_sE_AbilityHighlightFlash[(lp_button)] = DialogControlLastCreated();
}
else if (autoFA2999E1_val == libStEx_ge_TutorialCommandButton_Hearth) {
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/CommandPanel/TutorialArrow02");
libStEx_gv_sE_AbilityHighlightFlash[(lp_button)] = DialogControlLastCreated();
}
else if (autoFA2999E1_val == libStEx_ge_TutorialCommandButton_Mount) {
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/CommandPanel/TutorialArrow03");
libStEx_gv_sE_AbilityHighlightFlash[(lp_button)] = DialogControlLastCreated();
}
else {
}
}
if ((libStEx_gv_sE_AbilityHighlightFlash[(lp_button)] == c_invalidDialogControlId)) {
return ;
}
if ((lp_highlightUnhighlight == true)) {
DialogControlSetVisible(libStEx_gv_sE_AbilityHighlightFlash[(lp_button)], PlayerGroupAll(), true);
}
else {
DialogControlSetVisible(libStEx_gv_sE_AbilityHighlightFlash[(lp_button)], PlayerGroupAll(), false);
}
}
void libStEx_gf_DisplayHintMessage (text lp_msg, bool lp_writeOut, fixed lp_writeOutDuration) {
// Automatic Variable Declarations
// Implementation
if ((libGame_gv_gameOver == true)) {
return ;
}
if ((libStEx_gv_sE_HintMsgDialog == c_invalidDialogId)) {
DialogCreate(1500, 250, c_anchorBottom, 0, 290, false);
libStEx_gv_sE_HintMsgDialog = DialogLastCreated();
DialogSetImageVisible(DialogLastCreated(), false);
DialogSetVisible(DialogLastCreated(), PlayerGroupAll(), true);
}
if ((libStEx_gv_sE_HintMsgPanel != c_invalidDialogControlId)) {
DialogControlDestroy(libStEx_gv_sE_HintMsgPanel);
}
SoundPlay(SoundLink("UI_Tutorial01_Hint_Message_Display", -1), PlayerGroupAll(), 100.0, 0.0);
SoundPlay(SoundLink("UI_Tutorial01_Text_Crawl", -1), PlayerGroupAll(), 100.0, 0.0);
DialogControlCreateFromTemplate(libStEx_gv_sE_HintMsgDialog, c_triggerControlTypePanel, "TutorialUI/TutorialTextBoxTemplate");
libStEx_gv_sE_HintMsgPanel = DialogControlLastCreated();
DialogControlSendAnimationEvent(DialogControlLastCreated(), PlayerGroupAll(), "TriggerTutorialDialogAnim");
DialogControlHookup(DialogControlLastCreated(), c_triggerControlTypeLabel, "Text");
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), lp_msg, PlayerGroupAll());
libNtve_gf_SetDialogItemTextWriteout(DialogControlLastCreated(), lp_writeOut, PlayerGroupAll());
libNtve_gf_SetDialogItemTextWriteoutDuration(DialogControlLastCreated(), libStEx_gv_sE_MsgWriteOutDuration, PlayerGroupAll());
libStEx_gv_sE_HintMsgLabel = DialogControlLastCreated();
}
void libStEx_gf_ClearHintMessage () {
// Automatic Variable Declarations
// Implementation
if ((libStEx_gv_sE_HintMsgPanel != c_invalidDialogControlId)) {
DialogControlFadeTransparency(libStEx_gv_sE_HintMsgPanel, PlayerGroupAll(), 2.0, 100.0);
DialogControlDestroy(libStEx_gv_sE_HintMsgPanel);
libStEx_gv_sE_HintMsgPanel = c_invalidDialogControlId;
}
}
trigger auto_libStEx_gf_DisplayVOMessage_Trigger = null;
text auto_libStEx_gf_DisplayVOMessage_lp_msg;
fixed auto_libStEx_gf_DisplayVOMessage_lp_duration;
bool auto_libStEx_gf_DisplayVOMessage_lp_writeOut;
void libStEx_gf_DisplayVOMessage (text lp_msg, fixed lp_duration, bool lp_writeOut) {
auto_libStEx_gf_DisplayVOMessage_lp_msg = lp_msg;
auto_libStEx_gf_DisplayVOMessage_lp_duration = lp_duration;
auto_libStEx_gf_DisplayVOMessage_lp_writeOut = lp_writeOut;
if (auto_libStEx_gf_DisplayVOMessage_Trigger == null) {
auto_libStEx_gf_DisplayVOMessage_Trigger = TriggerCreate("auto_libStEx_gf_DisplayVOMessage_TriggerFunc");
}
TriggerExecute(auto_libStEx_gf_DisplayVOMessage_Trigger, false, false);
}
bool auto_libStEx_gf_DisplayVOMessage_TriggerFunc (bool testConds, bool runActions) {
text lp_msg = auto_libStEx_gf_DisplayVOMessage_lp_msg;
fixed lp_duration = auto_libStEx_gf_DisplayVOMessage_lp_duration;
bool lp_writeOut = auto_libStEx_gf_DisplayVOMessage_lp_writeOut;
// Variable Declarations
int lv_localPanel;
// Automatic Variable Declarations
// Variable Initialization
lv_localPanel = c_invalidDialogControlId;
// Implementation
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((libStEx_gv_sE_VOMsgDialog == c_invalidDialogId)) {
DialogCreate(1500, 250, c_anchorBottom, 0, 150, false);
libStEx_gv_sE_VOMsgDialog = DialogLastCreated();
DialogSetImageVisible(DialogLastCreated(), false);
DialogSetVisible(DialogLastCreated(), PlayerGroupAll(), true);
}
else {
DialogSetPosition(libStEx_gv_sE_VOMsgDialog, c_anchorBottom, 0, 150);
}
if ((libStEx_gv_sE_VOMsgPanel != c_invalidDialogControlId)) {
DialogControlSetVisible(libStEx_gv_sE_VOMsgPanel, PlayerGroupAll(), false);
libStEx_gv_sE_VOMsgPanel = c_invalidDialogControlId;
}
SoundPlayForPlayer(SoundLink("UI_Tutorial01_VO_Message_Display", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
SoundPlayForPlayer(SoundLink("UI_Tutorial01_Text_Crawl", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
DialogControlCreateFromTemplate(libStEx_gv_sE_VOMsgDialog, c_triggerControlTypePanel, "TutorialUI/TutorialTextBoxTemplate");
libStEx_gv_sE_VOMsgPanel = DialogControlLastCreated();
lv_localPanel = DialogControlLastCreated();
DialogControlSendAnimationEvent(DialogControlLastCreated(), PlayerGroupAll(), "TriggerTutorialDialogAnim");
DialogControlHookup(libStEx_gv_sE_VOMsgPanel, c_triggerControlTypeLabel, "Text");
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), lp_msg, PlayerGroupAll());
libNtve_gf_SetDialogItemTextWriteout(DialogControlLastCreated(), lp_writeOut, PlayerGroupAll());
libNtve_gf_SetDialogItemTextWriteoutDuration(DialogControlLastCreated(), libStEx_gv_sE_MsgWriteOutDuration, PlayerGroupAll());
Wait(lp_duration, c_timeGame);
DialogControlFadeTransparency(lv_localPanel, PlayerGroupAll(), 1.0, 100.0);
Wait(1.0, c_timeGame);
if ((libStEx_gv_sE_VOMsgPanel == lv_localPanel)) {
libStEx_gv_sE_VOMsgPanel = c_invalidDialogControlId;
}
DialogControlDestroy(lv_localPanel);
return true;
}
trigger auto_libStEx_gf_DisplayVOMessageAtTop_Trigger = null;
text auto_libStEx_gf_DisplayVOMessageAtTop_lp_msg;
fixed auto_libStEx_gf_DisplayVOMessageAtTop_lp_duration;
bool auto_libStEx_gf_DisplayVOMessageAtTop_lp_writeOut;
void libStEx_gf_DisplayVOMessageAtTop (text lp_msg, fixed lp_duration, bool lp_writeOut) {
auto_libStEx_gf_DisplayVOMessageAtTop_lp_msg = lp_msg;
auto_libStEx_gf_DisplayVOMessageAtTop_lp_duration = lp_duration;
auto_libStEx_gf_DisplayVOMessageAtTop_lp_writeOut = lp_writeOut;
if (auto_libStEx_gf_DisplayVOMessageAtTop_Trigger == null) {
auto_libStEx_gf_DisplayVOMessageAtTop_Trigger = TriggerCreate("auto_libStEx_gf_DisplayVOMessageAtTop_TriggerFunc");
}
TriggerExecute(auto_libStEx_gf_DisplayVOMessageAtTop_Trigger, false, false);
}
bool auto_libStEx_gf_DisplayVOMessageAtTop_TriggerFunc (bool testConds, bool runActions) {
text lp_msg = auto_libStEx_gf_DisplayVOMessageAtTop_lp_msg;
fixed lp_duration = auto_libStEx_gf_DisplayVOMessageAtTop_lp_duration;
bool lp_writeOut = auto_libStEx_gf_DisplayVOMessageAtTop_lp_writeOut;
// Variable Declarations
int lv_localPanel;
// Automatic Variable Declarations
// Variable Initialization
lv_localPanel = c_invalidDialogControlId;
// Implementation
libStEx_gf_DisplayVOMessage(lp_msg, lp_duration, lp_writeOut);
if ((libStEx_gv_sE_VOMsgDialog != c_invalidDialogId)) {
DialogSetPosition(libStEx_gv_sE_VOMsgDialog, c_anchorTop, 0, 75);
}
return true;
}
void libStEx_gf_ClearVOMessage () {
// Automatic Variable Declarations
// Implementation
if ((libStEx_gv_sE_VOMsgPanel != c_invalidDialogControlId)) {
DialogControlFadeTransparency(libStEx_gv_sE_VOMsgPanel, PlayerGroupAll(), 0.0, 100.0);
libStEx_gv_sE_VOMsgPanel = c_invalidDialogControlId;
}
}
void libStEx_gf_DisplayVOMessageGamePaused (text lp_msg, int lp_icon, bool lp_writeOut) {
// Variable Declarations
int lv_localPanel;
int lv_itCamp;
// Automatic Variable Declarations
int autoF2B4B23C_val;
// Variable Initialization
lv_localPanel = c_invalidDialogControlId;
// Implementation
if (((libStEx_gv_automation_Debug == true) || (GameIsTestMap(true) == true))) {
return ;
}
if ((libStEx_gv_sE_HintMsgPanel != c_invalidDialogControlId)) {
DialogControlSetVisible(libStEx_gv_sE_HintMsgPanel, PlayerGroupAll(), false);
}
SoundChannelMute(PlayerGroupAll(), c_soundCategoryDoodad, true);
SoundChannelMute(PlayerGroupAll(), c_soundCategoryUser2, true);
SoundChannelSetVolume(PlayerGroupAll(), c_soundCategoryMusic, 0.0, 0.25);
Wait(0.25, c_timeGame);
SoundPlayForPlayer(SoundLink("UI_Tutorial01_VO_Message_Paused_Display", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
SoundPlayForPlayer(SoundLink("UI_Tutorial01_VO_Message_Display", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
SoundPlayForPlayer(SoundLink("UI_Tutorial01_Text_Crawl", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
autoF2B4B23C_val = lp_icon;
if (autoF2B4B23C_val == libStEx_ge_SE_VOMessageType_tribute) {
UIShowCustomDialogWithTemplate(PlayerGroupAll(), libNtve_ge_CustomDialogType_c_customDialogTypeMessage, null, lp_msg, true, "TutorialUI/TutorialTextBoxPausedDialogTribute");
}
else if (autoF2B4B23C_val == libStEx_ge_SE_VOMessageType_tower) {
UIShowCustomDialogWithTemplate(PlayerGroupAll(), libNtve_ge_CustomDialogType_c_customDialogTypeMessage, null, lp_msg, true, "TutorialUI/TutorialTextBoxPausedDialogTower");
}
else if (autoF2B4B23C_val == libStEx_ge_SE_VOMessageType_mount) {
UIShowCustomDialogWithTemplate(PlayerGroupAll(), libNtve_ge_CustomDialogType_c_customDialogTypeMessage, null, lp_msg, true, "TutorialUI/TutorialTextBoxPausedDialogMount");
}
else if (autoF2B4B23C_val == libStEx_ge_SE_VOMessageType_level) {
UIShowCustomDialogWithTemplate(PlayerGroupAll(), libNtve_ge_CustomDialogType_c_customDialogTypeMessage, null, lp_msg, true, "TutorialUI/TutorialTextBoxPausedDialogLevelup");
}
else if (autoF2B4B23C_val == libStEx_ge_SE_VOMessageType_globe) {
UIShowCustomDialogWithTemplate(PlayerGroupAll(), libNtve_ge_CustomDialogType_c_customDialogTypeMessage, null, lp_msg, true, "TutorialUI/TutorialTextBoxPausedDialogGlobe");
}
else if (autoF2B4B23C_val == libStEx_ge_SE_VOMessageType_fountain) {
UIShowCustomDialogWithTemplate(PlayerGroupAll(), libNtve_ge_CustomDialogType_c_customDialogTypeMessage, null, lp_msg, true, "TutorialUI/TutorialTextBoxPausedDialogFountain");
}
else if (autoF2B4B23C_val == libStEx_ge_SE_VOMessageType_ammo) {
UIShowCustomDialogWithTemplate(PlayerGroupAll(), libNtve_ge_CustomDialogType_c_customDialogTypeMessage, null, lp_msg, true, "TutorialUI/TutorialTextBoxPausedDialogAmmo");
}
else {
UIShowCustomDialogWithTemplate(PlayerGroupAll(), libNtve_ge_CustomDialogType_c_customDialogTypeMessage, null, lp_msg, true, "TutorialUI/TutorialTextBoxPausedDialogTemplate");
}
Wait(0.125, c_timeGame);
SoundChannelSetVolume(PlayerGroupAll(), c_soundCategoryMusic, 100.0, 2.0);
if ((libStEx_gv_sE_HintMsgPanel != c_invalidDialogControlId)) {
DialogControlSetVisible(libStEx_gv_sE_HintMsgPanel, PlayerGroupAll(), true);
}
}
void libStEx_gf_ClearVOMessageGamePaused (int lp_player) {
// Variable Declarations
int lv_itCamp;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
if (((libStEx_gv_automation_Debug == true) || (GameIsTestMap(true) == true))) {
return ;
}
SoundPlay(SoundLink("UI_Tutorial01_VO_Message_Paused_Clear", -1), libCore_gv_playerGroupFromPlayer[libStEx_gv_sE_Player], 100.0, 0.0);
SoundChannelMute(PlayerGroupAll(), c_soundCategoryDoodad, false);
SoundChannelMute(PlayerGroupAll(), c_soundCategoryUser2, false);
SoundChannelSetVolume(PlayerGroupAll(), c_soundCategoryMusic, 100.0, 2.0);
}
bool libStEx_gf_PlayerIsInCombat (int lp_player) {
// Variable Declarations
fixed lv_combatTime;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
if ((libNtve_gf_PlayerInCinematicMode(lp_player) == true)) {
return false;
}
lv_combatTime = MaxF(PlayerGetPropertyFixed(lp_player, c_playerPropDamageTakenTime), PlayerGetPropertyFixed(lp_player, c_playerPropDamageDealtTime));
lv_combatTime = (TimerGetElapsed(libGame_gv_gobalTimer) - lv_combatTime);
return (lv_combatTime < 3.0);
}
bool libStEx_gf_PlayerIsBeingAttacked () {
// Variable Declarations
fixed lv_combatTime;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
if ((libNtve_gf_PlayerInCinematicMode(1) == true)) {
return false;
}
lv_combatTime = PlayerGetPropertyFixed(1, c_playerPropDamageTakenTime);
lv_combatTime = (TimerGetElapsed(libGame_gv_gobalTimer) - lv_combatTime);
return (lv_combatTime < 3.0);
}
bool libStEx_gf_PlayerIsAttacking () {
// Variable Declarations
fixed lv_combatTime;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
if ((libNtve_gf_PlayerInCinematicMode(1) == true)) {
return false;
}
lv_combatTime = PlayerGetPropertyFixed(1, c_playerPropDamageDealtTime);
lv_combatTime = (TimerGetElapsed(libGame_gv_gobalTimer) - lv_combatTime);
return (lv_combatTime < 3.0);
}
void libStEx_gf_MapCutsceneAdd (string lp_cutscene1Name, string lp_cutscene2Name, string lp_orderCutsceneFile, string lp_chaosCutsceneFile) {
// Automatic Variable Declarations
// Implementation
libStEx_gv_mapCutsceneStrings[1] = lp_cutscene1Name;
libStEx_gv_mapCutsceneStrings[2] = lp_cutscene2Name;
libStEx_gv_mapCutsceneFiles[1] = lp_orderCutsceneFile;
libStEx_gv_mapCutsceneFiles[2] = lp_chaosCutsceneFile;
}
bool libStEx_gf_TutorialCameraLocked () {
// Automatic Variable Declarations
// Implementation
return libStEx_gv_sETutorialCameraLocked;
}
void libStEx_gf_DisplayCameraLockNotificationText (bool lp_lockUnlock, int lp_player) {
// Variable Declarations
text lv_label;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
if ((lp_lockUnlock == true)) {
lv_label = StringExternal("Param/Value/lib_StEx_AFF24376");
SoundPlayForPlayer(SoundLink("UI_Game_Camera_Locked", -1), c_maxPlayers, libCore_gv_playerGroupFromPlayer[lp_player], 100.0, 0.0);
}
else {
lv_label = StringExternal("Param/Value/lib_StEx_4C9338EF");
SoundPlayForPlayer(SoundLink("UI_Game_Camera_Unlocked", -1), c_maxPlayers, libCore_gv_playerGroupFromPlayer[lp_player], 100.0, 0.0);
}
DialogControlHookupStandard(c_triggerControlTypeLabel, "UIContainer/ConsoleUIContainer/CameraLockChanges");
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), lv_label, libCore_gv_playerGroupFromPlayer[lp_player]);
DialogControlFadeTransparency(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[lp_player], 0.0, 0.0);
DialogControlSetEnabled(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[lp_player], false);
DialogControlSetEnabled(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[lp_player], true);
}
void libStEx_gf_LockUnlockTutorialCamera (bool lp_lockUnlock) {
// Automatic Variable Declarations
// Implementation
if ((lp_lockUnlock == false)) {
libStEx_gv_sETutorialCameraLocked = false;
PlayerOptionOverride(1, "camerafollow", "0");
}
else {
libStEx_gv_sETutorialCameraLocked = true;
PlayerOptionOverride(1, "camerafollow", "1");
}
}
void libStEx_gf_RestoreTutorialCameraLockSetting () {
// Automatic Variable Declarations
// Implementation
if ((libStEx_gv_sETutorialCameraLocked == true)) {
PlayerOptionOverride(1, "camerafollow", "1");
}
else {
PlayerOptionOverride(1, "camerafollow", "0");
}
}
void libStEx_gf_TurnCinematicCameraOnOff (int lp_player, bool lp_onOff) {
// Automatic Variable Declarations
int auto756E83E4_val;
// Implementation
if ((libStEx_gv_simpleCinematic_CameraLocked2[lp_player] == lp_onOff)) {
return ;
}
libStEx_gv_simpleCinematic_CameraLocked2[lp_player] = lp_onOff;
if ((lp_onOff == true)) {
PlayerOptionOverride(lp_player, "camerafollow", "0");
CameraLockInput(lp_player, true);
}
else {
auto756E83E4_val = libCore_gv_sYSGameMode;
if (auto756E83E4_val == libCore_ge_GameModes_Tutorial1Deprecated) {
if ((libStEx_gv_sETutorialCameraLocked == true)) {
libStEx_gf_LockUnlockTutorialCamera(true);
}
else {
libStEx_gf_LockUnlockTutorialCamera(false);
}
}
else if (auto756E83E4_val == libCore_ge_GameModes_Tutorial1) {
PlayerOptionOverride(lp_player, "camerafollow", null);
}
else {
PlayerOptionOverride(lp_player, "camerafollow", null);
}
CameraLockInput(lp_player, false);
}
}
void libStEx_gf_CinematicModeTutorial (bool lp_onOff, playergroup lp_players, fixed lp_duration) {
// Variable Declarations
playergroup lv_validPlayers;
int lv_itPlayer;
unit lv_itUnit;
int lv_deathStunFrame;
// Automatic Variable Declarations
playergroup autoDD6E9A98_g;
playergroup auto7CFBEC26_g;
playergroup auto0202F0E6_g;
unitgroup autoF771BC5C_g;
int autoF771BC5C_u;
unitgroup autoB61E6A86_g;
int autoB61E6A86_u;
playergroup auto6C8C05E5_g;
playergroup auto797452B9_g;
// Variable Initialization
lv_validPlayers = PlayerGroupEmpty();
lv_deathStunFrame = c_invalidDialogControlId;
// Implementation
lv_validPlayers = PlayerGroupCopy(lp_players);
if ((lp_onOff == true)) {
auto7CFBEC26_g = lv_validPlayers;
lv_itPlayer = -1;
while (true) {
lv_itPlayer = PlayerGroupNextPlayer(auto7CFBEC26_g, lv_itPlayer);
if (lv_itPlayer<0) { break; }
if ((libNtve_gf_PlayerInCinematicMode(lv_itPlayer) == true)) {
PlayerGroupRemove(lv_validPlayers, lv_itPlayer);
}
}
if ((PlayerGroupCount(lv_validPlayers) == 0)) {
return ;
}
}
else {
autoDD6E9A98_g = lv_validPlayers;
lv_itPlayer = -1;
while (true) {
lv_itPlayer = PlayerGroupNextPlayer(autoDD6E9A98_g, lv_itPlayer);
if (lv_itPlayer<0) { break; }
if ((libNtve_gf_PlayerInCinematicMode(lv_itPlayer) == false)) {
PlayerGroupRemove(lv_validPlayers, lv_itPlayer);
}
}
if ((PlayerGroupCount(lv_validPlayers) == 0)) {
return ;
}
}
libNtve_gf_CinematicMode(lp_onOff, lv_validPlayers, lp_duration);
if ((lp_onOff == true)) {
UISetFrameVisible(lv_validPlayers, c_syncFrameTypeTextTag, false);
if ((libCore_gv_sYSGameMode != libCore_ge_GameModes_TutorialVeteran)) {
UnitGroupClear(libStEx_gv_sEUnitGroupRemovedRing);
autoB61E6A86_g = UnitGroup(null, c_playerAny, RegionEntireMap(), libCore_gv_filtersHeroic, 0);
autoB61E6A86_u = UnitGroupCount(autoB61E6A86_g, c_unitCountAll);
for (;; autoB61E6A86_u -= 1) {
lv_itUnit = UnitGroupUnitFromEnd(autoB61E6A86_g, autoB61E6A86_u);
if (lv_itUnit == null) { break; }
if ((UnitHasBehavior2(lv_itUnit, "VideoDebug") == false)) {
UnitGroupAdd(libStEx_gv_sEUnitGroupRemovedRing, lv_itUnit);
UnitBehaviorAddPlayer(lv_itUnit, "VideoDebug", UnitGetOwner(lv_itUnit), 1);
}
}
}
auto6C8C05E5_g = lv_validPlayers;
lv_itPlayer = -1;
while (true) {
lv_itPlayer = PlayerGroupNextPlayer(auto6C8C05E5_g, lv_itPlayer);
if (lv_itPlayer<0) { break; }
if ((lv_itPlayer <= libCore_gv_bALMaxPlayers) && (libGame_gv_players[lv_itPlayer].lv_heroUnit != null)) {
PlayerCreateEffectUnit(lv_itPlayer, "GodRayDestroyPersistent", libGame_gv_players[lv_itPlayer].lv_heroUnit);
}
}
auto797452B9_g = lv_validPlayers;
lv_itPlayer = -1;
while (true) {
lv_itPlayer = PlayerGroupNextPlayer(auto797452B9_g, lv_itPlayer);
if (lv_itPlayer<0) { break; }
libNtve_gf_StoreUnitSelection(lv_itPlayer, libNtve_ge_UnitSelectionStoreOption_ClearUnitSelection);
}
if (((libCore_gv_sYSGameMode == libCore_ge_GameModes_Tutorial1Deprecated) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_Tutorial1))) {
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenUpperContainer/ChatBar");
DialogControlSetPosition(DialogControlLastCreated(), PlayerGroupAll(), c_anchorBottom, 0, 10);
}
SetHeroLeaderPanelEnabled(false);
}
else {
if ((libStEx_gv_tutorialCinematicRestoreSelection == true)) {
auto0202F0E6_g = lv_validPlayers;
lv_itPlayer = -1;
while (true) {
lv_itPlayer = PlayerGroupNextPlayer(auto0202F0E6_g, lv_itPlayer);
if (lv_itPlayer<0) { break; }
libNtve_gf_RestoreUnitSelection(lv_itPlayer);
}
}
if ((libCore_gv_sYSGameMode != libCore_ge_GameModes_TutorialVeteran)) {
autoF771BC5C_g = libStEx_gv_sEUnitGroupRemovedRing;
autoF771BC5C_u = UnitGroupCount(autoF771BC5C_g, c_unitCountAll);
for (;; autoF771BC5C_u -= 1) {
lv_itUnit = UnitGroupUnitFromEnd(autoF771BC5C_g, autoF771BC5C_u);
if (lv_itUnit == null) { break; }
UnitBehaviorRemovePlayer(lv_itUnit, "VideoDebug", UnitGetOwner(lv_itUnit), 1);
}
UnitGroupClear(libStEx_gv_sEUnitGroupRemovedRing);
}
UISetFrameVisible(lv_validPlayers, c_syncFrameTypeTextTag, true);
if ((libCore_gv_sYSGameMode == libCore_ge_GameModes_Tutorial1Deprecated)) {
UISetHotkeyAllowed(PlayerGroupAll(), c_hotkeyCameraFollow, false);
}
if (((libCore_gv_sYSGameMode == libCore_ge_GameModes_Tutorial1Deprecated) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_Tutorial1) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_TutorialMapMechanics) || (libCore_gv_sYSGameMode == libCore_ge_GameModes_TutorialVeteran))) {
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/HeroDeathStunFrame");
lv_deathStunFrame = DialogControlLastCreated();
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/FullscreenUpperContainer/ChatBar");
DialogControlSetPositionRelative(DialogControlLastCreated(), PlayerGroupAll(), c_anchorBottom, lv_deathStunFrame, c_anchorTop, 0, 0);
}
if ((libCore_gv_sYSGameMode != libCore_ge_GameModes_Tutorial1Deprecated) && (libCore_gv_sYSGameMode != libCore_ge_GameModes_TutorialVeteran)) {
SetHeroLeaderPanelEnabled(true);
}
}
}
void libStEx_gf_SemiCinematicModeTutorial (bool lp_onOff, fixed lp_period) {
// Automatic Variable Declarations
// Implementation
if ((lp_onOff == true)) {
libStEx_gf_TurnCinematicCameraOnOff(1, true);
libStEx_gf_FreezeUnfreezeAllUnits(libStEx_ge_FreezeOptions_Freeze);
UISetCursorVisible(PlayerGroupAll(), false);
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsolePanel/GameHudBackFill");
DialogControlFadeTransparency(DialogControlLastCreated(), PlayerGroupAll(), lp_period, 100.0);
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/CommandPanel");
DialogControlFadeTransparency(DialogControlLastCreated(), PlayerGroupAll(), lp_period, 100.0);
}
else {
libStEx_gf_TurnCinematicCameraOnOff(1, false);
libStEx_gf_FreezeUnfreezeAllUnits(libStEx_ge_FreezeOptions_Unfrezze);
UISetCursorVisible(PlayerGroupAll(), true);
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsolePanel/GameHudBackFill");
DialogControlFadeTransparency(DialogControlLastCreated(), PlayerGroupAll(), lp_period, 0.0);
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer/ConsoleUIContainer/CommandPanel");
DialogControlFadeTransparency(DialogControlLastCreated(), PlayerGroupAll(), lp_period, 0.0);
}
}
void libStEx_gf_GlobalCinematicSettingTutorial (bool lp_onOff) {
// Automatic Variable Declarations
// Implementation
libNtve_gf_GlobalCinematicSetting(lp_onOff);
if ((lp_onOff == false)) {
GameSetSpeedLocked(true);
}
}
text libStEx_gf_CameraLockHotkeyText () {
// Automatic Variable Declarations
// Implementation
if ((libCore_gv_sYSGameMode == libCore_ge_GameModes_Tutorial1Deprecated)) {
return StringExternal("Param/Value/lib_StEx_CD8C6CA4");
}
else {
TextExpressionSetToken("Param/Expression/lib_StEx_FD910C68", "A", StringExternal("Param/Value/lib_StEx_E5D4F3E4"));
return TextExpressionAssemble("Param/Expression/lib_StEx_FD910C68");
}
}
trigger auto_libStEx_gf_CinematicFade_Trigger = null;
bool auto_libStEx_gf_CinematicFade_lp_fadeIn;
fixed auto_libStEx_gf_CinematicFade_lp_duration;
color auto_libStEx_gf_CinematicFade_lp_color;
int auto_libStEx_gf_CinematicFade_lp_player;
void libStEx_gf_CinematicFade (bool lp_fadeIn, fixed lp_duration, color lp_color, int lp_player) {
auto_libStEx_gf_CinematicFade_lp_fadeIn = lp_fadeIn;
auto_libStEx_gf_CinematicFade_lp_duration = lp_duration;
auto_libStEx_gf_CinematicFade_lp_color = lp_color;
auto_libStEx_gf_CinematicFade_lp_player = lp_player;
if (auto_libStEx_gf_CinematicFade_Trigger == null) {
auto_libStEx_gf_CinematicFade_Trigger = TriggerCreate("auto_libStEx_gf_CinematicFade_TriggerFunc");
}
TriggerExecute(auto_libStEx_gf_CinematicFade_Trigger, false, false);
}
bool auto_libStEx_gf_CinematicFade_TriggerFunc (bool testConds, bool runActions) {
bool lp_fadeIn = auto_libStEx_gf_CinematicFade_lp_fadeIn;
fixed lp_duration = auto_libStEx_gf_CinematicFade_lp_duration;
color lp_color = auto_libStEx_gf_CinematicFade_lp_color;
int lp_player = auto_libStEx_gf_CinematicFade_lp_player;
// Variable Declarations
int lv_control;
// Automatic Variable Declarations
// Variable Initialization
lv_control = c_invalidDialogControlId;
// Implementation
DialogControlHookupStandard(c_triggerControlTypeImage, "FadeImagePlayer");
lv_control = DialogControlLastCreated();
DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[lp_player], true);
libNtve_gf_SetDialogItemColor(DialogControlLastCreated(), lp_color, libCore_gv_playerGroupFromPlayer[lp_player]);
if ((lp_fadeIn == true)) {
DialogControlFadeTransparency(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[lp_player], 0.0, 0.0);
DialogControlFadeTransparency(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[lp_player], lp_duration, 100.0);
Wait(lp_duration, c_timeGame);
DialogControlSetVisible(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[lp_player], false);
}
else {
DialogControlFadeTransparency(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[lp_player], 0.0, 100.0);
DialogControlFadeTransparency(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[lp_player], lp_duration, 0.0);
}
return true;
}
playergroup libStEx_gf_MapMechanicIntroPlayers () {
// Automatic Variable Declarations
// Implementation
return libStEx_gv_sEMMIntroPlayersWatching;
}
void libStEx_gf_SetMapMechanicTutorialCallback (trigger lp_callback) {
// Automatic Variable Declarations
// Implementation
libStEx_gv_sEMMIntroCallback = lp_callback;
}
void libStEx_gf_SetMapMechanicTutorialCallbackPrepareCleanup (trigger lp_callbackPrepare, trigger lp_callbackCleanup) {
// Automatic Variable Declarations
// Implementation
libStEx_gv_sEMMIntroCallbackPrepare = lp_callbackPrepare;
libStEx_gv_sEMMIntroCallbackCleanup = lp_callbackCleanup;
}
trigger auto_libStEx_gf_PlayMapMechanicTutorial_Trigger = null;
void libStEx_gf_PlayMapMechanicTutorial () {
if (auto_libStEx_gf_PlayMapMechanicTutorial_Trigger == null) {
auto_libStEx_gf_PlayMapMechanicTutorial_Trigger = TriggerCreate("auto_libStEx_gf_PlayMapMechanicTutorial_TriggerFunc");
}
TriggerExecute(auto_libStEx_gf_PlayMapMechanicTutorial_Trigger, false, false);
}
bool auto_libStEx_gf_PlayMapMechanicTutorial_TriggerFunc (bool testConds, bool runActions) {
// Variable Declarations
int lv_itPlayer;
int lv_itCutscene;
int lv_heroModelPickedCount;
const int lv_heroModelPickedTotalCount_C = 4;
string lv_heroModel;
actor[lv_heroModelPickedTotalCount_C + 1] lv_heroActors;
playergroup lv_players;
playergroup lv_playersModelGood;
int lv_playerHeroIndex;
int lv_itIndex;
playergroup lv_playersFinished;
string[11] lv_availableHero;
int lv_itAvailableHeroIndex;
string[11] lv_usedHero;
int lv_usedHeroCount;
int lv_itUsedHeroIndex;
bool lv_heroUsed;
string lv_filter;
// Automatic Variable Declarations
const int autoD146BB97_ae = libCore_gv_bALMaxPlayers;
const int autoD146BB97_ai = 1;
const int auto5AA971D1_ae = libCore_gv_bALMaxTeams;
const int auto5AA971D1_ai = 1;
playergroup auto90121117_g;
playergroup autoC85A5C0E_g;
const int auto94DB76D7_ae = 4;
const int auto94DB76D7_ai = 1;
int auto3D71EA53_ae;
const int auto3D71EA53_ai = 1;
playergroup auto0AC6F8C5_g;
playergroup auto8B09191C_g;
int autoAB371E74_ae;
const int autoAB371E74_ai = 1;
// Variable Initialization
lv_players = PlayerGroupEmpty();
lv_playersModelGood = PlayerGroupEmpty();
lv_playersFinished = PlayerGroupEmpty();
lv_filter = "";
// Implementation
if (((libCore_gv_mAPMapStringID == "") || (libCore_gv_sYSGameMode != libCore_ge_GameModes_Normal))) {
return true;
}
else {
if ((libMapM_gf_MapMechanicExistsOnMap("BattlefieldOfEternity") == true)) {
libStEx_gf_MapCutsceneAdd("Cutscenes\\\\Tutorial_BattlefieldOfEternity", "", "Cutscenes\\Tutorial_BattlefieldOfEternity.StormCutscene", "Cutscenes\\Tutorial_BattlefieldOfEternity.StormCutscene");
}
else {
if ((libMapM_gf_MapMechanicExistsOnMap("BlackheartsBay") == true)) {
libStEx_gf_MapCutsceneAdd("Cutscenes\\Tutorial_BlackheartsBay.StormCutscene", "Cutscenes\\Tutorial_BlackheartsBay_other.StormCutscene", "Cutscenes\\Tutorial_BlackheartsBay.StormCutscene", "Cutscenes\\Tutorial_BlackheartsBay_other.StormCutscene");
}
else {
if ((libMapM_gf_MapMechanicExistsOnMap("HoldOut") == true)) {
libStEx_gf_MapCutsceneAdd("Cutscenes\\Tutorial_BraxisHoldout", "", "Cutscenes\\Tutorial_BraxisHoldout.StormCutscene", "Cutscenes\\Tutorial_BraxisHoldout.StormCutscene");
}
else {
if ((libMapM_gf_MapMechanicExistsOnMap("CursedHollow") == true)) {
libStEx_gf_MapCutsceneAdd("Cutscenes\\Tutorial_CursedHollow.StormCutscene", "Cutscenes\\Tutorial_CursedHollow_other.StormCutscene", "Cutscenes\\Tutorial_CursedHollow.StormCutscene", "Cutscenes\\Tutorial_CursedHollow_other.StormCutscene");
}
else {
if ((libMapM_gf_MapMechanicExistsOnMap("DragonShire") == true)) {
libStEx_gf_MapCutsceneAdd("Cutscenes\\Tutorial_Dragonshire.StormCutscene", "Cutscenes\\Tutorial_Dragonshire_other.StormCutscene", "Cutscenes\\Tutorial_Dragonshire.StormCutscene", "Cutscenes\\Tutorial_Dragonshire_other.StormCutscene");
}
else {
if ((libMapM_gf_MapMechanicExistsOnMap("GardenOfTerror") == true)) {
libStEx_gf_MapCutsceneAdd("Cutscenes\\Tutorial_GardenOfTerror.StormCutscene", "Cutscenes\\Tutorial_GardenOfTerror_other.StormCutscene", "Cutscenes\\Tutorial_GardenOfTerror.StormCutscene", "Cutscenes\\Tutorial_GardenOfTerror_other.StormCutscene");
}
else {
if ((libMapM_gf_MapMechanicExistsOnMap("HauntedMines") == true)) {
libStEx_gf_MapCutsceneAdd("Cutscenes\\Tutorial_HauntedMines.StormCutscene", "Cutscenes\\Tutorial_HauntedMines_other.StormCutscene", "Cutscenes\\Tutorial_HauntedMines.StormCutscene", "Cutscenes\\Tutorial_HauntedMines_other.StormCutscene");
}
else {
if ((libMapM_gf_MapMechanicExistsOnMap("InfernalShrines") == true)) {
libStEx_gf_MapCutsceneAdd("Cutscenes\\Tutorial_InfernalShrines", "", "Cutscenes\\Tutorial_InfernalShrines.StormCutscene", "Cutscenes\\Tutorial_InfernalShrines.StormCutscene");
}
else {
if ((libMapM_gf_MapMechanicExistsOnMap("SkyTemple") == true)) {
libStEx_gf_MapCutsceneAdd("Cutscenes\\Tutorial_SkyTemple.StormCutscene", "", "Cutscenes\\Tutorial_SkyTemple.StormCutscene", "Cutscenes\\Tutorial_SkyTemple.StormCutscene");
}
else {
if ((libMapM_gf_MapMechanicExistsOnMap("TombOfTheSpiderQueen") == true)) {
libStEx_gf_MapCutsceneAdd("Cutscenes\\Tutorial_TombOfTheSpiderQueen", "", "Cutscenes\\Tutorial_TombOfTheSpiderQueen.StormCutscene", "Cutscenes\\Tutorial_TombOfTheSpiderQueen.StormCutscene");
}
else {
if ((libMapM_gf_MapMechanicExistsOnMap("TowersOfDoom") == true)) {
libStEx_gf_MapCutsceneAdd("Cutscenes\\Tutorial_TowersOfDoom", "", "Cutscenes\\Tutorial_TowersOfDoom.StormCutscene", "Cutscenes\\Tutorial_TowersOfDoom.StormCutscene");
}
else {
if ((libMapM_gf_MapMechanicExistsOnMap("WarheadJunction") == true)) {
libStEx_gf_MapCutsceneAdd("Cutscenes\\Tutorial_WarheadJunction", "", ("Cutscenes\\Tutorial_WarheadJunction.StormCutscene"), ("Cutscenes\\Tutorial_WarheadJunction.StormCutscene"));
}
}
}
}
}
}
}
}
}
}
}
}
}
if (((libStEx_gv_mapCutsceneFiles[1] == null) || (libStEx_gv_mapCutsceneFiles[2] == null))) {
return true;
}
PlayerGroupClear(libStEx_gv_sEMMIntroPlayersWatching);
PlayerGroupClear(libStEx_gv_sEMMIntroPlayersInitiallyWatching);
lv_itPlayer = 1;
for ( ; ( (autoD146BB97_ai >= 0 && lv_itPlayer <= autoD146BB97_ae) || (autoD146BB97_ai < 0 && lv_itPlayer >= autoD146BB97_ae) ) ; lv_itPlayer += autoD146BB97_ai ) {
if ((PlayerStatus(lv_itPlayer) != c_playerStatusUnused) && (PlayerType(lv_itPlayer) == c_playerTypeUser)) {
if (((libStEx_gf_InTrainingMode() == true) || (libStEx_gf_InPracticeMode() == true))) {
PlayerGroupAdd(libStEx_gv_sEMMIntroPlayersWatching, lv_itPlayer);
PlayerGroupAdd(libStEx_gv_sEMMIntroPlayersInitiallyWatching, lv_itPlayer);
}
}
}
if ((PlayerGroupCount(libStEx_gv_sEMMIntroPlayersWatching) <= 0)) {
return true;
}
if ((libStEx_gf_GameIsSinglePlayer() == true)) {
libGame_gv_heroSpawnReady = false;
}
lv_itCutscene = 1;
for ( ; ( (auto5AA971D1_ai >= 0 && lv_itCutscene <= auto5AA971D1_ae) || (auto5AA971D1_ai < 0 && lv_itCutscene >= auto5AA971D1_ae) ) ; lv_itCutscene += auto5AA971D1_ai ) {
if ((libStEx_gv_mapCutsceneStrings[lv_itCutscene] != "")) {
PreloadAsset(libStEx_gv_mapCutsceneStrings[lv_itCutscene], false);
}
}
auto90121117_g = libStEx_gv_sEMMIntroPlayersWatching;
lv_itPlayer = -1;
while (true) {
lv_itPlayer = PlayerGroupNextPlayer(auto90121117_g, lv_itPlayer);
if (lv_itPlayer<0) { break; }
libStEx_gf_CinematicFade(false, 0.0, Color(0.00, 0.00, 0.00), lv_itPlayer);
CutsceneFade(false, 0.0, Color(0,0,0), 0.0, libCore_gv_playerGroupFromPlayer[lv_itPlayer], false);
}
while (!((libGame_gv_heroPickDone == true))) {
Wait(0.0625, c_timeGame);
}
libNtve_gf_AddPlayerGroupToPlayerGroup(libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamOrderIndex_C, false), lv_players);
libNtve_gf_AddPlayerGroupToPlayerGroup(libGame_gf_PlayersOnTeamHeroes(libGame_gv_teamChaosIndex_C, false), lv_players);
autoC85A5C0E_g = lv_players;
lv_itPlayer = -1;
while (true) {
lv_itPlayer = PlayerGroupNextPlayer(autoC85A5C0E_g, lv_itPlayer);
if (lv_itPlayer<0) { break; }
if ((libGame_gv_players[lv_itPlayer].lv_heroIndex > 0) && (libGame_gv_players[lv_itPlayer].lv_heroData.lv_heroCatalogLink != null) && (CatalogFieldValueGet(c_gameCatalogHero, libGame_gv_players[lv_itPlayer].lv_heroData.lv_heroCatalogLink, "Flags[ExcludeFromMapIntro]", c_playerAny) != "1")) {
PlayerGroupAdd(lv_playersModelGood, lv_itPlayer);
}
}
while (true) {
if (((lv_heroModelPickedCount >= lv_heroModelPickedTotalCount_C) || (PlayerGroupCount(lv_playersModelGood) == 0))) {
break;
}
lv_itPlayer = PlayerGroupPlayer(lv_playersModelGood, RandomInt(1, PlayerGroupCount(lv_playersModelGood)));
lv_playerHeroIndex = lv_itPlayer;
PlayerGroupRemove(lv_playersModelGood, lv_itPlayer);
lv_heroModel = (CatalogFieldValueGet(c_gameCatalogHero, libGame_gv_players[lv_itPlayer].lv_heroData.lv_heroCatalogLink, "Model", c_playerAny));
if ((lv_heroModel != null)) {
lv_heroModelPickedCount += 1;
lv_usedHero[lv_heroModelPickedCount] = libGame_gv_players[lv_itPlayer].lv_heroData.lv_heroCatalogLink;
libNtve_gf_CreateModelAtPoint(lv_heroModel, RegionGetBoundsMax(RegionPlayableMap()));
lv_heroActors[lv_heroModelPickedCount] = libNtve_gf_ActorLastCreated();
ActorSend(libNtve_gf_ActorLastCreated(), "ExternalFinderAdd");
ActorSend(libNtve_gf_ActorLastCreated(), (("AliasAdd HeroModel_" + IntToString(lv_heroModelPickedCount))));
}
}
if ((lv_heroModelPickedCount < lv_heroModelPickedTotalCount_C)) {
lv_availableHero[1] = "Raynor";
lv_availableHero[2] = "Tyrael";
lv_availableHero[3] = "DemonHunter";
lv_availableHero[4] = "Arthas";
lv_itAvailableHeroIndex = 1;
lv_usedHeroCount = lv_heroModelPickedCount;
lv_itAvailableHeroIndex = 1;
for ( ; ( (auto94DB76D7_ai >= 0 && lv_itAvailableHeroIndex <= auto94DB76D7_ae) || (auto94DB76D7_ai < 0 && lv_itAvailableHeroIndex >= auto94DB76D7_ae) ) ; lv_itAvailableHeroIndex += auto94DB76D7_ai ) {
lv_heroUsed = false;
auto3D71EA53_ae = lv_usedHeroCount;
lv_itUsedHeroIndex = 1;
for ( ; ( (auto3D71EA53_ai >= 0 && lv_itUsedHeroIndex <= auto3D71EA53_ae) || (auto3D71EA53_ai < 0 && lv_itUsedHeroIndex >= auto3D71EA53_ae) ) ; lv_itUsedHeroIndex += auto3D71EA53_ai ) {
if ((lv_usedHero[lv_itUsedHeroIndex] == lv_availableHero[lv_itAvailableHeroIndex])) {
lv_heroUsed = true;
break;
}
}
if ((lv_heroUsed == true)) {
continue;
}
lv_heroModel = (CatalogFieldValueGet(c_gameCatalogHero, lv_availableHero[lv_itAvailableHeroIndex], "Model", c_playerAny));
if ((lv_heroModel != null)) {
lv_heroModelPickedCount += 1;
libNtve_gf_CreateModelAtPoint(lv_heroModel, RegionGetBoundsMax(RegionPlayableMap()));
lv_heroActors[lv_heroModelPickedCount] = libNtve_gf_ActorLastCreated();
ActorSend(libNtve_gf_ActorLastCreated(), "ExternalFinderAdd");
ActorSend(libNtve_gf_ActorLastCreated(), (("AliasAdd HeroModel_" + IntToString(lv_heroModelPickedCount))));
if ((lv_heroModelPickedCount >= lv_heroModelPickedTotalCount_C)) {
break;
}
}
}
}
if ((libStEx_gv_sEMMIntroCallback != null)) {
TriggerExecute(libStEx_gv_sEMMIntroCallback, true, false);
}
if ((libStEx_gv_sEMMIntroCallbackPrepare != null)) {
TriggerExecute(libStEx_gv_sEMMIntroCallbackPrepare, true, false);
}
auto0AC6F8C5_g = libStEx_gv_sEMMIntroPlayersWatching;
lv_itPlayer = -1;
while (true) {
lv_itPlayer = PlayerGroupNextPlayer(auto0AC6F8C5_g, lv_itPlayer);
if (lv_itPlayer<0) { break; }
if ((libGame_gf_TeamNumberOfPlayer(lv_itPlayer) == libGame_gv_teamChaosIndex_C)) {
libMapM_gf_PlayMapMechanicIntroForPlayer(lv_itPlayer, libStEx_gv_mapCutsceneFiles[2], lv_filter);
}
else {
libMapM_gf_PlayMapMechanicIntroForPlayer(lv_itPlayer, libStEx_gv_mapCutsceneFiles[1], lv_filter);
}
}
TriggerExecute(libStEx_gt_SEMMHideHeroes, true, false);
while (true) {
PlayerGroupClear(lv_playersFinished);
auto8B09191C_g = libStEx_gv_sEMMIntroPlayersWatching;
lv_itPlayer = -1;
while (true) {
lv_itPlayer = PlayerGroupNextPlayer(auto8B09191C_g, lv_itPlayer);
if (lv_itPlayer<0) { break; }
if ((libMapM_gf_MapMechanicIntroFinished(lv_itPlayer) == true)) {
PlayerGroupAdd(lv_playersFinished, lv_itPlayer);
}
}
if ((PlayerGroupCount(lv_playersFinished) > 0)) {
libNtve_gf_RemovePlayerGroupFromPlayerGroup(lv_playersFinished, libStEx_gv_sEMMIntroPlayersWatching);
if ((libStEx_gv_sEMMIntroCallbackCleanup != null)) {
TriggerExecute(libStEx_gv_sEMMIntroCallbackCleanup, true, false);
}
}
if ((PlayerGroupCount(libStEx_gv_sEMMIntroPlayersWatching) == 0)) {
break;
}
Wait(0.0625, c_timeGame);
}
libGame_gv_heroSpawnReady = true;
autoAB371E74_ae = lv_heroModelPickedCount;
lv_itIndex = 1;
for ( ; ( (autoAB371E74_ai >= 0 && lv_itIndex <= autoAB371E74_ae) || (autoAB371E74_ai < 0 && lv_itIndex >= autoAB371E74_ae) ) ; lv_itIndex += autoAB371E74_ai ) {
ActorSend(lv_heroActors[lv_itIndex], "Destroy Immediate");
}
return true;
}
void libStEx_gf_SetMapStartupVideo (string lp_movie) {
// Automatic Variable Declarations
// Implementation
libStEx_gv_tradeShowMovieLink = lp_movie;
}
string libStEx_gf_HotkeyProfile_MouseButtonImage (int lp_mouseButton) {
// Automatic Variable Declarations
int auto22816B09_val;
// Implementation
auto22816B09_val = lp_mouseButton;
if (auto22816B09_val == libStEx_ge_MouseButton_LeftButton) {
return "Assets\\Textures\\ui_tutorial_mouseleftbuttondown.dds";
}
else if (auto22816B09_val == libStEx_ge_MouseButton_RightButton) {
return "Assets\\Textures\\ui_tutorial_mouserightbuttondown.dds";
}
else {
}
return null;
}
text libStEx_gf_HotkeyProfile_MouseButtonImageStringTag (int lp_mouseButton, int lp_width, int lp_height) {
// Variable Declarations
text lv_value;
int lv_width_L;
int lv_height_L;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
lv_width_L = lp_width;
lv_height_L = lp_height;
if ((lv_width_L <= 0)) {
lv_width_L = libStEx_gv_sEC_MouseButtonWidth;
}
if ((lv_height_L <= 0)) {
lv_height_L = libStEx_gv_sEC_MouseButtonHeight;
}
TextExpressionSetToken("Param/Expression/lib_StEx_1B0DBA0D", "A", StringToText((libStEx_gf_HotkeyProfile_MouseButtonImage(lp_mouseButton))));
TextExpressionSetToken("Param/Expression/lib_StEx_1B0DBA0D", "B", IntToText(lv_width_L));
TextExpressionSetToken("Param/Expression/lib_StEx_1B0DBA0D", "C", IntToText(lv_height_L));
lv_value = TextExpressionAssemble("Param/Expression/lib_StEx_1B0DBA0D");
return lv_value;
}
text libStEx_gf_HotkeyProfile_MouseButtonText (int lp_mouseButton) {
// Automatic Variable Declarations
int auto6D367A5D_val;
// Implementation
auto6D367A5D_val = lp_mouseButton;
if (auto6D367A5D_val == libStEx_ge_MouseButton_LeftButton) {
return StringExternal("Param/Value/lib_StEx_963CE12D");
}
else if (auto6D367A5D_val == libStEx_ge_MouseButton_RightButton) {
return StringExternal("Param/Value/lib_StEx_8F25EE33");
}
else {
}
return StringExternal("Param/Value/lib_StEx_70B526BF");
}
int libStEx_gf_HotkeyProfile_SmartCommandMouseButton (int lp_player) {
// Automatic Variable Declarations
// Implementation
return libStEx_gv_sE_MoveMouseButton;
}
void libStEx_gf_HotkeyProfile_SetSmartCommandMouseButton (int lp_player, int lp_button) {
// Variable Declarations
string lv_profile;
// Automatic Variable Declarations
int autoDC44CD62_val;
// Variable Initialization
lv_profile = "";
// Implementation
libStEx_gv_sE_MoveMouseButton = lp_button;
autoDC44CD62_val = lp_button;
if (autoDC44CD62_val == libStEx_ge_MouseButton_LeftButton) {
lv_profile = libStEx_gv_sEC_HotkeyProfile_LeftClick;
}
else if (autoDC44CD62_val == libStEx_ge_MouseButton_RightButton) {
lv_profile = libStEx_gv_sEC_HotkeyProfile_RightClick;
}
else {
lv_profile = libStEx_gv_sEC_HotkeyProfile_RightClick;
}
UISetHotkeyProfile(libCore_gv_playerGroupFromPlayer[lp_player], lv_profile);
}
void libStEx_gf_HotkeyProfile_LoadSmartCommandMouseButtonProfile (int lp_player) {
// Automatic Variable Declarations
string auto000E9E93_val;
// Implementation
auto000E9E93_val = PlayerGetHotkeyProfile(lp_player);
if (auto000E9E93_val == libStEx_gv_sEC_HotkeyProfile_LeftClick) {
libStEx_gv_sE_MoveMouseButton = libStEx_ge_MouseButton_LeftButton;
}
else if (auto000E9E93_val == libStEx_gv_sEC_HotkeyProfile_RightClick) {
libStEx_gv_sE_MoveMouseButton = libStEx_ge_MouseButton_RightButton;
}
else {
libStEx_gv_sE_MoveMouseButton = libStEx_ge_MouseButton_RightButton;
}
}
void libStEx_gf_FreezeUnfreezeAllUnits (int lp_freezeOptions) {
// Variable Declarations
unit lv_indexUnit;
int lv_indexPlayer;
// Automatic Variable Declarations
unitgroup auto272E39FD_g;
int auto272E39FD_u;
const int autoA8B89EDC_ae = libCore_gv_bALMaxPlayers;
const int autoA8B89EDC_ai = 1;
unitgroup autoB6CD080F_g;
int autoB6CD080F_u;
const int auto834CCB86_ae = libCore_gv_bALMaxPlayers;
const int auto834CCB86_ai = 1;
// Variable Initialization
// Implementation
if ((lp_freezeOptions == libStEx_ge_FreezeOptions_Freeze)) {
libStEx_gv_sE_FreezeUnitsGameTimerUnpaused = true;
TimerPause(libGame_gv_gameTimer, true);
UnitPauseAll(true);
libStEx_gv_sE_FrozenUnits = UnitGroup(null, c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
autoB6CD080F_g = libStEx_gv_sE_FrozenUnits;
autoB6CD080F_u = UnitGroupCount(autoB6CD080F_g, c_unitCountAll);
for (;; autoB6CD080F_u -= 1) {
lv_indexUnit = UnitGroupUnitFromEnd(autoB6CD080F_g, autoB6CD080F_u);
if (lv_indexUnit == null) { break; }
libNtve_gf_SendActorMessageToUnit(lv_indexUnit, "AnimSetPausedAll");
}
lv_indexPlayer = 1;
for ( ; ( (auto834CCB86_ai >= 0 && lv_indexPlayer <= auto834CCB86_ae) || (auto834CCB86_ai < 0 && lv_indexPlayer >= auto834CCB86_ae) ) ; lv_indexPlayer += auto834CCB86_ai ) {
if ((libGame_gv_players[lv_indexPlayer].lv_heroUnit != null)) {
libNtve_gf_SendActorMessageToUnit(libGame_gv_players[lv_indexPlayer].lv_heroUnit, "AnimSetPausedAll 0");
}
}
libGame_gf_MinionPauseUnpauseMinionSystem(true);
}
else {
if ((libStEx_gv_sE_FreezeUnitsGameTimerUnpaused == true)) {
TimerPause(libGame_gv_gameTimer, false);
libStEx_gv_sE_FreezeUnitsGameTimerUnpaused = false;
}
UnitPauseAll(false);
auto272E39FD_g = libStEx_gv_sE_FrozenUnits;
auto272E39FD_u = UnitGroupCount(auto272E39FD_g, c_unitCountAll);
for (;; auto272E39FD_u -= 1) {
lv_indexUnit = UnitGroupUnitFromEnd(auto272E39FD_g, auto272E39FD_u);
if (lv_indexUnit == null) { break; }
libNtve_gf_SendActorMessageToUnit(lv_indexUnit, "AnimSetPausedAll 0");
}
lv_indexPlayer = 1;
for ( ; ( (autoA8B89EDC_ai >= 0 && lv_indexPlayer <= autoA8B89EDC_ae) || (autoA8B89EDC_ai < 0 && lv_indexPlayer >= autoA8B89EDC_ae) ) ; lv_indexPlayer += autoA8B89EDC_ai ) {
if ((libGame_gv_players[lv_indexPlayer].lv_heroUnit != null)) {
UnitXPGainEnable(libGame_gv_players[lv_indexPlayer].lv_heroUnit, null, true);
}
}
libGame_gf_MinionPauseUnpauseMinionSystem(false);
}
}
void libStEx_gf_FreezeUnfreezeUnit (int lp_freezeOptions, unit lp_target) {
// Automatic Variable Declarations
// Implementation
if ((lp_freezeOptions == libStEx_ge_FreezeOptions_Freeze)) {
UnitGroupAdd(libStEx_gv_sE_FrozenUnits, lp_target);
libNtve_gf_PauseUnit(lp_target, true);
libNtve_gf_SendActorMessageToUnit(lp_target, "AnimSetPausedAll");
}
else {
UnitGroupRemove(libStEx_gv_sE_FrozenUnits, lp_target);
libNtve_gf_PauseUnit(lp_target, false);
libNtve_gf_SendActorMessageToUnit(lp_target, "AnimSetPausedAll 0");
}
}
void libStEx_gf_SetTrainingMode (bool lp_mode) {
// Automatic Variable Declarations
// Implementation
libStEx_gv_sE_TrainingMode = lp_mode;
}
bool libStEx_gf_InTrainingMode () {
// Automatic Variable Declarations
// Implementation
if ((libStEx_gv_sE_TrainingMode == true)) {
return true;
}
return libStEx_gf_InPracticeMode();
}
bool libStEx_gf_InPracticeMode () {
// Automatic Variable Declarations
// Implementation
if ((libCore_gv_sYSGameMode != libCore_ge_GameModes_Normal)) {
return false;
}
return GameIsPractice();
}
void libStEx_gf_SE_ShowHideTalentPortraitFlashingImage (bool lp_showHide) {
// Automatic Variable Declarations
// Implementation
if ((libStEx_gv_sE_TrainingModeTalentPanelFlashingImage == c_invalidDialogControlId)) {
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer\\ConsolePanel\\TutorialPortraitHighlight");
libStEx_gv_sE_TrainingModeTalentPanelFlashingImage = DialogControlLastCreated();
}
DialogControlSetVisible(libStEx_gv_sE_TrainingModeTalentPanelFlashingImage, PlayerGroupAll(), lp_showHide);
}
int libStEx_gf_SE_TrainingModeTipCount () {
// Automatic Variable Declarations
// Implementation
return ((libStEx_ge_SE_TrainingModeTips_NewUserTip_Last) - 1);
}
void libStEx_gf_SE_TrainingModeTipSetDisplayed (int lp_tip) {
// Variable Declarations
string lv_bankKey;
// Automatic Variable Declarations
// Variable Initialization
lv_bankKey = "";
// Implementation
libStEx_gv_sE_TrainingModeTips[(lp_tip)].lv_doneTimes += 1;
lv_bankKey = (libStEx_gv_sE_TrainingModeBankkey_Tip_C + IntToString((lp_tip)));
BankValueSetFromInt(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank, libStEx_gv_sE_TrainingModeBankSection_C, lv_bankKey, libStEx_gv_sE_TrainingModeTips[(lp_tip)].lv_doneTimes);
BankSave(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank);
}
bool libStEx_gf_SE_TrainingModeTipIsOld (int lp_tip) {
// Automatic Variable Declarations
int autoAE3162CA_val;
// Implementation
autoAE3162CA_val = lp_tip;
if (autoAE3162CA_val == libStEx_ge_SE_TrainingModeTips_Talents) {
return (libStEx_gv_sE_TrainingModeTips[(lp_tip)].lv_doneTimes > 20);
}
else if (autoAE3162CA_val == libStEx_ge_SE_TrainingModeTips_Mana) {
return (libStEx_gv_sE_TrainingModeTips[(lp_tip)].lv_doneTimes > 3);
}
else if (autoAE3162CA_val == libStEx_ge_SE_TrainingModeTips_Mount) {
return (libStEx_gv_sE_TrainingModeTips[(lp_tip)].lv_doneTimes > 40);
}
else if (autoAE3162CA_val == libStEx_ge_SE_TrainingModeTips_Hearthstone) {
return (libStEx_gv_sE_TrainingModeTips[(lp_tip)].lv_doneTimes > 2);
}
else if (autoAE3162CA_val == libStEx_ge_SE_TrainingModeTips_HealingFountain) {
return (libStEx_gv_sE_TrainingModeTips[(lp_tip)].lv_doneTimes > 3);
}
else {
}
return (libStEx_gv_sE_TrainingModeTips[(lp_tip)].lv_doneTimes > 0);
}
trigger auto_libStEx_gf_SE_TrainingModeTipDisplay_Trigger = null;
int auto_libStEx_gf_SE_TrainingModeTipDisplay_lp_tip;
void libStEx_gf_SE_TrainingModeTipDisplay (int lp_tip) {
auto_libStEx_gf_SE_TrainingModeTipDisplay_lp_tip = lp_tip;
if (auto_libStEx_gf_SE_TrainingModeTipDisplay_Trigger == null) {
auto_libStEx_gf_SE_TrainingModeTipDisplay_Trigger = TriggerCreate("auto_libStEx_gf_SE_TrainingModeTipDisplay_TriggerFunc");
}
TriggerExecute(auto_libStEx_gf_SE_TrainingModeTipDisplay_Trigger, false, false);
}
bool auto_libStEx_gf_SE_TrainingModeTipDisplay_TriggerFunc (bool testConds, bool runActions) {
int lp_tip = auto_libStEx_gf_SE_TrainingModeTipDisplay_lp_tip;
// Automatic Variable Declarations
// Implementation
if ((libStEx_gv_sE_TrainingModeTipDialog != c_invalidDialogId)) {
DialogDestroy(libStEx_gv_sE_TrainingModeTipDialog);
libStEx_gv_sE_TrainingModeTipDialog = c_invalidDialogId;
}
libStEx_gv_sE_TrainingModeTipDisplaying = true;
SoundPlayForPlayer(SoundLink("UI_CampaignHintNotify", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
DialogCreate(1000, 100, c_anchorBottom, 0, 160, true);
libStEx_gv_sE_TrainingModeTipDialog = DialogLastCreated();
DialogSetImageVisible(DialogLastCreated(), false);
TextExpressionSetToken("Param/Expression/lib_StEx_9B5ACB60", "A", libStEx_gv_sE_TrainingModeTips[(lp_tip)].lv_description);
libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 200, 50, c_anchorCenter, 50, 50, TextExpressionAssemble("Param/Expression/lib_StEx_9B5ACB60"), ColorWithAlpha(0,0,0,0), false, 2.0);
DialogControlSetFullDialog(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libStEx_gv_sE_Player], true);
DialogSetVisible(DialogLastCreated(), libCore_gv_playerGroupFromPlayer[libStEx_gv_sE_Player], true);
libStEx_gf_SE_TrainingModeTipPlayTransmission(lp_tip);
Wait(libStEx_gv_sE_TrainingModeTipDuration_C, c_timeGame);
DialogControlFadeTransparency(DialogControlLastCreated(), libCore_gv_playerGroupFromPlayer[libStEx_gv_sE_Player], 2.0, 100.0);
Wait(2.0, c_timeGame);
DialogDestroy(DialogLastCreated());
libStEx_gv_sE_TrainingModeTipDialog = c_invalidDialogId;
Wait(5.0, c_timeGame);
libStEx_gv_sE_TrainingModeTipDisplaying = false;
return true;
}
trigger auto_libStEx_gf_SE_TrainingModeTipPlayTransmission_Trigger = null;
int auto_libStEx_gf_SE_TrainingModeTipPlayTransmission_lp_tip;
void libStEx_gf_SE_TrainingModeTipPlayTransmission (int lp_tip) {
auto_libStEx_gf_SE_TrainingModeTipPlayTransmission_lp_tip = lp_tip;
if (auto_libStEx_gf_SE_TrainingModeTipPlayTransmission_Trigger == null) {
auto_libStEx_gf_SE_TrainingModeTipPlayTransmission_Trigger = TriggerCreate("auto_libStEx_gf_SE_TrainingModeTipPlayTransmission_TriggerFunc");
}
TriggerExecute(auto_libStEx_gf_SE_TrainingModeTipPlayTransmission_Trigger, false, false);
}
bool auto_libStEx_gf_SE_TrainingModeTipPlayTransmission_TriggerFunc (bool testConds, bool runActions) {
int lp_tip = auto_libStEx_gf_SE_TrainingModeTipPlayTransmission_lp_tip;
// Automatic Variable Declarations
// Implementation
Wait(1.0, c_timeGame);
TriggerQueueEnter();
libCore_gf_SetAllSoundChannelVolumesStandardTiming(libNtve_ge_VolumeChannelMode_Speech, PlayerGroupAll());
libCore_gf_SendTransmissionCampaign(null, libStEx_gv_sE_TrainingModeTips[(lp_tip)].lv_vO, c_transmissionDurationAdd, 0.0, true, libCore_ge_TransmissionPortraitOptioins_HidePortraitAfter, libCore_ge_TransmissionCueSoundOptions_DefaultCueSoundBehavior);
libCore_gf_SetAllSoundChannelVolumesStandardTiming(libNtve_ge_VolumeChannelMode_Game, PlayerGroupAll());
TriggerQueueExit();
return true;
}
void libStEx_gf_SE_TrainingModeTipBushesSendActorMessageToBushes (string lp_message, region lp_area) {
// Automatic Variable Declarations
// Implementation
libCore_gf_SendActorMessageToDoodadsInRegion(lp_message, lp_area, "Storm_Doodad_KingsCrest_Docks_Curtain");
libCore_gf_SendActorMessageToDoodadsInRegion(lp_message, lp_area, "Storm_Doodad_KingsCrest_Curtain");
libCore_gf_SendActorMessageToDoodadsInRegion(lp_message, lp_area, "Storm_Doodad_KingsCrest_Docks_Curtain_Grass");
libCore_gf_SendActorMessageToDoodadsInRegion(lp_message, lp_area, "Storm_Doodad_CyberWorld_Curtain");
libCore_gf_SendActorMessageToDoodadsInRegion(lp_message, lp_area, "Storm_Doodad_KingsCrest_Docks_CurtainLarge");
libCore_gf_SendActorMessageToDoodadsInRegion(lp_message, lp_area, "Storm_Doodad_KingsCrest_CurtainLarge");
libCore_gf_SendActorMessageToDoodadsInRegion(lp_message, lp_area, "Storm_Doodad_KingsCrest_Docks_CurtainLarge_Grass");
libCore_gf_SendActorMessageToDoodadsInRegion(lp_message, lp_area, "Storm_Doodad_CyberWorld_CurtainLarge");
libCore_gf_SendActorMessageToDoodadsInRegion(lp_message, lp_area, "Storm_Doodad_KingsCrest_RavenCourt_CurtainLarge");
libCore_gf_SendActorMessageToDoodadsInRegion(lp_message, lp_area, "Storm_Doodad_KingsCrest_RavenCourt_Curtain");
}
void libStEx_gf_TutorialPlayerHitsReadyButton (trigger t) {
// Automatic Variable Declarations
// Implementation
TriggerAddEventGeneric(t, libStEx_gv_eventID_TutorialPlayerHitsReadyButton_C);
}
void libStEx_gf_SendEventTutorialPlayerHitsReadyButton () {
// Automatic Variable Declarations
// Implementation
TriggerSendEvent(libStEx_gv_eventID_TutorialPlayerHitsReadyButton_C);
}
void libStEx_gf_TutorialPlayerHitsRetryButton (trigger t) {
// Automatic Variable Declarations
// Implementation
TriggerAddEventGeneric(t, libStEx_gv_eventID_TutorialPlayerHitsRetryButton_C);
}
void libStEx_gf_SendEventTutorialPlayerHitsRetryButton () {
// Automatic Variable Declarations
// Implementation
TriggerSendEvent(libStEx_gv_eventID_TutorialPlayerHitsRetryButton_C);
}
void libStEx_gf_TutorialPlayerHitsRespecButton (trigger t) {
// Automatic Variable Declarations
// Implementation
TriggerAddEventGeneric(t, libStEx_gv_eventID_TutorialPlayerHitsRespecButton_C);
}
void libStEx_gf_SendEventTutorialPlayerHitsRespecButton () {
// Automatic Variable Declarations
// Implementation
TriggerSendEvent(libStEx_gv_eventID_TutorialPlayerHitsRespecButton_C);
}
void libStEx_gf_TutorialPlayerReachedDamageGoalOnTargetDummy (trigger t) {
// Automatic Variable Declarations
// Implementation
TriggerAddEventGeneric(t, libStEx_gv_eventID_TutorialPlayerReachedDamageGoalOnTargetDummy_C);
}
void libStEx_gf_SendEventTutorialPlayerReachedDamageGoalOnTargetDummy () {
// Automatic Variable Declarations
// Implementation
TriggerSendEvent(libStEx_gv_eventID_TutorialPlayerReachedDamageGoalOnTargetDummy_C);
}
void libStEx_gf_TutorialPlayerKilledStage1Boss (trigger t) {
// Automatic Variable Declarations
// Implementation
TriggerAddEventGeneric(t, libStEx_gv_eventID_TutorialPlayerKilledStage1Boss_C);
}
void libStEx_gf_SendEventTutorialPlayerKilledStage1Boss () {
// Automatic Variable Declarations
// Implementation
TriggerSendEvent(libStEx_gv_eventID_TutorialPlayerKilledStage1Boss_C);
}
trigger auto_libStEx_gf_TVActivateUtherAI_Trigger = null;
unit auto_libStEx_gf_TVActivateUtherAI_lp_uther;
unit auto_libStEx_gf_TVActivateUtherAI_lp_valla;
unit auto_libStEx_gf_TVActivateUtherAI_lp_boss;
void libStEx_gf_TVActivateUtherAI (unit lp_uther, unit lp_valla, unit lp_boss) {
auto_libStEx_gf_TVActivateUtherAI_lp_uther = lp_uther;
auto_libStEx_gf_TVActivateUtherAI_lp_valla = lp_valla;
auto_libStEx_gf_TVActivateUtherAI_lp_boss = lp_boss;
if (auto_libStEx_gf_TVActivateUtherAI_Trigger == null) {
auto_libStEx_gf_TVActivateUtherAI_Trigger = TriggerCreate("auto_libStEx_gf_TVActivateUtherAI_TriggerFunc");
}
TriggerExecute(auto_libStEx_gf_TVActivateUtherAI_Trigger, false, false);
}
bool auto_libStEx_gf_TVActivateUtherAI_TriggerFunc (bool testConds, bool runActions) {
unit lp_uther = auto_libStEx_gf_TVActivateUtherAI_lp_uther;
unit lp_valla = auto_libStEx_gf_TVActivateUtherAI_lp_valla;
unit lp_boss = auto_libStEx_gf_TVActivateUtherAI_lp_boss;
// Variable Declarations
unit lv_currentTargetOfBoss;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
while ((UnitIsAlive(lp_uther) == true) && (UnitIsAlive(lp_valla) == true) && (UnitIsAlive(lp_boss) == true)) {
lv_currentTargetOfBoss = OrderGetTargetUnit(UnitOrder(lp_boss, 0));
if ((UnitIsValid(lv_currentTargetOfBoss) == true)) {
if ((UnitGetPropertyFixed(lv_currentTargetOfBoss, c_unitPropLifePercent, c_unitPropCurrent) > 80.0) && (UnitGetPropertyFixed(lp_uther, c_unitPropEnergyPercent, c_unitPropCurrent) > 50.0)) {
UnitIssueOrder(lp_uther, OrderTargetingUnit(AbilityCommand("UtherHammerOfJustice", 0), lp_boss), c_orderQueueAddToFront);
}
if ((UnitGetPropertyFixed(lv_currentTargetOfBoss, c_unitPropLifePercent, c_unitPropCurrent) < 80.0)) {
UnitIssueOrder(lp_uther, OrderTargetingUnit(AbilityCommand("UtherHolyLight", 0), lv_currentTargetOfBoss), c_orderQueueAddToFront);
}
Wait(0.25, c_timeGame);
if ((UnitIsValid(lv_currentTargetOfBoss) == true) && (UnitGetPropertyFixed(lv_currentTargetOfBoss, c_unitPropLifePercent, c_unitPropCurrent) < 80.0)) {
UnitIssueOrder(lp_uther, OrderTargetingPoint(AbilityCommand("UtherHolyRadiance", 0), UnitGetPosition(lv_currentTargetOfBoss)), c_orderQueueAddToFront);
}
Wait(0.25, c_timeGame);
}
Wait(0.25, c_timeGame);
}
return true;
}
void libStEx_gf_ActivateDamageforUnit (unit lp_unit) {
// Automatic Variable Declarations
// Implementation
libNtve_gf_MakeUnitInvulnerable(lp_unit, false);
libNtve_gf_ChangeUnitDamage(lp_unit, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Full);
libNtve_gf_ChangeUnitDamage(lp_unit, libNtve_ge_UnitDamageTakenDealt_Damage_Deal, libNtve_ge_UnitDamageChangeOption_Full);
}
void libStEx_gf_SwaptoNewHeroforPlayer (int lp_playerNumber, string lp_hero, int lp_desiredLevel) {
// Automatic Variable Declarations
// Implementation
libUIUI_gf_UIDebugPanelSpawnOrSwapHeroForPlayer(libCore_gf_GetIndexFromHero(lp_hero), 1, 0, libCore_gf_GetTotalXPForLevel(lp_desiredLevel), lp_playerNumber, 1);
UnitIssueOrder(libGame_gv_players[lp_playerNumber].lv_heroUnit, Order(AbilityCommand("move", 2)), c_orderQueueReplace);
libNtve_gf_ChangeUnitDamage(libGame_gv_players[lp_playerNumber].lv_heroUnit, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
}
void libStEx_gf_ResetHeroUnitforPlayer (int lp_player) {
// Variable Declarations
unit lv_itUnit;
// Automatic Variable Declarations
unitgroup autoA925B367_g;
int autoA925B367_u;
// Variable Initialization
// Implementation
if ((TimerGetRemaining(libGame_gv_players[lp_player].lv_respawnTimer) > 0.0)) {
libGame_gf_HeroDeathUpdateRespawnTimer(lp_player, 0.0625);
libNtve_gf_WaitForTimer(libGame_gv_players[lp_player].lv_respawnTimer, 0.0, false);
}
UnitSetPropertyFixed(libGame_gv_players[lp_player].lv_heroUnit, c_unitPropLifePercent, 100.0);
UnitSetPropertyFixed(libGame_gv_players[lp_player].lv_heroUnit, c_unitPropEnergyPercent, 100.0);
UnitSetPosition(libGame_gv_players[lp_player].lv_heroUnit, libGame_gv_players[lp_player].lv_spawnPoint, false);
UnitSetFacing(libGame_gv_players[lp_player].lv_heroUnit, PointGetFacing(libGame_gv_players[lp_player].lv_spawnPoint), 0.0);
UnitIssueOrder(libGame_gv_players[lp_player].lv_heroUnit, Order(AbilityCommand("move", 2)), c_orderQueueReplace);
UnitBehaviorRemove(libGame_gv_players[lp_player].lv_heroUnit, "HealingFountainCooldown", 1);
libCore_gf_ClearAllNonpermanentBehaviorsonUnit(libGame_gv_players[lp_player].lv_heroUnit);
UnitClearCooldowns(libGame_gv_players[lp_player].lv_heroUnit, true);
autoA925B367_g = UnitGroup(null, lp_player, RegionEntireMap(), UnitFilter(0, (1 << (c_targetFilterSummoned - 32)), (1 << c_targetFilterAlly) | (1 << c_targetFilterNeutral) | (1 << c_targetFilterEnemy) | (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
autoA925B367_u = UnitGroupCount(autoA925B367_g, c_unitCountAll);
for (;; autoA925B367_u -= 1) {
lv_itUnit = UnitGroupUnitFromEnd(autoA925B367_g, autoA925B367_u);
if (lv_itUnit == null) { break; }
UnitKill(lv_itUnit);
}
libGame_gf_HeroRefreshCooldowns(lp_player, true);
libNtve_gf_ChangeUnitDamage(libGame_gv_players[lp_player].lv_heroUnit, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
libNtve_gf_MakeUnitInvulnerable(libGame_gv_players[lp_player].lv_heroUnit, false);
UnitCreateEffectUnit(libGame_gv_players[lp_player].lv_heroUnit, "DryadAbolishMagicRemoveCCsTarget", libGame_gv_players[lp_player].lv_heroUnit);
}
void libStEx_gf_ResetUnit (unit lp_targetUnit) {
// Automatic Variable Declarations
// Implementation
UnitIssueOrder(lp_targetUnit, Order(AbilityCommand("stop", 0)), c_orderQueueReplace);
UnitSetPropertyFixed(lp_targetUnit, c_unitPropLifePercent, 100.0);
UnitSetPropertyFixed(lp_targetUnit, c_unitPropEnergyPercent, 100.0);
UnitCreateEffectUnit(lp_targetUnit, "DryadAbolishMagicRemoveCCsTarget", lp_targetUnit);
}
trigger auto_libStEx_gf_ClearUltimateEvolutionClone_Trigger = null;
void libStEx_gf_ClearUltimateEvolutionClone () {
if (auto_libStEx_gf_ClearUltimateEvolutionClone_Trigger == null) {
auto_libStEx_gf_ClearUltimateEvolutionClone_Trigger = TriggerCreate("auto_libStEx_gf_ClearUltimateEvolutionClone_TriggerFunc");
}
TriggerExecute(auto_libStEx_gf_ClearUltimateEvolutionClone_Trigger, false, false);
}
bool auto_libStEx_gf_ClearUltimateEvolutionClone_TriggerFunc (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Implementation
if ((libGame_gv_players[libStEx_gv_pLAYER_01_USER].lv_activeVehicle != null)) {
libNtve_gf_MakeUnitInvulnerable(libGame_gv_players[libStEx_gv_pLAYER_01_USER].lv_activeVehicle, true);
}
Wait(2.0, c_timeGame);
if ((libGame_gv_players[libStEx_gv_pLAYER_01_USER].lv_activeVehicle != null)) {
UnitKill(libGame_gv_players[libStEx_gv_pLAYER_01_USER].lv_activeVehicle);
}
return true;
}
void libStEx_gf_LevelUpPlayer (int lp_player, int lp_level) {
// Automatic Variable Declarations
// Implementation
libGame_gf_GrantXPToPlayer((libCore_gf_GetTotalXPForLevel(lp_level) - UnitGetPropertyFixed(libGame_gv_players[lp_player].lv_heroUnit, c_unitPropXP, c_unitPropCurrent)), lp_player, libGame_ge_XPSources_Debug);
}
void libStEx_gf_RespecPlayer (int lp_player, bool lp_message) {
// Automatic Variable Declarations
// Implementation
libGame_gf_TalentsRespecHeroForPlayer(lp_player);
libStEx_gf_ResetHeroUnitforPlayer(lp_player);
ShowTalentPanel(libCore_gv_playerGroupFromPlayer[lp_player], true, 1);
Wait(0.0625, c_timeGame);
SoundPlayForPlayer(SoundLink("UI_Game_Flyin_TalentsReset", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
if ((lp_message == true)) {
UIDisplayMessage(PlayerGroupAll(), c_messageAreaSubtitle, StringExternal("Param/Value/lib_StEx_A4EE4078"));
}
}
bool libStEx_gf_PlayerPickedAllTalents () {
// Variable Declarations
int lv_itChoice;
// Automatic Variable Declarations
const int auto585F4F9F_ae = libCore_gv_talents_MaxTiers_C;
const int auto585F4F9F_ai = 1;
// Variable Initialization
// Implementation
lv_itChoice = 1;
for ( ; ( (auto585F4F9F_ai >= 0 && lv_itChoice <= auto585F4F9F_ae) || (auto585F4F9F_ai < 0 && lv_itChoice >= auto585F4F9F_ae) ) ; lv_itChoice += auto585F4F9F_ai ) {
if ((libGame_gv_talents_TalentChoices[libStEx_gv_pLAYER_01_USER][lv_itChoice].lv_selection <= 0) && (libStEx_gf_PlayerTalentTierEnabled(lv_itChoice) == true)) {
return false;
}
}
return true;
}
void libStEx_gf_StorePlayerTalents () {
// Variable Declarations
int lv_itTier;
// Automatic Variable Declarations
const int autoE62AC3C4_ae = libCore_gv_talents_MaxTiers_C;
const int autoE62AC3C4_ai = 1;
// Variable Initialization
// Implementation
lv_itTier = 1;
for ( ; ( (autoE62AC3C4_ai >= 0 && lv_itTier <= autoE62AC3C4_ae) || (autoE62AC3C4_ai < 0 && lv_itTier >= autoE62AC3C4_ae) ) ; lv_itTier += autoE62AC3C4_ai ) {
libStEx_gv_talents_TalentChoices[lv_itTier].lv_selection = libGame_gv_talents_TalentChoices[libStEx_gv_pLAYER_01_USER][lv_itTier].lv_selection;
}
}
bool libStEx_gf_PlayerTalentTierEnabled (int lp_tier) {
// Variable Declarations
int lv_team;
int lv_playerLevel;
int lv_tierUnlocked;
// Automatic Variable Declarations
// Variable Initialization
// Implementation
lv_playerLevel = UnitLevel(libGame_gv_players[libStEx_gv_pLAYER_01_USER].lv_heroUnit);
if ((lv_playerLevel >= libGame_gv_players[libStEx_gv_pLAYER_01_USER].lv_talents_TierLevels[lp_tier].lv_level) && (GetTalentTierEnabled(lp_tier) == true)) {
return true;
}
return false;
}
void libStEx_gf_RestorePlayerTalents () {
// Variable Declarations
int lv_itTier;
int lv_numPreviousTalents;
int lv_currentTier;
// Automatic Variable Declarations
const int auto4871E4B0_ae = libCore_gv_talents_MaxTiers_C;
const int auto4871E4B0_ai = 1;
// Variable Initialization
lv_numPreviousTalents = -1;
// Implementation
lv_itTier = 1;
for ( ; ( (auto4871E4B0_ai >= 0 && lv_itTier <= auto4871E4B0_ae) || (auto4871E4B0_ai < 0 && lv_itTier >= auto4871E4B0_ae) ) ; lv_itTier += auto4871E4B0_ai ) {
ShowTalentPanel(libCore_gv_playerGroupFromPlayer[libStEx_gv_pLAYER_01_USER], true, lv_itTier);
TalentTreeSetSelectedHeroTalentTree(libStEx_gv_pLAYER_01_USER, (libStEx_gv_talents_TalentChoices[lv_itTier].lv_selection + lv_numPreviousTalents));
libGame_gf_TalentsChooseTalentForPlayer(lv_itTier, libStEx_gv_talents_TalentChoices[lv_itTier].lv_selection, libStEx_gv_pLAYER_01_USER);
if ((libStEx_gv_talents_TalentChoices[lv_itTier].lv_selection <= 0)) {
if ((libStEx_gf_PlayerTalentTierEnabled(lv_itTier) == true)) {
lv_currentTier = lv_itTier;
}
else {
lv_currentTier = (lv_itTier - 1);
}
break;
}
lv_numPreviousTalents += libGame_gv_talents_TalentChoices[libStEx_gv_pLAYER_01_USER][lv_itTier].lv_numberOfTalentsForThisTier;
}
ShowTalentPanel(libCore_gv_playerGroupFromPlayer[libStEx_gv_pLAYER_01_USER], true, lv_currentTier);
ShowTalentPanel(libCore_gv_playerGroupFromPlayer[libStEx_gv_pLAYER_01_USER], false, lv_currentTier);
}
void libStEx_gf_TutorialVeteranShowHideDummyPanel (bool lp_showHide) {
// Automatic Variable Declarations
// Implementation
DialogControlSetVisible(libStEx_gv_tutorialVeteranPanel.lv_dummyPanel, PlayerGroupAll(), false);
}
void libStEx_gf_TutorialVeteranShowHideRetryButton (bool lp_showHide) {
// Automatic Variable Declarations
// Implementation
DialogControlSetVisible(libStEx_gv_tutorialVeteranPanel.lv_RetryButton, PlayerGroupAll(), lp_showHide);
}
void libStEx_gf_TutorialVeteranShowHideReadyButton (bool lp_showHide) {
// Automatic Variable Declarations
// Implementation
DialogControlSetVisible(libStEx_gv_tutorialVeteranPanel.lv_ReadyButton, PlayerGroupAll(), lp_showHide);
}
void libStEx_gf_TutorialVeteranShowHideRespecButton (bool lp_showHide) {
// Automatic Variable Declarations
// Implementation
DialogControlSetVisible(libStEx_gv_tutorialVeteranPanel.lv_RespecButton, PlayerGroupAll(), lp_showHide);
if ((lp_showHide == false)) {
libStEx_gf_TutorialVeteranFlashRespecButton(false);
}
}
void libStEx_gf_TutorialVeteranFlashRespecButton (bool lp_showHide) {
// Automatic Variable Declarations
// Implementation
if ((lp_showHide == true)) {
if ((libStEx_gv_tutorialVeteranPanelFlashing == true)) {
return ;
}
libStEx_gv_tutorialVeteranPanelFlashing = true;
TriggerExecute(libStEx_gt_TutorialVeteranFlashRespecButtonInternal, true, false);
}
else {
if ((libStEx_gv_tutorialVeteranPanelFlashing == false)) {
return ;
}
libStEx_gv_tutorialVeteranPanelFlashing = false;
}
}
void libStEx_gf_SetTargetDummyGlobalVariable (unit lp_targetDummy) {
// Automatic Variable Declarations
// Implementation
libStEx_gv_targetDummyUnit = lp_targetDummy;
libStEx_gv_targetDummyLocation = UnitGetPosition(libStEx_gv_targetDummyUnit);
}
trigger auto_libStEx_gf_TargetDummyReset_Trigger = null;
void libStEx_gf_TargetDummyReset () {
if (auto_libStEx_gf_TargetDummyReset_Trigger == null) {
auto_libStEx_gf_TargetDummyReset_Trigger = TriggerCreate("auto_libStEx_gf_TargetDummyReset_TriggerFunc");
}
TriggerExecute(auto_libStEx_gf_TargetDummyReset_Trigger, false, false);
}
bool auto_libStEx_gf_TargetDummyReset_TriggerFunc (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Implementation
UnitSetPropertyFixed(libStEx_gv_targetDummyUnit, c_unitPropLifePercent, 100.0);
libNtve_gf_ChangeUnitDamage(libStEx_gv_targetDummyUnit, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_No);
libStEx_gf_TutorialVeteranShowHideDummyPanel(false);
TriggerEnable(libStEx_gt_TargetDummyTakesDamage, false);
return true;
}
void libStEx_gf_TargetDummyStart () {
// Automatic Variable Declarations
// Implementation
libNtve_gf_ChangeUnitDamage(libStEx_gv_targetDummyUnit, libNtve_ge_UnitDamageTakenDealt_Damage_Take, libNtve_ge_UnitDamageChangeOption_Full);
TriggerEnable(libStEx_gt_TargetDummyTakesDamage, true);
}
bool libStEx_gf_QueryForYesNo (text lp_question) {
// Automatic Variable Declarations
// Implementation
UIShowCustomDialog(libCore_gv_playerGroupFromPlayer[libStEx_gv_pLAYER_01_USER], libNtve_ge_CustomDialogType_c_customDialogTypeQuery, StringExternal("Param/Value/lib_StEx_DCBF9B21"), lp_question, true);
Wait(0.125, c_timeGame);
if ((libStEx_gv_queryDialogResult == libStEx_ge_QueryDialogResult_Yes)) {
return true;
}
return false;
}
fixed libStEx_gf_DataConversationSoundDuration (string lp_line, fixed lp_duration) {
// Automatic Variable Declarations
// Implementation
if ((lp_duration > 0.0)) {
return lp_duration;
}
return SoundLengthSync(SoundLink(ConversationDataGetSound(lp_line, false), c_soundIndexAny));
}
void libStEx_gf_CinematicModeTutorial2 (bool lp_onOff, playergroup lp_players, fixed lp_duration) {
// Automatic Variable Declarations
// Implementation
libStEx_gf_CinematicModeTutorial(lp_onOff, lp_players, lp_duration);
}
void libStEx_gf_SetAllSoundChannelVolumesStandardTiming (int lp_mode, playergroup lp_players) {
// Automatic Variable Declarations
// Implementation
libCore_gf_SetAllSoundChannelVolumesStandardTiming(lp_mode, lp_players);
if ((lp_mode == libNtve_ge_VolumeChannelMode_Speech)) {
SoundChannelSetVolume(lp_players, c_soundCategoryUser17, 30.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser18, 30.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser19, 30.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser20, 30.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser22, 30.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser23, 30.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser27, 30.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser28, 30.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser30, 30.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser32, 30.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser33, 30.0, 1.0);
}
else {
SoundChannelSetVolume(lp_players, c_soundCategoryUser17, 100.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser18, 100.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser19, 100.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser20, 100.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser22, 100.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser23, 100.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser27, 100.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser28, 100.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser30, 100.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser32, 100.0, 1.0);
SoundChannelSetVolume(lp_players, c_soundCategoryUser33, 100.0, 1.0);
}
}
bool libStEx_gf_IsthisanAutomatedPlaythrough () {
// Automatic Variable Declarations
// Implementation
if (((libStEx_gv_automation_Debug == true) || ((GameIsTestMap(true) == true) && ((GameTestConfigType() == 5) || (GameTestConfigType() == 6) || (GameTestConfigType() == 7))))) {
return true;
}
return false;
}
bool libStEx_gf_TargetLocationIsGood (point lp_locationTarget, point lp_locationFrom) {
// Automatic Variable Declarations
// Implementation
if (((PathingType(lp_locationTarget) == c_pathingUnpathable) || (PathingType(lp_locationTarget) != c_pathingGround))) {
return false;
}
if ((lp_locationFrom != null) && ((PointPathingCliffLevel(lp_locationTarget) != PointPathingCliffLevel(lp_locationFrom)) || (CrossCliff(lp_locationFrom, lp_locationTarget) == true))) {
return false;
}
return true;
}
void libStEx_gf_RestoreUnit (unit lp_unit) {
// Automatic Variable Declarations
// Implementation
UnitClearCooldowns(lp_unit, false);
UnitSetPropertyFixed(lp_unit, c_unitPropLifePercent, 100.0);
UnitSetPropertyFixed(lp_unit, c_unitPropEnergyPercent, 100.0);
UnitSetPropertyFixed(lp_unit, c_unitPropShieldsPercent, 100.0);
}
void libStEx_gf_MoveUnit (unit lp_unit, point lp_targetLocation, bool lp_blend) {
// Automatic Variable Declarations
// Implementation
UnitSetPosition(lp_unit, lp_targetLocation, lp_blend);
UnitSetFacing(lp_unit, PointGetFacing(lp_targetLocation), 0.0);
UnitIssueOrder(lp_unit, Order(AbilityCommand("stop", 0)), c_orderQueueReplace);
}
bool libStEx_gf_GameIsSinglePlayer () {
// Variable Declarations
int lv_itPlayer;
int lv_count;
// Automatic Variable Declarations
const int autoC8AF2A66_ae = libCore_gv_bALMaxPlayers;
const int autoC8AF2A66_ai = 1;
// Variable Initialization
// Implementation
lv_itPlayer = 1;
for ( ; ( (autoC8AF2A66_ai >= 0 && lv_itPlayer <= autoC8AF2A66_ae) || (autoC8AF2A66_ai < 0 && lv_itPlayer >= autoC8AF2A66_ae) ) ; lv_itPlayer += autoC8AF2A66_ai ) {
if ((PlayerStatus(lv_itPlayer) == c_playerStatusActive) && (PlayerType(lv_itPlayer) == c_playerTypeUser)) {
lv_count += 1;
}
}
return (lv_count == 1);
}
string libStEx_gf_TutorialHero () {
// Variable Declarations
int lv_label;
// Automatic Variable Declarations
int auto8B88B8A9_val;
// Variable Initialization
lv_label = c_invalidDialogControlId;
// Implementation
if ((libStEx_gv_tutorialHero != null) && (libStEx_gv_tutorialHero != libCore_gv_heroes_RandomHeroID)) {
return libStEx_gv_tutorialHero;
}
libStEx_gv_tutorialHero = PlayerHero(libStEx_gv_pLAYER_01_USER);
if (((libStEx_gv_tutorialHero == null) || (libStEx_gv_tutorialHero == libCore_gv_heroes_RandomHeroID))) {
if (((libStEx_gv_automation_Debug == true) || (GameIsTestMap(true) == true))) {
auto8B88B8A9_val = GameTestConfigType();
if (auto8B88B8A9_val == 5) {
libStEx_gv_tutorialHero = "Muradin";
}
else if (auto8B88B8A9_val == 6) {
libStEx_gv_tutorialHero = "Jaina";
}
else if (auto8B88B8A9_val == 7) {
libStEx_gv_tutorialHero = "Tyrande";
}
else {
libStEx_gv_tutorialHero = "Muradin";
}
return libStEx_gv_tutorialHero;
}
UISetCursorVisible(PlayerGroupAll(), true);
DialogCreate(500, 400, c_anchorCenter, 0, 0, true);
DialogSetFullscreen(DialogLastCreated(), true);
DialogSetImageVisible(DialogLastCreated(), false);
libNtve_gf_CreateDialogItemLabel(DialogLastCreated(), 1000, 50, c_anchorTop, 0, 400, StringExternal("Param/Value/lib_StEx_31549B6D"), ColorWithAlpha(0,0,0,0), false, 2.0);
lv_label = DialogControlLastCreated();
libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "Storm_Map_Large_Bold_Centered", PlayerGroupAll());
DialogControlCreateFromTemplate(DialogLastCreated(), c_triggerControlTypeButton, "StandardTemplates/StandardButtonSmallTemplate");
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_StEx_1F3189D1"), PlayerGroupAll());
libStEx_gv_tutorialHeroBtnJaina = DialogControlLastCreated();
DialogControlSetPositionRelative(DialogControlLastCreated(), PlayerGroupAll(), c_anchorTop, lv_label, c_anchorBottom, 0, 50);
DialogControlCreateFromTemplate(DialogLastCreated(), c_triggerControlTypeButton, "StandardTemplates/StandardButtonSmallTemplate");
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_StEx_32598B9C"), PlayerGroupAll());
libStEx_gv_tutorialHeroBtnMuradin = DialogControlLastCreated();
DialogControlSetPositionRelative(DialogControlLastCreated(), PlayerGroupAll(), c_anchorTop, libStEx_gv_tutorialHeroBtnJaina, c_anchorBottom, 0, 20);
DialogControlCreateFromTemplate(DialogLastCreated(), c_triggerControlTypeButton, "StandardTemplates/StandardButtonSmallTemplate");
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_StEx_C880FFA9"), PlayerGroupAll());
libStEx_gv_tutorialHeroBtnTyrande = DialogControlLastCreated();
DialogControlSetPositionRelative(DialogControlLastCreated(), PlayerGroupAll(), c_anchorTop, libStEx_gv_tutorialHeroBtnMuradin, c_anchorBottom, 0, 20);
DialogSetVisible(DialogLastCreated(), PlayerGroupAll(), true);
TriggerEnable(libStEx_gt_TutorialHeroSelected, true);
while (!((libStEx_gv_tutorialHero != null) && (libStEx_gv_tutorialHero != libCore_gv_heroes_RandomHeroID))) {
Wait(0.0625, c_timeGame);
}
DialogSetVisible(DialogLastCreated(), PlayerGroupAll(), false);
UISetCursorVisible(PlayerGroupAll(), false);
}
return libStEx_gv_tutorialHero;
}
void libStEx_gf_TutorialHeroTalentRecommendation () {
// Automatic Variable Declarations
string auto8F850C63_val;
// Implementation
auto8F850C63_val = libStEx_gf_TutorialHero();
if (auto8F850C63_val == "Jaina") {
SetTalentHighlighted("JainaFrostbiteLingeringChill", true);
SetTalentHighlighted("JainaFrostbiteArcaneIntellect", true);
SetTalentHighlighted("JainaConeOfColdIceFloes", true);
SetTalentHighlighted("JainaHeroicSummonWaterElemental", true);
SetTalentHighlighted("JainaBlizzardStormFront", true);
SetTalentHighlighted("JainaBlizzardSnowstorm", true);
SetTalentHighlighted("JainaSummonWaterElementalWintermute", true);
}
else if (auto8F850C63_val == "Muradin") {
SetTalentHighlighted("MuradinCombatStyleThirdWind", true);
SetTalentHighlighted("MuradinMasteryThunderburn", true);
SetTalentHighlighted("MuradinMasteryDwarfTossHeavyImpact", true);
SetTalentHighlighted("MuradinHeroicAbilityAvatar", true);
SetTalentHighlighted("MuradinBronzebeardRage", true);
SetTalentHighlighted("MuradinMasteryDwarfTossDwarfLaunch", true);
SetTalentHighlighted("MuradinMasteryAvatarUnstoppableForce", true);
}
else if (auto8F850C63_val == "Tyrande") {
SetTalentHighlighted("TyrandeMarkofMending", true);
SetTalentHighlighted("TyrandeMasteryLunarBlaze", true);
SetTalentHighlighted("TyrandeMoonlitArrows", true);
SetTalentHighlighted("TyrandeHuntressFury", true);
SetTalentHighlighted("TyrandeHeroicAbilityStarfall", true);
SetTalentHighlighted("TyrandeMasteryLightofEluneQuickeningBlessing", true);
SetTalentHighlighted("TyrandeMasteryStarfallCelestialWrath", true);
}
else {
}
}
void libStEx_gf_AddInGameTip (int lp_tip) {
// Automatic Variable Declarations
int autoD6B947EF_val;
// Implementation
autoD6B947EF_val = lp_tip;
if (autoD6B947EF_val == libStEx_ge_InGameTip_Abilities) {
HelpPanelAddTip(PlayerGroupAll(), libNtve_gf_FormatTipTitle(StringExternal("Param/Value/lib_StEx_0CE727AE"), libNtve_ge_TipType_NormalTip), StringExternal("Param/Value/lib_StEx_E19BA64B"), StringToText(""), "Assets\\Textures\\storm_ui_tutorial_help_abilities.dds");
}
else if (autoD6B947EF_val == libStEx_ge_InGameTip_Experience) {
HelpPanelAddTip(PlayerGroupAll(), libNtve_gf_FormatTipTitle(StringExternal("Param/Value/lib_StEx_0737CA73"), libNtve_ge_TipType_NormalTip), StringExternal("Param/Value/lib_StEx_45CA47BF"), StringToText(""), "Assets\\Textures\\storm_ui_tutorial_help_xp.dds");
}
else if (autoD6B947EF_val == libStEx_ge_InGameTip_BattlegroundMechanics) {
HelpPanelAddTip(PlayerGroupAll(), libNtve_gf_FormatTipTitle(StringExternal("Param/Value/lib_StEx_97C55EC6"), libNtve_ge_TipType_NormalTip), StringExternal("Param/Value/lib_StEx_C7FB4256"), StringToText(""), "Assets\\Textures\\storm_ui_tutorial_help_map_mechanic.dds");
}
else if (autoD6B947EF_val == libStEx_ge_InGameTip_Healing) {
HelpPanelAddTip(PlayerGroupAll(), libNtve_gf_FormatTipTitle(StringExternal("Param/Value/lib_StEx_B60E19F5"), libNtve_ge_TipType_NormalTip), StringExternal("Param/Value/lib_StEx_3896CC49"), StringToText(""), "Assets\\Textures\\storm_ui_tutorial_help_healing.dds");
}
else if (autoD6B947EF_val == libStEx_ge_InGameTip_Hearthstone) {
HelpPanelAddTip(PlayerGroupAll(), libNtve_gf_FormatTipTitle(StringExternal("Param/Value/lib_StEx_2E35BAF5"), libNtve_ge_TipType_NormalTip), StringExternal("Param/Value/lib_StEx_3682D851"), StringToText(""), "Assets\\Textures\\storm_ui_tutorial_help_hearthstone.dds");
}
else if (autoD6B947EF_val == libStEx_ge_InGameTip_HeroicAbilities) {
HelpPanelAddTip(PlayerGroupAll(), libNtve_gf_FormatTipTitle(StringExternal("Param/Value/lib_StEx_80505C32"), libNtve_ge_TipType_NormalTip), StringExternal("Param/Value/lib_StEx_37DF965F"), StringToText(""), "Assets\\Textures\\storm_ui_tutorial_help_heroic.dds");
}
else if (autoD6B947EF_val == libStEx_ge_InGameTip_MercenaryCamps) {
HelpPanelAddTip(PlayerGroupAll(), libNtve_gf_FormatTipTitle(StringExternal("Param/Value/lib_StEx_FDD67387"), libNtve_ge_TipType_NormalTip), StringExternal("Param/Value/lib_StEx_52663342"), StringToText(""), "Assets\\Textures\\storm_ui_tutorial_help_mercs.dds");
}
else if (autoD6B947EF_val == libStEx_ge_InGameTip_Mounts) {
HelpPanelAddTip(PlayerGroupAll(), libNtve_gf_FormatTipTitle(StringExternal("Param/Value/lib_StEx_99089475"), libNtve_ge_TipType_NormalTip), StringExternal("Param/Value/lib_StEx_741B5677"), StringToText(""), "Assets\\Textures\\storm_ui_tutorial_help_mount.dds");
}
else if (autoD6B947EF_val == libStEx_ge_InGameTip_Talent) {
HelpPanelAddTip(PlayerGroupAll(), libNtve_gf_FormatTipTitle(StringExternal("Param/Value/lib_StEx_7F8B70CB"), libNtve_ge_TipType_NormalTip), StringExternal("Param/Value/lib_StEx_BF002365"), StringToText(""), "Assets\\Textures\\storm_ui_tutorial_help_talents.dds");
}
else if (autoD6B947EF_val == libStEx_ge_InGameTip_Tower) {
HelpPanelAddTip(PlayerGroupAll(), libNtve_gf_FormatTipTitle(StringExternal("Param/Value/lib_StEx_EE76EC22"), libNtve_ge_TipType_NormalTip), StringExternal("Param/Value/lib_StEx_3DF27B85"), StringToText(""), "Assets\\Textures\\storm_ui_tutorial_help_tower.dds");
}
else if (autoD6B947EF_val == libStEx_ge_InGameTip_Watchtowers) {
HelpPanelAddTip(PlayerGroupAll(), libNtve_gf_FormatTipTitle(StringExternal("Param/Value/lib_StEx_DA082888"), libNtve_ge_TipType_NormalTip), StringExternal("Param/Value/lib_StEx_266E5468"), StringToText(""), "Assets\\Textures\\storm_ui_tutorial_help_watch_tower.dds");
}
else {
}
}
void libStEx_gf_AddAllInGameTips (bool lp_checkCondition) {
// Automatic Variable Declarations
// Implementation
if ((lp_checkCondition == true)) {
return ;
}
libStEx_gf_AddInGameTip(libStEx_ge_InGameTip_Experience);
libStEx_gf_AddInGameTip(libStEx_ge_InGameTip_Talent);
libStEx_gf_AddInGameTip(libStEx_ge_InGameTip_Abilities);
libStEx_gf_AddInGameTip(libStEx_ge_InGameTip_HeroicAbilities);
libStEx_gf_AddInGameTip(libStEx_ge_InGameTip_Mounts);
libStEx_gf_AddInGameTip(libStEx_ge_InGameTip_Hearthstone);
libStEx_gf_AddInGameTip(libStEx_ge_InGameTip_Healing);
libStEx_gf_AddInGameTip(libStEx_ge_InGameTip_Tower);
libStEx_gf_AddInGameTip(libStEx_ge_InGameTip_Watchtowers);
libStEx_gf_AddInGameTip(libStEx_ge_InGameTip_MercenaryCamps);
libStEx_gf_AddInGameTip(libStEx_ge_InGameTip_BattlegroundMechanics);
}
// Triggers
//--------------------------------------------------------------------------------------------------
// Trigger: #Include Starting Experience
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_IncludeStartingExperience_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_IncludeStartingExperience_Init () {
libStEx_gt_IncludeStartingExperience = TriggerCreate("libStEx_gt_IncludeStartingExperience_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_VOPausedMessageClosed
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_VOPausedMessageClosed_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((EventDialogControl() == libStEx_gv_sE_VOPausedMsgButton))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
libStEx_gf_ClearVOMessageGamePaused(EventPlayer());
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_VOPausedMessageClosed_Init () {
libStEx_gt_SE_VOPausedMessageClosed = TriggerCreate("libStEx_gt_SE_VOPausedMessageClosed_Func");
TriggerEnable(libStEx_gt_SE_VOPausedMessageClosed, false);
TriggerAddEventDialogControl(libStEx_gt_SE_VOPausedMessageClosed, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SEMMHideHeroes
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SEMMHideHeroes_Func (bool testConds, bool runActions) {
int init_i;
// Variable Declarations
int lv_itPlayerInIntro;
int lv_itPlayer;
playergroup lv_playersInIntro;
playergroup lv_playersFinished;
unit lv_itHero;
unitgroup[libCore_gv_bALMaxPlayers + 1] lv_heroessHidden;
// Automatic Variable Declarations
playergroup autoF2FBC528_g;
const int autoFBBE4B3F_ae = libCore_gv_bALMaxPlayers;
const int autoFBBE4B3F_ai = 1;
unitgroup auto68063C19_g;
int auto68063C19_u;
playergroup auto57D4A7F3_g;
playergroup autoD7DBDC57_g;
unitgroup auto24AF5347_g;
int auto24AF5347_u;
// Variable Initialization
lv_playersInIntro = PlayerGroupEmpty();
lv_playersFinished = PlayerGroupEmpty();
for (init_i = 0; init_i <= libCore_gv_bALMaxPlayers; init_i += 1) {
lv_heroessHidden[init_i] = UnitGroupEmpty();
}
// Actions
if (!runActions) {
return true;
}
lv_playersInIntro = PlayerGroupCopy(libStEx_gv_sEMMIntroPlayersWatching);
while (true) {
autoF2FBC528_g = lv_playersInIntro;
lv_itPlayerInIntro = -1;
while (true) {
lv_itPlayerInIntro = PlayerGroupNextPlayer(autoF2FBC528_g, lv_itPlayerInIntro);
if (lv_itPlayerInIntro<0) { break; }
lv_itPlayer = 1;
for ( ; ( (autoFBBE4B3F_ai >= 0 && lv_itPlayer <= autoFBBE4B3F_ae) || (autoFBBE4B3F_ai < 0 && lv_itPlayer >= autoFBBE4B3F_ae) ) ; lv_itPlayer += autoFBBE4B3F_ai ) {
auto68063C19_g = libGame_gv_players[lv_itPlayer].lv_heroUnitGroup;
auto68063C19_u = UnitGroupCount(auto68063C19_g, c_unitCountAll);
for (;; auto68063C19_u -= 1) {
lv_itHero = UnitGroupUnitFromEnd(auto68063C19_g, auto68063C19_u);
if (lv_itHero == null) { break; }
if ((UnitGroupHasUnit(lv_heroessHidden[lv_itPlayerInIntro], lv_itHero) == false)) {
UnitGroupAdd(lv_heroessHidden[lv_itPlayerInIntro], lv_itHero);
ActorScopeSend(ActorScopeFromUnit(lv_itHero), (("SetFilterPlayers " + IntToString(lv_itPlayerInIntro))));
}
}
}
}
PlayerGroupClear(lv_playersFinished);
auto57D4A7F3_g = lv_playersInIntro;
lv_itPlayerInIntro = -1;
while (true) {
lv_itPlayerInIntro = PlayerGroupNextPlayer(auto57D4A7F3_g, lv_itPlayerInIntro);
if (lv_itPlayerInIntro<0) { break; }
if ((libMapM_gf_MapMechanicIntroFinished(lv_itPlayerInIntro) == true)) {
PlayerGroupAdd(lv_playersFinished, lv_itPlayerInIntro);
}
}
autoD7DBDC57_g = lv_playersFinished;
lv_itPlayerInIntro = -1;
while (true) {
lv_itPlayerInIntro = PlayerGroupNextPlayer(autoD7DBDC57_g, lv_itPlayerInIntro);
if (lv_itPlayerInIntro<0) { break; }
auto24AF5347_g = lv_heroessHidden[lv_itPlayerInIntro];
auto24AF5347_u = UnitGroupCount(auto24AF5347_g, c_unitCountAll);
for (;; auto24AF5347_u -= 1) {
lv_itHero = UnitGroupUnitFromEnd(auto24AF5347_g, auto24AF5347_u);
if (lv_itHero == null) { break; }
ActorScopeSend(ActorScopeFromUnit(lv_itHero), (("SetFilterPlayers " + IntToString(lv_itPlayerInIntro) + " Clear")));
}
UnitGroupClear(lv_heroessHidden[lv_itPlayerInIntro]);
}
libNtve_gf_RemovePlayerGroupFromPlayerGroup(lv_playersFinished, lv_playersInIntro);
if ((PlayerGroupCount(lv_playersInIntro) == 0)) {
break;
}
Wait(0.25, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SEMMHideHeroes_Init () {
libStEx_gt_SEMMHideHeroes = TriggerCreate("libStEx_gt_SEMMHideHeroes_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Training Mode Init
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_TrainingModeInit_Func (bool testConds, bool runActions) {
// Variable Declarations
string lv_bankKey;
unit lv_itUnitToHideMinimap;
int lv_itPlayer;
// Automatic Variable Declarations
unitgroup auto2AF5D1CA_g;
int auto2AF5D1CA_u;
// Variable Initialization
lv_bankKey = "";
// Actions
if (!runActions) {
return true;
}
if ((libStEx_gf_InTrainingMode() == false) && (libStEx_gf_InPracticeMode() == false)) {
return true;
}
if ((libStEx_gf_GameIsSinglePlayer() == false)) {
return true;
}
if (((libStEx_gv_sE_Player < 1) || (libStEx_gv_sE_Player > libCore_gv_bALMaxPlayers))) {
return true;
}
libStEx_gv_sE_Team = libGame_gf_TeamNumberOfPlayer(libStEx_gv_sE_Player);
if ((libMapM_gf_PrimaryMapMechanic() == "")) {
auto2AF5D1CA_g = UnitGroup("VehicleDragon", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
auto2AF5D1CA_u = UnitGroupCount(auto2AF5D1CA_g, c_unitCountAll);
for (;; auto2AF5D1CA_u -= 1) {
lv_itUnitToHideMinimap = UnitGroupUnitFromEnd(auto2AF5D1CA_g, auto2AF5D1CA_u);
if (lv_itUnitToHideMinimap == null) { break; }
libNtve_gf_SendActorMessageToUnit(lv_itUnitToHideMinimap, "SetMinimapVisibility");
libNtve_gf_SendActorMessageToUnit(lv_itUnitToHideMinimap, "SetMinimapVisibilityAlways");
UnitSetState(lv_itUnitToHideMinimap, c_unitStateHighlightable, false);
}
}
TriggerExecute(libStEx_gt_SE_TrainingModeReferenceCardDisplay, true, false);
TriggerExecute(libStEx_gt_SE_TrainingModeTipInitData, true, false);
TriggerEnable(libStEx_gt_SE_TrainingModeTipDebugModeOnOff, true);
TriggerEnable(libStEx_gt_SE_TrainingModeTalentStart, true);
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_WatchTower) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipWatchTower, true);
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_HealingFountain) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipHearthstoneHealingFountainMana, true);
TriggerEnable(libStEx_gt_SE_TrainingModeTipHealingFountainDrinking, true);
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Experience) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipExperience, true);
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Forts) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipForts, true);
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Gates) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipGates, true);
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Mana) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipHearthstoneHealingFountainMana, true);
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Ammo1) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipAmmunition1, true);
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Bushes) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipBushes, true);
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_MercCamps) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipMercCamps, true);
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Hearthstone) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipHearthstoneHealingFountainMana, true);
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Mount) == false) && (libGame_gv_players[libStEx_gv_sE_Player].lv_heroData.lv_usesMounts == true)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipMount, true);
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Abilities) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipAbilities, true);
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Death1) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipDeath1, true);
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Spacebar) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipSpacebar, true);
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Talents) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipTalents, true);
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_CoreShield) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipCore, true);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_TrainingModeInit_Init () {
libStEx_gt_TrainingModeInit = TriggerCreate("libStEx_gt_TrainingModeInit_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Training Mode Bank Init
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_TrainingModeBankInit_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_itPlayer;
string lv_bankKey;
int lv_itNewUserTip;
// Automatic Variable Declarations
const int autoF8F6748A_ae = libCore_gv_bALMaxPlayers;
const int autoF8F6748A_ai = 1;
int auto6F0AEFF1_ae;
const int auto6F0AEFF1_ai = 1;
// Variable Initialization
lv_bankKey = "";
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
libStEx_gv_sE_Player = 0;
if ((libStEx_gf_GameIsSinglePlayer() == true)) {
lv_itPlayer = 1;
for ( ; ( (autoF8F6748A_ai >= 0 && lv_itPlayer <= autoF8F6748A_ae) || (autoF8F6748A_ai < 0 && lv_itPlayer >= autoF8F6748A_ae) ) ; lv_itPlayer += autoF8F6748A_ai ) {
if ((PlayerStatus(lv_itPlayer) == c_playerStatusActive) && (PlayerType(lv_itPlayer) == c_playerTypeUser)) {
libStEx_gv_sE_Player = lv_itPlayer;
break;
}
}
}
lv_bankKey = libStEx_gv_sE_TrainingModeBankkey_RefCard_C;
if ((BankKeyExists(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank, libStEx_gv_sE_TrainingModeBankSection_C, lv_bankKey) == true)) {
libStEx_gv_sE_TrainingModeRefCardTimes = BankValueGetAsInt(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank, libStEx_gv_sE_TrainingModeBankSection_C, lv_bankKey);
}
else {
libStEx_gv_sE_TrainingModeRefCardTimes = 0;
BankValueSetFromInt(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank, libStEx_gv_sE_TrainingModeBankSection_C, lv_bankKey, libStEx_gv_sE_TrainingModeRefCardTimes);
}
TriggerExecute(libStEx_gt_SE_TrainingModeTipInitData, true, false);
if ((libStEx_gv_sE_Player > 0)) {
lv_bankKey = libStEx_gv_sE_TrainingModeBankkey_OnOff_C;
if ((BankKeyExists(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank, libStEx_gv_sE_TrainingModeBankSection_C, lv_bankKey) == true)) {
libStEx_gv_sE_TrainingMode = BankValueGetAsFlag(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank, libStEx_gv_sE_TrainingModeBankSection_C, lv_bankKey);
}
else {
libStEx_gv_sE_TrainingMode = false;
BankValueSetFromFlag(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank, libStEx_gv_sE_TrainingModeBankSection_C, lv_bankKey, libStEx_gv_sE_TrainingMode);
}
auto6F0AEFF1_ae = libStEx_gf_SE_TrainingModeTipCount();
lv_itNewUserTip = 1;
for ( ; ( (auto6F0AEFF1_ai >= 0 && lv_itNewUserTip <= auto6F0AEFF1_ae) || (auto6F0AEFF1_ai < 0 && lv_itNewUserTip >= auto6F0AEFF1_ae) ) ; lv_itNewUserTip += auto6F0AEFF1_ai ) {
lv_bankKey = (libStEx_gv_sE_TrainingModeBankkey_Tip_C + IntToString((libStEx_gv_sE_TrainingModeTips[lv_itNewUserTip].lv_iD)));
if ((BankKeyExists(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank, libStEx_gv_sE_TrainingModeBankSection_C, lv_bankKey) == true)) {
libStEx_gv_sE_TrainingModeTips[lv_itNewUserTip].lv_doneTimes = BankValueGetAsInt(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank, libStEx_gv_sE_TrainingModeBankSection_C, lv_bankKey);
}
else {
libStEx_gv_sE_TrainingModeTips[lv_itNewUserTip].lv_doneTimes = 0;
BankValueSetFromInt(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank, libStEx_gv_sE_TrainingModeBankSection_C, lv_bankKey, libStEx_gv_sE_TrainingModeTips[lv_itNewUserTip].lv_doneTimes);
}
}
lv_bankKey = libStEx_gv_sE_TrainingModeBankkey_Talent_C;
if ((BankKeyExists(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank, libStEx_gv_sE_TrainingModeBankSection_C, lv_bankKey) == true)) {
libStEx_gv_sE_TrainingModeTalentTaught = BankValueGetAsFlag(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank, libStEx_gv_sE_TrainingModeBankSection_C, lv_bankKey);
}
else {
libStEx_gv_sE_TrainingModeTalentTaught = false;
BankValueSetFromFlag(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank, libStEx_gv_sE_TrainingModeBankSection_C, lv_bankKey, libStEx_gv_sE_TrainingModeTalentTaught);
}
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_TrainingModeBankInit_Init () {
libStEx_gt_TrainingModeBankInit = TriggerCreate("libStEx_gt_TrainingModeBankInit_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingMode Talents Ready
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTalentsReady_Func (bool testConds, bool runActions) {
// Variable Declarations
string lv_bankKey;
// Automatic Variable Declarations
// Variable Initialization
lv_bankKey = "";
// Conditions
if (testConds) {
if (!((libGame_gf_HeroLevelUpPlayer() == libStEx_gv_sE_Player))) {
return false;
}
if (!((libGame_gv_teams[libStEx_gv_sE_Team].lv_teamLevel == 1))) {
return false;
}
if (!((libGame_gv_talents_ActiveChoiceTierForPlayer[libStEx_gv_sE_Player] > 0))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
libStEx_gv_sE_TrainingModeTalentTaught = true;
lv_bankKey = libStEx_gv_sE_TrainingModeBankkey_Talent_C;
BankValueSetFromFlag(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank, libStEx_gv_sE_TrainingModeBankSection_C, lv_bankKey, libStEx_gv_sE_TrainingModeTalentTaught);
BankSave(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank);
libGame_gv_xPTrickleEnabled = false;
TriggerExecute(libStEx_gt_SE_TrainingModeTalentsSuggestToOpenPanelQ, true, false);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTalentsReady_Init () {
libStEx_gt_SE_TrainingModeTalentsReady = TriggerCreate("libStEx_gt_SE_TrainingModeTalentsReady_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTalentsReady, false);
libGame_gf_HeroLevelUp(libStEx_gt_SE_TrainingModeTalentsReady);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingMode Talents Suggest To Open Panel Q
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTalentsSuggestToOpenPanelQ_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(libStEx_gt_SE_TrainingModeTalentsPanelOpened, true);
if ((TimerGetElapsed(libGame_gv_gameTimer) == 0.0)) {
libGame_gv_gateTimerReady = false;
if ((TimerIsPaused(libGame_gv_openTheGatesTimer) == false)) {
TimerPause(libGame_gv_openTheGatesTimer, true);
libStEx_gv_sE_TrainingModeTalentTeachingOpenTheGateTimerPaused = true;
}
TriggerQueueEnter();
if ((libStEx_gv_sE_TrainingModeTalentPanelOpened == false)) {
Wait(1.0, c_timeGame);
libCore_gf_SetAllSoundChannelVolumesStandardTiming(libNtve_ge_VolumeChannelMode_Speech, PlayerGroupAll());
libCore_gf_SendTransmissionCampaign(null, "TutorialVO|Line00561", c_transmissionDurationAdd, 0.0, false, libCore_ge_TransmissionPortraitOptioins_DontShowPortrait, libCore_ge_TransmissionCueSoundOptions_DefaultCueSoundBehavior);
Wait(6.5, c_timeGame);
if ((libStEx_gv_sE_TrainingModeTalentPanelOpened == false)) {
libStEx_gf_SE_ShowHideTalentPortraitFlashingImage(true);
libCore_gf_SendTransmissionCampaign(null, "TutorialVO|Line00562", c_transmissionDurationAdd, 0.0, false, libCore_ge_TransmissionPortraitOptioins_DontShowPortrait, libCore_ge_TransmissionCueSoundOptions_DefaultCueSoundBehavior);
Wait(2.5, c_timeGame);
if ((libStEx_gv_sE_TrainingModeTalentPanelOpened == false)) {
libStEx_gf_DisplayHintMessage(StringExternal("Param/Value/lib_StEx_26D54DC7"), true, 1.0);
}
TransmissionWait(TransmissionLastSent(), 0.0);
}
libCore_gf_SetAllSoundChannelVolumesStandardTiming(libNtve_ge_VolumeChannelMode_Game, PlayerGroupAll());
}
TriggerQueueExit();
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTalentsSuggestToOpenPanelQ_Init () {
libStEx_gt_SE_TrainingModeTalentsSuggestToOpenPanelQ = TriggerCreate("libStEx_gt_SE_TrainingModeTalentsSuggestToOpenPanelQ_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingMode Talents Panel Opened
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTalentsPanelOpened_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
libStEx_gf_SE_ShowHideTalentPortraitFlashingImage(false);
libStEx_gv_sE_TrainingModeTalentPanelOpened = true;
CameraLockInput(libStEx_gv_sE_Player, true);
CameraPan(libStEx_gv_sE_Player, UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit), 1.0, -1, 10.0, false);
libStEx_gf_FreezeUnfreezeAllUnits(libStEx_ge_FreezeOptions_Freeze);
libNtve_gf_MakeUnitUncommandable(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit, true);
TriggerEnable(libStEx_gt_SE_TrainingModeTalentsPicked, true);
TransmissionClearGroup(PlayerGroupSingle(libStEx_gv_sE_Player));
if ((libStEx_gv_sE_HintMsgPanel != c_invalidDialogControlId)) {
DialogControlSetVisible(libStEx_gv_sE_HintMsgPanel, PlayerGroupAll(), true);
}
TriggerExecute(libStEx_gt_SE_TrainingModeTalentsPanelFlashTalents, true, false);
TriggerQueueEnter();
if ((libStEx_gv_sE_TrainingModeTalentPicked == false)) {
libCore_gf_SetAllSoundChannelVolumesStandardTiming(libNtve_ge_VolumeChannelMode_Speech, PlayerGroupAll());
libCore_gf_SendTransmissionCampaign(null, "TutorialVO|Line00563", c_transmissionDurationAdd, 0.0, true, libCore_ge_TransmissionPortraitOptioins_DontShowPortrait, libCore_ge_TransmissionCueSoundOptions_DefaultCueSoundBehavior);
libCore_gf_SetAllSoundChannelVolumesStandardTiming(libNtve_ge_VolumeChannelMode_Game, PlayerGroupAll());
}
TriggerQueueExit();
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTalentsPanelOpened_Init () {
libStEx_gt_SE_TrainingModeTalentsPanelOpened = TriggerCreate("libStEx_gt_SE_TrainingModeTalentsPanelOpened_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTalentsPanelOpened, false);
TriggerAddEventHeroTalentTreeSelectionPanelShown(libStEx_gt_SE_TrainingModeTalentsPanelOpened, c_playerAny);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingMode Talents Panel - Flash Talents
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTalentsPanelFlashTalents_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer\\ConsoleUIContainer\\FloatingCombatUnitSelectionPanel\\UnitStatusFrame0\\HeroTalentTreeSelectionPanel\\TalentTreePanel\\TutorialTalentHighlight");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), true);
while (!((libStEx_gv_sE_TrainingModeTalentPicked == true))) {
Wait(0.5, c_timeGame);
}
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTalentsPanelFlashTalents_Init () {
libStEx_gt_SE_TrainingModeTalentsPanelFlashTalents = TriggerCreate("libStEx_gt_SE_TrainingModeTalentsPanelFlashTalents_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingMode Talents Picked
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTalentsPicked_Func (bool testConds, bool runActions) {
// Variable Declarations
string lv_bankKey;
// Automatic Variable Declarations
// Variable Initialization
lv_bankKey = "";
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
libStEx_gv_sE_TrainingModeTalentPicked = true;
CameraLockInput(libStEx_gv_sE_Player, false);
TransmissionClearGroup(PlayerGroupSingle(libStEx_gv_sE_Player));
if ((libStEx_gv_sE_HintMsgPanel != c_invalidDialogControlId)) {
DialogControlSetVisible(libStEx_gv_sE_HintMsgPanel, PlayerGroupAll(), true);
}
SetTalentTreePauseGameWhenSelectionPanelShown(true);
CinematicMode(PlayerGroupAll(), false, 0.0);
libStEx_gf_FreezeUnfreezeAllUnits(libStEx_ge_FreezeOptions_Unfrezze);
libGame_gv_xPTrickleEnabled = true;
libNtve_gf_MakeUnitUncommandable(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit, false);
SoundPlayForPlayer(SoundLink("UI_Game_Training_PickTalentSound", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
Wait(1.0, c_timeGame);
TriggerExecute(libStEx_gt_SE_TrainingModeTalentsPickedTransmissionQ, true, false);
Wait(1.0, c_timeGame);
if ((libStEx_gv_sE_TrainingModeTalentTeachingOpenTheGateTimerPaused == true)) {
TimerPause(libGame_gv_openTheGatesTimer, false);
}
libGame_gv_gateTimerReady = true;
SetTalentTreeSelectionPanelDismissAllowed(true);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTalentsPicked_Init () {
libStEx_gt_SE_TrainingModeTalentsPicked = TriggerCreate("libStEx_gt_SE_TrainingModeTalentsPicked_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTalentsPicked, false);
TriggerAddEventHeroTalentTreeSelected(libStEx_gt_SE_TrainingModeTalentsPicked, c_playerAny);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingMode Talents Picked Transmission Q
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTalentsPickedTransmissionQ_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
TriggerQueueEnter();
libCore_gf_SetAllSoundChannelVolumesStandardTiming(libNtve_ge_VolumeChannelMode_Speech, PlayerGroupAll());
libCore_gf_SendTransmissionCampaign(null, "TutorialVO|Line00593", c_transmissionDurationAdd, 0.0, true, libCore_ge_TransmissionPortraitOptioins_DontShowPortrait, libCore_ge_TransmissionCueSoundOptions_DefaultCueSoundBehavior);
libCore_gf_SendTransmissionCampaign(null, "TutorialVO|Line00564", c_transmissionDurationAdd, 0.0, true, libCore_ge_TransmissionPortraitOptioins_DontShowPortrait, libCore_ge_TransmissionCueSoundOptions_DefaultCueSoundBehavior);
libCore_gf_SetAllSoundChannelVolumesStandardTiming(libNtve_ge_VolumeChannelMode_Game, PlayerGroupAll());
TriggerQueueExit();
libStEx_gv_sE_TrainingModeTalentPanelOpened = false;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTalentsPickedTransmissionQ_Init () {
libStEx_gt_SE_TrainingModeTalentsPickedTransmissionQ = TriggerCreate("libStEx_gt_SE_TrainingModeTalentsPickedTransmissionQ_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingMode Talent Start
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTalentStart_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
SetTalentTreePauseGameWhenSelectionPanelShown(true);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTalentStart_Init () {
libStEx_gt_SE_TrainingModeTalentStart = TriggerCreate("libStEx_gt_SE_TrainingModeTalentStart_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTalentStart, false);
TriggerAddEventTimer(libStEx_gt_SE_TrainingModeTalentStart, libGame_gv_openTheGatesTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingMode Reference Card Display
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeReferenceCardDisplay_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_itPlayer;
bool lv_heroSpawned;
string lv_bankKey;
// Automatic Variable Declarations
const int autoB5550F23_ae = libCore_gv_bALMaxPlayers;
const int autoB5550F23_ai = 1;
// Variable Initialization
lv_bankKey = "";
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
while (!((TimerGetDuration(libGame_gv_openTheGatesTimer) > 0.0) && (TimerGetRemaining(libGame_gv_openTheGatesTimer) <= 22.0))) {
Wait(0.5, c_timeGame);
}
while (true) {
lv_itPlayer = 1;
for ( ; ( (autoB5550F23_ai >= 0 && lv_itPlayer <= autoB5550F23_ae) || (autoB5550F23_ai < 0 && lv_itPlayer >= autoB5550F23_ae) ) ; lv_itPlayer += autoB5550F23_ai ) {
if ((UnitIsAlive(libGame_gv_players[lv_itPlayer].lv_heroUnit) == true)) {
lv_heroSpawned = true;
break;
}
}
if ((lv_heroSpawned == true)) {
break;
}
Wait(1.0, c_timeGame);
}
Wait(2.0, c_timeGame);
if ((libStEx_gf_InTrainingMode() == true)) {
libStEx_gv_sE_TrainingModeRefCardTimes += 1;
lv_bankKey = libStEx_gv_sE_TrainingModeBankkey_RefCard_C;
BankValueSetFromInt(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank, libStEx_gv_sE_TrainingModeBankSection_C, lv_bankKey, libStEx_gv_sE_TrainingModeRefCardTimes);
BankSave(libGame_gv_players[libStEx_gv_sE_Player].lv_bankData.lv_bank);
}
libUIUI_gf_AddTutorialReferenceItemPreset(libUIUI_ge_TutorialReferenceItem_Move);
libUIUI_gf_AddTutorialReferenceItemPreset(libUIUI_ge_TutorialReferenceItem_Attack);
libUIUI_gf_AddTutorialReferenceItemPreset(libUIUI_ge_TutorialReferenceItem_Abilities);
libUIUI_gf_AddTutorialReferenceItemPreset(libUIUI_ge_TutorialReferenceItem_Mount);
libUIUI_gf_AddTutorialReferenceItemPreset(libUIUI_ge_TutorialReferenceItem_Camera);
if ((libStEx_gv_sE_TrainingModeRefCardTimes >= libStEx_gv_sE_TrainingModeRefCardTimesMax_C)) {
DialogControlSetVisible(libUIUI_gv_tutorialReferencePanel, PlayerGroupAll(), false);
DialogControlSetVisible(libUIUI_gv_tutorialReferenceShowHelp, PlayerGroupAll(), true);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeReferenceCardDisplay_Init () {
libStEx_gt_SE_TrainingModeReferenceCardDisplay = TriggerCreate("libStEx_gt_SE_TrainingModeReferenceCardDisplay_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTip Init Data
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipInitData_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Abilities)].lv_iD = libStEx_ge_SE_TrainingModeTips_Abilities;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Abilities)].lv_name = StringExternal("Param/Value/lib_StEx_44414396");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Abilities)].lv_description = StringExternal("Param/Value/lib_StEx_D36B2FCF");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Abilities)].lv_vO = "TutorialVO|Line00568";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Bushes)].lv_iD = libStEx_ge_SE_TrainingModeTips_Bushes;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Bushes)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Bushes)].lv_description = StringExternal("Param/Value/lib_StEx_D9433DF9");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Bushes)].lv_vO = "TutorialVO|Line00570";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_CoreShield)].lv_iD = libStEx_ge_SE_TrainingModeTips_CoreShield;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_CoreShield)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_CoreShield)].lv_description = StringExternal("Param/Value/lib_StEx_93C5656C");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_CoreShield)].lv_vO = "TutorialVO|Line00571";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Death1)].lv_iD = libStEx_ge_SE_TrainingModeTips_Death1;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Death1)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Death1)].lv_description = StringExternal("Param/Value/lib_StEx_E3B176AC");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Death1)].lv_vO = "TutorialVO|Line00572";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Death2)].lv_iD = libStEx_ge_SE_TrainingModeTips_Death2;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Death2)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Death2)].lv_description = StringExternal("Param/Value/lib_StEx_9BBA30FD");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Death2)].lv_vO = "TutorialVO|Line00573";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Experience)].lv_iD = libStEx_ge_SE_TrainingModeTips_Experience;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Experience)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Experience)].lv_description = StringExternal("Param/Value/lib_StEx_C4306643");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Experience)].lv_vO = "TutorialVO|Line00580";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Forts)].lv_iD = libStEx_ge_SE_TrainingModeTips_Forts;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Forts)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Forts)].lv_description = StringExternal("Param/Value/lib_StEx_53947FF6");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Forts)].lv_vO = "TutorialVO|Line00581";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Gates)].lv_iD = libStEx_ge_SE_TrainingModeTips_Gates;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Gates)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Gates)].lv_description = StringExternal("Param/Value/lib_StEx_42ED54A0");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Gates)].lv_vO = "TutorialVO|Line00574";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_HealingFountain)].lv_iD = libStEx_ge_SE_TrainingModeTips_HealingFountain;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_HealingFountain)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_HealingFountain)].lv_description = StringExternal("Param/Value/lib_StEx_5FB0A15F");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_HealingFountain)].lv_vO = "TutorialVO|Line00582";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Hearthstone)].lv_iD = libStEx_ge_SE_TrainingModeTips_Hearthstone;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Hearthstone)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Hearthstone)].lv_description = StringExternal("Param/Value/lib_StEx_7FA8863D");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Hearthstone)].lv_vO = "TutorialVO|Line00583";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_HearthstoneUsed)].lv_iD = libStEx_ge_SE_TrainingModeTips_HearthstoneUsed;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_HearthstoneUsed)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_HearthstoneUsed)].lv_description = StringExternal("Param/Value/lib_StEx_8CBED564");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_HearthstoneUsed)].lv_vO = "TutorialVO|Line00584";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Mana)].lv_iD = libStEx_ge_SE_TrainingModeTips_Mana;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Mana)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Mana)].lv_description = StringExternal("Param/Value/lib_StEx_500B9D83");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Mana)].lv_vO = "TutorialVO|Line00588";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_MercCamps)].lv_iD = libStEx_ge_SE_TrainingModeTips_MercCamps;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_MercCamps)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_MercCamps)].lv_description = StringExternal("Param/Value/lib_StEx_15B05B80");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_MercCamps)].lv_vO = "TutorialVO|Line00605";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Mount)].lv_iD = libStEx_ge_SE_TrainingModeTips_Mount;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Mount)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Mount)].lv_description = StringExternal("Param/Value/lib_StEx_DEBAB952");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Mount)].lv_vO = "TutorialVO|Line00576";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Spacebar)].lv_iD = libStEx_ge_SE_TrainingModeTips_Spacebar;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Spacebar)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Spacebar)].lv_description = StringExternal("Param/Value/lib_StEx_F98F289B");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Spacebar)].lv_vO = "TutorialVO|Line00577";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Talents)].lv_iD = libStEx_ge_SE_TrainingModeTips_Talents;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Talents)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Talents)].lv_description = StringExternal("Param/Value/lib_StEx_38391ADB");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_Talents)].lv_vO = "TutorialVO|Line00578";
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_WatchTower)].lv_iD = libStEx_ge_SE_TrainingModeTips_WatchTower;
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_WatchTower)].lv_name = StringToText("");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_WatchTower)].lv_description = StringExternal("Param/Value/lib_StEx_90394BFA");
libStEx_gv_sE_TrainingModeTips[(libStEx_ge_SE_TrainingModeTips_WatchTower)].lv_vO = "TutorialVO|Line00579";
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipInitData_Init () {
libStEx_gt_SE_TrainingModeTipInitData = TriggerCreate("libStEx_gt_SE_TrainingModeTipInitData_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipAbilities
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipAbilities_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
TriggerEnable(libStEx_gt_SE_TrainingModeTipAbilitiesQWERUsed, true);
Wait(120.0, c_timeGame);
while (true) {
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((UnitIsAlive(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit) == true) && (libStEx_gf_PlayerIsBeingAttacked() == false) && (libStEx_gv_sE_TrainingModeTipDisplaying == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipAbilitiesQWERUsed, false);
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_Abilities);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_Abilities);
Wait(180.0, c_timeGame);
}
Wait(0.5, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipAbilities_Init () {
libStEx_gt_SE_TrainingModeTipAbilities = TriggerCreate("libStEx_gt_SE_TrainingModeTipAbilities_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipAbilities, false);
TriggerAddEventTimer(libStEx_gt_SE_TrainingModeTipAbilities, libGame_gv_openTheGatesTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipAbilitiesQWERUsed
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipAbilitiesQWERUsed_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((EventPlayer() == libStEx_gv_sE_Player))) {
return false;
}
if (!((libGame_gv_gameOver == false))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
TriggerStop(libStEx_gt_SE_TrainingModeTipAbilities);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipAbilitiesQWERUsed_Init () {
libStEx_gt_SE_TrainingModeTipAbilitiesQWERUsed = TriggerCreate("libStEx_gt_SE_TrainingModeTipAbilitiesQWERUsed_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipAbilitiesQWERUsed, false);
TriggerAddEventKeyPressed(libStEx_gt_SE_TrainingModeTipAbilitiesQWERUsed, c_playerAny, c_keyQ, true, c_keyModifierStateExclude, c_keyModifierStateExclude, c_keyModifierStateIgnore);
TriggerAddEventKeyPressed(libStEx_gt_SE_TrainingModeTipAbilitiesQWERUsed, c_playerAny, c_keyW, true, c_keyModifierStateExclude, c_keyModifierStateExclude, c_keyModifierStateIgnore);
TriggerAddEventKeyPressed(libStEx_gt_SE_TrainingModeTipAbilitiesQWERUsed, c_playerAny, c_keyE, true, c_keyModifierStateExclude, c_keyModifierStateExclude, c_keyModifierStateIgnore);
TriggerAddEventKeyPressed(libStEx_gt_SE_TrainingModeTipAbilitiesQWERUsed, c_playerAny, c_keyR, true, c_keyModifierStateExclude, c_keyModifierStateExclude, c_keyModifierStateIgnore);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipAmmunition 1
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipAmmunition1_Func (bool testConds, bool runActions) {
// Variable Declarations
unitgroup lv_towers;
unit lv_itTower;
// Automatic Variable Declarations
unitgroup auto1125102F_g;
int auto1125102F_u;
// Variable Initialization
lv_towers = UnitGroupEmpty();
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
Wait(2.0, c_timeGame);
lv_towers = UnitGroupAlliance(libStEx_gv_sE_Player, c_unitAllianceEnemy, RegionEntireMap(), UnitFilter((1 << c_targetFilterTower) | (1 << c_targetFilterStructure), 0, (1 << c_targetFilterCreep) | (1 << c_targetFilterImmuneToSkillshots) | (1 << c_targetFilterMissile) | (1 << c_targetFilterItem), (1 << (c_targetFilterStasis - 32)) | (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32)) | (1 << (c_targetFilterOrdersPaused - 32))), 0);
if ((libNtve_gf_UnitGroupIsDead(lv_towers) == true)) {
return true;
}
while (true) {
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((UnitIsAlive(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit) == true) && (libStEx_gf_PlayerIsBeingAttacked() == false) && (libStEx_gv_sE_TrainingModeTipDisplaying == false)) {
auto1125102F_g = lv_towers;
auto1125102F_u = UnitGroupCount(auto1125102F_g, c_unitCountAll);
for (;; auto1125102F_u -= 1) {
lv_itTower = UnitGroupUnitFromEnd(auto1125102F_g, auto1125102F_u);
if (lv_itTower == null) { break; }
if ((UnitGetPropertyFixed(lv_itTower, c_unitPropEnergy, c_unitPropCurrent) == 0.0) && (DistanceBetweenPoints(UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit), UnitGetPosition(lv_itTower)) < 12.0)) {
libCore_gf_AttachReticleEffectAndTextTagOnUnit(libCore_ge_ReticleType_Enemy, libCore_ge_ReticleSize_Medium, StringToText(""), lv_itTower, "Ref_Center");
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_Ammo1);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_Ammo1);
Wait(libStEx_gv_sE_TrainingModeTipDuration_C, c_timeGame);
libNtve_gf_KillModel(libNtve_gf_ActorLastCreated());
return true;
}
}
}
Wait(0.5, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipAmmunition1_Init () {
libStEx_gt_SE_TrainingModeTipAmmunition1 = TriggerCreate("libStEx_gt_SE_TrainingModeTipAmmunition1_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipAmmunition1, false);
TriggerAddEventTimer(libStEx_gt_SE_TrainingModeTipAmmunition1, libGame_gv_openTheGatesTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipBushes
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipBushes_Func (bool testConds, bool runActions) {
// Variable Declarations
region lv_area;
// Automatic Variable Declarations
const int auto69DED0F3_n = 5;
int auto69DED0F3_i;
// Variable Initialization
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
Wait(2.0, c_timeGame);
while (true) {
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((UnitIsAlive(libGame_gv_players[1].lv_heroUnit) == true) && (libStEx_gf_PlayerIsInCombat(1) == false) && (libStEx_gv_sE_TrainingModeTipDisplaying == false)) {
if ((UnitHasBehavior2(libGame_gv_players[1].lv_heroUnit, "ShrubStatusController") == true) && (UnitBehaviorEnabled(libGame_gv_players[1].lv_heroUnit, "ShrubStatusController") == true) && (UnitBehaviorCount(libGame_gv_players[1].lv_heroUnit, "ShrubStatusController") > 0)) {
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_Bushes);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_Bushes);
lv_area = RegionCircle(UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit), 12.0);
libStEx_gf_SE_TrainingModeTipBushesSendActorMessageToBushes("HaloSetColor 255,255,0", lv_area);
for (auto69DED0F3_i = 1; auto69DED0F3_i <= auto69DED0F3_n; auto69DED0F3_i += 1) {
libStEx_gf_SE_TrainingModeTipBushesSendActorMessageToBushes("HaloStart", lv_area);
Wait(0.4, c_timeGame);
libStEx_gf_SE_TrainingModeTipBushesSendActorMessageToBushes("HaloStop", lv_area);
Wait(0.7, c_timeGame);
}
libStEx_gf_SE_TrainingModeTipBushesSendActorMessageToBushes("HaloClearColor", lv_area);
return true;
}
}
Wait(0.25, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipBushes_Init () {
libStEx_gt_SE_TrainingModeTipBushes = TriggerCreate("libStEx_gt_SE_TrainingModeTipBushes_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipBushes, false);
TriggerAddEventTimer(libStEx_gt_SE_TrainingModeTipBushes, libGame_gv_openTheGatesTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipCore
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipCore_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
const int auto92CE80BB_n = 8;
int auto92CE80BB_i;
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
for (auto92CE80BB_i = 1; auto92CE80BB_i <= auto92CE80BB_n; auto92CE80BB_i += 1) {
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((UnitIsAlive(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit) == true) && (DistanceBetweenPoints(UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit), UnitGetPosition(libGame_gv_teams[libGame_gf_EnemyTeam(libStEx_gv_sE_Team)].lv_core)) < 12.0) && (libStEx_gv_sE_TrainingModeTipDisplaying == false)) {
libCore_gf_AttachReticleEffectAndTextTagOnUnit(libCore_ge_ReticleType_Enemy, libCore_ge_ReticleSize_Medium, StringToText(""), libGame_gv_teams[libGame_gf_EnemyTeam(libStEx_gv_sE_Team)].lv_core, "Ref_Center");
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_Forts);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_Forts);
Wait(libStEx_gv_sE_TrainingModeTipDuration_C, c_timeGame);
libNtve_gf_KillModel(libNtve_gf_ActorLastCreated());
return true;
}
Wait(0.5, c_timeGame);
}
TriggerEnable(TriggerGetCurrent(), true);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipCore_Init () {
libStEx_gt_SE_TrainingModeTipCore = TriggerCreate("libStEx_gt_SE_TrainingModeTipCore_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipCore, false);
TriggerAddEventTimer(libStEx_gt_SE_TrainingModeTipCore, libGame_gv_openTheGatesTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipDeath1
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipDeath1_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libGame_gf_HeroKilledPlayer() == libStEx_gv_sE_Player))) {
return false;
}
if (!((libGame_gv_gameOver == false))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
Wait(2.0, c_timeGame);
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_Death1);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_Death1);
Wait(libStEx_gv_sE_TrainingModeTipDuration_C, c_timeGame);
TriggerEnable(libStEx_gt_SE_TrainingModeTipDeath2, true);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipDeath1_Init () {
libStEx_gt_SE_TrainingModeTipDeath1 = TriggerCreate("libStEx_gt_SE_TrainingModeTipDeath1_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipDeath1, false);
libGame_gf_HeroKilled(libStEx_gt_SE_TrainingModeTipDeath1);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipDeath2
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipDeath2_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libGame_gf_HeroKilledPlayer() == libStEx_gv_sE_Player))) {
return false;
}
if (!((libGame_gv_gameOver == false))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
Wait(2.0, c_timeGame);
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_Death2);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_Death2);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipDeath2_Init () {
libStEx_gt_SE_TrainingModeTipDeath2 = TriggerCreate("libStEx_gt_SE_TrainingModeTipDeath2_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipDeath2, false);
libGame_gf_HeroKilled(libStEx_gt_SE_TrainingModeTipDeath2);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipExperience
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipExperience_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libGame_gf_HeroLevelUpPlayer() == libStEx_gv_sE_Player))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
while (true) {
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((UnitIsAlive(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit) == true) && (libStEx_gf_PlayerIsBeingAttacked() == false) && (libStEx_gv_sE_TrainingModeTipDisplaying == false) && ((libNtve_gf_UnitGroupIsDead(UnitGroup(libCore_gf_DataMinionUnitTypeFromPreset(libCore_ge_MinionTypes_Footmen), libGame_gf_ComputerPlayerInTeam(libGame_gf_EnemyTeam(libStEx_gv_sE_Team)), RegionCircle(UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit), 8.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 1)) == false) || (libNtve_gf_UnitGroupIsDead(UnitGroup(libCore_gf_DataMinionUnitTypeFromPreset(libCore_ge_MinionTypes_Wizard), libGame_gf_ComputerPlayerInTeam(libGame_gf_EnemyTeam(libStEx_gv_sE_Team)), RegionCircle(UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit), 8.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 1)) == false) || (libNtve_gf_UnitGroupIsDead(UnitGroup(libCore_gf_DataMinionUnitTypeFromPreset(libCore_ge_MinionTypes_Ranged), libGame_gf_ComputerPlayerInTeam(libGame_gf_EnemyTeam(libStEx_gv_sE_Team)), RegionCircle(UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit), 8.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 1)) == false))) {
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_Experience);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_Experience);
return true;
}
Wait(0.5, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipExperience_Init () {
libStEx_gt_SE_TrainingModeTipExperience = TriggerCreate("libStEx_gt_SE_TrainingModeTipExperience_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipExperience, false);
libGame_gf_HeroLevelUp(libStEx_gt_SE_TrainingModeTipExperience);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipForts
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipForts_Func (bool testConds, bool runActions) {
// Variable Declarations
unitgroup lv_forts;
// Automatic Variable Declarations
const int autoE83221F0_n = 8;
int autoE83221F0_i;
// Variable Initialization
lv_forts = UnitGroupEmpty();
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
for (autoE83221F0_i = 1; autoE83221F0_i <= autoE83221F0_n; autoE83221F0_i += 1) {
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((UnitIsAlive(libGame_gv_players[1].lv_heroUnit) == true) && (libStEx_gv_sE_TrainingModeTipDisplaying == false)) {
lv_forts = UnitGroup("TownTownHallL2", libGame_gf_ComputerPlayerInTeam(libGame_gf_EnemyTeam(libStEx_gv_sE_Team)), RegionCircle(UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit), 10.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
if ((libNtve_gf_UnitGroupIsDead(lv_forts) == true)) {
lv_forts = UnitGroup("TownTownHallL3", libGame_gf_ComputerPlayerInTeam(libGame_gf_EnemyTeam(libStEx_gv_sE_Team)), RegionCircle(UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit), 10.0), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
}
if ((libNtve_gf_UnitGroupIsDead(lv_forts) == false)) {
libCore_gf_AttachReticleEffectAndTextTagOnUnit(libCore_ge_ReticleType_Enemy, libCore_ge_ReticleSize_Medium, StringToText(""), UnitGroupUnit(lv_forts, 1), "Ref_Center");
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_Forts);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_Forts);
Wait(libStEx_gv_sE_TrainingModeTipDuration_C, c_timeGame);
libNtve_gf_KillModel(libNtve_gf_ActorLastCreated());
return true;
}
}
Wait(0.5, c_timeGame);
}
TriggerEnable(TriggerGetCurrent(), true);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipForts_Init () {
libStEx_gt_SE_TrainingModeTipForts = TriggerCreate("libStEx_gt_SE_TrainingModeTipForts_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipForts, false);
TriggerAddEventTimer(libStEx_gt_SE_TrainingModeTipForts, libGame_gv_openTheGatesTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipGates
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipGates_Func (bool testConds, bool runActions) {
// Variable Declarations
unitgroup lv_gates;
int lv_itTown;
int lv_itTownStructures;
unit lv_itGate;
// Automatic Variable Declarations
int auto05588EDB_ae;
const int auto05588EDB_ai = 1;
int autoCA607DED_ae;
const int autoCA607DED_ai = 1;
unitgroup autoBDCF1F76_g;
int autoBDCF1F76_u;
// Variable Initialization
lv_gates = UnitGroupEmpty();
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
Wait(2.0, c_timeGame);
auto05588EDB_ae = libGame_gv_townTownCount;
lv_itTown = 1;
for ( ; ( (auto05588EDB_ai >= 0 && lv_itTown <= auto05588EDB_ae) || (auto05588EDB_ai < 0 && lv_itTown >= auto05588EDB_ae) ) ; lv_itTown += auto05588EDB_ai ) {
if ((libGame_gv_townTownData[lv_itTown].lv_owner != libGame_gf_ComputerPlayerInTeam(libGame_gf_EnemyTeam(libStEx_gv_sE_Team)))) {
continue;
}
autoCA607DED_ae = libGame_gv_townTownData[lv_itTown].lv_structureCount;
lv_itTownStructures = 1;
for ( ; ( (autoCA607DED_ai >= 0 && lv_itTownStructures <= autoCA607DED_ae) || (autoCA607DED_ai < 0 && lv_itTownStructures >= autoCA607DED_ae) ) ; lv_itTownStructures += autoCA607DED_ai ) {
if ((UnitTypeTestFlag(UnitGetType(libGame_gv_townTownData[lv_itTown].lv_structureUnits[lv_itTownStructures]), c_unitFlagTownStructureGate) == true)) {
UnitGroupAdd(lv_gates, libGame_gv_townTownData[lv_itTown].lv_structureUnits[lv_itTownStructures]);
}
}
}
if ((libNtve_gf_UnitGroupIsDead(lv_gates) == true)) {
return true;
}
while (true) {
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((UnitIsAlive(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit) == true) && (libStEx_gf_PlayerIsBeingAttacked() == false) && (libStEx_gv_sE_TrainingModeTipDisplaying == false)) {
autoBDCF1F76_g = lv_gates;
autoBDCF1F76_u = UnitGroupCount(autoBDCF1F76_g, c_unitCountAll);
for (;; autoBDCF1F76_u -= 1) {
lv_itGate = UnitGroupUnitFromEnd(autoBDCF1F76_g, autoBDCF1F76_u);
if (lv_itGate == null) { break; }
if ((DistanceBetweenPoints(UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit), UnitGetPosition(lv_itGate)) < 3.0)) {
libCore_gf_AttachReticleEffectAndTextTagOnUnit(libCore_ge_ReticleType_Enemy, libCore_ge_ReticleSize_Medium, StringToText(""), lv_itGate, "Ref_Center");
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_Gates);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_Gates);
Wait(libStEx_gv_sE_TrainingModeTipDuration_C, c_timeGame);
libNtve_gf_KillModel(libNtve_gf_ActorLastCreated());
return true;
}
}
}
Wait(0.5, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipGates_Init () {
libStEx_gt_SE_TrainingModeTipGates = TriggerCreate("libStEx_gt_SE_TrainingModeTipGates_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipGates, false);
TriggerAddEventTimer(libStEx_gt_SE_TrainingModeTipGates, libGame_gv_openTheGatesTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipHearthstone/Healing Fountain/Mana
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipHearthstoneHealingFountainMana_Func (bool testConds, bool runActions) {
// Variable Declarations
unitgroup lv_healingFountains;
unit lv_itHealingFountain;
// Automatic Variable Declarations
unitgroup auto00B49A0C_g;
int auto00B49A0C_u;
// Variable Initialization
lv_healingFountains = UnitGroupEmpty();
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
Wait(2.0, c_timeGame);
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_HealingFountain) == false)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipHealingFountainDrinking, false);
lv_healingFountains = UnitGroup("TownMoonwellL2", libGame_gf_ComputerPlayerInTeam(libStEx_gv_sE_Team), RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
UnitGroupAddUnitGroup(lv_healingFountains, UnitGroup("TownMoonwellL3", libGame_gf_ComputerPlayerInTeam(libStEx_gv_sE_Team), RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0));
}
while (true) {
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_HealingFountain) == false) && (libStEx_gv_sE_TrainingModeTipHealingFountainDid == false)) {
if ((UnitIsAlive(libGame_gv_players[1].lv_heroUnit) == true) && (UnitGetPropertyFixed(libGame_gv_players[1].lv_heroUnit, c_unitPropLifePercent, c_unitPropCurrent) < 60.0) && (UnitHasBehavior2(libGame_gv_players[1].lv_heroUnit, "HealingFountainCooldown") == false) && (libStEx_gv_sE_TrainingModeTipDisplaying == false)) {
if ((libStEx_gv_sE_TrainingModeTipHealingFountainReticle == null)) {
auto00B49A0C_g = lv_healingFountains;
auto00B49A0C_u = UnitGroupCount(auto00B49A0C_g, c_unitCountAll);
for (;; auto00B49A0C_u -= 1) {
lv_itHealingFountain = UnitGroupUnitFromEnd(auto00B49A0C_g, auto00B49A0C_u);
if (lv_itHealingFountain == null) { break; }
if ((DistanceBetweenPoints(UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit), UnitGetPosition(lv_itHealingFountain)) < 14.0)) {
libCore_gf_AttachReticleEffectAndTextTagOnUnit(libCore_ge_ReticleType_MainObjective, libCore_ge_ReticleSize_Medium, StringToText(""), lv_itHealingFountain, "Ref_Center");
libStEx_gv_sE_TrainingModeTipHealingFountainReticle = libNtve_gf_ActorLastCreated();
TriggerEnable(libStEx_gt_SE_TrainingModeTipHealingFountainUsed, true);
break;
}
}
}
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_HealingFountain);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_HealingFountain);
Wait(libStEx_gv_sE_TrainingModeTipDuration_C, c_timeGame);
if ((libStEx_gv_sE_TrainingModeTipHealingFountainReticle != null)) {
TriggerEnable(libStEx_gt_SE_TrainingModeTipHealingFountainUsed, false);
libNtve_gf_KillModel(libStEx_gv_sE_TrainingModeTipHealingFountainReticle);
libStEx_gv_sE_TrainingModeTipHealingFountainReticle = null;
}
Wait(360.0, c_timeGame);
}
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Hearthstone) == false) && (libStEx_gv_sE_TrainingModeTipHearthstoneDid == false)) {
if ((UnitIsAlive(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit) == true) && (libStEx_gf_PlayerIsBeingAttacked() == false) && (libStEx_gv_sE_TrainingModeTipDisplaying == false) && (UnitGetPropertyFixed(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit, c_unitPropLifePercent, c_unitPropCurrent) < 40.0)) {
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_Hearthstone);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_Hearthstone);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_HearthstoneUsed);
libStEx_gf_HighlightCommandButton(true, libStEx_ge_TutorialCommandButton_Hearth);
TriggerEnable(libStEx_gt_SE_TrainingModeTipHearthstoneUnhighlightButton, true);
Wait(libStEx_gv_sE_TrainingModeTipDuration_C, c_timeGame);
libStEx_gf_HighlightCommandButton(false, libStEx_ge_TutorialCommandButton_Hearth);
libStEx_gv_sE_TrainingModeTipHearthstoneDid = true;
TriggerExecute(libStEx_gt_SE_TrainingModeTipHearthstoneTeachingExpires, true, false);
Wait(360.0, c_timeGame);
}
}
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Mana) == false) && (libStEx_gv_sE_TrainingModeTipManaDid == false)) {
if ((UnitIsAlive(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit) == true) && (libStEx_gv_sE_TrainingModeTipDisplaying == false) && (UnitHasBehavior2(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit, "NotManaUserDummy") == false) && (UnitGetPropertyFixed(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit, c_unitPropEnergyPercent, c_unitPropCurrent) < 30.0)) {
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_Mana);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_Mana);
Wait(libStEx_gv_sE_TrainingModeTipDuration_C, c_timeGame);
libStEx_gv_sE_TrainingModeTipManaDid = true;
TriggerExecute(libStEx_gt_SE_TrainingModeTipManaTeachingExpires, true, false);
Wait(240.0, c_timeGame);
}
}
Wait(0.5, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipHearthstoneHealingFountainMana_Init () {
libStEx_gt_SE_TrainingModeTipHearthstoneHealingFountainMana = TriggerCreate("libStEx_gt_SE_TrainingModeTipHearthstoneHealingFountainMana_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipHearthstoneHealingFountainMana, false);
TriggerAddEventTimer(libStEx_gt_SE_TrainingModeTipHearthstoneHealingFountainMana, libGame_gv_openTheGatesTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipHearthstoneTeachingExpires
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipHearthstoneTeachingExpires_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
Wait(180.0, c_timeGame);
libStEx_gv_sE_TrainingModeTipHearthstoneDid = false;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipHearthstoneTeachingExpires_Init () {
libStEx_gt_SE_TrainingModeTipHearthstoneTeachingExpires = TriggerCreate("libStEx_gt_SE_TrainingModeTipHearthstoneTeachingExpires_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipManaTeachingExpires
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipManaTeachingExpires_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
Wait(60.0, c_timeGame);
libStEx_gv_sE_TrainingModeTipManaDid = false;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipManaTeachingExpires_Init () {
libStEx_gt_SE_TrainingModeTipManaTeachingExpires = TriggerCreate("libStEx_gt_SE_TrainingModeTipManaTeachingExpires_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipHearthstoneUnhighlightButton
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipHearthstoneUnhighlightButton_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libGame_gv_gameOver == false))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
libStEx_gf_HighlightCommandButton(false, libStEx_ge_TutorialCommandButton_Hearth);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipHearthstoneUnhighlightButton_Init () {
libStEx_gt_SE_TrainingModeTipHearthstoneUnhighlightButton = TriggerCreate("libStEx_gt_SE_TrainingModeTipHearthstoneUnhighlightButton_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipHearthstoneUnhighlightButton, false);
TriggerAddEventUnitAbility(libStEx_gt_SE_TrainingModeTipHearthstoneUnhighlightButton, UnitRefFromVariable("libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit"), AbilityCommand("Hearthstone", 0), c_abilEffectStageCast, false);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipHealingFountainUsed
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipHealingFountainUsed_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libGame_gv_gameOver == false))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
if ((libStEx_gv_sE_TrainingModeTipHealingFountainReticle != null)) {
libNtve_gf_KillModel(libStEx_gv_sE_TrainingModeTipHealingFountainReticle);
libStEx_gv_sE_TrainingModeTipHealingFountainReticle = null;
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipHealingFountainUsed_Init () {
libStEx_gt_SE_TrainingModeTipHealingFountainUsed = TriggerCreate("libStEx_gt_SE_TrainingModeTipHealingFountainUsed_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipHealingFountainUsed, false);
TriggerAddEventUnitAbility(libStEx_gt_SE_TrainingModeTipHealingFountainUsed, UnitRefFromVariable("libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit"), AbilityCommand("FountainDrink", 0), c_unitAbilStageExecute, false);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipHealingFountainDrinking
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipHealingFountainDrinking_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
while (true) {
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((UnitIsAlive(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit) == true) && (libStEx_gv_sE_TrainingModeTipDisplaying == false)) {
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_HealingFountain);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_HealingFountain);
return true;
}
Wait(0.5, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipHealingFountainDrinking_Init () {
libStEx_gt_SE_TrainingModeTipHealingFountainDrinking = TriggerCreate("libStEx_gt_SE_TrainingModeTipHealingFountainDrinking_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipHealingFountainDrinking, false);
TriggerAddEventUnitAbility(libStEx_gt_SE_TrainingModeTipHealingFountainDrinking, UnitRefFromVariable("libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit"), AbilityCommand("FountainDrink", 0), c_unitAbilStageExecute, false);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipMercCamps
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipMercCamps_Func (bool testConds, bool runActions) {
// Variable Declarations
unitgroup lv_towers;
int lv_itCamp;
// Automatic Variable Declarations
int auto5C5FA041_ae;
const int auto5C5FA041_ai = 1;
// Variable Initialization
lv_towers = UnitGroupEmpty();
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
Wait(2.0, c_timeGame);
while (true) {
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((UnitIsAlive(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit) == true) && (libStEx_gf_PlayerIsInCombat(1) == false) && (libStEx_gv_sE_TrainingModeTipDisplaying == false)) {
auto5C5FA041_ae = libMapM_gv_jungleNumberOfCreepCamps;
lv_itCamp = 1;
for ( ; ( (auto5C5FA041_ai >= 0 && lv_itCamp <= auto5C5FA041_ae) || (auto5C5FA041_ai < 0 && lv_itCamp >= auto5C5FA041_ae) ) ; lv_itCamp += auto5C5FA041_ai ) {
if ((libMapM_gv_jungleCreepCamps[lv_itCamp].lv_aIState == libMapM_ge_JungleCampStates_Idle) && (libMapM_gv_jungleCreepCamps[lv_itCamp].lv_mapDataCampType != libMapM_ge_JungleCampTypes_DoubloonCamp) && (libMapM_gv_jungleCreepCamps[lv_itCamp].lv_mapDataCampType != libMapM_ge_JungleCampTypes_DoubloonSmallCamp) && (DistanceBetweenPoints(libMapM_gv_jungleCreepCamps[lv_itCamp].lv_mapDataCampCaptainSpawnPoint, UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit)) < 12.0)) {
libCore_gf_CreateReticleEffectAndTextTagAtPoint(libCore_ge_ReticleType_BonusObjective, libCore_ge_ReticleSize_Large, null, libMapM_gv_jungleCreepCamps[lv_itCamp].lv_mapDataCampCaptainSpawnPoint);
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_MercCamps);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_MercCamps);
VisRevealArea(libStEx_gv_sE_Player, RegionCircle(libMapM_gv_jungleCreepCamps[lv_itCamp].lv_mapDataCampCaptainSpawnPoint, 8.0), libStEx_gv_sE_TrainingModeTipDuration_C, false);
Wait(libStEx_gv_sE_TrainingModeTipDuration_C, c_timeGame);
libNtve_gf_KillModel(libNtve_gf_ActorLastCreated());
return true;
}
}
}
Wait(0.25, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipMercCamps_Init () {
libStEx_gt_SE_TrainingModeTipMercCamps = TriggerCreate("libStEx_gt_SE_TrainingModeTipMercCamps_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipMercCamps, false);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipMount
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipMount_Func (bool testConds, bool runActions) {
// Variable Declarations
point lv_originalLoc;
// Automatic Variable Declarations
// Variable Initialization
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
while (true) {
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((UnitIsAlive(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit) == true) && (libStEx_gf_PlayerIsInCombat(1) == false) && (libGame_gf_MountEnabled(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit) == true) && ((UnitHasBehavior2(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit, "Mounted") == false) || (UnitBehaviorEnabled(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit, "Mounted") == false) || (UnitBehaviorCount(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit, "Mounted") == 0))) {
if ((lv_originalLoc == null)) {
lv_originalLoc = UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit);
}
else {
if ((libStEx_gv_sE_TrainingModeTipDisplaying == false) && (DistanceBetweenPoints(UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit), lv_originalLoc) > 25.0)) {
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_Mount);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_Mount);
libStEx_gf_HighlightCommandButton(true, libStEx_ge_TutorialCommandButton_Mount);
Wait(libStEx_gv_sE_TrainingModeTipDuration_C, c_timeGame);
libStEx_gf_HighlightCommandButton(false, libStEx_ge_TutorialCommandButton_Mount);
Wait(120.0, c_timeGame);
lv_originalLoc = null;
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Mount) == true)) {
return true;
}
}
}
}
else {
lv_originalLoc = null;
}
Wait(0.5, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipMount_Init () {
libStEx_gt_SE_TrainingModeTipMount = TriggerCreate("libStEx_gt_SE_TrainingModeTipMount_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipMount, false);
TriggerAddEventTimer(libStEx_gt_SE_TrainingModeTipMount, libGame_gv_openTheGatesTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipMountUnhighlightButton
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipMountUnhighlightButton_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
libStEx_gf_HighlightCommandButton(false, libStEx_ge_TutorialCommandButton_Mount);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipMountUnhighlightButton_Init () {
libStEx_gt_SE_TrainingModeTipMountUnhighlightButton = TriggerCreate("libStEx_gt_SE_TrainingModeTipMountUnhighlightButton_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipMountUnhighlightButton, false);
TriggerAddEventUnitAbility(libStEx_gt_SE_TrainingModeTipMountUnhighlightButton, UnitRefFromVariable("libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit"), AbilityCommand("Mount", 0), c_abilEffectStageCast, false);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipSpacebar
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipSpacebar_Func (bool testConds, bool runActions) {
// Variable Declarations
unitgroup lv_watchTowers;
unit lv_itWatchTower;
bool lv_cameraOff;
timer lv_cameraOffTimer;
// Automatic Variable Declarations
// Variable Initialization
lv_watchTowers = UnitGroupEmpty();
lv_cameraOffTimer = TimerCreate();
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
Wait(30.0, c_timeGame);
while (true) {
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((lv_cameraOff == false)) {
if ((DistanceBetweenPoints(UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit), CameraGetTarget(libStEx_gv_sE_Player)) > 12.0)) {
lv_cameraOff = true;
TimerStart(lv_cameraOffTimer, 6.0, false, c_timeGame);
}
}
else {
if ((DistanceBetweenPoints(UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit), CameraGetTarget(libStEx_gv_sE_Player)) < 6.0)) {
lv_cameraOff = false;
TimerPause(lv_cameraOffTimer, true);
}
}
if ((UnitIsAlive(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit) == true) && (libStEx_gf_PlayerIsBeingAttacked() == false) && (libStEx_gv_sE_TrainingModeTipDisplaying == false) && (lv_cameraOff == true) && (TimerGetRemaining(lv_cameraOffTimer) == 0.0)) {
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_Spacebar);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_Spacebar);
lv_cameraOff = false;
Wait(120.0, c_timeGame);
}
Wait(0.5, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipSpacebar_Init () {
libStEx_gt_SE_TrainingModeTipSpacebar = TriggerCreate("libStEx_gt_SE_TrainingModeTipSpacebar_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipSpacebar, false);
TriggerAddEventTimer(libStEx_gt_SE_TrainingModeTipSpacebar, libGame_gv_openTheGatesTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipTalents
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipTalents_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_availableTime;
// Automatic Variable Declarations
// Variable Initialization
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
TriggerEnable(libStEx_gt_SE_TrainingModeTipTalentsPanelOpened, true);
TriggerEnable(libStEx_gt_SE_TrainingModeTipTalentsPanelClosed, true);
libStEx_gv_sE_TrainingModeTalentPanelOpened = false;
while (true) {
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((libGame_gv_talents_ActiveChoiceTierForPlayer[1] > 0)) {
if ((lv_availableTime > 0.0)) {
if ((UnitIsAlive(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit) == true) && (libStEx_gf_PlayerIsBeingAttacked() == false) && (libStEx_gv_sE_TrainingModeTipDisplaying == false) && ((GameGetMissionTime() - lv_availableTime) > 15.0) && (libStEx_gv_sE_TrainingModeTalentPanelOpened == false)) {
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_Talents);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_Talents);
libStEx_gf_SE_ShowHideTalentPortraitFlashingImage(true);
Wait(libStEx_gv_sE_TrainingModeTipDuration_C, c_timeGame);
Wait(120.0, c_timeGame);
lv_availableTime = 0.0;
if ((libStEx_gf_SE_TrainingModeTipIsOld(libStEx_ge_SE_TrainingModeTips_Talents) == true)) {
return true;
}
}
}
else {
lv_availableTime = GameGetMissionTime();
}
}
else {
lv_availableTime = 0.0;
}
Wait(0.5, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipTalents_Init () {
libStEx_gt_SE_TrainingModeTipTalents = TriggerCreate("libStEx_gt_SE_TrainingModeTipTalents_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipTalents, false);
TriggerAddEventTimer(libStEx_gt_SE_TrainingModeTipTalents, libGame_gv_openTheGatesTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipTalentsPanelOpened
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipTalentsPanelOpened_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
libStEx_gf_SE_ShowHideTalentPortraitFlashingImage(false);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipTalentsPanelOpened_Init () {
libStEx_gt_SE_TrainingModeTipTalentsPanelOpened = TriggerCreate("libStEx_gt_SE_TrainingModeTipTalentsPanelOpened_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipTalentsPanelOpened, false);
TriggerAddEventHeroTalentTreeSelectionPanelShown(libStEx_gt_SE_TrainingModeTipTalentsPanelOpened, c_playerAny);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipTalentsPanelClosed
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipTalentsPanelClosed_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
libStEx_gf_SE_ShowHideTalentPortraitFlashingImage(false);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipTalentsPanelClosed_Init () {
libStEx_gt_SE_TrainingModeTipTalentsPanelClosed = TriggerCreate("libStEx_gt_SE_TrainingModeTipTalentsPanelClosed_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipTalentsPanelClosed, false);
TriggerAddEventHeroTalentTreeSelectionPanelHidden(libStEx_gt_SE_TrainingModeTipTalentsPanelClosed, c_playerAny);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipWatchTower
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipWatchTower_Func (bool testConds, bool runActions) {
// Variable Declarations
unitgroup lv_watchTowers;
unit lv_itWatchTower;
// Automatic Variable Declarations
unitgroup autoB26AF25F_g;
int autoB26AF25F_u;
// Variable Initialization
lv_watchTowers = UnitGroupEmpty();
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
Wait(2.0, c_timeGame);
lv_watchTowers = UnitGroup("XelNagaWatchTower", c_playerAny, RegionEntireMap(), UnitFilter(0, 0, (1 << c_targetFilterMissile), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32))), 0);
if ((libNtve_gf_UnitGroupIsDead(lv_watchTowers) == true)) {
return true;
}
while (true) {
if ((libGame_gv_gameOver == true)) {
return true;
}
if ((UnitIsAlive(libGame_gv_players[1].lv_heroUnit) == true) && (libStEx_gf_PlayerIsInCombat(1) == false) && (libStEx_gv_sE_TrainingModeTipDisplaying == false)) {
autoB26AF25F_g = lv_watchTowers;
autoB26AF25F_u = UnitGroupCount(autoB26AF25F_g, c_unitCountAll);
for (;; autoB26AF25F_u -= 1) {
lv_itWatchTower = UnitGroupUnitFromEnd(autoB26AF25F_g, autoB26AF25F_u);
if (lv_itWatchTower == null) { break; }
if ((DistanceBetweenPoints(UnitGetPosition(libGame_gv_players[libStEx_gv_sE_Player].lv_heroUnit), UnitGetPosition(lv_itWatchTower)) < 12.0)) {
libCore_gf_AttachReticleEffectAndTextTagOnUnit(libCore_ge_ReticleType_BonusObjective, libCore_ge_ReticleSize_Large, StringToText(""), lv_itWatchTower, "Ref_Center");
TextTagSetFogVisibility(TextTagLastCreated(), c_visTypeMask);
libStEx_gf_SE_TrainingModeTipDisplay(libStEx_ge_SE_TrainingModeTips_WatchTower);
libStEx_gf_SE_TrainingModeTipSetDisplayed(libStEx_ge_SE_TrainingModeTips_WatchTower);
Wait(libStEx_gv_sE_TrainingModeTipDuration_C, c_timeGame);
libNtve_gf_KillModel(libNtve_gf_ActorLastCreated());
TextTagDestroy(TextTagLastCreated());
return true;
}
}
}
Wait(0.5, c_timeGame);
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipWatchTower_Init () {
libStEx_gt_SE_TrainingModeTipWatchTower = TriggerCreate("libStEx_gt_SE_TrainingModeTipWatchTower_Func");
TriggerEnable(libStEx_gt_SE_TrainingModeTipWatchTower, false);
TriggerAddEventTimer(libStEx_gt_SE_TrainingModeTipWatchTower, libGame_gv_jungleWatchTowerStartTimer);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipDebugEnable
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipDebugEnable_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_itTip;
// Automatic Variable Declarations
int autoB8CCE432_ae;
const int autoB8CCE432_ai = 1;
// Variable Initialization
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
libStEx_gf_SetTrainingMode(true);
autoB8CCE432_ae = libStEx_gf_SE_TrainingModeTipCount();
lv_itTip = 1;
for ( ; ( (autoB8CCE432_ai >= 0 && lv_itTip <= autoB8CCE432_ae) || (autoB8CCE432_ai < 0 && lv_itTip >= autoB8CCE432_ae) ) ; lv_itTip += autoB8CCE432_ai ) {
libStEx_gv_sE_TrainingModeTips[lv_itTip].lv_doneTimes = 0;
}
TriggerExecute(libStEx_gt_TrainingModeInit, true, false);
TriggerExecute(libStEx_gt_SE_TrainingModeReferenceCardDisplay, false, false);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipDebugEnable_Init () {
libStEx_gt_SE_TrainingModeTipDebugEnable = TriggerCreate("libStEx_gt_SE_TrainingModeTipDebugEnable_Func");
TriggerAddEventChatMessage(libStEx_gt_SE_TrainingModeTipDebugEnable, c_playerAny, "-SETE", true);
}
//--------------------------------------------------------------------------------------------------
// Trigger: SE_TrainingModeTipDebugModeOn/Off
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_SE_TrainingModeTipDebugModeOnOff_Func (bool testConds, bool runActions) {
// Variable Declarations
string lv_bankKey;
// Automatic Variable Declarations
// Variable Initialization
lv_bankKey = "";
// Conditions
if (testConds) {
if (!((GameCheatsEnabled(c_gameCheatCategoryDevelopment) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
if ((libStEx_gv_sE_TrainingMode == true)) {
libStEx_gv_sE_TrainingMode = false;
ConsoleCommand("variable skirmishpractice 0", true, true);
UIDisplayMessage(PlayerGroupAll(), c_messageAreaSubtitle, StringExternal("Param/Value/lib_StEx_9AB613F3"));
}
else {
libStEx_gv_sE_TrainingMode = true;
ConsoleCommand("variable skirmishpractice 1", true, true);
UIDisplayMessage(PlayerGroupAll(), c_messageAreaSubtitle, StringExternal("Param/Value/lib_StEx_983D18D2"));
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_SE_TrainingModeTipDebugModeOnOff_Init () {
libStEx_gt_SE_TrainingModeTipDebugModeOnOff = TriggerCreate("libStEx_gt_SE_TrainingModeTipDebugModeOnOff_Func");
TriggerAddEventChatMessage(libStEx_gt_SE_TrainingModeTipDebugModeOnOff, c_playerAny, "TRAININGMODE", false);
TriggerAddEventChatMessage(libStEx_gt_SE_TrainingModeTipDebugModeOnOff, c_playerAny, "-TM", false);
}
//--------------------------------------------------------------------------------------------------
// Trigger: DebugEncounter
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_DebugEncounter_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
libStEx_gv_encounterActive = true;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_DebugEncounter_Init () {
libStEx_gt_DebugEncounter = TriggerCreate("libStEx_gt_DebugEncounter_Func");
TriggerAddEventChatMessage(libStEx_gt_DebugEncounter, c_playerAny, "inencounter", true);
}
//--------------------------------------------------------------------------------------------------
// Trigger: DEBUG - DPS Cheat
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_DEBUGDPSCheat_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libCore_gv_dEBUGDebuggingEnabled == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
libStEx_gv_encounterActive = true;
TriggerExecute(libStEx_gt_ObjectiveTargetDummyCreate, true, false);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_DEBUGDPSCheat_Init () {
libStEx_gt_DEBUGDPSCheat = TriggerCreate("libStEx_gt_DEBUGDPSCheat_Func");
TriggerAddEventChatMessage(libStEx_gt_DEBUGDPSCheat, c_playerAny, "-dpsobj", true);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Player Hits Retry During DPS Meter Objective
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_PlayerHitsRetryDuringDPSMeterObjective_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((libStEx_gv_objectives.lv_objectiveTargetDummy != c_invalidObjectiveId))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
UnitSetPosition(libGame_gv_players[1].lv_heroUnit, libStEx_gv_vallaRetryLocation, false);
UnitSetFacing(libGame_gv_players[1].lv_heroUnit, 349.82, 0.0);
UnitIssueOrder(libGame_gv_players[1].lv_heroUnit, Order(AbilityCommand("stop", 0)), c_orderQueueReplace);
UnitSetPosition(libGame_gv_players[2].lv_heroUnit, libStEx_gv_utherRetryLocation, false);
UnitSetFacing(libGame_gv_players[2].lv_heroUnit, 308.75, 0.0);
UnitIssueOrder(libGame_gv_players[2].lv_heroUnit, Order(AbilityCommand("stop", 0)), c_orderQueueReplace);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_PlayerHitsRetryDuringDPSMeterObjective_Init () {
libStEx_gt_PlayerHitsRetryDuringDPSMeterObjective = TriggerCreate("libStEx_gt_PlayerHitsRetryDuringDPSMeterObjective_Func");
libStEx_gf_TutorialPlayerHitsRetryButton(libStEx_gt_PlayerHitsRetryDuringDPSMeterObjective);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Talent Create
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveTalentCreate_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
SoundPlayForPlayer(SoundLink("UI_Game_Tutorial_Veteran_Challenge_Received", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_5B6142CE"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectivePickOneTalent = ObjectiveLastCreated();
Wait(2.0, c_timeReal);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveTalentCreate_Init () {
libStEx_gt_ObjectiveTalentCreate = TriggerCreate("libStEx_gt_ObjectiveTalentCreate_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Talent Complete
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveTalentComplete_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectivePickOneTalent, c_objectiveStateCompleted);
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectivePickOneTalent);
libStEx_gv_objectives.lv_objectivePickOneTalent = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveTalentComplete_Init () {
libStEx_gt_ObjectiveTalentComplete = TriggerCreate("libStEx_gt_ObjectiveTalentComplete_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Challenge Ready Create
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveChallengeReadyCreate_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
SoundPlayForPlayer(SoundLink("UI_Game_Tutorial_Veteran_Challenge_Received", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_8287F3F2"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectivePickRemainingTalentsAndReady = ObjectiveLastCreated();
Wait(2.0, c_timeReal);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveChallengeReadyCreate_Init () {
libStEx_gt_ObjectiveChallengeReadyCreate = TriggerCreate("libStEx_gt_ObjectiveChallengeReadyCreate_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Challenge Ready Complete
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveChallengeReadyComplete_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
ObjectiveSetState(libStEx_gv_objectives.lv_objectivePickRemainingTalentsAndReady, c_objectiveStateCompleted);
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectivePickRemainingTalentsAndReady);
libStEx_gv_objectives.lv_objectivePickRemainingTalentsAndReady = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveChallengeReadyComplete_Init () {
libStEx_gt_ObjectiveChallengeReadyComplete = TriggerCreate("libStEx_gt_ObjectiveChallengeReadyComplete_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Target Dummy Create
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveTargetDummyCreate_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
SoundPlayForPlayer(SoundLink("UI_Game_Tutorial_Veteran_Challenge_Received", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_F74901E6"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveTargetDummy = ObjectiveLastCreated();
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_5555D85A"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveGraveGolemFightUtherMustSurvive = ObjectiveLastCreated();
Wait(2.0, c_timeReal);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveTargetDummyCreate_Init () {
libStEx_gt_ObjectiveTargetDummyCreate = TriggerCreate("libStEx_gt_ObjectiveTargetDummyCreate_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Target Dummy Complete
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveTargetDummyComplete_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveTargetDummyCreate, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveTargetDummy, c_objectiveStateCompleted);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveGraveGolemFightUtherMustSurvive, c_objectiveStateCompleted);
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveTargetDummy);
libStEx_gv_objectives.lv_objectiveTargetDummy = c_invalidObjectiveId;
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveGraveGolemFightUtherMustSurvive);
libStEx_gv_objectives.lv_objectiveGraveGolemFightUtherMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveTargetDummyComplete_Init () {
libStEx_gt_ObjectiveTargetDummyComplete = TriggerCreate("libStEx_gt_ObjectiveTargetDummyComplete_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Target Dummy Fail
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveTargetDummyFail_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveTargetDummyCreate, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveTargetDummy, c_objectiveStateFailed);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveGraveGolemFightUtherMustSurvive, c_objectiveStateFailed);
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveTargetDummy);
libStEx_gv_objectives.lv_objectiveTargetDummy = c_invalidObjectiveId;
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveGraveGolemFightUtherMustSurvive);
libStEx_gv_objectives.lv_objectiveGraveGolemFightUtherMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveTargetDummyFail_Init () {
libStEx_gt_ObjectiveTargetDummyFail = TriggerCreate("libStEx_gt_ObjectiveTargetDummyFail_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Grave Golem Fight Create
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveGraveGolemFightCreate_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
SoundPlayForPlayer(SoundLink("UI_Game_Tutorial_Veteran_Challenge_Received", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_9BB8C802"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveGraveGolemFight = ObjectiveLastCreated();
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_934B8C2E"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveGraveGolemFightUtherMustSurvive = ObjectiveLastCreated();
Wait(2.0, c_timeReal);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveGraveGolemFightCreate_Init () {
libStEx_gt_ObjectiveGraveGolemFightCreate = TriggerCreate("libStEx_gt_ObjectiveGraveGolemFightCreate_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Grave Golem Fight Complete
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveGraveGolemFightComplete_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveGraveGolemFightCreate, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveGraveGolemFight, c_objectiveStateCompleted);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveGraveGolemFightUtherMustSurvive, c_objectiveStateCompleted);
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveGraveGolemFight);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveGraveGolemFightUtherMustSurvive);
libStEx_gv_objectives.lv_objectiveGraveGolemFight = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveGraveGolemFightUtherMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveGraveGolemFightComplete_Init () {
libStEx_gt_ObjectiveGraveGolemFightComplete = TriggerCreate("libStEx_gt_ObjectiveGraveGolemFightComplete_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Grave Golem Fight Fail
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveGraveGolemFightFail_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveGraveGolemFightCreate, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveGraveGolemFight, c_objectiveStateFailed);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveGraveGolemFightUtherMustSurvive, c_objectiveStateFailed);
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveGraveGolemFight);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveGraveGolemFightUtherMustSurvive);
libStEx_gv_objectives.lv_objectiveGraveGolemFight = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveGraveGolemFightUtherMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveGraveGolemFightFail_Init () {
libStEx_gt_ObjectiveGraveGolemFightFail = TriggerCreate("libStEx_gt_ObjectiveGraveGolemFightFail_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Mosh Pit Fight Create
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveMoshPitFightCreate_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
SoundPlayForPlayer(SoundLink("UI_Game_Tutorial_Veteran_Challenge_Received", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_3D982619"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveMoshPitFight = ObjectiveLastCreated();
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_2115A74F"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveMoshPitTeamMustSurvive = ObjectiveLastCreated();
Wait(2.0, c_timeReal);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveMoshPitFightCreate_Init () {
libStEx_gt_ObjectiveMoshPitFightCreate = TriggerCreate("libStEx_gt_ObjectiveMoshPitFightCreate_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Mosh Pit Fight Complete
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveMoshPitFightComplete_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveMoshPitFightCreate, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveMoshPitFight, c_objectiveStateCompleted);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveMoshPitTeamMustSurvive, c_objectiveStateCompleted);
Wait(3.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveMoshPitFight);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveMoshPitTeamMustSurvive);
libStEx_gv_objectives.lv_objectiveMoshPitFight = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveMoshPitTeamMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveMoshPitFightComplete_Init () {
libStEx_gt_ObjectiveMoshPitFightComplete = TriggerCreate("libStEx_gt_ObjectiveMoshPitFightComplete_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Mosh Pit Fight Fail
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveMoshPitFightFail_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveMoshPitFightCreate, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveMoshPitFight, c_objectiveStateFailed);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveMoshPitTeamMustSurvive, c_objectiveStateFailed);
Wait(3.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveMoshPitFight);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveMoshPitTeamMustSurvive);
libStEx_gv_objectives.lv_objectiveMoshPitFight = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveMoshPitTeamMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveMoshPitFightFail_Init () {
libStEx_gt_ObjectiveMoshPitFightFail = TriggerCreate("libStEx_gt_ObjectiveMoshPitFightFail_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Defend the Keep Create
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveBossFightCreate2_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
SoundPlayForPlayer(SoundLink("UI_Game_Tutorial_Veteran_Challenge_Received", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
TextExpressionSetToken("Param/Expression/lib_StEx_96525700", "A", StringExternal("Param/Value/lib_StEx_F497BCEA"));
TextExpressionSetToken("Param/Expression/lib_StEx_96525700", "B", IntToText(libStEx_gv__1D_WaveTotal_C));
ObjectiveCreateForPlayers(TextExpressionAssemble("Param/Expression/lib_StEx_96525700"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveDefendKeep = ObjectiveLastCreated();
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_B1611DE6"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveDefendKeepVallaMustSurvive = ObjectiveLastCreated();
Wait(2.0, c_timeReal);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveBossFightCreate2_Init () {
libStEx_gt_ObjectiveBossFightCreate2 = TriggerCreate("libStEx_gt_ObjectiveBossFightCreate2_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Defend the Keep Update
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveBossFightComplete12_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveBossFightCreate2, true, false);
TextExpressionSetToken("Param/Expression/lib_StEx_F0599696", "A", IntToText((libStEx_gv__1D_WaveCurrent - 1)));
TextExpressionSetToken("Param/Expression/lib_StEx_F0599696", "B", IntToText(libStEx_gv__1D_WaveTotal_C));
ObjectiveSetName(libStEx_gv_objectives.lv_objectiveDefendKeep, TextExpressionAssemble("Param/Expression/lib_StEx_F0599696"));
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveBossFightComplete12_Init () {
libStEx_gt_ObjectiveBossFightComplete12 = TriggerCreate("libStEx_gt_ObjectiveBossFightComplete12_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Defend the Keep Complete
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveBossFightComplete3_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveBossFightCreate2, true, false);
TextExpressionSetToken("Param/Expression/lib_StEx_97CE0701", "A", IntToText(libStEx_gv__1D_WaveTotal_C));
TextExpressionSetToken("Param/Expression/lib_StEx_97CE0701", "B", IntToText(libStEx_gv__1D_WaveTotal_C));
ObjectiveSetName(libStEx_gv_objectives.lv_objectiveDefendKeep, TextExpressionAssemble("Param/Expression/lib_StEx_97CE0701"));
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveDefendKeep, c_objectiveStateCompleted);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveDefendKeepVallaMustSurvive, c_objectiveStateCompleted);
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveDefendKeep);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveDefendKeepVallaMustSurvive);
libStEx_gv_objectives.lv_objectiveDefendKeep = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveDefendKeepVallaMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveBossFightComplete3_Init () {
libStEx_gt_ObjectiveBossFightComplete3 = TriggerCreate("libStEx_gt_ObjectiveBossFightComplete3_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Defend the Keep Fail
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveBossFightComplete4_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveBossFightCreate2, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveDefendKeep, c_objectiveStateFailed);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveDefendKeepVallaMustSurvive, c_objectiveStateFailed);
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveDefendKeep);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveDefendKeepVallaMustSurvive);
libStEx_gv_objectives.lv_objectiveDefendKeep = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveDefendKeepVallaMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveBossFightComplete4_Init () {
libStEx_gt_ObjectiveBossFightComplete4 = TriggerCreate("libStEx_gt_ObjectiveBossFightComplete4_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Roaming Create
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveRoamingCreate_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
SoundPlayForPlayer(SoundLink("UI_Game_Tutorial_Veteran_Challenge_Received", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_A4E6E86C"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveRoamHitTenFirst = ObjectiveLastCreated();
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_F954A660"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveRoamZeratulMustSurvive = ObjectiveLastCreated();
Wait(2.0, c_timeReal);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveRoamingCreate_Init () {
libStEx_gt_ObjectiveRoamingCreate = TriggerCreate("libStEx_gt_ObjectiveRoamingCreate_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Roaming Complete
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveRoamingComplete_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveRoamingCreate, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveRoamHitTenFirst, c_objectiveStateCompleted);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveRoamZeratulMustSurvive, c_objectiveStateCompleted);
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveRoamHitTenFirst);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveRoamZeratulMustSurvive);
libStEx_gv_objectives.lv_objectiveRoamHitTenFirst = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveRoamZeratulMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveRoamingComplete_Init () {
libStEx_gt_ObjectiveRoamingComplete = TriggerCreate("libStEx_gt_ObjectiveRoamingComplete_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Roaming Fail
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveRoamingFail_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveRoamingCreate, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveRoamHitTenFirst, c_objectiveStateFailed);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveRoamZeratulMustSurvive, c_objectiveStateFailed);
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveRoamHitTenFirst);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveRoamZeratulMustSurvive);
libStEx_gv_objectives.lv_objectiveRoamHitTenFirst = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveRoamZeratulMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveRoamingFail_Init () {
libStEx_gt_ObjectiveRoamingFail = TriggerCreate("libStEx_gt_ObjectiveRoamingFail_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Escape Help Valla Create
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveBossFightCreate3_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
SoundPlayForPlayer(SoundLink("UI_Game_Tutorial_Veteran_Challenge_Received", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_FCEF18C3"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveEscapeKillJaina = ObjectiveLastCreated();
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_EB15632E"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveEscapeHelpValla = ObjectiveLastCreated();
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_D21A9342"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveEscapeAbathurMustSurvive = ObjectiveLastCreated();
Wait(2.0, c_timeReal);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveBossFightCreate3_Init () {
libStEx_gt_ObjectiveBossFightCreate3 = TriggerCreate("libStEx_gt_ObjectiveBossFightCreate3_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Escape Help Valla Complete
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveBossFightComplete5_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveBossFightCreate3, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveEscapeHelpValla, c_objectiveStateCompleted);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveEscapeAbathurMustSurvive, c_objectiveStateCompleted);
if ((ObjectiveGetState(libStEx_gv_objectives.lv_objectiveEscapeKillJaina) != c_objectiveStateCompleted)) {
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveEscapeKillJaina, c_objectiveStateFailed);
}
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveEscapeHelpValla);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveEscapeKillJaina);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveEscapeAbathurMustSurvive);
libStEx_gv_objectives.lv_objectiveEscapeHelpValla = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveEscapeKillJaina = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveEscapeAbathurMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveBossFightComplete5_Init () {
libStEx_gt_ObjectiveBossFightComplete5 = TriggerCreate("libStEx_gt_ObjectiveBossFightComplete5_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Escape Kill Jaina Complete
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveBossFightComplete11_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveBossFightCreate3, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveEscapeKillJaina, c_objectiveStateCompleted);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveBossFightComplete11_Init () {
libStEx_gt_ObjectiveBossFightComplete11 = TriggerCreate("libStEx_gt_ObjectiveBossFightComplete11_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Escape Help Valla Fail
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveBossFightComplete6_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveBossFightCreate3, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveEscapeHelpValla, c_objectiveStateFailed);
if ((ObjectiveGetState(libStEx_gv_objectives.lv_objectiveEscapeKillJaina) != c_objectiveStateCompleted)) {
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveEscapeKillJaina, c_objectiveStateFailed);
}
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveEscapeAbathurMustSurvive, c_objectiveStateFailed);
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveEscapeHelpValla);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveEscapeKillJaina);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveEscapeAbathurMustSurvive);
libStEx_gv_objectives.lv_objectiveEscapeHelpValla = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveEscapeKillJaina = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveEscapeAbathurMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveBossFightComplete6_Init () {
libStEx_gt_ObjectiveBossFightComplete6 = TriggerCreate("libStEx_gt_ObjectiveBossFightComplete6_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Soak 13 First Create
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveBossFightCreate5_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
SoundPlayForPlayer(SoundLink("UI_Game_Tutorial_Veteran_Challenge_Received", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_233D9013"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveSoakHitThirteenFirst = ObjectiveLastCreated();
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_4E800969"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveSoakAbathurMustSurvive = ObjectiveLastCreated();
Wait(2.0, c_timeReal);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveBossFightCreate5_Init () {
libStEx_gt_ObjectiveBossFightCreate5 = TriggerCreate("libStEx_gt_ObjectiveBossFightCreate5_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Soak 13 First Complete
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveBossFightComplete9_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveBossFightCreate5, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveSoakHitThirteenFirst, c_objectiveStateCompleted);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveSoakAbathurMustSurvive, c_objectiveStateCompleted);
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveSoakHitThirteenFirst);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveSoakAbathurMustSurvive);
libStEx_gv_objectives.lv_objectiveSoakHitThirteenFirst = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveSoakAbathurMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveBossFightComplete9_Init () {
libStEx_gt_ObjectiveBossFightComplete9 = TriggerCreate("libStEx_gt_ObjectiveBossFightComplete9_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Soak 13 First Fail
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveBossFightComplete10_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveBossFightCreate5, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveSoakHitThirteenFirst, c_objectiveStateFailed);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveSoakAbathurMustSurvive, c_objectiveStateFailed);
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveSoakHitThirteenFirst);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveSoakAbathurMustSurvive);
libStEx_gv_objectives.lv_objectiveSoakHitThirteenFirst = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveSoakAbathurMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveBossFightComplete10_Init () {
libStEx_gt_ObjectiveBossFightComplete10 = TriggerCreate("libStEx_gt_ObjectiveBossFightComplete10_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Team Fight Create
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveBossFightCreate4_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
SoundPlayForPlayer(SoundLink("UI_Game_Tutorial_Veteran_Challenge_Received", -1), c_maxPlayers, PlayerGroupAll(), 100.0, 0.0);
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_0213A6F1"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveDragonKnightCapture = ObjectiveLastCreated();
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_6ED354A6"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveDragonKnightAllyMustSurvive = ObjectiveLastCreated();
ObjectiveCreateForPlayers(StringExternal("Param/Value/lib_StEx_E439ACF7"), StringToText(""), c_objectiveStateActive, true, PlayerGroupSingle(libStEx_gv_pLAYER_01_USER));
libStEx_gv_objectives.lv_objectiveDragonKnightAbathurMustSurvive = ObjectiveLastCreated();
Wait(2.0, c_timeReal);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveBossFightCreate4_Init () {
libStEx_gt_ObjectiveBossFightCreate4 = TriggerCreate("libStEx_gt_ObjectiveBossFightCreate4_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Team Fight Complete
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveBossFightComplete7_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveBossFightCreate4, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveDragonKnightCapture, c_objectiveStateCompleted);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveDragonKnightAllyMustSurvive, c_objectiveStateCompleted);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveDragonKnightAbathurMustSurvive, c_objectiveStateCompleted);
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveDragonKnightCapture);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveDragonKnightAllyMustSurvive);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveDragonKnightAbathurMustSurvive);
libStEx_gv_objectives.lv_objectiveDragonKnightCapture = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveDragonKnightAllyMustSurvive = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveDragonKnightAbathurMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveBossFightComplete7_Init () {
libStEx_gt_ObjectiveBossFightComplete7 = TriggerCreate("libStEx_gt_ObjectiveBossFightComplete7_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Objective Team Fight Fail
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_ObjectiveBossFightComplete8_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libStEx_gt_ObjectiveBossFightCreate4, true, false);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveDragonKnightCapture, c_objectiveStateFailed);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveDragonKnightAllyMustSurvive, c_objectiveStateFailed);
ObjectiveSetState(libStEx_gv_objectives.lv_objectiveDragonKnightAbathurMustSurvive, c_objectiveStateFailed);
Wait(2.0, c_timeReal);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveDragonKnightCapture);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveDragonKnightAllyMustSurvive);
ObjectiveDestroy(libStEx_gv_objectives.lv_objectiveDragonKnightAbathurMustSurvive);
libStEx_gv_objectives.lv_objectiveDragonKnightCapture = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveDragonKnightAllyMustSurvive = c_invalidObjectiveId;
libStEx_gv_objectives.lv_objectiveDragonKnightAbathurMustSurvive = c_invalidObjectiveId;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_ObjectiveBossFightComplete8_Init () {
libStEx_gt_ObjectiveBossFightComplete8 = TriggerCreate("libStEx_gt_ObjectiveBossFightComplete8_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Player Hits Ready
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_PlayerHitsReady_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((EventDialogControl() == libStEx_gv_tutorialVeteranPanel.lv_ReadyButton))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
libStEx_gf_SendEventTutorialPlayerHitsReadyButton();
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_PlayerHitsReady_Init () {
libStEx_gt_PlayerHitsReady = TriggerCreate("libStEx_gt_PlayerHitsReady_Func");
TriggerAddEventDialogControl(libStEx_gt_PlayerHitsReady, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Player Hits Respec
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_PlayerHitsRespec_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((EventDialogControl() == libStEx_gv_tutorialVeteranPanel.lv_RespecButton))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
SetTalentTreeSelectionPanelAutoShow(true);
libStEx_gf_SendEventTutorialPlayerHitsRespecButton();
libStEx_gf_TutorialVeteranFlashRespecButton(false);
libStEx_gf_RespecPlayer(EventPlayer(), true);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_PlayerHitsRespec_Init () {
libStEx_gt_PlayerHitsRespec = TriggerCreate("libStEx_gt_PlayerHitsRespec_Func");
TriggerAddEventDialogControl(libStEx_gt_PlayerHitsRespec, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Player Hits Retry
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_PlayerHitsRetry_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((EventDialogControl() == libStEx_gv_tutorialVeteranPanel.lv_RetryButton))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
libStEx_gf_ResetHeroUnitforPlayer(1);
libStEx_gf_ResetHeroUnitforPlayer(2);
libStEx_gf_TutorialVeteranShowHideRetryButton(false);
libStEx_gf_SendEventTutorialPlayerHitsRetryButton();
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_PlayerHitsRetry_Init () {
libStEx_gt_PlayerHitsRetry = TriggerCreate("libStEx_gt_PlayerHitsRetry_Func");
TriggerAddEventDialogControl(libStEx_gt_PlayerHitsRetry, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Tutorial Veteran Panel Initialize
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_TutorialVeteranPanelInitialize_Func (bool testConds, bool runActions) {
int init_i;
// Variable Declarations
int lv_parent;
int[6] lv_panels;
int lv_currentPanelLayer;
// Automatic Variable Declarations
// Variable Initialization
lv_parent = c_invalidDialogControlId;
for (init_i = 0; init_i <= 5; init_i += 1) {
lv_panels[init_i] = c_invalidDialogControlId;
}
// Actions
if (!runActions) {
return true;
}
DialogControlHookupStandard(c_triggerControlTypePanel, "UIContainer");
lv_parent = DialogControlLastCreated();
DialogControlCreateInPanelFromTemplate(lv_parent, c_triggerControlTypePanel, "TutorialUI/TutorialVeteranUITemplate");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), true);
lv_currentPanelLayer += 1;
lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();
libStEx_gv_tutorialVeteranPanel.lv_mainPanel = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "RespecTalentsButton");
libStEx_gv_tutorialVeteranPanel.lv_RespecButton = DialogControlLastCreated();
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), true);
libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "StandardGlueButtonSmallLeft", PlayerGroupAll());
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_StEx_2FCA9E13"), PlayerGroupAll());
DialogControlHookup(libStEx_gv_tutorialVeteranPanel.lv_RespecButton, c_triggerControlTypeImage, "FlashImage");
libStEx_gv_tutorialVeteranPanel.lv_RespecButton2 = DialogControlLastCreated();
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), true);
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "StartButton");
libStEx_gv_tutorialVeteranPanel.lv_ReadyButton = DialogControlLastCreated();
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), true);
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_StEx_EC1A42F4"), PlayerGroupAll());
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeButton, "RestartButton");
libStEx_gv_tutorialVeteranPanel.lv_RetryButton = DialogControlLastCreated();
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libNtve_gf_SetDialogItemStyle(DialogControlLastCreated(), "StandardGlueButtonSmallLeft", PlayerGroupAll());
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_StEx_00324BFC"), PlayerGroupAll());
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "ChallengeComplete");
libStEx_gv_tutorialVeteranPanel.lv_challengeCompleteImage = DialogControlLastCreated();
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "ChallengeTitleFrame");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libStEx_gv_tutorialVeteranPanel.lv_challengeTitleFrame = DialogControlLastCreated();
lv_currentPanelLayer += 1;
lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "ChallengeDescriptionLabel");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libStEx_gv_tutorialVeteranPanel.lv_challengeDescriptionLabel = DialogControlLastCreated();
lv_currentPanelLayer -= 1;
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypePanel, "CountdownFrame");
libStEx_gv_tutorialVeteranPanel.lv_countdownFrame = DialogControlLastCreated();
lv_currentPanelLayer += 1;
lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Countdown3Image");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libStEx_gv_tutorialVeteranPanel.lv_countdown3Image = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Countdown2Image");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libStEx_gv_tutorialVeteranPanel.lv_countdown2Image = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeImage, "Countdown1Image");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libStEx_gv_tutorialVeteranPanel.lv_countdown1Image = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "CountdownGoLabel");
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
libStEx_gv_tutorialVeteranPanel.lv_countdownGoLabel = DialogControlLastCreated();
lv_currentPanelLayer -= 1;
DialogControlCreateInPanelFromTemplate(lv_parent, c_triggerControlTypePanel, "TutorialUI/DummyUITemplate");
DialogControlSetPositionRelative(DialogControlLastCreated(), PlayerGroupAll(), c_anchorBottomRight, lv_parent, c_anchorBottomRight, -15, -350);
DialogControlSetVisible(DialogControlLastCreated(), PlayerGroupAll(), false);
lv_currentPanelLayer += 1;
lv_panels[lv_currentPanelLayer] = DialogControlLastCreated();
libStEx_gv_tutorialVeteranPanel.lv_dummyPanel = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "TitleLabel");
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_StEx_7FF599CA"), PlayerGroupAll());
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "DamageTitle");
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_StEx_5519F823"), PlayerGroupAll());
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "DamageLabel");
libStEx_gv_tutorialVeteranPanel.lv_dummyDamageLabel = DialogControlLastCreated();
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "DPSTitle");
libNtve_gf_SetDialogItemText(DialogControlLastCreated(), StringExternal("Param/Value/lib_StEx_F0E86AD4"), PlayerGroupAll());
DialogControlHookup(lv_panels[lv_currentPanelLayer], c_triggerControlTypeLabel, "DPSLabel");
libStEx_gv_tutorialVeteranPanel.lv_dummyDPSLabel = DialogControlLastCreated();
lv_currentPanelLayer -= 1;
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_TutorialVeteranPanelInitialize_Init () {
libStEx_gt_TutorialVeteranPanelInitialize = TriggerCreate("libStEx_gt_TutorialVeteranPanelInitialize_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: TutorialVeteran Flash Respec Button Internal
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_TutorialVeteranFlashRespecButtonInternal_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_fadeIn_C;
fixed lv_fadeOut_C;
// Automatic Variable Declarations
// Variable Initialization
lv_fadeIn_C = 0.5;
lv_fadeOut_C = 0.4;
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
DialogControlSendAnimationEvent(libStEx_gv_tutorialVeteranPanel.lv_RespecButton, PlayerGroupAll(), "FlashRespecStart");
while (!((libStEx_gv_tutorialVeteranPanelFlashing == false))) {
Wait(0.125, c_timeGame);
}
DialogControlSendAnimationEvent(libStEx_gv_tutorialVeteranPanel.lv_RespecButton, PlayerGroupAll(), "FlashRespecStop");
TriggerEnable(TriggerGetCurrent(), true);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_TutorialVeteranFlashRespecButtonInternal_Init () {
libStEx_gt_TutorialVeteranFlashRespecButtonInternal = TriggerCreate("libStEx_gt_TutorialVeteranFlashRespecButtonInternal_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Target Dummy Initialize
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_TargetDummyInitialize_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Conditions
if (testConds) {
if (!((TriggerIsEnabled(TriggerGetCurrent()) == true))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_TargetDummyInitialize_Init () {
libStEx_gt_TargetDummyInitialize = TriggerCreate("libStEx_gt_TargetDummyInitialize_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Target Dummy Takes Damage
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_TargetDummyTakesDamage_Func (bool testConds, bool runActions) {
// Variable Declarations
fixed lv_damage;
// Automatic Variable Declarations
const int auto1BF86ED6_n = 40;
int auto1BF86ED6_i;
// Variable Initialization
// Actions
if (!runActions) {
return true;
}
lv_damage = (UnitGetPropertyFixed(libStEx_gv_targetDummyUnit, c_unitPropLifeMax, c_unitPropCurrent) - UnitGetPropertyFixed(libStEx_gv_targetDummyUnit, c_unitPropLife, c_unitPropCurrent));
if ((lv_damage > libStEx_gv_targetDummyDamage)) {
libStEx_gv_targetDummyDamage = lv_damage;
if ((libStEx_gv_targetDummyDamageTimerStarted == false)) {
TimerStart(libStEx_gv_targetDummyDamageTimer, c_timerDurationInfinite, false, c_timeGame);
libStEx_gv_targetDummyDamageTimerStarted = true;
}
TimerStart(libStEx_gv_targetDummyPeaceTimer, c_timerDurationInfinite, false, c_timeGame);
libStEx_gv_targetDummyPeaceTimerStarted = true;
libNtve_gf_SetDialogItemText(libStEx_gv_tutorialVeteranPanel.lv_dummyDamageLabel, FormatNumber(FixedToInt(lv_damage)), PlayerGroupAll());
if ((TimerGetElapsed(libStEx_gv_targetDummyDamageTimer) == 0)) {
libNtve_gf_SetDialogItemText(libStEx_gv_tutorialVeteranPanel.lv_dummyDPSLabel, FormatNumber(FixedToInt(lv_damage)), PlayerGroupAll());
}
else {
libNtve_gf_SetDialogItemText(libStEx_gv_tutorialVeteranPanel.lv_dummyDPSLabel, FormatNumber(FixedToInt((lv_damage / TimerGetElapsed(libStEx_gv_targetDummyDamageTimer)))), PlayerGroupAll());
}
libStEx_gf_TutorialVeteranShowHideDummyPanel(true);
}
else {
if ((libStEx_gv_targetDummyPeaceTimerStarted == true)) {
if ((TimerGetElapsed(libStEx_gv_targetDummyPeaceTimer) >= 120.0)) {
libNtve_gf_StopTimer(libStEx_gv_targetDummyPeaceTimer);
libStEx_gv_targetDummyPeaceTimerStarted = false;
UnitSetPropertyFixed(libStEx_gv_targetDummyUnit, c_unitPropLifePercent, 100.0);
TextTagCreate(StringExternal("Param/Value/lib_StEx_D432837B"), 24, PointWithOffset(UnitGetPosition(libStEx_gv_targetDummyUnit), 0.0, 1.0), 1.0, true, false, PlayerGroupAll());
TextTagSetTime(TextTagLastCreated(), c_textTagTimeDuration, 2.0);
TextTagSetVelocity(TextTagLastCreated(), 2.0, 90.0);
libStEx_gv_targetDummyDamage = 0.0;
if ((libStEx_gv_targetDummyDamageTimerStarted == true)) {
TimerPause(libStEx_gv_targetDummyDamageTimer, true);
libStEx_gv_targetDummyDamageTimerStarted = false;
}
for (auto1BF86ED6_i = 1; auto1BF86ED6_i <= auto1BF86ED6_n; auto1BF86ED6_i += 1) {
if ((libStEx_gv_targetDummyDamageTimerStarted == true)) {
return true;
}
Wait(0.125, c_timeGame);
}
libStEx_gf_TutorialVeteranShowHideDummyPanel(false);
}
}
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_TargetDummyTakesDamage_Init () {
libStEx_gt_TargetDummyTakesDamage = TriggerCreate("libStEx_gt_TargetDummyTakesDamage_Func");
TriggerEnable(libStEx_gt_TargetDummyTakesDamage, false);
TriggerAddEventTimePeriodic(libStEx_gt_TargetDummyTakesDamage, 0.25, c_timeGame);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Target Dummy Dies
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_TargetDummyDies_Func (bool testConds, bool runActions) {
// Variable Declarations
actor lv_eggactor;
// Automatic Variable Declarations
// Variable Initialization
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
libNtve_gf_CreateModelAtPoint("MurkyRespawnEgg", libStEx_gv_targetDummyLocation);
lv_eggactor = libNtve_gf_ActorLastCreated();
ActorSend(lv_eggactor, "AnimBracketStart Spell IGNORE Spell,A Spell,A,End 0 -1.000000 AsDuration");
ActorSend(lv_eggactor, "Create Murky_EggRespawn_Start");
ActorSend(lv_eggactor, "ModelSwap MurkyRespawnEggEaster");
Wait(5.0, c_timeGame);
libNtve_gf_KillModel(lv_eggactor);
libNtve_gf_CreateUnitsWithDefaultFacing(1, "TargetHeroDummy", 0, libGame_gf_ComputerPlayerInTeam(libGame_gv_teamChaosIndex_C), libStEx_gv_targetDummyLocation, null);
libStEx_gv_targetDummyUnit = UnitLastCreated();
libStEx_gf_TutorialVeteranShowHideDummyPanel(false);
TriggerEnable(TriggerGetCurrent(), true);
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_TargetDummyDies_Init () {
libStEx_gt_TargetDummyDies = TriggerCreate("libStEx_gt_TargetDummyDies_Func");
TriggerAddEventUnitDied(libStEx_gt_TargetDummyDies, UnitRefFromVariable("libStEx_gv_targetDummyUnit"));
}
//--------------------------------------------------------------------------------------------------
// Trigger: Query Dialog Choice Made
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_QueryDialogChoiceMade_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
if ((EventCustomDialogResult() == libNtve_ge_CustomDialogResult_c_customDialogResultYes)) {
libStEx_gv_queryDialogResult = libStEx_ge_QueryDialogResult_Yes;
}
else {
libStEx_gv_queryDialogResult = libStEx_ge_QueryDialogResult_No;
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_QueryDialogChoiceMade_Init () {
libStEx_gt_QueryDialogChoiceMade = TriggerCreate("libStEx_gt_QueryDialogChoiceMade_Func");
TriggerAddEventCustomDialogDismissed(libStEx_gt_QueryDialogChoiceMade, c_playerAny, libNtve_ge_CustomDialogResult_c_customDialogResultAny);
}
//--------------------------------------------------------------------------------------------------
// Trigger: Tutorial Hero Selected
//--------------------------------------------------------------------------------------------------
bool libStEx_gt_TutorialHeroSelected_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
int autoB37FBF04_val;
// Actions
if (!runActions) {
return true;
}
TriggerEnable(TriggerGetCurrent(), false);
autoB37FBF04_val = EventDialogControl();
if (autoB37FBF04_val == libStEx_gv_tutorialHeroBtnJaina) {
libStEx_gv_tutorialHero = "Jaina";
}
else if (autoB37FBF04_val == libStEx_gv_tutorialHeroBtnMuradin) {
libStEx_gv_tutorialHero = "Muradin";
}
else if (autoB37FBF04_val == libStEx_gv_tutorialHeroBtnTyrande) {
libStEx_gv_tutorialHero = "Tyrande";
}
else {
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libStEx_gt_TutorialHeroSelected_Init () {
libStEx_gt_TutorialHeroSelected = TriggerCreate("libStEx_gt_TutorialHeroSelected_Func");
TriggerEnable(libStEx_gt_TutorialHeroSelected, false);
TriggerAddEventDialogControl(libStEx_gt_TutorialHeroSelected, c_playerAny, c_invalidDialogControlId, c_triggerControlEventTypeClick);
}
void libStEx_InitTriggers () {
libStEx_gt_IncludeStartingExperience_Init();
libStEx_gt_SE_VOPausedMessageClosed_Init();
libStEx_gt_SEMMHideHeroes_Init();
libStEx_gt_TrainingModeInit_Init();
libStEx_gt_TrainingModeBankInit_Init();
libStEx_gt_SE_TrainingModeTalentsReady_Init();
libStEx_gt_SE_TrainingModeTalentsSuggestToOpenPanelQ_Init();
libStEx_gt_SE_TrainingModeTalentsPanelOpened_Init();
libStEx_gt_SE_TrainingModeTalentsPanelFlashTalents_Init();
libStEx_gt_SE_TrainingModeTalentsPicked_Init();
libStEx_gt_SE_TrainingModeTalentsPickedTransmissionQ_Init();
libStEx_gt_SE_TrainingModeTalentStart_Init();
libStEx_gt_SE_TrainingModeReferenceCardDisplay_Init();
libStEx_gt_SE_TrainingModeTipInitData_Init();
libStEx_gt_SE_TrainingModeTipAbilities_Init();
libStEx_gt_SE_TrainingModeTipAbilitiesQWERUsed_Init();
libStEx_gt_SE_TrainingModeTipAmmunition1_Init();
libStEx_gt_SE_TrainingModeTipBushes_Init();
libStEx_gt_SE_TrainingModeTipCore_Init();
libStEx_gt_SE_TrainingModeTipDeath1_Init();
libStEx_gt_SE_TrainingModeTipDeath2_Init();
libStEx_gt_SE_TrainingModeTipExperience_Init();
libStEx_gt_SE_TrainingModeTipForts_Init();
libStEx_gt_SE_TrainingModeTipGates_Init();
libStEx_gt_SE_TrainingModeTipHearthstoneHealingFountainMana_Init();
libStEx_gt_SE_TrainingModeTipHearthstoneTeachingExpires_Init();
libStEx_gt_SE_TrainingModeTipManaTeachingExpires_Init();
libStEx_gt_SE_TrainingModeTipHearthstoneUnhighlightButton_Init();
libStEx_gt_SE_TrainingModeTipHealingFountainUsed_Init();
libStEx_gt_SE_TrainingModeTipHealingFountainDrinking_Init();
libStEx_gt_SE_TrainingModeTipMercCamps_Init();
libStEx_gt_SE_TrainingModeTipMount_Init();
libStEx_gt_SE_TrainingModeTipMountUnhighlightButton_Init();
libStEx_gt_SE_TrainingModeTipSpacebar_Init();
libStEx_gt_SE_TrainingModeTipTalents_Init();
libStEx_gt_SE_TrainingModeTipTalentsPanelOpened_Init();
libStEx_gt_SE_TrainingModeTipTalentsPanelClosed_Init();
libStEx_gt_SE_TrainingModeTipWatchTower_Init();
libStEx_gt_SE_TrainingModeTipDebugEnable_Init();
libStEx_gt_SE_TrainingModeTipDebugModeOnOff_Init();
libStEx_gt_DebugEncounter_Init();
libStEx_gt_DEBUGDPSCheat_Init();
libStEx_gt_PlayerHitsRetryDuringDPSMeterObjective_Init();
libStEx_gt_ObjectiveTalentCreate_Init();
libStEx_gt_ObjectiveTalentComplete_Init();
libStEx_gt_ObjectiveChallengeReadyCreate_Init();
libStEx_gt_ObjectiveChallengeReadyComplete_Init();
libStEx_gt_ObjectiveTargetDummyCreate_Init();
libStEx_gt_ObjectiveTargetDummyComplete_Init();
libStEx_gt_ObjectiveTargetDummyFail_Init();
libStEx_gt_ObjectiveGraveGolemFightCreate_Init();
libStEx_gt_ObjectiveGraveGolemFightComplete_Init();
libStEx_gt_ObjectiveGraveGolemFightFail_Init();
libStEx_gt_ObjectiveMoshPitFightCreate_Init();
libStEx_gt_ObjectiveMoshPitFightComplete_Init();
libStEx_gt_ObjectiveMoshPitFightFail_Init();
libStEx_gt_ObjectiveBossFightCreate2_Init();
libStEx_gt_ObjectiveBossFightComplete12_Init();
libStEx_gt_ObjectiveBossFightComplete3_Init();
libStEx_gt_ObjectiveBossFightComplete4_Init();
libStEx_gt_ObjectiveRoamingCreate_Init();
libStEx_gt_ObjectiveRoamingComplete_Init();
libStEx_gt_ObjectiveRoamingFail_Init();
libStEx_gt_ObjectiveBossFightCreate3_Init();
libStEx_gt_ObjectiveBossFightComplete5_Init();
libStEx_gt_ObjectiveBossFightComplete11_Init();
libStEx_gt_ObjectiveBossFightComplete6_Init();
libStEx_gt_ObjectiveBossFightCreate5_Init();
libStEx_gt_ObjectiveBossFightComplete9_Init();
libStEx_gt_ObjectiveBossFightComplete10_Init();
libStEx_gt_ObjectiveBossFightCreate4_Init();
libStEx_gt_ObjectiveBossFightComplete7_Init();
libStEx_gt_ObjectiveBossFightComplete8_Init();
libStEx_gt_PlayerHitsReady_Init();
libStEx_gt_PlayerHitsRespec_Init();
libStEx_gt_PlayerHitsRetry_Init();
libStEx_gt_TutorialVeteranPanelInitialize_Init();
libStEx_gt_TutorialVeteranFlashRespecButtonInternal_Init();
libStEx_gt_TargetDummyInitialize_Init();
libStEx_gt_TargetDummyTakesDamage_Init();
libStEx_gt_TargetDummyDies_Init();
libStEx_gt_QueryDialogChoiceMade_Init();
libStEx_gt_TutorialHeroSelected_Init();
}
//--------------------------------------------------------------------------------------------------
// Library Initialization
//--------------------------------------------------------------------------------------------------
bool libStEx_InitLib_completed = false;
void libStEx_InitLib () {
if (libStEx_InitLib_completed) {
return;
}
libStEx_InitLib_completed = true;
libStEx_InitLibraries();
libStEx_InitVariables();
libStEx_InitTriggers();
}
include "TriggerLibs/HeroesLib"
include "TriggerLibs/GameLib"
include "TriggerLibs/MapMechanicsLib"
include "TriggerLibs/UILib"