• 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

FastHeal 5 Initial Release 3/30/2015

I need to redo healing priorities for heal nukes and put them ahead of remedy anyhow. So that will fix both issues.

Ok. DPS mode was on and it never used a nuke-heal, heal-nuke, or twinheal-triggering nuke. I even opened the Macro and tried to create a time where per-code it should trigger, but it was nearly impossible because the gap left for them is too small. I also noticed a few other things:

1) Autofollow seems to work but it's funny to watch (someone would surely know it was a bot-program running it)
2) My epic shield never fired, but I never looked at the code to see when it should fire.

Here's a parse of 2 DH missions to show what my cleric actually casted:

Cleric - 282
--- Ardent Light - 181
--- Blessing of Sanctuary - 1
--- Burst of Life - 2
--- Divine Peace - 5
--- Fervid Renewal - 1
--- Improved Sanctuary - 1
--- Promised Rehabilitation - 63
--- Quiet Miracle - 2
--- Twincast - 2
--- Veturika's Perseverance - 2
--- Ward of Surety - 4

Quiet Miracle and Veturika's Perseverance I manually casted (damn ranger is always OOM!) I also noticed that Blessing of Sanctuary and Improved Sanctuary fired at the exact same time.

Going back to the autofollow:
If you kill and move really fast the cleric does not catch up quick enough. If she does catch up and she's on a mount there's a good chance she will begin casting while she's still moving. There use to be a trick with an AoN that would instantly stop you if you casted it--I'll have to see if that's still a thing and if it is it may be worth implementing to ensure you're not casting spells that are going to be interrupted. Also the autofollow moves and then stops, moves and then stops. I think this could be solved by recursively calling your DoLeashToon function and adding in the distance formula to tell it when to stop recursively calling itself. Stripping out most of the code you could do the recursive part like this:

DoLeashToon()
Code
Code
Code

if(distance(Me.X, Me.Y, LeashToon.X, LeashToonY) < 100) {
DoLeashToon
}

/return


Here's the distance formula:
http://www.purplemath.com/modules/distform.htm

At work I help with some Geo-spatial Programming and it's amazing how often you use the distance formula.
 
I didn't write the doleashtoon sub and I'll probably strip that out and replace it with a proper follow subroutine. As for you're healing issues, I don't use Light line of spells because they are incredibly inefficient and long casting. 2 Remedies is a must in this macro. Thanks for the Distance formula link, I might code something with that when I get some free time.
 
Here's the distance formula:
http://www.purplemath.com/modules/distform.htm

At work I help with some Geo-spatial Programming and it's amazing how often you use the distance formula.

Your formula does not take into account the z-axis. Do you have a link for 3d environment x, y, z?

Also Everquest is fucked up because they swap the x and y axis so you always have to keep that in mind as well.

I only bring this up because I am looking for the 3d formula myself
 
Your formula does not take into account the z-axis. Do you have a link for 3d environment x, y, z?

Also Everquest is fucked up because they swap the x and y axis so you always have to keep that in mind as well.

I only bring this up because I am looking for the 3d formula myself

There are a few. The most accurate would be VERY complex because we would find the distance between two points on a plane where there is no tangent between the plane and the two points. But a more basic one that would work in zones that aren't tunnels we can use this formula:
((X-A)^2+(Y-B)^2+(Z-C)^2)^(1/2) Where PlayerA: (A,B,D) and PlayerB: (X,Y,Z)

To be honest it never occurred that I should use this formula instead of the 2D formula.

- - - Updated - - -

Your formula does not take into account the z-axis. Do you have a link for 3d environment x, y, z?

Also Everquest is fucked up because they swap the x and y axis so you always have to keep that in mind as well.

I only bring this up because I am looking for the 3d formula myself

There are a few. The most accurate would be VERY complex because we would find the distance between two points on a plane where there is no tangent between the plane and the two points. But a more basic one that would work in zones that aren't tunnels we can use this formula:
((X-A)^2+(Y-B)^2+(Z-C)^2)^(1/2) Where PlayerA: (A,B,D) and PlayerB: (X,Y,Z)

To be honest it never occurred that I should use this formula instead of the 2D formula.
 
on the most common level levitate would be the most likely z-axis diff then stuff like stairs, hills, etc.

^2 = Square root?
 
There are a few. The most accurate would be VERY complex because we would find the distance between two points on a plane where there is no tangent between the plane and the two points. But a more basic one that would work in zones that aren't tunnels we can use this formula:
((X-A)^2+(Y-B)^2+(Z-C)^2)^(1/2) Where PlayerA: (A,B,D) and PlayerB: (X,Y,Z)

To be honest it never occurred that I should use this formula instead of the 2D formula.

600full-monty-python-and-the-holy-grail-screenshot.jpg

You have to know these things when you are a king.
 
Last edited:
View attachment 7285

You have to know these things when you are a king.

I can't see that attachment. ^2 is squared and ^(1/2) is the equivalent of square root.

- - - Updated - - -

I
I didn't write the doleashtoon sub and I'll probably strip that out and replace it with a proper follow subroutine. As for you're healing issues, I don't use Light line of spells because they are incredibly inefficient and long casting. 2 Remedies is a must in this macro. Thanks for the Distance formula link, I might code something with that when I get some free time.

No problem. :) I'm sure I sound like the big complainer but I'm just trying to help make it better. I use this one for all of my boxing needs. I took a look at the benefit to mama cost ratio and if your tank can handle it Ardent Light is more efficient. Take the heal amount and divide it by the mana cost and you'll see it heals for just a little more per mana point. I also changed my heal threshold to be lower since Ardent heals for so much more.
 
No problem. :) I'm sure I sound like the big complainer but I'm just trying to help make it better. I use this one for all of my boxing needs. I took a look at the benefit to mama cost ratio and if your tank can handle it Ardent Light is more efficient. Take the heal amount and divide it by the mana cost and you'll see it heals for just a little more per mana point. I also changed my heal threshold to be lower since Ardent heals for so much more.

Buwhahahahaha. Your mama doesn't cost much.

Sorry noob for hijacking your thread
 
Fukin math nerds...

- - - Updated - - -

No problem. :) I'm sure I sound like the big complainer but I'm just trying to help make it better. I use this one for all of my boxing needs. I took a look at the benefit to mama cost ratio and if your tank can handle it Ardent Light is more efficient. Take the heal amount and divide it by the mana cost and you'll see it heals for just a little more per mana point. I also changed my heal threshold to be lower since Ardent heals for so much more.

You aren't taking into account AAs/focus. Healing Gift and focus items make remedies more mana efficient by a mile.
 
Fukin math nerds...

- - - Updated - - -

You aren't taking into account AAs/focus. Healing Gift and focus items make remedies more mana efficient by a mile.

AAs and focus items are all percentage based which means the ratio is identical. The only exception would be if you had a focus that affected a level 101 spell but not a 103 spell.
 
Last edited:
I can fix the doleash part but actual stick mode can cause this macro screw up because if toons following your tank it will cause your healer to leash and move and mess up your healing i added the delay on moves to secure if he is casting a healing spell so if you want to remove it you can but it took me a few to fix this for the delay without slowing up heals...

- - - Updated - - -

Ill look at it here in a moment on a fix and will post it
 
Factors of why Light sucks:
-Overhealing
-More mana per cast
-Long cast time

It been covered extensively on the cleric forums. Light is horrible, don't use it!
 
Rich (BB code):
Rich (BB code):
light is horrible


Changed doleashtoon follow removed Delay and changed follow to Autofollow



here is Code for noob or someone that wants to add it - I cant atm at work and don't have none of my files


Rich (BB code):
| 
AutoFollow
     /if (!${Spawn[${AutoFollowPC}].ID} || ${Me.Moving} || ${Spawn[${AutoFollowPC}].Distance}<(${AFDist}-1)) 

/return
     /call AcquireTarget ${AutoFollowPC} PC 0
     /if (${Me.Mount.ID} && ${Spawn[${AutoFollowPC}].Distance}>(${AFDist}+1)) /dismount
   :FollowLoop
        /if (!${AutoFollow}) /return
        /if (!${Target.Name.Equal[${AutoFollowPC}]}) /call AcquireTarget ${AutoFollowPC} PC 0
        /face fast
        /if (${Spawn[${AutoFollowPC}].Distance}>${AFDist}) /keypress forward hold
        /if (${Spawn[${AutoFollowPC}].Distance}<(${AFDist}-1)) /keypress back
        /doevents
     /if (${Spawn[${AutoFollowPC}].ID} && ${AutoFollow} && ${Spawn[${AutoFollowPC}].Distance}>${AFDist}) 

/goto :FollowLoop
        /keypress forward
        /keypress back
        /delay 5
     /if (${Spawn[${AutoFollowPC}].Distance}>${AFDist}) /goto :FollowLoop
/return
[CODE#turbo
Sub Main
:Loop
/if (${Target.Distance}>60) /keypress up hold
/if (${Target.Distance}<40) /keypress up
/face fast
/delay 2
/if (${Target.ID}) /goto :Loop
/return
][/CODE]



Follow macro - To start /Mac follow for those that use Mq2BOT for your healer's and toons
 
Last edited:
Factors of why Light sucks:
-Overhealing
-More mana per cast
-Long cast time

It been covered extensively on the cleric forums. Light is horrible, don't use it!

Can you give me some links to the discussion? "Math Nerds" like numbers to look at.

- - - Updated - - -

I only bring this up because I am looking for the 3d formula myself

I typed this in game to check and it seems to work:

/declare d int ${Math.Sqrt[${Math.Calc[${Math.Calc[${Math.Calc[${Me.X} - ${Target.X}]} * ${Math.Calc[${Me.X} - ${Target.X}]}]} + ${Math.Calc[${Math.Calc[${Me.Z} - ${Target.Z}]} * ${Math.Calc[${Me.Z} - ${Target.Z}]}]} + ${Math.Calc[${Math.Calc[${Me.Y} - ${Target.Y}]} * ${Math.Calc[${Me.Y} - ${Target.Y}]}]}]}]}

That will set d to the distance between you and your target (taking X,Y,Z into account for both characters.
 

Hmm interesting. I wonder how introducing Celestial Rapidity into the mix would change things. I'll see about doing some heal parses too... he said that was an average over 100 heals but I'm not sure 100 heals is enough to get a solid average. On Dead Hills missions I still think Ardent Light is better if your tank can take one heal. Otherwise you need two remedy heals. I will say that based on that post Noob is right.
 
I'm not much for numbers, but overhealing with a properly AA'd and geared cleric is very easy to do. Light vs Remedy maybe a thing if you're cleric has really shitty gear and no AAs, but if you are playing in current content and the cleric has at least the auto-grants, Remedy is pretty sweet. I made the same mistake myself when I came back, using light is just what I was used to, until I saw various people telling me not to use it hehe.

- - - Updated - - -

I'm going to try that distance check you have there, that looks like some good stuff ;)
 
FYI MQ2 has a math tlo for distance

Rich (BB code):
${Math.Distance[y,x,z:y,x,z]}
Calculates the distance between two points on the map
1, 2, or 3 dimensions may be provided
Defaults to your character's current location
 
FYI MQ2 has a math tlo for distance

Rich (BB code):
${Math.Distance[y,x,z:y,x,z]}
Calculates the distance between two points on the map
1, 2, or 3 dimensions may be provided
Defaults to your character's current location

Oh very nice! There is so much content on the MQ wiki that it's easy to miss stuff.

- - - Updated - - -

I'm not much for numbers, but overhealing with a properly AA'd and geared cleric is very easy to do. Light vs Remedy maybe a thing if you're cleric has really shitty gear and no AAs, but if you are playing in current content and the cleric has at least the auto-grants, Remedy is pretty sweet. I made the same mistake myself when I came back, using light is just what I was used to, until I saw various people telling me not to use it hehe.

- - - Updated - - -''

I'm going to try that distance check you have there, that looks like some good stuff ;)

I think I never noticed the over healing problem because I also changed the heal threshold to be lower. So instead of casting heals at 80% I had it set to 65% because I knew most fights in a DH mission would be over after 1 heal and then the Promised Heal would put me back at 100% afterwards. So I could box a DH mission in 12-13minutes and the only one who would be OOM is the ranger (who is tanking). I had some downshits set to trigger AAs on the cleric if I pulled a bunch which made the slower heals not a problem and more of a matter of only casting 1 heal during the battle versus two. Finishing a mission in 12-13minutes usually means you can do 1 then pop LoTD then do two more and get the double experience for all three! :)
 
Any chance you can post those downshits you using for your cleric? I'm interested in adding some AAs into the macro.
 
Any chance you can post those downshits you using for your cleric? I'm interested in adding some AAs into the macro.

They're real ugly. :( I'll post what they accomplish and you can implement them that way. Otherwise you'd have the break out a magic decoder ring for it to make sense. Had a ton of them doing the same thing but set for different group sizes since I couldn't get the group average in a downshit.
 
Ok I'm still testing this, but here is my quick revamp of the follow function. I gutted it and just wrote a very simple approach to the follow. I think you all are just over complicating it. I just deleted all the previous sub and variables. There is now only 1 variable, the playersname. If its not defined and left NULL then it won't launch into this SUB. I also cut out a bunch of the crap. No more targeting for loops and local vars, just good ole straight forward mq2moveutils.

Rich (BB code):
|----------------------------------------------------------------------------
| SUB: FollowToon
|---------------------------------------------------------------------------- 

Sub FollowToon
/if (${Spawn[PC ${FollowToonName}].ID}) {
	/if (${Me.Dead}) /return
	/if (${Spawn[pc ${FollowToonName}].Distance}>35 && !${Spawn[pc ${FollowToonName}].Dead}) {
		 /squelch /stick id ${Spawn[pc ${FollowToonName}].ID} 18
		 /delay 2s ${Spawn[pc ${FollowToonName}].Distance}<20
		 /squelch /stick off
	}
}
/return
 
Ok I'm still testing this, but here is my quick revamp of the follow function. I gutted it and just wrote a very simple approach to the follow. I think you all are just over complicating it. I just deleted all the previous sub and variables. There is now only 1 variable, the playersname. If its not defined and left NULL then it won't launch into this SUB. I also cut out a bunch of the crap. No more targeting for loops and local vars, just good ole straight forward mq2moveutils.

Rich (BB code):
|----------------------------------------------------------------------------
| SUB: FollowToon
|---------------------------------------------------------------------------- 

Sub FollowToon
/if (${Spawn[PC ${FollowToonName}].ID}) {
	/if (${Me.Dead}) /return
	/if (${Spawn[pc ${FollowToonName}].Distance}>35 && !${Spawn[pc ${FollowToonName}].Dead}) {
		 /squelch /stick id ${Spawn[pc ${FollowToonName}].ID} 18
		 /delay 2s ${Spawn[pc ${FollowToonName}].Distance}<20
		 /squelch /stick off
	}
}
/return

I like it. I wonder if it would be worth increasing the distance apart though for mounted characters (since they keep moving a little) and then depending on how that works maybe have the FollowToon function call itself as the last line inside the IF. Then It will keep following if your FollowToonName character is still moving... after all being in range of a heal is just as important as casting the heal. :)
 
Yeah basically it just takes your character and if the distance is greater than 35 it will move it to less than 20 and turn stick off. This should eliminate the rubber banding.
 
Yeah basically it just takes your character and if the distance is greater than 35 it will move it to less than 20 and turn stick off. This should eliminate the rubber banding.

Oh gotcha. That was what I wanted to watch out for. Cleric died more than a few times because she'd rubber band past me two or three times and eventually into a big pile of mobs.
 
New follow method working extremely well, pretty much done testing it. I'll probably push the new version here in a few. I'm still seeing some wierdness with sitting and standing that I am testing out.

- - - Updated - - -

Looks pretty good, I don't want to get to far into my feature additions between releases. 5.2 is complete and ready for the masses.
 
Do you expect to get to the nuke/heal-nuke priority changes for v5 or is that down the road? Still works great for me either way so waiting isn't a big deal :P
 
New follow method working extremely well, pretty much done testing it. I'll probably push the new version here in a few. I'm still seeing some wierdness with sitting and standing that I am testing out.

- - - Updated - - -

Looks pretty good, I don't want to get to far into my feature additions between releases. 5.2 is complete and ready for the masses.

the autofollow method working better then doleashtoon ? I removed the pause from it - but im still getting weirdness when medding if I move Mt - them pausing 3 seconds before moving is that what your getting ?
 
Try it now, they should have top priority, but let me know if they aren't I haven't been able to test it on a high level cleric yet. Mine just dinged 70.

- - - Updated - - -

the autofollow method working better then doleashtoon ? I removed the pause from it - but im still getting weirdness when medding if I move Mt - them pausing 3 seconds before moving is that what your getting ?

Considerably better than doleashtoon.
 
]Considerably better than doleashtoon

not sure how much cleaner I can get it - you have any idea's ? or see anything ?
 
Its really 2 completely different takes on follow. Yours uses keypresses and mine relies on mq2moveutils. Each has its downside, but its just a matter of preference. Try them both out and see which one you like better.
 
I made me another cleric im pushing out to 105

Things this macro should do that I am working on is utilize raid utilities

Extinguish benidic -
Burst of life
Healing frenzy
Flurry of life or whatever cant remember * sold my clerics " had to make another one
Celestial Regin
Celestial Rapid
Second SPire
Divine Guardian
Radiant Cure
Group Purify
Healing Ward
Issuance of Grace


A lot of things that a cleric utilizies on raids and or in group content if pulling 4-6 at a time
 
One awesome one would be Issuance of Grace + F. Rejuvenation + Issuance of Grace for named or emergency. Dunno how difficult that would be. I know it's used on raids constantly though.
 
Cleric Raid burn

alt acts
Rich (BB code):
/alt act 494 (Silent Casting)
/alt act 137 (Beacon of Life)
/alt act 7689 (Burst of Life)
/alt act 463 (Divine Guardian)

Link below is a healing spread sheet for heals/ base times ect...

Rich (BB code):
https://docs.google.com/spreadsheets/d/1SNUqenuWIgo4BDog9DFfLOTaYFho5zh-WDTXaumDnw0/edit#gid=0




The best -> worst heal order - I did these calculations again (spreadsheet link) using the heal equation, average focus, crit rate (currently 50% I believe), etc. I didn't include SB/Vie, as no one is going to be spamming those, and the buff spells included need a spell slot devoted to them. I sorted most of our heal spells from 88-100 by the following:
&#8226;Average Healing on 1 PC / Cast Time
&#8226;Average Healing (of the spell) / Cast Time
- group heals/HoTs were given 3 targets, Splash and IoG get 20 targets. HoTs only get 50% of their max.
&#8226;Average Healing on 1 PC / Total Cast Time (cast + recast with AA etc)
&#8226;Average Healing (of the spell) / Total Cast Time
- useful mainly for seeing the "value" of a spell over an extended period of time. Helpful for deciding if something is worth the spell slot.

my preference for normal raid line up



1 - Graceful Remedy

2 - Virtuous Intervention <-------- changed to new remedy

3 - Elysian Intervention <------------ Changed to Mystical Intervention

4 - Fraught Renewal

5 - Fervent Renewal

6 - Olsif's Retort / WoR / cures <------ changed to Virtuous Intervention ( becauses Bother renewals have cure components in them don't need Cures up with group heal up

7 - Ward of Certitude <----- Added this to Gem slot 1 - as this is a 20k base heal ( rune Basicly ) and a proc heal after - and a big help then just moved heals down in order

8 - Reforming Splash <--------- Rotate this with DI - and Cure's as needed

9 - Issuance of Grace <------USed on heals like Bixie - neriak 1 - Ewk 1 - Argin Hiz - ect....

10 - Elixir of the Acquittal / buffs <------ Also a major need - for raids as the heal / cure component keeps me from using up spell slot for cure's

11 - Syllable of Renewal <---- Replaced with 105 Word of -

12 - Divine Interposition <---------- Buff slot for DI , HP buff - ect.........
 
Thanks for the feedback wannabe, Let me know how the nukes are working now guys. I wasn't able to test, just a blind code.

- - - Updated - - -

Nuking is messed up in 5.2 only nukes and no heals. Fixing this now will post 5.3 shortly.

- - - Updated - - -

Ok just released 5.3 which should fix the nuking issues
 
My Heal Disc Hotkey is as follows:

Rich (BB code):
Line1=/alt activate 997
Line2=/alt activate 6488
Line3=/alt activate 8500
Line4=/alt activate 1471 (this is 2nd cleric 2nd spire)
Line5=/useitem 17



#997 - Celestial Rapidity: Increase Spell Haste by 50%

Not limited by normal haste restrictions.
Graceful Remedy 0.5s becomes 0.3s
Virtuous Intervention 1.5s becomes 0.8s
Reverent Light 3.8s, focused to 2.3, becomes 1.9s
Word of Renewal 2.7s becomes 2.3s



#6488 - Flurry of Life: Increase Healing by 30%


#8500 - Healing Frenzy:

Duration: 12s (2 ticks), Extend: Yes
1: Increase Spell Mana Cost by 50% to 80%
2: Increase Chance to Critical Heal by 100%



#1417 - Second Spire of Divinity: Increase Healing Bonus by 2000
 
My Heal Disc Hotkey is as follows:

Rich (BB code):
Line1=/alt activate 997
Line2=/alt activate 6488
Line3=/alt activate 8500
Line4=/alt activate 1471 (this is 2nd cleric 2nd spire)
Line5=/useitem 17



#997 - Celestial Rapidity: Increase Spell Haste by 50%

Not limited by normal haste restrictions.
Graceful Remedy 0.5s becomes 0.3s
Virtuous Intervention 1.5s becomes 0.8s
Reverent Light 3.8s, focused to 2.3, becomes 1.9s
Word of Renewal 2.7s becomes 2.3s



#6488 - Flurry of Life: Increase Healing by 30%


#8500 - Healing Frenzy:

Duration: 12s (2 ticks), Extend: Yes
1: Increase Spell Mana Cost by 50% to 80%
2: Increase Chance to Critical Heal by 100%



#1417 - Second Spire of Divinity: Increase Healing Bonus by 2000


Ardent Light and Reverent light are useless heals i never use them so dont even look at there timer's or stuff -

Second spire also increases spell Landing % too
 
Also notice that Yaulp AA get blocked by Ranger Strength buff called Strenth of Copsestalker and the mac just tries to cast the AA over and over and forget to heal.
 
Noob could you give me a general sequence of events that the macro follows. You can send it in a PM if you want but thinking about how the DoLeashToon was over complicated has me wondering if other parts are also over complicated. I can read through the code and decipher the sequence but I'd rather have a list to look at. I've started writing a SimpleHeals macro that seems to work pretty well but all it does right now is a couple single target heals and a group heal. I'm trying to make the code as easy to read as possible because I want people to be able to make changes to suit their needs easier.
 
FastHeal 5 Initial Release 3/30/2015

Users who are viewing this thread

Back
Top
Cart