Vehicle Health and Maintenance
- All vehicles has
vehicle conditionthat has a range from0%to100%. Every brand new vehicle starts at100%. - new vehicle starts at
100. - As you use them, their health declines with steady rate.
- You are required to maintain the car at Car Mechanic or Car Dealership after every
2500 kmamount of kilometres. - Every car will have a total lifetime distance of 20,000 km.
- You can drive a car without maintaining it, but its health declines quicker (can make its rate increase the more appointments you miss).
- After vehicle health hits
0.0%:- Car breaks down and gets sent off to scrapyard (removed from player).
Scrapped these:
- Certain factors cause the vehicle health to decline further:
- Hit metal or concrete objects.
- Hit other players.
Vehicle Condition System - Full Summary
Condition Range
- Stored as
condition_value(int):0=100%(brand new),100,000=0%(destroyed). - Display formula:
100 - (condition_value / 1000.0)→ shows aspercentagepercentage.
Degradation Rate
- Base rate:
100,000 pointsover25,000 km→1 pointper250 meters. - Service interval: every
2,500 km. - Each properly-maintained
2,500 kmcosts~10,000 points(10%condition). - Missed services increase the degradation rate (each missed appointment stacks further).
Servicing
- Location:
Car Mechaniconly. - Cost:
€5,000flat fee - Restores:
2.5%condition (2,500points off condition_value) - Resets: missed appointment counter back to
0. - Records new
last_service_distanceon thevehiclevehicle.
Car Breakdown (0% condition)
Player is force-spectatedspectated.- Server-wide announcement in
chatchat. - Vehicle removed from player (registration deleted or scrapped)
. - DB record: still
TBD—- keep or delete?
New DB Columns Needed on VehicleRegistration.
Column | Data Type | Purpose |
condition_value | int | Already added, needs migration |
missed_services | int | Tracks skipped |
last_service_distance | double | Odometer at last service |
---
Still Open
- DB record on scrap: hard delete or keep with a scrapped flag?
- Warning at low condition (e.g. 10%)? Not discussed yet