• 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

Bug - Moveback does not work in the stickhow function of Kissassist

Joined
Oct 6, 2017
RedCents
997¢
It really happens on live as well, it's a big problem for any mob with short range AoE's or AoE rampage. My guild has a lot of 'power users' of KA and we basically have to shut it off for certain PoTime and GoD fights to keep our chars from suiciding into AoE range.

We all have stickmode=1 and stickcmd=moveback hold uw behind in our melee ini's as well as StickHow=behind moveback in our KA ini .... the only way to get chars to stay at max melee range is to pause the KA macro altogether currently.
 
yea. turn off melee and just use kiss. You can set the stick distance, but you need to either change it in the macro, or create a hot key that changes the stick distance.

/varset StickDistUW 15
/varset StickDist 15

and set stickcmd=moveback hold behind. don't worry about UW. that is already taken care of in the macro.
By default StickDistUW is set to 10 and StickDist is set to 13.

you could create 2 hot keys. One to increase the stick distance and 1 to decreace it.

/varcalc StickDistUW ${StickDistUW}+2
/stick ${StickDistUW}
/echo StickDistance: ${StickDistUW}

Next Hot Key would be:

/varcalc StickDistUW ${StickDistUW}-2
/stick ${StickDistUW}
/echo StickDistance: ${StickDistUW}
 
Thanks, I'll test this tomorrow morning and let you know how it works out. Is there a way to set the stick distance to just always be max melee -1 for kissassist?
 
The problem is the hitbox of the mob you are fighting. The best I have found is using ${Spawn[].MaxRangeTo}. This returns, The Max distance from the spawn for you to hit it.
 
in MQ2melee if I do /stick moveback it automatically puts me at max melee range of whatever I am fighting, that's the functionality I was looking for in KA. MQ2Melee also has a /stick 90% function that puts you at 90% of the current targets max melee range. I tested this in KA with mq2melee unloaded and my KA stick set to this StickHow=moveback behind 95%. My ranger would ping pong in and out of max melee but spent most of his time fighting right up against the mob I was fighting.
 
I would try this:
Rich (BB code):
${If[${Math.Calc[${Target.MaxRangeTo}*0.8]} > 19,15,${Math.Calc[${Target.MaxRangeTo}*0.8]}]} hold moveback !front loose
should work for max melee and wont change every second to adjust, just not sure the standards for kissassist stickcmds
 
I would try this:
Rich (BB code):
${If[${Math.Calc[${Target.MaxRangeTo}*0.8]} > 19,15,${Math.Calc[${Target.MaxRangeTo}*0.8]}]} hold moveback !front loose
should work for max melee and wont change every second to adjust, just not sure the standards for kissassist stickcmds




Can you explain what the comma between 19 and 15 means, not sure I'm understanding that part of the statement.

Also, how would I add this to mq2melee? Would it be:

stickcmd=${If[${Math.Calc[${Target.MaxRangeTo}*0.8]} > 19,15,${Math.Calc[${Target.MaxRangeTo}*0.8]}]} hold moveback !front loose


Unsure if you could add conditionals to stickcmd.
 
Under your melee ini you have a setting for usestickcmd its so you can use custom stick parameters, then you will see stickcmd setting and can put different things for sticking to things. That was my setting for max melee in raids
 
Did some digging in the macro today and I believe I have found your issue guys. Basically KA is currently hard coded to stick at 13 range on land, and 10 range in water, regardless of what you put in StickHow. Also if you do try to put distance parameters in StickHow, the macro is going to fight itself since the order of StickDist and StickHow are swapped from the engage call to the combat call. This is my first foray into the KA macro so I might be off here, hope this helps though.

Here you declare these two variables with set values on line 733 and 734

/declare StickDist int outer 13
/declare StickDistUW int outer 10

Then starting on line 1578 onward you reference one of these variables depending on if ${Me.FeetWet} is true or not in every stick command in the same line of the ${StickHow} sometimes in front sometimes behind. this is creating the 'KA fighting itself' behavior since in some cases it's behind and others it's in front.

You can simply remove stick distance altogether since MQ2MoveUtils has a default set already for /stick which is what KA is using, by doing this if a user wants to override the default /stick range they can do this by simply placing a range parameter into their StickHow, if they don't it'll go to the default stick range in MQ2MoveUtils. I'm going to go ahead and remove this from my macro so that way MQ2MoveUtils will be able to set the distance itself (or I can via StickHow).

Here is the first example of it, this is the engage call I believe starting on 1578, here stickdist is after stick how.

/if (${MeleeOn} && !${Attacking}) {
/varset Attacking 1
/if (${Me.Sitting}) /stand
/if (!${AutoFireOn}) {
/if (${DebugCombat}) /echo \atDEBUGCOMBAT Combat Attack On \agLine#: ${Macro.CurLine}
| Speed up tanks attacking inc mobs MQ2Melee /killthis can cause a delay
/if (${Select[${Role},tank,pullertank,hunter]}) {
/if (${Me.Ability[Taunt]} && ${Me.AbilityReady[Taunt]}) /doability Taunt
/if (!${Me.Combat} && ${Target.ID}) /attack on
/if (${Me.FeetWet}) {
/stick uw ${StickHow} ${StickDistUW} id ${MyTargetID}
} else {
/stick ${StickHow} ${StickDist} id ${MyTargetID}


Here is another example from line 1660 this is if your already engaged, here stickdist is before stickhow.

/if (${DPSOn} || ${MeleeOn} || ${PetOn}) /call CombatTargetCheck
/if (${Attacking} && ${MeleeOn} && ${Target.PctHPs}<=${Math.Calc[${AssistAt}-5]} && ${Target.Distance}<${CombatRadius} && !${AutoFireOn}) {
/if (!${Me.Combat}) {
/if (${Me.Sitting}) /stand
/if (!${UseMQ2Melee}) {
/if (${Me.FeetWet}) {
/stick ${StickDistUW} uw ${StickHow} id ${MyTargetID}
} else {
/stick ${StickDist} ${StickHow} id ${MyTargetID}

- - - Updated - - -

Just to follow up here, I made these edits and tested some more. With MQ2Melee=1 set the macro works great and my toons seem to fight as I want, I don't get the impression KA is fighting Melee anymore however, if I turn MQ2Melee=0 things go south my melee stick once and then the stick gets broken by something within a few seconds and they never stick again, not only that but it's like the toon is basically rooted in place and I have to fight to even move them at all until the mob is dead or I pause the macro.

Using /stick ${StickHow} works perfectly if I type it out manually but somehow when KA is active it's breaking it's own stick command. There's a lot going on in KA but there must be something in another subroutine that is breaking stick, I'll keep digging around as I get time.
 
according to the MQ2MoveUtils documentation, the order of the passed params is not important other that when 1 of the params is dependent on the other.

For Example:

/stick uw 13 id 2345
and
/stick 13 id 2345 uw

will do the same thing.

we had changed it around a bit in 10.2.5 to be more consistant, where the stick distance is the first parameter then Stickhow, other than when upderwater.

We also added in the combat routine, while you are attacking the mob, if stick breaks to reissue the /stick command, but without the StickDistance.

Rich (BB code):
                    /if (${StickHow.NotEqual[0]} && ${StickHow.NotEqual[null]} && !${Stick.Active}) {
                        /if (${Me.FeetWet}) {
                            /stick uw ${StickHow} id ${MyTargetID}
                        } else {
                            /stick ${StickHow} id ${MyTargetID}
                        }
                    }

But you have to have StickHow set to somehting other than 0 or null. We made this change because stick was getting broken for what ever reason and the melee toons were getting Ramp damage when they should of been in a different position.
 
Thanks for the clarification Ctaylor22

Why not remove the StickDist parameter altogether? Stick distance is set to 12 by default in the setup of KA, seems redundant. I did see where StickDist is altered depending on if your in water though so if that's super important then I suppose I see the conflict. But basically we can't control our melee distance right now. What all of our boxers are using now (we have 9 or 10 in guild using KA) is a manual /stick moveback hold behind hotkey, after their KA bots latch on to keep their toons at max melee on fights where it is important. It works for now.
 
well after looking at MQ2Melee, I see they dynamically make changes to the stick settings, unless you provide a custom stick command. They use moveback on tanks, but not other types. They use !Front for regular melee characters, and back for stabbers, like rogues. They also change the stick distance based on the mob you are fighting. They use the Mobs height + 12 for stick distance. So the smaller the mob the closer you /stick.

I am thinking of maybe changing the StickHow command to be a complete override in kiss like it is in MQ2Melee. This will allow you to set the stick command to do what you want, and if you leave it blank then KISS will dynamically set it as MQ2Melee does..
 
ctaylor22 that would be wonderful, we have noticed really inconsistent behavior between chars and classes so your findings explain a lot. Appreciate the effort!
 
from the mq2moveutils wiki
/stick moveback
stick will back up to the <dist> value if the target gets closer, e.g. many targets in the rear pushing target too close to the tank

seems moveback needs a dist value, or if not inherits some internal valuye, which migh or might not be max melee distance.

and reading futher in the wiki, i would set my tank at /stick moveback 10, and anyone else at /stick behind loose 18 that should be near max meleedistance yes?
 
/stick moveback 90% will put you at 90% of the mobs max melee range. Every mob has a different max melee range so setting it to something static does not fit all situations. RZTW in PoTime has a max melee range of nearly 100 for example while Tunat Muram has something like 20.

We've tested it extensively

/stick moveback

puts you at exactly max melee range every time

/stick moveback 90%

Will put you at 90% of the mobs melee range (this is better documented in the MQ2MoveUtils wiki)

Really what would be excellent is just a variable to set melee stick distance dynamically in a percentage like StickRange or something, because when we do Inkuta I would love to stick at like 40% of the mobs melee, but in PoTime I need to stick at 90% for sure. I know that's a big ask but, just my bit of feedback.
 
Yea, the problem to over come, is that every mob has a different range to melee. Some mobs you can hit at 60 units and others you have to be at 30 units. Really big mobs like the Kraken(if you have to ask, then there is no hope for you) is like 175. So when issuing 90%, 80%, or what ever %, it is all based on the current distance that was last set for /moveto or /stick, which in kiss is normally 13, 10 or 8. 13 when on land, 10 then in the water, and 8 when you get the too far message when attacking a mob.

/stick is really tricky, and will never work for everyone, because everyone has their own opinion of what and how /stick should work. We could change the StickHow entry to an absolute and not add it to the existing /stick command, but then it's not KISS anymore, you actually have to know the actual /stick command you want to use. This would require you actually know the exact /stick command you want to use. Hmmm. Not sure everyone would know that.
 
put in the wiki if they change stickhow from 0, its the same behaviour as /stick in the moveutils.

then stickhow 0 is some default behaviour that you make look natural

tanks in front bit closer than others

people that melee in back arc, but not directly in back, and not some unnarturally long moveback to max meleerange.
 
Bug - Moveback does not work in the stickhow function of Kissassist

Users who are viewing this thread

Back
Top
Cart