EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Support::General Support (https://www.eqemulator.org/forums/forumdisplay.php?f=598)
-   -   Arch Magus Vangl (https://www.eqemulator.org/forums/showthread.php?t=42640)

woton 10-05-2019 03:13 PM

Arch Magus Vangl
 
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:
Code:

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:
Code:

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.GetLockoutEndTimeForHours(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

Quote:

Originally Posted by woton (Post 263673)
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

Code:

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.
Code:

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.


All times are GMT -4. The time now is 01:56 PM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.