13,158 Commits over 2,830 Days - 0.19cph!
Fixed missing deploy sound for combat knife (missing animation event)
Moved the coupling FX from the gauges to the monitor
Placeholder dashboard coupling effect for locomotive
Removed the 15% bonus to wagon spawns as my new spawn fix fixes the root cause
Merge in my spawn fix + other content from Main
Fixed GetRandomPrefab() decrementing numToSpawn and sumToSpawn every time it returned a result, eventually resulting in zeroes that meant no more prefabs could be spawned no matter how many attempts were made. Fixes things like junkpiles spawning vastly less often than they're intended to.
If an attempted spawn by the spawn handler fails (e.g. due to something being in the way), don't count that as a filled spawn - let it try again unless numToTry is exhausted as well
Merge the train kill invoke delay to Aux
Merge the train kill invoke delay
If destroying a train car during spawn, wait one frame. Prevents NRE when the spawn also involves a network group switch.
Better and simpler available space checking for train spawns. Fixed valid population spawn positions being later rejected.
Detect and disallow parenting loops where the child is the parent (was already detected later in the chain with an error, but this lets TriggerParent early exit from the attempt)
Updated MinDistApart calculation to work with train cars of varying length (needed for the long locomotive)
Adjusted collision damage taken and derail collision force limits on all rail cars
Locomotive fan visuals fix
Locomotive visuals server compile fix
More early exits for when trains are destroyed during update ticks, and more checks for disposed CompleteTrains (since we free the train car list when disposing, we can't reference it afterwards). Fixes the root cause of the NREs that were fixed in
71430.
Fixed a couple of CompleteTrain NREs
WIP better train collision damage balancing
Save a train's previous velocity and use that for collision calculations. Fixes only one train car involved in a collision taking damage sometimes
Added support for building phrases to detect and add arrays of translation strings. Removed the hack that made the ManuTip array work, since support is now built-in. Fixes some spray can phrases now being translatable.
Fix attempt for SprayCanSpray_Freehand NRE
Fixed spray can pie menu sound playing even when players don't have the store item that enables it, and fixed all pie menus playing their cancel sound together with their open sound when first opened (introduced in 3572 - despite millions of pie menu activations, this went unnoticed for 7½ years!).
Set up locomotive rotating fans
Set up the locomotive gauges to show real info. Replaced M.P.M decal with km/h
Since vehicle dismounts work on which is closest rather than which is first, removed locomotive dismount points that are closer than the one by the exit door
Fixed some of the locomotive dismount spots being in invalid positions
Fixed players being able to jump out of the locomotive trigger when on top
Added a box collider to augment the mesh collider on the main locomotive body. Sometimes the mesh collider on its own confuses satchel charges etc
Set up gibs on the locomotive
- Trains now ignore collision with the train track (the locomotive unavoidably collides with the track on anything but the smoothest terrain).
- Adjusted some locomotive colliders.
Increased `fixcars` distance from 5m to 10m (helps with fixing large vehicles like locomotive)
Locomotive placeholder FX
Locomotive placeholder damage FX set up
Locomotive cockpit and engine audio positions
Moved all train brake sparks (locomotive and workcart) onto the pivoting bogies, so they move correctly to line up on corners
Set up brake sparks for the locomotive
Reverted GetItem to the older version without GetCachedItem. GetCachedItem is now only used in DelayedModsChanged.
Null check to prevent BaseLiquidVessel NRE
Increased wagon spawn ratio multiplier
Set up locomotive spawning, updated how existing engines spawn so that all train engines share a spawner now. Relative weights are controlled with PrefabParameters scripts
Updated locomotive LOD Group to include the updated couplers/bogies