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

◆ WeatherOnBeforeChange()

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

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

136 {
137 #ifdef WEATHER_DATA_LOGGING
138 if ( !dayInit )
139 {
140 GetGame().GetWorld().GetDate(startYear, startMonth, startDay, startHour, startMinute);
141 dayInit = true;
142 }
143 #endif
144
145 float phmnTime = 120;
146 float phmnLength = 10;
147 float phmnValue = 0;
148
149 m_Weather.GetRain().SetLimits(0, 0);//since we decided that it will not rain in sakhal...
150
151 m_Weather.GetOvercast().SetLimits(0.07, 1);
152 m_Weather.GetSnowfall().SetLimits(0, 1);
153 m_Weather.SetSnowfallThresholds( m_WeatherDefaultSettings.m_SnowfallThreshold, 1.0, 60 );
154 m_Weather.GetSnowfall().SetForecastChangeLimits(0, 1);
155
156 m_Weather.SetStorm( 1.0, m_WeatherDefaultSettings.m_ThundersnowThreshold, 45 );
157
158 m_Weather.SetWindMaximumSpeed( 20 );
159 m_Weather.GetWindMagnitude().SetForecastChangeLimits( 0, 20 );
160
161 m_Weather.GetFog().SetLimits(0,0);
162
163 switch (type)
164 {
165 //-----------------------------------------------------------------------------------------------------------------------------
166 case EWeatherPhenomenon.OVERCAST:
167 {
168 float windDirection, windMag;
169
170 #ifdef WEATHER_DATA_LOGGING
171 overcastChangeCount++;
172 #endif
173 //went something goes wrong choose some default random weather
174 phmnValue = Math.RandomFloatInclusive( 0.2, 0.7 );
175 phmnTime = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_OvercastMinTime, m_WeatherDefaultSettings.m_OvercastMaxTime );
176 phmnLength = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_OvercastMinLength, m_WeatherDefaultSettings.m_OvercastMaxLength );
177
178 //----
179 //--
180 if ( m_LastWeather == WorldDataWeatherConstants.CLEAR_WEATHER )
181 {
182 m_ClearWeatherChance -= ( m_StepValue * m_SameWeatherCnt); //decrease the chance of the same weather
183 }
184
185 if ( m_LastWeather == WorldDataWeatherConstants.CLOUDY_WEATHER )
186 {
187 m_ClearWeatherChance += ( m_StepValue * m_SameWeatherCnt); //increase the chance of the better weather
188 }
189
190 if ( m_LastWeather == WorldDataWeatherConstants.BAD_WEATHER )
191 {
192 m_ClearWeatherChance += m_StepValue; //increase the chance of the better weather slightly
193 m_BadWeatherChance += (( m_StepValue * m_SameWeatherCnt ) + m_StepValue ); //decrease the chance of the same weather rapidly
194 }
195
196 //----
197 //calculate next weather
198
199 m_Chance = Math.RandomIntInclusive( 0, 100 );
200 if ( m_Chance > m_WeatherDefaultSettings.m_GlobalSuddenChance && !m_IsSuddenChange) //checks if previous weather was a sudden change
201 {
202 #ifdef WEATHER_DATA_LOGGING
203 directSuddenChangeCount++;
204 #endif
205
206 m_IsSuddenChange = true;
207 m_ChoosenWeather = WorldDataWeatherConstants.BAD_WEATHER;
208 if ( m_LastWeather == WorldDataWeatherConstants.BAD_WEATHER )
210 }
211 else if ( m_Chance < m_ClearWeatherChance )
212 {
213 m_ChoosenWeather = WorldDataWeatherConstants.CLEAR_WEATHER;
214 m_IsSuddenChange = false;
215
216 if ( m_LastWeather == WorldDataWeatherConstants.CLEAR_WEATHER )
218 }
219 else if ( m_Chance > m_BadWeatherChance )
220 {
221 m_ChoosenWeather = WorldDataWeatherConstants.BAD_WEATHER;
222
223 if ( m_LastWeather == WorldDataWeatherConstants.BAD_WEATHER )
225
226 if ( m_IsSuddenChange )
227 {
228 m_IsSuddenChange = false;
229
230 #ifdef WEATHER_DATA_LOGGING
231 badWeatherCount++;
232 #endif
233 }
234 else
235 {
236 if ( Math.RandomIntInclusive( 0, 100 ) < m_WeatherDefaultSettings.m_BadWeatherSuddenChance )
237 {
238 m_IsSuddenChange = true;
239
240 #ifdef WEATHER_DATA_LOGGING
241 badWeatherSuddenChangeCount++;
242 #endif
243 }
244 else
245 {
246 #ifdef WEATHER_DATA_LOGGING
247 badWeatherCount++;
248 #endif
249 }
250 }
251 }
252 else
253 {
254 m_ChoosenWeather = WorldDataWeatherConstants.CLOUDY_WEATHER;
255 m_IsSuddenChange = false;
256 if ( m_LastWeather == WorldDataWeatherConstants.CLOUDY_WEATHER )
258 }
259
262
263 m_ClearWeatherChance = m_WeatherDefaultSettings.m_ClearWeatherChance;
264 m_BadWeatherChance = m_WeatherDefaultSettings.m_BadWeatherChance;
265
266 //----
267 //set choosen weather
268 if ( m_ChoosenWeather == WorldDataWeatherConstants.CLEAR_WEATHER )
269 {
270 m_LastWeather = WorldDataWeatherConstants.CLEAR_WEATHER;
271 #ifdef WEATHER_DATA_LOGGING
272 clearWeatherCount++;
273 #endif
274 phmnValue = Math.RandomFloatInclusive( 0.07, 0.3 );
275 phmnTime = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_OvercastMinTime, m_WeatherDefaultSettings.m_OvercastMaxTime );
276 phmnLength = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_OvercastMinLength, m_WeatherDefaultSettings.m_OvercastMaxLength );
277 }
278
280 {
281 #ifdef WEATHER_DATA_LOGGING
282 cloudyWeatherCount++;
283 #endif
285
286 phmnValue = Math.RandomFloatInclusive( 0.3, 0.6 );
287 phmnTime = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_OvercastMinTime, m_WeatherDefaultSettings.m_OvercastMaxTime );
288 phmnLength = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_OvercastMinLength, m_WeatherDefaultSettings.m_OvercastMaxLength );
289 }
290
291 if ( m_ChoosenWeather == WorldDataWeatherConstants.BAD_WEATHER )
292 {
293 m_LastWeather = WorldDataWeatherConstants.BAD_WEATHER;
294
295 phmnValue = Math.RandomFloatInclusive( 0.6, 1.0 );
296 phmnTime = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_OvercastMinTime, m_WeatherDefaultSettings.m_OvercastMaxTime );
297 phmnLength = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_OvercastMinLength, m_WeatherDefaultSettings.m_OvercastMaxLength );
298
299 if ( m_IsSuddenChange )
300 {
302 phmnLength *= SUDDENCHANGE_LENGTH_MULTIPLIER;
303 }
304
305 #ifdef WEATHER_DATA_LOGGING
306 if ( phmnValue > m_WeatherDefaultSettings.m_ThundersnowThreshold )
307 {
308 if ( m_IsSuddenChange )
309 {
310 suddenThundersnowCount++;
311 if ( m_Chance < m_WeatherDefaultSettings.m_GlobalSuddenChance )
312 {
313 directSuddenChangeCount--;
314 }
315 else
316 {
317 badWeatherSuddenChangeCount--;
318 }
319 }
320 else
321 {
322 thundersnowCount++;
323 badWeatherCount--;
324 }
325 }
326 #endif
327
328 }
329
330 m_Weather.GetOvercast().Set( phmnValue, phmnTime, phmnLength );
331
332 //we want to control wind with the overcast calculation and change with it.
333 CalculateWind( m_ChoosenWeather, m_IsSuddenChange, windMag, windDirection );
334 m_Weather.GetWindMagnitude().Set( windMag, phmnTime * WIND_MAGNITUDE_TIME_MULTIPLIER , phmnTime - (phmnTime * WIND_MAGNITUDE_TIME_MULTIPLIER) + phmnLength + 1000 );
335 m_Weather.GetWindDirection().Set( windDirection, phmnTime * WIND_DIRECTION_TIME_MULTIPLIER , phmnTime - (phmnTime * WIND_DIRECTION_TIME_MULTIPLIER) + phmnLength + 1000 );
336
337 if( m_IsSuddenChange )
338 {
339 m_Weather.GetSnowfall().Set(Math.RandomFloatInclusive( 0.4, 0.8 ), phmnTime, 0); //forces to snow in the suddenchange.
340 }
341
342 Debug.WeatherLog(string.Format("Sakhal::Weather::Overcast:: (%1) overcast: %2", g_Game.GetDayTime(), actual));
343 Debug.WeatherLog(string.Format("Sakhal::Weather::Overcast::Snow:: (%1) %2", g_Game.GetDayTime(), m_Weather.GetRain().GetActual()));
344
345 #ifdef WEATHER_DATA_LOGGING
346 int testYear = 0;
347 int testMonth = 0;
348 int testDay = 0;
349 int testHour = 0;
350 int testMinute = 0;
351 GetGame().GetWorld().GetDate(testYear, testMonth, testDay, testHour, testMinute);
352
353 if ( testDay - startDay > currentDay && testHour - startHour >= 0 && testMinute - startMinute >= 0 )
354 {
355 FileHandle file = OpenFile("$profile:OvercastCountsSakhal" + (currentDay + 1) + ".log", FileMode.WRITE);
356 FPrintln(file, "================================================================");
357 FPrintln(file," ================== Day " + (currentDay + 1) + " ================== ");
358 FPrintln(file, "================================================================");
359 FPrintln(file, "Overcast Change Count: " + overcastChangeCount);
360 FPrintln(file, "Bad Weather Change Count: " + badWeatherCount);
361 FPrintln(file, "Bad Weather Sudden Change Count: " + badWeatherSuddenChangeCount);
362 FPrintln(file, "Global Sudden Change Count: " + directSuddenChangeCount);
363 FPrintln(file, "Thunder Snow Count: " + thundersnowCount);
364 FPrintln(file, "Sudden Thundersnow Count: " + suddenThundersnowCount);
365 FPrintln(file, "Cloudy Weather Count: " + cloudyWeatherCount);
366 FPrintln(file, "Clear Weather Count: " + clearWeatherCount);
367
368 currentDay++;
369 CloseFile(file);
370 if ( currentDay == daysToRun )
371 {
372 g_Game.RequestExit(IDC_MAIN_QUIT);
373 }
374
375 overcastChangeCount = 0;
376 directSuddenChangeCount = 0;
377 badWeatherSuddenChangeCount = 0;
378 thundersnowCount = 0;
379 suddenThundersnowCount = 0;
380 badWeatherCount = 0;
381 cloudyWeatherCount = 0;
382 clearWeatherCount = 0;
383 }
384 #endif
385
386
387 return true;
388 }
389 //-----------------------------------------------------------------------------------------------------------------------------
390 case EWeatherPhenomenon.SNOWFALL:
391 {
392 float actualOvercast = m_Weather.GetOvercast().GetActual();
393
394 m_Chance = Math.RandomIntInclusive( 0, 100 );
395 phmnValue = 0.2;
396 phmnTime = 90;
397 phmnLength = 20;
398
399 if ( actualOvercast <= m_WeatherDefaultSettings.m_SnowfallThreshold )
400 {
401 m_Weather.GetSnowfall().Set( 0.0, m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMin );
402 CalculateVolFog(0.0, m_Weather.GetWindMagnitude().GetForecast(), phmnTime);
403
404 Debug.WeatherLog(string.Format("Sakhal::Weather::Snow::ForceEnd:: (%1) %2 -> 0", g_Game.GetDayTime(), actual));
405 return true;
406 }
407
408 if ( actualOvercast > m_WeatherDefaultSettings.m_ThundersnowThreshold )
409 {
410 phmnValue = Math.RandomFloatInclusive( 0.8, 1.0 );
411 phmnTime = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMax ) * 0.5;
412 phmnLength = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallLengthMin, m_WeatherDefaultSettings.m_SnowfallLengthMax ) * 1.2;
413
414 m_Weather.GetSnowfall().Set( phmnValue, phmnTime, phmnLength );
415
416 CalculateVolFog(phmnValue, m_Weather.GetWindMagnitude().GetForecast(), phmnTime);
417 Debug.WeatherLog(string.Format("Sakhal::Weather::Snow::ForceStorm:: (%1) %2 -> %3", g_Game.GetDayTime(), actual, phmnValue));
418 return true;
419 }
420
421 if ( actualOvercast == m_Weather.GetOvercast().GetForecast() && m_Weather.GetSnowfall().GetActual() >= 0.8 && m_Weather.GetWindSpeed() >= 10 ) //if overcast is not changing and there was high snowfall
422 {
423 phmnValue = Math.RandomFloatInclusive( 0.2, 0.4 );
424 phmnTime = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMax ) * 0.5;
425 phmnLength = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallLengthMin, m_WeatherDefaultSettings.m_SnowfallLengthMax ) * 1.2;
426
427 m_Weather.GetWindMagnitude().Set(m_Weather.GetWindMagnitude().GetActual() * 0.2, phmnTime , phmnLength); // next change will be happen in phenomenon change and reset the wind speed
428 m_Weather.GetSnowfall().Set( phmnValue, phmnTime, phmnLength );
429
430 CalculateVolFog(phmnValue, m_Weather.GetWindMagnitude().GetForecast(), phmnTime);
431 Debug.WeatherLog(string.Format("Sakhal::Weather::Snow::ForceStorm:: (%1) %2 -> %3", g_Game.GetDayTime(), actual, phmnValue));
432 return true;
433 }
434
435 if ( actualOvercast < 0.6 ) //snowfall treshold to 0.6 overcast, snowfall in this bracket does not increase wetness
436 {
437 if ( m_Chance < 40 )
438 {
439 phmnValue = Math.RandomFloatInclusive( 0.02, 0.4 );
440 phmnTime = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMax );
441 phmnLength = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallLengthMin, m_WeatherDefaultSettings.m_SnowfallLengthMax ) * 1.2;
442 }
443 else //also have the chance to not have snow at all
444 {
445 phmnValue = 0;
446 phmnTime = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMax );
447 phmnLength = Math.RandomIntInclusive(m_WeatherDefaultSettings.m_SnowfallLengthMin, m_WeatherDefaultSettings.m_SnowfallLengthMax) * 2;
448 }
449 }
450 else if ( actualOvercast < 0.75 ) //0.6 to 0.75 overcast
451 {
452 if ( m_Chance < 30 )
453 {
454 phmnValue = Math.RandomFloatInclusive( 0.5, 0.8 );
455 phmnTime = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMax );
456 phmnLength = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallLengthMin, m_WeatherDefaultSettings.m_SnowfallLengthMax );
457 }
458 else if ( m_Chance < 60 )
459 {
460 phmnValue = Math.RandomFloat( 0.3, 0.5 ); //0.5 snowfall starts to increase wetness
461 phmnTime = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMax );
462 phmnLength = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallLengthMin, m_WeatherDefaultSettings.m_SnowfallLengthMax );
463 }
464 else if ( m_Chance < 75 )
465 {
466 phmnValue = Math.RandomFloatInclusive( 0.02, 0.3 );
467 phmnTime = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMax );
468 phmnLength = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallLengthMin, m_WeatherDefaultSettings.m_SnowfallLengthMax );
469 }
470 else //also have the chance to not have snow at all
471 {
472 if ( m_IsSuddenChange )
473 {
474 phmnValue = Math.RandomFloat( 0.3, 0.5 ); //0.5 snowfall starts to increase wetness
475 phmnTime = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMax );
476 phmnLength = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallLengthMin, m_WeatherDefaultSettings.m_SnowfallLengthMax );
477 }
478 else
479 {
480 phmnValue = 0;
481 phmnTime = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMax );
482 phmnLength = Math.RandomIntInclusive(m_WeatherDefaultSettings.m_SnowfallLengthMin, m_WeatherDefaultSettings.m_SnowfallLengthMax) * 1.2;
483 }
484 }
485 }
486 else //0.75 to thunderstorm threshold overcast
487 {
488 if ( m_Chance < 35 )
489 {
490 phmnValue = Math.RandomFloatInclusive( 0.7, 1.0 );
491 phmnTime = Math.RandomInt( m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMax );
492 phmnLength = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallLengthMin, m_WeatherDefaultSettings.m_SnowfallLengthMax );
493 }
494 else if ( m_Chance < 75 )
495 {
496 phmnValue = Math.RandomFloatInclusive( 0.5, 0.7 );
497 phmnTime = Math.RandomInt( m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMax );
498 phmnLength = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallLengthMin, m_WeatherDefaultSettings.m_SnowfallLengthMax ) ;
499 }
500 else if ( m_Chance < 85 )
501 {
502 phmnValue = Math.RandomFloat( 0.2, 0.5 ); //0.5 snowfall starts to increase wetness
503 phmnTime = Math.RandomInt( m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMax );
504 phmnLength = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallLengthMin, m_WeatherDefaultSettings.m_SnowfallLengthMax );
505 }
506 else
507 {
508 if ( m_IsSuddenChange )
509 {
510 phmnValue = Math.RandomFloat( 0.5, 0.7 ); //0.5 snowfall starts to increase wetness
511 phmnTime = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMax );
512 phmnLength = Math.RandomIntInclusive( m_WeatherDefaultSettings.m_SnowfallLengthMin, m_WeatherDefaultSettings.m_SnowfallLengthMax );
513 }
514 else
515 {
516 phmnValue = Math.RandomFloat( 0.02, 0.1 );
517 phmnTime = Math.RandomInt( m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMax );
518 phmnLength = Math.RandomIntInclusive(m_WeatherDefaultSettings.m_SnowfallLengthMin, m_WeatherDefaultSettings.m_SnowfallLengthMax) * 1.2;
519 }
520 }
521 }
522
523 m_Weather.GetSnowfall().Set( phmnValue, phmnTime, phmnLength );
524 CalculateVolFog(phmnValue, m_Weather.GetWindMagnitude().GetForecast(), phmnTime);
525
526 Debug.WeatherLog(string.Format("Sakhal::Weather::Snow:: (%1) %2", g_Game.GetDayTime(), actual));
527
528 return true;
529 }
530 //-----------------------------------------------------------------------------------------------------------------------------
531 case EWeatherPhenomenon.FOG:
532 {
533 m_Weather.GetFog().Set(0,0,100000);
534
535 return true;
536
537 /*float fogMin = 0.0;
538 float fogMax = 0.15;
539 float fogTime = 1800.0;
540
541 if ( m_Weather.GetWindSpeed() >= 10 )
542 {
543 m_Weather.GetFog().Set( 0, 300, 0);
544 Debug.WeatherLog(string.Format("Sakhal::Weather::Fog:: (%1) %2", g_Game.GetDayTime(), actual));
545
546 return true;
547 }
548
549 if ( m_Weather.GetOvercast().GetActual() < 0.3 )
550 {
551 fogMin = 0.0;
552 fogMax = 0.1;
553 fogTime = 600.0;
554 }
555 else if ( m_Weather.GetOvercast().GetActual() > 0.6 )
556 {
557 fogMin = 0.1;
558 fogMax = 0.3;
559 fogTime = 600.0;
560 }
561 else
562 {
563 fogMin = 0.0;
564 fogMax = 0.15;
565 fogTime = 600.0;
566 }
567
568 m_Weather.GetFog().Set( Math.RandomFloatInclusive( fogMin, fogMax ), fogTime, 0);
569 Debug.WeatherLog(string.Format("Sakhal::Weather::Fog:: (%1) %2", g_Game.GetDayTime(), actual));
570
571 return true;*/
572 }
573 //-----------------------------------------------------------------------------------------------------------------------------
574 case EWeatherPhenomenon.WIND_MAGNITUDE:
575 {
576 phmnTime = Math.RandomInt( m_WeatherDefaultSettings.m_SnowfallTimeMin, m_WeatherDefaultSettings.m_SnowfallTimeMax );
577 m_Weather.GetWindMagnitude().Set(m_Weather.GetWindMagnitude().GetActual() / 0.2, phmnTime , m_WeatherDefaultSettings.m_OvercastMaxTime + 1000); // next change will be happen with the overcast or snowfall change
578 CalculateVolFog(m_Weather.GetSnowfall().GetForecast(), m_Weather.GetWindMagnitude().GetForecast(), phmnTime);
579
580 return true;
581 }
582 }
583
584 return false;
585 }
DayZGame g_Game
Определения DayZGame.c:3868
void Debug()
Определения UniversalTemperatureSource.c:349
EWeatherPhenomenon
Определения Weather.c:11
proto native World GetWorld()
override void CalculateVolFog(float lerpValue, float windMagnitude, float changeTime)
Определения Sakhal.c:657
const int CLOUDY_WEATHER
Определения Sakhal.c:692
override void CalculateWind(int newWeather, bool suddenChange, out float magnitude, out float direction)
Определения Sakhal.c:587
proto void GetDate(out int year, out int month, out int day, out int hour, out int minute)
Get actual ingame world time.
float SUDDENCHANGE_TIME_MULTIPLIER
Определения WorldData.c:13
float SUDDENCHANGE_LENGTH_MULTIPLIER
Определения WorldData.c:14
float WIND_DIRECTION_TIME_MULTIPLIER
Определения WorldData.c:16
int m_ClearWeatherChance
Определения WorldData.c:37
ref WorldDataWeatherSettings m_WeatherDefaultSettings
Определения WorldData.c:31
int m_Chance
Определения WorldData.c:46
int m_LastWeather
Определения WorldData.c:48
int m_SameWeatherCnt
Определения WorldData.c:44
int m_BadWeatherChance
weather related
Определения WorldData.c:36
int m_StepValue
Определения WorldData.c:45
float WIND_MAGNITUDE_TIME_MULTIPLIER
Определения WorldData.c:15
bool m_IsSuddenChange
Определения WorldData.c:38
Weather m_Weather
Определения WorldData.c:18
int m_ChoosenWeather
Определения WorldData.c:47
proto native CGame GetGame()
FileMode
Определения EnSystem.c:383
proto void CloseFile(FileHandle file)
Close the File.
proto FileHandle OpenFile(string name, FileMode mode)
Opens File.
int[] FileHandle
Определения EnSystem.c:390
proto void FPrintln(FileHandle file, void var)
Write to file and add new line.
const int IDC_MAIN_QUIT
Определения constants.c:144

Перекрестные ссылки CalculateVolFog(), CalculateWind(), CloseFile(), CLOUDY_WEATHER, FPrintln(), g_Game, World::GetDate(), GetGame(), CGame::GetWorld(), IDC_MAIN_QUIT, WorldData::m_BadWeatherChance, WorldData::m_Chance, WorldData::m_ChoosenWeather, WorldData::m_ClearWeatherChance, WorldData::m_IsSuddenChange, WorldData::m_LastWeather, WorldData::m_SameWeatherCnt, WorldData::m_StepValue, WorldData::m_Weather, WorldData::m_WeatherDefaultSettings, OpenFile(), Math::RandomFloat(), Math::RandomFloatInclusive(), Math::RandomInt(), Math::RandomIntInclusive(), WorldData::SUDDENCHANGE_LENGTH_MULTIPLIER, WorldData::SUDDENCHANGE_TIME_MULTIPLIER, Debug::WeatherLog(), WorldData::WIND_DIRECTION_TIME_MULTIPLIER и WorldData::WIND_MAGNITUDE_TIME_MULTIPLIER.