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);
|
treatmentTime = QFUNC(getBandageTime);
|
||||||
treatmentTimeSelfCoef = 1;
|
treatmentTimeSelfCoef = 1;
|
||||||
items[] = {{"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_quikclot"}};
|
items[] = {{"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_quikclot"}};
|
||||||
condition = QUOTE(!GVAR(advancedBandages));
|
condition = QFUNC(canBandage);
|
||||||
itemConsumed = 1;
|
itemConsumed = 1;
|
||||||
callbackSuccess = QFUNC(treatmentBandage);
|
callbackSuccess = QFUNC(treatmentBandage);
|
||||||
callbackFailure = "";
|
callbackFailure = "";
|
||||||
@ -31,7 +31,6 @@ class GVAR(Actions) {
|
|||||||
class FieldDressing: BasicBandage {
|
class FieldDressing: BasicBandage {
|
||||||
displayName = CSTRING(Actions_FieldDressing);
|
displayName = CSTRING(Actions_FieldDressing);
|
||||||
items[] = {"ACE_fieldDressing"};
|
items[] = {"ACE_fieldDressing"};
|
||||||
condition = QGVAR(advancedBandages);
|
|
||||||
litter[] = {
|
litter[] = {
|
||||||
{"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
|
{"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
|
||||||
{"All", "_bloodLossOnBodyPart <= 0", {"ACE_MedicalLitter_clean"}}
|
{"All", "_bloodLossOnBodyPart <= 0", {"ACE_MedicalLitter_clean"}}
|
||||||
@ -41,7 +40,6 @@ class GVAR(Actions) {
|
|||||||
displayName = CSTRING(Actions_PackingBandage);
|
displayName = CSTRING(Actions_PackingBandage);
|
||||||
icon = QPATHTOEF(medical_gui,ui\packing_bandage.paa);
|
icon = QPATHTOEF(medical_gui,ui\packing_bandage.paa);
|
||||||
items[] = {"ACE_packingBandage"};
|
items[] = {"ACE_packingBandage"};
|
||||||
condition = QGVAR(advancedBandages);
|
|
||||||
litter[] = {
|
litter[] = {
|
||||||
{"All", "", {"ACE_MedicalLitter_packingBandage"}},
|
{"All", "", {"ACE_MedicalLitter_packingBandage"}},
|
||||||
{"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
|
{"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
|
||||||
@ -51,7 +49,6 @@ class GVAR(Actions) {
|
|||||||
class ElasticBandage: BasicBandage {
|
class ElasticBandage: BasicBandage {
|
||||||
displayName = CSTRING(Actions_ElasticBandage);
|
displayName = CSTRING(Actions_ElasticBandage);
|
||||||
items[] = {"ACE_elasticBandage"};
|
items[] = {"ACE_elasticBandage"};
|
||||||
condition = QGVAR(advancedBandages);
|
|
||||||
litter[] = {
|
litter[] = {
|
||||||
{"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
|
{"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
|
||||||
{"All", "_bloodLossOnBodyPart <= 0", {"ACE_MedicalLitter_clean"}}
|
{"All", "_bloodLossOnBodyPart <= 0", {"ACE_MedicalLitter_clean"}}
|
||||||
@ -60,7 +57,6 @@ class GVAR(Actions) {
|
|||||||
class QuikClot: BasicBandage {
|
class QuikClot: BasicBandage {
|
||||||
displayName = CSTRING(Actions_QuikClot);
|
displayName = CSTRING(Actions_QuikClot);
|
||||||
items[] = {"ACE_quikclot"};
|
items[] = {"ACE_quikclot"};
|
||||||
condition = QGVAR(advancedBandages);
|
|
||||||
litter[] = {
|
litter[] = {
|
||||||
{"All", "", {"ACE_MedicalLitter_QuickClot"}},
|
{"All", "", {"ACE_MedicalLitter_QuickClot"}},
|
||||||
{"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
|
{"All", "_bloodLossOnBodyPart > 0", {{"ACE_MedicalLitter_bandage2", "ACE_MedicalLitter_bandage3"}}},
|
||||||
|
@ -42,6 +42,7 @@ PREP(addToTriageCard);
|
|||||||
PREP(bodyCleanupLoop);
|
PREP(bodyCleanupLoop);
|
||||||
PREP(calculateBlood);
|
PREP(calculateBlood);
|
||||||
PREP(canAccessMedicalEquipment);
|
PREP(canAccessMedicalEquipment);
|
||||||
|
PREP(canBandage);
|
||||||
PREP(dropDownTriageCard);
|
PREP(dropDownTriageCard);
|
||||||
PREP(findMostEffectiveWound);
|
PREP(findMostEffectiveWound);
|
||||||
PREP(getBandageTime);
|
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