well ive got FnB working sometimes but im not great with lua so i dont know how to fix the errors ive got :/
well ive got FnB working sometimes but im not great with lua so i dont know how to fix the errors ive got :/
Mav check your inbox lol.
Feel free to add me on Skype guys.
Blaythe.o
Blaythes Destruction Warlock
https://goo.gl/vUUhW
Ok so here is my 'fix' that works but isnt optimal so ill post the code and you guys can fix the issuesit works perfectly for me escept for what ill mention below
The trick was not to have separate abilities as FnB isn't on a GCD so it doesnt matter where you put it, its instant activate
So here is my modified Immolate Ability code
and my modified Incinerate codeCode:local CurrentCast = UnitCastingInfo("player") local Immolate,_,_,_,_,_,Immolatetimer = UnitDebuffID("target",348,"PLAYER") local ImmolateAoE,_,_,_,_,_,ImmolateAoEtimer = UnitDebuffID("target",134972,"PLAYER") if not IsPlayerSpell(137587) then if PQR_IsMoving(0.3) then return false end end if CurrentCast == "Immolate" then return false end if not PQ_Zaslon then if Immolate == nil then CastSpellByName(tostring(GetSpellInfo(348))) return true end if Immolatetimer - GetTime() < 5 then CastSpellByName(tostring(GetSpellInfo(348))) return true end end if PQ_Zaslon then if (ImmolateAoE == nil) then CastSpellByName(tostring(GetSpellInfo(108683))) CastSpellByName(tostring(GetSpellInfo(108686))) return true end if (ImmolateAoEtimer - GetTime()) < 5 then CastSpellByName(tostring(GetSpellInfo(108683))) CastSpellByName(tostring(GetSpellInfo(108686))) return true end end
Now the issues that need fixingCode:local Brimstone = UnitBuffID("player", 108683) local DarkSoul = UnitBuffID("player", 113858) local Backdraft,_,_,Stacks = UnitBuffID("player",117896) local ImmolateAoE,_,_,_,_,_,ImmolateAoEtimer = UnitDebuffID("target",134972,"PLAYER") local CurrentCast = UnitCastingInfo("player") if not IsPlayerSpell(137587) then if PQR_IsMoving(0.3) then return false end end if CurrentCast == "Incinerate" then return false end if PQ_Zaslon then -- if (ImmolateAoEtimer - GetTime()) > 10 then CastSpellByName(tostring(GetSpellInfo(108683))) CastSpellByName(tostring(GetSpellInfo(PQ_Incinerate))) return true -- end end if not PQ_Zaslon then if not DarkSoul then CastSpellByName(tostring(GetSpellInfo(PQ_Incinerate))) return true end end if not PQ_Zaslon then if Backdraft ~= nil then if DarkSoul and Stacks > 2 then CastSpellByName(tostring(GetSpellInfo(PQ_Incinerate))) return true end end
Immolate - needs a check so that if you have less than 1 ember it doesnt cast. I tried this
but it throws lua errors at me and im not a good coderCode:if (ImmolateAoE == nil) and PQ_Soulshard >1 then CastSpellByName(tostring(GetSpellInfo(108683))) CastSpellByName(tostring(GetSpellInfo(108686))) return true end
Also i think a minor delay in cast after Fire and Brimstone before immolate would be good
incinerate - So this works but needs an additional logic check, and again it thorws lua errors at me, you can see the bit i commented out in the main code section above but basically you want it to only FnB Incinerate if Immolate has >10 s left on it so you have enough time to build up another ember to reapply immolate. I added the immolate timer check in to account for this
The code works and it checks the time, but I get an unexplained pause in the rotation sometimes, no lua errors just a pause so hopefully you can fix it
hopefully this helps you out, ive been toying with it for a couple of hours now and this implementation works, it just needs someone smarter than me to fix the bugs![]()
The excessive amount of spell spamming click sound is super annoying, Can you change it so it doesn't spam the entire time a spell is casting ???
Also a LUA Bug : Happens when I mouse over any target.
Code:Message: [string "---------------------------START-----------..."]:667: attempt to index global 'DebugFrame' (a nil value)Time: 03/30/13 11:32:04 Count: 3 Stack: [string "---------------------------START-----------..."]:667: in function `?' [string "---------------------------START-----------..."]:771: in function <[string "---------------------------START-----------..."]:771> Locals: self = <unnamed> { 0 = <userdata> } npcid = 46647 (*temporary) = nil (*temporary) = 16 (*temporary) = 46647 (*temporary) = -9 (*temporary) = "B637" (*temporary) = nil (*temporary) = nil (*temporary) = "attempt to index global 'DebugFrame' (a nil value)"
Last edited by deathndecay; 03-30-2013 at 01:33 PM.
are you using the latest version ? used to do it for me but not anymore, make sure to update from within PQR
also go into options -> sounds -> and disable error sounds in the menu in wow
Yup still does it, I dont want the program to spam the spells like that either... Im sure blizzard would have something that would detect spells being spammed excessively like that....
Seems like something isn't commented correctly.
Code:125x <string>:"---------------------------START-----------...":667: attempt to index global "DebugFrame" (a nil value)<string>:"---------------------------START-----------...":667: in function "?" <string>:"---------------------------START-----------...":771: in function <string>:"---------------------------START-----------...":771 Locals: self = <unnamed> { 0 = <userdata> } event = "UPDATE_MOUSEOVER_UNIT" events = <table> { MODIFIER_STATE_CHANGED = <func> ---------------------------START-------------------------- --Implement PQR_resumeAttack.. this is used to prevent --abilities lower in the rotation from being cast. if PQR_resumeAttack == nil then PQR_resumeAttack = 0 elseif PQR_resumeAttack > GetTime() then return true else PQR_resumeAttack = 0 end --IMPORTANT: Change this if you have any cleaves that would do damage to a secondary target --as part of your single target rotation. Better to be safe than sorry! --Used for : Spirit Kings local cleaveClass = false local isAOE = strmatch(strupper(PQR_RotationName), "AOE") --checks if we are in AOE mode. for i=1,4 do local bossCheck = "boss"..i if UnitExists(bossCheck) then --------Wind Lord Checks-------- local BossName = UnitName(bossCheck) if BossName == "Wind Lord Mel'jarak" then if UnitIsDead(bossCheck) then focuscast = true UPDATE_MOUSEOVER_UNIT = <func> ---------------------------START-------------------------- --Implement PQR_resumeAttack.. this is used to prevent --abilities lower in the rotation from being cast. if PQR_resumeAttack == nil then PQR_resumeAttack = 0 elseif PQR_resumeAttack > GetTime() then return true else PQR_resumeAttack = 0 end --IMPORTANT: Change this if you have any cleaves that would do damage to a secondary target --as part of your single target rotation. Better to be safe than sorry! --Used for : Spirit Kings local cleaveClass = false local isAOE = strmatch(strupper(PQR_RotationName), "AOE") --checks if we are in AOE mode. for i=1,4 do local bossCheck = "boss"..i if UnitExists(bossCheck) then --------Wind Lord Checks-------- local BossName = UnitName(bossCheck) if BossName == "Wind Lord Mel'jarak" then if UnitIsDead(bossCheck) then focuscast = true s UNIT_POWER = <func> ---------------------------START-------------------------- --Implement PQR_resumeAttack.. this is used to prevent --abilities lower in the rotation from being cast. if PQR_resumeAttack == nil then PQR_resumeAttack = 0 elseif PQR_resumeAttack > GetTime() then return true else PQR_resumeAttack = 0 end --IMPORTANT: Change this if you have any cleaves that would do damage to a secondary target --as part of your single target rotation. Better to be safe than sorry! --Used for : Spirit Kings local cleaveClass = false local isAOE = strmatch(strupper(PQR_RotationName), "AOE") --checks if we are in AOE mode. for i=1,4 do local bossCheck = "boss"..i if UnitExists(bossCheck) then --------Wind Lord Checks-------- local BossName = UnitName(bossCheck) if BossName == "Wind Lord Mel'jarak" then if UnitIsDead(bossCheck) then focuscast = true spearcheck = PLAYER_CONTROL_LOST = <func> ---------------------------START-------------------------- --Implement PQR_resumeAttack.. this is used to prevent --abilities lower in the rotation from being cast. if PQR_resumeAttack == nil then PQR_resumeAttack = 0 elseif PQR_resumeAttack > GetTime() then return true else PQR_resumeAttack = 0 end --IMPORTANT: Change this if you have any cleaves that would do damage to a secondary target --as part of your single target rotation. Better to be safe than sorry! --Used for : Spirit Kings local cleaveClass = false local isAOE = strmatch(strupper(PQR_RotationName), "AOE") --checks if we are in AOE mode. for i=1,4 do local bossCheck = "boss"..i if UnitExists(bossCheck) then --------Wind Lord Checks-------- local BossName = UnitName(bossCheck) if BossName == "Wind Lord M
Last edited by deathndecay; 03-30-2013 at 01:50 PM.
Sec. Gonna update a different version. As for the spamming ,waht is your ability delay set to inside of PQR?
Blaythes Destruction Warlock
https://goo.gl/vUUhW
Ability Check Delay : 50ms
- Now heading to work, I will continue to post via mobile phone
By the way, good work on the profile, I was able to achieve 2.2k more dps with your profile vs my human hand rotation.
I will be here single handily helping you comb out the bugs in your rotation. I just came back to wow with the intention of playing only my warlock.
Last edited by deathndecay; 03-30-2013 at 01:54 PM.
OP updated with new information. Still waiting on feedback.
As for the sound thing, I'm really not sure. I don't have that issue.![]()
Blaythes Destruction Warlock
https://goo.gl/vUUhW
Fresh install and I have a brain, don't think it's me
I think it might be you or a conflict with some addon you're using, it works great for me after i disabled error sounds
I like the old FnB.. it wasnt perfect but it did work sometimes lol
Hmm, for some reason this new update keeps spamming incinerate even with less than 3 stacks of back draft and only chaos bolts for me if I pop dark soul. I wonder if some people are having problems due to having other warlock profiles as well. Their data files where very similar and caused conflicts.
Last edited by Captncrunch; 03-30-2013 at 05:50 PM.
Thats been happening for me too. it waits till all stacks are gone
Has nothing to do with any other mods on, still happens with only PQI