I have already posted this guide here, but people had a hard time finding it because it was part of the DoD guide. The macro I posted was for advanced users under the assumption they knew how to write the own functions/addons.
Due to increased interest in the monk build many users came asking for help on how to use the macro. I’ve decided to simplify it so people do not have to write their own files. Attached is a MonkMacro.zip file containing everything you need. It includes the DIYCE addon + my custom monk function.
Unzip it into Runes of Magic\Interface\AddOns
It should contain two folders "DIYCE" & "DIYCE_Battlemonk"
In-game create these macro, once created you can move it to the actionbar to use.
Code:
/run MonkSwapDps("Blood Rage")
Code:
/run MonkSwapHeal("Demon Eye","Urgent Heal")
Replace "Blood Rage" with your current dps weapon of choice
Replace "Demon Eye" with your current healing weapon of choice.
Replace "Urgent Heal" with whatever healing spell you use.
What is the purpose of this macro?
Two purpose.
1-To condense monk dps spells into one spam-able button. This allows the monk to spam one button; dps without the need to watch rage generation. Enables the monk to do other things like watch other player HP to know when to soul source or swap gear to assist healing.
MonkSwapDps() Will buff Battle monk stance, Power Build-up, Condensed rage whenever it expires. It will use Ascending Dragon Strike when rage is available, if not it uses mana based skill Explosion of Fighting Spirit. If the user is in healing gear, it will swap gear to before using DPS skills.
2-Automatic gear swapping. This macro was design for monks with two sets of gear. One for pure healing and the other for pure DPS hence maximizing both aspects. Traditionally, one would have to open character (c) window to press gear swap button, but this is slow. Alternatively, one could also make a /SwapEquipmentItem() macro which is faster, but still requires pressing an extra button and thinking
MonkSwapHeal() Will cast your healing spell of choice. If the user is in dps gear, it will swap gear while casting healing. This enables the user to spam one button to swap + heal increasing response time.
What if I want to control or save my rage?
MonkSwapDps() condenses all the skill into one spam-able button, but that doesn’t mean you can’t manually use other skills. A monk only really use two attack skill, EoFS & ADS. E.g you want to save up 100rage so burst 3x ADS attacks. Just spam EoFS manually then use MonkSwapDps() when you want to burst the ADS attacks.
Why doesn’t it use Fighting Spirit Combination or Slash?
After getting 50/50 elites for p/w, there is no point in using FSC skill or Slash. Eofs & ADS both have higher dps. If you would like to include FSC or Slash into MonkSwapDps(), then read up on DIYCE and how it works. Edit the DIYCE_battlemonk() function in Monk.lua file.
Why do I need to type weapon names in the macro?
Because I use the weapon name to check whether to swap gear or not. E.g MonkSwapDps("Blood Rage") blood rage is my axe dps weapon. If i am in healing gear I would not have that axe equipped. It will then know to swap gear before casting dps skills.
Don’t I lose rage when swapping gear?
Nope. That’s one of the beauty of it. You only lose rage when equipping weapon from your bag. When you swap to secondary gear, you never removed that weapon slot hence rage is not lost. The cool benefit is that you can swap to healing gear to self heal while gaining rage from player/mobs hitting you. When you swap back you can have a full rage bar for pwnage.
Does this make my dps better?
Depends. If you already know how to manually dps efficiently then this macro won’t improve your dps. However, this macro makes it easier to dps without rage management leaving you precious time to focus on other things. If you are slow or have a laggy internet connection then this macro will likely increase your dps because you can spam the dps button faster than the screen refreshes due to lag.
What’s that fairy macro I see you use?
This macro here will summon your fairy, cast Accuracy Halo, then cast conceal.
Code:
/run if PetHeadFrame:IsVisible() then UseSkill(4,29) else CastSpellByName("Fire Fairy") end /wait 7 /run if PetHeadFrame:IsVisible() then UsePetAction(6) end /wait 3 /run if PetHeadFrame:IsVisible() then UsePetAction(7) end
Credits go to Teaforr.
