mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
New function "setAimCoef" at common, change ace_advanced_fatigue_fnc_handleEffects to use new function instead of setCustomAimCoef
This commit is contained in:
parent
09c3187c21
commit
8021ce4215
@ -90,12 +90,12 @@ if (_overexhausted) then {
|
||||
|
||||
switch (stance _unit) do {
|
||||
case ("CROUCH"): {
|
||||
_unit setCustomAimCoef (1.0 + _fatigue ^ 2 * 0.1);
|
||||
[_unit, QUOTE(ADDON), 1.0 + _fatigue ^ 2 * 0.1] call EFUNC(common,setAimCoef);
|
||||
};
|
||||
case ("PRONE"): {
|
||||
_unit setCustomAimCoef (1.0 + _fatigue ^ 2 * 2.0);
|
||||
[_unit, QUOTE(ADDON), 1.0 + _fatigue ^ 2 * 2.0] call EFUNC(common,setAimCoef);
|
||||
};
|
||||
default {
|
||||
_unit setCustomAimCoef (1.5 + _fatigue ^ 2 * 3.0);
|
||||
[_unit, QUOTE(ADDON), 1.5 + _fatigue ^ 2 * 3.0] call EFUNC(common,setAimCoef);
|
||||
};
|
||||
};
|
||||
|
@ -142,6 +142,7 @@ PREP(runTests);
|
||||
PREP(sanitizeString);
|
||||
PREP(sendRequest);
|
||||
PREP(serverLog);
|
||||
PREP(setAimCoef);
|
||||
PREP(setApproximateVariablePublic);
|
||||
PREP(setDefinedVariable);
|
||||
PREP(setDisableUserInputStatus);
|
||||
|
50
addons/common/functions/fnc_setAimCoef.sqf
Normal file
50
addons/common/functions/fnc_setAimCoef.sqf
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
* Author: xrufix, Glowbal
|
||||
* Handle set AimCoef calls. Will use highest available setting.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: id <STRING>
|
||||
* 1: settings <NUMBER>
|
||||
* 2: add [true] OR remove [false] (default: true) <BOOL>
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
*
|
||||
* Example:
|
||||
* [player,"ace_advanced_fatigue", 1, true] call ace_common_fnc_setAimCoef
|
||||
*
|
||||
* Public: Yes
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
params ["_unit","_id", "_setting", ["_add", true]];
|
||||
|
||||
private _exists = false;
|
||||
private _highestCoef = 1;
|
||||
private _map = _unit getVariable [QGVAR(setAimCoefMap), []];
|
||||
|
||||
_map = _map select {
|
||||
_x params ["_xID", "_xSetting"];
|
||||
if (_id == _xID) then {
|
||||
_exists = true;
|
||||
if (_add) then {
|
||||
_x set [1, _setting];
|
||||
_highestCoef = _highestCoef max _setting;
|
||||
true
|
||||
} else {
|
||||
false
|
||||
};
|
||||
} else {
|
||||
_highestCoef = _highestCoef max _xSetting;
|
||||
true
|
||||
};
|
||||
};
|
||||
|
||||
if (!exists && _add) then {
|
||||
_highestCoef = _highestCoef max _setting;
|
||||
_map pushBack [_id, _setting];
|
||||
};
|
||||
|
||||
// Update the value
|
||||
_unit setVariable [QGVAR(setAimCoefMap), _map];
|
||||
_unit setCustomAimCoef _highestCoef;
|
Loading…
Reference in New Issue
Block a user