Svo Updates

123468

Comments

  • 15.2.3 update!

    This update improves on the knight features available in Svo.

    Rage & fitness balances

    Svo now tracks and obeys rage and fitness balances.

    Rage & fitness curing curing strats

    Custom curing strategies are available for use in rage and fitness, allowing you to precisely fine-tune when you'd like to use the abilities. See docs on how to set them up. 

    Note that in rage strats you don't need to check for whenever you've got a rage-able affliction, Svo checks it automatically for you.

    Recover footing

    Recover footing support is now in the system, do vconfig recoverfooting on if you've got the skill to enable its use.

    Diagnose bashing triggers

    Diagnose bashing triggers that were broken in the last update are now fixed.

    15.2.2 update

    15.2.2 update was skipped as it didn't contain the diagnose bashing triggers fix.

    Changelog:

    • added custom rage curing strats
    • added fitness balance
    • added flail whirl to limbcounter
    • added rage balance
    • added support for custom fitness strats
    • added support for recover footing (vconfig recoverfooting on to enable)
    • fixed diagnose to work for bashing triggers again
  • 15.2.4 update!

    Quick update for the list changes as per Announce #4280, which broke plist and elist, with a ton of other improvements thrown in.

    List changes

    plist and elist have been updated for the list changes and work again properly now.

    New system event

    A 'svo prio changed' event has been added, in preparation for Svo gaining a mode where it'll use augmented serverside curing (with full priority switching on the fly).

    New toggle, pvd

    A new toggle has been added, pvd, which toggles between paralysis and darkshade. Useful when you're getting stacked with paralysis or darkshade and need to prefer one or the other quickly. This joins existing toggles - pva (paralysis & asthma) and avs (slickness & impatience).

    Adding your own toggles is trivial, for example this is how the pvd toggle works:

    svo.prio_swap("paralysis", "herb", "darkshade", "herb", true)

    Star sigils

    Enchanter has been updated to allow enchantment of star sigils.

    New function for custom strats

    svo.havefractures() has been added, which returns true if you've got any of the fractures afflictions.

    Refiller

    The refiller will now correctly detect Transcendent for Concoctions now, alongside Remedies already.

    Efficiency

    vconfig recovery has been renamed to vconfig efficiency due to the change in the games skills.

    Aggressive stance tracking

    Aggressive stance tracking has been added, so Svo will now realise when it needs to count for double the affs.

    Note that this has issues outstanding in the game, you can only see when someone stanced - but whenever the stance went off on you or not can be not so obvious.

    Changelog:

    • added 'svo prio changed' to svo.prio.import()
    • added 'svo prio changed' to svo.prio_makefirst(), svo.prio_undofirst(), svo.prio_slowswap()
    • added aggressive stance tracking
    • added pvd, a toggle for paralysis and darkshade
    • added serverside prios to show in prio lists with tf affs
    • added star sigil enchantment
    • added svo prio changed event to svo.prio.insert() and svo.prio.cleargaps()
    • added svo.basictableindexdiff(t1, t2)
    • added svo.havefractures()
    • added svo.systemloaded variable
    • added vconfig gagserverside
    • documented autoarena, autorewield, autoslick, cadmusaffs, efficiency, fitnessfunc, focuswithcadmus, gageqbal, gagotherbreath, hinderpausecolour, and recoverfooting vconfig options
    • documented svo.countbrokenlimbs()
    • documented svo.me.focusedknights
    • fixed error with custom prompt from using svo commands before logging into game
    • fixed refiller to check Concoctions for Transcendent status again
    • fixed tree curing all skullfractures not being tracked properly
    • fixed typo in documentation for the 'svo got hit by' event
    • fixed typo in vconfig herbstatsize
    • moved ignoring affs for serverside to svo.serverignore
    • removed non-gmcp autoinstall detection
    • renamed recovery to efficiency
    • sorted enchant list menu
    • updated elist sorter for new output
    • updated install experience - made relight, preclot, gagrelight to be enabled by default and oldts disabled by default
    • updated plist to output changes
    • updated sip balance timeout to deal with the 7.4s balance loss from double handers
  • 15.2.5 update!

    This is a quick update to make elist and vlist work with the pagination that was introduced.

    Changelog

    • added 'svo prio changed' to hh toggle
    • added fractures to be ignored by tf affs
    • fixed a rare case with materallato being confused by two bards hitting at once and adding a prone
    • fixed case with serverside+ai and impatience detection giving a false echo
    • fixed elist/vlist to work with the new paging system
    • improved vp to be aligned for when serverside curing is off
    • improved vp focus not to show any prios for serverside curing
    • optimised svo not to do any affliction priotisation at combat-time if serverside is on
  • edited February 2015

    I really want to make a curing system, but a quick glance at your changelog just makes me quiver in fear.  I would never want to have to update things so frequently and in such quantity.  

    Out of curiosity, why did you do this: 
    • optimised svo not to do any affliction priotisation at combat-time if serverside is on

    Personally I would much, much, much rather this continue to function.  Perhaps this could be a setting?

    Edit:  I mean, I know that it was for optimization - my question was more along the lines of "Is this really worth the minute increase in performance?"
  • SkyeSkye The Duchess Bellatere
    having some difficulty updating the system. I tried uninstalling the packages, restarting mudlet and then reinstalling a freshly downloaded copy. I still get the pop up about the 'new update'


  • Ernam said:

    I really want to make a curing system, but a quick glance at your changelog just makes me quiver in fear.  I would never want to have to update things so frequently and in such quantity.  

    Out of curiosity, why did you do this: 
    • optimised svo not to do any affliction priotisation at combat-time if serverside is on

    Personally I would much, much, much rather this continue to function.  Perhaps this could be a setting?

    Edit:  I mean, I know that it was for optimization - my question was more along the lines of "Is this really worth the minute increase in performance?"
    Okay that is worded poorly, Svo is still doing tracking for all afflictions and still curing ones serverside can't cure well - in fact you'll have a menu where you can select what Svo should be curing instead of serverside (so things like writhe stacking will still be a thing).
  • edited February 2015
    https://ada-young.appspot.com/pastebin/19f195ac

    oooh

    (the system will be making use of the setalias trick to send all prio change commands in the end)
  • edited February 2015
    https://ada-young.appspot.com/pastebin/a000cab8

    okay, that was trivial to add.

    The system maintains two curing sets, normal and slowcuring - so when you get aeon/retardation, swapping to the other priorities is super-fast with a simple 'curingset switch slowcuring'. Not sure if serverside handles defences in aeon/retard, but that'd still be useful for afflictions.
  • Vadimuses said:

    Before svo.sendc():

    send ("unwield right", false)
    send ("unwield left", false)
    send ("wield left " .. s1, false)
    send ("wield right " .. s2, false)
    
    (ex) 4416h|90%, 4586m|96%, 100w%, 96e%, ()- 
    You cease wielding a barbed, Mhaldorian morning star in your right hand.
    (ex) 4416h|90%, 4586m|96%, 100w%, 96e%, ()- 
    You cease wielding a barbed, Mhaldorian morning star in your left hand.
    (ex) 4416h|90%, 4586m|96%, 100w%, 96e%, ()- 
    You begin to wield a barbed, Mhaldorian morning star in your left hand.
    (ex) 4416h|90%, 4586m|96%, 100w%, 96e%, ()- 
    You begin to wield a barbed, Mhaldorian morning star in your right hand.
    (ex) 4416h|90%, 4586m|96%, 100w%, 96e%, ()-

    After svo.sendc():

    svo.sendc ("unwield right", false)
    svo.sendc ("unwield left", false)
    svo.sendc ("wield left " .. s1, false)
    svo.sendc ("wield right " .. s2, false)
    
    (ex) 4416h|90%, 4454m|94%, 99w%, 100e%, ()- 
    You cease wielding a barbed, Mhaldorian morning star in your right hand.
    You cease wielding a barbed, Mhaldorian morning star in your left hand.
    You begin to wield a barbed, Mhaldorian morning star in your left hand.
    You begin to wield a barbed, Mhaldorian morning star in your right hand.
    (ex) 4416h|90%, 4454m|94%, 99w%, 100e%, ()-


    Nice & easy
    I'm a scrub, what am I looking at here? 
    image
  • @Andregor: What you're seeing is an Svo function that (I assume) creates an alias to do a series of commands, and then calls it. Essentially cutting down the number of commands you need to send to the game from X to 2.

    Though in that particular example, you could simply do send("wield " .. s1 .. " " .. s2, false) for the same result, since the game now handles unwielding items where necessary to wield others. You'd only need to send all of the commands yourself if you use containers, and therefore need to handle LASH/UNLASH/DRAW/SHEATHE/etc.

    @Vadimuses: How's that coded, out of curiosity? When does it know to send the commands to the game versus adding them to whatever table Svo uses to track them?
  • Antonius said:
    What you're seeing is an Svo function that (I assume) creates an alias to do a series of commands, and then calls it. Essentially cutting down the number of commands you need to send to the game from X to 2.
    It could be reduced to 1 command if you set up a series of aliases beforehand to send multiple arbitrary commands (setalias multi2 %1/%2 to send any 2 commands, setalias multi3 %1/%2/%3 to send any 3, and so on up to whatever you think a reasonable limit is).

    It could also just use a single alias with a lot of wildcards and gag the "Wildcard out of range" message you get when you don't use enough arguments.
  • It's one command if it's 1-9 in the queue, 10+ it is two until you hit the Achaean command length limit, where the system then splits up into multiple commands.
  • KlendathuKlendathu Eye of the Storm
    Vadimuses said:
    Any chance you could add auralbless in as a method to cure deafness for bards? :D

    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."
  • Yeah, get in touch via email.
  • vconfig batch on -> https://ada-young.appspot.com/pastebin/345ef5c3

    superspeed for svo curing / defences when there's much to do.
  • 15.3.1 update!

    New update! Brings faster curing, updated the Elist sorter for pagination, and more!

    Faster curing

    While I'm working on complete serverside management by Svo off on the side, I've sped up Svo's curing using the new serverside aliases which allow you to batch things. You might've seen them in action already - people doing many things at once without a prompt. This is it!

    The option is called vconfig batch and it's enabled by default. It looks pretty great:

    (svo): System unpaused.
    (apply mass to body|smoke 101365|outr quicksilver|apply quicksilver|insomnia|deathsight)
    You take out some salve and quickly rub it on your body.
    Your body grows extremely dense and heavy as the mass salve infuses your skin.
    You take a long drag of malachite off your pipe.
    You remove 1 quicksilver, bringing the total in the Rift to 73.
    You apply a quicksilver droplet to yourself.
    You clench your fists, grit your teeth, and banish all possibility of sleep.
    You shut your eyes and concentrate on Thoth, the God of Death. A moment later, you feel inextricably 
    linked with Death itself. (18 malachite left)
    (x) 4600h|93%, 3845m|81%, 99w%, 100e%, (d)- (-150m, 3.2%) 
    You may apply another salve or balm to yourself. (0.88s)
    (ex) 6510h|97%, 5940m|88%, 100w%, 99e%, (cdrh)-
    Utterly heedless, the Leviathan catches you in the midst of its writhing and thrashing, crushing you with no visible effort.
    Your left arm breaks with a loud crack.
    Your left leg breaks with a loud crack.
    (ex) 2521h|37%, 5940m|88%, 100w%, 99e%, (cdrh)- [ll1 la1] (-3989h, 59.5%) (apply mending to arms|sip health)
    You take out some salve and quickly rub it on your arms.
    The bones in your left arm mend.
    You take a drink from a stygian vial.
    The elixir heals and soothes you. (0.286s)
    (ex) 3671h|54%, 5940m|88%, 100w%, 99e%, (cdrh)- [ll1] (+1150h, 17.2%)

    Anything from one to nine commands are done instantly, as if it was the first command. Any more than that get all done instantly, but as if it was the second command. This is significant speed savings all in all already, and is a big boon to those who have better ping with Svo than serverside due to their proximity to Chicago.

    Elist sorter

    The Elist sorter has gained fixes and improvements. It now handles MORE's, gags the vials list, and shows the total amount of sips available! Sample view:

    Vial Fluid Sips Months
    -------------------------------------------------------------------------------
    -------------------------------------------------------------------------------
    (p) (ex) 4600h|93%, 4366m|92%, 100w%, 100e%, (cd)- 
    (svo): Elixirs:
     2 an elixir of mana (358s) 
     2 an elixir of health (258s) 
     2 an elixir of venom (342s) 
     2 an elixir of frost (391s) 
    (svo): Salves:
     2 a salve of restoration (242s) 
     2 a caloric salve (400s) 
     2 a salve of mass (232s) 
     2 an epidermal salve (235s) 
     2 a salve of mending (391s) 
    (svo): Empties:
     3 empty (0s) 2 decaying soon
    (svo): Venoms:
     1 the venom kalmia (200s) 1 short 
     (change desired amounts)
     (dispose of decays)
     (append refill request, need 1 refills)
    
    

    You can still see the complete list of vials by doing ELIST.

    Additionally, command batching was integrated into it, so refilling vials is now instantaneous:

    (p) (ex) 4775h|103%, 3831m|80%, 100w%, 100e%, (d)-
    You carefully turn a small spigot on a copper-banded oak tun and refill an oaken vial with an elixir of mana, paying 275 gold.
    You carefully turn a small spigot on a copper-banded oak tun and refill a stygian vial with an elixir of venom, paying 275 gold.
    You carefully turn a small spigot on a copper-banded oak tun and refill a stygian vial with a caloric salve, paying 275 gold.
    You carefully turn a small spigot on a copper-banded oak tun and refill a stygian vial with an epidermal salve, paying 275 gold.
    (p) (ex) 4775h|103%, 3831m|80%, 100w%, 100e%, (d)-

    As well as consolidating vials:

    You pour an epidermal salve from an oaken vial, emptying it, into a stygian vial.
    You drop an oaken vial.
    You pour an elixir of mana from an oaken vial into a stygian vial, filling it up.
    You pour an elixir of mana from an oaken vial, emptying it, into a stygian vial.
    You drop an oaken vial.

    inra

    inra has been improved to stuff things away instantaneously as well, making it the same speed as the in-game inra alias, yet better since Svo's groups things:

    (svo): Stuffing everything away...
    (ex) 4600h|93%, 3838m|81%, 100w%, 100e%, (cd)-
    You store 30 slippery elm, bringing the total in the rift to 633.
    You store 3 alchemical gold, bringing the total in the rift to 3.
    You store 43 red ink, bringing the total in the rift to 43.
    You store 40 echinacea, bringing the total in the rift to 1936.
    You store 10 potash, bringing the total in the rift to 1418.
    (ex) 4600h|93%, 3838m|81%, 100w%, 100e%, (cd)-

    Refiller

    Another spammy script, the refiller, has been significantly sped up with command batching as well - and made less spammier: http://pastebin.com/VhUncDzs.


  • svo.sendc()

    Now all this command batching for the system might be cool and all, but can you make use of it yourself? Yes you can! I've made it very trivial to do so as well. Just replace any send() or sendAll() use in your aliases with svo.sendc(), and it will work:

    Before svo.sendc():

    send ("unwield right", false)
    send ("unwield left", false)
    send ("wield left " .. s1, false)
    send ("wield right " .. s2, false)
    

    (ex) 4416h|90%, 4586m|96%, 100w%, 96e%, ()-
    You cease wielding a barbed, Mhaldorian morning star in your right hand.
    (ex) 4416h|90%, 4586m|96%, 100w%, 96e%, ()-
    You cease wielding a barbed, Mhaldorian morning star in your left hand.
    (ex) 4416h|90%, 4586m|96%, 100w%, 96e%, ()-
    You begin to wield a barbed, Mhaldorian morning star in your left hand.
    (ex) 4416h|90%, 4586m|96%, 100w%, 96e%, ()-
    You begin to wield a barbed, Mhaldorian morning star in your right hand.
    (ex) 4416h|90%, 4586m|96%, 100w%, 96e%, ()-

    After svo.sendc():

    svo.sendc ("unwield right", false)
    svo.sendc ("unwield left", false)
    svo.sendc ("wield left " .. s1, false)
    svo.sendc ("wield right " .. s2, false)
    

    (ex) 4416h|90%, 4454m|94%, 99w%, 100e%, ()-
    You cease wielding a barbed, Mhaldorian morning star in your right hand.
    You cease wielding a barbed, Mhaldorian morning star in your left hand.
    You begin to wield a barbed, Mhaldorian morning star in your left hand.
    You begin to wield a barbed, Mhaldorian morning star in your right hand.
    (ex) 4416h|90%, 4454m|94%, 99w%, 100e%, ()-

    Now you can do the fancy all-in-one stuff!

    (a) for diagnosing priority

    The (a) for when you're in aeon or retardation has been improved with a feature combatants will find handy: you can now go back in a fight to see what possible actions to do was the system considering, or what was it doing at that moment.

    Clicking on the (a) will show you the priorities (in order) the system was thinking of at the time - if you suspect them unsatisfactory, you can tweak your priorities to do better the next time.

    New customprompt tags

    New tags! @morph will show your current morph, and @servertimestamp will show the timestamp from the game, presumably from when the line was sent to you.

    New system events

    svo switched defence mode,  svo defup changed, and svo keepup changed events have been added, helping you track when Svo's defence mode / defup / keepup / is changed.

    Deflect

    Weaponmastery deflect has been added for those who can make use of it!

    Changelog:

    • added 'svo switched defence mode' event
    • added @morph, @servertimestamp custom prompt tags
    • added devastate legs mangle hammer version
    • added disloyalty symptom
    • added first voyria symptom for faster curing
    • added knight lines that give ticks of an affliction to add the affliction right away
    • added mastery on def line
    • added optimisation to have queues of 2-9 commands to be sent as one command
    • added svo defup changed, svo keepup changed events
    • added svo.sendc(), allowing you to easily make use of the multi-command send feature
    • added total amount of sips to elist sorter
    • added trip triggers to meta limbcounter (thanks Iakimen!)
    • added vconfig batch (on by default)
    • added weaponmastery deflect def
    • disabled maybevivi restore strat, it was more dangerous than helpful
    • disabled old spark triggers
    • documented @morph, @servertimestamp
    • documented ^gametarget
    • documented svo.sendc()
    • fixed ai and haemophilia detection for shamans
    • fixed diag error on numbedrightarm (thanks Titonus!)
    • fixed error that would happen with inker when someone else finished inking
    • fixed one or two limbs restore strat going off with 2 broken and 1 mangled limb
    • fixed retardation detection removing retardation if you spammed enter a bunch of times
    • fixed tree not to be touched with a numbed arm
    • fixed va not to dismount while you're paralysed
    • improved (a) to be a link, clicking it will show what the system was considering or doing at that time in aeon/retardation
    • improved bugs list to be clickable
    • improved documentation by turning functions into links to them
    • NameDB: added housemates to be detected via honors
    • NameDB: added Legates and Luminai to houses
    • removed mana display from mastery defence
    • removed old spark triggers
    • reworked how custom prompt works to support links in (a)
    • updated anyoneortwolimbs strat to be disabled by default
    • updated assault head to work for distortaura (thanks Josoul!)
    • updated elist sorter to batch commands for disposing / pouring vials
    • updated elist to be gagged by default now, ELIST will still show it
    • updated elist to work with more's
    • updated inra to use command batching
    • updated refiller to use command batching (faster refills!)
  • KayeilKayeil Washington State
    Sent you an e-mail regarding some slow curing mode issues I had. Also, is SVO just curing slower with health now? I'm either suddenly squishier in dragon, or it's healing with sip/moss slower than it was before even though I'm using server to handle that, but I wonder if SVO would do anything to keep it healing at a slower pace?
    What doesn't kill you gives you exp.

  • A new update is coming that'll address the slow curing issue. If you're using server to handle health/moss, Svo cannot have any effect on its speed.
  • 15.3.2 update!

    A quick update onto the previous one to fix aeon / retardation curing!

    Changelog:

    • fixed batching messing up aeon curing by blocking Svo's own commands
    • fixed curingsets not to be switched in aeon if not using serverside
    • fixed frozen from deepfreeze to be recognized
  • 15.3.3 update!

    A quick update - with doubledo and batch options enabled, things would go awry after you've been hit with stupidity and be looping. This fixes that.
  • I feel for you vadi. :)

    Now you have to redo all that to use the ingame command separator!

    I just used / as mine though because it worked well with the system alias. Can't paste weblinks anymore though.
    image
  • KlendathuKlendathu Eye of the Storm
    edited March 2015
    I went with backslash. Only problem is that when you pass anything with a backslash as a variable to another function - I have send("queue add eqbal "..matches[2]) aliased to ^+(.+)$ - you need to have a double-backslash.

    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."
  • Svo will now also use the in-game command separator, if you've got one (optional).

    I've set mine at `, we'll see how that'll go.
  • 15.3.4 update!

    This is a quick but partial update to the new Druid/Sentinel overhauls. Another update will follow soon completing more things, for now this is better than nothing!

    Skirmish

    The new Sentinel skillset, Skirmish, has been fully implemented and integrated with NameDB tracking as well as the 'svo limb hit' system event.

    In-game command separator

    svo.sendc() has been improved to use the in-game command separator if you've got one set - you can use vconfig commandseparator to set it for the system, or check CONFIG where Svo will pick the separator up from.

    Note that svo.sendc() isn't limited to 10 commands as the separator is.

    Knight limbcounter

    The knight limbcounter has been fixed to echo properly when multiple limbs are being attacked at once, and properly account for multiple simultaneous limb breaks.

    Changelog:

    • added Skirmish lines
    • added unconsciousness affliction
    • added vconfig commandseparator which tracks which command separator in-game are you using
    • deleted reflexes
    • fixed an issue with anti-illusion ignoring some lines batching caused
    • fixed basilisk gaze trigger
    • fixed knight limbcounter to handle different limbs being broken at once
    • fixed knight limbcounter's echoes to work properly with multiple limbs being hit at once
    • improved svo.sendc() to use the in-game command separator if you've got one set and there's ten or less commands
    • removed wyvern from Sentinels
  • 15.3.5 update!

    This is a second update to finish off the Sentinel / Druid overhaul.

    Changelog:

    • added dismember warning
    • added new morph skill lines
    • added Reclamation lines
    • fixed slice to set off parry strats and highlight limb hit
    • made basilisk, jaguar be sentinel-only morphs
  • edited March 2015
    15.3.6 update!

    Fixes & new things!

    NameDB: Infamous tracking

    NameDB now tracks Infamous people!
    Selection_147

    You can use qwic to look at qw and see any known Infamous that are about, or qwi to re-check everyone on QW and then show who is infamous. Of course, having a Gem of Cloaking hides you from this, for the time being. You can also use ndb infamous to show known Infamous people in the database.

    NameDB: qwm

    A new alias, qwm, shows which marks are about that are visible on QW.

    Skirmishing: scout added

    Scout defence has been added to the Skirmishing skillset, now available for defup/keepup (and when serverside comes, for toggling it serverside).

    New inventory look

    Inventory parsing has been updated to be able to sync once again how many herbs you've got out when you check 'i'.

    Batch curing

    Batch curing + AI has been fixed, where the AI would ignore some cures if a batched cure failed (ie, focus).

    Changelog:

    • added preclot bleeding for Curses bleed curse
    • added scout defence for Skirmishing
    • batch curing: fixed AI ignoring cures when some fail
    • documented svo.removeafflevel(aff, amount, keep)
    • fixed general cures (Fool, restore, passives, etc) tracking for fracutres
    • fixed lethargy affliction from Scrag
    • NameDB: added qwm, qwic, qwi, ndb infamous aliases
    • NameDB: documented ppof
    • updated inventory parser for new inventory style
    • vset alias - added 'balance' as an acceptable replacement for 'physical' balance
Sign In or Register to comment.