My personal Meat farming script

Magus_Prime

Active member
I'd be happy with a basic choice of the type of item to select each time it's available: Equipment, Food, Drink, Potion, Spleen. Since VMF spends most turns in Barf Mountain, if the zone is available, the specifics of the item types available don't vary.

Anything beyond that would, of course, be awesome.
 
Last edited:

Veracity

Developer
Staff member
  • Which item is prescribed for each of the 5 slots depends on different factors:
    • Equipment - The ice crown will always be offered at first; once an ice crown is taken, the frozen jeans will be offered next; once the frozen jeans are taken, then the ice wrap will be offered. At rollover, it resets back to the ice crown.
    • Food - Which food is offered seems to depend on what phylum of monsters you've been fighting.
    • Booze - You will receive a booze corresponding to your highest buffed stat (Fortifying for Muscle, Smartifying for Mysticality, Limbering for Moxie). In case of a tie, Medical-Grade Wine is offered.
    • Potion - The ointment is somehow related to type of damage taken in previous combats. It's not clear if there's some sort of minimum damage threshold, or how many combats it looks back at.
    • Spleen - The pill prescribed depends on what type of location you've adventured in for the majority of the last 20 turns (i.e. at least 11 turns in the same type of location). Underground locations give Breathitin™, indoor locations give Extrovermectin™, outdoor locations give Homebodyl™. Fleshazole™ is offered in the case of no clear majority, or for underwater locations. Noncombats and free combats appear to count towards Fleshazole™ instead of the other zone appropriate pills.

- If you spend all your (remaining) turns in this script, the equipment seems useless; none is appropriate for rollover.
- Barf Mountain has 2 dudes and 1 elemental. If you sniff garbage tourists, you will have a majority of elementals. Otherwise, a majority of dudes.
- Booze depends on "your highest buffed stat". That COULD be adjusted, perhaps, but at the expense of a lot of work. And Meat.
- I essentially never take damage in Barf Mountain in aftercore.
- Barf Mountain is indoors.

So, yeah - probably just a list of 5 types selected from {equipment, food, booze, potion, spleen}, to specify the order of items to pick.
Fortunately, "_coldMedicineConsults" and "_nextColdMedicineConsult" properties exist.
 

Veracity

Developer
Staff member
There's a new Beach Combing script named COMBO which has a built in database of 700+ "scarce" beach squares - the only squares where you'll find cursed pirate gear, whales, meteorite fragments, and so on. I have coded up support for using that - as well as my own BeachComber script, which goes to RANDOM squares. Not tested, yet, since I only learned about the new script after I'd run all my turns today.

Expect a new release, by and by.

If you have only combo or BeachComber installed, it will run the one you have. If you have both, it will run combo.
Is that OK, or should it be configurable? I.e., VMF.PreferredBeachComingScript can be "combo" or "BeachComber", defaulting to "combo".
 

fronobulax

Developer
Staff member
I run BeachComber.ash independently from VMF so I don't care about configuring. If I wanted to run COMBO I'd just run it before I ran VMF.
 

Veracity

Developer
Staff member
I added this in revision 302:

Code:
// Which Beach Comb script is to be used
//
//     BeachComber      Visits random sections of the beach and goes after uncombed
//                      "sparkly" squares, assuming you've unlocked them via Grandpa
//                      You can stumble upon whales and other rarities (I have), and
//                      will not waste time on already combed squares, at least.
//     combo            Visits only "scarce" squares for best chance at rarities
//                      Unfortunately, although there are more than 700 of them,
//                      the more people who use this script, the more likely you'll
//                      find them already combed. They do regenerate, slowly.


string beach_comb_script = define_property( "VMF.UseBeachCombScript", "string", "BeachComber" );
Note that it not a "preferred" script to use. It is THE script to use.

As before, I check at runtime if you have the script installed and silently don't use it if you don't have it. That allows the defaults to say "yes, use BeachComber to use your free walks" and not abort if you haven't installed the script.

I tested with one of my multis and it used my free walks to comb 11 squares using combo.
Surprise, surprise - they were all previously combed squares. :)

One of these days I'll stumble on a regenerated scarce square and get a scarce item of some sort.
 

Veracity

Developer
Staff member
I need to support the Cosmic Bowling Ball for this script. Cosmic Ball in the Air gives +50% Meat Drop and +25% Item Drop and it's free. Assuming you have the cosmic bowling ball, which is not free. :)
 

MCroft

Developer
Staff member
I'm seeing a loop after "Giving in to Gluttony" before any turns are read. I'm in Aftercore with a Sauceror. veracity0-meat-farm is at HEAD (r302)

It failed to make fleetwood mac-n-cheese and tried again, 647 times in the first run before I pressed stop now.
There are fleetwood macaroni in the store for less than my purchase limit. I manually bought the ingredient and it continued, and stopped on the next thing it needed to purchase. I don't think I changed any preferences that would affect it, but I am not sure.

Rich (BB code):
Giving in to gluttony
tasty tart (3663 cost; 3850 expected_profit) is better than none (0)
[...]
fleetwood mac 'n' cheese (2998 cost; 38665 expected_profit) is better than gnocchetti di Nietzsche (32667)
deluxe layer cake (4517 cost; 56953 expected_profit) is better than none (0)
gallon of milk (10100 cost; 88935 expected_profit) is better than none (0)
Verifying ingredients for fleetwood mac 'n' cheese (1)...
You need 1 more fleetwood macaroni to continue.
tasty tart (3663 cost; 3850 expected_profit) is better than none (0)
[repeat]
 

Attachments

  • DEBUG_20220116_loop.txt
    9.7 KB · Views: 1

Veracity

Developer
Staff member
I wonder if that's due to Rinn's change to retrieve_item and purchase vs. create prices in the mall?
I'll see what I can find.

Code:
boolean craft_or_retrieve_item( int want, item it )
{
    ...

    return retrieve_item( want, it );
}

It is definitely a failure in retrieve_item().

Edit:

This is a Saucerer (can make cheesy eagle sauce)

> inv fleetwood

> ash retrieve_item( $item[ fleetwood mac 'n' cheese ], 1)


Searching for "cheesy eagle sauce"...
Search complete.
Searching for "scrumptious reagent"...
Search complete.
Searching for "eagle's milk"...
Search complete.
Searching for "fleetwood mac 'n' cheese"...
Search complete.
Searching for "fleetwood macaroni"...
Search complete.
Verifying ingredients for fleetwood mac 'n' cheese (1)...
Verifying ingredients for cheesy eagle sauce (1)...
Using cached search results for scrumptious reagent...
Purchasing scrumptious reagent (1 @ 750) from #753153...
Purchases complete.
Using cached search results for eagle's milk...
Purchasing eagle's milk (1 @ 569) from #1788862...
Purchases complete.
Creating cheesy eagle sauce (1)...
You acquire an item: cheesy eagle sauce
Successfully created cheesy eagle sauce (1)
Using cached search results for fleetwood macaroni...
Purchasing fleetwood macaroni (1 @ 945) from #499254...
Purchases complete.
Creating fleetwood mac 'n' cheese (1)...
You acquire an item: fleetwood mac 'n' cheese
Successfully created fleetwood mac 'n' cheese (1)
Returned: true

> inv fleetwood

fleetwood mac 'n' cheese

This is an Accordion Thief (cannot make cheesy eagle sauce):

> inv fleetwood

fleetwood chain (2)

> ash retrieve_item( $item[ fleetwood mac 'n' cheese ], 1)

Searching for "fleetwood mac 'n' cheese"...
Search complete.
Purchasing fleetwood mac 'n' cheese (1 @ 2,998) from #3438990...
Purchases complete.
Returned: true

> inv fleetwood

fleetwood chain (2)
fleetwood mac 'n' cheese
At the moment, the cheapest cheesy eagle sauce in the mall is 2,899 Meat.

I bet there was a really cheap one there when you tried it, so it decided to try crafting, or something.
 
Last edited:

Veracity

Developer
Staff member
Revision 303 has this:

vcon will not consider using an item that grants Just the Best Anapests, since
that dramatically complicates fight parsing.

When VMF considers foods to eat, it concludes that a muffin is a good choice for
your first food of the day. Then it considers spaghetti breakfast. Reverse the
order of those, since spaghetti breakfast MUST be the first food of the day.

VMF now will use your cosmic bowling ball to Bowl Straight Up.

I realize that is slightly premature, since it uses the cosmicBowlingBallReturnCombats property, and the PR that introduces that is sitting there waiting for approval. So, until that is merged, VMF will only notice you have a cosmic bowling ball if it is in inventory when you start.

One that is merged, I'll make a new release that updates the "since" directive to require that revision or later.

(By the way - goose grease gives Just the Best Anapests - and I had problems today until it wore off.)
 

Veracity

Developer
Staff member
I have a mood that just uneffects Just the Best Anapests so it is not a concern if something does decide to consume goose grease.
How nice for you.

Code:
// Effects granted by selected items that you'd probably want to uneffect.
// So, exclude the consumable
static effect_set malignant_effects = $effects[
    Just the Best Anapests,
    QWOPped Up,
];

I'd prefer to not require users to set up specific moods or before adventure scripts or whatever in order to clean up after my script did something for them.

I suppose vcon could have a new configuration parameter - VCON.allowMalignantEffects - to make it not care about that. Defaults to false, so you'd have to opt in. Probably "you" as in "just you". :)
 

MCroft

Developer
Staff member
:/ Somehow "Buy Items from Mall whenever needed" was unchecked. I don't remember doing that, but I must've.
 
Top