Description
Semi-related to: #1953
Environment
showInfo(), line 356 : MekHQ 0.47.16
Compiled on 2021-01-05T17:33:03Z
Today is 2021-01-11
Java vendor N/A
Java version 15.0.1
Platform Mac OS X 10.15.7 (x86_64)
Issue Description
This is sort of related to the second point of issue 1953 (assigning a tech to a parent force, removes techs from child forces, but removing the tech in the parent force leaves the child forces "with techs", but no actual techs are assigned.
The currently assigned techs are on a separate set of forces.
Tech on child force is properly removed.
Tech was removed (the assigned techs are on a completely separate force).
However, the TOE thinks there is already a tech assigned, even though:
a. The tech assigned in step 2 is not assigned in the Personnel tab (it was automatically removed in step 3).
b. The tech assigned in step 3 was manually removed.
As a result, the child force needs to have the 'ghost tech' manually removed before another tech can be added.
RFE Description
To combat this, maintenance should be tracked separately for Forces and Units. Force maintenance should be the sum of all Units in the Force, but it should not override Unit Tech assignments. Instead, maintenance time should be split between applicable techs
If you have a Parent Force of three Forces, and each child Force has 4 Units (a Company), you should be able to have a number of combinations of techs:
- One tech assigned to each individual unit and no techs assigned to the forces.
- Four techs assigned to each child Force and no Unit or Parent assignments.
- Twelve techs assigned to the Parent Force and no techs assigned to the Child Forces or the Units.
- Some combination thereof... for instance, 1 high ranking tech assigned to the Parent Force, 3 mid rank techs assigned to the child forces, and the remaining 8 techs assigned to specific units.
Maintenance checks would then proceed from the Unit-assigned tech (and, assuming failure) they would continue until all their time is used up. If the Unit-assigned tech fails and has no time left, the Force-assigned techs would rotate through until all their time is used up. If a Unit does not have a directly assigned tech, then the Force-assigned techs would work on it.
Once all potential techs have exhausted their time failing maintenance checks, then the Unit would be considered to have 'failed' the check.