• 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 - Bard: Post mez target change occurs next twist song kicks off

darkeros

Member
Joined
Sep 12, 2004
RedCents
35¢
Version of KissAssist.mac?
11.005
When did your problem start?
N/A
Character Role?
  1. Assist
What class is having this issue?
  1. Bard
How often does this issue occur?
Often
After Bard mezzes last mob in its cycle, it returns to the melee twist. Problem is it kicks off the next song in the melee twist before it clears its' target or switching to the melee target. If you're casting any non-damage song, this is fine. If you have any damage song in your twist, it will eventually mez a mob and start casting that damage song before clearing target, resulting in a broken mez.

Could be cleared up a couple ways:

1.) Clear target before ending mez song
2.) Stop twist before casting mez, start twist after
3.) After mez and clear target, stop twist, then restart it

I'm not sure which is best or easiest as far as coding, but if I'm controlling the bard manually, I stop the twist, mez, restart the twist. Having watched this happen a bunch of times, it looks like it would just take clearing the target before ending the mez song to clear this up.

Edited for clarity/wording
 
Last edited:
In KISS 11.5 /twist once is being used to cast the MezSpell, and directly after casting the MezSpell there is a /target clear that should clear the target.

Rich (BB code):
            } else /if (${IAmABard}) {
                /squelch /twist once ${Me.Gem[${MezSpell}]}
                /delay 35
                /squelch /target clear
                /varcalc MezCount[${TimerNum}] ${MezCount[${TimerNum}]}+1
                /varset MezTimer${TimerNum} 110
            | Necro mez code
            } else /if (${Me.Class.Name.Equal[Necromancer]}) {

I would assume that /twist is reacquiring the last target. Because there is a check when leaving the mez routine to get the current target of the ma and set your target to theirs.

Rich (BB code):
            DEBUGMEZ MezTimer${i} ${MezTimer${i}} ${Spawn[${MezArray[${i},1]}].ID} ${i}
            /if (${Select[${MezOn},1,2]}) {
                DEBUGMEZ im gonna singlemez ${MezArray[${i},1]}
                /call MezMobs ${MezArray[${i},1]} ${i}
            }
        /next i
        /if (${MeleeTwistOn} && ${CombatStart} && ${IAmABard} && (!${Target.ID}) || (${Target.ID}!=${MyTargetID})) /call CombatTargetCheck 1
        DEBUGMEZ DoMezStuff: Leave
    /return

2 lines up from the /return at the bottom. So the target is cleared after mezzing each mob, and the mez routine checks for current combat target to use.

If /twist is causing this issue, then you would need to /twist off at some point and then /twist on to start it back up, but doing that would start the MeleeTwist back at the beginning.
 
I'm having the same issue. The DoT will land on whatever target the bard has when starting to cast it. This doesn't happen every time, not even every time a DoT is cast after the mez. Maybe it is a delay issue? For sure though if DoTs are in my song line up one will eventually land on the mezzed mob. I've tried setting spell interrupt to 1 and i have tried Kissassist_12001.
 
In KISS 11.5 /twist once is being used to cast the MezSpell, and directly after casting the MezSpell there is a /target clear that should clear the target.
...
I would assume that /twist is reacquiring the last target. Because there is a check when leaving the mez routine to get the current target of the ma and set your target to theirs.
Confirmed that "/target clear" occurs after twist kicks off the next song in the twist post-mez. Happens in 11 as well as 12 Beta with the casting instead of twist.

I'm going to be out of pocket a lot this week, but I'll try and do some troubleshooting with both versions. I'll see if I can do some mods to work around the issue without having to restart the melee twist.
 
Well, there are a couple of issues here. The biggest issue is your running a MeleeTwist with songs that damage mobs, and your mezzing, not a good combination.

The macro does little more than start twisting and stop twisting. You have to keep in mind that once /twist has been spun up, the macro is NOT IN CONTROL of anything. So when the bard goes to target a mob to mez, if your just starting to cast your DOT, Kiss is not aware of that. If the DOT is a fast cast spell that is even worse. The best fix for this is to stop twisting when entering the mez routine and then turn it back on when leaving the mez routine. That's going to restart your MeleeTwist from the beginning each time, so in some situations, it might negate the meleetwist altogether.

I did look at the MQ2Twist source code and I couldn't find anywhere that the plugin was setting a target, so it just something to do with timing while twisting and getting a target.
 
Thanks for looking at the source code. I'm thinking this is a delay issue. Namely: Metronome and Quicktime.

Bards, not too long ago, were a solid 3 second cast time. Now they have a passive AA on the focus tab (Metronome) that reduces cast time to 2.85 seconds and an activated AA (Quicktime) that further reduces cast time to 2.375 seconds.

From what you posted, it looks like clear target is triggered 3.5 seconds after starting the cast for mez? Is it possible that KA restarts the twist as soon as mez lands? Or maybe Twist does this?

Either way it would leave the clear target lagging behind the twist by .65 to 1.125 seconds.
 
Ok looking at this more. I think this has to do with the delay in KA and the MQ2 ini file.

/twist delay #
Specify the delay to be used before starting a new song (in 10ths of a second). The minimum is 30, default is 33

I'm going to try changing my ini file to 36.

[MQ2Twist]
Delay=36
 
I got up to Deley=40 under the MQ2Twist section of the mq2 ini file (doing a /twist reload after each change). The bard is still breaking his own mez. 40 is a long time between songs.
 
@firefly12345 I am assuming you are using kissassist 12.001. There is only 1 place in the code where the Bard could be breaking mez, if you are twisting a damage spell like a DOT. In the MezMob routine where the mez target is targeted. /twist is still active when you change targets. I don't think mez is getting broken after the mez routine. The bottom of the mez routine gets the MA's current target and switched to that target.

What I was thinking about was adding 1 line to test this out. If you want to give it a try here is what you would need to add:

Rich (BB code):
    Sub MezMobs(int MobID, int TimerNum)
        DEBUGMEZ MezMobs Enter MobID:${MobID} Timer#:${TimerNum}
        /declare MezFail int local 0
        /declare MezTry int local 1
        /declare ReMez int local 0
        /if (${Me.Combat}) {
            /attack off
            /delay 25 !${Me.Combat}
        }
        | Added this check because of timing. Mob to mez was getting DOTed because of MeleeTwist.
        /if (${IAmABard} && ${MeleeTwistOn}) /call CastBardCheck 0
        /squelch /target id ${MobID}
        /delay 20 ${Target.ID}==${MobID} && ${Target.BuffsPopulated}
        /if (${Target.ID}==${MobID}) {

Just add lines 10 and 11 to the MexMobs routine.
 
I've seen this happen in KA11 when the MA dies mid-combat and bard is still mezzing. Bard sometimes doesn't acquire a new target (or maybe he's mezzing the MA's old target then starting twist) and if twist has a nuke/dot they re-awaken their mez target.

Bard's need to run Insult nuke to trigger their group synergy buff. At one point you couldn't do that except to run it in melee twist, but I'll try KA12 and see if you can add it as a single DPS entry instead of twisting in the loop.
 
@eqtrader74 Kiss 11 used /twist once when casting Mez, that just told /twist to pause twisting and cast the mez spell and then start /twisting from where you left off. In Kiss 12, we had to move away from using /twist once and actually stop twist(/twist off) before casting the mez spell. So MeleeTwist will be started back at the beginning after mezzing a mob. Adding that one line I mentioned above will keep you from targeting a mezzed mob while you are still twisting.

When an AE mez is cast all mobs are reset as if they were never mezzed, in the macro. So the routine will re-mezz and/or check if the mobs need to be meezed, well to do that, you have to target each mob and if by chance your next song in the meleetwist lineup is a dot or damage song well I think you know what's going to happen.
 
So I noticed the command "/twist hold X" will pause the current twist rotation and sing only X. You can resume the twist with "/twist". I wasn't familiar with this so I tried it out. In my little bit of testing, worked out like this:

1.) I run /twist 1 2 3 4 5
2.) Twist casts gem 1
3.) Twist casts gem 2
4.) While gem 3 is in the process of casting, I run "/twist hold 1"
5.) The casting of gem 3 is interrupted
5.) Twist casts gem 1 indefinitely until I send it another command
6.) I run "/twist" and it starts casting gem 4, picking back up where it left off

What do you think about adding in a "MezTwistHold=X" variable and have the macro do "/twist hold X" when it's both mezzing and checking mobs? I can work on the code this weekend, don't want to put anyone out, just wondering how that sounds?
 
What you will need to check is when using /twist hold # and then trying to cast using /cast and see how Twist responds. Regardless if you use /Twist hold, when you enter the mez routine and needs to cast the mez spell, The casting routine is going to /twist off before casting the mez spell then /twist on after.
 
Yes I'm using KissAssist 12.001.

I was able to try your line out last night and my Bard is still doing it. I can watch it happen. It is quick. I wouldn't know it was happening if i'm not looking for it. But, just before switching targets, he starts the next song.

I'm not sure if there is something else i should be checking that would be causing it. I have the mq2 ini file set back to 30. Changing that didn't help.


[Mez]
MezOn=1
MezRadius=80
MezMinLevel=95
MezMaxLevel=118
MezStopHPs=80
MezSpell=Slumber of Zburator
MezDebuffOnResist=0
MezDebuffSpell=Selo`s Drums of the March
MezAESpell=Wave of Sleep|3

[SpellS]
MiscGem=13
MiscGemLW=0
MiscGemRemem=1
CastingInterruptOn=1
LoadSpellSet=0

I might try out the new casting interrupt setting. Like setting it to 8 or 10. But setting to 1 should cover everything right? or is this separate from the mez routine?
 
Problem - Bard: Post mez target change occurs next twist song kicks off

Users who are viewing this thread

Back
Top
Cart