mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Medical Treatment - Add hook to modify bandaging treatment (#9814)
Co-authored-by: PabstMirror <pabstmirror@gmail.com> Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com>
This commit is contained in:
parent
d7e5ea4898
commit
8e975a6b91
@ -8,6 +8,7 @@
|
||||
* 1: Patient <OBJECT>
|
||||
* 2: Body Part <STRING>
|
||||
* 3: Treatment <STRING>
|
||||
* 4: Bandage effectiveness coefficient <NUMBER> (default: 1)
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
@ -18,8 +19,11 @@
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
params ["_medic", "_patient", "_bodyPart", "_classname"];
|
||||
_this set [4, _this param [4, 1]]; // set default Bandage effectiveness coefficient
|
||||
[QGVAR(bandaged), _this] call CBA_fnc_localEvent; // Raise event with reference so mods can modify this
|
||||
|
||||
params ["_medic", "_patient", "_bodyPart", "_classname", "_bandageEffectiveness"];
|
||||
|
||||
[_patient, "activity", LSTRING(Activity_bandagedPatient), [[_medic, false, true] call EFUNC(common,getName)]] call FUNC(addToLog);
|
||||
|
||||
[QGVAR(bandageLocal), [_patient, _bodyPart, _classname], _patient] call CBA_fnc_targetEvent;
|
||||
[QGVAR(bandageLocal), [_patient, _bodyPart, _classname, _bandageEffectiveness], _patient] call CBA_fnc_targetEvent;
|
||||
|
@ -7,6 +7,7 @@
|
||||
* 0: Patient <OBJECT>
|
||||
* 1: Body Part <STRING>
|
||||
* 2: Treatment <STRING>
|
||||
* 3: Bandage effectiveness coefficient <NUMBER> (default: 1)
|
||||
*
|
||||
* Return Value:
|
||||
* None
|
||||
@ -17,8 +18,8 @@
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
params ["_patient", "_bodyPart", "_bandage"];
|
||||
TRACE_3("bandageLocal",_patient,_bodyPart,_bandage);
|
||||
params ["_patient", "_bodyPart", "_bandage", ["_bandageEffectiveness", 1]];
|
||||
TRACE_4("bandageLocal",_patient,_bodyPart,_bandage,_bandageEffectiveness);
|
||||
_bodyPart = toLowerANSI _bodyPart;
|
||||
|
||||
private _openWounds = GET_OPEN_WOUNDS(_patient);
|
||||
@ -26,7 +27,7 @@ private _woundsOnPart = _openWounds getOrDefault [_bodyPart, []];
|
||||
if (_woundsOnPart isEqualTo []) exitWith {};
|
||||
|
||||
// Figure out which injuries for this bodypart are the best choice to bandage
|
||||
private _targetWounds = [_patient, _bandage, _bodyPart, GVAR(bandageEffectiveness)] call FUNC(findMostEffectiveWounds);
|
||||
private _targetWounds = [_patient, _bandage, _bodyPart, _bandageEffectiveness * GVAR(bandageEffectiveness)] call FUNC(findMostEffectiveWounds);
|
||||
|
||||
// Everything is patched up on this body part already
|
||||
if (count _targetWounds == 0) exitWith {};
|
||||
|
@ -42,6 +42,7 @@ The vehicle events will also have the following local variables available `_gunn
|
||||
|`ace_treatmentSucceded` | [_caller, _target, _selectionName, _className, _itemUser, _usedItem] | Local | Listen | Treatment action is completed (local on the _caller)
|
||||
|`ace_treatmentFailed` | [_caller, _target, _selectionName, _className, _itemUser, _usedItem] | Local | Listen | Treatment action has been interrupted (local on the _caller)
|
||||
|`ace_medical_handleUnitVitals` | [_unit, _deltaT] | Local | Listen | Vitals update ran for unit, _deltaT is the time elapsed since the previous vitals update (local to _unit)
|
||||
|`ace_medical_treatment_bandaged` | [_medic, _patient, _bodyPart, _className, _bandageEffectiveness] | Local | Listen | _medic has bandaged _patient, the array can be modified to change treatment parameters (local to _medic)
|
||||
|
||||
### 2.3 Interaction Menu (`ace_interact_menu`)
|
||||
MenuType: 0 = Interaction, 1 = Self Interaction
|
||||
|
Loading…
Reference in New Issue
Block a user