* Multiple hands in gui first pass
* Remove IHandsComponent interface
* Create hand class and more hand textures
* Refactor ServerHandsComponent to use a single list of hands
* Seal SharedHand
* Fix picked up items not showing on top of the hand buttons
* Remove HandsGui buttons and panels dictionaries
* Fix items in hands rendering
* Fix wrong hand container comparison
* Fix not updating the location of duplicate hands
* Change ClientHandsComponent to use a SortedList instead of a dictionary
* More merge conflict fixes
* Change SortedList to List
* Fix hand button order
* Add item tooltip for more than 2 hands and updating when removing hands
* Add add hand and remove hand command
* Merge conflict fixes
* Remove nullable reference type from ContainerSlot
* Fix texture errors
* Fix error when reaching 0 hands
* Fix error when swapping hands with no hands
* Merged remove hand methods
* Fix item panel texture errors
* Merge conflict fixes
* Fix addhand and removehand command descriptions
* Add properly displaying tooltips for 2 hands
* Make hand indexes and locations consistent across the client and server
* Add dropping held entity if a hand is removed
* Change hand location to be calculated by index
* Made different hand gui updates more consistent
* Remove human body yml testing changes
* Sanitize addhand and removehand commands
* Merge conflict fixes
* Remove testing changes
* Revert body system changes
* Add missing imports
* Remove obsolete hands parameter in yml files
* Fix broken import
* Fix startup error and adding and removing hands on the same tick
* Make hand container id use an uint
In case someone gets more than 2 billion hands
* Rename hand component files
* Make hands state use an array
* Change exploding storages to explode their contents as well
* Change storages to only trigger content explosions when the severity is heavy or destruction
* Make inventories explode their contents as well
* Change InventoryComponent IExAct into an explicit implementation
* Change chain explosions to only trigger for explosion severities larger than or equal to heavy
* Fixed HandsGui children so that HandsGui is clickable
* Added TextureButton for opening Storage items
* Update ClientInventoryComponent.cs
Fixed HandleComponentState so that it only updates the inventory when there are changes.
* Implemented storage button on Inventory
Adds a small button on the bottom right of Storage items when inside the inventory. When the button is pressed it opens the Storage UI.
* initial explosiveComponent
* remove garbagee
* assets
* tile mass deletion baby
* grenades
* tweaks
* Update Content.Server/GameObjects/Components/Explosion/ExplosiveComponent.cs
Co-Authored-By: Pieter-Jan Briers <pieterjan.briers@gmail.com>
* Ex_act based on damage, fixes and tweaks
* One finishing touch
Done the most cringe way
* ex_act explosions, tables are destructible now
also adds fuel tanks
* adds ex_act to mobs
* Demonstrated map init working with guns, toolboxes, tool lockers.
* Refactored EntityStorage and ServerStorage to have a common interface.
* EntityStorage no longer uses ServerStorage PURELY for visuals.
Use an appearance visualizer instead.
* Removes static `IoCManager` service locator calls from `Robust.Shared.Map` namespace.
* Misc code cleanup and filling out doc comments for Map classes.
* Added Union and Intersect methods to Box2.
* Any touched component was converted from static IoC calls to field injection.
Sibling PR to https://github.com/space-wizards/RobustToolbox/pull/796.
* Fixed sprite issues with construction system (Thanks PJB!).
* Storage and Hands Systems now subscribe to Transform Parent changes, and will keep their containers in sync.
* Add check in Interaction System to prevent processing client-side entities on the server.
* Added generic crate assets.
Added open flag to StorageComponent.
* StorageComponent door toggling works.
* Door now updates based on if someone is subscribed to the Storage.
* Added License to crate.rsi
Fixed Icon of crate.
* Added basic Locker.
* Added Fire Extinguisher.
* Added ability to close the storage UI by the server.
Notify the server that the UI is closed, so that the player is unsubscribed from the storage.
Unsubscribe the player from a storage if the player entity moves out of range.
* Add check to make sure entity is on the same map as the storage.
* Update Engine module.
* Update Engine.
Various minor interaction features.
There is no concept of gravity in the game yet, so items drift through space or the hallways of a station until they are stopped. Thrown items do not collide with walls because making them collidable makes them collide with EVERYTHING, including the player. We need collision groups in the physics system.
Because of the previous problems the velocity things are throw at is set quite low, it can be tweaked after the other mentioned issues are resolved.
* adds storage system, primitive client-unsubscribing of storage updates
* strips out currently unneeded system
* channel to actor
* closestorageui todo added
* thorough logging, actor to session, validates session before sending packets
* offloads session status check to an event handler
* Updates for the netcode refactor.
* Change HandsGui to control.
Why? No idea but drawing of it works again.
* Fix hand change sync.
* Update submodule
* Bully the fuck out of inventory shit
Inventory Stuff
Inventories technically work
It works technicaly speaking
Yeah this part too
Lets do it!
Inventories completed
Motherfucker
* Remove unnecessary usings and fix one thing
* Submodule update
* Adds a bunch of various clothing prototypes for each current inventory slot
* Fix
Finish and update submodule
Comments code, changes network messages
FIXES THE USE INTERACTION SO YOU CAN ACTUALLY ACTIVATE THINGS NOW
Need engine commits
We'll figure out what to do about this shit later eh mates? Maybe have a script in the build process that automatically moves them over to godot/scenes
Changes some prototypes and fixes stuff
Fixes some more bugs, makes storage values show up properly
Part 3
Part 2
Storage Take 1
* Doneso