Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Retirement Improvements (Wave Two) #3911

Closed
wants to merge 11 commits into from

Conversation

IllianiCBT
Copy link
Collaborator

@IllianiCBT IllianiCBT commented Mar 26, 2024

Experience Modifier

Current Implementation

Retirement TN is 3 plus modifiers: experience, officer-status, misc modifiers. Experience is a combination of employee skill rating (regular, veteran, elite, etc) and company Unit Rating.
image

Problem

By combining these two modifiers it obfuscates where modifiers are coming from, making it difficult for users to understand how the TN is being calculated.

Solution

I have split 'experience' into 'experience' (employee skill rating) and 'unit rating' (company unit rating).
image

Full credit to https://github.com/SuperStucco

Bonus Modifiers

Current Implementation

During a Retirement Check, Commanders can pay an employee roughly 2 months' wages to reduce the retirement TN by 1.

Problem

This still results in overly high TNs when considering Elite employees.

An Elite (non-officer) employee has a retirement TN of 7 (plus Unit Rating), reduced to 6 by paying the Bonus. This has a failure chance of 27.78%. Effectively a 5in20 chance of losing the pilot.

A Regular (non-officer) employee has a retirement TN of 5 (plus Unit Rating), reduced to 5 by paying the Bonus. This has a failure chance of 16.67%. Effectively a 3in20 chance of losing the pilot.

Solution

Increase bonus payout from 2 months' wage, to 3. Improve Bonus modifier to -2.

Elite employee's failure rate is improved to 16.67% (3in20).
Regular employee's failure rate is improved to 8.33% (2in20).

Shares

Shares Modifiers

Current Implementation

When selecting the contract through the contract market (or new contract dialog) users can specify shares percentage for the contract, from 20%-50% in increments of 10%.

If the contract shares percentage is above 20% pilots reduce their retirement TN by an amount based on the shares percentage:

  • 30%: - 1
  • 40%: -2
  • 50%: -3

Problem

The default value for shares percentage is 20%. This means users are likely to be unaware that this modifier exists.

Solution

This modifier is now always visible, when shares are used.

Misc Modifiers

Old Age

Current Implementation

Once an employee reaches 50 they incur a penalty, increasing the retirement TN by 1.

Problem

This lacks nuance. A 120 year old has the same old age penalty as a 60 year old.

Solution

Old Age penalties are now along a gradient:

  • 50-60: TN + 1
  • 70: TN + 2
  • 80: TN +3
  • 90: TN + 4
  • 100+: TN + 5

@IllianiCBT IllianiCBT marked this pull request as draft March 26, 2024 06:04
Copy link

codecov bot commented Mar 26, 2024

Codecov Report

Attention: Patch coverage is 0% with 47 lines in your changes are missing coverage. Please review.

Project coverage is 10.65%. Comparing base (c1e157d) to head (2da3078).
Report is 11 commits behind head on master.

Files Patch % Lines
...campaign/personnel/RetirementDefectionTracker.java 0.00% 44 Missing ⚠️
...rc/mekhq/gui/dialog/RetirementDefectionDialog.java 0.00% 2 Missing ⚠️
...ekHQ/src/mekhq/gui/model/RetirementTableModel.java 0.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #3911      +/-   ##
============================================
+ Coverage     10.60%   10.65%   +0.04%     
- Complexity     5487     5528      +41     
============================================
  Files           836      836              
  Lines        114267   114311      +44     
  Branches      17184    17194      +10     
============================================
+ Hits          12121    12176      +55     
+ Misses       100936   100907      -29     
- Partials       1210     1228      +18     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@IllianiCBT IllianiCBT changed the title [Rebalance] [Retirement] Rebalanced Bonus Modifiers & Payouts [Overhaul] [Retirement] Retirement Rebalance and Enhancement Project Mar 27, 2024
@IllianiCBT IllianiCBT changed the title [Overhaul] [Retirement] Retirement Rebalance and Enhancement Project [Overhaul] Retirement Rebalance and Enhancement Project Mar 27, 2024
@IllianiCBT IllianiCBT added (RFE) Enhancement Requests for Enhancement, new features or implementations AtB Personnel Personnel-related Issues Unofficial Anything that is not an official BT rule, outside of AtB UX User experience and removed Unofficial Anything that is not an official BT rule, outside of AtB labels Mar 28, 2024
@IllianiCBT IllianiCBT changed the title [Overhaul] Retirement Rebalance and Enhancement Project Retirement Improvements (Wave Two) Mar 28, 2024
@IllianiCBT IllianiCBT removed the UX User experience label Mar 28, 2024
@IllianiCBT IllianiCBT closed this Mar 28, 2024
@IllianiCBT IllianiCBT deleted the Retirement_BalanceChanges branch March 28, 2024 07:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
AtB Personnel Personnel-related Issues (RFE) Enhancement Requests for Enhancement, new features or implementations
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant