mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Prevent bandaging when not bleeding (#6532)
This commit is contained in:
parent
2ea534ae1a
commit
ac1651c6db
@ -13,7 +13,7 @@ class GVAR(Actions) {
|
||||
treatmentTime = QFUNC(getBandageTime);
|
||||
treatmentTimeSelfCoef = 1;
|
||||
items[] = {{"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_quikclot"}};
|
||||
condition = QUOTE(!GVAR(advancedBandages));
|
||||
condition = QFUNC(canBandage);
|
||||
itemConsumed = 1;
|
||||
callbackSuccess = QFUNC(treatmentBandage);
|
||||
callbackFailure = "";
|
||||
@ -31,7 +31,6 @@ class GVAR(Actions) {
|
||||
class FieldDressing: BasicBandage {
|
||||
displayName = CSTRING(Actions_FieldDressing);
|
||||
items[] = {"ACE_fieldDressing"};
|
||||
condition = QGVAR(advancedBandages);
|
||||
litter[] = {
|
||||
{"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
|
||||
{"All", "_bloodLossOnBodyPart <= 0", {"ACE_MedicalLitter_clean"}}
|
||||
@ -41,7 +40,6 @@ class GVAR(Actions) {
|
||||
displayName = CSTRING(Actions_PackingBandage);
|
||||
icon = QPATHTOEF(medical_gui,ui\packing_bandage.paa);
|
||||
items[] = {"ACE_packingBandage"};
|
||||
condition = QGVAR(advancedBandages);
|
||||
litter[] = {
|
||||
{"All", "", {"ACE_MedicalLitter_packingBandage"}},
|
||||
{"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
|
||||
@ -51,7 +49,6 @@ class GVAR(Actions) {
|
||||
class ElasticBandage: BasicBandage {
|
||||
displayName = CSTRING(Actions_ElasticBandage);
|
||||
items[] = {"ACE_elasticBandage"};
|
||||
condition = QGVAR(advancedBandages);
|
||||
litter[] = {
|
||||
{"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
|
||||
{"All", "_bloodLossOnBodyPart <= 0", {"ACE_MedicalLitter_clean"}}
|
||||
@ -60,7 +57,6 @@ class GVAR(Actions) {
|
||||
class QuikClot: BasicBandage {
|
||||
displayName = CSTRING(Actions_QuikClot);
|
||||
items[] = {"ACE_quikclot"};
|
||||
condition = QGVAR(advancedBandages);
|
||||
litter[] = {
|
||||
{"All", "", {"ACE_MedicalLitter_QuickClot"}},
|
||||
{"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
|
||||
|
@ -42,6 +42,7 @@ PREP(addToTriageCard);
|
||||
PREP(bodyCleanupLoop);
|
||||
PREP(calculateBlood);
|
||||
PREP(canAccessMedicalEquipment);
|
||||
PREP(canBandage);
|
||||
PREP(dropDownTriageCard);
|
||||
PREP(findMostEffectiveWound);
|
||||
PREP(getBandageTime);
|
||||
|
36
addons/medical_treatment/functions/fnc_canBandage.sqf
Normal file
36
addons/medical_treatment/functions/fnc_canBandage.sqf
Normal file
@ -0,0 +1,36 @@
|
||||
#include "script_component.hpp"
|
||||
/*
|
||||
* Author: SilentSpike
|
||||
* Prevents bandage actions from showing if selected body part isn't bleeding.
|
||||
* Toggles between showing all or only basic bandage action for advanced setting.
|
||||
*
|
||||
* Arguments:
|
||||
* 0: The medic <OBJECT>
|
||||
* 1: The patient <OBJECT>
|
||||
* 2: Body part <STRING>
|
||||
* 3: Treatment class name <STRING>
|
||||
*
|
||||
* ReturnValue:
|
||||
* Can Bandage <BOOL>
|
||||
*
|
||||
* Public: No
|
||||
*/
|
||||
|
||||
params ["_medic", "_patient", "_bodypart", "_bandage"];
|
||||
|
||||
// Bandage type and bandage setting XNOR to show only active actions
|
||||
if ((_bandage == "BasicBandage") isEqualTo GVAR(advancedBandages)) exitWith { false };
|
||||
|
||||
private _index = ALL_BODY_PARTS find toLower _bodypart;
|
||||
private _canBandage = false;
|
||||
|
||||
{
|
||||
_x params ["", "", "_bodyPartN", "_amountOf", "_bleeding"];
|
||||
|
||||
// If any single wound on the bodypart is bleeding bandaging can go ahead
|
||||
if (_bodyPartN == _index && {_amountOf * _bleeding > 0}) exitWith {
|
||||
_canBandage = true;
|
||||
};
|
||||
} forEach (_patient getVariable [QEGVAR(medical,openWounds), []]);
|
||||
|
||||
_canBandage
|
Loading…
Reference in New Issue
Block a user