Universal Recovery Script

Spiny

Member
Is it just me doing something stupid or is there no difference between v3.432 and v3.43? I ran a diff file between the two to see what changes might have been made and nothing shows up in the diff file other than my own true/false settings that I did in 3.43 that I haven't done in 3.432 yet. Even the 3.432 file states v3.43 at the top and later:

Code:
	string thisver = "3.43";
 

Bale

Minion
Clear you browser cache and download again. It seems I just learned why not to do something clever.
 

Spiny

Member
wow, thanks, never would have thought of that... I did shift reload and that didn't do the trick, so had to manually clear cache, but finally I think I have the right version, at least the diff file I ran thinks so :D

Edit: While I'm thinking about it... can you explain a little bit about the float bird threshold. If I'm in birdform and need restoration, I'm happy to use the bird dropped items: grubs/moths and would definitely want to since they are good and can't be used outside of birdform. Does that mean I should have 1.00 threshold so that they are definitely used or what? I never quite understood that part, sorry.
 
Last edited:

Bale

Minion
1.0 will keep you from using any birdform restoratives if there will be any waste at all. It means that you have to use 100% of the restorative, or it won't get used. I put that there because there was someone who prefers to only use them if they won't get wasted like every other restorative.
 

Bale

Minion
Thank goodness. I'm all about fast fixes. I'm actually very grateful to you for finding a flaw in my program so that I could make it better.
 
Hi, thanks again for writing this awesome script!

I had a strange thing happen in hardcore today - clicking wormride when I got the hooks for the level 11 quest generated this in the GCLI:

You acquire an item: worm-riding hooks
Wielding worm-riding hooks...
Equipment changed.
Restoring HP! Currently at 105 of 267 HP, 40 of 81 MP, current meat: 5458 ... Target HP = 241.
Using 2 palm frond...
You acquire an item: palm-frond fan
Finished using 2 palm frond.
Using 1 palm-frond fan...
You gain 43 hit points
You gain 45 Muscularity Points
Finished using 1 palm-frond fan.
Using 2 cast...
You gain 34 hit points
Finished using 2 cast.
Purchasing Doc Galaktik's Ailment Ointment (3 @ 60)...
You acquire Doc Galaktik's Ailment Ointment (3)
Purchases complete.
Using 3 Doc Galaktik's Ailment Ointment...
You gain 27 hit points
Finished using 3 Doc Galaktik's Ailment Ointment.
Purchasing Doc Galaktik's Ailment Ointment (1 @ 60)...
You acquire an item: Doc Galaktik's Ailment Ointment
Purchases complete.
Using 1 Doc Galaktik's Ailment Ointment...
You gain 8 hit points
Finished using 1 Doc Galaktik's Ailment Ointment.
Using 1 drum machine...
Don't forget to equip a weapon!
Finished using 1 drum machine.

No idea why it even wanted to heal then, never mind not using something like medicinal herbs, as it usually does when I request a heal. I even have some scrolls of drastic healing, which would have been better than using what it did. Any thoughts?
 

Bale

Minion
KolMafia will check to see if you need healing before using a drum machine because they sometimes summon a fight. As for the rest, I believe that it prefers not to use medicinal herbs or scrolls if it can heal your HP with other miscellaneous items. (It saves those for the times you need a LOT of healing since they're more precious.) Apparently it was only nearly correct and needed to make up the difference with a bit of ailment ointment.
 
Interesting - I suppose an extra 80 meat against 1 spleen is a reasonable tradeoff thinking about it again. Palm fan was definitely a good idea too.

Thanks for the reply!
 

Bale

Minion
Interesting - I suppose an extra 80 meat against 1 spleen is a reasonable tradeoff thinking about it again. Palm fan was definitely a good idea too.
I'm glad you're happy in retrospect. The real logic is that you can only use 15 herbs a day, so it tries to save them for when you need serious healing.
 
Hey just thought i'd mention a little change i made, which you may or may not want to officially include.

Afraid i can't give the line numbers, but pretty close to the top it decides whether it's in mallcore:

Code:
boolean mallcore = !never_mall && can_interact() && 
(ignore_buy_pref || get_property("autoSatisfyWithMall").to_boolean());

Granted it might not be a common case, but a new character, or one in a casual ascension, can interact yet still be unable to use the mall which unlocks at level 5. So I added:

Code:
boolean mallcore = !never_mall && can_interact() [COLOR="Red"]&& my_level()>4[/COLOR]
 &&(ignore_buy_pref || get_property("autoSatisfyWithMall").to_boolean());

To stop it looping infinitely and trying to buy from the mall while it's not open. Of course you can say that while you are below level 4 you should set mafia's prefences to not autosatisfy with mall, but i always forgot to change, and then forget to change back later. :)
 

Bale

Minion
Thank you.

I've never been casual and I mostly only play hardcore, so it never even occurred to me that there was a level limit for purchasing from the mall. I thought that was only something that bedevils unascended characters. I'll change that.
 

Bale

Minion
Thank you. Then I won't add that restriction to the script. It seems unimportant for something that will only trouble a character once and cease to trouble them shortly. Since it only bedevils unascended characters, you're on your own.
 

Skystriker

New member
Tiny irk with this script:

It keeps buying antidotes for me, even when I'm not calling the script (or hurt in the slightest), at very low levels, when I have no meat to afford them :\. I didn't see an easy way to turn that off, though.
 

Bale

Minion
It keeps buying antidotes for me, even when I'm not calling the script (or hurt in the slightest), at very low levels, when I have no meat to afford them :\. I didn't see an easy way to turn that off, though.
The thinking is that it is good to have 1 in case you get poisoned in combat. It won't purchase 1 unless you have at least 200 meat, so I'm thinking you should be able to afford a single 30 meat purchase at that time. Once you have 1200 meat it will try to keep 2 antidotes in stock, at 3000 meat it wants 3 and at 5000 it wants 4. It scales up the number of antidotes to stock based on your ability to afford. In other words...

Code:
my_meat() > 5000: 	keep 4 antidotes in stock
my_meat() > 3000: 	keep 3 antidotes in stock
my_meat() > 1200: 	keep 2 antidotes in stock
my_meat() > 200:  	keep 1 antidote in stock

Does that progression seem broken? Considering how cheap antidotes are, it seems a worthwhile consideration to have them available in combat. Nobody has ever complained about this before so perhaps I need more feedback. If you think the idea is sound, but my progression is bad, tell me what you think would be more reasonable.

If you really feel that you cannot afford to purchase any antidotes, then I'll seriously consider figuring out a reasonable way to turn off the feature for you.
 

zarqon

Well-known member
Skystriker: Are you sure it's this script? I thought mafia would do this automatically if you were set to auto-remove poison.

Perhaps the purchasing decision should be moved to BBB, which can also use your location to determine if there is a chance you will be poisoned. It's pointless to buy antidotes if you're not going to fight poisonous monsters.
 

Bale

Minion
BBB won't help people who like to adventure in the relay browser. Besides, there are enough locations with poisonous monsters, antidotes are cheap and they'll keep until needed. A more reasonable consideration is the lowest level you're likely to encounter a poisonous monster.

Obviously the first poisonous monster you can encounter is a spider at the back alley, but is that worth considering or should I be more concerned sticking them for the Daily Dungeon, Spectral Jellyfish and Killer Bees at level 7?

I thought mafia would do this automatically if you were set to auto-remove poison.
mafia only does it if auto-adventuring. This doesn't help a relay browser fan like myself.
 
Last edited:

zarqon

Well-known member
If it were me, I would make it dependent on autoAntidote. If they have it set to remove even Hardly Poisoned At All, keep one in inventory from level 1. Otherwise, wait until level 7. If they have auto-remove poison turned off, perhaps make the purchasing purely reactive (only buys if you actually get poisoned), or entirely disabled.
 
Top