In Dyna Sandy and Windy that if you manage to get off the Mega Boss' hate list or die or come back in and re-engage him, he will spawn another set of mobs.
I went into the scripts for the zone and looked at the Mega Boss' LUA and noticed that there wasn't a check for the onMobEngaged function.
So I added a condition using the existing [DynaSandoria]Boss_Trigger and [DynaWindurst]Boss_Trigger server variables that was used for the pop NMs to prevent subsequent spawns.
I double checked to make sure the condition uses the server variable set when the mega boss was spawned so no wonky pop behavior occurs.
Here is a link to the Github: https://github.com/DarkstarProject/dark ... bstone.lua
As an example, here is the modified Dyna Sandy code. I haven't tested since I'm at work but does anyone see an issue with this code? I'll test it tonight and if it works I'll submit it to Github.
Code: Select all
-----------------------------------
-- Area: Dynamis San d'Oria
-- MOB: Overlord's Tombstone
-----------------------------------
require("scripts/globals/titles");
require("scripts/globals/dynamis");
-----------------------------------
-- onMobSpawn Action
-----------------------------------
function onMobSpawn(mob)
end;
-----------------------------------
-- onMobEngaged
-----------------------------------
function onMobEngaged(mob,target)
if (GetServerVariable("[DynaSandoria]Boss_Trigger") == 4) then -- Adds condition to prevent mega boss from respawning mobs if you re-engage.
SpawnMob(17535350):updateEnmity(target); -- 110
SpawnMob(17535351):updateEnmity(target); -- 111
SpawnMob(17535352):updateEnmity(target); -- 112
SpawnMob(17535354):updateEnmity(target); -- 114
SpawnMob(17534978):updateEnmity(target); -- Battlechoir Gitchfotch
SpawnMob(17534979):updateEnmity(target); -- Soulsender Fugbrag
SetServerVariable("[DynaSandoria]Boss_Trigger",5);
end
end;
-----------------------------------
-- onMobDeath
-----------------------------------
function onMobDeath(mob, player, isKiller)
if (alreadyReceived(player,8) == false) then
addDynamisList(player,128);
player:addTitle(DYNAMISSAN_DORIA_INTERLOPER); -- Add title
local npc = GetNPCByID(17535224); -- Spawn ???
npc:setPos(mob:getXPos(),mob:getYPos(),mob:getZPos());
npc:setStatus(0);
player:launchDynamisSecondPart(); -- Spawn dynamis second part
end
for i = 17534978, 17534979 do
if (GetMobAction(i) ~= 0) then
DespawnMob(i);
end
end
end;