include "TriggerLibs/NativeLib"
include "TriggerLibs/HeroesLib"
include "TriggerLibs/GameLib"
include "LibORPH_h"
//--------------------------------------------------------------------------------------------------
// Library: Orphea
//--------------------------------------------------------------------------------------------------
// External Library Initialization
void libORPH_InitLibraries () {
libNtve_InitVariables();
libCore_InitVariables();
libGame_InitVariables();
}
// Variable Initialization
bool libORPH_InitVariables_completed = false;
void libORPH_InitVariables () {
if (libORPH_InitVariables_completed) {
return;
}
libORPH_InitVariables_completed = true;
}
// Functions
void libORPH_gf_HeroOrpheaIncrementHeroCountFunction () {
// Automatic Variable Declarations
// Implementation
libORPH_gv_heroOrpheaTriggerRegistrationVariable += 1;
if ((libORPH_gv_heroOrpheaTriggerRegistrationVariable == 1)) {
TriggerEnable(libORPH_gt_HeroOrpheaEngulfingOblivionTakedown, true);
}
}
void libORPH_gf_HeroOrpheaDecrementHeroCountFunction () {
// Automatic Variable Declarations
// Implementation
libORPH_gv_heroOrpheaTriggerRegistrationVariable -= 1;
if ((libORPH_gv_heroOrpheaTriggerRegistrationVariable < 0)) {
libORPH_gv_heroOrpheaTriggerRegistrationVariable = 0;
}
if ((libORPH_gv_heroOrpheaTriggerRegistrationVariable == 0)) {
TriggerEnable(libORPH_gt_HeroOrpheaEngulfingOblivionTakedown, false);
}
}
// Triggers
//--------------------------------------------------------------------------------------------------
// Trigger: UI - Floating Combat Text - Quest Progress Via Effect
//--------------------------------------------------------------------------------------------------
bool libORPH_gt_UIFloatingCombatTextQuestProgressViaEffect_Func (bool testConds, bool runActions) {
// Variable Declarations
unit lv_impactUnit;
unit lv_launchUnit;
int lv_launchPlayer;
string lv_questIdentifier;
point lv_deathUnitPosition;
// Automatic Variable Declarations
// Variable Initialization
// Actions
if (!runActions) {
return true;
}
lv_deathUnitPosition = EventPlayerEffectUsedPoint(c_effectLocationSourcePoint);
lv_launchPlayer = UnitGetOwner(EventPlayerEffectUsedUnit(c_effectUnitCaster));
if ((lv_launchPlayer <= libCore_gv_bALMaxPlayers) && (lv_launchPlayer > 0)) {
FloatingCombatElementCreateTextAtPointWithId(libCore_gv_playerGroupFromPlayer[lv_launchPlayer], "FloatingCombatElements/FloatingCombatQuestProgress", "", lv_deathUnitPosition, null, libNtve_gv_FloatingCombatTextAutoRandomSeed, "");
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libORPH_gt_UIFloatingCombatTextQuestProgressViaEffect_Init () {
libORPH_gt_UIFloatingCombatTextQuestProgressViaEffect = TriggerCreate("libORPH_gt_UIFloatingCombatTextQuestProgressViaEffect_Func");
TriggerAddEventPlayerEffectUsed(libORPH_gt_UIFloatingCombatTextQuestProgressViaEffect, c_playerAny, "OrpheaRavenousHungerModifyToken");
TriggerAddEventPlayerEffectUsed(libORPH_gt_UIFloatingCombatTextQuestProgressViaEffect, c_playerAny, "OrpheaRavenousHungerHeroModifyToken");
}
//--------------------------------------------------------------------------------------------------
// Trigger: Hero - Orphea - Engulfing Oblivion Takedown
//--------------------------------------------------------------------------------------------------
bool libORPH_gt_HeroOrpheaEngulfingOblivionTakedown_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_player;
unit lv_unit;
unit lv_vehicle;
// Automatic Variable Declarations
// Variable Initialization
lv_player = libGame_gf_HeroParticipatedInTakedownKillingPlayer();
lv_unit = libGame_gv_players[lv_player].lv_heroUnit;
lv_vehicle = libGame_gv_players[lv_player].lv_activeVehicle;
// Conditions
if (testConds) {
if (!((UnitIsAlive(lv_unit) == true))) {
return false;
}
if (!((PlayerHasTalent(lv_player, "OrpheaEngulfingOblivion") == true))) {
return false;
}
if (!(((UnitGetType(lv_unit) == "HeroOrphea") || (UnitGetType(lv_vehicle) == "HeroOrphea")))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
UnitCreateEffectUnit(lv_unit, "OrpheaCrushingJawsEngulfingOblivionResetCooldown", lv_unit);
return true;
}
//--------------------------------------------------------------------------------------------------
void libORPH_gt_HeroOrpheaEngulfingOblivionTakedown_Init () {
libORPH_gt_HeroOrpheaEngulfingOblivionTakedown = TriggerCreate("libORPH_gt_HeroOrpheaEngulfingOblivionTakedown_Func");
TriggerEnable(libORPH_gt_HeroOrpheaEngulfingOblivionTakedown, false);
libGame_gf_HeroParticipatedInTakedown(libORPH_gt_HeroOrpheaEngulfingOblivionTakedown);
}
void libORPH_InitTriggers () {
libORPH_gt_UIFloatingCombatTextQuestProgressViaEffect_Init();
libORPH_gt_HeroOrpheaEngulfingOblivionTakedown_Init();
}
//--------------------------------------------------------------------------------------------------
// Library Initialization
//--------------------------------------------------------------------------------------------------
bool libORPH_InitLib_completed = false;
void libORPH_InitLib () {
if (libORPH_InitLib_completed) {
return;
}
libORPH_InitLib_completed = true;
libORPH_InitLibraries();
libORPH_InitVariables();
libORPH_InitTriggers();
}