• 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

Question - How to tell if a HoT is already on a toon

ButtKoWitz

Member
Joined
Mar 23, 2023
RedCents
342¢
I'm not using KissAssist, nor MQ2Heals. Everything I searched for here seems to be related to KissAssist (which, again, I'm not using). I am making my own Lua's, and trying to get my clerics to toss HoTs on a target, but only if the target doesn't already have the HoT.
In my various coding attempts, the cleric just typically ends up endlessly casting the HoT until he's low on mana. :p I cannot for the life of me figure out if the target has the HoT.

mq.TLO.Spawn(toonname).Buff(HoTname)() doesn't work
mq.TLO.Spawn(toonname).Buff(HoTname).Duration() doesn't appear to work. (have tried .Duration.Seconds() and Duration.TIcks())
mq.TLO.Spawn(toonname).Buff(HoTname).HasSPA('100') doesn't appear to work

I have no clue how, or if I CAN, tell if a specific HoT is on the target or not.

Any help appreciated!
 
I'm not using KissAssist, nor MQ2Heals. Everything I searched for here seems to be related to KissAssist (which, again, I'm not using). I am making my own Lua's, and trying to get my clerics to toss HoTs on a target, but only if the target doesn't already have the HoT.
In my various coding attempts, the cleric just typically ends up endlessly casting the HoT until he's low on mana. :p I cannot for the life of me figure out if the target has the HoT.

mq.TLO.Spawn(toonname).Buff(HoTname)() doesn't work
mq.TLO.Spawn(toonname).Buff(HoTname).Duration() doesn't appear to work. (have tried .Duration.Seconds() and Duration.TIcks())
mq.TLO.Spawn(toonname).Buff(HoTname).HasSPA('100') doesn't appear to work

I have no clue how, or if I CAN, tell if a specific HoT is on the target or not.

Any help appreciated!
You have to ask the toon via a dnet query or observer
 
Doh yeah, no clue why that didn't register with my brain. Makes total sense now. Thanks!
 
Still having zero luck finding out if a character already has a HoT on them. I have spent hours trying to figure it out. With DanNet or with a script running directly from the active target I cannot find the solution. Any help is appreciated about what the call is to just see if a given HoT is on the toon (seeking Duration, but just knowing if it's on or not is good enough).

mq.TLO....?
Regardless if the HoT is active on the toon or not, I get:
.Me.Buff(hotname) = nil
.Me.Buff(hotname).Duration() = nil
.Me.Buff(hotname).hasSPA('100') = nil
etc...
I assume HoT's are NOT ".Buff()" but some else entirely? Thus my returns are always nil
 
I don't know if it helps, but HoTs can be in the song window.

Example from my Shaman ini:
BuffsCond11=${Me.Song[Spectre of Renewal].ID}
 
I don't know if it helps, but HoTs can be in the song window.

Example from my Shaman ini:
BuffsCond11=${Me.Song[Spectre of Renewal].ID}
Perfect! Indeed it is under Songs. Really had me pulling my hair out.
[CODE lang="Lua" title="Example Lua code"]if mq.TLO.Me.Song(spellname).ID() ~= nil then
...[/CODE]
Above code is from a quick test. I've yet to work on checking duration, but assume I'll get there easily now that I know a HoT is a "song" :p
Thanks much, this has driven me nuts for many hours.
 
Can't you use .Duration instead of ID? I did a quick test, but it seemed unreliable as it gave me the same value for a very long time. With my bonuses, a 24 sec long duration would last 1min24secs, but when I returned the value of duration it echoed the same duration time for well over 50 secs. Maybe that is how it works? With bonuses, it doesn't count down until it reaches the base duration of the spell?
 
Last edited:
Well, I used .ID() in quick test on the server, yet to try to make it consider the duration. I might stick with the .ID() as that seemed pretty reliable and the duration isn't a huge deal for a HoT.
 
You can observe (or query) a characters ${Me.SPA[100]} value. This will return a value for the strength of a Heal Over Time. I had a heck of a time with Shaman and Cleric overwriting each others HoTs so querying a characters spa 100 for a value greater than or equal to whatever hot tick would stop them from wasting mana.
 
Question - How to tell if a HoT is already on a toon

Users who are viewing this thread

Back
Top
Cart