Code: Select all
#Event exp "#*#experience!#*#"
Sub Main
:autofire
/doevents
/if (${Target.Distance}>30 && ${Me.RangedReady}) {
/face
/ranged
/goto :autofire
/return
Sub Event_exp
/end
/return
Moderator: MacroQuest Developers
Code: Select all
#Event exp "#*#experience!#*#"
Sub Main
:autofire
/doevents
/if (${Target.Distance}>30 && ${Me.RangedReady}) {
/face
/ranged
/goto :autofire
/return
Sub Event_exp
/end
/return
Code: Select all
#Event exp "#*#experience!#*#"
#Event mezbreak "#*#awakened by ${Me}."
Sub Main
/deletevar ShootHealth
/deletevar tank
/declare ShootHealth int global
/declare tank string global
/varset ShootHealth ${Param0}
/varset tank ${Param1}
/assist off
:MainLoop
/call shoot
/doevents
/delay 5
/goto :MainLoop
/return
|Assist tank, make sure target is not a corpse or an NPC
|make sure its health is not greater than shoothealth then
|face the mob and shoot it
Sub shoot
/assist ${tank}
/delay 5
/if (${String[${Target}].Find["corpse"]}>0) /return
/if (!${Target.Type.Equal["NPC"]}) /return
/if (!${Target.PctHPs}<=${ShootHealth}) /return
/if (${Target.Distance}>30 && ${Me.RangedReady}) {
/face
/ranged
}
/return
Sub Event_mezbreak
/echo Nice Job!
/endmacro
/return
Code: Select all
|usage: /Macro ranger <Start Health> <Tank Name>
#include spell_routines.inc
#Event Zoned "#*#You have entered#*#"
#Event AutofireOn "#*#Auto fire on#*#"
#Event AutofireOff "#*#Auto fire off#*#"
#Event Exp "#*#You gain#*#experience#*#"
#Event resist "Your target resisted the Ensnare spell#*#"
#Event resist "Your Ensnare spell has worn off#*#"
#Event Snaresuccess "#*#has been ensnared#*#"
#Event Immune "#*#changes in its run speed#*#"
Sub Main
/deletevar TargetHealth
/deletevar Assist
/declare TargetHealth int global
/declare Assist string global
/declare auto_fire int outer 0
/declare IsSnared int outer 0
/varset TargetHealth ${Param0}
/varset Assist ${Param1}
:MainLoop
/doevents
/call Archery
/delay 5
/goto :MainLoop
/return
Sub Archery
/assist ${Assist}
/delay 3
/if (${Target.Type.NotEqual[NPC]}) {
/if (${auto_fire}==1) /autofire
/return
}
/if (${Target.PctHPs}<=${TargetHealth} && ${Target.Distance}>30) {
/face
/if (${auto_fire}==0) /autofire
/call Snare
}
/return
Sub Snare
/if (${IsSnared}==0 && ${Target.PctHPs}<=75) /call Cast "Ensnare" gem1
/return
Sub Event_Zoned
/echo Zoned...Autofire is off
/varset auto_fire 0
/varset IsSnared 0
/return
Sub Event_AutofireOn
/echo Autofire activated! Target: ${Target.CleanName}
/varset auto_fire 1
/return
Sub Event_AutofireOff
/echo Autofire deactivated!
/varset auto_fire 0
/return
Sub Event_Exp
/varset auto_fire 0
/varset IsSnared 0
/return
Sub Event_resist
/return
Sub Event_Snaresuccess
/g ${Target.CleanName} snared
/varset IsSnared 1
/return
Sub Event_Immune
/echo ${Target.CleanName} snare immune
/varset IsSnared 1
/return