This PR significantly reworks some parts of the mood system, namely by
completely restoring and reworking the saturation scale shader so that
its not completely terrible. Additionally, I've added numerous new
instances and locations where Moodlets can be found in the game,
particularly when it comes to food and drugs, as well as a new Mood
interaction with the Deep Fryer. Chef gameplay is significantly expanded
via the introduction of flavor related moodlets, as well as the almighty
deep fryer giving a unique, moderately strong, and long lasting moodlet
to anyone who eats whatever you deep fry.
Go ahead, give someone a deep fried stick of salted butter coated in
chocolate. You'll make their day.
The big differences with the Saturation Scale are that its now variable,
with smooth transitions, with the scale scaling with your character's
mood. The more depressed you are, the more desaturated the world
becomes. Whereas if you have entirely too many positive mood bonuses,
the world becomes incredibly vibrant.
<details><summary><h1>Media</h1></summary>
<p>
Shoukou's Bar as seen by someone with the Sanguine trait(and no other
moodlets)

Max mood

Saturnine trait:

Minimum mood(dead)

Smooth transitions for shader tone.
https://github.com/user-attachments/assets/3ab55da1-eca6-4cc5-9489-f4ad13ed0f27
</p>
</details>
🆑
- add: Re-enabled the "Mood shader" after significantly reworking it.
Mood visual effects now scale with your character's mood, instead of
only ever being near-greyscale. Being high life now makes the world more
colorful and saturated.
- add: A huge variety of medicines, drugs, and even food items(based on
flavor!) now have mood effects. Reaching for the packet of salt now
actually makes food provide a better mood buff.
- add: Being Tear-gassed causes a massive mood penalty.
- add: Deep frying food provides a strong mood bonus.
- add: Added new Manic, Mercurial, and Dead Emotions traits.
Signed-off-by: VMSolidus <evilexecutive@gmail.com>
* 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>
(cherry picked from commit 9cd6e4dccdfaa7e273417e3c94d66b5171c7d841)
* 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>
* Food and Utensil to ECS, Made utensil less restrictive, no more soup eating with a knife...
* AltVerb "can eat" check
* removed HasFlag calls
* AltActionVerb -> InteractionVerb
* "required utensil" filed
* Convert StomachBehavior to a component/system + rejig body namespaces
* test
* slightly more namespace changes
* remove
* Hello?????
* fuck you github test runner
* reviews
* oobsy!
* basics & visuals
* pneumatic cannon works perf
* loc + popups
* gas tank does stuff + queue changes
* updates
* b
* forcefeeding
* inhand
* crafting!
* pie cannon now is a pneumatic cannon
* oopy
* fix for entman + verbs
* pie
* change for tools
* actual
* combat mode + better sounds
* reviews
* Move entity solution entity systems to shared
* Move SolutionComponents to Server
* Fix namespaces
* Remove Networked Component.
* Fixes
* Add components to ignore list
* 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 PillComponent
* Make food without any solution left delete and create trash
* Replace PillComponent references with a Pill tag
* Clean up
* Add swallow message to food
* Change to eatMessage override
* Change FoodComponent transferAmount to nullable
* Change properties to private