Once again i take no credit for this script as i have stolen and modified...
Code: Select all
| usage: /macro raidmonk <Tank Name>
| usage: /macro raidmonk <Tank Name>
| Thanks to Jay for his Rogue script of which this is a modified version. Great Job. All credit goes to Jay.
#Event Enraged “has become ENRAGED”
#Event Offrage “is no longer enraged”
#Event Slainby “You have been slain by”
#Event Hitme “hits YOU for “
#Event Engage “ENGAGE”
#turbo @turboamount
Sub Main
| -------- Trigger Details-----------------
/Declare assisthealth global
/Declare turboamount global
/Declare engageddistance global |editted
| --------- Trigger Values----------------
/Varset turboamount 380 | Turbo Amount.
/Varset engageddistance 150 | How close mob must be to engage.
| ---------- Variables----------------------
/Declare targetname global
/Declare targeted global
/Declare tankname global
/Declare attacktarget global
/Declare haveaggro global
/Declare tempvar global
/Declare behindtarget global
/Declare targetenrage global
/Declare doengage global
/echo Raidmonk now operating…
/varset tankname “@Param0”
/echo “Assisting @tankname”
/varset tempvar 0
/goto :Wait
/goto :Attack
/return
:Wait
/assist @tankname
/delay 5
/if "$target() “==”FALSE” {
/target @tankname
/face nopredict
/goto :Wait
}
/if “$target(type)”!=”NPC” {
/face nopredict
/goto :Wait
}
/if n @tempvar != $target(hp,pct)
/echo $target(name,clean) targeted at $target(hp,pct)% at distance $target(distance).
/varset tempvar “$target(hp,pct)”
/face nopredict
/if n $target(distance)<=@engagedistance;
/if n $target(pet)==0
/goto :DoubleCheck
/Attack off
/doevents
/goto :Wait
:DoubleCheck
/delay 10
/if n @doengage==1
/if n $target(distance)<@engagedistance
/if n $target(pet)==0
/goto :Attack
:Attack
/echo attacking $target(name,clean) who has $target(hp,max) hp not bad for a level $target(level) $target(class).
/varset targetname $target(name)
/varset targeted $target(id)
/varset attacktarget 1
/varset behindtarget 0
/varset targetenrage 0
/face nopredict
/sendkey down up
/if n @attacktarget==1 /attack on
:Attackloop
/assist @tankname
/if “$target()”==”FALSE”
/goto :AttackEnd
/if “$target(id)”!=”@targeted”
/goto :AttackEnd
/if n @targetenrage==1 /varset attacktarget @behindtarget
/if n @attacktarget==1
/if n $target(distance)<18
/if n $char(ability,"Flying Kick")>0
/doability "Flying Kick"
/if n @attacktarget==1 /attack on
/if n @attacktarget==0 /attack off
/face fast nopredict
/if n $target(distance)>18 /sendkey down up
/if n $target(distance)<8 /sendkey down down
/if n $target(distance)<13 /sendkey up up
/if n $target(distance)>10 /sendkey up down
/face fast nopredict
/doevents
/if n $target(distance)<18
/if n $target(distance)>8
/goto :Rotate
/goto :EpicCheck
:Rotate
|---------Clockwise Check-----------------
/if n $target(heading) >=180
/if n $calc($target(heading)-180)<=$char(heading)
/if n $char(heading)<$calc($target(heading)-22.5)
/goto :bsclock
/if n $target(heading)>=180
/if n$char(heading)<=180
/if n $calc($char(heading)-22.5)>$calc($target(heading)-360)
/goto :bscounter
/if n $target(heading)<=180
/if n $char(heading)<$calc($target(heading)-22.5)
/goto :bsclock
|----------Anticlockwise Check-------------
/if n $target(heading) >=180
/if n $calc($char(heading)-180)<=$target(heading)
/if n $char(heading)>$calc($target(heading)+22.5)
/goto :bscounter
/if n $target(heading)>=180
/if n$target(heading)<=180
/if n $calc($char(heading)-157.5)<$calc($target(heading)+180)
/goto :bsclock
/if n $char(heading)<=180
/if n $target(heading)<=180
/if n $char(heading)>$calc($target(heading)+25)
/goto :bscounter
/varset behindtarget 1
/goto :AttackLoop
:AttackEnd
/echo Its dead!!
/sendkey up up
/sendkey up down
/sendkey up ctrl
/varset attacktarget 0
/varset tempvar 0
/varset doengage 0
/varset haveaggro 0
/attack off
/echo waiting for new target…
/delay 10
/goto :Wait
:EpicCheck
/for loop 1 to 15
/if "$char(buff,@loop)"!="Vallon's Quickening"
/if "$char(buff,@loop)"!="Speed of Vallon"
/if "$char(buff,@loop)!="Celestial Tranquility"
/press 0
/goto :AttackLoop
:bsclock
/sendkey down ctrl
/sendkey down right
/sendkey down up
/sendkey up up
/sendkey down down
/sendkey up down
/sendkey up right
/sendkey up ctrl
/press down
/press ctrl
/face
/varset behindtarget 0
/goto :AttackLoop
:bscounter
/sendkey down ctrl
/sendkey down left
/sendkey down up
/sendkey up up
/sendkey down down
/sendkey up down
/sendkey up left
/sendkey up ctrl
/press down
/press ctrl
/face
/varset behindtarget 0
/goto :AttackLoop
|--------------Events-----------------
Sub Event_Enraged
/if n @behindtarget==0
/varset attacktarget 0
/varset targetenrage 1
/attack off
/return
Sub Event_Offrage
/varset targetenrage 0
/varset attacktarget 1
/attack on
/return
Sub Event_Slainby
/endmacro
/return
Sub Event_Engage
/varset doengage 1
/return
Sub Event_Hitme
/attack off
/doability “Feign Death”
/delay 20
/stand
/attack on
/return

