My personal Meat farming script

fewyn

Administrator
Staff member
I've also been experiencing the same issues but it keeps switching up with Hodgeman's Blanket I think? I just go run eatdrink and move on. I'll see if I can capture what's going on the next time I run it.
 

fronobulax

Developer
Staff member
My recollection is that it tries to eat a cup of stew, fails to do so because of character level and then aborts rather than trying a different food.
 

Veracity

Developer
Staff member
Today for the first time, it got hung up immediately on the Tin cup of mulligan stew, which it wanted to drink right away. And since I was level 13, not 15, it couldn't and that caused it to fail out.

I put that item in vcon and excluded it, so I could continue, but is there something that automatically detects that I am not high enough level to take the consumable requested? If that's already coded, did we break it?
Excluding it in vcon works - but vcon itself should exclude items with level requirements you don't meet.
That should be easy enough. I'll look into it.
 

Magus_Prime

Well-known member
Had an odd thing happen today with this script but unfortunately the session log didn't capture the relevant information. I happened to be watching the gCLI when the issue occurred so here's a reconstruction:
  • Adventuring as normal in Barf Mountain, when the available adventures hit zero
  • Paranormal activity reported at The Haunted Wine Cellar.
  • One fullness was left but the script consumed no food
  • Errors endlessly repeating in the gCLI stating that there were no adventures left
  • Hit the escape key
  • Ate something
I then restarted the script and it ran to completion. At a guess the logic for handling paranormal activity superseded the logic that would have normally taken over and consumed a one fullness food.
 

Veracity

Developer
Staff member
Revision 296 lets the sweet_synthesis library function do the castings one at a time, rather than looping in the script.

By the way - this requires KoLmafia revision 26018, which modifies that function - and also fixes a user exploit targeting KoLmafia users using Sweet Synthesis. Like this script.
 

Veracity

Developer
Staff member
At a guess the logic for handling paranormal activity superseded the logic that would have normally taken over and consumed a one fullness food.
I think the "recognize when it's time to eat more" functionality is a little ad hoc. I'll take a look at it by and by, now that I am (slightly) coming out of KoLmafia retirement.

How is it you had unused fullness? Pantsgiving? (I was going to say fortune cookies, but we only support those via Lucky Lindy, not cookies.)
 

hesuchia

Member
Didn't know there were new updates in kol already til i saw this script get stuck olfacting over and over because of that change. I assume you know, or will soon, but figured I'd bring it up here just in case.
 

Veracity

Developer
Staff member
I have an update I’ve been running with for a while which will not cast olfaction unless it is an available skill on the fight.php skill dropdown.

That should still work, presumably.
Does the on the Trail effect (or is it an intrinsic now?) still exist?

Also, semirare hunting is no longer a thing.

We’ll need some KoLmafia changes (0 MP 3/day Olfaction, etc.) but I should be able to adjust this script to cope even without such changes.
 

fronobulax

Developer
Staff member
My short term workaround was just to set VMF.OlfactionTargets to "none". I'll have to remember to undo that when the update hits. Thank you.
 

Veracity

Developer
Staff member
Revision 298 does this:

Decides to use Olfaction (if configured) only if the skill is currently available on the fight page.
(If you are currently olfacting the desired monster, it will not be, so you just might never again need to cast the skill.)

Nukes semirare hunting.

No longer worries about clover protection.
 

Veracity

Developer
Staff member
It was Pantsgiving. Welcome back. (y)
Thanks!

Revision 299 of VMF fixes this.

I had two loops with essentially duplicated code where I checked for "timed" things: one where we simply adventure with a combat filter and one where we are looking for a specific choice adventure and want to stop looping after it occurs. The second is ONLY used for Lubricating the Tracks in Barf Mountain.

I combined those into a single function so that the various "timed event" checks - voters, ghost busting, mayfly bait running out - and now Pantsgiving giving you extra fullness - did not duplicate code in two functions.

My richest multi (although any could have) bought a Pantsgiving in the mall. (My main, who has one, is in Hardcore). I passed it among other multis and tested these cases:

- Farming not in Barf Mountain
- Farming in Barf Mountain with no Lubricating the Tracks available
- Farming in Barf Mountain with Lubricating the Tracks - and also Ghost Busting.

They all worked like a charm. Pantsgiving gave extra fullness after 5 turns (at which point we ate) and then again at 50 (at which point we ate again).

I sort of wanted to, somehow, count to 5 or 50, but since I can't guarantee you haven't spent turns not under the control of this script, if you are wearing Pantsgiving, I run one adventure at a time, rather than "X adventures until the next timed thing is expected". It's only the difference between X * adventure( 1 ) and 1 * adventure ( X ), so, a bit more execution in the script, as opposed to inside the ASH runtime, but, no big deal; ASH is plenty fast enough.

I am amused to have bought a Pantsgiving for 237 million Meat. With an extra 10-12 turns of Barf Mountain per day, there is no way I'll ever recover that cost, but, it's a fun toy, and Meat is cheap and easy to farm. :)
 

fronobulax

Developer
Staff member
I still have static location SHRINE = $location[ Noob Cave ]; circa line 2938 in my local copy because something allegedly changed on the KoL side and voting monsters no longer showed up in the Shrine. Candidate for r300 or has it already been resolved and I missed it?

Thanks.
 

Veracity

Developer
Staff member
I have that noted as a bug to fix. Used for Voting monsters, right? Been a long time since I personally cared about them, so fell off my radar.

I’ll be freeing the king tomorrow (without consumption, so plenty of turns available) and I’ll try it out.

Thanks for the reminder!
 

Veracity

Developer
Staff member
Revision 300 fights vote monsters in the Noob Cave.
It also eliminates flush_wanderers() which used to go to the shrine, since wanders cannot appear there any more.

A pity. wanderers (and time spinner pranks and such) CAN appear in the Deep Machine Tunnels - and wasted free DMT turns when they did so. flush_wanderers() was used to get those out before going in to the DMT.

Perhaps I could lobby for the DMT to be an adventure.php zone that is wanderer-free - just like the Snojo?
 

Veracity

Developer
Staff member
I'll look at it. Configuring might be tricky; the Docs offer different things depending on your character status.
 
Top