ACE3/addons/medical_gui/CfgVehicles.hpp
Grim 6741822480
Interaction - Allow unloading patients, bodies, and captives from inside vehicles (#9645)
* add unloading from inside vehicles

* Update addons/common/functions/fnc_findUnloadPosition.sqf

* Update fnc_findUnloadPosition.sqf
2023-11-22 19:38:52 -03:00

69 lines
3.7 KiB
C++

class CfgVehicles {
class Man;
class CAManBase: Man {
class ACE_SelfActions {
class ACE_Medical {
displayName = CSTRING(Medical);
condition = QGVAR(enableSelfActions);
exceptions[] = {"isNotInside", "isNotSitting", "isNotSwimming"};
statement = QUOTE([ARR_2(_target,-1)] call FUNC(displayPatientInformation));
runOnHover = 1;
icon = QPATHTOF(ui\cross.paa);
#define ACTION_CONDITION condition = "true";
#include "InteractionBodyParts.hpp"
#undef ACTION_CONDITION
};
class ACE_Medical_Menu {
displayName = CSTRING(MedicalMenu);
condition = QUOTE([ARR_2(_player,_target)] call FUNC(canOpenMenu));
exceptions[] = {"isNotInside", "isNotSwimming"};
statement = QUOTE(_target call FUNC(openMenu));
icon = QPATHTOF(ui\cross.paa);
modifierFunction = QUOTE(call FUNC(modifyActionTriageLevel));
};
};
class ACE_Actions {
#define ACTION_CONDITION condition = QUOTE(GVAR(enableActions) == 0);
#include "InteractionBodyParts.hpp"
#undef ACTION_CONDITION
class ACE_MainActions {
modifierFunction = QUOTE(call FUNC(modifyActionTriageLevel));
class ACE_Medical_Menu {
displayName = CSTRING(MedicalMenu);
condition = QUOTE([ARR_2(ACE_player,_target)] call FUNC(canOpenMenu));
exceptions[] = {"isNotInside", "isNotSwimming"};
statement = QUOTE(_target call FUNC(openMenu));
icon = QPATHTOF(ui\cross.paa);
modifierFunction = QUOTE(call FUNC(modifyActionTriageLevel));
};
class ACE_Medical_Radial {
displayName = CSTRING(Medical);
condition = QUOTE((GVAR(enableActions) == 1 || {GVAR(enableActions) != 2 && {!isNull objectParent _target && {objectParent _target isEqualTo objectParent _player}}}));
exceptions[] = {"isNotInside", "isNotSitting"};
statement = QUOTE([ARR_2(_target,-1)] call FUNC(displayPatientInformation));
runOnHover = 1;
icon = QPATHTOF(ui\cross.paa);
#define ACTION_CONDITION condition = "true";
#include "InteractionBodyParts.hpp"
#undef ACTION_CONDITION
};
class ACE_LoadPatient {
displayName = CSTRING(LoadPatient);
condition = QUOTE(_target getVariable [ARR_2('ACE_isUnconscious',false)] && {alive _target} && {isNull objectParent _target} && {(_target call EFUNC(common,nearestVehiclesFreeSeat)) isNotEqualTo []});
exceptions[] = {"isNotDragging", "isNotCarrying"};
statement = QUOTE([ARR_2(_player,_target)] call EFUNC(medical_treatment,loadUnit));
icon = QPATHTOF(ui\cross.paa);
insertChildren = QUOTE(call DEFUNC(medical_treatment,addLoadPatientActions));
};
class ACE_UnloadPatient {
displayName = CSTRING(UnloadPatient);
condition = QUOTE([ARR_2(_player,_target)] call EFUNC(medical_treatment,canUnloadUnit));
exceptions[] = {"isNotDragging", "isNotCarrying", "isNotInside"};
statement = QUOTE([ARR_2(_player,_target)] call EFUNC(medical_treatment,unloadUnit));
icon = QPATHTOF(ui\cross.paa);
};
};
};
};
};