* LockVisualizer
* Fix state
* Clean some code
* Make it component, fix tests fail
* Fix for StateUnlocked
Now it is possible to manually set the unlocked state and it will work!
* Optimize LockVisualizer, add check for unlocked state
* No todo I guess
* 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>
* Raise `StationPostInitEvent` broadcast
* Basic variation pass handling
* standardize names + rule entities
* why does it work like that?
* add to defaults
* light break variation pass
* ent spawn entry
* move some stationevent utility functions to gamerule + add one for finding random tile on specified station
* forgot how statistics works
* powered light variation pass is good now
* station tile count function
* public method to ensure all solutions (for procedural use before mapinit)
* move gamerulesystem utility funcs to partial
* ensure all solutions before spilling in puddlesystem. for use when spilling before mapinit
* trash & puddle variation passes!
* oh yeah
* ehh lets live a little
* std
* utility for game rule check based on comp
* entprotoid the trash spawner oops
* generalize trash variation
* use added instead of started for secret rule
* random cleanup
* generic replacement variation system
* Wall rusting variation rule
* account for modifying while enumerating
* use localaabb
* fix test
* minor tweaks
* reinforced wall replacer + puddletweaker
* Prevent EntityStorages from being opened while inside a mech.
* compressed into few lines
* unneeded line
* Popup client
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* remove empty file real
* support explosion resistance for non-worn things
* remove redundant entitystorage resistance
* port entitystorage optimisation to apply for everything with 100% resistance
* add explosion resistance for bag contents
* make thing reusable
* add resistance to chest rig too
* medical chest rig too
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Grid Inventory
* oh boy we keep cracking on
* auto insertion is kinda working? gross, too!
* pieces and proper layouts
* fix the sprites
* mousing over grid pieces... finally
* dragging deez nuts all over the screen
* eek!
* dragging is 90% less horrendous
* auto-rotating
* flatten
* Rotation at last
* fix rotation and change keybind for removing items.
* rebinding and keybinding
* wow! look at that! configurable with a button! cool!
* dragging is a bit cooler, eh?
* hover insert, my beloved
* add some grids for storage, fix 1x1 storages, fix multiple inputs at once
* el navigation
* oh yeah some stuff i forgor
* more fixes and QOL stuff
* the griddening
* the last of it (yippee)
* sloth review :)
* Use object-spaced bounding boxes for putting stuff in crates
* Use existing _lookup.GetAABB, different component
* PR edits updated
* Remove unused bits from around GetAABB
* Use GetAABBNoContainer