* Fixed engineering hardsuit helmet sprites and add flashlight component
* Add better cell for helmets and setup all engi helmets
* Flashlights for rd and medicals
* Mining and secs helmets
* HoS and syndies
* Wiz hardsuit
* Added bool _placeCentered to check if an entity must be placed at mouse position or center of the PlaceableSurface (+ offset) when dropped.
* private variables formatted to camel case
* Use EqualsApprox in the setter for PositionOffset
* -Changed client-side SurfaceComponent to camelCase
-Added placeCentered and positionOffset to PlaceableSurfaceComponentState
-Getter and setters for placeCentered and positionOffset client-side
* Update Content.Client/GameObjects/Components/PlaceableSurfaceComponent.cs
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* Add "_" to private vars name
* Made YAML properties camelCase
* Add "_" to private vars name
* Call Dirty() when IsPlaceable,PlaceCentered and PositionOffset are changed.
* Removed Dirty() from client.
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
* #272 proper open sides in menu buttons
* #272 WIP, good starting point for making
the top menu work well at different UI scales
* #272 WIP top menu looking better, but inconsistent size
* #272 WIP esc nice and big
* #272 consistently sized top buttons
* #272 proper highlighting of top menu elements
* #272 proper highlighting of top menu elements
* #272 nice shiny red tutorial button
* #272 better tutorial icon
* #272 missed svg changes
* #272 consistently sized top menu
* #272 better padding / alignment of top bar with other UI sections
* #272 fix hamburger menu height to
match others
* #272 top menu name set based on
keybind, use shortened names if possible
* #272 top menu name set based on
keybind, use shortened names if possible
* #272 add top menu actions button
* #272 add top menu admin button
* #272 fix sandbox top button down status
* #272 remove todo
* Renames WindowBreak soundCollection to GlassBreak
* Implements destructible lightbulbs
moved the parent to the top as well
* Fixes the old `glassbreak` soundCollection, renames it
* Deletes the windows.yml version of glassbreak
* Fixes the sound for bulbs being thrown
* Removes name from abstract lightbulb
* Implements IDestroyAct for lightbulbs
* Implements onBreak for lightbulbs
* Lights get damaged by getting hit and throwing
* Lights now have an intermediate 'broken' state before destruction
* Moves ContainsReagent from SolutionContainer to Solution
* GetMajorReagentId from SOlutionContainer to Solution
* Makes capability checks use HasFlag
* Moves Solution Color calculation from SolutionContainer to Solution
* Replaces SolutionContainerCaps.NoExamine with CanExamine
* Misc SolutionContainer.Capabilities yaml cleanup
* Removes HasFlag usage in SolutionContainerComponent
Co-authored-by: py01 <pyronetics01@gmail.com>
* Fix SpawnEntitiesBehavior crash and add test
* Fix comparer, add duplicated behavior
Turns out this isn't Java
* Threshold behaviors are now "linearly" executed
* Fixes YAML threshold behaviors to be linear
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
* Revert "Make handheld explosives affect tiles (#2806)"
This reverts commit 005e142949.
* Fixes tiles being destroyed under walls by an explosion
* Extra imports removed
* Handles explosion in space and different grids
This handle explosions across different grids, and tiles are still protected if there is an entity airtight and currently blocking air on top of them that survived the explosion.
* Some bug fixes
- The way tiles were being protected was silly.
- Big explosions cause a lot of objects to trigger multiple events and at the same time they are destroyed.
- Explosions spawning inside containers like closets work now.
* Range bug fixes
* Explosive
The explosion works even if the entity exploding is inside multiple 'layers' of containers like.
bomb -> survival box -> tool box -> closet
* Explosions are different now
Explosion can't jump over walls now.
Explosions work like rays now, if an explosion breaks a wall it can scatter inside the room.
If entities are behind impassable entities that survive the blast they are left unscathed.
* Little fix
* Remove the extra lookup of tiles
* Another small change
* Restore the second lookup
I thought this was extra, but this protects the tile under it if there is an Impassable entity on top. None wants anchored girders on top of lattice/space
* Changing order of conditions
IsBlockedTurf is cheaper to run than InRangeUnobstructed.
* Yep