12,510 Commits over 2,588 Days - 0.20cph!
Added new ViewmodelClothingRandomiser component
Allows us to mirror the randomisation applied to a Wearable to it's viewmodel in case that randomisation affects the arms
Component has a groups array like the Random section of the Wearable, when used the group count needs to match (as we'll just copy over which "group" was activated)
Merge from heavy_helmet_audio
In game player voices are now also muffled by heavy plate helmet
Increased volume reduction (was 2400, now 1800)
Add new HideLods and ShowLods animation events, same as Show/Hide but will iterate over lods 0-4 of the object provided
eg. Called with w_ar_glass_mag_full_LOD0, this will also show/hide LOD0,1,2,3 if they exist
All showing/hiding events now uses a lazily loaded cached renderer list so we pay slightly more the first time an animation event is fired but subsequent calls are faster and allocation free (was allocating 40b each animation event)
Updated glass ak reload to use new events
Merge from deepsea_terrain_everywhere
Swap the ocean colour as well
Merge from statesync_event_fix
Proper fix for events double firing when using the StateSync component
When scrubbing an animation from normalized time 1 -> 0 Unity plays all events in reverse order :(
We now suppress animatione vents for a frame any time we scrub the state backwards
Removed the previous fix for this issue in DoEffect as now we've solved the root cause of the issue
Merge from main (will need codegen)
If a code lock has 2 or less authed users skip that lock when calculating the door tax
Configurable by decay.upkeep_lock_min_users convar
Attempting to exempt player run hotels from being overly taxed, may need to re-evaluate if abused
Merge from hlod_improvements_aug_26
More than doubled the speed of the MeshTrimmer stage of HLOD generation
Only readback the texture once, not per ray
Neighbouring tris now start with the successful ray of the previous triangle as that's likely to be valid
Do the dot product check before the ray, halves the number of rays
Removed a bunch of allocations (it's editor code, but still useful)
Full S2p with HLODs:
Launch Site 9:33 -> 2:18
Water Treatment -> 2:23 -> 0:51
S2P Launch site
Fixed previous HLODBounds BiomeVIsual changes accidentally including LOD components in a HLOD mesh that were outside of the range of the bounds
Only really an issue at launch site as it's the only monument where we run 2 HLODs, all other monuments use 1
Added decay to monument blockers
Has an initial grace period where no decay will occur (DecayGracePeriodMinutes on prefab, default 12 hours), after that will apply DecayPerMinuteTick (1) damage per minute
Added debug.addmonumentblockergrace to process artificial time to the grace period for testing and debug.printmonumentblocker to print the current blocker results
Time is saved through server restarts and scaled by timescale but will not take into account time spent offline
Also fixed a sneaky bug that restored blocker health to full on every server restart
Merge from deepsea_terrain_everywhere
Fix foliage not loading when DeepSea.terrain_everywhere is enabled
Merge from marketplace_power
AI select/move commands now work on multiple animals
Added ai.selectinrange convar
Added ai.deselectnpc convar
When ordering multiple NPC's to a location they all receive an offset so they don't all pathfind to the exact same spot
Merge from npc_vending_optim
Remove gibbable component from all NPCVendingMachines, also optimised some renderers into MeshLOD
Merge from rendererlod_collapse_improvements
Revert ziggurat pipe LOD change, S2P
Merge from PlayerRigUpdate2
Fixed WireTool not overriding 3p_stance-idle_relax_running
Merge from AugustQuickfire_Buffs1
Merge from AugustQuickfire_2Pie2Furious
Merge from white_firework_boomer
Merge from new_navmesh_fixes (discarded testlist changes, will regenerate once merges are done)
Merge from reduce_nade_stack_size
Merge from homing_launcher_tweaks
Merge from semi_pistol_tweaks
Merge from launchsite_walkway
Merge from new_achievements_sep26 (clan achievements)
Score achievement is now awarded when earning any score, not at a threshold
Merge from tc_auth_group_tests