gamemanual:gm_penalties
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| gamemanual:gm_penalties [2022/08/23 15:55] – [Variables] admin | gamemanual:gm_penalties [2022/08/23 20:12] (current) – [Variables] admin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ======= Vehicle Penalties ======= | ||
| + | |||
| + | The Game Mechanics section of the manual details the internal formula used in the game's calculations. | ||
| + | |||
| + | 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:// | ||
| + | |||
| + | |||
| + | ===== Variables ===== | ||
| + | |||
| + | |||
| + | ^ Name ^ Description ^ ^ Name ^ Description ^ | ||
| + | | **year** | The current game year | | **Engine_Year** | The year this vehicle' | ||
| + | | **Chassis_Year** | The year this vehicle' | ||
| + | | **CarDesignYear** | The year this vehicle was designed | | **BuyersRating** | This is the vehicle' | ||
| + | | **baseTopSpeed** | This is the base top speed used to calculate the required top speed for specific vehicle types. | | **CarType_Rating_Performance** | This is the vehicle type's performance rating | | ||
| + | | **Car_Top_Speed** | This is the top speed of the vehicle. | | **soldAtBranch** | This is the number of vehicles sold. | | ||
| + | | **Chassis_Sliders_Suspension_Stability** | Chassis slider position for suspension stability | | **Chassis_Sliders_Suspension_Comfort** | Chassis slider position for suspension comfort | | ||
| + | | **Chassis_Sliders_Suspension_Performance** | Chassis slider position for suspension performance | | **Chassis_Sliders_Suspension_Braking** | Chassis slider position for suspension braking | | ||
| + | | **Chassis_Sliders_Suspension_Durability** | Chassis slider position for suspension durability | | **Chassis_Sliders_Technology_Materials** | Chassis slider position for materials technologies | | ||
| + | | **Chassis_Sliders_Technology_Tech** | Chassis slider position for technology | | **Engine_Sliders_FuelEco** | Engine slider position for fuel economy | | ||
| + | | **Engine_Sliders_Materials** | Engine slider position for materials | | **Engine_Sliders_Technology** | Engine slider position for technologies | | ||
| + | | **Engine_Sliders_Components** | Engine slider position for components quality | | **Gearbox_Sliders_Technology_Material** | Gearbox material technology slider | | ||
| + | | **Gearbox_Sliders_Technology_Parts** | Gearbox parts technology slider | | **Gearbox_Sliders_Technology_Techniques** | Gearbox techniques slider | | ||
| + | | **Gearbox_Sliders_Technology_Tech** | Gearbox technologies slider | | **Car_Sliders_InteriorStyle** | Vehicle interior style slider | | ||
| + | | **Car_Sliders_InteriorLuxury** | Vehicle interior luxury slider | | **Car_Sliders_InteriorComfort** | Vehicle interior comfort slider | | ||
| + | | **Car_Sliders_InteriorTech** | Vehicle interior technologies slider | | **Car_Sliders_Material_Material_Quality** | Vehicle material quality slider | | ||
| + | | **Car_Sliders_Material_Material_InteriorQuality** | Vehicle interior quality slider | | **Car_Sliders_Material_Manufacturing_Tech** | Vehicle manufacturing technique slider | | ||
| + | | **SellPrice** | The sales price of the vehicle | | **UnitCosts** | The material cost of the vehicle | | ||
| + | | **CarType_WealthIndex** | The vehicle type's wealth index value found under [[gamemanual: | ||
| + | |||
| + | ===== Age Penalty ===== | ||
| + | |||
| + | <code cpp> | ||
| + | collectiveAge = 0; | ||
| + | |||
| + | if(((year) - Engine_Year) > 12) | ||
| + | { | ||
| + | collectiveAge = collectiveAge + (year - (Engine_Year+12)) * 0.05; | ||
| + | |||
| + | if((year - Engine_Year) > 15) | ||
| + | collectiveAge = collectiveAge + (year - (Engine_Year+15)) * 0.25; | ||
| + | |||
| + | } | ||
| + | |||
| + | if(((year) - Chassis_Year) > 12) | ||
| + | { | ||
| + | collectiveAge = collectiveAge + (year - (Chassis_Year+12)) * 0.05; | ||
| + | |||
| + | if((year - Chassis_Year) > 15) | ||
| + | collectiveAge = collectiveAge + (year - (Chassis_Year+15)) * 0.25; | ||
| + | } | ||
| + | |||
| + | if((year - Gearbox_Year) > 12) | ||
| + | { | ||
| + | collectiveAge = collectiveAge + (year - (Gearbox_Year+12)) * 0.05; | ||
| + | |||
| + | if((year - Gearbox_Year) > 15) | ||
| + | collectiveAge = collectiveAge + (year - (Gearbox_Year+15)) * 0.25; | ||
| + | |||
| + | } | ||
| + | |||
| + | if((year - CarDesignYear) + 4 > 9) | ||
| + | collectiveAge = collectiveAge + (((year - CarDesignYear) + 4)/ | ||
| + | else | ||
| + | collectiveAge = collectiveAge + 0.8; | ||
| + | |||
| + | if(collectiveAge > 1) | ||
| + | collectiveAge = collectiveAge^1.2; | ||
| + | |||
| + | if( collectiveAge^1.2 != 0) | ||
| + | BuyersRating = BuyersRating / collectiveAge^1.2; | ||
| + | |||
| + | </ | ||
| + | ===== Top Speed Penalty ===== | ||
| + | |||
| + | <code cpp> | ||
| + | baseTopSpeed = 10; | ||
| + | |||
| + | if(year < 2020) | ||
| + | { | ||
| + | baseTopSpeed = baseTopSpeed + 1.05 * (year-1899); | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | baseTopSpeed = baseTopSpeed + 127.5; | ||
| + | } | ||
| + | |||
| + | adjustedTopSpeed = (baseTopSpeed + (baseTopSpeed*(CarType_Rating_Performance-0.3))); | ||
| + | |||
| + | if(adjustedTopSpeed <= 0) | ||
| + | adjustedTopSpeed = 1; | ||
| + | |||
| + | |||
| + | if(Car_Top_Speed < adjustedTopSpeed) | ||
| + | { | ||
| + | topSpeedMod = Car_Top_Speed / adjustedTopSpeed; | ||
| + | } | ||
| + | else | ||
| + | { | ||
| + | topSpeedMod = 1; | ||
| + | } | ||
| + | |||
| + | soldAtBranch = soldAtBranch * topSpeedMod; | ||
| + | |||
| + | </ | ||
| + | ===== Low Slider Penalty ===== | ||
| + | |||
| + | <code cpp> | ||
| + | |||
| + | lowSlidersPenality = 1.0; | ||
| + | |||
| + | |||
| + | |||
| + | if( (Chassis_Sliders_Suspension_Stability + Chassis_Sliders_Suspension_Comfort + | ||
| + | Chassis_Sliders_Suspension_Performance + Chassis_Sliders_Suspension_Braking) < 1.0) | ||
| + | { | ||
| + | lowSlidersPenality = lowSlidersPenality - 0.07; | ||
| + | } | ||
| + | |||
| + | | ||
| + | if((Chassis_Sliders_Suspension_Durability + Chassis_Sliders_Technology_Materials + | ||
| + | Chassis_Sliders_Technology_Tech) < 0.35) | ||
| + | { | ||
| + | lowSlidersPenality = lowSlidersPenality - 0.05; | ||
| + | } | ||
| + | |||
| + | |||
| + | if( (Engine_Sliders_FuelEco + Engine_Sliders_Materials + | ||
| + | Engine_Sliders_Technology + Engine_Sliders_Compoenents) < 0.45) | ||
| + | { | ||
| + | lowSlidersPenality = lowSlidersPenality - 0.06; | ||
| + | } | ||
| + | |||
| + | |||
| + | if( (Gearbox_Sliders_Technology_Material + Gearbox_Sliders_Technology_Parts + | ||
| + | Gearbox_Sliders_Technology_Tech + Gearbox_Sliders_Technology_Techniques) < 0.45) | ||
| + | { | ||
| + | lowSlidersPenality = lowSlidersPenality - 0.08; | ||
| + | } | ||
| + | |||
| + | |||
| + | if( (Car_Sliders_InteriorStyle + Car_Sliders_InteriorLuxury + | ||
| + | Car_Sliders_InteriorComfort + Car_Sliders_InteriorTech) < 0.45) | ||
| + | { | ||
| + | lowSlidersPenality = lowSlidersPenality - 0.08; | ||
| + | } | ||
| + | |||
| + | |||
| + | if( (Car_Sliders_Material_Material_Quality + | ||
| + | Car_Sliders_Material_Material_InteriorQuality + | ||
| + | Car_Sliders_Material_Manufacturing_Tech) < 0.36) | ||
| + | { | ||
| + | lowSlidersPenality = lowSlidersPenality - 0.08; | ||
| + | } | ||
| + | |||
| + | |||
| + | BuyersRating = BuyersRating * lowSlidersPenality ; | ||
| + | |||
| + | </ | ||
| + | ===== Price Gouging Penalty ===== | ||
| + | |||
| + | |||
| + | <code cpp> | ||
| + | if(SellPrice > UnitCosts * (3.5 + CarType_WealthIndex / 5.0)) | ||
| + | { | ||
| + | overPriced = 1.0 - (SellPrice/ | ||
| + | (3.5 + CarType_WealthIndex / 5.0))/2.0); | ||
| + | |||
| + | if(overPriced < 0) | ||
| + | overPriced = 0; | ||
| + | } | ||
| + | |||
| + | soldAtBranch = soldAtBranch * overPriced; | ||
| + | </ | ||