411 Commits over 214 Days - 0.08cph!
Merge from naval_missions
Codegen
Increase max distance on tutorial mission 8 position generator
- Always check if a player can accept the mission before assigning it
- MissionInstance now saves the provider as type IMissionProvider rather than BaseEntity
- Fixes for registering tutorial pings on SpeakWith objective type
- Don't try to save the dialogue graph if in play mode
Remove garbage allocations from BaseMission.id property
Codegen
- Don't process which missions are available for a player if they have an active mission, or if they are talking to an NPC to complete a mission
- Request a missions update if the deep sea opens/closes whilst our map is open, not only when the deep sea opens
- Other minor fixes
Assign steam item to paintball ammo item definition
Add error log before trying to access a potentially null steam item in UIBlueprints::UpdateBlueprints
Remove impact effect log spam
Commit paintball gun code progress
Requests for what missions are valid on the server are now run on a work queue
- Fix some issues with position generators and exclusive mission points
- Fix issues relating to player state missions data and resetting player state
Merge from artist_pack_dlc_old/paintball_overalls
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
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
Remove ViewmodelCameraAnimationSync component from deploy state on wallpaper viewmodel animator to remove warning about unable to find state
Wallpaper third person animator only plays unroll animation on surface type change, not skin changes
Fix third person wallpaper tool not playing animation when switching surface types
Fix all wallpaper tool models being visible in third person until first surface type or skin change
Wallpaper tool third person animator setup to receive updates to surface type for different deploy animations
Removed unrigged model from wallpaper tool entity, correct third person model for surface type now gets enabled/disabled
Add support for different animator override controllers per surface type on wallpaper tool
Merge from space_station_weapon_skin
Merge from space_station_weapon_skin
Merge from lr300_mag_drop
Merge from space_station_weapon_skin
Merge from naval_missions
Remove repeated allocations from getting missions from the mission manifest
Fix issue causing low ammo indicator to be always on
Merge from remove_client_mission_state_requests
Remove client requests for updating mission states due to concering profiler data
Server still sends updated states when we go to talk to a mission provider, but only for that mission provider rather than all (so player still sees correct dialogue options for selecting missions)
Server still updated states for all mission providers after accepting a mission, but because player will have a mission currently active it will return much earlier in the function that checks if we can accept each mission
Add 5s time cap to client requesting update to mission states
Merge from client_request_mission_states
Merge from space_station_weapon_skin
Fix warning spam on viewmodel
Boost visibility of display back elements
Ammo display llight now works again, and apply fade in to light intensity on deploy
- Add option on 'GoToDeepSea' objective types to fail the mission once the deep sea closes. Enabled for the floating city wood delivery mission
- Also add option to only allow mission to be started if we are x many seconds away from deep sea wipe/closing. Also enabled for this mission
- Mission failure chat message is now translated. Also provided additional context for mission failure by showing the failure reason