* Initial commit with shredder base functionality
* Fix items being deleted and make items continue moving after a grid tile gets deleted
* Make a bunch of previously unpullable/unrecyclable things work
* temp commit
* Fix the recycling hitbox to actually be good code
* Fix material spawning via tiles
* Finish up the prototype visuals for the shredder
* SHRED EVERYTHING
* Add reduced efficiency for recycling with shreder
* Fix miss in conflict merge
* Make more things pullable
* Update shredder textures to look different to recyclers
* Remove unused
* "fix" repairability and sprites
* Update sprites, set up TODO-s
* Fix switches, description
* Fix up some comments
* Add "Do Not Map" to the smelter
* Add to meta.json
* Review fixes
* Review changes
* Review changes
* Remove readonly in new system
* Aaaand partial class
* Fix the final test issues
* Update and resolve merge conflicts
* Update the impulse strength to match new mass values
* Fix issues after merge conflict
* Update size, fix physics resolve errors, prevent computers/circuitboards from being deleted
* Review comments
* Fix tiles giving steel
* Add a todo about tilestacking
* Fix items deletion on recycling for entities with `ItemSlotsComponent`
* Make it to be dependent on `DestructionEvent` instead
* Revert testing changes
* Actual proto fix
* Fix some other recyclable prototypes with ItemSlots
* Remove all IPrototypeManager instances
* Remove redundant IComponentFactory instances too
* Found some stragglers
* DestructibleSystem.PrototypeManager: no dependency
* not based
* Everything except the YAML slop...
* She solution on my manager till I sajfslkahfsjakfhaskjfshajksafhfsakhfasjfas
* another 1000 lines
* fix chem dispenser size
* go my shnelf
* Implicit ass
* rider is being mean for some reason
* dasdas
* borger
* better formatting go!
* clothes/bloodstream
* Cartons
* cups and bottles
* mmm soder
* bar drinks
* Spray bottles and some size tweaks with hindsight
* 99 bottles of beer on the wall I hate YAML
* push that shit
* mmm burger
* Sneed
* sheets
* condiments
* mmm yummy
* fridge yummyfood
* meat...
* sub 300
* burger...
* bready
* let them eat cake
* does she know how to make a grilled cheese?
* pizza pie!
* misc shit
* soup or salad
* Food and drinks, vanquished
* the cubes!!!
* Almost free from YAML...
* fix test fails and some yaml issues
* fix prediction, almost done
* fix all test fails
* remove master merge artifacts and undo autonetworking
* review and compatibility
* graaah
* unfuck master merge I hate github
* merg conflicts
* sfsa
* ehoop
* sadas
* afsafsaasf
* merge conflicts
* fucked up the merge conflicts
* merge conflict is fucked I might need to completely redo this branch
* test fail
* no calcium????
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* initial visual nubody
* oops overlay
* im so pheeming rn
* conversion...
* tests
* comeback of the underwear
* oops eyes
* blabbl
* zeds
* yaml linted
* search and visible count constraints
* reordering
* preserve previously selected markings colors
* fix test
* some ui niceties
* ordering
* make DB changes backwards-compatible/downgrade-friendly
* fix things again
* fix migration
* vulpkanin markings limit increase
* wrapping
* code cleanup and more code cleanup and more code cleanup and more code cleanup and
* fix slop ports
* better sampling API
* make filter work + use the method i made for its intended purpose
* fix test fails real quick
* magic mirror cleanup, remove TODO
* don't 0-init the organ profile data
* remove deltastates
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Decouple gibbing from the body system
* allow gibs that don't drop giblets
* pass through user
* prediction gon
* comment
* destructible
* playpvs
* very very very very very very very minor cleanup
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* eye on the prize
* OnStackInteractUsing, TryMergeStacks, TryMergeToHands, TryMergeToContacts
* namespace
* Use, get count, getMaxCount
* component access
* add regions, mark TODO
* obsolete TryAdd, public TryMergeStacks
* GetMaxCount
* event handlers
* event handlers
* SetCount
* client server event handlers
* move to shared
* Revert "move to shared"
This reverts commit 45540a2d6b8e1e6d2a8f83a584267776c7edcd73.
* misc changes to shared
* split
* spawn and SpawnNextToOrDrop
* SpawnMultipleAtPosition, SpawnMultipleNextToOrDrop, CalculateSpawns, general server cleanup
* Rename Use to TryUse.
* Small misc changes
* Remove obsolete functions
* Remove some SetCount calls
* Partialize
* small misc change
* don't nuke the git dif with the namespace block
* Comments and reordering
* touchup to UpdateLingering
* Summary comment for StackStatusControl
* Last pass
* Actual last pass (for now)
* I know myself too well
* fixup
* goodbye lingering
* fixes
* review
* fix test
* second look
* fix test
* forgot
* remove early comp getting
---------
Co-authored-by: iaada <iaada@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Material Silo
* fix board, fix copyright
* a bit of review.... for the vibe....
* a tiny bit of review
* 4 spaced
* sloths no good very tiny nitpick
* fix ui flickers
* oops
* slightly lower range
* Sloth Review
---------
Co-authored-by: ScarKy0 <scarky0@onet.eu>
* Fix error log when recycling something with small material counts.
MaterialStorageSystem.SpawnMultipleFromMaterial now doesn't call StackSystem.SpawnMultiple if it tries to spawn zero. This happens because the recycler calls SpawnMultipleFromMaterial for everything recycled, even if the amount it has stored is < the amount for one sheet.
* Update Content.Server/Materials/MaterialStorageSystem.cs
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Returned functionality to industrial reagent grinders without un-nerfing recyclers
* Limited industrial reagent grinder to only extractable solutions
* Power stuff
- Add shared IsPowered
- Add shared ResolveApc
- Move PowerChangedEvent to shared for now
- Add SlimPoweredLight that actually functions how you'd expect a PoweredLight to function it id didn't have a bunch of bloat on it.
* big update
* boing
* melee executions
* fix damage bug
* cleanup
* address reviews hopefully
* resistance bypass mechanic
* component changes
* self executions (not finished yet)
* self execs part two
* ok i fixed things (still not finished)
* finish everything
* review stuff
* nuke if (kind = special)
* more review stuffs
* Make suicide system much less hardcoded and make much more use of events
* Fix a dumb bug I introduced
* self execution popups
* Integration tests
* Why did they even take 0.5 blunt damage?
* More consistent integration tests
* Destructive equals true
* Allow it to dirty-dispose
* IS THIS WHAT YOU WANT?
* FRESH AND CLEAN
* modifier to multiplier
* don't jinx the integration tests
* no file-scoped namespace
* Move the rest of execution to shared, create SuicideGhostEvent
* handled
* Get rid of unused code and add a comment
* ghost before suicide
* stop cat suicides
* popup fix + small suicide change
* make it a bit better
---------
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
* move SolutionTransfer to shared and predict as much as possible
* fully move OpenableSystem to shared now that SolutionTransfer is
* fix imports for everything
* doc for solution transfer system
* trolling
* add scoopable system
* make ash and foam scoopable
* untroll
* untroll real
* make clickable it work
* troll
* the scooping room
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.
* Missed a few
* Revert changes to pulling
* No
* Add logs to things
* Make the message log be saved as msg because I forgor before.
* Log fails when getting an entity that doesn't exist
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* SS14-23184 Migrate Lathe Material Ejection Code to MaterialStorage
The lathe material ejection code acts as a do-nothing
man-in-the-middle system that does work that would be
reasonable for any MaterialStorage-using machine to
use. This has been fixed by migrating the ejection
code to MaterialStorage, allowing anything that uses
the system to eject mats it is storing.
* Fix some YAML references. Science!!
* Creates Content.Shared.Chemistry.Solutions
Copies Solution class to new namespace
Obsoletes old Solution class
* Switches over to the Solutions.Solution Solution
* Creates Content.Shared.Chemistry.Containers
Copies relevant components/systems to the new namespace
Obsoletes old versions
* Switches over to the Containers.XYZ namespace
* Creates SolutionSystem and obsoletes old SolutionContainerSystem methods
* Start using SolutionSystem for Solution manipulation
* EnumerateSolutions
* Move TryGetMixableSolution
* Move EnsureSolution to Server
* Create Solution Entities
* Stop using obsolete solution system methods
* Fix prototype component tests
* Add using ..Audio.Systems; back
* Wrap solution container slots in ContainerSlots
* Actually add the slot to the solution container map
* Dirty SolutionContainerComponent when ensuring solutions
* Revert namespace changes
* Remerge SolutionSystem and SolutionContainerSystem
* SolutionContainerManagerComponent refactor
* Avoid wrapping necessary code in DebugTools.Assert as it is removed when compiling for release
* Readd examine reagent sorting
* Fix errors
* Poke tests
* Fix solution names not being applied
* Fix WoolyComponent including statement
* Fix merge skew
* Fix compile errors
* Make reactions use solntities
* Reindent solution class namespace
* Field attribute changes
* AutoGenerateComponentState for SolutionContainerComponent
* SolutionContainerComponent -> ContainedSolutionComponent
* ref ReactionAttemptEvent
* Denetwork preinit solutions
* Misc 1
* Nullable TryGetSolution out vars
* Cache associated solutions
* Fix merge skew
* Use explicit regions in SharedSolutionContainerSystem.Capabilities
* Add debug assert
* Use explicit regions in SharedSolutionContainerSystem.Relay + ref SolutionContainerChangedEvent
* ContainedSolutionComponent.Name -> ContainedSolutionComponent.ContainerName
* SolutionComponent doc comments
* Implicit DataField names and property purge
* ReagentEffect DataField names
* Local variables for readability
* Sort using statements + Entity<T> event handlers
* Fix compile erros
* Fix compile errors
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* Fix saw sound error on client
The sound tried to play using shared PlayPvs which doesn't work on client. PlayPredicted handles client and server.
Fixed NextSound not playing again while continuously gibbing items.
* Fix duplicate splat sound on Recycler gibbing