Ace3: Morphine does not reduce pain when "Advanced Medication" is disabled

Created on 6 Jan 2020  路  1Comment  路  Source: acemod/ACE3

Mods:

  • Arma 3: 1.96.146114
  • CBA: 3.13.0.191116 stable
  • ACE3: 3.13.0.45 stable

Description:
When "Advanced Medication" is disabled, morphine does not successfully suppress pain. Immediately after administering morphine to a patient in pain, the pain will quickly return to the state it was previously. This seems to happen regardless of the Pain Coefficient. In effect, the pain only goes away naturally. I have noticed this issue in singleplayer and during my unit's last play session on our dedicated server.

Steps to reproduce:

  • Go to the editor and place down a medic (player) and another unit.
  • Disable "Medic AI", "Advanced Diagnose", "Advanced Bandages", and "Advanced Medication" in the ACE Medical addon options.
  • Enter the mission and shoot the other unit in the leg.
  • Bandage the leg and stop the bleeding. Notice the unit is in pain.
  • Give the unit morphine.
  • Once morphine is administered, notice that the pain is only momentarily suppressed before immediately returning to its previous level.

No amount of morphine given seems to make the pain go away quicker than normal.

Compare this to having "Advanced Medication" enabled:

  • Go to the editor and place down a medic (player) and another unit.
  • Disable "Medic AI", "Advanced Diagnose", "Advanced Bandages", but leave "Advanced Medication" enabled.
  • Enter the mission and shoot the other unit in the leg.
  • Bandage the leg and stop the bleeding. Notice the unit is in pain.
  • Give the unit morphine.
  • Wait around 15 seconds.
  • Notice that the pain is decreasing, as expected.

Expected behavior:
Similar to before the medical rewrite, I would expect the pain to be suppressed and stay suppressed. Before the medical rewrite, this would happen immediately on basic medical settings. I do not know if this is supposed to be the case after the rewrite or not, but regardless of speed the pain should decrease.

Where did the issue occur?

  • Dedicated / Singleplayer / Editor (Singleplayer)

Log Files:
https://pastebin.com/HZ7mFXTS

Additional context:
It is possible I do not understand the new medical settings fully. I would expect disabling "Advanced Diagnose", "Advanced Bandages", and "Advanced Medication" to emulate the previous basic medical, at least in treatment. If this is not the case and it is possible to adjust the settings to fix this "issue", I would be very grateful.

Video:
Here is a video showing the issue. The first part is with "Advanced Medication" disabled. The second part is with it enabled. https://youtu.be/L4c_uVC9ntg

kinbug

Most helpful comment

Can confirm this. Also looked into the code for why this might is happening.
In the medicationLocal function the pain suppression is set.
https://github.com/acemod/ACE3/blob/master/addons/medical_treatment/functions/fnc_medicationLocal.sqf#L34

However the handleUnitVitals function, only medication is being looked at, no pain suppression will be counted.
https://github.com/acemod/ACE3/blob/master/addons/medical_vitals/functions/fnc_handleUnitVitals.sqf#L76

The variable _painSupressAdjustment is 0 in this case and the updatePainSuppress function is being called
https://github.com/acemod/ACE3/blob/master/addons/medical_vitals/functions/fnc_handleUnitVitals.sqf#L101

Which then just sets pain suppression to 0.
https://github.com/acemod/ACE3/blob/master/addons/medical_vitals/functions/fnc_updatePainSuppress.sqf#L23

In my current knowledge of the medical rewrite I'd say, the handleUnitVitals function needs a switch for non advanced medication, to take pain suppression into account.
or
update the updatePainSuppress function

>All comments

Can confirm this. Also looked into the code for why this might is happening.
In the medicationLocal function the pain suppression is set.
https://github.com/acemod/ACE3/blob/master/addons/medical_treatment/functions/fnc_medicationLocal.sqf#L34

However the handleUnitVitals function, only medication is being looked at, no pain suppression will be counted.
https://github.com/acemod/ACE3/blob/master/addons/medical_vitals/functions/fnc_handleUnitVitals.sqf#L76

The variable _painSupressAdjustment is 0 in this case and the updatePainSuppress function is being called
https://github.com/acemod/ACE3/blob/master/addons/medical_vitals/functions/fnc_handleUnitVitals.sqf#L101

Which then just sets pain suppression to 0.
https://github.com/acemod/ACE3/blob/master/addons/medical_vitals/functions/fnc_updatePainSuppress.sqf#L23

In my current knowledge of the medical rewrite I'd say, the handleUnitVitals function needs a switch for non advanced medication, to take pain suppression into account.
or
update the updatePainSuppress function

Was this page helpful?
0 / 5 - 0 ratings

Related issues

armyinf0703 picture armyinf0703  路  3Comments

Snak3Doc picture Snak3Doc  路  4Comments

Harry666cz picture Harry666cz  路  3Comments

GalNa picture GalNa  路  3Comments

BlueNexus picture BlueNexus  路  3Comments