ACE3/addons/weather/functions/fnc_updateHumidity.sqf
jonpas 742626ff1a
General - Relative script_component.hpp includes (#9378)
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
2023-09-12 20:58:10 +02:00

33 lines
1018 B
Plaintext

#include "..\script_component.hpp"
/*
* Author: ACE2 Team
* Smoothly updates GVAR(currentHumidity) on the server (based on time of day and map data)
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ace_weather_fnc_updateHumidity
*
* Public: No
*/
if (rain > 0 && overcast > 0.7) then {
GVAR(currentHumidity) = 1;
} else {
private _month = date select 1;
GVAR(currentHumidity) = (GVAR(Humidity) select (_month - 1)) / 100;
GVAR(currentHumidity) = GVAR(currentHumidity) + GVAR(humidityShift);
private _avgTemperature = ((GVAR(TempDay) select (_month - 1)) + (GVAR(TempNight) select (_month - 1))) / 2;
private _pS1 = 6.112 * exp((17.62 * _avgTemperature) / (243.12 + _avgTemperature));
private _PS2 = 6.112 * exp((17.62 * GVAR(currentTemperature)) / (243.12 + GVAR(currentTemperature)));
GVAR(currentHumidity) = GVAR(currentHumidity) * _PS1 / _PS2;
};
GVAR(currentHumidity) = 0 max GVAR(currentHumidity) min 1;
publicVariable QGVAR(currentHumidity);