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.