Universal Recovery Script

Nope! Won't do it! When I make this script old news I don't want to have had people downloading it on SVN thinking it is still up to date.

Well there are ways to avoid that but since you used the A word elsewhere I need to just stop bothering you about it for a while ;-)
 
The final SVN version of this script could essentially remove itself, and become a version that prints instructions to install 1UP and and delete this script, along with changing any user settings. I imagine automatically doing that stuff in the background is a bit extreme, and new settings probably won't carry over so well anyway.

The main argument against it is concern that people will never update their SVN scripts, but all that's needed is a KoL or mafia change to cause an error in the script and it will become obsolete.

This script is far too much automation for me, so I won't ever be trying out this script or 1UP, so this is more brainstorming than anything I want to see.
 
Okay. I'm curious what you would suggest. No promises. I'm just agreeing to listen to your proposal.

lost got it. When you are ready to retire UR you check in a script that prints a whole bunch of stuff that tells the user

  1. UR is now obsolete
  2. Instructions telling how to remove UR or revert to the last working version and never check SVN for UR again
  3. Instructions to obtain 1UP and link to initial configuration thereof

These could be automated or they could just be manual but in any event a user would clearly know that UR had reached The End of Its Days.
 
The string "Desert (Unhydrated)" no longer matches a location name; use "the arid, extra-dry desert" instead
Changing "Desert (Unhydrated)" to "The Arid\, Extra-Dry Desert" would get rid of this message (Universal_recovery.ash, line 1430)
 
Universal recovery v 3.13 released!


Changelog:
version 3.13 November 05, 2013
  • First SVN updating version. Blah, blah, blah. STFU.
  • Also, Desert (Unhydrated) is no longer a noncombat zone.

Distribution has migrated over to SVN. To install this script, with a current daily build, please copy/paste the following line into KoLmafia's CLI and press enter:
Code:
svn checkout https://svn.code.sf.net/p/mafiarecovery/code/

As soon as I release 1Up the SVN will install a non-functional version which will use mafia's default healing and then print a warning message informing the users that they should either come to this thread to manually download UR which will never be updated again, or else install 1Up if they don't like mafia's default healing. It will print that message every time a character heals.
 
Last edited:
Thanks Bale. Been looking forward to this! Amazing! Woooo!

===========================

I have been forced to eat Robin's minstrels.
(Waves banner limply).
 
Thank you. So I am not accused of not understanding what the command STFU means, I am thanking you for eliminating one more of the zone name change warnings that clutter my gCLI.
 
Is there any simple way to make the script not remove poison against the Unkillable Skeleton? Also would be nice if there was a set of bosses for whom it never regenerated MP.
 
I can't think of any reasonable way for the script to determine that you are going to be fighting the Unkillable Skeleton and my incentive for adding a configuration option is low since there are many cheap ways to get your HP down without using poison. Personally, I liked using Consumed by Doubt. That does it all by itself. By lowering my base muscle to 10 I was able to get around the fact that HP can never be lower than base muscle.
 
Last edited:
For some reason it keeps using all my scented massage oils that are not in my closet, despite that preference being unchecked in both mafia and the relay setting script.
 
I believe it ignores your preferences when you're in mallcore. If you've told the script to prefer your inventory, it considers everything you own to be free, which is... bad.
 
In light of the discussion concerning the perils of the two parameter buy command I note that
Two parameter version of buy used. (Universal_recovery.ash, line 1707)

(Message generated by a version of KoLmafia with local patches :-) )
 
For some reason it keeps using all my scented massage oils that are not in my closet, despite that preference being unchecked in both mafia and the relay setting script.

I had the same thing happen to me during my kittycore run. UR ended up using all my scented massage oils while healing during the skeleton key portion of the perplexing doors.

I took a closer look at the code and think it's due to the catchall at the end of fullheal that attempts to use any item that meets the conditions in the map:

Code:
		// Select something which is just too big for normal use
		foreach key, value in heal
			if(item_amount(key) >0 && value.avehp > my_maxhp() - my_hp() && value.maxhp > 120 && my_maxhp() > 100 && my_hp() < my_maxhp() / 5)
				return use(1, key);

scented massage oils are defined in the map:recoveryScript_map_v2

Code:
scented massage oil	999999999	999999999	0	0	9999999.0	0.0

Would it be possible to reserve a scented massage oil as part of shadow_prep or have the fullheal only use permitted restorables? Another alternative would be to remove the items being considered in the switch statement above this catchall as that is already considering user preferences.

I'm not sure if this should be just for kittycore runs although it did end up forcing me to wait an extra 200 or so turns as I had just gotten the massage oils and had to alternate a SR to get more to defeat my shadow.
 
In light of the discussion concerning the perils of the two parameter buy command I note that

Thank you!


Would it be possible to reserve a scented massage oil as part of shadow_prep or have the fullheal only use permitted restorables? Another alternative would be to remove the items being considered in the switch statement above this catchall as that is already considering user preferences.

I'll look into it.
 
Last edited:
Hey Bale, first I would like to thank you for the Recovery Script. I like it a lot. Next, I'd like to gracisouly complain about a feature, the reserve. For whatever reason, the script likes to reserve random things to use as combat restoratives. I am not sure why it does this as my current reserve settings are the default as seen here
Code:
 item reserve = null;		// This is a spare mp restorative kept for combat use.
item reserve_purch = null;	// In addition, some knob goblin seltzers or mmj may be held in reserve.
int  reserve_num = 0;		// Hold this many of them.
Despite this, it continues to buy 30 Goblin super seltzers and 30 bottle of Monsieur Bubble, neither of what I want or need. Is there some setting that I am overlooking that is causing these purchases? As of now, I just put a return command at the beginning of the reserve functions, hoping this will prevent any random reservations =\.
 
Back
Top