My personal Meat farming script

It'd be easy if KoLmafia kept a tally of Meat (and items) obtained during adventuring.
Well, actually, it does - that is what is in the "session results" display of the main GUI.
There is not currently a way for a script to access that info.
I'll think about it.
 
I had to make a KoLmafia change to make this possible without a huge amount of redundant work. Revision 18000.

Revision 75 of this script does this:

- Open Skeleton Store, Madness Bakery, and Overgrown Lot for busting ghosts only when you need to bust a ghost there.
- When acquiring milk of magnesium, if will (or can) create it, cast Inigo's if needed and possible.
- Use my_session_meat(), rather than my_meat(), to track meat gains during this script.

Note that you can undo the skewed total via the gCLI:

> get VMF.TotalMeat
TOTAL
> set VMF.TotalMeat=(TOTAL - ERROR)

... where TOTAL is a number and (TOTAL - ERROR) is a number that you manually calculated; the "set" command will not do the arithmetic for you.
 
It'd be easy if KoLmafia kept a tally of Meat (and items) obtained during adventuring.
Well, actually, it does - that is what is in the "session results" display of the main GUI.
There is not currently a way for a script to access that info.
I'll think about it.

Since you're granting access to meat gained in session results, what about a function that returns a list of items gained?

int [item] my_session_results()
 
I could do that. I could iterate over the tally and add anything that is an "item".
The design question is this:

The "tally" is added to (and subtracted from) over the course of your entire session. However, you can clear it via the Menu.

What I did for Meat was to keep a running tally which was NOT cleared when you did that; you can fetch the value and then, later, fetch the value again and get the amount of Meat gained (or lost) whether or not the user cleared it in the GUI.

I could do the same thing for items - keep an un-clearable session item list - or, as I mentioned, could simply return whatever is currently in your tally.

How do you anticipate using this?
 
WHen it does the Milk of Magnesium it either uses it from inventory or buys one. I have reagents, but no milk is this why it is doing this?
 
Do you have the skill to create milk of magnesium? Are you a Sauceror?
It does the usual calculation: would it be cheaper to buy milk or buy the ingredients and mix it?
Note that, just like "acquire" has always done, it does not necessarily consider items in inventory to be worth less than items in the mall. You can tweak how much it values them on the "Fine Tuning" panel of the Item Manager. That has a slider which goes from "Free" to "Mall price".

In any case, a glass of goat's milk in the mall costs 2,000 Meat and a milk of magnesium (ignoring the 1/day limited one) costs 1,112 Meat, so it seems perfectly reasonable to me to NOT buy the glass of goat's milk to craft the potion yourself.

If you are a Sauceror and get triple yield, it MIGHT be more cost effective - depending on that value of inventory slider...
 
How do you anticipate using this?

I don't anticipate using this. It's just that the question pops up in scripting discussion now and then when people ask how they can access the session tally to know what their script farmed. The topic was live so I thought I'd bring it up in case you thought the idea had merit. Posts like this one. If you do that, then I'll finally have a simple answer to the question.
 
Quick question regarding the Tunnel of L.O.V.E.: Is it possible to set the script to not fight the monsters and get the password, instead?
 
Yes. Look at what the script tells you:

Code:
// Which monsters to fight.
//
// We will fight them using your CCS directly (no combat filter).
// Your CCS must be set up to do the right thing, if you want the rewards.
//
// LOV Enforcer		defeat using normal attacks to (maybe) get LOV Elixir #3
// LOV Engineer		defeat using spells to (maybe) get LOV Elixir #6
// LOV Equivocator	pickpocket to (maybe) get LOV Elixir #9
//
// LOV Elixir #3	(40 The Power of LOV) Muscle +40, Weapon Damage +50%, Critical Hit +15%
// LOV Elixir #6	(40 The Magic of LOV) Mysticality +25, Spell Damage +100%, Spell Critical Hit +15%
// LOV Elixir #9	(40 The Moxie of LOV) Moxie +25, Ranged Damage +50%, Initiative +50%

boolean [monster] lov_enemies = define_property( "VMF.LOVEnemies", "monster", "LOV Enforcer|LOV Engineer|LOV Equivocator", "set" ).to_set_of_monster();
You can override that setting like this:

Code:
 set VMF.LOVEnemies=
to tell it not to fight any of the enemies.
 
New problem. It wants me to buy a Fog Murderer, which currently sells in the mall for 450 meat. Before this, it refused to adventure because I hadn't gotten pirate fledges. Am I going to have to give this thing a lobotomy in order to get it to adventure? Or did I just happen to not notice a simple fix?

Code:
> call scripts\VeracityMeatFarm.ash

Validating configuration.
All is well!
Acquiring necessary adventuring gear
You need 1 more Fog Murderer to continue.
Net income = 0 Meat in 0 turns. Meat/Adventure = 0
Cumulative income = 0 Meat in 1 turns. Meat/Adventure = 0
 
Last edited:
That is the default nightcap. 450 Meat seems cheap for 21 rollover adventures, but if you have a better choice - or don't want to overdrink at the end - you can configure it.

As always, look at the "Configuration" section to see what settings are available, before going in to actually change the code.

Code:
// What to drink for a nightcap. If "" or "none", will not overdrink.

item nightcap = define_property( "VMF.Nightcap", "item", "Fog Murderer" ).to_item();
 
Regarding pirate fledges, the "Requirements" section says this:

Code:
// ***************************
//        Requirements       *
// ***************************

// Hobo Monkey (or Leprechaun) (configurable)
// ittah bittah hookah (or universal familiar equpment of your choice) (optional/configurable)
// Preconfigured outfits (configurable)
//    "Barf Mountain" - for adventuring in Barf Mountain
//    "Deep Machine Tunnels" - for adventuring in The Deep Machine Tunnels
//    "Gingerbread City" - for adventuring in the Gingerbread City
//    "Tunnel of LOVE" - for adventuring in the Tunnel of L.O.V.E.
//    "Icy Peak" - for adventuring in The Icy Peak
//    "Item Drop" - for adventuring where items are more important than Meat
//    "Meat Drop" - for adventuring anywhere else
//    "Velvet" - for collecting a reward from The Towering Inferno Discotheque
// CCS configured
// HP & MP restoration configured
// Mood configured
// Breakfast configured
I don't see pirate fledges. However, you are obviously using a Tot. Here is what it says about the Tot:

Code:
// Trick or Treating Tot
// --> Will acquire and use li'l pirate costume
// --> You must have pirate fledges
// --> You should have li'l unicorn costume
If you have a Tot, it is your best choice for Meat familiar - with the pirate outfit.

It never occurred to me that somebody would not have the pirate fledges in aftercore. I chose Belowdecks as the location to get the pirate costume since it is all combats. The Poop Deck also has that feature, but it, too, is also hidden behind the pirate fledges. A pirate outfit will get you to Barrrney's Bar (or the F'c'le), but there are (wasted) NCs there. No outfit is required for the Pirate Cove - but, again, there are lots of wasted NCs there.

I suppose I could allow such as an alternate way to get the pirate costume. Considering that I ALWAYS go the pirate route to get the Talisman during a run, it will not benefit me and it would require extra work to test a workaround for people who chose to not follow the stated requirements for running the script. ;)
 
I don't think you need pirate fledges to go to *any* pirate locations? It's just that the poop deck and belowdecks are unlocked at the same time you get the fledges ... I see what you mean.
 
I mean, you never had to have the fledges *equipped*. The outfit is enough.

But obviously you need to *own* them, since poop/below are not unlocked before you are fledged.
 
I don't think you need pirate fledges to go to *any* pirate locations? It's just that the poop deck and belowdecks are unlocked at the same time you get the fledges ... I see what you mean.
I don't believe it. You need to wear either the Swashbuckling Getup or pirate fledges to go to any location other than the Obligatory Pirate Cove. If you are not wearing one or the other, you are told "You shouldn't be here dressed like that. It's just not safe."

Try it yourself. Dress up, visit the bookstore, use the Gear Changer to remove your pirate gear, and then click on the link which takes you to cove.php.
 
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.
 
That is the default nightcap. 450 Meat seems cheap for 21 rollover adventures, but if you have a better choice - or don't want to overdrink at the end - you can configure it.

For what it's worth, bucket of wine looks expensive at 7k meat (current unlimited mall price), but it's also 27.5 adv, which is an extra 6.5 -- unless you're averaging less than 1.1k MPA, it's worthwhile as a replacement for fog murderer.
 
Yes.

My main does cherry bomb, because she can. I like the Runaways song, she has a TPS, and it is is cheap enough.
My multi with clip art makes (and uses) a bucket of wine.
The other multis who are getting "only" 1800 MPA could probably stand to use a bucket of wine for an additional 6 adventures per day.

However, as we can see, there are some potential users who balk at spending 450 Meat total.

Makes me wish I had an "EatDrink" thing built-in, using the actual MPA we gain from this script, rather than a hard-coded set of "reasonable" choices.

Later, maybe.
 
Back
Top