* Botany: Introduce shovel and spade into hydro\_tools
* Botany: Add shovel/spade (just removes plants)
* Botany: Add shovel/spade lathe recipes and make all botany lathe recipes accessible
* Botany: Add spade into Saltern
* Botany: Give Saltern a bucket for the botanist
* Botany: Plant produce can be composted for nutriment/etc.
* Botany: Bye-bye duplicated force update code, hello ForceUpdateByExternalCause
* Botany: Shovel identity crisis resolved (thanks Paul)
* Get rid of the OverlayEffectsComponent stuff because it just ended up creating workarounds for it's bugs, without removing any functionality
* Flashes and Flashbangs use the same code now (the Flashable path because it's better)
* Ported sprites from eris
* Added yml
* lid open/close logic
* interactivity
* Working on new secret stash component
* Object will drop on destruction
* Can get item and examine message
* Reagent container and some cleaning
* Moved potted plant to stash
* New base prefab
* Now you can deconstruct toilet
* Small fixes
* Fixed unknown components errors
* Fixed grammar errors
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
* Now use prob
* More grammar
* Update Content.Server/Construction/Conditions/ToiletLidClosed.cs
Aaaaaaaa
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* No delays
* Amazing sound design
* Moved sound to mono
* Toilet viz
Co-authored-by: Paul Ritter <ritter.paul1@googlemail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Moves piping visualizers to own folder
* Pump visualizer update
* Siphon and vent visualiser only set enabled visibility
* PipeVisualizer cleanup
* Replaces off vent/scrubber sprites
* Gas filter sprite update
* Revert "Gas filter sprite update"
This reverts commit 676e5d55e1157a229b1445eeea53a5c8032dbbb5.
* Rotates gas filter sprites to match T-junction pipe directions
* Removes pipes from scruber and vent state
* Makes sprite components use layers
* disabled sprite netsync on piping entities
* piping meta.json cleanup
Co-authored-by: py01 <pyronetics01@gmail.com>
* Code is ready but item now spawning
* Prototype of SeveralExplosive component
* Remaked to FlashExplosiveComponent using
* Done. But i feel myself retarted
* Remaked. Looks good
* Full loaded prototype added
* Throwing in progress. Fatal error is here
* I forgot about shared
* Sloth refactor
* Delayed spawning and fix crashes
* Full clusterbang code.
* Removed useless variable and tuned delay
* Delete wrong in CreamPiedComponent
* Now yaml is code quality followed
* Reworked to GetLevel with bugs
* Never forget resources, guys
* RoundToLevels added. Now it works.
* New textures and sloth refactor is returned
* Now it's TryGetComponent
* Visualizer maximum fix and look fix
* Logging and no max and min check
* Removed max grenades sending
* vizualizer is better now
* GrenadesMax removed
* grammar, checks, NextFloat and no more try catch
* Unused using removed
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Singularity Engine: Containment field emitters emit light, making use of soft shadows
* Singularity Engine Containment Emitter Lights: Clean up component dependencies & remove now-useless point light enable check
* Adds gibbing
* Adds adminbused absurd-damage foamblade
* Sane parts
* BaseOrgan -> BaseMechanism
* Do not do random offset on shared, fix killing oneself with click attacks
* BaseMechanism -> BaseHumanOrgan -> *stuff*
* Account for prediction, again
* Add gibbing sound
* 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>
* 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