• 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

KissAssist Release What do you like about KissAssist, and what do you want to help change?

Redbot

💻❤️
Moderator
Joined
Oct 15, 2004
RedCents
104,068¢
Pronouns
He/Him
If KissAssist were perfect there'd be no need to release a new version.

The fact @ctaylor22 is working on it means he realizes there's room for improvement, so let's give him a hand.

The purpose of this thread is to pinpoint some actionable issues we can put on the gitlab issue board, as well as toy around with some big ideas on the direction to push KA.

At the same time, please respect the years of effort that have gone into this software by @Maskoi, @ctaylor22, and so many others by giving a little sugar with that medicine; include something you currently like about KissAssist.
 
Last edited:
KissAssist is the absolute Flagship feature for MQ2 in my opinion, and I'm very excited that it is going to get the love and attention it needs.

Folks who come to redguides or MQ2 in general call MQ2 "Kiss/KissAssist/KA" - it is synonymous with everything that we do.

I spend a ton of hours a week with people who are not programmers, who have no desire to be l337 h4ckz()rz, who just want an out of the box working utility that they can get setup pretty quickly that has intuitive easy to use functions and features, while also allowing them to customize things to suite their needs --- this is kiss assist in a nutshell.

EQ is much more "complicated" than it was a few years ago, and the needs and demands that kiss has on it is not a small undertaking - which is why it is so awesome to see a more collaborative approach to this thing going forward.

I look forward to lowering the barrier of entry for newer folks - things like:

defaulted inis unless they edit/customize

fully working features that are documented and kept up to date (things like targetswitchingon not functioning correctly for over 3 months is a huge bummer - there are events that kiss just can not handle without it and require you to just pause the macro)

more responsive on hybrid classes or even on a healer class if they wanted to have dps on (the delay in swapping from dps to heals in modern xpacs often leads to really bad times)
the ongoing slow rez issue

Updating/Removing/Adding an Option for some hard coded things inside kiss --- like the SK auto-self summon - there is no reagent check for this, or toggle or documentation that this is a function/feature - and months ago they added the requirement for reagents for it - and there's no toggle off for this inside kiss! this adds huge headache for users who don't understand how/why/what. and they shouldn't have to comment something out to get it to function

While options like Core, IHC, CWTN plugins and such are nice - KissAssist is the flagship and this thing can hit all the itches that people want scratched - something that works "out the box" for newer users / non-tech, something that you can "mod" for advanced users with inis and such.

I forsee the future user base being older, less tech savvy / less inclined to learn, and looking for something that can just keep them continuing playing the game. We, in my estimation, will have more of these types of users than we have the hardcore coding/modding/ini-editing folks --- and we should cater to those folks as much as we possibly can

Love the work that has been done, is currently being done, and I look forward to the work going to happen in the future.

We have some incredibly talented and bright minds, and if we pool all that magic go-go-gadget power together, we will be able to get even more users to come and join "The Dark Side"
 
I am without sugar. Very tart and tasteless...

Having said that, I wholeheartedly agree with Odii^. Without MQ2 and KA, I would not have stuck around after poking my nose back into EQ last fall. The capability to get things set up and streamlined in a fairly short period of time to be able to box multiple characters without instant Carpal Tunnel is incomparable. Having spent time modifying, and writing my own macro code, I can appreciate the time and effort put into making the many iterations of KA, adapting it to the challenges and changes in the game to make it as cross-class usable as possible.

I do tend to run my own modified version of KA, with some modifications being "fixes" for things that do not operate the way I think they should, and some are cosmetic. I've not played with the new version yet, but I will be off for the remainder of the year starting this Friday, so I intend to spend some time playing with it, if some of those "fixes" still need to be made for items that do not seem to work as advertised I'll submit them then.

In general I have no complaints about the macro, and I appreciate what it allows us to do, all I want is to add a bit of polish to help it run smoother and better, and I'm willing to contribute mod examples to be picked apart, not just whiney complaints and requests. :)
 
Things I Like:
1) The ability to customize the "programming" of my characters.
2) The fact that I have one macro/tool for all my classes versus having to leverage a tool per class (w/ the respective trade-off of configuration).
3) The ability to have an automated puller.
4) The ability to either run manually or a fully automated group.
5) A community willing to discuss ini's and best practices.
6) Conditions for dang near everything.

Things I'd like to see:
0) Fix KA so that spells with the name name as skills (e.g., Frenzy, Feign Death) still work.
1) EQ Mule's ranger positioning code or a flag to enable MQ2Melee stick commands when using KA vs. them being turned off.
2) The ability to toggle pulling (/pulling 0/1) in case I want to pause while the puller buffs up with the group instead of just pausing the macro.
3) The ability to change roles without restarting the macro (Low-priority).
4) The ability to use a single twist DD song to pull (currently you just can't pull with a DD song -- it's never queued -- unsure if MQTwist fixes changed this).
5) A command to export an ini (so I can easily export an ini from the game every 5 levels -- default file name could be charname-class-lvl-kisassist.ini
6) Fancy pulling capabilities for Monks, Bards, and Enchanters (or other super special pull classes).

A general thing I'd like to see with a communal effort towards KA: An open discussion for various forks to maintain a common ini format in order to people to easily change flavors of KA if there's a specific 'fork' or custom version they'd rather run. This allows for divergent design views without considerable work re-engineering ini files.
 
Last edited:
the fact that we can use CWTN plugins with kiss is amazing!

what we need to fix in it...the fluff.....we just need to cut the fat....its gotten so fat now we need to cut some of the fat out....like the dps parser is not needed!
 
the fact that we can use CWTN plugins with kiss is amazing!

what we need to fix in it...the fluff.....we just need to cut the fat....its gotten so fat now we need to cut some of the fat out....like the dps parser is not needed!

To echo @Teichou, I think now that KA is as mature as it is, and such a foundation to the community, we can start talking about what utility functionality could be pulled into their respective plugins instead of macro functionality. Example: writespells and memmyspells should just be an alias to a respective mq2cast function. This is a super simple example but I'm sure there's more like the above.
 
Not to derail this thread, but I have always wanted to create an MQ2RGUtil plugin, where things that are better handled by a plugin can be maintained, like the DPS Meter and exactly what @drwhomphd referred to above. Would be great to have a scaled down casting routine as part as the plugin, and get rid of the Fluf as @Teichou calls it. There are a lot of things that were built into KissAssist that could be better handled by a plugin, but I am not a C++ programmer and have no initiative to become one.
 
Not to derail this thread, but I have always wanted to create an MQ2RGUtil plugin, where things that are better handled by a plugin can be maintained, like the DPS Meter and exactly what @drwhomphd referred to above. Would be great to have a scaled down casting routine as part as the plugin, and get rid of the Fluf as @Teichou calls it. There are a lot of things that were built into KissAssist that could be better handled by a plugin, but I am not a C++ programmer and have no initiative to become one.

I think that's where those of us boning up on it would be happy to help or at least split efforts. I think you probably have the best view on what stuff in KA should go where and then some of us try and make it happen.
 
I think plure would be a good person to get in on getting a few plugins like that going.... Obviously sic and ctw also.... That goes with out saying
 
I love everything about KISS! I think that most of my problems with it are NOT actually issues with the script but those exposed when I run it! (Path issues caused by broken zone geometry or meshes that need some manual work!)

So I actually hesitate to list the few issues I have because I wouldn't be surprised they are not KISS issues but those from underlying plugins or just goofy configuration on my part!
 
Luckily @ctaylor22 is already working on the things I'd like doing (improve ae mez routine, item beg) :)

The fact you can run full groups AFK for days at a time autopulling, rezzing, buffing, mezzing, dps'ing means and you outdps "real" groups quite frankly speaks for itself. Not that we ever do AFK, of course.

The customisability is great, but it does come with the price of being very slow compared to more streamlined, less flexible macros. So really the only improvement for me would be to streamline it's execution; maybe the plugin idea will help.

I'd like to know which plugins folks would like though, for example we already have a DPS plugin yet we have a dps meter in a macro too. Ideally we'd not need a dps meter in macro and just rely on the plugin.
 
So, not to volunteer @ctaylor22 to more work, but I'd love it if we give me an editable post somewhere, or maybe it gets put in as issues to the VV repo, whatever ends up being best for workflow, where he just puts up a request every time he runs into something he thinks should be in a plugin. If it's a VV gitlab issue, we could at least have a discussion there on where it is best to go and then have someone start working on it as well as map it to commits.
 
Not to derail this thread, but I have always wanted to create an MQ2RGUtil plugin, where things that are better handled by a plugin can be maintained, like the DPS Meter and exactly what @drwhomphd referred to above. Would be great to have a scaled down casting routine as part as the plugin, and get rid of the Fluf as @Teichou calls it. There are a lot of things that were built into KissAssist that could be better handled by a plugin, but I am not a C++ programmer and have no initiative to become one.

I have no problem adding bits of kissassist to a plugin.
 
Some issues I've encountered and mentioned in the past that could be hidden in the commits somewhere that I've missed.

Targeting yourself for self only buffs. I don't feel this is needed and in the event the spell is self only it should skip targeting. Only place I could see it being an issue is with something like project illusion which allows you to cast self only illusions on other players, which gives mixed signals.

Tank goes out to pull, tags their pull target. Gets aggro on the way back. The aggro mob arrives to the camp before the pull target. Tank stands there waiting for the pull target instead of engaging the first thing in camp.

Rezes aren't dependable. Sometimes it rezes, sometimes it doesn't.
I don't like that KA turns off MQ2Rez. I can see it changing the accept percentage to a reasonable value input into the INI, or turning it on if it wasn't already. But I don't care for the part where it turns it off if I've overlooked that entry in the INI. If MQ2Rez is arleady on and accepting rezes I'd like it to continue to do so. I've had mixed feelings about the situation because there is an option in the INI that allows it to be set to on/off and to set a percentage that it does it.

Having been writing plugins for a whlie now. I've seen the responsiveness of the pass through functions where waiting isn't an option. That is to say that if you can change things in the main routine to be "pass through" type functions where it either does something or moves on allowing a consistent loop during combat, with the option to reset to the top of the loop after every action, it would allow for healing to be place on the top of the priority list, followed by mezes, followed by everything else in some considered order. Using this method for my plugins allows it to instantly recognize low health, that the group has aggro, that things are in need of a mez or a buff etc. I can disucss this specific idea in more detail if you're interested in considering it. This would be a big change to the way the main loop currently functions and thus a lot of work to remove as much delaying or while loops as possible.

Overall I enjoy KA for the same reasons everyone else here does. Yes it doesn't have a predetermined way of playing the character and allows for specific customizations. However, it also is a macro that allows you to setup any class to run in a helpful fashion in order to accomplish your goals regardless if they're just EXP or for completing some of the mundane tasks you find yourself facing.

There's an absolutely insane amount of calls to /moveto and /stick in the macro. I've found that KA doesn't much care for StickHow and a large portion of the sticks don't use it. I would like to see (when loaded) KA use Nav for moving to a destination, or to a target because sometimes group placement doesn't allow for stick to handle getting to a target and I end up running into a wall trying to get to a mob in tight corners. I've used a pair of function, one of which checks for nav, and one which checks for stick during combat where if there is no line of sight and a path is available it will use nav, and otherwise if it has line of sight or nav doesn't have a valid nav location to use stick. I've had good luck with this experience and feed back from users suggests this works better overall. MQ2Nav is getting put in the spotlight a lot with the mesh library and updater and it's very common these days for a player to have a mesh available for navigating in pretty much any zone they are in. The movement issues are probably best displayed on the bard, but I've experienced a lot of weird behavior overall as far as movement goes and I feel that's a major part of my issue with the macro at this time.

To compare my plugins to KA is comparing apples to oranges. Each has their targeted player bases, and each has their strong suites and short-comings. I intentionally setup my plugins in a way that allows them to play nice with KA with the manual mode because it can allow you to subsitute the lack of customizaiton options via the use of an external source such as KA, and I too use KA on some of my characters. KA allows for out of group assisting, which my plugins aren't designed to handle. This is certainly one of the big asks I get for my plugin and I always say they need to use it in manual mode with KA behind the wheel for that one because I haven't sorted out an elegant way to handle that.

I'm willing to help with the logic for handling any of the above mentioned issues. KA is a monster when it comes to how much logic has been put in place to handle a task such as allowing for all classes to be played from the same engine. When creating all the functions and trying to handle any possible situation for any possible class it tends to end up that way. The macro has grown, and features have been added one after another. I think taking a step back from adding features and addressing some of these issues would over all serve most helpful for the improvement to the macro.

CWTN

PS. If you'd like me to help with one of the mentioned issues, or take it on specifically myself I'd be willing to create my own branch and look into trying to tackle it myself. Just tell which one.
 
Inkie and I were just having a similar conversation to that loop statement that Chat made and it's a very good point. One of the things I mentioned was that neither plugins nor macros as written have an interrupt system, so making sure that you're not getting stuck in a loop or a sub is important to overall responsiveness of the macro. As Chat mentions, this is especially true in things like...aggro, heals, mez, etc. So, creating interrupts for these "trigger" actions or making your loop go fast enough that you are already back to the top if one of them happens is important.
 
Expect my answer this weekend in video form to this thread.

Like what I am reading.
 
Last edited:
I have seen the issue CWTN mentioned about some characters getting stuck on walls while moving tight spaces.

I would love to help out where I can, and I will get the latest build and "test" it on Test.
 
I have seen the issue CWTN mentioned about some characters getting stuck on walls while moving tight spaces.

Probably one of the hardest things to resolve, that. I'm currently writing a macro that involves following logic etc and sometimes /afollow fails, sometimes /stick fails, and sometimes /nav fails. Geometry is just really hard to predict.
 
5) A command to export an ini (so I can easily export an ini from the game every 5 levels -- default file name could be charname-class-lvl-kisassist.ini

@drwhomphd just spotted this. Request granted, /plugin mq2kisstemplate
then type /maketemplate

Output is formatted for the forums complete with the need [CODE=INI tag at the start and and the closing code tag at the end.
files output are Kissassist_LEVEL_ClassShortName.ini
 
@ChatWithThisName Regarding this plugin, could you edit it, such that it does not include ranks? every spell it seems to get their rank attached to it, which we dont need in kiss.

and it also needs updating for the new spells section in kiss11.005
 
5) A command to export an ini (so I can easily export an ini from the game every 5 levels -- default file name could be charname-class-lvl-kisassist.ini

@drwhomphd just spotted this. Request granted, /plugin mq2kisstemplate
then type /maketemplate

Output is formatted for the forums complete with the need
Code:

*sigh* My bad on this. I had a TOTAL brainfart and forgot about the plugin. My brain was thinking over the workflow of quickly exporting templates every five levels with tunnel vision on KA as a macro.
 
Note: If I didn't add your issue to the git board and you think it's important, feel free to add it yourself.

defaulted inis unless they edit/customize

An "out of the box" experience for KissAssist has been on the wishlist for ages. Let's make it happen.
https://gitlab.com/redguides/kissassist/issues/34

the ongoing slow rez issue
Added,

https://gitlab.com/redguides/kissassist/issues/35

Updating/Removing/Adding an Option for some hard coded things inside kiss --- like the SK auto-self summon - there is no reagent check for this, or toggle or documentation that this is a function/feature - and months ago they added the requirement for reagents for it - and there's no toggle off for this inside kiss! this adds huge headache for users who don't understand how/why/what. and they shouldn't have to comment something out to get it to function

Added,
https://gitlab.com/redguides/kissassist/issues/36

0) Fix KA so that spells with the name name as skills (e.g., Frenzy, Feign Death) still work.
Added,
https://gitlab.com/redguides/kissassist/issues/37

1) EQ Mule's ranger positioning code or a flag to enable MQ2Melee stick commands when using KA vs. them being turned off.

We could use some more detail on what is wrong with Ranger's positioning exactly:
https://gitlab.com/redguides/kissassist/issues/38

A general thing I'd like to see with a communal effort towards KA: An open discussion for various forks to maintain a common ini format in order to people to easily change flavors of KA if there's a specific 'fork' or custom version they'd rather run. This allows for divergent design views without considerable work re-engineering ini files.

The only major fork I know is eqmule's, any others?
https://gitlab.com/redguides/kissassist/issues/39


we need to cut some of the fat out....like the dps parser is not needed!

YES!! I added a "CUT THE FAT" label, removing the DPS parser is a good start:
https://gitlab.com/redguides/kissassist/issues/40

Example: writespells and memmyspells should just be an alias to a respective mq2cast function. This is a super simple example but I'm sure there's more like the above.

Another good "cut the fat" project!
https://gitlab.com/redguides/kissassist/issues/41

So, not to volunteer @ctaylor22 to more work, but I'd love it if we give me an editable post somewhere, or maybe it gets put in as issues to the VV repo, whatever ends up being best for workflow, where he just puts up a request every time he runs into something he thinks should be in a plugin. If it's a VV gitlab issue, we could at least have a discussion there on where it is best to go and then have someone start working on it as well as map it to commits.

It's best to use gitlab issues for this. Create the issue, and add the "cut the fat" label.

Tank goes out to pull, tags their pull target. Gets aggro on the way back. The aggro mob arrives to the camp before the pull target. Tank stands there waiting for the pull target instead of engaging the first thing in camp.
Good issue. Added.

https://gitlab.com/redguides/kissassist/issues/42

Rezes aren't dependable. Sometimes it rezes, sometimes it doesn't.

This seems like a big issue.

https://gitlab.com/redguides/kissassist/issues/43

I don't like that KA turns off MQ2Rez. I can see it changing the accept percentage to a reasonable value input into the INI, or turning it on if it wasn't already. But I don't care for the part where it turns it off if I've overlooked that entry in the INI. If MQ2Rez is arleady on and accepting rezes I'd like it to continue to do so. I've had mixed feelings about the situation because there is an option in the INI that allows it to be set to on/off and to set a percentage that it does it.

Could we move rezzing back to MQ2Rez? Is this another plugin mistrust issue @ctaylor22?

Having been writing plugins for a whlie now. I've seen the responsiveness of the pass through functions where waiting isn't an option. That is to say that if you can change things in the main routine to be "pass through" type functions where it either does something or moves on allowing a consistent loop during combat, with the option to reset to the top of the loop after every action, it would allow for healing to be place on the top of the priority list, followed by mezes, followed by everything else in some considered order. Using this method for my plugins allows it to instantly recognize low health, that the group has aggro, that things are in need of a mez or a buff etc. I can disucss this specific idea in more detail if you're interested in considering it. This would be a big change to the way the main loop currently functions and thus a lot of work to remove as much delaying or while loops as possible.

This sounds like a major change, here's a thread to discuss it before we make specific issues on the git board.

There's an absolutely insane amount of calls to /moveto and /stick in the macro. I've found that KA doesn't much care for StickHow and a large portion of the sticks don't use it. I would like to see (when loaded) KA use Nav for moving to a destination, or to a target because sometimes group placement doesn't allow for stick to handle getting to a target and I end up running into a wall trying to get to a mob in tight corners. I've used a pair of function, one of which checks for nav, and one which checks for stick during combat where if there is no line of sight and a path is available it will use nav, and otherwise if it has line of sight or nav doesn't have a valid nav location to use stick. I've had good luck with this experience and feed back from users suggests this works better overall. MQ2Nav is getting put in the spotlight a lot with the mesh library and updater and it's very common these days for a player to have a mesh available for navigating in pretty much any zone they are in. The movement issues are probably best displayed on the bard, but I've experienced a lot of weird behavior overall as far as movement goes and I feel that's a major part of my issue with the macro at this time.

Here's a thread to discuss this further. If a movement revamp seems good, we can parcel it out to smaller issues for the git board.


I think taking a step back from adding features and addressing some of these issues would over all serve most helpful for the improvement to the macro.

PS. If you'd like me to help with one of the mentioned issues, or take it on specifically myself I'd be willing to create my own branch and look into trying to tackle it myself. Just tell which one.

Thank you, I'm sure ctaylor will take you upon that offer.

Inkie and I were just having a similar conversation to that loop statement that Chat made and it's a very good point. One of the things I mentioned was that neither plugins nor macros as written have an interrupt system, so making sure that you're not getting stuck in a loop or a sub is important to overall responsiveness of the macro. As Chat mentions, this is especially true in things like...aggro, heals, mez, etc. So, creating interrupts for these "trigger" actions or making your loop go fast enough that you are already back to the top if one of them happens is important.

💯


Thank you everyone, again if I missed an issue you think is important, add it to the git board!
 
Last edited:
Something I would like to see and maybe even pay for would be a kissassist profile creator.
Something that would build the ini file using drop down menus. I am guessing it would be a long and drawn out process.
But would greatly enhance and reduce the (typing mistake) portion of building an initial profile. Also using that same program would automatically update the ini when gaining a level or ability.
That would be awesome.
I am getting error messages that "spell null is not in the spell book" or something like that. I have rebuilt the ini several times.

Any help there
 
KissAssist Release What do you like about KissAssist, and what do you want to help change?

Users who are viewing this thread

Back
Top
Cart