* Upgraded UseDelay to support multiple delays per entity
* Implement secondary delay for bibles.
Also some improvements to make it work nicely.
* Documentation is good
* Reserve the previous change; now Storage uses the special ID and Bible uses the default.
* .0
* Added VV support to UseDelayInfo
* Serialize better
* No register, just setlength
* Fix rotation of dropped items
* combined world position rotation function for dumpable
* scuffed implementation?
* less scuffed?
* even less scuffed... I guess
* capital D
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
* add SaveItemLocation keybind
* make item direction public to avoid having to change between Angle for no reason
* add item location saving
* show
* Added a better save keybind, made it draw saved positions, and trying to save in a position it has already been saved in removes that position.
* w
* code style
* Make taken spots appear blue
* style
* !
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: notquitehadouken <tripwiregamer@gmail.com>
Co-authored-by: I.K <45953835+notquitehadouken@users.noreply.github.com>
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.
* Missed a few
* Revert changes to pulling
* No
* 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
* 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>
* 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>
* 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