ACE3/addons/overheating/functions/fnc_updateTemperatureThread.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

36 lines
1.1 KiB
Plaintext

#include "..\script_component.hpp"
/*
* Author: esteldunedain
* Update cooldown calculation of all player weapons at regular intervals.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Example:
* [] call ace_overheating_fnc_updateTemperatureThread
*
* Public: No
*/
if (ACE_player call EFUNC(common,isSwimming)) then { // cool off both weapons while swimming because currentWeapon == ""
private _primaryWeapon = primaryWeapon ACE_player;
private _handgunWeapon = handgunWeapon ACE_player;
if (_primaryWeapon != "") then {
[ACE_player, _primaryWeapon, 0] call FUNC(updateTemperature);
};
if (_handgunWeapon != "") then {
[ACE_player, _handgunWeapon, 0] call FUNC(updateTemperature);
};
} else {
private _currentWeapon = currentWeapon ACE_player;
if ((_currentWeapon != "") && {_currentWeapon == primaryWeapon ACE_player || {_currentWeapon == handgunWeapon ACE_player}}) then {
[ACE_player, _currentWeapon, 0] call FUNC(updateTemperature);
};
};
// Schedule for execution again after 5 seconds
[DFUNC(updateTemperatureThread), [], 5] call CBA_fnc_waitAndExecute;