Temperature Related Traits and Mutations

I was thinking whilst making a new character earlier; there aren’t really any traits to choose from, or any possible mutations in any one of the trees that really involve a tolerance or vulnerability to heat or cold. The only one I can really think of is Cold-Blooded in the reptile tree and the Fur in the beast/related trees, both pretty far down in the list.

There is no real option at the start of the game to create a character with a resistance to cold or warmth at all, even though in real life we can see some people being more vulnerable to them, either form natural inheritance or the weather that they grew up in, whatever. These would be cool to add for RP reasons as well as for practical reasons.

The trait “Cold-Resistant” could raise the point where you become chilly, very cold and freezing by a few points, stacking, so that while it may have a very small effect when it’s simply a brisk day and you’re wearing an undershirt, but would have a larger effect during a very cold winter or when exploring an ice lab. The numbers are loose and I’m not sure what would be balanced, but maybe 4 points each increment, meaning it would take 4 extra points to become chilly, 8 extra points to become very cold and 12 extra points to become freezing.

The trait “Heat-resistant” could do the same for heat.

The traits could cost about 2-3 points at character creation, I don’t know what would be balanced here really.

In addition, there would also be corresponding negative traits that do the opposite of the positive ones choosable at character creations for extra points.

For mutations, I was thinking something along the lines of “Cold adaption” and “Heat adaption,” which would be neutral traits that come from taking mutagens of certain types and give the effects of one of the positive traits and the opposite negative one (ex. resistant to cold, vulnerable to heat).

The trait Outdoorsman could also be fleshed out a little bit, raising the point cost to 2/3, giving less morale debuffs to rain as usual but also giving small temperature resistance in both directions. This would actually make the trait a worthwhile pickup depending on the character you’re making.

Note that the mechanics I’m posting here are very rough, and I have no idea how they would really work in the balance of the game or how easy they are to code. Mostly, I just want temperature related traits to be in the game in one form or another and that’s why I’m posting here.

ty for reading boys

I like it.

Right.

I stepped off a plane hailing from Haiti . . . and into the Connecticut apocolypse.

Smaller things cool off faster, maybe its time for a basic winter overhaul? Make fat a thing, give somebody a ‘immigrant from some hot/cold place’ trait option, and then MAKE ACCUMULATED SNOW A THING

Good thinking about the outdoorsman (currently it is useless).

Changing the temperature thresholds would require some temperature reworking. It would be easier to make it change the “homeostasis”.
Homeostasis is currently a single number calculated from current temperature. It affects the effectiveness of clothing (scales it from 0% to 200%).

Alternatively, just having mutations provide heat (or negative heat) when its needed would work. Fur mutations do that.
Some mutations affect temperature unconditionally - radioactiveness makes you warmer, degradation makes you colder.

Honestly, temperature in CATA has been basically broken for the 2 years I’ve been playing. Ever since we got eternal seasons, I turn it off by setting it to summer. Winter has no relationship to anything wintery, spring has no relationship to spring. It works from a gameplay POV, but once you add in anything about mutations, it completely falls apart. Fortunately, Eternal Seasons make for an easy fix. And when you get used to playing Eternal Summer, changing it to Eternal Winter finally provides a stark contrast.

Having snow accumulate in cata (and therefore disrupt movement; interact with body temp; limit LOS; etc) would be absolutely amazing.
More&improved weather<->trait interactions nice as well.

It would probably take a lot of code, but it’s not impossible for weather to cause fields (acid rain) and for fields to change terrain (fungal haze). But the problem would be changing things back for Spring.

would need to have some sort of reverts_to tag or something right? a log of what should be what when things thaw out… that shouldn’t be THAT hard should it? Especially with bits of code already in place for the re-creating of terrain from acid rain and fungus.

One thing I do want is a way to unfungify terrain

that is a good point too.

Melt can be done at mapload (maybe also if season changes to Summer, to avoid absurdities), but i was under the impression that making snow a field is going to be costly in resources. If not, it can work just as well as debris (interacting with lots of stuff when you are passing over it, and with a possibility to clean it up)

If not possible to do it a field, making it terrain is a bit problematic, since we’d have to add one snowy_terrain id per type of snow and type of terrain (so as not to forget the terrain that was beneath), tripling number of ter id’s…

Fields aren’t exactly the cheapest way to do it. You can see how expensive field processing is by debug-editting a giant field of blood covering the entire reality bubble.
The problem with fields is that a lot of stuff checks them, they aren’t “linear” in memory (ie. two fields won’t be adjacent in memory) which causes cache misses, they calculate timeouts and finally the field processing function can skip entire submaps with no fields, speeding up processing if there aren’t many fields.

Snow would most likely be a furniture.

Thats an interesting way to do it. I guess it makes sense though. What would have to be done to make the snow “build up” though… Just have multiple versions, with various level of qualities and have them get replaced by one another when necesary (seems like it would be cache expensive…?) or having it be single/ couple of different furniture’s with variable properties that can be more fluid and granular for build/melt and effective properties (moves required to traverse etc…) Would that even be possible without a serious re-work of furniture that most would not use… Sorry I may be asking beyond my usefulness here.

Haha, smash it to get snowballs to melt and drink

And throw at zombies.

And craft into snow forts.

XD that almost sound more like a minecraft thing.

Which means allowing overlapping furniture within one tile, and fixing side-effects of that happening.
Since you say it, i guess its possible.

If the check is done only when you load something into the reality bubble, there should be no big issues with it i think.

There are two ways that i can see to do it. Either with one furn id for each snow level (slight snow cover; knee-high; waist-high; even more - but how much is common for New England?) or with just one furn id for snow, to be applied multiple times over one tile - with a chance to add/melt a layer depending on temperature & weather.

The second way seems nicer but harder to do. Also seems a bit field-like…

Nope, it means not snowing on the existing furniture or overriding it (in case of things like ash and flowers).

By the way, exactly how hard would it be to mod new mutations and mutation categories to the game?
I have some ideas but they are probably beyond my skills(i don’t know what kind of programming language Cataclysm uses and github is the blackest of black magic to me ;-;).

Mutations that add a constant temperature are easy and can be done with a text editor.
Mutations that depend on things and have a scaling effect require setting up git and C++ compiler.