My personal Meat farming script

Ok... So, basically, I missed the point of the script as being for Aftercore... Whoops. That would explain a lot of the snags I keep running into. ;)
 
Oh, I see what you are saying. Yes. You don't need to equip the fledges. You DO have to equip either the fledges or the outfit.

Given that you want to visit a location unlocked by the fledges, there is no reason whatsoever to not wear the fledges rather than the outfit; wear a single (superior) accessory, rather than an accessory, a hat, and pants. Actually, once you have the fledges, there is no reason to wear the outfit, period.

Yes, the difference is only relevant in-run (below 60 myst, which is the equip requirement for the fledges).
 
I added a new setting:

Code:
// When selecting candies, is available amount more important than mall price?

boolean synthesis_prefers_available = define_property( "VMF.SynthesisPrefersAvailable", "boolean", "false" ).to_boolean();
Previously, when choosing which candies to synthesize, we passed in the flag which said to find the combo for which you already had the most available candies, rather than the one which had the cheapest total mall price. Now, the default is to find the cheapest total mall price combo.

If you want to stock up on cheap candies (or already have done so), you can still get that effect by setting this property to true.

KoLmafia already has a setting - valueOfInventory - which you can set to determine how to value items in inventory vs. mall price. I wonder if that could/should be used in a new candy acquisition mode for Sweet Synthesis, either in KoLmafia itself or in this script? If so, then this will want to be a keyword rather than a boolean.
 
I tried running this script yesterday to trial test it on multi that was level 12, 0 IoTMS, no skills, no ascensions.

Everything seemed normal at first, it bought Drink me potion and obtained the +meat buff. However, an error came up thereafter about searching for scroll of drastic healing and being unable to buy 97 scrolls of drastic healing. Is this supposed to happen? Or did it happen only because I'm running it on such a low level and no skill account?
 
Well, yes.

I have two classes of characters:

1) Those who have Cocoon
2) Those who do not.

Now, as is one of the requirements of the script, I have set up KoLmafia's HP/MP restoration to my taste. My taste includes using scrolls of drastic healing for the characters who don't have Cocoon. Since KoLmafia's built-in restoration will not purchase restoratives, the script makes sure to have enough such that restoration will not fail.

However, that's not really the general solution. I think a better way to order things:

1) If you have a recoveryScript, cool
2) If you know Cocoon, cool
3) Otherwise stock up on scrolls, as before.

Given that, you could simply install Bale's Universal Restoration, for example, and it will take care of you, including buying items as needed (if you are in aftercore), if I recall.

The issue that this script is not intended to be used in-run, as Magus_Prime points out, still stands. But if I can remove hurdles that make it more difficult to use - mainly due to lack of configuration, say - I'm open to help.
 
I adjusted the script. You are expected to have HP restoration configured - as the Requirements comment indicates - but it no longer enforces a particular kind of restoration.

If you have a restoration script, or know cocoon and have it configured, or have drastic scrolls configured, that is enough.
Otherwise, it will print red warning message, but continue.

It no longer buys scrolls of drastic healing - even if you have them configured - since KoLmafia's HP restoration code will, judging by the code, "acquire" them as needed, if you have "purchase from mall" as an available acquisition method. If you DON't have that enabled, there's no point in the script trying to "acquire" them.

Buying 100 at a time means there will be fewer server hits to purchase scrolls - but KoLmafia itself will buy them 30 at a time.

I could have sworn that I put in this autopurchase because the script aborted, long ago, by failing to recover, but I don't see how that could happen. If it happens again, I will investigate further.

Revision 80
 
Interesting.

This script will use Sweet Synthesis to boost Meat drops. Initially, I selected on "available" over "cheap". A while ago, I switched the defaults.

So, today, I got a popup: "are you sure you want to spend two turns to make a red gummi ingot?" (or something) Apparently, the "red gummi bear" was the "cheapest" candy choice - based strictly on mall price? But I could actually MAKE one for cheaper - by spending turns?

For now, I have, personally, selected "use available in preference to cheapest", but I am wondering what the right reaction to this is. I'm pretty sure I don't want to spend 16 adventures making 8 red gummi bears because that is the "cheapest" way to cast Sweet Synthesis 8 times.

Is this an issue with KoLmafia's built-in "cheapest" sweet synthesis algorithm, or is this something my script is supposed to work around?
 
I have not seen this but then the character currently using the script the most does not have Sweet Synthesis :-)

I have not seen this with my own script but all it does is sweet_synthesis( Synthesis: Learning ) so it is likely gummi bears are not considered.

That said, the usual response to something like this is to add value of adventure when calculating the cost and proceed from there.

It looks like the Concoction Database is already doing this when calculating the "make" cost.

So what you saw seems to be the expected behavior. Your VOA makes two adventures cheaper than purchase.

I'd guess that this is something where you need to decide what you prefer and tweak the script accordingly. I've gotten used to mafia pausing to ask me something and since my automation is attended, that doesn't break anything.

When I'm running your script I try to keep VOA in line with script's historical calculation of meat per adventure. So as a first order effect the meat I spend and the meat I would have gained if I had not burned the adventure are both losses and close enough that I don't care how I lose. That said, I know casting the spell changes the expected VOA and a case can be constructed where the expected VOA makes buy the cheaper.

But the game is not just an optimization problem :-)
 
Revision 85 does this:

- Set up the combat filter before adventuring in the DMT. If the previous free fight location was a "No Location", it didn't reset to allow pickpocketing. That should be fixed.
- Support for License to Chill
- Support for the Platinum Yendorian Express Card. If you own one, cool. If not, but your clan does and you have autosatisfyWithStash set, we will borrow from the stash, use it, and return it.

That latter behavior is annoying, as coded; in order to see if retrieve_item() will get the item from the stash (and therefore whether I need to put_stash), I disable autoSatisfyWithStash, see what available_amount says, and restore it - and if the amount is 0 without the stash, I read the stash and see what available_amount now says.

Without duplicating the logic of available_amount - looking at the appropriate settings and item sources - I don't see a better way. Unfortunately, changing/restoring the property generates CLI output.
 
Revision 86 adds support for The Horsery.

VMF.HorseryHorse can be:

none, normal, dark, crazy, pale

The default is "none", although for a Meat farming script, "dark" is probably what you want.

If you have already rented a horse today, the script will not attempt to rent another, even if you have configured a different one. Yes, KoL will allow you to do that for 500 Meat, but if you have troubled to manually choose a horse, we'll respect that choice.
 
Anyway I can get you to add the following option to the Farfuture option?

Mall - Whatever sells for the most. (won't add it to store)



Ezandoras script supports it as an option and you already do it for clip art.
 
Back
Top