* ready
* oop forgot the HUD stuff
* woooo examinable generalized tooooo
* oop I forgot to rename the files
* bungled the merge, I guess
* this is called hubris
* Verin's comments
* PR comments
how did I use `ProtoId<> Hunger` in more than a few spots but then just say "thirst can stay a literal :^)"?
also changed a few spots to my beloved
```
functionInvocation(
one
param
per
line
)
```
```
* Satiation effect condition now with ADDED FUNCTIONALITY?? :o
* tfw you trust the markov chain recommendation because long generic type names are tough q-q
* TFW YOU TRUST THE MARKOV CHAIN BUT IT DOESN'T UNDERSTAND THE DIFFERING SEMANTICS OF MAX AND MIN AHHHHH
* tfw you think to yourself "i need to fix the effects", but then forget to and the code doesn't even compile.
* centralize satiation constants
* other small comments
* The enum is dead.
But at what cost?
* oop
* like 12 more ooperses
* green checks are mine by right; I have performed the rites; I have done my part; you will not deny me this succor
* oops I changed the semantics from `<=` to just `<` and didn't update the tests :)
* serialization has bested me :agony:
also PR comments
* never trust the auto merge :agony:
* literally just this
* force engine back to master because idk why it's different
* fix randomness and update master
* submodule fuckery
* fall before my might
* okay I ran the linter, ARE YOU HAPPY??
* cursed ovis, trouble me no more
* protoman stuff
* inb4 linter bonks me
* break non-critical stuff from the main satiation proto
* 
inb4 this breaks something somewhere lmao
* my two greatest PRs COLLIDE
I wonder why robust says it's changed :hmmclueless
* sanity is at an all-time low
* serialization, I guess
* I don't believe you
* field deltas on class \w*satiation\w*components
* PR comments
* 我做泥團子 😔
* doc + kill one property that's trivially accessible after the threshold caching changes
* fixes
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
* 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>
* Shelve
* 22 file diff
* What if it was just better
* Hold that thought
* Near final Commit, then YAML hell
* 95% done with cs
* Working Commit
* Final Commit (Before reviews tear it apart and kill me)
* Add a really stupid comment.
* KILL
* EXPLODE TEST FAILS WITH MY MIND
* I hate it here
* TACTICAL NUCLEAR STRIKE
* Wait what the fuck was I doing?
* Comments
* Me when I'm stupid
* Food doesn't need solutions
* API improvements with some API weirdness
* Move non-API out of API
* Better comment
* Fixes and spelling mistakes
* Final fixes
* Final fixes for real...
* Kill food and drink localization files because I hate them.
* Water droplet fix
* Utensil fixes
* Fix verb priority (It should've been 2)
* A few minor localization fixes
* merge conflict and stuff
* MERGE CONFLICT NUCLEAR WAR!!!
* Cleanup
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Implemented Shakeable
* Prevent shaking open Openables
* Prevent shaking empty drinks. Moved part of DrinkSystem to Shared.
* DrinkSystem can have a little more prediction, as a treat
* Cleanup
* Overhauled PressurizedDrink
* Make soda cans/bottles and champagne shakeable. The drink shaker too, for fun.
* We do a little refactoring.
PressurizedDrink is now PressurizedSolution, and fizziness now only works on solutions containing a reagent marked as fizzy.
* Documentation, cleanup, and tweaks.
* Changed fizziness calculation to use a cubic-out easing curve.
* Removed broken YAML that has avoid the linter's wrath for far too long
* Changed reagent fizzy bool to fizziness float.
Solution fizzability now scales with reagent proportion.
* Rename file to match changed class name
* DoAfter improvements. Cancel if the user moves away; block if no hands.
* Match these filenames too
* And this one
* guh
* Updated to use Shared puddle methods
* Various fixes and improvements.
* Made AttemptShakeEvent a struct
* AttemptAddFizzinessEvent too
* Fix formatting problem with FullOpened
* Moved to Shared and networked
* Revert "Fix formatting problem with FullOpened"
This reverts commit f8353403da830a4402bdd457bcf24a2432a5f566.
* Implement closing; add open/close verbs
* Add breakable seals
* Allow custom verb names; make condiment bottles closeable
* Remove pointless VV annotations and false defaults
* Split Sealable off into a new component
* Should have a Closed event too
* Oh hey, there are icons I could use
* Ternary operator
* Add support for seal visualizers
* Moved Sealable to Shared, added networking
* Replaced bottle_close1.ogg
* Fix outdated component name in assaultbelt whitelist
RangedMagazine was replaced with BallisticAmmoProvider in the Gun
refactor (#8301)
* Move FlashOnTrigger, SmokeOnTrigger, Flash components to Shared
* Move LightReplacerComponent to Shared
* Move Utensil, Mousetrap components to Shared
* Move SprayPainterComponent to Shared
The PaintableAirlock tag has also been removed, as it was unused &
unnecessary, likely a vestige of spray painter development when the
PaintableAirlock component wasn't in Content.Shared.
* Add trivial Produce and Seed components to Client
This allows the plant bag and botanical belt whitelists to correctly
match produce and seeds on the client, fixing the extraneous "Can't
insert" message that previously appeared.
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* component cleanup
* slice system cleanup
* thank you entprotoid
* webedit 1
* webedit 2
* bruh this shitcode has sliceable food with no slice
* ok no persistence
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* add Wooly system
* add RequireDead to Food
* minor fix+cleanup and fix repeating
* minor fix+cleanup and fix repeating
* make goat wooly
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* soap reagent and soapy water
* make soapy water recognizable
* Fix tile cleaning bug
CleanDecalsReaction was able to take more than the reactVolume it was given.
* make soapy water an evaporating reagent
* Tile reactions when mopping
* Fix indescribably soap flavor
* Adjust soap flavours
Soap and soapy water now taste clean and syndie soap tastes like punishment.
* Better soap numbers & DeleteOnSolutionEmpty
* Changed TrashOnEmpty to TrashOnSolutionEmpty
* Last TrashOnSolutionEmpty change
* Fix merged code not compiling
* Requested changes.
* thirst .Owner removal
* thirst file scope
* drink update + minor refactor
* drink file scope
* let animals drink things
* dont eat/drink when dont need to
* admeme mouse override
* moo
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>