Description:
In the current game implementation, I've observed two temperature-related issues:
Environment Temperature Increase by Clouds Instead of Decrease
The environment temperature appears to increase when clouds are present, which is not consistent with real-world physics. Cloud cover should typically lead to a decrease in temperature and code comment to a ENVIRO_CLOUDS_TEMP_EFFECT variable is proving this point:
const float ENVIRO_CLOUDS_TEMP_EFFECT = 0.35; //! how many % of environment temperature can be lowered by clouds
The issue itslef seams to be a wrong operator usage in a 4_World\Classes\Environment\Environment.c :: class Environment :: protected float GetEnvironmentTemperature() :
temperature += Math.AbsFloat(temperature * m_Clouds * GameConstants.ENVIRO_CLOUDS_TEMP_EFFECT);
Environment Temperature Height Correction Indoors and in Vehicles
Temperature correction does not apply consistently when transitioning between different environments, such as going indoors, getting in a vehicle, or seeking shelter under a roof. For example, if the outside temperature is -40°C due to high altitudes, entering any of these structures should not instantly result in a positive temperature reading. The temperature correction logic needs to apply height correction for such cases aswell.
I've attached a screenshot with possible solutions for both issues.