Fixed roadside electrical boxes being misaligned with terrain. Roadside objects are now able to optionally align to the road's normal (while still facing in their assigned direction). I've set it to true for roadside decor (electrical boxes and road signs).
Allow mountables to resize the player's collider when mounted. Set custom sizes for the modular car seats. Get player components in PreInitShared instead of InitShared so we don't need a special case for playerCollider.
Previously I'd observed that wheel colliders were occasionally preventing the modular car rigidbody from sleeping, even with a forced sleep call and having motorTorque and brakeTorque set to zero. To counter that, I was simply disabling them entirely when the rigidbody went to sleep. However, that caused a surprising new bug: If you shot a sleeping car with a rocket, it would correctly wake the rigidbody, but the act of the wheels waking up as well would completely cancel the rocket explosion's force [because Unity], meaning the car didn't move.
I've now determined that it was the steering being non-zero that was preventing sleep [because Unity], so I've removed the disable/enable for wheelcolliders and set steerAngle to zero on sleep as well, which lets sleep work correctly, and explosion forces on sleeping cars now work again.
Fixed modular car repairs with the hammer costing more than repairs on the vehicle lift. Hammer repair cost has been reduced to 20% of the module's original cost (was 50%), which matches the repair bench/vehicle lift standard.
- Fixed car collisions with horses not always registering (at high speeds, RemoveInvalidEntities was removing them before they had a chance to tick).
- Increased car vs. NPC damage by 25%.
- Fixed the player-in-car hurt trigger not doing damage if the car wasn't moving.
Merge Vehicles -> Main. Adds gibs on individual car panels, armoured passenger module, lifts can be placed in tighter areas (including T-shaped floor sections), cars remain still when they should on slopes, + other tweaks and fixes.
Don't damage engine internal items when damage is of the decay type. Removes the need for the player trick of removing engine internals from stationary cars to stop them decaying.
Don't decay modular cars at all if they're on a powered vehicle lift.
Stop the ridable horse's saddle from complaining that it can't switch parent to the ragdoll when the horse dies. It doesn't seem to need to switch, so I'm letting it be destroyed silently with an override - same as existing behaviour, but without the logging. Fixes "SwitchedParent Missed horse.corpse" server log spam.