New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ports TG glowshrooms #15475
Ports TG glowshrooms #15475
Conversation
I honestly think now that we should just remove spreading, it takes away nothing as shrooms can still be decoratively used (like intended) and used for R&D, this just makes it easier for a botanist to still run around with a pack full of shrooms, like in the other pr, except these will still spread and just need replanting at some point, i would say do both decay and no spread but that would be annoying for trying to use them decoratively. (Theres my opinion, if it matters) |
I'm pretty certain opinions of people will be taken into consideration here. I myself am very curious about them. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've been keeping a very close eye on what TG has done with this; they nerfed them yet again--mind checking out that rework; it makes them even weaker than this PR and solves some performance issues with them. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lots of lowerCamelCase
variables in the added code. Please change them to snake_case
for consistency
var/chance_stats = ((myseed.potency + myseed.endurance * 2) * 0.2) // Chance of generating a new mushroom based on stats | ||
var/chance_generation = (100 / (generation * generation)) // This formula gives you diminishing returns based on generation. 100% with 1st gen, decreasing to 25%, 11%, 6, 4, 2... |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These could probably be moved out of the loop since they don't need recalculation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
chance_stats
does need recalculation, because in the same loop we call proc/Decay
which lowers endurance
. I think leaving chance_generation
next to it for readability might be worth those few recalculations.
Porting most recent /tg/ changes would require, at the very least, porting their cooldown systems beforehand. One way or another, this is likely as much as we can port from /tg/ regarding glowshrooms, at least for now. |
No head approval on this one. Closing. |
What Does This PR Do
Alternative to #15445
Ports:
tgstation/tgstation#51023
tgstation/tgstation#52120
tgstation/tgstation#52169
tgstation/tgstation#53652
Outside of that, makes glowshrooms incapable of growing on lava and in water, which was already part of TG code and made enough sense to put in. Also, made porting simpler.
Basically the entire credit goes to the authors of their respective PRs.
Why It's Good For The Game
So, in #15445 Fox convinced me this should be done as an at least a potential alternative. Perhaps it would even be healthier to try this than outright jumping to total removal of a feature.
I would still rather see it removed than reworked, but more than anything I want something to be done about glowshrooms. Knowing well that removal of features is rather controversial and is likely to be rejected or limbo'd, this should be far more acceptable alternative.
Bonus points, it adds a lot of great commentary to the file. Credits to the respective PR authors, again.
My tests on a single node reached up to 7th generation of glowshrooms and total extinction within 15 minutes, which seems acceptable.
Changelog
馃啈
add: Glowshrooms and their mutations will now decay, preventing single node from overtaking the entire station
/:cl: