• 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

Problem - KissAssist Interrupting Cures

DankDD

Active member
Joined
May 17, 2023
RedCents
593¢
Hey all. I've tried to search several ways for anyone previously asking this question and couldn't find anything that seemed to address it, I apologize if I simply failed to find it.

I have an issue with my cleric. She seems to refuse to cast any Cures based on the HP of the target. The feedback looks like this -

1716373175546.png

It does it for all types of cures though. I can't find a setting in the INI that seems to check HP before casting a cure. My INI on cures looks like this -

1716373515345.png
Anyone know what's happening? Thanks!
 
Some years ago the Cures section seemed to be a work in progress. I got out of the habit of using it at all. On my 125 max everything group I don't even bother with cures at all. On my 115 FTP group I just put a single cure in my Heal section. It will fire sort of as a last resort. Heals9=Cleansed Blood|60

Where it mattered I used MQ2Events to force an appropriate cure. This was back in Torment of Velious.

[CODE title="mq2events requester code"]
[NeedRestlessIceCure]
trigger=#.#You have taken #*# damage from Restless Ice Infection.#*#
command=/tell My_Cleric I need a cure for Restless Ice!

[NeedShardCure]
trigger=#.#A shard of bone begins to wriggle toward your heart.#.#
command=/tell My_Cleric I need a cure for Restless Ice!
[/CODE]

[CODE title="mq2events curer code"]
[DoRestlessIceCure]
trigger=#*# tells you, 'I need a cure for Restless Ice!'
command=/multiline ; /mqp on ; /stopcast ; /rt ; /cast 12 ; /mqp off
[/CODE]
 
Hey all. I've tried to search several ways for anyone previously asking this question and couldn't find anything that seemed to address it, I apologize if I simply failed to find it.

I have an issue with my cleric. She seems to refuse to cast any Cures based on the HP of the target. The feedback looks like this -

View attachment 61796

It does it for all types of cures though. I can't find a setting in the INI that seems to check HP before casting a cure. My INI on cures looks like this -

View attachment 61798
Anyone know what's happening? Thanks!

Yeah this is weird. I was taking a look at kissassist.mac and it looks like CheckCures calls CastWhat calls CastSpell which can then call CastInteruptHeals. In CastInteruptHeals it looks at some variable SHealPct which gets set in SingleHeal...so it sort of looks like if you possibly have any single target heal configured or the last one (not sure on this part exactly) that has a heal percentage that's > 65, that seems like it can trigger the cure to be canceled via this code in CastInterupHeals:

/if (${Target.Type.NotEqual[npc]} && ${SHealPct}>65 && ${Target.PctHPs}>${SHealPct} && !${CIHSpell.Find[promised]}) {
/stopcast
/varset CastResult CAST_CANCELLED
/echo ${CIHSpell} interrupted. Target is above required ${SHealPct}% health. ${Target}

The above echo looks to match the message you've included. What's extremely weird to me is that I'm 99% sure I've used cures before on my cleric and it's worked. But then again I also know that my cleric has single target heals where the heal percentage is configured to be < 65...so maybe that's why it worked, but for you, SHealPct seems to be set to 90 based on the message you're seeing and for me it was getting set to something < 65 so it wasn't canceling the cast for me.

Now CastSpell only conditionally calls CastInteruptHeals based on this code:

else /if (${sentFrom.Equal[Cure]} && (${CastingInterruptOn}&32)==32) {
/call CastInteruptHeals "${WhatSpell}" ${miscFlag}
} else /if (${sentFrom.Equal[MezMobs]} && (${CastingInterruptOn}&16)==16) {


So it looks like if you set CastingInterruptOn to 1 in your .ini file, it will get set to a value where the above condition will be true....so I think if you set it to 0, it would cure...but that's probably not what you want really either since you do probably want to interrupt other casts. So 1 way you could try to work around the issue would be to comment out the call to CastInteruptHeals from CastSpell (that's I've show above for just the cure condition....so it shouldn't ever do the health check to see if it is going to cancel the cure.

So you could try and change the above code to something like this:

else /if (${sentFrom.Equal[Cure]} && (${CastingInterruptOn}&32)==32) {
| /call CastInteruptHeals "${WhatSpell}" ${miscFlag} **** add the 'l' at the start of this line to prevent the call to interrupt the cure ***
} else /if (${sentFrom.Equal[MezMobs]} && (${CastingInterruptOn}&16)==16) {

That's a hacky sort of work around for you maybe. I'm not sure but I think the logic in CastInteruptHeals seems off to me somehow, especially for a cure spell...so maybe it's a valid change. I'm not sure under what conditions you would possibly want to interrupt a cure....but if there was some, I don't think CastInteruptHeals is currently set up for it.
 
Yeah this is weird. I was taking a look at kissassist.mac and it looks like CheckCures calls CastWhat calls CastSpell which can then call CastInteruptHeals. In CastInteruptHeals it looks at some variable SHealPct which gets set in SingleHeal...so it sort of looks like if you possibly have any single target heal configured or the last one (not sure on this part exactly) that has a heal percentage that's > 65, that seems like it can trigger the cure to be canceled via this code in CastInterupHeals:

/if (${Target.Type.NotEqual[npc]} && ${SHealPct}>65 && ${Target.PctHPs}>${SHealPct} && !${CIHSpell.Find[promised]}) {
/stopcast
/varset CastResult CAST_CANCELLED
/echo ${CIHSpell} interrupted. Target is above required ${SHealPct}% health. ${Target}

The above echo looks to match the message you've included. What's extremely weird to me is that I'm 99% sure I've used cures before on my cleric and it's worked. But then again I also know that my cleric has single target heals where the heal percentage is configured to be < 65...so maybe that's why it worked, but for you, SHealPct seems to be set to 90 based on the message you're seeing and for me it was getting set to something < 65 so it wasn't canceling the cast for me.

Now CastSpell only conditionally calls CastInteruptHeals based on this code:

else /if (${sentFrom.Equal[Cure]} && (${CastingInterruptOn}&32)==32) {
/call CastInteruptHeals "${WhatSpell}" ${miscFlag}
} else /if (${sentFrom.Equal[MezMobs]} && (${CastingInterruptOn}&16)==16) {


So it looks like if you set CastingInterruptOn to 1 in your .ini file, it will get set to a value where the above condition will be true....so I think if you set it to 0, it would cure...but that's probably not what you want really either since you do probably want to interrupt other casts. So 1 way you could try to work around the issue would be to comment out the call to CastInteruptHeals from CastSpell (that's I've show above for just the cure condition....so it shouldn't ever do the health check to see if it is going to cancel the cure.

So you could try and change the above code to something like this:

else /if (${sentFrom.Equal[Cure]} && (${CastingInterruptOn}&32)==32) {
| /call CastInteruptHeals "${WhatSpell}" ${miscFlag} **** add the 'l' at the start of this line to prevent the call to interrupt the cure ***
} else /if (${sentFrom.Equal[MezMobs]} && (${CastingInterruptOn}&16)==16) {

That's a hacky sort of work around for you maybe. I'm not sure but I think the logic in CastInteruptHeals seems off to me somehow, especially for a cure spell...so maybe it's a valid change. I'm not sure under what conditions you would possibly want to interrupt a cure....but if there was some, I don't think CastInteruptHeals is currently set up for it.
Thank you very much man, I'm gonna try this out shortly. :D

Its a very interesting behavior. My highest heal is set to cast at 90%, and one as low as 45%. And funny enough, the cleric does cure some things using Radiant. Its hard to pin down what's happening.
 
Problem - KissAssist Interrupting Cures

Users who are viewing this thread

Back
Top
Cart