13,104 Commits over 2,800 Days - 0.20cph!
Merge from Main->Vehicles
Added support for chassis repair and finished chassis repair UI. Added chassis item instance and container so we can see the chassis health, repair it etc using the standard item UI.
Some additional module health bug fixes.
Rename VehcleModuleManagerInventory to ModularVehicleInventory
The unused loot container that the garage needs (for when there's no vehicle on the lift) caused some confusion for the Item loot move method. Protocol++ to add a lootMoveAllowed bool to PlayerLoot, synced server->client. Defaults to true.
Move vehicle loot into the right container
Code review: Improve the fuel system. All fuel tanks now use a standard interaction distance limit, and have position checks on.
Code review: Convert [SerializeField] in ItemModVehicleModule to Rust style
Code review: Fix rowboat inited vs. IsSpawned.
Code review: Duplicate code into GetDriver and IsDriver rather than reusing GetDrivers, so that they're not using a list.
Code review: Pass a Facepunch.Pool list to GetDrivers instead of using a permanent cached list.
Fixed broken engine sound
Code review: Correct skid sound create/destroy
Merge from Main -> Vehicles
Fixing module add bug breaking random gen vehicles
Remove unneeded OnChildAdded calls
Updated RandomModular gen to remove outdated modules
Code review: Use Facepunch.Pool for lists
Another manifest rebuild, and prefab GUID fix
Updated fuel tank collider to match its new model location
More efficient get for firstSocketIndex on the server+ prefab fix
Remove unused methods for module destruction
Merge from Main -> Vehicles
Visual group enum for Thai
Put VehicleModuleManagerInventory in the modular namespace
Fixed double-added-entity bug. Reduced redundant data about modules and items. Removed ModuleItemInfo class and dictionary.
Finished system for multi-socket module UI
Removed machine gun module + manifest rebuild
Initial system to show the reserved slots in the vehicle garage UI (subsequent item slots used by multi-socket modules). Needs more work.
▄▍▌▅▄▋ ▍▍▋ ▋▇█▋▍▄▍ ▊▊▋█ ▅▋ ▅▄▌'▌ ▉█ ▅▇▊▋▌▍▍▄▄ - ▆▌▉▍ █▊▇▄█▋▇ ▋▍▊▍▋, ▊▅▆ ▋▋▆▅ ▅▉▋▇▄▉▉+▌▍▄▌█▋
Chassis/module item icon settings: Mipmaps on. Generated new chassis icons. Leaving module icons for now until we have final models.
Allowing shifting multi-socket items over one, when they overlap with themselves
Fixed dual-socket module conditional UI double-ups
New system for checking module socket validity, without the need for dummy slot-filler items
Remove "dummy slot items" for multi-slot vehicle modules.
Another AdjacentCondition boolean edit for Thai
Update SameInFront/SameBehind behaviour for Thai
Vehicle modules now support conditionals based on whether the adjacent modules are of the same type.
Rewrote the vehicle module conditional system to work with general GameObjects instead of just Renderers, so we can show/hide anything (colliders, lights, etc)
Code review: Removed VehicleModuleManager and folded it entirely into BaseModuleVehicle.
Converted BaseNetworkable child events to virtual methods.
Campfire fire and smoke FX now always go straight up, even when placed on slopes