- Use plane collision instead of world for water bubble FX.
- Removed manual culling for bubbles, instead keeping a plane at the water's surface for collision culling instead.
- Instead of needing world collision to cull the bubbles inside the sub when in the sub is moving reverse, just don't show bubbles FX at all for players who are mounted to the sub.
Tidying up push code.
- Added a standard push procedure to BaseVehicle (previously the method was blank), unifying a base push that can be overridden if desired for different vehicle types, but kept if a "standard" push is okay. Handles pushing in any direction and flipping over. Currently used for modular cars and submarines.
- MiniCopter, Kayak, and MotorRowboat keep their custom pushes.
- Moved the rigidbody wake and metabolism subtraction on push to BaseVehicle, since it's the same for all pushes, even the custom ones. Boat and kayak pushes subtracted two calories instead of 3 like the others. Rather than add yet another parameter, standardised them all to 3.
- Moved push validity checks in MotorRowboat and Kayak out of DoPushAction and into CanPushNow.
Parent trigger for the solo sub. Note: I wanted parent triggers on the two side fins also, but they shove the player underwater if they approach from the side (making it impossible to get up on them), so I've left them off.