branchrust_reboot/main/naval_update/naval_missionscancel
146 Commits over 153 Days - 0.04cph!
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.
Rename new missions to have helpful prefixes
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)
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
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
- 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
- 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
- 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
- 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
Make floating city delivery mission non repeatable
Change phrase drawer colour to be transparent so it's more readable in certain circumstances
- Add deep sea island treasure hunt mission, given from Vagabond in outpost
- Setup metal detector sources for deep sea islands, only setup for tropical1 for now. Metal detector sources in the deep sea have their own loot list
- Add IsValidSource to IMetalDetectable. Useful for defining spawned sources which can only be detected by players under certain circumstsances
- Add 'soft completed' flag to objective statuses as an additional way of handling objective progress
- Add ability to hide objective progress in mission objectives todo HUD
Codegen, rebuild phrases, update manifest
Run FishingVillageB S2P
- Add support for incremental bonus rewards, to dispense a reward depending on how close we got to the objective target. Setup for underwater labs bonus objective
- Add option for distance threshold for kills from team members on KillEntity objective types. Enabled this and set to 50m for the scientist boat hunt mission objective
- Decreased scientist boat hunt target amount to 8 and updated mission phrases to be specific to RHIB
- Increased wood item amount for floating city wood delivery mission
- Add ability to hide mission markers on map and compass per objective. Set this up for underwater labs mission, so compass marker disappears whilst within the vicinity of the lab. Marker stays visible on map to indicate the general mission area
- Modify mission location to belong to each objective rather than a single mission location belonging to the mission instance to enable having more than one marker for a mission active at once (not fully setup yet)
- Add some client equivalent methods on missions for Think and OnObjectiveStart. Did not end up using these but leaving them as could be useful
- Separate out the methods for flagging missions protobuf data as dirty and saving that data. Saved a few instances where we were uneccessarily generating and sending data more than once in a server update cycle
- Made ObjectiveStatus poolable and removed associated allocations
- Fix kill entity mission objectives being incremented twice if kills from team members are enabled
- Fix mission fail timer not using Unix time
- Bump network protocol due to updated protobuf
Commit progress
- Setup bonus objective for underwater labs mission
- Add persistent mission entities to MissionInstance, for tracking entities which exist outside of the mission and are not spawned as part of the mission. Entity info added alongside spawned mission entities in mission protobuf data
- Small improvements for Divemaster and Hunter conversation dialogue
- Fix NRE when opening dialogue graphs which contain speech nodes with several fail conditions
- Small improvement for displaying mission list node
- Add attribute and property drawer for ConversationData to display button to open graph view where a ConversationData asset is displayed in the inspector
- Improved BaseMission editor inspector for objectives
- String optimisation for MissionsHUDToDo
- Conversation panel size no longer appears to quickly change after pressing a response and then waiting for server response