My personal Meat farming script

Bale

Minion
I notice the script does not use the Platinum Yendorian Express Card to extend limited buffs for another 5 turns each.
 

Veracity

Developer
Staff member
Yeah. I have one character who owns a PYEC and another who is in a clan with one.
I'll think about it, but that is not exactly "low hanging fruit". :)
 
Next request : Cast Polka, Ocelot and Fat Loot? Also summoning the meat demon.

#2 . How to set a preference back to the default?
 
Last edited:

Veracity

Developer
Staff member
Next request : Cast Polka, Ocelot and Fat Loot?
No. Put those in your Mood

Also summoning the meat demon.
I have code to allow that. Configurable via property, since it does use resources. I'll submit it after I test it, later today. I'm working on some other stuff I want to finish before running the script again.

How to set a preference back to the default?
I assume you did:

set PROPERTY=VALUE

where VALUE is not the default? Do that again, but make VALUE be the default from the script. Next time you run the script, it will delete the preference, since it is the same as the default. Alternatively, you can delete it yourself:

ash remove_property( "PROPERTY" )
 

Veracity

Developer
Staff member
Regarding my comment about Mood: I do have the following at the top of the script:

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

// Hobo Monkey (or Leprechaun) (configurable)
// ittah bittah hookah (or universal familiar equpment of your choice) (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
//    "Icy Peak" - for adventuring in The Icy Peak
//    "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
This is not a "no configuration required" script. You are in charge of your own Mood and you are responsible for making sure that you can handle every monster you fight via your Custom Combat Script (or battle action). The script does run fights using custom combat filters - to allow Hobo Monkey stasis, for example - but when it runs out of custom actions, it defers to your CCS.

And it doesn't yet use Gingerbread City or Icy Peak outfits; that is upcoming development.
 
Regarding my comment about Mood: I do have the following at the top of the script:

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

// Hobo Monkey (or Leprechaun) (configurable)
// ittah bittah hookah (or universal familiar equpment of your choice) (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
//    "Icy Peak" - for adventuring in The Icy Peak
//    "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
This is not a "no configuration required" script. You are in charge of your own Mood and you are responsible for making sure that you can handle every monster you fight via your Custom Combat Script (or battle action). The script does run fights using custom combat filters - to allow Hobo Monkey stasis, for example - but when it runs out of custom actions, it defers to your CCS.

And it doesn't yet use Gingerbread City or Icy Peak outfits; that is upcoming development.

I'm sorry I had everything else configured missed the Mood part.
 

Veracity

Developer
Staff member
Revision 12:

uses Olfaction on (configurable) set of monsters

Revision 13:

Snojo mode (muscle, mysticality, moxie, none) is configurable
Summoning demon #2 for Preternatural Greed is configurable (default true)
Making prismatic wads is configurable (default true)

I'm working Gingerbread City and the Tunnel of L.O.V.E. now. Both of them have somewhat complicated configuration, since they both have multiple choice adventures with multiple reasonable options.

I realize that Gingerbread City has no Meat, but I still haven't gotten my tattoo yet and want to spend my daily Gingerbread City turns farming sprinkles for until I get it.
 

Veracity

Developer
Staff member
I just did an experiment - and it worked the way I expected.

An un-ascended character farming The Hidden Office Building and olfacting the pygmy headedhunter (175 Meat + briefcase (300+150)/2 = 225 Meat = 400 Meat)
Same character going to The Icy Peak and olfacting the Knott Yet (200 Meat)

The first gave me about 366,000 Meat today - as opposed to the 566,000 Meat she got yesterday in the Office Building (using briefcases and selling fat stacks of cash.) The on-olfacted monsters are still Meat-worthy in the office building, and there are no (non-skippable) choices, as opposed to The Icy Peak.

Aside from the chance of getting an Ultra-Rare Knott Slanding and getting the Dallas Dynasty Falconcrest Shield, this confirms my impression that The Icy Peak is completely obsolete as a Meat Farming location.

This script does allow you to go there, if you wish: I set the VMF.FarmLocation to "The Icy Peak" and created an outfit "Icy Peak" with elemental damage for snow queens and cold resistance for the location and it Just Worked.

So, check off one feature and I don't need to consider making the alternate location the default or anything.
 

ckb

Minion
Staff member
Yeah. I have one character who owns a PYEC and another who is in a clan with one.
I'll think about it, but that is not exactly "low hanging fruit". :)

For reference, this is in one of my scripts:
Code:
if ( stash_amount($item[Platinum Yendorian Express Card])>0 && !to_boolean(get_property("expressCardUsed")) ) {
	take_stash(1,$item[Platinum Yendorian Express Card]);
	use(1,$item[Platinum Yendorian Express Card]);
	put_stash(1,$item[Platinum Yendorian Express Card]);
}
 

Veracity

Developer
Staff member
Revision 17 supports the Gingerbread City.

Here's the documentation:

Code:
// Although this script is for farming Meat, you (may) want to farm
// sprinkles also. If so, we will run up to a full day in The
// Gingerbread City, as specified by the following variables,

boolean use_gingerbread_city = define_property( "VMF.GingerbreadCity", "boolean", "false" ).to_boolean();

// If you want to advance the clock and spend 5 fewer turns in The
// Gingerbread City, you can do that.

boolean gingerbread_advance_clock = define_property( "VGC.AdvanceClock", "boolean", "false" ).to_boolean();

// The following are valid adventuring locations in the Gingerbread
// City. Specifying any other location results in an invalid plan
//
// Gingerbread Civic Center
// Gingerbread Industrial Zone
// Gingerbread Upscale Retail District
// Gingerbread Sewers
// Gingerbread Train Station
//
// If any of the following are "none", adventuring ceases in Gingerbread City at that phase

location gingerbread_morning = define_property( "VGC.Morning", "location", "none" ).to_location();
location gingerbread_afternoon = define_property( "VGC.Afternoon", "location", "none" ).to_location();
location gingerbread_night = define_property( "VGC.Night", "location", "none" ).to_location();

// You have a wide variety of options for Noon:
//
// "candy"				collect candy in Train Station 
// "lever"				enlarge alligators in sewers
// "schedule"				study the train schedule
// "fancy marzipan briefcase"		off-hand item that decreases combat frequency and lasts until rollover
// "column"				allows a fight with Judge Fudge at midnight
// "briefcase full of sprinkles"	turn in blackmail photos
// "creme brulee torch"			buy for 25 sprinkles; opens civic center midnight choice
// "candy crowbar"			buy for 50 sprinkles; opens unsupported train station midnight choice
// "candy screwdriver"			buy for 100 sprinkles; opens train station midnight choice
// "teethpick"				buy for 1000 sprinkles; opens train station midnight choice
// "robbery"				requires robbery outfit; activates vigilantes
// "gingerbread dog treat"		buy for 200 sprinkles; opens civic center midnight choice
// "pumpkin spice candle"		buy for 140 sprinkles; opens train station midnight choice
// "gingerbread spice latte"		buy for 50 sprinkles; +10 Familiar Weight potion
// "gingerbread trousers"		buy for 500 sprinkles; part of Gingerbread Best outfit
// "gingerbread waistcoat"		buy for 500 sprinkles; part of Gingerbread Best outfit
// "gingerbread tophat"			buy for 500 sprinkles; part of Gingerbread Best outfit
//
// An invalid choice will be treated as "candy"

string gingerbread_noon = define_property( "VGC.Noon", "string", "candy" );

// You have a wide variety of options for Midnight:
//
// "Judge Fudge"			fight Judge Fudge: activated by "column" at noon
// "mainstat"				gain muscle, mysticality, or moxie, depending on your class
// "Muscle"				gain muscle stats; eventually activates a train station midnight choice
// "Mysticality"			gain mysticality stats; eventually allows purchase of teethpick
// "Moxie"				gain moxie stats
// "broken chocolate pocketwatch"	part of Gingerbread Best outfit; requires "pumpkin spice candle" at noon
// "meat"				5,000 Meat; requires "candy crowbar" at noon
// "fat loot token"			requires "candy crowbar" at noon
// "sprinkles"				250 sprinkles; requires "candy crowbar" at noon
// "priceless diamond"			requires "candy crowbar" at noon
// "pristine fish scales"		5 pristine fish scales; requires "candy crowbar" at noon
// "dig"				gain items; requires teethpick in inventory; becomes unavailable after sugar raygun
// "counterfeit city"			buy for 300 sprinkles
// "gingerbread moneybag"		requires creme brulee torch in inventory
// "gingerbread cigarettes"		buy for 5 sprinkles
// "chocolate puppy"			requires gingerbread dog treat in inventory
// "gingerbread pistol"			buy for 300 sprinkles
// "ginger beer"			requires gingerbread mug in inventory
// "spare chocolate parts"		required to convert broken chocolate pocketwatch to chocolate pocketwatch
// "GNG-3-R"				fight GNG-3-R; requires (and consumes) gingerservo
// "tattoo"				buy for 100,000 sprinkles
// "fake cocktail"			potion: MP +50, MP Regen 20-30
// "high-end ginger wine"		requires Gingerbread Best outfit; RPIC booze
// "fancy chocolate sculpture"		buy for 300 sprinkles; chocolate
// "Pop Art: a Guide"			buy for 1,000 sprinkles; grants skill: Fifteen Minutes of Flame
// "No Hats as Art"			buy for 1,000 sprinkles; grants skill: Ceci N'Est Pas Un Chapeau
//
// An invalid choice will be treated as "mainstat"

string gingerbread_midnight = define_property( "VGC.Midnight", "string", "mainstat" );

// You can specify monsters to banish if you are looking for particular drops

boolean [monster] gingerbread_banish = define_property( "VGC.Banishes", "monster", "none" ).to_set_of_monster();
...
// Cumulative records
static string SPRINKLES_SETTING = "VGC.TotalSprinkles";
static string GINGERBREAD_SETTING = "VGC.TotalTurns";
...
string gingerbread_outfit = define_property( "VGC.Outfit", "string", "Gingerbread City" );
Note that the property to enable this is "VMF.GingerbreadCity" - defaulting to false.

The properties to actually configure your plan (as well as the statistics) are VGC.*

That's 'cause I'm thinking of moving it into a standalone module and publishing it separately, since it seems useful for people who aren't running my script.

To be done:

- I haven't actually tested setting the clock ahead
- The list of monsters in VGC.Banishes is not implemented yet. The idea is that if you are farming gingerbeards, you'll banish the tech bro, and if you are faming gingerservos, you'll banish the mutant, for example.
- You don't have to have a fully upgraded city - and I detect and use the settings that track that when I am validating whether certain noon/midnight options are available. But there are other settings - is the extra track laid? have you gotten negatives? and so on, which I do not use yet. That is partly because I am not sure which of those are reset on ascension and which are permanent.
- There are a handful of choices you can't configure yet: bribery to upgrade your city, dropping off and picking up at the photo counter, getting the negatives. That's related to the previously traking settings.
 

Veracity

Developer
Staff member
And ... revision 19 makes it so. Gingerbread City.ash is now a standalone script which this script imports and calls.

All future changes to this feature will be to the other script - which will automatically carry over to here.
 

Veracity

Developer
Staff member
I have The Tunnel of L.O.V.E. coded up. I will test after rollover.

I like my configuration properties:

VMF.LOVEnemies
VMF.LOVEquipment
VMF.LOVEffect
VMF.LOVEndowment
VMF.LOVEnsemble

They seem to fit the "feel" of the IOTM. :)
 

Veracity

Developer
Staff member
Revision 21 adds support for the Tunnel of L.O.V.E.

Next up:

VYKEA companion
Vamping Out with plastic vampire fangs

With those, I think that will be all the non-equipment, non-familiar IOTMs that are useful for this script.
 

Veracity

Developer
Staff member
The combat filters that this script uses do not extract. Presumably your CCS (which they defer to, after they are done stasising) does that. Without such a CCS, any extruding just uses up previously acquired stocks of Source essence.

Were I to add the ability to (optionally) use extract, before falling in to stasising, I could see configuring extrude.

Until then, I don't want to do that.

I'll add it to the To Do list - which is actually the "list of things to think about doing". :)
 

Veracity

Developer
Staff member
If the script is not doing the extract, I don't want it doing the extrude. You can write your own couple line CLI script to do that.

If it is configureable to extract, it could/should be configurable to extrude.
 
Top