Commit Graph
35 Commits
Author SHA1 Message Date
metalgearslothandMetal Gear Sloth 72e50cce94 AI pickup changes (#1811)
* AI pickup changes

Eating and drinking isn't spammed anymore.
AI can do InRangeUnobstructed checks for item pickups.
AI can open drink cans.

AI littering to be coded.

* #nullable enable

* github's nullable fails are actively shortening my lifespan

* Use a const instead

So it's easier to find given the performance implications.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-22 12:03:24 +02:00
Pieter-Jan Briers bf60a4e9fc Merge branch 'master' into mathmerge 2020-08-20 20:33:43 +02:00
04bc20c365 AI sleeping (#1708)
* AI sleeping

AI no longer update when dead.

* It was easier to merge master and re-apply it.

* Update AiControllerComponent.cs

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
2020-08-18 15:14:55 +02:00
Visne 0b448b500d Merge MathHelper and FloatMath
Requires  space-wizards/RobustToolbox#1234
2020-08-16 14:54:52 +02:00
Vince b647ad0f42 Refactor UpdateKinematics() and fix a lot of Content warnings (#1709)
Most warnings were related to EntityQuery and IPhysicsComponent.
Partially fixes #1650 and fixes #1682
2020-08-15 20:38:35 -07:00
DrSmugleaf 4a8ed41e3a Fix namespaces and optimize imports (#1651)
* Fix namespaces and optimize imports

* Cleanup fixes

* Merge conflict fixes

* Merge conflict fixes

* Merge conflict fixes
2020-08-13 14:40:27 +02:00
619386a04a Server EntitySystem cleanup (#1617)
* Server EntitySystem cleanup

I went after low-hanging fruit systems.

* Add / change to internal access modifiers to systems
* Use EntityQuery to get components instead
* Add sealed modifier to systems
* Remove unused imports
* Add jetbrains annotation for unused classes
* Removed some pragmas for dependencies

This should also fix a decent chunk of the server build warnings, at least the ones that matter.

* Also disposals

* Update Content.Server/GameObjects/EntitySystems/GravitySystem.cs

* Fix build

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
2020-08-13 14:17:12 +02:00
Pieter-Jan Briers f182ff5613 Remove CannyFastMath. 2020-08-12 21:19:34 +02:00
metalgearslothandMetal Gear Sloth b34bd7c188 AI preset curves and expandable optimisation (#1346)
* AI preset curves and expandable optimisation

Added preset curves for considerations to use just to avoid repeating the same variables all over the shop.

Moved common considerations for expanded actions onto the expandable action e.g. you need a free hand to be able to PickUpGloves so we'll just check it the once rather than for each action.

* FIX PRAGMA

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-11 22:01:55 +02:00
metalgearslothandMetal Gear Sloth 452a67032f Fix the pathfinding leak (#1647)
Off-grid entities were continually expanding the graph indefinitely which is... bad.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-11 17:36:40 +02:00
Víctor Aguilera Puerto ec75baeede Disables the AI Pathfinding system for the time being. 2020-08-10 03:33:05 +02:00
metalgearslothandMetal Gear Sloth 140f8f7647 AI reachable improvements (#1595)
Deleted regions in some instances were being retained indefinitely.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-05 16:19:00 +02:00
metalgearslothandMetal Gear Sloth 7f0c379e87 Fix reachable merges (#1550)
Turns out the last PR revealed another issue but this will fix #1547

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-08-01 14:13:44 +02:00
metalgearslothandMetal Gear Sloth 89e0925c32 Better AI reachable cleanup (#1507)
Haven't profiled so can't say if it definitely fixes the leak.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-07-27 16:11:07 +02:00
metalgearslothandMetal Gear Sloth 4e1597eeb3 Fix AI mem leak? (#1482)
Holy shit I'm dumb for missing that AGAIN.

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-07-25 21:27:24 -07:00
56737b635f Damage visualizer for simple mobs (#1332)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-07-23 02:04:03 +02:00
Acruid c9374992a6 Converted everything to use collision and physics component interfaces. 2020-07-19 00:33:02 -07:00
Pieter-Jan Briers 11ad47303a Fixes exceptions in AiReachableSystem on round restart. 2020-07-17 11:17:42 +02:00
metalgearslothandMetal Gear Sloth 51d08e8b05 AI Reachable system (#1342)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-07-11 15:09:37 +02:00
metalgearslothandMetal Gear Sloth a77f219515 Minor A* optimisations (#1335)
* Add some extra comments
* Remove the redundant closedTiles variable
* Rename some variables to better match the common naming schemes

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-07-10 20:30:33 +02:00
metalgearslothandMetal Gear Sloth 8938d96402 Fix AI avoiding entities they can't collide with (#1331)
Should stop mobs getting trapped at the bar on saltern as they try to avoid light bulbs

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-07-09 14:15:48 +02:00
Metal Gear Sloth 62302bfb23 Use named tuples
Thanks remie
2020-07-09 00:16:57 +10:00
metalgearslothandRemie Richards b4adfbc15a Update Content.Server/GameObjects/EntitySystems/AI/Steering/AiSteeringSystem.cs
Co-authored-by: Remie Richards <remierichards@gmail.com>
2020-07-09 00:03:48 +10:00
Metal Gear Sloth 8678d867cf Fix AI steering spamming console
Turns out you shouldn't cancel pending jobs.
2020-07-08 23:44:47 +10:00
Metal Gear Sloth facaee0cab Remove redundant method
Not used anymore.
2020-07-08 21:12:23 +10:00
Metal Gear Sloth ae1c578e8e Fix pathfinding entity deletions
Also some slight optimisations in the process.
2020-07-08 21:05:27 +10:00
metalgearslothandMetal Gear Sloth 1d96adcc2c Add Breadth-First Search pathfinder (#1283)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-07-08 01:41:41 +02:00
metalgearslothandMetal Gear Sloth 0ecaba1727 Minor AI system fixes (#1292)
* Add test to check all LogicNames in prototypes
* Change CreateProcessor to AiLogicProcessor (I thought I'd already done this as I remember PJB telling me to do this but apparently I'm an idiot)
* Temporarily remove invalid AiControllers

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-07-07 18:56:38 +02:00
metalgearslothandMetal Gear Sloth 29f1730d71 Remove pathfinding graph node directions (#1223)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-06-28 17:43:06 +02:00
metalgearslothandMetal Gear Sloth 24831bf8a0 Refactor AI movement (#1222)
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-06-28 17:42:44 +02:00
Pieter-Jan Briers f3a816321c Merge branch 'master' into 20-06-24-movement-prediction 2020-06-24 04:04:43 +02:00
Pieter-Jan Briers da45a52325 WiP movement prediction. 2020-06-24 02:21:20 +02:00
metalgearslothandMetal Gear Sloth 805a5f1689 Refactor pathfinding updates and add AccessReader support (#1183)
There was some extra bloat in the path graph updates.
Now the queue should also just run if it gets too big regardless.
Un-anchored physics objects are no longer a hard fail for pathfinding.
Add AccessReader support so open / close doors show up for pathfinding
AI also ensure they call the operator's shutdown when they're shutdown so that should cancel the pathfinding job.

I tried to split these into 2 commits but they were kinda coupled together

Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
2020-06-22 18:55:50 +02:00
DrSmugleaf ac19ad7eac Fix crash when the round restarts (#1161) 2020-06-21 17:28:43 +02:00
5391d3c72a Add utility AI (#806)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2020-06-18 14:52:44 +02:00