ACE3/addons/medical_treatment/functions/fnc_treatmentIVLocal.sqf

50 lines
1.3 KiB
Plaintext

/*
* Author: Glowbal
* IV Treatment local callback
*
* Arguments:
* 0: The patient <OBJECT>
* 1: Treatment class name <STRING>
* 2: Body part <STRING>
*
* Return Value:
* None
*
* Public: Yes
*/
#include "script_component.hpp"
params ["_target", "_treatmentClassname", "_bodyPart"];
private _partIndex = ALL_BODY_PARTS find toLower _bodyPart;
if (_partIndex < 0) exitWith { false };
private _bloodVolume = _target getVariable [QEGVAR(medical,bloodVolume), DEFAULT_BLOOD_VOLUME];
if (_bloodVolume >= DEFAULT_BLOOD_VOLUME) exitWith {};
// Find the proper attributes for the used IV
private _config = configFile >> QUOTE(ADDON) >> "IV";
private _volumeAdded = getNumber (_config >> "volume");
private _type = getText (_config >> "type");
if (isClass (_config >> _treatmentClassname)) then {
_config = _config >> _treatmentClassname;
if (isNumber (_config >> "volume")) then {
_volumeAdded = getNumber (_config >> "volume");
};
if (isText (_config >> "type")) then {
_type = getText (_config >> "type");
};
} else {
ERROR("IV Treatment Classname not found");
};
private _bloodBags = _target getVariable [QEGVAR(medical,ivBags), []];
_bloodBags pushBack [_volumeAdded, _type, _partIndex];
_target setVariable [QEGVAR(medical,ivBags), _bloodBags, true];