Merge remote-tracking branch 'origin/master' into basic-med-options

Conflicts:
	addons/medical/functions/fnc_getBloodLoss.sqf
	addons/medical/functions/fnc_handleDamage_basic.sqf
This commit is contained in:
KoffeinFlummi 2015-05-01 01:25:16 +02:00
commit 53835605ea
97 changed files with 638 additions and 578 deletions

View File

@ -1,4 +1,4 @@
["ACE3", QGVAR(ProtractorKey), localize "STR_ACE_AdvancedBallistics_ProtractorKey",
["ACE3 Equipment", QGVAR(ProtractorKey), localize "STR_ACE_AdvancedBallistics_ProtractorKey",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -1,4 +1,4 @@
["ACE3", QGVAR(ATragMXDialogKey), localize "STR_ACE_ATragMX_ATragMXDialogKey",
["ACE3 Equipment", QGVAR(ATragMXDialogKey), localize "STR_ACE_ATragMX_ATragMXDialogKey",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -227,6 +227,7 @@ GVAR(OldIsCamera) = false;
["displayTextStructured", FUNC(displayTextStructured)] call FUNC(addEventhandler);
["displayTextPicture", FUNC(displayTextPicture)] call FUNC(addEventhandler);
["medical_onUnconscious", {if (local (_this select 0) && {!(_this select 1)}) then {[ _this select 0, false, QUOTE(FUNC(loadPerson)), west /* dummy side */] call FUNC(switchToGroupSide);};}] call FUNC(addEventhandler);
["notOnMap", {!visibleMap}] call FUNC(addCanInteractWithCondition);
["isNotInside", {

View File

@ -1,59 +1,44 @@
/**
* fn_unloadPerson_f.sqf
* @Descr: Unload a person from a vehicle
* @Author: Glowbal
/*
* Author: Glowbal
* Unload a person from a vehicle
*
* @Arguments: [caller OBJECT, unit OBJECT]
* @Return: BOOL Returns true if succesfully unloaded person
* @PublicAPI: true
* Arguments:
* 0: unit <OBJECT>
*
* Return Value:
* Returns true if succesfully unloaded person <BOOL>
*
* Public: No
*/
#include "script_component.hpp"
#define GROUP_SWITCH_ID QUOTE(FUNC(loadPerson))
private ["_caller", "_unit","_vehicle", "_loaded"];
_caller = [_this, 0, ObjNull,[ObjNull]] call BIS_fnc_Param;
_unit = [_this, 1, ObjNull,[ObjNull]] call BIS_fnc_Param;
private ["_unit","_vehicle", "_loaded", "_emptyPos"];
_unit = _this select 0;
_vehicle = vehicle _unit;
if (_vehicle == _unit) exitwith {false;};
if !(speed _vehicle <1 && (((getpos _vehicle) select 2) < 2)) exitwith {false;};
if (!([_caller] call FUNC(isAwake))) exitwith{false;};
moveOut _unit;
_emptyPos = ((getPos _vehicle) findEmptyPosition [0, 10, typeof _unit]);
if (count _emptyPos == 0) exitwith {false};
_unit setPos _emptyPos;
unassignVehicle _unit;
if (!alive _unit) then {
_unit action ["Eject", vehicle _unit];
};
[_unit, false, GROUP_SWITCH_ID, side group _caller] call FUNC(switchToGroupSide);
[_unit, false, GROUP_SWITCH_ID, side group _unit] call FUNC(switchToGroupSide);
_loaded = _vehicle getvariable [QGVAR(loaded_persons),[]];
_loaded = _loaded - [_unit];
_vehicle setvariable [QGVAR(loaded_persons),_loaded,true];
if (!([_unit] call FUNC(isAwake))) then {
_handle = [_unit,_vehicle] spawn {
private ["_unit","_vehicle"];
_unit = _this select 0;
_vehicle = _this select 1;
waituntil {vehicle _unit != _vehicle};
[_unit,([_unit] call FUNC(getDeathAnim)), 1, true] call FUNC(doAnimation);
[format["Unit should move into death anim: %1", _unit]] call FUNC(debug);
};
} else {
if ([_unit] call FUNC(isArrested)) then {
_handle = [_unit,_vehicle] spawn {
_unit = _this select 0;
_vehicle = _this select 1;
waituntil {vehicle _unit != _vehicle};
[_unit,"UnaErcPoslechVelitele2", 1] call FUNC(doAnimation);
[format["Unit should move into arrested anim: %1", _unit]] call FUNC(debug);
};
} else {
[format["Unit should move into normal anim: %1", _unit]] call FUNC(debug);
};
[_unit,([_unit] call FUNC(getDeathAnim)), 1, true] call FUNC(doAnimation);
};
true;

View File

@ -22,4 +22,4 @@ if !([_unit, _target, []] call EFUNC(common,canInteractWith)) exitWith {false};
// a static weapon has to be empty for dragging
if ((typeOf _target) isKindOf "StaticWeapon" && {count crew _target > 0}) exitWith {false};
alive _target && {_target getVariable [QGVAR(canCarry), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})}
alive _target && {vehicle _target == _target} && {_target getVariable [QGVAR(canCarry), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})}

View File

@ -22,4 +22,4 @@ if !([_unit, _target, []] call EFUNC(common,canInteractWith)) exitWith {false};
// a static weapon has to be empty for dragging
if ((typeOf _target) isKindOf "StaticWeapon" && {count crew _target > 0}) exitWith {false};
alive _target && {_target getVariable [QGVAR(canDrag), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})};
alive _target && {vehicle _target == _target} && {_target getVariable [QGVAR(canDrag), false]} && {animationState _target in ["", "unconscious"] || (_target getvariable ["ACE_isUnconscious", false]) || (_target isKindOf "CAManBase" && {(_target getHitPointDamage "HitLegs") > 0.4})};

View File

@ -1,6 +1,6 @@
// by commy2
["ACE3", QGVAR(lazeTarget), localize "STR_ACE_FCS_LaseTarget",
["ACE3 Vehicles", QGVAR(lazeTarget), localize "STR_ACE_FCS_LaseTarget",
{
// Conditions: canInteract
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -30,7 +30,7 @@
},
[15, [false, false, false]], false] call cba_fnc_addKeybind; //Tab Key
["ACE3", QGVAR(adjustRangeUp), localize "STR_ACE_FCS_AdjustRangeUp",
["ACE3 Vehicles", QGVAR(adjustRangeUp), localize "STR_ACE_FCS_AdjustRangeUp",
{
// Conditions: canInteract
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -44,7 +44,7 @@
{false},
[201, [false, false, false]], false] call cba_fnc_addKeybind; //PageUp Key
["ACE3", QGVAR(adjustRangDown), localize "STR_ACE_FCS_AdjustRangeDown",
["ACE3 Vehicles", QGVAR(adjustRangDown), localize "STR_ACE_FCS_AdjustRangeDown",
{
// Conditions: canInteract
if !([ACE_player, vehicle ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -10,7 +10,7 @@ GVAR(flashbangPPEffectCC) = ppEffectCreate ["ColorCorrections", 4265];
GVAR(flashbangPPEffectCC) ppEffectForceInNVG true;
// Add keybinds
["ACE3", QGVAR(switchGrenadeMode), localize "STR_ACE_Grenades_SwitchGrenadeMode",
["ACE3 Weapons", QGVAR(switchGrenadeMode), localize "STR_ACE_Grenades_SwitchGrenadeMode",
{
// Conditions: canInteract
if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -34,8 +34,7 @@ addMissionEventHandler ["Draw3D", DFUNC(render)];
if !([ACE_player, objNull, ["isNotInside","isNotDragging", "isNotCarrying", "isNotSwimming", "notOnMap", "isNotEscorting", "isNotSurrendering"]] call EFUNC(common,canInteractWith)) exitWith {false};
// Statement
[0] call FUNC(keyDown)
},
{[0] call FUNC(keyUp)},
},{[0,false] call FUNC(keyUp)},
[219, [false, false, false]], false] call cba_fnc_addKeybind; //Left Windows Key
["ACE3", QGVAR(SelfInteractKey), (localize "STR_ACE_Interact_Menu_SelfInteractKey"),
@ -44,8 +43,7 @@ addMissionEventHandler ["Draw3D", DFUNC(render)];
if !([ACE_player, objNull, ["isNotInside","isNotDragging", "isNotCarrying", "isNotSwimming", "notOnMap", "isNotEscorting", "isNotSurrendering"]] call EFUNC(common,canInteractWith)) exitWith {false};
// Statement
[1] call FUNC(keyDown)
},
{[1] call FUNC(keyUp)},
},{[1,false] call FUNC(keyUp)},
[219, [false, true, false]], false] call cba_fnc_addKeybind; //Left Windows Key + Ctrl/Strg

View File

@ -68,6 +68,12 @@ class ACE_Settings {
isClientSettable = 1;
displayName = "$STR_ACE_Interact_Menu_ColorShadowMin";
};
class GVAR(actionOnKeyRelease) {
value = 1;
typeName = "BOOL";
isClientSettable = 1;
displayName = "$STR_ACE_Interact_Menu_ActionOnKeyRelease";
};
};
class ACE_Extensions {

View File

@ -15,7 +15,11 @@ EXPLODE_2_PVT(_this,_newUnit,_oldUnit);
// add to new unit
private "_ehid";
_ehid = [_newUnit, "DefaultAction", {EGVAR(interact_menu,openedMenuType) >= 0}, {}] call EFUNC(common,addActionEventHandler);
_ehid = [_newUnit, "DefaultAction", {GVAR(openedMenuType) >= 0}, {
if !(GVAR(actionOnKeyRelease)) then {
[GVAR(openedMenuType),true] call FUNC(keyUp);
};
}] call EFUNC(common,addActionEventHandler);
_newUnit setVariable [QGVAR(AAEHID), _ehid];

View File

@ -52,6 +52,12 @@ if (GVAR(useCursorMenu)) then {
GVAR(cursorPos) = [_this select 1, _this select 2, 0];
};
}];
// handles LMB in cursor mode when action on keyrelease is disabled
((finddisplay 91919) displayctrl 91921) ctrlAddEventHandler ["MouseButtonDown", {
if !(GVAR(actionOnKeyRelease)) then {
[GVAR(openedMenuType),true] call FUNC(keyUp);
};
}];
setMousePosition [0.5, 0.5];
};

View File

@ -12,6 +12,9 @@
*/
#include "script_component.hpp"
private "_calledByClicking";
_calledByClicking = _this select 1;
// Exit if there's no menu opened
if (GVAR(openedMenuType) < 0) exitWith {true};
@ -29,6 +32,9 @@ if(GVAR(actionSelected)) then {
// Clear the conditions caches
["clearConditionCaches", []] call EFUNC(common,localEvent);
// exit scope if selecting an action on key release is disabled
if (!(GVAR(actionOnKeyRelease)) && !_calledByClicking) exitWith {};
// Check the action conditions
_actionData = GVAR(selectedAction) select 0;
if ([_target, _player, _actionData select 6] call (_actionData select 4)) then {

View File

@ -121,5 +121,9 @@
<French>Garde le curseur au milieu et dispose le menu des options autour. Utile si la taille de l'écran est limitée.</French>
<Russian>Центрирует курсор и двигает само меню опций. Полезно при ограниченном размере экрана.</Russian>
</Key>
<Key ID="STR_ACE_Interact_Menu_ActionOnKeyRelease">
<English>Do action when releasing menu key</English>
<German>Aktion nach Loslassen der Taste ausführen</German>
</Key>
</Package>
</Project>

View File

@ -1,6 +1,6 @@
// by commy2
["ACE3", QGVAR(lockTarget), localize "STR_ACE_JAVELIN_LockTarget",
["ACE3 Weapons", QGVAR(lockTarget), localize "STR_ACE_JAVELIN_LockTarget",
{
if (GETGVAR(isLockKeyDown,false)) exitWith {false};
@ -21,7 +21,7 @@
},
[15, [false, false, false]], false] call cba_fnc_addKeybind; //Tab Key
["ACE3", QGVAR(cycleFireMode), localize "STR_ACE_JAVELIN_CycleFireMode",
["ACE3 Weapons", QGVAR(cycleFireMode), localize "STR_ACE_JAVELIN_CycleFireMode",
{ false },
{
[ACE_player] call FUNC(cycleFireMode);

View File

@ -1,4 +1,4 @@
["ACE3", QGVAR(KestrelDialogKey), localize "STR_ACE_Kestrel4500_KestrelDialogKey",
["ACE3 Equipment", QGVAR(KestrelDialogKey), localize "STR_ACE_Kestrel4500_KestrelDialogKey",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -10,7 +10,7 @@
{false},
[0, [false, false, false]], false, 0] call CBA_fnc_addKeybind; // (empty default key)
["ACE3", QGVAR(DisplayKestrelKey), localize "STR_ACE_Kestrel4500_DisplayKestrelKey",
["ACE3 Equipment", QGVAR(DisplayKestrelKey), localize "STR_ACE_Kestrel4500_DisplayKestrelKey",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -1,6 +1,6 @@
// by commy2
["ACE3", QGVAR(switchLaserLightMode), localize "STR_ACE_Laserpointer_switchLaserLight",
["ACE3 Weapons", QGVAR(switchLaserLightMode), localize "STR_ACE_Laserpointer_switchLaserLight",
{
// Conditions: canInteract
if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -3,8 +3,8 @@ class ACE_Head {
displayName = "$STR_ACE_Interaction_Head";
runOnHover = 1;
statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation));
ACTION_CONDITION
modifierFunction = QUOTE([ARR_4(_target,_player,0,_this select 3)] call FUNC(modifyMedicalAction));
condition = "true";
EXCEPTIONS
icon = PATHTOF(UI\icons\medical_cross.paa);
distance = MEDICAL_ACTION_DISTANCE;
@ -21,7 +21,7 @@ class ACE_Head {
};
// Advanced medical
class FieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing";
displayName = "$STR_ACE_Medical_Actions_FieldDressing";
distance = 5.0;
condition = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(treatment));
@ -32,47 +32,47 @@ class ACE_Head {
icon = PATHTOF(UI\icons\bandage.paa);
};
class PackingBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage";
displayName = "$STR_ACE_Medical_Actions_PackingBandage";
condition = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\packingBandage.paa);
};
class ElasticBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage";
displayName = "$STR_ACE_Medical_Actions_ElasticBandage";
condition = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\bandage.paa);
};
class QuikClot: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot";
displayName = "$STR_ACE_Medical_Actions_QuikClot";
condition = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\bandage.paa);
};
class CheckPulse: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse";
displayName = "$STR_ACE_Medical_Actions_CheckPulse";
condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(treatment));
EXCEPTIONS
icon = "";
};
class CheckBloodPressure: CheckPulse {
displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure";
displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure";
condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(treatment));
EXCEPTIONS
};
class CheckResponse: CheckPulse {
displayName = "$STR_ACE_MEDICAL_CHECK_RESPONSE";
displayName = "$STR_ACE_Medical_Check_Response";
condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckResponse')] call DFUNC(treatment));
EXCEPTIONS
};
class Diagnose: CheckPulse {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Diagnose";
displayName = "$STR_ACE_Medical_Actions_Diagnose";
condition = QUOTE([ARR_4(_player, _target, 'head', 'Diagnose')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'head', 'Diagnose')] call DFUNC(treatment));
EXCEPTIONS
@ -82,8 +82,8 @@ class ACE_Torso {
displayName = "$STR_ACE_Interaction_Torso";
runOnHover = 1;
statement = QUOTE([ARR_3(_target, true, 1)] call DFUNC(displayPatientInformation));
ACTION_CONDITION
modifierFunction = QUOTE([ARR_4(_target,_player,1,_this select 3)] call FUNC(modifyMedicalAction));
condition = "true";
EXCEPTIONS
icon = PATHTOF(UI\icons\medical_cross.paa);
distance = MEDICAL_ACTION_DISTANCE;
@ -100,7 +100,7 @@ class ACE_Torso {
icon = PATHTOF(UI\icons\bandage.paa);
};
class PlaceInBodyBag {
displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag";
displayName = "$STR_ACE_Medical_PlaceInBodyBag";
distance = 2.0;
condition = QUOTE([ARR_4(_player, _target, 'body', 'BodyBag')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'body', 'BodyBag')] call DFUNC(treatment));
@ -111,7 +111,7 @@ class ACE_Torso {
enableInside = 1;
};
class TriageCard {
displayName = "$STR_ACE_MEDICAL_ACTIONS_TriageCard";
displayName = "$STR_ACE_Medical_Actions_TriageCard";
distance = 2.0;
condition = "true";
statement = QUOTE([ARR_2(_target, true)] call DFUNC(displayTriageCard));
@ -125,7 +125,7 @@ class ACE_Torso {
// Advanced medical
class FieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing";
displayName = "$STR_ACE_Medical_Actions_FieldDressing";
distance = 5.0;
condition = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(treatment));
@ -137,42 +137,42 @@ class ACE_Torso {
icon = PATHTOF(UI\icons\bandage.paa);
};
class PackingBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage";
displayName = "$STR_ACE_Medical_Actions_PackingBandage";
condition = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\packingBandage.paa);
};
class ElasticBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage";
displayName = "$STR_ACE_Medical_Actions_ElasticBandage";
condition = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\bandage.paa);
};
class QuikClot: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot";
displayName = "$STR_ACE_Medical_Actions_QuikClot";
condition = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\bandage.paa);
};
class SurgicalKit: fieldDressing {
displayName = "$STR_ACE_MEDICAL_USE_SURGICALKIT";
displayName = "$STR_ACE_Medical_Use_SurgicalKit";
condition = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'body', 'SurgicalKit')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\surgicalKit.paa);
};
class PersonalAidKit: fieldDressing {
displayName = "$STR_ACE_MEDICAL_USE_AID_KIT";
displayName = "$STR_ACE_Medical_Use_Aid_Kit";
condition = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'body', 'PersonalAidKit')] call DFUNC(treatment));
EXCEPTIONS
icon = "";
};
class CPR: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_CPR";
displayName = "$STR_ACE_Medical_Actions_CPR";
condition = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'body', 'CPR')] call DFUNC(treatment));
EXCEPTIONS
@ -183,8 +183,8 @@ class ACE_ArmLeft {
displayName = "$STR_ACE_Interaction_ArmLeft";
runOnHover = 1;
statement = QUOTE([ARR_3(_target, true, 2)] call DFUNC(displayPatientInformation));
ACTION_CONDITION
modifierFunction = QUOTE([ARR_4(_target,_player,2,_this select 3)] call FUNC(modifyMedicalAction));
condition = "true";
EXCEPTIONS
icon = PATHTOF(UI\icons\medical_cross.paa);
distance = MEDICAL_ACTION_DISTANCE;
@ -203,7 +203,7 @@ class ACE_ArmLeft {
// Advanced medical
class FieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing";
displayName = "$STR_ACE_Medical_Actions_FieldDressing";
distance = 5.0;
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(treatment));
@ -214,28 +214,28 @@ class ACE_ArmLeft {
icon = PATHTOF(UI\icons\bandage.paa);
};
class PackingBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage";
displayName = "$STR_ACE_Medical_Actions_PackingBandage";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\packingBandage.paa);
};
class ElasticBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage";
displayName = "$STR_ACE_Medical_Actions_ElasticBandage";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\bandage.paa);
};
class QuikClot: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot";
displayName = "$STR_ACE_Medical_Actions_QuikClot";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\bandage.paa);
};
class Tourniquet: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet";
displayName = "$STR_ACE_Medical_Actions_Tourniquet";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(treatment));
EXCEPTIONS
@ -263,75 +263,75 @@ class ACE_ArmLeft {
icon = PATHTOF(UI\icons\autoInjector.paa);
};
class BloodIV: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000";
displayName = "$STR_ACE_Medical_Actions_Blood4_1000";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\iv.paa);
};
class BloodIV_500: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500";
displayName = "$STR_ACE_Medical_Actions_Blood4_500";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_500')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_500')] call DFUNC(treatment));
EXCEPTIONS
};
class BloodIV_250: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250";
displayName = "$STR_ACE_Medical_Actions_Blood4_250";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_250')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'BloodIV_250')] call DFUNC(treatment));
EXCEPTIONS
};
class PlasmaIV: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000";
displayName = "$STR_ACE_Medical_Actions_Plasma4_1000";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV')] call DFUNC(treatment));
EXCEPTIONS
};
class PlasmaIV_500: PlasmaIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500";
displayName = "$STR_ACE_Medical_Actions_Plasma4_500";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_500')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_500')] call DFUNC(treatment));
EXCEPTIONS
};
class PlasmaIV_250: PlasmaIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250";
displayName = "$STR_ACE_Medical_Actions_Plasma4_250";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_250')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PlasmaIV_250')] call DFUNC(treatment));
EXCEPTIONS
};
class SalineIV: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000";
displayName = "$STR_ACE_Medical_Actions_Saline4_1000";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV')] call DFUNC(treatment));
EXCEPTIONS
};
class SalineIV_500: SalineIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500";
displayName = "$STR_ACE_Medical_Actions_Saline4_500";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_500')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_500')] call DFUNC(treatment));
EXCEPTIONS
};
class SalineIV_250: SalineIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250";
displayName = "$STR_ACE_Medical_Actions_Saline4_250";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_250')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'SalineIV_250')] call DFUNC(treatment));
EXCEPTIONS
};
class CheckPulse: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse";
displayName = "$STR_ACE_Medical_Actions_CheckPulse";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(treatment));
EXCEPTIONS
icon = "";
};
class CheckBloodPressure: CheckPulse {
displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure";
displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(treatment));
EXCEPTIONS
};
class RemoveTourniquet: Tourniquet {
displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet";
displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(treatment));
EXCEPTIONS
@ -341,8 +341,8 @@ class ACE_ArmRight {
displayName = "$STR_ACE_Interaction_ArmRight";
runOnHover = 1;
statement = QUOTE([ARR_3(_target, true, 3)] call DFUNC(displayPatientInformation));
ACTION_CONDITION
modifierFunction = QUOTE([ARR_4(_target,_player,3,_this select 3)] call FUNC(modifyMedicalAction));
condition = "true";
EXCEPTIONS
icon = PATHTOF(UI\icons\medical_cross.paa);
distance = MEDICAL_ACTION_DISTANCE;
@ -361,7 +361,7 @@ class ACE_ArmRight {
// Advanced medical
class FieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing";
displayName = "$STR_ACE_Medical_Actions_FieldDressing";
distance = 5.0;
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(treatment));
@ -372,26 +372,26 @@ class ACE_ArmRight {
icon = PATHTOF(UI\icons\bandage.paa);
};
class PackingBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage";
displayName = "$STR_ACE_Medical_Actions_PackingBandage";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\packingBandage.paa);
};
class ElasticBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage";
displayName = "$STR_ACE_Medical_Actions_ElasticBandage";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(treatment));
EXCEPTIONS
};
class QuikClot: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot";
displayName = "$STR_ACE_Medical_Actions_QuikClot";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(treatment));
EXCEPTIONS
};
class Tourniquet: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet";
displayName = "$STR_ACE_Medical_Actions_Tourniquet";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(treatment));
EXCEPTIONS
@ -417,75 +417,75 @@ class ACE_ArmRight {
EXCEPTIONS
};
class BloodIV: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000";
displayName = "$STR_ACE_Medical_Actions_Blood4_1000";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\iv.paa);
};
class BloodIV_500: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500";
displayName = "$STR_ACE_Medical_Actions_Blood4_500";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_500')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_500')] call DFUNC(treatment));
EXCEPTIONS
};
class BloodIV_250: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250";
displayName = "$STR_ACE_Medical_Actions_Blood4_250";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_250')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'BloodIV_250')] call DFUNC(treatment));
EXCEPTIONS
};
class PlasmaIV: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000";
displayName = "$STR_ACE_Medical_Actions_Plasma4_1000";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV')] call DFUNC(treatment));
EXCEPTIONS
};
class PlasmaIV_500: PlasmaIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500";
displayName = "$STR_ACE_Medical_Actions_Plasma4_500";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_500')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_500')] call DFUNC(treatment));
EXCEPTIONS
};
class PlasmaIV_250: PlasmaIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250";
displayName = "$STR_ACE_Medical_Actions_Plasma4_250";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_250')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PlasmaIV_250')] call DFUNC(treatment));
EXCEPTIONS
};
class SalineIV: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000";
displayName = "$STR_ACE_Medical_Actions_Saline4_1000";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV')] call DFUNC(treatment));
EXCEPTIONS
};
class SalineIV_500: SalineIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500";
displayName = "$STR_ACE_Medical_Actions_Saline4_500";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_500')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_500')] call DFUNC(treatment));
EXCEPTIONS
};
class SalineIV_250: SalineIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250";
displayName = "$STR_ACE_Medical_Actions_Saline4_250";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_250')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'SalineIV_250')] call DFUNC(treatment));
EXCEPTIONS
};
class CheckPulse: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse";
displayName = "$STR_ACE_Medical_Actions_CheckPulse";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(treatment));
EXCEPTIONS
icon = "";
};
class CheckBloodPressure: CheckPulse {
displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure";
displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(treatment));
EXCEPTIONS
};
class RemoveTourniquet: Tourniquet {
displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet";
displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(treatment));
EXCEPTIONS
@ -496,8 +496,8 @@ class ACE_LegLeft {
displayName = "$STR_ACE_Interaction_LegLeft";
runOnHover = 1;
statement = QUOTE([ARR_3(_target, true, 4)] call DFUNC(displayPatientInformation));
ACTION_CONDITION
modifierFunction = QUOTE([ARR_4(_target,_player,4,_this select 3)] call FUNC(modifyMedicalAction));
condition = "true";
EXCEPTIONS
icon = PATHTOF(UI\icons\medical_cross.paa);
distance = MEDICAL_ACTION_DISTANCE;
@ -517,7 +517,7 @@ class ACE_LegLeft {
// Advanced medical
class FieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing";
displayName = "$STR_ACE_Medical_Actions_FieldDressing";
distance = 5.0;
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(treatment));
@ -528,26 +528,26 @@ class ACE_LegLeft {
icon = PATHTOF(UI\icons\bandage.paa);
};
class PackingBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage";
displayName = "$STR_ACE_Medical_Actions_PackingBandage";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\packingBandage.paa);
};
class ElasticBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage";
displayName = "$STR_ACE_Medical_Actions_ElasticBandage";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(treatment));
EXCEPTIONS
};
class QuikClot: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot";
displayName = "$STR_ACE_Medical_Actions_QuikClot";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(treatment));
EXCEPTIONS
};
class Tourniquet: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet";
displayName = "$STR_ACE_Medical_Actions_Tourniquet";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(treatment));
EXCEPTIONS
@ -574,62 +574,62 @@ class ACE_LegLeft {
EXCEPTIONS
};
class BloodIV: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000";
displayName = "$STR_ACE_Medical_Actions_Blood4_1000";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\iv.paa);
};
class BloodIV_500: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500";
displayName = "$STR_ACE_Medical_Actions_Blood4_500";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_500')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_500')] call DFUNC(treatment));
EXCEPTIONS
};
class BloodIV_250: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250";
displayName = "$STR_ACE_Medical_Actions_Blood4_250";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_250')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'BloodIV_250')] call DFUNC(treatment));
EXCEPTIONS
};
class PlasmaIV: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000";
displayName = "$STR_ACE_Medical_Actions_Plasma4_1000";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV')] call DFUNC(treatment));
EXCEPTIONS
};
class PlasmaIV_500: PlasmaIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500";
displayName = "$STR_ACE_Medical_Actions_Plasma4_500";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_500')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_500')] call DFUNC(treatment));
EXCEPTIONS
};
class PlasmaIV_250: PlasmaIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250";
displayName = "$STR_ACE_Medical_Actions_Plasma4_250";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_250')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PlasmaIV_250')] call DFUNC(treatment));
EXCEPTIONS
};
class SalineIV: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000";
displayName = "$STR_ACE_Medical_Actions_Saline4_1000";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV')] call DFUNC(treatment));
EXCEPTIONS
};
class SalineIV_500: SalineIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500";
displayName = "$STR_ACE_Medical_Actions_Saline4_500";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_500')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_500')] call DFUNC(treatment));
EXCEPTIONS
};
class SalineIV_250: SalineIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250";
displayName = "$STR_ACE_Medical_Actions_Saline4_250";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_250')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'SalineIV_250')] call DFUNC(treatment));
EXCEPTIONS
};
class RemoveTourniquet: Tourniquet {
displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet";
displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(treatment));
EXCEPTIONS
@ -639,8 +639,8 @@ class ACE_LegRight {
displayName = "$STR_ACE_Interaction_LegRight";
runOnHover = 1;
statement = QUOTE([ARR_3(_target, true, 5)] call DFUNC(displayPatientInformation));
ACTION_CONDITION
modifierFunction = QUOTE([ARR_4(_target,_player,5,_this select 3)] call FUNC(modifyMedicalAction));
condition = "true";
EXCEPTIONS
icon = PATHTOF(UI\icons\medical_cross.paa);
distance = MEDICAL_ACTION_DISTANCE;
@ -660,7 +660,7 @@ class ACE_LegRight {
// Advanced medical
class FieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing";
displayName = "$STR_ACE_Medical_Actions_FieldDressing";
distance = 5.0;
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(treatment));
@ -671,26 +671,26 @@ class ACE_LegRight {
icon = PATHTOF(UI\icons\bandage.paa);
};
class PackingBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage";
displayName = "$STR_ACE_Medical_Actions_PackingBandage";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\packingBandage.paa);
};
class ElasticBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage";
displayName = "$STR_ACE_Medical_Actions_ElasticBandage";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(treatment));
EXCEPTIONS
};
class QuikClot: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot";
displayName = "$STR_ACE_Medical_Actions_QuikClot";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(treatment));
EXCEPTIONS
};
class Tourniquet: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet";
displayName = "$STR_ACE_Medical_Actions_Tourniquet";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(treatment));
EXCEPTIONS
@ -716,62 +716,62 @@ class ACE_LegRight {
EXCEPTIONS
};
class BloodIV: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_1000";
displayName = "$STR_ACE_Medical_Actions_Blood4_1000";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV')] call DFUNC(treatment));
EXCEPTIONS
icon = PATHTOF(UI\icons\iv.paa);
};
class BloodIV_500: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_500";
displayName = "$STR_ACE_Medical_Actions_Blood4_500";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_500')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_500')] call DFUNC(treatment));
EXCEPTIONS
};
class BloodIV_250: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Blood4_250";
displayName = "$STR_ACE_Medical_Actions_Blood4_250";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_250')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'BloodIV_250')] call DFUNC(treatment));
EXCEPTIONS
};
class PlasmaIV: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_1000";
displayName = "$STR_ACE_Medical_Actions_Plasma4_1000";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV')] call DFUNC(treatment));
EXCEPTIONS
};
class PlasmaIV_500: PlasmaIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_500";
displayName = "$STR_ACE_Medical_Actions_Plasma4_500";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_500')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_500')] call DFUNC(treatment));
EXCEPTIONS
};
class PlasmaIV_250: PlasmaIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Plasma4_250";
displayName = "$STR_ACE_Medical_Actions_Plasma4_250";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_250')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PlasmaIV_250')] call DFUNC(treatment));
EXCEPTIONS
};
class SalineIV: BloodIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_1000";
displayName = "$STR_ACE_Medical_Actions_Saline4_1000";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV')] call DFUNC(treatment));
EXCEPTIONS
};
class SalineIV_500: SalineIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_500";
displayName = "$STR_ACE_Medical_Actions_Saline4_500";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_500')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_500')] call DFUNC(treatment));
EXCEPTIONS
};
class SalineIV_250: SalineIV {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Saline4_250";
displayName = "$STR_ACE_Medical_Actions_Saline4_250";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_250')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'SalineIV_250')] call DFUNC(treatment));
EXCEPTIONS
};
class RemoveTourniquet: Tourniquet {
displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet";
displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(canTreatCached));
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(treatment));
EXCEPTIONS

View File

@ -1,5 +1,5 @@
class Medical {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Medical";
displayName = "$STR_ACE_Medical_Actions_Medical";
runOnHover = 1;
hotkey = "M";
exceptions[] = {"isNotInside"};
@ -29,7 +29,7 @@ class Medical {
};
// Advanced medical
class FieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing";
displayName = "$STR_ACE_Medical_Actions_FieldDressing";
distance = 5.0;
condition = QUOTE([ARR_4(_player, _target, 'head', 'FieldDressing')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
@ -40,35 +40,35 @@ class Medical {
icon = PATHTOF(UI\icons\bandage.paa);
};
class PackingBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage";
displayName = "$STR_ACE_Medical_Actions_PackingBandage";
condition = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'head', 'PackingBandage')] call DFUNC(treatment));
icon = PATHTOF(UI\icons\packingBandage.paa);
};
class ElasticBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage";
displayName = "$STR_ACE_Medical_Actions_ElasticBandage";
condition = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'head', 'ElasticBandage')] call DFUNC(treatment));
icon = PATHTOF(UI\icons\bandage.paa);
};
class QuikClot: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot";
displayName = "$STR_ACE_Medical_Actions_QuikClot";
condition = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'head', 'QuikClot')] call DFUNC(treatment));
icon = PATHTOF(UI\icons\bandage.paa);
};
class CheckPulse: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse";
displayName = "$STR_ACE_Medical_Actions_CheckPulse";
condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckPulse')] call DFUNC(treatment));
icon = "";
};
class CheckBloodPressure: CheckPulse {
displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure";
displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure";
condition = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'head', 'CheckBloodPressure')] call DFUNC(treatment));
@ -100,7 +100,7 @@ class Medical {
};
class TriageCard {
displayName = "$STR_ACE_MEDICAL_ACTIONS_TriageCard";
displayName = "$STR_ACE_Medical_Actions_TriageCard";
distance = 2.0;
condition = "true";
exceptions[] = {"isNotInside"};
@ -113,7 +113,7 @@ class Medical {
// Advanced medical
class FieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing";
displayName = "$STR_ACE_Medical_Actions_FieldDressing";
distance = 5.0;
condition = QUOTE([ARR_4(_player, _target, 'body', 'FieldDressing')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
@ -124,21 +124,21 @@ class Medical {
icon = PATHTOF(UI\icons\bandage.paa);
};
class PackingBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage";
displayName = "$STR_ACE_Medical_Actions_PackingBandage";
condition = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'body', 'PackingBandage')] call DFUNC(treatment));
icon = PATHTOF(UI\icons\packingBandage.paa);
};
class ElasticBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage";
displayName = "$STR_ACE_Medical_Actions_ElasticBandage";
condition = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'body', 'ElasticBandage')] call DFUNC(treatment));
icon = PATHTOF(UI\icons\bandage.paa);
};
class QuikClot: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot";
displayName = "$STR_ACE_Medical_Actions_QuikClot";
condition = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'body', 'QuikClot')] call DFUNC(treatment));
@ -168,7 +168,7 @@ class Medical {
// Advanced medical
class FieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing";
displayName = "$STR_ACE_Medical_Actions_FieldDressing";
distance = 5.0;
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'FieldDressing')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
@ -179,28 +179,28 @@ class Medical {
icon = PATHTOF(UI\icons\bandage.paa);
};
class PackingBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage";
displayName = "$STR_ACE_Medical_Actions_PackingBandage";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'PackingBandage')] call DFUNC(treatment));
icon = PATHTOF(UI\icons\packingBandage.paa);
};
class ElasticBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage";
displayName = "$STR_ACE_Medical_Actions_ElasticBandage";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'ElasticBandage')] call DFUNC(treatment));
icon = PATHTOF(UI\icons\bandage.paa);
};
class QuikClot: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot";
displayName = "$STR_ACE_Medical_Actions_QuikClot";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'QuikClot')] call DFUNC(treatment));
icon = PATHTOF(UI\icons\bandage.paa);
};
class Tourniquet: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet";
displayName = "$STR_ACE_Medical_Actions_Tourniquet";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Tourniquet')] call DFUNC(treatment));
@ -228,20 +228,20 @@ class Medical {
icon = PATHTOF(UI\icons\autoInjector.paa);
};
class CheckPulse: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse";
displayName = "$STR_ACE_Medical_Actions_CheckPulse";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckPulse')] call DFUNC(treatment));
icon = "";
};
class CheckBloodPressure: CheckPulse {
displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure";
displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'CheckBloodPressure')] call DFUNC(treatment));
};
class RemoveTourniquet: Tourniquet {
displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet";
displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet";
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'RemoveTourniquet')] call DFUNC(treatment));
@ -270,7 +270,7 @@ class Medical {
// Advanced medical
class FieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing";
displayName = "$STR_ACE_Medical_Actions_FieldDressing";
distance = 5.0;
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'FieldDressing')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
@ -281,26 +281,26 @@ class Medical {
icon = PATHTOF(UI\icons\bandage.paa);
};
class PackingBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage";
displayName = "$STR_ACE_Medical_Actions_PackingBandage";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'PackingBandage')] call DFUNC(treatment));
icon = PATHTOF(UI\icons\packingBandage.paa);
};
class ElasticBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage";
displayName = "$STR_ACE_Medical_Actions_ElasticBandage";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'ElasticBandage')] call DFUNC(treatment));
};
class QuikClot: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot";
displayName = "$STR_ACE_Medical_Actions_QuikClot";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'QuikClot')] call DFUNC(treatment));
};
class Tourniquet: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet";
displayName = "$STR_ACE_Medical_Actions_Tourniquet";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Tourniquet')] call DFUNC(treatment));
@ -326,20 +326,20 @@ class Medical {
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Epinephrine')] call DFUNC(treatment));
};
class CheckPulse: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckPulse";
displayName = "$STR_ACE_Medical_Actions_CheckPulse";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckPulse')] call DFUNC(treatment));
icon = "";
};
class CheckBloodPressure: CheckPulse {
displayName = "$STR_ACE_MEDICAL_ACTIONS_CheckBloodPressure";
displayName = "$STR_ACE_Medical_Actions_CheckBloodPressure";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'CheckBloodPressure')] call DFUNC(treatment));
};
class RemoveTourniquet: Tourniquet {
displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet";
displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet";
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'RemoveTourniquet')] call DFUNC(treatment));
@ -369,7 +369,7 @@ class Medical {
// Advanced medical
class FieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing";
displayName = "$STR_ACE_Medical_Actions_FieldDressing";
distance = 5.0;
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'FieldDressing')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
@ -380,26 +380,26 @@ class Medical {
icon = PATHTOF(UI\icons\bandage.paa);
};
class PackingBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage";
displayName = "$STR_ACE_Medical_Actions_PackingBandage";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'PackingBandage')] call DFUNC(treatment));
icon = PATHTOF(UI\icons\packingBandage.paa);
};
class ElasticBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage";
displayName = "$STR_ACE_Medical_Actions_ElasticBandage";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'ElasticBandage')] call DFUNC(treatment));
};
class QuikClot: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot";
displayName = "$STR_ACE_Medical_Actions_QuikClot";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'QuikClot')] call DFUNC(treatment));
};
class Tourniquet: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet";
displayName = "$STR_ACE_Medical_Actions_Tourniquet";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Tourniquet')] call DFUNC(treatment));
@ -426,7 +426,7 @@ class Medical {
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Epinephrine')] call DFUNC(treatment));
};
class RemoveTourniquet: Tourniquet {
displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet";
displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet";
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'RemoveTourniquet')] call DFUNC(treatment));
@ -456,7 +456,7 @@ class Medical {
// Advanced medical
class FieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_FieldDressing";
displayName = "$STR_ACE_Medical_Actions_FieldDressing";
distance = 5.0;
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'FieldDressing')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
@ -467,26 +467,26 @@ class Medical {
icon = PATHTOF(UI\icons\bandage.paa);
};
class PackingBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_PackingBandage";
displayName = "$STR_ACE_Medical_Actions_PackingBandage";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'PackingBandage')] call DFUNC(treatment));
icon = PATHTOF(UI\icons\packingBandage.paa);
};
class ElasticBandage: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_ElasticBandage";
displayName = "$STR_ACE_Medical_Actions_ElasticBandage";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'ElasticBandage')] call DFUNC(treatment));
};
class QuikClot: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_QuikClot";
displayName = "$STR_ACE_Medical_Actions_QuikClot";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'QuikClot')] call DFUNC(treatment));
};
class Tourniquet: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Tourniquet";
displayName = "$STR_ACE_Medical_Actions_Tourniquet";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Tourniquet')] call DFUNC(treatment));
@ -512,7 +512,7 @@ class Medical {
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Epinephrine')] call DFUNC(treatment));
};
class RemoveTourniquet: Tourniquet {
displayName = "$STR_ACE_MEDICAL_ACTIONS_RemoveTourniquet";
displayName = "$STR_ACE_Medical_Actions_RemoveTourniquet";
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(canTreatCached));
exceptions[] = {"isNotInside"};
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(treatment));

View File

@ -56,8 +56,8 @@ class ACE_Medical_Actions {
litter[] = {};
};
class BodyBag: Bandage {
displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag";
displayNameProgress = "$STR_ACE_MEDICAL_PlacingInBodyBag";
displayName = "$STR_ACE_Medical_PlaceInBodyBag";
displayNameProgress = "$STR_ACE_Medical_PlacingInBodyBag";
treatmentLocations[] = {"All"};
requiredMedic = 0;
treatmentTime = 2;
@ -72,8 +72,8 @@ class ACE_Medical_Actions {
litter[] = {};
};
class Diagnose: Bandage {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Diagnose";
displayNameProgress = "$STR_ACE_MEDICAL_ACTIONS_Diagnosing";
displayName = "$STR_ACE_Medical_Actions_Diagnose";
displayNameProgress = "$STR_ACE_Medical_Actions_Diagnosing";
treatmentLocations[] = {"All"};
requiredMedic = 0;
treatmentTime = 1;
@ -225,7 +225,7 @@ class ACE_Medical_Actions {
};
class CheckPulse: fieldDressing {
displayName = "";
displayNameProgress = "$STR_ACE_MEDICAL_CHECK_PULSE_CONTENT";
displayNameProgress = "$STR_ACE_Medical_Check_Pulse_Content";
treatmentLocations[] = {"All"};
requiredMedic = 0;
treatmentTime = 2;
@ -240,11 +240,11 @@ class ACE_Medical_Actions {
};
class CheckBloodPressure: CheckPulse {
callbackSuccess = QUOTE(DFUNC(actionCheckBloodPressure));
displayNameProgress = "$STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_CONTENT";
displayNameProgress = "$STR_ACE_Medical_Check_Bloodpressure_Content";
};
class CheckResponse: CheckPulse {
callbackSuccess = QUOTE(DFUNC(actionCheckResponse));
displayNameProgress = "$STR_ACE_MEDICAL_CHECK_RESPONSE_CONTENT";
displayNameProgress = "$STR_ACE_Medical_Check_Response_Content";
};
class RemoveTourniquet: CheckPulse {
treatmentTime = 2.5;
@ -252,8 +252,8 @@ class ACE_Medical_Actions {
condition = QUOTE([ARR_2(_this select 1, _this select 2)] call FUNC(hasTourniquetAppliedTo));
};
class CPR: fieldDressing {
displayName = "$STR_ACE_MEDICAL_ACTIONS_CPR";
displayNameProgress = "$STR_ACE_MEDICAL_ACTIONS_PerformingCPR";
displayName = "$STR_ACE_Medical_Actions_CPR";
displayNameProgress = "$STR_ACE_Medical_Actions_PerformingCPR";
treatmentLocations[] = {"All"};
requiredMedic = 0;
treatmentTime = 15;
@ -272,8 +272,8 @@ class ACE_Medical_Actions {
litter[] = {};
};
class BodyBag: fieldDressing {
displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag";
displayNameProgress = "$STR_ACE_MEDICAL_PlacingInBodyBag";
displayName = "$STR_ACE_Medical_PlaceInBodyBag";
displayNameProgress = "$STR_ACE_Medical_PlacingInBodyBag";
treatmentLocations[] = {"All"};
requiredMedic = 0;
treatmentTime = 2;

View File

@ -152,4 +152,13 @@ class ACE_Settings {
typeName = "BOOL";
value = 0;
};
class GVAR(menuTypeStyle) {
displayName = "$STR_ACE_Medical_menuTypeDisplay";
description = "$STR_ACE_Medical_menuTypeDescription";
typeName = "SCALAR";
value = 0;
values[] = {"$STR_ACE_Medical_useSelection"/*, "$STR_ACE_Medical_useRadial"*/};
// isClientSettable = 1;
};
};

View File

@ -444,20 +444,23 @@ class CfgVehicles {
class ACE_Actions {
// Include actions in body parts for treatment while in the open
#define EXCEPTIONS exceptions[] = {};
#define ACTION_CONDITION condition = QUOTE(GVAR(menuTypeStyle) == 0);
#include "ACE_Medical_Actions.hpp"
// Create a consolidates medical menu for treatment while boarded
class ACE_MainActions {
class Medical {
displayName = "$STR_ACE_MEDICAL_ACTIONS_Medical";
displayName = "$STR_ACE_Medical_Actions_Medical";
runOnHover = 1;
exceptions[] = {"isNotInside"};
condition = QUOTE(vehicle _target != _target && vehicle _target == vehicle _player);
condition = QUOTE((vehicle _target != _target && vehicle _target == vehicle _player) || GVAR(menuTypeStyle) == 1);
statement = QUOTE([ARR_3(_target, true, 0)] call DFUNC(displayPatientInformation));
icon = PATHTOF(UI\icons\medical_cross.paa);
#undef EXCEPTIONS
#undef ACTION_CONDITION
#define EXCEPTIONS exceptions[] = {"isNotInside"};
#define ACTION_CONDITION condition = "true";
#include "ACE_Medical_Actions.hpp"
};
class GVAR(loadPatient) {
@ -656,7 +659,7 @@ class CfgVehicles {
side = -1;
model = QUOTE(PATHTOF(data\bodybag.p3d));
icon = "";
displayName = $STR_ACE_MEDICAL_BODYBAG_DISPLAY;
displayName = $STR_ACE_Medical_Bodybag_Display;
EGVAR(dragging,canDrag) = 1;
EGVAR(dragging,dragPosition[]) = {0,1.2,0};
EGVAR(dragging,dragDirection) = 0;
@ -709,7 +712,7 @@ class CfgVehicles {
class ACE_fieldDressingItem: Item_Base_F {
scope = 2;
scopeCurator = 2;
displayName = $STR_ACE_MEDICAL_BANDAGE_BASIC_DISPLAY;
displayName = $STR_ACE_Medical_Bandage_Basic_Display;
author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items";
class TransportItems {
@ -722,7 +725,7 @@ class CfgVehicles {
class ACE_packingBandageItem: Item_Base_F {
scope = 2;
scopeCurator = 2;
displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY;
displayName = $STR_ACE_Medical_Packing_Bandage_Display;
author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items";
class TransportItems {
@ -735,7 +738,7 @@ class CfgVehicles {
class ACE_elasticBandageItem: Item_Base_F {
scope = 2;
scopeCurator = 2;
displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY;
displayName = $STR_ACE_Medical_Bandage_Elastic_Display;
author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items";
class TransportItems {
@ -748,7 +751,7 @@ class CfgVehicles {
class ACE_tourniquetItem: Item_Base_F {
scope = 2;
scopeCurator = 2;
displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY;
displayName = $STR_ACE_Medical_Tourniquet_Display;
author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items";
class TransportItems {
@ -761,7 +764,7 @@ class CfgVehicles {
class ACE_morphineItem: Item_Base_F {
scope = 2;
scopeCurator = 2;
displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY;
displayName = $STR_ACE_Medical_Morphine_Display;
author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items";
class TransportItems {
@ -774,7 +777,7 @@ class CfgVehicles {
class ACE_atropineItem: Item_Base_F {
scope = 2;
scopeCurator = 2;
displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY;
displayName = $STR_ACE_Medical_Atropine_Display;
author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items";
class TransportItems {
@ -787,7 +790,7 @@ class CfgVehicles {
class ACE_epinephrineItem: Item_Base_F {
scope = 2;
scopeCurator = 2;
displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY;
displayName = $STR_ACE_Medical_Epinephrine_Display;
author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items";
class TransportItems {
@ -800,7 +803,7 @@ class CfgVehicles {
class ACE_plasmaIVItem: Item_Base_F {
scope = 2;
scopeCurator = 2;
displayName = $STR_ACE_MEDICAL_PLASMA_IV;
displayName = $STR_ACE_Medical_Plasma_IV;
author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items";
class TransportItems {
@ -814,7 +817,7 @@ class CfgVehicles {
class ACE_bloodIVItem: Item_Base_F {
scope = 2;
scopeCurator = 2;
displayName = $STR_ACE_MEDICAL_BLOOD_IV;
displayName = $STR_ACE_Medical_Blood_IV;
author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items";
class TransportItems {
@ -827,7 +830,7 @@ class CfgVehicles {
class ACE_salineIVItem: Item_Base_F {
scope = 2;
scopeCurator = 2;
displayName = $STR_ACE_MEDICAL_SALINE_IV;
displayName = $STR_ACE_Medical_Saline_IV;
author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items";
class TransportItems {
@ -840,7 +843,7 @@ class CfgVehicles {
class ACE_quikClotItem: Item_Base_F {
scope = 2;
scopeCurator = 2;
displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY;
displayName = $STR_ACE_Medical_QuikClot_Display;
author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items";
class TransportItems {
@ -853,7 +856,7 @@ class CfgVehicles {
class ACE_personalAidKitItem: Item_Base_F {
scope = 2;
scopeCurator = 2;
displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY;
displayName = $STR_ACE_Medical_Aid_Kit_Display;
author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items";
class TransportItems {
@ -866,7 +869,7 @@ class CfgVehicles {
class ACE_surgicalKitItem: Item_Base_F {
scope = 2;
scopeCurator = 2;
displayName = $STR_ACE_MEDICAL_SURGICALKIT_DISPLAY;
displayName = $STR_ACE_Medical_SurgicalKit_Display;
author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items";
class TransportItems {
@ -879,7 +882,7 @@ class CfgVehicles {
class ACE_bodyBagItem: Item_Base_F {
scope = 2;
scopeCurator = 2;
displayName = $STR_ACE_MEDICAL_BODYBAG_DISPLAY;
displayName = $STR_ACE_Medical_Bodybag_Display;
author = "$STR_ACE_Common_ACETeam";
vehicleClass = "Items";
class TransportItems {

View File

@ -24,64 +24,64 @@ class CfgWeapons {
scope = 2;
model = QUOTE(PATHTOF(data\bandage.p3d));
picture = QUOTE(PATHTOF(ui\items\fieldDressing_x_ca.paa));
displayName = $STR_ACE_MEDICAL_BANDAGE_BASIC_DISPLAY;
descriptionShort = $STR_ACE_MEDICAL_BANDAGE_BASIC_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_BANDAGE_BASIC_DESC_USE;
displayName = $STR_ACE_Medical_Bandage_Basic_Display;
descriptionShort = $STR_ACE_Medical_Bandage_Basic_Desc_Short;
descriptionUse = $STR_ACE_Medical_Bandage_Basic_Desc_Use;
class ItemInfo: InventoryItem_Base_F {
mass = 1;
};
};
class ACE_packingBandage: ACE_ItemCore {
scope = 2;
displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY;
displayName = $STR_ACE_Medical_Packing_Bandage_Display;
picture = QUOTE(PATHTOF(ui\items\packingBandage_x_ca.paa));
model = QUOTE(PATHTOF(data\packingbandage.p3d));
descriptionShort = $STR_ACE_MEDICAL_PACKING_BANDAGE_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_PACKING_BANDAGE_DESC_USE;
descriptionShort = $STR_ACE_Medical_Packing_Bandage_Desc_Short;
descriptionUse = $STR_ACE_Medical_Packing_Bandage_Desc_Use;
class ItemInfo: InventoryItem_Base_F {
mass = 1;
};
};
class ACE_elasticBandage: ACE_ItemCore {
scope = 2;
displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY;
displayName = $STR_ACE_Medical_Bandage_Elastic_Display;
picture = QUOTE(PATHTOF(ui\items\elasticBandage_x_ca.paa));
model = "\A3\Structures_F_EPA\Items\Medical\Bandage_F.p3d";
descriptionShort = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DESC_USE;
descriptionShort = $STR_ACE_Medical_Bandage_Elastic_Desc_Short;
descriptionUse = $STR_ACE_Medical_Bandage_Elastic_Desc_Use;
class ItemInfo: InventoryItem_Base_F {
mass = 1;
};
};
class ACE_tourniquet: ACE_ItemCore {
scope = 2;
displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY;
displayName = $STR_ACE_Medical_Tourniquet_Display;
picture = QUOTE(PATHTOF(ui\items\tourniquet_x_ca.paa));
model = QUOTE(PATHTOF(data\tourniquet.p3d));
descriptionShort = $STR_ACE_MEDICAL_TOURNIQUET_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_TOURNIQUET_DESC_USE;
descriptionShort = $STR_ACE_Medical_Tourniquet_Desc_Short;
descriptionUse = $STR_ACE_Medical_Tourniquet_Desc_Use;
class ItemInfo: InventoryItem_Base_F {
mass = 1;
};
};
class ACE_morphine: ACE_ItemCore {
scope = 2;
displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY;
displayName = $STR_ACE_Medical_Morphine_Display;
picture = QUOTE(PATHTOF(ui\items\morphine_x_ca.paa));
model = QUOTE(PATHTOF(data\morphine.p3d));
descriptionShort = $STR_ACE_MEDICAL_MORPHINE_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_MORPHINE_DESC_USE;
descriptionShort = $STR_ACE_Medical_Morphine_Desc_Short;
descriptionUse = $STR_ACE_Medical_Morphine_Desc_Use;
class ItemInfo: InventoryItem_Base_F {
mass = 1;
};
};
class ACE_atropine: ACE_ItemCore {
scope = 2;
displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY;
displayName = $STR_ACE_Medical_Atropine_Display;
picture = QUOTE(PATHTOF(ui\items\atropine_x_ca.paa));
model = QUOTE(PATHTOF(data\atropine.p3d));
descriptionShort = $STR_ACE_MEDICAL_ATROPINE_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_ATROPINE_DESC_USE;
descriptionShort = $STR_ACE_Medical_Atropine_Desc_Short;
descriptionUse = $STR_ACE_Medical_Atropine_Desc_Use;
class ItemInfo: InventoryItem_Base_F {
mass = 1;
@ -89,33 +89,33 @@ class CfgWeapons {
};
class ACE_epinephrine: ACE_ItemCore {
scope = 2;
displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY;
displayName = $STR_ACE_Medical_Epinephrine_Display;
picture = QUOTE(PATHTOF(ui\items\epinephrine_x_ca.paa));
model = QUOTE(PATHTOF(data\epinephrine.p3d));
descriptionShort = $STR_ACE_MEDICAL_EPINEPHRINE_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_EPINEPHRINE_DESC_USE;
descriptionShort = $STR_ACE_Medical_Epinephrine_Desc_Short;
descriptionUse = $STR_ACE_Medical_Epinephrine_Desc_Use;
class ItemInfo: InventoryItem_Base_F {
mass = 1;
};
};
class ACE_plasmaIV: ACE_ItemCore {
scope = 2;
displayName = $STR_ACE_MEDICAL_PLASMA_IV;
displayName = $STR_ACE_Medical_Plasma_IV;
picture = QUOTE(PATHTOF(ui\items\plasmaIV_x_ca.paa));
descriptionShort = $STR_ACE_MEDICAL_PLASMA_IV_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_PLASMA_IV_DESC_USE;
descriptionShort = $STR_ACE_Medical_Plasma_IV_Desc_Short;
descriptionUse = $STR_ACE_Medical_Plasma_IV_Desc_Use;
class ItemInfo: InventoryItem_Base_F {
mass = 10;
};
};
class ACE_plasmaIV_500: ACE_plasmaIV {
displayName = $STR_ACE_MEDICAL_PLASMA_IV_500;
displayName = $STR_ACE_Medical_Plasma_IV_500;
class ItemInfo: InventoryItem_Base_F {
mass = 5;
};
};
class ACE_plasmaIV_250: ACE_plasmaIV {
displayName = $STR_ACE_MEDICAL_PLASMA_IV_250;
displayName = $STR_ACE_Medical_Plasma_IV_250;
class ItemInfo: InventoryItem_Base_F {
mass = 2.5;
};
@ -123,86 +123,86 @@ class CfgWeapons {
class ACE_bloodIV: ACE_ItemCore {
scope = 2;
model = "\A3\Structures_F_EPA\Items\Medical\BloodBag_F.p3d";
displayName = $STR_ACE_MEDICAL_BLOOD_IV;
displayName = $STR_ACE_Medical_Blood_IV;
picture = QUOTE(PATHTOF(ui\items\bloodIV_x_ca.paa));
descriptionShort = $STR_ACE_MEDICAL_BLOOD_IV_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_BLOOD_IV_DESC_USE;
descriptionShort = $STR_ACE_Medical_Blood_IV_Desc_Short;
descriptionUse = $STR_ACE_Medical_Blood_IV_Desc_Use;
class ItemInfo: InventoryItem_Base_F {
mass = 10;
};
};
class ACE_bloodIV_500: ACE_bloodIV {
displayName = $STR_ACE_MEDICAL_BLOOD_IV_500;
displayName = $STR_ACE_Medical_Blood_IV_500;
class ItemInfo: InventoryItem_Base_F {
mass = 5;
};
};
class ACE_bloodIV_250: ACE_bloodIV {
displayName = $STR_ACE_MEDICAL_BLOOD_IV_250;
displayName = $STR_ACE_Medical_Blood_IV_250;
class ItemInfo: InventoryItem_Base_F {
mass = 2.5;
};
};
class ACE_salineIV: ACE_ItemCore {
scope = 2;
displayName = $STR_ACE_MEDICAL_SALINE_IV;
displayName = $STR_ACE_Medical_Saline_IV;
picture = QUOTE(PATHTOF(ui\items\salineIV_x_ca.paa));
descriptionShort = $STR_ACE_MEDICAL_SALINE_IV_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_SALINE_IV_DESC_USE;
descriptionShort = $STR_ACE_Medical_Saline_IV_Desc_Short;
descriptionUse = $STR_ACE_Medical_Saline_IV_Desc_Use;
class ItemInfo: InventoryItem_Base_F {
mass = 10;
};
};
class ACE_salineIV_500: ACE_salineIV {
displayName = $STR_ACE_MEDICAL_SALINE_IV_500;
displayName = $STR_ACE_Medical_Saline_IV_500;
class ItemInfo: InventoryItem_Base_F {
mass = 2.5;
};
};
class ACE_salineIV_250: ACE_salineIV {
displayName = $STR_ACE_MEDICAL_SALINE_IV_250;
displayName = $STR_ACE_Medical_Saline_IV_250;
class ItemInfo: InventoryItem_Base_F {
mass = 2.5;
};
};
class ACE_quikclot: ACE_ItemCore {
scope = 2;
displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY;
displayName = $STR_ACE_Medical_QuikClot_Display;
picture = QUOTE(PATHTOF(ui\items\quickclot_x_ca.paa));
descriptionShort = $STR_ACE_MEDICAL_QUIKCLOT_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_QUIKCLOT_DESC_USE;
descriptionShort = $STR_ACE_Medical_QuikClot_Desc_Short;
descriptionUse = $STR_ACE_Medical_QuikClot_Desc_Use;
class ItemInfo: InventoryItem_Base_F {
mass = 1;
};
};
class ACE_personalAidKit: ACE_ItemCore {
scope = 2;
displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY;
displayName = $STR_ACE_Medical_Aid_Kit_Display;
picture = QUOTE(PATHTOF(ui\items\personal_aid_kit_x_ca.paa));
descriptionShort = $STR_ACE_MEDICAL_AID_KIT_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_AID_KIT_DESC_USE;
descriptionShort = $STR_ACE_Medical_Aid_Kit_Desc_Short;
descriptionUse = $STR_ACE_Medical_Aid_Kit_Desc_Use;
class ItemInfo: InventoryItem_Base_F {
mass = 2;
};
};
class ACE_surgicalKit: ACE_ItemCore {
scope=2;
displayName= $STR_ACE_MEDICAL_SURGICALKIT_DISPLAY;
displayName= $STR_ACE_Medical_SurgicalKit_Display;
model = QUOTE(PATHTOF(data\surgical_kit.p3d));
picture = QUOTE(PATHTOF(ui\items\surgicalKit_x_ca.paa));
descriptionShort = $STR_ACE_MEDICAL_SURGICALKIT_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_SURGICALKIT_DESC_USE;
descriptionShort = $STR_ACE_Medical_SurgicalKit_Desc_Short;
descriptionUse = $STR_ACE_Medical_SurgicalKit_Desc_Use;
class ItemInfo: InventoryItem_Base_F {
mass = 5;
};
};
class ACE_bodyBag: ACE_ItemCore {
scope=2;
displayName= $STR_ACE_MEDICAL_BODYBAG_DISPLAY;
displayName= $STR_ACE_Medical_Bodybag_Display;
model = QUOTE(PATHTOF(data\bodybagItem.p3d));
picture = QUOTE(PATHTOF(ui\items\bodybag_x_ca.paa));
descriptionShort = $STR_ACE_MEDICAL_BODYBAG_DESC_SHORT;
descriptionUse = $STR_ACE_MEDICAL_BODYBAG_DESC_USE;
descriptionShort = $STR_ACE_Medical_Bodybag_Desc_Short;
descriptionUse = $STR_ACE_Medical_Bodybag_Desc_Use;
class ItemInfo: InventoryItem_Base_F {
mass = 15;
};

View File

@ -14,6 +14,7 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"];
["medical_onUnconscious", {
if (local (_this select 0)) then {
private ["_unit"];
_unit = _this select 0;
if (_this select 1) then {
_unit setVariable ["tf_globalVolume", 0.4];
@ -36,7 +37,7 @@ GVAR(heartBeatSounds_Slow) = ["ACE_heartbeat_slow_1", "ACE_heartbeat_slow_2"];
// Initialize all effects
_fnc_createEffect = {
private ["_type", "_layer", "_default"];
private ["_type", "_layer", "_default", "_effect"];
_type = _this select 0;
_layer = _this select 1;
_default = _this select 2;
@ -91,6 +92,7 @@ GVAR(effectTimeBlood) = time;
// MAIN EFFECTS LOOP
[{
private["_bleeding", "_blood"];
// Zeus interface is open or player is dead; disable everything
if (!(isNull (findDisplay 312)) or !(alive ACE_player)) exitWith {
GVAR(effectUnconsciousCC) ppEffectEnable false;
@ -155,6 +157,7 @@ GVAR(lastHeartBeatSound) = time;
// HEARTRATE BASED EFFECTS
[{
private["_heartRate", "_interval", "_minTime", "_sound", "_strength"];
_heartRate = ACE_player getVariable [QGVAR(heartRate), 70];
if (GVAR(level) == 1) then {
_heartRate = 60 + 40 * (ACE_player getVariable [QGVAR(pain), 0]);

View File

@ -14,7 +14,7 @@
#include "script_component.hpp"
private ["_caller","_target","_bloodPressure","_bloodPressureHigh","_bloodPressureLow","_title","_content"];
private ["_caller","_target","_bloodPressure","_bloodPressureHigh","_bloodPressureLow", "_logOutPut", "_output"];
_caller = _this select 0;
_target = _this select 1;
@ -28,27 +28,27 @@ _bloodPressureLow = _bloodPressure select 0;
_output = "";
_logOutPut = "";
if ([_caller] call FUNC(isMedic)) then {
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_1";
_output = "STR_ACE_Medical_Check_Bloodpressure_Output_1";
_logOutPut = format["%1/%2",round(_bloodPressureHigh),round(_bloodPressureLow)];
} else {
if (_bloodPressureHigh > 20) then {
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_2";
_logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOW";
_output = "STR_ACE_Medical_Check_Bloodpressure_Output_2";
_logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_Low";
if (_bloodPressureHigh > 100) then {
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_3";
_logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NORMAL";
_output = "STR_ACE_Medical_Check_Bloodpressure_Output_3";
_logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_Normal";
if (_bloodPressureHigh > 160) then {
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_4";
_logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_HIGH";
_output = "STR_ACE_Medical_Check_Bloodpressure_Output_4";
_logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_High";
};
};
} else {
if (random(10) > 3) then {
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_5";
_logOutPut = localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_NOBLOODPRESSURE";
_output = "STR_ACE_Medical_Check_Bloodpressure_Output_5";
_logOutPut = localize "STR_ACE_Medical_Check_Bloodpressure_NoBloodpressure";
} else {
_output = "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_OUTPUT_6";
_output = "STR_ACE_Medical_Check_Bloodpressure_Output_6";
};
};
};
@ -56,5 +56,5 @@ if ([_caller] call FUNC(isMedic)) then {
["displayTextStructured", [_caller], [[_output, [_target] call EFUNC(common,getName), round(_bloodPressureHigh),round(_bloodPressureLow)], 1.75, _caller]] call EFUNC(common,targetEvent);
if (_logOutPut != "") then {
[_target,"activity", localize "STR_ACE_MEDICAL_CHECK_BLOODPRESSURE_LOG", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog);
[_target,"activity", localize "STR_ACE_Medical_Check_Bloodpressure_Log", [[_caller] call EFUNC(common,getName), _logOutPut]] call FUNC(addToLog);
};

View File

@ -14,7 +14,7 @@
#include "script_component.hpp"
private ["_caller","_target","_title","_content"];
private ["_caller","_target"];
_caller = _this select 0;
_target = _this select 1;
[[_caller, _target], QUOTE(DFUNC(actionCheckPulseLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */

View File

@ -14,7 +14,7 @@
#include "script_component.hpp"
private ["_caller","_unit", "_heartRateOutput", "_heartRate","_logOutPut","_content"];
private ["_caller", "_unit", "_heartRateOutput", "_heartRate", "_logOutPut"];
_caller = _this select 0;
_unit = _this select 1;
@ -23,24 +23,24 @@ _heartRate = _unit getvariable [QGVAR(heartRate), 80];
if (!alive _unit) then {
_heartRate = 0;
};
_heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_5";
_heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_5";
_logOutPut = "No heart rate";
if (_heartRate > 1.0) then {
if ([_caller] call FUNC(isMedic)) then {
_heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_1";
_heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_1";
_logOutPut = format["%1",round(_heartRate)];
} else {
// non medical personel will only find a pulse/HR
_heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_2";
_logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_WEAK";
_heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_2";
_logOutPut = localize "STR_ACE_Medical_Check_Pulse_Weak";
if (_heartRate > 60) then {
if (_heartRate > 100) then {
_heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_3";
_logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_STRONG";
_heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_3";
_logOutPut = localize "STR_ACE_Medical_Check_Pulse_Strong";
} else {
_heartRateOutput = "STR_ACE_MEDICAL_CHECK_PULSE_OUTPUT_4";
_logOutPut = localize "STR_ACE_MEDICAL_CHECK_PULSE_NORMAL";
_heartRateOutput = "STR_ACE_Medical_Check_Pulse_Output_4";
_logOutPut = localize "STR_ACE_Medical_Check_Pulse_Normal";
};
};
};
@ -49,5 +49,5 @@ if (_heartRate > 1.0) then {
["displayTextStructured", [_caller], [[_heartRateOutput, [_unit] call EFUNC(common,getName), round(_heartRate)], 1.5, _caller]] call EFUNC(common,targetEvent);
if (_logOutPut != "") then {
[_unit,"activity", localize "STR_ACE_MEDICAL_CHECK_PULSE_LOG",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog);
[_unit,"activity", localize "STR_ACE_Medical_Check_Pulse_Log",[[_caller] call EFUNC(common,getName),_logOutPut]] call FUNC(addToLog);
};

View File

@ -14,15 +14,15 @@
#include "script_component.hpp"
private ["_caller","_target"];
private ["_caller","_target", "_output"];
_caller = _this select 0;
_target = _this select 1;
_output = "";
if ([_target] call EFUNC(common,isAwake)) then {
_output = "STR_ACE_MEDICAL_CHECK_REPONSE_RESPONSIVE";
_output = "STR_ACE_Medical_Check_Response_Responsive";
} else {
_output = "STR_ACE_MEDICAL_CHECK_REPONSE_UNRESPONSIVE";
_output = "STR_ACE_Medical_Check_Response_Unresponsive";
};
["displayTextStructured", [_caller], [[_output, [_target] call EFUNC(common,getName)], 2, _caller]] call EFUNC(common,targetEvent);

View File

@ -14,32 +14,32 @@
#include "script_component.hpp"
private ["_caller","_target","_title","_content"];
private ["_caller", "_target", "_genericMessages"];
_caller = _this select 0;
_target = _this select 1;
_genericMessages = ["STR_ACE_MEDICAL_diagnoseMessage"];
_genericMessages = ["STR_ACE_Medical_diagnoseMessage"];
_genericMessages pushBack ([_target] call EFUNC(common,getName));
if (alive _target) then {
_genericMessages pushback "STR_ACE_MEDICAL_diagnoseAlive";
_genericMessages pushback "STR_ACE_Medical_diagnoseAlive";
} else {
_genericMessages pushback "STR_ACE_MEDICAL_diagnoseDead";
_genericMessages pushback "STR_ACE_Medical_diagnoseDead";
};
if (_target getvariable[QGVAR(hasLostBlood), 0] > 0) then {
if (_target getvariable[QGVAR(hasLostBlood), 0] > 1) then {
_genericMessages pushback "STR_ACE_MEDICAL_lostBloodALot";
_genericMessages pushback "STR_ACE_Medical_lostBloodALot";
} else {
_genericMessages pushback "STR_ACE_MEDICAL_lostBlood";
_genericMessages pushback "STR_ACE_Medical_lostBlood";
};
} else {
_genericMessages pushback "STR_ACE_MEDICAL_noBloodloss";
_genericMessages pushback "STR_ACE_Medical_noBloodloss";
};
if (_target getvariable[QGVAR(hasPain), false]) then {
_genericMessages pushback "STR_ACE_MEDICAL_inPain";
_genericMessages pushback "STR_ACE_Medical_inPain";
} else {
_genericMessages pushback "STR_ACE_MEDICAL_noPain";
_genericMessages pushback "STR_ACE_Medical_noPain";
};
["displayTextStructured", [_caller], [_genericMessages, 3.0, _caller]] call EFUNC(common,targetEvent);

View File

@ -14,7 +14,7 @@
#include "script_component.hpp"
private ["_caller", "_target","_vehicle", "_loaded"];
private ["_caller", "_target","_vehicle"];
_caller = _this select 0;
_target = _this select 1;

View File

@ -15,7 +15,7 @@
#include "script_component.hpp"
private ["_caller","_target","_part","_selectionName","_removeItem","_tourniquets", "_output"];
private ["_caller", "_target", "_part", "_selectionName", "_tourniquets", "_output"];
_caller = _this select 0;
_target = _this select 1;
_selectionName = _this select 2;

View File

@ -15,7 +15,7 @@
#include "script_component.hpp"
private ["_caller", "_target","_vehicle", "_drag", "_handle"];
private ["_caller", "_target", "_drag"];
_caller = _this select 0;
_target = _this select 1;
_drag = if (count _this > 2) then {_this select 2} else {false};
@ -24,7 +24,7 @@ _drag = if (count _this > 2) then {_this select 2} else {false};
if (vehicle _target == _target) exitwith {};
if (([_target] call cse_fnc_isAwake)) exitwith {};
if ([_caller, _target] call EFUNC(common,unloadPerson)) then {
if ([_target] call EFUNC(common,unloadPerson)) then {
if (_drag) then {
if ((vehicle _caller) == _caller) then {
[[_caller, _target, true], QUOTE(DFUNC(actionDragUnit)), _caller, false] call EFUNC(common,execRemoteFnc); // TODO replace by event

View File

@ -13,7 +13,7 @@
#include "script_component.hpp"
private "_unit";
private ["_unit", "_force"];
_unit = _this select 0;
_force = if (count _this > 1) then {_this select 1} else {false};

View File

@ -16,7 +16,7 @@
#include "script_component.hpp"
private ["_unit", "_type", "_message", "_arguments", "_lastNumber", "_moment", "_logVarName", "_log","_newLog"];
private ["_unit", "_type", "_message", "_arguments", "_lastNumber", "_moment", "_logVarName", "_log","_newLog", "_logs"];
_unit = _this select 0;
_type = _this select 1;
_message = _this select 2;

View File

@ -14,7 +14,7 @@
#include "script_component.hpp"
private ["_unit","_caller","_newItem","_log", "_inList","_amount"];
private ["_unit", "_newItem", "_log", "_inList", "_amount"];
_unit = _this select 0;
_newItem = _this select 1;

View File

@ -16,7 +16,7 @@
EXPLODE_3_PVT(_this,_vehicle,_player,_parameters);
private ["_actions"];
private ["_actions", "_unit"];
_actions = [];
{

View File

@ -16,7 +16,7 @@
#include "script_component.hpp"
private ["_caller", "_target", "_selectionName", "_className", "_config", "_availableLevels", "_medicRequired", "_items", "_locations", "_return", "_condition"];
private ["_caller", "_target", "_selectionName", "_className", "_config", "_medicRequired", "_items", "_locations", "_return", "_condition"];
_caller = _this select 0;
_target = _this select 1;
_selectionName = _this select 2;

View File

@ -14,7 +14,7 @@
#include "script_component.hpp"
private ["_oldBody","_newUnit","_class","_group","_position","_side","_allVariables"];
private ["_oldBody","_newUnit","_class","_group","_position","_side", "_caller", "_name"];
_oldBody = _this select 0;
_caller = _this select 1;

View File

@ -16,7 +16,7 @@
#define MIN_ENTRIES_LITTER_CONFIG 3
private ["_target", "_className", "_config", "_litter", "_createLitter", "_litterObject", "_position", "_createdLitter"];
private ["_target", "_className", "_config", "_litter", "_createLitter", "_position", "_createdLitter", "_caller", "_selectionName", "_usersOfItems"];
_caller = _this select 0;
_target = _this select 1;
_selectionName = _this select 2;

View File

@ -10,7 +10,7 @@
#include "script_component.hpp"
private ["_unit","_part","_damageThreshold", "_withDamage"];
private ["_unit","_part","_damageThreshold", "_withDamage", "_damageBodyPart"];
_unit = _this select 0;
_part = _this select 1;
_withDamage = if (count _this > 2) then { _this select 2} else {0};

View File

@ -16,7 +16,7 @@
// Exit for basic medical
if (GVAR(level) < 2) exitWith {};
private ["_target", "_show", "_selectionN"];
private ["_target", "_show", "_selectionN", "_amountOfGeneric", "_bandagedwounds", "_logCtrl", "_part", "_partText", "_pointDamage", "_severity", "_total", "_totalIvVolume", "_triageStatus", "_type"];
_target = _this select 0;
_show = if (count _this > 1) then {_this select 1} else {true};
_selectionN = if (count _this > 2) then {_this select 2} else {0};
@ -55,17 +55,17 @@ if (_show) then {
};
if (_target getvariable[QGVAR(isBleeding), false]) then {
_genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_BLEEDING", [1, 0.1, 0.1, 1]];
_genericMessages pushback [localize "STR_ACE_Medical_Status_Bleeding", [1, 0.1, 0.1, 1]];
};
if (_target getvariable[QGVAR(hasLostBlood), 0] > 1) then {
_genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_LOST_BLOOD", [1, 0.1, 0.1, 1]];
_genericMessages pushback [localize "STR_ACE_Medical_Status_Lost_Blood", [1, 0.1, 0.1, 1]];
};
if (((_target getvariable [QGVAR(tourniquets), [0,0,0,0,0,0]]) select _selectionN) > 0) then {
_genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_TOURNIQUET_APPLIED", [0.77, 0.51, 0.08, 1]];
_genericMessages pushback [localize "STR_ACE_Medical_Status_Tourniquet_Applied", [0.77, 0.51, 0.08, 1]];
};
if (_target getvariable[QGVAR(hasPain), false]) then {
_genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_PAIN", [1, 1, 1, 1]];
_genericMessages pushback [localize "STR_ACE_Medical_Status_Pain", [1, 1, 1, 1]];
};
_totalIvVolume = 0;
@ -77,7 +77,7 @@ if (_show) then {
};
}foreach GVAR(IVBags);
if (_totalIvVolume >= 1) then {
_genericMessages pushback [format[localize "STR_ACE_MEDICAL_receivingIvVolume", floor _totalIvVolume], [1, 1, 1, 1]];
_genericMessages pushback [format[localize "STR_ACE_Medical_receivingIvVolume", floor _totalIvVolume], [1, 1, 1, 1]];
};
_damaged = [false, false, false, false, false, false];
@ -192,7 +192,7 @@ if (_show) then {
_logCtrl = (_display displayCtrl 302);
lbClear _logCtrl;
private ["_logs", "_log", "_message", "_moment", "_arguments", "_lbCtrl"];
private ["_logs", "_message", "_moment", "_arguments", "_lbCtrl"];
_logs = _target getvariable [QGVAR(logFile_Activity), []];
{
// [_message,_moment,_type, _arguments]

View File

@ -13,7 +13,7 @@
#include "script_component.hpp"
private ["_target", "_show"];
private ["_target", "_show", "_amount", "_item", "_log", "_message", "_triageCardTexts", "_triageStatus"];
_target = _this select 0;
_show = if (count _this > 1) then {_this select 1} else {true};
@ -24,7 +24,7 @@ if (_show) then {
createDialog QGVAR(triageCard);
[{
private ["_target", "_display", "_alphaLevel", "_damaged", "_availableSelections", "_openWounds", "_selectionBloodLoss", "_red", "_green", "_blue", "_alphaLevel", "_allInjuryTexts", "_lbCtrl", "_genericMessages"];
private ["_target", "_display", "_alphaLevel", "_alphaLevel", "_lbCtrl"];
_target = (_this select 0) select 0;
if (GVAR(TriageCardTarget) != _target) exitwith {
[_this select 1] call CBA_fnc_removePerFrameHandler;
@ -58,7 +58,7 @@ if (_show) then {
}foreach _log;
if (count _triageCardTexts == 0) then {
_lbCtrl lbAdd (localize "STR_ACE_MEDICAL_TriageCard_NoEntry");
_lbCtrl lbAdd (localize "STR_ACE_Medical_TriageCard_NoEntry");
};
{
_lbCtrl lbAdd _x;

View File

@ -13,7 +13,7 @@
#include "script_component.hpp"
private ["_show"];
private ["_show", "_ctrl", "_display", "_idc", "_pos"];
_show = _this select 0;
disableSerialization;

View File

@ -15,10 +15,10 @@
#define BLOODLOSSRATE_BASIC 0.2
private ["_unit", "_totalBloodLoss","_tourniquets","_openWounds", "_value", "_cardiacOutput", "_internalWounds"];
private ["_totalBloodLoss","_tourniquets","_openWounds", "_cardiacOutput", "_internalWounds"];
// TODO Only use this calculation if medium or higher, otherwise use vanilla calculations (for basic medical).
_unit = _this select 0;
_totalBloodLoss = 0;
// Advanced medical bloodloss handling

View File

@ -15,7 +15,7 @@
#define HEART_RATE_MODIFIER 0.02
private ["_unit", "_heartRate", "_hrIncrease", "_bloodLoss", "_time", "_values", "_adjustment", "_adjustments", "_additionalIncrease", "_change", "_callBack", "_bloodVolume"];
private ["_unit", "_heartRate", "_hrIncrease", "_bloodLoss", "_time", "_values", "_adjustment", "_change", "_callBack", "_bloodVolume"];
_unit = _this select 0;
_hrIncrease = 0;
if (!(_unit getvariable [QGVAR(inCardiacArrest),false])) then {

View File

@ -17,10 +17,10 @@ private ["_unit","_return","_status"];
_unit = _this select 0;
_status = _unit getvariable [QGVAR(triageLevel), -1];
_return = switch (_status) do {
case 1: {[localize "STR_ACE_MEDICAL_TRIAGE_STATUS_MINOR", 1, [0, 0.5, 0, 0.9]]};
case 2: {[localize "STR_ACE_MEDICAL_TRIAGE_STATUS_DELAYED", 2, [0.7, 0.5, 0, 0.9]]};
case 3: {[localize "STR_ACE_MEDICAL_TRIAGE_STATUS_IMMEDIATE", 3, [0.4, 0.07, 0.07, 0.9]]};
case 4: {[localize "STR_ACE_MEDICAL_TRIAGE_STATUS_DECEASED", 4, [0, 0, 0, 0.9]]};
default {[localize "STR_ACE_MEDICAL_TRIAGE_STATUS_NONE", 0, [0, 0, 0, 0.9]]};
case 1: {[localize "STR_ACE_Medical_Triage_Status_Minor", 1, [0, 0.5, 0, 0.9]]};
case 2: {[localize "STR_ACE_Medical_Triage_Status_Delayed", 2, [0.7, 0.5, 0, 0.9]]};
case 3: {[localize "STR_ACE_Medical_Triage_Status_Immediate", 3, [0.4, 0.07, 0.07, 0.9]]};
case 4: {[localize "STR_ACE_Medical_Triage_Status_Deceased", 4, [0, 0, 0, 0.9]]};
default {[localize "STR_ACE_Medical_Triage_Status_None", 0, [0, 0, 0, 0.9]]};
};
_return;

View File

@ -18,7 +18,7 @@
#include "script_component.hpp"
private ["_target", "_impact", "_part", "_injuryIndex", "_injury", "_bandage", "_classID", "_className", "_reopeningChance", "_reopeningMinDelay", "_reopeningMaxDelay", "_config", "_woundTreatmentConfig", "_bandagedWounds", "_exist", "_injuryId", "_existingInjury", "_delay", "_openWounds", "_selectedInjury"];
private ["_target", "_impact", "_part", "_injuryIndex", "_injury", "_bandage", "_classID", "_className", "_reopeningChance", "_reopeningMinDelay", "_reopeningMaxDelay", "_config", "_woundTreatmentConfig", "_bandagedWounds", "_exist", "_injuryId", "_existingInjury", "_delay", "_openWounds", "_selectedInjury", "_bandagedInjury"];
_target = _this select 0;
_impact = _this select 1;
_part = _this select 2;

View File

@ -5,6 +5,7 @@ if(!hasInterface) exitWith { false };
PARAMS_3(_litterClass,_position,_direction);
private["_litterObject", "_maxLitterCount"];
//IGNORE_PRIVATE_WARNING(_values);
if (isNil QGVAR(allCreatedLitter)) then {
GVAR(allCreatedLitter) = [];

View File

@ -17,7 +17,7 @@
#include "script_component.hpp"
private ["_unit", "_selection", "_damage", "_shooter", "_projectile", "_damageReturn", "_typeOfDamage"];
private ["_unit", "_selection", "_damage", "_shooter", "_projectile", "_damageReturn", "_typeOfDamage", "_minLethalDamage", "_newDamage", "_typeIndex"];
_unit = _this select 0;
_selection = _this select 1;
_damage = _this select 2;
@ -52,7 +52,7 @@ if (GVAR(level) < 2) then {
_minLethalDamage = GVAR(minLethalDamages) select _typeIndex;
};
if (vehicle _unit != _unit && {!(vehicle _unit isKindOf "StaticWeapon")} && {isNull _source} && {_projectile == ""} && {_selection == ""}) then {
if (vehicle _unit != _unit && {!(vehicle _unit isKindOf "StaticWeapon")} && {isNull _shooter} && {_projectile == ""} && {_selection == ""}) then {
if (GVAR(enableVehicleCrashes)) then {
_selection = GVAR(SELECTIONS) select (floor(random(count GVAR(SELECTIONS))));
};
@ -86,7 +86,7 @@ if (_unit getVariable [QGVAR(preventInstaDeath), GVAR(preventInstaDeath)]) exitW
};
if (((_unit getVariable [QGVAR(enableRevive), GVAR(enableRevive)]) > 0) && {_damageReturn >= 0.9} && {_selection in ["", "head", "body"]}) exitWith {
if (vehicle _unit != _unit and {damage _vehicle >= 1}) then {
if (vehicle _unit != _unit and {damage (vehicle _unit) >= 1}) then {
// @todo
// [_unit] call FUNC(unload);
};

View File

@ -24,6 +24,7 @@
#define ARMDAMAGETRESHOLD2 1.7
#define UNCONSCIOUSNESSTRESHOLD 0.7
<<<<<<< HEAD
private ["_unit", "_selectionName", "_damage", "_shooter", "_projectile", "_threshold"];
_unit = _this select 0;
@ -38,6 +39,15 @@ _threshold = [
_unit getVariable [QGVAR(damageThreshold), GVAR(playerDamageThreshold)]
] select ([_unit] call EFUNC(common,isPlayer));
_damage = _damage * (1 / _threshold);
=======
private ["_unit", "_selectionName", "_damage", "_shooter", "_projectile", "_damage", "_armdamage", "_hitPoint", "_index", "_legdamage", "_newDamage", "_otherDamage", "_pain", "_restore"];
_unit = _this select 0;
_selectionName = _this select 1;
_damage = _this select 2;
_shooter = _this select 3;
_projectile = _this select 4;
>>>>>>> origin/master
// This is a new hit, reset variables.
// Note: sometimes handleDamage spans over 2 or even 3 frames.

View File

@ -17,7 +17,7 @@
#include "script_component.hpp"
private ["_unit", "_selectionName", "_damage", "_typeOfProjectile", "_typeOfDamage", "_bodyPartn", "_woundType", "_injuryTypeInfo", "_allInjuriesForDamageType", "_allPossibleInjuries", "_highestPossibleDamage", "_highestPossibleSpot", "_minDamage", "_openWounds", "_woundID", "_toAddInjury", "_painToAdd"];
private ["_unit", "_selectionName", "_damage", "_typeOfProjectile", "_typeOfDamage", "_bodyPartn", "_injuryTypeInfo", "_allInjuriesForDamageType", "_allPossibleInjuries", "_highestPossibleDamage", "_highestPossibleSpot", "_minDamage", "_openWounds", "_woundID", "_toAddInjury", "_painToAdd", "_bloodLoss", "_bodyPartNToAdd", "_classType", "_damageLevels", "_foundIndex", "_i", "_injury", "_maxDamage", "_pain", "_painLevel", "_selections", "_toAddClassID", "_woundsCreated"];
_unit = _this select 0;
_selectionName = _this select 1;
_damage = _this select 2;

View File

@ -13,7 +13,7 @@
#include "script_component.hpp"
private["_unit"];
private["_unit", "_openWounds"];
_unit = _this select 0;
if (!local _unit) exitwith {};

View File

@ -13,7 +13,7 @@
#include "script_component.hpp"
private ["_unit", "_heartRate","_bloodPressure","_bloodVolume","_painStatus", "_lastTimeValuesSynced", "_syncValues"];
private ["_unit", "_heartRate","_bloodPressure","_bloodVolume","_painStatus", "_lastTimeValuesSynced", "_syncValues", "_airwayStatus", "_blood", "_bloodPressureH", "_bloodPressureL", "_interval"];
_unit = _this select 0;
_interval = time - (_unit getVariable [QGVAR(lastMomentVitalsHandled), 0]);

View File

@ -15,7 +15,7 @@
#include "script_component.hpp"
private ["_medic", "_patient", "_item", "_return"];
private ["_medic", "_patient", "_item", "_return", "_crew"];
_medic = _this select 0;
_patient = _this select 1;
_item = _this select 2;

View File

@ -13,7 +13,7 @@
#include "script_component.hpp"
private ["_unit", "_allUsedMedication", "_logs", "_forceNew"];
private ["_unit", "_allUsedMedication", "_logs"];
_unit = _this select 0;

View File

@ -14,7 +14,7 @@
#include "script_component.hpp"
private ["_unit","_class","_return"];
private ["_unit", "_class", "_medicN"];
_unit = _this select 0;
_medicN = if (count _this > 1) then {_this select 1} else {1};

View File

@ -19,15 +19,15 @@
EXPLODE_4_PVT(_this,_target,_player,_selectionN,_actionData);
if (GVAR(level) < 2) exitwith {
private ["_pointDamage"];
_pointDamage = _target getHitPointDamage (["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"] select _selectionN);
private ["_pointDamage"];
_pointDamage = _target getHitPointDamage (["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"] select _selectionN);
if (_pointDamage >= 0.8) exitWith {
_actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))];
};
if (_pointDamage > 0) exitWith {
_actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossYellow.paa))];
};
if (_pointDamage >= 0.8) exitWith {
_actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))];
};
if (_pointDamage > 0) exitWith {
_actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossYellow.paa))];
};
};
private ["_openWounds", "_amountOf"];
@ -35,6 +35,6 @@ _openWounds = _target getvariable [QGVAR(openWounds), []];
{
_amountOf = _x select 3;
if (_amountOf > 0 && {(_selectionN == (_x select 2))}) exitwith {
_actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))];
_actionData set [2, QUOTE(PATHTOF(UI\icons\medical_crossRed.paa))];
};
}foreach _openWounds;
} foreach _openWounds;

View File

@ -13,7 +13,7 @@
*/
#include "script_component.hpp"
private ["_unit", "_openWounds"];
private ["_unit", "_openWounds", "_originOfrequest"];
_unit = _this select 0;
_originOfrequest = _this select 1;

View File

@ -12,7 +12,7 @@
#include "script_component.hpp"
private ["_injuriesRootConfig", "_woundsConfig", "_allWoundClasses", "_amountOf", "_entry","_classType", "_selections", "_bloodLoss", "_pain","_minDamage","_causes", "_damageTypesConfig", "_thresholds", "_typeThresholds", "_selectionSpecific", "_selectionSpecificType", "_classDisplayName", "_subClassDisplayName", "_maxDamage", "_subClassmaxDamage", "_defaultMinLethalDamage", "_minLethalDamage"];
private ["_injuriesRootConfig", "_woundsConfig", "_allWoundClasses", "_amountOf", "_entry","_classType", "_selections", "_bloodLoss", "_pain","_minDamage","_causes", "_damageTypesConfig", "_thresholds", "_typeThresholds", "_selectionSpecific", "_selectionSpecificType", "_classDisplayName", "_subClassDisplayName", "_maxDamage", "_subClassmaxDamage", "_defaultMinLethalDamage", "_minLethalDamage", "_allFoundDamageTypes", "_classID", "_configDamageTypes", "_i", "_parseForSubClassWounds", "_subClass", "_subClassConfig", "_subClassbloodLoss", "_subClasscauses", "_subClassminDamage", "_subClasspain", "_subClassselections", "_subClasstype", "_type", "_varName", "_woundTypes"];
_injuriesRootConfig = (configFile >> "ACE_Medical_Advanced" >> "Injuries");
_allFoundDamageTypes = [];

View File

@ -15,7 +15,7 @@
#include "script_component.hpp"
private ["_unit","_amountOfDamage","_bodyPartStatus","_availableSounds_A","_availableSounds_B","_availableSounds_C","_sound"];
private ["_unit","_availableSounds_A","_availableSounds_B","_availableSounds_C","_sound", "_pain"];
_unit = _this select 0;
_pain = _this select 1;
if (!local _unit || !GVAR(enableScreams)) exitwith{};

View File

@ -14,7 +14,7 @@
#include "script_component.hpp"
private [ "_target", "_caller", "_openWounds"];
private [ "_target", "_caller"];
_target = _this select 0;
_caller = _this select 1;

View File

@ -13,7 +13,7 @@
#include "script_component.hpp"
private ["_unit", "_force", "_reviveVal"];
private ["_unit", "_force", "_reviveVal", "_lifesLeft"];
_unit = _this select 0;
_force = false;
if (count _this >= 2) then {

View File

@ -21,7 +21,7 @@
#define ARMDAMAGETRESHOLD1 1
#define ARMDAMAGETRESHOLD2 1.7
private ["_unit", "_selection", "_damage", "_selections", "_damages", "_damageOld", "_damageSumOld", "_damageNew", "_damageSumNew", "_damageFinal"];
private ["_unit", "_selection", "_damage", "_selections", "_damages", "_damageOld", "_damageSumOld", "_damageNew", "_damageSumNew", "_damageFinal", "_armdamage", "_legdamage"];
_unit = _this select 0;
_selection = _this select 1;

View File

@ -17,7 +17,7 @@
#define DEFAULT_DELAY (round(random(10)+5))
private ["_unit", "_set", "_animState", "_originalPos", "_captiveSwitch", "_startingTime","_minWaitingTime"];
private ["_unit", "_set", "_animState", "_originalPos", "_startingTime","_minWaitingTime"];
_unit = _this select 0;
_set = if (count _this > 1) then {_this select 1} else {true};
_minWaitingTime = if (count _this > 2) then {_this select 2} else {DEFAULT_DELAY};

View File

@ -16,7 +16,7 @@
#include "script_component.hpp"
private ["_caller", "_target", "_selectionName", "_className", "_config", "_availableLevels", "_medicRequired", "_items", "_locations", "_return", "_callbackSuccess", "_callbackFailure", "_callbackProgress", "_treatmentTime", "_callerAnim", "_patientAnim", "_iconDisplayed", "_return", "_usersOfItems", "_consumeItems"];
private ["_caller", "_target", "_selectionName", "_className", "_config", "_medicRequired", "_items", "_locations", "_return", "_callbackProgress", "_treatmentTime", "_callerAnim", "_patientAnim", "_iconDisplayed", "_return", "_usersOfItems", "_consumeItems", "_condition", "_displayText", "_wpn"];
_caller = _this select 0;
_target = _this select 1;
_selectionName = _this select 2;

View File

@ -16,7 +16,7 @@
#include "script_component.hpp"
private ["_caller", "_target", "_selectionName", "_className", "_items", "_removeItem"];
private ["_caller", "_target", "_selectionName", "_className", "_items"];
_caller = _this select 0;
_target = _this select 1;
_selectionName = _this select 2;

View File

@ -17,7 +17,7 @@
#include "script_component.hpp"
private ["_caller", "_target", "_selectionName", "_className", "_items", "_removeItem"];
private ["_caller", "_target", "_selectionName", "_className", "_items", "_specificSpot"];
_caller = _this select 0;
_target = _this select 1;
_selectionName = _this select 2;
@ -37,6 +37,6 @@ if !([_target] call FUNC(hasMedicalEnabled)) exitwith {
};
}foreach _items;*/
[_target, "activity", "STR_ACE_MEDICAL_ACTIVITY_bandagedPatient", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog);
[_target, "activity", "STR_ACE_Medical_Activity_bandagedPatient", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog);
true;

View File

@ -15,7 +15,7 @@
#include "script_component.hpp"
private ["_target", "_bandage", "_part", "_selectionName", "_openWounds", "_config", "_effectiveness","_mostEffectiveInjury", "_mostEffectiveSpot", "_woundEffectivenss", "_mostEffectiveInjury", "_impact", "_exit", "_specificClass", "_classID", "_effectivenessFound"];
private ["_target", "_bandage", "_part", "_selectionName", "_openWounds", "_config", "_effectiveness","_mostEffectiveInjury", "_mostEffectiveSpot", "_woundEffectivenss", "_mostEffectiveInjury", "_impact", "_exit", "_specificClass", "_classID", "_effectivenessFound", "_className", "_hitPoints", "_hitSelections", "_point", "_woundTreatmentConfig"];
_target = _this select 0;
_bandage = _this select 1;
_selectionName = _this select 2;

View File

@ -10,7 +10,7 @@
#include "script_component.hpp"
private ["_unit", "_caller", "_selectionName", "_className", "_items"];
private ["_target", "_caller", "_selectionName", "_className", "_items"];
_caller = _this select 0;
_target = _this select 1;
_selectionName = _this select 2;

View File

@ -17,7 +17,7 @@
#include "script_component.hpp"
private ["_caller", "_target", "_selectionName", "_className", "_items", "_removeItem"];
private ["_caller", "_target", "_selectionName", "_className", "_items"];
_caller = _this select 0;
_target = _this select 1;
_selectionName = _this select 2;
@ -32,6 +32,6 @@ _items = _this select 4;
};
}foreach _items;
[_target, "activity", "STR_ACE_MEDICAL_ACTIVITY_usedItem", [[_caller] call EFUNC(common,getName), _className]] call FUNC(addToLog);
[_target, "activity", "STR_ACE_Medical_Activity_usedItem", [[_caller] call EFUNC(common,getName), _className]] call FUNC(addToLog);
true;

View File

@ -15,7 +15,7 @@
#include "script_component.hpp"
private ["_target", "_className", "_currentInSystem", "_medicationConfig", "_painReduce", "_hrIncreaseLow", "_hrIncreaseNorm", "_hrIncreaseHigh", "_maxDose", "_inCompatableMedication", "_timeInSystem", "_heartRate", "_pain", "_resistance", "_hrCallback"];
private ["_target", "_className", "_currentInSystem", "_medicationConfig", "_painReduce", "_hrIncreaseLow", "_hrIncreaseNorm", "_hrIncreaseHigh", "_maxDose", "_inCompatableMedication", "_timeInSystem", "_heartRate", "_pain", "_resistance", "_hrCallback", "_varName", "_viscosityChange"];
_target = _this select 0;
_className = _this select 1;
@ -77,9 +77,9 @@ if (_painReduce > 0) then {
_target setvariable [QGVAR(pain), (_pain - (_pain * _painReduce)) max 0];
};
_resistance = _unit getvariable [QGVAR(peripheralResistance), 100];
_resistance = _target getvariable [QGVAR(peripheralResistance), 100];
_resistance = _resistance + _viscosityChange;
_unit setvariable [QGVAR(peripheralResistance), _resistance max 0];
_target setvariable [QGVAR(peripheralResistance), _resistance max 0];
// Call back to ensure that the medication is decreased over time
[_target, _classname, _varName, _maxDose, _timeInSystem, _inCompatableMedication, _viscosityChange] call FUNC(onMedicationUsage);

View File

@ -17,7 +17,7 @@
#include "script_component.hpp"
#define BANDAGEHEAL 0.8
private ["_caller", "_target","_selection","_className","_target","_hitSelections","_hitPoints","_point"];
private ["_caller", "_target","_selection","_className","_target","_hitSelections","_hitPoints","_point", "_damage"];
_caller = _this select 0;
_target = _this select 1;
_selection = _this select 2;

View File

@ -17,7 +17,7 @@
#include "script_component.hpp"
private ["_caller", "_target", "_selectionName", "_className", "_items", "_removeItem", "_attributes"];
private ["_caller", "_target", "_selectionName", "_className", "_items", "_removeItem"];
_caller = _this select 0;
_target = _this select 1;
_selectionName = _this select 2;
@ -29,4 +29,4 @@ if (count _items == 0) exitwith {};
_removeItem = _items select 0;
[[_target, _removeItem], QUOTE(DFUNC(treatmentIVLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */
[_target, _removeItem] call FUNC(addToTriageCard);
[_target, "activity", "STR_ACE_MEDICAL_ACTIVITY_gaveIV", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog);
[_target, "activity", "STR_ACE_Medical_Activity_gaveIV", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog);

View File

@ -15,7 +15,7 @@
#include "script_component.hpp"
private ["_target", "_ivItem", "_config", "_volumeAdded", "_typeOf", "_varName"];
private ["_target", "_ivItem", "_config", "_volumeAdded", "_typeOf", "_varName", "_bloodVolume"];
_target = _this select 0;
_ivItem = _this select 1;
@ -27,8 +27,8 @@ _config = (configFile >> "ACE_Medical_Advanced" >> "Treatment" >> "IV");
_volumeAdded = getNumber (_config >> "volume");
_typeOf = getText (_config >> "type");
if (isClass (_config >> _className)) then {
_config = (_config >> _className);
if (isClass (_config >> _ivItem)) then {
_config = (_config >> _ivItem);
if (isNumber (_config >> "volume")) then { _volumeAdded = getNumber (_config >> "volume");};
if (isText (_config >> "type")) then { _typeOf = getText (_config >> "type"); };
};

View File

@ -17,7 +17,7 @@
#include "script_component.hpp"
private ["_caller","_target","_part","_selectionName","_removeItem", "_tourniquets", "_items", "_output"];
private ["_caller","_target","_part","_selectionName","_removeItem", "_tourniquets", "_items", "_output", "_className"];
_caller = _this select 0;
_target = _this select 1;
_selectionName = _this select 2;
@ -43,7 +43,7 @@ _removeItem = _items select 0;
[[_target, _removeItem, _selectionName], QUOTE(DFUNC(treatmentTourniquetLocal)), _target] call EFUNC(common,execRemoteFnc); /* TODO Replace by event system */
[_target, _removeItem] call FUNC(addToTriageCard);
[_target, "activity", "STR_ACE_MEDICAL_ACTIVITY_appliedTourniquet", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog);
[_target, "activity", "STR_ACE_Medical_Activity_appliedTourniquet", [[_caller] call EFUNC(common,getName)]] call FUNC(addToLog);
true;

View File

@ -29,7 +29,7 @@ _tourniquets set[_part, _applyingTo];
_target setvariable [QGVAR(tourniquets), _tourniquets, true];
[{
private ["_args","_target","_applyingTo","_part", "_tourniquets"];
private ["_args","_target","_applyingTo","_part", "_tourniquets", "_time"];
_args = _this select 0;
_target = _args select 0;
_applyingTo = _args select 1;

View File

@ -17,7 +17,7 @@
#include "script_component.hpp"
private ["_caller", "_target","_selectionName","_className","_config","_callback", "_usersOfItems", "_weaponSelect"];
private ["_args", "_caller", "_target","_selectionName","_className","_config","_callback", "_usersOfItems", "_weaponSelect"];
_args = _this select 0;
_caller = _args select 0;

View File

@ -17,7 +17,7 @@
#include "script_component.hpp"
private ["_caller", "_target","_selectionName","_className","_config","_callback", "_weaponSelect"];
private ["_args", "_caller", "_target","_selectionName","_className","_config","_callback", "_weaponSelect"];
_args = _this select 0;
_caller = _args select 0;
_target = _args select 1;

View File

@ -13,7 +13,7 @@
#include "script_component.hpp"
private ["_unit", "_vehicleOfUnit","_minWaitingTime", "_oldAnimation", "_captiveSwitch", "_hasMovedOut", "_parachuteCheck"];
private ["_unit", "_minWaitingTime", "_oldAnimation", "_hasMovedOut", "_parachuteCheck", "_args", "_originalPos", "_startingTime"];
_args = _this select 0;
_unit = _args select 0;
_oldAnimation = _args select 1;

File diff suppressed because it is too large Load Diff

View File

@ -49,7 +49,7 @@ class GVAR(triageCard) {
font = "PuristaMedium";
colorText[] = {0,0,0,1};
colorBackground[] = {0,0,0,0};
text = "$STR_ACE_MEDICAL_ACTIONS_TriageCard";
text = "$STR_ACE_Medical_Actions_TriageCard";
};
class TriageList: ACE_gui_listBoxBase {
idc = 200;
@ -103,7 +103,7 @@ class GVAR(triageCard) {
y = 0;
w = 0;
h = 0;
text = $STR_ACE_MEDICAL_TRIAGE_STATUS_NONE;
text = $STR_ACE_Medical_Triage_Status_None;
style = 0x02;
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
@ -121,7 +121,7 @@ class GVAR(triageCard) {
y = 0;
w = 0;
h = 0;
text = $STR_ACE_MEDICAL_TRIAGE_STATUS_MINOR;
text = $STR_ACE_Medical_Triage_Status_Minor;
style = 0x02;
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
@ -139,7 +139,7 @@ class GVAR(triageCard) {
y = 0;
w = 0;
h = 0;
text = $STR_ACE_MEDICAL_TRIAGE_STATUS_DELAYED;
text = $STR_ACE_Medical_Triage_Status_Delayed;
style = 0x02;
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
@ -157,7 +157,7 @@ class GVAR(triageCard) {
y = 0;
w = 0;
h = 0;
text = $STR_ACE_MEDICAL_TRIAGE_STATUS_IMMEDIATE;
text = $STR_ACE_Medical_Triage_Status_Immediate;
style = 0x02;
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
@ -175,7 +175,7 @@ class GVAR(triageCard) {
y = 0;
w = 0;
h = 0;
text = $STR_ACE_MEDICAL_TRIAGE_STATUS_DECEASED;
text = $STR_ACE_Medical_Triage_Status_Deceased;
style = 0x02;
size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

View File

@ -4,7 +4,7 @@
if (!hasInterface) exitWith {};
//Add Keybinds:
["ACE3", QGVAR(openGPS), (localize "STR_ACE_microdagr_toggleUnit"),
["ACE3 Equipment", QGVAR(openGPS), (localize "STR_ACE_microdagr_toggleUnit"),
{
// canInteractWith (can use on map)
if !([ACE_player, objNull, ["notOnMap", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};
@ -17,7 +17,7 @@ if (!hasInterface) exitWith {};
{false},
[0xC7, [false, false, false]], false] call cba_fnc_addKeybind; //Home Key
["ACE3", QGVAR(closeGPS), (localize "STR_ACE_microdagr_closeUnit"),
["ACE3 Equipment", QGVAR(closeGPS), (localize "STR_ACE_microdagr_closeUnit"),
{
// canInteractWith (can use on map)
if !([ACE_player, objNull, ["notOnMap", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -20,7 +20,7 @@ if (!hasInterface) exitWith {};
}] call EFUNC(common,addEventHandler);
["ACE3", QGVAR(climb), localize "STR_ACE_Movement_Climb",
["ACE3 Movement", QGVAR(climb), localize "STR_ACE_Movement_Climb",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -37,7 +37,7 @@ GVAR(ppEffectMuzzleFlash) ppEffectCommit 0;
["playerTurretChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
// Add keybinds
["ACE3", QGVAR(IncreaseNVGBrightness), localize "STR_ACE_NightVision_IncreaseNVGBrightness",
["ACE3 Equipment", QGVAR(IncreaseNVGBrightness), localize "STR_ACE_NightVision_IncreaseNVGBrightness",
{
// Conditions: canInteract
if !([ACE_player, objNull, ["isNotEscorting", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};
@ -51,7 +51,7 @@ GVAR(ppEffectMuzzleFlash) ppEffectCommit 0;
{false},
[201, [false, false, true]], false] call cba_fnc_addKeybind; //PageUp + ALT
["ACE3", QGVAR(DecreaseNVGBrightness), localize "STR_ACE_NightVision_DecreaseNVGBrightness",
["ACE3 Equipment", QGVAR(DecreaseNVGBrightness), localize "STR_ACE_NightVision_DecreaseNVGBrightness",
{
// Conditions: canInteract
if !([ACE_player, objNull, ["isNotEscorting", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -4,7 +4,7 @@
if !(hasInterface) exitWith {};
// Add keybinds
["ACE3", QGVAR(unjamWeapon), localize "STR_ACE_Overheating_UnjamWeapon",
["ACE3 Weapons", QGVAR(unjamWeapon), localize "STR_ACE_Overheating_UnjamWeapon",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -17,7 +17,7 @@
if (!hasInterface) exitWith {};
["ACE3", QGVAR(showAltimeter), localize "STR_ACE_Parachute_showAltimeter",
["ACE3 Equipment", QGVAR(showAltimeter), localize "STR_ACE_Parachute_showAltimeter",
{
// Conditions: canInteract
if !([ACE_player, objNull, ["isNotEscorting", "isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -4,7 +4,7 @@
if !(hasInterface) exitWith {};
// Add keybinds
["ACE3", QGVAR(checkAmmo), localize "STR_ACE_Reload_checkAmmo",
["ACE3 Weapons", QGVAR(checkAmmo), localize "STR_ACE_Reload_checkAmmo",
{
// Conditions: canInteract
if !([ACE_player, (vehicle ACE_player), ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -96,7 +96,7 @@ class CfgVehicles {
class ACE_Actions: ACE_Actions {
class ACE_Teleport {
displayName = "$STR_ACE_Respawn_TeleportedToRallypoint";
displayName = "$STR_ACE_Respawn_TeleportToRallypoint";
distance = 4;
condition = QUOTE(side group _player == west);
statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_West')] call FUNC(teleportToRallypoint));
@ -116,7 +116,7 @@ class CfgVehicles {
class ACE_Actions: ACE_Actions {
class ACE_Teleport {
displayName = "$STR_ACE_Respawn_TeleportedToRallypoint";
displayName = "$STR_ACE_Respawn_TeleportToRallypoint";
distance = 4;
condition = QUOTE(side group _player == east);
statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_East')] call FUNC(teleportToRallypoint));
@ -136,7 +136,7 @@ class CfgVehicles {
class ACE_Actions: ACE_Actions {
class ACE_Teleport {
displayName = "$STR_ACE_Respawn_TeleportedToRallypoint";
displayName = "$STR_ACE_Respawn_TeleportToRallypoint";
distance = 4;
condition = QUOTE(side group _player == independent);
statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_Independent')] call FUNC(teleportToRallypoint));
@ -157,7 +157,7 @@ class CfgVehicles {
class ACE_Actions: ACE_Actions {
class ACE_Teleport {
displayName = "$STR_ACE_Respawn_TeleportedToBase";
displayName = "$STR_ACE_Respawn_TeleportToBase";
distance = 4;
condition = QUOTE(side group _player == west);
statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_West_Base')] call FUNC(teleportToRallypoint));
@ -177,7 +177,7 @@ class CfgVehicles {
class ACE_Actions: ACE_Actions {
class ACE_Teleport {
displayName = "$STR_ACE_Respawn_TeleportedToBase";
displayName = "$STR_ACE_Respawn_TeleportToBase";
distance = 4;
condition = QUOTE(side group _player == east);
statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_East_Base')] call FUNC(teleportToRallypoint));
@ -197,7 +197,7 @@ class CfgVehicles {
class ACE_Actions: ACE_Actions {
class ACE_Teleport {
displayName = "$STR_ACE_Respawn_TeleportedToBase";
displayName = "$STR_ACE_Respawn_TeleportToBase";
distance = 4;
condition = QUOTE(side group _player == independent);
statement = QUOTE([ARR_3(_player,side group _player,'ACE_Rallypoint_Independent_Base')] call FUNC(teleportToRallypoint));

View File

@ -25,6 +25,14 @@
<Italian>Rallypoint dispiegato</Italian>
<Portuguese>Rallypoints posicionado</Portuguese>
</Key>
<Key ID="STR_ACE_Respawn_TeleportToBase">
<English>Teleport to Base</English>
<German>Zur Basis teleportieren</German>
</Key>
<Key ID="STR_ACE_Respawn_TeleportToRallypoint">
<English>Teleport to Rallypoint</English>
<German>Zum Rallypoint teleportieren</German>
</Key>
<Key ID="STR_ACE_Respawn_TeleportedToBase">
<English>Teleported to Base</English>
<French>Téléporté à la base</French>

View File

@ -9,7 +9,7 @@ if (!hasInterface) exitWith {};
// Add keybinds
["ACE3", QGVAR(safeMode), localize "STR_ACE_SafeMode_SafeMode",
["ACE3 Weapons", QGVAR(safeMode), localize "STR_ACE_SafeMode_SafeMode",
{
// Conditions: canInteract
if !([ACE_player, objNull, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -33,7 +33,7 @@ if !(hasInterface) exitWith {};
// Add keybinds
["ACE3", QGVAR(AdjustUpMinor), localize "STR_ACE_Scopes_AdjustUpMinor",
["ACE3 Scope Adjustment", QGVAR(AdjustUpMinor), localize "STR_ACE_Scopes_AdjustUpMinor",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -46,7 +46,7 @@ if !(hasInterface) exitWith {};
{false},
[201, [false, false, false]], true] call cba_fnc_addKeybind;
["ACE3", QGVAR(AdjustDownMinor), localize "STR_ACE_Scopes_AdjustDownMinor",
["ACE3 Scope Adjustment", QGVAR(AdjustDownMinor), localize "STR_ACE_Scopes_AdjustDownMinor",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -59,7 +59,7 @@ if !(hasInterface) exitWith {};
{false},
[209, [false, false, false]], true] call cba_fnc_addKeybind;
["ACE3", QGVAR(AdjustLeftMinor), localize "STR_ACE_Scopes_AdjustLeftMinor",
["ACE3 Scope Adjustment", QGVAR(AdjustLeftMinor), localize "STR_ACE_Scopes_AdjustLeftMinor",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -72,7 +72,7 @@ if !(hasInterface) exitWith {};
{false},
[209, [false, true, false]], true] call cba_fnc_addKeybind;
["ACE3", QGVAR(AdjustRightMinor), localize "STR_ACE_Scopes_AdjustRightMinor",
["ACE3 Scope Adjustment", QGVAR(AdjustRightMinor), localize "STR_ACE_Scopes_AdjustRightMinor",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -85,7 +85,7 @@ if !(hasInterface) exitWith {};
{false},
[201, [false, true, false]], true] call cba_fnc_addKeybind;
["ACE3", QGVAR(AdjustUpMajor), localize "STR_ACE_Scopes_AdjustUpMajor",
["ACE3 Scope Adjustment", QGVAR(AdjustUpMajor), localize "STR_ACE_Scopes_AdjustUpMajor",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -98,7 +98,7 @@ if !(hasInterface) exitWith {};
{false},
[201, [true, false, false]], true] call cba_fnc_addKeybind;
["ACE3", QGVAR(AdjustDownMajor), localize "STR_ACE_Scopes_AdjustDownMajor",
["ACE3 Scope Adjustment", QGVAR(AdjustDownMajor), localize "STR_ACE_Scopes_AdjustDownMajor",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -111,7 +111,7 @@ if !(hasInterface) exitWith {};
{false},
[209, [true, false, false]], true] call cba_fnc_addKeybind;
["ACE3", QGVAR(AdjustLeftMajor), localize "STR_ACE_Scopes_AdjustLeftMajor",
["ACE3 Scope Adjustment", QGVAR(AdjustLeftMajor), localize "STR_ACE_Scopes_AdjustLeftMajor",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -124,7 +124,7 @@ if !(hasInterface) exitWith {};
{false},
[209, [true, true, false]], true] call cba_fnc_addKeybind;
["ACE3", QGVAR(AdjustRightMajor), localize "STR_ACE_Scopes_AdjustRightMajor",
["ACE3 Scope Adjustment", QGVAR(AdjustRightMajor), localize "STR_ACE_Scopes_AdjustRightMajor",
{
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -1,6 +1,6 @@
// by commy2
["ACE3", QGVAR(AzimuthKey), localize "STR_ACE_Vector_AzimuthKey",
["ACE3 Equipment", QGVAR(AzimuthKey), localize "STR_ACE_Vector_AzimuthKey",
{
// Conditions: canInteract
if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};
@ -29,7 +29,7 @@
[15, [false, false, false]], false, 0] call CBA_fnc_addKeybind; //Tab Key
["ACE3", QGVAR(DistanceKey), localize "STR_ACE_Vector_DistanceKey",
["ACE3 Equipment", QGVAR(DistanceKey), localize "STR_ACE_Vector_DistanceKey",
{
// Conditions: canInteract
if !([ACE_player, objNull, ["isNotInside"]] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -4,7 +4,7 @@
if !(hasInterface) exitWith {};
// Add keybinds
["ACE3", QGVAR(speedLimiter), localize "STR_ACE_SpeedLimiter",
["ACE3 Vehicles", QGVAR(speedLimiter), localize "STR_ACE_SpeedLimiter",
{
// Conditions: canInteract
if !([ACE_player, objNull, ["isnotinside"]] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -4,7 +4,7 @@
if !(hasInterface) exitWith {};
// Add keybinds
["ACE3", QGVAR(SelectPistolNew), localize "STR_ACE_WeaponSelect_SelectPistol",
["ACE3 Weapons", QGVAR(SelectPistolNew), localize "STR_ACE_WeaponSelect_SelectPistol",
{
// Conditions: canInteract
if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
@ -18,7 +18,7 @@ if !(hasInterface) exitWith {};
{false},
[0, [false, false, false]], false] call cba_fnc_addKeybind; //1 Key
["ACE3", QGVAR(SelectRifleNew), localize "STR_ACE_WeaponSelect_SelectRifle",
["ACE3 Weapons", QGVAR(SelectRifleNew), localize "STR_ACE_WeaponSelect_SelectRifle",
{
// Conditions: canInteract
if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
@ -32,7 +32,7 @@ if !(hasInterface) exitWith {};
{false},
[0, [false, false, false]], false] call cba_fnc_addKeybind; //2 Key
["ACE3", QGVAR(SelectRifleMuzzleNew), localize "STR_ACE_WeaponSelect_SelectRifleMuzzle",
["ACE3 Weapons", QGVAR(SelectRifleMuzzleNew), localize "STR_ACE_WeaponSelect_SelectRifleMuzzle",
{
// Conditions: canInteract
if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
@ -46,7 +46,7 @@ if !(hasInterface) exitWith {};
{false},
[0, [false, false, false]], false] call cba_fnc_addKeybind; //3 Key
["ACE3", QGVAR(SelectLauncherNew), localize "STR_ACE_WeaponSelect_SelectLauncher",
["ACE3 Weapons", QGVAR(SelectLauncherNew), localize "STR_ACE_WeaponSelect_SelectLauncher",
{
// Conditions: canInteract
if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
@ -60,7 +60,7 @@ if !(hasInterface) exitWith {};
{false},
[0, [false, false, false]], false] call cba_fnc_addKeybind; //4 Key
["ACE3", QGVAR(SelectBinocularNew), localize "STR_ACE_WeaponSelect_SelectBinocular",
["ACE3 Weapons", QGVAR(SelectBinocularNew), localize "STR_ACE_WeaponSelect_SelectBinocular",
{
// Conditions: canInteract
if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
@ -74,7 +74,7 @@ if !(hasInterface) exitWith {};
{false},
[0, [false, false, false]], false] call cba_fnc_addKeybind; //5 Key
["ACE3", QGVAR(SelectGrenadeFrag), localize "STR_ACE_WeaponSelect_SelectGrenadeFrag",
["ACE3 Weapons", QGVAR(SelectGrenadeFrag), localize "STR_ACE_WeaponSelect_SelectGrenadeFrag",
{
// Conditions: canInteract
if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
@ -88,7 +88,7 @@ if !(hasInterface) exitWith {};
{false},
[7, [false, false, false]], false] call cba_fnc_addKeybind; //6 Key
["ACE3", QGVAR(SelectGrenadeOther), localize "STR_ACE_WeaponSelect_SelectGrenadeOther",
["ACE3 Weapons", QGVAR(SelectGrenadeOther), localize "STR_ACE_WeaponSelect_SelectGrenadeOther",
{
// Conditions: canInteract
if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
@ -102,7 +102,7 @@ if !(hasInterface) exitWith {};
{false},
[8, [false, false, false]], false] call cba_fnc_addKeybind; //7 Key
["ACE3", QGVAR(HolsterWeapon), localize "STR_ACE_WeaponSelect_HolsterWeapon",
["ACE3 Weapons", QGVAR(HolsterWeapon), localize "STR_ACE_WeaponSelect_HolsterWeapon",
{
// Conditions: canInteract
if !([ACE_player, ACE_player, ["isNotEscorting"]] call EFUNC(common,canInteractWith)) exitWith {false};
@ -116,7 +116,7 @@ if !(hasInterface) exitWith {};
{false},
[11, [false, false, false]], false] call cba_fnc_addKeybind; //0 Key
["ACE3", QGVAR(EngineOn), localize "STR_ACE_WeaponSelect_EngineOn",
["ACE3 Vehicles", QGVAR(EngineOn), localize "STR_ACE_WeaponSelect_EngineOn",
{
// Conditions: canInteract
if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -130,7 +130,7 @@ if !(hasInterface) exitWith {};
{false},
[3, [false, false, false]], false] call cba_fnc_addKeybind; //2 Key
["ACE3", QGVAR(EngineOff), localize "STR_ACE_WeaponSelect_EngineOff",
["ACE3 Vehicles", QGVAR(EngineOff), localize "STR_ACE_WeaponSelect_EngineOff",
{
// Conditions: canInteract
if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -144,7 +144,7 @@ if !(hasInterface) exitWith {};
{false},
[2, [false, false, false]], false] call cba_fnc_addKeybind; //1 Key
["ACE3", QGVAR(SelectMainGunNew), localize "STR_ACE_WeaponSelect_SelectMainGun",
["ACE3 Vehicles", QGVAR(SelectMainGunNew), localize "STR_ACE_WeaponSelect_SelectMainGun",
{
// Conditions: canInteract
if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -158,7 +158,7 @@ if !(hasInterface) exitWith {};
{false},
[0, [false, false, false]], false] call cba_fnc_addKeybind; //3 Key
["ACE3", QGVAR(SelectMachineGunNew), localize "STR_ACE_WeaponSelect_SelectMachineGun",
["ACE3 Vehicles", QGVAR(SelectMachineGunNew), localize "STR_ACE_WeaponSelect_SelectMachineGun",
{
// Conditions: canInteract
if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -172,7 +172,7 @@ if !(hasInterface) exitWith {};
{false},
[0, [false, false, false]], false] call cba_fnc_addKeybind; //4 Key
["ACE3", QGVAR(SelectMissilesNew), localize "STR_ACE_WeaponSelect_SelectMissiles",
["ACE3 Vehicles", QGVAR(SelectMissilesNew), localize "STR_ACE_WeaponSelect_SelectMissiles",
{
// Conditions: canInteract
if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};
@ -186,7 +186,7 @@ if !(hasInterface) exitWith {};
{false},
[0, [false, false, false]], false] call cba_fnc_addKeybind; //5 Key
["ACE3", QGVAR(FireSmokeLauncher), localize "STR_ACE_WeaponSelect_FireSmokeLauncher",
["ACE3 Vehicles", QGVAR(FireSmokeLauncher), localize "STR_ACE_WeaponSelect_FireSmokeLauncher",
{
// Conditions: canInteract
if !([ACE_player, ACE_player, []] call EFUNC(common,canInteractWith)) exitWith {false};

View File

@ -24,3 +24,7 @@ This page describes in short how you can help translating ACE3 into your languag
(The last three steps require some git knowledge, but there are a lot of tutorials out there)
[GitHub for Windows help](https://windows.github.com/help.html)
#### Community Translation Guides
**Spanish:** [https://gist.github.com/Legolasindar/bf8a3b09cb835f72501f](https://gist.github.com/Legolasindar/bf8a3b09cb835f72501f)