Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
and a simple LEM to trigger it. Caveat, though, it gets weird when you are recovering from a death since (in my case) CWTN kicks in and wants to do Mage stuff and the MM Lua also wants to do it's thing. Here I the LEM codeI've expanded this to account for Mages leveling 115 -> 120. Since neither MS XIV nor Gather Vigor are available until 120, those mages below still need MS XIII and Gather Potency. I've also encountered issues getting the MS spell to load (sometimes it won't and I have to do it manually). Lastly, I've also added all the elemental staffs and it'll use the first one it finds in inventory. There's a few other changes, but those should be seen as more of a cleanup. Sharing in case anyone else is interested. And num1 can take them to use going forward. Much of the additions are taken from other macros I use, so I can't claim credit for the basic ideas behind them. Just the tweaks for this particular usage.
cmV0dXJuIHsKIGxvYWQgPSB7CiAgYWx3YXlzID0gZmFsc2UsCiAgY2xhc3MgPSAiIiwKICB6b25lID0gIiIsCiB9LAogY29kZSA9ICJiRzlqWVd3Z2JYRWdQU0J5WlhGMWFYSmxLQ2R0Y1NjcENnb3RMUzFBY21WMGRYSnVJR0p2YjJ4bFlXNGdRRkpsZEhWeWJuTWdkSEoxWlNCcFppQjBhR1VnWVdOMGFXOXVJSE5vYjNWc1pDQm1hWEpsTENCdmRHaGxjbmRwYzJVZ1ptRnNjMlV1Q214dlkyRnNJR1oxYm1OMGFXOXVJR052Ym1ScGRHbHZiaWdwQ2lBZ0lDQnNiMk5oYkNCdGVWOWpiR0Z6Y3lBOUlHMXhMbFJNVHk1TlpTNURiR0Z6Y3k1VGFHOXlkRTVoYldVb0tRb2dJQ0FnYkc5allXd2diWGxmYldGdVlTQTlJRzF4TGxSTVR5NU5aUzVRWTNSTllXNWhLQ2tLSUNBZ0lHeHZZMkZzSUcxdFgzTjBZWFIxY3lBOUlHMXhMbFJNVHk1TWRXRXVVMk55YVhCMEtDZHRiU2NwTGxOMFlYUjFjeWdwQ2lBZ0lDQnlaWFIxY200Z2JYbGZZMnhoYzNNZ1BUMGdKMDFCUnljZ1lXNWtJRzE1WDIxaGJtRWdQQ0F4TlNCaGJtUWdiVzFmYzNSaGRIVnpJSDQ5SUNkU1ZVNU9TVTVISndwbGJtUUtDbXh2WTJGc0lHWjFibU4wYVc5dUlHRmpkR2x2YmlncENpQWdJQ0J0Y1M1amJXUW9KeTlzZFdFZ2NuVnVJRzF0SnlrS1pXNWtDZ3B5WlhSMWNtNGdlMk52Ym1SbWRXNWpQV052Ym1ScGRHbHZiaXdnWVdOMGFXOXVablZ1WXoxaFkzUnBiMjU5IiwKIGNhdGVnb3J5ID0gIiIsCiB0eXBlID0gImNvbmRpdGlvbnMiLAogbmFtZSA9ICJNYWdlTWFuYSIsCn0=
Do you use MQ2Boxr? One of the first things the script does after verifying the operating environment is workable (i.e., initialization logic) is to useSo I ended up using the Lua from rouneq
and a simple LEM to trigger it. Caveat, though, it gets weird when you are recovering from a death since (in my case) CWTN kicks in and wants to do Mage stuff and the MM Lua also wants to do it's thing. Here I the LEM code
INI:cmV0dXJuIHsKIGxvYWQgPSB7CiAgYWx3YXlzID0gZmFsc2UsCiAgY2xhc3MgPSAiIiwKICB6b25lID0gIiIsCiB9LAogY29kZSA9ICJiRzlqWVd3Z2JYRWdQU0J5WlhGMWFYSmxLQ2R0Y1NjcENnb3RMUzFBY21WMGRYSnVJR0p2YjJ4bFlXNGdRRkpsZEhWeWJuTWdkSEoxWlNCcFppQjBhR1VnWVdOMGFXOXVJSE5vYjNWc1pDQm1hWEpsTENCdmRHaGxjbmRwYzJVZ1ptRnNjMlV1Q214dlkyRnNJR1oxYm1OMGFXOXVJR052Ym1ScGRHbHZiaWdwQ2lBZ0lDQnNiMk5oYkNCdGVWOWpiR0Z6Y3lBOUlHMXhMbFJNVHk1TlpTNURiR0Z6Y3k1VGFHOXlkRTVoYldVb0tRb2dJQ0FnYkc5allXd2diWGxmYldGdVlTQTlJRzF4TGxSTVR5NU5aUzVRWTNSTllXNWhLQ2tLSUNBZ0lHeHZZMkZzSUcxdFgzTjBZWFIxY3lBOUlHMXhMbFJNVHk1TWRXRXVVMk55YVhCMEtDZHRiU2NwTGxOMFlYUjFjeWdwQ2lBZ0lDQnlaWFIxY200Z2JYbGZZMnhoYzNNZ1BUMGdKMDFCUnljZ1lXNWtJRzE1WDIxaGJtRWdQQ0F4TlNCaGJtUWdiVzFmYzNSaGRIVnpJSDQ5SUNkU1ZVNU9TVTVISndwbGJtUUtDbXh2WTJGc0lHWjFibU4wYVc5dUlHRmpkR2x2YmlncENpQWdJQ0J0Y1M1amJXUW9KeTlzZFdFZ2NuVnVJRzF0SnlrS1pXNWtDZ3B5WlhSMWNtNGdlMk52Ym1SbWRXNWpQV052Ym1ScGRHbHZiaXdnWVdOMGFXOXVablZ1WXoxaFkzUnBiMjU5IiwKIGNhdGVnb3J5ID0gIiIsCiB0eXBlID0gImNvbmRpdGlvbnMiLAogbmFtZSA9ICJNYWdlTWFuYSIsCn0=
/squelch /docommand /boxr pause
. Later followed by a /boxr unpause
before ending. This should stop any macro/plugin activity while MM is doing the work.I can't seem to get the Lua from rouneq to work. Did you need to do any changes to that?So I ended up using the Lua from rouneq
and a simple LEM to trigger it. Caveat, though, it gets weird when you are recovering from a death since (in my case) CWTN kicks in and wants to do Mage stuff and the MM Lua also wants to do it's thing. Here I the LEM code
INI:cmV0dXJuIHsKIGxvYWQgPSB7CiAgYWx3YXlzID0gZmFsc2UsCiAgY2xhc3MgPSAiIiwKICB6b25lID0gIiIsCiB9LAogY29kZSA9ICJiRzlqWVd3Z2JYRWdQU0J5WlhGMWFYSmxLQ2R0Y1NjcENnb3RMUzFBY21WMGRYSnVJR0p2YjJ4bFlXNGdRRkpsZEhWeWJuTWdkSEoxWlNCcFppQjBhR1VnWVdOMGFXOXVJSE5vYjNWc1pDQm1hWEpsTENCdmRHaGxjbmRwYzJVZ1ptRnNjMlV1Q214dlkyRnNJR1oxYm1OMGFXOXVJR052Ym1ScGRHbHZiaWdwQ2lBZ0lDQnNiMk5oYkNCdGVWOWpiR0Z6Y3lBOUlHMXhMbFJNVHk1TlpTNURiR0Z6Y3k1VGFHOXlkRTVoYldVb0tRb2dJQ0FnYkc5allXd2diWGxmYldGdVlTQTlJRzF4TGxSTVR5NU5aUzVRWTNSTllXNWhLQ2tLSUNBZ0lHeHZZMkZzSUcxdFgzTjBZWFIxY3lBOUlHMXhMbFJNVHk1TWRXRXVVMk55YVhCMEtDZHRiU2NwTGxOMFlYUjFjeWdwQ2lBZ0lDQnlaWFIxY200Z2JYbGZZMnhoYzNNZ1BUMGdKMDFCUnljZ1lXNWtJRzE1WDIxaGJtRWdQQ0F4TlNCaGJtUWdiVzFmYzNSaGRIVnpJSDQ5SUNkU1ZVNU9TVTVISndwbGJtUUtDbXh2WTJGc0lHWjFibU4wYVc5dUlHRmpkR2x2YmlncENpQWdJQ0J0Y1M1amJXUW9KeTlzZFdFZ2NuVnVJRzF0SnlrS1pXNWtDZ3B5WlhSMWNtNGdlMk52Ym1SbWRXNWpQV052Ym1ScGRHbHZiaXdnWVdOMGFXOXVablZ1WXoxaFkzUnBiMjU5IiwKIGNhdGVnb3J5ID0gIiIsCiB0eXBlID0gImNvbmRpdGlvbnMiLAogbmFtZSA9ICJNYWdlTWFuYSIsCn0=
Pm him, he sent me one that works with kaI can't seem to get the Lua from rouneq to work. Did you need to do any changes to that?
I made some small changes on it, here is my version based on the Lua by @rouneqMy Lua version. There is an issue if the "Gather" spell isn't available. Put in yourlua
folder. Extract into that folder (a couple files are put intolib
).
--- @type Mq
local mq = require('mq')
local Note = require('lib.Note')
Note.prefix = 'MonsterMana'
Note.loglevel = 'info'
local workingStates = { Active=true, Cooldown=true, Resting=true, }
local MonsterSummoning
local MonsterSummoningSpell
local GatherMana
local GatherManaSpell
local ReclaimSet
local ReclaimItem
local RetryCount = 5
local MiscSpellGem = 7
local IsMemorizing = false
--[[ local function delay(timeout, condition)
if ((not timeout and not condition) or type(timeout) ~= "number") then
return
end
if (not condition) then
mq.delay(timeout)
return
end
local function predicate()
mq.doevents()
return condition()
end
mq.delay(timeout, predicate)
end ]]
local function CheckPlugin(plugin)
if (not mq.TLO.Plugin(plugin)()) then
mq.cmdf('/squelch /plugin %s noauto', plugin)
Note.Debug('\aw%s\ar not detected! \awThis script requires it! Loading ...', plugin)
end
end
local function ChooseAbility(set)
-- Create New spell holder as Outer if it doesn't already exist
local chosenSpell
local highestSpellLevel = 0
-- Iterate throught the spell set
for _, value in ipairs(set) do
Note.Debug('spell: %s', value)
local spellLevel = mq.TLO.Spell(value).Level()
Note.Debug('spellLevel: %s', spellLevel)
local spellRank = mq.TLO.Spell(value).RankName()
Note.Debug('spellRank: %s', spellRank)
-- Detect mispelled spells
if (not spellRank) then
Note.Info('\arSPELL NOT AVAILABLE: \ax%s', value)
-- If we can cast the spell and its in our book, see if we should use it
elseif (mq.TLO.Me.Book(spellRank)()) then
-- If it's higher than the spell we've already set, use it.
if (spellLevel > highestSpellLevel) then
-- This is the value we use for casting and buff checking so must be BaseName. RankName is only
-- for memorization and Me.Book checking.
if (mq.TLO.Me.SpellRankCap() > 1) then
chosenSpell = mq.TLO.Spell(spellRank).RankName()
else
chosenSpell = mq.TLO.Spell(spellRank).BaseName()
end
highestSpellLevel = spellLevel
end
end
end
Note.Debug('selected spell: %s', chosenSpell)
return chosenSpell
end
local function ChooseItem(set)
local reclaimItem
-- Iterate throught the staff set
for _, value in ipairs(set) do
if (mq.TLO.FindItemCount(value)()>0) then
reclaimItem = value
break
end
end
Note.Debug('reclaim item: %s', reclaimItem)
return reclaimItem
end
local function Init()
CheckPlugin('MQ2XAssist')
CheckPlugin('MQ2AdvPath')
CheckPlugin('MQ2MoveUtils')
CheckPlugin('MQ2Boxr')
MonsterSummoning = {
"Monster Summoning XV",
"Monster Summoning XIV",
"Monster Summoning XIII",
}
MonsterSummoningSpell = ChooseAbility(MonsterSummoning)
if (not MonsterSummoningSpell) then
Note.Info('A monster summoning spell is not available')
return false
end
GatherMana = {
"Gather Vigor",
"Gather Potency",
}
GatherManaSpell = ChooseAbility(GatherMana)
if (not GatherManaSpell) then
Note.Info('A gather mana spell is not available')
return false
end
-- There are multiple instant cast "Reclaim Energy" items, if yours is different, add to the set below.
ReclaimSet = {
"Staff of Elemental Mastery: Earth",
"Staff of Elemental Mastery: Fire",
"Staff of Elemental Mastery: Air",
"Staff of Elemental Mastery: Water",
"Broom of Trilon",
"Ancient Torch of Alna",
"Gemmed Gloves of Guile",
"Gloves of Dark Summoning",
"Shovel of Ponz",
"Stein of Ulissa",
"Torch of Alna"
}
ReclaimItem = ChooseItem(ReclaimSet)
if (not ReclaimItem) then
Note.Info('An item to reclaim energy is not present in inventory')
return false
end
return true
end
local function Event_BeginMemorizing(_, spellName)
IsMemorizing = true
end
local Event_EndMemorizing = function(_, spellName)
IsMemorizing = false
end
mq.event('BeginMemorizing', "#*#Beginning to memorize #1#...#*#", Event_BeginMemorizing)
mq.event('FinishMemorizing', "#*#You have finished memorizing #1##*#", Event_EndMemorizing)
mq.event('AbortMemorizing', "#*#Aborting memorization of spell.#*#", Event_EndMemorizing)
local function LoadSpellGem(spellToMem, requestedMemGem)
if (mq.TLO.Me.Gem(spellToMem)()) then
Note.Debug('Requested spell "%s" is already in a gem slot. Returning that gem slot number instead', spellToMem)
return mq.TLO.Me.Gem(spellToMem)()
end
-- We want to pop out quickly if we're in combat or moving
if ( mq.TLO.AdvPath.Following() or
mq.TLO.MoveTo.Moving() or
mq.TLO.Me.Moving() or
-- mq.TLO.XAssist.XTFullHaterCount() > 0 or
mq.TLO.Navigation.Active()) then
Note.Info('Cannot mem a spell while moving')
return
end
-- Need to use RankName with Me.Book and /memspell
spellToMem = mq.TLO.Spell(spellToMem).RankName()
if (spellToMem == nil or spellToMem == '') then
Note.Info('Invalid spellToMem "%s"', spellToMem)
return
end
if (not mq.TLO.Me.Book(spellToMem)()) then
Note.Info('\awCould Not find the spell "%s" in the spell book.', spellToMem)
return
end
if (not mq.TLO.Me.Gem(requestedMemGem)() and requestedMemGem ~= MiscSpellGem) then
Note.Info('Requested gem slot, %s, is not available. Using default misc spell gem, %s, instead', requestedMemGem, MiscSpellGem)
requestedMemGem = MiscSpellGem
end
Note.Info('\agMeming \aw"%s" in \agslot %s', spellToMem, requestedMemGem)
mq.cmdf('/memspell %s "%s"', requestedMemGem, spellToMem)
-- Client settle delay to avoid getting stuck in loading spell gems.
mq.delay(2000, function()
--return mq.TLO.Window('SpellBookWnd').Open() and IsMemorizing
return IsMemorizing
end)
mq.delay(10000, function()
return mq.TLO.Me.Gem(requestedMemGem).Name() == spellToMem or not IsMemorizing
end)
if (mq.TLO.Me.Gem(requestedMemGem).Name() ~= spellToMem) then
--[[ if (mq.TLO.XAssist.XTFullHaterCount() > 0) then
Note.Info('I was interruped by combat while waiting to memorize ${spellToMem}.')
return
end ]]
if (not mq.TLO.Window('SpellBookWnd').Open()) then
Note.Info('My Spellbook Window closed while I tried to memorize a spell.')
return
end
end
return requestedMemGem
end
local function ReclaimMana()
Note.Info('Mana Loop Started')
mq.cmd('/squelch /beepontells off')
while (mq.TLO.Me.PctMana() < 90) do
if (mq.TLO.Cursor.ID()) then
mq.cmd('/autoinventory')
mq.delay(2000)
mq.cmd('/autoinventory')
end
-- move to MA
if mq.TLO.Group.MainAssist() and mq.TLO.Group.MainAssist.Distance() > 40 then
mq.cmdf('/squelch /nav id %s',mq.TLO.Group.MainAssist.ID())
Note.Info('Catching up with MA')
while mq.TLO.Navigation.Active() do mq.delay(100) end
mq.delay(500)
end
-- Checking if mana is under 8%
if (mq.TLO.Me.PctMana() < 8 and mq.TLO.Me.SpellReady(GatherManaSpell)()) then
mq.cmdf('/cast "%s"', GatherManaSpell)
mq.delay(20000, function() return mq.TLO.Me.Casting.ID() == nil end)
elseif (mq.TLO.Me.CurrentMana() < mq.TLO.Spell(MonsterSummoningSpell).Mana()) then
-- Sitting
if (mq.TLO.Me.Standing() and not mq.TLO.Me.Casting.ID()) then
mq.TLO.Me.Sit()
end
mq.delay(6050)
else
if (mq.TLO.Me.Sitting()) then
mq.TLO.Me.Stand()
end
mq.delay(1000)
Note.Debug('Request load spell "%s" to gem %s', MonsterSummoningSpell, MiscSpellGem)
local actualSpellGem = LoadSpellGem(MonsterSummoningSpell, MiscSpellGem)
if (not actualSpellGem) then
Note.Info('Requested spell load failed...exting')
return
end
mq.delay(500)
if (mq.TLO.Me.SpellReady(MonsterSummoningSpell)()) then
mq.cmdf('/cast %s', actualSpellGem)
end
mq.delay(7000, function() return not mq.TLO.Me.Casting.ID() end)
mq.delay(500)
if (mq.TLO.Me.Pet.ID() > 0) then
mq.cmdf('/useitem %s', ReclaimItem)
end
mq.delay(500)
end
mq.delay(50)
end
mq.delay(1000)
Note.Info('Mana Loop Ended')
local counter = 0
while (mq.TLO.Me.Pet.ID() > 0 and counter < RetryCount) do
mq.cmdf('/useitem %s', ReclaimItem)
mq.delay(500)
counter = counter + 1
end
end
local function Main()
if (mq.TLO.Me.Class.ShortName() ~= 'MAG') then
Note.Info('MonsterMana only works for Mage characters')
return false
end
if (mq.TLO.Me.PctMana() > 95) then
Note.Info('Mana is nearly full; nothing to do')
return false
end
-- Sets up the operational domain including which version of monster to summon, basic mana recovery spell to use (if low on mana), and reclaim item to use from inventory
if (not Init()) then
Note.Info('Macro initialization unsuccessful')
return false
end
mq.cmd('/squelch /docommand /boxr pause')
mq.delay(300)
mq.cmd('/squelch /attack off')
-- added auto inventory
local counter = 0
while (mq.TLO.Cursor.ID() and counter < RetryCount) do
mq.cmd('/autoinventory')
mq.delay(500)
mq.cmd('/autoinventory')
counter = counter + 1
end
mq.delay(500)
-- Section for if you already have a main pet summoned.
if (mq.TLO.Me.Pet.ID() and mq.TLO.Me.Pet.ID() > 0) then
Note.Info('Primary mana method started (with pet)!')
-- Stores main pet using Suspend Companion to keep items/buffs on pet.
Note.Info('Storing Pet')
local counter = 0
while (mq.TLO.Me.Pet.ID() > 0 and counter < RetryCount) do
mq.cmd('/pet hold')
mq.delay(300)
mq.cmd('/pet back off')
mq.delay(300)
mq.cmd('/alt act 1215') --summon companion
mq.delay(500)
if (mq.TLO.Me.Pet.ID()> 0) then mq.cmd('/alt act 176') end -- suspend pet
mq.delay(500)
mq.delay(8000, function() return not mq.TLO.Me.Casting.ID() end)
counter = counter + 1
end
ReclaimMana()
-- Returns main pet from Suspend Companion
Note.Info('Restoring Main Pet')
local counter = 0
while (mq.TLO.Me.Pet.ID() == 0 and counter < RetryCount) do
Note.Info('resummon pet')
mq.delay(300)
mq.cmd('/alt act 176')
mq.delay(300)
mq.delay(6000, function() return not mq.TLO.Me.Casting.ID() end)
mq.delay(300)
counter = counter + 1
end
-- Secondary method for if you reciently died, have 0 mana and no main pet.
else
Note.Info('Primary mana method started (no pet)!')
mq.delay(300)
while (mq.TLO.Me.PctMana() < 8) do
if (mq.TLO.Me.SpellReady(mq.TLO.Spell(GatherManaSpell).RankName())) then
mq.cmdf('/cast "%s"', mq.TLO.Spell(GatherManaSpell).RankName())
mq.delay(20000, function() return not mq.TLO.Me.Casting.ID() end)
elseif (workingStates[mq.TLO.Me.CombatState()]) then
-- Sitting
if (mq.TLO.Me.Standing() and not mq.TLO.Me.Casting.ID()) then
mq.TLO.Me.Sit()
end
mq.delay(6050)
end
mq.delay(200)
end
ReclaimMana()
end
mq.delay(300)
mq.cmd('/pet hold')
mq.delay(300)
mq.cmd('/squelch /docommand /boxr unpause')
mq.delay(300)
Note.Info('Mana Macro Ending')
Note.Info('Mage Mana now: \ag%s', mq.TLO.Me.PctMana())
mq.cmd('/squelch /beepontells on')
end
Main()
cmV0dXJuIHsKIFsibmFtZSJdID0gIk1hZ2VNYW5hQnJ1dGVmb3JjZSIsCiBbImxvYWQiXSA9IHsKICBbInpvbmUiXSA9ICIiLAogIFsiY2xhc3MiXSA9ICIiLAogIFsiYWx3YXlzIl0gPSBmYWxzZSwKIH0sCiBbInR5cGUiXSA9ICJjb25kaXRpb25zIiwKIFsiY29kZSJdID0gImJHOWpZV3dnYlhFZ1BTQnlaWEYxYVhKbEtDZHRjU2NwQ2dvdExTMUFjbVYwZFhKdUlHSnZiMnhsWVc0Z1FGSmxkSFZ5Ym5NZ2RISjFaU0JwWmlCMGFHVWdZV04wYVc5dUlITm9iM1ZzWkNCbWFYSmxMQ0J2ZEdobGNuZHBjMlVnWm1Gc2MyVXVDbXh2WTJGc0lHWjFibU4wYVc5dUlHTnZibVJwZEdsdmJpZ3BDaUFnSUNCc2IyTmhiQ0J0ZVY5amJHRnpjeUE5SUcxeExsUk1UeTVOWlM1RGJHRnpjeTVUYUc5eWRFNWhiV1VvS1FvZ0lDQWdiRzlqWVd3Z2JYbGZiV0Z1WVNBOUlHMXhMbFJNVHk1TlpTNVFZM1JOWVc1aEtDa0tJQ0FnSUd4dlkyRnNJR05vWldOclgzQmhkWE5sWkNBOUlHMXhMbFJNVHk1RFYxUk9MbEJoZFhObFpDZ3BDaUFnSUNCc2IyTmhiQ0J0YlY5emRHRjBkWE1nUFNCdGNTNVVURTh1VEhWaExsTmpjbWx3ZENnblRVMWljblYwWlNjcExsTjBZWFIxY3lncENpQWdJQ0J5WlhSMWNtNGdiWGxmWTJ4aGMzTWdQVDBnSjAxQlJ5Y2dZVzVrSUcxNVgyMWhibUVnUENBeU1DQmhibVFnYlcxZmMzUmhkSFZ6SUg0OUlDZFNWVTVPU1U1SEp5QmhibVFnWTJobFkydGZjR0YxYzJWa0lEMDlJR1poYkhObENtVnVaQW9LYkc5allXd2dablZ1WTNScGIyNGdZV04wYVc5dUtDa0tJQ0FnSUcxeExtTnRaQ2duTDJ4MVlTQnlkVzRnVFUxaWNuVjBaU2NwQ21WdVpBb0tjbVYwZFhKdUlIdGpiMjVrWm5WdVl6MWpiMjVrYVhScGIyNHNJR0ZqZEdsdmJtWjFibU05WVdOMGFXOXVmUT09IiwKIFsiY2F0ZWdvcnkiXSA9ICJncmluZCIsCn0=
Pull harder then :P Or double check your cast settings aren't set something to like nukemanamin 80 :PNone of my casters ever drop below 80 percent mana in group combat even with always burn enabled.
I may have to just do I don't feel left out. My Druid doesn't even have mana problems. My FTP Druid. I'm serious.Pull harder then :P Or double check your cast settings aren't set something to like nukemanamin 80 :P
Then they are underperforming what they are capable of or you are pulling 1 mob and have downtime between mobs. There's no way if those toons are pushing they are staying at 80%+ mana indeffinently.I may have to just do I don't feel left out. My Druid doesn't even have mana problems. My FTP Druid. I'm serious.
I can't make the mobs come any faster in the missions. I'm killing as fast as I can. Maybe my ridiculous overcompensating for Mana Regen has something to do with it. I know you'll say it doesn't. But if you took my toons for a spin you would be surprised at how well they retain Mana.Then they are underperforming what they are capable of or you are pulling 1 mob and have downtime between mobs. There's no way if those toons are pushing they are staying at 80%+ mana indeffinently.
Are you talking going through one mission and then dropping and medding or are you talking grind?I can't make the mobs come any faster in the missions. I'm killing as fast as I can. Maybe my ridiculous overcompensating for Mana Regen has something to do with it. I know you'll say it doesn't. But if you took my toons for a spin you would be surprised at how well they retain Mana.
@RobRenfro my mages ftp or normal are usually tapped for mana no matter what…you need to nuke, pet swarm, and of many spell line constantly. You also need to learn to pull swarms (3+) mobs per pull so theres always something waiting to be hit and to fully utilize your enc or bard fully and to reduce downtime.I can't make the mobs come any faster in the missions. I'm killing as fast as I can. Maybe my ridiculous overcompensating for Mana Regen has something to do with it. I know you'll say it doesn't. But if you took my toons for a spin you would be surprised at how well they retain Mana.
What do rezzers have to do with anything? Modern tanks even with auto as long as they are geared/aad for the content you are in can handle 3+ no mezI don't have 3 rezzers in my primary group because I under pull and at least 2 in every other group.