With the release of the amazing tool WoWLuaEnabler by Kynox-- http://www.mmowned.com/forums/bots-p...a-enabler.html we can now execute commands blocked by Blizzard as CastSpellbyName(Spell). So why dont use it as bot to optimizate our dps. I will post only my findings of Feral druid Cat.
With cat we have to do the following steps to maximize our dps:
・Glyph Mangle + Rip
Normal Cycle
Faerie Fire always
1. Omen of Clarity-->Shred
2. Mangle and Rake always dot-->Mangle or Rake
3. 40 energy-->Tiger Fury
4. Mangle and Rake active-->Shred
Finishers
1. Omen of Clarity and 5 points --> Ferocious Bit
2. Savage Roar(SR) inactive-->Savage Roar (at least 2cp)
3. SR active-->Rip with 5cp
4. SR+Rip active and time of rip>5 -->Ferocious Bite
5. Rip<5-->Rip or shred
so we are using macrosequence to do many checks and break the 255 char barrier-> http://www.wowinterface.com/download...-MacroSequence
unzip the file to your wow directory\Interface\Addons and edit the sequences.lua to the following:
Code:
Faeriefirecat = {
[[
/run if not UnitDebuff("target","Faerie Fire (feral)") or UnitDebuff("target","Faerie Fire") then CastSpellByName("Faerie Fire (Feral)(Rank 6)") end
]],
},
Catdps1 = {
[[
/run if UnitBuff("Player","Clearcasting") and GetComboPoints("player")==5 then CastSpellByName("Ferocious Bite(Rank 8)") else if UnitBuff("Player","Clearcasting") then CastSpellByName("Shred(Rank 9)") end end
/run if UnitHealth("target")<=15000 and GetComboPoints("player")>=4 then CastSpellByName("Ferocious Bite(Rank 8)") end
/run if UnitPower("player")<=40 then CastSpellByName("Tiger's Fury(Rank 6)") end
]],
},
Catdps2 = {
[[
/run if GetComboPoints("player")>=2 then if not UnitBuff("Player","Savage Roar") then CastSpellByName("Savage Roar") end end
/run local name,a,b,c,d,e,f,mine=UnitDebuff("Target","Rip") if GetComboPoints("player")==5 then if UnitDebuff("Target","Rip") and mine==1 and (-1*(GetTime()-f))>4 then CastSpellByName("Ferocious Bite(Rank 8)") else CastSpellByName("Rip(Rank 9)") end end
/run local name,a,b,c,d,e,f,mine=UnitDebuff("target","Rake") if UnitDebuff("target","Mangle - Cat") then if UnitDebuff("target","Rake") and mine ==1 then CastSpellByName("Shred(Rank 9)") else CastSpellByName("Rake(Rank 7)") end else CastSpellByName("Mangle - Cat(Rank 5)") end
]],
},
time to create one macro with:
/startattack
/click Faeriefirecat
/click Catdps1
/click Catdps2
the motive i divide the script into Catdps1 and Catdps2 is because macrosequence has a bug with more of 4 line of code.
Finishing, if you are really lazy(as me)use the following autoit script to do multi keypress of button 1
Code:
;
; AutoHotkey Version: 1.x
; Language: English
; Platform: Win9x/NT
; Author: A.N.Other <[email protected]>
;
; Script Function:
; Template script (you can customize this template by editing "ShellNew\Template.ahk" in your Windows folder)
;
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
#ifWinActive World of Warcraft
{
$1::
Loop
{
if not GetKeyState("1", "P")
break
Send 1
sleep 1
}
return
}
have fun