Page 1 of 1

chanter 2 boxed just to slow and cripple

Posted: Mon Mar 13, 2006 8:28 am
by EQwhat
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 

Posted: Mon Mar 13, 2006 9:25 am
by bardomatic
Just a guess but where is Sub Event_notweak.?

edited

Posted: Mon Mar 13, 2006 11:04 am
by EQwhat
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.

Posted: Mon Mar 13, 2006 11:45 am
by DeeGee
Have you ever cast Synapsis Spasm on a mob? Where does it say #*#is weak#*#

Read Me

Posted: Mon Mar 13, 2006 12:00 pm
by DeeGee
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

Posted: Mon Mar 13, 2006 12:33 pm
by A_Druid_00
You'll need to put

Code: Select all

#include spell_routines.inc
at the top of the macro as well.

thanks

Posted: Mon Mar 13, 2006 4:42 pm
by EQwhat
thank you so much. it looks a load cleaner then my version. /em bow

question

Posted: Tue Mar 14, 2006 1:19 pm
by EQwhat
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.

Posted: Tue Mar 14, 2006 2:38 pm
by AEbard
you are correct, will need to change the ma manually in the macro for it to work on different ones.

Posted: Tue Mar 14, 2006 7:33 pm
by DeeGee
Just change 'Goober' to ${Param0} and run the macro with /mac slowbot Tankdude

Posted: Tue Mar 14, 2006 7:36 pm
by Zoydburg
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 

Partial

Posted: Mon Mar 20, 2006 6:33 pm
by Scaring`
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