-
Notifications
You must be signed in to change notification settings - Fork 4.2k
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’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Seasonal Mutation EOCs #69591
Seasonal Mutation EOCs #69591
Conversation
data/json/effects_on_condition/mutation_eocs/mutation_effect_eocs.json
Outdated
Show resolved
Hide resolved
data/json/effects_on_condition/mutation_eocs/mutation_effect_eocs.json
Outdated
Show resolved
Hide resolved
data/json/effects_on_condition/mutation_eocs/mutation_effect_eocs.json
Outdated
Show resolved
Hide resolved
data/json/effects_on_condition/mutation_eocs/mutation_effect_eocs.json
Outdated
Show resolved
Hide resolved
data/json/effects_on_condition/mutation_eocs/mutation_effect_eocs.json
Outdated
Show resolved
Hide resolved
data/json/effects_on_condition/mutation_eocs/mutation_effect_eocs.json
Outdated
Show resolved
Hide resolved
data/json/effects_on_condition/mutation_eocs/mutation_effect_eocs.json
Outdated
Show resolved
Hide resolved
data/json/effects_on_condition/mutation_eocs/mutation_effect_eocs.json
Outdated
Show resolved
Hide resolved
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ocs.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ocs.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ocs.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ocs.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ocs.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ocs.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ocs.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ocs.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
I peronally have hay fever and can tell you that it does have a noticable impact on your stamina. It doesn´t impact how quickly you recover (unless it is really bad) but it does impact how far I can run. A small reduction ( -10%) to max stamina would be realistic. My hay fever used to be far worse 10 years ago. To the point my body would act as if it really was sick. You could implement this as a far more severe version with far stronger effects:
|
Good thinking. I'm on vacation for a bit but I'll try something like this when I get back. |
…ocs.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ocs.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ocs.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ocs.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ocs.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ocs.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
…ocs.json Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Removes calorie gain from photosynthesis as it was added based on flawed premises. Removes a bunch of photosynthesis changes entangled with the calorie gain. Removes the seasonal variation in leaves because it's already a huge amount of content for some very minor impacts and this is not a maintainable pattern. Completes removal of fruiting and related features. It's broken and needs heavy rework if it will go in.
Removes calorie gain from photosynthesis as it was added based on flawed premises. Removes a bunch of photosynthesis changes entangled with the calorie gain. Removes the seasonal variation in leaves because it's already a huge amount of content for some very minor impacts and this is not a maintainable pattern. Completes removal of fruiting and related features. It's broken and needs heavy rework if it will go in.
Removes calorie gain from photosynthesis as it was added based on flawed premises. Removes a bunch of photosynthesis changes entangled with the calorie gain. Removes the seasonal variation in leaves because it's already a huge amount of content for some very minor impacts and this is not a maintainable pattern. Completes removal of fruiting and related features. It's broken and needs heavy rework if it will go in.
Removes calorie gain from photosynthesis as it was added based on flawed premises. Removes a bunch of photosynthesis changes entangled with the calorie gain. Removes the seasonal variation in leaves because it's already a huge amount of content for some very minor impacts and this is not a maintainable pattern. Completes removal of fruiting and related features. It's broken and needs heavy rework if it will go in.
Removes calorie gain from photosynthesis as it was added based on flawed premises. Removes a bunch of photosynthesis changes entangled with the calorie gain. Removes the seasonal variation in leaves because it's already a huge amount of content for some very minor impacts and this is not a maintainable pattern. Completes removal of fruiting and related features. It's broken and needs heavy rework if it will go in.
Fix player_display: false where it shouldn't be. This was added in CleverRaven#69591 with seasonal mutations and should have been removed when the rest of those changes were removed.
Fix player_display: false where it shouldn't be. This was added in #69591 with seasonal mutations and should have been removed when the rest of those changes were removed.
Summary
Features "Add several seasonal traits and EOCs and restore mutation photosynthesis"
Purpose of change
I wanted to add some new interesting mutant life simulation features, similar to the molting added in #65459
Describe the solution
Describe alternatives you've considered
Out of scope for now, but planned:
Testing
Additional context
Prior photosynthesis calculations failed to account for leaf area and plant's two extra vine limbs. They also didn't consider the size of the mutant. In general, a fully evolved humanoid plant mutant spending the day outside nude in summer should be getting around 250kcal due to having about 10 square meters of leaf area. This is thanks to effectively having five branches - the head, two arms, and two vine limbs. Vine limbs can be controlled consciously, so we can assume these stretch out to take in sunlight. The precursor mutation, vines, can't be controlled, so we'll assume they just sort of drape and run at half efficiency.
Let's talk photosynthesis.
Under ideal conditions at sea level, sunlight contains about 1 kilowatt, or 860 kcal of energy per square meter per hour. Of course plants don't actually eat sunlight, they convert it to glucose. Per https://en.wikipedia.org/wiki/Photosynthetic_efficiency they do so at <1% efficiency. This can be higher, but we'll assume our mutant hybrid plants aren't particularly great at it. 1% efficiency under ideal conditions would be around 69 kcal/day per square meter of photosynthesizing surface area.
Boston, MA has a average annual solar radiation value of 4.91 kilowatt hours per square meter per day (kWh/m2/day), or about 4224.7 kcal. Solar irradiance in winter can dip down to around 2.8 kwh. In summer it can go as high as 5.5, assuming ATAL values as plant leaves often tilt to face the sun. ( https://www.solarenergylocal.com/states/massachusetts/boston/ ).
With all that math in hand, we can assume that photosynthesis provides about 32 kcal per day (assuming full sunlight in ideal temperatures) per square meter of photosynthesizing surface area. This is higher in many plants, but as mutants are hybrids we'll say they're not the best at it. Phelloderm provides photosynthetic skin, and an adult human has around 2 square meters of surface area to their skin, but people are not optimally shaped for photosynthesizing. Thus we'll say that Phelloderm provides 1 square meter of photosynthesis if you're nude, or 32 kcal.
But trees don't use a single contiguous surface to photosynthesize, like a solar panel. They grow leaves in three dimensions throughout their canopy to vastly improve their surface area. Botanists account for this in broadleaf trees by finding the two-dimensional area of the canopy (pi r squared) and multiplying that by its leaf area index, which gives a rough estimate of what the plant has to work with in terms of photosynthesizing surface area.
Leaves1 grows leaves on the character's head which are described as "grasslike." Bermuda grass has a leaf area index of 3 to 6, generally averaging around 4 during sunnier seasons. (https://www.researchgate.net/figure/Leaf-area-index-of-Tifton-85-bermudagrass-Cynodon-spp-grown-at-Gainesville-FL_fig8_236594511). Assuming the human scalp is roughly one square foot, Leaf Area Index × Ground Area gives us 4 square feet of leaf area, or about 1.2 meters, giving us 38 more kcal - however, this grass is covering a small amount of our phelloderm, so we'll bump it down to 30 kcal. This means that Elf-A maxes out at about 62 kcal in the summertime, about the same as a small apple. That doesn't seem like much, but let's remember that this is a survival game, and at some point food will probably not be as easy to come by as it currently is.
Leaves3 grows leaves which are described as large and verdant on the character's head, arms, and vine limbs if present. A human's armspan is usually about the same as their height, so we'll give our mutant a six foot armspan, and say the vine limbs are about the same length. They're actually longer, as they can be used as long ropes when climbing, but I imagine they're thinner and it all works out to about the same. Our mutant, spreading out their arms and vines in full sun, has a crown area of about 2.54 meters.
Multiply that by the leaf area index of 4 and we get about 10.16 square meters. At 32 kcal per square meter, we can probably safely call that 352 kcal/day in optimal conditions. These leaves provide shade, so we can say that phelloderm runs at half capacity, adding only 16 kcal for a total of 368.
From here we can work backwards to get our values for Leaves2 and for mutants without vine limbs. For Leaves2 we can simply assume a lower leaf area index, say 3, and repeat our above calculation for a leaf area of about 7.62 square meters, or about 244 kcal/day, or 260 with phelloderm.
If the plant has five branches (head, arms, two vines), we can say that vine limbs in the above examples are providing 40% of the leaf area. For vines, we can half that. From there, we can work out how much our plant is eating in optimal conditions no matter what combination of mutations they have.
And so the expected values for a naked mutant in summertime would be:
PHELLODERM = 32 kcal/day
PHELLODERM+LEAVES1 = 62 kcal/day
PHELLODERM+LEAVES2 = 156 kcal/day (60% efficiency)
PHELLODERM+LEAVES2+VINES = 208 kcal/day (80% efficiency)
PELLODERM+LEAVES2+VINE LIMBS = 260 kcal/day
PHELLODERM+LEAVES3 = 221 kcal/day (60% efficiency)
PHELLODERM+LEAVES3+VINES = 295 kcal/day (80% efficiency)
PHELLODERM+LEAVES3+VINE LIMBS = 368 kcal/day
The method that was already in use is somewhat random, so in practice this varies a bit, but not enough to really matter.
These values are halved on cloudy days, and photosynthesis scales in efficiency with temperature due to being an enzymatic process. Caloric production from LEAVES2 and LEAVES3 falls an additional 10% during the fall. I planned to have it drop off more, but it looks like the preexisting calculations in the code already accounted for much of the seasonal dropoff, so this gets us our expected values.
Photosynthesis also tanks at temperatures over 40 degrees Celsius. High temperatures are actually way worse for it than low ones. I've coded this, but it will likely not be relevant most of the time. If it's a problem in tropicata I suggest adding a mutation there to fix it.
Since height and armspan are roughly the same in humans, we can simply multiply the mutant's leaf area by the proportional difference in average height if they happen to be a size category other than medium. This scales up quite well and is very punishing to small plants, which is what we'd expect.
Bear in early summer pre-shed (85f)
Bear in early summer post-shed (85f). This bear, if careful, is now able to survive the summer.