Author: Belbo
Author Website:

Requirements: Advanced Combat Environment 3 (ACE 3), Community Base addons A3

Version: 1.4.9
Signed: Yes, serverkey included

Short description: With ADV - ACE CPR you can finally use CPR to get someone out of the revive state without healing him completely, making gameplay much more interesting.

Date: 2018-01-09 10:52

Comments: (0)




My community and I had a serious problem with the way ACE handles its CPR.
If you're playing with ace_medical_enableRevive=1 you might have found out that CPR practically does nothing as long as your patient has no pulse (i.e. is in the revive state). You would need to use a Personal Aid Kit to revive your patient, setting all his health variables back to their start values - practically doing a magical heal with the magical wand called PAK.
With adv_aceCPR you can finally use CPR to get someone out of the revive state without healing him completely, making gameplay much more interesting.

After successfully "stabilizing" the patient, he/she will have a basic pulse of at least 30bpm. ACE-doctors have a 40% success rate and ACE-medics have a 15% success rate. Regular riflemen can resuscitate a patient, but they will have a much lower success rate. They can still keep the patient from dying due to an expired revive timer though. The success rate is lowered if the patient looses blood and is raised if the patient received Epinephrine right before CPR. The minimum rate is always 2% - except if resuscitation has been disabled for regular riflemen (look at "For mission builders" for additonal info).
With version 1.4.0 a new item has been added to adv_aceCPR: A defibrillator.
The defibrillator works almost like the CPR action, but you have to have a defibrillator in your inventory and it's much faster and the success rate is way higher. You can only use the defibrillator if you're a medic (ace_medical_medicClass > 0).
I highly recommend to put your PAKs in mothballs.
(Btw.: ADV is my nametag, it's not an abbreviation for 'advanced'.)

To install ADV - ACE CPR you should use modfolders to keep it seperate from the official game content to prevent issues.
With Arma 3 you can use different ways to set up your modfolders to use custom content you have downloaded.
Please visit the Arma 3 Mod install instructions page for more information about using custom mods and addons in Arma 3.

Included files:

If you want to limit the usability of CPR you can do so by setting adv_aceCPR_quotient to a value of your choice. This way resuscitation by CPR is only available for a fraction of the ace_medical_maxReviveTime. So let's say you set adv_aceCPR_quotient to 2, then you can only resuscitate a patient if his revive-timer has not reached half of ace_medical_maxReviveTime, if you set it to 4 you can only resuscitate the patient within the first quarter of the ace_medical_maxReviveTime, and so forth.
Just put this in your init.sqf and change the 1 to a value of your liking:
adv_aceCPR_quotient = 1;
It's possible to limit the CPR to units with ace_medical_medicClass > 0 only. In that case regular soldiers can still keep a patient from running out on revive time, but they can't resuscitate him. An ACE-medic (ace_medical_medicClass == 1) or ACE-doctor (ace_medical_medicClass == 2) can use CPR to resuscitate a patient, depending on your setting.
adv_aceCPR_onlyDoctors = 0; //all players can resuscitate.
adv_aceCPR_onlyDoctors = 1; //medics and doctors can resuscitate.
adv_aceCPR_onlyDoctors = 2; //only doctors can resuscitate.
Additionally you can set the probabilities for successfull resuscitation individually depending on the value for ace_medical_medicClass a player's unit has.
adv_aceCPR_probabilities = [40,15,5,85]; //the first entry is for ace_medical_medicClass == 2, the second for == 1, the third for regular units with ace_medical_medicClass == 0 and the fourth one for the defibrillator.
The classname for the defribrillator item is
I highly recommend to adjust the values for adv_aceCPR_probabilities when using the defibrillator.
If you want to enable logging to rpt set this variable:
adv_aceCPR_diag = true;

Credits & Thanks:
- LeWarz and the whole Spezialeinheit Luchs for playtesting
- Markus from Boom Tools Filmton for his support and the AED sound!
- T.Fork

License / Disclaimer:
This addon - as a whole - is allowed to be copied, distributed or modified as per the GPL-2.0 licence.
Additional terms apply for using this addon:
You may not use this addon or parts or derivatives of it for any commercial purposes, including monetized game servers.
This addon or parts or derivatives of it may not be used in any derivative of Life gamemode.
Different licences may apply to parts of this addon if it's not copied or distributed as a whole.

FIXED: removed superfluous animation start on CPR or AED action.

FIXED: Compatibility to ACE 3.11.0

FIXED: removed time quotient again - seemed to cause issues.
IMPROVED: Added model for defibrillator.

FIXED: wrong query for revive enabled.
IMPROVED: pulse reducing medication will now lower the chance of success significantly.
IMPROVED: adv_aceCPR_quotient will revert to 1 for values below 1.
IMPROVED: changed nomenclature of functions.
IMPROVED: moved call for fn_addTime.
IMPROVED: readded time quotient.
IMPROVED: bloodvolume and pulse will only be reset if revive is enabled.
IMPROVED: morphine now lowers probability.

FIXED: CPR action wasn't available in some cases.

IMPROVED: Raised weight of AED item.
IMPROVED: AED will "show" heartrate of patient after use.
IMPROVED: Added pain for every use of AED.
IMPROVED: Added probability for AED to adv_aceCPR_probabilities.
MATCHED: licence

ADDED: sound for AED (great shoutout to Boom Tools Filmton!)
FIXED: Wrong function called on non-local AED usage.

ADDED: New defibrillator item

FIXED: CPR hasn't been working properly since 1.3.3.

FIXED: CPR not possible in cardiac arrest (Thanks to T.Fork for pointing that out!)

Changed animation for CPR action.
Added prefix to pbo.

Added new variable adv_aceCPR_probabilities that contains an array of probabilities for [ace_medical_medicClass == 2, ace_medical_medicClass == 1, ace_medical_medicClass == 0 ]. Default values are: [40,15,5].
Added new debugging function to streamline the code.
Standard ACE-CPR is no longer executed additionally.
Revive timer will now gain a random value between 0 and 5 seconds additional to the 15 seconds the action takes to perform.

adv_aceCPR_onlyDoctors can now have a value of 0 (all can resuscitate), 1 (medics and doctors can resuscitate), 2 (only doctors can resuscitate). Compatibility with boolean-values is still provided (false for 0, true for 2).

reduced probability of successfull resuscitation for regular soldiers.

added variable adv_aceCPR_onlyDoctors (default: false) to allow successfull CPR only for medics with ace_medical_medicClass = 2.
updated ReadMe & license.

added a lot of debugging possibilities (set adv_aceCPR_diag = true)
added changing probability of success depending on medication and bloodloss
fixed a minor locality issue

-Fixed locality issues.

- first release

- Advanced Combat Environment 3 (ACE 3)
- Community Base addons A3

Forum topic:
- BI forums

Steam Workshop:
- Subscribe

Enable javascript to be able to download from Armaholic please!