* Sort out InRangeUnobstructed and add extension methods
* Rename client RangeChecks to RangeExtensions
* Add container extension methods and test
* Add missing component methods
Component to container
Grid coordinates to container
Map coordinates to container
Local player to container
* Actually use the field
* Merge fixes
* Add popup argument to local player extension methods
* Reduce code repetition for client range extensions
* Add post-checks for do_after
So you can do InRangeUnobstructed or whatever at the end.
Individual components should do their own check upfront to avoid the state ever being sent. I added a pre-made function for people to do InRangeUnobstructed.
* Woops imports
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* -Show tooltip on hover
-Show notify on click
* -Status Effects now get removed instead of going invisible
-Removed empty textures for that
* Revert break in HungerComponent
* No context menu through occluder
* Fix disabled occluders
* Comment
* Server-side verb ray check
Decided to add a buffer because the entity is at the very edge of the context box (0.5, 0.5) then need to make sure that entities at the other end of the box are ignored.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Implement machine linking
* Cleanup and rename Signals
* Implement signal button
* Add machine linking signal mapping
* Fix signallink command help
* Add localization to signal linking and allow infinite range
* Add feedback for when a transmitter is not connected to any receivers
Refactor PopupMessage to use the entity extension
Refactor dependencies to not have to disable warnings
* Adds IFireAct, ITemperatureExpose
* Use AtmosDirection instead of Direction for Atmos
* Refactor atmos to heavily rely on arrays and bitflags.
Adds F A S T M O S and reduces atmos tech debt heavily.
* Optimize and fix more stuff
* Kinda improve superconduction
* Pipenet is a word
* T U R B O M O S
* Address reviews
* Small optimization
* Superconduct is also a word
* Remove check
* Cleanup tile atmosphere
* Correct a comment
* Add button that displays your SSS role and allies
* Capitalize button name
* Add cases for 0, 1 and invalid number of allies
* Make the ally syncing system saner
* -ItemStatus for BatteryGuns
-EjectCell Verb
-Using the gun throws the battery also on the ground
* Copy the flashlight and call it a day
* Name a red fruit
* Remove SoundGunshot
Recyclers only check for intersecting entities that have been triggered via collision instead of actively querying it every tick. This means they pretty much don't show up on the profiler when idle.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* First Accent Prototype
* -RegisterSystem
-Fixed addaccent cmd
-Spanish accent
* -list is now ?
-Checks if the accent is already added
-Made components public
* owo whats this
* special word filter
* Eeeeeeeeee
* Better?
* -Use a delegate func
-Made some funcs not static
-Moved SentenceRegex
* InjectDependencies
* Name change?
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Add collision to disposal unit and pipes
Make disposal unit and pipes pullable
Implement proper handling of collisions in disposals
* Implement IsExiting
Move DisposalSystem to shared
* Change SharedDisosalUnitComponent to call manager.ContainsEntity directly
* Update saltern.yml
Co-authored-by: Julian Giebel <j.giebel@netrocks.info>
UI was being updated every tick even when not necessary. Ideally you'd just update the UI based on events but this is fine for now.
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>