• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Where do I find a specific include files

toejam

New member
Joined
Mar 2, 2006
RedCents
Greetings,
When I try to run a macro and it craps out becuase I don't have a required macro (such as Wait4rez.inc), where do I do to download this. When I do a search for this it returns so many hits because of just the written word being present. Is there a specific spot to go to?
Thanx
Toejam
 
Greetings,
Not that familiar with proper etiquette (as to replying to a sticky) but dang, I almost crapped my self when I saw this was in the sticky section. Thot I was going to get old school chewed out and butt spanked. )) I hope this section will continue grow though. This sure beats having to read a couple hundred threads. )) thanx tons for posting so quickly as well.
Toejam
 
Last edited:
NP. Just glad I can help. These seem to be the most requested files when macroing and I remember searching high and low for them.
 
You trying to use IRC communications in your macro? If so, then your looking for mq2irc. I've never heard of irc.inc.

-Alatyami
 
This is excert from AFCleric, included with the JMO's Compile. I've Tried to comment it out but it still did not work. I really really want to find a good working CLR mac that will use DVA and my 1.5 as well. Not for being totally afk but so I can run the clr on a pc in another room. if you have one that works Please let me know ! my clr is only lvl 75 so I can edit the spells. just the irc.inc file ? wtf ?


Rich (BB code):
#Event GotHit       "#1# #*# YOU for#*#" 
#Event MobDead      "#*#You have slain#*#" 
#Event MobDead      "#*#has been slain by#*#" 
#Event DamageShield "#1# was burned#*#" 
#Event DamageShield "#1# was pierced by#*#" 
#Event DamageShield "#1# was tormented#*#" 
#Event Zoned        "#*#You have entered#*#" 
#Event ImDead       "You have been slain by#*#" 
#Chat  Chat 
#Chat  Tell 
#Chat  Group 

#include spell_routines.inc 
#include wait4rez.inc 
#include buffbeg.inc 
#include irc.inc

This is the whole MAC

Rich (BB code):
#Event GotHit       "#1# #*# YOU for#*#" 
#Event MobDead      "#*#You have slain#*#" 
#Event MobDead      "#*#has been slain by#*#" 
#Event DamageShield "#1# was burned#*#" 
#Event DamageShield "#1# was pierced by#*#" 
#Event DamageShield "#1# was tormented#*#" 
#Event Zoned        "#*#You have entered#*#" 
#Event ImDead       "You have been slain by#*#" 
#Chat  Chat 
#Chat  Tell 
#Chat  Group 

#include spell_routines.inc 
#include wait4rez.inc 
#include buffbeg.inc 
|#include irc.inc 

Sub Main 

|------------READ THIS SECTION AND EDIT IF NEEDED-----------| 

   /declare MasterList string outer "IRCMASTER" 
   /declare MasterOnly outer TRUE 

|# Calling IRC Declares and joining channel... 
   /call IRCDeclares 

   /declare mychannel            string outer healsl:sl 
   /declare DEBUG                       outer FALSE 
   /declare DEBUG2                      outer FALSE 
   /declare Verbose                     outer FALSE 
   /declare MoKed                       outer FALSE 
   /declare autohealmode         int    outer 3 
   /declare lootleft             int    outer 0 
   /declare healspellrange       int    outer 100 
   /declare patchhealrange       int    outer 200 
   /declare hotspellrange        int    outer 100 
   /declare usegroupheal         int    outer 1 
   /declare grouphealrange       int    outer 70 
   /declare usedivarb            int    outer 1 
   /declare healafterdivarb      int    outer 0 
   /declare announce             int    outer 1 
   /declare autosit              int    outer 1 
   /declare distancetosit        int    outer 40 
   /declare autointerrupt        int    outer 1 
   /declare onlyhealfd           int    outer 1 
   /declare interrupt2healself   int    outer 1 
   /declare interrupt2healselfhp int    outer 50 
   /declare noInvis              int    outer 1 
   /declare defaultstophealpoint int    outer 80 
   /declare healpetmode          int    outer 0 
   /declare pethealpoint         int    outer 65 
   /declare manatohealpet        int    outer 25 
   /declare pethealspell         string outer Complete Healing 
   /declare pethealspellrange    int    outer 100 
   /declare followid             int    outer 
   /declare meleeClasses         string outer "Warrior/Shadow Knight/Paladin" 
   /declare casterClasses        string outer "Cleric/Druid/Enchanter/Wizard/Magician" 
   /declare dpsClasses           string outer "Rogue/Monk/Beastlord/Berserker" 
   /declare canniClasses         string outer "Necromancer/Shaman" 

| Tweak Heals Here - tankhealpoint is for War/Pal/SK other 
| than MT, casterhotpoint and casterpatchpoint refer to 
| wiz/mag/enc/dru, necshmpatchpoint refers to necros and 
| shamans, defaultpatchpoint refers to all other classes.    

   /declare selfhealpoint        int outer 70 
   /declare dacastpoint          int outer 29 
   /declare divarbpoint          int outer 25 
   /declare interrupt2divarb     int outer 12 
   /declare tankhealpoint        int outer 65 
   /declare casterhotpoint       int outer 85 
   /declare casterpatchpoint     int outer 60 
   /declare necshmpatchpoint     int outer 60 
   /declare defaultpatchpoint    int outer 70 

   /declare patchheal            string outer Pious Remedy 
   /declare patchhealgem         int    outer 7
   /declare healspell            string outer Complete Healing 
   /declare healspellgem         int    outer 8
   /declare hotspell             string outer Sacred Elixir 
   /declare hotspellgem          int    outer 4
   /declare groupheal            string outer Word of Vivification 
   /declare grouphealgem         int    outer 1 
   /declare daspell              string outer Divine Barrier 
   /declare daspellgem           int    outer 5 
   /declare yaulpspell           string outer Yaulp VII 
   /declare yaulpspellgem        int    outer 2 
   /declare mitigationspell      string outer Aegis of Vie Rk. II 
   /declare mitigationspellgem   int    outer 3 
   /declare selfbuff             string outer Armor of the Sacred 
   /declare selfbuffgem          int    outer 9 
   /declare grouplonghpbuff      string outer Hand of Tenacity Rk. II 
   /declare grouplonghpbuffgem   int    outer 6 
   /declare nukeone              string outer Reproval 
   /declare nuketwo              string outer Chromastrike 
   /declare stunone              string outer Sound of Zeal 
   /declare stuntwo              string outer Silent Decree 
   /declare spellhaste           string outer Blessing of Purpose 
   /declare acbuff               string outer Ward of the Dauntless
   /declare longhpbuff           string outer Hand of Tenacity Rk II 
   /declare singlesymbuff        string outer Symbol of Elushar
   /declare groupsymbuff         string outer Elushar's Mark 
   /declare spellhastebuff       string outer Blessing of Purpose 
   /declare rgcspell             string outer Remove Greater Curse 
    
| ############ Self Buff List.    
   /declare SpellSelfBuff[2] string outer 
   /varset SpellSelfBuff[1] "${selfbuff}" 
   /varset SpellSelfBuff[2] "${spellhaste}" 
    
|**---------------------TrickyDA Config---------------------| 
The following are HP buffs cleric will click off, in order, 
to get above 40% HP and avoid low HP aggro. Clr will then 
click off DA and resume duties, beg new buffs, etc. To 
enable, set trickyda to 1, 0 will disable 
|---------------------------------------------------------**| 
   /declare trickyda int outer 1 
   /if (${trickyda}==1) { 
      /declare intcount int outer 0 
      /declare trickybuff[20] string outer 
      /varset trickybuff[1] Virtue 
      /varset trickybuff[2] Hand of Virtue 
      /varset trickybuff[3] Conviction 
      /varset trickybuff[4] Hand of Conviction 
      /varset trickybuff[5] Focus of Soul 
      /varset trickybuff[6] Focus of the Seventh 
      /varset trickybuff[7] Wunshi's Focusing 
      /varset trickybuff[8] Talisman of Wunshi 
      /varset trickybuff[9] Protection of the 9 
      /varset trickybuff[10] Blessing of the Nine 
      /varset trickybuff[11] Steeloak Skin 
      /varset trickybuff[12] Blessing of Steeloak 
      /varset trickybuff[13] Symbol of Kazad 
      /varset trickybuff[14] Kazad`s Mark 
      /varset trickybuff[15] Symbol of Balikor 
      /varset trickybuff[16] Balikor's Mark 
      /varset trickybuff[17] Brell's Stalwart Shield 
      /varset trickybuff[18] Brell's Brawny Bulwark 
      /varset trickybuff[19] Spiritual Vigor 
      /varset trickybuff[20] Spiritual Vitality 
   } 
|-------------------End TrickyDA Config---------------------| 


|------------------------END EDITING------------------------| 

   /declare MovingCamp            outer FALSE 
   /declare Following             outer FALSE 
   /declare StaticCamp            outer TRUE 
   /declare askforbuffs           outer TRUE 
   /declare HomeX          int    outer ${Me.X} 
   /declare HomeY          int    outer ${Me.Y} 
   /declare bbtimer        timer  outer 0 
   /declare sbtimer        timer  outer 0 
   /declare healpct        int    outer 50 
   /declare tanknameid     int    outer 0 
   /declare minorhurt      int    outer 0 
   /declare majorhurt      int    outer 0 
   /declare worsthurtid    int    outer 0 
   /declare worsthp        int    outer 100 
   /declare gmember        int    outer 0 
   /declare worsthurt      string outer NULL 
   /declare worstclass     string outer NULL 
   /declare nohotforua     string outer NoOne 
   /declare nohotforub     string outer NoOne 
   /declare nohotforuc     string outer NoOne 
   /declare nohotforud     string outer NoOne 
   /declare tankname       string outer ${Target} 
   /declare DefaultMT      string outer YOURTANK 
   /declare tankclass      string outer 
   /declare rodwait        int    outer 0 
   /declare pallycount     int    outer 0 
   /declare stophealpoint  int    outer ${defaultstophealpoint} 
   /declare oomspam        int    outer 1 
   /declare lomspam        int    outer 1 
   /declare duckspam       int    outer 0 
   /declare duckfdspam     int    outer 1 
   /declare duckselfspam   int    outer 1 
   /declare nomtspam       int    outer 1 
   /declare ghealhurtcount int    outer 0 
   /declare divarboor      int    outer 0 
   /declare aetime         int    outer 0 
   /declare EpicTimer      timer  outer 0 
   /join ${mychannel} 


/if (!${Target.ID} && ${Spawn[pc ${DefaultMT}].ID}) { 
  /varset tanknameid ${Spawn[pc ${DefaultMT}].ID} 
  /varset tankclass ${Spawn[pc ${DefaultMT}].Class.Name} 
} else { 
    /varset tanknameid ${Target.ID} 
    /varset tankclass ${Target.Class.Name} 
} 


   /if (${Defined[Param0]}) {    
      /varset healpct ${Param0} 
   } else { 
     /echo No Heal% specified, defaulting to 60% 
   } 
    
   /if (!${Defined[Param1]}) {    
      /echo Usage: /mac AFCleric % healspell 
      /echo Example: /mac AFCleric 40 Complete Heal 
      /echo Defaulting to ${healspell} at ${healpct}% 
   } else {    
      /if (!${Defined[Param2]}) { 
         /varset healspell ${Param1} 
      } else /if (!${Defined[Param3]}) { 
         /varset healspell ${Param1} ${Param2} 
      } else /if (!${Defined[Param4]}) { 
         /varset healspell ${Param1} ${Param2} ${Param3} 
      } else { 
         /varset healspell ${Param1} ${Param2} ${Param3} ${Param4} 
      } 
   } 

   /echo AFCleric Active, running in Autohealmode ${autohealmode} 
   /echo Casting ${healspell} on ${tankname} at ${healpct}% HP 
   /if (${autohealmode}==0) /echo ONLY ${tankname} will be healed 
   /if (${autohealmode}==1) /echo ONLY ${tankname} and myself will be healed 
   /if (${autohealmode}==2) /echo ${tankname}, myself and my group will be healed 
   /if (${autohealmode}==3) /echo ${tankname} and myself will be healed before the rest of the group 
   /call BuffBegDeclares 
   /call MemSpells 
   /if (!${InvSlot[charm].Item.Name.Length} && !${InvSlot[chest].Item.Name.Length} && !${InvSlot[head].Item.Name.Length} ) /call Event_ImDead 

:tankwatchloop 
   /if (${Spawn[${tanknameid}].Name.NotEqual[${tankname}]}) /varset tanknameid 0 
   /if (!${Spawn[${tanknameid}].ID}) /if (${Spawn[${tankname}].ID}) { 
      /if (${SpawnCount[${tankname} ${tankclass}]}==1) { 
         /varset tanknameid ${Spawn[${tankname} ${tankclass}].ID} 
         /echo ${Spawn[${tankname} ${tankclass}].Name} is the designated MT and has ID# ${tanknameid} 
      } 
      /if (${SpawnCount[${tankname} ${tankclass}]}>1) { 
         /if (${SpawnCount[pc ${tankname} ${tankclass}]}==1) { 
            /beep 
            /varset tanknameid ${Spawn[pc ${tankname} ${tankclass}].ID} 
            /echo Defaulting to PC ${Spawn[pc ${tankname} ${tankclass}].Name} as MT. If incorrect, please restart macro 
         } else { 
            /beep 
            /echo Need to restart macro to correctly identify the MT 
         } 
      } 
   } 
   /if (${Spawn[${tanknameid}].ID}) /if (${Spawn[${tanknameid}].Type.Equal[Corpse]}) { 
      /if (${SpawnCount[pc ${tankname} ${tankclass}]}==1) { 
         /varset tanknameid ${Spawn[pc ${tankname ${tankclass}}].ID} 
         /echo ${Spawn[pc ${tankname} ${tankclass}].Name} is MT and has ID# ${tanknameid}. If incorrect, please restart macro 
      } 
   } 
   /if ((!${Target.ID})||(${Target.ID}!=${tanknameid})) { 
      /if (${Spawn[${tanknameid}].ID}) /if (${Spawn[${tanknameid}].Type.NotEqual[Corpse]}) { 
         /if (${DEBUG}) /echo Target 1 
         /if (${DEBUG}) /echo Targeting id ${tanknameid}, ${Spawn[${tanknameid}].CleanName} 
         /target id ${tanknameid} 
         /delay 6 ${Target.ID}==${tanknameid} 
      } 
   } 
   /if (!${Spawn[${tanknameid}].ID}) { 
      /if (${nomtspam}==1) { 
         /e Warning No Designated MT is available 
         /timed 300 /varset nomtspam 1 
         /varset nomtspam 0 
      } 
   } 
   /if ((${Me.PctMana}<=20)&&(${announce}==1)&&(${lomspam}==1)) { 
      /g ${Me.PctMana}m 
      /varset lomspam 0 
      /timed 300 /varset lomspam 1 
   } 
   /if ((${Me.PctMana}<=7)&&(${announce}==1)&&(${oomspam}==1)) { 
      /g oom 
      /varset oomspam 0 
      /timed 300 /varset oomspam 1 
      /call MedTime 
   } 
   /if (${GameState.Equal[CHARSELECT]}) /end 
   /if (${Target.ID}==${tanknameid}) { 
      /varcalc stophealpoint ${healpct}*1.1 
      /if (${Target.Distance} <= ${patchhealrange} && ${Target.PctHPs} <= ${healpct}*.7 && ${Target.Type.NotEqual[corpse]}) { 
         /if (${announce}==1) /g Casting "${patchheal}" on %T 
         /call Cast "${patchheal}" gem2 1s CheckHP 
         /delay 15 ${Me.SpellReady[${patchheal}]} 
      } 
      /if (${Target.Distance} <= ${healspellrange} && ${Target.PctHPs}<=${healpct} &&  ${Target.PctHPs} >= ${healpct}*.7) { 
         /if (${announce}==1) /g Casting ${healspell} on %T 
         /call Cast "${healspell}" gem1 1s CheckHP 
         /delay 15 ${Me.SpellReady[${healspell}]} 
      } 
      /varset stophealpoint ${defaultstophealpoint} 
      /doevents 
   } 
   /if ((${autosit}>=1)&&(${Bool[${Me.Sitting}]})&&(!${Window[SpellBookWnd].Open})) { 
      /if ((${Me.PctMana}>98)||(${Me.PctHPs}<=90)) { 
        /if (${DEBUG2}) /echo Stand 4 
        /stand 
      } 
   } 
   /if (${autosit} && ${Me.Sitting} && !${Window[SpellBookWnd].Open}) { 
      /if (${NearestSpawn[NPC].Distance3D} <= ${distancetosit}) { 
        /if (${DEBUG2}) /echo Stand 5 
        /stand 
      } 
   } 
   /if (${autohealmode}==0) { 
      /doevents 
      /goto :tankwatchloop 
   } 
   /if ((${autohealmode}>=1)&&(${Me.PctHPs}<=${selfhealpoint})) /call Healself 
   /if (${autohealmode}>=2) { 
      /if ((${Target.PctHPs}>${healpct})||(${Target.Distance}>${healspellrange})||(${Target.PctHPs}<=1)||(!${Target.ID})||(${Target.ID}!=${tanknameid})) { 
         /call Healgroup 
      } 
   } 
   /if ((${autohealmode}<2)&&(${Me.PctHPs}>${selfhealpoint})&&(${Me.PctMana}<=98)) /call MedTime 
   /doevents 
   /if (!${bbtimer} && ${askforbuffs} && ${NearestSpawn[npc].Distance} > ${distancetosit}) { 
     /call Buffbeg 
     /varset bbtimer 2m 
   } 
   /if (${NearestSpawn[npc].Distance} > ${distancetosit} && !${sbtimer}) /call BuffSelf 
   /goto :tankwatchloop 
/return 
    

Sub Healself 
   /if (${Me.PctHPs}>${selfhealpoint}) /return 
   /if (${Me.CurrentMana} < ${Spell[${patchheal}].Mana}) { 
     /if (${Verbose}) /echo No mana to heal myself, bummer. 
     /return 
   } 
   /varcalc stophealpoint ${selfhealpoint}+5 
   /if (!${Target.ID} || ${Target.PctHPs} >= ${healpct}*1.1 || ${Target.PctHPs} <= 1 || ${Target.ID}!=${tanknameid}) { 
      /if (${Me.PctHPs} <= ${selfhealpoint}  && ${Me.PctHPs} > ${dacastpoint}) { 
         /if (${DEBUG}) /echo Target 2 
         /target myself 
         /delay 6 ${Target.Name.Equal[${Me}]} 
         /if (${Target.Name.Equal[${Me}]}) { 
            /if (${announce}==1) /g Casting ${patchheal} on %T 
            /call Cast "${patchheal}" gem2 1s CheckHP 
            /delay 15 ${Me.SpellReady[${patchheal}]} 
         } 
      } 
      /if (${Me.PctHPs} <= ${dacastpoint} && ${Me.SpellReady[${daspell}]}) { 
         /if (${announce}==1) /g Casting DA!! <<WARNING>> DA!! No Heals for 18 SECONDS 
         :retryda 
         /call Cast "${daspell}" 
         /delay 1 
         /if (${Macro.Return.Equal[CAST_INTERRUPTED]}) /goto :retryda 
         /if ((${trickyda}==1)&&(${Me.Buff[${daspell}].ID})) /call TrickyDA 
         :dawait 
         /if (${Me.Buff[${daspell}].ID}) { 
            /delay 1s !${Me.Buff[${daspell}].ID} 
            /varset stophealpoint ${defaultstophealpoint} 
            /doevents 
            /goto :dawait 
         } 
      }            
   } 
   /if (${Me.PctHPs} <= ${selfhealpoint}*0.7) { 
      /if (${DEBUG}) /echo Target 3 
      /target myself 
      /delay 6 ${Target.Name.Equal[${Me}]} 
      /if (${Target.Name.Equal[${Me}]}) { 
         /if (${announce}==1) /g Casting ${patchheal} on %T 
         /varcalc stophealpoint ${selfhealpoint}+5 
         /call Cast "${patchheal}" gem2 1s CheckHP 
         /delay 15 ${Me.SpellReady[${patchheal}]} 
      } 
   } 
   /varset stophealpoint ${defaultstophealpoint} 
/return 


Sub Healgroup 
   :healgroup 
   /varset worsthurt NULL 
   /varset worsthp 100 
   /varset worstclass NULL 
   /varset minorhurt 0 
   /varset majorhurt 0 
   /varset ghealhurtcount 0 
   /for gmember 0 to ${Group.Members} 
      /if (${onlyhealfd}==0) { 
         /if (${Group.Member[${gmember}].Distance}<=${patchhealrange}) { 
            /if (${Group.Member[${gmember}].PctHPs}<=${worsthp}) { 
               /varset worsthurt ${Group.Member[${gmember}].Name} 
               /varset worsthurtid ${Group.Member[${gmember}].ID} 
               /varset worsthp ${Group.Member[${gmember}].PctHPs} 
               /varset worstclass ${Group.Member[${gmember}].Class.Name} 
            } 
         } 
      } 
      /if (${onlyhealfd}==1) { 
         /if (${Group.Member[${gmember}].Distance}<=${patchhealrange}) { 
            /if ((${Group.Member[${gmember}].Class.Name.NotEqual[Monk]})&&(${Group.Member[${gmember}].Class.Name.NotEqual[Necromancer]})&&(${Group.Member[${gmember}].PctHPs}<=${worsthp})) { 
               /varset worsthurt ${Group.Member[${gmember}].Name} 
               /varset worsthurtid ${Group.Member[${gmember}].ID} 
               /varset worsthp ${Group.Member[${gmember}].PctHPs} 
               /varset worstclass ${Group.Member[${gmember}].Class.Name} 
            } 
            /if ((${Group.Member[${gmember}].Class.Name.Equal[Monk]})||(${Group.Member[${gmember}].Class.Name.Equal[Necromancer]})) { 
               /if ((${Group.Member[${gmember}].State.Equal[feign]})&&(${Group.Member[${gmember}].PctHPs}<=${worsthp})) { 
                  /varset worsthurt ${Group.Member[${gmember}].Name} 
                  /varset worsthurtid ${Group.Member[${gmember}].ID} 
                  /varset worsthp ${Group.Member[${gmember}].PctHPs} 
                  /varset worstclass ${Group.Member[${gmember}].Class.Name} 
               } 
            } 
         } 
      } 
      /if ((${Group.Member[${gmember}].Distance}<=${grouphealrange})&&(${Group.Member[${gmember}].PctHPs}<=85)) /varcalc ghealhurtcount ${ghealhurtcount}+1 
      /if ((${Group.Member[${gmember}].PctHPs}<=85)&&(${Group.Member[${gmember}].PctHPs}>=60)) /varcalc minorhurt ${minorhurt}+1 
      /if ((${Group.Member[${gmember}].PctHPs}<=60)&&(${Group.Member[${gmember}].PctHPs}>=1)) /varcalc majorhurt ${majorhurt}+1 
   /next gmember 
   /if (${autohealmode}==3) { 
      /if ((!${Target.ID})||(${Target.Name.NotEqual[${tankname}]})) /if (${Spawn[${tanknameid}].ID}) { 
         /if (${DEBUG}) /echo Target 4 
         /target id ${tanknameid} 
         /delay 6 ${Target.ID}==${tanknameid} 
         /delay 1 
         /if ((${Target.ID}==${tanknameid})&&(${Target.PctHPs}<=${healpct})&&(${Target.Distance}<=${healspellrange})) /return 
      } 
      /if (${Me.PctHPs}<=${selfhealpoint}) /return 
   } 
   /if ((${majorhurt}==0)&&(${minorhurt}==0)) { 
      /if (${Spawn[${tanknameid}].ID}) { 
         /if (${DEBUG}) /echo Target 5 
         /if (${DEBUG}) /echo Targeting id ${tanknameid}, ${Spawn[${tanknameid}].CleanName} 
         /target id ${tanknameid} 
         /delay 6 ${Target.ID}==${tanknameid} 
         /delay 1 
      } 
      /if (((${Target.ID}==${tanknameid})&&(${Target.PctHPs}>${healpct}))||(!${Spawn[${tanknameid}].ID})||(${Spawn[${tanknameid}].Type.Equal[corpse]})) { 
         /if ((${healpetmode}>0)&&(${Me.PctMana}>=${manatohealpet})) /call HealPet 
         /if (${Me.PctMana}<=98) /call MedTime 
      } 
      /doevents  
      /return 
   } 
   /if (${usedivarb} && ${worsthp} <= ${divarbpoint}) /call Divarbcast 
   /if (${majorhurt}+${minorhurt} >= 3 && ${usegroupheal}==1) { 
      /if (${announce}==1) /g Inc Grp Heal, get close 
      /call Cast "${groupheal}" gem4 1s 
      /delay 15 ${Me.SpellReady[${groupheal}]} 
      /doevents  
      /return 
   } 
   /if (${worsthurtid}==${tanknameid}) /return 
   /if (${worsthurtid}==${Me.ID}) { 
      /call Healself 
      /doevents  
      /return 
   } 
   /if (${meleeClasses.Find[${worstclass}]}) { 
      /if (${worsthp} <= ${tankhealpoint} && ${worsthp} >= ${tankhealpoint}*.7 && ${majorhurt} <= 1 && ${minorhurt} <= 1) { 
         /if (${DEBUG}) /echo Target 6 
         /target id ${worsthurtid} 
         /delay 5 ${Target.ID}==${worsthurtid} 
         /if (!${Target.ID}) /return 
         /if (${Target.ID}!=${worsthurtid}) /return 
         /varcalc stophealpoint ${tankhealpoint}+5 
         /if (${announce}==1) /g Casting ${healspell} on %T 
         /call Cast "${healspell}" gem1 1s CheckHP 
         /delay 15 ${Me.SpellReady[${healspell}]} 
         /varset stophealpoint ${defaultstophealpoint} 
         /doevents  
         /return 
      } 
      /if (${worsthp}<=${tankhealpoint}) { 
         /if (${DEBUG}) /echo Target 7 
         /target id ${worsthurtid} 
         /delay 5 ${Target.ID}==${worsthurtid} 
         /if (!${Target.ID}) /return 
         /if (${Target.ID}!=${worsthurtid}) /return 
         /varcalc stophealpoint ${tankhealpoint}+5 
         /if (${announce}==1) /g Casting ${patchheal} on %T 
         /call Cast "${patchheal}" gem2 1s CheckHP 
         /delay 15 ${Me.SpellReady[${patchheal}]} 
         /varset stophealpoint ${defaultstophealpoint} 
         /doevents  
         /return 
      } 
   } else /if (${casterClasses.Find[${worstclass}]}) { 
      /if ((${worsthp}<=${casterhotpoint})&&(${worsthp}>${casterpatchpoint})) { 
         /if (${worsthurt.Equal[${nohotforua}]} || ${worsthurt.Equal[${nohotforub}]} || ${worsthurt.Equal[${nohotforuc}]} || ${worsthurt.Equal[${nohotforud}]}) /return 
         /if (${nohotforua.Find[NoOne]}) { 
            /if (${DEBUG}) /echo Target 8 
            /target id ${worsthurtid} 
            /delay 5 ${Target.ID}==${worsthurtid} 
            /if (!${Target.ID}) /return 
            /if (${Target.ID}!=${worsthurtid}) /return 
            /varset nohotforua ${Target.Name} 
            /if (${announce}==1) /g Casting ${hotspell} on %T 
            /varcalc stophealpoint ${casterhotpoint}+5 
            /call Cast "${hotspell}" gem3 1s CheckHP 
            /timed 200 /varset nohotforua NoOne 
            /delay 15 ${Me.SpellReady[${hotspell}]} 
         } else /if (${nohotforub.Find[NoOne]}) { 
            /if (${DEBUG}) /echo Target 9 
            /target id ${worsthurtid} 
            /delay 5 ${Target.ID}==${worsthurtid} 
            /if (!${Target.ID}) /return 
            /if (${Target.ID}!=${worsthurtid}) /return 
            /varset nohotforub ${Target.Name} 
            /if (${announce}==1) /g Casting ${hotspell} on %T 
            /varcalc stophealpoint ${casterhotpoint}+5 
            /call Cast "${hotspell}" gem3 1s CheckHP 
            /timed 200 /varset nohotforub NoOne 
            /delay 15 ${Me.SpellReady[${hotspell}]} 
         } else /if (${nohotforub.Find[NoOne]}) { 
            /if (${DEBUG}) /echo Target 10          
            /target id${worsthurtid} 
            /delay 5 ${Target.ID}==${worsthurtid} 
            /if (!${Target.ID}) /return 
            /if (${Target.ID}!=${worsthurtid}) /return 
            /varset nohotforuc ${Target.Name} 
            /if (${announce}==1) /g Casting ${hotspell} on %T 
            /varcalc stophealpoint ${casterhotpoint}+5 
            /call Cast "${hotspell}" gem3 1s CheckHP 
            /timed 200 /varset nohotforuc NoOne 
            /delay 15 ${Me.SpellReady[${hotspell}]} 
         } else /if (${nohotforub.Find[NoOne]}) { 
            /if (${DEBUG}) /echo Target 11 
            /target id ${worsthurtid} 
            /delay 5 ${Target.ID}==${worsthurtid} 
            /if (!${Target.ID}) /return 
            /if (${Target.ID}!=${worsthurtid}) /return 
            /varset nohotforud ${Target.Name} 
            /if (${announce}==1) /g Casting ${hotspell} on %T 
            /varcalc stophealpoint ${casterhotpoint}+5 
            /call Cast "${hotspell}" gem3 1s CheckHP 
            /timed 200 /varset nohotforud NoOne 
            /delay 15 ${Me.SpellReady[${hotspell}]} 
         } 
         /varset stophealpoint ${defaultstophealpoint} 
         /doevents  
         /return 
      } 
      /if ((${worsthp}<=${casterpatchpoint})&&(${worsthp}>=1)) { 
         /if (${DEBUG}) /echo Target 12 
         /target id ${worsthurtid} 
         /delay 5 ${Target.ID}==${worsthurtid} 
         /if (!${Target.ID}) /return 
         /if (${Target.ID}!=${worsthurtid}) /return 
         /if (${announce}==1) /g Casting ${patchheal} on %T 
         /call Cast "${patchheal}" gem2 1s CheckHP 
         /varset stophealpoint ${defaultstophealpoint} 
         /doevents  
         /delay 15 ${Me.SpellReady[${patchheal}]} 
         /return 
      } 
      /varset stophealpoint ${defaultstophealpoint} 
   } else /if (${canniClasses.Find[${worstclass}]}) { 
      /if ((${worsthp}<=${necshmpatchpoint})&&(${worsthp}>=1)) { 
         /if (${DEBUG}) /echo Target 13 
         /target id ${worsthurtid} 
         /delay 5 ${Target.ID}==${worsthurtid} 
         /if (!${Target.ID}) /return 
         /if (${Target.ID}!=${worsthurtid}) /return 
         /varcalc stophealpoint ${necshmpatchpoint}+5 
         /if (${announce}==1) /g Casting ${patchheal} on %T 
         /call Cast "${patchheal}" gem2 1s CheckHP 
         /varset stophealpoint ${defaultstophealpoint} 
         /doevents  
         /delay 15 ${Me.SpellReady[${patchheal}]} 
         /return 
      } 
   } else /if ((${worsthp}<=${defaultpatchpoint})&&(${worsthp}>=1)) { 
      /if (${DEBUG}) /echo Target 14 
      /target id ${worsthurtid} 
      /delay 5 ${Target.ID}==${worsthurtid} 
      /if (!${Target.ID}) /return 
      /if (${Target.ID}!=${worsthurtid}) /return 
      /if (${announce}==1) /g Casting ${patchheal} on %T 
      /varcalc stophealpoint ${defaultpatchpoint}+5 
      /call Cast "${patchheal}" gem2 1s CheckHP 
      /varset stophealpoint ${defaultstophealpoint} 
      /doevents 
      /delay 15 ${Me.SpellReady[${patchheal}]} 
      /return 
   } 
   /varset stophealpoint ${defaultstophealpoint} 
   /if ((${healpetmode}==2)&&(${Me.PctMana}>${manatohealpet})) /call HealPet 
/return 

Sub Divarbcast 
  /if (${Me.Casting.ID}) /call Interrupt 
  /if (${announce}) /g Inc Divine Arbitration 
  /if (${Me.AltAbilityReady[Divine Arbitration]} && ${Group}-${divarboor} >= 2) { 
    /call Cast "Divine Arbitration" alt 5s 
    /if ((${healafterdivarb})&&(${Me.PctMana}>40)) { 
      /if (${announce}==1) /g Inc Grp Heal, get close 
      /call Cast "${groupheal}" gem4 2s 
      /delay 15 ${Me.SpellReady[${groupheal}]} 
    } 
  } else /if (${FindItem[Harmony of the Soul].ID} && ${Group}-${divarboor} >= 2 && !${EpicTimer}) { 
    /call Cast "Harmony of the Soul" item 5s 
    /if ((${healafterdivarb})&&(${Me.PctMana}>40)) { 
      /if (${announce}) /g Inc Grp Heal, get close 
      /call Cast "${groupheal}" gem4 2s 
      /delay 15 ${Me.SpellReady[${groupheal}]} 
    } 
    /varset EpicTimer 360s 
  } 
  /declare q int local 
  /for q 0 to ${Group} 
    /if (${Group.Member[${q}].PctHPs}<=${DivArbHPs} && ${Me.AltAbilityReady[Bestow Divine Aura]} && ${Group.Member[${q}].ID}!=${tanknameid} && ${Group.Member[${q}].Distance} < 200) { 
      /if (${Me.Casting.ID}) /call Interrupt 
      /target id ${Group.Member[${q}].ID} 
      /delay 1s ${Target.ID}==${Group.Member[${q}].ID} 
      /if (${announce}) /g Bestowing Divine Aura on: ${Target.CleanName} 
      /call Cast "Bestow Divine Aura" alt 5s 
    } 
  /next q 
/return 




Sub HealPet 
   /varset worsthurt NULL 
   /varset worsthp 100 
   /for gmember 0 to ${Group} 
      /if (${Group.Member[${gmember}].Pet.ID}) { 
         /if (${Group.Member[${gmember}].Pet.Distance}<=${pethealspellrange}) { 
            /if ((${Group.Member[${gmember}].Pet.PctHPs}<=${worsthp})&&(${Group.Member[${gmember}].Pet.PctHPs}<=${pethealpoint})) { 
               /varset worsthurt ${Group.Member[${gmember}].Pet.Name} 
               /varset worsthurtid ${Group.Member[${gmember}].Pet.ID} 
               /if (${DEBUG}) /echo Is Worsthurt being assigned here? 
               /varset worsthp ${Group.Member[${gmember}].Pet.PctHPs} 
            } 
         } 
      } 
   /next gmember 
   /if (${worsthurt.Length}) { 
      /if (${DEBUG}) /echo Target 15 
      /if (${DEBUG}) /echo Targeting id ${worsthurtid}, ${Spawn[${worsthurtid}].CleanName} 
      /if (${Spawn[${worsthurtid}].Type.NotEqual[Pet]}) /return 
      /target id ${worsthurtid} 
      /delay 5 ${Target.ID}==${worsthurtid} 
      /if (!${Target.ID}) /return 
      /if (${Target.ID}!=${worsthurtid}) /return 
      /delay 3 
      /if (${Target.PctHPs} < ${pethealpoint}) { 
         /if (${DEBUG}) /echo Is another toon being selected In here? 
         /if (${announce}==1) /g Casting ${pethealspell} on %T 
         /varcalc stophealpoint ${pethealpoint}+5 
         /call Cast "${pethealspell}" spell 1s CheckHP 
         /varset stophealpoint ${defaultstophealpoint} 
         /delay 15 ${Me.SpellReady[${pethealspell}]} 
      } 
   } 
/return 

Sub MedTime 
   :oomwait 
   /doevents 
   /If ((${FindItem["Rod of Mystical Transvergance"].InvSlot})&&(${Me.PctMana}<=70)&&(${Me.PctHPs}>=98)&&(${rodwait}==0)) { 
      /call Cast "Rod of Mystical Transvergance" item 
      /varset rodwait 1 
      /timed 3000 /varset rodwait 0 
   } 
  /if ((${autosit}>0)&&(${Me.PctMana}<=98)&&(!${Me.Casting.ID})) { 
      /if ((${Bool[${Me.Standing}]})&&(${Me.PctHPs}>90) && !${Following}) { 
             /if ((!${NearestSpawn[1,npc radius ${distancetosit} zradius 30].Distance})&&(!${Me.Buff[${yaulpspell}].ID})&&(!${Me.Moving}) ) { 
               /if (${DEBUG2}) /echo Sit 1 
               /sit on 
             } 
     } 
      /if ((${Bool[${Me.Sitting}]})&&(!${Window[SpellBookWnd].Open})) { 
          /if (${NearestSpawn[1,npc radius ${distancetosit} zradius 30].Distance}) { 
             /if (${DEBUG2}) /echo Stand 1 
             /stand 
          } 
     } 
   } 
   /if ((${Bool[${Me.Standing}]})&&(${autosit}==2)&&(${Me.PctMana}<=98)&&(${Me.PctHPs}>90)&&(!${Me.Casting.ID})&&(!${Me.Buff[${yaulpspell}].ID}) && !${Following}) { 
     /if (${DEBUG2}) /echo Sit 2 
     /sit 
   } 
   /if ((${Bool[${Me.Sitting}]})&&(${autosit}>=1)&&(${Me.PctMana}>98)&&(!${Window[SpellBookWnd].Open})) { 
     /if (${DEBUG2}) /echo Stand 2 
     /stand 
   } 
   /if ((${Bool[${Me.Standing}]})&&(!${Me.Mount.ID})&&(${Me.SpellReady[${yaulpspell}]})&&(!${Me.Buff[${yaulpspell}].ID})) { 
      /if ((!${Me.Buff[Vallon].ID})&&(!${Me.Buff[Spiritual Vigor].ID})&&(!${Me.Buff[Strength of Tunare].ID})) /call Cast "${yaulpspell}" gem8 
   } 
   /if (${Me.PctHPs}<=${selfhealpoint}) /return 
   /if (${Me.PctMana}<=8) /goto :oomwait 
/return 

Sub BuffSelf 
  /declare i int local 1 
  /for i 1 to ${SpellSelfBuff.Size} 
  /if (!${Me.Buff[${SpellSelfBuff[${i}]}].ID}) { 
    /if (${Spell[${SpellSelfBuff[${i}]}].Mana} < ${Me.CurrentMana}) { 
      :targetloop 
      /delay 1 
      /target myself 
      /if (${Target.ID} != ${Me.ID}) /goto :targetloop 
      /call cast ${SpellSelfBuff[${i}]} gem9 5s 
    } 
  } 
  /next i 
  /if ((${Me.Buff[Steeloak Skin].ID} || ${Me.Buff[Blessing of Steeloak].ID}) && ${Me.CurrentMana} > ${Spell[${singlesymbuff}].Mana}) { 
    /target myself 
    /delay 1s ${Target.ID} == ${Me.ID} 
    /call checkCanCast 9 ${singlesymbuff} 
    /call cast ${singlesymbuff} gem9 5s 
  } 
  /if ((${Me.CurrentMana} > ${Spell[${longhpbuff}].Mana}) && (!${Me.Buff[Steeloak Skin].ID} || !${Me.Buff[Blessing of Steeloak].ID}) && (!${Spell[${longhpbuff}].ID} || !${Spell[${grouplonghpbuff}].ID})) { 
    /target myself 
    /delay 1s ${Target.ID} == ${Me.ID} 
    /call checkCanCast 9 ${longhpbuff} 
    /call cast ${longhpbuff} gem9 5s 
  } 
  /varset sbtimer 2m 
/return 

Sub CheckHP 
   /if (!${Window[CastingWindow].Open}) /return 
   /if ((${autointerrupt}>=1)&&(${Target.PctHPs}>=${stophealpoint})) { 
      /if ((${announce}==1)&&(${duckspam}==1)) { 
         /g Ducking heal on %T 
         /e Ducking heal on ${Target.Name} 
         /varset duckspam 0 
         /timed 60 /varset duckspam 1 
      } 
      /call Interrupt 
      /return 
   } 
   /if ((${interrupt2healself}==1)&&(${Target.Name.NotEqual[${Me}]})&&(${Me.PctHPs}<${interrupt2healselfhp})) { 
      /if ((${usedivarb}==1)&&(${Me.PctHPs}<=${divarbpoint})&&(${Me.AltAbilityReady[Divine Arbitration]})) { 
         /call Interrupt 
         /call Divarbcast 
         /return 
      } 
      /if ((${announce}==1)&&(${duckselfspam}==1)) { 
         /g Ducking heal on %T so I can heal my (ChickenShit) self 
         /e Ducking heal on ${Target} so I can heal myself 
         /varset duckselfspam 0 
         /timed 60 /varset duckselfspam 1 
      } 
      /call Interrupt 
      /return 
   } 
   /if (${onlyhealfd}==1) { 
      /if ((${Target.Class.Name.Equal[Necromancer]})||(${Target.Class.Name.Equal[Monk]})) { 
         /if (${Target.State.NotEqual[feign]}) { 
            /if ((${announce}==1)&&(${duckfdspam}==1)) { 
               /g Ducking heal on %T because he isn't staying FD 
               /e Ducking heal on ${Target.Name} because he isn't staying FD 
               /varset duckfdspam 0 
               /timed 40 /varset duckfdspam 1 
            } 
            /call Interrupt 
            /return 
         } 
      } 
   } 
   /if ((${usedivarb}==1)&&(${Target.PctHPs}<=${divarbpoint})&&(${Target.Distance}<=200)&&(${Me.AltAbilityReady[Divine Arbitration]})&&(${castEndTime}>=${interrupt2divarb})) { 
      /for gmember 0 to ${Group} 
         /if (${Target.ID}==${Group.Member[${gmember}].ID}) { 
            /call Interrupt 
            /call Divarbcast 
            /return 
         } 
      /next gmember 
   } 
/return 

Sub TrickyDA 
   /for intcount 1 to 20 
      /if ((${Me.PctHPs}<40)&&(${Me.Buff[${trickybuff[${intcount}]}].ID})) /notify BuffWindow Buff${Math.Calc[${Me.Buff[${trickybuff[${intcount}]}].ID}-1].Int} leftmouseup 
   /next intcount 
   /if (${Me.Buff[${daspell}].ID}) { 
      :waitalittle 
      /delay 1s ${Me.Buff[${daspell}].Duration}<2 
      /if (${Me.Buff[${daspell}].Duration}>=2) /goto :waitalittle 
   } 
/return 

Sub FindExactPC(string name) 
   /declare nameid int local 
   /declare counter int local 1 
   :FindNext 
   /if (!${NearestSpawn[${counter}, pc ${name}].ID}) /return NOT_FOUND 
   /varset nameid ${NearestSpawn[${counter}, pc ${name}].ID} 
   /if (${Spawn[${nameid}].CleanName.Equal[${name}]}) { 
      /if (${DEBUG}) /echo Target 16 
      /target id ${nameid} 
      /delay 1s ${Target.ID}==${nameid} 
      /if (${Target.ID}==${nameid}) /return TARGET_SUCCESS 
   } 
   /varcalc counter ${counter}+1 
   /if (${NearestSpawn[${counter}, pc ${name}].ID}) /goto :FindNext 
/return NOT_FOUND 

Sub Event_Chat(string ChatType,string Sender,string ChatText) 
  /if (${MasterOnly}) /if (!${MasterList.Find[${Sender}]} ) /return 
  /if (!${Spawn[${Sender}].ID}) { 
    /e ${Sender} is not in the zone 
    /return 
  } 
  /if (${ChatText.Equal[Follow me]}) { 
    /target ${Sender} 
    /delay 3 
    /varset followid ${Target.ID} 
    /varset Following TRUE 
    /if (${DEBUG}) /echo Target 17 
    /squelch /stick 20 hold 
    /doevents 
  } 
  /if (${ChatText.Equal[Stay Here]}) { 
    /varset FollowTank    FALSE 
    /varset StaticCamp    FALSE 
    /squelch /stick off 
    /timed 50 /face pc ${follname} 
  } 
  /if (${ChatText.Equal[Make Camp]}) { 
    /varset MovingCamp    FALSE 
    /varset Following FALSE 
    /squelch /stick off 
    /varset  HomeX ${Me.X} 
    /varset  HomeY ${Me.Y} 
  } 
  /if (${ChatText.Equal[Gbuff now!]}) { 
      /varset pallycount 0 
      /if (${DEBUG}) /echo Target 18 
      /target myself 
      /call Cast "${acbuff}" gem6 7s 
      /if (${FindItem[Breastplate of Vengeful Fury].ID}) /call Cast "Breastplate of Vengeful Fury" item 
      /if (!${FindItem[Breastplate of Vengeful Fury].ID}) /call Cast "${spellhastebuff}" gem8 5s 
      /for gmember 1 to ${Group} 
         /if (${DEBUG}) /echo Target 19 
         /target id ${Group.Member[${gmember}].ID} 
         /delay 1s ${Target.ID}==${Group.Member[${gmember}].ID} 
         /if (${Target.ID}==${Group.Member[${gmember}].ID}) { 
            /if (${Target.Class.Name.NotEqual[Paladin]}) /call Cast "${acbuff}" gem5 7s 
            /if (${Target.Class.Name.Equal[Paladin]}) { 
               /call Cast "${longhpbuff}" gem4 10s 
               /varcalc pallycount ${pallycount}+1 
            } 
            /if ((${Target.Class.Name.NotEqual[Warrior]})&&(${Target.Class.Name.NotEqual[Monk]})&&(${Target.Class.Name.NotEqual[Rogue]})&&(${Target.Class.Name.NotEqual[Berserker]})&&(${Target.Class.Name.NotEqual[Bard]})) { 
               /if (${FindItem[Breastplate of Vengeful Fury].ID}) /call Cast "Breastplate of Vengeful Fury" item 
               /if (!${FindItem[Breastplate of Vengeful Fury].ID}) /call Cast "${spellhastebuff}" gem8 5s 
            } 
         } 
      /next gmember 
      /if (${Group}-${pallycount} >= 2 && ${groupsymbuff.Length}) /call Cast "${groupsymbuff}" gem5 10s 
      /if (${Group}-${pallycount} < 2 || !${groupsymbuff.Length}) { 
         /for gmember 0 to ${Group} 
            /if (${DEBUG}) /echo Target 20 
            /target id ${Group.Member[${gmember}].ID} 
            /delay 1s ${Target.ID}==${Group.Member[${gmember}].ID} 
            /if (${Target.Class.Name.NotEqual[Paladin]}) /call Cast "${singlesymbuff}" gem5 7s 
         /next gmember 
      } 
   }    
   /if (${ChatText.Equal[BoR now!]}) { 
      /if (${DEBUG}) /echo Target 21 
      /target myself 
      /delay 5 ${Target.Name.Equal[${Me}]} 
      /if (${FindItem[Breastplate of Vengeful Fury].ID}) /call Cast "Breastplate of Vengeful Fury" item 
      /if (!${FindItem[Breastplate of Vengeful Fury].ID}) /call Cast "${spellhastebuff}" gem8 5s 
      /for gmember 1 to ${Group} 
         /if (${DEBUG}) /echo Target 22 
         /target id ${Group.Member[${gmember}].ID} 
         /delay 1s ${Target.ID}==${Group.Member[${gmember}].ID} 
         /if (${Target.ID}==${Group.Member[${gmember}].ID}) { 
            /if ((${Target.Class.Name.NotEqual[Warrior]})&&(${Target.Class.Name.NotEqual[Monk]})&&(${Target.Class.Name.NotEqual[Rogue]})&&(${Target.Class.Name.NotEqual[Berserker]})&&(${Target.Class.Name.NotEqual[Bard]})) { 
               /if (${FindItem[Breastplate of Vengeful Fury].ID}) /call Cast "Breastplate of Vengeful Fury" item 
               /if (!${FindItem[Breastplate of Vengeful Fury].ID}) /call Cast "${spellhastebuff}" gem8 5s 
            } 
         } 
      /next gmember 
   }    
   /if (${ChatText.Equal[nuke]}) { 
      /if (${Me.PctMana}<30) { 
         /chat #${mychannel} Cleric Mana ${Me.PctMana}%, holding on nukes! 
      } else { 
         /if (${DEBUG}) /echo Assist 1 
         /assist ${Sender} 
         /delay 5 
         /if (${Target.Type.NotEqual[NPC]}) { 
            /if (${DEBUG}) /echo Assist 2 
            /assist ${Sender} 
            /delay 5 ${Target.Type.Equal[NPC]} 
         } 
         /if ((${Target.Type.Equal[NPC]})&&(${Target.PctHPs}<=90)) { 
            /if (${Me.SpellReady[${nukeone}]}) { 
               /if (${announce}==1) /g Casting ${nukeone} on %T 
               /call Cast "${nukeone}" spell 3s 
            } else /if (${Me.SpellReady[${nuketwo}]}) { 
               /if (${announce}==1) /g Casting ${nuketwo} on %T 
               /call Cast "${nuketwo}" spell 3s 
            } else { 
              /chat #${mychannel} nukes not ready 
            } 
            /if (${Me.PctMana}<=60) /chat #${mychannel} FYI Cleric Mana ${Me.PctMana}% 
         } else { 
           /chat #${mychannel} wrong target (${Target.Type} at ${Target.PctHPs}% HP) 
         } 
      } 
   } 
   /if (${ChatText.Equal[stun]}) { 
      /if (${DEBUG}) /echo Assist 3 
      /assist ${Sender} 
      /delay 5 
      /if (${Target.Type.NotEqual[NPC]}) { 
         /if (${DEBUG}) /echo Assist 4 
         /assist ${Sender} 
         /delay 5 ${Target.Type.Equal[NPC]} 
      } 
      /if ((${Target.Type.Equal[NPC]})&&(${Target.PctHPs}<=90)) { 
         /if (${Me.SpellReady[${stunone}]}) { 
            /if (${announce}==1) /g Casting ${stunone} on %T 
            /call Cast "${stunone}" spell 3s 
         } else /if (${Me.SpellReady[${stuntwo}]}) { 
            /if (${announce}==1) /g Casting ${stuntwo} on %T 
            /call Cast "${stuntwo}" spell 3s 
         } else { 
           /chat #${mychannel} stuns not ready 
         } 
      } else { 
        /chat #${mychannel} wrong target (${Target.Type} at ${Target.PctHPs}% HP) 
      } 
   } 
   /if (${ChatText.Equal[buffme]}) { 
      /call FindExactPC ${Sender} 
      /if (${Macro.Return.NotEqual[TARGET_SUCCESS]}) /return 
      /if (${Target.Class.Name.Equal[Paladin]}) { 
         /call Cast "${longhpbuff}" gem4 10s 
         /if (${FindItem[Breastplate of Vengeful Fury].ID}) /call Cast "Breastplate of Vengeful Fury" item 
         /if (!${FindItem[Breastplate of Vengeful Fury].ID}) /call Cast "${spellhastebuff}" gem8 5s 
         /return 
      } 
      /if ((${Target.Class.Name.NotEqual[Warrior]})&&(${Target.Class.Name.NotEqual[Monk]})&&(${Target.Class.Name.NotEqual[Rogue]})&&(${Target.Class.Name.NotEqual[Berserker]})&&(${Target.Class.Name.NotEqual[Bard]})) { 
         /if (${FindItem[Breastplate of Vengeful Fury].ID}) /call Cast "Breastplate of Vengeful Fury" item 
         /if (!${FindItem[Breastplate of Vengeful Fury].ID}) /call Cast "${spellhastebuff}" gem8 5s 
      } 
      /memspell 6 "${acbuff}" 
      /call Cast "${acbuff}" gem6 7s 
   } 
   /if ((${ChatText.Equal[patch me]})||(${ChatText.Equal[heal]})||(${ChatText.Equal[heal me]})||(${ChatText.Equal[heal plz]})||(${ChatText.Equal[heal me plz]})||(${ChatText.Equal[need heal]})) { 
      /call FindExactPC ${Sender} 
      /if (${Macro.Return.NotEqual[TARGET_SUCCESS]}) /return 
      /if (${Target.Distance}<=${patchhealrange}) { 
         /if (${announce}==1) /g Casting ${patchheal} on %T 
         /call Cast "${patchheal}" gem2 2s 
         /delay 15 ${Me.SpellReady[${patchheal}]} 
      } else { 
        /tell ${Sender} you're OOR 
      } 
   } 
   /if ((${ChatText.Equal[balikor]})||(${ChatText.Equal[wog]})||(${ChatText.Equal[V]})||(${ChatText.Equal[bor]})||(${ChatText.Equal[rgc]})||(${ChatText.Equal[hot me]})||(${ChatText.Equal[ch me]})||(${ChatText.Equal[pb]})) { 
      /if (${Spawn[pc ${Sender}].Distance}>250) /return 
      /call FindExactPC ${Sender} 
      /if (${Macro.Return.NotEqual[TARGET_SUCCESS]}) /return 
   } 
   /if (${ChatText.Equal[balikor]}) { 
     /memspell 9 "${singlesymbuff}" 
     /delay 7 
     /call Cast "${singlesymbuff}" gem9 7s 
   } 
   /if (${ChatText.Equal[wog]}) /call Cast "${acbuff}" gem6 7s 
   /if (${ChatText.Equal[V]}) /call Cast "${longhpbuff}" gem4 10s 
   /if (${ChatText.Equal[bor]}) { 
      /if (${FindItem[Breastplate of Vengeful Fury].ID}) /call Cast "Breastplate of Vengeful Fury" item 
      /if (!${FindItem[Breastplate of Vengeful Fury].ID}) /call Cast "${spellhastebuff}" gem8 5s 
   } 
   /if (${ChatText.Equal[rgc]}) { 
      /if (${FindItem[Blackflame Sphere].ID}) { 
         /call Cast "Blackflame Sphere" item 
      } else /if (${FindItem[Wand of Casual Blessings].ID}) { 
         /call Cast "Wand of Casual Blessings" item 
      } else { 
        /call Cast "${rgcspell}" gem8 5s 
      } 
   } 
   /if (${ChatText.Equal[buff pet]}) { 
      /if (${DEBUG}) /echo Target 23 
      /target ${Spawn[pc ${Sender}].Pet} 
      /delay 8 
      /if (${DEBUG}) /echo Target 24 
      /target ${Spawn[pc ${Sender}].Pet} 
      /call Cast "${acbuff}" gem6 7s 
      /call Cast "${singlesymbuff}" gem5 7s 
   } 
   /if (${ChatText.Equal[da pet]}) { 
      /if (${DEBUG}) /echo Target 25 
      /target ${Spawn[pc ${Sender}].Pet} 
      /delay 6 
      /if (${DEBUG}) /echo Target 26 
      /target ${Spawn[pc ${Sender}].Pet} 
      /if (${Me.AltAbilityReady[39]}) /if (${Target.Name.Equal[${Spawn[pc ${Sender}].Pet.Name}]}) { 
         /call Cast "39" alt 
      } else { 
         /chat #${mychannel} Bestow Divine Aura is not ready, or Target (%T) OOR or wrong target 
      } 
   } 
   /if (${ChatText.Equal[pb]}) /call Cast "Pure Blood" gem6 10s 
   /if (${ChatText.Equal[hot me]}) { 
      /if (${Target.Distance}<=${hotspellrange}) { 
         /if (${announce}==1) /g Casting ${hotspell} on %T 
         /call Cast "${hotspell}" gem2 2s 
         /delay 15 ${Me.SpellReady[${hotspell}]} 
      } else { 
        /tell ${Sender} you're OOR 
      } 
   } 
   /if (${ChatText.Equal[ch me]}) { 
      /if (${Target.Distance}<=100) { 
         /if (${announce}==1) /g Casting Complete Healing on %T 
         /call Cast "Complete Healing" gem2 5s 
         /delay 15 ${Me.SpellReady[${hotspell}]} 
      } else { 
        /tell ${Sender} your OOR 
      } 
   } 
   /if (${ChatText.Equal[mana check]}) /chat #${mychannel} Cleric Mana ${Me.PctMana}% 
   /if (${ChatText.Equal[slowcamp]}) { 
      /if (${DEBUG2}) /echo Sit 3 
      /if (${Me.Standing} && !${Following}) /sit 
      /delay 5m ${Me.PctMana}>=98 
      /camp 
      /end 
   } 
/return 

Sub Event_DamageShield(string Line,string Tormentee) 
  /if (${MoKed} || ${tankname.NotEqual[${Tormentee}]} || ${Spawn[${tanknameid}].PctHPs} < 90) /return 
  /if (${Target.PctHPs} < 75) /return 
  /if (${DEBUG}) /echo Assist 6 
  /assist ${tankname} 
  /delay 3 
  /call Cast "Mark of the Blameless" gem6 5s 
  /varset MoKed TRUE 
/return 

Sub ReturnHome 
  /if (${Following} || ${MovingCamp} || !${StaticCamp}) /return 
  /if (${Me.Sitting}) { 
    /if (${DEBUG2}) /echo Stand 3 
    /stand 
  } 
  /if (${Math.Distance[${HomeY},${HomeX}]}<10) { 
    /keypress forward 
    /keypress back 
    /return 
  } 
  :MoveHome 
  /delay 1 
  /doevents 
  /face fast nolook loc ${HomeY},${HomeX} 
  /if (${Math.Distance[${HomeY},${HomeX}]}>10) /keypress forward hold 
  /call AreWeStuck 
  /if (${Math.Distance[${HomeY},${HomeX}]}<10) { 
    /keypress forward 
    /keypress back 
    /return 
  } 
  /goto :MoveHome 
  /if (${DEBUG}) /echo Target 27 
  /squelch /target ${tankname} 
  /face fast nolook 
  /if (${DEBUG}) /echo Target 28 
  /squelch /target clear 
/return 

Sub AreWeStuck 
   /doevents 
  /declare  StuckXLoc      int local ${Me.X} 
  /declare  StuckYLoc      int local ${Me.Y} 
  /delay 4 
  /if (${StuckXLoc}==${Me.X} && ${StuckYLoc}==${Me.Y}) /call MoveAround 
/return 

Sub MoveAround 
  /doevents 
  /keypress forward 
  /keypress back hold 
  /delay 3 
  /keypress back 
  /if (${Math.Rand[2]}) { 
     /keypress strafe_right hold 
  } else { 
     /keypress strafe_left hold 
  } 
  /delay 10 
  /keypress strafe_right 
  /keypress strafe_left 
  /varset StuckToMob FALSE 
/return 

Sub Event_MobDead 
  /squelch /stick off 
  /keypress forward 
  /keypress back 
  /if (${Math.Distance[${HomeY},${HomeX}]}>25) /call ReturnHome 
/return 

Sub Event_Zoned 
  /varset  HomeX ${Me.X} 
  /varset  HomeY ${Me.Y} 
  /if (${Following}) { 
    /target id ${followid} 
    :targetloop 
    /delay 3 
    /if (${Target.ID} != ${followid}) /goto :targetloop 
    /squelch /stick 20 hold 
  } 
/return 

Sub Event_ImDead 
  /varset Following FALSE 
  /delay 20s 
  /call MemSpells 
  /call Wait4Rez 
/return 

Sub MemSpells 
  /declare gemnum int local 
  /echo Memming spells. Hang on. 
  /if (${Me.Sitting}) /stand 
  /if (${Me.Gem[${patchheal}]} && ${Me.Gem[${patchheal}]}!=${patchhealgem}) { 
    /varset gemnum ${Me.Gem[${patchheal}]} 
    /notify SpellBookWnd SBW_Spell${gemnum} rightmouseup 
    /memspell ${patchhealgem} "${patchheal}" 
    /delay 25 
  } 
  /if (!${Me.Gem[${patchheal}]}) { 
    /memspell ${patchhealgem} "${patchheal}" 
    /delay 25 
  } 

  /if (${Me.Gem[${healspell}]} && ${Me.Gem[${healspell}]}!=${healspellgem}) { 
    /varset gemnum ${Me.Gem[${healspell}]} 
    /notify SpellBookWnd SBW_Spell${gemnum} rightmouseup 
    /memspell ${healspellgem} "${healspell}" 
    /delay 25 
  } 
  /if (!${Me.Gem[${healspell}]}) { 
    /memspell ${healspellgem} "${healspell}" 
    /delay 25 
  } 

  /if (${Me.Gem[${hotspell}]} && ${Me.Gem[${hotspell}]}!=${hotspellgem}) { 
    /varset gemnum ${Me.Gem[${hotspell}]} 
    /notify SpellBookWnd SBW_Spell${gemnum} rightmouseup 
    /memspell ${hotspellgem} "${hotspell}" 
    /delay 25 
  } 
  /if (!${Me.Gem[${hotspell}]}) { 
    /memspell ${hotspellgem} "${hotspell}" 
    /delay 25 
  } 
  
  /if (${Me.Gem[${groupheal}]} && ${Me.Gem[${groupheal}]}!=${grouphealgem}) { 
    /varset gemnum ${Me.Gem[${groupheal}]} 
    /notify SpellBookWnd SBW_Spell${gemnum} rightmouseup 
    /memspell ${grouphealgem} "${groupheal}" 
    /delay 25 
  } 
  /if (!${Me.Gem[${groupheal}]}) { 
    /memspell ${grouphealgem} "${groupheal}" 
    /delay 25 
  } 
  
  /if (${Me.Gem[${daspell}]} && ${Me.Gem[${daspell}]}!=${daspellgem}) { 
    /varset gemnum ${Me.Gem[${daspell}]} 
    /notify SpellBookWnd SBW_Spell${gemnum} rightmouseup 
    /memspell ${daspellgem} "${daspell}" 
    /delay 25 
  } 
  /if (!${Me.Gem[${daspell}]}) { 
    /memspell ${daspellgem} "${daspell}" 
    /delay 25 
  } 

  /if (${Me.Gem[${yaulpspell}]} && ${Me.Gem[${yaulpspell}]}!=${yaulpspellgem}) { 
    /varset gemnum ${Me.Gem[${yaulpspell}]} 
    /notify SpellBookWnd SBW_Spell${gemnum} rightmouseup 
    /memspell ${yaulpspellgem} "${yaulpspell}" 
    /delay 25 
  } 
  /if (!${Me.Gem[${yaulpspell}]}) { 
    /memspell ${yaulpspellgem} "${yaulpspell}" 
    /delay 25 
  } 

  /if (${Me.Gem[${mitigationspell}]} && ${Me.Gem[${mitigationspell}]}!=${mitigationspellgem}) { 
    /varset gemnum ${Me.Gem[${mitigationspell}]} 
    /notify SpellBookWnd SBW_Spell${gemnum} rightmouseup 
    /memspell ${mitigationspellgem} "${mitigationspell}" 
    /delay 25 
  } 
  /if (!${Me.Gem[${mitigationspell}]}) { 
    /memspell ${mitigationspellgem} "${mitigationspell}" 
    /delay 25 
  } 

  /if (${Me.Gem[${selfbuff}]} && ${Me.Gem[${selfbuff}]}!=${selfbuffgem}) { 
    /varset gemnum ${Me.Gem[${selfbuff}]} 
    /notify SpellBookWnd SBW_Spell${gemnum} rightmouseup 
    /memspell ${selfbuffgem} "${selfbuff}" 
    /delay 25 
  } 
  /if (!${Me.Gem[${selfbuff}]}) { 
    /memspell ${selfbuffgem} "${selfbuff}" 
    /delay 25 
  } 

  /if (${Me.Gem[${grouplonghpbuff}]} && ${Me.Gem[${grouplonghpbuff}]}!=${grouplonghpbuffgemgem}) { 
    /varset gemnum ${Me.Gem[${grouplonghpbuff}]} 
    /notify SpellBookWnd SBW_Spell${gemnum} rightmouseup 
    /memspell ${grouplonghpbuffgem} "${grouplonghpbuff}" 
    /delay 25 
  } 
  /if (!${Me.Gem[${grouplonghpbuff}]}) { 
    /memspell ${grouplonghpbuffgem} "${grouplonghpbuff}" 
    /delay 25 
  } 
  /echo Done Memming Spells! 
/return 

Sub checkCanCast(int spellGem,string spellName) 
DEBUG_2 String SpellName: ${spellName} 
DEBUG_1 Entering Sub checkCanCast 
  /if (${Me.SpellReady[${spellName}]}) /return  
  /if (!${Me.Gem[${spellName}]}) { 
    /if (${Stick.Status.Equal[ON]}) /squelch /stick off 
    /delay 3 
    :mem_spell 
    /if (${Cursor.ID}) { 
      /autoinventory 
      /delay 1 
      /goto :mem_spell  
   } 
DEBUG_2 memspell ${spellGem} ${spellName} 
   /memspell ${spellGem} "${spellName}" 
   /delay 3s ${Me.Gem[${spellName}]} 
   /delay 3s ${Me.SpellReady[${spellName}]} 
   /delay 5 
  } 
DEBUG_1 Leaving Sub checkCanCast 
/return 
Sub Event_GotHit(string Line,string Attacker) 
  /if (${Me.AltAbility[Divine Retribution]} && ${Me.AltAbilityReady[Divine Retribution]}) { 
    /call cast "Divine Retribution" alt 
  } 
  /if (${Verbose}) /gsay Help Help!  ${Attacker} is kicking my ass! 
/return
 
Where do I find a specific include files

Users who are viewing this thread

Back
Top
Cart