2,828 Commits over 2,041 Days - 0.06cph!
Add mission objective type for crafting specific item(s)
Add a mission objective script which requires the player to press a button
Update HUD to show failed objectives
Automatically mark missions dirty when completing or failing an objective
Add a mission objective script to deal X damage to a specific mission entity
Fail the objective if the target entity is not found anymore
Add an option to specify if an objective is required, and if it is then failing it will fail the mission
Add a mission event type for damaging/hurting an entity
Add a mission objective to deal X damage to a type of entity
Add a generic TryFindNearby method to MissionObjective to reduce duplication
Add a new mission objective type to mount a specific mission entity
Bring over some of the improvements from the mount objective into the kill objective
Earlier exit ProcessMissionEvent if event type isn't relevant to the objective
Update ExtendedScriptableObjectDrawer to prompt to embed for a few missed paths
Add a new mission objective script to mount a type of entity
Refactor objectives to use uint identifiers instead of strings so tracking them doesn't require allocations
Update AcquireItem and Harvest objectives to use ItemDefinition references instead of copy pasted item short names
Fix mission scriptable object preview rendering wrong in the object picker (can't use EditorGUILayout for it)
Also seems to have fixed the inspector preview not being resizable
Rename the conversation condition type enum members so Unity renders them nicer
Expanded the action string stuff in the dialogue editor so templates can be specified
Allow selecting type 'assign mission' which shows a field for the BaseMission so it generates the correct action string internally
Also made this backwards compatible to not break existing conversations
Allow specifying mission conditions in the dialogue editor using a reference to the mission asset instead of copy pasting its ID in
Keep it backwards compatible to not break existing conversations
Don't call OnObjectiveCompleted if the objective is already complete
Show mission objective progress on the HUD
Recycle mission instances when redoing a mission instead of adding a new one
Fix mission time limit not aligning with whats defined (mismatched Time.time and Time.realtimeSinceStartup)
Refactor missions protobufs so instance data is in a separate ,optional message
Only save mission instance data if the mission is in progress
Fix raycast used to prevent positions from being inside rocks
Add some logic into position generators to reroll if the position is occupied by an entity, and move it up to avoid being inside rocks
Fix possible NRE when a mission (incorrectly) has null identifiers (and filled in identifiers in fisherman tackle)
NRE fix in mission validation
Make entity spawning for missions optionally lazy/deferred
Mission objectives can now list entity identifiers they depend on to make them spawn when started
Fix MissionEntity component not being restored + set up when loading a save
Add validation to check for duplicated position/entity identifiers, and for missing entity identifiers (which are now required)
Add some validation logic into the BaseMission editor to highlight possible issues with the configurations
Lazy evaluation for mission point generators
Fix blocked points not restoring when loading from a save
Allow choosing what a PositionGenerator is relative to (player/provider/other position)
Add a property drawer for PositionGenerator to hide fields which arent relevant for the given settings
Update mission dependencies to specify them with a reference to the BaseMission SO instead of copy pasting its short name
Custom editor for BaseMission to keep things more organized
Preview area of the inspector shows a formatted overview of the mission so you don't need to expand different fields to figure out what it's about
Make MissionObjective SO abstract so the Create button shows a menu for the type of objective to create
Update MissionObjective_KillEntity to use BaseEntityRef instead of manually entered entity ID numbers
Missed change to ResourceRef (should've been with cs78563)
Add a fork of ExtendedScriptableObjectDrawer so we can show/edit referenced ScriptableObjects inline in the editor
Changes allow creating new SO instances embedded into the parent SO instead of as a separate asset
Enabled that on MissionObjectives and WorldPositionGenerator SOs
Add BaseEntityRef which works like GameObjectRef but to refer to BaseEntity specifically
The object picker in the editor will automatically filter to BaseEntity prefabs too
Rename the convar to skip asset warmup because it causes crashes and shouldn't be used
Merge from load_cancel_fix
▆▋▆█ ▄▆▌ ▇▌▋▊▄ █▄ ▄▅▉█ ▍▋▄▉▋ ▄▌▍▇ █▋▇ ▊▊▌▄▅▍▄▆█▅▄ █▋▇█▄ ▋█▍▇▍▍█ ▇▉ ▋▍▅ ▊▅▌▇ ▉▉▄▍▅▇▍▅▅▇▄
Enable fog when RC controlling an autoturret to show their range
Scale up the autoturret's laser dot while RC controlling so it can be used as a crosshair
Refactor a bit so multiple people can connect to RC entities at the same time
Only one player will receive control over RC entities which can be controlled though
Computer station UI will show if you are in 'viewing only' mode when someone else has control
Fix compile errors in different build modes
Remove IRemoteControllable.Occupied
Pass the playerID to IRemoteControllable.StopControl so entities can know who stopped accessing it
Make sure the CCTV resyncs its angles on the client to match the server in case they somehow desync
Client predicted pan/tilt for CCTV cameras from computer station
Calculate and use delta time between server ticks for autoturret lerping (because it uses invokes instead of update)
Add RealTimeSinceEx for similar functionality with extended precision
Remove external viewer flag logic from CCTV (unused)
Only allow changing an autoturret's RC identifier if the other settings can be changed too