The majority of the information in this thread has been extracted from @celery's original post which can be viewed here:  This thread is an updated version of the above post, addressing all outdated information. If anyone notices any incorrect information in this new one or has anything that should be added, please respond to this thread with what you would like to say.   HandleDamage Event Handler Explained   The passed array _this select 0 (unit): Object the event handler is assigned to _this select 1 (hitSelection): Name of the selection where the unit was damaged. "" for over-all structural damage, "?" for unknown selections. _this select 2 (damage): Damage to the above selection (sum of dealt and prior damage) _this select 3 (source): The source unit that caused the damage _this select 4 (projectile): Class name of the projectile that inflicted the damage ("" for unknown, such as falling damage) _this select 5 (hitPartIndex): Hit part index of the hit point, -1 otherwise _this select 6 (instigator): Person who pulled the trigger _this select 7 (hitPoint): Hit point Cfg name   Infantry selections "": The overall damage that determines the damage value of the unit. Unit dies at damage equal to or above 1 "face_hub": Unit dies at damage equal to or above 1 "neck": Unit dies at damage equal to or above 1 "head": Unit dies at damage equal to or above 1 "pelvis": Unit dies at damage equal to or above 1 "spine1": Unit dies at damage equal to or above 1 "spine2": Unit dies at damage equal to or above 1 "spine3": Unit dies at damage equal to or above 1 "body": Unit dies at damage equal to or above 1 "arms": Unit doesn't die with damage to this part "hands": Unit doesn't die with damage to this part "legs": Unit doesn't die with damage to this part   The "" part is the reason why consecutive leg hits are fatal. Whenever the unit is hit, "" gets damage based on the power of the hit with no other modifiers. Wherever you hit the unit, it will die when this overall damage quota is up.   How the event handler fires The event handler fires multiple times at the same time when the unit is damaged, once for each selection. The sequence is always the same, the sequence for infantry being the same as in the selection list above. Only the current selection and its damage are remembered during each activation unless you assign variables to them. The EH can trigger "twice" per damage event. Once for direct damage, and once for indirect damage (explosive damage). This can happen even in the same frame, but is unlikely. It is also worth noting that the event will continue to fire for a unit even if it's already dead.   Manipulating damage The last value given in the EH's code is the damage that it gives for the current selection. Remember that if the code is too complex to be written into the EH itself, only callable scripts should be used for the purpose of determining damage because the damage has to be given in the EH's code.   How to prevent the unit from taking damage completely: _unit addEventHandler ["HandleDamage", {0}];   How to prevent the unit from taking damage, but keeping the unit's original damage and not removing any prior damage. _unit addEventHandler ["HandleDamage", { private _unit = _this select 0; private _hitSelection = _this select 1; if (_hitSelection isEqualTo "") then {damage _unit} else {_unit getHit _hitSelection}; }];   How to pass damage to certain parts only: _unit addEventHandler ["HandleDamage", { private _unit = _this select 0; private _hitSelection = _this select 1; // If the part is in ["head", "face_hub"], allow damage to it, otherwise return the part's original damage with none in addition if (!(_hitSelection in ["head", "face_hub"])) then { _damage = if (_hitSelection isEqualTo "") then {damage _unit} else {_unit getHit _hitSelection}; }; _damage }];   Additional Information You can now return the current damage for individual hit selections in Arma 3 through the getHit command: https://community.bistudio.com/wiki/getHit