This code is mostly identical to its previous version, with a few obvious improvements that in no way should cause things like this to happen. Here is a list of the current problems I am having:
- None of the DoT events work at all. They are not even being called.
- The Fizzled and Interrupted events don't work at all.
- ALL other events work perfectly.
- After the macro runs for about 2-3 minutes, MQ starts spamming "couldn't parse && $char(hp,pct)>15 /return" after it has run this exact line of code many thousands of times previous to the error.
and here's the code (which I am reluctant to release, had to modify the code a great deal to remove evidence of where I am using it lol)
Code: Select all
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%| |%%|
|%%| necrodot.mac |%%|
|%%| |%%|
|%%| All original code by: OldNecro |%%|
|%%| |%%|
|%%| New Features |%%|
|%%| ------------ |%%|
|%%| - Added Tell logging |%%|
|%%| - Added revamped almost every line of code to speed up macro |%%|
|%%| - Added real-time predicted HP awareness for the target |%%|
|%%| - Automatically switches to new target when enough DoTs have |%%|
|%%| beeen applied to current target to eventually kill it |%%|
|%%| - Pre-nerf CoS owners will be able to remain invis to avoid adds |%%|
|%%| - Since $gm is broken, added GotSummoned event to /q when the GM |%%|
|%%| summons you away from your camp |%%|
|%%| - Added Feign Death re-attempt if failed |%%|
|%%| - Added alerts to check for mobs in aggro radius in upkeep and |%%|
|%%| casting loops. If mob can see invis, you will FD. If mob cannot |%%|
|%%| see invis, you will remain invis and macro will pause until mob |%%|
|%%| leaves aggro range |%%|
|%%| - Added meditate sub to reduce duplicate code in casting subs |%%|
|%%| - Added many, many more mana-saving efficiencies that are a |%%|
|%%| little too in-depth for the scope of this feature list |%%|
|%%| - Fixed a bug where macro would freak out if no targets were |%%|
|%%| available with 100% health. However, because of this, the macro |%%|
|%%| no longer works for more than one person at the camp |%%|
|%%| |%%|
|%%| Future Additions |%%|
|%%| ---------------- |%%|
|%%| - I am going to add some kind of FD recovery so that /q isn't |%%|
|%%| needed. Will check self for detrimental spell effects and |%%|
|%%| whatnot and LT as needed, etc. |%%|
|%%| |%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
#chat tell
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event Definitions ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
#event Dot1Broke "Dark Plague spell has worn off"
#event Dot2Broke "Splurt spell has worn off"
#event Dot3Broke "Pyrocruor spell has worn off"
#event Dot4Broke "Ignite Blood spell has worn off"
#event GotAttacked "YOU for"
#event GotNuked "You have taken"
#event YouResisted "You resist the"
#event GotCastedOn "<some kind of spell effect message>"
#event Fizzled "Your spell fizzles"
#event Interrupted "Your spell is interrupted"
#event Resisted "Your target resisted"
#event FeignFailed "Soandso has fallen to the ground"
#event GotSummoned "summoned by the"
| These will be absorbed into CheckVitals as soon as $char(buff) is fixed.
#event InvisBroke "You feel yourself starting to appear"
#event ShieldBroke "shielding fades"
#event LichBroke "flesh returns."
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Variable Definitions ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
| Duration variables are needed because $spell(duration) is still broken.
#define Dot1 v0
#define Dot1Dmg v1
#define Dot1Dur v2
#define Dot2 v3
#define Dot2Dmg v4
#define Dot2Dur v5
#define Dot3 v6
#define Dot3Dmg v7
#define Dot3Dur v8
#define Dot4 v9
#define Dot4Dmg v10
#define Dot4Dur v11
#define LT v12
#define LTDmg v13
#define LTDur v14
#define LTHP v15
#define LichSpell v16
#define Shielding v17
#define Feign v18
#define MobName v19
#define MobMaxHP v20
#define MobCurHP v21
#define LastMobID v22
#define Recast v23
#define NeedLich v24
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Timer Definitions ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
#define Dot1Timer t0
#define Dot2Timer t1
#define Dot3Timer t2
#define Dot4Timer t3
#define LTTimer t4
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Sub Main ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Main
/mqlog *** necrodot started $date() $time() ***
/call InitializeVariables
/call SetAlerts
:MainLoop
/if $NeedLich==TRUE /call Event_LichBroke
/if n $MobCurHP<=0 /call GetNewTarget
/call CheckVitals
/call CheckAlerts
/doevents
/doevents flush
/goto :MainLoop
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Sub SetAlerts ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub SetAlerts
/alert clear 1
/alert add 1 npc radius 90 <some mob who can't see invis
/alert clear 2
/alert add 2 npc radius 90 <mob who can see invis>
/alert add 2 npc radius 90 <mob who can see invis>
/alert add 2 npc radius 90 <mob who can see invis>
/alert add 2 npc radius 90 <mob who can see invis>
/alert add 2 npc radius 90 <mob who can see invis>
/alert add 2 npc radius 90 <mob who can see invis>
/alert add 2 npc radius 90 <mob who can see invis>
/alert add 2 npc radius 90 <mob who can see invis>
/alert add 2 npc radius 90 <mob who can see invis>
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Sub InitializeVariables ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub InitializeVariables
/varset Dot1 "Dark Plague"
/varset Dot1Dmg 2440.00
/varset Dot1Dur 125s
/varset Dot2 "Splurt"
/varset Dot2Dmg 2208.00
/varset Dot2Dur 100s
/varset Dot3 "Pyrocruor"
/varset Dot3Dmg 2397.00
/varset Dot3Dur 113s
/varset Dot4 "Ignite Blood"
/varset Dot4Dmg 1411.00
/varset Dot4Dur 130s
/varset LT "Vexing Mordinia"
/varset LTDmg 1317.00
/varset LTDur 60s
/varset LTHP 900.00
/varset LichSpell "Arch Lich"
/varset Shielding "Shield of the Arcane"
/varset Feign "Death Peace"
/varset MobName "<some mob's name>"
/varset MobCurHP 0.00
/varset MobMaxHP 10000.00
/varset LastMobID 0
/varset NeedLich TRUE
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Sub InitializeTimers ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub InitializeTimers
/varset Dot1Timer 0
/varset Dot2Timer 0
/varset Dot3Timer 0
/varset Dot4Timer 0
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Sub GetNewTarget ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub GetNewTarget
/echo Getting new target
/press ESC
/press ESC
/press ESC
/call InitializeTimers
/target npc notid $LastMobID radius 190 $MobName
/if $target()==FALSE /return
/varset LastMobID $target(id)
/varcalc MobCurHP $target(hp,pct)/100*$MobMaxHP
/call Event_Dot1Broke
/call Event_Dot2Broke
/call Event_Dot3Broke
/call Event_Dot4Broke
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Sub CheckAlerts ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub CheckAlerts
:KeepWaiting
/if $alert(2)==TRUE /call Event_GotAttacked
/if $alert(1)==TRUE {
/doevents InvisBroke
/doevents GotAttacked
/doevents GotNuked
/doevents GotCastedOn
/doevents YouResisted
/goto :KeepWaiting
}
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Sub CheckVitals ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub CheckVitals
:VitalsLoop
/if n $LTTimer>0 /return
/if n $MobCurHP<$LTDmg && $char(hp,pct)>15 /return
/if n $char(hp,cur)>$calc($char(hp,max)-$LTHP) /return
:LTLoop
/varset Recast FALSE
/if n $char(mana,cur)<$calc($spell("$LT",mana)+$spell("$Feign",mana)) /return
/call CheckAlerts
/stand
/echo Casting $LT
/cast "$LT"
/delay 10
/doevents Fizzled
/doevents Interrupted
/doevents Resisted
/doevents GotAttacked
/doevents GotNuked
/doevents GotCastedOn
/doevents YouResisted
/if $Recast==TRUE /goto :VitalsLoop
/varset LTTimer $LTDur
/varsub MobCurHP $LTDmg
/delay $spell("$LT",casttime)s
/call Event_InvisBroke
/delay 15
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Sub Meditate ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Meditate
/echo Checking mana level
:ManaLoop
/call CheckVitals
/doevents GotAttacked
/doevents GotNuked
/doevents GotCastedOn
/doevents YouResisted
/doevents InvisBroke
/varadd p0 $spell("$Feign",mana)
/if n $char(mana,cur)<$p0 /goto :ManaLoop
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event Dot1Broke ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_Dot1Broke
/echo dot1 Event Started
/if n $MobCurHP<$Dot1Dmg && $MobCurHP<$Dot3Dmg /return
/if n $Dot1Timer>0 {
/echo Still have $Dot1Timer ms left before I can recast.
/return
}
:Dot1Loop
/varset Recast FALSE
| Have to use actual number here because $spell()
| is broken for all spells above level 60.
| /call Meditate $spell("$Dot1",mana)
/call Meditate 425
/call CheckAlerts
/stand
/echo Casting $Dot1
/cast "$Dot1"
/delay 10
/doevents Fizzled
/doevents Interrupted
/doevents Resisted
/doevents GotAttacked
/doevents GotNuked
/doevents GotCastedOn
/doevents YouResisted
/if $Recast==TRUE /goto :Dot1Loop
/varset Dot1Timer $Dot1Dur
/varsub MobCurHP $Dot1Dmg
| Have to use actual number here because $spell()
| is broken for all spells above level 60.
| /delay $spell("$Dot1",casttime)s
/delay 5s
/call Event_InvisBroke
/delay 15
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event Dot2Broke ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_Dot2Broke
/echo dot2 Event Started
/if n $Dot2Timer>0 {
/echo Still have $Dot2Timer ms left before I can recast.
/return
}
:Dot2Loop
/varset Recast FALSE
/call Meditate $spell("$Dot2",mana)
/call CheckAlerts
/stand
/echo Casting $Dot2
/cast "$Dot2"
/delay 10
/doevents Fizzled
/doevents Interrupted
/doevents Resisted
/doevents GotAttacked
/doevents GotNuked
/doevents GotCastedOn
/doevents YouResisted
/if $Recast==TRUE /goto :Dot2Loop
/varset Dot2Timer $Dot2Dur
/varsub MobCurHP $Dot2Dmg
/delay $spell("$Dot2",casttime)s
/call Event_InvisBroke
/delay 15
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event Dot3Broke ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_Dot3Broke
/echo dot3 Event Started
/if n $MobCurHP<$Dot3Dmg && $MobCurHP<$Dot2Dmg /return
/if n $Dot3Timer>0 {
/echo Still have $Dot3Timer ms left before I can recast.
/return
}
:Dot3Loop
/varset Recast FALSE
/call Meditate $spell("$Dot3",mana)
/call CheckAlerts
/stand
/echo Casting $Dot3
/cast "$Dot3"
/delay 10
/doevents Fizzled
/doevents Interrupted
/doevents Resisted
/doevents GotAttacked
/doevents GotNuked
/doevents GotCastedOn
/doevents YouResisted
/if Recast==TRUE /goto :Dot3Loop
/varset Dot3Timer $Dot3Dur
/varsub MobCurHP $Dot1Dmg
/delay $spell("$Dot3",casttime)s
/call Event_InvisBroke
/delay 15
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event Dot4Broke ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_Dot4Broke
/echo dot4 Event Started
/if n $MobCurHP<$Dot2Dmg /return
/if n $Dot4Timer>0 {
/echo Still have $Dot4Timer ms left before I can recast.
/return
}
:Dot4Loop
/varset Recast FALSE
/call Meditate $spell("$Dot4",mana)
/call CheckAlerts
/stand
/echo Casting $Dot4
/cast "$Dot4"
/delay 10
/doevents Fizzled
/doevents Interrupted
/doevents Resisted
/doevents GotAttacked
/doevents GotNuked
/doevents GotCastedOn
/doevents YouResisted
/if Recast==TRUE /goto :Dot4Loop
/varset Dot4Timer $Dot4Dur
/varsub MobCurHP $Dot4Dmg
/delay $spell("$Dot4",casttime)s
/call Event_InvisBroke
/delay 15
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event GotAttacked ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_GotAttacked
/beep
/stand
/target PC
/mqlog Got trained by $target(name) $target(surname).
/echo Oh shit! We got hit! Casting $Feign
/for v99 1 to 20
/doevents FeignFailed
/cast "$Feign"
/delay 5
/next v4
/q
/endmacro
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event GotNuked ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_GotNuked
/call Event_GotAttacked
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event YouResisted ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_YouResisted
/call Event_GotAttacked
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event GotCastedOn ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_GotCastedOn
/call Event_GotAttacked
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event Fizzled ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_Fizzled
/varset Recast TRUE
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event Interrupted ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_Interrupted
/varset Recast TRUE
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event Resisted ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_Resisted
/varset Recast TRUE
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event FeignFailed ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_FeignFailed
/stand
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event GotSummoned ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_GotSummoned
/q
/endmacro
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event InvisBroke ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_InvisBroke
/echo Clicking Circlet of Shadow
/stand
/press CoS Hotkey
/sit
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event ShieldBroke ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_ShieldBroke
/echo shield Event Started
:ShieldLoop
/varset Recast FALSE
| Have to use actual number here because $spell()
| is broken for all spells above level 60.
| /call Meditate $spell("$Shielding",mana)
/call Meditate 350
/call CheckAlerts
/stand
/echo Casting $Shielding
/cast "$Shielding"
/delay 10
/doevents Fizzled
/doevents Interrupted
/doevents Resisted
/doevents GotAttacked
/doevents GotNuked
/doevents GotCastedOn
/doevents YouResisted
/if $Recast==TRUE /goto :ShieldLoop
| Have to use actual number here because $spell()
| is broken for all spells above level 60.
| /delay $spell("$Shielding",casttime)s
/delay 12s
/call Event_InvisBroke
/delay 15
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event LichBroke ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_LichBroke
/echo Lich Event Started
:LichLoop
/if $target==FALSE {
/varset NeedLich TRUE
/return
}
/varset Recast FALSE
/call CheckAlerts
/stand
/echo Casting $LichSpell
/cast "$LichSpell"
/delay 10
/doevents Fizzled
/doevents Interrupted
/doevents Resisted
/doevents GotAttacked
/doevents GotNuked
/doevents GotCastedOn
/doevents YouResisted
/if $Recast==TRUE /goto :LichLoop
/varset NeedLich FALSE
/delay $spell("$LichSpell",casttime)s
/call Event_InvisBroke
/delay 15
/return
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%[ Event Chat ]%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
|%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%|
Sub Event_Chat
/if $p0==tell /mqlog *** $p1 told you $p2
/return
So anyone have any idea what is going on?
-OldNecro


