• 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 - Support Shaman BP clicks

Joined
May 22, 2015
RedCents
3,467¢
From my debugging, it appears that kissassist treats the shaman BP (CotF and TDS, and maybe earlier) as a group heal, instead of an intervention type heal.

http://lucy.allakhazam.com/item.html?id=140305 (Raid BPs are XXXXXX Spiritwalker Coat)
http://www.raidloot.com/Spells.aspx?name=rejuvenation+of+the+ancestors

Here is my INI, Tideworn Coat of the Diviner is the item in question
Rich (BB code):
[Heals]
Help=Format Spell|% to heal at i.e. Devout Light Rk. II|50
HealsOn=1
Heals1=Tideworn Coat of the Diviner|45
Heals2=Historian's Intervention|40
Heals3=Reckless Regeneration|50
Heals4=Krasir's Recourse|70
Heals5=Krasir's Mending|70
Heals6=Union of Spirits|20|MA
Heals7=NULL
Heals8=NULL
Heals9=NULL
Heals10=NULL
Heals11=NULL
Heals12=NULL
Heals13=NULL
Heals14=NULL
Heals15=NULL
XTarHeal=0
AutoRezOn=1
AutoRezWith=Call of the Wild

As an FYI, I'm thinking of lowing the HP threshold for intervention and coat.

Here is my working, although rough patch:
Rich (BB code):
diff --git a/kissassist.mac b/kissassist.mac
index 957c013..1825889 100644
--- a/kissassist.mac
+++ b/kissassist.mac
@@ -2795,7 +2795,7 @@ Sub CheckPetBuffs
             /if (${Spawn[${SHealThem}].Type.Equal[Pet]}  && (${HealSpell.Find[Aegis of Superior Divinity]} || ${HealSpell.Find[Harmony of the Soul]} ||  ${HealSpell.Find[Divine Arbitration]})) /goto :SNextHeal
             /if (!${Spawn[${SHealName} ${SHealType} group].ID} && (${HealSpell.Find[Aegis of Superior Divinity]} || ${HealSpell.Find[Harmony of the Soul]} ||  ${HealSpell.Find[Divine Arbitration]})) /goto :SNextHeal
             | intervention and survival lines only work on group members
-            /if (!${Spawn[${SHealName} ${SHealType} group].ID} && ${Select[${Me.Class.Name},Druid,Shaman]} && (${HealSpell.Find[Intervention]} || ${HealSpell.Find[Survival]})) /goto :SNextHeal
+            /if (!${Spawn[${SHealName} ${SHealType} group].ID} && ${Select[${Me.Class.Name},Druid,Shaman]} && (${HealSpell.Find[Intervention]} || ${HealSpell.Find[Coat of the Diviner]} || ${HealSpell.Find[Survival]})) /goto :SNextHeal
             | Check For Life Taps
             /if (${SHealTag.Find[Tap]}) {
                 /if (!${Pulled} && ${CombatStart} && ${Me.PctHPs}<=${SHealPct} && ${Spawn[${MyTargetID}].ID} && ${Spawn[${MyTargetID}].Distance}<=${SHealRange} && ${Spell${i}GM0}==0) {
@@ -5051,7 +5051,7 @@ Sub FindSingleHeals
             /varset SingleHeal[${SHCount}] ${Heals[${i}]}
             /goto :NextSH
         }
-        /if (${Select[${Me.Class.Name},Druid,Shaman]} && (${HealSpell.Find[Intervention]} || ${HealSpell.Find[Survival]})) {
+        /if (${Select[${Me.Class.Name},Druid,Shaman]} && (${HealSpell.Find[Intervention]} || ${HealSpell.Find[Coat of the Diviner]} || ${HealSpell.Find[Survival]})) {
             /varcalc SHCount ${SHCount}+1
             /varset SingleHeal[${SHCount}] ${Heals[${i}]}
             /goto :NextSH
@@ -5085,7 +5085,7 @@ Sub FindGroupHeals
         /if (${Debug}) /echo ${HealSpell}
         /if (!${HealSpell.Length} || ${HealSpell.Equal[null]} || ${Select[${Spell[${HealSpell}].TargetType},Single,Self]} || ${Spell[${FindItem[${HealSpell}].Spell}].TargetType.Find[self]} || ${HealSpell.Find[Aegis of Superior Divinity]} || ${HealSpell.Find[Harmony of the Soul]}) /goto :NextGH
         /if (${HealSpell.Find[Burst of Life]} || ${HealSpell.Find[Focused Celestial Regeneration]}) /goto :NextGH
-        /if (${Me.Class.Name.Equal[Shaman]} && ${Spell[${HealSpell}].Name.Find[Intervention]} || ${Me.Class.Name.Equal[Druid]} && ${Spell[${HealSpell}].Name.Find[Survival]}) /goto :NextGH
+        /if (${Me.Class.Name.Equal[Shaman]} && (${Spell[${HealSpell}].Name.Find[Intervention]} || ${HealSpell.Find[Coat of the Diviner]}) || ${Me.Class.Name.Equal[Druid]} && ${Spell[${HealSpell}].Name.Find[Survival]}) /goto :NextGH
         /if (${Spell[${HealSpell}].TargetType.Find[group]} || ${Spell[${FindItem[${HealSpell}].Spell}].TargetType.Find[group]} || ${Spell[${HealSpell}].TargetType.Find[Targeted AE]} && !${Select[${Heals[${i}].Arg[3,|]},MA,ME]}) {
             /varcalc GHCount ${GHCount}+1
             /varset GroupHeal[${GHCount}] ${Heals[${i}]}

As you can see, this is a bit rough and only supports the group version of the shaman BP. Older shaman BPs with same naming convention have a different self only damage absorb buff. Perhaps it would be possible to check if it's a shaman BP, and spell is a v2 group target instead of string comparison.

I have two bonus questions as well.
1. If everything was up, and the tank suddensly went to 10% health, which heal would be used? Is it deterministic?
2. Krasir's Recourse - I don't see the shaman ever using this. This is the next thing I'm looking into, any know if this works?

For my homework, I'm working on a holyshit that will use force rejuvenation if both Intervention and coat are on cooldown.

Thanks,

Winnower
 
Last edited by a moderator:
I have no clue what you are having issues with.... to be honest.

You are stating that KissAssist is treating the clicky spell from the breastplate as a group heal instead of an interventional heal.... well.. that is how the BP works... KissAssist does not make the BP clicky work any differently than how it normally works.

"Tideworn Coat of the Divine" has the clicky spell "Preservation of the Ancestors", which has "Target Type: Group v2". "Calls upon the spirits of your ancestors to heal your group members for 4000 to 20000 health. The lower the health of your companions, the more they will be healed."

So the heal amount can vary from 4k to 20k depending on how hurt the group member is. But it IS a group heal.... thats is a plain fact, and KissAssist treats it accordingly.

Remember.. group heal spells are fired at the average percentage of group health.

Direct quote from the KA manual:
"Group Heal Spells percentage represents an Average Group Heath. ie 3 toons at 50 70 100 health = 220/3 = 73% averaged group health."

So perhaps the 45 you are using is not the best value.. because to have the group average health be 45.. means your group is critically low on health.

Heals1=Tideworn Coat of the Diviner|45

Perhaps I am not fully understanding your issue... what exactly are you having issues with.


P.S.: Please read the sticky on official policy for KA support tickets... only use PROBLEM or BUG emoticons for the threads. I'm trying to get RedBot to remove the other ones for this subforum. I will change it from current "Request" to "Problem"
 
OK, forgot the BP for a second. Take a look at Historian's Intervention and KissAssist's current treatment of it. KissAssist has special logic not to treat this as a group heal , but as a single target heal (grep "Find[Intervention]"). Because this is the shaman's "oh shit, somebody is critical low, this spell will cast fast and heal them for a lot (if they hurt a lot)". In the same spots in the diff I added the BP, there is the existing logic to treat this shaman "group" heal special. It looks like druids have a similar spell but I'm not familiar with it. I just want KissAssist to use this existing logic for Shaman's Intervention line, with the BP click. Because they are the exact same type of spell. As you see in the INI, I have Historian's Intervention set to 40% threshold, and it is working perfectly for me.

Does that clear it up?

Also I've been pretty happy with my patched version that I've been running.

Thanks much
 
I don't think Kiss was coded to detect group/single heal in items. It's probably just wants to click the item at a toons % health.
 
Stock Kiss treats it as a group heal. I debugged this by doing /debugheal and noticing that it was treating intervention as single heal, and BP as group.

I feel like I'm having a hard time getting my point accross here. Let me summarize:
* Stock Kiss treats BP as a group heal.
* Stock Kiss treats the normal Shaman Intervention spell line as a single heal. This is an exception case in stock Kiss, need to understand the reasoning and existence of this exception for any of this to make sense..
* I would like Kiss to treat BP click like it does the normal Shaman Intervention line (my patch does that, though it's ugly).
 
Ok... gotcha.... I fully understand now...

But that would mean adding in a new exclusion set to the routine. Similar to but in many ways different to the exclusion now in it for the intervention line.

Compiling a list of all the clicky BP's for shaman's that are effeted by this is rather intense. Since every expansion has its own naming system for the +5 level equivilent, an exclusion would have to be made for the single/group/raid bp's that have this type of clicky effect.

Not a pleasant thought.

Just saying... i finally got it.. and am distressed at the implications (for me). lol

Unless I works up some magic outta my keister to associate the items differently in the code... like identifying it's an item (easy) identifying its usable only by shaman class (easy), identify it is worn on chest slot (easy)... identifying it's spell effect as a beneficial spell (easy) ... and a few other unique identifiers to the item's effect that would allow me to isolate them as a whole ................................then apply a mass exclusion for it, with just a single conditional expression to cover the whole condition set....... in essence covering all the shaman bp clickies...in just 5 lines of code addition..

hmmmmm nevermind.. just thinking to myself again.
Forget I already have 3/4 of the solution in my head.


Status updated to Being Investigated for now, till I confer with lizardboy.
 
Well, I'm ok as is now, would just prefer not to have to maintain my own patched version and figured other people might enjoy as well.

Unfortunately the TLOs for spell data doesn't have a lot of stuff to make an informed decision on. I was hoping you would know a way to clean up a hacky patch.

However, adding this BP has uncovered a more general problem. It's like there is heal lag for hp going up, and will try to cast the bp right after intervention, or vice versa. Do people see this type of issue with other none spell heals, like divine arbitration or cleric epic?
 
Last edited:
Problem - Support Shaman BP clicks

Users who are viewing this thread

Back
Top
Cart