* port 35190
* HungerProduction
* SolutionProducer
* update
* move to server
* small tweak for Shearable
* fix
* ProductionAttemptEvent
* EntityProducer
* update EggLayer
* EntityTable
* no more actions on EggLayer
* move popups to comp
* kill EggLayer
* new locale
* rename field
* upd
* SatiationType
* rename to SatiationProduction and lil docs
* EntityQuery
* more docs for god of docs
* small fix
* more queries
* fix prediction and solution duplication issues
* lock down
* wait I fogrot other systems need to read this id I'm stupid
* fix
* actually throw
* better comment and obsoletion
* master merge + fix popup text
* netowkring fix
* better debug assert
* back to basics
* dumbb
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* 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>
* fix: formating warnings
* split GetAbsorbentReagents into string and protoid
* fix: changed SplitSolutionWhitout [obsolete] to use new method
* fix: missing using directive after merge
* Replaced methods with ProtoId variant
* Initial commit
* Small QOL buff
* Review changes
* Ch-ch-ch-ch-chaaaanges
* Review changes
* oops
* Oh ya fix the fill thing
* cleanup warnings make a few more private methods
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* feat: predict evaporation
* refactor: move puddle update logic to shared
* refactor: move more puddle stuff to Shared
Still can't do stuff that creates puddles :(
* refactor: move puddle transfers to shared
* fix: various style fixes + switch to predicted variants
* style: make some puddle stuff private instead of protected
* refactor: move solution dumping to its own system
* docs: clarify Drainable/Dumpable/Refillable docs
Also whacks unneeded VVAccess's.
* fix: audit usages of drainable+refillable
I'm leaving spear and arrow for now... but I don't love it.
* Added an item query I guess
* Review changes
* You can pour out waterguns
* Review changes
* oops
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
* initial it works
* clean it up
* yml
* datafield the LocIds
* move from the other branch
* no max vol on puddles and anoms
* closed
* Changes inspired by #39008
* small bug and more color range
* puddle changes and more examinable solutions
* lint
* small change
* requested changes
* un-delete
* tiny comment
* 1 less loc id in this world
* request and last second change
---------
Co-authored-by: iaada <iaada@users.noreply.github.com>
* Replace usages of customTypeSerializer PrototypeIdListSerializer with something that doesn't take 20 separate words to type out
* Missed one
* Missed another
* Fix data field ids
* refactor: move puddle evaporation + absorbents to shared
* refactor: move SolutionRegeneration to shared
* refactor: make AbsorbentSystem visuals clientside
* style: general formatting/cleanup on touched files
- Few logical simplifications
- Add field for hard-coded sparkle effect ent
- Switch stuff to Entity<T>
No actual prediction fixes in this commit (though in
retrospect I should've done this commit last).
* fix: use predicted variants for predicted code
* fix: average out evaporation rates in mixtures
* refactor: move SolutionPurge to shared
* style: Basic SolutionPurgeComponent field cleanup
* fix: general prediction + timing + networking fixes
- Moves client side visuals back to shared because other
players exist
- Don't accumulate CurTime in Purge/RegenerationSystem
- Network the next update field in Purge/RegenerationSystem to
deal with UI mispredictions???
* fix: add udder bug workaround
Not needed for SolutionPurgeSystem which doesn't resolve
solutions (probably fine that SolutionPurgeSystem doesn't
cache since it's much rarer, though it probably should), and
likely not needed for AbsorbentSystem since it only resolves
against puddles which, I don't think can be in containers.
* fix: don't divide by zero for evaporation speed = 0.
* refactor: revert evaporation changes
Will cherry-pick these out in another PR.
Also reverting the evaporation speed bugfix since it's easier
to revert all at once. :)
* fix: component cleanup; autopause fields, use ProtoID
* fix: remove unused AbsorbentComponentState
* fix: ProtoId is not string
* refactor: move PuddleSystem.UpdateAppearance to shared
* style: general PuddleSystem.UpdateAppearance tweaks
- Switch to Entity<T>
- Use ProtoIds
- Minor simplifications
* fix: add udderly silly PVS workaround
* cleanup
* fix
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Use Solution clones when applying SolutionComponent states
* Revert "Use Solution clones when applying SolutionComponent states"
This reverts commit 013fd111cf92b22562e00f98a7aaa49bc4b4ed62.
* Make Solution implement ICloneable and rename Clone method.
* Copy CanReact value when cloning a Solution
* Convert to IRobustCloneable
* G O I D A
* how
* now proper
* a
* Update HypospraySystem.cs
* good catch
* Apply suggestions from code review
---------
Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* feat: now vacuum cleaner can suck solutions from floor
* refactor using AbsorbentSystem instead of separate vacuum cleaner
* refactor: remove unused vacuum cleaner files
* refactor: renamed ConnectedContainerComponent to SlotBasedConnectedContainerComponent (and system)
* fix: fix invalid comp name
* fix: no more spray nozzle messaging about water inside bottles etc.
* refactor: minor refactor in SlotBasedConnectedContainerSystem and adjustments after merge
* refactor: cleanups
* refactor: renaming
* refactor: update to use _puddleSystem.GetAbsorbentReagents
* refactor: changed interactions with SlotBasedConnectedContainerSystem into events
* refactor: new sound and action delay adjusted to sound (amount tweaked a bit accordingly, almost)
* refactor: added networking for SlotBasedConnectedContainerComponent
* fix attribution for vacuum-cleaner-fast.ogg
* trying to fix multi-license for mix sound file
* remove empty line
* refactor: remove trailing whitespace
* by ref struct, brother
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
* Make shark plush janitor-bucketable
* fix bucketed grey shark texture
* Make sprites less shiny and adapt copyright notice
* Made shark way way less shiny
* Allow carp plush and rehydratables in mop bucket.
* Remove old mop bucket shark sprites
* Fix post-merge bugs
* Fix errors
* Move ReactiveContainer stuff to shared
That should mean it is now predicted.
* Custom eject verb for the mop bucket
* Fixes OnSolutionChange, removes pop-up as there already is one.
* .ftl is not necessary as the custom pop-up was removed
* Review fixes
* Update Content.Shared/Chemistry/Components/ReactiveContainerComponent.cs
* Update Content.Shared/Chemistry/EntitySystems/ReactiveContainerSystem.cs
---------
Co-authored-by: Psychpsyo <psychpsyo@gmail.com>
Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* Add reagent whitelist to Injector component and system
* Apply suggested Changes
* Remove LINQ function for performance
* Update Content.Server/Chemistry/EntitySystems/InjectorSystem.cs
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
---------
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
* 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
* Added the ability for blood to track DNA using ReagentData; Forensic Scanner now accounts for solution DNA, non-DNA holders have "Unknown DNA"
* Removes touch DNA for puddles, adds DNA to vomit
* DNA now leaves traces in containers and those marked without don't show DNA on scan (except for puddles), gibbed parts have DNA
* Fix stupid metamorphic glass bug grrr
* Removed SpillableComponent since DnaSubstanceTraceComponent is used instead
* Removes data field from maps, adds DNA tracking for some missed items
* Give default value, fix missing values.
* Fixes recipe bug
* Review changes
* Make the Data list into a nullable type
* Revert map changes
* Move gibbed unknown DNA to forensicssystem
* fix(jugs): Make max and minimum transfer amounts make sense
* fix name
* Better
* Implement bounds checks
* large beaker too
* More logical solution
* Bleh
* remove
* Doesn't make sense yet
WAS MISTAKEN AAAAAAAAAAAAAAD@ @!
* Make delay incurred by transfer amount modifiable
* No unintentional negative delay please
* Use more fixedpoint, hope I didn't break anything
* merge review suggestion
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* BlockSolutionAccessComponent now only blocks one specified solution.
* Significant overhaul
Separated spilling when worn functionality into its own component/system.
Removed BlockSolutionAccessComponent.
Added an event for solution access.
* Made more things blessable
* Removed junk
* Remove whatever that was
* Make bowls blessable
* New mixablesolution component, converted everything to work with it
* Fix minor mishaps
* Fix extra spaces in bottle yml
* Fix last extra space, fix bottle havign the wrong solution name
* Remvoe unneeded event(I think), fix alcohol bottles not being mixable
* I missed cans
* 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>
* stealthy hypo
* ExaminableSolution hand check when in covert implement.
ExaminableSolution now has 'hidden' datafield to enable chemical inspection only in hand.
* cleaning code
* more cleaning
* Hidden datafield renamed to HeldOnly
* review
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Hyposprays Draw from Jugs
* Fix last onlyMobs usage in yml
* Some Suggested Changes
* Remove unnecessary datafield name declarations
* Remove unnecessary dirtying of component
* Same line parentheses
* Added client-side HypospraySystem
* Cache UI values and only updates if values change
* empty line
* Update label
* Label change
* Reimplement ReactionMixerSystem
* Remove DataField from Hypospray Toggle Mode
* Change ToggleMode from enum to Bool OnlyAffectsMobs
* Add DataField required back since it's required for replays...?
* update EligibleEntity and uses of it
* Add user argument back
* Adds newline
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Guard for dirty entity
* Adds summary tag
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Remove unnecessary datafield names, syringes with stuff in them start in inject mode
* No trash tag
* Remove ViewVariables since DataField has them implicitly
* Revert "No trash tag"
This reverts commit 2c42172653d2cc70d58bd5bedf61a880b939bf20.
* Get rid of tags entirely for PrefilledSyringes
---------
Co-authored-by: Plykiya <plykiya@protonmail.com>