135,038 Commits over 4,293 Days - 1.31cph!
Tests: OcclusionGroupTests - Visibility tests now update network groups and update subscriptions
This validates that subscription mechanism works on a basic level
Tests: all 42 unit tests pass
SKS skinnable , still need to set up workshop source
Boat ai will now only drive the boat to 90% of its max speed, this allows players to be able to go slightly faster than them and get away (setup with a convar as well)
Merge from artist_pack_dlc_old/paintball_overalls
Bugfix: OcclusionGroupTests - use AreEquivalent instead of AreEqual when comparing occlusion groups
Old logic and new logic end up with differently ordered occlusion groups - but in real world we don't care about order
Tests: all 42 unit tests pass
merge from fixed artist_pack_dlc_2 branch to newly constructed artist_pack_dlc
merge from fixed ornate frames branch
Fixed Cherry-picked branch
merge from artist_pack_dlc
Bugfix: Eagerly initialize occlusion groups when player spawns
When player's network group switches on spawn, it's treated as a bot, so doesn't create an occlusion group, but it might be awhile till next group switch, so player might have uninitialized occlusion group for a bit.
Tests: unit tests - 42/45 pass
boat_ai_patrol_aggression_fix -> main
Think time 10 seconds -> 5 seconds
boat_ai_patrol_aggression_fix -> main
Fix boat ai getting stuck patrolling oil rig and not actually engaging a player driving up
Optimisation for EnvironmentManager.Check
- No longer converts the physics overlap collider buffer to a list
- Returns true as soon as a valid environment volume collider is found rather than always iterating through all colliders
Bugfix: OcclusionGroupTests - handle dead players in limbo
All TestVisibility* tests pass for old logic
Tests: ran unit tests
Commit progress on mission "can accept" improvements
- Split up work between client and server. Server checks if missions are valid, this result is the same for all players and does not need to be regenerated at the request of each player. Clients use this result + checking themselves if they could accept this mission for things like mission provider map marker visibility.
- Removed "relative to" position generator type "player" as this no longer works for generating positions in a player agnostic way before missions have been accepted. Replaced each case where this was used in mission position generators, all missions should still be functional as before using alternative position types.
- Modify blocked points so that they work properly with positions being generated in advance of missions being accepted.
- Misc minor mission related optimisations.
TLDR: Restoring mission provider map marker functionality whilst also fixing problems of these being misleading due to discrepancies between the client and server for if missions can be accepted.
Fixes for battery hunt mission
Fix new scientists not playing static sound effect on death
Bugfix: OcclusionGroupTests - use RespawnAt to be put in the right position for RespawnFromDead players
This makes 3 unit tests pass
Tests: ran unit tests
Fix new Scientist using wrong headshots sounds
Prevent another "Look rotation viewing vector is zero" error
Fix scientist visual aiming being a bit offset, reduce snapping in aim/legs, has the side effect or currently removing the bend forward when sprinting
Bugfix: PlayerInventory - make GiveDefaultItems safe, report errors instead of NREing
- GameManager.InUnitTest is now available outside of UNITY_EDITOR as always-false const
Tests: more unit tests related to RespawnFromDead pass
added wip LNY26 items, set up skin assets with temporary descriptions and names, based off of existing items, updated manifest and engine.json
Update: OcclusionGroupTests - introduce another player spawn state, RespawnFromDead
- setup default itemList for ItemManager when running unit tests, as it's assumed to always be there
Another assumption that I had proved wrong - when players are spawned, they can stay dead (for example, game mode can prohibit spawning for a time)
Tests: ran unit tests, more borkage
improved 3p paintballgun reload anim
wood box icon updated, prefab updated, added panel title, updated localization
uv fix for bbq
proper rotation for bbq fbx and prefab
wood box game textures & material
Bugfix: OcclusionGroupTests - setup valid world bounds for unit tests
- added netgroup visibility precondition testing, if that fails, then the test setup is wrong
Empty bounds were causing group layers to sometimes become TutorialIsland, which break visibility
Tests: ran unit tests, more pass
removed hand fidgeting from vm paintball gun idle animation
Bugfix: OcclusionGroupTests - correct expectations of visibility
Tests: ran unit tests, more pass, but still mostly borked
Reworked Tropical1 island so that its seabed no longer sits deeper than the other islands.
No longer clips through the base plane, with under-world foliage looking all hacky and bad.
Tests: OcclusionGroupTests - add players that spawn as sleepers or dead
I assumed newly connected players always spawn as sleepers, but that's wrong - could explain an active NRE.
Tests: ran unit tests (most still borked)
Updating paddle anims to loop
Fixing sit shooting poses with incorrect settings
Picture frames - fixed scrap frame materials and updated paintable textures
Switched server to custom build 2022.3.41x1
Final'ish, sans shore fog code fix.
created paintball gun 3p jog and run anims and assigned to holdtype controller