All Rust commits from Facepunch
- Don't process 'kill entity' mission events if the kill came from a suicide - When processing kill entity mission events replace the checks for InATeam() (which was checking current team ID value) with a check that the current team is not null - Add a guard and warning log to InATeam() in case current team ID is valid but Team is null. After removing my usages there is nothing else presently using this function
- Improve objective resetting for acquire item objectives for scientist safe zone spawn unlock and oil rig raid missions - Also fixed objective map and compass markers for those missions not working as they should - Fix being able to focus on invisible objective map markers
Tropical1 terrain colliders are now on the terrain layer
Objectives that take you into the deep sea are now no longer valid if the deep sea is closed, preventing you from starting these missions until the deep sea opens again. Deep sea islands objective map marker is now invisible, it wasn't meant to be pointing you to a specific island anyway.
Merge from naval_update
- Fix tutorial conversations and mission progression - Fix mission discrepancy warning log which would appear during tutorial - Fix potential out of bounds exception when accessing mission rewards
Small improvements to air wolf vendor conversation and some more english dialogue string fixes
Merge from naval_update
NPC's can now have dialogue when you go to talk to them to complete missions. Set this up for all the new naval missions. Conversations now exit upon pressing the button to complete a mission.
Remove test script
Rename new missions to have helpful prefixes
Merge from naval_update
Fix some dialogue options going to the wrong resulting node upon being pressed (bug introduced in 137685 with fix for dialogue options showing the wrong response number)
- Boat vendor on floating cities no longer sells submarines - Misc improvements to boat vendor dialogue tree - English string localization fixes for various bits of NPC dialogue
Hide 'Condition Amount' field in blackboard in conversation editor for some condition types for which this is not relevant
Remove accidentally comitted test script
Make deepSeaFogImages non serialized in BasePlayer (was only a serialized field on the client)
Merge from naval_update
Fix boat scientist hunt mission completing if you talked to the mission provider before killing enough scientists
Underwater labs mission now checks that there are enough boomboxes in a lab for a lab to be valid. Remove hacky position generators for deep sea, these were not actually generating any positions and just acting as validators that deep sea stuff exists. Better way of checking this now.
Fixes and optimisations for can accept mission checks
Removed mission position generator validation method, now just uses the position generation method (both methods were doing very similar things) and stores these generated points for if we eventually accept this mission. Check if objectives are valid before proceeding. Objectives can now use those generated points to check if a mission is valid before the mission has started.
Remove using from MapMarkerMissionProvider
Post merge fixes
Merge from naval_update
Mission map objective markers now work with the deep sea exit marker for objectives that lead you out of the deep sea
Client now requests update to what available missions they have when: - Accepting a new mission - Opening the map - Toggling visibility of mission provider markers in map - Deep sea opens whilst map is open Requests are RPC rate limited
Post merge fixes
Merge from naval_update
Fix compile error
- Add teleport2nearest console command to teleport to nearest target entity. Can pass in optional arg to teleport to nth closest entity - Add optional arg to completeMissionStage to block objective resetting
- Move conversation response and can accept mission checks to be run entirely on the server. This fixes issues with players potentially seeing invalid dialogue choices - Fix another instance of the wrong list being reset to the pool in NPCMissionProvider - Fix invalid mission instances potentially not being handled when generating mission protobuf - Fix dialogue options showing the wrong option number - Replace various Lists with BufferLists - Cleanup some english strings for existing NPC dialogue
Fix collection modified exception in MissionEnded
Fix issue with potential null boomboxes on underwater labs mission start
- Setup objective resetting for go to underwater lab objective - Removed serialized mission icon definitions from mission assets, instead paired these with an enum value in new MissionIconsConfig scriptable object. Objectives have a virtual method to define which icon type should be used per objective. SpeakWith type objectives now use the talk with mission provider speech bubble icon, other objective types use the generic mission icon - Setup being able to have multiple active objective markers on the map and compass at once - Fix issue with check for prerequisite objectives
Fix client compile error
Merge from naval_update
- NPC dialogue panel no longer appears clickable when clicking does nothing - Improvements for resetting some objective types, setup for the deep sea islands and floating city missions. Affected objectives will no longer appear as complete if you no longer meet their complete criteria - Add 'blockReset' to objective statuses. Used to block objectives from resetting themselves if they are auto completed by another objective - Moved mission point for floating city to be the a zeroed child transform of Casino Barge - Map markers now get updated immediately upon opening and closing map - Fix SpeakWith objective types showing pings outside of the tutorial - SpeakWithTargetNPC now properly updates the objective location - Objective ShouldShowOnMap now also checks if prerequisite objectives are met - Objectives now check if prerequisite objectives are met before marking themselves as started - Fix missions list in map sometimes not showing active missions - Fix rotation of map mission marker for the deep sea entrance portal - Cache update map markers delegate
Merge from naval_update
- Fix deep sea map marker jitter - Clicking a mission in map view now centers on the deep sea marker if next objective is in the deep sea
Run S2P on a bunch of scenes due to updated NPC prefabs
Deep sea prefab variants missing from manifest entity list
Post merge fixes
Merge from naval_update
- Setup metal detector source spawn points for rest of the deep sea islands - Remove NPC name from ConversationData and added to NPCTalking, prevents some NPC's from having names defined in different places - Made placeholder floating city mission provider look not placeholder - Improved how we retrieve conversation data node names
- Fix issue where loaded mission data could retrieve an invalid active mission index - Improvements for how map and compass mission markers handle deep sea locations - Various bits of cleanup to places retrieving the active mission instance from a player
Post merge regen things
Merge from naval_update
Make floating city delivery mission non repeatable
Change phrase drawer colour to be transparent so it's more readable in certain circumstances