ACE3/addons/common/functions/fnc_arithmeticGetResult.sqf
PabstMirror e56cc0d74e
Limping / Splint Treatment (#6947)
* Improve adjustment calcs / wound blood loss / medications

fix func descriptions

Calc wound blood loss on events

reorder includes so scritpmacroMed has global effect

trivial optimization for getCardiacOutput

Fix var

Fix wounds not reopening (nil _category)

Fix surgical kit inherting canBandage conditional

debug hitpoints

Update ACE_Medical_Treatment_Actions.hpp

Use woundBleeding for IS_BLEEDING macro

rework medication vars

comments

Reset var in init / fullHeal

Update addons/medical_treatment/functions/fnc_onMedicationUsage.sqf

Co-Authored-By: PabstMirror <pabstmirror@gmail.com>

* Change wound data array

Drop unique id and merge classId and category

* Splinting and treatment and gui

* Add arm fractures and aim effects

* localizations and event

* fix

* cleanup

* Apply suggestions from code review

Co-Authored-By: PabstMirror <pabstmirror@gmail.com>

* formating, rename bone images

* Apply suggestions from code review

Co-Authored-By: PabstMirror <pabstmirror@gmail.com>

* disable calls to extension

* Update fnc_onMedicationUsage.sqf

* Medical - Skip unneeded setVars on initUnit (#6949)

*  Medical - Transfer state machine state on locality (#6950)

* Medical - Transfer state machine state on locality

* Fix feedback isUnconscious var

* Exclude AI

* Make UAV excludes consistant, formating

* Update fnc_treatmentFullHealLocal.sqf

* reset fractures on respawn
2019-05-11 23:13:59 -05:00

69 lines
1.6 KiB
Plaintext

#include "script_component.hpp"
/*
* Author: PabstMirror
* Gets arithmetic result from a set.
*
* Arguments:
* 0: Namespace <OBJECT><LOCATION><MISSIONNAMESPACE>
* 1: Number Set ID <STRING>
* 2: Operation (sum, product, min, max, avg) (Case Sensitive) <STRING>
*
* Return Value:
* Value <NUMBER>
*
* Example:
* [ace_player, "ace_aimCoefficents", "product"] call ace_common_fnc_arithmeticGetResult
* [missionNameSpace, "ace_hearing", "min"] call ace_common_fnc_arithmeticGetResult
*
* Public: Yes
*/
params ["_namespace", "_setID", "_op"];
TRACE_3("arithmeticGetResult",_namespace,_setID,_op);
private _data = (_namespace getVariable _setID) param [2, []];
switch (_op) do {
case ("max"): {
private _result = -1e99;
{
_result = _result max (call _x);
nil
} count _data;
_result // return
};
case ("sum"): {
private _result = 0;
{
_result = _result + (call _x);
nil
} count _data;
_result // return
};
case ("product"): {
private _result = 1;
{
_result = _result * (call _x);
nil
} count _data;
_result // return
};
case ("min"): {
private _result = 1e99;
{
_result = _result min (call _x);
nil
} count _data;
_result // return
};
case ("avg"): {
private _result = 0;
{
_result = _result + (call _x);
nil
} count _data;
_result / (count _data); // return
};
default {3735928559};
};