Revision 33 does this:
Starts the Chat Manager before requesting a fax. It waits 5 seconds after starting, to give it a chance to get the "open channels" response back and actually open the GUI.
You can configure the Clan Swimming Pool to be used at the end of the day. Neither buff is particularly useful for farming, but Silent Running supposedly makes you subject to fewer random PVP attacks, so, some people might want that.
You can configure the Clan Floundry to get an item before any adventuring (like the Deck and the Tunnel of L.O.V.E.) so, if you want lasts-until-rollover items in your outfits, you can get them.
The Deep Machine Tunnel choice adventure is now configurable. If you want "comprehension" and it will show up today (per the "encountersUntilDMTChoice" setting I added a few days ago), it will reserve 3 spleen and, when the choice is due, will chew the three necessary abstractions before adventuring to get the choice. This is not tested, yet. The choice will show up for me as the first DMT adventure in three days. I don't REALLY want comprehension, but, for the sake of science, I will test it then.
Adding new configurable features - even simple ones - takes longer now.
1) Define a configurable property
2) Add constants that define the valid options for the property
3) Validate the property at startup (e.g., just because it is an "item" doesn't mean all items are good)
4) Use the property to control the new feature at the appropriate place.
I didn't used to have steps 2 and 3. But now, hopefully, configuration is bullet-proof.
And, by the way, the reason so much stuff that doesn't necessarily look like "farming" is in this script is that my personal goal is to minimize the actual time I spend tending characters in aftercore. I want to log in, press script button 3, and, when it is done, logout.
Spending time coding this script is consuming all the time I save by running the script. But, at least it is fun!
I want to comment that hatter 22 works perfectly while hatter filthy knitted dread sack only works if you are already wearing the hat in question. Is that intended?
I expect it is not intended. I'll be looking at the "hatter" command, by and by.
Although "hatter 22" is the obvious choice for a Meat farming script, as in every other feature, I'll let you configure whatever you want. Presumably, that will involve listing all the hatter buffs, letting you choose the effect you want and validating it, mapping from effect to hat length, validating that you HAVE a hat of appropriate length, and, at the appropriate time, invoking the hatter command. Fortunately, we have an item proxy field for name_length, added because of a PVP mini, which will help here.
Back before I started obsessing on generalizing the actions of this script, a simple 'cli_execute( "hatter 22" )' would have done it. Life is not so simple now.
My personal solution to this problem is to do something like...
Code:
cli_execute {
mood default, balefarm
mood clear
trigger lose_effect, fresh scent, use either 1 chunk of rock salt, 1 deodorant
trigger lose_effect, smooth movements, cast 1 smooth movement
trigger lose_effect, the sonata of sneakiness, cast 1 the sonata of sneakiness
}
That creates default, balefarm which extends my default mood with the new effects. It allows me to keep whatever the heck is in default (which ash won't let me check) along with the special purpose buffs for my current adventuring goal. If I clear the mood when I'm using a mood extension, it only clears the extension (in case I had other triggers there) without clearing default.
I'll be very interested to see if you've got a better solution. (Or create ash commands for checking the current contents of a mood.)
I will look closely at mood support in ASH, by and by. I recall an open Feature asking for access to mood triggers.
My initial thoughts when I put "moods" on the To Do list was to allow you to specify a variety of (configured) moods for various activities. For example, perhaps Gingerbread City will want to work a little harder on Familiar Weight, in order to boost sprinkles from the Lab. Perhaps free fights with scaling monsters that don't drop Meat want a mood which emphasizes stat gain, rather than Meat Drop. I don't know.
I wasn't planning on creating temporary moods composed of other moods - although, that is exactly what you did there, and it is a very interesting idea. This looks like it might be a fairly substantial "feature" whch will help from augmenting the ASH Run Time Library. It's handy being a KoLmafia dev - although I try very hard to make sure that new functions are really of general use, rather than coded specifically to the needs of one script.
Thanks for the inspiration.