Main loop that runs calculations for various Environment parts (wetness, heatcomfort, watercontact, etc.)
209 {
211 {
215 {
218
220 }
221
224 {
227
232
235
241
245 else
247
250 {
252 {
254 }
256 {
258 }
259 else
260 {
262 }
263
266 {
268 }
270 {
272 }
273
276 }
277 }
278 }
279 }
void CollectAndSetEnvironmentData()
Sets actual weather related values for further use (rain, snow, wind, etc.)
bool IsChildOfType(array< typename > typenames)
Returns true if character is child of given parent type(s)
bool IsWaterContact()
Is character in contact with water body? (periodically checked - GameConstants.ENVIRO_TICK_RATE).
ref array< int > m_SlotIdsComplete
bool IsInsideBuilding()
Is character inside building? (periodically checked - GameConstants.ENVIRO_TICK_ROOF_RC_CHECK).
void ProcessTemperatureSources()
Processes registered UTSources and calculates resulting m_UTSAverageTemperature.
void CheckUnderRoof()
Checks whether character is sheltered and sets the information.
ref array< int > m_HeadParts
void ProcessItemsWetness(array< int > pSlotIds)
Soak items at specific Slot ID(s)
void ProcessItemsInHandsTemperature()
Process temperature of item in character hands and cool/warm it to neutral temparature.
bool IsUnderRoof()
Is character under roof (periodically checked - GameConstants.ENVIRO_TICK_ROOF_RC_CHECK)....
void ProcessWetnessByWaterLevel(float pWaterLevel)
Processes items wetness in player possession based on the current water level (the character is in)
const float SNOWFALL_WIND_COMBINED_THRESHOLD
void CollectAndSetPlayerData()
Sets character related value for furher use.
ref array< int > m_BodyParts
void GatherTemperatureSources()
Checks characters proximity for usable Universal Temperature Sources and register them.
ref array< int > m_FeetParts
bool DetermineHeatcomfortBehavior()
Changes Heat Comfort curve behavior based on where the character is.
bool IsRaining()
Rain phenomenon actual value > RAIN_LIMIT_LOW.
void SetHeatcomfortDirectly()
bool IsSnowing()
Snowfall phenomenon actual value > SNOWFALL_LIMIT_LOW.
float m_RoofCheckTimer
keeps wetness of most wet item in player's possesion
void ProcessItemsDryness()
Dry items in player possession.
void ProcessHeatComfort()
Calculates and process player's heatcomfort related to defined body parts.
void ProcessItemsTemperature(array< int > pBodyPartIds)
Iterate through items in player posession (by given body parts) and cool/warm them to neutral tempara...
void CheckWaterContact(out float pWaterLevel)
Checks player's contanct with water.
const float ENVIRO_TICKS_TO_WETNESS_CALCULATION
in secs. how often should enviro effet process
const float ENVIRO_TICK_ROOF_RC_CHECK
each X (ticks) is processed wetness on items on player
const float ENVIRO_TICK_RATE