======= Pensions and Benefits Game Mechanics =======
The Game Mechanics section of the manual details the internal formula used in the game's calculations. This section of the manual uses pseudo-code and may not be 100% the same as the code in the game.
The Game Mechanics part of the manual is mainly designed to be a reference for the frequently asked question, "Why do I get this rating when I do X, Y, Z?!" Usually, this answer involves many different variables, which this section of the manual demonstrates.
**The game mechanics section of the manual shows [[https://idioms.thefreedictionary.com/seeing+how+the+sausage+gets+made|how the sausage gets made]]. So you really may want to avoid this portion of the manual if you enjoy the game.**
====== Variables ======
^ Name ^ Description ^ ^ Name ^ Description ^
| **AllDepartmentLiabilities** | Pension Liabilities for all years. Department is the employee type, factory, branch, marketing, etc. | | **YearDepartmentLiabilities** | Pension Liabilities last year. Department is the employee type, factory, branch, marketing, etc. |
| **DepartmentEmps** | The number of employees in this department. Department is the employee type, factory, branch, marketing, etc. | | **DepartmentWages** | Average wages for the department. Department is the employee type, factory, branch, marketing, etc. |
| **Department_Pension_Payout_Rate** | Percentage of base salary paid as pension payments for this department. Department is the employee type, factory, branch, marketing, etc. | | **collectedFees** | This is the total pension fees collected from employees in all departments. Department is the employee type, factory, branch, marketing, etc. |
| **TotalDepartmentWages** | This is all labor costs for the department for the month. Department is the employee type, factory, branch, marketing, etc. | | **DepartmentPensionFee** | This is the percentage of wages employees must pay into the pension funds to get their pension. Department is the employee type, factory, branch, marketing, etc. |
====== Pension Liability Growth ======
if( First Month Of The Year )
{
//Cost of Living Adjustments
AllFactoryLiabilities = AllFactoryLiabilities * 1.025
AllBranchLiabilities = AllBranchLiabilities * 1.03
AllEngineeringLiabilities = AllEngineeringLiabilities * 1.04
AllMarketingLiabilities = AllMarketingLiabilities * 1.035
AllAdminLiabilities = AllAdminLiabilities * 1.04
//New Liabilities
FactoryEmps = Average Monthly Factory Employees For The Year
BranchEmps = Average Monthly Branch Employees For The Year
EngineeringEmps = Average Monthly Engineering Employees For The Year
MarketingEmps = Average Monthly Marketing Employees For The Year
AdminEmps = Average Monthly Administrative Employees For The Year
FactoryWages = Average Monthly Factory Wages For The Year
BranchWages = Average Monthly Branch Wages For The Year
EngineeringWages = Average Monthly Engineering Wages For The Year
MarketingWages = Average Monthly Marketing Wages For The Year
AdministrativeWages = Average Monthly Administrative Wages For The Year
YearFactoryLiabilities = FactoryLiabilities + (FactoryEmps * FactoryWages * Factory_Pension_Payout_Rate)
YearBranchLiabilities = BranchLiabilities + (BranchEmps * BranchWages * Branch_Pension_Payout_Rate)
YearEngineeringLiabilities = EngineeringLiabilities + (EngineeringEmps * EngineeringWages *Engineering_Pension_Payout_Rate)
YearMarketingLiabilities = MarketingLiabilities + (MarketingEmps * MarketingWages * Marketing_Pension_Payout_Rate)
YearAdministrativeLiabilities = AdministrativeLiabilities + (AdminEmps * AdministrativeWages * Admin_Pension_Payout_Rate)
}
====== Monthly Pension Funds Calculation ======
collectedFees = collectedFees + TotalFactoryWages * FactoryPensionFee +
TotalBranchWages * BranchPensionFee + TotalEngineeringWages * EngineeringPensionFee +
TotalMarketingWages * MarketingPensionFee + TotalAdminWages * AdminPensionFee