ACE3/addons/medical/functions/fnc_addToTriageCard.sqf

45 lines
1.0 KiB
Plaintext
Raw Normal View History

2015-02-21 20:53:07 +00:00
/*
* Author: Glowbal
* Add an entry to the triage card
2015-02-21 20:47:10 +00:00
*
2015-02-21 20:53:07 +00:00
* Arguments:
* 0: The patient <OBJECT>
* 1: The new item classname <STRING>
*
* Return Value:
2015-08-22 14:25:10 +00:00
* None
2015-02-21 20:53:07 +00:00
*
* Public: Yes
2015-02-21 20:47:10 +00:00
*/
#include "script_component.hpp"
2015-08-22 15:10:19 +00:00
2015-08-22 14:25:10 +00:00
private ["_log", "_inList", "_amount"];
params ["_unit", "_newItem"];
2015-02-21 20:47:10 +00:00
2015-11-30 16:14:05 +00:00
if (!local _unit) exitWith {
2015-09-18 18:47:19 +00:00
[_this, QUOTE(DFUNC(addToTriageCard)), _unit] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */
2015-02-21 20:47:10 +00:00
};
_log = _unit getVariable [QGVAR(triageCard), []];
2015-02-21 20:47:10 +00:00
_inList = false;
_amount = 1;
{
2015-11-30 16:14:05 +00:00
if ((_x select 0) == _newItem) exitWith {
2015-02-21 20:47:10 +00:00
private "_info";
2015-11-30 16:23:48 +00:00
_info = _log select _forEachIndex;
2015-02-21 20:47:10 +00:00
_info set [1,(_info select 1) + 1];
_info set [2, ACE_gameTime];
2015-11-30 16:23:48 +00:00
_log set [_forEachIndex, _info];
2015-02-21 20:47:10 +00:00
_amount = (_info select 1);
_inList = true;
};
2015-11-30 16:23:48 +00:00
} forEach _log;
2015-02-21 20:47:10 +00:00
if (!_inList) then {
2015-11-30 16:21:28 +00:00
_log pushBack [_newItem, 1, ACE_gameTime];
2015-02-21 20:47:10 +00:00
};
_unit setVariable [QGVAR(triageCard), _log, true];
["Medical_onItemAddedToTriageCard", [_unit, _newItem, _amount]] call EFUNC(common,localEvent);