I am currently in the works of opening my bashing script (
http://forums.achaea.com/discussion/1533/mudlet-another-denizen-targeting-script) up to other queueing systems and started with wundersys.
But as I am currently not active and use svo anyways, I have no way to test the changes. And that is where you come into play:
I need people, who use wundersys to different degrees of customization to test for me. Those people should not be afraid of things breaking though I did some cursory tests...
The current state of the wundersys implementation is NOT feature complete and hardcoded against wundersys. You will NOT flee at certain health levels nor will you change attacks on the denizen shielding. This will come in a later update.
If you want to help me (and the broader playerbase), please use
https://github.com/keneanung/Bashing/releases/tag/v1.4-pre-b3d55de-SystemlessSupportOnce again: this is a pre-release and some things are probably broken.
Comments
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
This new release adds support for razing shields for wundersys users and changes the way targetting works. It will now set the IG target, so you can see the targets health on the prompt.
Please download the new release here: https://github.com/keneanung/Bashing/releases/tag/v1.4-pre-905c695-SystemlessSupport
I appreciate every feedback, even if it's "everything works as expected"
ETA: wundersys users can put this snippet into a script to see the target name and health at the prompt:
sys.prompttags.igTarget = function() if gmcp.IRE.Target.Set == "" then return "" else return " " .. gmcp.IRE.Target.Info.short_desc end end sys.prompttags.igTgtHealth = function() if gmcp.IRE.Target.Set == "" then return "" else return " " .. gmcp.IRE.Target.Info.hpperc end end
and use @igTarget for the target name and @igTgtHealth for the health percentage in the prompt string
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
Results of disembowel testing | Knight limb counter | GMCP AB files
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
sys.prompttags.igTarget = function() if not gmcp.IRE or not gmcp.IRE.Target then return "" else for _, thing in ipairs(keneanung.bashing.room) do if thing.id == gmcp.IRE.Target.Info.id then return " " .. thing.name end end return "" end end sys.prompttags.igTgtHealth = function() if not gmcp.IRE or not gmcp.IRE.Target then return "" else for _, thing in ipairs(keneanung.bashing.room) do if thing.id == gmcp.IRE.Target.Info.id then return " " .. gmcp.IRE.Target.Info.hpperc end end return "" end end
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
This version fixes some issues I noticed in the last version (including some issues for svo users),
But most importantly: Autofleeing is now supported for wundersys users. Simply configure it (to be careful, you should use a little higher thresholds than default, you can go lower at any time) and have fun!
The new version can be found here: https://github.com/keneanung/Bashing/releases/tag/v1.4-pre-eeb6017-SystemlessSupport
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
Not to be negative, but with the new WALK TO command, in-game TARGET system, in-game QUEUE system, and in-game CURING system, why is this necessary?
Seems to me like you could make a single alias/hotkey that'd bash out entire areas at a time as is, using nothing more than a simple table containing a list of NPC names. For this reason, I personally think WALK TO <denizen> shouldn't even be possible, except for specific, important NPCs, on an individual basis.
With that said, please feel free to shoot me any coding questions you have, either in-game or via PM. I'm always happy to help as long as everything you're doing is strictly legal and non-profit.
So is this USEFUL? I think so and some others seem to agree. If you disagree, don't use it. (And I am not THAT stupid to put time, energy and thought into something I'd deem useless)
Why is it useful? I created this script, because of multiple reasons. I didn't want to manually switch targets if I didn't use a blanket target, but wanted to prioritize aggressives before passives or if I was in an area with multiple target types. Take Morindar for for example. It then got expanded to use svo's DOR, because I got even more tired having to press enter every few seconds. Then the fleeing got added because sometimes I missed the opportunity to leave the room with DOR.
Another reason I created this was to play around with gmcp and have a look how much you could actually do without using as few triggers as possible.
And why am I publishing it? Because I want people to use it. And I want to show some techniques I used. Maybe someone finds a snipped useful. Or needs an example how to use certains gmcp messages. I don't know. And a hird reason: I want to give people the chance to take part in the development. There are people with so many ideas (@Pathers comes to my mind) that I can't implement myself because of time restrictions. For open source software it's easy to hand in an additional feature. I'd be happy to integrate it.
I hope this answers you questions
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
And you won't understand the cause of your grief...
...But you'll always follow the voices beneath.
[spoiler][/spoiler]
This release changes the flee output of wundersys and svo to their "boxDisplay" implementations, so the warning messages should be more visible and better distinguishable.
You may also spcify the warn and flee values as either a percentage of the max health (those values end with a % sign) or as a factor for the average damage you have taken (ending with a "d"). An example: if you want to have room with double the damage you have taken in the room, use "kconfig bashing fleeat 2d". If you take an average damage of 500 health between 2 attacks, the bashing system will flee if you have less than 1500 health left (500 damage > 1499 - 1000).
That's it for today. And if there is no feedback or change request anymore, this will be the final feature list for version 1.4
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
I will remove all pre-releases now, so they don't clutter my release page
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
I'm having a little trouble with it though. It seems to be registering targets and prioritizing them correctly, but the function keneanung.bashing.attackButton() does nothing.
I've disabled the SVO F2 keybinding and I've added an echo to the new F2 keybinding so I know it is firing, but the attackButton function isn't doing anything.
Also, the alias kconfig bashing attackcommand <your command> that is listed on the support page doesn't exist in the actual download. When entering it IG it just shows the "I have no idea what you mean" text. I've tried it with just kconfig bashing attackcommand kill and I've tried it by copy and pasting your example directly (kconfig bashing attackcommand battlefury focus speed/kill) and I still get the same result, it isn't registering as an alias at all.
Am I doing something wrong or forgetting a step?
Also 1.4 had a bug which might explain what you are seeing.
GMCP documentation: https://github.com/keneanung/GMCPAdditions
svof github site: https://github.com/svof/svof and documentation at https://svof.github.io/svof
Hmm any ideas how to solve this?