Previously this component would sometimes try to use a non-existent prototype, `HelmetEngineering`. This would result in a server crash upon loading any map that uses the `Tool Locker (Filled)` component. This replaces that non existent prototype with `HatHardhatRed`, which does exist, and is something you might expect to find in a tool locker.
* Airlock hacking
* Added status text
* Whoops don't need this
* Update Content.Server/GameObjects/Components/Doors/AirlockComponent.cs
Co-Authored-By: Pieter-Jan Briers <pieterjan.briers@gmail.com>
* ComponentReference ServerDoorComponent
* Suggested name
* Work on Research so far
More work on UI...
Fix ResearchClient and Protolathe UI stuff.
Fix infinite select -> request state -> select -> ... loop
Add UI to ResearchClient, etc.
Technology Database states, and a bit of work on the research console ui
A bit of work on Research Console UI
Protolathe sync
Stuff that actually does things
Protolathe databases yay
Alright got my motivation back
Yeah, no. It's almost 3 AM already
Fix serialization bug again
More work on stuff
Stuff
Adds files for most new components/systems.
* Protolathes actually work now
* Research. Just Research.
* Adds icons from Eris.
* Address reviews
* Change LatheMenu resize behaviour
* Update Content.Client/GameObjects/Components/Research/ResearchConsoleBoundUserInterface.cs
Co-Authored-By: Pieter-Jan Briers <pieterjan.briers@gmail.com>
* Update Content.Client/Research/ResearchConsoleMenu.cs
Co-Authored-By: Pieter-Jan Briers <pieterjan.briers@gmail.com>
* Move IoC Resolve out of for loop
* Address review
* Localize stuff
Same as magazines except they can't be loaded into a weapon.
You can transfer ammo to and from magazines / boxes freely where the caliber matches so you don't need to necessarily match the magazine type.
Used popups to reflect transfer amount.
Also fixed the mag sprite showing as 0 capacity on spawn and the 10mm smg flash magazine prototype
* Removed BoundingBoxComponent.
* Updated prototypes to use refactored CollidableComponent.
* Renamed ICollidable to IPhysBody.
Moved ICollidable to the Shared/Physics namespace.
* Migrated more yaml files to use PhysShapes.
* Updated YAML to use the new list-of-bodies system.
* Updated the new prototypes.
* Update submodule
* Update submodule again, whoops
* Add more dakka
Some slight codebase changes to facilitate more robust behaviour.
* Update Content.Server/GameObjects/Components/Projectiles/ProjectileComponent.cs
Co-Authored-By: Pieter-Jan Briers <pieterjan.briers@gmail.com>
* Remix last stereo to mono
hpistol + ltrifle
* Retrofit the AI system with new IoC features.
Fixed bug with turret rotation.
* Added new AI WanderProcessor, and it works.
* RNG walking directions are a bit more random now.
* Wander now actually uses the MoverSystem to move.
Wander now talks when he reaches his destination.
* Adds a new Static Barker AI for vending machines, so that they periodically advertise their brand.
* Barker now says some generic slogans.
Misc bug cleanup.
* Removed useless UsedImplicitly attribute from AI dependencies, suppressed unused variable warnings instead.
* 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.
* Added the ReagentPrototype class.
* Added the new Solution class.
* Added new shared SolutionComponent to the ECS system.
* Added some basic element and chemical reagent prototypes.
* Added a new Beaker item utilizing the SolutionComponent. This is a testing/debug entity, and should be removed or changed soon.
* Added filters for code coverage.
* Nightly work.
* Added the server SolutionComponent class.
* Added a bucket.
Verbs set up for solution interaction.
* Adds water tank entity to the game.
* Added a full water tank entity.
Solutions are properly serialized.
Solution can be poured between two containers.
* Solution class can now be enumerated.
SolutionComponent now calculates the color of the solution.
* Minor Cleanup.