Hi there kickmydog;
First off I want to say thanks for your awesome profiles, I primarily play MM right now and pull great numbers.
One question I had (and sorry if this has already been answered), is if you have any desire to create a PQI config? Would be so much easier to reconfigure all the hot keys when you release a new version.
I had a couple suggestions for additions you might be interested in, as I was playing my WW Monk using Cuteone's profile I noticed the integrated interrupt which I really liked. After taking a look at how he accomplished it, I found one function that I really liked, and UnitCastingInfo("target") to see if the spell is interrupt-able. I think took it one more step to use Scatter Shot if Silencing shot is on CD (this is in the MM profile). I added the Check function to your --Functions section, then created a new ability called interrupts with this:
Code:
if UnitLevel("player") >= 32 then
if select(9,UnitCastingInfo("target")) == false then
if check("34490") then
CastSpellByName(GetSpellInfo("34490"),"target")
elseif check("19503") then
CastSpellByName(GetSpellInfo("19503"),"target")
end
end
end
I was thinking of making 2 interrupt abilities, one with this for overall interrupting, then another that can be swapped out to only interrupt healing abilities to give some manual control over how the interrupts are used. With a Warforged assurance of consequence, silencing shot is at 16.6 second cd, so I don't mind letting it just go. I know this could be done just as easily without the Check function, but I found it to be a nice all inclusive function that seemed like it could be used across the board.
I was also noticing in a timeles isle rep farm group where it was just a few dps and a healer, that misdirect wasn't going off, I haven't tried this yet, but thought that this change might work to MS to pet in that situation?
Code:
if UnitIsPlayer("target") == 1 then return false end
local hastank = false
local InParty = GetNumGroupMembers()
if InParty == 0
and UnitExists("pet")
and UnitThreatSituation("pet","target") ~= 3
then CastSpellByName(GetSpellInfo(34477),"pet") else
local groupType = IsInRaid()
and "raid"
or "party"
for i=1, InParty do
local member = groupType..i
if UnitGroupRolesAssigned(member) == "TANK" then hastank = true end
if UnitGroupRolesAssigned(member) == "TANK" and check("34477")
and UnitThreatSituation(member,"target") ~= 3 then
CastSpellByName(GetSpellInfo(34477),member)
end
end
end
if hastank == false and UnitThreatSituation("pet","target") ~= 3 then
CastSpellByName(GetSpellInfo(34477),"pet")
end