Commit Graph

25 Commits

Author SHA1 Message Date
chromiumboy
acc9c8940b Use construction graphs for hacking protections (#20265) 2023-10-05 19:15:03 -08:00
Arimah Greene
a6af59e3bf Make PA constructible again (#19428)
* Change construction graph correctly

https://github.com/space-wizards/space-station-14/issues/18511#issuecomment-1687893199

* Remove unnecessary call to UpdatePathfinding
2023-09-09 23:42:42 -04:00
metalgearsloth
4cfc578011 Revert "Remove most usages of obsolete TransformComponent methods (#1… (#19714) 2023-09-01 12:30:29 +10:00
Visne
1416942bea Remove most usages of obsolete TransformComponent methods (#19571) 2023-08-30 12:05:19 +10:00
Nemanja
98fa00a21f Borgs (#18136)
* Laws

* positronic brain and PAI rewrite

* MMI

* MMI pt. 2

* borg brain transfer

* Roleban support, Borg job (WIP), the end of mind shenaniganry

* battery drain, item slot cleanup, alerts

* visuals

* fix this pt1

* fix this pt2

* Modules, Lingering Stacks, Better borg flashlight

* Start on UI, fix battery alerts, expand activation/deactivation, low movement speed on no power.

* sprotes

* no zombie borgs

* oh fuck yeah i love a good relay

* charger

* fix the tiniest of sprite issues

* adjustable names

* a functional UI????

* foobar

* more modules

* this shit for some reason

* upstream

* genericize selectable borg modules

* upstream again

* holy fucking shit

* i love christ

* proper construction

* da job

* AA borgs

* and boom more shit

* admin logs

* laws redux

* ok just do this rq

* oh boy that looks like modules

* oh shit research

* testos passo

* so much shit holy fuck

* fuckit we SHIP

* last minute snags

* should've gotten me on a better day
2023-08-12 16:39:58 -05:00
Vera Aguilera Puerto
9243050e1a Construction graph improvements (#17960) 2023-07-13 20:23:52 +10:00
Kevin Zheng
bb9e36faca Reparent crafted items (#15848) 2023-05-04 12:03:45 -07:00
Leon Friedrich
b45bc4ae4a Replace SpriteStateChange construction action with AppearanceChange (#15914) 2023-04-30 07:04:31 +10:00
Leon Friedrich
489660a6bb Add interaction tests (#15251) 2023-04-14 12:41:25 -07:00
Leon Friedrich
473a02120d Map-Init guidebook entities. (#14823) 2023-03-24 20:00:29 +11:00
Leon Friedrich
7430a3dba2 Construction debug logs (#14257) 2023-02-26 04:14:26 +11:00
Vera Aguilera Puerto
4e3246d278 Slight construction cleanup. (#12614) 2022-11-16 05:10:27 -06:00
Nemanja
b6135d3be5 Construction warning cleanup (#12256) 2022-10-30 17:48:53 +11:00
Leon Friedrich
bb61eb7f54 Move board spawning out of DoorSystem (#11772) 2022-10-17 03:43:33 +11:00
Leon Friedrich
37b36b9a76 Construction logging (#11961) 2022-10-16 08:58:07 -07:00
rolfero
f492442337 Fix construction action (#11186)
Co-authored-by: CommieFlowers <rasmus.cedergren@hotmail.com>
2022-09-11 10:56:03 +02:00
wrexbe
bc68ac96dd Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
Vera Aguilera Puerto
380bb89f83 Documents more ConstructionSystem methods. (#7246) 2022-03-24 21:00:39 -07:00
Vera Aguilera Puerto
c76414362d Account for graph actions being able to delete the entity in ChangeNode.
Fixes an exception that occurs if a node action deletes a construction.
2022-03-05 10:59:01 +01:00
mirrorcult
ec4d4688c7 Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
DrSmugleaf
2a3b7d809d Fix 3000 errors 2021-12-05 18:09:01 +01:00
Vera Aguilera Puerto
5cd42c9ad6 Inline UID 2021-12-03 15:53:09 +01:00
Vera Aguilera Puerto
e6e15b3728 Replace all ITransformComponent by TransformComponent 2021-11-08 12:37:32 +01:00
Vera Aguilera Puerto
d2ffabdfd4 Fix ChangeEntity collection modified exception. 2021-10-27 01:29:10 +02:00
Vera Aguilera Puerto
189a5c7847 ConstructionGL2 Part 1: ECSification, events and steps. (#5017)
- Completely rewrited the `ConstructionComponent` logic to be ECS, *without* looking too much at the original implementation.
    - The original implementation was dirty and unmaintainable, whereas this new implementation is much cleaner, well-organized and maintainable. I've made sure to leave many comments around, explaining what everything does.
- Construction now has a framework for handling events other than `InteractUsing`.
    - This means that you can now have CGL steps for things other than inserting items, using tools...
- Construction no longer uses `async` everywhere for `DoAfter`s. Instead it uses events.
- Construction event handling occurs in the `ConstructionSystem` update tick, instead of on event handlers.
    - This ensures we can delete/modify entities without worrying about "collection modified while enumerating" exceptions.
    - This also means the construction update tick is where all the fun happens, meaning it'll show up on our metrics and give us an idea of how expensive it is/how much tick time is spent in construction.
- `IGraphCondition` and `IGraphAction` have been refactored to take in `EntityUid`, `IEntityManager`, and to not be async.
- Removes nested steps, as they made maintainability significantly worse, and nothing used them yet.
- This fixes #4892 and fixes #4857

Please note, this leaves many things unchanged, as my idea is to split this into multiple PRs. Some unchanged things:
- Initial construction code is the same. In the future, it'll probably use dummy entities.
- Client-side guided steps are the same. In the future, the server will generate the guided steps and send them to clients as needed, caching these in both the server and client to save cycles and bandwidth.
- No new construction graph steps... Yet! 👀
2021-10-26 16:38:03 +02:00