* Designed for raiding at heroic level (I'm an experienced, high ranking sub rogue) Automatic use of Shadow Dance, Vanish and Preparation. "Pooling" for Shadow Dance to enable each CD usage is optimized efficently. Support for spinning mobs / bosses and heavy movement fights. When Backstab isn't available it will resort to Hemorrhage. Hemorrhage usage in front of the boss maintains high energy levels so that you the second you're back behind your target you're ready to burn energy / finishers (also useful if about to jump into a Shadow Dance) rather than using Hemo at 28 energy and then suddenly not being able to Backstab, eviscerate or jump into a vanish/shadow dance. Marked for Death is supported. If you wish to use this you need to enable it in my profile settings and take the talent. It will basically just be used on CD. I am considering changing ("improving") this for any serious MFD users. Since the bot can't refresh or detect buffs dropping like SND I was thinking about the idea of having MFD used on cooldown when SND drops so it's instantly back up without delay. Obviously this comes with the cost of losing x amount of MFD over a fight but will keep your rotation pretty consistent. Optional CD Support: Best I could do here was to put a boss level restriction on Shadow Blades and Vanish. If you choose to use vanish manually on trash remember only to use it when Shadow Dance is on Cooldown. As long as you do that the profile will operate properly. If you do accidentally do that it won't break the profile it will just essentially do nothing for the duration of your vanish, so you want to avoid that. Weaves Garrote in appropriately (pull and rare occasions rupture drops - this may change slightly once the rest of the profile is perfected).
It's already pulling some superb numbers on a dummy for my first release and I have tested this extensively on dummies and various raid bosses.
Bugs / Known Issues
1 - Potentially fixed - unsure. It is rare but if you stare at your buffs whilst the rotation is underway you will notice the odd 1 CP rupture goes off and I have absolutely no idea why, it definitely isn't my doing - I can only assume the system procs HAT (honor amongst thievs) before the bot realises and it attempts to use a 5 CP only to throw off a 1 CP. Once I have a little more time I will attempt to pick this out, perhaps there's a way I can put a delay at the problematic time. If it appears to be random then I doubt I'll ever fix it.
2 - AOE: These are in the profile but set to false by default in the settings. Reasoning is I can't get them to work - until I can work out why or perhaps Droidz works out why then these may likely stay off full time. It isn't really a big deal since you rarely AOE as sub anyway, it probably just means you'd lose top 20 ranks where AOE can be used -shrug-
3 - Immerseus: Rotation stops inbetween Immerseus emerging. Unsure of the cause.
Bugs Fixed Issue: Bot would seemingly not know the difference between in front and behind at times on almost all targets. - Massive Fix (see change log below). Issue: Rupture drops which isn't the end of the world. SND drops as well which is quite a big deal, but at the moment both bot restrictions and my own know how stop me fixing this. See the MFD * above for a possible workaround. Fix: Implemented Anticipation throughout my profile. For MFD users I will change it in the next release so it saves MFD for circumstances where rupture / snd may drop. Issue: Shadow Dance and Vanish butchering each other due to 'Is Spell Usable' checks on standard rotation abilities. Fix: Best workaround I could come up with (also see 'CD 1.2: Vanish' change / fix) was to change how the conditions affected one another whilst lowering the amount of energy needed for vanish. While not absolutely ideal, Wrobot seems to overshoot the energy amounts you set drastically sometimes so this seems to work out well. I'm currently sitting at 275/285k sustained on a dummy. I have 0 buffs (no food or flask) and I have an ilvl of 578. Issue: "pooling" all abilities for SD / Vanish results in delayed abilities during opener and any subsequent SD or Vanish where the other is also available as the bot thinks it has to pool. Fix: Various condition changes / workarounds. Issue: CD 1.2: Vanish. You may struggle making use of vanish with my profile if you are in poor gear with shit haste levels. At the moment I don't have a fix for that other than to disable Vanish and use it manually although I don't recommend this because the way I have designed my profile means that if you use it when Shadow Dance is available (not in use) you'll waste an entire Vanish and nothing will cast whatsoever. The reason for this is due to bot restrictions, it doesn't have the flow that PQR allowed in regards to refreshing below specified times / coding actual pooling etc. Fix: Lowered the energy requirement to account for lower gear levels whilst still managing to get out 1-2 Ambush. Wrobot reacts slowly to energy conditions which caused it to require something in the region of 80-100 energy to even trigger previously.
Want To Help?
Please report any 'bugs' or anything you see that is off. There are tiny errors I have noticed but I know the spec inside out and have obtained top 20 ranks manually so if you're just picking this up and want something that performs reasonably well out the box then this is for you and you may not notice anything wrong.
I'm constantly spending the odd hour here and there in my spare time trying to tweak / think of ways to improve this so if you have any great ideas or workarounds feel free to let me know and I will update it asap.
each one only has 'is spell usable' set to either
shadow dance or vanish.
?????????????????????????
other:
Need to incorporate Garrote properly
Check Eviscerate conditions.
Can't seem to have 2 target buff checks set as true
i.e. rupture / garrote
ATTEMPT 2 versions of eviscerate - identical conditions aside from variation in 'target buff' - WORKING.
ATTEMPT eviscerate 0 target buffs, low priority.
maybe it will spam 5 cp finishers when nothing else
is left to do
/////////////////
Problem:
Ambush is being spammed with no use of finishers.
/////////////////
Idea of refreshing 5 CP snd and 5 CP rupture before Shadow Dance.
Try copies of both rupture and snd - 5 cp condition, run once - when shadow dance is available?
///////////////////////// == SAME ISSUES REGARDING VANISH POOLING.
when garrote is up during shadow dance it doesn't eviscerate. - fixed
shadow dance is butchered by vanish and vice versa.
need to look into disabling vanish pooling and making this manual usage advising high energy use.
need to enable full rotation use during vanish though.
REMEMBER ambush doesnt pool hence why that spams but eviscerate stops.
///////////////////////// == SAME ISSUES REGARDING VANISH POOLING.
///
IMPLEMENTING AOE
4, 5 OR 6 ENEMIES = REPLACE EVISCERATE WITH CRIMSON TEMPEST
7 OR MORE = FOK + CRIMSON TEMPEST
TO FIX
AOE
HEMO INFRONT HAS BEEN LOST
REDIRECT
VANISH / SD BUTCHERING TO FIX
///
1 - reduced vanish energy from 59 to 39
2 - changed spell usable on canish condition of SD to false from true
3 - added sd condition = vanish set to false
4 - added 4 abilities: hemo, snd, rupture, evisc - all these have a purpose
of not idling when faced with the dire situation of an enemy facing you: -
- All are set to have anticipation buff stack checks.
- Snd will always go up at the first 5 stack followed by rupture then eviscerate (only if the first 2 are up).
- This version of hemo has an energy check of only casting when energy is higher than 64
5 - added the backstab c sharp code to both shadow dance and vanish to accomodate for point 4
6 - removed high priority hemo, snd, rupture as they caused issues with the above 2 points (4, 5)
///
7 - low rotation prio set aren't casting finishers
///
8 - TESTING SLEIGHT OF HAND 4 SET T16 PROC CONDITIONS - seem to be fine
9 - TESTING REDIRECT
10 - removed redirect for now, too problematic.
11 - got 180 degrees checks for infront behind on ambush, backstab, hemo and sd/vanish cds.
//////////
NEED TO TEST IN RAIDS. IRON OUT RANDOM ROTATION STOPS AND FIX AOE.
ID MACRO: /run for i=1,200000 do local f=FindSpellBookSlotBySpellID(i,"spell") if f then local n,id=GetSpellBookItemName(f,"spell"),select(2,GetSpellBookItemInfo(f,"spell")) local s=GetSpellInfo(id) s=n==s and " " or "\124cFF4FF763"..s print(id,n,s) end end
////////
RUPTURE
ret = 0;
local nameSpell = GetSpellInfo(1943);
if (not nameSpell) then return; end
local name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId = UnitDebuff("target", nameSpell);
if (not expirationTime) then return; end
local expireTimeLeft = expirationTime-GetTime();
if expireTimeLeft <= 6 then ret = 1 end
WORKS
ret = 1;
local nameSpell = GetSpellInfo(1943);
if (not nameSpell) then return; end
local name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId = UnitDebuff("target", nameSpell);
if (not expirationTime) then return; end
local expireTimeLeft = expirationTime-GetTime();
if unitCaster ~= "player" then return end
if expireTimeLeft > 6 then ret = 0 end
///
snd
local nameSpell = GetSpellInfo(5171);
local name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId = UnitBuff("player", nameSpell);
local expireTimeLeft = expirationTime-GetTime();
ret = 0;
if expireTimeLeft <= 6 then ret = 1 end
WORKS
ret=1;
local nameSpell = GetSpellInfo(5171);
if (not nameSpell) then return; end
local name, rank, icon, count, debuffType, duration, expirationTime, unitCaster, isStealable, shouldConsolidate, spellId = UnitBuff("player", nameSpell);
if (not expirationTime) then return; end
local expireTimeLeft = expirationTime-GetTime();
if expireTimeLeft > 6 then ret = 0 end