mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Strip medical component (#6442)
* Move litter to `treatment` * Move eden object attributes to `treatment` * Move treatment items to `treatment` * Move bodybag handling to `treatment` * Move state conditions to `statemachine` * Move radio addon handling to `feedback` * Move medical macros to `engine` * Move medical extension to `damage` * Fix texture and material paths after move * Remove duplicate medical menu config * Remove old faction class * Remove a bunch of old code
This commit is contained in:
parent
68ff7575eb
commit
4466f9e785
@ -15,19 +15,3 @@ class Extended_PostInit_EventHandlers {
|
|||||||
init = QUOTE(call COMPILE_FILE(XEH_postInit));
|
init = QUOTE(call COMPILE_FILE(XEH_postInit));
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class Extended_Init_EventHandlers {
|
|
||||||
class CAManBase {
|
|
||||||
class ADDON {
|
|
||||||
init = QUOTE(call FUNC(install));
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
class Extended_Respawn_EventHandlers {
|
|
||||||
class CAManBase {
|
|
||||||
class ADDON {
|
|
||||||
respawn = QUOTE(call FUNC(handleRespawn));
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
class CfgFactionClasses {
|
|
||||||
class NO_CATEGORY;
|
|
||||||
class ADDON: NO_CATEGORY {
|
|
||||||
displayName = CSTRING(Category_DisplayName);
|
|
||||||
};
|
|
||||||
};
|
|
@ -1,6 +1,3 @@
|
|||||||
|
|
||||||
class CBA_Extended_EventHandlers;
|
|
||||||
|
|
||||||
class CfgVehicles {
|
class CfgVehicles {
|
||||||
class Logic;
|
class Logic;
|
||||||
class Module_F: Logic {
|
class Module_F: Logic {
|
||||||
@ -12,12 +9,10 @@ class CfgVehicles {
|
|||||||
scope = 1;
|
scope = 1;
|
||||||
displayName = CSTRING(MedicalSettings_Module_DisplayName);
|
displayName = CSTRING(MedicalSettings_Module_DisplayName);
|
||||||
icon = QPATHTOF(UI\Icon_Module_Medical_ca.paa);
|
icon = QPATHTOF(UI\Icon_Module_Medical_ca.paa);
|
||||||
category = "ACE_medical";
|
category = "ACE";
|
||||||
function = QUOTE(DFUNC(moduleMedicalSettings));
|
function = QFUNC(moduleMedicalSettings);
|
||||||
functionPriority = 1;
|
functionPriority = 1;
|
||||||
isGlobal = 1;
|
isGlobal = 1;
|
||||||
isSingular = 1;
|
|
||||||
isTriggerActivated = 0;
|
|
||||||
author = ECSTRING(common,ACETeam);
|
author = ECSTRING(common,ACETeam);
|
||||||
|
|
||||||
class Arguments {
|
class Arguments {
|
||||||
@ -470,322 +465,4 @@ class CfgVehicles {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class MapBoard_altis_F;
|
|
||||||
class ACE_bodyBagObject: MapBoard_altis_F {
|
|
||||||
class EventHandlers {
|
|
||||||
class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {};
|
|
||||||
};
|
|
||||||
|
|
||||||
scope = 1;
|
|
||||||
scopeCurator = 2;
|
|
||||||
side = -1;
|
|
||||||
model = QPATHTOEF(apl,ace_bodybag.p3d);
|
|
||||||
icon = "";
|
|
||||||
displayName = CSTRING(Bodybag_Display);
|
|
||||||
EGVAR(dragging,canDrag) = 1;
|
|
||||||
EGVAR(dragging,dragPosition)[] = {0,1.2,0};
|
|
||||||
EGVAR(dragging,dragDirection) = 0;
|
|
||||||
EGVAR(cargo,size) = 1;
|
|
||||||
EGVAR(cargo,canLoad) = 1;
|
|
||||||
hiddenSelections[] = {"camo"};
|
|
||||||
hiddenSelectionsTextures[] = {QPATHTOEF(apl,data\bodybag_co.paa)};
|
|
||||||
class ACE_Actions {
|
|
||||||
class ACE_MainActions {
|
|
||||||
displayName = ECSTRING(interaction,MainAction);
|
|
||||||
distance = 5;
|
|
||||||
condition = QUOTE(true);
|
|
||||||
statement = "";
|
|
||||||
icon = "\a3\ui_f\data\IGUI\Cfg\Actions\eject_ca.paa";
|
|
||||||
selection = "";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
// Medical litter classes
|
|
||||||
class Thing;
|
|
||||||
class ACE_MedicalLitterBase: Thing {
|
|
||||||
scope = 1;
|
|
||||||
scopeCurator = 0;
|
|
||||||
displayName = " ";
|
|
||||||
destrType = "DestructNo";
|
|
||||||
model = QPATHTOF(data\littergeneric.p3d);
|
|
||||||
};
|
|
||||||
class ACE_MedicalLitter_clean: ACE_MedicalLitterBase {
|
|
||||||
model = QPATHTOF(data\littergeneric_clean.p3d);
|
|
||||||
};
|
|
||||||
class ACE_MedicalLitter_bandage1: ACE_MedicalLitterBase {
|
|
||||||
model = QPATHTOF(data\littergeneric_bandages1.p3d);
|
|
||||||
};
|
|
||||||
class ACE_MedicalLitter_bandage2: ACE_MedicalLitterBase {
|
|
||||||
model = QPATHTOF(data\littergeneric_bandages2.p3d);
|
|
||||||
};
|
|
||||||
class ACE_MedicalLitter_bandage3: ACE_MedicalLitterBase {
|
|
||||||
model = QPATHTOF(data\littergeneric_bandages3.p3d);
|
|
||||||
};
|
|
||||||
class ACE_MedicalLitter_packingBandage: ACE_MedicalLitterBase {
|
|
||||||
model = QPATHTOF(data\littergeneric_packingBandage.p3d);
|
|
||||||
};
|
|
||||||
class ACE_MedicalLitter_gloves: ACE_MedicalLitterBase {
|
|
||||||
model = QPATHTOF(data\littergeneric_gloves.p3d);
|
|
||||||
};
|
|
||||||
class ACE_MedicalLitter_adenosine: ACE_MedicalLitterBase {
|
|
||||||
model = QPATHTOF(data\littergeneric_adenosine.p3d);
|
|
||||||
};
|
|
||||||
class ACE_MedicalLitter_atropine: ACE_MedicalLitterBase {
|
|
||||||
model = QPATHTOF(data\littergeneric_atropine.p3d);
|
|
||||||
};
|
|
||||||
class ACE_MedicalLitter_epinephrine: ACE_MedicalLitterBase {
|
|
||||||
model = QPATHTOF(data\littergeneric_epinephrine.p3d);
|
|
||||||
};
|
|
||||||
class ACE_MedicalLitter_morphine: ACE_MedicalLitterBase {
|
|
||||||
model = QPATHTOF(data\littergeneric_morphine.p3d);
|
|
||||||
};
|
|
||||||
class ACE_MedicalLitter_QuickClot: ACE_MedicalLitterBase {
|
|
||||||
model = QPATHTOF(data\littergeneric_Quikclot.p3d);
|
|
||||||
};
|
|
||||||
class Item_Base_F;
|
|
||||||
class ACE_fieldDressingItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(Bandage_Basic_Display);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_fieldDressing,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_packingBandageItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(Packing_Bandage_Display);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_packingBandage,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_elasticBandageItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(Bandage_Elastic_Display);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_elasticBandage,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_tourniquetItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(Tourniquet_Display);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_tourniquet,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_morphineItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(Morphine_Display);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_morphine,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_adenosineItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(Adenosine_Display);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_adenosine,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_atropineItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(Atropine_Display);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_atropine,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_epinephrineItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(Epinephrine_Display);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_epinephrine,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_plasmaIVItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(Plasma_IV);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_plasmaIV,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
class ACE_bloodIVItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(Blood_IV);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_bloodIV,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_salineIVItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(Saline_IV);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_salineIV,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_quikClotItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(QuikClot_Display);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_quikclot,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_medKitItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(Med_Kit_Display);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_medKit,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_personalAidKitItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(Aid_Kit_Display);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_personalAidKit,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_surgicalKitItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(SurgicalKit_Display);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_surgicalKit,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_bodyBagItem: Item_Base_F {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
displayName = CSTRING(Bodybag_Display);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
vehicleClass = "Items";
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_bodyBag,1);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
class ThingX;
|
|
||||||
class ReammoBox_F: ThingX {
|
|
||||||
class ACE_Actions;
|
|
||||||
};
|
|
||||||
class NATO_Box_Base: ReammoBox_F {
|
|
||||||
class ACE_Actions: ACE_Actions {
|
|
||||||
class ACE_MainActions;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_medicalSupplyCrate: NATO_Box_Base {
|
|
||||||
scope = 2;
|
|
||||||
scopeCurator = 2;
|
|
||||||
accuracy = 1000;
|
|
||||||
displayName = CSTRING(medicalSupplyCrate);
|
|
||||||
model = QPATHTOF(data\ace_medcrate.p3d);
|
|
||||||
author = ECSTRING(common,ACETeam);
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_fieldDressing,50);
|
|
||||||
MACRO_ADDITEM(ACE_morphine,25);
|
|
||||||
MACRO_ADDITEM(ACE_epinephrine,25);
|
|
||||||
MACRO_ADDITEM(ACE_bloodIV,15);
|
|
||||||
MACRO_ADDITEM(ACE_bloodIV_500,15);
|
|
||||||
MACRO_ADDITEM(ACE_bloodIV_250,15);
|
|
||||||
MACRO_ADDITEM(ACE_bodyBag,10);
|
|
||||||
};
|
|
||||||
class AnimationSources {
|
|
||||||
class Cover {
|
|
||||||
source = "user";
|
|
||||||
animPeriod = 1.5;
|
|
||||||
initPhase = 0;
|
|
||||||
minValue = 0;
|
|
||||||
maxValue = 1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_Actions: ACE_Actions {
|
|
||||||
class ACE_MainActions: ACE_MainActions {
|
|
||||||
selection = "cover_action";
|
|
||||||
|
|
||||||
class ACE_OpenLid {
|
|
||||||
displayName = CSTRING(openLid);
|
|
||||||
condition = QUOTE(alive _target && {_target animationPhase 'Cover' < 0.5});
|
|
||||||
statement = QUOTE(_target animate ARR_2(['Cover',1]));
|
|
||||||
showDisabled = 0;
|
|
||||||
priority = -1;
|
|
||||||
};
|
|
||||||
class ACE_CloseLid {
|
|
||||||
displayName = CSTRING(closeLid);
|
|
||||||
condition = QUOTE(alive _target && {_target animationPhase 'Cover' >= 0.5});
|
|
||||||
statement = QUOTE(_target animate ARR_2(['Cover',0]));
|
|
||||||
showDisabled = 0;
|
|
||||||
priority = -1;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class ACE_medicalSupplyCrate_advanced: ACE_medicalSupplyCrate {
|
|
||||||
displayName = CSTRING(medicalSupplyCrate_advanced);
|
|
||||||
class TransportItems {
|
|
||||||
MACRO_ADDITEM(ACE_fieldDressing,25);
|
|
||||||
MACRO_ADDITEM(ACE_packingBandage,25);
|
|
||||||
MACRO_ADDITEM(ACE_elasticBandage,25);
|
|
||||||
MACRO_ADDITEM(ACE_tourniquet,15);
|
|
||||||
MACRO_ADDITEM(ACE_morphine,15);
|
|
||||||
MACRO_ADDITEM(ACE_adenosine,15);
|
|
||||||
MACRO_ADDITEM(ACE_atropine,15);
|
|
||||||
MACRO_ADDITEM(ACE_epinephrine,15);
|
|
||||||
MACRO_ADDITEM(ACE_plasmaIV,7);
|
|
||||||
MACRO_ADDITEM(ACE_plasmaIV_500,7);
|
|
||||||
MACRO_ADDITEM(ACE_plasmaIV_250,7);
|
|
||||||
MACRO_ADDITEM(ACE_salineIV,7);
|
|
||||||
MACRO_ADDITEM(ACE_salineIV_500,7);
|
|
||||||
MACRO_ADDITEM(ACE_salineIV_250,7);
|
|
||||||
MACRO_ADDITEM(ACE_bloodIV,7);
|
|
||||||
MACRO_ADDITEM(ACE_bloodIV_500,7);
|
|
||||||
MACRO_ADDITEM(ACE_bloodIV_250,7);
|
|
||||||
MACRO_ADDITEM(ACE_quikClot,20);
|
|
||||||
MACRO_ADDITEM(ACE_medKit,20);
|
|
||||||
MACRO_ADDITEM(ACE_personalAidKit,3);
|
|
||||||
MACRO_ADDITEM(ACE_surgicalKit,2);
|
|
||||||
MACRO_ADDITEM(ACE_bodyBag,5);
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
@ -1,20 +1,6 @@
|
|||||||
PREP(addDamageToUnit);
|
PREP(addDamageToUnit);
|
||||||
PREP(addStateHandler);
|
|
||||||
PREP(adjustPainLevel);
|
PREP(adjustPainLevel);
|
||||||
PREP(bodyCleanupLoop);
|
|
||||||
PREP(conditionCardiacArrestTimer);
|
|
||||||
PREP(conditionExecutionDeath);
|
|
||||||
PREP(dev_watchMedicalStats);
|
PREP(dev_watchMedicalStats);
|
||||||
PREP(displayTriageCard);
|
|
||||||
PREP(getUnitState);
|
PREP(getUnitState);
|
||||||
PREP(handleIncapacitation);
|
|
||||||
PREP(handleInit);
|
|
||||||
PREP(handleKilled);
|
|
||||||
PREP(handleLocal);
|
|
||||||
PREP(handleRespawn);
|
|
||||||
PREP(install);
|
|
||||||
PREP(moduleAssignMedicalVehicle);
|
|
||||||
PREP(moduleAssignMedicRoles);
|
|
||||||
PREP(moduleMedicalSettings);
|
PREP(moduleMedicalSettings);
|
||||||
PREP(serverRemoveBody);
|
PREP(setUnconscious);
|
||||||
PREP(setUnconsciousStatemachine);
|
|
||||||
|
@ -1,27 +1,6 @@
|
|||||||
#define DEBUG_MODE_FULL
|
#define DEBUG_MODE_FULL
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
//Handle Deleting Bodies and creating litter on Server:
|
|
||||||
if (isServer) then {
|
|
||||||
["ace_placedInBodyBag", FUNC(serverRemoveBody)] call CBA_fnc_addEventHandler;
|
|
||||||
};
|
|
||||||
|
|
||||||
["ace_unconscious", {
|
|
||||||
params ["_unit", "_status"];
|
|
||||||
|
|
||||||
if (local _unit) then {
|
|
||||||
if (_status) then {
|
|
||||||
_unit setVariable ["tf_voiceVolume", 0, true];
|
|
||||||
_unit setVariable ["tf_unable_to_use_radio", true, true];
|
|
||||||
_unit setVariable ["acre_sys_core_isDisabled", true, true];
|
|
||||||
} else {
|
|
||||||
_unit setVariable ["tf_voiceVolume", 1, true];
|
|
||||||
_unit setVariable ["tf_unable_to_use_radio", false, true];
|
|
||||||
_unit setVariable ["acre_sys_core_isDisabled", false, true];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}] call CBA_fnc_addEventHandler;
|
|
||||||
|
|
||||||
if (!hasInterface) exitWith {};
|
if (!hasInterface) exitWith {};
|
||||||
|
|
||||||
[missionNamespace, "ACE_setCustomAimCoef", QUOTE(ADDON), {
|
[missionNamespace, "ACE_setCustomAimCoef", QUOTE(ADDON), {
|
||||||
|
@ -6,9 +6,6 @@ PREP_RECOMPILE_START;
|
|||||||
#include "XEH_PREP.hpp"
|
#include "XEH_PREP.hpp"
|
||||||
PREP_RECOMPILE_END;
|
PREP_RECOMPILE_END;
|
||||||
|
|
||||||
GVAR(HITPOINTS) = ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"];
|
|
||||||
GVAR(SELECTIONS) = ["head", "body", "hand_l", "hand_r", "leg_l", "leg_r"];
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
[
|
[
|
||||||
QGVAR(advancedBandages),
|
QGVAR(advancedBandages),
|
||||||
|
@ -15,12 +15,5 @@ class CfgPatches {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#include "ACE_Settings.hpp"
|
#include "ACE_Settings.hpp"
|
||||||
#include "CfgEden.hpp"
|
|
||||||
#include "CfgEventHandlers.hpp"
|
#include "CfgEventHandlers.hpp"
|
||||||
#include "CfgFactionClasses.hpp"
|
|
||||||
#include "CfgVehicles.hpp"
|
#include "CfgVehicles.hpp"
|
||||||
#include "CfgWeapons.hpp"
|
|
||||||
|
|
||||||
class ACE_Extensions {
|
|
||||||
extensions[] += {"ace_medical"};
|
|
||||||
};
|
|
||||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,82 +0,0 @@
|
|||||||
class StageTI
|
|
||||||
{
|
|
||||||
texture="a3\data_f\default_ti_ca.paa";
|
|
||||||
};
|
|
||||||
ambient[]={1,1,1,1};
|
|
||||||
diffuse[]={1,1,1,1};
|
|
||||||
forcedDiffuse[]={0,0,0,0};
|
|
||||||
emmisive[]={0,0,0,1};
|
|
||||||
specular[]={0.050000008,0.050000008,0.050000008,1};
|
|
||||||
specularPower=50;
|
|
||||||
PixelShaderID="Super";
|
|
||||||
VertexShaderID="Super";
|
|
||||||
class Stage1
|
|
||||||
{
|
|
||||||
texture="z\ace\addons\medical\data\quikclot_nohq.paa";
|
|
||||||
uvSource="tex";
|
|
||||||
class uvTransform
|
|
||||||
{
|
|
||||||
aside[]={1,0,0};
|
|
||||||
up[]={0,1,0};
|
|
||||||
dir[]={0,0,0};
|
|
||||||
pos[]={0,0,0};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class Stage2
|
|
||||||
{
|
|
||||||
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
|
|
||||||
uvSource="tex";
|
|
||||||
class uvTransform
|
|
||||||
{
|
|
||||||
aside[]={0,9,0};
|
|
||||||
up[]={4.5,0,0};
|
|
||||||
dir[]={0,0,0};
|
|
||||||
pos[]={0,0,0};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class Stage3
|
|
||||||
{
|
|
||||||
texture="#(argb,8,8,3)color(0,0,0,0)";
|
|
||||||
uvSource="tex";
|
|
||||||
class uvTransform
|
|
||||||
{
|
|
||||||
aside[]={1,0,0};
|
|
||||||
up[]={0,1,0};
|
|
||||||
dir[]={0,0,0};
|
|
||||||
pos[]={0,0,0};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class Stage4
|
|
||||||
{
|
|
||||||
texture="#(argb,8,8,3)color(1,1,1,1,AS)";
|
|
||||||
uvSource="tex";
|
|
||||||
class uvTransform
|
|
||||||
{
|
|
||||||
aside[]={1,0,0};
|
|
||||||
up[]={0,1,0};
|
|
||||||
dir[]={0,0,0};
|
|
||||||
pos[]={0,0,0};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class Stage5
|
|
||||||
{
|
|
||||||
texture="#(argb,8,8,3)color(1,1,1,1,SMDI)";
|
|
||||||
uvSource="tex";
|
|
||||||
class uvTransform
|
|
||||||
{
|
|
||||||
aside[]={1,0,0};
|
|
||||||
up[]={0,1,0};
|
|
||||||
dir[]={0,0,0};
|
|
||||||
pos[]={0,0,0};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class Stage6
|
|
||||||
{
|
|
||||||
texture="#(ai,64,64,1)fresnel(1.5,1.22)";
|
|
||||||
uvSource="none";
|
|
||||||
};
|
|
||||||
class Stage7
|
|
||||||
{
|
|
||||||
texture="a3\data_f\env_land_co.paa";
|
|
||||||
uvSource="none";
|
|
||||||
};
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,32 +0,0 @@
|
|||||||
ambient[]={1,1,1,1};
|
|
||||||
diffuse[]={0.5,0.5,0.5,1};
|
|
||||||
forcedDiffuse[]={0.5,0.5,0.5,0};
|
|
||||||
emmisive[]={0,0,0,0};
|
|
||||||
specular[]={0,0,0,0};
|
|
||||||
specularPower=0;
|
|
||||||
PixelShaderID="NormalMapSpecularDIMap";
|
|
||||||
VertexShaderID="NormalMap";
|
|
||||||
class Stage1
|
|
||||||
{
|
|
||||||
texture="z\ace\addons\medical\data\packingbandage_nohq.paa";
|
|
||||||
uvSource="tex";
|
|
||||||
class uvTransform
|
|
||||||
{
|
|
||||||
aside[]={1,0,0};
|
|
||||||
up[]={0,1,0};
|
|
||||||
dir[]={0,0,1};
|
|
||||||
pos[]={0,0,0};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class Stage2
|
|
||||||
{
|
|
||||||
texture= "#(argb,8,8,3)color(0,0,0,1,SMDI)";
|
|
||||||
uvSource="tex";
|
|
||||||
class uvTransform
|
|
||||||
{
|
|
||||||
aside[]={0,0,0};
|
|
||||||
up[]={0,0,0};
|
|
||||||
dir[]={0,0,0};
|
|
||||||
pos[]={0,0,0};
|
|
||||||
};
|
|
||||||
};
|
|
Binary file not shown.
@ -1,92 +0,0 @@
|
|||||||
ambient[]={1,1,1,1};
|
|
||||||
diffuse[]={1,1,1,1};
|
|
||||||
forcedDiffuse[]={0,0,0,0};
|
|
||||||
emmisive[]={0,0,0,1};
|
|
||||||
specular[]={0.70399898,0.70399898,0.70399898,0};
|
|
||||||
specularPower=70;
|
|
||||||
PixelShaderID="Super";
|
|
||||||
VertexShaderID="Super";
|
|
||||||
class Stage1
|
|
||||||
{
|
|
||||||
texture="z\ace\addons\medical\data\surgical_kit_nohq.paa";
|
|
||||||
uvSource="tex";
|
|
||||||
class uvTransform
|
|
||||||
{
|
|
||||||
aside[]={1,0,0};
|
|
||||||
up[]={0,1,0};
|
|
||||||
dir[]={0,0,0};
|
|
||||||
pos[]={0,0,0};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class Stage2
|
|
||||||
{
|
|
||||||
texture="#(argb,8,8,3)color(0.5,0.5,0.5,1,DT)";
|
|
||||||
uvSource="tex";
|
|
||||||
class uvTransform
|
|
||||||
{
|
|
||||||
aside[]={1,0,0};
|
|
||||||
up[]={0,1,0};
|
|
||||||
dir[]={0,0,0};
|
|
||||||
pos[]={0,0,0};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class Stage3
|
|
||||||
{
|
|
||||||
texture="#(argb,8,8,3)color(0,0,0,0,MC)";
|
|
||||||
uvSource="tex";
|
|
||||||
class uvTransform
|
|
||||||
{
|
|
||||||
aside[]={1,0,0};
|
|
||||||
up[]={0,1,0};
|
|
||||||
dir[]={0,0,0};
|
|
||||||
pos[]={0,0,0};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class Stage4
|
|
||||||
{
|
|
||||||
texture="#(argb,8,8,3)color(1,1,1,1,AS)";
|
|
||||||
uvSource="tex";
|
|
||||||
class uvTransform
|
|
||||||
{
|
|
||||||
aside[]={1,0,0};
|
|
||||||
up[]={0,1,0};
|
|
||||||
dir[]={0,0,0};
|
|
||||||
pos[]={0,0,0};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class Stage5
|
|
||||||
{
|
|
||||||
texture="#(argb,8,8,3)color(0,0.05,1,1,SMDI)";
|
|
||||||
uvSource="tex";
|
|
||||||
class uvTransform
|
|
||||||
{
|
|
||||||
aside[]={1,0,0};
|
|
||||||
up[]={0,1,0};
|
|
||||||
dir[]={0,0,0};
|
|
||||||
pos[]={0,0,0};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class Stage6
|
|
||||||
{
|
|
||||||
texture="#(ai,32,128,1)fresnel(0.98,1.02)";
|
|
||||||
uvSource="tex";
|
|
||||||
class uvTransform
|
|
||||||
{
|
|
||||||
aside[]={1,0,0};
|
|
||||||
up[]={0,1,0};
|
|
||||||
dir[]={0,0,0};
|
|
||||||
pos[]={0,0,0};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
class Stage7
|
|
||||||
{
|
|
||||||
texture="z\ace\addons\apl\data\env_co.tga";
|
|
||||||
uvSource="tex";
|
|
||||||
class uvTransform
|
|
||||||
{
|
|
||||||
aside[]={1,0,0};
|
|
||||||
up[]={0,1,0};
|
|
||||||
dir[]={0,0,0};
|
|
||||||
pos[]={0,0,0};
|
|
||||||
};
|
|
||||||
};
|
|
Binary file not shown.
@ -1,26 +0,0 @@
|
|||||||
/*
|
|
||||||
* Author: Glowbal
|
|
||||||
* [Description]
|
|
||||||
*
|
|
||||||
* Arguments:
|
|
||||||
* 0: Argument Name <TYPE>
|
|
||||||
*
|
|
||||||
* Return Value:
|
|
||||||
* Return Name <TYPE>
|
|
||||||
*
|
|
||||||
* Example:
|
|
||||||
* ["example"] call ace_[module]_fnc_[functionName]
|
|
||||||
*
|
|
||||||
* Public: [Yes/No]
|
|
||||||
*/
|
|
||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
params ["_unit", "_stateMachine"];
|
|
||||||
|
|
||||||
if (_unit in GVAR(monitoredUnitsList)) exitWith {}; // already monitored
|
|
||||||
private _defaultState = _stateMachine getVariable "cba_stateMachine_initialState"; // "Default"
|
|
||||||
if (!isNil "_defaultState") then {
|
|
||||||
systemChat format["Assigned default state to: %1. Total monitored: %2", _unit, GVAR(monitoredUnitsList)];
|
|
||||||
_unit setVariable[QGVAR(state), [-1, _defaultState]];
|
|
||||||
GVAR(monitoredUnitsList) pushBack _unit;
|
|
||||||
};
|
|
@ -75,7 +75,7 @@
|
|||||||
{
|
{
|
||||||
private _tPartNum = _forEachIndex;
|
private _tPartNum = _forEachIndex;
|
||||||
if (_x != 0) then {
|
if (_x != 0) then {
|
||||||
_return pushBack format ["%1 [Time On: %2]", GVAR(SELECTIONS) select _tPartNum, (CBA_missionTime - _x) toFixed 1];
|
_return pushBack format ["%1 [Time On: %2]", ALL_SELECTIONS select _tPartNum, (CBA_missionTime - _x) toFixed 1];
|
||||||
};
|
};
|
||||||
{
|
{
|
||||||
_x params ["", "_medClassname", "_medPartNum"];
|
_x params ["", "_medClassname", "_medPartNum"];
|
||||||
@ -91,7 +91,7 @@
|
|||||||
private _wounds = _unit getVariable [QEGVAR(medical,openWounds), []];
|
private _wounds = _unit getVariable [QEGVAR(medical,openWounds), []];
|
||||||
{
|
{
|
||||||
_x params ["", "_xClassID", "_xBodyPartN", "_xAmountOf", "_xBleeding", "_xDamage", "_xCategory"];
|
_x params ["", "_xClassID", "_xBodyPartN", "_xAmountOf", "_xBleeding", "_xDamage", "_xCategory"];
|
||||||
_return pushBack format ["%1: [%2-%3] [x%4] [Bld: %5] [Dmg: %6]", GVAR(SELECTIONS) select _xBodyPartN, _xClassID, _xCategory, _xAmountOf toFixed 1, _xBleeding toFixed 4, _xDamage toFixed 2];
|
_return pushBack format ["%1: [%2-%3] [x%4] [Bld: %5] [Dmg: %6]", ALL_SELECTIONS select _xBodyPartN, _xClassID, _xCategory, _xAmountOf toFixed 1, _xBleeding toFixed 4, _xDamage toFixed 2];
|
||||||
} forEach _wounds;
|
} forEach _wounds;
|
||||||
|
|
||||||
|
|
||||||
@ -100,7 +100,7 @@
|
|||||||
private _ivBags = _unit getVariable [QEGVAR(medical,ivBags), []];
|
private _ivBags = _unit getVariable [QEGVAR(medical,ivBags), []];
|
||||||
{
|
{
|
||||||
_x params ["_xVolumeAdded", "_xType", "_xBodyPartN"];
|
_x params ["_xVolumeAdded", "_xType", "_xBodyPartN"];
|
||||||
_return pushBack format ["%1: %2 [%3 ml]", GVAR(SELECTIONS) select _xBodyPartN, _xType, _xVolumeAdded];
|
_return pushBack format ["%1: %2 [%3 ml]", ALL_SELECTIONS select _xBodyPartN, _xType, _xVolumeAdded];
|
||||||
} forEach _ivBags;
|
} forEach _ivBags;
|
||||||
|
|
||||||
// Footer:
|
// Footer:
|
||||||
|
@ -1,30 +0,0 @@
|
|||||||
/*
|
|
||||||
* Author: KoffeinFlummi
|
|
||||||
* Called when a unit is initialized via XEH_init
|
|
||||||
*
|
|
||||||
* Arguments:
|
|
||||||
* 0: The Unit <OBJECT>
|
|
||||||
*
|
|
||||||
* Return Value:
|
|
||||||
* None
|
|
||||||
*
|
|
||||||
* Example:
|
|
||||||
* [bob] call ACE_medical_fnc_handleInit
|
|
||||||
*
|
|
||||||
* Public: No
|
|
||||||
*/
|
|
||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
params ["_unit"];
|
|
||||||
|
|
||||||
_unit setVariable [
|
|
||||||
QGVAR(HandleDamageEHID),
|
|
||||||
_unit addEventHandler ["HandleDamage", {_this call FUNC(handleDamage)}]
|
|
||||||
];
|
|
||||||
|
|
||||||
if (local _unit) then {
|
|
||||||
if (!EGVAR(common,settingsInitFinished)) exitWith {
|
|
||||||
EGVAR(common,runAtSettingsInitialized) pushBack [FUNC(init), [_unit]];
|
|
||||||
};
|
|
||||||
[_unit] call FUNC(init);
|
|
||||||
};
|
|
@ -1,25 +0,0 @@
|
|||||||
/*
|
|
||||||
* Author: Glowbal
|
|
||||||
* Called when a unit is killed
|
|
||||||
*
|
|
||||||
* Arguments:
|
|
||||||
* 0: The Unit <OBJECT>
|
|
||||||
*
|
|
||||||
* Return Value:
|
|
||||||
* None
|
|
||||||
*
|
|
||||||
* Example:
|
|
||||||
* [bob] call ACE_medical_fnc_handleKilled
|
|
||||||
*
|
|
||||||
* Public: No
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
params ["_unit"];
|
|
||||||
|
|
||||||
if (!local _unit) exitWith {};
|
|
||||||
|
|
||||||
_unit setVariable [VAR_PAIN, 0, true];
|
|
||||||
_unit setVariable [VAR_HEART_RATE, 0, true];
|
|
||||||
_unit setVariable [VAR_BLOOD_PRESS, [0, 0], true];
|
|
@ -1,29 +0,0 @@
|
|||||||
/*
|
|
||||||
* Author: Glowbal
|
|
||||||
* Called when a unit switched locality
|
|
||||||
*
|
|
||||||
* Arguments:
|
|
||||||
* 0: The Unit <OBJECT>
|
|
||||||
* 1: Is local <BOOL>
|
|
||||||
*
|
|
||||||
* Return Value:
|
|
||||||
* None
|
|
||||||
*
|
|
||||||
* Example:
|
|
||||||
* [bob, true] call ACE_medical_fnc_handleLocal
|
|
||||||
*
|
|
||||||
* Public: No
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
params ["_unit", "_local"];
|
|
||||||
if (_local) then {
|
|
||||||
if (IS_UNCONSCIOUS(_unit) && {count (_unit getVariable [QGVAR(unconsciousArguments), []]) >= 6}) then {
|
|
||||||
private _arguments = (_unit getVariable [QGVAR(unconsciousArguments), []]);
|
|
||||||
_arguments set [2, CBA_missionTime];
|
|
||||||
|
|
||||||
_unit setVariable [QGVAR(unconsciousArguments), nil, true];
|
|
||||||
};
|
|
||||||
};
|
|
@ -1,32 +0,0 @@
|
|||||||
/*
|
|
||||||
* Author: KoffeinFlummi
|
|
||||||
* Called when a unit is Respawned
|
|
||||||
*
|
|
||||||
* Arguments:
|
|
||||||
* 0: The Unit <OBJECT>
|
|
||||||
*
|
|
||||||
* Return Value:
|
|
||||||
* None
|
|
||||||
*
|
|
||||||
* Example:
|
|
||||||
* [bob] call ACE_medical_fnc_handleRespawn
|
|
||||||
*
|
|
||||||
* Public: No
|
|
||||||
*/
|
|
||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
params ["_unit"];
|
|
||||||
|
|
||||||
// reset all variables. @todo GROUP respawn?
|
|
||||||
[_unit] call FUNC(init);
|
|
||||||
|
|
||||||
// Reset captive status for respawning unit
|
|
||||||
if !IS_UNCONSCIOUS(_unit) then {
|
|
||||||
[_unit, "setCaptive", "ace_unconscious", false] call EFUNC(common,statusEffect_set);
|
|
||||||
};
|
|
||||||
|
|
||||||
// Remove maximum unconsciousness time handler
|
|
||||||
_maxUnconHandle = _unit getVariable [QGVAR(maxUnconTimeHandle), -1];
|
|
||||||
if (_maxUnconHandle > 0) then {
|
|
||||||
[_maxUnconHandle] call CBA_fnc_removePerFrameHandler;
|
|
||||||
};
|
|
@ -1,10 +0,0 @@
|
|||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
params ["_unit"];
|
|
||||||
|
|
||||||
if (local _unit) then {
|
|
||||||
if (!EGVAR(common,settingsInitFinished)) exitWith {
|
|
||||||
EGVAR(common,runAtSettingsInitialized) pushBack [FUNC(init), [_unit]];
|
|
||||||
};
|
|
||||||
[_unit] call FUNC(init);
|
|
||||||
};
|
|
@ -1,28 +0,0 @@
|
|||||||
/*
|
|
||||||
* Author: Glowbal
|
|
||||||
* Assign a medical role to a unit.
|
|
||||||
*
|
|
||||||
* Arguments:
|
|
||||||
* 0: The module logic <OBJECT>
|
|
||||||
* 1: Synchronized units <ARRAY>
|
|
||||||
* 2: Activated <BOOL>
|
|
||||||
*
|
|
||||||
* Return Value:
|
|
||||||
* None
|
|
||||||
*
|
|
||||||
* Example:
|
|
||||||
* [LOGIC, [bob, kevin], true] call ACE_medical_fnc_moduleAssignMedicRoles
|
|
||||||
*
|
|
||||||
* Public: No
|
|
||||||
*/
|
|
||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
params ["_logic"];
|
|
||||||
|
|
||||||
if (!isNull _logic) then {
|
|
||||||
private _list = _logic getVariable ["EnableList", ""];
|
|
||||||
private _setting = _logic getVariable ["role", 0];
|
|
||||||
|
|
||||||
[_list, QGVAR(medicClass), _setting, true] call EFUNC(common,assignObjectsInList);
|
|
||||||
[synchronizedObjects _logic, QGVAR(medicClass), _setting, true] call EFUNC(common,assignObjectsInList);
|
|
||||||
};
|
|
@ -1,28 +0,0 @@
|
|||||||
/*
|
|
||||||
* Author: Glowbal
|
|
||||||
* Assign vehicle as a medical vehicle.
|
|
||||||
*
|
|
||||||
* Arguments:
|
|
||||||
* 0: The module logic <OBJECT>
|
|
||||||
* 1: Synchronized units <ARRAY>
|
|
||||||
* 2: Activated <BOOL>
|
|
||||||
*
|
|
||||||
* Return Value:
|
|
||||||
* None
|
|
||||||
*
|
|
||||||
* Example:
|
|
||||||
* [LOGIC, [bob, kevin], true] call ACE_medical_fnc_moduleAssignMedicalVehicle
|
|
||||||
*
|
|
||||||
* Public: No
|
|
||||||
*/
|
|
||||||
#include "script_component.hpp"
|
|
||||||
|
|
||||||
params ["_logic"];
|
|
||||||
|
|
||||||
if (!isNull _logic) then {
|
|
||||||
private _list = _logic getVariable ["EnableList", ""];
|
|
||||||
private _setting = _logic getVariable ["enabled", 0];
|
|
||||||
|
|
||||||
[_list, QGVAR(medicClass), _setting, true] call EFUNC(common,assignObjectsInList);
|
|
||||||
[synchronizedObjects _logic, QGVAR(medicClass), _setting, true, true] call EFUNC(common,assignObjectsInList);
|
|
||||||
};
|
|
@ -15,4 +15,4 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "\z\ace\addons\main\script_macros.hpp"
|
#include "\z\ace\addons\main\script_macros.hpp"
|
||||||
#include "\z\ace\addons\medical\script_macros_medical.hpp"
|
#include "\z\ace\addons\medical_engine\script_macros_medical.hpp"
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,570 +0,0 @@
|
|||||||
#include "\z\ace\addons\common\define.hpp"
|
|
||||||
|
|
||||||
class GVAR(medicalMenu) {
|
|
||||||
idd = 314412;
|
|
||||||
movingEnable = true;
|
|
||||||
onLoad = QUOTE(uiNamespace setVariable [ARR_2(QQGVAR(medicalMenu), _this select 0)]; [_this select 0] call FUNC(onMenuOpen););
|
|
||||||
onUnload = QUOTE([] call FUNC(onMenuClose));
|
|
||||||
class controlsBackground {
|
|
||||||
class HeaderBackground: ACE_gui_backgroundBase {
|
|
||||||
idc = -1;
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
text = "#(argb,8,8,3)color(0,0,0,0)";
|
|
||||||
};
|
|
||||||
class CenterBackground: HeaderBackground {
|
|
||||||
y = "2.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
h = "16 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
text = "#(argb,8,8,3)color(0,0,0,0.8)";
|
|
||||||
colorText[] = {0, 0, 0, "(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"};
|
|
||||||
colorBackground[] = {0,0,0,"(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"};
|
|
||||||
};
|
|
||||||
class BottomBackground: CenterBackground {
|
|
||||||
y = "(18.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))";
|
|
||||||
h = "9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
class controls {
|
|
||||||
class HeaderName {
|
|
||||||
idc = 1;
|
|
||||||
type = CT_STATIC;
|
|
||||||
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
style = ST_LEFT + ST_SHADOW;
|
|
||||||
font = "RobotoCondensed";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
colorText[] = {0.95, 0.95, 0.95, 0.75};
|
|
||||||
colorBackground[] = {"(profilenamespace getVariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getVariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getVariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getVariable ['GUI_BCG_RGB_A',0.9])"};
|
|
||||||
text = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
class IconsBackGroundBar: ACE_gui_backgroundBase{
|
|
||||||
idc = -1;
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "2.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "3.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
text = QPATHTOF(data\background_img.paa);
|
|
||||||
colorText[] = {1, 1, 1, 0.0};
|
|
||||||
};
|
|
||||||
class CatagoryLeft: HeaderName {
|
|
||||||
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "2.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
style = ST_CENTER;
|
|
||||||
colorText[] = {1, 1, 1.0, 0.9};
|
|
||||||
colorBackground[] = {0,0,0,0};
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)";
|
|
||||||
text = CSTRING(EXAMINE_TREATMENT);
|
|
||||||
};
|
|
||||||
class CatagoryCenter: CatagoryLeft {
|
|
||||||
x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
text = CSTRING(STATUS);
|
|
||||||
};
|
|
||||||
class CatagoryRight: CatagoryCenter{
|
|
||||||
x = "25.66 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
text = CSTRING(OVERVIEW);
|
|
||||||
};
|
|
||||||
class Line: ACE_gui_backgroundBase {
|
|
||||||
idc = -1;
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "3.7 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "37 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "0.03 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
text = "#(argb,8,8,3)color(1,1,1,0.5)";
|
|
||||||
};
|
|
||||||
|
|
||||||
class iconImg1: ACE_gui_backgroundBase {
|
|
||||||
idc = 111;
|
|
||||||
x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "3.73 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.1)";
|
|
||||||
colorBackground[] = {0,0,0,1};
|
|
||||||
colorPicture[] = {1,1,1,1};
|
|
||||||
colorText[] = {1,1,1,1};
|
|
||||||
text = QPATHTOF(data\icons\triage_card_small.paa);
|
|
||||||
};
|
|
||||||
class iconImg2: iconImg1 {
|
|
||||||
idc = 112;
|
|
||||||
x = "3 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
text = QPATHTOF(data\icons\examine_patient_small.paa);
|
|
||||||
};
|
|
||||||
class iconImg3: iconImg1 {
|
|
||||||
idc = 113;
|
|
||||||
x = "4.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
text = QPATHTOF(data\icons\bandage_fracture_small.paa);
|
|
||||||
};
|
|
||||||
class iconImg4: iconImg1 {
|
|
||||||
idc = 114;
|
|
||||||
x = "6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
text = QPATHTOF(data\icons\medication_small.paa);
|
|
||||||
};
|
|
||||||
class iconImg5: iconImg1 {
|
|
||||||
idc = 115;
|
|
||||||
x = "7.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
text = QPATHTOF(data\icons\airway_management_small.paa);
|
|
||||||
};
|
|
||||||
class iconImg6: iconImg1 {
|
|
||||||
idc = 116;
|
|
||||||
x = "9 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
text = QPATHTOF(data\icons\advanced_treatment_small.paa);
|
|
||||||
};
|
|
||||||
class iconImg7: iconImg1 {
|
|
||||||
idc = 117;
|
|
||||||
x = "10.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
text = QPATHTOF(data\icons\icon_carry.paa);
|
|
||||||
};
|
|
||||||
class iconImg8: iconImg1 {
|
|
||||||
idc = 118;
|
|
||||||
x = "12 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
text = QPATHTOF(data\icons\toggle_self_small.paa);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class BtnIconLeft1: ACE_gui_buttonBase {
|
|
||||||
idc = 11;
|
|
||||||
x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "3.73 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.1)";
|
|
||||||
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
animTextureOver = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
action = QUOTE(['triage'] call FUNC(handleUI_DisplayOptions););
|
|
||||||
};
|
|
||||||
class BtnIconLeft2: BtnIconLeft1 {
|
|
||||||
idc = 12;
|
|
||||||
x = "3 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
action = QUOTE(['examine'] call FUNC(handleUI_DisplayOptions););
|
|
||||||
};
|
|
||||||
class BtnIconLeft3: BtnIconLeft1 {
|
|
||||||
idc = 13;
|
|
||||||
x = "4.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
action = QUOTE(['bandage'] call FUNC(handleUI_DisplayOptions););
|
|
||||||
};
|
|
||||||
class BtnIconLeft4: BtnIconLeft1 {
|
|
||||||
idc = 14;
|
|
||||||
x = "6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
action = QUOTE(['medication'] call FUNC(handleUI_DisplayOptions););
|
|
||||||
};
|
|
||||||
class BtnIconLeft5: BtnIconLeft1 {
|
|
||||||
idc = 15;
|
|
||||||
x = "7.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
action = QUOTE(['airway'] call FUNC(handleUI_DisplayOptions););
|
|
||||||
};
|
|
||||||
class BtnIconLeft6: BtnIconLeft1 {
|
|
||||||
idc = 16;
|
|
||||||
x = "9 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
action = QUOTE(['advanced'] call FUNC(handleUI_DisplayOptions););
|
|
||||||
};
|
|
||||||
class BtnIconLeft7: BtnIconLeft1 {
|
|
||||||
idc = 17;
|
|
||||||
x = "10.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
action = QUOTE(['drag'] call FUNC(handleUI_DisplayOptions););
|
|
||||||
};
|
|
||||||
class BtnIconLeft8: BtnIconLeft1 {
|
|
||||||
idc = 18;
|
|
||||||
x = "12 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
action = QUOTE(['toggle'] call FUNC(handleUI_DisplayOptions););
|
|
||||||
};
|
|
||||||
|
|
||||||
class TriageCardList: ACE_gui_listBoxBase {
|
|
||||||
idc = 212;
|
|
||||||
x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "5.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "12 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)";
|
|
||||||
rowHeight = 0.03;
|
|
||||||
colorBackground[] = {0, 0, 0, 0.2};
|
|
||||||
colorText[] = {1,1, 1, 1.0};
|
|
||||||
colorScrollbar[] = {0.95, 0.95, 0.95, 1};
|
|
||||||
colorSelect[] = {0.95, 0.95, 0.95, 1};
|
|
||||||
colorSelect2[] = {0.95, 0.95, 0.95, 1};
|
|
||||||
colorSelectBackground[] = {0, 0, 0, 0.0};
|
|
||||||
colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.0};
|
|
||||||
};
|
|
||||||
|
|
||||||
// Left side
|
|
||||||
class BtnMenu1: BtnIconLeft1 {
|
|
||||||
idc = 20;
|
|
||||||
y = "5.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "12 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
text = "";
|
|
||||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.9)";
|
|
||||||
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.8)";
|
|
||||||
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.5)";
|
|
||||||
animTextureOver = "#(argb,8,8,3)color(1,1,1,1)";
|
|
||||||
animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)";
|
|
||||||
animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)";
|
|
||||||
animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)";
|
|
||||||
color[] = {1, 1, 1, 1};
|
|
||||||
color2[] = {0,0,0, 1};
|
|
||||||
colorBackgroundFocused[] = {1,1,1,1};
|
|
||||||
colorBackground[] = {1,1,1,1};
|
|
||||||
colorbackground2[] = {1,1,1,1};
|
|
||||||
colorDisabled[] = {0.5,0.5,0.5,0.8};
|
|
||||||
colorFocused[] = {0,0,0,1};
|
|
||||||
periodFocus = 1;
|
|
||||||
periodOver = 1;
|
|
||||||
action = "";
|
|
||||||
};
|
|
||||||
class BtnMenu2: BtnMenu1 {
|
|
||||||
idc = 21;
|
|
||||||
y = "6.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
text = "";
|
|
||||||
};
|
|
||||||
class BtnMenu3: BtnMenu1 {
|
|
||||||
idc = 22;
|
|
||||||
y = "7.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
text = "";
|
|
||||||
};
|
|
||||||
class BtnMenu4: BtnMenu1 {
|
|
||||||
idc = 23;
|
|
||||||
y = "8.7 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
text ="";
|
|
||||||
};
|
|
||||||
class BtnMenu5: BtnMenu1 {
|
|
||||||
idc = 24;
|
|
||||||
y = "9.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
text = "";
|
|
||||||
};
|
|
||||||
class BtnMenu6: BtnMenu1 {
|
|
||||||
idc = 25;
|
|
||||||
y = "10.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
text = "";
|
|
||||||
};
|
|
||||||
class BtnMenu7: BtnMenu1 {
|
|
||||||
idc = 26;
|
|
||||||
y = "12 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
text = "";
|
|
||||||
};
|
|
||||||
class BtnMenu8: BtnMenu1 {
|
|
||||||
idc = 27;
|
|
||||||
y = "13.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
text = "";
|
|
||||||
};
|
|
||||||
// center
|
|
||||||
|
|
||||||
class bodyImgBackground: ACE_gui_backgroundBase {
|
|
||||||
idc = -1;
|
|
||||||
x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "3.73 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "12.33 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)";
|
|
||||||
colorBackground[] = {1,1,1,1};
|
|
||||||
colorPicture[] = {1,1,1,1};
|
|
||||||
colorText[] = {1,1,1,1};
|
|
||||||
text = QPATHTOF(ui\ui\body_background.paa);
|
|
||||||
};
|
|
||||||
class bodyImgHead: bodyImgBackground {
|
|
||||||
idc = 50;
|
|
||||||
x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "3.73 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "12.33 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)";
|
|
||||||
colorBackground[] = {1,1,1,1};
|
|
||||||
colorPicture[] = {1,1,1,0.75};
|
|
||||||
colorText[] = {1,1,1,0.75};
|
|
||||||
text = QPATHTOF(ui\ui\body_head.paa);
|
|
||||||
};
|
|
||||||
|
|
||||||
class bodyImgTorso: bodyImgHead {
|
|
||||||
idc = 51;
|
|
||||||
text = QPATHTOF(ui\ui\body_torso.paa);
|
|
||||||
};
|
|
||||||
class bodyImgArms_l: bodyImgHead {
|
|
||||||
idc = 52;
|
|
||||||
text = QPATHTOF(ui\ui\body_arm_left.paa);
|
|
||||||
};
|
|
||||||
class bodyImgArms_r: bodyImgHead {
|
|
||||||
idc = 53;
|
|
||||||
text = QPATHTOF(ui\ui\body_arm_right.paa);
|
|
||||||
};
|
|
||||||
class bodyImgLegs_l: bodyImgHead {
|
|
||||||
idc = 54;
|
|
||||||
text = QPATHTOF(ui\ui\body_leg_left.paa);
|
|
||||||
};
|
|
||||||
class bodyImgLegs_r: bodyImgHead {
|
|
||||||
idc = 55;
|
|
||||||
text = QPATHTOF(ui\ui\body_leg_right.paa);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class selectHead: ACE_gui_buttonBase {
|
|
||||||
idc = 301;
|
|
||||||
x = "18.8 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "3.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "1.4 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.1)";
|
|
||||||
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
animTextureOver = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
action = QUOTE(GVAR(selectedBodyPart) = 0;);
|
|
||||||
};
|
|
||||||
class selectTorso : selectHead {
|
|
||||||
idc = 302;
|
|
||||||
x = "18.4 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "5.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "2.2 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "4.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
action = QUOTE(GVAR(selectedBodyPart) = 1;);
|
|
||||||
};
|
|
||||||
class selectLeftArm: selectHead{
|
|
||||||
idc = 303;
|
|
||||||
x = "17.4 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "5.9 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "1.1 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "4.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
action = QUOTE(GVAR(selectedBodyPart) = 3;);
|
|
||||||
};
|
|
||||||
class selectRightArm: selectLeftArm{
|
|
||||||
idc = 304;
|
|
||||||
x = "20.6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
action = QUOTE(GVAR(selectedBodyPart) = 2;);
|
|
||||||
};
|
|
||||||
class selectLeftLeg :selectHead {
|
|
||||||
idc = 305;
|
|
||||||
x = "18.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "9.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "1.1 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
action = QUOTE(GVAR(selectedBodyPart) = 5;);
|
|
||||||
};
|
|
||||||
class selectRightLeg :selectLeftLeg {
|
|
||||||
idc = 306;
|
|
||||||
x = "19.6 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
action = QUOTE(GVAR(selectedBodyPart) = 4;);
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
class TriageTextBottom: HeaderName {
|
|
||||||
idc = 2000;
|
|
||||||
x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "16.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
style = ST_CENTER;
|
|
||||||
colorText[] = {1, 1, 1.0, 1};
|
|
||||||
colorBackground[] = {0,0.0,0.0,0.7};
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
text = "";
|
|
||||||
};
|
|
||||||
|
|
||||||
// Right side
|
|
||||||
class InjuryList: ACE_gui_listBoxBase {
|
|
||||||
idc = 213;
|
|
||||||
x = "25.66 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "5.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)";
|
|
||||||
rowHeight = 0.03;
|
|
||||||
colorBackground[] = {0, 0, 0, 0.2};
|
|
||||||
colorText[] = {1,1, 1, 1.0};
|
|
||||||
colorScrollbar[] = {0.95, 0.95, 0.95, 1};
|
|
||||||
colorSelect[] = {0.95, 0.95, 0.95, 1};
|
|
||||||
colorSelect2[] = {0.95, 0.95, 0.95, 1};
|
|
||||||
colorSelectBackground[] = {0, 0, 0, 0.0};
|
|
||||||
colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.5};
|
|
||||||
};
|
|
||||||
// bottom
|
|
||||||
|
|
||||||
class ActivityLogHeader: CatagoryLeft {
|
|
||||||
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "18.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "18.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
style = ST_CENTER;
|
|
||||||
colorText[] = {0.6, 0.7, 1.0, 1};
|
|
||||||
colorBackground[] = {0,0,0,0};
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
text = CSTRING(ACTIVITY_LOG);
|
|
||||||
};
|
|
||||||
class QuickViewHeader: ActivityLogHeader {
|
|
||||||
x = "19.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
text = CSTRING(QUICK_VIEW);
|
|
||||||
};
|
|
||||||
class LineBottomHeaders: Line {
|
|
||||||
y = "19.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
};
|
|
||||||
class ActivityLog: InjuryList {
|
|
||||||
idc = 214;
|
|
||||||
//style = 16;
|
|
||||||
//type = 102;
|
|
||||||
//rows=1;
|
|
||||||
colorBackground[] = {0, 0, 0, 0};
|
|
||||||
x = "1.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "(19.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))";
|
|
||||||
w = "18.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "6.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)";
|
|
||||||
//colorSelectBackground[] = {0, 0, 0, 0.0};
|
|
||||||
//colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.0};
|
|
||||||
//columns[] = {0.0, 0.08};
|
|
||||||
//canDrag=true;
|
|
||||||
//arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
|
|
||||||
// arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
|
|
||||||
drawSideArrows = 0;
|
|
||||||
//idcLeft = -1;
|
|
||||||
//idcRight = -1;
|
|
||||||
};
|
|
||||||
|
|
||||||
class QuikViewLog: InjuryList {
|
|
||||||
idc = 215;
|
|
||||||
//style = 16;
|
|
||||||
//type = 102;
|
|
||||||
//rows=1;
|
|
||||||
colorBackground[] = {0, 0, 0, 0};
|
|
||||||
x = "21.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "(19.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))";
|
|
||||||
w = "18.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "6.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)";
|
|
||||||
colorSelectBackground[] = {0, 0, 0, 0.0};
|
|
||||||
colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.0};
|
|
||||||
|
|
||||||
//columns[] = {0.0, 0.08};
|
|
||||||
//canDrag=true;
|
|
||||||
//arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
|
|
||||||
// arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
|
|
||||||
drawSideArrows = 0;
|
|
||||||
//idcLeft = -1;
|
|
||||||
//idcRight = -1;
|
|
||||||
};
|
|
||||||
|
|
||||||
class selectTriageStatus: ACE_gui_buttonBase {
|
|
||||||
idc = 2001;
|
|
||||||
x = "13.33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
|
||||||
y = "16.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
|
||||||
w = "12.33 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
|
||||||
h = "1.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
|
||||||
style = ST_CENTER;
|
|
||||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.4)";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
animTextureOver = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.0)";
|
|
||||||
action = QUOTE([] call FUNC(handleUI_dropDownTriageCard););
|
|
||||||
};
|
|
||||||
class selectTriageStatusNone: selectTriageStatus {
|
|
||||||
idc = 2002;
|
|
||||||
x = 0;
|
|
||||||
y = 0;
|
|
||||||
w = 0;
|
|
||||||
h = 0;
|
|
||||||
text = ECSTRING(Medical,Triage_Status_None);
|
|
||||||
style = ST_CENTER;
|
|
||||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.9)";
|
|
||||||
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.9)";
|
|
||||||
animTextureOver = "#(argb,8,8,3)color(0,0,0,0.9)";
|
|
||||||
animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.9)";
|
|
||||||
animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.9)";
|
|
||||||
animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.9)";
|
|
||||||
action = QUOTE([] call FUNC(handleUI_dropDownTriageCard); [ARR_2(GVAR(INTERACTION_TARGET),0)] call FUNC(setTriageStatus););
|
|
||||||
};
|
|
||||||
|
|
||||||
class selectTriageStatusMinor: selectTriageStatus {
|
|
||||||
idc = 2003;
|
|
||||||
x = 0;
|
|
||||||
y = 0;
|
|
||||||
w = 0;
|
|
||||||
h = 0;
|
|
||||||
text = ECSTRING(Medical,Triage_Status_Minor);
|
|
||||||
style = ST_CENTER;
|
|
||||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
animTextureNormal = "#(argb,8,8,3)color(0,0.5,0,0.9)";
|
|
||||||
animTextureDisabled = "#(argb,8,8,3)color(0,0.5,0,0.9)";
|
|
||||||
animTextureOver = "#(argb,8,8,3)color(0,0.5,0,0.9)";
|
|
||||||
animTextureFocused = "#(argb,8,8,3)color(0,0.5,0,0.9)";
|
|
||||||
animTexturePressed = "#(argb,8,8,3)color(0,0.5,0,0.9)";
|
|
||||||
animTextureDefault = "#(argb,8,8,3)color(0,0.5,0,0.9)";
|
|
||||||
action = QUOTE([] call FUNC(handleUI_dropDownTriageCard); [ARR_2(GVAR(INTERACTION_TARGET),1)] call FUNC(setTriageStatus););
|
|
||||||
};
|
|
||||||
class selectTriageStatusDelayed: selectTriageStatus {
|
|
||||||
idc = 2004;
|
|
||||||
x = 0;
|
|
||||||
y = 0;
|
|
||||||
w = 0;
|
|
||||||
h = 0;
|
|
||||||
text = ECSTRING(Medical,Triage_Status_Delayed);
|
|
||||||
style = ST_CENTER;
|
|
||||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
animTextureNormal = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)";
|
|
||||||
animTextureDisabled = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)";
|
|
||||||
animTextureOver = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)";
|
|
||||||
animTextureFocused = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)";
|
|
||||||
animTexturePressed = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)";
|
|
||||||
animTextureDefault = "#(argb,8,8,3)color(0.77,0.51,0.08,0.9)";
|
|
||||||
action = QUOTE([] call FUNC(handleUI_dropDownTriageCard); [ARR_2(GVAR(INTERACTION_TARGET),2)] call FUNC(setTriageStatus););
|
|
||||||
};
|
|
||||||
class selectTriageStatusImmediate: selectTriageStatus {
|
|
||||||
idc = 2005;
|
|
||||||
x = 0;
|
|
||||||
y = 0;
|
|
||||||
w = 0;
|
|
||||||
h = 0;
|
|
||||||
text = ECSTRING(Medical,Triage_Status_Immediate);
|
|
||||||
style = ST_CENTER;
|
|
||||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
animTextureNormal = "#(argb,8,8,3)color(1,0.2,0.2,0.9)";
|
|
||||||
animTextureDisabled = "#(argb,8,8,3)color(1,0.2,0.2,0.9)";
|
|
||||||
animTextureOver = "#(argb,8,8,3)color(1,0.2,0.2,0.9)";
|
|
||||||
animTextureFocused = "#(argb,8,8,3)color(1,0.2,0.2,0.9)";
|
|
||||||
animTexturePressed = "#(argb,8,8,3)color(1,0.2,0.2,0.9)";
|
|
||||||
animTextureDefault = "#(argb,8,8,3)color(1,0.2,0.2,0.9)";
|
|
||||||
action = QUOTE([] call FUNC(handleUI_dropDownTriageCard); [ARR_2(GVAR(INTERACTION_TARGET),3)] call FUNC(setTriageStatus););
|
|
||||||
};
|
|
||||||
class selectTriageStatusDeceased: selectTriageStatus {
|
|
||||||
idc = 2006;
|
|
||||||
x = 0;
|
|
||||||
y = 0;
|
|
||||||
w = 0;
|
|
||||||
h = 0;
|
|
||||||
text = ECSTRING(Medical,Triage_Status_Deceased);
|
|
||||||
style = ST_CENTER;
|
|
||||||
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
|
||||||
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.9)";
|
|
||||||
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.9)";
|
|
||||||
animTextureOver = "#(argb,8,8,3)color(0,0,0,0.9)";
|
|
||||||
animTextureFocused = "#(argb,8,8,3)color(0,0,0,0.9)";
|
|
||||||
animTexturePressed = "#(argb,8,8,3)color(0,0,0,0.9)";
|
|
||||||
animTextureDefault = "#(argb,8,8,3)color(0,0,0,0.9)";
|
|
||||||
action = QUOTE([] call FUNC(handleUI_dropDownTriageCard); [ARR_2(GVAR(INTERACTION_TARGET),4)] call FUNC(setTriageStatus););
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -15,4 +15,4 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "\z\ace\addons\main\script_macros.hpp"
|
#include "\z\ace\addons\main\script_macros.hpp"
|
||||||
#include "\z\ace\addons\medical\script_macros_medical.hpp"
|
#include "\z\ace\addons\medical_engine\script_macros_medical.hpp"
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "\z\ace\addons\main\script_macros.hpp"
|
#include "\z\ace\addons\main\script_macros.hpp"
|
||||||
#include "\z\ace\addons\medical\script_macros_medical.hpp"
|
|
||||||
|
|
||||||
#define MAX_BLOOD_OBJECTS 500
|
#define MAX_BLOOD_OBJECTS 500
|
||||||
#define BLOOD_OBJECT_LIFETIME 900
|
#define BLOOD_OBJECT_LIFETIME 900
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
|
|
||||||
PREP(getTypeOfDamage);
|
PREP(getTypeOfDamage);
|
||||||
|
PREP(handleIncapacitation);
|
||||||
PREP(parseConfigForInjuries);
|
PREP(parseConfigForInjuries);
|
||||||
PREP(woundsHandler);
|
PREP(woundsHandler);
|
||||||
PREP(woundsHandlerSQF);
|
PREP(woundsHandlerSQF);
|
||||||
|
@ -26,8 +26,6 @@ if ("ace_medical" callExtension "version" != "") then {
|
|||||||
|
|
||||||
private _typeOfDamage = _ammo call FUNC(getTypeOfDamage);
|
private _typeOfDamage = _ammo call FUNC(getTypeOfDamage);
|
||||||
[_unit, _woundedHitPoint, _receivedDamage, _typeOfDamage] call FUNC(woundsHandlerActive);
|
[_unit, _woundedHitPoint, _receivedDamage, _typeOfDamage] call FUNC(woundsHandlerActive);
|
||||||
|
|
||||||
// [_unit, EGVAR(medical,STATE_MACHINE)] call EFUNC(medical,addStateHandler);
|
|
||||||
}] call CBA_fnc_addEventHandler;
|
}] call CBA_fnc_addEventHandler;
|
||||||
|
|
||||||
ADDON = true;
|
ADDON = true;
|
||||||
|
@ -15,5 +15,8 @@ class CfgPatches {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#include "ACE_Medical_Injuries.hpp"
|
#include "ACE_Medical_Injuries.hpp"
|
||||||
|
|
||||||
#include "CfgEventHandlers.hpp"
|
#include "CfgEventHandlers.hpp"
|
||||||
|
|
||||||
|
class ACE_Extensions {
|
||||||
|
extensions[] += {"ace_medical"};
|
||||||
|
};
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
params ["_unit"];
|
params ["_unit"];
|
||||||
|
|
||||||
private _painLevel = GET_PAIN_PERCEIVED(_unit);
|
private _painLevel = GET_PAIN_PERCEIVED(_unit);
|
||||||
private _bodyPartDamage = _unit getVariable [QGVAR(bodyPartDamage), [0,0,0,0,0,0]];
|
private _bodyPartDamage = _unit getVariable [QEGVAR(medical,bodyPartDamage), [0,0,0,0,0,0]];
|
||||||
|
|
||||||
_bodyPartDamage params ["_headDamage", "_bodyDamage", "_leftArmDamage", "_rightArmDamage", "_leftLegDamage", "_rightLegDamage"];
|
_bodyPartDamage params ["_headDamage", "_bodyDamage", "_leftArmDamage", "_rightArmDamage", "_leftLegDamage", "_rightLegDamage"];
|
||||||
|
|
||||||
@ -25,12 +25,12 @@ _bodyPartDamage params ["_headDamage", "_bodyDamage", "_leftArmDamage", "_rightA
|
|||||||
if (_bodyPartN == 1 && {_damage < PENETRATION_THRESHOLD}) then {
|
if (_bodyPartN == 1 && {_damage < PENETRATION_THRESHOLD}) then {
|
||||||
_bodyDamage = _bodyDamage - (_amountOf * _damage);
|
_bodyDamage = _bodyDamage - (_amountOf * _damage);
|
||||||
};
|
};
|
||||||
} forEach (_unit getVariable [QGVAR(openWounds), []]);
|
} forEach (_unit getVariable [QEGVAR(medical,openWounds), []]);
|
||||||
|
|
||||||
private _damageThreshold = if (isPlayer _unit) then {
|
private _damageThreshold = if (isPlayer _unit) then {
|
||||||
GVAR(playerDamageThreshold)
|
EGVAR(medical,playerDamageThreshold)
|
||||||
} else {
|
} else {
|
||||||
GVAR(AIDamageThreshold)
|
EGVAR(medical,AIDamageThreshold)
|
||||||
};
|
};
|
||||||
|
|
||||||
if ((_headDamage > _damageThreshold / 2) || {_bodyDamage > _damageThreshold} || {(_painLevel >= PAIN_UNCONSCIOUS) && {random 1 < 0.1}}) then {
|
if ((_headDamage > _damageThreshold / 2) || {_bodyDamage > _damageThreshold} || {(_painLevel >= PAIN_UNCONSCIOUS) && {random 1 < 0.1}}) then {
|
@ -116,7 +116,7 @@ _bodyPartVisParams call EFUNC(medical_engine,updateBodyPartVisuals);
|
|||||||
[_unit, "hit", PAIN_TO_SCREAM(_painLevel)] call EFUNC(medical_engine,playInjuredSound);
|
[_unit, "hit", PAIN_TO_SCREAM(_painLevel)] call EFUNC(medical_engine,playInjuredSound);
|
||||||
|
|
||||||
if (_critialDamage || {_painLevel > PAIN_UNCONSCIOUS}) then {
|
if (_critialDamage || {_painLevel > PAIN_UNCONSCIOUS}) then {
|
||||||
[_unit] call EFUNC(medical,handleIncapacitation);
|
[_unit] call FUNC(handleIncapacitation);
|
||||||
};
|
};
|
||||||
|
|
||||||
TRACE_5("exit",_unit,_painLevel,GET_PAIN(_unit),_unit getVariable QEGVAR(medical,openWounds),_woundsCreated);
|
TRACE_5("exit",_unit,_painLevel,GET_PAIN(_unit),_unit getVariable QEGVAR(medical,openWounds),_woundsCreated);
|
||||||
|
@ -174,7 +174,7 @@ _bodyPartVisParams call EFUNC(medical_engine,updateBodyPartVisuals);
|
|||||||
[_unit, "hit", PAIN_TO_SCREAM(_painLevel)] call EFUNC(medical_engine,playInjuredSound);
|
[_unit, "hit", PAIN_TO_SCREAM(_painLevel)] call EFUNC(medical_engine,playInjuredSound);
|
||||||
|
|
||||||
if (_critialDamage || {_painLevel > PAIN_UNCONSCIOUS}) then {
|
if (_critialDamage || {_painLevel > PAIN_UNCONSCIOUS}) then {
|
||||||
[_unit] call EFUNC(medical,handleIncapacitation);
|
[_unit] call FUNC(handleIncapacitation);
|
||||||
};
|
};
|
||||||
|
|
||||||
TRACE_5("exit",_unit,_painLevel,GET_PAIN(_unit),_unit getVariable QEGVAR(medical,openWounds),_woundsCreated);
|
TRACE_5("exit",_unit,_painLevel,GET_PAIN(_unit),_unit getVariable QEGVAR(medical,openWounds),_woundsCreated);
|
||||||
|
@ -15,4 +15,4 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "\z\ace\addons\main\script_macros.hpp"
|
#include "\z\ace\addons\main\script_macros.hpp"
|
||||||
#include "\z\ace\addons\medical\script_macros_medical.hpp"
|
#include "\z\ace\addons\medical_engine\script_macros_medical.hpp"
|
||||||
|
@ -15,8 +15,8 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "\z\ace\addons\main\script_macros.hpp"
|
#include "\z\ace\addons\main\script_macros.hpp"
|
||||||
#include "\z\ace\addons\medical\script_macros_medical.hpp"
|
#include "\z\ace\addons\medical_engine\script_macros_medical.hpp"
|
||||||
#include "\z\ace\addons\medical\script_macros_config.hpp"
|
#include "\z\ace\addons\medical_engine\script_macros_config.hpp"
|
||||||
|
|
||||||
#define EMPTY_SOUND {"A3\Sounds_F\dummysound.wss",1,1}
|
#define EMPTY_SOUND {"A3\Sounds_F\dummysound.wss",1,1}
|
||||||
#define NAMESPACE_NULL locationNull
|
#define NAMESPACE_NULL locationNull
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
Usage:
|
Usage:
|
||||||
|
|
||||||
#include "\z\ace\addons\medical\script_macros_config.hpp"
|
#include "\z\ace\addons\medical_engine\script_macros_config.hpp"
|
||||||
|
|
||||||
class CfgVehicles {
|
class CfgVehicles {
|
||||||
class My_AwesomeUnit_base;
|
class My_AwesomeUnit_base;
|
@ -1,5 +1,7 @@
|
|||||||
|
|
||||||
#define ALL_BODY_PARTS ["head", "body", "leftarm", "rightarm", "leftleg", "rightleg"]
|
#define ALL_BODY_PARTS ["head", "body", "leftarm", "rightarm", "leftleg", "rightleg"]
|
||||||
|
#define ALL_SELECTIONS ["head", "body", "hand_l", "hand_r", "leg_l", "leg_r"]
|
||||||
|
#define ALL_HITPOINTS ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"]
|
||||||
|
|
||||||
#define MEDICAL_ACTION_DISTANCE 1.75
|
#define MEDICAL_ACTION_DISTANCE 1.75
|
||||||
|
|
@ -10,6 +10,13 @@ GVAR(heartBeatEffectRunning) = false;
|
|||||||
|
|
||||||
["ace_unconscious", {
|
["ace_unconscious", {
|
||||||
params ["_unit", "_unconscious"];
|
params ["_unit", "_unconscious"];
|
||||||
|
|
||||||
|
if (local _unit) then {
|
||||||
|
_unit setVariable ["tf_voiceVolume", [1, 0] select _unconscious, true];
|
||||||
|
_unit setVariable ["tf_unable_to_use_radio", _unconscious, true];
|
||||||
|
_unit setVariable ["acre_sys_core_isDisabled", _unconscious, true];
|
||||||
|
};
|
||||||
|
|
||||||
if (_unit != ACE_player) exitWith {};
|
if (_unit != ACE_player) exitWith {};
|
||||||
|
|
||||||
[_unconscious, 1] call FUNC(effectUnconscious);
|
[_unconscious, 1] call FUNC(effectUnconscious);
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "\z\ace\addons\main\script_macros.hpp"
|
#include "\z\ace\addons\main\script_macros.hpp"
|
||||||
#include "\z\ace\addons\medical\script_macros_medical.hpp"
|
#include "\z\ace\addons\medical_engine\script_macros_medical.hpp"
|
||||||
|
|
||||||
#define FX_PAIN_FADE_IN 0.3
|
#define FX_PAIN_FADE_IN 0.3
|
||||||
#define FX_PAIN_FADE_OUT 0.7
|
#define FX_PAIN_FADE_OUT 0.7
|
||||||
|
@ -45,7 +45,7 @@ class CfgVehicles {
|
|||||||
class CAManBase: Man {
|
class CAManBase: Man {
|
||||||
class ACE_SelfActions {
|
class ACE_SelfActions {
|
||||||
class Medical {
|
class Medical {
|
||||||
displayName = ECSTRING(medical,Actions_Medical);
|
displayName = CSTRING(Actions_Medical);
|
||||||
runOnHover = 1;
|
runOnHover = 1;
|
||||||
exceptions[] = {"isNotInside", "isNotSitting"};
|
exceptions[] = {"isNotInside", "isNotSitting"};
|
||||||
statement = QUOTE([ARR_3(_target,1,0)] call FUNC(displayPatientInformation));
|
statement = QUOTE([ARR_3(_target,1,0)] call FUNC(displayPatientInformation));
|
||||||
@ -80,7 +80,7 @@ class CfgVehicles {
|
|||||||
icon = QPATHTOF(ui\ui\icons\medical_cross.paa);
|
icon = QPATHTOF(ui\ui\icons\medical_cross.paa);
|
||||||
};
|
};
|
||||||
class ACE_Medical_Radial {
|
class ACE_Medical_Radial {
|
||||||
displayName = ECSTRING(medical,Actions_Medical);
|
displayName = CSTRING(Actions_Medical);
|
||||||
runOnHover = 1;
|
runOnHover = 1;
|
||||||
exceptions[] = {"isNotInside", "isNotSitting"};
|
exceptions[] = {"isNotInside", "isNotSitting"};
|
||||||
statement = QUOTE([ARR_3(_target,1,0)] call FUNC(displayPatientInformation));
|
statement = QUOTE([ARR_3(_target,1,0)] call FUNC(displayPatientInformation));
|
||||||
@ -91,7 +91,7 @@ class CfgVehicles {
|
|||||||
#undef ACTION_CONDITION
|
#undef ACTION_CONDITION
|
||||||
};
|
};
|
||||||
class ACE_Medical_loadPatient {
|
class ACE_Medical_loadPatient {
|
||||||
displayName = ECSTRING(medical,LoadPatient);
|
displayName = CSTRING(LoadPatient);
|
||||||
condition = "(_target getVariable ['ACE_isUnconscious', false]) && {alive _target} && {vehicle _target == _target}";
|
condition = "(_target getVariable ['ACE_isUnconscious', false]) && {alive _target} && {vehicle _target == _target}";
|
||||||
statement = QUOTE([ARR_2(_player, _target)] call EFUNC(medical_treatment,actionLoadUnit));
|
statement = QUOTE([ARR_2(_player, _target)] call EFUNC(medical_treatment,actionLoadUnit));
|
||||||
icon = QPATHTOF(ui\ui\icons\medical_cross.paa);
|
icon = QPATHTOF(ui\ui\icons\medical_cross.paa);
|
||||||
@ -99,7 +99,7 @@ class CfgVehicles {
|
|||||||
insertChildren = QUOTE(call DEFUNC(medical_treatment,addLoadPatientActions));
|
insertChildren = QUOTE(call DEFUNC(medical_treatment,addLoadPatientActions));
|
||||||
};
|
};
|
||||||
class ACE_Medical_UnLoadPatient {
|
class ACE_Medical_UnLoadPatient {
|
||||||
displayName = ECSTRING(medical,UnloadPatient);
|
displayName = CSTRING(UnloadPatient);
|
||||||
condition = "(_target getVariable ['ACE_isUnconscious', false]) && {vehicle _target != _target} && {vehicle _player == _player}";
|
condition = "(_target getVariable ['ACE_isUnconscious', false]) && {vehicle _target != _target} && {vehicle _player == _player}";
|
||||||
statement = QUOTE([ARR_2(_player, _target)] call EFUNC(medical_treatment,actionUnloadUnit));
|
statement = QUOTE([ARR_2(_player, _target)] call EFUNC(medical_treatment,actionUnloadUnit));
|
||||||
icon = QPATHTOF(ui\ui\icons\medical_cross.paa);
|
icon = QPATHTOF(ui\ui\icons\medical_cross.paa);
|
||||||
|
@ -2,6 +2,7 @@ PREP(canOpenMenu);
|
|||||||
PREP(collectActions);
|
PREP(collectActions);
|
||||||
PREP(collectActions3D);
|
PREP(collectActions3D);
|
||||||
PREP(displayPatientInformation);
|
PREP(displayPatientInformation);
|
||||||
|
PREP(displayTriageCard);
|
||||||
PREP(getTreatmentOptions);
|
PREP(getTreatmentOptions);
|
||||||
PREP(handleUI_DisplayOptions);
|
PREP(handleUI_DisplayOptions);
|
||||||
PREP(handleUI_dropDownTriageCard);
|
PREP(handleUI_dropDownTriageCard);
|
||||||
|
@ -22,7 +22,7 @@ params ["_player", "_target", "_name"];
|
|||||||
if (!([ACE_player, _target, ["isNotInside", "isNotSwimming"]] call EFUNC(common,canInteractWith))) exitWith {[]};
|
if (!([ACE_player, _target, ["isNotInside", "isNotSwimming"]] call EFUNC(common,canInteractWith))) exitWith {[]};
|
||||||
|
|
||||||
private _collectedActions = [];
|
private _collectedActions = [];
|
||||||
private _bodyPart = EGVAR(medical,SELECTIONS) select GVAR(selectedBodyPart);
|
private _bodyPart = ALL_SELECTIONS select GVAR(selectedBodyPart);
|
||||||
{
|
{
|
||||||
_x params ["", "_currentCategory", "_currentCondition"];
|
_x params ["", "_currentCategory", "_currentCondition"];
|
||||||
if (_name == _currentCategory && {call _currentCondition}) then {
|
if (_name == _currentCategory && {call _currentCondition}) then {
|
||||||
|
@ -15,4 +15,4 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "\z\ace\addons\main\script_macros.hpp"
|
#include "\z\ace\addons\main\script_macros.hpp"
|
||||||
#include "\z\ace\addons\medical\script_macros_medical.hpp"
|
#include "\z\ace\addons\medical_engine\script_macros_medical.hpp"
|
||||||
|
@ -16,6 +16,54 @@
|
|||||||
<Chinesesimp>医疗选单</Chinesesimp>
|
<Chinesesimp>医疗选单</Chinesesimp>
|
||||||
<Chinese>醫療選單</Chinese>
|
<Chinese>醫療選單</Chinese>
|
||||||
</Key>
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Medical_GUI_Actions_Medical">
|
||||||
|
<English>Medical</English>
|
||||||
|
<Czech>Lékařské</Czech>
|
||||||
|
<French>Médical</French>
|
||||||
|
<German>Sanitäter</German>
|
||||||
|
<Italian>Medico</Italian>
|
||||||
|
<Polish>Medyczne</Polish>
|
||||||
|
<Portuguese>Médico</Portuguese>
|
||||||
|
<Russian>Медик</Russian>
|
||||||
|
<Spanish>Médico</Spanish>
|
||||||
|
<Hungarian>Orvosi</Hungarian>
|
||||||
|
<Japanese>治療</Japanese>
|
||||||
|
<Korean>치료</Korean>
|
||||||
|
<Chinesesimp>医疗</Chinesesimp>
|
||||||
|
<Chinese>醫療</Chinese>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Medical_GUI_UnloadPatient">
|
||||||
|
<English>Unload patient</English>
|
||||||
|
<Spanish>Descargar al paciente</Spanish>
|
||||||
|
<Russian>Выгрузить пациента</Russian>
|
||||||
|
<German>Patient ausladen</German>
|
||||||
|
<Polish>Wyładuj pacjenta</Polish>
|
||||||
|
<French>Le patient débarque</French>
|
||||||
|
<Hungarian>Sebesült kihúzása</Hungarian>
|
||||||
|
<Italian>Scarica il paziente</Italian>
|
||||||
|
<Portuguese>Descarregar Paciente</Portuguese>
|
||||||
|
<Czech>Vyložit pacienta</Czech>
|
||||||
|
<Japanese>患者を降ろす</Japanese>
|
||||||
|
<Korean>환자 내리기</Korean>
|
||||||
|
<Chinesesimp>将伤者背出</Chinesesimp>
|
||||||
|
<Chinese>將傷者背出</Chinese>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_Medical_GUI_LoadPatient">
|
||||||
|
<English>Load patient</English>
|
||||||
|
<Spanish>Cargar al paciente en</Spanish>
|
||||||
|
<Russian>Погрузить пациента</Russian>
|
||||||
|
<German>Patient einladen</German>
|
||||||
|
<Polish>Załaduj pacjenta</Polish>
|
||||||
|
<French>Embarquer le patient</French>
|
||||||
|
<Hungarian>Sebesült berakása</Hungarian>
|
||||||
|
<Italian>Carica il paziente</Italian>
|
||||||
|
<Portuguese>Carregar Paciente Em</Portuguese>
|
||||||
|
<Czech>Naložit pacienta</Czech>
|
||||||
|
<Japanese>患者を載せる</Japanese>
|
||||||
|
<Korean>환자 싣기</Korean>
|
||||||
|
<Chinesesimp>将伤者放入</Chinesesimp>
|
||||||
|
<Chinese>將傷者放入</Chinese>
|
||||||
|
</Key>
|
||||||
<Key ID="STR_ACE_Medical_GUI_allow">
|
<Key ID="STR_ACE_Medical_GUI_allow">
|
||||||
<English>Allow Medical Menu</English>
|
<English>Allow Medical Menu</English>
|
||||||
<German>Erlaube Sanitätsmenü</German>
|
<German>Erlaube Sanitätsmenü</German>
|
||||||
|
@ -44,7 +44,7 @@ class ACE_Medical_StateMachine {
|
|||||||
};
|
};
|
||||||
class Unconscious {
|
class Unconscious {
|
||||||
onState = QFUNC(handleStateUnconscious);
|
onState = QFUNC(handleStateUnconscious);
|
||||||
onStateEntered = QUOTE([ARR_2(_this,(true))] call EFUNC(medical,setUnconsciousStatemachine));
|
onStateEntered = QUOTE([ARR_2(_this,(true))] call EFUNC(medical_status,setUnconsciousStatemachine));
|
||||||
class DeathAI {
|
class DeathAI {
|
||||||
targetState = "Dead";
|
targetState = "Dead";
|
||||||
condition = QUOTE(!isPlayer _this && {EGVAR(medical,unconsciousConditionAI)});
|
condition = QUOTE(!isPlayer _this && {EGVAR(medical,unconsciousConditionAI)});
|
||||||
@ -53,7 +53,7 @@ class ACE_Medical_StateMachine {
|
|||||||
targetState = "Injured";
|
targetState = "Injured";
|
||||||
condition = QEFUNC(medical_status,hasStableVitals);
|
condition = QEFUNC(medical_status,hasStableVitals);
|
||||||
events[] = {QEGVAR(medical,WakeUp)};
|
events[] = {QEGVAR(medical,WakeUp)};
|
||||||
onTransition = QUOTE([ARR_2(_this,(false))] call EFUNC(medical,setUnconsciousStatemachine));
|
onTransition = QUOTE([ARR_2(_this,(false))] call EFUNC(medical_status,setUnconsciousStatemachine));
|
||||||
};
|
};
|
||||||
class FatalTransitions {
|
class FatalTransitions {
|
||||||
targetState = "CardiacArrest";
|
targetState = "CardiacArrest";
|
||||||
@ -94,7 +94,7 @@ class ACE_Medical_StateMachine {
|
|||||||
};
|
};
|
||||||
class Timeout {
|
class Timeout {
|
||||||
targetState = "Dead";
|
targetState = "Dead";
|
||||||
condition = QEFUNC(medical,conditionCardiacArrestTimer);
|
condition = QFUNC(conditionCardiacArrestTimer);
|
||||||
};
|
};
|
||||||
class Reanimation {
|
class Reanimation {
|
||||||
targetState = "Unconscious";
|
targetState = "Unconscious";
|
||||||
@ -102,7 +102,7 @@ class ACE_Medical_StateMachine {
|
|||||||
};
|
};
|
||||||
class Execution {
|
class Execution {
|
||||||
targetState = "Dead";
|
targetState = "Dead";
|
||||||
condition = QEFUNC(medical,conditionExecutionDeath);
|
condition = QFUNC(conditionExecutionDeath);
|
||||||
events[] = {QEGVAR(medical,FatalInjury)};
|
events[] = {QEGVAR(medical,FatalInjury)};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
PREP(conditionCardiacArrestTimer);
|
||||||
|
PREP(conditionExecutionDeath);
|
||||||
PREP(enteredStateCardiacArrest);
|
PREP(enteredStateCardiacArrest);
|
||||||
PREP(enteredStateFatalInjury);
|
PREP(enteredStateFatalInjury);
|
||||||
PREP(handleStateDefault);
|
PREP(handleStateDefault);
|
||||||
|
@ -1,2 +1 @@
|
|||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
@ -15,4 +15,4 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "\z\ace\addons\main\script_macros.hpp"
|
#include "\z\ace\addons\main\script_macros.hpp"
|
||||||
#include "\z\ace\addons\medical\script_macros_medical.hpp"
|
#include "\z\ace\addons\medical_engine\script_macros_medical.hpp"
|
||||||
|
@ -10,4 +10,4 @@ PREP(isBeingDragged);
|
|||||||
PREP(isInStableCondition);
|
PREP(isInStableCondition);
|
||||||
PREP(setCardiacArrest);
|
PREP(setCardiacArrest);
|
||||||
PREP(setDead);
|
PREP(setDead);
|
||||||
PREP(setUnconscious);
|
PREP(setUnconsciousStatemachine);
|
||||||
|
@ -26,4 +26,4 @@ _unit setVariable [VAR_HEART_RATE, 0, true];
|
|||||||
|
|
||||||
["ace_cardiacArrestEntered", [_unit]] call CBA_fnc_localEvent;
|
["ace_cardiacArrestEntered", [_unit]] call CBA_fnc_localEvent;
|
||||||
|
|
||||||
[_unit, true] call EFUNC(medical,setUnconsciousStatemachine);
|
[_unit, true] call FUNC(setUnconsciousStatemachine);
|
||||||
|
@ -15,4 +15,4 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "\z\ace\addons\main\script_macros.hpp"
|
#include "\z\ace\addons\main\script_macros.hpp"
|
||||||
#include "\z\ace\addons\medical\script_macros_medical.hpp"
|
#include "\z\ace\addons\medical_engine\script_macros_medical.hpp"
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
class GVAR(Actions) {
|
class GVAR(Actions) {
|
||||||
// --- bandages
|
// --- bandages
|
||||||
class BasicBandage {
|
class BasicBandage {
|
||||||
displayName = ECSTRING(medical,Bandage);
|
displayName = CSTRING(Bandage);
|
||||||
displayNameProgress = ECSTRING(medical,Bandaging);
|
displayNameProgress = CSTRING(Bandaging);
|
||||||
category = "bandage";
|
category = "bandage";
|
||||||
treatmentLocations[] = {"All"};
|
treatmentLocations[] = {"All"};
|
||||||
allowedSelections[] = {"All"};
|
allowedSelections[] = {"All"};
|
||||||
@ -31,7 +31,7 @@ class GVAR(Actions) {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
class FieldDressing: BasicBandage {
|
class FieldDressing: BasicBandage {
|
||||||
displayName = ECSTRING(medical,Actions_FieldDressing);
|
displayName = CSTRING(Actions_FieldDressing);
|
||||||
items[] = {"ACE_fieldDressing"};
|
items[] = {"ACE_fieldDressing"};
|
||||||
condition = QEGVAR(medical,advancedBandages);
|
condition = QEGVAR(medical,advancedBandages);
|
||||||
litter[] = {
|
litter[] = {
|
||||||
@ -40,7 +40,7 @@ class GVAR(Actions) {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
class PackingBandage: BasicBandage {
|
class PackingBandage: BasicBandage {
|
||||||
displayName = ECSTRING(medical,Actions_PackingBandage);
|
displayName = CSTRING(Actions_PackingBandage);
|
||||||
items[] = {"ACE_packingBandage"};
|
items[] = {"ACE_packingBandage"};
|
||||||
condition = QEGVAR(medical,advancedBandages);
|
condition = QEGVAR(medical,advancedBandages);
|
||||||
litter[] = {
|
litter[] = {
|
||||||
@ -50,7 +50,7 @@ class GVAR(Actions) {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
class ElasticBandage: BasicBandage {
|
class ElasticBandage: BasicBandage {
|
||||||
displayName = ECSTRING(medical,Actions_ElasticBandage);
|
displayName = CSTRING(Actions_ElasticBandage);
|
||||||
items[] = {"ACE_elasticBandage"};
|
items[] = {"ACE_elasticBandage"};
|
||||||
condition = QEGVAR(medical,advancedBandages);
|
condition = QEGVAR(medical,advancedBandages);
|
||||||
litter[] = {
|
litter[] = {
|
||||||
@ -59,7 +59,7 @@ class GVAR(Actions) {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
class QuikClot: BasicBandage {
|
class QuikClot: BasicBandage {
|
||||||
displayName = ECSTRING(medical,Actions_QuikClot);
|
displayName = CSTRING(Actions_QuikClot);
|
||||||
items[] = {"ACE_quikclot"};
|
items[] = {"ACE_quikclot"};
|
||||||
condition = QEGVAR(medical,advancedBandages);
|
condition = QEGVAR(medical,advancedBandages);
|
||||||
litter[] = {
|
litter[] = {
|
||||||
@ -71,8 +71,8 @@ class GVAR(Actions) {
|
|||||||
|
|
||||||
// --- tourniquet
|
// --- tourniquet
|
||||||
class Tourniquet: BasicBandage {
|
class Tourniquet: BasicBandage {
|
||||||
displayName = ECSTRING(medical,Apply_Tourniquet);
|
displayName = CSTRING(Apply_Tourniquet);
|
||||||
displayNameProgress = ECSTRING(medical,Applying_Tourniquet);
|
displayNameProgress = CSTRING(Applying_Tourniquet);
|
||||||
allowedSelections[] = {"LeftArm", "RightArm", "LeftLeg", "RightLeg"};
|
allowedSelections[] = {"LeftArm", "RightArm", "LeftLeg", "RightLeg"};
|
||||||
items[] = {"ACE_tourniquet"};
|
items[] = {"ACE_tourniquet"};
|
||||||
treatmentTime = 7;
|
treatmentTime = 7;
|
||||||
@ -81,8 +81,8 @@ class GVAR(Actions) {
|
|||||||
litter[] = {};
|
litter[] = {};
|
||||||
};
|
};
|
||||||
class RemoveTourniquet: Tourniquet {
|
class RemoveTourniquet: Tourniquet {
|
||||||
displayName = ECSTRING(medical,Actions_RemoveTourniquet);
|
displayName = CSTRING(Actions_RemoveTourniquet);
|
||||||
displayNameProgress = ECSTRING(medical,RemovingTourniquet);
|
displayNameProgress = CSTRING(RemovingTourniquet);
|
||||||
items[] = {};
|
items[] = {};
|
||||||
callbackSuccess = QFUNC(treatmentTourniquetRemove);
|
callbackSuccess = QFUNC(treatmentTourniquetRemove);
|
||||||
condition = QUOTE([ARR_2(_target,_bodyPart)] call FUNC(hasTourniquetAppliedTo));
|
condition = QUOTE([ARR_2(_target,_bodyPart)] call FUNC(hasTourniquetAppliedTo));
|
||||||
@ -90,8 +90,8 @@ class GVAR(Actions) {
|
|||||||
|
|
||||||
// --- syringes
|
// --- syringes
|
||||||
class Morphine: FieldDressing {
|
class Morphine: FieldDressing {
|
||||||
displayName = ECSTRING(medical,Inject_Morphine);
|
displayName = CSTRING(Inject_Morphine);
|
||||||
displayNameProgress = ECSTRING(medical,Injecting_Morphine);
|
displayNameProgress = CSTRING(Injecting_Morphine);
|
||||||
allowedSelections[] = {"LeftArm", "RightArm", "LeftLeg", "RightLeg"};
|
allowedSelections[] = {"LeftArm", "RightArm", "LeftLeg", "RightLeg"};
|
||||||
category = "medication";
|
category = "medication";
|
||||||
items[] = {"ACE_morphine"};
|
items[] = {"ACE_morphine"};
|
||||||
@ -103,22 +103,22 @@ class GVAR(Actions) {
|
|||||||
sounds[] = {{QPATHTO_R(sounds\Inject.ogg),1,1,50}};
|
sounds[] = {{QPATHTO_R(sounds\Inject.ogg),1,1,50}};
|
||||||
};
|
};
|
||||||
class Adenosine: Morphine {
|
class Adenosine: Morphine {
|
||||||
displayName = ECSTRING(medical,Inject_Adenosine);
|
displayName = CSTRING(Inject_Adenosine);
|
||||||
displayNameProgress = ECSTRING(medical,Injecting_Adenosine);
|
displayNameProgress = CSTRING(Injecting_Adenosine);
|
||||||
condition = QEGVAR(medical,advancedMedication);
|
condition = QEGVAR(medical,advancedMedication);
|
||||||
items[] = {"ACE_adenosine"};
|
items[] = {"ACE_adenosine"};
|
||||||
litter[] = { {"All", "", {"ACE_MedicalLitter_adenosine"}} };
|
litter[] = { {"All", "", {"ACE_MedicalLitter_adenosine"}} };
|
||||||
};
|
};
|
||||||
class Atropine: Morphine {
|
class Atropine: Morphine {
|
||||||
displayName = ECSTRING(medical,Inject_Atropine);
|
displayName = CSTRING(Inject_Atropine);
|
||||||
displayNameProgress = ECSTRING(medical,Injecting_Atropine);
|
displayNameProgress = CSTRING(Injecting_Atropine);
|
||||||
condition = QEGVAR(medical,advancedMedication);
|
condition = QEGVAR(medical,advancedMedication);
|
||||||
items[] = {"ACE_atropine"};
|
items[] = {"ACE_atropine"};
|
||||||
litter[] = { {"All", "", {"ACE_MedicalLitter_atropine"}} };
|
litter[] = { {"All", "", {"ACE_MedicalLitter_atropine"}} };
|
||||||
};
|
};
|
||||||
class Epinephrine: Morphine {
|
class Epinephrine: Morphine {
|
||||||
displayName = ECSTRING(medical,Inject_Epinephrine);
|
displayName = CSTRING(Inject_Epinephrine);
|
||||||
displayNameProgress = ECSTRING(medical,Injecting_Epinephrine);
|
displayNameProgress = CSTRING(Injecting_Epinephrine);
|
||||||
requiredMedic = QEGVAR(medical,medicSetting_Epi);
|
requiredMedic = QEGVAR(medical,medicSetting_Epi);
|
||||||
items[] = {"ACE_epinephrine"};
|
items[] = {"ACE_epinephrine"};
|
||||||
litter[] = { {"All", "", {"ACE_MedicalLitter_epinephrine"}} };
|
litter[] = { {"All", "", {"ACE_MedicalLitter_epinephrine"}} };
|
||||||
@ -127,8 +127,8 @@ class GVAR(Actions) {
|
|||||||
|
|
||||||
// --- iv bags
|
// --- iv bags
|
||||||
class BloodIV: BasicBandage {
|
class BloodIV: BasicBandage {
|
||||||
displayName = ECSTRING(medical,Actions_Blood4_1000);
|
displayName = CSTRING(Actions_Blood4_1000);
|
||||||
displayNameProgress = ECSTRING(medical,Transfusing_Blood);
|
displayNameProgress = CSTRING(Transfusing_Blood);
|
||||||
allowedSelections[] = {"LeftArm", "RightArm", "LeftLeg", "RightLeg"};
|
allowedSelections[] = {"LeftArm", "RightArm", "LeftLeg", "RightLeg"};
|
||||||
allowSelfTreatment = QEGVAR(medical,allowSelfIV);
|
allowSelfTreatment = QEGVAR(medical,allowSelfIV);
|
||||||
category = "advanced";
|
category = "advanced";
|
||||||
@ -141,46 +141,46 @@ class GVAR(Actions) {
|
|||||||
litter[] = {};
|
litter[] = {};
|
||||||
};
|
};
|
||||||
class BloodIV_500: BloodIV {
|
class BloodIV_500: BloodIV {
|
||||||
displayName = ECSTRING(medical,Actions_Blood4_500);
|
displayName = CSTRING(Actions_Blood4_500);
|
||||||
items[] = {"ACE_bloodIV_500"};
|
items[] = {"ACE_bloodIV_500"};
|
||||||
};
|
};
|
||||||
class BloodIV_250: BloodIV {
|
class BloodIV_250: BloodIV {
|
||||||
displayName = ECSTRING(medical,Actions_Blood4_250);
|
displayName = CSTRING(Actions_Blood4_250);
|
||||||
items[] = {"ACE_bloodIV_250"};
|
items[] = {"ACE_bloodIV_250"};
|
||||||
};
|
};
|
||||||
class PlasmaIV: BloodIV {
|
class PlasmaIV: BloodIV {
|
||||||
displayName = ECSTRING(medical,Actions_Plasma4_1000);
|
displayName = CSTRING(Actions_Plasma4_1000);
|
||||||
displayNameProgress = ECSTRING(medical,Transfusing_Plasma);
|
displayNameProgress = CSTRING(Transfusing_Plasma);
|
||||||
items[] = {"ACE_plasmaIV"};
|
items[] = {"ACE_plasmaIV"};
|
||||||
animationCaller = "AinvPknlMstpSnonWnonDnon_medic1";
|
animationCaller = "AinvPknlMstpSnonWnonDnon_medic1";
|
||||||
};
|
};
|
||||||
class PlasmaIV_500: PlasmaIV {
|
class PlasmaIV_500: PlasmaIV {
|
||||||
displayName = ECSTRING(medical,Actions_Plasma4_500);
|
displayName = CSTRING(Actions_Plasma4_500);
|
||||||
items[] = {"ACE_plasmaIV_500"};
|
items[] = {"ACE_plasmaIV_500"};
|
||||||
};
|
};
|
||||||
class PlasmaIV_250: PlasmaIV {
|
class PlasmaIV_250: PlasmaIV {
|
||||||
displayName = ECSTRING(medical,Actions_Plasma4_250);
|
displayName = CSTRING(Actions_Plasma4_250);
|
||||||
items[] = {"ACE_plasmaIV_250"};
|
items[] = {"ACE_plasmaIV_250"};
|
||||||
};
|
};
|
||||||
class SalineIV: BloodIV {
|
class SalineIV: BloodIV {
|
||||||
displayName = ECSTRING(medical,Actions_Saline4_1000);
|
displayName = CSTRING(Actions_Saline4_1000);
|
||||||
displayNameProgress = ECSTRING(medical,Transfusing_Saline);
|
displayNameProgress = CSTRING(Transfusing_Saline);
|
||||||
items[] = {"ACE_salineIV"};
|
items[] = {"ACE_salineIV"};
|
||||||
animationCaller = "AinvPknlMstpSnonWnonDnon_medic1";
|
animationCaller = "AinvPknlMstpSnonWnonDnon_medic1";
|
||||||
};
|
};
|
||||||
class SalineIV_500: SalineIV {
|
class SalineIV_500: SalineIV {
|
||||||
displayName = ECSTRING(medical,Actions_Saline4_500);
|
displayName = CSTRING(Actions_Saline4_500);
|
||||||
items[] = {"ACE_salineIV_500"};
|
items[] = {"ACE_salineIV_500"};
|
||||||
};
|
};
|
||||||
class SalineIV_250: SalineIV {
|
class SalineIV_250: SalineIV {
|
||||||
displayName = ECSTRING(medical,Actions_Saline4_250);
|
displayName = CSTRING(Actions_Saline4_250);
|
||||||
items[] = {"ACE_salineIV_250"};
|
items[] = {"ACE_salineIV_250"};
|
||||||
};
|
};
|
||||||
|
|
||||||
// --- diagnose
|
// --- diagnose
|
||||||
class Diagnose: BasicBandage {
|
class Diagnose: BasicBandage {
|
||||||
displayName = ECSTRING(medical,Actions_Diagnose);
|
displayName = CSTRING(Actions_Diagnose);
|
||||||
displayNameProgress = ECSTRING(medical,Actions_Diagnosing);
|
displayNameProgress = CSTRING(Actions_Diagnosing);
|
||||||
category = "examine";
|
category = "examine";
|
||||||
treatmentLocations[] = {"All"};
|
treatmentLocations[] = {"All"};
|
||||||
allowedSelections[] = {"Head", "Body"};
|
allowedSelections[] = {"Head", "Body"};
|
||||||
@ -197,8 +197,8 @@ class GVAR(Actions) {
|
|||||||
litter[] = {};
|
litter[] = {};
|
||||||
};
|
};
|
||||||
class CheckPulse: Diagnose {
|
class CheckPulse: Diagnose {
|
||||||
displayName = ECSTRING(medical,Actions_CheckPulse);
|
displayName = CSTRING(Actions_CheckPulse);
|
||||||
displayNameProgress = ECSTRING(medical,Check_Pulse_Content);
|
displayNameProgress = CSTRING(Check_Pulse_Content);
|
||||||
allowedSelections[] = {"All"};
|
allowedSelections[] = {"All"};
|
||||||
condition = QEGVAR(medical,advancedDiagnose);
|
condition = QEGVAR(medical,advancedDiagnose);
|
||||||
callbackSuccess = QFUNC(actionCheckPulse);
|
callbackSuccess = QFUNC(actionCheckPulse);
|
||||||
@ -206,14 +206,14 @@ class GVAR(Actions) {
|
|||||||
animationCallerSelfProne = "";
|
animationCallerSelfProne = "";
|
||||||
};
|
};
|
||||||
class CheckBloodPressure: CheckPulse {
|
class CheckBloodPressure: CheckPulse {
|
||||||
displayName = ECSTRING(medical,Actions_CheckBloodPressure);
|
displayName = CSTRING(Actions_CheckBloodPressure);
|
||||||
displayNameProgress = ECSTRING(medical,Check_Bloodpressure_Content);
|
displayNameProgress = CSTRING(Check_Bloodpressure_Content);
|
||||||
allowedSelections[] = {"LeftArm", "RightArm", "LeftLeg", "RightLeg"};
|
allowedSelections[] = {"LeftArm", "RightArm", "LeftLeg", "RightLeg"};
|
||||||
callbackSuccess = QFUNC(actionCheckBloodPressure);
|
callbackSuccess = QFUNC(actionCheckBloodPressure);
|
||||||
};
|
};
|
||||||
class CheckResponse: CheckPulse {
|
class CheckResponse: CheckPulse {
|
||||||
displayName = ECSTRING(medical,Check_Response);
|
displayName = CSTRING(Check_Response);
|
||||||
displayNameProgress = ECSTRING(medical,Check_Response_Content);
|
displayNameProgress = CSTRING(Check_Response_Content);
|
||||||
allowedSelections[] = {"Head"};
|
allowedSelections[] = {"Head"};
|
||||||
allowSelfTreatment = 0;
|
allowSelfTreatment = 0;
|
||||||
callbackSuccess = QFUNC(actionCheckResponse);
|
callbackSuccess = QFUNC(actionCheckResponse);
|
||||||
@ -221,8 +221,8 @@ class GVAR(Actions) {
|
|||||||
|
|
||||||
// --- misc
|
// --- misc
|
||||||
class BodyBag: BasicBandage {
|
class BodyBag: BasicBandage {
|
||||||
displayName = ECSTRING(medical,PlaceInBodyBag);
|
displayName = CSTRING(PlaceInBodyBag);
|
||||||
displayNameProgress = ECSTRING(medical,PlacingInBodyBag);
|
displayNameProgress = CSTRING(PlacingInBodyBag);
|
||||||
category = "advanced";
|
category = "advanced";
|
||||||
treatmentLocations[] = {"All"};
|
treatmentLocations[] = {"All"};
|
||||||
allowSelfTreatment = 0;
|
allowSelfTreatment = 0;
|
||||||
@ -239,8 +239,8 @@ class GVAR(Actions) {
|
|||||||
litter[] = {};
|
litter[] = {};
|
||||||
};
|
};
|
||||||
class CPR: BasicBandage {
|
class CPR: BasicBandage {
|
||||||
displayName = ECSTRING(medical,Actions_CPR);
|
displayName = CSTRING(Actions_CPR);
|
||||||
displayNameProgress = ECSTRING(medical,Actions_PerformingCPR);
|
displayNameProgress = CSTRING(Actions_PerformingCPR);
|
||||||
category = "advanced";
|
category = "advanced";
|
||||||
treatmentLocations[] = {"All"};
|
treatmentLocations[] = {"All"};
|
||||||
allowedSelections[] = {"Body"};
|
allowedSelections[] = {"Body"};
|
||||||
@ -264,8 +264,8 @@ class GVAR(Actions) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
class SurgicalKit: FieldDressing {
|
class SurgicalKit: FieldDressing {
|
||||||
displayName = ECSTRING(medical,Use_SurgicalKit);
|
displayName = CSTRING(Use_SurgicalKit);
|
||||||
displayNameProgress = ECSTRING(medical,Stitching);
|
displayNameProgress = CSTRING(Stitching);
|
||||||
category = "advanced";
|
category = "advanced";
|
||||||
items[] = {"ACE_surgicalKit"};
|
items[] = {"ACE_surgicalKit"};
|
||||||
treatmentLocations[] = {QEGVAR(medical,useLocation_SurgicalKit)};
|
treatmentLocations[] = {QEGVAR(medical,useLocation_SurgicalKit)};
|
||||||
@ -279,8 +279,8 @@ class GVAR(Actions) {
|
|||||||
litter[] = { {"All", "", {"ACE_MedicalLitter_gloves"} }};
|
litter[] = { {"All", "", {"ACE_MedicalLitter_gloves"} }};
|
||||||
};
|
};
|
||||||
class PersonalAidKit: BasicBandage {
|
class PersonalAidKit: BasicBandage {
|
||||||
displayName = ECSTRING(medical,Use_Aid_Kit);
|
displayName = CSTRING(Use_Aid_Kit);
|
||||||
displayNameProgress = ECSTRING(medical,TreatmentAction);
|
displayNameProgress = CSTRING(TreatmentAction);
|
||||||
category = "advanced";
|
category = "advanced";
|
||||||
condition = QUOTE(_target call EFUNC(medical_status,isInStableCondition));
|
condition = QUOTE(_target call EFUNC(medical_status,isInStableCondition));
|
||||||
items[] = {"ACE_personalAidKit"};
|
items[] = {"ACE_personalAidKit"};
|
||||||
@ -302,7 +302,7 @@ class GVAR(Actions) {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
class MedKit: PersonalAidKit {
|
class MedKit: PersonalAidKit {
|
||||||
displayName = ECSTRING(medical,Use_Med_Kit);
|
displayName = CSTRING(Use_Med_Kit);
|
||||||
items[] = {"ACE_medKit"};
|
items[] = {"ACE_medKit"};
|
||||||
treatmentLocations[] = {QEGVAR(medical,useLocation_MedKit)};
|
treatmentLocations[] = {QEGVAR(medical,useLocation_MedKit)};
|
||||||
requiredMedic = QEGVAR(medical,medicSetting_MedKit);
|
requiredMedic = QEGVAR(medical,medicSetting_MedKit);
|
||||||
|
@ -35,7 +35,7 @@ class Cfg3DEN {
|
|||||||
control = QGVAR(isMedicControl);
|
control = QGVAR(isMedicControl);
|
||||||
displayName = CSTRING(AssignMedicRoles_role_DisplayName);
|
displayName = CSTRING(AssignMedicRoles_role_DisplayName);
|
||||||
tooltip = CSTRING(Attributes_isMedic_Description);
|
tooltip = CSTRING(Attributes_isMedic_Description);
|
||||||
expression = QUOTE(if (_value > -1) then {_this setVariable [ARR_3(QUOTE(QGVAR(medicClass)),_value, true)];};);
|
expression = QUOTE(if (_value > -1) then {_this setVariable [ARR_3(QQEGVAR(medical,medicClass),_value,true)];};);
|
||||||
typeName = "NUMBER";
|
typeName = "NUMBER";
|
||||||
condition = "objectBrain";
|
condition = "objectBrain";
|
||||||
defaultValue = "-1";
|
defaultValue = "-1";
|
||||||
@ -46,7 +46,7 @@ class Cfg3DEN {
|
|||||||
control = "CheckboxNumber";
|
control = "CheckboxNumber";
|
||||||
displayName = CSTRING(AssignMedicVehicle_enabled_DisplayName);
|
displayName = CSTRING(AssignMedicVehicle_enabled_DisplayName);
|
||||||
tooltip = CSTRING(Attributes_isMedicalVehicle_Description);
|
tooltip = CSTRING(Attributes_isMedicalVehicle_Description);
|
||||||
expression = QUOTE(_this setVariable [ARR_3(QUOTE(QGVAR(medicClass)),_value, true)];);
|
expression = QUOTE(_this setVariable [ARR_3(QQEGVAR(medical,medicClass),_value,true)];);
|
||||||
typeName = "NUMBER";
|
typeName = "NUMBER";
|
||||||
condition = "objectVehicle";
|
condition = "objectVehicle";
|
||||||
defaultValue = 0;
|
defaultValue = 0;
|
||||||
@ -57,7 +57,7 @@ class Cfg3DEN {
|
|||||||
control = "Checkbox";
|
control = "Checkbox";
|
||||||
displayName = CSTRING(AssignMedicalFacility_enabled_DisplayName);
|
displayName = CSTRING(AssignMedicalFacility_enabled_DisplayName);
|
||||||
tooltip = CSTRING(AssignMedicalFacility_enabled_Description);
|
tooltip = CSTRING(AssignMedicalFacility_enabled_Description);
|
||||||
expression = QUOTE(_this setVariable [ARR_3(QUOTE(QGVAR(isMedicalFacility)),_value, true)];);
|
expression = QUOTE(_this setVariable [ARR_3(QQEQGVAR(medical,isMedicalFacility),_value,true)];);
|
||||||
typeName = "BOOL";
|
typeName = "BOOL";
|
||||||
condition = "(1 - objectBrain) * (1 - objectVehicle)";
|
condition = "(1 - objectBrain) * (1 - objectVehicle)";
|
||||||
defaultValue = "false";
|
defaultValue = "false";
|
325
addons/medical_treatment/CfgVehicles.hpp
Normal file
325
addons/medical_treatment/CfgVehicles.hpp
Normal file
@ -0,0 +1,325 @@
|
|||||||
|
class CBA_Extended_EventHandlers;
|
||||||
|
class CfgVehicles {
|
||||||
|
// Bodybag vehicle
|
||||||
|
class MapBoard_altis_F;
|
||||||
|
class ACE_bodyBagObject: MapBoard_altis_F {
|
||||||
|
class EventHandlers {
|
||||||
|
class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {};
|
||||||
|
};
|
||||||
|
|
||||||
|
scope = 1;
|
||||||
|
scopeCurator = 2;
|
||||||
|
side = -1;
|
||||||
|
model = QPATHTOEF(apl,ace_bodybag.p3d);
|
||||||
|
icon = "";
|
||||||
|
displayName = CSTRING(Bodybag_Display);
|
||||||
|
EGVAR(dragging,canDrag) = 1;
|
||||||
|
EGVAR(dragging,dragPosition)[] = {0,1.2,0};
|
||||||
|
EGVAR(dragging,dragDirection) = 0;
|
||||||
|
EGVAR(cargo,size) = 1;
|
||||||
|
EGVAR(cargo,canLoad) = 1;
|
||||||
|
hiddenSelections[] = {"camo"};
|
||||||
|
hiddenSelectionsTextures[] = {QPATHTOEF(apl,data\bodybag_co.paa)};
|
||||||
|
class ACE_Actions {
|
||||||
|
class ACE_MainActions {
|
||||||
|
displayName = ECSTRING(interaction,MainAction);
|
||||||
|
distance = 5;
|
||||||
|
condition = QUOTE(true);
|
||||||
|
statement = "";
|
||||||
|
icon = "\a3\ui_f\data\IGUI\Cfg\Actions\eject_ca.paa";
|
||||||
|
selection = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// Medical litter classes
|
||||||
|
class Thing;
|
||||||
|
class ACE_MedicalLitterBase: Thing {
|
||||||
|
scope = 1;
|
||||||
|
scopeCurator = 0;
|
||||||
|
displayName = " ";
|
||||||
|
destrType = "DestructNo";
|
||||||
|
model = QPATHTOF(data\littergeneric.p3d);
|
||||||
|
};
|
||||||
|
class ACE_MedicalLitter_clean: ACE_MedicalLitterBase {
|
||||||
|
model = QPATHTOF(data\littergeneric_clean.p3d);
|
||||||
|
};
|
||||||
|
class ACE_MedicalLitter_bandage1: ACE_MedicalLitterBase {
|
||||||
|
model = QPATHTOF(data\littergeneric_bandages1.p3d);
|
||||||
|
};
|
||||||
|
class ACE_MedicalLitter_bandage2: ACE_MedicalLitterBase {
|
||||||
|
model = QPATHTOF(data\littergeneric_bandages2.p3d);
|
||||||
|
};
|
||||||
|
class ACE_MedicalLitter_bandage3: ACE_MedicalLitterBase {
|
||||||
|
model = QPATHTOF(data\littergeneric_bandages3.p3d);
|
||||||
|
};
|
||||||
|
class ACE_MedicalLitter_packingBandage: ACE_MedicalLitterBase {
|
||||||
|
model = QPATHTOF(data\littergeneric_packingBandage.p3d);
|
||||||
|
};
|
||||||
|
class ACE_MedicalLitter_gloves: ACE_MedicalLitterBase {
|
||||||
|
model = QPATHTOF(data\littergeneric_gloves.p3d);
|
||||||
|
};
|
||||||
|
class ACE_MedicalLitter_adenosine: ACE_MedicalLitterBase {
|
||||||
|
model = QPATHTOF(data\littergeneric_adenosine.p3d);
|
||||||
|
};
|
||||||
|
class ACE_MedicalLitter_atropine: ACE_MedicalLitterBase {
|
||||||
|
model = QPATHTOF(data\littergeneric_atropine.p3d);
|
||||||
|
};
|
||||||
|
class ACE_MedicalLitter_epinephrine: ACE_MedicalLitterBase {
|
||||||
|
model = QPATHTOF(data\littergeneric_epinephrine.p3d);
|
||||||
|
};
|
||||||
|
class ACE_MedicalLitter_morphine: ACE_MedicalLitterBase {
|
||||||
|
model = QPATHTOF(data\littergeneric_morphine.p3d);
|
||||||
|
};
|
||||||
|
class ACE_MedicalLitter_QuickClot: ACE_MedicalLitterBase {
|
||||||
|
model = QPATHTOF(data\littergeneric_Quikclot.p3d);
|
||||||
|
};
|
||||||
|
|
||||||
|
// Treatment items
|
||||||
|
class Item_Base_F;
|
||||||
|
class ACE_fieldDressingItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(Bandage_Basic_Display);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_fieldDressing,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_packingBandageItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(Packing_Bandage_Display);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_packingBandage,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_elasticBandageItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(Bandage_Elastic_Display);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_elasticBandage,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_tourniquetItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(Tourniquet_Display);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_tourniquet,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_morphineItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(Morphine_Display);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_morphine,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_adenosineItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(Adenosine_Display);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_adenosine,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_atropineItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(Atropine_Display);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_atropine,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_epinephrineItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(Epinephrine_Display);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_epinephrine,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_plasmaIVItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(Plasma_IV);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_plasmaIV,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
class ACE_bloodIVItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(Blood_IV);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_bloodIV,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_salineIVItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(Saline_IV);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_salineIV,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_quikClotItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(QuikClot_Display);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_quikclot,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_medKitItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(Med_Kit_Display);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_medKit,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_personalAidKitItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(Aid_Kit_Display);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_personalAidKit,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_surgicalKitItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(SurgicalKit_Display);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_surgicalKit,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_bodyBagItem: Item_Base_F {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
displayName = CSTRING(Bodybag_Display);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
vehicleClass = "Items";
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_bodyBag,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
// Medical supply crates
|
||||||
|
class ThingX;
|
||||||
|
class ReammoBox_F: ThingX {
|
||||||
|
class ACE_Actions;
|
||||||
|
};
|
||||||
|
class NATO_Box_Base: ReammoBox_F {
|
||||||
|
class ACE_Actions: ACE_Actions {
|
||||||
|
class ACE_MainActions;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_medicalSupplyCrate: NATO_Box_Base {
|
||||||
|
scope = 2;
|
||||||
|
scopeCurator = 2;
|
||||||
|
accuracy = 1000;
|
||||||
|
displayName = CSTRING(medicalSupplyCrate);
|
||||||
|
model = QPATHTOF(data\ace_medcrate.p3d);
|
||||||
|
author = ECSTRING(common,ACETeam);
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_fieldDressing,50);
|
||||||
|
MACRO_ADDITEM(ACE_morphine,25);
|
||||||
|
MACRO_ADDITEM(ACE_epinephrine,25);
|
||||||
|
MACRO_ADDITEM(ACE_bloodIV,15);
|
||||||
|
MACRO_ADDITEM(ACE_bloodIV_500,15);
|
||||||
|
MACRO_ADDITEM(ACE_bloodIV_250,15);
|
||||||
|
MACRO_ADDITEM(ACE_bodyBag,10);
|
||||||
|
};
|
||||||
|
class AnimationSources {
|
||||||
|
class Cover {
|
||||||
|
source = "user";
|
||||||
|
animPeriod = 1.5;
|
||||||
|
initPhase = 0;
|
||||||
|
minValue = 0;
|
||||||
|
maxValue = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_Actions: ACE_Actions {
|
||||||
|
class ACE_MainActions: ACE_MainActions {
|
||||||
|
selection = "cover_action";
|
||||||
|
|
||||||
|
class ACE_OpenLid {
|
||||||
|
displayName = CSTRING(openLid);
|
||||||
|
condition = QUOTE(alive _target && {_target animationPhase 'Cover' < 0.5});
|
||||||
|
statement = QUOTE(_target animate ARR_2(['Cover',1]));
|
||||||
|
showDisabled = 0;
|
||||||
|
priority = -1;
|
||||||
|
};
|
||||||
|
class ACE_CloseLid {
|
||||||
|
displayName = CSTRING(closeLid);
|
||||||
|
condition = QUOTE(alive _target && {_target animationPhase 'Cover' >= 0.5});
|
||||||
|
statement = QUOTE(_target animate ARR_2(['Cover',0]));
|
||||||
|
showDisabled = 0;
|
||||||
|
priority = -1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ACE_medicalSupplyCrate_advanced: ACE_medicalSupplyCrate {
|
||||||
|
displayName = CSTRING(medicalSupplyCrate_advanced);
|
||||||
|
class TransportItems {
|
||||||
|
MACRO_ADDITEM(ACE_fieldDressing,25);
|
||||||
|
MACRO_ADDITEM(ACE_packingBandage,25);
|
||||||
|
MACRO_ADDITEM(ACE_elasticBandage,25);
|
||||||
|
MACRO_ADDITEM(ACE_tourniquet,15);
|
||||||
|
MACRO_ADDITEM(ACE_morphine,15);
|
||||||
|
MACRO_ADDITEM(ACE_adenosine,15);
|
||||||
|
MACRO_ADDITEM(ACE_atropine,15);
|
||||||
|
MACRO_ADDITEM(ACE_epinephrine,15);
|
||||||
|
MACRO_ADDITEM(ACE_plasmaIV,7);
|
||||||
|
MACRO_ADDITEM(ACE_plasmaIV_500,7);
|
||||||
|
MACRO_ADDITEM(ACE_plasmaIV_250,7);
|
||||||
|
MACRO_ADDITEM(ACE_salineIV,7);
|
||||||
|
MACRO_ADDITEM(ACE_salineIV_500,7);
|
||||||
|
MACRO_ADDITEM(ACE_salineIV_250,7);
|
||||||
|
MACRO_ADDITEM(ACE_bloodIV,7);
|
||||||
|
MACRO_ADDITEM(ACE_bloodIV_500,7);
|
||||||
|
MACRO_ADDITEM(ACE_bloodIV_250,7);
|
||||||
|
MACRO_ADDITEM(ACE_quikClot,20);
|
||||||
|
MACRO_ADDITEM(ACE_medKit,20);
|
||||||
|
MACRO_ADDITEM(ACE_personalAidKit,3);
|
||||||
|
MACRO_ADDITEM(ACE_surgicalKit,2);
|
||||||
|
MACRO_ADDITEM(ACE_bodyBag,5);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
@ -41,6 +41,7 @@ PREP(treatmentTourniquetRemove);
|
|||||||
// misc
|
// misc
|
||||||
PREP(addToLog);
|
PREP(addToLog);
|
||||||
PREP(addToTriageCard);
|
PREP(addToTriageCard);
|
||||||
|
PREP(bodyCleanupLoop);
|
||||||
PREP(calculateBlood);
|
PREP(calculateBlood);
|
||||||
PREP(canAccessMedicalEquipment);
|
PREP(canAccessMedicalEquipment);
|
||||||
PREP(dropDownTriageCard);
|
PREP(dropDownTriageCard);
|
||||||
@ -54,6 +55,7 @@ PREP(isInMedicalVehicle);
|
|||||||
PREP(isMedic);
|
PREP(isMedic);
|
||||||
PREP(isMedicalVehicle);
|
PREP(isMedicalVehicle);
|
||||||
PREP(onMedicationUsage);
|
PREP(onMedicationUsage);
|
||||||
|
PREP(serverRemoveBody);
|
||||||
|
|
||||||
// items
|
// items
|
||||||
PREP(checkItems);
|
PREP(checkItems);
|
||||||
|
@ -3,9 +3,10 @@
|
|||||||
[QEGVAR(medical,initialized), FUNC(checkItems)] call CBA_fnc_addEventHandler;
|
[QEGVAR(medical,initialized), FUNC(checkItems)] call CBA_fnc_addEventHandler;
|
||||||
["loadout", FUNC(checkItems)] call CBA_fnc_addPlayerEventHandler;
|
["loadout", FUNC(checkItems)] call CBA_fnc_addPlayerEventHandler;
|
||||||
|
|
||||||
|
// Handle bodybags and litter on server
|
||||||
if (isServer) then {
|
if (isServer) then {
|
||||||
[QGVAR(createLitterServer), FUNC(litterHandleCreate)] call CBA_fnc_addEventHandler;
|
[QGVAR(createLitterServer), FUNC(litterHandleCreate)] call CBA_fnc_addEventHandler;
|
||||||
|
["ace_placedInBodyBag", FUNC(serverRemoveBody)] call CBA_fnc_addEventHandler;
|
||||||
};
|
};
|
||||||
|
|
||||||
// treatment events
|
// treatment events
|
||||||
|
@ -14,7 +14,10 @@ class CfgPatches {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
#include "CfgEventHandlers.hpp"
|
|
||||||
#include "ACE_Medical_Treatment.hpp"
|
#include "ACE_Medical_Treatment.hpp"
|
||||||
#include "ACE_Medical_Treatment_Actions.hpp"
|
#include "ACE_Medical_Treatment_Actions.hpp"
|
||||||
#include "ACE_Settings.hpp"
|
#include "ACE_Settings.hpp"
|
||||||
|
#include "CfgEden.hpp"
|
||||||
|
#include "CfgEventHandlers.hpp"
|
||||||
|
#include "CfgVehicles.hpp"
|
||||||
|
#include "CfgWeapons.hpp"
|
||||||
|
@ -14,7 +14,7 @@ PixelShaderID = "Super";
|
|||||||
VertexShaderID = "Super";
|
VertexShaderID = "Super";
|
||||||
class Stage1
|
class Stage1
|
||||||
{
|
{
|
||||||
texture = "z\ace\addons\medical\data\IVBag_nohq.paa";
|
texture = "z\ace\addons\medical_treatment\data\IVBag_nohq.paa";
|
||||||
uvSource = "tex";
|
uvSource = "tex";
|
||||||
class uvTransform
|
class uvTransform
|
||||||
{
|
{
|
BIN
addons/medical_treatment/data/IVBag_1000ml.p3d
Normal file
BIN
addons/medical_treatment/data/IVBag_1000ml.p3d
Normal file
Binary file not shown.
BIN
addons/medical_treatment/data/IVBag_250ml.p3d
Normal file
BIN
addons/medical_treatment/data/IVBag_250ml.p3d
Normal file
Binary file not shown.
BIN
addons/medical_treatment/data/IVBag_500ml.p3d
Normal file
BIN
addons/medical_treatment/data/IVBag_500ml.p3d
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user