include "TriggerLibs/NativeLib"
include "TriggerLibs/HeroesLib"
include "TriggerLibs/GameLib"
include "TriggerLibs/MapMechanicsLib"
include "LibWJDA_h"
//--------------------------------------------------------------------------------------------------
// Library: Warhead Junction Data (Mod)
//--------------------------------------------------------------------------------------------------
// External Library Initialization
void libWJDA_InitLibraries () {
libNtve_InitVariables();
libCore_InitVariables();
libGame_InitVariables();
libMapM_InitVariables();
}
// Variable Initialization
bool libWJDA_InitVariables_completed = false;
void libWJDA_InitVariables () {
if (libWJDA_InitVariables_completed) {
return;
}
libWJDA_InitVariables_completed = true;
}
// Functions
void libWJDA_gf_MMSC2SpawnPodsDefenderLogic (int lp_maxTargets, unit lp_castingUnit) {
// Variable Declarations
int lv_campId;
point[libWJDA_gv_mMSC2SpawnPodsTargetTrackingArraySize_C + 1] lv_confirmedLocations;
point lv_proposedPoint;
int lv_numberofFoundTargets;
unitgroup lv_enemyHeroes;
int lv_itLocation;
unit lv_itUnit;
int lv_counter;
fixed[73] lv_safeAngles;
fixed lv_itAngle;
int lv_angleIndex;
int lv_numberOfAngles;
int lv_itTargets;
string lv_launchSlimePodGameLink;
// Automatic Variable Declarations
unitgroup autoF9BE5EC9_g;
int autoF9BE5EC9_u;
int autoA4ACEF3A_ae;
const int autoA4ACEF3A_ai = 1;
const fixed autoDD090D24_ae = 360.0;
const fixed autoDD090D24_ai = 5.0;
int auto2514CEF8_ae;
const int auto2514CEF8_ai = 1;
int autoD392ECBB_ae;
const int autoD392ECBB_ai = 1;
// Variable Initialization
lv_enemyHeroes = UnitGroupEmpty();
// Implementation
lv_campId = libMapM_gf_JungleGetJungleCampForUnit(lp_castingUnit);
if ((lv_campId <= 0)) {
return ;
}
lv_enemyHeroes = UnitGroupAlliance(UnitGetOwner(lp_castingUnit), c_unitAllianceEnemy, libMapM_gv_jungleCreepCamps[lv_campId].lv_mapDataDefenderLeashRegion, UnitFilter((1 << c_targetFilterHeroic) | (1 << c_targetFilterVisible), 0, (1 << c_targetFilterPlayer) | (1 << c_targetFilterAlly) | (1 << c_targetFilterNeutral) | (1 << c_targetFilterImmuneToAOE) | (1 << c_targetFilterUser1) | (1 << c_targetFilterMissile) | (1 << c_targetFilterCloaked), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0);
autoF9BE5EC9_g = lv_enemyHeroes;
autoF9BE5EC9_u = UnitGroupCount(autoF9BE5EC9_g, c_unitCountAll);
for (;; autoF9BE5EC9_u -= 1) {
lv_itUnit = UnitGroupUnitFromEnd(autoF9BE5EC9_g, autoF9BE5EC9_u);
if (lv_itUnit == null) { break; }
if ((lv_numberofFoundTargets >= lp_maxTargets)) {
break;
}
lv_proposedPoint = PointWithOffsetPolar(UnitGetPosition(lv_itUnit), 2.0, libNtve_gf_RandomAngle());
while ((DistanceBetweenPoints(UnitGetPosition(lp_castingUnit), lv_proposedPoint) <= libWJDA_gv_mMSC2SpawnPodsDefenderMinRange_C)) {
lv_proposedPoint = PointWithOffsetPolar(lv_proposedPoint, 0.1, AngleBetweenPoints(UnitGetPosition(lp_castingUnit), lv_proposedPoint));
}
while ((DistanceBetweenPoints(UnitGetPosition(lp_castingUnit), lv_proposedPoint) >= libWJDA_gv_mMSC2SpawnPodsDefenderMaxRange_C)) {
lv_proposedPoint = PointWithOffsetPolar(lv_proposedPoint, -0.1, AngleBetweenPoints(UnitGetPosition(lp_castingUnit), lv_proposedPoint));
}
autoA4ACEF3A_ae = lp_maxTargets;
lv_itLocation = 1;
for ( ; ( (autoA4ACEF3A_ai >= 0 && lv_itLocation <= autoA4ACEF3A_ae) || (autoA4ACEF3A_ai < 0 && lv_itLocation >= autoA4ACEF3A_ae) ) ; lv_itLocation += autoA4ACEF3A_ai ) {
lv_counter += 1;
if ((lv_confirmedLocations[lv_itLocation] == null)) {
if ((PointPathingPassable(lv_proposedPoint) == true) && (RegionContainsPoint(libMapM_gv_jungleCreepCamps[lv_campId].lv_mapDataDefenderLeashRegion, lv_proposedPoint) == true)) {
lv_confirmedLocations[lv_itLocation] = lv_proposedPoint;
lv_numberofFoundTargets += 1;
}
break;
}
if ((DistanceBetweenPoints(lv_proposedPoint, lv_confirmedLocations[lv_itLocation]) < libWJDA_gv_mMSC2SpawnPodsDefenderMinDistanceApart_C)) {
break;
}
}
}
if ((lv_numberofFoundTargets < lp_maxTargets)) {
lv_itAngle = 0.0;
for ( ; ( (autoDD090D24_ai >= 0 && lv_itAngle <= autoDD090D24_ae) || (autoDD090D24_ai < 0 && lv_itAngle >= autoDD090D24_ae) ) ; lv_itAngle += autoDD090D24_ai ) {
lv_proposedPoint = PointWithOffsetPolar(UnitGetPosition(lp_castingUnit), libWJDA_gv_mMSC2SpawnPodsDefenderMinRange_C, lv_itAngle);
if ((PointPathingPassable(lv_proposedPoint) == true) && (RegionContainsPoint(libMapM_gv_jungleCreepCamps[lv_campId].lv_mapDataDefenderLeashRegion, lv_proposedPoint) == true) && (lv_numberOfAngles < 72)) {
lv_numberOfAngles += 1;
lv_safeAngles[lv_numberOfAngles] = lv_itAngle;
}
}
}
while ((lv_numberofFoundTargets < lp_maxTargets)) {
lv_angleIndex = RandomInt(1, lv_numberOfAngles);
lv_itAngle = lv_safeAngles[lv_angleIndex];
lv_proposedPoint = PointWithOffsetPolar(UnitGetPosition(lp_castingUnit), RandomFixed(libWJDA_gv_mMSC2SpawnPodsDefenderMinRange_C, libWJDA_gv_mMSC2SpawnPodsDefenderMaxRange_C), lv_itAngle);
auto2514CEF8_ae = lp_maxTargets;
lv_itLocation = 1;
for ( ; ( (auto2514CEF8_ai >= 0 && lv_itLocation <= auto2514CEF8_ae) || (auto2514CEF8_ai < 0 && lv_itLocation >= auto2514CEF8_ae) ) ; lv_itLocation += auto2514CEF8_ai ) {
lv_counter += 1;
if ((lv_confirmedLocations[lv_itLocation] == null)) {
if ((PointPathingPassable(lv_proposedPoint) == true) && (RegionContainsPoint(libMapM_gv_jungleCreepCamps[lv_campId].lv_mapDataDefenderLeashRegion, lv_proposedPoint) == true)) {
lv_confirmedLocations[lv_itLocation] = lv_proposedPoint;
lv_numberofFoundTargets += 1;
lv_safeAngles[lv_angleIndex] = lv_safeAngles[lv_numberOfAngles];
lv_numberOfAngles -= 1;
}
break;
}
if ((DistanceBetweenPoints(lv_proposedPoint, lv_confirmedLocations[lv_itLocation]) < libWJDA_gv_mMSC2SpawnPodsDefenderMinDistanceApart_C)) {
break;
}
}
}
if ((UnitIsAlive(lp_castingUnit) == true)) {
autoD392ECBB_ae = lv_numberofFoundTargets;
lv_itTargets = 1;
for ( ; ( (autoD392ECBB_ai >= 0 && lv_itTargets <= autoD392ECBB_ae) || (autoD392ECBB_ai < 0 && lv_itTargets >= autoD392ECBB_ae) ) ; lv_itTargets += autoD392ECBB_ai ) {
if ((lv_itTargets <= (lv_numberofFoundTargets / 2))) {
lv_launchSlimePodGameLink = (("SlimeBossSpawnPodsLaunch" + IntToString(lv_itTargets) + "CreatePersistent"));
UnitCreateEffectPoint(lp_castingUnit, lv_launchSlimePodGameLink, lv_confirmedLocations[lv_itTargets]);
}
else {
lv_launchSlimePodGameLink = (("SlimeBossSpawnPodsLaunch" + IntToString((lv_itTargets - (lv_numberofFoundTargets / 2))) + "CreatePersistent"));
UnitCreateEffectPoint(lp_castingUnit, lv_launchSlimePodGameLink, lv_confirmedLocations[lv_itTargets]);
}
}
}
}
void libWJDA_gf_MMSC2SpawnPodsLanerLogic (int lp_maxTargets, unit lp_castingUnit) {
// Variable Declarations
point[libWJDA_gv_mMSC2SpawnPodsTargetTrackingArraySize_C + 1] lv_confirmedLocations;
point lv_proposedPoint;
int lv_numberofFoundTargets;
unitgroup lv_enemyHeroes;
unitgroup lv_enemyStructures;
int lv_itLocation;
unit lv_itUnit;
unit lv_itStructure;
int lv_itTarget;
string lv_launchSlimePodGameLink;
// Automatic Variable Declarations
unitgroup auto8C4CF58C_g;
int auto8C4CF58C_u;
int autoB2725CDA_ae;
const int autoB2725CDA_ai = 1;
unitgroup auto053B7A9C_g;
int auto053B7A9C_u;
int autoF670F563_ae;
const int autoF670F563_ai = 1;
int autoFD79B575_ae;
const int autoFD79B575_ai = 1;
int auto7AFB367C_ae;
const int auto7AFB367C_ai = 1;
// Variable Initialization
lv_enemyHeroes = UnitGroupEmpty();
lv_enemyStructures = UnitGroupEmpty();
// Implementation
lv_enemyHeroes = UnitGroupAlliance(UnitGetOwner(lp_castingUnit), c_unitAllianceEnemy, RegionCircle(UnitGetPosition(lp_castingUnit), libWJDA_gv_mMSC2SpawnPodsLanerMaxSearchRange_C), UnitFilter((1 << c_targetFilterHeroic) | (1 << c_targetFilterVisible), 0, (1 << c_targetFilterPlayer) | (1 << c_targetFilterAlly) | (1 << c_targetFilterNeutral) | (1 << c_targetFilterImmuneToAOE) | (1 << c_targetFilterUser1) | (1 << c_targetFilterMissile) | (1 << c_targetFilterCloaked), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0);
auto8C4CF58C_g = lv_enemyHeroes;
auto8C4CF58C_u = UnitGroupCount(auto8C4CF58C_g, c_unitCountAll);
for (;; auto8C4CF58C_u -= 1) {
lv_itUnit = UnitGroupUnitFromEnd(auto8C4CF58C_g, auto8C4CF58C_u);
if (lv_itUnit == null) { break; }
if ((lv_numberofFoundTargets >= lp_maxTargets)) {
break;
}
lv_proposedPoint = PointWithOffsetPolar(UnitGetPosition(lv_itUnit), 2.0, libNtve_gf_RandomAngle());
while ((DistanceBetweenPoints(UnitGetPosition(lp_castingUnit), lv_proposedPoint) <= libWJDA_gv_mMSC2SpawnPodsLanerMinRange_C)) {
lv_proposedPoint = PointWithOffsetPolar(lv_proposedPoint, 0.1, AngleBetweenPoints(UnitGetPosition(lp_castingUnit), lv_proposedPoint));
}
while ((DistanceBetweenPoints(UnitGetPosition(lp_castingUnit), lv_proposedPoint) >= libWJDA_gv_mMSC2SpawnPodsLanerMaxRange_C)) {
lv_proposedPoint = PointWithOffsetPolar(lv_proposedPoint, -0.1, AngleBetweenPoints(UnitGetPosition(lp_castingUnit), lv_proposedPoint));
}
autoB2725CDA_ae = lp_maxTargets;
lv_itLocation = 1;
for ( ; ( (autoB2725CDA_ai >= 0 && lv_itLocation <= autoB2725CDA_ae) || (autoB2725CDA_ai < 0 && lv_itLocation >= autoB2725CDA_ae) ) ; lv_itLocation += autoB2725CDA_ai ) {
if ((lv_confirmedLocations[lv_itLocation] == null)) {
if ((PointPathingPassable(lv_proposedPoint) == true)) {
lv_confirmedLocations[lv_itLocation] = lv_proposedPoint;
lv_numberofFoundTargets += 1;
}
break;
}
if ((DistanceBetweenPoints(lv_proposedPoint, lv_confirmedLocations[lv_itLocation]) < libWJDA_gv_mMSC2SpawnPodsLanerMinDistanceApart_C)) {
break;
}
}
}
lv_enemyStructures = UnitGroupAlliance(UnitGetOwner(lp_castingUnit), c_unitAllianceEnemy, RegionCircle(UnitGetPosition(lp_castingUnit), libWJDA_gv_mMSC2SpawnPodsLanerMaxSearchRange_C), UnitFilter((1 << c_targetFilterStructure) | (1 << c_targetFilterVisible), 0, (1 << c_targetFilterPlayer) | (1 << c_targetFilterAlly) | (1 << c_targetFilterNeutral) | (1 << c_targetFilterImmuneToAOE) | (1 << c_targetFilterMissile) | (1 << c_targetFilterCloaked), (1 << (c_targetFilterDead - 32)) | (1 << (c_targetFilterHidden - 32)) | (1 << (c_targetFilterInvulnerable - 32))), 0);
auto053B7A9C_g = lv_enemyStructures;
auto053B7A9C_u = UnitGroupCount(auto053B7A9C_g, c_unitCountAll);
for (;; auto053B7A9C_u -= 1) {
lv_itStructure = UnitGroupUnitFromEnd(auto053B7A9C_g, auto053B7A9C_u);
if (lv_itStructure == null) { break; }
if ((lv_numberofFoundTargets >= lp_maxTargets)) {
break;
}
lv_proposedPoint = PointWithOffsetPolar(UnitGetPosition(lv_itStructure), 2.0, libNtve_gf_RandomAngle());
while ((DistanceBetweenPoints(UnitGetPosition(lp_castingUnit), lv_proposedPoint) <= libWJDA_gv_mMSC2SpawnPodsLanerMinRange_C)) {
lv_proposedPoint = PointWithOffsetPolar(lv_proposedPoint, 0.1, AngleBetweenPoints(UnitGetPosition(lp_castingUnit), lv_proposedPoint));
}
while ((DistanceBetweenPoints(UnitGetPosition(lp_castingUnit), lv_proposedPoint) >= libWJDA_gv_mMSC2SpawnPodsLanerMaxRange_C)) {
lv_proposedPoint = PointWithOffsetPolar(lv_proposedPoint, -0.1, AngleBetweenPoints(UnitGetPosition(lp_castingUnit), lv_proposedPoint));
}
autoF670F563_ae = lp_maxTargets;
lv_itLocation = 1;
for ( ; ( (autoF670F563_ai >= 0 && lv_itLocation <= autoF670F563_ae) || (autoF670F563_ai < 0 && lv_itLocation >= autoF670F563_ae) ) ; lv_itLocation += autoF670F563_ai ) {
if ((lv_confirmedLocations[lv_itLocation] == null)) {
if ((PointPathingPassable(lv_proposedPoint) == true)) {
lv_confirmedLocations[lv_itLocation] = lv_proposedPoint;
lv_numberofFoundTargets += 1;
}
break;
}
if ((DistanceBetweenPoints(lv_proposedPoint, lv_confirmedLocations[lv_itLocation]) < libWJDA_gv_mMSC2SpawnPodsLanerMinDistanceApart_C)) {
break;
}
}
}
while ((lv_numberofFoundTargets < lp_maxTargets)) {
lv_proposedPoint = PointWithOffsetPolar(UnitGetPosition(lp_castingUnit), RandomFixed(libWJDA_gv_mMSC2SpawnPodsLanerMinRange_C, libWJDA_gv_mMSC2SpawnPodsLanerMaxRange_C), libNtve_gf_RandomAngle());
autoFD79B575_ae = lp_maxTargets;
lv_itLocation = 1;
for ( ; ( (autoFD79B575_ai >= 0 && lv_itLocation <= autoFD79B575_ae) || (autoFD79B575_ai < 0 && lv_itLocation >= autoFD79B575_ae) ) ; lv_itLocation += autoFD79B575_ai ) {
if ((lv_confirmedLocations[lv_itLocation] == null)) {
if ((PointPathingPassable(lv_proposedPoint) == true)) {
lv_confirmedLocations[lv_itLocation] = lv_proposedPoint;
lv_numberofFoundTargets += 1;
}
break;
}
if ((DistanceBetweenPoints(lv_proposedPoint, lv_confirmedLocations[lv_itLocation]) < libWJDA_gv_mMSC2SpawnPodsLanerMinDistanceApart_C)) {
break;
}
}
}
if ((UnitIsAlive(lp_castingUnit) == true)) {
auto7AFB367C_ae = lv_numberofFoundTargets;
lv_itTarget = 1;
for ( ; ( (auto7AFB367C_ai >= 0 && lv_itTarget <= auto7AFB367C_ae) || (auto7AFB367C_ai < 0 && lv_itTarget >= auto7AFB367C_ae) ) ; lv_itTarget += auto7AFB367C_ai ) {
if ((lv_itTarget <= (lv_numberofFoundTargets / 2))) {
lv_launchSlimePodGameLink = (("SlimeBossSpawnPodsLaunch" + IntToString(lv_itTarget) + "CreatePersistent"));
UnitCreateEffectPoint(lp_castingUnit, lv_launchSlimePodGameLink, lv_confirmedLocations[lv_itTarget]);
}
else {
lv_launchSlimePodGameLink = (("SlimeBossSpawnPodsLaunch" + IntToString((lv_itTarget - (lv_numberofFoundTargets / 2))) + "CreatePersistent"));
UnitCreateEffectPoint(lp_castingUnit, lv_launchSlimePodGameLink, lv_confirmedLocations[lv_itTarget]);
}
}
}
}
// Triggers
//--------------------------------------------------------------------------------------------------
// Trigger: #Include Warhead Junction Data
//--------------------------------------------------------------------------------------------------
bool libWJDA_gt_IncludeWarheadJunctionData_Func (bool testConds, bool runActions) {
// Automatic Variable Declarations
// Actions
if (!runActions) {
return true;
}
TriggerExecute(libWJDA_gt_MMSC2InitSlimeBossMercCampData, true, false);
return true;
}
//--------------------------------------------------------------------------------------------------
void libWJDA_gt_IncludeWarheadJunctionData_Init () {
libWJDA_gt_IncludeWarheadJunctionData = TriggerCreate("libWJDA_gt_IncludeWarheadJunctionData_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMSC2 Init Slime Boss Merc Camp Data
//--------------------------------------------------------------------------------------------------
bool libWJDA_gt_MMSC2InitSlimeBossMercCampData_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_itUnit;
int lv_campType;
// Automatic Variable Declarations
// Variable Initialization
lv_itUnit = 1;
// Actions
if (!runActions) {
return true;
}
lv_campType = (libMapM_ge_JungleCampDefenderTypes_BossCamp1);
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_campIsSoloable = true;
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_campIsElite = true;
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_defendersCoweronDeath = false;
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_initialSpawnDelay = libMapM_gv_genericMercBossCampInitialSpawnDelay_C;
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_respawnTime = 300.0;
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_numberOfCreeps = 1;
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_creepUnitTypes[1] = "SlimeBossDefender";
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_xPAwardForCapture = libWJDA_gv_data_XP_SlimeBossCapture_C;
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_campTypeMinimapLabel = StringExternal("Param/Value/lib_WJDA_3B0A5B98");
libMapM_gv_dataJungleCampDefenderData[lv_campType].lv_aIGoalLink = "MercenaryCampGraveGolem";
libMapM_gv_dataJungleCampMercData[lv_campType].lv_numberOfMinionsSpawned = 1;
libMapM_gv_dataJungleCampMercData[lv_campType].lv_spawnedMinionUnitTypes[1] = "SlimeBossLaner";
libMapM_gf_DataInitializeScalingDataForDefender(libMapM_ge_JungleCampDefenderTypes_BossCamp1, "SlimeBossDefenderScaling");
libMapM_gf_DataInitializeScalingDataForMerc(libMapM_ge_JungleCampMercTypes_BossCamp1, "SlimeBossLanerScaling");
return true;
}
//--------------------------------------------------------------------------------------------------
void libWJDA_gt_MMSC2InitSlimeBossMercCampData_Init () {
libWJDA_gt_MMSC2InitSlimeBossMercCampData = TriggerCreate("libWJDA_gt_MMSC2InitSlimeBossMercCampData_Func");
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMSC2 Spawn Pods Spawned
//--------------------------------------------------------------------------------------------------
bool libWJDA_gt_MMSC2SpawnPodsSpawned_Func (bool testConds, bool runActions) {
// Variable Declarations
int lv_itCamp;
// Automatic Variable Declarations
int autoB00ED7DC_ae;
const int autoB00ED7DC_ai = 1;
// Variable Initialization
// Conditions
if (testConds) {
if (!(((UnitGetType(EventUnitCreatedUnit()) == "SlimeBossPodlingDefender") || (UnitGetType(EventUnitCreatedUnit()) == "SlimeBossPodlingLaner")))) {
return false;
}
}
// Actions
if (!runActions) {
return true;
}
libGame_gf_UpdateScalingForUnit(EventUnitCreatedUnit(), libGame_gv_scalingTicks, 0);
if ((UnitGetType(EventUnitCreatedUnit()) == "SlimeBossPodlingDefender")) {
autoB00ED7DC_ae = libMapM_gv_jungleNumberOfCreepCamps;
lv_itCamp = 1;
for ( ; ( (autoB00ED7DC_ai >= 0 && lv_itCamp <= autoB00ED7DC_ae) || (autoB00ED7DC_ai < 0 && lv_itCamp >= autoB00ED7DC_ae) ) ; lv_itCamp += autoB00ED7DC_ai ) {
if ((libNtve_gf_UnitInRegion(EventUnitCreatedUnit(), libMapM_gv_jungleCreepCamps[lv_itCamp].lv_mapDataDefenderLeashRegion) == true)) {
break;
}
}
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libWJDA_gt_MMSC2SpawnPodsSpawned_Init () {
libWJDA_gt_MMSC2SpawnPodsSpawned = TriggerCreate("libWJDA_gt_MMSC2SpawnPodsSpawned_Func");
TriggerAddEventUnitCreated(libWJDA_gt_MMSC2SpawnPodsSpawned, null, null, null);
}
//--------------------------------------------------------------------------------------------------
// Trigger: MMSC2 Spawn Pods Used
//--------------------------------------------------------------------------------------------------
bool libWJDA_gt_MMSC2SpawnPodsUsed_Func (bool testConds, bool runActions) {
// Variable Declarations
point lv_randomPoint;
int lv_bossFacing;
// Automatic Variable Declarations
// Variable Initialization
lv_bossFacing = libCore_ge_TransmissionCueSoundOptions_DefaultCueSoundBehavior;
// Actions
if (!runActions) {
return true;
}
if ((UnitIsAlive(EventPlayerEffectUsedUnit(c_effectUnitCaster)) == true)) {
if ((UnitGetType(EventPlayerEffectUsedUnit(c_effectUnitCaster)) == "SlimeBossLaner")) {
libWJDA_gf_MMSC2SpawnPodsLanerLogic(libWJDA_gv_mMSC2SpawnPodsLanerTargetMax_C, EventPlayerEffectUsedUnit(c_effectUnitCaster));
}
if ((UnitGetType(EventPlayerEffectUsedUnit(c_effectUnitCaster)) == "SlimeBossDefender")) {
libWJDA_gf_MMSC2SpawnPodsDefenderLogic(libWJDA_gv_mMSC2SpawnPodsDefenderTargetMax_C, EventPlayerEffectUsedUnit(c_effectUnitCaster));
}
}
return true;
}
//--------------------------------------------------------------------------------------------------
void libWJDA_gt_MMSC2SpawnPodsUsed_Init () {
libWJDA_gt_MMSC2SpawnPodsUsed = TriggerCreate("libWJDA_gt_MMSC2SpawnPodsUsed_Func");
TriggerAddEventPlayerEffectUsed(libWJDA_gt_MMSC2SpawnPodsUsed, c_playerAny, "SlimeBossSpawnPodsTriggerDummySet");
}
void libWJDA_InitTriggers () {
libWJDA_gt_IncludeWarheadJunctionData_Init();
libWJDA_gt_MMSC2InitSlimeBossMercCampData_Init();
libWJDA_gt_MMSC2SpawnPodsSpawned_Init();
libWJDA_gt_MMSC2SpawnPodsUsed_Init();
}
//--------------------------------------------------------------------------------------------------
// Library Initialization
//--------------------------------------------------------------------------------------------------
bool libWJDA_InitLib_completed = false;
void libWJDA_InitLib () {
if (libWJDA_InitLib_completed) {
return;
}
libWJDA_InitLib_completed = true;
libWJDA_InitLibraries();
libWJDA_InitVariables();
libWJDA_InitTriggers();
}