I mean I’m by no means even a mediocre coder, but this should be a more simple task of
if body is enough > ideal temperature apply insulation to lower temperature, do not apply item warmth on item in this case?
I’m not sure, but I can’t imagine an umbrella wouldn’t help either
I mean you could have a vest made of blocks of ice and that would definitely make you colder. (They use it sometimes when exploring very hot caves)
I imagine you’d just have a flag on clothing that indicates it insulates from the heat, akin to the “keeps you dry” flags. I think you might need to add more stuff to the item UI to be able to show the insulation value.
You’d also need a way to make it not stack. The umbrella one would probably be the hardest to implement, as I don’t think there’s any framework for having held items affect your temperature (other than pockets for hands)
Umbrellas and sunhats could possibly be set up to treat the temperature as if the player was inside while worn during summer, to mimic protection from the sun. Most other clothing won’t give any actual cooling, with the possible exception of things like robes, dusters, ponchos, and other things that are normally worn in hot/desert areas. Perhaps a “This item helps keep you cool” flag that applies the warmth value of the clothing as negative?
A vest made with gel segments could be frozen in a minifridge to temporarily get a fairly large negative warmth value. That would be a more modern solution and could be reasonably crafted, while a more high tech “active cooling suit” could be found, which would use fans and water pumps to disperse heat from the wearer while powered.
Umbrellas and sunhats could possibly be set up to treat the temperature as if the player was inside while worn during summer
in summer all the indoor locations are actually hotter than outside, possibly because all the walls in cataclysm are just a bunch of 2x4s and rocks.
I’m also imagining that power armor would have some sort of cooling. A thought that just occurred to me is to maybe look at how the temperature CBM is implemented. This wouldn’t be directly suitable for clothing, but could be a step in the right direction when it comes to implementing umbrella ‘insulation’
I forgot insides were hot in summer…
In that case it would just have to apply a negative heat to the whole body, assuming sunny/clear weather.
Power armor and the Internal Climate Control CBM both use the same system. They apply some sort of climate control status that evens out your temperature either way, but it’s limited and applies to the whole body. Applying that to a hat would be overkill, when it only works of the weather is sunny.
Is it even a question of making things ‘super realistic’? The impression I get is that the warmth system isn’t perfect (the reason this thread got so much attention) and that they had an idea for a better system that they haven’t implemented (yet?).
I get that some people dislike that Cataclysm tries to devote some energy to realism, but shouldn’t any attempt by the developers to create better, more complete systems be considered a good thing?
I like how Rimworld handles it, perhaps look into the code for that, from memory it was lua but you should be able to decipher the math, we need depth, complexity only makes the game less comfy to play.
As I said, I’d be happy with a system that simply goes, okay the player’s body temperature is above this amount, ignore the warmth values of this item and reduce them by x?
So other items that don’t have some insulate tag will still warm the player, but insulating items will help balance everything out.
Also applying extra heat indoors when the walls aren’t more solid kinds could make gameplay more interesting I guess
Perhaps we could make certain items have a negative value, but only when the character is subject to ‘sun glare’, like the kind that glare protection helps against? It seems like most of what sun hats and umbrellas do is keep the direct sunlight off of you.
I’m not talking about realism, which I’d gladly ditch.
The problem is having the system actually work with existing items, weather, mutations and so on.
For example, fires. Fires are relevant to game balance, not just gimmicks.
It’s not exactly hard, just a lot of work to check every weird case.
A simpler idea: a multiplier to temperature changes, via probability or multiplier. Perhaps ignored for some changes (a straw hat should not protect against fire for example). Seems like it’d be easier to implement, and while some clothing could work against hot and cold, others could work only against one. Seemingly simple +/- check on temperature deltas sound’s a lot easier than full reworking internal mechanics. Could be linked to an “insulating” quality, so fire suits and winter gear could have a grossly high value. This would also de-link warmth from insulation, so while a straw hat could insulate, it wouldn’t keep you warm.
that doesn’t really make much sense. Sure the deltas will arise when you go near fire but most cases the temperature is a function of the weather. Plus, adding checks on deltas is reworking the internal mechanics.
Right now, temperature is applied to the bodyparts and then clothing is used to provide warmth. If the resulting number is in the comfortable range, then we’re good. If you have to keep track of deltas, now you have to have some sort of history of which deltas were applied so that you can have consistent temperature as you, say, enter and exit a building in winter.
I can already forsee some weird exploit of entering buildings, unequipping or equipping clothing and exiting buildings to get your warmth down to the point where you can run around in heavy survivor armor in the summer. I don’t think using deltas is the right idea.
The previous idea of using an insulation value and a warmth value which pretty much respectively decreases and increases warmth is most likely the solution here, but figuring out when insulation is applied and such is where the aforementioned maths comes in. I guess the naive approach is just
which would be incredibly shit and probably a massive oversimplification of how the temperature system works.
Another tangentially related thing, the characters in cataclysm are terrible when it comes to hot weather. They feel hot when the air temperature is 24 and they’re wearing mostly nothing. As an Australian, 24 is what I set my air conditioning to. If the air temp is 24, I can comfortably sleep under my quilt.
Speaking as someone from a place that actually sees winter, that translates to 75 degrees, which I would consider a touch warm, but not uncomfortable. You shouldn’t be at risk of being hot until the mid 80s.
I think you’re very confused. There’s always an attempt for the game to get you from your temperature to weather temperature, and by definition, reducing this rate is changing the deltas. There’s absolutely no need to track a history for any sense. Currently, buildings to provide a straight reduction towards comfortable, which if converted into insulation, would make things make much more sense. There’d also be a significant simplicity of how temperature calculations could be done i.e. make a fire, take off clothing and be near fire to get warm, put clothing back on and run around. If buildings were changed to provide insulation instead of straight cooling, the system would work properly. That’s kinda the point of the building, it would insulate you, but it’s senseless that it could ever put you at a temperature beyond your clothing/environment. The opposite would make sense, that if you were hot and ran into a building, the sun would no longer be on you (a smaller straight warmth value that can change with weather), you could be insulated (pretending we have lowered air flow), and there would be a use for “cold generators”. If you thought about it more,its a completely sensible outcome of being cold and then wearing warming things: you’re not instantly hot from wearing insulating things.
In a very realistic sense, having warmth values to things is nonsensical, since only rare things like heating pads or cooling electronics actually have a temperature different than the rest of the world. All the rest of our clothing is purely insulative.
From a mechanics standpoint, maybe that’s how it should be treated: we generate x units of heat, the temperature delta is based on our current body temp and weather, then we have a maximum change rate from our current of x + delta, scaled or ignored by the insulating factor(s).