* Add pinpointer sprites
* Start working on pinpointer
* Updated pinpointer
* Working on visuals
* Working on a pinpointer and eye rotation
* Add client/server pinpointers systems
* Minor cleanup
* Add distance support
* Add nuke tag
* Remove redundant flag and add pinpointer to caps locker
* Disable rotation of pinpointer
* Fixed distance
Co-authored-by: Alexander Evgrashin <evgrashin.adl@gmail.com>
* basics & visuals
* pneumatic cannon works perf
* loc + popups
* gas tank does stuff + queue changes
* updates
* b
* forcefeeding
* inhand
* crafting!
* pie cannon now is a pneumatic cannon
* oopy
* fix for entman + verbs
* pie
* change for tools
* actual
* combat mode + better sounds
* reviews
* door drawdepth toggle
* git mv
* dooooors
* drawdepth adjustments
* fix door and missed projectiles
* firelock depth tweak
* Get sprite only when needed
* single letter typo
* forgot to include closing in _activeDoors.
* Make humans move based on their last grid's angle
* Fix ghost movement, fix weightless grid parenting
* Make sure to init the last grid angle without needing to move
* Adds a UI for gas filters
* Address reviews
* Update Content.Client/Atmos/UI/GasFilterBoundUserInterface.cs
* Update Content.Server/Atmos/Piping/Trinary/EntitySystems/GasFilterSystem.cs
* Fix build
Co-authored-by: ike709 <ike709@github.com>
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
Co-authored-by: Vera Aguilera Puerto <gradientvera@outlook.com>
* AMEPartComponent: Switch to ToolSystem.HasQuality because this bugs me.
* Multitool can read power when you examine a cable with the multitool held.
* Multitool power reading: Condense storage information
* power-sensing multitool: Fix ToolSystem ref.
* Power-reading multitools: Fix misuse of GetComponent
* Move entity solution entity systems to shared
* Move SolutionComponents to Server
* Fix namespaces
* Remove Networked Component.
* Fixes
* Add components to ignore list
* Uplink menu has icons now
* Add item icons
* Add few descriptions
* Better withdraw window
* Finished with withdraw window
* Refactored withdraw ui and fix some bugs
* Basic withdraw
* Quick fixes
* Removed uplink listing for TCs
* Move slider to separate control
* Final touches
* A bit more
* Not again...
* Fixed names
* Address review
* Fixed robust
* Non necessary check
* XAML verb menu
* fix ghost FOV
* spacing
* rename missed "ContextMenu"->"EntityMenu" instances
* move visibility checks to verb system
* update comment
* Remove CanSeeContainerCheck
* use ScrollContainer measure option
* MaxWidth / texxt line wrapping
* verb category default
Now when you click on a verb category, it should default to running the first member of that category.
This makes it much more convenient to eject/insert when there is only a single option
* only apply style to first verb category entry
* Use new visibility flags
* FoV -> Fov
* Revert "only apply style to first verb category entry"
This reverts commit 9a6a17dba600e3ae0421caed59fcab145c260c99.
* make all entity menu visibility checks clientside
* Fix empty unbuckle category
* fix merge
* Brrrr ECS
* Create lit on powered system
* Light bulb ECS
* Finishing porting to ECS
* Minor touches
* Removed events
* Removed old comments
* Fixed test
* To popup system
- 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! 👀
* Rotate DefaultGrid on round start
Not ideal long-term but good for bugspotting short-term.
* Fix buckle test
Because gridtraversal was being triggered the pos was being fucked when moving back
* Fix buckle
* Buckle offset
Adds a "sturdy" tile flag, that in the future could be used by construction/etc to figure out if it's safe to build on a tile. (For example water isn't space, but it's not a sturdy building surface!)
* Moves HumanoidCharacterAppearance to ECS
* Makes HumanoidAppearanceSystem work over networks
* Makes HumanoidAppearanceSystem more efficient
* Cleans up the files
* Updates privacy on a couple of functions
* Fixes a few using references, renames a file
* Makes HumanoidAppearanceSystem more cleaner
* Fixes Magic Mirror
* Cleanup
* HumanoidAppearanceComponent now has a friend
SharedHumanoidAppearanceSystem is only allowed to act on this, now
* Fixes the Body-HumanoidAppearance ECS scaffolding
* a little cleanup never hurt anybody
* quick fix for magic mirror appearance access
* Replaces a networked event with a local one
This one was... causing bugs