OK. Lets start from the basics then.
How does healing work?
When a wounded soldier returns to the avenger, the game creates a healing project for them.
The first thing the healing project does is get that soldiers lowest health in the mission (healing a soldier back up during the mission does nothing). It compares it to their maximum health with their current armor and utility items.
The game then takes off all their armor and utility items to leave them with their base health. Their actual health is converted to the same fraction of their base health as their lowest health was with their max health.
For instance, a soldier with 20 health in the mission is reduced to 10 health. This is 50% of his max health. His base health is 10. 50% of that is 5 health, so he is now on 5 health.
Next, the game checks the following array to determine how much work needs to be done to complete the project.
Code: Select all
!WoundSeverities=()
+WoundSeverities=(MinHealthPercent=-10000, MaxHealthPercent=10, MinPointsToHeal=45000, MaxPointsToHeal=55000, Difficulty=0) ;Easy
+WoundSeverities=(MinHealthPercent=10, MaxHealthPercent=20, MinPointsToHeal=40000, MaxPointsToHeal=47500, Difficulty=0)
+WoundSeverities=(MinHealthPercent=20, MaxHealthPercent=30, MinPointsToHeal=35000, MaxPointsToHeal=42500, Difficulty=0)
+WoundSeverities=(MinHealthPercent=30, MaxHealthPercent=40, MinPointsToHeal=30000, MaxPointsToHeal=37500, Difficulty=0)
+WoundSeverities=(MinHealthPercent=40, MaxHealthPercent=50, MinPointsToHeal=25000, MaxPointsToHeal=32500, Difficulty=0)
+WoundSeverities=(MinHealthPercent=50, MaxHealthPercent=60, MinPointsToHeal=20000, MaxPointsToHeal=27500, Difficulty=0)
+WoundSeverities=(MinHealthPercent=60, MaxHealthPercent=70, MinPointsToHeal=15000, MaxPointsToHeal=22500, Difficulty=0)
+WoundSeverities=(MinHealthPercent=70, MaxHealthPercent=80, MinPointsToHeal=10000, MaxPointsToHeal=17500, Difficulty=0)
+WoundSeverities=(MinHealthPercent=80, MaxHealthPercent=90, MinPointsToHeal=5000, MaxPointsToHeal=12500, Difficulty=0)
+WoundSeverities=(MinHealthPercent=90, MaxHealthPercent=10000, MinPointsToHeal=1000, MaxPointsToHeal=7500, Difficulty=0)
+WoundSeverities=(MinHealthPercent=-10000, MaxHealthPercent=10, MinPointsToHeal=45000, MaxPointsToHeal=75000, Difficulty=1) ;Veteran
+WoundSeverities=(MinHealthPercent=10, MaxHealthPercent=20, MinPointsToHeal=40000, MaxPointsToHeal=47500, Difficulty=1)
+WoundSeverities=(MinHealthPercent=20, MaxHealthPercent=30, MinPointsToHeal=35000, MaxPointsToHeal=42500, Difficulty=1)
+WoundSeverities=(MinHealthPercent=30, MaxHealthPercent=40, MinPointsToHeal=30000, MaxPointsToHeal=37500, Difficulty=1)
+WoundSeverities=(MinHealthPercent=40, MaxHealthPercent=50, MinPointsToHeal=25000, MaxPointsToHeal=32500, Difficulty=1)
+WoundSeverities=(MinHealthPercent=50, MaxHealthPercent=60, MinPointsToHeal=20000, MaxPointsToHeal=27500, Difficulty=1)
+WoundSeverities=(MinHealthPercent=60, MaxHealthPercent=70, MinPointsToHeal=15000, MaxPointsToHeal=22500, Difficulty=1)
+WoundSeverities=(MinHealthPercent=70, MaxHealthPercent=80, MinPointsToHeal=10000, MaxPointsToHeal=17500, Difficulty=1)
+WoundSeverities=(MinHealthPercent=80, MaxHealthPercent=90, MinPointsToHeal=5000, MaxPointsToHeal=12500, Difficulty=1)
+WoundSeverities=(MinHealthPercent=90, MaxHealthPercent=10000, MinPointsToHeal=1000, MaxPointsToHeal=7500, Difficulty=1)
+WoundSeverities=(MinHealthPercent=-10000, MaxHealthPercent=10, MinPointsToHeal=45000, MaxPointsToHeal=75000, Difficulty=2) ;Commander
+WoundSeverities=(MinHealthPercent=10, MaxHealthPercent=20, MinPointsToHeal=40000, MaxPointsToHeal=47500, Difficulty=2)
+WoundSeverities=(MinHealthPercent=20, MaxHealthPercent=30, MinPointsToHeal=35000, MaxPointsToHeal=42500, Difficulty=2)
+WoundSeverities=(MinHealthPercent=30, MaxHealthPercent=40, MinPointsToHeal=30000, MaxPointsToHeal=37500, Difficulty=2)
+WoundSeverities=(MinHealthPercent=40, MaxHealthPercent=50, MinPointsToHeal=25000, MaxPointsToHeal=32500, Difficulty=2)
+WoundSeverities=(MinHealthPercent=50, MaxHealthPercent=60, MinPointsToHeal=20000, MaxPointsToHeal=27500, Difficulty=2)
+WoundSeverities=(MinHealthPercent=60, MaxHealthPercent=70, MinPointsToHeal=15000, MaxPointsToHeal=22500, Difficulty=2)
+WoundSeverities=(MinHealthPercent=70, MaxHealthPercent=80, MinPointsToHeal=10000, MaxPointsToHeal=17500, Difficulty=2)
+WoundSeverities=(MinHealthPercent=80, MaxHealthPercent=90, MinPointsToHeal=5000, MaxPointsToHeal=12500, Difficulty=2)
+WoundSeverities=(MinHealthPercent=90, MaxHealthPercent=10000, MinPointsToHeal=1000, MaxPointsToHeal=7500, Difficulty=2)
+WoundSeverities=(MinHealthPercent=-10000, MaxHealthPercent=10, MinPointsToHeal=45000, MaxPointsToHeal=75000, Difficulty=3) ;Legend
+WoundSeverities=(MinHealthPercent=10, MaxHealthPercent=20, MinPointsToHeal=40000, MaxPointsToHeal=47500, Difficulty=3)
+WoundSeverities=(MinHealthPercent=20, MaxHealthPercent=30, MinPointsToHeal=35000, MaxPointsToHeal=42500, Difficulty=3)
+WoundSeverities=(MinHealthPercent=30, MaxHealthPercent=40, MinPointsToHeal=30000, MaxPointsToHeal=37500, Difficulty=3)
+WoundSeverities=(MinHealthPercent=40, MaxHealthPercent=50, MinPointsToHeal=25000, MaxPointsToHeal=32500, Difficulty=3)
+WoundSeverities=(MinHealthPercent=50, MaxHealthPercent=60, MinPointsToHeal=20000, MaxPointsToHeal=27500, Difficulty=3)
+WoundSeverities=(MinHealthPercent=60, MaxHealthPercent=70, MinPointsToHeal=15000, MaxPointsToHeal=22500, Difficulty=3)
+WoundSeverities=(MinHealthPercent=70, MaxHealthPercent=80, MinPointsToHeal=10000, MaxPointsToHeal=17500, Difficulty=3)
+WoundSeverities=(MinHealthPercent=80, MaxHealthPercent=90, MinPointsToHeal=5000, MaxPointsToHeal=12500, Difficulty=3)
+WoundSeverities=(MinHealthPercent=90, MaxHealthPercent=10000, MinPointsToHeal=1000, MaxPointsToHeal=7500, Difficulty=3)
First, it finds the right list for the current difficulty (0-3 = rookie - legend). Second, it find the entry where MinHealthPercent and MaxHealthPercent bracket the percentage of health the soldier has left. Third, it randomly picks a number between MinPoints to Heal and MaxPoints to Heal.
Now the game knows how much health it needs to heal and how much work it needs to do to heal that much health. It divides the work by the number of wounds to figure out how much work it will take to heal a single point of health. Every time that much work is done, a point is healed.
The amount of work that is done in any given day is determined by a constant, with the AWC Scientist multipying that by 1.5 (1/1.5 = 0.67, which is why the scientist reduces healing time by 33%).
Once all the points of health are healed, the soldier is unwounded and may return to duty.
How does Field Surgeon fit in?
If a soldier returns to the Avenger with a lowest health in mission at least 1 below max and at least 1 above 0, then Field Surgeon kicks in (if there was someone with Field Surgeon in the squad!). It gives them 1 health back after calculating how much health they actually have on the Avenger.
Note that Field Surgeon from multiple soldiers can apply, but each one after the first only has a chance of applying. It's 50% for the second point of health, 33% for the third point of health, 25% for the fourth point of health, 20% for the fifth point of health, 15% of the sixth point of health and 10% for every point of health after that. Of course, there aren't many squads that will have 7 or more soldiers with Field Surgeon, even with the AWC factored in!
The wound severity check is made after this.
What does this mean?
If you've lost at least 1 health, you cannot be unwounded. At best Field Surgeon can return you to the 90-10000% wound severity range. So at best you are going to be wounded for a few days.
If you are reduced to 0 wounds, then Field surgeon will never do anything, even if you are healed in mission and fight your way through the rest of the mission. Healing will take the maximum amount of time.
Field Surgeon is of varying effectiveness at differing health ranges. Below 5 health, a single point of health recovery can make you jump up 2 or more wound severities, which is always good. From 6-9 health, you could jump up a single wound severity or two if you're lucky. At 10 health and above, you will never go up more than one wound severity.