Commit Graph

50 Commits

Author SHA1 Message Date
Plykiya 6583105f10
Replace obsolete EntityWhitelist IsValid usages part 2 (#28506) 2024-06-08 20:03:26 +02:00
Nemanja 5b87c90511
Prevent stacking pipes (#28308)
* prevent stacking pipes

* access

* notafet review

* notafet review pt. 2

* not the actual fix
2024-06-01 17:14:50 +02:00
Kara c56db3b1a8
Resolve `'TransformComponent.MapPosition' is obsolete` in content (#27939)
* Resolve `'TransformComponent.MapPosition' is obsolete: 'Use TransformSystem.GetMapCoordinates'` in content

* build?
2024-05-18 13:58:34 +02:00
Tayrtahn 3dd5dcadc5
Code cleanup: Purge calls to obsolete EntityCoordinates methods (#26292)
* Purge calls to obsolete EntityCoordinates methods

* Pizza defruited; rerun those tests!

(cherry picked from commit f4cb02fb0ca385c858569c07c51afb0d24ade949)
2024-03-24 00:07:58 +01:00
nikthechampiongr ad5628777b
Simplify DoAfterArgs behavior for movement and distance checks (#25226)
* Merge BreakOnWeightlessMove and BreakOnMove. Provide different theshold for weightless movement.

* Adjust WeightlessMovementThresholds. Put a thing I forgot to put in the doafterargs.

* Make DoAfterArgs only use OnMove to determine whether to check for
movement and MoveThreshold to determine the threshold regardless of
weightlessness. Gave DistanceThreshold a default value which will always
be checked now.

* Fix issue introduced by merge.

* Use interaction system for determining whether a distance is within range

* Fix incorrect doafter args introduced by previous merge.
Forgor to commit these.

* Exorcise ghost.

The execution system should have been deleted when I merged previously.
For a reason I cannot comprehend it came back, but only the execution
system.

* Exorcise ghost Pt. 2

* Allow for movement check to be overriden in zero g and adjust doafter args where needed.

You can now override checking for movement in zero g with the BreakOnWeightlessMove bool. By default it will check.
The following doafters were made to ignore the movement check in zero g:
- Healing yourself with healing items,
- Removing embedded projectiles,
- Using tools like welders and crowbars

* Adjust distance for cuffing/uncuffing to work. Make injections not break on weightless movement.

* Fix evil incorrect and uneeded comments

(cherry picked from commit 362d56981fd7654f6ebec36f16cc8fabdd04b6a7)
2024-03-24 00:03:28 +01:00
Pieter-Jan Briers ccea85136b
Random spontaneous cleanup PR (#25131)
* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17985876d6d112b764b2144964a9f42e)
2024-02-18 23:02:29 +01:00
TemporalOroboros aebae6fab7
Content ecs containers (#22484)
(cherry picked from commit 7a77d6d5dd73a34be238fdebc284da5bc2917c67)
2024-01-22 18:47:55 +01:00
PixelTK 3e7feaa4f6 Arachnid 2: Episode 2 (#19984)
* Shield

* minor sprite changes and buffs

* structure buff

* Crafting stuff

* tweaks

* 88-88

* Better web pocket sprites.

* yeah it's fine now.
2023-11-12 20:49:58 +01:00
Leon Friedrich e66c0b5035 Un-revert IPlayerManager refactor (#21244) 2023-10-31 19:00:44 +01:00
metalgearsloth f38f0ab614 Predict StorageComponent (#19682) 2023-09-27 21:59:12 +02:00
metalgearsloth c9648da984 Content update for NetEntities (#18935) 2023-09-27 21:59:12 +02: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
chromiumboy e8960f77b2
Drop stored entities from containers used in crafting recipes (#18564)
Resolves issue #10852. If a storage container is a reagent for crafting, items stored inside of it are dropped.

---------

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2023-08-02 10:32:51 -08:00
Vera Aguilera Puerto 9243050e1a
Construction graph improvements (#17960) 2023-07-13 20:23:52 +10:00
Nemanja 78adc99ace
Artifact crafting fix (#17454)
* Fix tag steps double counting entities

* oauhg
2023-06-18 22:02:27 -06:00
Leon Friedrich 489660a6bb
Add interaction tests (#15251) 2023-04-14 12:41:25 -07:00
DrSmugleaf b947856431
Remove hands component reference (#15197) 2023-04-07 11:21:12 -07:00
Leon Friedrich df3dae9093
DoAfter fixes (#15127) 2023-04-03 23:28:55 -07:00
Leon Friedrich 19277a2276
More DoAfter Changes (#14609)
* DoAfters

* Compact Clone()

* Fix mice and cuffables

* Try generalize attempt events

* moves climbabledoafter event to shared, fixes issue with climbable target

* Fix merge (cuffing)

* Make all events netserializable

* handful of doafter events moved

* moves the rest of the events to their respective shared folders

* Changes all mentions of server doafter to shared

* stop stripping cancellation

* fix merge errors

* draw paused doafters

* handle unpausing

* missing netserializable ref

* removes break on stun reference

* removes cuffing state reference

* Fix tools

* Fix door prying.

* Fix construction

* Fix dumping

* Fix wielding assert

* fix rev

* Fix test

* more test fixes

---------

Co-authored-by: keronshb <keronshb@live.com>
2023-04-02 21:13:48 -04:00
keronshb 9ebb452a3c
DoAfter Refactor (#13225)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-02-25 01:01:25 +01:00
Chief-Engineer 6f58f5a36c
Improve construction logs (#13146) 2023-01-20 08:17:57 -08:00
metalgearsloth 1b0e50ae19
Remove last component.Name calls (#13593) 2023-01-19 13:57:18 +11:00
Theomund a59f301121
Fix construction popup messages (#13470)
resolves https://github.com/space-wizards/space-station-14/issues/13333
2023-01-16 13:29:44 +11:00
Leon Friedrich 881a2b2ece
PopupSystem public methods rejig (#12830) 2022-12-19 08:41:47 +11:00
Leon Friedrich 12503e57a5
Fix construction/crafting and maybe cargo selling (#12306) 2022-10-31 13:26:05 +11:00
Nemanja b6135d3be5
Construction warning cleanup (#12256) 2022-10-30 17:48:53 +11:00
Júlio César Ueti 137e79ee4c
Adds logging to stripping and construction starting (#11952) 2022-10-16 17:32:00 +11:00
wrexbe bc68ac96dd
Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
metalgearsloth de6651ac01
Update content for new lookup API (#7363) 2022-04-06 19:35:18 +10:00
Leon Friedrich 51b1535255
Improve stack merging and crafting (#7105) 2022-03-27 21:03:14 -07:00
Leon Friedrich 0cc6c4c555
Crafting obstruction check. (#7198)
* Crafting obstruction check.

* and container check
2022-03-19 20:46:07 -05:00
Leon Friedrich bfd95c493b
hands ECS (#7081) 2022-03-17 18:13:31 +11:00
Vera Aguilera Puerto 37fb2bd3c7 Log better error for incorrect Construction Graphs.
Also improves integration tests for them to catch more errors.
2022-03-04 16:53:06 +01:00
metalgearsloth 836930e733
EntityLookup as a system for content (#6931) 2022-03-03 21:18:35 +11:00
Leon Friedrich 4a00d01ced
Remove ignore-inside-blocker (#6692)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2022-02-16 19:40:03 -07:00
mirrorcult ec4d4688c7
Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
Leon Friedrich ad9ddf1552
Reduce action blocker uses and add target entity to CanInteract (#6655) 2022-02-15 15:06:52 +11:00
wrexbe cea1b21832
Fixing some warnings (#6250)
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
2022-01-21 10:38:35 +01:00
Leon Friedrich adbc4ee5b0
Partial hand ECS (#5634)
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: Paul <ritter.paul1@googlemail.com>
2022-01-05 15:53:08 +11:00
Paul Ritter 512d6a38c3
get that crap outta here (completely rewrites inventorysystem) (#5807)
* some work

* equip: done
unequip: todo

* unequipping done & refactored events

* workin

* movin

* reee namespaces

* stun

* mobstate

* fixes

* some work on events

* removes serverside itemcomp & misc fixes

* work

* smol merge fix

* ports template to prototype & finishes ui

* moves relay & adds containerenumerator

* actions & cuffs

* my god what is actioncode

* more fixes

* im loosing my grasp on reality

* more fixes

* more work

* explosions

* yes

* more work

* more fixes

* merge master & misc fixed because i forgot to commit before merging master

* more fixes

* fixes

* moar

* more work

* moar fixes

* suffixmap

* more work on client

* motivation low

* no. no containers

* mirroring client to server

* fixes

* move serverinvcomp

* serverinventorycomponent is dead

* gaming

* only strippable & ai left...

* only ai and richtext left

* fixes ai

* fixes

* fixes sprite layers

* more fixes

* resolves optional

* yes

* stable™️

* fixes

* moar fixes

* moar

* fix some tests

* lmao

* no comment

* good to merge™️

* fixes build but for real

* adresses some reviews

* adresses some more reviews

* nullables, yo

* fixes lobbyscreen

* timid refactor to differentiate actor & target

* adresses more reviews

* more

* my god what a mess

* removed the rest of duplicates

* removed duplicate slotflags and renamed shoes to feet

* removes another unused one

* yes

* fixes lobby & makes tryunequip return unequipped item

* fixes

* some funny renames

* fixes

* misc improvements to attemptevents

* fixes

* merge fixes

Co-authored-by: Paul Ritter <ritter.paul1@gmail.com>
2021-12-30 22:56:10 +01: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 a5b57c8e10 Inline Transform 2021-12-03 14:20:34 +01:00
Vera Aguilera Puerto 69b270017b Inline TryGetComponent completely, for real 2021-12-03 14:17:01 +01:00
Vera Aguilera Puerto b835bea086 Inline GetComponent 2021-12-03 11:55:25 +01:00
Vera Aguilera Puerto 8b57bafcd1 StackSystem uses EntityUid for Split and Spawn 2021-11-09 15:35:03 +01:00
Vera Aguilera Puerto 48f8dd2284 ActionBlocker CanInteract uses EntityUid exclusively
ActionBlockerSystem fully uses EntityUid now!
2021-11-09 15:05:49 +01:00
Kara D 6bb1e58e77
Fix item construction using nearby anchored items (pipes) 2021-11-03 14:33:00 -07: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