* 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>
* 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!!
* Material Reclaimer
* Fix this test
* autostack output, tweak volume, add upgrade examine
* whitelist AND blacklist support
why not
* trying so hard to get this fucking test to work
* EmoGarbage delves into MaterialArbitrageTest, never to return
* VV and restore cloth to glory
* make the system more robust
* even more stuff has composition; add blacklist for important items
* fix test fails
* convert recycling
* forgor :sadge:
* lol
* simply a modiCUM of doc commentary
Entities with MaterialStorageComponent should not accept materials if
they are supposed to be powered, and are not actually powered.
This fixes being able to insert ores into unpowered or unanchored ore
processors, among other issues.
* lathe and material storage refactor
* materialStorage ECS
it kinda sus tho
* beginning the lathe shitcode dive
* couple lathe visuals and lathe system
* lathe changes and such
* dynamic lathe databases
* rewrote internal logic
on to ui
* da newI
* material display clientside
* misc ui changes
* component state handling and various other things
* moar
* Update Content.Shared/Lathe/LatheComponent.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* first volley of sloth review
* more fixes
* losin' my mind
* all da changes
* test fix and other review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>