New Content - Implemented IoTM March 2020 - Better Shrooms and Gardens Catalog

Magus_Prime

Well-known member
I have a typo in the title. "Shrroms" should be "Shrooms".

Code:
--------------------
10481	Better Shrooms and Gardens catalog	866853234	mushcatalog.gif	usable	t	0
# Item Better Shrooms and Gardens catalog
--------------------
Using it yields
Code:
--------------------
10482	packet of mushroom spores	335873711	seeds.gif	usable		0
# Item packet of mushroom spores
--------------------
Using the packet plants a garden in the campsite. Visiting it takes a turn and you fight a Piranha Plant. So far items that drop from the combat are
Code:
--------------------
10500	piranha pollen	736668065	disease.gif	potion, multiple	t,d	10
Item	piranha pollen	Effect: "Piranha Power", Effect Duration: 20
--------------------
--------------------
2566	Piranha Power	piranhaplant.gif	3d155e040e97f6c33724872265b5d243	use 1 piranha pollen
Effect	Piranha Power	Maximum HP: +20, Maximum MP: +20, MP Regen Min: 3, MP Regen Max: 5, HP Regen Min: 3, HP Regen Max: 5
--------------------
--------------------
10498	pristine piranha seed	436277245	piranhaseed.gif	grow	t	0
# Item pristine piranha seed
--------------------

The piranha plant has factoids. Here is the MM entry:
Code:
piranha plant	2175	piranhaplant.gif	Scale: ? Cap: ? Floor: ? Init: -10000 P: plant

The pristine piranha seed is a familiar hatchling that gave me a "Huh?" when I tried to put it in the terarrium.

You get five combats per day in the garden and then I got a choice:
Code:
Your Mushroom Garden
Encounter: The Mushy Center
I didn't get the choiceAdventure number but there there two choices:
1. Fertilize a mushroom
2. Pick a mushroom.

I chose to fertilize and got this:
Code:
You grab some of the compostable material left over from that piranha plant you destroyed and use it to fertilize your mushroom plot. You can't wait to see how big it is tomorrow!

Additional attempts to adventure in the garden yield:
Code:
Your Mushroom Garden
Encounter: No More Shroom at the Inn

People in GD report that you only get the five combats while in plumber and only one outside of that path.
Aenimus reports that the combats are supposed to be free.
 
Last edited:

Veracity

Developer
Staff member
Revision 19796 has initial stuff.

Looking forward to it appearing in Mr. Store so I can buy it. New gardens are always fun!

(Looking forward to seeing the progression when you fertilize it day after day and adding support to Garden Harveter.ash)
 

Veracity

Developer
Staff member
It's in Mr. Store. I planted it, but have no adventures left. Therefore, I cannot visit it, since doing so redirects to adventure.php?snarfblat=543.

Revision 19797 adds more support:

- recognizes the initial image in the campground.
- adds free-range mushroom and plump free-range mushroom
- ASH get_campground() will have a "free-range mushroom" in it if we saw a Mushroom Garden in the campground.
- I added the mushroom garden and packet of mushroom spores to ValhallaDecorator - what you see when you visit the Gap.

I have no idea if you will be able to tell how many days advanced you are by simply looking at the campground.
- My campground has mushgarden.gif. For me, that is a day 1 garden which has not been harvested.
- Is there a different image if you have picked the mushroom?
- If you fertilize it, tomorrow you will get a plump free-range mushroom.
-- Is it a different image today - day 1 fertilized?
-- Is it a different image tomorrow - day 2 unvisited?
- I did not fertilize it today. Will tomorrow have a simple free-range mushroom in it? I.e., if you don't fertilize it, does it evolve?

So much to learn about this brand-new item.
 

Magus_Prime

Well-known member
With r19797 I clicked on the mushroom garden, having used my five encounters earlier in the day and got the following in the gCLI:
Code:
Unknown Adventure #543 = adventure.php?snarfblat=543
Unknown Adventure #543 = adventure.php?snarfblat=543
Unknown Adventure #543 = adventure.php?snarfblat=543
Unknown Adventure #543 = adventure.php?snarfblat=543
Unknown Adventure #543 = adventure.php?snarfblat=543
Unknown Adventure #543 = adventure.php?snarfblat=543

[955] Unknown Adventure #543
Encounter: No More Shroom at the Inn
 

Veracity

Developer
Staff member
Yeah. I got that same output - multiple "Unknown Adventure", why? - but didn't actually register it, since I had zero turns, and was told "You don't have time".
 

Veracity

Developer
Staff member
Adventure 543 is "Your Mushroom Garden"
After fighting the piranha plants:

Encounter: The Mushy Center
This is choice 1410. You cannot walk away from this choice.
choice 1: Fertilize the mushroom
choice 2: Pick the mushroom

Adventure again:

Encounter: No More Shroom at the Inn

A decent-sized mushroom grows in the center of the plot.

Back to campsite:

Your Mushroom Garden is mushgarden.gif

I planted the garden yesterday.
The image was mushgarden.gif
I did not visit it, being out of turns.
Today, the image was mushgarden.ash
I visited and found a free-range mushroom - exactly what I would have gotten yesterday.
-> the crop does not grow unless you visit it and fertilize it.
Today I picked. The image is still mushgarden.gif
-> the image on campground.php does not tell you what to expect.

Perhaps a handful of preferences?

_mushroomGardenVisited

Set to true when you either pick or fertilize the mushroom.

_mushroomGardenFights

Maybe. Incremented when you fight a piranha plant. This would allow to know whether to expect a fight.

mushroomGardenCropLevel

Initialized to 1. Incremented when you fertilize. Reset to 1 when you pick.
Today I saw a "decent-sized" mushroom. That is, presumably, 1.
-> We can set this appropriately when visiting the choice adventure, even if you spent (an unknown number of) days outside of KoLmafia
This tells you what to expect next time you pick.

Since picked sets _mushroomGardenVisited to true, "next time" will be tomorrow, at earliest.

As far as automating "picking" this plot:

Given a desired goal - free-range mushroom, plump free-range mushroom, whatever else comes over subsequent days:
- fight piranha plants
- when you get the The Mushy Center, if it is at (or larger than) you goal, pick it
- otherwise, fertilize it.

Need the rest of the items:

10483 free-range mushroom
10484 plump free-range mushroom
10485
10486
10487
10488
10489 mushroom filet

There is room for 4 more levels of mushroom.
 

Veracity

Developer
Staff member
Revision 19805 adds most of this:

mushroomGardenCropLevel starts at 1, is (might be) recognized when you get to The Mushy Center, id incremented when you fertilize and is set to 1 when you pick.

It "might be" recognized because I look for two things:

The image:

gmush1.gif => free-range mushroom
gmush2.gif => plump free-range mushroom
gmush3.gif => (image exists, unknown item)
gmush4.gif => (image exists, unknown item)
gmush5.gif => (image exists, unknown item)
gmush6.gif => (image exists, unknown item)

A description:

decent-sized mushroom => free-range mushroom

I don't have any more of these. I only use the image, so we should be good.
I just ascended, and have fertilized once, so I will linger to day 6 (at least) before ascending again.

_mushroomGardenFights starts at 0 and increments by one for each piranha plant you fought today

_mushroomGardenVisited starts at false and changes to true when you fertilize or pick.

Once I have all six mushroom levels - and maybe other things that appear on days 7, 8, ... - I'll look into making "garden pick" (and Garden Harvester.ash) do something reasonable with Your Mushroom Garden.
 

Veracity

Developer
Staff member
Revision 19809 changes the images:

mushgrow1.gif => free-range mushroom
mushgrow2.gif => plump free-range mushroom
mushgrow3.gif => (image exists, unknown item)
mushgrow4.gif => (image exists, unknown item)
mushgrow5.gif => (image exists, unknown item)

There is no mushgrow6. I suspect that means that on day 6, you will only have the choice to pick - yielding gmush6.
 

Aenimus

Member
get_campground() yields the mushroom type, but doesn't appear to be correct. I had at least a level 2 mushroom (now 3), but Mafia thinks it's level 1. I only updated today, but I assumed it matched on image file?

Is that intended? Has there never been yield for the seed equivalent; e.g., the packet of mushroom spores?
 
Last edited:

Veracity

Developer
Staff member
get_campground() is not yet updated to have a different value based on current mushroom level.
We auto-detect what you have in the mushroom garden when we visit the choice and set mushroomGardenCropLevel appropriately.
Except, until just recently, I had the wrong images. Revision 19809 fixed that.
I tested by fertilizing my day 2 garden and that setting is now 3 - correct, since I cannot harvest it until tomorrow.

You setting will auto-correct tomorrow when you see the choice adventure again.

Once I know all the crops - gmush1.gif - gmush6.gif I assume - I will work on get_campground() again.

It's a work in progress, I know the item descid for free-range mushroom and plump free-range mushroom - and those are the only ones on the Wiki - but there are four more. I'm waiting to have people report them here - or enter them, with descid, into the Wiki - so I can add them to items.txt. Until/unless that happens, I'll have to discover them myself, which will take quite a while. 18 days, to pick mushrooms 3, 4, 5, 6...
 

Aenimus

Member
I'll help where I can.

In the meantime, is there a reliable and native way to know whether he logged account has the packet of mushroom spores planted in their garden without putting a case for each possible growing mushroom?
 
Last edited:

Veracity

Developer
Staff member
Code:
[color=green]> ash get_campground()[/color]

Returned: aggregate int [item]
Certificate of Participation => 1
Frobozz Real-Estate Company Instant House (TM) => 1
Discount Telescope Warehouse gift certificate => 1
E-Z Cook™ oven => 1
My First Shaker™ => 1
potted tea tree => 1
haunted doghouse => 1
Witchess Set => 1
diabolic pizza cube => 1
free-range mushroom => 1

[color=green]> get mushroomGardenCropLevel[/color]

3
Currently, there is a "free-range mushroom" in get_campground().
There isn't, but the property lets you decide what is really there.
I will eventually add the other mushrooms as "crops", but they will only appear in the Preferences/In Ronin or Preferences/After Ronin panels where you can specify what, if anything, you want to harvest.

get_campground() will always have "free range mushroom" since we cannot detect from campground.php anything more than you having a Mushroom Garden
 

Veracity

Developer
Staff member
Revision 19811makes get_campground contain "free-range mushroom => X", where X is mushroomGardenCropLevel

Code:
[color=green]> ash get_campground()[/color]

Returned: aggregate int [item]
Certificate of Participation => 1
Frobozz Real-Estate Company Instant House (TM) => 1
Meat maid => 1
Discount Telescope Warehouse gift certificate => 1
E-Z Cook™ oven => 1
My First Shaker™ => 1
potted tea tree => 1
haunted doghouse => 1
Witchess Set => 1
diabolic pizza cube => 1
free-range mushroom => 3

Huh. I could make the count of the Telescope gift certificate be the number of upgrades you have.
 

Veracity

Developer
Staff member
There seem to be six mushroom images: gmush1 - gmush6
There seem to be five "mushrooms you can fertilize" images: mushgrow1 - mushgrow5
I'm guessing that on day six there is an (unknown) image of the sixth mushroom, but you cannot grow it.
Also, so far, using one kind of mushroom gives you stuff - a mushroom slab or 3 mushroom filets - and the next smaller mushroom.
I'm guessing that the day six mushroom will give you a new item (item 10497?) and the day 5 mushroom.

If I am correct, if I wait until day 6, I'll be able to successively "use" each mushroom and fill out the list of items, since I'll have descids for each of them.
I'll hit day 6 on Monday.

(item 10499 is probably the familiar item for the Piranha Plant)
 

Aenimus

Member
Does choiceAdventure1410 (fertilize or pick a mushroom) need a property in mafia? I made one and set it 0, but it still stalls when hitting the choice, asking for input.
 

AlbinoRhino

Active member
Does choiceAdventure1410 (fertilize or pick a mushroom) need a property in mafia? I made one and set it 0, but it still stalls when hitting the choice, asking for input.

A setting of 0 is always manual choice, ie stop and let the user decide. You probably want to set it to 1 or 2.
 

Aenimus

Member
I have all my variable choices set to 0, because that stops mafia stalling when it reaches that choice encounter. I need it not to stall so that run_choice() triggers.

It would appear that choices that have a property in native mafia do not stall at 0. But this created property stalls at 0.
 

Veracity

Developer
Staff member
Setting the property to zero means "manual decision". Which is to say, "stall and ask for input".
Set it to 1 if you want to fertilize.
Set it to 2 is you want it to pick.

How would you use this property? How would you expect to configure it? In the Choice Options panel for the "Your Mushroom Garden" adventure location?

With that, you could select Your Mushroom Garden in the GUI and tell it to go there 6 times.
Or you could "adventure 6 Your Mushroom Garden" (CLI) or "adventure( 6, $location[ Your Mushroom Garden] )" (ASH).

This is the first garden where you have to fight your way to a choice where you can both see what you have and decide to pick - or not. I'm not actually sure what happens on day 6 (or later) yet. I see only gmush1 - gmush6 - and there are six spaces in the itemId table for mushrooms - and mushgrow1 - mushgrow5. Are you required to pick on day 6? Or, if not, does it give you a chance to fertilize? to to simply go away?

I'm envisioning this:

Like all Gardens, you have the option of specifying desired crop in your Breakfast options - both for in-run and in aftercore (two different settings).
I expect to have the dropdowns for each include the mushrooms:

free-range mushroom
plump free-range mushroom
hefty free-range mushroom
giant free-range mushroom
immense free-range mushroom
<something> free-range mushroom

When we visit the garden in breakfast, we will always fight through the piranha plants, but, depending on whether the crop is at (or beyond) what you configured, we'll pick or fertilize.
(My Garden Harvester script, which lets you configure crops for ALL kinds of garden, rather than only have one at a time, like the built-in breakfast, will do something similar.)

We also have the "garden pick" command - run before jumping through the gash, or manually at any time.

Perhaps we need a "garden fertilize" command which only does something for Mushroom Gardens: fight the piranha plants and fertilize, if allowed.

How do YOU expect to use and/or automate Your Mushroom Garden?
 
Last edited:

Aenimus

Member
My choiceEncounter1223 (L.O.V. Entrance) is set to 0. It never stalls, and allows me to use the run_choice() within the function.

Edit: supplied my code on how I want it to work.

Code:
void mushgarden_pick(int target) {
	if (mushgarden_visit_can()) {
		print("Assessing whether to fertilize or pick the current mushroom.", "purple");
		adv1($location[Your Mushroom Garden], -1, "");
		run_choice((mushgarden_growth_check(target)) ? 2 : 1);
	}
}

Edit2: Just realised; I probably should be using visit_url() to stop the choice prompt.
 
Last edited:

Veracity

Developer
Staff member
Visiting Your Mushroom Garden is an adventure.php which requires you to go through 1 or 5 fights before you get a choice.
Visiting the LOVE Tunnel is an adventure.php which starts with a choice.

adv1 is a way to "automate". You specify how many "adventures" will be used.
-1 means "default calculation": 1 or 2 in the Sea, 3 or 5 at The Shore, otherwise 1.
For Your Mushroom Garden, it should be 0.

adv1 "automates" a single adventure; it makes a single iteration of the adventure. Note that adventuring in Your Mushroom Garden is just like adventuring in any other adventure.php location. Which is to say, the piranha plants fights do not chain into each other and you have to visit the adventure.php url to get the choice.

You need something like this:

Code:
void mushgarden_pick(int target) {
	if (mushgarden_visit_can()) {
		print("Assessing whether to fertilize or pick the current mushroom.", "purple");
		string url = $location[ Your Mushroom Garden].to_url();
		while ( true ) {
		    page = visit_url( url );
		    if ( page.contains( "fight.php" ) ) {
			// Haven't cleared piranha plants yet
			run_combat();
		    } else if ( page.contains( "choice.php") ) {
			// piranha plants are clear and it is time to fertilize of pick
			run_choice((mushgarden_growth_check(target)) ? 2 : 1);
			break;
		    } else {
			// We've already fully visited the garden today
			break;
		    }
		}
	}
 
Top