Auto assist debuff then slow

Need some help with that macro you're working on or aren't quite sure how to get your macro to do something? Ask here!

Moderator: MacroQuest Developers

JimJohnson
a grimling bloodguard
a grimling bloodguard
Posts: 1299
Joined: Sat Oct 11, 2003 6:00 am

Auto assist debuff then slow

Post by JimJohnson » Fri Oct 31, 2003 12:04 pm

how would I add auto debuff then slow with a shaman to the personal.ini ?


Code: Select all

|personal.inc 
|Personal commands module example. 
|Version 8.4 
|Date:10/30/2003 5:00pm 
| 
| 
| 
| 
| 

Sub PersonalCommands 
   /varset Commands(0,0) stick 
   /varset Commands(0,1) fire 
   /varset Commands(0,2) ice 
   /varset Commands(0,3) root 
   /varset Commands(0,4) snare 
   /varset Commands(0,5) invis 
   /varset Commands(0,6) door 
   /varset Commands(0,7) mountup 
   /varset Commands(0,8) dismount 
   /varset Commands(0,9) lure 
   /varset Commands(0,10) lev 
   /varset Commands(0,11) hide 
   /varset Commands(0,12) sneak 
   /varset Commands(0,13) mask 
   /varset Commands(0,14) bp 
   /varset Commands(0,15) patch 
   /varset Commands(0,16) disc 
   /varset Commands(0,17) thorn 
   /varset Commands(0,18) buff 
   /varset Commands(0,19) groupbuff 
   /varset Commands(0,20) regen 
   /varset Commands(0,21) hot 
   /varset Commands(0,22) wood 
   /varset Commands(0,23) cure 
   /varset Commands(0,24) nuke 
   /varset Commands(0,25) slow 
   /varset Commands(0,26) debuff 
   /varset Commands(0,27) petbuff 
   /varset Commands(0,28) reportlom 
   /varset Commands(0,29) setlompct 
   /varset Commands(0,30) ear 
   /varset Commands(0,31) shield 
   /varset Commands(0,32) cobalt 
   /varset Commands(0,33) camo 
   /varset Commands(0,34) dcharm 
   /varset Commands(0,35) stuna 
   /varset Commands(0,36) stunb 
   /varset Commands(0,37) chainstun 
   /varset Commands(0,38) ddstuna 
   /varset Commands(0,39) ddstunb 
   /varset Commands(0,40) mezlow 
   /varset Commands(0,41) mezhigh 
   /varset Commands(0,42) mezae 
   /varset Commands(0,43) autobehind 
   /varset Commands(0,44) exp 
   /varset Commands(0,45) random 
   /varset ArrayPers 45 
/return 

Sub SetupPersonalVars 
   /declare FireSpell global 
   /varset FireSpell "$ini(@IniFile,"Personal",FireSpell)" 
   /if "@FireSpell"=="NOTFOUND" /ini "@IniFile" Personal FireSpell "Fire Spell" 
   /declare IceSpell global 
   /varset IceSpell "$ini(@IniFile,"Personal",IceSpell)" 
   /if "@IceSpell"=="NOTFOUND" /ini "@IniFile" Personal IceSpell "Ice Spell" 
   /declare NukeSpell global 
   /varset NukeSpell "$ini(@IniFile,"Personal",NukeSpell)" 
   /if "@NukeSpell"=="NOTFOUND" /ini "@IniFile" Personal NukeSpell "Nuke Spell" 
   /declare RootSpell global 
   /varset RootSpell "$ini(@IniFile,"Personal",RootSpell)" 
   /if "@RootSpell"=="NOTFOUND" /ini "@IniFile" Personal RootSpell "Root Spell" 
   /declare SnareSpell global 
   /varset SnareSpell "$ini(@IniFile,"Personal",SnareSpell)" 
   /if "@SnareSpell"=="NOTFOUND" /ini "@IniFile" Personal SnareSpell "Snare Spell" 
   /declare InvisSpell global 
   /varset InvisSpell "$ini(@IniFile,"Personal",InvisSpell)" 
   /if "@InvisSpell"=="NOTFOUND" /ini "@IniFile" Personal InvisSpell "Invis Spell" 
   /declare SelfInvisSpell global 
   /varset SelfInvisSpell "$ini(@IniFile,"Personal",SelfInvisSpell)" 
   /if "@SelfInvisSpell"=="NOTFOUND" /ini "@IniFile" Personal SelfInvisSpell "Self Invis Spell" 
   /declare LureSpell global 
   /varset LureSpell "$ini(@IniFile,"Personal",LureSpell)" 
   /if "@LureSpell"=="NOTFOUND" /ini "@IniFile" Personal LureSpell "Lure Spell" 
   /declare SlowSpell global 
   /varset SlowSpell "$ini(@IniFile,"Personal",SlowSpell)" 
   /if "@SlowSpell"=="NOTFOUND" /ini "@IniFile" Personal SlowSpell "Slow Spell" 
   /declare DebuffSpell global 
   /varset DebuffSpell "$ini(@IniFile,"Personal",DebuffSpell)" 
   /if "@DebuffSpell"=="NOTFOUND" /ini "@IniFile" Personal DebuffSpell "Debuff Spell" 
   /declare LevSpell global 
   /varset LevSpell "$ini(@IniFile,"Personal",LevSpell)" 
   /if "@LevSpell"=="NOTFOUND" /ini "@IniFile" Personal LevSpell "Levitation Spell" 
   /declare RegenSpell global 
   /varset RegenSpell "$ini(@IniFile,"Personal",RegenSpell)" 
   /if "@RegenSpell"=="NOTFOUND" /ini "@IniFile" Personal RegenSpell "Regen Spell" 
   /declare HotSpell global 
   /varset HotSpell "$ini(@IniFile,"Personal",HotSpell)" 
   /if "@HotSpell"=="NOTFOUND" /ini "@IniFile" Personal HotSpell "Heal Over Time Spell" 
   /declare MountItem global 
   /varset MountItem "$ini(@IniFile,"Personal",MountItem)" 
   /if "@MountItem"=="NOTFOUND" /ini "@IniFile" Personal MountItem "Name of Mount Item" 
   /declare BuffSpell1 global 
   /varset BuffSpell1 "$ini(@IniFile,"Personal",BuffSpell1)" 
   /if "@BuffSpell1"=="NOTFOUND" /ini "@IniFile" Personal BuffSpell1 "Name of Buff spell 1" 
   /declare BuffSpell2 global 
   /varset BuffSpell2 "$ini(@IniFile,"Personal",BuffSpell2)" 
   /if "@BuffSpell2"=="NOTFOUND" /ini "@IniFile" Personal BuffSpell2 "Name of Buff spell 2" 
   /declare BuffSpell3 global 
   /varset BuffSpell3 "$ini(@IniFile,"Personal",BuffSpell3)" 
   /if "@BuffSpell3"=="NOTFOUND" /ini "@IniFile" Personal BuffSpell3 "Name of Buff spell 3" 
   /declare BuffSpell4 global 
   /varset BuffSpell4 "$ini(@IniFile,"Personal",BuffSpell4)" 
   /if "@BuffSpell4"=="NOTFOUND" /ini "@IniFile" Personal BuffSpell4 "Name of Buff spell 4" 
   /declare BuffSpell5 global 
   /varset BuffSpell5 "$ini(@IniFile,"Personal",BuffSpell5)" 
   /if "@BuffSpell5"=="NOTFOUND" /ini "@IniFile" Personal BuffSpell5 "Name of Buff spell 5" 
   /declare BuffSpell6 global 
   /varset BuffSpell6 "$ini(@IniFile,"Personal",BuffSpell6)" 
   /if "@BuffSpell8"=="NOTFOUND" /ini "@IniFile" Personal BuffSpell6 "Name of Buff spell 6" 
   /declare BuffSpell7 global 
   /varset BuffSpell7 "$ini(@IniFile,"Personal",BuffSpell7)" 
   /if "@BuffSpell7"=="NOTFOUND" /ini "@IniFile" Personal BuffSpell7 "Name of Buff spell 7" 
   /declare BuffSpell8 global 
   /varset BuffSpell8 "$ini(@IniFile,"Personal",BuffSpell8)" 
   /if "@BuffSpell8"=="NOTFOUND" /ini "@IniFile" Personal BuffSpell8 "Name of Buff spell 8" 
   /declare GBuffSpell1 global 
   /varset GBuffSpell1 "$ini(@IniFile,"Personal",GBuffSpell1)" 
   /if "@GBuffSpell1"=="NOTFOUND" /ini "@IniFile" Personal GBuffSpell1 "Name of Group Buff spell 1" 
   /declare GBuffSpell2 global 
   /varset GBuffSpell2 "$ini(@IniFile,"Personal",GBuffSpell2)" 
   /if "@GBuffSpell2"=="NOTFOUND" /ini "@IniFile" Personal GBuffSpell2 "Name of Group Buff spell 2" 
   /declare GBuffSpell3 global 
   /varset GBuffSpell3 "$ini(@IniFile,"Personal",GBuffSpell3)" 
   /if "@GBuffSpell3"=="NOTFOUND" /ini "@IniFile" Personal GBuffSpell3 "Name of Group Buff spell 3" 
   /declare GBuffSpell4 global 
   /varset GBuffSpell4 "$ini(@IniFile,"Personal",GBuffSpell4)" 
   /if "@GBuffSpell4"=="NOTFOUND" /ini "@IniFile" Personal GBuffSpell4 "Name of Group Buff spell 4" 
   /declare GBuffSpell5 global 
   /varset GBuffSpell5 "$ini(@IniFile,"Personal",GBuffSpell5)" 
   /if "@GBuffSpell5"=="NOTFOUND" /ini "@IniFile" Personal GBuffSpell5 "Name of Group Buff spell 5" 
   /declare GBuffSpell6 global 
   /varset GBuffSpell6 "$ini(@IniFile,"Personal",GBuffSpell6)" 
   /if "@GBuffSpell6"=="NOTFOUND" /ini "@IniFile" Personal GBuffSpell6 "Name of Group Buff spell 6" 
   /declare GBuffSpell7 global 
   /varset GBuffSpell7 "$ini(@IniFile,"Personal",GBuffSpell7)" 
   /if "@GBuffSpell7"=="NOTFOUND" /ini "@IniFile" Personal GBuffSpell7 "Name of Group Buff spell 7" 
   /declare GBuffSpell8 global 
   /varset GBuffSpell8 "$ini(@IniFile,"Personal",GBuffSpell8)" 
   /if "@GBuffSpell8"=="NOTFOUND" /ini "@IniFile" Personal GBuffSpell8 "Name of Group Buff spell 8" 
   /declare PetBuffSpell1 global 
   /varset PetBuffSpell1 "$ini(@IniFile,"Personal",PetBuffSpell1)" 
   /if "@PetBuffSpell1"=="NOTFOUND" /ini "@IniFile" Personal PetBuffSpell1 "Name of Pet Buff spell 1" 
   /declare PetBuffSpell2 global 
   /varset PetBuffSpell2 "$ini(@IniFile,"Personal",PetBuffSpell2)" 
   /if "@PetBuffSpell2"=="NOTFOUND" /ini "@IniFile" Personal PetBuffSpell2 "Name of Pet Buff spell 2" 
   /declare PetBuffSpell3 global 
   /varset PetBuffSpell3 "$ini(@IniFile,"Personal",PetBuffSpell3)" 
   /if "@PetBuffSpell3"=="NOTFOUND" /ini "@IniFile" Personal PetBuffSpell3 "Name of Pet Buff spell 3" 
   /declare PetBuffSpell4 global 
   /varset PetBuffSpell4 "$ini(@IniFile,"Personal",PetBuffSpell4)" 
   /if "@PetBuffSpell4"=="NOTFOUND" /ini "@IniFile" Personal PetBuffSpell4 "Name of Pet Buff spell 4" 
   /declare PetBuffSpell5 global 
   /varset PetBuffSpell5 "$ini(@IniFile,"Personal",PetBuffSpell5)" 
   /if "@PetBuffSpell5"=="NOTFOUND" /ini "@IniFile" Personal PetBuffSpell5 "Name of Pet Buff spell 5" 
   /declare PetBuffSpell6 global 
   /varset PetBuffSpell6 "$ini(@IniFile,"Personal",PetBuffSpell6)" 
   /if "@PetBuffSpell6"=="NOTFOUND" /ini "@IniFile" Personal PetBuffSpell6 "Name of Pet Buff spell 6" 
   /declare PetBuffSpell7 global 
   /varset PetBuffSpell7 "$ini(@IniFile,"Personal",PetBuffSpell7)" 
   /if "@PetBuffSpell7"=="NOTFOUND" /ini "@IniFile" Personal PetBuffSpell7 "Name of Pet Buff spell 7" 
   /declare PetBuffSpell8 global 
   /varset PetBuffSpell8 "$ini(@IniFile,"Personal",PetBuffSpell8)" 
   /if "@PetBuffSpell8"=="NOTFOUND" /ini "@IniFile" Personal PetBuffSpell8 "Name of Pet Buff spell 8" 
   /declare ReportLom global 
   /varset ReportLom "$ini(@IniFile,"Personal",ReportLom)" 
   /if "@ReportLom"=="NOTFOUND" /ini "@IniFile" Personal ReportLom 0 
   /declare LomPct global 
   /varset LomPct "$ini(@IniFile,"Personal",LomPct)" 
   /if "@LomPct"=="NOTFOUND" /ini "@IniFile" Personal LomPct 10 
   /declare LomMsg global 
   /varset LomMsg $ini(@IniFile,"Personal",LomMsg)" 
   /if "@LomMsg"=="NOTFOUND" /ini "@IniFile" Personal LomMsg "I'm getting LOM" 
   /declare StunA global 
   /varset StunA "$ini(@IniFile,"Personal",StunA)" 
   /if "@StunA"=="NOTFOUND" /ini "@IniFile" Personal StunA "StunA Spell" 
   /declare StunB global 
   /varset StunB "$ini(@IniFile,"Personal",StunB)" 
   /if "@StunB"=="NOTFOUND" /ini "@IniFile" Personal StunB "StunB Spell" 
   /declare StunC global 
   /varset StunC "$ini(@IniFile,"Personal",StunC)" 
   /if "@StunC"=="NOTFOUND" /ini "@IniFile" Personal StunC "StunC Spell" 
   /declare DDStunA global 
   /varset DDStunA "$ini(@IniFile,"Personal",DDStunA)" 
   /if "@DDStunA"=="NOTFOUND" /ini "@IniFile" Personal DDStunA "DDStunA Spell" 
   /declare DDStunB global 
   /varset DDStunB "$ini(@IniFile,"Personal",DDStunB)" 
   /if "@DDStunB"=="NOTFOUND" /ini "@IniFile" Personal DDStunB "DDStunB Spell" 
   /declare MezLow global 
   /varset MezLow "$ini(@IniFile,"Personal",MezLow)" 
   /if "@MezLow"=="NOTFOUND" /ini "@IniFile" Personal MezLow "MezLow Spell" 
   /declare MezHigh global 
   /varset MezHigh "$ini(@IniFile,"Personal",MezHigh)" 
   /if "@MezHigh"=="NOTFOUND" /ini "@IniFile" Personal MezHigh "MezHigh Spell" 
   /declare MezAE global 
   /varset MezAE "$ini(@IniFile,"Personal",MezAE)" 
   /if "@MezAE"=="NOTFOUND" /ini "@IniFile" Personal MezAE "MezAE Spell"    
   /declare AutoBehind global 
   /varset AutoBehind "$ini(@IniFile,"Personal",AutoBehind)" 
   /if "@AutoBehind"=="NOTFOUND" /ini "@IniFile" Personal AutoBehind 0 
    
   |||||||||||||||||||||||| 
   |Non INI vars. 
   /declare LomTimer timer 
/return 

Sub TellCmds-personal 
   /declare counter local 
   /declare cmds local 
   /varset cmds "" 
   /for counter 0 to @ArrayPers 
      /varcat cmds "@Commands(0,@counter), " 
   /next counter 
   /call ChatOut 2 @MasterName "@cmds." 
/return 


|Things that you want to happen every loop through the macro go in this sub. 
Sub PersonalMain 
   /if n @ReportLom==1 /call CheckMana 
   /if n @AutoBehind==1 { 
      /if n @Combatstatus==1 { 
         /if $target()==TRUE { 
            /if n $distance($calc($target(y)-$cos($target(heading))*10),$calc($target(x)-$sin($target(heading))*10))>6 { 
               /call Do-behind 
            } 
         } 
      } 
   } 
/return 

Sub CheckMana 
   /if @LomTimer>0 { 
      /if $char(mana,pct)<@LomPct { 
         /call ChatOut 5 @MasterName "@LomMsg" 
         /varset LomTimer 2m 
      } 
   } 
/return 

||||||||||||||||||||||||||||||||||||||||||| 

Sub Do-fire 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-fireParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-fireParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @FireSpell on %t." 
   /call SpellSub "@FireSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-lure 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-lureParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-lureParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @LureSpell on %t." 
   /call SpellSub "@LureSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-ice 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-iceParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-iceParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @IceSpell on %t." 
   /call SpellSub "@IceSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-root 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-rootParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-rootParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @RootSpell on %t." 
   /call SpellSub "@RootSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-snare 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-snareParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-snareParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @SnareSpell on %t." 
   /call SpellSub "@SnareSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-stick 
   /if $char(state)==SIT /stand 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $target(id)!=$char(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $target(id)!=$char(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-stickParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-stickParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Using Staff of Temprate Flux on %t." 
   /stand 
   /cast item "staff of temperate flux" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-invis 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if $defined(Param2)==FALSE { 
        /if "@Param1"=="me" { 
           /target @MasterName 
        } else /if "@Param1"=="yourself" { 
           /press F1 
           /if n $char(id)!=$target(id) /press F1 
           /call ChatOut 5 @MasterName "Casting @SelfInvisSpell on %t." 
           /call SpellSub "@SelfInvisSpell" 
           /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
           /press esc 
           /return 
        } else /if "@Param1"=="$char(name)" { 
           /press F1 
           /if n $char(id)!=$target(id) /press F1 
           /call ChatOut 5 @MasterName "Casting @SelfInvisSpell on %t." 
           /call SpellSub "@SelfInvisSpell" 
           /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
           /press esc 
           /return 
        } else /target "@Param1" 
   } else /if $defined(Param3)==FALSE { 
      /target "@Param1 @Param2" 
   } else /if $defined(Param4)==FALSE { 
      /target "@Param1 @Param2 @Param3" 
   } else /target "@Param1 @Param2 @Param3 @Param4" 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @InvisSpell on %t. 
   /call SpellSub "@InvisSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
   /press esc 
/return 


Sub Do-lev 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-levParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-levParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 3 @MasterName "Casting @LevSpell on %t." 
   /call SpellSub "@LevSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 
Sub Do-setlompct 
   /if $defined(Param1)==FALSE /return 
   /varset LomPct @Param1 
   /call ChatOut 3 @MasterName "I'll let you know if I get below @LomPct percent mana" 
/return 

Sub Do-reportlom 
   /if n @ReportLom==1 { 
      /varset ReportLom 0 
      /call ChatOut 5 @MasterName "I'll stop spaming you about being LOM." 
      /return 
   } 
   /if n @ReportLom==0 { 
      /varset ReportLom 1 
      /call ChatOut 5 @MasterName "I'll let you know when I'm LOM." 
      /return 
   } 
/return 

Sub Do-mountup 
   /if $char(state)==SIT /stand 
   /cast item "@MountItem" 
   /call ChatOut 5 @MasterName "Summoning my mount." 
/return 

Sub Do-dismount 
   /dismount 
   /call ChatOut 5 @MasterName "I put away that damn mount." 
/return 

Sub Do-Door 
   /doort 
   /face look door 
   /press u 
/return 

Sub Do-disc 
  /disc @Param1 
/return 

Sub Do-shield 
   /if "@Param1"=="me" { 
      /shield @MasterName 
      /return 
   } 
   /shield @Param1 
/return 


||||||||||||||||||||||||||||||||||||||||||||||||| 

Sub Do-hide 
   /doability Hide 
   /delay 2s 
   /if n $char(ability,"Hide")>0 /call ChatOut 5 @MasterName "I'm not hiding" 
   /if n $char(ability,"Hide")<=0 /call ChatOut 5 @MasterName "I am hiding." 
/return 

Sub Do-sneak 
   /doability Sneak 
   /delay 2s 
   /if n $char(ability,"Sneak")>0 /call ChatOut 5 @MasterName "I'm not sneaking atm" 
   /if n $char(ability,"Sneak")<=0 /call ChatOut 5 @MasterName "I'm sneaking" 
/return 

Sub Do-mask 
/if $char(state)==SIT /stand 
  /cast item "Mask of Deception" 
/return 

Sub Do-bp 
/if $char(state)==SIT /stand 
  /cast item "Brigand's Chestguard" 
/return 

Sub Do-patch 
/if $char(state)==SIT /stand 
   /cast item "Eyepatch of Plunder" 
/return 

Sub Do-ear 
/if $char(state)==SIT /stand 
   /cast item "Shrunken Goblin Skull Earring" 
/return 

|||||||||||||||||||||||||||||||||||||||||||| 

Sub Do-thorn 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-thornParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-thornParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 GROUP "Thorns on %t." 
   /call SpellSub "Shield of Bracken" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-buff 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-buffParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-buffParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /if $target()==FALSE { 
      /call ChatOut 5 @MasterName "What did you want me to target?" 
      /return 
   } 
   /if "@BuffSpell1"~~"Name of Buff" /got :EndBuffs 
   /call ChatOut 5 @MasterName "Buffing %t." 
   /call SpellSub "@BuffSpell1" 
   /if "@BuffSpell2"~~"Name of Buff" /got :EndBuffs 
   /call SpellSub "@BuffSpell2" 
   /if "@BuffSpell3"~~"Name of Buff" /got :EndBuffs 
   /call SpellSub "@BuffSpell3" 
   /if "@BuffSpell4"~~"Name of Buff" /got :EndBuffs 
   /call SpellSub "@BuffSpell4" 
   /if "@BuffSpell5"~~"Name of Buff" /got :EndBuffs 
   /call SpellSub "@BuffSpell5" 
   /if "@BuffSpell6"~~"Name of Buff" /got :EndBuffs 
   /call SpellSub "@BuffSpell6" 
   /if "@BuffSpell7"~~"Name of Buff" /got :EndBuffs 
   /call SpellSub "@BuffSpell7" 
   /if "@BuffSpell8"~~"Name of Buff" /got :EndBuffs 
   /call SpellSub "@BuffSpell8" 
   :EndBuffs 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-groupbuff 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-groupbuffParamLoop 
      /if $defined(Param$int(@ParamCount))==TRUE { 
         /varcat ParamString " @Param$int(@ParamCount)" 
         /varadd ParamCount 1 
         /goto :Do-groupbuffParamLoop 
      } 
      /target @ParamString 
   } 
   /delay 5 
   /if $target()==FALSE { 
      /call ChatOut 5 @MasterName "What did you want me to target?" 
      /return 
   } 
   /if "@GBuffSpell1"~~"Name of Group" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@GBuffSpell1 on %t." 
   /call SpellSub "@GBuffSpell1" 
   /if "@GBuffSpell2"~~"Name of Group" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@GBuffSpell2 on %t." 
   /call SpellSub "@GBuffSpell2" 
   /if "@GBuffSpell3"~~"Name of Group" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@GBuffSpell3 on %t." 
   /call SpellSub "@GBuffSpell3" 
   /if "@GBuffSpell4"~~"Name of Group" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@GBuffSpell4 on %t." 
   /call SpellSub "@GBuffSpell4" 
   /if "@GBuffSpell5"~~"Name of Group" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@GBuffSpell5 on %t." 
   /call SpellSub "@GBuffSpell5" 
   /if "@GBuffSpell6"~~"Name of Group" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@GBuffSpell6 on %t." 
   /call SpellSub "@GBuffSpell6" 
   /if "@GBuffSpell7"~~"Name of Group" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@GBuffSpell7 on %t." 
   /call SpellSub "@GBuffSpell7" 
   /if "@GBuffSpell8"~~"Name of Group" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@GBuffSpell8 on %t." 
   /call SpellSub "@GBuffSpell8" 
   :EndGBuffs 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-petbuff 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-petbuffParamLoop 
      /if $defined(Param$int(@ParamCount))==TRUE { 
         /varcat ParamString " @Param$int(@ParamCount)" 
         /varadd ParamCount 1 
         /goto :Do-petbuffParamLoop 
      } 
      /target @ParamString 
   } 
   /delay 5 
   /if $target()==FALSE { 
      /call ChatOut 5 @MasterName "What did you want me to target?" 
      /return 
   } 
   /if "@PetBuffSpell1"~~"Name of Pet" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@PetBuffSpell1 on %t." 
   /call SpellSub "@PetBuffSpell1" 
   /if "@PetBuffSpell2"~~"Name of Pet" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@PetBuffSpell2 on %t." 
   /call SpellSub "@PetBuffSpell2" 
   /if "@PetBuffSpell3"~~"Name of Pet" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@PetBuffSpell3 on %t." 
   /call SpellSub "@PetBuffSpell3" 
   /if "@PetBuffSpell4"~~"Name of Pet" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@PetBuffSpell4 on %t." 
   /call SpellSub "@PetBuffSpell4" 
   /if "@PetBuffSpell5"~~"Name of Pet" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@PetBuffSpell5 on %t." 
   /call SpellSub "@PetBuffSpell5" 
   /if "@PetBuffSpell6"~~"Name of Pet" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@PetBuffSpell6 on %t." 
   /call SpellSub "@PetBuffSpell6" 
   /if "@PetBuffSpell7"~~"Name of Pet" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@PetBuffSpell7 on %t." 
   /call SpellSub "@PetBuffSpell7" 
   /if "@PetBuffSpell8"~~"Name of Pet" /got :EndGBuffs 
   /call ChatOut 5 GROUP "@PetBuffSpell8 on %t." 
   /call SpellSub "@PetBuffSpell8" 
   :EndGBuffs 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-regen 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-regenParamLoop 
      /if $defined(Param$int(@ParamCount))==TRUE { 
         /varcat ParamString " @Param$int(@ParamCount)" 
         /varadd ParamCount 1 
         /goto :Do-regenParamLoop 
      } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 GROUP "@RegenSpell on %t." 
   /call SpellSub "@RegenSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-hot 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-hotParamLoop 
      /if $defined(Param$int(@ParamCount))==TRUE { 
         /varcat ParamString " @Param$int(@ParamCount)" 
         /varadd ParamCount 1 
         /goto :Do-hotParamLoop 
      } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 GROUP "Casting Heal over time - @HotSpell on %t." 
   /call SpellSub "@HotSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-wood 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-woodParamLoop 
      /if $defined(Param$int(@ParamCount))==TRUE { 
         /varcat ParamString " @Param$int(@ParamCount)" 
         /varadd ParamCount 1 
         /goto :Do-woodParamLoop 
      } 
      /target @ParamString 
   } 
   /delay 5 
   /if $char(state)==SIT /stand 
   /call ChatOut 5 GROUP "Activating Spirit of Wood (22 minute reset)." 
   /alt activate 185 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 


Sub Do-cure 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-cureParamLoop 
      /if $defined(Param$int(@ParamCount))==TRUE { 
         /varcat ParamString " @Param$int(@ParamCount)" 
         /varadd ParamCount 1 
         /goto :Do-cureParamLoop 
      } 
      /target @ParamString 
   } 
   /delay 5 
   /if $char(state)==SIT /stand 
   /call ChatOut 5 GROUP "Activating Radiant Cure (3 minute reset)." 
   /alt activate 153 
   /delay 50 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-nuke 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-nukeParamLoop 
      /if $defined(Param$int(@ParamCount))==TRUE { 
         /varcat ParamString " @Param$int(@ParamCount)" 
         /varadd ParamCount 1 
         /goto :Do-nukeParamLoop 
      } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Nuking %t." 
   /call SpellSub "@NukeSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-slow 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-slowParamLoop 
      /if $defined(Param$int(@ParamCount))==TRUE { 
         /varcat ParamString " @Param$int(@ParamCount)" 
         /varadd ParamCount 1 
         /goto :Do-slowParamLoop 
      } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @SlowSpell on %t." 
   /call SpellSub "@SlowSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-debuff 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-debuffParamLoop 
      /if $defined(Param$int(@ParamCount))==TRUE { 
         /varcat ParamString " @Param$int(@ParamCount)" 
         /varadd ParamCount 1 
         /goto :Do-debuffParamLoop 
      } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @DebuffSpell on %t." 
   /call SpellSub "@DebuffSpell" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-cobalt 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-cobaltParamLoop 
      /if $defined(Param$int(@ParamCount))==TRUE { 
         /varcat ParamString " @Param$int(@ParamCount)" 
         /varadd ParamCount 1 
         /goto :Do-cobaltParamLoop 
      } 
      /target pc @ParamString 
   } 
   /call ChatOut 3 @MasterName "Shrinking %t" 
   /cast item "cobalt bracer" 
/return 

Sub Do-camo 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-camoParamLoop 
      /if $defined(Param$int(@ParamCount))==TRUE { 
         /varcat ParamString " @Param$int(@ParamCount)" 
         /varadd ParamCount 1 
         /goto :Do-camoParamLoop 
      } 
      /target @ParamString 
   } 
   /delay 5 
   /if $char(state)==SIT /stand 
   /call ChatOut 5 GROUP "Activating Camo" 
   /alt activate 80 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-dcharm 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-dcharmParamLoop 
      /if $defined(Param$int(@ParamCount))==TRUE { 
         /varcat ParamString " @Param$int(@ParamCount)" 
         /varadd ParamCount 1 
         /goto :Do-dcharmParamLoop 
      } 
      /target @ParamString 
   } 
   /delay 5 
   /if $char(state)==SIT /stand 
   /call ChatOut 5 GROUP "Dire Charming %T" 
   /alt activate 46 
   /delay 80 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-stuna 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-stunaParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-stunaParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @StunA on %t." 
   /call SpellSub "@StunA" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-stunb 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-stunbParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-stunbParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @StunB on %t." 
   /call SpellSub "@StunB" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-chainstun 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-chainstunParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-chainstunParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Chain Stunning." 
   :StunLoop 
   /if $target()==FALSE /return 
   /if @BreakOut==1 /return 
   /call SpellSub "@StunA" 
   /if $target()==FALSE /return 
   /if @BreakOut==1 /return 
   /call SpellSub "@StunB" 
   /if $target()==FALSE /return 
   /if @BreakOut==1 /return 
   /call SpellSub "@StunC" 
   /if $target()==FALSE /return 
   /if @BreakOut==1 /return 
   /goto :StunLoop 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-ddstuna 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-ddstunaParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-ddstunaParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @DDStunA on %t." 
   /call SpellSub "@DDStunA" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-ddstunb 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-ddstunbParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-ddstunbParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @DDStunB on %t." 
   /call SpellSub "@DDStunB" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-mezlow 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-mezlowParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-mezlowParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @MezLow on %t." 
   /call SpellSub "@MezLow" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-mezhigh 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-mezhighParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-mezhighParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @MezHigh on %t." 
   /call SpellSub "@MezHigh" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-mezae 
   /if $defined(Param1)==FALSE { 
      /assist @MasterName 
   } else /if "@Param1"=="me" { 
      /target pc @MasterName 
   } else /if "@Param1"=="yourself" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else /if "@Param1"=="$char(name)" { 
      /press F1 
      /if n $char(id)!=$target(id) /press F1 
   } else { 
      /declare ParamString local 
      /declare ParamCount local 
      /varset ParamCount 2 
      /varset ParamString "@Param1" 
      :Do-mezaeParamLoop 
         /if $defined(Param$int(@ParamCount))==TRUE { 
            /varcat ParamString " @Param$int(@ParamCount)" 
            /varadd ParamCount 1 
            /goto :Do-mezaeParamLoop 
         } 
      /target @ParamString 
   } 
   /delay 5 
   /call ChatOut 5 @MasterName "Casting @MezAE on %t." 
   /call SpellSub "@MezAE" 
   /if n @SitAfterCast==1 /varset SitTimer @DelayBeforeSit 
/return 

Sub Do-autobehind 
   /if $defined(Param1)==FALSE { 
      /if n @AutoBehind==0 /call ChatOut 3 @MasterName "I won't position myself behind the mob." 
      /if n @AutoBehind==1 /call ChatOut 3 @MasterName "I will position myself behind the mob." 
      /return 
   } 
   /if (@Param1=="off" || @Param1=="0") { 
      /varset AutoBehind 0 
      /call ChatOut 5 @MasterName "I will no longer position myself behind the mob." 
   } 
   /if (@Param1=="on" || @Param1=="1") { 
      /varset AutoBehind 1 
      /call ChatOut 5 @MasterName "I will now position myself behind the mob." 
   } 
/return 

Sub Do-exp 
   /call ChatOut 5 @MasterName "I am at $int($char(exp)) percent exp. 
/return 

Sub Do-random 
   /if $defined(Param1)==FALSE /return 
   /random @Param1 
/return