======= 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