* adjust fields of meal recipe prototype
* document microwave recipe datafields
* use file scoped namespace for microwave recipes
* more of this
* localize every microwave recipe
* make microwave system shared
* refactor recipe reagent contents
* refactor recipe solids + add material ingredient datafield
* im making this a bit less silly
* awa
* move this shit out
* move this shit out also
* refactor Wzhzhzh
* im gonna shorten this parameter by 1 actually
* move this into recipes
* make processcontents a little better(?)
* clean imports
* rename a struct
* use cooking ingredients struct
* comment
* use whitelist for this
* unused dependency
* rearranged the parameters of get recipe portions
* rearrange some stuff
* clean up more imports
* move container related functions into separate file
* move this function out of ProcessContents
* prevent microwaves from having items inserted while active
* use IsPowered in microwave system
* use byref syntax and Entity<>
* moving the override up
sorry i like it being up here
* refactor microwave updating
* clean up recipe finish logic
* im renaming this function actually
* move some functions around
* move more stuff around
* some comments
* fix compiler error
* fix the yml of all microwave recipes
* use materials instead of solids for this stuff
* oops
* fix this
* turn microwave sparks into datafield
* move activelymicrowaved events into separate folder
* make UpdateUserInterfaceState use entity only
* rearrange some functions
* move UI functions out
* comment microwave UI stuff
* more comments
* comment recipe functions
* refactor GetTotalIngredients to use an operator
* give CookingIngredients addition methods
* comment the rest of CookingIngredients
* make subtraction functions clearer?
* remove redundant comment
* handle zero/negative ingredient cases
* simplify subtract contents logic
* fix these comments
* typo
* add microwave recipe test
* move active microwave methods
* comment active microwave methods
* comment cooking methods
* comment microwave methods
* change setappearance to use entity<>
* add some public api decorators
* comment all of MicrowaveComponent
* use file-scoped namespace for MicrowaveComponent
* comment
* fix baguette sword
* maybe...?
* oh oops
* document the rest of the owl
* kill the massive YML breaking change
* fix protoman dependency
* move shared microwave stuff to SharedMicrowaveSystem
* fix usings
* move microwave components to shared
* fix up microwave datafields
* move APIs to shared
* move activemicrowave methods to shared
* initialize on shared
* move ui functions to shared
* add actor here
* stuff
* predict microwave update loop
* make clientside microwave system
* adjust the update loop for microwaves
* clean up
* add field deltas to microwaves
* dirty fields instead of whole component
* move this to the partial
* move GetRecipesForMicrowave to shared
* comments
* predict microwave BUI
* oops
* refactor microwave bui update
* move UI messages to shared
* move messages to UI file
* move init to shared
* move container methosd to shared
* oops my using
* move cooking functions into partial
* move cooking methods to shared
* move microwave recipe methods to shared
* move the rest of the microwave events to shared
* update imports
* remove custom type serializer
* better (?) microwave UI prediction
* fix list notations
* OK IT WAS THE DATAFIELDS
* add IOC inject
* dont use IOC for htis
* sealed
* prediction fixes pt1
* make microwave cooking updates more consistent
* datafield tweaks
* test for multiple portions in microwave recipes
* test for multiple recipe portions
* better(?) prediction for malfunctions
* remove redundant comment
* prevent solution reactions in microwave
* cleanup some microwave stuff
* eh i think this should be container actually
* this can be API i think
* reduce system redundancy
* this has to be public
* use resolve pattern for explode
* use GetMicrowaveContents in microwave system
* this can be an API too
* add conversion script for unlocalized recipes
* use EnsureComp instead of AddComp
* suffering
* fix recipe prediction
* fix the audio
* reduce redundant networking
* i think this should be autopaused?
* nevermind we use dynamic portions in the test
* oops i wrote the test wrong
* make lemoon cake take 2 lemoons again
sorry test fail
* rename "materials" to "stacks"
realized theyre different
* add stack guidebook quantities
* Kill audio
* fix lemoon cake recipe for real?
* mark PortionedRecipe as a datadefinition
* fix the microwave timer
* review
* cleanup
* Update SharedMicrowaveSystem.Recipes.cs
* update
* add audio params
* review: inject microwavesystem
* review: named variable
* review: move dependencies
* review: use gametest for recipe test
* review: make access attributes standalone
* rename prototypes and datafields
* review: rename this var
* review: move this function down
* review: remove these scripts
* actually this should stay
* refactor cook time buttons
* review: use a color name for this
* fix timer reset
* Dirty
* review: make ActivelyMicrowavedComponent networked
* review: slarti comments part 1
* review: remove serializable attribute from CookingIngredients
* rename file
* review: more microwave audio boilerplate. yippee!
* review: use resolve pattern for TryGetStackId
i dont like the way this makes the rest of the code look but we ball maybe. i dont know what else to do here
* review: move ui update to constructor
* review: kill LastCookUpdated
* actually i do this instead
* fixed up the PR
* cleanup
* ///
* Update microwave.yml
---------
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
* Yay
* Do a LOT changes in yml
* and again
* Finale changes
* yml and locale
* locale tweak
* yml and charp cleanup
* fix carpets
* and some-some
* And some
* I want to believe that its last🙏🙏
* 😭
* 😭😭
* clean
* fix
* AAHHAHAHAHAHAH
* fix
* FINAL
* thisguyusa...
* LAST_ONE
* wawa
* merge2
* sdobfjibwdsjaqaksmzxsowaw2edqw84
* aoaoaooaoaao
* this hardcode took 30 minutes of my life
* fix aaaa
* fix test
* FIX BUILD
* oops
* oops
* aaooaoaoa
* fuck
* oops
* refactor: cleanup after merge + use protoId in KitchenSpikeComponent
* refactor: fix butcherable stuff again!~
* fix: now actively checks for EdibleComponent on slicing, predicted items splitting
* fix: changed knife.yaml to use Slicing tool
* fix: no more sounds spam on chop-chop
* refactor: cleanups
* refactor: default time value for slicable
* refactor: whitespaces and extract variables
* fix: slicable no longer prevents InteractUsingEvent by marking handled w/o actually handling
* feat: chopping trees now requires sawing tool, same for slicing logs
* refactor: cleanup after merge
* refactor: fix non-related PR changes
* refactor: rename locid
* refactor: remove unneeded red 'slice' verb name when slicing entities with mob-state.
* refactor: simplify test code changes
* refactor: better readability for test
* refactor: linebreak for unary op
* refactor: xml-doc for SliceableComponent corrected to be more fitting.
* refactor: cleanup SliceableSystem some more
* refactor: use HasComp instead of TryComp in AddSliceVerb
* refactor: extracted methods to improve readability
* refactor: remove unchecked operator - not needed when casting from uint
* refactor: SliceableSystem cleanups, fix logs not being chopped due to solution splitting
* fix: slice verb is now showing up even if disabled, slicing is done even if there is no solution to split, replaced direct dependency for sliceable component to food component with default solution-name
* refactor: comment about RandomPredicted + toy knife now fits into clown shoes
* refactor: remove EdibleComponent dependency from SliceableSystem
* refactor: moved SliceableSystem into ToolRefinableSystem
* refactor: basic renaming for comps
* refactor: cleanup after merge
* refactor: reorder methods, renaming, simplify polymorph related conditions on slicing
* refactor: xml-doc + reorder yaml fields
* refactor: fixing yaml + method renaming, unused usings removed
* refactor: removed unused usings
* refactor: fix typo
* refactor: remove reference for deleted meat proto
* refactor: clean up yaml after merge
* refactor: fix multiple typos from mass replace
* refactor: fix missed field renaming
* refactor: ensure all entities that had ToolRefinable got BaseSlicingRefinable (aftermerge cleanup)
* refactor: undo solution-related changes for animals.yml
* refactor: fix invalid parent set for corgi + fix amount of slices for the rest of pies
* refactor: revert Solution to SolutionContainerManager changes after merge
* refactor: revert Solution to SolutionContainerManager changes after merge
* refactor: fix invalid property name for toolMissingQualityTooltip in yml, fixed missing entity on which AttemptToolRefineEvent is raised
* refactor: remove over-indent for components of BaseSlicingRefinable and for Slicing tool quality
* refactor: remove over-indentation on MobCarpHolo
* empty collection
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: Fildrance <fildrance@gmail.com>
Co-authored-by: iaada <iaada@users.noreply.github.com>
* Add special microwave board to Combat Bakery Kit
* use event instead of trycomp
* make the board sus
* add instructions note
* embarrassing typo
* Add functionality to Donk Co. microwave instead
* update note
* Facelift Microwave UI
Includes new background light in UI, Uses predictive input, UI now properly disables buttons when microwave is active
* Microwave now shows Elapsed time
* Fixed bad formatting
* Added new term for "BottomMargin"
* Change yellow color
* Update StyleNano.cs
just spacing fixed
* Cook time countdown now detached from server
Instead of the server constantly sending out messages for the cook countdown, it is now predicted client side using TimeSpan
* Update MicrowaveMenu.xaml
forgot to re-add item space
* 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>
* Refactor ReagentGrinder
- It can now process partial stacks. (Before it would do nothing if the entire stack's solution didn't fit in the output container)
- Get rid of `SharedReagentGrinderComponent`, move shared stuff to `SharedReagentGrinder.cs`.
- Subscribe to events instead of massive switch/case.
- Get rid of update queue thing.
- Change `DoWork` so it's less duplicate code for grinding/juicing.
- Get rid of `ExtractableScalingEvent` and just scale directly based on item stack count.
- Add message for when you try to put something into the reagent grinder that doesn't fit.
- Fix obsolescence warnings.
* Use a timer on component instead of SpawnTimer
* s/StorageCap/StorageMaxEntities
* Transform the Cloning Pod visualizer into a generic enum visualizer for simple cases like it
...I find it helpful at times like these to remind myself that our true enemy is
code. Code is what makes our programs run and generally is required for all of
these machinations to function in any way at all...
* Give the kitchen/meat spike a visualizer
* GenericEnumVisualizer: Byteify enums, switch to TryGetComponent for sprite
* Rename SolutionContainerCaps -> Capability
* Move IExamine event to Chemistry System.
* ECS the ISolutionChange into SolutionChangeEvent
* Unify SolutionContainer into a single shared component
* Replace ISolutionInteraction with SolutionContainerComponent
* Move all methods from SolutionContainer to ChemistrySystem
* Refactor EntitySystem calls to Dependencies
* Refactor SolutionContainer to SolutionManager
* Fix yamls
* Fix test fails
* Fix post merge issues
* Fix various issues with SolutionManager
* More fixes
* Fix more components
* Fix events not being directed
* Fixes for Hypospray
* Separate removal and iteration on Metabolism
* Fix creampie problems
* Address some of sloth's issues
* Refactors for Systems
* Refactored solution location
* Fix tests
* Address more sloth issues
* Fix dependency
* Fix merge conflicts
* Add xmldocs for Capabilities components
* Remove HasSolution/TryGetDefaultSolution and Add/Remove Drainable/Refillable
* Replace Grindable/Juiceable with Extractable
* Refactor field names
* Fix Drainable
* Fix some issues with spillable and injector
* Fix issues with Grinder
* Fix Beaker having duplicate solutions
* Fix foaming
* Address some MGS issues
* Fix Uid issues
* Fix errors in solution Tranfer
* Fixed some extra values constant values
* Cola is drinkable now
* Remove the unnecessary NetID property from ComponentState.
* Remove Component.NetworkSynchronizeExistence.
* Removed Component.NetID.
* Adds component netID automatic generation.
* Removed NetIdAttribute from serverside components with no corresponding clientside registration.
* Completely remove static NetIds.
* Renamed NetIDAttribute to NetworkedComponentAttribute.
* Add GenerateNetIds calls to client and server entry points.
Add test to make sure auto generated NetIds are identical.
* Component changes when rebasing that I am too lazy to rewrite into the branch.
Co-authored-by: Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>