Fine tuning a rogue macro
Posted: Fri Sep 05, 2014 2:42 pm
Hey everyone, I have a macro a friend of mine made a few years ago that I used with my rogue. I'm currently running my rogue again but can't get the macro to trigger higher level abilities like draggerthrust and thief's vision. It works fine with razorarc and thief's eye however. Here is the macro without any of my modification attempts:
Any help in getting this macro current would be awesome, thanks in advance!
Code: Select all
#turbo
| Macstab.mac by Stabulous
|#include HideSneak.mac
#event Success "You have stolen #1#"
#event Backstab "You backstab #1# for #2# points of damage."
#event MyDamage "You pierce #1# for #2# points of damage."
#event NonMelDamage "Stabulous hit #1# for #2# points of non-melee damage."
Sub Main
/declare timeStart int outer
/declare timeEnd int outer
/declare timeElapsed int outer
/declare bsDmg int outer
/declare myDmg int outer
/declare nonDmg int outer
/declare fltExp float outer
/varset fltExp ${Me.PctExp}
/echo Attacking ${Target.Name}, a ${Target.Level} ${Target.Class}
/call MoveTo
/call DoRazorarc
/varset timeStart ${Time.SecondsSinceMidnight}
/if (${Me.AbilityReady[Backstab]}) /doability Backstab
/doability "Thief's Eyes"
/attack on
:Loop
/doevents
| /if (${Me.PctHPs}<30) /vtest 007
/face fast
/call DoBS
/if (${Me.AbilityReady[Intimidation]}) /doability Intimidation
/if (${Me.AbilityReady[Disarm]}) /doability Disarm
| /if (${Me.AbilityReady[Pick Pockets]}) /call PickPockets
/if (${Me.PctHPs}<75) /call SaveMyself
/delay 2
/call StayClose
/if (${Target.ID}) /goto :Loop
| /call AcquireNewTarget
/attack off
/varset timeEnd ${Time.SecondsSinceMidnight}
/varset timeElapsed ${Math.Calc[${timeEnd} - ${timeStart}]}
| /call LootHide
| /disc Thief's Eyes
/declare TotalDamage int inner
/varset TotalDamage ${Math.Calc[${bsDmg} + ${nonDmg} + ${myDmg}]}
/echo Duration: ${timeElapsed} seconds.
/echo Standard Damage: ${myDmg}
/echo Backstab Damage: ${bsDmg}
/echo Non-melee Damage: ${nonDmg}
/echo Total Damage: ${TotalDamage}
/echo Damage Per Second: ${Math.Calc[${TotalDamage} / ${timeElapsed}]}
/echo Exp: ${Me.PctExp}% of level. (+${Math.Calc[${Me.PctExp}-${fltExp}]}%)
/call HideSneak
/return
Sub AcquireNewTarget
:FindTarget
/squelch /target npc radius 30 next
/if (${Target.ID}) {
/if (${Target.DistanceZ}<15) {
/attack on
/goto :Loop
} else {
/goto :FindTarget
}
} else {
/goto :FindTarget
}
/return
Sub SaveMyself
/attack off
/aa act Assassin's Feign
/target clear
/keypress down hold
/delay 1
/aa act Escape
/delay 2
/keypress down
/endmac
/return
Sub Event_Success(string Param1)
/timed 10 /autoinv
/echo Stole ${Param1}
/return
Sub PickPockets
/attack off
/delay 2
/doability "Pick Pockets"
/delay 2
/attack on
/return
Sub FindNextTarget
:FindTarget
/squelch /target npc radius 30 next
/if (${Target.ID}) {
/if (${Target.DistanceZ}<15) {
/attack on
/goto :Loop
} else {
/goto :FindTarget
}
} else {
/goto :FindTarget
}
/return
Sub DoBS
/if (${Me.AbilityReady[Backstab]}) {
|/call MoveTo
/doability Backstab
}
/return
Sub DoRazorarc
/if (${Me.CombatAbilityReady[Razorarc]}) {
/doability Razorarc
/delay 5
}
/return
Sub Event_MyDamage(string Line, string Mob, int Damage)
|/echo Hit for ${myDamage}s
/varset myDmg ${Math.Calc[${myDmg}+${Damage}]}
/return
Sub Event_Backstab(string Line, string Mob, int Damage)
|/vplay 008
/echo ${Damage}
|/if (${Damage}>1000) /vgroup 001
|/if (${Damage}>17000) /g BS'd for ${Damage}!
/varset bsDmg ${Math.Calc[${bsDmg}+${Damage}]}
/return
Sub Event_NonMelDamage(string Line, string Mob, int Damage)
|/echo Hit for ${myDamage}s
/varset nonDmg ${Math.Calc[${nonDmg}+${Damage}]}
/return
Sub StayClose
/declare intRange int inner
/varcalc intRange ${Math.Calc[${Target.MaxRangeTo}-(${Target.MaxRangeTo}/4)]}
:MoveToLoop
/if (${Target.Distance}>${intRange}) /keypress up hold
/face fast
/delay 1
/if (${Target.Distance}>${intRange}) /goto :MoveToLoop
/keypress up
/return
Sub MoveTo
:MoveToLoop
/if (${Target.Distance}>3) /keypress up hold
/face fast
/delay 1
/if (${Target.Distance}>3) /goto :MoveToLoop
/keypress up
/face nolook fast Heading ${Target.Heading.DegreesCCW}
/keypress down hold
:BackLoop
/delay 1
/if (${Target.Distance}<5) /goto :BackLoop
/keypress down
/delay 1
/return
Sub HideSneak
/call DoSneak
/call DoHide
/popup Ready!
/return
Sub DoHide
:TryHide
/if (${Me.AbilityReady[Hide]}) /doability Hide
/delay 5
/if (!${Me.Invis}) {
/popup Wait ...
/doability Hide
/goto :TryHide
}
/return
Sub DoSneak
:TrySneak
/if (${Me.AbilityReady[Sneak]}) /doability Sneak
/delay 5
/if (!${Me.Sneaking}) {
/popup Wait ...
/goto :TrySneak
}
/return