Log in

View Full Version : Arch Magus Vangl


woton
10-05-2019, 03:13 PM
Working with a friend on a server and while testing in Anguish, Vangl's chest wont spawn. Any idea what will fix this?

Huppy
10-05-2019, 06:10 PM
That's usually an event_death sub in the quests\anguish scripts, somewhere for him.

chrsschb
10-05-2019, 06:29 PM
From \quests\anguish\encounters\amv.lua:
function AMV_Death(e)
--check if OMM is up and there are no preexisting AMV lockouts in raid -> spawn chest
--eq.unique_spawn(317112,0,0, e.self:GetX(),e.self:GetY(),e.self:GetZ(),0); --Ornate_Chest (317112)
eq.zone_emote(13,"As the Arch Magus' corpse falls to the ground, you feel the magical aura filling the room collapse, and hear a deep gutteral laugh growing louder.");
e.self:CameraEffect(15000,5);
eq.depop_all(317108);

eq.signal(317116 , 317107);

eq.get_entity_list():FindDoor(57):SetOpenType(59);
eq.get_entity_list():FindDoor(58):SetOpenType(59);
eq.get_entity_list():FindDoor(59):SetOpenType(59);
eq.get_entity_list():FindDoor(60):SetOpenType(59);
eq.get_entity_list():FindDoor(57):ForceOpen(e.self );
eq.get_entity_list():FindDoor(58):ForceOpen(e.self );
eq.get_entity_list():FindDoor(59):ForceOpen(e.self );
eq.get_entity_list():FindDoor(60):ForceOpen(e.self );
end

and in \quests\anguish\zone_status.lua:
function Check_amv_chest()
qglobals = eq.get_qglobals()
--spawn ornate chest only if amv lockout is not already set
--do not set AMV lockout if it already exists
current_bit = tonumber(qglobals[instance_id.."_anguish_bit"]);
if (bit.band(current_bit,16)==0) then
eq.set_global(instance_id.."_anguish_bit",tostring(bit.bor(current_bit,16)),7,"H6");
for k,v in pairs(charid_list) do
eq.target_global('Anguish_amv', tostring(instance_requests.GetLockoutEndTimeForHou rs(108)), "H108", 0,v, 0);
end
eq.unique_spawn(317112,0,0, 366, 4886, 278, 0); --Ornate_Chest
eq.debug("Check_amv_chest: Spawn Chest");
else
eq.debug("Check_amv_chest: No Chest");
end
end

demonstar55
10-05-2019, 07:49 PM
it works fine when you get it via instance, if you're just using /zone or #zone I'm not sure if it will work right :P

woton
10-05-2019, 08:32 PM
Thx for the responses guys, seems it might be the #zone command we were using to get into Anguish. Just wondering, how do we change it so only 1 person can zone into Anguish from WoS?

chrsschb
10-06-2019, 04:22 PM
Thx for the responses guys, seems it might be the #zone command we were using to get into Anguish. Just wondering, how do we change it so only 1 person can zone into Anguish from WoS?

in \quests\wallofslaughter\player.lua

function event_click_door(e)
local door_id = e.door:GetDoorID();
local instance_id = nil;

local lockouts = {
{ "Anguish_keldovan", "Anguish: Keldovan the Harrier" },
{ "Anguish_jelvan", "Anguish: Rescing Jelvan" },
{ "Anguish_ture", "Anguish: Ture" },
{ "Anguish_hanvar", "Anguish: Warden Hanvar" },
{ "Anguish_amv", "Anguish: Arch Magus Vangi" },
{ "Anguish_omm", "Anguish: Overlord Mata Muram" },
{ "Anguish_lower_orb", "Anguish: Lower Globe of Discordant Energy" },
{ "Anguish_upper_orb", "Anguish: Upper Globe of Discordant Energy" },
{ "Anguish_augs", "Anguish: Replay Timer" }
};
eq.debug("Door: " .. door_id .. " clicked");

if (door_id == 3) then
instance_id = eq.get_instance_id('anguish', 0);

if (instance_id ~= nil and instance_id ~= 0) then
e.self:MovePCInstance(317, instance_id, -9, -2466, -79, 510);

-- if GM just give him an instance
elseif (e.self:Admin() >= 80 and e.self:GetGM()) then
instance_id = eq.create_instance('anguish', 0, 21600);
eq.assign_raid_to_instance(instance_id);
e.self:Message(14, "GM Exception: Anguish is open to you");
eq.set_global(instance_id.."_anguish_bit",tostring(0),7,"H6");
else
local instance_requests = require("instance_requests");

-- If a Player has Anguish_augs then they can not start an instance of anguish.
local augs_check = instance_requests.CheckPlayersForLockout('raid', 'Anguish_augs', 'Anguish: Replay Timer', e.self);
if (augs_check ) then
e.self:Message(13, "The way to Anguish is blocked to your raid at this time");
else
-- Every member of the raid needs to have 2 quest_globals set: oow_rss_taromani_insignias and oow_mpg_raids_complete
local required_globals = {
{'oow_rss_taromani_insignias', "is not protected from the chaos magic in Mata Muram's citadel." },
{'oow_mpg_raids_complete', 'must complete the Muramite Proving Grounds raid trials'}
};
local request = instance_requests.ValidateRequest('raid', 'anguish', 0, 6, 54, 65, nil, required_globals, e.self, lockouts);
-- TODO: Need to review why i placed the flags check; shouldn't be needed but I added it for some
-- reason.
-- if (request.valid and request.flags == 1) then
-- instance_requests.DisplayLockouts(e.self, e.self, lockouts);
-- elseif (request.valid and request.flags == 0) then
if (request.valid) then
instance_id = eq.create_instance('anguish', 0, 21600);
eq.assign_raid_to_instance(instance_id);

-- Set the lockout for the instance with the bits that represent the mobs that
-- will be spawned by the zone_status upon entry
eq.set_global(instance_id.."_anguish_bit",tostring(request.flags),7,"H6");

eq.cross_zone_message_player_by_name(5, "GMFizban", "Anguish -- Instance: " .. instance_id);
e.self:Message(14, "The door swings wide and allows you entrance to Anguish, the Fallen Palace.");
end
end
end
end
end

Change the 6 in the below to a 1.
local request = instance_requests.ValidateRequest('raid', 'anguish', 0, 6, 54, 65, nil, required_globals, e.self, lockouts);

woton
10-06-2019, 10:04 PM
Thx for all the help guys. Entering Anguish from WoS fixed all the issues we were having. Porting in prevented Vangl's chest from spawning, made Mata Murams corpse poof and the aug mobs not to spawn.