Umber Macro Rogue

View previous topic View next topic Go down

Umber Macro Rogue

Post by Umber on Tue 16 Mar 2010, 5:46 am

LINK TO ROGUE MACROS FOR 2.0 (v2) THREAD:

Macro’s Made Easy; A Rogue’s Guide
Yeah, every other class has a dedicated Macro thread except Rogues. Why is that? We have needs too! So this will hopefully get stickied for future reference. I am by no means a Macro Expert – most of the info here has been culled from other sources (the origins of which I don’t recall), and this is definitely not a complete do-it-all page. There is a lot of redundant info here that can be found in the other various forums or threads. The idea is that my Stealthy Bruthahs and Sistahs won’t have to hunt around to find macro info. Hopefully you will find this useful. Please feel free to add in your favorite macros, or variations that you use.

Ok, Now For Some Macro Basics…

Want to use an item in one of your bags? For example; UseContainerItem(x,y), where x is the bagslot, and y is the itemslot.
X = Bags; [4][3][2][1][0]. They count from 4 to 0, LEFT to RIGHT. 0 is your backpack.
Y = Slots inside the bag count, from top left to bottom right;

[1] [2] [3] [4]
[5] [6] [7] [8]
[9] [10][11][12]
[13][14][15][16]
NOTE: Do NOT use any “UseContainerItem” script with a vendor screen open. You will automatically sell all the items, all at once.

Want to do something with an item that you have equipped? For example; UseInventoryItem(#) or PickupInventoryItem(#).
Inventory / Equipped Item Slots:
0 = ammo
1 = head
2 = neck
3 = shoulder
4 = shirt
5 = chest
6 = belt
7 = legs
8 = feet
9 = wrist
10 = gloves
11 = finger 1
12 = finger 2
13 = trinket 1 (top)
14 = trinket 2 (bottom)
15 = back
16 = main hand
17 = off hand
18 = ranged
19 = tabard
20 = first bag (the rightmost one)
21 = second bag
22 = third bag
23 = fourth bag (the leftmost one)
Want to use a particular action on an Action-Bar? For example; UseAction(#), or GetActionCooldown(#), or IsUsableAction(#).
Here are the Actionbar numbers (1-6), and their associated Slot numbers:
1: 1 2 3 4 5 6 7 8 9 10 11 12
2: 13 14 15 16 17 18 19 20 21 22 23 24
3: 25 26 27 28 29 30 31 32 33 34 35 36
4: 37 38 39 40 41 42 43 44 45 46 47 48
5: 49 50 51 52 53 54 55 56 57 58 59 60
6: 61 62 63 64 65 66 67 68 69 70 71 72
Yeah yeah, that’s great, but how do I make a string of spells / abilities fire from the same click or button press? Well, you are limited by Global Cooldowns. So you can string together as many as you want if they have NO global cooldown, and then at the end you can put in ONE that DOES have the global cooldown. For example;
/cast Spell WITHOUT Global Cooldown
/script SpellStopCasting()
/cast Spell WITHOUT Global Cooldown
/script SpellStopCasting()
/cast Spell WITH Global Cooldown


Code-Shrinking Basics…
See the above link for the full scoop, but for basics; assign variables to anything that that is repeated more than once inside your macro. Also note that the Rank of the spell is no longer required - the highest Rank that is available to you is automatically used. Semi-colons are not necessary – you can use spaces, or use the “)” as you delimiter. Be sure to remove as many unnecessary spaces as you can – they count against your text limit of 255 characters. One more thing; “/run” and “/script” are the same, except /run is shorter…

For example, this string has 184 characters…

/script if (GetComboPoints()>=5) and UnitMana(“Player”)>=45 then CastSpellByName(“Eviscerate(Rank8)”);end
/script if UnitMana(“Player”)>=35 CastSpellByName("Sinister Strike(Rank8)");end
But can be shortened easily with…

/script C=CastSpellByName;U=UnitMana(“Player”);if (GetComboPoints()>=5) and U>=45 then C("Eviscerate");end;if U>=35 C("Sinister Strike");end
That gets us down to 140 words. But, even better, if we are gonna be spamming SS anyhow, who cares how much energy we have? Lets make it shorter…

/run C=CastSpellByName;if (GetComboPoints()>=5) then C("Eviscerate") else C("Sinister Strike");end
“Yeah Lir, but who cares if it’s down to 98 characters? What am I gonna do with the other 157 characters?” Well, now you can throw in more specifics for your macro and tailor it to your needs. Want some instant energy via ThistleTea, or some Riposte or Cold Blood action? Now you have room…

/run C=CastSpellByName;G=GetComboPoints()if IsUsableAction(5)then C("Riposte")end;if G>=5 or UnitHealth(“Target”)/UnitHealthMax(“Target”)<.2 and G>=2 then C(“Eviscerate”)else C("Sinister Strike")end
So now we have a squeezed macro that will automatically fire off Riposte when it can, and will Evis when we get 5 CPs or if the target’s health is below 20% and we have 2 or more CP’s on it. Otherwise it will just spam SS until another condition is met. All that in 198 characters! Heck, you could probably squeeze in a “use potion if low on health” string if we wanted to…

Ok Lir, Stop Screwing Around and Lets See The Good Stuff…

MASHABLE STEALTH MACRO:
This macro allows you to mash the stealth button without de-stealthing yourself.

/run local _,_,active,castable=GetShapeshiftFormInfo(1)if not active and castable then CastShapeshiftForm(1)end
MASHABLE SHADOWMELD MACRO:
A little more complex since Shadowmeld doesn't use the ShapeshiftForm API. It works by scanning your buffline for Shadowmeld and casting it if it is not present.

/run local i=0 local s while 1 do local b=GetPlayerBuff(i)if b<0 then break end GameTooltip:SetPlayerBuff(b)if getglobal("GameTooltipTextLeft1")GetText()=="Shadowmeld" then s=1 end i=i+1 end if not s then CastSpellByName("Shadowmeld")end
STEALTH IF NOT IN COMBAT -> VANISH IF IN COMBAT
In theory, this one will allow you to mash for stealth. If you are NOT stealthed and NOT in combat then it should stealth you. If you ARE in combat then it should Vanish you. I think...

/run local _,_,active,castable=GetShapeshiftFormInfo(1)if not active and castable then CastShapeshiftForm(1)else if PlayerFrame.inCombat then CastSpellByName(“Vanish”)end
GOUGE -> RE-STEALTH -> CHEAP SHOT

/run local _,_,active,castable=GetShapeshiftFormInfo(1)if not active and castable then CastShapeshiftForm(1)end
/cast Cheap Shot
/cast Gouge
If you can stealth, it will stealth then Cheap Shot the target. Otherwise it will cast Gouge, then you can spam it until Stealth becomes available and it will re-stealth you and fire off a Cheap Shot automatically. The restealth depends on you dropping out of combat, of course, so it may not always work since Gouge may end early depending on the level of your target.
Drawback with this one is that if you are charging an opponent you may drop into stealth and Gouge them if the range / timing isn’t quite right. I’ve found that it works to use 2 separate buttons; one for gouge, one for “stealth -> cheap shot”…

STEALTH (Spammable) -> CHEAP SHOT

/run local _,_,active,castable=GetShapeshiftFormInfo(1)if not active and castable then CastShapeshiftForm(1)end
/cast Cheap Shot
MOUNT / DISMOUNT / STEALTH MACRO:
This will activate your Mount on the first click – dismounting you if mounted, or mounting you if you are standing still (even if you are stealthed, thus breaking stealth). Once you are dismounted it will activate Stealth on the next click if you are moving. Generally, if you are riding at an opponent the first click will dismount you, the second click will stealth you so long as you keep moving. Specify your mount location for the “UseContainerItem(x,y)”.

/run UseContainerItem(x,y)
/run local _,_,active,castable=GetShapeshiftFormInfo(1)if not active and castable then CastShapeshiftForm(1)end

EXPOSE ARMOR MACROS:

EXPOSE ARMOR WITHOUT BREAKING GOUGE
This has been going around for a while now. Here is a good Forum Thread on the subject.

http://forums.worldofwarcraft.com/thread.html?topicId=28327783&sid=1

In summary, it shows a macro and steps to follow, but also includes a template for use with the Super Macro addon.

/cast Expose Armor
/run ClearTarget()
/run TargetLastTarget()
However, it seems that occasionally after EA is fired off an attack will still “sneak” in there. To prevent this, you should turn away from your target or try swapping weapons to stop the attack.

To add in a weapon swap to stop your attacks...

/cast Expose Armor
/run UseContainerItem(x,y)
/run ClearTarget()
/run TargetLastTarget()
In theory this will do your EA and immediately swap your weapon as well as clear your targets, which should stop your attack. To swap your weapon back, just hit this macro again. If you have no combo points it will say "unable to perform EA", but should still swap weapons...


WEAPON-SWAPS with AMBUSH or BACKSTAB…

AMBUSH: Hit it once to switch to a dagger (placed in the appropriate bag-slot), then spam it to cast Ambush as soon as it's ready. Replace “Hammer” with your main-hand weapon.

/run l=GetInventoryItemLink("player",16)n=string.find(l,"Hammer")if n then UseContainerItem(0,13)else CastSpellByName(“Ambush”)end
BACKSTAB: This will swap your weapon on first click, then cast Backstab AND swap weapon back on the second click.

/cast Backstab
/run UseContainerItem(x,y)
I find it easiest to use the above 2 together. After I do an Ambush, I can just hit my Backstab macro and it will swap my weapons back to normal, without the Backstab, of course. I also use the Equipped Macro Icon addon for these so that I can see exactly what I have equipped in my main hand after I fire off an ambush or a backstab.


OTHER AMBUSH / BACKSTAB MACROS:

If a Dagger is Equipped then Backstab, otherwise Sinister Strike:

/run C=CastSpellByName;l=GetInventoryItemLink("player",16)n=string.find(l,"Dagger")if n then C(“Backstab”)else C(“Sinister Strike”)end
AMBUSH IF STEALTHED -> BACKSTAB IF NOT

/run C=CastSpellByName;if string.find(GetShapeshiftFormInfo(1),"Invis")then C("Ambush")else C("Backstab")end
MASHABLE “ATTACK” -> BACKSTAB
This will auto-attack if the requirements for backstab are not met (60 Energy, behind the target) without toggling off the auto-attack.

/cast Backstab
/run if not UnitAffectingCombat("player")then CastSpellByName("Attack")end


SINISTER STRIKE -> EVISCERATE MACROS

SINISTER STRIKE -> EVISCERATE @ 5CPs or < 20% Health…

/run C=CastSpellByName;G=GetComboPoints()if G>=5 or UnitHealth("Target")/UnitHealthMax("Target")<.2 and G>=2 then C(“Eviscerate”)else C("Sinister Strike")end

AUTO-RIPOSTE MACROS:

SINISTER STRIKE -> EVISCERATE @ 5CPs or < 20% Health…With RIPOSTE:
Be sure to modify “IsUsableAction(##)” with the location of your Riposte button.

/run C=CastSpellByName;G=GetComboPoints()if IsUsableAction(##)then C("Riposte")end;if G>=5 or UnitHealth(“Target”)/UnitHealthMax(“Target”)<.2 and G>=2 then C(“Eviscerate”)else C("Sinister Strike")end
…With a RIPOSTE Cooldown Check:

/run C=CastSpellByName;G=GetComboPoints()if IsUsableAction(##)and GetActionCooldown(##)==0 then C("Riposte")end;if G>=5 or UnitHealth(“Target”)/UnitHealthMax(“Target”)<.2 and G>=2 then C(“Eviscerate”)else C("Sinister Strike")end
…With “In Combat” Check to Initiate Auto-Attack:

/run C=CastSpellByName;G=GetComboPoints()if not UnitAffectingCombat("player")then C("Attack")end;if IsUsableAction(##)then C("Riposte")end;if G>=5 or UnitHealth(“Target”)/UnitHealthMax(“Target”)<.2 and G>=2 then C(“Eviscerate”)else C("Sinister Strike")end

COLD BLOOD MACROS:
For these, Cold Blood MUST be on one of your action bars - although it doesn’t have to be the visible one. Replace the "##" with the action bar number for its location.

SINISTER STRIKE -> 5pt COLD BLOOD - EVISCERATE (or EVIS @ < 20% Health)
Will check for 5cp's and enough energy to cast Evis, then it will cast Cold Blood then Evis. Or, if the target is below 20% health it will cast Evis if you have 2 or more CP's. Otherwise it will just cast SS. Note; the “mana” check is there to make sure you will be able to pull off your Eviscerate in a timely manner. You may find that it is not actually needed…

/run C=CastSpellByName;G=GetComboPoints()if UnitMana("Player")>=35 and G>=5 then C("Cold Blood")end;if G>=5 or UnitHealth("Target")/UnitHealthMax("Target")<.2 and G>=2 then C(“Eviscerate”)else C("Sinister Strike")end
…With Cooldown Check on COLD BLOOD:
This one will check the cooldown on Cold Blood and cast if it can, otherwise it will cast Eviscerate. Replace the ## with your action bar slot.

/run C=CastSpellByName;G=GetComboPoints()if GetActionCooldown(##)==0 and G>=5 then C("Cold Blood")end;if G>=5 or UnitHealth("Target")/UnitHealthMax("Target")<.2 and G>=2 then C(“Eviscerate”)else C("Sinister Strike")end
COLD BLOOD or EVISCERATE
Check for cooldown on Cold Blood and casts it, or casts Eviscerate.

/run C=CastSpellByName;if GetActionCooldown(##)==0 then C("Cold Blood")else C(“Eviscerate”)end
5pt COLD BLOOD -> EVISCERATE
If you have 5 combo points this will activate Cold Blood on the first click if it is not on cooldown. The second click will fire off Eviscerate, unless Cold Blood IS on cooldown, in which case the first click will just do Eviscerate.

/run if GetActionCooldown(##)==0 and GetComboPoints()>=5 then CastSpellByName("Cold Blood")else C(“Eviscerate”)end

HEMORRHAGE MACROS:
Please note that these haven't been tested very thoroughly. It may be neccessary to change the name "Hemorrhage" to the actual Debuff icon name -> LifeDrain. Also note that I have changed "UnitBuff" to "UnitDebuff", as Hemorrhage is a debuff.

HEMORRHAGE DEBUFF CHECK -> REAPPLY HEMORRHAGE
Debuff loop to check all the filled debuff slots for Hemorrhage then cast Hemorrhage.

/run local C,z=CastSpellByName,0 for i=1,16 do x=UnitDebuff("target",i)if x and strfind(x,"LifeDrain")then z=1 end end if z==1 then C("Hemorrhage")end
HEMO -> SS
This will check all the debuff slots for Hemo and reapply it as you spam SS.

/run local C,z=CastSpellByName,0 for i=1,16 do x=UnitDebuff("target",i)if x and strfind(x,"LifeDrain")then z=1 end end if z==1 then C("Hemorrhage")else C("Sinister Strike")end
HEMO -> SS -> 5cp EVIS
This will check all the debuff slots for Hemo and reapply it as you spam SS. At 5cp’s it will Eviscerate.

/run local C,z=CastSpellByName,0 for i=1,16 do x=UnitDebuff("target",i)if x and strfind(x,"LifeDrain")then z=1 end end if z==1 then C("Hemorrhage")end;if GetComboPoints()>=5 then C(“Eviscerate”)else C(“Sinister Strike”)end
HEMO -> GHOSTLY STRIKE -> SS
This will check all the debuff slots for Hemo and reapply it as you spam SS. It will also fire off Ghostly Strike when able to.

/run local C,z=CastSpellByName,0 for i=1,16 do x=UnitDebuff("target",i)if x and strfind(x,"LifeDrain")then z=1 end end if z==1 then C("Hemorrhage")end;if GetActionCooldown(##)==0 and IsUsableAction(##)then C(“Ghostly Strike”)else C(“Sinister Strike”)end
CHEAP SHOT -> GHOSTLY STRIKE -> HEMO -> SS -> 5cp EVIS
This won’t check all the debuff slots for Hemo or Cheap Shot.

/run C=CastSpellByName;T=UnitDebuff("Target",i)if strfind(T,"Hemorrhage")~=nil then C(“Hemorrhage”)end;if strfind(T,"Cheap Shot")~=nil then C(“Ghostly Strike”)end;if GetComboPoints()>=5 then C(“Eviscerate”)else C("Sinister Strike")end
IF GHOSTLY STRIKE IS ON COOLDOWN, THEN HEMO:
Be sure to replace the "##" with the Slot of your Hemo on your action bar.

/run C=CastSpellByName;if GetActionCooldown(##)==0 then C(“Ghostly Strike”)else C(“Hemorrhage”)end
HEMO -> Ghostly Strike -> SS -> 5cp EVIS
This won’t check ALL the debuff slots for Hemo.

/run C=CastSpellByName;if strfind(UnitDebuff("Target",i),"Hemorrhage")~=nil)then C(“Hemorrhage”)end;if IsUsableAction(##)then C("Ghostly Strike")end;if GetComboPoints()>=5 then C(“Eviscerate”)else C("Sinister Strike")end
HEMO -> SS -> EVIS @ 5cp or < 20% Health:
This won’t check all the debuff slots for Hemo.

/run C=CastSpellByName;G=GetComboPoints()if strfind(UnitDebuff("Target",i),"Hemorrhage")~=nil)then C(“Hemorrhage”)end;if G>=5 or UnitHealth("Target")/UnitHealthMax("Target")<.2 and G>=2 then C(“Eviscerate”) else C("Sinister Strike")end

GHOSTLY STRIKE MACROS:
Please note that these haven't been tested very thoroughly. It may be neccessary to change the name "Cheap Shot" to the actual Debuff icon name -> CheapShot. Also note that I have changed "UnitBuff" to "UnitDebuff", as Hemorrhage is a debuff.

SINISTER STRIKE -> GHOSTLY STRIKE -> EVISCERATE @ 5CPs or < 20% Health
This checks that Ghostly Strike is finished cooldown then fires it off. Otherwise it spams SS to 5cp’s then Eviscerates – unless the target is below 20% health, in which case if there are 2 or more cp’s it will Evis.

/run C=CastSpellByName;G=GetComboPoints()if GetActionCooldown(##)==0 then C("Ghostly Strike")end;if G>=5 or UnitHealth(“Target”)/UnitHealthMax(“Target”)<.2 and G>=2 then C(“Eviscerate”)else C("Sinister Strike")end
…With “In Combat” Check to Initiate Auto-Attack:

/run C=CastSpellByName;G=GetComboPoints()T=”Target”;if not UnitAffectingCombat("player")then C("Attack")end;if GetActionCooldown(##)==0 then C("Ghostly Strike")end;if G>=5 then C(“Eviscerate”)else C("Sinister Strike")end
In theory, these macros will not SS if Ghostly Strike is done its cooldown, thus “saving up” energy until there is enough to use Ghostly Strike. Maybe.

CHEAP SHOT -> GHOSTLY STRIKE -> SS
Lead off with your Cheap Shot, then spam this macro. It will check all the debuff slots for Cheap Shot and when Cheap Shot fades from the target it will cast Ghostly Strike if able to. Otherwise it will spam SS.

/run local C,z=CastSpellByName,0 for i=1,16 do x=UnitDebuff("target",i)if x and strfind(x,"CheapShot")then z=1 end end if z==1 and GetActionCooldown(##)==0 and IsUsableAction(##)then C(“Ghostly Strike”)else C(“Sinister Strike”)end
HEMO -> GHOSTLY STRIKE -> SS
This will check all the debuff slots for Hemo and reapply it as you spam SS. It will also fire off Ghostly Strike when able to.

/run local C,z=CastSpellByName,0 for i=1,16 do x=UnitDebuff("target",i)if x and strfind(x,"LifeDrain")then z=1 end end if z==1 then C("Hemorrhage")end;if GetActionCooldown(##)==0 and IsUsableAction(##)then C(“Ghostly Strike”)else C(“Sinister Strike”)end
SLICE AND DICE MACROS:
These will generally spam SS until you get 5cps, then it will fire off Slice & Dice. If your targets health drops to a certain level it will switch to Eviscerate. You can change your Combo Point settings (G>=5) and Target Health settings (H>=.5) to your tastes.

Please note that I have not fully tested all of these. Provide feedback if you find problems and / or fixes.

SLICE AND DICE FOREVER!
This will cast Slice and Dice if you do not already have it running and have at least 1 combo point. Otherwise, it will spam Sinister Strike.

/run local C,z=CastSpellByName,0 for i=1,16 do x=UnitBuff("player",i)if x and strfind(x,"SliceDice")then z=1 end end if z==1 then C("Sinister Strike")elseif GetComboPoints()>=0 then C("Slice and Dice")end
SS -> 5pt SnD -> @<50% = 5pt Evis

/run C=CastSpellByName;G=GetComboPoints()H=UnitHealth("Target")/UnitHealthMax("Target")if H>.5 and G>=5 then C(“Slice and Dice”)elseif H<=.5 and G>=5 then C(“Eviscerate”)else C(“Sinister Strike”)end
SS -> 5pt SnD -> @<50% = 5pt Evis -> @<20% = 2+pt Evis

/run C=CastSpellByName;G=GetComboPoints()H=UnitHealth("Target")/UnitHealthMax("Target")if H>.5 and G>=5 then C(“Slice and Dice”)elseif H<=.5 and G>=5 or H<=.2 and G>=2 then C(“Eviscerate”)else C(“Sinister Strike”)end
Auto-Riposte -> SS -> 5pt SnD -> @<50% = 5pt Evis
Be sure to change the ## for your Riposte.

/run C=CastSpellByName;G=GetComboPoints()H=UnitHealth("Target")/UnitHealthMax("Target")if IsUsableAction(##)then C("Riposte")end;if H>.5 and G>=5 then C(“Slice and Dice”)elseif H<=.5 and G>=5 then C(“Eviscerate”)else C(“Sinister Strike”)end
“In Combat” Check -> SS -> 5pt SnD -> @<50% = 5pt Evis

/run C=CastSpellByName;G=GetComboPoints()H=UnitHealth("Target")/UnitHealthMax("Target")if not UnitAffectingCombat("player")then C("Attack")end;if H>.5 and G>=5 then C(“Slice and Dice”)elseif H<=.5 and G>=5 then C(“Eviscerate”)else C(“Sinister Strike”)end

“I WANNA KILL!” MACROS:

WHIRLWIND OF DEATH…
Evasion -> Blade Flurry -> Adrenalin Rush -> Sinister Strike -> Riposte -> Eviscerate…
You can reorder the Eva/BF/AR based on how you want to start your combat, and delete the Riposte string if you don’t have Riposte.

/cast Blade Flurry
/cast Evasion
/cast Adrenaline Rush
/run C=CastSpellByName;G=GetComboPoints()if IsUsableAction(5)then C("Riposte")end;if G>=5 or UnitHealth("Target")/UnitHealthMax("Target")<.2 and G>=2 then C("Eviscerate")else C("Sinister Strike")end
PREMEDITATION -> CHEAP SHOT:
This will check if you are in combat, then cast Premeditation on the first click and Cheap Shot the target on the second click.

/run if (not PlayerFrame.inCombat) then CastSpellByName("Premeditation");
/cast Cheap Shot

STUN-LOCK FTW!
Please note, this one is very rough and seems a bit twitchy, so use caution with your spamming.

CHEAP SHOT -> GOUGE -> KIDNEY SHOT -> SS
Lead off with your Cheap Shot, then spam this macro. It will check all the debuff slots for Cheap Shot and when Cheap Shot fades from the target it will cast Gouge. Once Gouge lands be patient and watch your Stun Timer (a must-have addon). When Gouge is about up or your energy is back to 100%, hit this macro again and if you have 3 or more CP’s it will Kidney Shot, then spam SS. I recommend using this for openers then switch to a SS -> Evis macro.

[/run local C,z=CastSpellByName,0 for i=1,16 do x=UnitDebuff("target",i)if x and strfind(x,"CheapShot")then z=1 end end if z==1 then C(“Gouge”)end;if G>=3 then C(“Kidney Shot”)else C(“Sinister Strike”)end

This will see if the “Renataki” trinket is equipped and check that it is not on cooldown, then use it. Otherwise it will drink the Tea. You can change the Trinket slot you are using (13 is top, 14 is bottom), and define the location of your ThistleTea in the “UseContainerItem” slots. Also, specify some part of the trinket name ("Renataki” trinket in the case of this question) – you may need to fiddle with the name a bit so it works properly.

/run C=CastSpellByName;i=GetInventoryItemLink("player",13)n=strfind(i,"Renataki")if n==1 and GetInventoryItemCooldown(“player”,13)==0 then UseInventoryItem("13")else UseContainerItem(x,y)end
USE TEA @ <30 ENERGY -> BLIND -> BANDAGE SELF
This should use your Tea if you have <30, otherwise it will blind. Then with the next button tap it should go into the Bandage portion of the macro. But if your Blind misses you may find yourself getting hit while bandaging...

/run if UnitMana("Player")<30 then UseContainerItem(x,y)else CastSpellByName("Blind");end
/run UseContainerItem(x,y)
/run TargetUnit("player")
/run TargetLastEnemy()
CHEAP SHOT -> BACKSTAB -> THISTLE TEA -> BACKSTAB…
When you spam this it should check for low energy first, fire off a CS.... keep spamming 'til you get your energy tick... then it will do your Backstab... keep spamming. At this point your energy should drop below 10 (you may need to adjust this number - maybe set it to 20?) and you'll drink your Tea. Of course you are out of stealth, so it won't do CS any more, but once the Tea kicks in you will fire off your 2nd Backstab.

/run C=CastSpellByName;If UnitMana("Player")<=10 then UseContainerItem(x,y)end;C("Cheap Shot")end;C("Backstab")end
In theory, if the energy ticks are just right, you might even get 3 BS out of it. So line up your target and spam away :-)


APPLYING POISONS MACROS:

Poison Main Hand Weapon with One-Click:

/run UseContainerItem(x,y)PickupInventoryItem(16)
Poison Off-Hand with First Click, Main Hand with Second Click:

/run if GetWeaponEnchantInfo(nil)then UseContainerItem(x,y)PickupInventoryItem(17)else UseContainerItem(x,y)PickupInventoryItem(16)end
Poison Main-Hand with Click, Off-Hand with Alt-Click:

/run UseContainerItem(x,y)
/run if IsAltKeyDown()then PickupInventoryItem(17)else PickupInventoryItem(16)end
Poison Main-Hand with Click, Off-Hand with Alt-Click – using 2 different poisons…

/run if IsAltKeyDown()then UseContainerItem(x,y)PickupInventoryItem(17)else UseContainerItem(x,y)PickupInventoryItem(16)end

HEALING / BANDAGE / “GOT THE LIFE?” MACROS:

THE EVER-REQUESTED BANDAGE-SELF MACRO:

/run UseContainerItem(x,y)
/run TargetUnit("player")
/run TargetLastEnemy()
This variation should do the same thing, but without dropping your target and losing your Combo Points…

/run UseContainerItem(x,y)SpellTargetUnit(“Player”)end
USE APPROPRIATE BANDAGES:
This macro will use the appropriate battleground bandage or “normal world” bandage depending on where you are located.

/run TargetUnit("Player")
/run U=UseContainerItem;i= GetRealZoneText()W=strfind(i,"Warsong")if W then U(x,y)end;A=strfind(i,"Basin")if A then U(x,y)end;V=strfind(i,"Valley")if V then U(x,y)else U(x,y)end
/run TargetLastEnemy();
USE APPROPRIATE FOOD:
This macro will use the appropriate battleground food or “normal world” food depending on where you are located.

/run U=UseContainerItem;i= GetRealZoneText()W=strfind(i,"Warsong")if W then U(x,y)end;A=strfind(i,"Basin")if A then U(x,y)end;V=strfind(i,"Valley")if V then U(x,y)else U(x,y)end
USE AN ITEM AT xx% HEALTH OR LESS:

/run if UnitHealth(“Player”)/UnitHealthMax(“Player”)<.25 then UseContainerItem(x,y)
This could be useful to string in stages so you can use various heal items (that use different cooldown timers, of course) at different health levels with just one button. Specify the location of your healing item and the health level you want to use it at.

/run H=UnitHealth(“Player”)/UnitHealthMax(“Player”);U=UseContainerItem;if H<=.3 then U(x,y)if H<=.2 then U(x,y)if H<=.15 then U(x,y)end


MOUNT MACROS:

MOUNT / DISMOUNT / STEALTH MACRO:
This will activate your Mount on the first click – dismounting you if mounted, or mounting you if you are standing still (even if you are stealthed, thus breaking stealth). If you are dismounted it will activate Stealth on the next click if you are moving. Generally, if you are riding at an opponent the first click will dismount you, the second click will stealth you. Specify your mount location for the “UseContainerItem(x,y)”.

/run UseContainerItem(x,y)
/run local _,_,active,castable=GetShapeshiftFormInfo(1)if not active and castable then CastShapeshiftForm(1)end
MOUNT + 3 ITEM SWAP (For Equipping Mount Speed Items):
Replace the container locations with the locations of your trinket, riding gloves, and spur-boots. If you're already riding, the items get switched back and you dismount. Note that activating the macro while moving will switch your items without summoning the mount, and you’ll be running around in your riding gear.

/run U=UseContainerItem;U(x,y)U(x,y)U(x,y)U(x,y)


USE TRINKET MACROS
I generally use the Equipped Macro Icon addon for these so that I can see exactly what trinkets I have equipped.

WILL OF THE FORSAKEN or PvP TRINKET MACRO
This will use Will of the Forsaken first, if not on cooldown, otherwise it will try to use the Trinket in the Top slot (ideally your PvP trinket). Replace the "##" with the location of Will of the Forsaken on your action bar (it does not have to be your visible action bar).

/run if GetActionCooldown(##)==0 and IsUsableAction(##)then CastSpellByName("Will of the Forsaken")else UseInventoryItem(13)end
Use Trinket in Top Slot:

/run UseInventoryItem("13")
Use Trinket in Bottom Slot:

/run UseInventoryItem("14")
Check Trinket Cooldown and Use it if Possible:
13 is top trinket, 14 is the bottom.

/run if GetInventoryItemCooldown("player",13)==0 then UseInventoryItem(13)end


RANGED ATTACKS MACROS:

SHOOT WHATEVER YOU HAVE EQUIPPED:

/cast Shoot Bow
/cast Shoot Crossbow
/cast Shoot Gun
/cast Throw
…OR; This one eliminates the “item not equipped” messages.

/run C=CastSpellByName;L=GetInventoryItemLink("Player",GetInventorySlotInfo("RangedSlot"));_,_,ic=strfind(L,"(%d+):");_,_,_,_,_,it=GetItemInfo(ic)t=strfind(it,"Thrown")a=strsub(it,0,-2)if(t)then C(a)else C("Shoot "..a)end
SHOOT or BOMB – DEPENDING ON RANGE TO TARGET
Put the shoot action AND your bomb / grenade on your action bar and replace the pound sign with the action bar slot numbers. If the target is too far away to shoot it will still activate bomb…

/run if IsActionInRange(##)==0 then UseAction(##,0,nil)else CastSpellByName(“Shoot Gun”)end

OTHER USEFUL MACROS:

FLIP CAMERA VIEW / LOOK BEHIND YOU…
Just how close on your heels are those guys? Better take a look…

/run FlipCameraYaw(180)
GET YOUR MAIL
First click opens mail and takes items, second click deletes the mail.

/run GetInboxText(1);TakeInboxItem(1);TakeInboxMoney(1);DeleteInboxItem(1);
BLOCK TRADES
This will eliminate those pesky trade windows that pop open when you are at the mailbox by toggling your "block trades" option. Click once TO block unwanted lockboxes in a city, click again to unblock.

/run if GetCVar("BlockTrades") == "1" then SetCVar("BlockTrades", "0") else SetCVar("BlockTrades", "1"); end

BY Umber
avatar
Umber
Moderator
Moderator

Messages : 92
Glasses : 26712
Standing : 74
Registered : 2010-03-14
Whence : Germany

http://heyro.justdiscussion.com

Back to top Go down

Re: Umber Macro Rogue

Post by 你坏球员 on Fri 25 Jun 2010, 5:39 pm

非常感谢
avatar
你坏球员
Member
Member

Messages : 5
Glasses : 5
Standing : 0
Registered : 2010-06-25

Back to top Go down

Re: Umber Macro Rogue

Post by dgerson on Wed 14 Jul 2010, 6:40 am

Thanks huge have approached mine-friend >_<
avatar
dgerson
Member
Member

Messages : 12
Glasses : 20
Standing : 1
Registered : 2010-06-21

Back to top Go down

Re: Umber Macro Rogue

Post by Sponsored content


Sponsored content


Back to top Go down

View previous topic View next topic Back to top

- Similar topics

Permissions in this forum:
You cannot reply to topics in this forum