* Disable footstep sounds for ghosts
Adds a check before playing footstep sounds to check if the mover is a ghost. Doesn't play footstep sounds if they are a ghost.
* Add FootstepSoundComponent
Adds FootstepSoundComponent. If a mob has this component, it will make footstep sounds. Otherwise they will not. As of this commit humans have this component and ghosts do not.
* Fix construction ghost shader name
Construction ghosts were using a shader called `selection_outline_unshader`, which is not a valid shader name. This caused a crash when constructing things. This fixes that problem by updating them to use a valid shader `unshaded`.
I haven't followed the changes to shaders, but it's likely that this was caused by the shader name being changed and not updated in the construction ghost prototype.
* Remove specific outline shader for construction ghost prototypes
No longer needed.
* 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.
Upgraded ChatBox to use Keybinds.
Put cursor at the end of text of ChatBox history.
Fixed FocusChat hotkey getting called when typing in a LineEdit.
Added Keybinds.
* 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.