mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge pull request #518 from acemod/basic-medical-tweaks
Basic medical tweaks
This commit is contained in:
commit
5d8dd701d2
@ -7,7 +7,7 @@ class ACE_Head {
|
||||
icon = PATHTOF(UI\icons\medical_cross.paa);
|
||||
distance = MEDICAL_ACTION_DISTANCE;
|
||||
class Bandage {
|
||||
displayName = "$STR_ACE_Medical_Bandage_HitHead";
|
||||
displayName = "$STR_ACE_Medical_Bandage";
|
||||
distance = 2.0;
|
||||
condition = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(canTreatCached));
|
||||
statement = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(treatment));
|
||||
@ -78,7 +78,7 @@ class ACE_Torso {
|
||||
icon = PATHTOF(UI\icons\medical_cross.paa);
|
||||
distance = MEDICAL_ACTION_DISTANCE;
|
||||
class Bandage {
|
||||
displayName = "$STR_ACE_Medical_Bandage_HitBody";
|
||||
displayName = "$STR_ACE_Medical_Bandage";
|
||||
distance = 2.0;
|
||||
condition = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(canTreatCached));
|
||||
statement = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(treatment));
|
||||
@ -178,7 +178,7 @@ class ACE_ArmLeft {
|
||||
distance = MEDICAL_ACTION_DISTANCE;
|
||||
|
||||
class Bandage {
|
||||
displayName = "$STR_ACE_Medical_Bandage_HitLeftArm";
|
||||
displayName = "$STR_ACE_Medical_Bandage";
|
||||
distance = 2.0;
|
||||
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(canTreatCached));
|
||||
statement = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(treatment));
|
||||
@ -334,7 +334,7 @@ class ACE_ArmRight {
|
||||
distance = MEDICAL_ACTION_DISTANCE;
|
||||
|
||||
class Bandage {
|
||||
displayName = "$STR_ACE_Medical_Bandage_HitRightArm";
|
||||
displayName = "$STR_ACE_Medical_Bandage";
|
||||
distance = 2.0;
|
||||
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(canTreatCached));
|
||||
statement = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(treatment));
|
||||
@ -487,7 +487,7 @@ class ACE_LegLeft {
|
||||
distance = MEDICAL_ACTION_DISTANCE;
|
||||
|
||||
class Bandage {
|
||||
displayName = "$STR_ACE_Medical_Bandage_HitLeftLeg";
|
||||
displayName = "$STR_ACE_Medical_Bandage";
|
||||
distance = 2.0;
|
||||
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(canTreatCached));
|
||||
statement = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(treatment));
|
||||
@ -628,7 +628,7 @@ class ACE_LegRight {
|
||||
distance = MEDICAL_ACTION_DISTANCE;
|
||||
|
||||
class Bandage {
|
||||
displayName = "$STR_ACE_Medical_Bandage_HitRightLeg";
|
||||
displayName = "$STR_ACE_Medical_Bandage";
|
||||
distance = 2.0;
|
||||
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(canTreatCached));
|
||||
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(treatment));
|
||||
|
@ -14,7 +14,7 @@ class Medical {
|
||||
runOnHover = 1;
|
||||
|
||||
class Bandage {
|
||||
displayName = "$STR_ACE_Medical_Bandage_HitHead";
|
||||
displayName = "$STR_ACE_Medical_Bandage";
|
||||
distance = 2.0;
|
||||
condition = QUOTE([ARR_4(_player, _target, 'head', 'Bandage')] call DFUNC(canTreatCached));
|
||||
exceptions[] = {"isNotInside"};
|
||||
@ -84,7 +84,7 @@ class Medical {
|
||||
icon = PATHTOF(UI\icons\medical_cross.paa);
|
||||
|
||||
class Bandage {
|
||||
displayName = "$STR_ACE_Medical_Bandage_HitBody";
|
||||
displayName = "$STR_ACE_Medical_Bandage";
|
||||
distance = 2.0;
|
||||
condition = QUOTE([ARR_4(_player, _target, 'body', 'Bandage')] call DFUNC(canTreatCached));
|
||||
exceptions[] = {"isNotInside"};
|
||||
@ -149,7 +149,7 @@ class Medical {
|
||||
icon = PATHTOF(UI\icons\medical_cross.paa);
|
||||
|
||||
class Bandage {
|
||||
displayName = "$STR_ACE_Medical_Bandage_HitLeftArm";
|
||||
displayName = "$STR_ACE_Medical_Bandage";
|
||||
distance = 2.0;
|
||||
condition = QUOTE([ARR_4(_player, _target, 'hand_l', 'Bandage')] call DFUNC(canTreatCached));
|
||||
exceptions[] = {"isNotInside"};
|
||||
@ -249,7 +249,7 @@ class Medical {
|
||||
icon = PATHTOF(UI\icons\medical_cross.paa);
|
||||
|
||||
class Bandage {
|
||||
displayName = "$STR_ACE_Medical_Bandage_HitRightArm";
|
||||
displayName = "$STR_ACE_Medical_Bandage";
|
||||
distance = 2.0;
|
||||
condition = QUOTE([ARR_4(_player, _target, 'hand_r', 'Bandage')] call DFUNC(canTreatCached));
|
||||
exceptions[] = {"isNotInside"};
|
||||
@ -345,7 +345,7 @@ class Medical {
|
||||
icon = PATHTOF(UI\icons\medical_cross.paa);
|
||||
|
||||
class Bandage {
|
||||
displayName = "$STR_ACE_Medical_Bandage_HitLeftLeg";
|
||||
displayName = "$STR_ACE_Medical_Bandage";
|
||||
distance = 2.0;
|
||||
condition = QUOTE([ARR_4(_player, _target, 'leg_l', 'Bandage')] call DFUNC(canTreatCached));
|
||||
exceptions[] = {"isNotInside"};
|
||||
@ -430,7 +430,7 @@ class Medical {
|
||||
icon = PATHTOF(UI\icons\medical_cross.paa);
|
||||
|
||||
class Bandage {
|
||||
displayName = "$STR_ACE_Medical_Bandage_HitRightLeg";
|
||||
displayName = "$STR_ACE_Medical_Bandage";
|
||||
distance = 2.0;
|
||||
condition = QUOTE([ARR_4(_player, _target, 'leg_r', 'Bandage')] call DFUNC(canTreatCached));
|
||||
exceptions[] = {"isNotInside"};
|
||||
@ -506,4 +506,4 @@ class Medical {
|
||||
statement = QUOTE([ARR_4(_player, _target, 'leg_r', 'RemoveTourniquet')] call DFUNC(treatment));
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -55,15 +55,6 @@ class ACE_Medical_Actions {
|
||||
animationCaller = "AinvPknlMstpSnonWnonDnon_medic1";
|
||||
litter[] = {};
|
||||
};
|
||||
class Tourniquet: Bandage {
|
||||
displayName = "$STR_ACE_Medical_Apply_Tourniquet";
|
||||
displayNameProgress = "$STR_ACE_Medical_Applying_Tourniquet";
|
||||
items[] = {"ACE_tourniquet"};
|
||||
treatmentTime = 6;
|
||||
callbackSuccess = QUOTE(DFUNC(treatmentTourniquet));
|
||||
condition = QUOTE(!([ARR_2(_this select 1, _this select 2)] call FUNC(hasTourniquetAppliedTo)));
|
||||
litter[] = {};
|
||||
};
|
||||
class BodyBag: Bandage {
|
||||
displayName = "$STR_ACE_MEDICAL_PlaceInBodyBag";
|
||||
displayNameProgress = "$STR_ACE_MEDICAL_PlacingInBodyBag";
|
||||
@ -80,6 +71,27 @@ class ACE_Medical_Actions {
|
||||
itemConsumed = 1;
|
||||
litter[] = {};
|
||||
};
|
||||
class CheckPulse: Bandage {
|
||||
displayName = "";
|
||||
displayNameProgress = "";
|
||||
treatmentLocations[] = {"All"};
|
||||
requiredMedic = 0;
|
||||
treatmentTime = 2;
|
||||
items[] = {};
|
||||
callbackSuccess = QUOTE(DFUNC(actionCheckPulse));
|
||||
callbackFailure = "";
|
||||
callbackProgress = "";
|
||||
animationPatient = "";
|
||||
animationCaller = ""; // TODO
|
||||
itemConsumed = 0;
|
||||
litter[] = {};
|
||||
};
|
||||
class CheckBloodPressure: CheckPulse {
|
||||
callbackSuccess = QUOTE(DFUNC(actionCheckBloodPressure));
|
||||
};
|
||||
class CheckResponse: CheckPulse {
|
||||
callbackSuccess = QUOTE(DFUNC(actionCheckResponse));
|
||||
};
|
||||
};
|
||||
|
||||
class Advanced {
|
||||
|
@ -117,4 +117,11 @@ class ACE_Settings {
|
||||
typeName = "BOOL";
|
||||
value = 1;
|
||||
};
|
||||
class GVAR(painEffectType) {
|
||||
displayName = "$STR_ACE_Medical_painEffectType";
|
||||
typeName = "SCALAR";
|
||||
value = 0;
|
||||
values[] = {"$STR_ACE_Medical_painEffect_Flash", "$STR_ACE_Medical_painEffect_Chroma"};
|
||||
isClientSettable = 1;
|
||||
};
|
||||
};
|
||||
|
@ -47,11 +47,3 @@ class Extended_Local_EventHandlers {
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
class Extended_Take_EventHandlers {
|
||||
class CAManBase {
|
||||
class ADDON {
|
||||
take = QUOTE(call FUNC(itemCheck));
|
||||
};
|
||||
};
|
||||
};
|
||||
|
@ -645,7 +645,7 @@ class CfgVehicles {
|
||||
EGVAR(dragging,dragPosition[]) = {0,1.2,0};
|
||||
EGVAR(dragging,dragDirection) = 0;
|
||||
class ACE_Actions {
|
||||
class ACE_MainActions {
|
||||
class ACE_MainActions {
|
||||
displayName = "$STR_ACE_Interaction_MainAction";
|
||||
distance = 5;
|
||||
condition = QUOTE(true);
|
||||
@ -696,10 +696,8 @@ class CfgVehicles {
|
||||
displayName = $STR_ACE_MEDICAL_BANDAGE_BASIC_DISPLAY;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
vehicleClass = "Items";
|
||||
class TransportItems
|
||||
{
|
||||
class ACE_fieldDressing
|
||||
{
|
||||
class TransportItems {
|
||||
class ACE_fieldDressing {
|
||||
name = "ACE_fieldDressing";
|
||||
count = 1;
|
||||
};
|
||||
@ -711,10 +709,8 @@ class CfgVehicles {
|
||||
displayName = $STR_ACE_MEDICAL_PACKING_BANDAGE_DISPLAY;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
vehicleClass = "Items";
|
||||
class TransportItems
|
||||
{
|
||||
class ACE_packingBandage
|
||||
{
|
||||
class TransportItems {
|
||||
class ACE_packingBandage {
|
||||
name = "ACE_packingBandage";
|
||||
count = 1;
|
||||
};
|
||||
@ -726,10 +722,8 @@ class CfgVehicles {
|
||||
displayName = $STR_ACE_MEDICAL_BANDAGE_ELASTIC_DISPLAY;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
vehicleClass = "Items";
|
||||
class TransportItems
|
||||
{
|
||||
class ACE_elasticBandage
|
||||
{
|
||||
class TransportItems {
|
||||
class ACE_elasticBandage {
|
||||
name = "ACE_elasticBandage";
|
||||
count = 1;
|
||||
};
|
||||
@ -741,10 +735,8 @@ class CfgVehicles {
|
||||
displayName = $STR_ACE_MEDICAL_TOURNIQUET_DISPLAY;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
vehicleClass = "Items";
|
||||
class TransportItems
|
||||
{
|
||||
class ACE_tourniquet
|
||||
{
|
||||
class TransportItems {
|
||||
class ACE_tourniquet {
|
||||
name = "ACE_tourniquet";
|
||||
count = 1;
|
||||
};
|
||||
@ -756,10 +748,8 @@ class CfgVehicles {
|
||||
displayName = $STR_ACE_MEDICAL_MORPHINE_DISPLAY;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
vehicleClass = "Items";
|
||||
class TransportItems
|
||||
{
|
||||
class ACE_morphine
|
||||
{
|
||||
class TransportItems {
|
||||
class ACE_morphine {
|
||||
name = "ACE_morphine";
|
||||
count = 1;
|
||||
};
|
||||
@ -771,10 +761,8 @@ class CfgVehicles {
|
||||
displayName = $STR_ACE_MEDICAL_ATROPINE_DISPLAY;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
vehicleClass = "Items";
|
||||
class TransportItems
|
||||
{
|
||||
class ACE_atropine
|
||||
{
|
||||
class TransportItems {
|
||||
class ACE_atropine {
|
||||
name = "ACE_atropine";
|
||||
count = 1;
|
||||
};
|
||||
@ -786,10 +774,8 @@ class CfgVehicles {
|
||||
displayName = $STR_ACE_MEDICAL_EPINEPHRINE_DISPLAY;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
vehicleClass = "Items";
|
||||
class TransportItems
|
||||
{
|
||||
class ACE_epinephrine
|
||||
{
|
||||
class TransportItems {
|
||||
class ACE_epinephrine {
|
||||
name = "ACE_epinephrine";
|
||||
count = 1;
|
||||
};
|
||||
@ -801,10 +787,8 @@ class CfgVehicles {
|
||||
displayName = $STR_ACE_MEDICAL_PLASMA_IV;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
vehicleClass = "Items";
|
||||
class TransportItems
|
||||
{
|
||||
class ACE_plasmaIV
|
||||
{
|
||||
class TransportItems {
|
||||
class ACE_plasmaIV {
|
||||
name = "ACE_plasmaIV";
|
||||
count = 1;
|
||||
};
|
||||
@ -817,10 +801,8 @@ class CfgVehicles {
|
||||
displayName = $STR_ACE_MEDICAL_BLOOD_IV;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
vehicleClass = "Items";
|
||||
class TransportItems
|
||||
{
|
||||
class ACE_bloodIV
|
||||
{
|
||||
class TransportItems {
|
||||
class ACE_bloodIV {
|
||||
name = "ACE_bloodIV";
|
||||
count = 1;
|
||||
};
|
||||
@ -832,10 +814,8 @@ class CfgVehicles {
|
||||
displayName = $STR_ACE_MEDICAL_SALINE_IV;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
vehicleClass = "Items";
|
||||
class TransportItems
|
||||
{
|
||||
class ACE_salineIV
|
||||
{
|
||||
class TransportItems {
|
||||
class ACE_salineIV {
|
||||
name = "ACE_salineIV";
|
||||
count = 1;
|
||||
};
|
||||
@ -847,10 +827,8 @@ class CfgVehicles {
|
||||
displayName = $STR_ACE_MEDICAL_QUIKCLOT_DISPLAY;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
vehicleClass = "Items";
|
||||
class TransportItems
|
||||
{
|
||||
class ACE_quikClot
|
||||
{
|
||||
class TransportItems {
|
||||
class ACE_quikClot {
|
||||
name = "ACE_quikclot";
|
||||
count = 1;
|
||||
};
|
||||
@ -862,10 +840,8 @@ class CfgVehicles {
|
||||
displayName = $STR_ACE_MEDICAL_AID_KIT_DISPLAY;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
vehicleClass = "Items";
|
||||
class TransportItems
|
||||
{
|
||||
class ACE_personalAidKit
|
||||
{
|
||||
class TransportItems {
|
||||
class ACE_personalAidKit {
|
||||
name = "ACE_personalAidKit";
|
||||
count = 1;
|
||||
};
|
||||
@ -877,10 +853,8 @@ class CfgVehicles {
|
||||
displayName = $STR_ACE_MEDICAL_SURGICALKIT_DISPLAY;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
vehicleClass = "Items";
|
||||
class TransportItems
|
||||
{
|
||||
class ACE_surgicalKit
|
||||
{
|
||||
class TransportItems {
|
||||
class ACE_surgicalKit {
|
||||
name = "ACE_surgicalKit";
|
||||
count = 1;
|
||||
};
|
||||
@ -892,10 +866,8 @@ class CfgVehicles {
|
||||
displayName = $STR_ACE_MEDICAL_BODYBAG_DISPLAY;
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
vehicleClass = "Items";
|
||||
class TransportItems
|
||||
{
|
||||
class ACE_bodyBag
|
||||
{
|
||||
class TransportItems {
|
||||
class ACE_bodyBag {
|
||||
name = "ACE_bodyBag";
|
||||
count = 1;
|
||||
};
|
||||
@ -906,9 +878,42 @@ class CfgVehicles {
|
||||
class ACE_medicalSupplyCrate: NATO_Box_Base {
|
||||
scope = 2;
|
||||
accuracy = 1000;
|
||||
displayName = "[ACE] Medical Supply Crate";
|
||||
displayName = "[ACE] Medical Supply Crate (Basic)";
|
||||
model = PATHTOF(data\ace_medcrate.p3d);
|
||||
author = "$STR_ACE_Common_ACETeam";
|
||||
class TransportItems {
|
||||
class ACE_fieldDressing {
|
||||
name = "ACE_fieldDressing";
|
||||
count = 50;
|
||||
};
|
||||
class ACE_morphine {
|
||||
name = "ACE_morphine";
|
||||
count = 25;
|
||||
};
|
||||
class ACE_epinephrine {
|
||||
name = "ACE_epinephrine";
|
||||
count = 25;
|
||||
};
|
||||
class ACE_bloodIV {
|
||||
name = "ACE_bloodIV";
|
||||
count = 15;
|
||||
};
|
||||
class ACE_bloodIV_500 {
|
||||
name = "ACE_bloodIV_500";
|
||||
count = 15;
|
||||
};
|
||||
class ACE_bloodIV_250 {
|
||||
name = "ACE_bloodIV_250";
|
||||
count = 15;
|
||||
};
|
||||
class ACE_bodyBag {
|
||||
name = "ACE_bodyBag";
|
||||
count = 10;
|
||||
};
|
||||
};
|
||||
};
|
||||
class ACE_medicalSupplyCrate_advanced: ACE_medicalSupplyCrate {
|
||||
displayName = "[ACE] Medical Supply Crate (Advanced)";
|
||||
class TransportItems {
|
||||
class ACE_fieldDressing {
|
||||
name = "ACE_fieldDressing";
|
||||
|
@ -19,7 +19,6 @@ class CfgWeapons {
|
||||
};
|
||||
};
|
||||
|
||||
// @todo localize
|
||||
class ACE_ItemCore;
|
||||
class ACE_fieldDressing: ACE_ItemCore {
|
||||
scope = 2;
|
||||
|
@ -153,11 +153,6 @@ GVAR(effectTimeBlood) = time;
|
||||
GVAR(lastHeartBeat) = time;
|
||||
GVAR(lastHeartBeatSound) = time;
|
||||
|
||||
// @todo, remove once parameters are set up
|
||||
if (isNil QGVAR(level)) then {
|
||||
GVAR(level) = 0;
|
||||
};
|
||||
|
||||
// HEARTRATE BASED EFFECTS
|
||||
[{
|
||||
_heartRate = ACE_player getVariable [QGVAR(heartRate), 70];
|
||||
@ -172,8 +167,7 @@ if (isNil QGVAR(level)) then {
|
||||
// Pain effect
|
||||
_strength = ACE_player getVariable [QGVAR(pain), 0];
|
||||
// _strength = _strength * (ACE_player getVariable [QGVAR(coefPain), GVAR(coefPain)]); @todo
|
||||
GVAR(alternativePainEffect) = false; // @todo
|
||||
if (GVAR(alternativePainEffect)) then {
|
||||
if (GVAR(painEffectType) == 1) then {
|
||||
GVAR(effectPainCC) ppEffectEnable false;
|
||||
if ((ACE_player getVariable [QGVAR(pain), 0]) > 0 && {alive ACE_player}) then {
|
||||
_strength = _strength * 0.15;
|
||||
@ -198,7 +192,7 @@ if (isNil QGVAR(level)) then {
|
||||
} else {
|
||||
GVAR(effectPainCA) ppEffectEnable false;
|
||||
if ((ACE_player getVariable [QGVAR(pain), 0]) > 0 && {alive ACE_player}) then {
|
||||
_strength = _strength * 0.6;
|
||||
_strength = _strength * 0.9;
|
||||
GVAR(effectPainCC) ppEffectEnable true;
|
||||
GVAR(effectPainCC) ppEffectAdjust [1,1,0, [1,1,1,1], [0,0,0,0], [1,1,1,1], [1 - _strength,1 - _strength,0,0,0,0.2,2]];
|
||||
GVAR(effectPainCC) ppEffectCommit 0.01;
|
||||
@ -266,3 +260,8 @@ if (USE_WOUND_EVENT_SYNC) then {
|
||||
// Prevent all types of interaction while unconscious
|
||||
// @todo: probably remove this when CBA keybind hold key works properly
|
||||
["isNotUnconscious", {!((_this select 0) getVariable ["ACE_isUnconscious", false])}] call EFUNC(common,addCanInteractWithCondition);
|
||||
|
||||
// Item Event Handler
|
||||
["playerInventoryChanged", {
|
||||
[ACE_player] call FUNC(itemCheck);
|
||||
}] call EFUNC(common,addEventHandler);
|
||||
|
@ -47,8 +47,10 @@ if (_show) then {
|
||||
_allInjuryTexts = [];
|
||||
_genericMessages = [];
|
||||
|
||||
_partText = ["STR_ACE_Interaction_Head", "STR_ACE_Interaction_Torso", "STR_ACE_Interaction_ArmLeft" ,"STR_ACE_Interaction_ArmRight" ,"STR_ACE_Interaction_LegLeft", "STR_ACE_Interaction_LegRight"] select _selectionN;
|
||||
_genericMessages pushback [localize _partText, [1, 1, 1, 1]];
|
||||
if (GVAR(level) >= 2) then {
|
||||
_partText = ["STR_ACE_Interaction_Head", "STR_ACE_Interaction_Torso", "STR_ACE_Interaction_ArmLeft" ,"STR_ACE_Interaction_ArmRight" ,"STR_ACE_Interaction_LegLeft", "STR_ACE_Interaction_LegRight"] select _selectionN;
|
||||
_genericMessages pushback [localize _partText, [1, 1, 1, 1]];
|
||||
};
|
||||
|
||||
if (_target getvariable[QGVAR(isBleeding), false]) then {
|
||||
_genericMessages pushback [localize "STR_ACE_MEDICAL_STATUS_BLEEDING", [1, 0.1, 0.1, 1]];
|
||||
@ -126,12 +128,22 @@ if (_show) then {
|
||||
{
|
||||
_selectionBloodLoss set [_forEachIndex, _target getHitPointDamage _x];
|
||||
|
||||
if (_target getHitPointDamage _x > 0.1 && {_forEachIndex == _selectionN}) then {
|
||||
// @todo localize
|
||||
_allInjuryTexts pushBack [format ["%1 %2",
|
||||
["Lightly wounded", "Heavily wounded"] select (_target getHitPointDamage _x > 0.5),
|
||||
["head", "torso", "left arm", "right arm", "left leg", "right leg"] select _forEachIndex
|
||||
], [1,1,1,1]];
|
||||
if (_target getHitPointDamage _x > 0 && {_forEachIndex == _selectionN}) then {
|
||||
_pointDamage = _target getHitPointDamage _x;
|
||||
_severity = switch (true) do {
|
||||
case (_pointDamage > 0.5): {localize "STR_ACE_Medical_HeavilyWounded"};
|
||||
case (_pointDamage > 0.1): {localize "STR_ACE_Medical_LightlyWounded"};
|
||||
default {localize "STR_ACE_Medical_VeryLightlyWounded"};
|
||||
};
|
||||
_part = localize ([
|
||||
"STR_ACE_Medical_Head",
|
||||
"STR_ACE_Medical_Torso",
|
||||
"STR_ACE_Medical_LeftArm",
|
||||
"STR_ACE_Medical_RightArm",
|
||||
"STR_ACE_Medical_LeftLeg",
|
||||
"STR_ACE_Medical_RightLeg"
|
||||
] select _forEachIndex);
|
||||
_allInjuryTexts pushBack [format ["%1 %2", _severity, toLower _part], [1,1,1,1]];
|
||||
};
|
||||
} forEach ["HitHead", "HitBody", "HitLeftArm", "HitRightArm", "HitLeftLeg", "HitRightLeg"];
|
||||
};
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
#include "script_component.hpp"
|
||||
|
||||
#define BLOODLOSSRATE_BASIC 0.4
|
||||
#define BLOODLOSSRATE_BASIC 0.2
|
||||
|
||||
private ["_totalBloodLoss","_tourniquets","_openWounds", "_value", "_cardiacOutput", "_internalWounds"];
|
||||
// TODO Only use this calculation if medium or higher, otherwise use vanilla calculations (for basic medical).
|
||||
|
@ -28,9 +28,8 @@ if (_syncValues) then {
|
||||
};
|
||||
|
||||
_bloodVolume = (_unit getvariable [QGVAR(bloodVolume), 0]) + ([_unit] call FUNC(getBloodVolumeChange));
|
||||
if (_bloodVolume <= 0) then {
|
||||
_bloodVolume = 0;
|
||||
};
|
||||
_bloodVolume = _bloodVolume max 0;
|
||||
|
||||
_unit setvariable [QGVAR(bloodVolume), _bloodVolume, _syncValues];
|
||||
|
||||
// Set variables for synchronizing information across the net
|
||||
@ -78,15 +77,11 @@ if (GVAR(level) == 1) then {
|
||||
|
||||
// bleeding
|
||||
_blood = _unit getVariable [QGVAR(bloodVolume), 100];
|
||||
_blood = (_blood - 0.4 * (damage _unit) * _interval) max 0;
|
||||
if (_blood != (_unit getVariable [QGVAR(bloodVolume), 100])) then {
|
||||
_unit setVariable [QGVAR(bloodVolume), _blood, _syncValues];
|
||||
if (_blood <= 35 and !(_unit getVariable ["ACE_isUnconscious", false])) then {
|
||||
[_unit, true] call FUNC(setUnconscious);
|
||||
};
|
||||
if (_blood == 0) then {
|
||||
[_unit] call FUNC(setDead);
|
||||
};
|
||||
if (_blood <= 35 and !(_unit getVariable ["ACE_isUnconscious", false])) then {
|
||||
[_unit, true] call FUNC(setUnconscious);
|
||||
};
|
||||
if (_blood == 0) then {
|
||||
[_unit] call FUNC(setDead);
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1284,5 +1284,53 @@
|
||||
<Polish>%1 założył stazę</Polish>
|
||||
<French>%1 a appliqué un garrot</French>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_HeavilyWounded">
|
||||
<English>Heavily wounded</English>
|
||||
<German>Schwer verwundet:</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_LightlyWounded">
|
||||
<English>Lightly wounded</English>
|
||||
<German>Leicht verwundet:</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_VeryLightlyWounded">
|
||||
<English>Very lightly wounded</English>
|
||||
<German>Sehr leicht verwundet:</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Head">
|
||||
<English>Head</English>
|
||||
<German>Kopf</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_Torso">
|
||||
<English>Torso</English>
|
||||
<German>Torso</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_LeftArm">
|
||||
<English>Left Arm</English>
|
||||
<German>Linker Arm</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_RightArm">
|
||||
<English>Right Arm</English>
|
||||
<German>Rechter Arm</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_LeftLeg">
|
||||
<English>Left Leg</English>
|
||||
<German>Linkes Bein</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_RightLeg">
|
||||
<English>Right Leg</English>
|
||||
<German>Rechtes Bein</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_painEffectType">
|
||||
<English>Pain Effect Type</English>
|
||||
<German>Schmerzeffekt-Typ</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_painEffect_Flash">
|
||||
<English>Colour Flashing</English>
|
||||
<German>Farbblinken</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_Medical_painEffect_Chroma">
|
||||
<English>Chromatic Aberration</English>
|
||||
<German>Chromatische Aberration</German>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
||||
|
Loading…
Reference in New Issue
Block a user