Fix mine detection in death messages again

This commit is contained in:
ebaydayz
2016-09-30 20:06:18 -04:00
parent 1fb0b1004d
commit 88c1b83c31
5 changed files with 9 additions and 10 deletions

View File

@@ -5,7 +5,7 @@ scriptName "Functions\misc\fn_damageHandler.sqf";
- Function - Function
- [unit, selectionName, damage, source, projectile] call fnc_usec_damageHandler; - [unit, selectionName, damage, source, projectile] call fnc_usec_damageHandler;
************************************************************/ ************************************************************/
private ["_HitBy","_end","_unit","_hit","_damage","_unconscious","_source","_ammo","_Viralzed","_isMinor","_isHeadHit","_isPlayer","_isBandit","_punishment","_humanityHit","_myKills","_wpst","_sourceDist","_sourceWeap","_scale","_type","_nrj","_rndPain","_hitPain","_wound","_isHit","_isbleeding","_rndBleed","_hitBleed","_isInjured","_lowBlood","_rndInfection","_hitInfection","_isCardiac","_chance","_falling","_model","_isZombieHit"]; private ["_HitBy","_end","_unit","_hit","_damage","_unconscious","_source","_ammo","_Viralzed","_isMinor","_isHeadHit","_isPlayer","_isBandit","_punishment","_humanityHit","_myKills","_wpst","_sourceDist","_sourceWeap","_scale","_type","_nrj","_rndPain","_hitPain","_wound","_isHit","_isbleeding","_rndBleed","_hitBleed","_isInjured","_lowBlood","_rndInfection","_hitInfection","_isCardiac","_chance","_falling","_model","_isZombieHit","_sourceType","_sourceVehicleType"];
_unit = _this select 0; _unit = _this select 0;
_hit = _this select 1; _hit = _this select 1;
_damage = _this select 2; _damage = _this select 2;

View File

@@ -1,4 +1,4 @@
private ["_pos","_display","_body","_playerID","_array","_source","_method","_isBandit","_punishment","_humanityHit","_myKills","_humanity","_kills","_killsV","_myGroup","_model","_infected","_distance","_sourceVehicle","_sourceWeapon","_sourceName","_ammo"]; private ["_pos","_display","_body","_playerID","_array","_source","_method","_isBandit","_punishment","_humanityHit","_myKills","_humanity","_kills","_killsV","_myGroup","_model","_infected","_distance","_sourceVehicleType","_sourceWeapon","_sourceName","_ammo"];
disableSerialization; disableSerialization;
if (deathHandled) exitWith {}; if (deathHandled) exitWith {};
deathHandled = true; deathHandled = true;
@@ -39,10 +39,10 @@ if (count _this > 0) then {
if (!isNull _source) then { if (!isNull _source) then {
if (!isNull _body) then {_distance = round (_body distance _source);}; if (!isNull _body) then {_distance = round (_body distance _source);};
_sourceVehicle = vehicle _source; _sourceVehicleType = typeOf (vehicle _source);
_sourceWeapon = if (_sourceVehicle != _source) then {typeOf _sourceVehicle} else {currentWeapon _source}; _sourceWeapon = if (_sourceVehicleType isKindOf "LandVehicle" or _sourceVehicleType isKindOf "Air" or _sourceVehicleType isKindOf "Ship") then {_sourceVehicleType} else {currentWeapon _source};
if (_sourceWeapon == "Throw") then {_sourceWeapon = (weaponState _source) select 3;}; if (_sourceWeapon == "Throw") then {_sourceWeapon = (weaponState _source) select 3;};
if (_ammo in ["PipeBomb","RunOver"]) then {_sourceWeapon = _ammo;}; // Mine or Satchel if (_ammo in ["PipeBomb","Mine","MineE"]) then {_sourceWeapon = _ammo;};
if (alive _source) then { if (alive _source) then {
_sourceName = if (isPlayer _source) then {name _source} else {localize "STR_EPOCH_AI"}; _sourceName = if (isPlayer _source) then {name _source} else {localize "STR_EPOCH_AI"};
}; };

View File

@@ -605,7 +605,7 @@ if (!isDedicated) then {
death_4 = ""; death_4 = "";
}; };
death_1 = format["<t align='left' color='#a81e13'>%1 </t><img align='left' image='%2'/><t align='left' color='#3FB07D'> %3 (%4m)</t>",_playerName,_icon,_sourceName,_distance]; death_1 = format["<t size='.8' align='left' color='#a81e13'>%1 </t><img align='left' image='%2'/><t size='.8' align='left' color='#3FB07D'> %3 (%4m)</t>",_playerName,_icon,_sourceName,_distance];
death_1_time = diag_ticktime; death_1_time = diag_ticktime;
_message = format ["%1<br />%2<br />%3<br />%4",death_1,death_2,death_3,death_4]; _message = format ["%1<br />%2<br />%3<br />%4",death_1,death_2,death_3,death_4];
[_message,safeZoneX,safeZoneY,10,0,0,8000] spawn BIS_fnc_dynamicText; [_message,safeZoneX,safeZoneY,10,0,0,8000] spawn BIS_fnc_dynamicText;

View File

@@ -331,6 +331,7 @@ if (!isDedicated) then {
case "killed": { case "killed": {
_weapon = _message select 3; _weapon = _message select 3;
_root = switch true do { _root = switch true do {
case (_weapon in ["PipeBomb","Mine","MineE"]): {"CfgMagazines"}; // isClass in both
case (isClass (configFile >> "CfgWeapons" >> _weapon)): {"CfgWeapons"}; case (isClass (configFile >> "CfgWeapons" >> _weapon)): {"CfgWeapons"};
case (isClass (configFile >> "CfgVehicles" >> _weapon)): {"CfgVehicles"}; case (isClass (configFile >> "CfgVehicles" >> _weapon)): {"CfgVehicles"};
case (isClass (configFile >> "CfgMagazines" >> _weapon)): {"CfgMagazines"}; case (isClass (configFile >> "CfgMagazines" >> _weapon)): {"CfgMagazines"};

View File

@@ -1,6 +1,6 @@
#include "\z\addons\dayz_server\compile\server_toggle_debug.hpp" #include "\z\addons\dayz_server\compile\server_toggle_debug.hpp"
private ["_characterID","_minutes","_newObject","_playerID","_key","_pos","_infected","_sourceName","_sourceWeapon","_distance","_message","_method","_isMine"]; private ["_characterID","_minutes","_newObject","_playerID","_key","_pos","_infected","_sourceName","_sourceWeapon","_distance","_message","_method"];
//[unit, weapon, muzzle, mode, ammo, magazine, projectile] //[unit, weapon, muzzle, mode, ammo, magazine, projectile]
_characterID = _this select 0; _characterID = _this select 0;
@@ -43,9 +43,7 @@ diag_log format ["Player UID#%3 CID#%4 %1 as %5 died at %2",
// EPOCH DEATH MESSAGES // EPOCH DEATH MESSAGES
_isMine = _sourceWeapon == "RunOver"; if (_method in ["explosion","melee","shot","shothead","shotheavy"]) then {
if (_method in ["explosion","melee","shot","shothead","shotheavy"] && !_isMine) then {
if (_sourceName == _playerName) then { if (_sourceName == _playerName) then {
_message = ["suicide",_playerName]; _message = ["suicide",_playerName];
} else { } else {