Useful little macros for Enchanters

Blujahz

Your spell fizzled!
Joined
Feb 9, 2007
Messages
553
Reaction score
1
Points
0
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

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: