DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ GetWetDelta()

float Environment::GetWetDelta ( )
inlineprotected

player is getting wet by movement/swimming in water (+differentiate wetDelta by water level)

player is drying

См. определение в файле Environment.c строка 479

480 {
481 float wetDelta = 0;
482 if ( IsWaterContact() )
483 {
486 {
487 wetDelta = 1;
488 }
490 {
491 wetDelta = 0.66;
492 }
494 {
495 wetDelta = 0.66;
496 }
498 {
499 wetDelta = 0.33;
500 }
501 }
502 else if (!IsInsideBuilding() && !IsUnderRoof() && !IsChildOfType({Car}))
503 {
504 if (IsRaining())
505 wetDelta = GameConstants.ENVIRO_WET_INCREMENT * GameConstants.ENVIRO_TICKS_TO_WETNESS_CALCULATION * (m_Rain) * (1 + (GameConstants.ENVIRO_WIND_EFFECT * m_Wind));
506
507 if (IsSnowing() && MiscGameplayFunctions.GetCombinedSnowfallWindValue() > SNOWFALL_WIND_COMBINED_THRESHOLD)
508 wetDelta = GameConstants.ENVIRO_WET_INCREMENT * GameConstants.ENVIRO_TICKS_TO_WETNESS_CALCULATION * (m_Snowfall - SNOWFALL_LIMIT_LOW) * GameConstants.ENVIRO_SNOW_WET_COEF * (1 + (GameConstants.ENVIRO_WIND_EFFECT * m_Wind));
509 }
510 else
511 {
513 float tempEffect = Math.Max(m_PlayerHeat + GetEnvironmentTemperature(), 1.0);
514
515 float weatherEffect = ((1 - (m_Fog * GameConstants.ENVIRO_FOG_DRY_EFFECT))) * (1 - (m_Clouds * GameConstants.ENVIRO_CLOUD_DRY_EFFECT));
516 if (weatherEffect <= 0)
517 {
518 weatherEffect = 1.0;
519 }
520
521 wetDelta = -(GameConstants.ENVIRO_DRY_INCREMENT * weatherEffect * tempEffect);
522 if (!IsInsideBuilding())
523 {
524 wetDelta *= 1 + (GameConstants.ENVIRO_WIND_EFFECT * m_Wind);
525 }
526 }
527
528 return wetDelta;
529 }
float m_Clouds
Определения Environment.c:44
bool IsChildOfType(array< typename > typenames)
Определения Environment.c:295
const float SNOWFALL_LIMIT_LOW
Определения Environment.c:17
float m_Wind
Определения Environment.c:41
float m_Fog
Определения Environment.c:42
const float WATER_LEVEL_HIGH
Определения Environment.c:20
bool IsWaterContact()
Определения Environment.c:280
float GetEnvironmentTemperature()
Определения Environment.c:439
float m_PlayerHeat
Определения Environment.c:34
float m_WaterLevel
Определения Environment.c:54
const float SNOWFALL_WIND_COMBINED_THRESHOLD
Определения Environment.c:18
bool IsRaining()
Определения Environment.c:309
float m_Rain
target value of heatcomfort (non-buffered)
Определения Environment.c:39
const float WATER_LEVEL_NONE
Определения Environment.c:23
bool IsSnowing()
Определения Environment.c:314
const float WATER_LEVEL_MID
Определения Environment.c:21
bool IsUnderRoof()
Определения Environment.c:275
float m_Snowfall
Определения Environment.c:40
const float WATER_LEVEL_LOW
Определения Environment.c:22
bool IsInsideBuilding()
Определения Environment.c:285

Перекрестные ссылки GameConstants::ENVIRO_CLOUD_DRY_EFFECT, GameConstants::ENVIRO_DRY_INCREMENT, GameConstants::ENVIRO_FOG_DRY_EFFECT, GameConstants::ENVIRO_SNOW_WET_COEF, GameConstants::ENVIRO_TICKS_TO_WETNESS_CALCULATION, GameConstants::ENVIRO_WET_INCREMENT, GameConstants::ENVIRO_WIND_EFFECT, GetEnvironmentTemperature(), IsChildOfType(), IsInsideBuilding(), IsRaining(), IsSnowing(), IsUnderRoof(), IsWaterContact(), m_Clouds, m_Fog, m_PlayerHeat, m_Rain, m_Snowfall, m_WaterLevel, m_Wind, Math::Max(), SNOWFALL_LIMIT_LOW, SNOWFALL_WIND_COMBINED_THRESHOLD, WATER_LEVEL_HIGH, WATER_LEVEL_LOW, WATER_LEVEL_MID и WATER_LEVEL_NONE.

Используется в ApplyWetnessToItem() и GetDebugMessage().