PC Stable Documentation
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Loading...
Searching...
No Matches
WorldData Class Reference

Keeps information about currently loaded world, like temperature. More...

Private Member Functions

void WorldData ()
 
void Init ()
 
float GetApproxSunriseTime (float monthday)
 
float GetApproxSunsetTime (float monthday)
 
int GetDaytime ()
 
protected float CalcBaseEnvironmentTemperature (float monthday, float daytime)
 
void UpdateBaseEnvTemperature (float timeslice)
 
void UpdateWeatherEffects (Weather weather, float timeslice)
 Updates local weather effects.
 
float ComputeSnowflakeScale (Weather weather)
 Returns the desired snowflake scale based on weather simulation state.
 
float GetBaseEnvTemperature ()
 
float GetBaseEnvTemperatureAtObject (notnull Object object)
 
float GetBaseEnvTemperatureAtPosition (vector pos)
 
float GetBaseEnvTemperatureExact (int month, int day, int hour, int minute)
 
float GetLiquidTypeEnviroTemperature (int liquidType)
 
bool WeatherOnBeforeChange (EWeatherPhenomenon type, float actual, float change, float time)
 
array< vectorGetArtyFiringPos ()
 
float GetAgentSpawnChance (eAgents agent)
 
float GetColdAreaToolDamageModifier ()
 
void BaseTempDebug (int month, int day)
 
int GetPollution ()
 
float GetWindCoef ()
 
float GetUniversalTemperatureSourceCapModifier ()
 
float GetTemperature (Object object, EEnvironmentTemperatureComponent properties=EEnvironmentTemperatureComponent.BASE)
 Return actual temperature of environment based on provided parameters.
 
float GetTemperatureComponentValue (float temperatureIn, EEnvironmentTemperatureComponent properties=0)
 Return value of queried EEnvironmentTemperatureComponent which can be used in future calculation(s)
 
protected float WindEffectTemperatureValue (float temperatureInput)
 
protected void CalculateWind (int newWeather, bool suddenChange, out float magnitude, out float direction)
 
protected void CalculateVolFog (float lerpValue, float windMagnitude, float changeTime)
 
protected void CreateYieldBank ()
 
protected void InitYieldBank ()
 override this to properly register world-specific yields
 
protected void SetupWeatherSettings ()
 
protected void SetupLiquidTemperatures ()
 
CatchYieldBank GetCatchYieldBank ()
 
TStringArray GetDefaultPRAPaths ()
 
float GetDayTemperature ()
 
float GetNightTemperature ()
 
override void Init ()
 
override void SetupWeatherSettings ()
 
override bool WeatherOnBeforeChange (EWeatherPhenomenon type, float actual, float change, float time)
 
protected override void CalculateWind (int newWeather, bool suddenChange, out float magnitude, out float direction)
 
protected override void CalculateVolFog (float lerpValue, float windMagnitude, float changeTime)
 
bool LogWeatherData ()
 

Private Attributes

const float SPAWN_CHANCE_CHOLERA_DEF = 50
 
const float COLD_AREA_TOOL_DMG_MODIF_DEF = 1
 
float m_TemperaturePerHeightReductionModifier
 directly accesible (defined/overriden in Init())
 
float m_CloudsTemperatureEffectModifier
 amount of °C reduced for each 100 meteres of height above water level
 
float m_TemperatureInsideBuildingsModifier
 how many % of environment temperature can be lowered by clouds
 
float m_WaterContactTemperatureModifier
 
protected float SUDDENCHANGE_TIME_MULTIPLIER = 0.2
 
protected float SUDDENCHANGE_LENGTH_MULTIPLIER = 0.4
 
protected float WIND_MAGNITUDE_TIME_MULTIPLIER = 0.1
 
protected float WIND_DIRECTION_TIME_MULTIPLIER = 0.05
 
protected Weather m_Weather
 
protected float m_EnvironmentTemperature
 
protected bool m_EnTempUpdated
 
protected float m_Timer
 
protected float m_MaxTemps [12]
 
protected float m_MinTemps [12]
 
protected float m_Sunrise_Jan
 
protected float m_Sunset_Jan
 
protected float m_Sunrise_Jul
 
protected float m_Sunset_Jul
 
protected ref array< vectorm_FiringPos
 
protected bool m_Pollution
 
protected ref CatchYieldBank m_YieldBank
 
protected ref WorldDataWeatherSettings m_WeatherDefaultSettings
 
protected ref WorldDataLiquidSettings m_LiquidSettings
 
protected ref TStringArray m_DefaultPlayerRestrictedAreas
 
protected int m_BadWeatherChance
 weather related
 
protected int m_ClearWeatherChance
 
protected bool m_IsSuddenChange
 
protected float m_WorldWindCoef
 
protected float m_UniversalTemperatureSourceCapModifier
 
protected int m_SameWeatherCnt = 0
 
protected int m_StepValue = 5
 
protected int m_Chance = 50
 
protected int m_ChoosenWeather = 1
 
protected int m_LastWeather = 0
 
protected float m_DayTemperature = 10
 
protected float m_NightTemperature = 6
 
const int CLEAR_WEATHER = 1
 DEPRECATED (see WorldDataWeatherConstants)
 
const int CLOUDY_WEATHER = 2
 
const int BAD_WEATHER = 3
 
const int OVERCAST_MIN_TIME = 600
 DEPRECATED (see WorldDataWeatherSettings)
 
const int OVERCAST_MAX_TIME = 900
 
const float RAIN_THRESHOLD = 0.6
 
const int RAIN_TIME_MIN = 60
 
const int RAIN_TIME_MAX = 120
 
const float STORM_THRESHOLD = 0.9
 
protected int m_clearWeatherChance = m_ClearWeatherChance
 
protected int m_badWeatherChance = m_BadWeatherChance
 
protected int m_sameWeatherCnt = m_SameWeatherCnt
 
protected int m_stepValue = m_StepValue
 
protected int m_chance = m_Chance
 
protected int m_choosenWeather = m_ChoosenWeather
 
protected int m_lastWeather = m_LastWeather
 

Static Private Attributes

static protected const ref array< vectorCHERNARUS_ARTY_STRIKE_POS
 

Detailed Description

Keeps information about currently loaded world, like temperature.

Constructor & Destructor Documentation

◆ WorldData()

Member Function Documentation

◆ BaseTempDebug()

void BaseTempDebug ( int  month,
int  day 
)
inlineprivate

◆ CalcBaseEnvironmentTemperature()

protected float CalcBaseEnvironmentTemperature ( float  monthday,
float  daytime 
)
inlineprivate

◆ CalculateVolFog() [1/2]

protected void CalculateVolFog ( float  lerpValue,
float  windMagnitude,
float  changeTime 
)
private

Referenced by Init(), and WeatherOnBeforeChange().

◆ CalculateVolFog() [2/2]

◆ CalculateWind() [1/2]

protected void CalculateWind ( int  newWeather,
bool  suddenChange,
out float  magnitude,
out float  direction 
)
private

Referenced by WeatherOnBeforeChange().

◆ CalculateWind() [2/2]

protected override void CalculateWind ( int  newWeather,
bool  suddenChange,
out float  magnitude,
out float  direction 
)
inlineprivate

◆ ComputeSnowflakeScale()

float ComputeSnowflakeScale ( Weather  weather)
inlineprivate

Returns the desired snowflake scale based on weather simulation state.

Parameters
weatherWeather instance

References Math::Clamp(), WeatherPhenomenon::GetActual(), Weather::GetOvercast(), Weather::GetWindMaximumSpeed(), Weather::GetWindSpeed(), Math::InverseLerp(), and Math::Lerp().

Referenced by UpdateWeatherEffects().

◆ CreateYieldBank()

protected void CreateYieldBank ( )
inlineprivate

References m_YieldBank.

Referenced by WorldData().

◆ GetAgentSpawnChance()

float GetAgentSpawnChance ( eAgents  agent)
inlineprivate

◆ GetApproxSunriseTime()

float GetApproxSunriseTime ( float  monthday)
inlineprivate

◆ GetApproxSunsetTime()

float GetApproxSunsetTime ( float  monthday)
inlineprivate

◆ GetArtyFiringPos()

array< vector > GetArtyFiringPos ( )
inlineprivate

◆ GetBaseEnvTemperature()

◆ GetBaseEnvTemperatureAtObject()

float GetBaseEnvTemperatureAtObject ( notnull Object  object)
inlineprivate

◆ GetBaseEnvTemperatureAtPosition()

float GetBaseEnvTemperatureAtPosition ( vector  pos)
inlineprivate

◆ GetBaseEnvTemperatureExact()

float GetBaseEnvTemperatureExact ( int  month,
int  day,
int  hour,
int  minute 
)
inlineprivate

◆ GetCatchYieldBank()

CatchYieldBank GetCatchYieldBank ( )
inlineprivate

◆ GetColdAreaToolDamageModifier()

float GetColdAreaToolDamageModifier ( )
inlineprivate

◆ GetDayTemperature()

float GetDayTemperature ( )
inlineprivate

References m_DayTemperature.

◆ GetDaytime()

◆ GetDefaultPRAPaths()

TStringArray GetDefaultPRAPaths ( )
inlineprivate

◆ GetLiquidTypeEnviroTemperature()

◆ GetNightTemperature()

float GetNightTemperature ( )
inlineprivate

References m_NightTemperature.

◆ GetPollution()

int GetPollution ( )
inlineprivate

◆ GetTemperature()

float GetTemperature ( Object  object,
EEnvironmentTemperatureComponent  properties = EEnvironmentTemperatureComponent.BASE 
)
inlineprivate

Return actual temperature of environment based on provided parameters.

Parameters
objectReference to object that is used mainly for sea height related calculation
propertiesFlag made of EEnvironmentTemperatureComponent which will influence the resulting value of temperature based on combination of the parts

References GameConstants::ENVIRO_FOG_TEMP_EFFECT, WeatherPhenomenon::GetActual(), GetBaseEnvTemperature(), GetBaseEnvTemperatureAtObject(), Weather::GetFog(), Weather::GetOvercast(), m_CloudsTemperatureEffectModifier, m_Weather, and WindEffectTemperatureValue().

Referenced by Environment::GetEnvironmentTemperature().

◆ GetTemperatureComponentValue()

float GetTemperatureComponentValue ( float  temperatureIn,
EEnvironmentTemperatureComponent  properties = 0 
)
inlineprivate

Return value of queried EEnvironmentTemperatureComponent which can be used in future calculation(s)

Parameters
temperatureBase temperature which will be used in component calculation (currently WIND only)
propertiesFlag made of EEnvironmentTemperatureComponent which will influence the resulting value of temperature based on combination of the parts

References GameConstants::ENVIRO_FOG_TEMP_EFFECT, WeatherPhenomenon::GetActual(), Weather::GetFog(), Weather::GetOvercast(), Debug::Log(), m_CloudsTemperatureEffectModifier, m_Weather, and WindEffectTemperatureValue().

Referenced by Environment::GetEnvironmentTemperature().

◆ GetUniversalTemperatureSourceCapModifier()

float GetUniversalTemperatureSourceCapModifier ( )
inlineprivate

◆ GetWindCoef()

float GetWindCoef ( )
inlineprivate

◆ Init() [1/2]

◆ Init() [2/2]

◆ InitYieldBank()

protected void InitYieldBank ( )
inlineprivate

override this to properly register world-specific yields

References GetDayZGame(), and m_YieldBank.

Referenced by WorldData().

◆ LogWeatherData()

bool LogWeatherData ( )
inlineprivate

◆ SetupLiquidTemperatures()

protected void SetupLiquidTemperatures ( )
inlineprivate

◆ SetupWeatherSettings() [1/2]

protected void SetupWeatherSettings ( )
inlineprivate

References m_WeatherDefaultSettings.

Referenced by Init().

◆ SetupWeatherSettings() [2/2]

override void SetupWeatherSettings ( )
inlineprivate

◆ UpdateBaseEnvTemperature()

void UpdateBaseEnvTemperature ( float  timeslice)
inlineprivate

◆ UpdateWeatherEffects()

void UpdateWeatherEffects ( Weather  weather,
float  timeslice 
)
inlineprivate

Updates local weather effects.

Parameters
weatherWeather instance
timesliceTime delta since last update

References ComputeSnowflakeScale(), and Weather::SetSnowflakeScale().

Referenced by CGame::OnUpdate().

◆ WeatherOnBeforeChange() [1/2]

bool WeatherOnBeforeChange ( EWeatherPhenomenon  type,
float  actual,
float  change,
float  time 
)
inlineprivate

◆ WeatherOnBeforeChange() [2/2]

◆ WindEffectTemperatureValue()

Field Documentation

◆ BAD_WEATHER

const int BAD_WEATHER = 3
private

◆ CHERNARUS_ARTY_STRIKE_POS

protected const ref array<vector> CHERNARUS_ARTY_STRIKE_POS
staticprivate
Initial value:
=
{
"-500.00 165.00 5231.69",
"-500.00 300.00 9934.41",
"10406.86 192.00 15860.00",
"4811.75 370.00 15860.00",
"-500.00 453.00 15860.00"
}

Referenced by Init().

◆ CLEAR_WEATHER

const int CLEAR_WEATHER = 1
private

DEPRECATED (see WorldDataWeatherConstants)

◆ CLOUDY_WEATHER

const int CLOUDY_WEATHER = 2
private

◆ COLD_AREA_TOOL_DMG_MODIF_DEF

const float COLD_AREA_TOOL_DMG_MODIF_DEF = 1
private

◆ m_BadWeatherChance

protected int m_BadWeatherChance
private

◆ m_badWeatherChance

protected int m_badWeatherChance = m_BadWeatherChance
private

◆ m_Chance

protected int m_Chance = 50
private

◆ m_chance

protected int m_chance = m_Chance
private

◆ m_ChoosenWeather

protected int m_ChoosenWeather = 1
private

◆ m_choosenWeather

protected int m_choosenWeather = m_ChoosenWeather
private

◆ m_ClearWeatherChance

protected int m_ClearWeatherChance
private

◆ m_clearWeatherChance

protected int m_clearWeatherChance = m_ClearWeatherChance
private

◆ m_CloudsTemperatureEffectModifier

float m_CloudsTemperatureEffectModifier
private

amount of °C reduced for each 100 meteres of height above water level

Referenced by GetTemperature(), GetTemperatureComponentValue(), Init(), and EnochData::Init().

◆ m_DayTemperature

protected float m_DayTemperature = 10
private

DEPRECATED

Referenced by GetDayTemperature().

◆ m_DefaultPlayerRestrictedAreas

protected ref TStringArray m_DefaultPlayerRestrictedAreas
private

◆ m_EnTempUpdated

protected bool m_EnTempUpdated
private

Referenced by Init(), and UpdateBaseEnvTemperature().

◆ m_EnvironmentTemperature

◆ m_FiringPos

protected ref array<vector> m_FiringPos
private

◆ m_IsSuddenChange

protected bool m_IsSuddenChange
private

◆ m_LastWeather

protected int m_LastWeather = 0
private

◆ m_lastWeather

protected int m_lastWeather = m_LastWeather
private

◆ m_LiquidSettings

protected ref WorldDataLiquidSettings m_LiquidSettings
private

◆ m_MaxTemps

protected float m_MaxTemps[12]
private

◆ m_MinTemps

protected float m_MinTemps[12]
private

◆ m_NightTemperature

protected float m_NightTemperature = 6
private

Referenced by GetNightTemperature().

◆ m_Pollution

protected bool m_Pollution
private

◆ m_SameWeatherCnt

protected int m_SameWeatherCnt = 0
private

◆ m_sameWeatherCnt

protected int m_sameWeatherCnt = m_SameWeatherCnt
private

◆ m_StepValue

◆ m_stepValue

protected int m_stepValue = m_StepValue
private

◆ m_Sunrise_Jan

protected float m_Sunrise_Jan
private

◆ m_Sunrise_Jul

protected float m_Sunrise_Jul
private

◆ m_Sunset_Jan

protected float m_Sunset_Jan
private

◆ m_Sunset_Jul

protected float m_Sunset_Jul
private

◆ m_TemperatureInsideBuildingsModifier

float m_TemperatureInsideBuildingsModifier
private

how many % of environment temperature can be lowered by clouds

Referenced by Environment::GetEnvironmentTemperature(), Init(), and SakhalData::Init().

◆ m_TemperaturePerHeightReductionModifier

float m_TemperaturePerHeightReductionModifier
private

◆ m_Timer

protected float m_Timer
private

Referenced by Init(), and UpdateBaseEnvTemperature().

◆ m_UniversalTemperatureSourceCapModifier

protected float m_UniversalTemperatureSourceCapModifier
private

◆ m_WaterContactTemperatureModifier

float m_WaterContactTemperatureModifier
private

◆ m_Weather

◆ m_WeatherDefaultSettings

◆ m_WorldWindCoef

protected float m_WorldWindCoef
private

Referenced by GetWindCoef(), Init(), and EnochData::Init().

◆ m_YieldBank

◆ OVERCAST_MAX_TIME

const int OVERCAST_MAX_TIME = 900
private

◆ OVERCAST_MIN_TIME

const int OVERCAST_MIN_TIME = 600
private

DEPRECATED (see WorldDataWeatherSettings)

◆ RAIN_THRESHOLD

const float RAIN_THRESHOLD = 0.6
private

◆ RAIN_TIME_MAX

const int RAIN_TIME_MAX = 120
private

◆ RAIN_TIME_MIN

const int RAIN_TIME_MIN = 60
private

◆ SPAWN_CHANCE_CHOLERA_DEF

const float SPAWN_CHANCE_CHOLERA_DEF = 50
private

Referenced by GetAgentSpawnChance().

◆ STORM_THRESHOLD

const float STORM_THRESHOLD = 0.9
private

◆ SUDDENCHANGE_LENGTH_MULTIPLIER

protected float SUDDENCHANGE_LENGTH_MULTIPLIER = 0.4
private

◆ SUDDENCHANGE_TIME_MULTIPLIER

protected float SUDDENCHANGE_TIME_MULTIPLIER = 0.2
private

◆ WIND_DIRECTION_TIME_MULTIPLIER

protected float WIND_DIRECTION_TIME_MULTIPLIER = 0.05
private

◆ WIND_MAGNITUDE_TIME_MULTIPLIER

protected float WIND_MAGNITUDE_TIME_MULTIPLIER = 0.1
private

The documentation for this class was generated from the following files: