Adding onto and putting my spin on things..
Credit Original Poster:
kcsdman
@Kcsdman
Beats up eggs with pet classes - credit to original poster. I added my own IAmpetClass() function cuz it wasn't posted, it could be better but it works..
Someone could add enchanter as a pet class, I spose..
Chase the lich with everyone except pure casters, all me..
When the lich is almost dead the tank will run to Shalo..
Handle the AOE- original poster, but, after the notes wear off I have toon run back to the main guy MA..
replace SHD with WAR or PAL or whatever your tank is in "SHD" except for pet class section..
--or MA
as a side note it is good to use intensity of the resolute when the lich shows up as an alternative to burn..
One group makeup can be SHD, BER, BER, SHM, BRD, BST
pretty sure Tucoh uses MAG and PAL (for slaying lich), and whatever else..
This may be all clunky, but it clunked me to Savior and Challenger..
Code:
local mq = require('mq')
local safeSpotYXZ = "568 -1317 327"
local debuffName = "Song of Echoes"
mq.cmd('/hidecorpse npc')
mq.delay(1000)
local function moving() while mq.TLO.Nav.Active() do mq.delay(1) end end
local function IHaveBuff(buffName)
local buffID = mq.TLO.Me.Buff(buffName).ID()
if buffID ~= nil and buffID > 0 then return true end
return false
end
local function IAmPetClass()
if mq.TLO.Me.Class.ShortName() == "SHM" or mq.TLO.Me.Class.ShortName() ==
"SHD" or mq.TLO.Me.Class.ShortName() == "BST" or
mq.TLO.Me.Class.ShortName() == "MAG" or mq.TLO.Me.Class.ShortName() ==
"NEC" then return true end
return false
end
-- Notes
local function handleAoEEvent()
if mq.TLO.Me.CleanName() == mq.TLO.Group.MainAssist() then return end
if IHaveBuff(debuffName) then
-- we have the debuff, run to safe spot
mq.cmd("/g I have the AOE debuff, running to safe spot")
mq.cmd("/mqp on")
mq.delay(200)
mq.cmdf("/nav locyxz %s", safeSpotYXZ)
-- 1000
while IHaveBuff(debuffName) do mq.delay(100) end
mq.cmd("/g AOE debuff is gone, resuming")
-- mq.cmd("/mqp off")
-- mq.cmd('/n spawn ' .. mq.TLO.Group.MainAssist())
mq.cmd("/mqp off")
end
end
-- Whip Eggs
local function HandleEggs()
if mq.TLO.Spawn('Queen of the Spiders').Dead() then return end
if mq.TLO.SpawnCount('Queen of the Spiders')() < 1 then return end
-- Finish this up
local melee_array = {['BST'] = true}
-- Keep Melees and stuff from chasing
if mq.TLO.Me.Class.ShortName() == "BER" or mq.TLO.Me.Class.ShortName() ==
"BST" or mq.TLO.Me.Class.ShortName() == "BRD" then
local egg = mq.TLO.Spawn("npc egg").ID()
if egg ~= nil and egg > 0 then
-- if paused do nothing already
-- Needs work
if not mq.TLO.Macro.Paused() then
mq.cmd('/mqp on')
mq.cmd('/n stop')
end
else
-- Needs work
if mq.TLO.Macro.Paused() then mq.cmd('/mqp off') end
end
end
if IAmPetClass() then
-- see if egg is up
local egg = mq.TLO.Spawn("npc egg").ID()
if egg ~= nil and egg > 0 then
-- send pets on eggs
mq.cmd('/mqp on')
mq.cmd("/g Sending my pet on egg")
mq.cmd("/target npc egg")
mq.delay(1000)
mq.cmd("/pet attack")
-- Wait for egg to die
while mq.TLO.Spawn("npc egg").ID() ~= nil and
mq.TLO.Spawn("npc egg").ID() > 0 do
mq.cmd("/target npc egg")
mq.delay(1000)
mq.cmd("/pet attack")
end
mq.cmd("/g Egg is dead, resuming")
mq.cmd("/mqp off")
end
end
end
-- Chase the Lich
local function LichChaser()
-- Pure casters don't run around
if mq.TLO.Me.Class.ShortName() == "ENC" or mq.TLO.Me.Class.ShortName() ==
"WIZ" or mq.TLO.Me.Class.ShortName() == "NEC" or
mq.TLO.Me.Class.ShortName() == "MAG" then return end
-- If dead ignore that fool
if mq.TLO.Spawn('#Lich').Dead() then return end
-- If not dead is there a count?
if mq.TLO.SpawnCount('#Lich')() < 1 then return end
-- Chase after Lich'
if mq.TLO.Spawn('#Lich').Distance() > 99 then
mq.cmd('/n spawn #Lich')
moving()
end
end
print ("Starting HaF Lua")
-- Main Loop
while true do
HandleEggs()
-- LichChaser()
-- Break out so tank/main can run to shalo
if mq.TLO.SpawnCount('#Lich')() > 0 and mq.TLO.Spawn('#Lich').PctHPs() < 5 and
mq.TLO.Me.CleanName() == mq.TLO.Group.MainAssist() then break end
handleAoEEvent()
mq.delay(1)
end
-- Tank runs to Shalo
mq.cmd('/n spawn shalo')
Changed: AOE event, whoever the main assist is, it won't run for, assumes the MainAssist is the driver..
Changed: Now going off of main assist not a specific class like WAR, SHD, PAL..
Lich chasing, not even sure that is needed anymore...