-
-
Notifications
You must be signed in to change notification settings - Fork 257
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
[Semi-Experimental] The coldbloodening #2684
Conversation
Shouldn't that be a upstream change ? |
I am not interested in maintaining this change upstream on a server I am not knowledgeable about regarding its balancing & design-style. |
Thermogenesis for ectotherms. Also moves some things around, modularizes others and mildly improves one thing.
also mood -2 and quip about another one
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.
Code itself looks good! And the shivers are a good solution to make coldbloodedness less devastating in space. Just a few notes
This sort of behavior is quite literally called shivering thermogenesis so yeah this is more appropriate wording. Also rewrites the moodlet to be more fitting.
man, the split on mood buffs is so surreal.
halves nutrition usage since this is still 2x and 5x base nutrition use (respectively). replaces abs uses on things that are always negative with a - operator instead. one safety adjustment to temp exchange if someone makes it possible to go above 1 temp protection (for whichever reason).
lizards get a mood buff at a certain temp range (30-60°C), which is the other side of the spectrum (their mood debuff from being cold). Also adjusts the mood event values I changed earlier to the ones bokkie suggested 4 -> 3. Also bandaids an ANCIENT issue with temp protection where you could get wrong values because of decimal precision. Very cool and epic.
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.
Adding "ate without table" moodlet after this
I'm rounding protection too aggressively (10%), 0.1% should be much more granular while also not yet running into precision issues.
About The Pull Request
Lizards in our lore are coldblooded. Those in our game are not, and have some fairly noninteractive traits (digitigrade is optional, so the only noteworthy drawback is cold damage mod which rarely comes up).
This replaces their basic "cold mod" modifier with the coldblooded property.
What being cold-blooded does is that it negates automatic body temperature stabilization, which means temperature adjustment is done purely by environmental factors.
This means that having ones body at non-standard temperatures becomes more of an active consideration, as an area with desired temperatures becomes the main way of temperature adjustment (besides varied methods such as chemicals, nanites, xenobio shenanegans, etc).
They do still preserve their resilience to direct heat-based damage.
In some talks regarding the matter, it was mentioned some other servers having heat sharing done via hugging (help intent), however while I liked that concept, I did not like it being on a trivial & spammable action (that would also need spamming).
Instead, this adds new functionality to "aggressive" grabs, which makes them share temperature between grabber and grabee while maintained. This is affected by insulation of both targets, albeit weighted somewhat towards transmissibility, unless either target has total insulation in which case it does not occur.
This in my opinion is a more fun and interactive take on the previously mentioned hug temperature sharing, and aggressive grabs fit that closeness more accurately in my opinion.
Feel free to suggest interesting things regarding this change. This does not have to be its final form.
Revision 1
Added thermogenesis to ectotherms. Essentially, some cold-blooded creatures in nature can somewhat counteract the cold by repeatedly contracting & relaxing (basically vibrating) their muscles, as the energy usage in muscles releases some heat.
This adds an equivalent of this to lizards. If they remain at temperatures significantly below normal (<~15°C currently) for an amount of time, they will subconsciously increase muscle activity in an attempt to heat up (aka shiver), even more so if very cold. This is inefficient, requires nutrition if active, can be a bit slow to respond, and doesn't feel good (mood debuff).
Revision 1.5
PR now also contains some random kneecapping of cult level mood buffs from simple drink sources within the NSV modular mood events. Who knew all moths were blood cultists?
Lizards now have a "comfy" bodytemperature range of ~30-60°C, in which they gain a mood buff as opposed to the debuff for being cold. Fairly difficult to maintain since they lack any kind of natural stabilization and the ship is 20°C unless you HE pipe or cook the department.
Also fixes a long-standing bug with heat protection calculations that would allow you to bleed or gain negligible amounts of heat with full protection due to decimal accuracy and the protection value being split into 11 small values being added together.
Usually body temperature stabilization would be bigger than the values added by this, but guess who doesn't do that!
Why It's Good For The Game
Species uniqueness is fun.
Testing Photographs and Procedure
Revision 1
Some demonstrations added.
Avoid these if using mobile data (video files do be big)
Thermogenesis demo
(semi-outdated - messages related to it got changed, but functionality is the same)ectotherm_thermogenesis_test.mp4
Grab temperature exchange demo
aggressive_temp_exchange_test.mp4
Changelog
🆑
balance: Lizards are now coldblooded (they have no natural bodytemperature stabilization besides the environment).
balance: Coldblooded creatures also have an inefficient form of thermogenesis they can use to heat up.
balance: Lizards dislike the cold (<15°C / when you start shivering) and like warmth (30°C-60°C), which can affect mood.
balance: Lizards no longer have a 1.5 cold damage modifier.
balance: Having somebody in an aggressive grab will share temperature between the grabber and grabbed target over time (respecting insulation).
balance: Drinking blood as a moth now has a weaker mood buff.
balance: Naval coffee now has a weaker mood buff.
fix: Temperature protection values returned by the getter are no longer very very slightly off the value they should be. Thanks decimal precision.
/:cl: