mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge pull request #1368 from acemod/medicalBloodBags
Medical blood bags size matters
This commit is contained in:
commit
7170db5dc2
@ -50,11 +50,17 @@ class ACE_Medical_Actions {
|
||||
displayNameProgress = "$STR_ACE_Medical_Transfusing_Blood";
|
||||
requiredMedic = 1;
|
||||
treatmentTime = 20;
|
||||
items[] = {{"ACE_bloodIV", "ACE_bloodIV_500", "ACE_bloodIV_250"}};
|
||||
items[] = {"ACE_bloodIV"};
|
||||
callbackSuccess = QUOTE(DFUNC(treatmentBasic_bloodbag));
|
||||
animationCaller = "AinvPknlMstpSnonWnonDnon_medic1";
|
||||
litter[] = {};
|
||||
};
|
||||
class BloodIV_500: BloodIV {
|
||||
items[] = {"ACE_bloodIV_500"};
|
||||
};
|
||||
class BloodIV_250: BloodIV {
|
||||
items[] = {"ACE_bloodIV_250"};
|
||||
};
|
||||
class BodyBag: Bandage {
|
||||
displayName = "$STR_ACE_Medical_PlaceInBodyBag";
|
||||
displayNameProgress = "$STR_ACE_Medical_PlacingInBodyBag";
|
||||
|
@ -16,8 +16,9 @@
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_caller", "_target"];
|
||||
private ["_caller", "_target", "_treatmentClassname"];
|
||||
_caller = _this select 0;
|
||||
_target = _this select 1;
|
||||
_treatmentClassname = _this select 3;
|
||||
|
||||
[[_target], QUOTE(DFUNC(treatmentBasic_bloodbagLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */
|
||||
[[_target, _treatmentClassname], QUOTE(DFUNC(treatmentBasic_bloodbagLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */
|
||||
|
@ -4,6 +4,7 @@
|
||||
*
|
||||
* Arguments:
|
||||
* 0: The patient <OBJECT>
|
||||
* 1: Treatment Classname <STRING>
|
||||
*
|
||||
* Return Value:
|
||||
* nil
|
||||
@ -14,8 +15,15 @@
|
||||
#include "script_component.hpp"
|
||||
#define BLOODBAGHEAL 70
|
||||
|
||||
private ["_target","_blood"];
|
||||
_target = _this select 0;
|
||||
PARAMS_2(_target,_treatmentClassname);
|
||||
|
||||
_blood = ((_target getVariable [QGVAR(bloodVolume), 100]) + BLOODBAGHEAL) min 100;
|
||||
private ["_blood", "_bloodAdded"];
|
||||
|
||||
_bloodAdded = switch (true) do {
|
||||
case (_treatmentClassname == "BloodIV_250"): {0.25 * BLOODBAGHEAL};
|
||||
case (_treatmentClassname == "BloodIV_500"): {0.5 * BLOODBAGHEAL};
|
||||
default {BLOODBAGHEAL};
|
||||
};
|
||||
|
||||
_blood = ((_target getVariable [QGVAR(bloodVolume), 100]) + _bloodAdded) min 100;
|
||||
_target setVariable [QGVAR(bloodVolume), _blood, true];
|
||||
|
@ -27,6 +27,6 @@ _items = _this select 4;
|
||||
if (count _items == 0) exitwith {};
|
||||
|
||||
_removeItem = _items select 0;
|
||||
[[_target, _removeItem], QUOTE(DFUNC(treatmentIVLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */
|
||||
[[_target, _className], QUOTE(DFUNC(treatmentIVLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */
|
||||
[_target, _removeItem] call FUNC(addToTriageCard);
|
||||
[_target, "activity", "STR_ACE_Medical_Activity_gaveIV", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog);
|
||||
|
@ -4,7 +4,7 @@
|
||||
*
|
||||
* Arguments:
|
||||
* 0: The medic <OBJECT>
|
||||
* 1: Item used classname <STRING>
|
||||
* 1: Treatment classname <STRING>
|
||||
*
|
||||
*
|
||||
* Return Value:
|
||||
@ -15,9 +15,9 @@
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_target", "_ivItem", "_config", "_volumeAdded", "_typeOf", "_varName", "_bloodVolume"];
|
||||
private ["_target", "_treatmentClassname", "_config", "_volumeAdded", "_typeOf", "_varName", "_bloodVolume"];
|
||||
_target = _this select 0;
|
||||
_ivItem = _this select 1;
|
||||
_treatmentClassname = _this select 1;
|
||||
|
||||
_bloodVolume = _target getvariable [QGVAR(bloodVolume), 100];
|
||||
if (_bloodVolume >= 100) exitwith {};
|
||||
@ -27,10 +27,12 @@ _config = (configFile >> "ACE_Medical_Advanced" >> "Treatment" >> "IV");
|
||||
_volumeAdded = getNumber (_config >> "volume");
|
||||
_typeOf = getText (_config >> "type");
|
||||
|
||||
if (isClass (_config >> _ivItem)) then {
|
||||
_config = (_config >> _ivItem);
|
||||
if (isClass (_config >> _treatmentClassname)) then {
|
||||
_config = (_config >> _treatmentClassname);
|
||||
if (isNumber (_config >> "volume")) then { _volumeAdded = getNumber (_config >> "volume");};
|
||||
if (isText (_config >> "type")) then { _typeOf = getText (_config >> "type"); };
|
||||
} else {
|
||||
ERROR("IV Treatment Classname not found");
|
||||
};
|
||||
|
||||
_varName = format["ACE_Medical_IVVolume_%1",_typeOf];
|
||||
|
Loading…
Reference in New Issue
Block a user