Have a macro idea but not sure where to start? Ask here.
Moderator: MacroQuest Developers
-
EQwhat
- a lesser mummy

- Posts: 57
- Joined: Sat Jun 18, 2005 6:55 pm
- Location: UK
Post
by EQwhat » Mon Mar 13, 2006 8:28 am
ok here is what i have but the Synapsis Spasm part seams to end the macro. I cant see whats wrong and i wounder if fresh eyes will see. Please help.
Code: Select all
|usage: /Macro encbot <Start Health> <Tank Name>
#include spellcast.inc
#Event Zoned "#*#You have entered#*#"
#Event Exp "#*#You gain#*#experience#*#"
#Event Exp "#*#slain #*#"
#Event Exp "#*#Corpse#*#"
#Event resist "Your target resisted the Forlorn Deeds spell#*#"
#Event resist "Your Forlorn Deeds spell has worn off#*#"
#Event notweak "Your Synapsis Spasm spell has worn off#*#"
#Event Slowsuccess "#*#slows down#*#"
#Event Weaksuccess "#*#is weak#*#"
#Event Immune "#*#changes in its run speed#*#"
#Event EndMacro #*#rest now#*#"
Sub Main
/echo usage: /Macro encbot <Start Health> <Tank Name>
/echo Enchanter Slow Bot started
/1 Taking over slowing duties
/deletevar TargetHealth
/deletevar Assist
/declare TargetHealth int global
/declare Assist string global
/declare auto_fire int outer 0
/declare IsSlowed int outer 0
/declare Isweak int outer 0
/varset TargetHealth ${Param0}
/varset Assist ${Param1}
:MainLoop
/doevents
/call Nuke
/delay 50
/goto :MainLoop
/return
Sub Nuke
/assist ${Assist}
/delay 5
/if (${IsSlowed}==0 && ${Target.PctHPs}<=95) /call Cast "Forlorn Deeds" gem2
/if (${IsWeak}==0 && ${Target.PctHPs}<=90) /call Cast "Synapsis Spasm" gem1
/if (${Target.Type.NotEqual[NPC]}) {
/if (${auto_fire}==1) /call cast "Insanity" gem3
/delay 5
/return
}
/if (${Target.PctHPs}<=${TargetHealth} && ${Target.Distance}>30) {
/face
/if (${auto_fire}==0) /call cast "Insanity" gem3
/call Slow
}
/return
Sub Slow
/if (${IsSlowed}==0 && ${Target.PctHPs}<=95) /call Cast "Forlorn Deeds" gem2
/return
Sub Weak
/if (${Isweak}==0 && ${Target.PctHPs}<=90) /call Cast "Synapsis Spasm" gem1
/return
Sub Event_Zoned
/echo Zoned...Helper is off
/varset IsSlow 0
/varset IsWeak 0
/endmacro
/return
Sub Event_Exp
/tar ${Assist}
/varset IsSlowed 0
/varset IsWeak 0
/1 Next Victim please
/return
Sub Event_resist
/return
Sub Event_Endmacro
/1 Resting :)
/endmacro
/return
Sub Event_Slowsuccess
/1 ${Target.CleanName} slowed
/varset IsSlowed 1
/return
Sub Event_Weaksuccess
/1 ${Target.CleanName} Weakend
/varset IsWeak 1
/return
Sub Event_Immune
/echo ${Target.CleanName} slow immune
/varset IsSlowed 1
/return
-
bardomatic
- a ghoul

- Posts: 131
- Joined: Thu Apr 29, 2004 12:09 am
Post
by bardomatic » Mon Mar 13, 2006 9:25 am
Just a guess but where is Sub Event_notweak.?
-
EQwhat
- a lesser mummy

- Posts: 57
- Joined: Sat Jun 18, 2005 6:55 pm
- Location: UK
Post
by EQwhat » Mon Mar 13, 2006 11:04 am
oh yeah and it used to be a ranger macro if it dont make sense for *changes to its runspeed*. but i left it in since its not doing anything. I think the event i missed is just if its resisted. well it dont get that far so i guess its not that. i'll give it a day to see what other help i can get.
-
DeeGee
- a ghoul

- Posts: 116
- Joined: Wed Sep 22, 2004 4:51 pm
Post
by DeeGee » Mon Mar 13, 2006 11:45 am
Have you ever cast Synapsis Spasm on a mob? Where does it say #*#is weak#*#
Read Me
-
DeeGee
- a ghoul

- Posts: 116
- Joined: Wed Sep 22, 2004 4:51 pm
Post
by DeeGee » Mon Mar 13, 2006 12:00 pm
Totally untested and you'll need to customize it obviously, but I think this will work alot better for you
Code: Select all
#include spell_routines.inc
#Event CrippleOff "#*#synapsis spasm spell has worn off#*#"
#Event SlowOff "#*#forlon deeds spell has worn off#*#"
#Event Exp "#*#party experience!#*#"
#Event Exp "#*#gain experience!#*#"
Sub Main
/declare Slowed bool outer FALSE
/declare Crippled bool outer FALSE
/declare MainAssist outer Goober
:loop
/doevents
/if (!${Target.ID}) /assist ${MainAssist}
/delay 1s
/if (${Target.ID} && ${Target.PctHPs}<95 && !${Slowed}) /call Slow
/if (${Target.ID} && ${Target.PctHPs}<90 && !${Crippled} && ${Slowed}) /call Cripple
/if (${Slowed} && ${Crippled} && ${Target.ID} && ${Target.PctHPs}<90 && ${Me.PctMana}>30) /call Nuke
/goto :loop
/return
Sub Slow
/call cast "Forlorn Deeds" gem2
/if (${Macro.Return.Equal[CAST_SUCCESS]} || ${Macro.Return.Equal[CAST_IMMUNE]}) /varset Slowed TRUE
/return
Sub Cripple
/call cast "Synapsis Spasm" gem1
/if (${Macro.Return.Equal[CAST_SUCCESS]} || ${Macro.Return.Equal[CAST_IMMUNE]}) /varset Slowed TRUE
/return
Sub Nuke
/call cast "Insanity" gem3
/delay 1s
/return
Sub Event_CrippleOff
/varset Crippled FALSE
/return
Sub Event_SlowOff
/varset Slowed FALSE
/return
Sub Event_Exp
/declare Slowed FALSE
/declare Crippled FALSE
/return
added the include
Last edited by
DeeGee on Mon Mar 13, 2006 12:37 pm, edited 1 time in total.
-
A_Druid_00
- Macro Maker Extraordinaire
- Posts: 2378
- Joined: Tue Jul 13, 2004 12:45 pm
- Location: Rolling on the Lawn Farting
Post
by A_Druid_00 » Mon Mar 13, 2006 12:33 pm
You'll need to put
at the top of the macro as well.
[quote]<DigitalMocking> man, A_Druid_00 really does love those long ass if statements
<dont_know_at_all> i don't use his macro because i'm frightened of it[/quote]
[quote][12:45] <dont_know_at_all> never use a macro when you can really fuck up things with a plugin[/quote]
-
EQwhat
- a lesser mummy

- Posts: 57
- Joined: Sat Jun 18, 2005 6:55 pm
- Location: UK
Post
by EQwhat » Mon Mar 13, 2006 4:42 pm
thank you so much. it looks a load cleaner then my version. /em bow
-
EQwhat
- a lesser mummy

- Posts: 57
- Joined: Sat Jun 18, 2005 6:55 pm
- Location: UK
Post
by EQwhat » Tue Mar 14, 2006 1:19 pm
am i right in saying Deegee's version is a set MA so i would need to change the name in the macro manually if i was using this macro on different MA's? or did i just get the wrong end of the stick.
-
AEbard
- a lesser mummy

- Posts: 43
- Joined: Fri Jan 30, 2004 10:53 am
Post
by AEbard » Tue Mar 14, 2006 2:38 pm
you are correct, will need to change the ma manually in the macro for it to work on different ones.
-
DeeGee
- a ghoul

- Posts: 116
- Joined: Wed Sep 22, 2004 4:51 pm
Post
by DeeGee » Tue Mar 14, 2006 7:33 pm
Just change 'Goober' to ${Param0} and run the macro with /mac slowbot Tankdude
-
Zoydburg
- a lesser mummy

- Posts: 34
- Joined: Wed Jul 21, 2004 3:30 am
Post
by Zoydburg » Tue Mar 14, 2006 7:36 pm
Also change
Code: Select all
Sub Cripple
/call cast "Synapsis Spasm" gem1
/if (${Macro.Return.Equal[CAST_SUCCESS]} || ${Macro.Return.Equal[CAST_IMMUNE]}) /varset Slowed TRUE
/return
to
Code: Select all
Sub Cripple
/call cast "Synapsis Spasm" gem1
/if (${Macro.Return.Equal[CAST_SUCCESS]} || ${Macro.Return.Equal[CAST_IMMUNE]}) /varset [color=red]Crippled[/color] TRUE
/return
-
Scaring`
- a lesser mummy

- Posts: 32
- Joined: Mon Mar 20, 2006 6:30 pm
Post
by Scaring` » Mon Mar 20, 2006 6:33 pm
Have not used this yet but from my experiences there are alot of times that mobs are only partially slowed.. maybe incorperationg some sort of notification of how slowed mob is may be usefull