MegaMek/mekhq

RFE: Allow number of techs assigned to force to equal the number of units in the force

Open

#2,362 opened on Jan 11, 2021

View on GitHub
 (0 comments) (0 reactions) (0 assignees)Java (225 forks)auto 404
(RFE) EnhancementHelp WantedMajorNeeds Code Owner

Repository metrics

Stars
 (160 stars)
PR merge metrics
 (PR metrics pending)

Description

Semi-related to: https://github.com/MegaMek/mekhq/issues/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.

  1. Initial state: Screen Shot 2021-01-11 at 4 18 30 PM

The currently assigned techs are on a separate set of forces.

  1. Assign tech to child force: Screen Shot 2021-01-11 at 4 19 36 PM Screen Shot 2021-01-11 at 4 20 03 PM

  2. Assign tech to parent force: Screen Shot 2021-01-11 at 4 20 35 PM Screen Shot 2021-01-11 at 4 21 07 PM

Tech on child force is properly removed.

  1. Remove tech from parent force: Screen Shot 2021-01-11 at 4 21 52 PM Screen Shot 2021-01-11 at 4 22 15 PM

Tech was removed (the assigned techs are on a completely separate force).

  1. Attempt to assign tech to child force again: Screen Shot 2021-01-11 at 4 23 39 PM

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:

  1. One tech assigned to each individual unit and no techs assigned to the forces.
  2. Four techs assigned to each child Force and no Unit or Parent assignments.
  3. Twelve techs assigned to the Parent Force and no techs assigned to the Child Forces or the Units.
  4. 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.

Contributor guide