• 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

Cleric Monitoring and Healing a Duel for Skill Increase

Joined
Dec 14, 2006
RedCents
692¢
Attached is a very simple modification for a cleric to keep 4 characters healed (including targetable pets) while they duel to increase skills. It is modified from the healbot.mac and healer.mac and should be easily modified to increase or decrease the number of monitored characters.

THIS CODE HAS BEEN MODIFIED AND LISTED BELOW WITH CORRECTIONS.

Rich (BB code):
|---------------------------------------------------------- 
|HealDuel.mac 
|Simple Healer Macro to watch the health of four targets 
| 
|Usage: /mac HealDuel  
| 
|Effect: watch target health and cast specified spell at 
|specified health. This is just like Healwatch.mac but uses 
|spellcast.inc for simplicity/uniformity 
| 
|By Fantum409 (MODIFIED)
|Date: 05/01/2004 
|By Dragonfire (MODIFIED FOR CLERIC WATCHING DUEL from healbot.mac)
|Date: 05/05/2007
|---------------------------------------------------------- 

#include Spell_Routines.inc

#event hpbuff 	"Your Temperance spell has worn off of#1#."
#event meleeguard 	"Your Protection of Vie spell has worn off of#1#."


|------------------------------------------------------|
|               EXAMPLE
|------------------------------------------------------|
|#event invis "Your Invisibility spell has worn off of#1#."
|------------------------------------------------------|


Sub Main
	/echo Healbot started
	/declare j int outer 0
	/declare plee[4] string outer
	/varset plee[1] "Char1"
	/varset plee[2] "Char2"
	/varset plee[3] "Char3"
	/varset plee[4] "Char4"
	:loop
	/if (${Me.Standing} && !${Me.Mount.ID}) /sit
	/doevents
	/if (${Me.PctHPs}<20) {
		/gate
		/endm
	}
	/for j 1 to 4
		/target ${plee[${j}]}
		/delay 1s
		/if (${Target.PctHPs}<50) {
		/call cast "Complete Heal" gem9 4s
		}
	/next j
	/goto :loop
/return	


|------------------------------------------------------|
|               EXAMPLE
|------------------------------------------------------|
|Sub Event_invis(string, playername)
|	/echo ${playername} has lost invisibility
|	/target ${playername}
|	/call cast "Invisibility" gem8 4s
|/return
|------------------------------------------------------|


Sub Event_hpbuff(string, playername)
	/echo ${playername} needs HP buff
	/target ${playername}
	/call cast "Temperance" gem8 4s
/return

Sub Event_meleeguard(string, playername)
	/echo ${playername} needs Melee Guard
	/target ${playername}
	/call cast "Protection of Vie" gem7 4s
/return

Sub Event_gate
	/gate
	/endmacro
/return
 
Last edited:
This works like a champ. I removed the delay in cycling through the toons and pets and I added a duration heal 5% before the healing spell. Works great! Thanks!



Thanks!
 
Looks like a nice macro, please use [ code ] [ /code ] tags no spaces.
 
Thanks for the responses.

The delay was in there for lag, without the delay the CH would occasionally start without a target.

Pugs, I am not a programmer (well, I did learn interpretive BASIC in 1972 on an HP2000F) so I am not sure what you are referring to about the tags. Could you explain a little more please?
 
If you use the [ code] before you enter the macro text and the [ /code] afterwords it will put it into a better format.

eqisdead
 
Rich (BB code):
|---------------------------------------------------------- 
|HealDuel.mac 
|Simple Healer Macro to watch the health of four targets 
| 
|Usage: /mac HealDuel  
| 
|Effect: watch target health and cast specified spell at 
|specified health. This is just like Healwatch.mac but uses 
|spellcast.inc for simplicity/uniformity 
| 
|By Fantum409 (MODIFIED)
|Date: 05/01/2004 
|By Dragonfire (MODIFIED FOR CLERIC WATCHING DUEL from healbot.mac)
|Date: 05/05/2007
|---------------------------------------------------------- 

#include Spell_Routines.inc

#event hpbuff 	"Your Temperance spell has worn off of#1#."
#event meleeguard 	"Your Protection of Vie spell has worn off of#1#."

Sub Main
	/echo Healbot started
	/declare j int outer 0
	/declare plee[4] string outer
	/varset plee[1] "Char1"
	/varset plee[2] "Char2"
	/varset plee[3] "Char3"
	/varset plee[4] "Char4"

:loop
	/if (${Me.Standing} && !${Me.Mount.ID}) /sit
	/doevents
	/if (${Me.PctHPs}<20) {
		|/gate
		/endm
	}
	/for j 1 to 4
		/target ${plee[${j}]}
		/delay 1s
		/if (${Target.PctHPs}<50) {
		/call cast "Complete Heal" gem9 4s
		}
	/next j
	/goto :loop
/return	

| I am not sure where you get the variable playername i think you are going
| for #1# not playername if it works as playname thats cool but i
| don't think it works the other way 

Sub Event_hpbuff(string, playername)
	/echo #1# needs HP buff
	/target #1#
        /delay 1s
	/call cast "Temperance" gem8 4s
/return

Sub Event_meleeguard(string, playername)
	/echo #1# needs Melee Guard
	/target #1#
        /delay 1s
	/call cast "Protection of Vie" gem7 4s
/return

Sub Event_gate
	|/gate
	/endmacro
/return
PS you might look at Higamorphs powerleveling assist macro it is very similar.
 
Thanks Pugs. I think I have it cleaned up a bit.

I added a duration heal as suggested earlier. After using it for an hour, I found out I was running out of mana on the cleric every 30 minutes with the duration heal, but not running out without it. The cleric is mounted. So in this version, I have commented out the Duration Heal event. If you want to use it, just remove the bar in front of the line.

This is being used to skill up some 40-50 level chars by a 70 cleric, so the spells reflect the levels.

The #1# is moved to $playername in the Sub Event line. It is necessary for the targeting to work.

4/2009 Added the PC to the /target lines to keep from targeting pets and familiars.

Rich (BB code):
|---------------------------------------------------------- 
|HealDuel.mac 
|Simple Healer Macro to watch the health of a four targets 
| 
|Usage: /mac HealDuel  
| 
|Effect: watch target health and cast specified spell at 
|specified health. This is just like Healwatch.mac but uses 
|spellcast.inc for simplicity/uniformity 
| 
|By Fantum409 (MODIFIED)
|Date: 05/01/2004 
|By Dragonfire (MODIFIED FOR CLERIC WATCHING DUEL from healbot.mac)
|Date: 05/06/2007
|---------------------------------------------------------- 

#include Spell_Routines.inc

#event hpbuff 	"Your Temperance spell has worn off of #1#."
#event meleeguard 	"Your Protection of Vie spell has worn off of #1#."
|#event durationheal "Your Celestial Elixir spell has worn off of #1#."


|------------------------------------------------------------|
|               EXAMPLE
|------------------------------------------------------------|
|#event invis "Your Invisibility spell has worn off of #1#."
|------------------------------------------------------------|


Sub Main
	/echo HealDuel started
	/declare j int outer 0
	/declare plee[4] string outer
	/varset plee[1] "CHAR1"
	/varset plee[2] "CHAR2"
	/varset plee[3] "CHAR3"
	/varset plee[4] "CHAR4"

:loop
	/if (${Me.Standing} && !${Me.Mount.ID}) /sit
	/doevents
	/if (${Me.PctHPs}<20) {
		/gate
		/endm
	}
	/for j 1 to 4
		/target PC ${plee[${j}]}
		/delay 1s
		/if (${Target.PctHPs}<50) {
		/call cast "Complete Healing" gem9 4s
		}
	/next j
/goto :loop

/return	


|------------------------------------------------------|
|               EXAMPLE
|------------------------------------------------------|
|Sub Event_invis(string, playername)
|	/echo ${playername} has lost invisibility
|	/target PC ${playername}
|	/delay 1s
|	/call cast "Invisibility" gem8 4s
|/return
|------------------------------------------------------|


Sub Event_hpbuff(string, playername)
	/echo ${playername} needs HP buff
	/target PC ${playername}
	/delay 1s
	/call cast "Temperance" gem8 4s
/return

Sub Event_meleeguard(string, playername)
	/echo ${playername} needs melee guard
	/target PC ${playername}
	/delay 1s
	/call cast "Protection of Vie" gem7 4s
/return

Sub Event_durationheal(string, playername)
	/echo ${playername} needs a duration heal
	/target PC ${playername}
	/delay 1s
	/call cast "Celestial Elixir" gem6 4s
/return

Sub Event_gate
	/gate
	/endmacro
/return
 
Last edited:
You know, I found the cleric went OOM with a duration heal as well. It was cut out of my macro as well.
 
HoT spells are not very mana efficient really. You end up going OOM faster using it then you would just casting CH for some reason.

Duo some Icestorm in BoT with a cleric and warrior and you'll see what i mean. If I HoT my warrior and just use CH's when they are needed I will be at about 10m by the end of the fight... Now the same fight with just using HoT every once in a while and mainly using CH's I am normally about 70m by the end of the fight.
 
Cleric Monitoring and Healing a Duel for Skill Increase

Users who are viewing this thread

Back
Top
Cart