From 8a2a88b8c08d589adbacc533eee366660178129f Mon Sep 17 00:00:00 2001
From: Salluci <69561145+Salluci@users.noreply.github.com>
Date: Fri, 5 Mar 2021 21:37:44 -0300
Subject: [PATCH 1/6] Add 'Enable Vehicle Crashes' setting
---
addons/medical_damage/initSettings.sqf | 9 ++++++
addons/medical_damage/stringtable.xml | 32 +++++++++++++++++++
.../functions/fnc_handleDamage.sqf | 7 ++--
3 files changed, 46 insertions(+), 2 deletions(-)
diff --git a/addons/medical_damage/initSettings.sqf b/addons/medical_damage/initSettings.sqf
index 12806a46a22..26ec7b0996a 100644
--- a/addons/medical_damage/initSettings.sqf
+++ b/addons/medical_damage/initSettings.sqf
@@ -33,3 +33,12 @@
[0, 1, 0.1, 2, true],
true
] call CBA_fnc_addSetting;
+
+[
+ QEGVAR(medical,enableVehicleCrashes),
+ "CHECKBOX",
+ [LSTRING(enableVehicleCrashes_DisplayName), LSTRING(enableVehicleCrashes_Description)],
+ ELSTRING(medical,Category),
+ true,
+ true
+] call CBA_fnc_addSetting;
diff --git a/addons/medical_damage/stringtable.xml b/addons/medical_damage/stringtable.xml
index 4c74c96db18..393adaee838 100644
--- a/addons/medical_damage/stringtable.xml
+++ b/addons/medical_damage/stringtable.xml
@@ -697,5 +697,37 @@
Szansa że osoba straci przytomność gdy jej ból jest powyżej tolerowalnego progu podczas otrzymywania obrażeń.
ユニットがダメージを受けた時に痛みが許容しきい値を超えた場合、気絶をする確立を設定します。
+
+ Vehicle Crashes
+ Аварии транспорта
+ Obrażenia od kolizji
+ Accidentes de vehículos
+ Fahrzeugunfälle
+ Poškození z kolize
+ Colisão de veículos
+ Accident en véhicule
+ Járműbalesetek
+ Schianto Veicoli
+ 車両の衝突
+ 차량 사고
+ 载具碰撞
+ 載具碰撞
+
+
+ Do units take damage from a vehicle crash?
+ Должны ли юниты получать повреждения от аварий на транспорте?
+ Czy jednostki otrzymują obrażenia w wyniku kolizji pojazdów?
+ ¿Las unidades reciben daño de un accidente de tráfico?
+ Verursacht ein Fahrzeugunfall Verletzungen
+ Dostane jednotka poškození při autonehodě?
+ As unidades recebem dano de uma colisão de veículo?
+ Les unités subissent des dégats lors d'accident
+ Sérülnek-e az egységek autós ütközés során?
+ Le unità sostengono danni da incidenti con veicoli?
+ ユニットは車両の衝突による損傷を受けるようにしますか?
+ 차량 사고시 인원들이 부상을 입습니까?
+ 设定人员是否会因为载具冲撞别的物件而产生伤害?
+ 設定人員是否會因為載具衝撞別的物件而產生傷害?
+
diff --git a/addons/medical_engine/functions/fnc_handleDamage.sqf b/addons/medical_engine/functions/fnc_handleDamage.sqf
index 1975bde0c56..36847933ade 100644
--- a/addons/medical_engine/functions/fnc_handleDamage.sqf
+++ b/addons/medical_engine/functions/fnc_handleDamage.sqf
@@ -94,7 +94,7 @@ if (_hitPoint isEqualTo "ace_hdbracket") exitWith {
// represents all incoming damage for selecting a non-selectionSpecific wound location, (used for selectRandomWeighted [value1,weight1,value2....])
private _damageSelectionArray = [
- HITPOINT_INDEX_HEAD, _damageHead select 1, HITPOINT_INDEX_BODY, _damageBody select 1, HITPOINT_INDEX_LARM, _damageLeftArm select 1,
+ HITPOINT_INDEX_HEAD, _damageHead select 1, HITPOINT_INDEX_BODY, _damageBody select 1, HITPOINT_INDEX_LARM, _damageLeftArm select 1,
HITPOINT_INDEX_RARM, _damageRightArm select 1, HITPOINT_INDEX_LLEG, _damageLeftLeg select 1, HITPOINT_INDEX_RLEG, _damageRightLeg select 1
];
@@ -211,9 +211,12 @@ if (
// todo: no way to detect if stationary and another vehicle hits you
) exitWith {
private _damageSelectionArray = [
- HITPOINT_INDEX_HEAD, 1, HITPOINT_INDEX_BODY, 1, HITPOINT_INDEX_LARM, 1,
+ HITPOINT_INDEX_HEAD, 1, HITPOINT_INDEX_BODY, 1, HITPOINT_INDEX_LARM, 1,
HITPOINT_INDEX_RARM, 1, HITPOINT_INDEX_LLEG, 1, HITPOINT_INDEX_RLEG, 1
];
+ if !(EGVAR(medical,enableVehicleCrashes)) then {
+ _newDamage = 0;
+ };
[QEGVAR(medical,woundReceived), [_unit, "Body", _newDamage, _unit, "vehiclecrash", _damageSelectionArray]] call CBA_fnc_localEvent;
TRACE_5("Crash",_unit,_shooter,_instigator,_damage,_newDamage);
From ee8d028b0d5881ff945fc555a7d91c45bf1be716 Mon Sep 17 00:00:00 2001
From: Salluci <69561145+Salluci@users.noreply.github.com>
Date: Fri, 5 Mar 2021 22:48:47 -0300
Subject: [PATCH 2/6] Indent, capitalization, stringtable fixes.
---
addons/medical_damage/initSettings.sqf | 2 +-
addons/medical_damage/stringtable.xml | 36 +++----------------
.../functions/fnc_handleDamage.sqf | 4 +--
3 files changed, 8 insertions(+), 34 deletions(-)
diff --git a/addons/medical_damage/initSettings.sqf b/addons/medical_damage/initSettings.sqf
index 26ec7b0996a..b10b9b6b403 100644
--- a/addons/medical_damage/initSettings.sqf
+++ b/addons/medical_damage/initSettings.sqf
@@ -37,7 +37,7 @@
[
QEGVAR(medical,enableVehicleCrashes),
"CHECKBOX",
- [LSTRING(enableVehicleCrashes_DisplayName), LSTRING(enableVehicleCrashes_Description)],
+ [LSTRING(EnableVehicleCrashes_DisplayName), LSTRING(EnableVehicleCrashes_Description)],
ELSTRING(medical,Category),
true,
true
diff --git a/addons/medical_damage/stringtable.xml b/addons/medical_damage/stringtable.xml
index 393adaee838..9689660b137 100644
--- a/addons/medical_damage/stringtable.xml
+++ b/addons/medical_damage/stringtable.xml
@@ -697,37 +697,11 @@
Szansa że osoba straci przytomność gdy jej ból jest powyżej tolerowalnego progu podczas otrzymywania obrażeń.
ユニットがダメージを受けた時に痛みが許容しきい値を超えた場合、気絶をする確立を設定します。
-
- Vehicle Crashes
- Аварии транспорта
- Obrażenia od kolizji
- Accidentes de vehículos
- Fahrzeugunfälle
- Poškození z kolize
- Colisão de veículos
- Accident en véhicule
- Járműbalesetek
- Schianto Veicoli
- 車両の衝突
- 차량 사고
- 载具碰撞
- 載具碰撞
-
-
- Do units take damage from a vehicle crash?
- Должны ли юниты получать повреждения от аварий на транспорте?
- Czy jednostki otrzymują obrażenia w wyniku kolizji pojazdów?
- ¿Las unidades reciben daño de un accidente de tráfico?
- Verursacht ein Fahrzeugunfall Verletzungen
- Dostane jednotka poškození při autonehodě?
- As unidades recebem dano de uma colisão de veículo?
- Les unités subissent des dégats lors d'accident
- Sérülnek-e az egységek autós ütközés során?
- Le unità sostengono danni da incidenti con veicoli?
- ユニットは車両の衝突による損傷を受けるようにしますか?
- 차량 사고시 인원들이 부상을 입습니까?
- 设定人员是否会因为载具冲撞别的物件而产生伤害?
- 設定人員是否會因為載具衝撞別的物件而產生傷害?
+
+ Enable Vehicle Crash Damage
+
+
+ Controls whether passengers receive damage from vehicle collisions.
diff --git a/addons/medical_engine/functions/fnc_handleDamage.sqf b/addons/medical_engine/functions/fnc_handleDamage.sqf
index 36847933ade..a3c5f624598 100644
--- a/addons/medical_engine/functions/fnc_handleDamage.sqf
+++ b/addons/medical_engine/functions/fnc_handleDamage.sqf
@@ -214,8 +214,8 @@ if (
HITPOINT_INDEX_HEAD, 1, HITPOINT_INDEX_BODY, 1, HITPOINT_INDEX_LARM, 1,
HITPOINT_INDEX_RARM, 1, HITPOINT_INDEX_LLEG, 1, HITPOINT_INDEX_RLEG, 1
];
- if !(EGVAR(medical,enableVehicleCrashes)) then {
- _newDamage = 0;
+ if (!EGVAR(medical,enableVehicleCrashes)) then {
+ _newDamage = 0;
};
[QEGVAR(medical,woundReceived), [_unit, "Body", _newDamage, _unit, "vehiclecrash", _damageSelectionArray]] call CBA_fnc_localEvent;
TRACE_5("Crash",_unit,_shooter,_instigator,_damage,_newDamage);
From c2264d70c0ed6bef2e8bdb1293cb3827abe3d803 Mon Sep 17 00:00:00 2001
From: Salluci <69561145+Salluci@users.noreply.github.com>
Date: Sat, 6 Mar 2021 03:45:13 -0300
Subject: [PATCH 3/6] Don't trigger wound received EH
Just exit before vehicle checks if crashes are disabled.
---
addons/medical_engine/functions/fnc_handleDamage.sqf | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/addons/medical_engine/functions/fnc_handleDamage.sqf b/addons/medical_engine/functions/fnc_handleDamage.sqf
index a3c5f624598..b2f895154ed 100644
--- a/addons/medical_engine/functions/fnc_handleDamage.sqf
+++ b/addons/medical_engine/functions/fnc_handleDamage.sqf
@@ -200,6 +200,11 @@ if (
0
};
+// No need to go any further if vehicle crash damage is disabled
+if (!EGVAR(medical,enableVehicleCrashes)) exitWith {
+ 0
+};
+
// Crashing a vehicle doesn't fire the EH for each hitpoint so the "ace_hdbracket" code never runs
// It does fire the EH multiple times, but this seems to scale with the intensity of the crash
private _vehicle = vehicle _unit;
@@ -214,9 +219,6 @@ if (
HITPOINT_INDEX_HEAD, 1, HITPOINT_INDEX_BODY, 1, HITPOINT_INDEX_LARM, 1,
HITPOINT_INDEX_RARM, 1, HITPOINT_INDEX_LLEG, 1, HITPOINT_INDEX_RLEG, 1
];
- if (!EGVAR(medical,enableVehicleCrashes)) then {
- _newDamage = 0;
- };
[QEGVAR(medical,woundReceived), [_unit, "Body", _newDamage, _unit, "vehiclecrash", _damageSelectionArray]] call CBA_fnc_localEvent;
TRACE_5("Crash",_unit,_shooter,_instigator,_damage,_newDamage);
From 151a65f43f6d182f452f63b1272d845f32977269 Mon Sep 17 00:00:00 2001
From: Salluci <69561145+Salluci@users.noreply.github.com>
Date: Sat, 6 Mar 2021 03:53:03 -0300
Subject: [PATCH 4/6] Stop being special
---
addons/medical_engine/functions/fnc_handleDamage.sqf | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/addons/medical_engine/functions/fnc_handleDamage.sqf b/addons/medical_engine/functions/fnc_handleDamage.sqf
index b2f895154ed..9eb799cdcd2 100644
--- a/addons/medical_engine/functions/fnc_handleDamage.sqf
+++ b/addons/medical_engine/functions/fnc_handleDamage.sqf
@@ -200,16 +200,12 @@ if (
0
};
-// No need to go any further if vehicle crash damage is disabled
-if (!EGVAR(medical,enableVehicleCrashes)) exitWith {
- 0
-};
-
// Crashing a vehicle doesn't fire the EH for each hitpoint so the "ace_hdbracket" code never runs
// It does fire the EH multiple times, but this seems to scale with the intensity of the crash
private _vehicle = vehicle _unit;
if (
- _hitPoint isEqualTo "#structural" &&
+ EGVAR(medical,enableVehicleCrashes) &&
+ {_hitPoint isEqualTo "#structural"} &&
{_ammo isEqualTo ""} &&
{_vehicle != _unit} &&
{vectorMagnitude (velocity _vehicle) > 5}
From bdf92040eb1787da6c47e7b044b2c29ae8d19479 Mon Sep 17 00:00:00 2001
From: jonpas
Date: Tue, 20 Apr 2021 12:24:23 +0200
Subject: [PATCH 5/6] Apply suggestions from code review
---
addons/medical_damage/stringtable.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/medical_damage/stringtable.xml b/addons/medical_damage/stringtable.xml
index 9689660b137..670dc2542d4 100644
--- a/addons/medical_damage/stringtable.xml
+++ b/addons/medical_damage/stringtable.xml
@@ -701,7 +701,7 @@
Enable Vehicle Crash Damage
- Controls whether passengers receive damage from vehicle collisions.
+ Controls whether crew receives damage from vehicle collisions.
From 6980475e751abc794c5781691a3ab8a873d05d47 Mon Sep 17 00:00:00 2001
From: jonpas
Date: Tue, 20 Apr 2021 12:26:21 +0200
Subject: [PATCH 6/6] Update addons/medical_damage/initSettings.sqf
---
addons/medical_damage/initSettings.sqf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/medical_damage/initSettings.sqf b/addons/medical_damage/initSettings.sqf
index 90b5ab03c95..5d9003addf9 100644
--- a/addons/medical_damage/initSettings.sqf
+++ b/addons/medical_damage/initSettings.sqf
@@ -50,4 +50,4 @@
ELSTRING(medical,Category),
true,
true
-] call CBA_fnc_addSetting;
\ No newline at end of file
+] call CBA_fnc_addSetting;