I play an enchanter as my main and wrote a few small macros that I find useful. I thought I'd bundle them up as one post.
Deep Sleep macro
Mana Resurgence macro (admittedly outdated with Mana Resurgence Aura, but still useful in raids when other casters are not in your group)
Deep Sleep macro
Code:
| Deep Sleep Mac v1.0
| July 13, 2008
|
| plugins required: mq2cast
| To use: Just target an unmezzable mob and run macro
| The macro will cast Nightmare Stasis until Deep Sleep procs, then end
#Event deepsleep "#*# enters a deep sleep."
Sub Main
:mez
/if (!${Target.ID}) /endmac
/if (${Me.AltAbilityReady[Nightmare Stasis]}) /casting "Nightmare Stasis" alt
/doevents
/goto :mez
/return
Sub Event_deepsleep
/popup ${Target.CleanName} has entered a Deep Sleep
/endmac
/return
Mana Resurgence macro (admittedly outdated with Mana Resurgence Aura, but still useful in raids when other casters are not in your group)
Code:
| Mana Resurgence [MR] macro v1.0
| July 13, 2008
|
| requires Spell_Routines.inc
| To use: type /mac MR [1/0] [name1] ... [name7]
| This macro will cast Mana Resurgence on up to 7 characters, and optionally nuke your target while the MR gem refreshes
| If you want to nuke in between MR casts, load your nuke in Gem 1 and set the first parameter as 1 (0 if you just want to cast MR).
| List up to 7 names of the characters you want to keep MR on.
| i.e. /mac MR 1 joe bob john mike (this will keep MR on joe, bob, john and mike...and nuke the target in between casts of MR)
#include Spell_Routines.inc
Sub Main(bool nuke, string target1, string target2, string target3, string target4, string target5, string target6, string target7)
/echo ${nuke}
/echo 1: ${target1}
/echo 2: ${target2}
/echo 3: ${target3}
/echo 4: ${target4}
/echo 5: ${target5}
/echo 6: ${target6}
/echo 7: ${target7}
/if (!${Defined[iw]}) /declare iw int global 1
/if (!${Defined[oldtar]}) /declare oldtar int global 0
/if (!${Defined[MRTimer]}) /declare MRTimer timer global
:cycle
/if (!${MRTimer}) {
/popup Switching targets soon !!!
/varset MRTimer 25s
}
/if (!${Me.SpellReady[Mana Resurgence]}) {
/delay 1s
/goto :cycle
}
/if (!${Defined[target${iw}]}) {
/varset iw 1
/goto :cycle
}
/if (${Target.ID}) /varset oldtar ${Target.ID}
/tar ${target${iw}} pc
/if (${Target.PctHPs}<1) {
/echo ${target${iw}} is dead...skipping.
/varcalc iw ${iw}+1
/squelch /target clear
/if (${oldtar}) /tar id ${oldtar}
/goto :cycle
}
/if (${Target.Distance}>100) {
/echo ${target${iw}} is Out of Range...skipping.
/varcalc iw ${iw}+1
/squelch /target clear
/if (${oldtar}) /tar id ${oldtar}
/goto :cycle
}
/if (!${Target.ID}) {
/echo Unable to cast on ${target${iw}}...skipping.
/varcalc iw ${iw}+1
/squelch /target clear
/if (${oldtar}) /tar id ${oldtar}
/goto :cycle
}
/popup Mana Recursion on --> ${Target.Name}
/call Cast "Mana Resurgence"
/varset MRTimer 25s
/varcalc iw ${iw}+1
/squelch /target clear
/if (${oldtar}) /tar id ${oldtar}
/varset oldtar 0
/if (!${nuke}) /goto :cycle
:nuke
/if (${Target.ID} && ${Target.PctHPs}<97) /call Cast "${Me.Gem[1]}"
/delay 3s
/if (!${Me.SpellReady[Mana Resurgence]}) /goto :nuke
/goto :cycle
/return
Last edited: