Moderator: MacroQuest Developers


Code: Select all
|Usage /macro mage <Tank> <Nuke Spell> <Nuke Percent>
|By Jimjohnson
|Assist Tank Nukes with set spell at X percent
|Backs pet off at 15 % then resends at 6 % to avoid most enraged mobs
#turbo
#Include spell_routines.inc
#Chat #tell
Sub Main
/declare Tank string outer
/declare Nuke string outer
/declare NukePercent int outer
/varset Tank ${Param0}
/varset Nuke ${Param1}
/varset NukePercent ${Param2}
:MainLoop
/call GetTarget
/if (${Target.Type.Equal["NPC"]} && ${Target.Distance}<150) {
/call Pet
/call Nuke
/call Petoff
/call Nuke2
/call Pet
/call Nuke3
/doevents Chat
}
/goto :MainLoop
/endmacro
Sub GetTarget
/assist ${Tank}
/return
Sub Pet
/pet attack
/return
Sub Petoff
/pet back off
/pet hold
Sub Nuke
:nuke1
/call GetTarget
/if (${Target.Type.Equal["NPC"]} && ${Target.PctHPs}<${NukePercent} && ${Target.Distance}<150) && ${Me.PctMana}>5) {
/if (${Me.SpellReady["${Nuke"]}) /call cast "${Nuke}" gem8 nodismount
/if (${Target.Type.Equal["NPC"]} && ${Target.PctHPs}>15) /doevents Chat
/goto :nuke1
}
/return
Sub Nuke2
:nuke2
/call GetTarget
/if (${Target.Type.Equal["NPC"]} && ${Target.PctHPs}<${NukePercent} && ${Target.Distance}<150) && ${Me.PctMana}>5) {
/if (${Me.SpellReady["${Nuke"]}) /call cast "${Nuke}" gem8 nodismount
/if (${Target.Type.Equal["NPC"]} && ${Target.PctHPs}>6) /doevents Chat
/goto :nuke2
}
/return
Sub Nuke3
:nuke3
/call GetTarget
/if (${Target.Type.Equal["NPC"]} && ${Target.PctHPs}<${NukePercent} && ${Target.Distance}<150) && ${Me.PctMana}>5) {
/if (${Me.SpellReady["${Nuke"]}) /call cast "${Nuke}" gem8 nodismount
/if (${Target.Type.Equal["NPC"]} && ${Target.PctHPs}>0) /doevents Chat
/goto :nuke3
}
/return
Sub Event_Chat(string ChatType,string Sender,string ChatText)
/if (${ChatText.Equal["rod"]}) {
/target ${Sender}
/call cast "Rod of Mystical Transvergance" gem5 nodismount
}
/returnCode: Select all
/if (${Me.SpellReady["${Nuke"]}) /call cast "${Nuke}" gem8 nodismount
