5,117 Commits over 823 Days - 0.26cph!
boatai_targeting_bugs -> main
Fix various Boat AI Targeting bugs including:
- Boats not properly capturing targets whilst on boats/other things
- Boats not properly releasing targets whilst sleeping/no players nearby
- Boats not engaging with targets in certain circumstances
- Not releasing a target if that target went to the deepsea whilst being targetting in the main world
autoturret_improvements -> main
autoturret_improvements -> main
Fixed turrets idle tick freezing turrets vec aim dir to be (0,1,0) until the first target or player appeared nearby
Run AutoTurret tests at 10k units out of origin so the new idle tick will break in testing.
main -> autoturret_improvements
turret_ai_dotproduct_fix -> main
Fixed ai turrets (on pt boats) firing off into the distance when an actual target is nearby
boatai_singlegroup_attacks -> main
When looking for scientist boat targets: only target a player if they aren't targetted by another group
This stops players travelling through the middle of the deepsea and grabbing every boat ai group at once
ptboat_mountedturret_improvements
- Fixed dryfire sound not working
- Fixed IsReloading flag being set to false too quickly
- Fixed ammo phrase compile bug
Reimplement
138911 (turret dryfire)
boatai_leftover_logs_2 -> main
Move development build logs into a convar instead (to give us more control of when we want to print)
Codegen
ballista_mounting_fix -> main
Fixed mounted ballistas flipping the player view when mounting.
This was caused by a change on cannons (to support parented cannons on boats).
Now only apply the parenting logic to cannons and not the regular Ballista entity.
autoturret_improvements -> main (passed unit tests)
Since we are no longer forcing aim direction packets constantly we need to save/load the aim direction as you would expect.
Setup new overloads to BaseNetworkable GetConnections methods - this allows us to pass in the existing group of an object and avoid doing an expensive GetGroup() calculation.
AutoTurret's will now only run idle tick provided they have a connections nearby. This means auto turrets with no one around wont do their rotations left and right
Move auto turret idle calculations back to the server:
This was required since target acquisition uses the current angle of the turet and this will need to be synced between the client + server.
Having the client do it would result in mismatches.
travelling_vendor_spawn_prechecks -> main
Don't try to spawn a Travelling Vendor if the map isn't big enough to start with
sign_painting_ui_escape -> main
Pressing escape will now save and close the sign painting dialogue (it only saved before)
autoturret_improvements -> main
Fixed offline tick (turret pointing up) being overriden on the client by the idle tick
Ensure loaded turrets respect their client orientation properly
main -> autoturret_improvements
- Fixed turret not starting with Vector3.up when offline - still needs a little tweak
- Constantly face to correct target
- If not being controlled turn off client idle tick
Ensure a turned off turret won't try to predict movement on the clientside
Run rotate at 10hz rather than 20hz.
Run send aim direction at 10hz rather than 20hz.
Run look for targets at 5hz rather than 10hz.
main -> autoturret_improvements
Revert
140177 - needs more investigation
boat_ai_boxing_fix -> main
BoatAIInstruction uses nullables to get around the 1 allocation per queue add (thanks Daniel!)
main -> boat_ai_boxing_fix
notification_custom_link_support -> main
Allow external/internal arguments to be passed
Can now create notifications with custom links
syncvar_autosave_trimming -> main
Don't generate autosave/autoload boilerplate code if an entity has no autosave syncvars
Wasn't an issue before but we are getting more and more syncvars so its worth it now
auto_populate_entitylist -> main
auto_populate_entitylist -> main
Can now specify a label at the top of an EntityListScriptableObject - this will look up and auto add all BaseEntities with the specified label.
For example: an AllDoors EntityList with 'Doors' label will be full auto populated with all doors in the project when the manifest is updated or 'Tools/Update/Entity Lists' is ran
Just keeping this to doors just now for testing
quick_craft_improvements -> main