diff --git a/SQF/dayz_code/compile/fn_damageHandler.sqf b/SQF/dayz_code/compile/fn_damageHandler.sqf
index ae7ca5d44..76a9135a6 100644
--- a/SQF/dayz_code/compile/fn_damageHandler.sqf
+++ b/SQF/dayz_code/compile/fn_damageHandler.sqf
@@ -182,7 +182,7 @@ if (_unit == player) then {
case (_ammo == "RunOver"): {"runover"};
case (_ammo == "Dragged"): {"eject"};
case (_ammo in MeleeAmmo): {"melee"};
- case (!isNil "_wpst" && {!(_wpst select 0 in ["","Throw"])}): {"shot"};
+ case (!isNil "_wpst" && {!(_wpst select 0 in ["","Throw"]) or (vehicle _source != _source)}): {"shot"};
default {"none"};
};
if (dayz_lastDamageSource != "none") then {dayz_lastDamageTime = diag_tickTime;};
diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf
index 829736830..871d9ec40 100644
--- a/SQF/dayz_code/init/compiles.sqf
+++ b/SQF/dayz_code/init/compiles.sqf
@@ -605,7 +605,7 @@ if (!isDedicated) then {
death_4 = "";
};
- death_1 = format["%1
%3 (%4m)",_sourceName,_icon,_playerName,_distance];
+ death_1 = format["%1
%3 (%4m)",_sourceName,_icon,_playerName,_distance];
death_1_time = diag_ticktime;
_message = format ["%1
%2
%3
%4",death_1,death_2,death_3,death_4];
[_message,safeZoneX,safeZoneY,10,0,0,8000] spawn BIS_fnc_dynamicText;
diff --git a/SQF/dayz_code/init/publicEH.sqf b/SQF/dayz_code/init/publicEH.sqf
index 71f5f0ea4..4292353d8 100644
--- a/SQF/dayz_code/init/publicEH.sqf
+++ b/SQF/dayz_code/init/publicEH.sqf
@@ -324,22 +324,23 @@ if (!isDedicated) then {
// EPOCH ADDITION
"PVDZE_deathMessage" addPublicVariableEventHandler {
- private "_weapon";
+ private ["_root","_weapon"];
_message = _this select 1;
_message = switch (_message select 0) do {
case "died": {format [localize "str_player_death_died",_message select 1,localize format["str_death_%1",_message select 2]]};
case "killed": {
_weapon = _message select 3;
- switch true do {
- case (isClass (configFile >> "CfgWeapons" >> _weapon)): {
- _message set [3, getText (configFile >> "CfgWeapons" >> _weapon >> "displayName")];
- _message set [5, getText (configFile >> "CfgWeapons" >> _weapon >> "picture")];
- };
- case (isClass (configFile >> "CfgVehicles" >> _weapon)): {
- _message set [3, getText (configFile >> "CfgVehicles" >> _weapon >> "displayName")];
- _message set [5, getText (configFile >> "CfgVehicles" >> _weapon >> "picture")];
- };
- default {_message set [5,""]};
+ _root = switch true do {
+ case (isClass (configFile >> "CfgWeapons" >> _weapon)): {"CfgWeapons"};
+ case (isClass (configFile >> "CfgVehicles" >> _weapon)): {"CfgVehicles"};
+ case (isClass (configFile >> "CfgMagazines" >> _weapon)): {"CfgMagazines"};
+ default {""};
+ };
+ if (_root == "") then {
+ _message set [5,""];
+ } else {
+ _message set [3,getText (configFile >> _root >> _weapon >> "displayName")];
+ _message set [5,getText (configFile >> _root >> _weapon >> "picture")];
};
if (DZE_DeathMsgDynamicText) then {_message call dayz_killFeed};
format [localize "str_player_death_killed",_message select 1,_message select 2,_message select 3,_message select 4]
diff --git a/SQF/dayz_server/compile/server_playerDied.sqf b/SQF/dayz_server/compile/server_playerDied.sqf
index 4a87c0008..91577a047 100644
--- a/SQF/dayz_server/compile/server_playerDied.sqf
+++ b/SQF/dayz_server/compile/server_playerDied.sqf
@@ -44,7 +44,7 @@ diag_log format ["Player UID#%3 CID#%4 %1 as %5 died at %2",
// EPOCH DEATH MESSAGES
-if (_method in ["explosion","melee","runover","shot","shothead","shotheavy"]) then {
+if (_method in ["explosion","melee","shot","shothead","shotheavy"]) then {
if (_sourceName == _playerName) then {
_message = ["suicide",_playerName];
} else {
@@ -55,7 +55,7 @@ if (_method in ["explosion","melee","runover","shot","shothead","shotheavy"]) th
};
} else {
// No source name, distance or weapon needed: "%1 died from %2" str_death_%1 (see stringtable)
- // Possible methods: ["bled","combatlog","crushed","dehyd","eject","fall","starve","sick","rad","unknown","zombie"]
+ // Possible methods: ["bled","combatlog","crushed","dehyd","eject","fall","starve","sick","rad","runover","unknown","zombie"]
_message = ["died",_playerName,_method];
};