How does ArmA/DayZ damage work?

Gews

New Member
I see many people "rating" weapon damage based on this formula:

blood damage = damage^2*55.55

So a DMR is said to do

~8000 = 12^2*55.55


Anyways looking more into this it gets more confusing to me. I can see that the fn_damageHandler.sqf scales the damage into DayZ's "blood".

//PVP Damage
_scale = 200;
if (_damage > 0.4) then {
if (_ammo != "zombie") then {
_scale = _scale + 50;
};
if (_isHeadHit) then {
_scale = _scale + 500;
};
if ((isPlayer _source) and !(player == _source)) then {
_scale = _scale + 800;
if (_isHeadHit) then {
_scale = _scale + 500;
};
};
switch (_type) do {
case 1: {_scale = _scale + 200};
case 2: {_scale = _scale + 200};
};
if (_unitIsPlayer) then {
//Cause blood loss
//Log Damage
//diag_log ("DAMAGE: player hit by " + typeOf _source + " in " + _hit + " with " + _ammo + " for " + str(_damage) + " scaled " + str(_damage * _scale));
r_player_blood = r_player_blood - (_damage * _scale);
};
};



That seems fairly straightforward, but where do I find (or how do I calculate) the "_damage" value seen in this line?


r_player_blood = r_player_blood - (_damage * _scale);
 
Oh dang! I think I'm coming quite close here!

I found a formula which works quite well for determining base damage from the "hit" value and the "armor" and "armorStructural" values. It worked well and corresponded to in-game results.

The only problem is when I put it in the r_player_blood = r_player_blood - (_damage * _scale) formula, it doesn't work at all in terms of blood damage. Way too low. I know that it works in terms of damage though.



Does DayZ change around the armor and armorStructural values for players? I was under the impression it inherited those values from CAManBase (at least for the torso).



Still having a hard time with this, it's quite frustrating.
 
Back
Top