Added Status Self-Validation; Prevented Assignment of Invalid Statuses to PoWs; Updated Status Change Menu #6531
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
isPrisonerSuitableStatus
andisCauseOfDeath
, toPersonnelStatus
.statusValidator
method to validate and auto-correct invalid personnel statuses for prisoners.PersonnelTableMouseAdapter
to dynamically filter allowed statuses in the UI based on prisoner status and context.getImplementedStatuses()
method in favor of the new overloaded version with filtering capabilities.Dev Notes
This PR does a couple of things. First of all it locks Prisoners out of certain Personnel Statuses that aren't valid for prisoners. This prevents users from accidentally getting confused with what statuses are valid and what aren't. For example, I've seen instances of users assigning prisoners the 'PoW' status - however that status is not meant for NPC PoWs, and using it there breaks prisoner tracking.
Next, on load, we validate all prisoners have valid statuses to handle <50.05 campaigns.
Finally, I updated the Change Status menu so that it only shows Statuses the character is eligible for. I also grouped all of the Cause of Death statuses under a sub-menu, so the whole dropdown is a lot less cluttered.