Welcome to the Achaea Forums! Please be sure to read the Forum Rules.

WunderSys: an Achaean ServerSide Curing System

245

Comments

  • TibithaTibitha Member Posts: 742 @@ - Legendary Achaean
    Has anyone else (especially lately) noticed their balance timer is super confused?

    I've tried looking through the code to fix it, but I haven't actually reliably figured out where it starts and stops the timer.
  • NemutaurNemutaur GermanyMember Posts: 1,068
    Yeah this happens because I forgot about the fact that while there are "You have recovered balance on all limbs." style messages when you queue stuff on serverside rapidly while off balance there is no actual gmcp balance gained event due to instant balance loss before the next prompt. It'll be fixed in a week or so after all the knight changes cool down and I can finally release an update.
  • TibithaTibitha Member Posts: 742 @@ - Legendary Achaean
    Oooh that makes sense! Thanks!
  • MizikMizik Member Posts: 2,128 @@ - Legendary Achaean
    Corrupt Blood + Sanguine?
    image
  • AstAst Member Posts: 77 ✭✭✭ - Distinguished
    Thank you for the update, I like it. :)
    Lord Marshal Hasar Lichlord's words quietly thrum through the air as he says, "No one panick." #2015PEACEthedream!
  • NemutaurNemutaur GermanyMember Posts: 1,068

    Update: WunderSys beta v-016

    Biggest change is that Affliction Priorities and Precache are actually in settings now.
    Fitness balance implemented too. Still have to think on how to cure if I don't have fitness balance so no fancy prio swapping here yet.

    Otherwise please check the Changelog below for what I did. As usual ask me for invites to the WunderSys clan if you want to join up, there's usually a few people there who know more than the sparse documentation that I provide. And keep submitting bugs, use that wbug alias and do include pastebin logs if you can.

    Changelog:
    • Added: Affprios ares now in settings. wshow affprio and wconfig affprio <aff> <number> aliases added. Priorities have been reset to default. Please reference your 'Affliction Priority Settings' to change them to your personal ones and then feel free to delete that script, it is no longer needed.
    • Added: Prechace is now in settings. wshow precache and wconfig precache <herb/mineral> <number> aliases added. You can delete your 'Precache config' script in the Settings folder (or your own folder) if you still have them and set up precache using this.
    • Added: wshow focusshifts/focusshift and wconfig focusshift <aff> <number> so you can set which defs get moved around if you lose focus balance. AMAZING NAMING INCONSISTENCIES, JA!
    • Added: Fitness balance of 10s included. (There is no Fitness balance regained trigger, this is done on purpose!)
    • Added: slashedthroat and laceratedthroat affs tracking.
    • Added: Homonculus shriek knocking off/extending focus balance.
    • Changed: Will actually stop clotting if you have the 'corruption' affliction now.
    • Changed: Changed a few doqueue things thanks to a code contribution from @Tynil.
    • Changed: Now differentiate between 'frozen' and 'shivering' afflictions. Might be buggy so keep an eye out.
    • Changed: Bleeding will now only show if you are bleeding above 50 on the prompt tag, it was annoying me.
    • Changed: Removed the Slain tracker from Wunder. If anyone wants it, it was Sohl's creation and can be found there: http://www.mediafire.com/?adbpt27f3gvdb
    • Changed: Removed the Inkmiller from Wunder. If anyone wants it, it was Sohl's creation and can be found there: http://www.mediafire.com/?adbpt27f3gvdb
    • Fixed: Focus shifts now work if you're forced off focus balance by smash high from SnB knights or homonculus shriek.
    • Fixed: Impaled aff tracking.
    • Fixed: Now tracking 'daeggerimpale' as well as 'impale'..why those daeggerimpale is its own aff nobody knows...stupid.
    • Fixed: Changed the aff name 'transfixed' to 'transfixation' to fit with serverside curing naming.
    • Fixed: Changed the aff name 'asleep' to 'sleeping' to fit with serverside curing naming.
    • Fixed: Changed the aff name 'tangled' to 'entangled' to fit with serverside curing naming.
    • Fixed: Changed the aff name 'tied' to 'bound' to fit with serverside curing naming.
    • Fixed: Changed the aff name 'sycophant' to 'weakenedmind' to fit with serverside curing naming.
    • Fixed: Removed the 'soulspear' aff.
    • Fixed: Bug with the promptsub function that made square brackets [ ] weren't playing nice with the color tags in the custom prompt. (Thanks @Astriel)
    • Fixed: Added Devastate lines for cutting weapons.
    • Fixed: Typo in cures.lobelia (Thanks @Drual)
    • Fixed: Mistake in undef() function (Thanks @Tynil)
    • Fixed: Timestamp spacing issue on prompt (Thanks @Tynil)
    • Fixed: Level 3 (mangled) limb break cures not affadding level 2 breaks on cure for aff tracking purposes.
  • NemutaurNemutaur GermanyMember Posts: 1,068
    edited February 2015
    Update: WunderSys rc1

    Tada! A release candidate, one step closer to a 1.0 release.

    New Features:

    Profiles: Basically you can have different affprios, defup, keepup, defprio, precache and focusshifts for each profile. They are still separated by class too, so the organisation is affprio.profileName.class still (this is for when multiclass ever gets released, or for now dform/lesser since you should be curing differently for those anyway). You can also set what profile Wunder switches to on starburst and death.

    Secondary pipes: For now its just refilling when you check PLIST, but its there. They are called elmtwopipe, valeriantwopipe and skollcaptwopipe. If you don't have any secondary pipes leave them false.

    Slightly better/easier installation process for new users.

    Now here comes the other thing, I have moved everything into the 'wsys' namespace. So anything you ever scripted for yourself will probably break. Most things are called the same, some are not.

    Before updating please check your settings! They will be reset (new file in your profile folder in the .config for Mudlet). So you will have to set up everything from scratch.

    As usual check the Changelog for a somewhat more detailed explanation of things.

    Keep submitting bugs using the wbug alias, I'll get to them all eventually. Ask for invites into the WunderSys clan in game if you have questions etc.

    Changelog:

    • Added: 'wsys' namespace.
    • Added: Refilling for secondary pipes.
    • Added: Profiles.
    • Added: Profile switching on death and starburst.
    • Changed: A few tables are now in 'wsys.tb', these tables are unlikely to be used by anyone.
    • Changed: No longer use "show bleeding" anywhere. Not really very important in most cases.
    • Changed: Manual restoration alias to use serverside.
    • Changed: Should handle aeon in blackout a little better based on the sluggish message.
    • Changed: Cleaned up some limb break aff display stuff.
    • Changed: Deleted a load of useless variables and functions. Too many to list.
    • Removed: Nausea (songbird) trigger
    • Changed: Classlead Changes: January 2015 - Part 2 & 3 implemented
    • Fixed: Added Temperedcholeric -, Temperedmelancholic -, Temperedphlegmatic -, Temperedsanguine - triggers.
    • Fixed: Issue in the herbbal() function.
    • Fixed: Typo in the corruptionhandling script.
    • Fixed: Smash Low (clumsy) wasn't actually adding clumsiness to aff tracking.
    • Fixed: Mindseye - trigger
    • Fixed: Imaple prompt aff tag, what's a maple anyway?
    • Fixed: Daeggerimpale will now not fail some stupid AI check and not register you writhing off.
    • Fixed: Overhand trigger (Thanks @Tynil)
    • Fixed: Channels (elemental + spirit) will now be set to false on death.
  • NemutaurNemutaur GermanyMember Posts: 1,068
    I uploaded a new rc1 (I lie, there have been 3 hotfixes/re-uploads in the last 24 hrs) due to a few stupid bugs. 

    They fix precaching display for herbs, dor failsafe timer and promt string click/pasting into cmd line not working. 

    If those were an issue for you just re-download WunderSys-rc1.zip from the website and install it as if you were updating. 
    AstCynlaelFendo
  • NemutaurNemutaur GermanyMember Posts: 1,068
    Update: WunderSys rc 1.1

    Very tiny update to make sure that Wunder works with the new PLIST formatting. If you are still on a beta version you will have to update now to get PLIST functionality.

    Changelog:

    • Fixed: PLIST change added.
    • Fixed: Bug when clicking the prompt string in wshow display, (Thanks @Ethoas)
    • Fixed: Bug with the dorfailsafe timer. (Thanks @Oren)
    • Fixed: Bug with a retardation check still using sys.retard
    • Fixed: wsys.precachedisplay() didn't have any code in the non-transmutation section (Thanks @Excellion)
  • NemutaurNemutaur GermanyMember Posts: 1,068

    Update: WunderSys rc2

    Update with more than a few bug fixes. Huge thanks to @Drual and @Tynil for combing through a lot of the scripts and reporting bugs.

    Changelog:
    • Added: Airfisted affliction.
    • Added: Slimeobscure affliction
    • Added: Deflect defence for 2h knights. (Thanks @Daslin)
    • Changed: Renamed "crone" affliction to "hecatecurse", to be in line with serverside naming.
    • Fixed: SnB Slice trigger (Thanks @Tynil)
    • Fixed: Whirl trigger (Thanks @Tynil)
    • Fixed: Nairat runeblade is shivering, not frozen (Thanks @Kenway)
    • Fixed: Added nairat runeblade aff from you (runewarden) hitting rebounding.
    • Fixed: wsys.tb.targettedCureTable not local anymore, fixes the errors you get with wsys.affcured
    • Fixed: Added the Hamstrung affliction (Thanks @Tynil)
    • Fixed: DSB trigger thinking you had bleeding on any dsb in the room on anybody from anybody and everything and other things. (Thanks @Daslin)
    • Fixed: unsoftpause() instead of wsys.unsoftpause() in a function.
    • Fixed: Fixed mistake in wsys.resetBals()
    • Fixed: osend instead of wsys.osend() in Pipe Functions script. (Thanks @Drual)
    • Fixed: error in kai boost script. (Thanks @Drual)
    • Fixed: wsys.lockqueue() will now use wsys.shrug() instead of send("shrugging") (Thanks @Kimby)
    • Fixed: Dofreee alias was still being set instead of Dofree. Feel free to delete every single Dofreee(1-7), that's 3 e's from your alias lists. (Thanks @Drual)
    • Fixed: damagedhead (diag) trigger was actually adding mangledhead. Added missing mangledhead diag trigger.
    • Fixed: Puppet/Vodun flick trigger giving mangledhead aff instead of damagedhead like it should be.
    • Fixed: cvp alias had a really old function in it.
    • Fixed: You can now 'quit' out of the news system without needing to type ' quit' to bypass the WunderSys alias. (Thanks @Kenway)
    • Removed: Necklace of Purity trigger.
    Tasuu
  • NemutaurNemutaur GermanyMember Posts: 1,068

    Update: WunderSys rc3


    Added a fullstats thing (bl) and an auto tree toggle (atr) as well as the usual bug fixes.

    Read the Changelog as usual, keep submitting bugs with wbug and if you want to ask for invites to the Wunder clan.

    Changelog:

    • Added: Fullstats mode/alias. Basically for stuff where you need to be at or as close to 100% hp this will set sip mana and health to 99% (can't do 100, tried) and upon hitting 99% mana and hp will do the action. Useful for write journal, board ship etc. So try fl board ship # or fl write journal page 3
    • Added: atr or atr on/off aliases added to more easily toggle serverside auto tree usage. atr off will not stop Wunder from trying to tree if you are locked, it will still try that of course.
    • Changed: The aliases moss and reb are now their own toggles as well as accepting the on/off argument
    • Changed: Moved 'deletefull' var to wsys.deletefull
    • Fixed: Insomnia toggling based on manathreshold (Thanks @Tynil)
    • Fixed: Scales (def) trigger updated. (Thanks @Ethoas)
    • Fixed: Impaled (diag) trigger was missing.
    • Fixed: Problem with pipe refilling not working for mineral cures if outrift mineral count was off.
    • Fixed: Sleep aff not adding prone as an aff. (Thanks @Kenway)
    • Fixed: A couple of problems with aeon handling.
    • Fixed: Yanked out a lot of that stupid retardation detection that made you think you had retard instead of aeon on sluggish messages. I'll think on how to improve this for later.
  • CynlaelCynlael Member Posts: 3,257 @@ - Legendary Achaean
    Since Nemutaur is MIA, I decided I'd just go ahead and get all the new Sylvan/Sentinel/Monk triggers myself until he can add them into an update. They're in the file attached to this post, for anyone that wants 'em. Don't be 'unconvinced' by the file name, it was just to troll people, and I was too lazy to change it before uploading it to forums for people.

    You're welcome.

  • TynilTynil Member Posts: 33 ✭✭✭ - Distinguished
    Adding to the above. Nemutaur has been gone long enough. I've built, managed, and sold my own system before, but swapped to WunderSys because updating my own was too much work. It turns out, I like the idea of having a free system that lets you fight well, without having to script everything yourself. Server side curing is a good start, but you still need something on top of it to really compete. 

    That said, I created a github project for Wundersys: https://github.com/tynil/WunderSys

    Currently up is WunderSys v1.0 (https://github.com/tynil/WunderSys/releases), which is largely just a re-branded version of rc3, but re-directs wbugs to me instead of Nemutaur, until he returns (hopefully I don't regret that). I have a number of fixes locally that I intend to pick over and commit one at a time, before doing another release. 

    Some planned changes for v1.1 include:
    - Do queue improvements/fixes
    - Fracture/Humour aff tracking improvements/fixes
    - An initial attempt at using GMCP aff tracking to catch anything triggers don't already catch
    - Plus other minor miscellaneous bug fixes.

    For future improvements after that, I do at least plan on looking into improving retardation curing, (and probably the magi changes in general if I can find one) but we'll see where that goes.

    All that said, this is hosted on github as open source. If you want to possibly make your own changes to the system directly, let me know and I can add you as a contributor. Since the mudlet script file is so large, github won't display the changes on the web, and potential merge issues could be painful, but if you actually pull the repo down with git, you can see the individual changes. I certainly don't have time, nor intend to, fix everything myself, but hopefully this can turn into more of a collaborative effort (or Nemutaur gets back and we just let him do everything again).
    Exelethril
  • AmranuAmranu Member Posts: 725 ✭✭✭✭ - Eminent
    I've made various changes for fracture/humour tracking and prioritization. Including showing the current number of tempers/fractures in the prompt.

    There are also some changes I've made regarding Apostate stain handling, which didn't work correctly and a bunch of other minor changes (asthma prio w/ hellsight, impatience prio w/ stupidity, support for Shaman purification affliction healing among other things)

    Lemme know if you could use any of these changes and I'll attempt to merge them and send them over with what you have.
  • TynilTynil Member Posts: 33 ✭✭✭ - Distinguished

    WunderSys v1.0.1

    https://github.com/tynil/WunderSys/releases/tag/v1.0.1

    Changelog:

    • Fixed: fracture diag lines
    • Fixed: tracking balance/eq with queued commands
    • Fixed: Missing wsys namespace on my_limb_hit call
    • Fixed: registering fracture cures
    • Added: resto break checks for 2h devastate
    • Fixed: dofree first line sub
    • Fixed: some self limb count lines (more fixes to come)
    • Changed: Remove ginger level logic (this was changed in announce 4313 to not cure extra if the alchemist is in the room. I just disabled it altogether. If you leave the room, you may cure tempers faster than the system thinks you are, but it'll catch up when they're gone completely or if you diagnose).
    • Added: Raise "got aff" event when fracture level changes (allows for better dynamic curing of fractures if you want)
    • Added: fracture/humour count tracking to prompt tags

    Still to come for v1.1:
    - Do queue improvements
    - GMCP aff tracking for anything not covered by triggers
    MeradorMishgulExelethril
  • TynilTynil Member Posts: 33 ✭✭✭ - Distinguished

    WunderSys v1.0.2

    https://github.com/tynil/WunderSys/releases/tag/v1.0.2

    Changelog:

    • Fixed: Don't overwrite settings with defaults (Thanks @Kenway)

    Sorry about that. 1.0.1 accidentally saved the settings file, after it restored defaults, before loading from the settings file (that it just saved over), every time you opened mudlet. Now it should properly load the default settings, but without writing it out to the file, so your settings will be preserved.


    MishgulKenwayLavakhiAkamai
  • TynilTynil Member Posts: 33 ✭✭✭ - Distinguished

    WunderSys v1.0.3

    https://github.com/tynil/WunderSys/releases/tag/v1.0.3

    Changelog:

    • Added: GMCP.Char.Afflictions Add/Remove support
    • Added: Lines for Sylvan holo equivalent
    • Added: Self limb damage timeouts after 3 minutes
    • Fixed: Removed disloyalty aff from dragon curse
    • Fixed: Self-limb count miss lines and triggers

    The big change here is GMCP afflictions. This means even if you don't have a trigger for a specific affliction line, the system should still know about it from gmcp, so it'll show up in the affs prompt tag, and curing can be adjusted as needed.

    KenwayExelethril
  • TynilTynil Member Posts: 33 ✭✭✭ - Distinguished

    WunderSys v1.0.4

    https://github.com/tynil/WunderSys/releases/tag/v1.0.4

    Changelog:

    • Added: Battlerage GMCP tracking and prompt tag (@rage)
    • Added: Bleed tracking from GMCP

    I don't normally plan on doing releases this often, but since we just had that big bashing change, I figured I'd go ahead and get this out for people. Added tracking for battlerage, under wsys.stats.rage, with a prompttag for @rage you can add to add it to your prompt.
    AkamaiIllirraPraxides
  • KlendathuKlendathu Eye of the StormMember Posts: 3,178 @@ - Legendary Achaean
    How does Wundersys store the current dragonform colour? For svo, I can get it from svo.conf.dragonbreath, is there an equivalent?

    Tharos, the Announcer of Delos shouts, "It's near the end of the egghunt and I still haven't figured out how to pronounce Clean-dat-hoo."
  • TynilTynil Member Posts: 33 ✭✭✭ - Distinguished
    Klendathu said:
    How does Wundersys store the current dragonform colour? For svo, I can get it from svo.conf.dragonbreath, is there an equivalent?
    It doesn't, currently. But I can add it.
    Klendathu
  • KlendathuKlendathu Eye of the StormMember Posts: 3,178 @@ - Legendary Achaean
    Tynil said:
    Klendathu said:
    How does Wundersys store the current dragonform colour? For svo, I can get it from svo.conf.dragonbreath, is there an equivalent?
    It doesn't, currently. But I can add it.
    I only want it for my battlerage gui, I can work around it for now

    Tharos, the Announcer of Delos shouts, "It's near the end of the egghunt and I still haven't figured out how to pronounce Clean-dat-hoo."
  • AkamaiAkamai Member Posts: 6 ✭✭ - Stalwart
    so much thanks!
  • SzethSzeth Member Posts: 40 ✭✭✭ - Distinguished
    Is there any way to use the Achaean target health tracking with WunderSys? The system totally ignores and replaces the Achaean prompt, doesn't it? So adding it in wouldn't help.

    There's no WunderSys tracking of that variable either, is there?
  • CynlaelCynlael Member Posts: 3,257 @@ - Legendary Achaean
    @npchp should be the prompttag to use, if your wundersys is up to date.

  • SzethSzeth Member Posts: 40 ✭✭✭ - Distinguished
    I see how this is supposed to work, but it isn't. The value is just not updating at all. When I display gmcp.IRE.Target it's not updating either, no matter whether I use SETTARGET or not.
    Praxides
  • TynilTynil Member Posts: 33 ✭✭✭ - Distinguished

    WunderSys v1.1.0

    https://github.com/tynil/WunderSys/releases/tag/v1.1.0

    Changelog:

    • Fixed: Ignore your own illusions
    • Fixed: Don't count hallucinations as focusable
    • Added: Track Dragon color in wsys.settings.dcolor
    • Changed: Renamed stain aff to demonstain

    Also, a note on the version numbers. The numbers are roughly indicating: MAJOR.MINOR.REVISION. The Major number will only change if there are significant changes to the API that may break any extensions you have. The Minor number I will update for what I consider to be a stable release of the previous revisions. The Revision is updated for incremental changes. The idea being, vX.Y.0 should always be stable, while vX.Y.Z is considered beta software that may need testing.

    So, the changes between v1.0.4 and v1.1.0 are pretty minor, and v1.0.4 has been out there long enough that I'd consider it to be pretty stable. So here is a stable release for any who may have been holding off.

    Szeth said:
    I see how this is supposed to work, but it isn't. The value is just not updating at all. When I display gmcp.IRE.Target it's not updating either, no matter whether I use SETTARGET or not.
    WunderSys just pulls from the GMCP data for that. As far as I can tell, it looks like a bug with when the gmcp data is being sent. It only seems to update for a new target if you use SETTARGET NONE, then hit something. It'll update for that target, but you'll need to SETTARGET NONE again when before you hit something different.
    PraxidesExelethril
  • TectonTecton The Garden of the GodsAdministrator Posts: 2,507 Admin
    Tynil said:
    Szeth said:
    I see how this is supposed to work, but it isn't. The value is just not updating at all. When I display gmcp.IRE.Target it's not updating either, no matter whether I use SETTARGET or not.
    WunderSys just pulls from the GMCP data for that. As far as I can tell, it looks like a bug with when the gmcp data is being sent. It only seems to update for a new target if you use SETTARGET NONE, then hit something. It'll update for that target, but you'll need to SETTARGET NONE again when before you hit something different.
    @Szeth - what are you setting your target to and what isn't it registering on? 
  • TharvisTharvis The Land of Beer and Chocolate!Member Posts: 3,107 @@ - Legendary Achaean
    @Szeth your serverside target isn't saved in gmcp.IRE.Target ? it should be saved in gmcp.Char.Status.target
    Aurora says, "Tharvis, why are you always breaking things?!"
    Artemis says, "You are so high maintenance, Tharvis, gosh."
    Tecton says, "It's still your fault, Tharvis."

Sign In to Comment.