Jump to content

Mushtree spores typically spawn with 5/6ths freshness


L. Ringmaster
  • Fixed

I've found that spores spawned from a mushtree or funcap nearly always spawn with 1/6th of their freshness already depleted. 
I tested this by standing directly under a mushtree while wearing a funcap and held the action button (spacebar by default) in order to catch the spore as soon as possible.
I found that the vast majority of the time spores caught had only 5/6ths of their freshness, while only VERY occasionally one would have full freshness.

I wondered if perhaps the times of the spawning and catching animations were allowing enough time for a spore to rot this much.
I (very roughly) timed the period it took until brand new loose spores spoiled and disappeared, which I found to be somewhere between 52 and 55 seconds. The total time for the spawning and catching animations seems to be around 1-1.5 seconds combined. I also observed that I could wait more than 10 seconds from the time a spore spawned and it would still have exactly 5/6ths of its possible freshness.
From these times it seems impossible that 1/6th of the freshness could've been lost during the spawning and catching. 

Because a spore at full freshness will last 60 days in a Mushlight or Glowcap players lose 10 entire days of potential lighting due to this. 


Steps to Reproduce
Catch spores as described above.



User Feedback


A developer has marked this issue as fixed. This means that the issue has been addressed in the current development build and will likely be in the next update.

Spores in the air have a very short lifecycle. (60 seconds if from a Funcap, 90 if from a Mushtree).

You waiting 10 seconds is going to cause them to be somewhat spoiled cause the conversion of the 60/90 seconds in the air to the 15 days in your inventory is rather big, causing that big loss in days. They need to be caught IMMEDIATELY (spamming space before you even visually see it) if you want almost nearly fresh spores. It also won't be a full 60 days either due to seasonal spoilage rates, iirc.

I do agree it could use some improvements though.

Share this comment


Link to comment
Share on other sites

19 hours ago, lakhnish said:

You waiting 10 seconds is going to cause them to be somewhat spoiled cause the conversion of the 60/90 seconds in the air to the 15 days in your inventory is rather big, causing that big loss in days. They need to be caught IMMEDIATELY (spamming space before you even visually see it) if you want almost nearly fresh spores.

You misread my post. Whether or not I wait 10 sections or am pre-holding the action key I get a spore with 5/6ths freshness.
Making sure they go straight into an insulated pack makes it pretty clear when using a mod which tells you its remaining freshness.
A completely fresh spore in an insulated pack has 30 days freshness.

Caught immediately -> 24.9 or 25 days freshness
Wait 10s after spawning -> 24.9 or 25 days freshness 

Edited by L. Ringmaster
  • Like 1

Share this comment


Link to comment
Share on other sites

28 minutes ago, L. Ringmaster said:

Caught immediately -> 24.9 or 25 days freshness
Wait 10s after spawning -> 24.9 or 25 days freshness

Oof I see it now, you lose a bunch of days for no reason now.

I hadn't caught a spore for lights since they've upped the spoilage time when Salty Dog came out, which is why I said what I did (it was what it did before).

Edited by lakhnish

Share this comment


Link to comment
Share on other sites

I don't really see any logic in the code which seems to imply this is intended behavior... Perhaps somthing called after inst.components.perishable:StartPerishing() during makespore's CreateEntity inst is taking too long relative to the extremely fast perish rate of loose spores? Maybe moving StartPerishing() later in CreateEntity would mitigate this? 

One solution might be to set a slower perish rate during entity creation using inst.components.perishable:SetLocalMultiplier and have it set itself back to the current rate in ./scripts/brains/sporebrain.lua a couple seconds after spawn. The onpickup function already utilizes SetLocalMultiplier, so it shouldn't impact other spoilage rates.

Share this comment


Link to comment
Share on other sites

1 hour ago, L. Ringmaster said:

Perhaps somthing called after inst.components.perishable:StartPerishing() during makespore's CreateEntity inst is taking too long relative to the extremely fast perish rate of loose spores? Maybe moving StartPerishing() later in CreateEntity would mitigate this? 

Probably something along this. Before this patch came out, you could never ever get a fully fresh spore of 30 days. It was always below that (something like 28 days iirc).

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...