Skip to content

Modern ChemMaster UI Changes - #5939

Open
RhapsodySL wants to merge 83 commits into
ss14Starlight:starlight-devfrom
RhapsodySL:modern-chemmaster-changes
Open

Modern ChemMaster UI Changes#5939
RhapsodySL wants to merge 83 commits into
ss14Starlight:starlight-devfrom
RhapsodySL:modern-chemmaster-changes

Conversation

@RhapsodySL

@RhapsodySL RhapsodySL commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Short description

Dependent on #5894. Makes various visual improvements to the ChemMaster's new "Modern" layout as well as the old "Classic" layout, and adds feature parity as well as a custom unit selector. Specifically:

In Modern:

  • Moved the Transfer/Discard buttons so that they aren't awkwardly in the middle
  • Moves the search bar to the bottom of the buffer list so that it aligns properly with the container list
  • Window size adjustment to prevent a cutoff in the Output tab
  • "Amount" label above the input amount buttons to better reflect the Chemical Dispenser's UI

In Classic:

  • Added filter search bar that was introduced in Modern
  • Visual changes to make the unit inputs look nicer
  • Moved the reagent color stripe to the left of the name to mirror the Modern layout as well as the health analyzer

In both:

  • Moved the Layout buttons so that they aren't pushing everything down, and made it a switch button in the title bar, next to the X on the top right
  • Window size now sets itself to the window's minimum size when switching between Modern and Classic layouts; this is so that Classic doesn't end up stretched for no reason since Modern is longer horizontally
  • Custom unit input (remembered per-machine, but not networked since I didn't see a good reason to do so)
  • Output tab now shows the contents of the inserted beaker when in beaker packaging mode, or the contents of the buffer when in buffer packaging mode
  • Added tooltips for most buttons in the Output tab

Why we need to add this

The Modern layout from #5894 has some nice features but is visually a bit rough. Some polish makes it look better, is a good excuse to port the filter search bar to the Classic layout, and is a good opportunity to add custom unit amount selection to help smooth over the jug size changes.

List of commits added by this PR for reviewing purposes: https://github.com/ss14Starlight/space-station-14/pull/5939/changes/e9456ef962ea5167ddb033bea3fd2ff5db0bf557..095ffada9799f5b4a2dbc0eccbacdda1e64e147c

Media (Video/Screenshots)

chemmaster.mp4
image image

Checks

  • I do not require assistance to complete the PR.
  • Before posting/requesting review of a PR, I have verified that the changes work.
  • I have added screenshots/videos of the changes, or this PR does not change in-game mechanics.
  • I affirm that my changes are licensed under the MIT License and grant permission for use in this repository under its conditions.

Changelog

🆑 Rhapsody (Pepta Vismahl)

  • tweak: Visual polish on the ChemMaster's modern and classic layouts.
  • tweak: The ChemMaster's Output tab now shows the contents of the inserted beaker or buffer depending on packaging mode.
  • add: Various tooltips to help make it easier to understand how the Output tab works, and how to make pills/patches.
  • add: Added search filtering to the ChemMaster's buffer on classic layout (modern layout already has it).
  • add: Added custom unit amount dispensing to the ChemMaster.

Princess-Cheeseballs and others added 30 commits August 30, 2026 02:26
* 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>
# Conflicts:
#	Content.Client/Chemistry/EntitySystems/ChemistryGuideDataSystem.cs
#	Content.Server/Administration/Systems/AdminVerbSystem.cs
#	Content.Server/Stunnable/Systems/StunbatonSystem.cs
#	Content.Server/_Starlight/Kitchen/EntitySystems/CookingDeviceSystem.cs
#	Content.Shared/Chemistry/Components/Solution.cs
#	Content.Shared/Chemistry/Components/SolutionComponent.cs
#	Content.Shared/Chemistry/EntitySystems/RehydratableSystem.cs
#	Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerSystem.Relays.cs
#	Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerSystem.cs
#	Content.Shared/Chemistry/EntitySystems/SolutionRegenerationSystem.cs
#	Content.Shared/EntityEffects/Effects/Solution/AddReagentToSolutionEntityEffectSystem.cs
#	Content.Shared/Fluids/SharedPuddleSystem.cs
#	Content.Shared/Kitchen/EntitySystems/SharedReagentGrinderSystem.cs
#	Content.Shared/Medical/Cryogenics/SharedCryoPodSystem.cs
#	Content.Shared/Nutrition/EntitySystems/IngestionSystem.cs
#	Content.Shared/Nutrition/EntitySystems/PressurizedSolutionSystem.cs
#	Content.Shared/_Starlight/Medical/Body/Systems/MetabolizerSystem.cs
#	Content.Shared/_Starlight/Medical/Body/Systems/StomachSystem.cs
#	Resources/Prototypes/Body/Animals/ruminant.yml
#	Resources/Prototypes/Body/Species/arachnid.yml
#	Resources/Prototypes/Body/Species/diona.yml
#	Resources/Prototypes/Body/Species/gingerbread.yml
#	Resources/Prototypes/Body/Species/moth.yml
#	Resources/Prototypes/Body/Species/slime.yml
#	Resources/Prototypes/Body/Species/vox.yml
#	Resources/Prototypes/Body/Species/vulpkanin.yml
#	Resources/Prototypes/Body/base_organs.yml
#	Resources/Prototypes/Entities/Clothing/OuterClothing/coats.yml
#	Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
#	Resources/Prototypes/Entities/Mobs/NPCs/argocyte.yml
#	Resources/Prototypes/Entities/Mobs/NPCs/space.yml
#	Resources/Prototypes/Entities/Mobs/NPCs/spacetick.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks-cartons.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/trash_drinks.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml
#	Resources/Prototypes/Entities/Objects/Fun/toys.yml
#	Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml
#	Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml
#	Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml
#	Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml
#	Resources/Prototypes/Entities/Objects/Materials/ingots.yml
#	Resources/Prototypes/Entities/Objects/Materials/parts.yml
#	Resources/Prototypes/Entities/Objects/Misc/paper.yml
#	Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemical-containers.yml
#	Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-bottles.yml
#	Resources/Prototypes/Entities/Objects/Specific/Hydroponics/leaves.yml
#	Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml
#	Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml
#	Resources/Prototypes/Entities/Objects/Specific/Medical/morgue.yml
#	Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml
#	Resources/Prototypes/Entities/Objects/Tools/lighters.yml
#	Resources/Prototypes/Entities/Objects/Tools/welders.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/shotgun.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
#	Resources/Prototypes/Entities/Objects/Weapons/security.yml
#	Resources/Prototypes/Entities/Structures/Furniture/toilet.yml
#	Resources/Prototypes/Entities/Structures/Machines/chem_master.yml
#	Resources/Prototypes/Entities/Structures/Machines/reagent_grinder.yml
#	Resources/Prototypes/Entities/Structures/Specific/Janitor/janicart.yml
#	Resources/Prototypes/Entities/Tiles/water.yml
#	Resources/migration.yml
change parents

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* fix overflow and mice

* actually don't relay it, each individual solution should handle it.

* misc

* ensure the solution overflow is tested

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
# Conflicts:
#	Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerSystem.Relays.cs
whoops

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* burge

* bruegr

* YAML

* two misc fixes

* snoutta here

* add tests

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Janet Blackquill <uhhadd@gmail.com>
# Conflicts:
#	Content.Server/Chemistry/EntitySystems/VaporSystem.cs
#	Content.Server/Fluids/EntitySystems/SpraySystem.cs
#	Content.Server/Weapons/Ranged/Systems/GunSystem.Solution.cs
#	Content.Shared/Chemistry/EntitySystems/SolutionPurgeSystem.cs
#	Content.Shared/Chemistry/EntitySystems/SolutionRegenerationSystem.cs
#	Content.Shared/EntityEffects/Effects/Solution/AddReagentToSolutionEntityEffectSystem.cs
#	Resources/Prototypes/Entities/Objects/Tools/lighters.yml
#	Resources/Prototypes/Entities/Structures/Furniture/toilet.yml
…s refactor. (#43728)

* 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>
Co-authored-by: veprolet <>
# Conflicts:
#	Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml
* Goodbye

* whoop

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
misc fixes

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* no longer will medipens spill when thrown

* reparented injectors/sprays to removed spillable component

* hyposprays and jet injectors nolonger spill when thrown.
* predict

* fix
# Conflicts:
#	Content.Shared/Materials/SharedMaterialReclaimerSystem.cs
* moproach/spider solutions with recharge

* mop mop mop roach

* more straightforward moproach solution inheritance
* draf

* slime time

* ddsaasdgatagsde

* fix that shit

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
# Conflicts:
#	Content.Shared/Tools/Systems/ToolRefinableSystem.cs
#	Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml
add transformablecontainer back to the metamorphic glass
* Recyclers: spill without valid solutions

* Early return on empty
…mponent into one. Sharp component removal. (#36895)

* 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>
# Conflicts:
#	Content.IntegrationTests/Tests/CargoTest.cs
#	Content.Server/Botany/Components/LogComponent.cs
#	Content.Server/_Starlight/Nutrition/EntitySystems/SliceableFoodSystem.cs
#	Content.Shared/Nutrition/EntitySystems/SharedCreamPieSystem.cs
#	Content.Shared/Nutrition/IngestionEvents.cs
#	Content.Shared/Tools/Systems/ToolRefinableSystem.cs
#	Content.Shared/_Starlight/Kitchen/EntitySystems/SharedSharpSystem.cs
#	Resources/Locale/en-US/nutrition/components/sliceable-food-component.ftl
#	Resources/Prototypes/Body/Species/diona.yml
#	Resources/Prototypes/Body/Species/reptilian.yml
#	Resources/Prototypes/Body/Species/slime.yml
#	Resources/Prototypes/Body/Species/vox.yml
#	Resources/Prototypes/Body/species_base.yml
#	Resources/Prototypes/Entities/Clothing/Hands/gloves.yml
#	Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
#	Resources/Prototypes/Entities/Mobs/NPCs/hellspawn.yml
#	Resources/Prototypes/Entities/Mobs/NPCs/pets.yml
#	Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml
#	Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml
#	Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml
#	Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml
#	Resources/Prototypes/Entities/Objects/Materials/shards.yml
#	Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml
#	Resources/Prototypes/Entities/Objects/Specific/Medical/surgery.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Melee/chainsaw.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml
#	Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml
* Meat spike localization fixes

* Review
* relocalize these two messages

* fix erroneous butcherable components pt 1

* fix argocyte butchery

* redundant
# Conflicts:
#	Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
#	Resources/Prototypes/Entities/Mobs/NPCs/carp.yml
…l qualities (#44441)

ToolRefinableSystem: check used tool before evt
e

Co-authored-by: deltanedas <@deltanedas:goida.zip>
Update SharedKitchenSpikeSystem.cs
@github-actions github-actions Bot added size/L Changes: UI Changes: C# Changes: Prototypes and removed S: Needs Review Status: Requires additional reviews before being fully accepted. Not to be replaced by S: Approved. size/L labels Sep 2, 2026
@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 535 files, which is 435 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Team

Run ID: 928a845a-7c5a-4814-abcb-47362c3ecf7b

📥 Commits

Reviewing files that changed from the base of the PR and between be73057 and 138cd1e.

📒 Files selected for processing (535)
  • Content.Client/Chemistry/Containers/EntitySystems/SolutionContainerSystem.cs
  • Content.Client/Chemistry/EntitySystems/ChemistryGuideDataSystem.cs
  • Content.Client/Chemistry/UI/ChemMasterWindow.xaml.cs
  • Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml
  • Content.Client/_Starlight/Chemistry/UI/ModernChemMasterBUI.cs
  • Content.Client/_Starlight/Chemistry/UI/ModernChemMasterWindow.xaml
  • Content.Client/_Starlight/Chemistry/UI/ModernChemMasterWindow.xaml.cs
  • Content.Client/_Starlight/Kitchen/EntitySystems/SharpSystem.cs
  • Content.Client/_Starlight/Plumbing/UI/PlumbingSmartDispenserWindow.xaml
  • Content.IntegrationTests/Tests/CargoTest.cs
  • Content.IntegrationTests/Tests/Chemistry/DrainTest.cs
  • Content.IntegrationTests/Tests/Chemistry/SolutionPurgeRegenerationTests.cs
  • Content.IntegrationTests/Tests/Chemistry/SolutionRoundingTest.cs
  • Content.IntegrationTests/Tests/Chemistry/SolutionSystemTests.cs
  • Content.IntegrationTests/Tests/Chemistry/SprayVaporTests.cs
  • Content.IntegrationTests/Tests/Chemistry/TryAllReactionsTest.cs
  • Content.IntegrationTests/Tests/Fluids/AbsorbentTest.cs
  • Content.IntegrationTests/Tests/MaterialArbitrageTest.cs
  • Content.IntegrationTests/Tests/Tools/WelderTests.cs
  • Content.IntegrationTests/Tests/Utility/EntityWhitelistTest.cs
  • Content.IntegrationTests/Tests/_Starlight/Body/LungTest.cs
  • Content.IntegrationTests/Tests/_Starlight/Kitchen/ButcherVerbTest.cs
  • Content.IntegrationTests/Tests/_Starlight/Kitchen/SlicingVerbTest.cs
  • Content.Server/Administration/Commands/AddReagent.cs
  • Content.Server/Administration/Commands/SetSolutionCapacity.cs
  • Content.Server/Administration/Commands/SetSolutionTemperature.cs
  • Content.Server/Administration/Commands/SetSolutionThermalEnergy.cs
  • Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs
  • Content.Server/Administration/Systems/AdminVerbSystem.cs
  • Content.Server/Administration/Toolshed/SolutionCommand.cs
  • Content.Server/Administration/UI/EditSolutionsEui.cs
  • Content.Server/Botany/Components/LogComponent.cs
  • Content.Server/Botany/Components/PlantHolderComponent.cs
  • Content.Server/Botany/SeedPrototype.cs
  • Content.Server/Botany/Systems/BotanySystem.Produce.cs
  • Content.Server/Botany/Systems/BotanySystem.Seed.cs
  • Content.Server/Botany/Systems/LogSystem.cs
  • Content.Server/Botany/Systems/PlantHolderSystem.cs
  • Content.Server/Cargo/Systems/PricingSystem.cs
  • Content.Server/Chemistry/Components/ChemMasterComponent.cs
  • Content.Server/Chemistry/Components/VaporComponent.cs
  • Content.Server/Chemistry/Containers/EntitySystems/SolutionContainerSystem.cs
  • Content.Server/Chemistry/EntitySystems/ChemMasterSystem.cs
  • Content.Server/Chemistry/EntitySystems/DeleteOnSolutionEmptySystem.cs
  • Content.Server/Chemistry/EntitySystems/ReagentDispenserSystem.cs
  • Content.Server/Chemistry/EntitySystems/SolutionContainerSystem.cs
  • Content.Server/Chemistry/EntitySystems/SolutionHeaterSystem.cs
  • Content.Server/Chemistry/EntitySystems/SolutionRandomFillSystem.cs
  • Content.Server/Chemistry/EntitySystems/TransformableContainerSystem.cs
  • Content.Server/Chemistry/EntitySystems/VaporSystem.cs
  • Content.Server/Destructible/Thresholds/Behaviors/SpillBehavior.cs
  • Content.Server/Fluids/EntitySystems/PuddleSystem.Spillable.cs
  • Content.Server/Fluids/EntitySystems/PuddleSystem.cs
  • Content.Server/Fluids/EntitySystems/SmokeSystem.cs
  • Content.Server/Fluids/EntitySystems/SpraySystem.cs
  • Content.Server/Forensics/Systems/ForensicScannerSystem.cs
  • Content.Server/Forensics/Systems/ForensicsSystem.cs
  • Content.Server/Materials/MaterialReclaimerSystem.cs
  • Content.Server/Medical/BiomassReclaimer/BiomassReclaimerSystem.cs
  • Content.Server/Nutrition/Components/SliceableFoodComponent.cs
  • Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs
  • Content.Server/Nutrition/EntitySystems/SmokingSystem.SmokingPipe.cs
  • Content.Server/Nutrition/EntitySystems/TrashOnSolutionEmptySystem.cs
  • Content.Server/Polymorph/Systems/PolymorphSystem.cs
  • Content.Server/Power/EntitySystems/RiggableSystem.cs
  • Content.Server/Power/Generator/ChemicalFuelGeneratorAdapterComponent.cs
  • Content.Server/Stunnable/Systems/StunbatonSystem.cs
  • Content.Server/Weapons/Ranged/Systems/GunSystem.Solution.cs
  • Content.Server/_Starlight/Execution/ExecutingSystem.cs
  • Content.Server/_Starlight/Kitchen/EntitySystems/CookingDeviceSystem.cs
  • Content.Server/_Starlight/Kitchen/EntitySystems/ReagentGrinderSystem.cs
  • Content.Server/_Starlight/Kitchen/EntitySystems/SharpSystem.cs
  • Content.Server/_Starlight/Medical/Body/Systems/BloodstreamSystem.cs
  • Content.Server/_Starlight/Nutrition/EntitySystems/CreamPieSystem.cs
  • Content.Server/_Starlight/Nutrition/EntitySystems/SliceableFoodSystem.cs
  • Content.Server/_Starlight/Plumbing/EntitySystems/PlumbingDeviceSystem.cs
  • Content.Server/_Starlight/Plumbing/EntitySystems/PlumbingPillPressSystem.cs
  • Content.Server/_Starlight/Plumbing/EntitySystems/PlumbingSmartDispenserSystem.cs
  • Content.Server/_Starlight/Washing/WashingFixtureSystem.cs
  • Content.Shared/Administration/EditSolutionsEuiState.cs
  • Content.Shared/Changeling/Systems/ChangelingDevourSystem.cs
  • Content.Shared/Chemistry/Components/Solution.cs
  • Content.Shared/Chemistry/Components/SolutionComponent.cs
  • Content.Shared/Chemistry/Components/SolutionManager/ContainedSolutionComponent.cs
  • Content.Shared/Chemistry/Components/SolutionManager/SolutionContainerManagerComponent.cs
  • Content.Shared/Chemistry/Components/SolutionManager/SolutionManagerComponent.cs
  • Content.Shared/Chemistry/Components/SolutionPurgeComponent.cs
  • Content.Shared/Chemistry/Components/SolutionRegenerationComponent.cs
  • Content.Shared/Chemistry/Components/SolutionTransferComponent.cs
  • Content.Shared/Chemistry/EntitySystems/InjectorSystem.cs
  • Content.Shared/Chemistry/EntitySystems/ReactiveContainerSystem.cs
  • Content.Shared/Chemistry/EntitySystems/RehydratableSystem.cs
  • Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerSystem.Capabilities.cs
  • Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerSystem.Compatibility.cs
  • Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerSystem.Relays.cs
  • Content.Shared/Chemistry/EntitySystems/SharedSolutionContainerSystem.cs
  • Content.Shared/Chemistry/EntitySystems/SolutionPurgeSystem.cs
  • Content.Shared/Chemistry/EntitySystems/SolutionRegenerationSystem.cs
  • Content.Shared/Chemistry/EntitySystems/SolutionSpikerSystem.cs
  • Content.Shared/Chemistry/EntitySystems/SolutionTransferSystem.cs
  • Content.Shared/Chemistry/SharedChemMaster.cs
  • Content.Shared/Chemistry/SharedReagentDispenser.cs
  • Content.Shared/Construction/Events.cs
  • Content.Shared/EntityConditions/Conditions/ReagentEntityConditionSystem.cs
  • Content.Shared/EntityEffects/Effects/Solution/AddReagentToSolutionEntityEffectSystem.cs
  • Content.Shared/Fluids/AbsorbentComponent.cs
  • Content.Shared/Fluids/EntitySystems/DrainSystem.cs
  • Content.Shared/Fluids/SharedAbsorbentSystem.cs
  • Content.Shared/Fluids/SharedPuddleSystem.cs
  • Content.Shared/Kitchen/Components/ExtractableComponent.cs
  • Content.Shared/Kitchen/Components/KitchenSpikeComponent.cs
  • Content.Shared/Kitchen/Components/ReagentGrinderComponent.cs
  • Content.Shared/Kitchen/Components/SharpComponent.cs
  • Content.Shared/Kitchen/EntitySystems/SharedReagentGrinderSystem.cs
  • Content.Shared/Kitchen/SharedKitchenSpikeSystem.cs
  • Content.Shared/Kitchen/SharpDoAfterEvent.cs
  • Content.Shared/Materials/SharedMaterialReclaimerSystem.cs
  • Content.Shared/Medical/Cryogenics/SharedCryoPodSystem.cs
  • Content.Shared/Medical/Healing/HealingSystem.cs
  • Content.Shared/Mobs/Systems/MobStateSystem.Subscribers.cs
  • Content.Shared/Nutrition/Components/ButcherableComponent.cs
  • Content.Shared/Nutrition/EntitySystems/FoodSequenceSystem.cs
  • Content.Shared/Nutrition/EntitySystems/IngestionSystem.API.cs
  • Content.Shared/Nutrition/EntitySystems/IngestionSystem.cs
  • Content.Shared/Nutrition/EntitySystems/PressurizedSolutionSystem.cs
  • Content.Shared/Nutrition/EntitySystems/SharedCreamPieSystem.cs
  • Content.Shared/Nutrition/Events.cs
  • Content.Shared/Nutrition/FoodMetamorphRules/FoodMetamorphRule.cs
  • Content.Shared/Nutrition/IngestionEvents.cs
  • Content.Shared/Tools/Components/ToolRefinableComponent.cs
  • Content.Shared/Tools/Components/ToolRefinableSolutionComponent.cs
  • Content.Shared/Tools/Components/WelderComponent.cs
  • Content.Shared/Tools/Systems/SharedToolSystem.Welder.cs
  • Content.Shared/Tools/Systems/ToolRefinableSystem.cs
  • Content.Shared/Whitelist/EntityWhitelist.cs
  • Content.Shared/Whitelist/EntityWhitelistSystem.cs
  • Content.Shared/_Starlight/Actions/EntitySystems/SharedWrapSystem.cs
  • Content.Shared/_Starlight/Chemistry/SLSolutionRegenerationSystem.cs
  • Content.Shared/_Starlight/Execution/SharedExecutionSystem.cs
  • Content.Shared/_Starlight/Kitchen/EntitySystems/SharedSharpSystem.cs
  • Content.Shared/_Starlight/Medical/Body/Components/BloodstreamComponent.cs
  • Content.Shared/_Starlight/Medical/Body/Systems/LungSystem.cs
  • Content.Shared/_Starlight/Medical/Body/Systems/MetabolizerSystem.cs
  • Content.Shared/_Starlight/Medical/Body/Systems/SharedBloodstreamSystem.cs
  • Content.Shared/_Starlight/Medical/Body/Systems/StomachSystem.cs
  • Content.Shared/_Starlight/Xenobiology/SlimeExtractSystem.cs
  • Resources/Locale/en-US/_Starlight/chemistry/components/chem-master-component.ftl
  • Resources/Locale/en-US/_TP/reagents/Meta/toxin.ftl
  • Resources/Locale/en-US/chemistry/components/solution-spike-component.ftl
  • Resources/Locale/en-US/kitchen/components/butcherable-component.ftl
  • Resources/Locale/en-US/kitchen/components/kitchen-spike-component.ftl
  • Resources/Locale/en-US/nutrition/components/sliceable-food-component.ftl
  • Resources/Locale/en-US/reagents/meta/fun.ftl
  • Resources/Locale/en-US/tool-refinable/tool-refinable.ftl
  • Resources/Prototypes/Catalog/Bounties/bounties.yml
  • Resources/Prototypes/Catalog/Cargo/cargo_food.yml
  • Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml
  • Resources/Prototypes/Catalog/VendingMachines/Inventories/chemvend.yml
  • Resources/Prototypes/Chemistry/injector_modes.yml
  • Resources/Prototypes/Entities/Clothing/Back/specific.yml
  • Resources/Prototypes/Entities/Clothing/Eyes/hud.yml
  • Resources/Prototypes/Entities/Clothing/Hands/base_clothinghands.yml
  • Resources/Prototypes/Entities/Clothing/Hands/colored.yml
  • Resources/Prototypes/Entities/Clothing/Hands/gloves.yml
  • Resources/Prototypes/Entities/Clothing/Head/base_clothinghead.yml
  • Resources/Prototypes/Entities/Clothing/Head/misc.yml
  • Resources/Prototypes/Entities/Clothing/Masks/base_clothingmask.yml
  • Resources/Prototypes/Entities/Clothing/Multiple/towel.yml
  • Resources/Prototypes/Entities/Clothing/Neck/base_clothingneck.yml
  • Resources/Prototypes/Entities/Clothing/Neck/pins.yml
  • Resources/Prototypes/Entities/Clothing/OuterClothing/base_clothingouter.yml
  • Resources/Prototypes/Entities/Clothing/OuterClothing/coats.yml
  • Resources/Prototypes/Entities/Clothing/OuterClothing/wintercoats.yml
  • Resources/Prototypes/Entities/Clothing/Shoes/base_clothingshoes.yml
  • Resources/Prototypes/Entities/Clothing/Shoes/boots.yml
  • Resources/Prototypes/Entities/Clothing/Shoes/misc.yml
  • Resources/Prototypes/Entities/Clothing/Shoes/specific.yml
  • Resources/Prototypes/Entities/Clothing/Uniforms/base_clothinguniforms.yml
  • Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml
  • Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml
  • Resources/Prototypes/Entities/Debugging/drugs.yml
  • Resources/Prototypes/Entities/Effects/chemistry_effects.yml
  • Resources/Prototypes/Entities/Effects/puddle.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/argocyte.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/behonker.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/carp.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/flesh.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/hellspawn.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/lavaland.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/mimic.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/miscellaneous.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/moproach.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/pets.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/scurret.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/slimes.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/space.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/spacetick.yml
  • Resources/Prototypes/Entities/Mobs/NPCs/xeno.yml
  • Resources/Prototypes/Entities/Mobs/Player/dragon.yml
  • Resources/Prototypes/Entities/Mobs/base.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks-cartons.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_base.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_glass.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_bottles_plastic.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cans.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_cups.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_flasks.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_fun.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_solutioncontainerexample.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Drinks/drinks_special.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Drinks/trash_drinks.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bagel.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/cake.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donkpocket.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/donut.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pizza.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/bowl.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/condiments.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/tin.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/breakfast.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/burger.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/cottonburger.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/egg.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/food_base.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/frozen.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/ingredients.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Food/taco.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/cigarette.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/joints.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigars/cigar.yml
  • Resources/Prototypes/Entities/Objects/Consumable/Smokeables/base_smokeables.yml
  • Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/base_machineboard.yml
  • Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml
  • Resources/Prototypes/Entities/Objects/Devices/Circuitboards/computer.yml
  • Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml
  • Resources/Prototypes/Entities/Objects/Fun/Instruments/instruments_wind.yml
  • Resources/Prototypes/Entities/Objects/Fun/Plushies/plushies.yml
  • Resources/Prototypes/Entities/Objects/Fun/crayons.yml
  • Resources/Prototypes/Entities/Objects/Fun/darts.yml
  • Resources/Prototypes/Entities/Objects/Fun/orbs.yml
  • Resources/Prototypes/Entities/Objects/Fun/toys.yml
  • Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml
  • Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml
  • Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml
  • Resources/Prototypes/Entities/Objects/Materials/base.yml
  • Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml
  • Resources/Prototypes/Entities/Objects/Materials/ingots.yml
  • Resources/Prototypes/Entities/Objects/Materials/materials.yml
  • Resources/Prototypes/Entities/Objects/Materials/ore.yml
  • Resources/Prototypes/Entities/Objects/Materials/parts.yml
  • Resources/Prototypes/Entities/Objects/Materials/shards.yml
  • Resources/Prototypes/Entities/Objects/Misc/arabianlamp.yml
  • Resources/Prototypes/Entities/Objects/Misc/bedsheets.yml
  • Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml
  • Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml
  • Resources/Prototypes/Entities/Objects/Misc/kudzu.yml
  • Resources/Prototypes/Entities/Objects/Misc/paper.yml
  • Resources/Prototypes/Entities/Objects/Misc/spaceshroom.yml
  • Resources/Prototypes/Entities/Objects/Misc/utensils.yml
  • Resources/Prototypes/Entities/Objects/Power/powercells.yml
  • Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemical-containers.yml
  • Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-bottles.yml
  • Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry-vials.yml
  • Resources/Prototypes/Entities/Objects/Specific/Chemistry/chemistry.yml
  • Resources/Prototypes/Entities/Objects/Specific/Chemistry/paper_centrifuge.yml
  • Resources/Prototypes/Entities/Objects/Specific/Hydroponics/leaves.yml
  • Resources/Prototypes/Entities/Objects/Specific/Hydroponics/seeds.yml
  • Resources/Prototypes/Entities/Objects/Specific/Hydroponics/sprays.yml
  • Resources/Prototypes/Entities/Objects/Specific/Hydroponics/tools.yml
  • Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml
  • Resources/Prototypes/Entities/Objects/Specific/Janitorial/soap.yml
  • Resources/Prototypes/Entities/Objects/Specific/Janitorial/spray.yml
  • Resources/Prototypes/Entities/Objects/Specific/Janitorial/trashbag.yml
  • Resources/Prototypes/Entities/Objects/Specific/Kitchen/equipment.yml
  • Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml
  • Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml
  • Resources/Prototypes/Entities/Objects/Specific/Medical/morgue.yml
  • Resources/Prototypes/Entities/Objects/Specific/Medical/randompill.yml
  • Resources/Prototypes/Entities/Objects/Specific/Medical/surgery.yml
  • Resources/Prototypes/Entities/Objects/Specific/Xenoborg/nocturine_hypo.yml
  • Resources/Prototypes/Entities/Objects/Specific/rehydrateable.yml
  • Resources/Prototypes/Entities/Objects/Tools/bucket.yml
  • Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml
  • Resources/Prototypes/Entities/Objects/Tools/flare.yml
  • Resources/Prototypes/Entities/Objects/Tools/lighters.yml
  • Resources/Prototypes/Entities/Objects/Tools/welders.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Bombs/cord.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Bombs/firebomb.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/shotgun.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/shotgun.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/arrows.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/meteors.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Melee/chainsaw.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Melee/cult.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml
  • Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml
  • Resources/Prototypes/Entities/Objects/Weapons/security.yml
  • Resources/Prototypes/Entities/Objects/base_item.yml
  • Resources/Prototypes/Entities/Objects/base_solution.yml
  • Resources/Prototypes/Entities/Structures/Dispensers/base_structuredispensers.yml
  • Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml
  • Resources/Prototypes/Entities/Structures/Furniture/carpets.yml
  • Resources/Prototypes/Entities/Structures/Furniture/sink.yml
  • Resources/Prototypes/Entities/Structures/Furniture/toilet.yml
  • Resources/Prototypes/Entities/Structures/Machines/Medical/cryo_pod.yml
  • Resources/Prototypes/Entities/Structures/Machines/chem_master.yml
  • Resources/Prototypes/Entities/Structures/Machines/lathe.yml
  • Resources/Prototypes/Entities/Structures/Machines/nuke.yml
  • Resources/Prototypes/Entities/Structures/Machines/reagent_grinder.yml
  • Resources/Prototypes/Entities/Structures/Piping/Atmospherics/unary.yml
  • Resources/Prototypes/Entities/Structures/Power/Generation/portable_generator.yml
  • Resources/Prototypes/Entities/Structures/Specific/Anomaly/anomalies.yml
  • Resources/Prototypes/Entities/Structures/Specific/Janitor/drain.yml
  • Resources/Prototypes/Entities/Structures/Specific/Janitor/janicart.yml
  • Resources/Prototypes/Entities/Structures/Storage/Tanks/base_structuretanks.yml
  • Resources/Prototypes/Entities/Structures/Storage/Tanks/tanks.yml
  • Resources/Prototypes/Entities/Structures/Storage/barrels.yml
  • Resources/Prototypes/Entities/Structures/Wallmounts/Storage/wall_dispensers.yml
  • Resources/Prototypes/Entities/Structures/Walls/walls.yml
  • Resources/Prototypes/Entities/Structures/soil.yml
  • Resources/Prototypes/Entities/Structures/spider_web.yml
  • Resources/Prototypes/Entities/Tiles/water.yml
  • Resources/Prototypes/Reagents/cleaning.yml
  • Resources/Prototypes/Reagents/fun.yml
  • Resources/Prototypes/Recipes/Cooking/meal_recipes.yml
  • Resources/Prototypes/Recipes/Crafting/Graphs/improvised/firebomb.yml
  • Resources/Prototypes/Recipes/Reactions/food.yml
  • Resources/Prototypes/Recipes/Reactions/fun.yml
  • Resources/Prototypes/Recipes/Reactions/soap.yml
  • Resources/Prototypes/XenoArch/effects.yml
  • Resources/Prototypes/_ES/Entities/Objects/Misc/magazines.yml
  • Resources/Prototypes/_ES/Entities/Objects/Misc/newspapers.yml
  • Resources/Prototypes/_FarHorizons/Body/Organs/ipc.yml
  • Resources/Prototypes/_FarHorizons/Entities/Mobs/Species/ipc.yml
  • Resources/Prototypes/_FarHorizons/Entities/Objects/Power/FissionGenerator/reactor_parts.yml
  • Resources/Prototypes/_Funkystation/Entities/Objects/Materials/ingots.yml
  • Resources/Prototypes/_Impstation/Entities/Mobs/NPCs/eeep.yml
  • Resources/Prototypes/_Mono/Entities/Mobs/NPCs/elemental.yml
  • Resources/Prototypes/_Mono/Entities/Objects/Misc/solids.yml
  • Resources/Prototypes/_Starlight/Admeme/MedTak/Entities/Objects/hypospray.yml
  • Resources/Prototypes/_Starlight/Admeme/MedTak/Entities/Objects/mug.yml
  • Resources/Prototypes/_Starlight/Admeme/MedTak/Entities/Structures/dispenser.yml
  • Resources/Prototypes/_Starlight/Admeme/MedTak/Entities/Structures/shelf.yml
  • Resources/Prototypes/_Starlight/Admeme/admeme_drinks.yml
  • Resources/Prototypes/_Starlight/Admeme/mouseop.yml
  • Resources/Prototypes/_Starlight/Admeme/neomoth/event/xenomoproach.yml
  • Resources/Prototypes/_Starlight/Body/Organs/Animal/animal.yml
  • Resources/Prototypes/_Starlight/Body/Organs/Animal/ruminant.yml
  • Resources/Prototypes/_Starlight/Body/Organs/Animal/slimes.yml
  • Resources/Prototypes/_Starlight/Body/Organs/Neocyte/avali.yml
  • Resources/Prototypes/_Starlight/Body/Organs/Neocyte/base.yml
  • Resources/Prototypes/_Starlight/Body/Organs/Neocyte/dwarf.yml
  • Resources/Prototypes/_Starlight/Body/Organs/Neocyte/moth.yml
  • Resources/Prototypes/_Starlight/Body/Organs/Neocyte/slime.yml
  • Resources/Prototypes/_Starlight/Body/Organs/Neocyte/vox.yml
  • Resources/Prototypes/_Starlight/Body/Organs/abductor.yml
  • Resources/Prototypes/_Starlight/Body/Organs/arachnid.yml
  • Resources/Prototypes/_Starlight/Body/Organs/avali.yml
  • Resources/Prototypes/_Starlight/Body/Organs/base.yml
  • Resources/Prototypes/_Starlight/Body/Organs/cyber_organs.yml
  • Resources/Prototypes/_Starlight/Body/Organs/cyclorite.yml
  • Resources/Prototypes/_Starlight/Body/Organs/diona.yml
  • Resources/Prototypes/_Starlight/Body/Organs/dwarf.yml
  • Resources/Prototypes/_Starlight/Body/Organs/human.yml
  • Resources/Prototypes/_Starlight/Body/Organs/ipc.yml
  • Resources/Prototypes/_Starlight/Body/Organs/lagomorph.yml
  • Resources/Prototypes/_Starlight/Body/Organs/moth.yml
  • Resources/Prototypes/_Starlight/Body/Organs/rat.yml
  • Resources/Prototypes/_Starlight/Body/Organs/reptilian.yml
  • Resources/Prototypes/_Starlight/Body/Organs/shadekin.yml
  • Resources/Prototypes/_Starlight/Body/Organs/slime.yml
  • Resources/Prototypes/_Starlight/Body/Organs/vox.yml
  • Resources/Prototypes/_Starlight/Body/Organs/vulpkanin.yml
  • Resources/Prototypes/_Starlight/Body/Prototypes/rodentia.yml
  • Resources/Prototypes/_Starlight/Catalog/Fills/Boxes/medical.yml
  • Resources/Prototypes/_Starlight/Catalog/Fills/Paper/events.yml
  • Resources/Prototypes/_Starlight/CosmicCult/Mobs/colossus.yml
  • Resources/Prototypes/_Starlight/CosmicCult/Mobs/hostiles.yml
  • Resources/Prototypes/_Starlight/CosmicCult/Objects/censer.yml
  • Resources/Prototypes/_Starlight/CosmicCult/Objects/cosmicweapons.yml
  • Resources/Prototypes/_Starlight/CosmicCult/Objects/entropymote.yml
  • Resources/Prototypes/_Starlight/CosmicCult/cargocrate.yml
  • Resources/Prototypes/_Starlight/CosmicCult/glyphs.yml
  • Resources/Prototypes/_Starlight/Enemies/Abyss.yml
  • Resources/Prototypes/_Starlight/Enemies/Soviet.yml
  • Resources/Prototypes/_Starlight/Entities/Clothing/Shoes/base_clothingshoes.yml
  • Resources/Prototypes/_Starlight/Entities/Clothing/Shoes/clothwarps.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/NPCs/carp.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/NPCs/clown.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/NPCs/dinosaurs.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/NPCs/gorilla.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/NPCs/pets.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/NPCs/spiderlings.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/NPCs/terror_spiders.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/NPCs/xeno.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Player/corrupthonkmother.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/arachnid.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/avali.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/base.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/cyclorites.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/diona.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/elf.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/felionoid.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/human.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/lagomorph.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/moth.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/reptilian.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/resomi.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/shadekin.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/slime.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/thaven.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/Neocyte/vox.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/abductor.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/arachnid.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/avali.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/base.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/cyclorites.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/diona.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/dwarf.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/elf.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/felionoid.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/gingerbread.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/human.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/ipc.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/lagomorph.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/moth.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/reptilian.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/resomi.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/rodentia.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/shadekin.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/slime.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/thaven.yml
  • Resources/Prototypes/_Starlight/Entities/Mobs/Species/vox.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Drinks/drinks.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Drinks/drinks_bottles.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Drinks/drinks_bottles_plastic.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Drinks/drinks_cans.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Drinks/drinks_metamorphic.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Drinks/festive.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/Baked/cake.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/Baked/pizza.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/Baked/vulpkanin.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/festive.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/frozen.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/gumballs.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/honey.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/icecream.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/ingredients.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/meals.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/mena.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/organmeats.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/produce.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/snacks.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/soups.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/spiderjelly.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Food/thaven.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Consumable/Smokeables/Cigarettes/cigarette.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Fun/crayons.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Fun/pinatas.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Fun/plushies.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Fun/prunks.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Magic/elfmagic.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Materials/Sheets/other.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Materials/materials.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Materials/ore.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Misc/clown_kudzu.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Misc/paper.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Misc/ticket.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/Chemistry/chemistry-bottles.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/Chemistry/pills.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/Medical/bandaid.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/Medical/fun.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/Medical/healing.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/Medical/hypospray.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/Medical/medipen.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/Medical/mender.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/Medical/randompill.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/Medical/surgery.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/Medical/syndicate_pills.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/Xenobiology/extracts.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/Xenobiology/filled_extracts.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/chemical-containers.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/chemistry.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/revos.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Specific/xenoborgs.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Tools/cyberlimb.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Tools/lighters.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Tools/tools.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Tools/welders.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Weapons/Guns/Projectiles/arrows.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Weapons/Melee/claws.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Weapons/Melee/cyberlimb.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Weapons/Melee/ntsf.yml
  • Resources/Prototypes/_Starlight/Entities/Objects/Weapons/Melee/pitchfork.yml
  • Resources/Prototypes/_Starlight/Entities/Structures/Furniture/aquarium.yml
  • Resources/Prototypes/_Starlight/Entities/Structures/Furniture/toilet.yml
  • Resources/Prototypes/_Starlight/Entities/Structures/Machines/lathe.yml
  • Resources/Prototypes/_Starlight/Entities/Structures/Machines/liquid_dispenser.yml
  • Resources/Prototypes/_Starlight/Entities/Structures/Piping/Plumbing/plumbing_machines.yml
  • Resources/Prototypes/_Starlight/Entities/Structures/Wallmounts/Storage/wall_dispensers.yml
  • Resources/Prototypes/_Starlight/Entities/Structures/Walls/walls.yml
  • Resources/Prototypes/_Starlight/Reagents/cantrips.yml
  • Resources/Prototypes/_Starlight/Reagents/cleaning.yml
  • Resources/Prototypes/_Starlight/Recipes/Cooking/festive_recipes.yml
  • Resources/Prototypes/_Starlight/Recipes/Cooking/meal_recipes.yml
  • Resources/Prototypes/_Starlight/Tables/table_meatwall.yml
  • Resources/Prototypes/_Starlight/tags.yml
  • Resources/Prototypes/_TP/Entities/Objects/Consumable/Food/meat.yml
  • Resources/Prototypes/_TP/Entities/Objects/Consumable/Food/snacks.yml
  • Resources/Prototypes/_TP/Entities/Structures/Machines/Kitchen/deepfryer.yml
  • Resources/Prototypes/tags.yml
  • Resources/migration.yml

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@RhapsodySL

Copy link
Copy Markdown
Contributor Author

@coderabbitai Run a code review on commits between1bfed1e and 095ffad.

@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

This command requires write access to the repository. Only users with write or admin permissions can trigger CodeRabbit to commit or create pull requests.

@RhapsodySL

Copy link
Copy Markdown
Contributor Author

@coderabbitai The additions made by this PR are from commits 1bfed1e to 095ffad. Review this collection of commits.

@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor
🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

base='1bfed1ecb8c9027f0497c20c67ac6f378946e352'
head='095ffada9799f5b4a2dbc0eccbacdda1e64e147c'

git cat-file -e "${base}^{commit}"
git cat-file -e "${head}^{commit}"

printf '%s\n' '=== commits ==='
git show -s --format='%H%n%s%n%b' "$base"
printf '%s\n' '---'
git show -s --format='%H%n%s%n%b' "$head"

printf '%s\n' '=== changed files (base^..head, inclusive) ==='
git diff --name-status "${base}^" "$head"

printf '%s\n' '=== diff ==='
git diff --find-renames --find-copies --unified=80 "${base}^" "$head"

printf '%s\n' '=== outlines of changed C# files ==='
git diff --name-only "${base}^" "$head" -- '*.cs' |
while IFS= read -r file; do
  printf '\n--- %s ---\n' "$file"
  ast-grep outline "$file" --items all --view expanded || true
done

Length of output: 98153


🏁 Script executed:

#!/bin/bash
set -euo pipefail

base='1bfed1ecb8c9027f0497c20c67ac6f378946e352'
head='095ffada9799f5b4a2dbc0eccbacdda1e64e147c'

printf '%s\n' '=== changed implementation with line numbers ==='
nl -ba Content.Client/_Starlight/Chemistry/UI/ModernChemMasterWindow.xaml.cs | sed -n '270,405p'
nl -ba Content.Client/_Starlight/Chemistry/UI/ModernChemMasterWindow.xaml.cs | sed -n '730,935p'

printf '%s\n' '=== selector behavior before the range ==='
git show "${base}^:Content.Client/_Starlight/Chemistry/UI/ModernChemMasterWindow.xaml.cs" |
  nl -ba | sed -n '210,340p'

printf '%s\n' '=== title bar positioning API usages ==='
rg -n -C 5 --glob '*.cs' \
  '(SetPositionInParent\s*\(|CloseButton\.Parent|class\s+PopOutFancyWindow\b)' .

printf '%s\n' '=== amount event subscriptions and state updates ==='
rg -n -C 5 --glob '*.cs' \
  '(OnAmountSelected\s*\+=|SetSelectedAmount\s*\(|ChemMasterSetTransferAmountMessage\s*\()' \
  Content.Client Content.Server Content.Shared

printf '%s\n' '=== static UI dictionaries and network-entity lifetime handling ==='
rg -n -C 4 --glob '*.cs' \
  '(static\s+readonly\s+Dictionary<NetEntity|Dictionary<NetEntity|SetChemMasterEntity\s*\()' \
  Content.Client

Length of output: 1590


🏁 Script executed:

#!/bin/bash
set -euo pipefail

base='1bfed1ecb8c9027f0497c20c67ac6f378946e352'

printf '%s\n' '=== changed selector and layout implementation ==='
sed -n '270,405p' Content.Client/_Starlight/Chemistry/UI/ModernChemMasterWindow.xaml.cs
sed -n '730,935p' Content.Client/_Starlight/Chemistry/UI/ModernChemMasterWindow.xaml.cs

printf '%s\n' '=== selector behavior before the range ==='
git show "${base}^:Content.Client/_Starlight/Chemistry/UI/ModernChemMasterWindow.xaml.cs" |
  sed -n '210,340p'

printf '%s\n' '=== title bar positioning API usages ==='
rg -n -C 5 --glob '*.cs' \
  '(SetPositionInParent\s*\(|CloseButton\.Parent|class\s+PopOutFancyWindow\b)' .

printf '%s\n' '=== amount event subscriptions and state updates ==='
rg -n -C 5 --glob '*.cs' \
  '(OnAmountSelected\s*\+=|SetSelectedAmount\s*\(|ChemMasterSetTransferAmountMessage\s*\()' \
  Content.Client Content.Server Content.Shared

printf '%s\n' '=== static UI dictionaries and network-entity lifetime handling ==='
rg -n -C 4 --glob '*.cs' \
  '(static\s+readonly\s+Dictionary<NetEntity|Dictionary<NetEntity|SetChemMasterEntity\s*\()' \
  Content.Client

Length of output: 63371


@RhapsodySL I reviewed the inclusive commit range from 1bfed1ecb8c9027f0497c20c67ac6f378946e352 through 095ffada9799f5b4a2dbc0eccbacdda1e64e147c.

I found no actionable correctness regressions in this range.

The custom amount message has server-side bounds validation. The title-bar control uses the existing PopOutFancyWindow placement pattern. The buffer filter updates both layouts. I did not run the game or build tools because the review sandbox does not provide them.

⚠️ Action not completed

Review skipped: 531 files exceed the limit of 100.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Content + Integration Test Results

Failed Tests

Failed Tests
❌ SpawnAndDeleteAllEntitiesInTheSameSpot
Multiple failures or warnings in test:
  1) System.Collections.Generic.KeyNotFoundException : Entity 236850 does not have a component of type Robust.Shared.GameObjects.TransformComponent
     at Robust.Shared.Player.Filter.Pvs(EntityUid origin, Single rangeMultiplier, IEntityManager entityManager, ISharedPlayerManager playerManager, IConfigurationManager cfgManager) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Player/Filter.cs:line 362
   at Content.Server.Damage.Systems.DamageOtherOnHitSystem.OnDoHit(EntityUid uid, DamageOtherOnHitComponent component, ThrowDoHitEvent args) in /home/runner/work/space-station-14/space-station-14/Content.Server/Damage/Systems/DamageOtherOnHitSystem.cs:line 46
   at Robust.Shared.GameObjects.EntityEventBus.<>c__DisplayClass54_0`2.<SubscribeLocalEvent>g__EventHandler|0(EntityUid uid, IComponent comp, Unit& ev) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/EntityEventBus.Directed.cs:line 267
   at DMD<DMD<>?64799683::Robust.Shared.GameObjects.EntityEventBus::EntDispatch>(EntityEventBus this, EntityUid euid, Type eventType, Unit& args)
   at SyncProxy<System.Void Robust.Shared.GameObjects.EntityEventBus:EntDispatch(Robust.Shared.GameObjects.EntityUid, System.Type, Robust.Shared.GameObjects.EntityEventBus+Unit&)>(EntityEventBus , EntityUid , Type , Unit& )
   at Content.Shared.Throwing.ThrownItemSystem.ThrowCollideInteraction(ThrownItemComponent component, EntityUid thrown, EntityUid target) in /home/runner/work/space-station-14/space-station-14/Content.Shared/Throwing/ThrownItemSystem.cs:line 148
   at DMD<DMD<>?64799683::Robust.Shared.GameObjects.EntityEventBus::EntDispatch>(EntityEventBus this, EntityUid euid, Type eventType, Unit& args)
   at SyncProxy<System.Void Robust.Shared.GameObjects.EntityEventBus:EntDispatch(Robust.Shared.GameObjects.EntityUid, System.Type, Robust.Shared.GameObjects.EntityEventBus+Unit&)>(EntityEventBus , EntityUid , Type , Unit& )
   at Robust.Shared.Physics.Systems.SharedPhysicsSystem.RunContactEvents(ContactStatus status, Contact contact, FixedArray4`1 worldPoint) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Physics/Systems/SharedPhysicsSystem.Contacts.cs:line 610
   at Robust.Shared.Physics.Systems.SharedPhysicsSystem.CollideContacts() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Physics/Systems/SharedPhysicsSystem.Contacts.cs:line 582
   at Robust.Shared.Physics.Systems.SharedPhysicsSystem.SimulateWorld(Single deltaTime, Boolean prediction) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Physics/Systems/SharedPhysicsSystem.cs:line 302
   at Robust.Shared.GameObjects.EntitySystemManager.TickUpdate(Single frameTime, Boolean noPredictions) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/EntitySystemManager.cs:line 343
   at Robust.Shared.GameObjects.EntityManager.TickUpdate(Single frameTime, Boolean noPredictions, Histogram histogram) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/EntityManager.cs:line 271
   at Robust.Server.GameObjects.ServerEntityManager.TickUpdate(Single frameTime, Boolean noPredictions, Histogram histogram) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/GameObjects/ServerEntityManager.cs:line 174
   at Robust.Server.BaseServer.Update(FrameEventArgs frameEventArgs) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/BaseServer.cs:line 731
   at Robust.UnitTesting.RobustIntegrationTest.IntegrationGameLoop.SingleThreadRunUntilEmpty() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 1250
   at Robust.UnitTesting.RobustIntegrationTest.IntegrationGameLoop.Run() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 1237
   at Robust.UnitTesting.RobustIntegrationTest.ServerIntegrationInstance._serverMain() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 773
--- End of stack trace from previous location ---
   at Robust.UnitTesting.RobustIntegrationTest.IntegrationInstance.WaitIdleImplAsync(Boolean throwOnUnhandled, CancellationToken cancellationToken) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 566
   at Robust.UnitTesting.RobustIntegrationTest.IntegrationInstance.WaitRunTicks(Int32 ticks) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 653
   at Content.IntegrationTests.Tests.EntityTest.SpawnAndDeleteAllEntitiesInTheSameSpot() in /home/runner/work/space-station-14/space-station-14/Content.IntegrationTests/Tests/EntityTest.cs:line 133
   at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.DelegatingTestCommand.RunTestMethodInThreadAbortSafeZone(TestExecutionContext context, Action action)
  2) Test was dirty-disposed.
     at Robust.UnitTesting.Pool.TestPair`2.OnDirtyDispose() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/Pool/TestPair.Recycle.cs:line 44
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at Robust.UnitTesting.Pool.TestPair`2.OnDirtyDispose()
   at Robust.UnitTesting.Pool.TestPair`2.DisposeAsync() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/Pool/TestPair.Recycle.cs:line 146
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at Robust.UnitTesting.Pool.TestPair`2.DisposeAsync()
   at Content.IntegrationTests.Fixtures.GameTest.DoTeardown() in /home/runner/work/space-station-14/space-station-14/Content.IntegrationTests/Fixtures/GameTest.cs:line 262
   at Content.IntegrationTests.Fixtures.GameTest.DoTeardown()
   at InvokeStub_GameTest.DoTeardown(Object, Object, IntPtr*)

Trace:


1)    at Robust.Shared.Player.Filter.Pvs(EntityUid origin, Single rangeMultiplier, IEntityManager entityManager, ISharedPlayerManager playerManager, IConfigurationManager cfgManager) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Player/Filter.cs:line 362
   at Content.Server.Damage.Systems.DamageOtherOnHitSystem.OnDoHit(EntityUid uid, DamageOtherOnHitComponent component, ThrowDoHitEvent args) in /home/runner/work/space-station-14/space-station-14/Content.Server/Damage/Systems/DamageOtherOnHitSystem.cs:line 46
   at Robust.Shared.GameObjects.EntityEventBus.<>c__DisplayClass54_0`2.<SubscribeLocalEvent>g__EventHandler|0(EntityUid uid, IComponent comp, Unit& ev) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/EntityEventBus.Directed.cs:line 267
   at DMD<DMD<>?64799683::Robust.Shared.GameObjects.EntityEventBus::EntDispatch>(EntityEventBus this, EntityUid euid, Type eventType, Unit& args)
   at SyncProxy<System.Void Robust.Shared.GameObjects.EntityEventBus:EntDispatch(Robust.Shared.GameObjects.EntityUid, System.Type, Robust.Shared.GameObjects.EntityEventBus+Unit&)>(EntityEventBus , EntityUid , Type , Unit& )
   at Content.Shared.Throwing.ThrownItemSystem.ThrowCollideInteraction(ThrownItemComponent component, EntityUid thrown, EntityUid target) in /home/runner/work/space-station-14/space-station-14/Content.Shared/Throwing/ThrownItemSystem.cs:line 148
   at DMD<DMD<>?64799683::Robust.Shared.GameObjects.EntityEventBus::EntDispatch>(EntityEventBus this, EntityUid euid, Type eventType, Unit& args)
   at SyncProxy<System.Void Robust.Shared.GameObjects.EntityEventBus:EntDispatch(Robust.Shared.GameObjects.EntityUid, System.Type, Robust.Shared.GameObjects.EntityEventBus+Unit&)>(EntityEventBus , EntityUid , Type , Unit& )
   at Robust.Shared.Physics.Systems.SharedPhysicsSystem.RunContactEvents(ContactStatus status, Contact contact, FixedArray4`1 worldPoint) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Physics/Systems/SharedPhysicsSystem.Contacts.cs:line 610
   at Robust.Shared.Physics.Systems.SharedPhysicsSystem.CollideContacts() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Physics/Systems/SharedPhysicsSystem.Contacts.cs:line 582
   at Robust.Shared.Physics.Systems.SharedPhysicsSystem.SimulateWorld(Single deltaTime, Boolean prediction) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Physics/Systems/SharedPhysicsSystem.cs:line 302
   at Robust.Shared.GameObjects.EntitySystemManager.TickUpdate(Single frameTime, Boolean noPredictions) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/EntitySystemManager.cs:line 343
   at Robust.Shared.GameObjects.EntityManager.TickUpdate(Single frameTime, Boolean noPredictions, Histogram histogram) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/EntityManager.cs:line 271
   at Robust.Server.GameObjects.ServerEntityManager.TickUpdate(Single frameTime, Boolean noPredictions, Histogram histogram) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/GameObjects/ServerEntityManager.cs:line 174
   at Robust.Server.BaseServer.Update(FrameEventArgs frameEventArgs) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Server/BaseServer.cs:line 731
   at Robust.UnitTesting.RobustIntegrationTest.IntegrationGameLoop.SingleThreadRunUntilEmpty() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 1250
   at Robust.UnitTesting.RobustIntegrationTest.IntegrationGameLoop.Run() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 1237
   at Robust.UnitTesting.RobustIntegrationTest.ServerIntegrationInstance._serverMain() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 773
--- End of stack trace from previous location ---
   at Robust.UnitTesting.RobustIntegrationTest.IntegrationInstance.WaitIdleImplAsync(Boolean throwOnUnhandled, CancellationToken cancellationToken) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 566
   at Robust.UnitTesting.RobustIntegrationTest.IntegrationInstance.WaitRunTicks(Int32 ticks) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 653
   at Content.IntegrationTests.Tests.EntityTest.SpawnAndDeleteAllEntitiesInTheSameSpot() in /home/runner/work/space-station-14/space-station-14/Content.IntegrationTests/Tests/EntityTest.cs:line 133
   at NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(TestExecutionContext context)
   at NUnit.Framework.Internal.Commands.DelegatingTestCommand.RunTestMethodInThreadAbortSafeZone(TestExecutionContext context, Action action)
2)    at Robust.UnitTesting.Pool.TestPair`2.OnDirtyDispose() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/Pool/TestPair.Recycle.cs:line 44
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at Robust.UnitTesting.Pool.TestPair`2.OnDirtyDispose()
   at Robust.UnitTesting.Pool.TestPair`2.DisposeAsync() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/Pool/TestPair.Recycle.cs:line 146
   at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine)
   at Robust.UnitTesting.Pool.TestPair`2.DisposeAsync()
   at Content.IntegrationTests.Fixtures.GameTest.DoTeardown() in /home/runner/work/space-station-14/space-station-14/Content.IntegrationTests/Fixtures/GameTest.cs:line 262
   at Content.IntegrationTests.Fixtures.GameTest.DoTeardown()
   at InvokeStub_GameTest.DoTeardown(Object, Object, IntPtr*)
❌ SpawnAndDeleteAllEntitiesOnDifferentMaps
SERVER: 52.849s [ERRO] resolve: Can't resolve "Robust.Shared.Physics.Components.PhysicsComponent" on entity NanoTrasen navy marine hardsuit helmet (168240/n168240, ClothingHeadHelmetHardsuitNTNCConsortium)!
   at System.Environment.get_StackTrace()
   at Robust.Shared.Physics.Systems.SharedPhysicsSystem.ApplyLinearImpulse(EntityUid uid, Vector2 impulse, FixturesComponent manager, PhysicsComponent body) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Physics/Systems/SharedPhysicsSystem.Components.cs:line 265
   at Content.Shared.Gibbing.GibbingSystem.FlingDroppedEntity(EntityUid target) in /home/runner/work/space-station-14/space-station-14/Content.Shared/Gibbing/GibbingSystem.cs:line 68
   at Content.Shared.Gibbing.GibbingSystem.Gib(EntityUid ent, Boolean dropGiblets, Nullable`1 user) in /home/runner/work/space-station-14/space-station-14/Content.Shared/Gibbing/GibbingSystem.cs:line 51
   at Content.Shared.Trigger.Systems.GibOnTriggerSystem.OnTrigger(Entity`1 ent, EntityUid target, TriggerEvent& args) in /home/runner/work/space-station-14/space-station-14/Content.Shared/Trigger/Systems/GibOnTriggerSystem.cs:line 24
   at DMD<DMD<>?45722599::Robust.Shared.GameObjects.EntityEventBus::EntDispatch>(EntityEventBus this, EntityUid euid, Type eventType, Unit& args)
   at SyncProxy<System.Void Robust.Shared.GameObjects.EntityEventBus:EntDispatch(Robust.Shared.GameObjects.EntityUid, System.Type, Robust.Shared.GameObjects.EntityEventBus+Unit&)>(EntityEventBus , EntityUid , Type , Unit& )
   at Content.Shared.Trigger.Systems.TriggerSystem.Trigger(EntityUid trigger, Nullable`1 user, String key, Boolean predicted) in /home/runner/work/space-station-14/space-station-14/Content.Shared/Trigger/Systems/TriggerSystem.cs:line 80
   at Content.Shared.Trigger.Systems.TriggerOnMobstateChangeSystem.OnMobStateRelay(EntityUid uid, TriggerOnMobstateChangeComponent component, ImplantRelayEvent`1 args) in /home/runner/work/space-station-14/space-station-14/Content.Shared/Trigger/Systems/TriggerOnMobstateChangeSystem.cs:line 37
   at DMD<DMD<>?45722599::Robust.Shared.GameObjects.EntityEventBus::EntDispatch>(EntityEventBus this, EntityUid euid, Type eventType, Unit& args)
   at SyncProxy<System.Void Robust.Shared.GameObjects.EntityEventBus:EntDispatch(Robust.Shared.GameObjects.EntityUid, System.Type, Robust.Shared.GameObjects.EntityEventBus+Unit&)>(EntityEventBus , EntityUid , Type , Unit& )
   at Robust.Shared.GameObjects.EntitySystem.RaiseLocalEvent[TEvent](EntityUid uid, TEvent args, Boolean broadcast) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/EntitySystem.cs:line 228
   at Content.Shared.Implants.SharedSubdermalImplantSystem.RelayToImplantEvent[T](EntityUid uid, ImplantedComponent component, T args) in /home/runner/work/space-station-14/space-station-14/Content.Shared/Implants/SharedSubdermalImplantSystem.Relays.cs:line 36
   at Robust.Shared.GameObjects.EntityEventBus.<>c__DisplayClass54_0`2.<SubscribeLocalEvent>g__EventHandler|0(EntityUid uid, IComponent comp, Unit& ev) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/EntityEventBus.Directed.cs:line 267
   at Robust.Shared.GameObjects.EntityEventBus.RaiseLocalOrdered(EntityUid uid, Type eventType, EventData subs, Unit& unitRef, Boolean broadcast) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/EntityEventBus.Ordering.cs:line 43
   at Content.Shared.Mobs.Systems.MobStateSystem.ChangeState(EntityUid target, MobStateComponent component, MobState newState, Nullable`1 origin) in /home/runner/work/space-station-14/space-station-14/Content.Shared/Mobs/Systems/MobStateSystem.StateMachine.cs:line 114
   at Content.Shared.Mobs.Systems.MobStateSystem.UpdateMobState(EntityUid entity, MobStateComponent component, Nullable`1 origin) in /home/runner/work/space-station-14/space-station-14/Content.Shared/Mobs/Systems/MobStateSystem.StateMachine.cs:line 37
   at Content.Shared.Mobs.Systems.MobThresholdSystem.OnDamaged(EntityUid target, MobThresholdsComponent thresholds, DamageChangedEvent args) in /home/runner/work/space-station-14/space-station-14/Content.Shared/Mobs/Systems/MobThresholdSystem.cs:line 453
   at Robust.Shared.GameObjects.EntityEventBus.RaiseLocalOrdered(EntityUid uid, Type eventType, EventData subs, Unit& unitRef, Boolean broadcast) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/EntityEventBus.Ordering.cs:line 43
   at Content.Shared.Damage.Systems.DamageableSystem.ChangeDamage(Entity`1 ent, DamageSpecifier damage, Boolean ignoreResistances, Boolean interruptsDoAfters, Nullable`1 origin, Boolean ignoreGlobalModifiers, Single armorPenetration, Boolean canHeal) in /home/runner/work/space-station-14/space-station-14/Content.Shared/Damage/Systems/DamageableSystem.API.cs:line 134
   at Content.Shared.Body.Systems.SharedBodySystem.PartRemoveDamage(Entity`1 bodyEnt, Entity`1 partEnt) in /home/runner/work/space-station-14/space-station-14/Content.Shared/_Starlight/Medical/Body/Systems/SharedBodySystem.Parts.cs:line 210
   at Content.Server._Starlight.Medical.Body.Systems.BodySystem.RemovePart(Entity`1 bodyEnt, Entity`1 partEnt, String slotId) in /home/runner/work/space-station-14/space-station-14/Content.Server/_Starlight/Medical/Body/Systems/BodySystem.cs:line 84
   at Content.Shared.Body.Systems.SharedBodySystem.OnBodyPartRemoved(Entity`1 ent, EntRemovedFromContainerMessage& args) in /home/runner/work/space-station-14/space-station-14/Content.Shared/_Starlight/Medical/Body/Systems/SharedBodySystem.Parts.cs:line 76
   at Robust.Shared.GameObjects.EntityEventBus.RaiseLocalOrdered(EntityUid uid, Type eventType, EventData subs, Unit& unitRef, Boolean broadcast) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/EntityEventBus.Ordering.cs:line 43
   at Robust.Shared.Containers.SharedContainerSystem.Remove(Entity`2 toRemove, BaseContainer container, Boolean reparent, Boolean force, Nullable`1 destination, Nullable`1 localRotation) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Containers/SharedContainerSystem.Remove.cs:line 101
   at Robust.Shared.Containers.SharedContainerSystem.RemoveEntity(EntityUid uid, EntityUid toremove, ContainerManagerComponent containerManager, TransformComponent containedXform, MetaDataComponent containedMeta, Boolean reparent, Boolean force, Nullable`1 destination, Nullable`1 localRotation) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Containers/SharedContainerSystem.cs:line 258
   at Robust.Shared.Containers.SharedContainerSystem.OnParentChanged(EntParentChangedMessage& message) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/Containers/SharedContainerSystem.cs:line 680
   at Robust.Shared.GameObjects.SharedTransformSystem.RaiseMoveEvent(Entity`2 ent, EntityUid oldParent, Vector2 oldPosition, Angle oldRotation, Nullable`1 oldMap, Boolean checkTraversal) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/Systems/SharedTransformSystem.cs:line 286
   at Robust.Shared.GameObjects.SharedTransformSystem.SetCoordinates(Entity`2 entity, EntityCoordinates value, Nullable`1 rotation, Boolean unanchor, TransformComponent newParent, TransformComponent oldParent) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/Systems/SharedTransformSystem.Component.cs:line 690
   at Robust.Shared.GameObjects.SharedTransformSystem.DetachEntityInternal(EntityUid uid, TransformComponent xform, MetaDataComponent meta, TransformComponent oldXform, Boolean terminating) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/Systems/SharedTransformSystem.Component.cs:line 1749
   at Robust.Shared.GameObjects.EntityManager.RecursiveDeleteEntity(EntityUid uid, MetaDataComponent metadata, TransformComponent transform, TransformComponent parentXform) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/EntityManager.cs:line 671
   at Robust.Shared.GameObjects.EntityManager.DeleteEntity(EntityUid e, MetaDataComponent meta, TransformComponent xform) in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.Shared/GameObjects/EntityManager.cs:line 627
   at Content.IntegrationTests.Tests.EntityTest.<>c__DisplayClass6_0.<SpawnAndDeleteAllEntitiesOnDifferentMaps>b__1() in /home/runner/work/space-station-14/space-station-14/Content.IntegrationTests/Tests/EntityTest.cs:line 98
   at Robust.UnitTesting.RobustIntegrationTest.IntegrationGameLoop.SingleThreadRunUntilEmpty() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 1250
   at Robust.UnitTesting.RobustIntegrationTest.IntegrationGameLoop.Run() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 1237
   at Robust.UnitTesting.RobustIntegrationTest.ServerIntegrationInstance._serverMain() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/RobustIntegrationTest.cs:line 773
   at System.Threading.Thread.StartHelper.Callback(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) Exception: 

Trace:

   at Robust.UnitTesting.Pool.TestPair`2.ReportErrorLogs() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/Pool/TestPair.Recycle.cs:line 28
   at Robust.UnitTesting.Pool.TestPair`2.OnCleanDispose() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/Pool/TestPair.Recycle.cs:line 99
   at Robust.UnitTesting.Pool.TestPair`2.OnCleanDispose() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/Pool/TestPair.Recycle.cs:line 107
   at Robust.UnitTesting.Pool.TestPair`2.CleanReturnAsync() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/Pool/TestPair.Recycle.cs:line 125
   at Content.IntegrationTests.Fixtures.GameTest.DoTeardown() in /home/runner/work/space-station-14/space-station-14/Content.IntegrationTests/Fixtures/GameTest.cs:line 260
   at NUnit.Framework.Internal.Commands.SetUpTearDownItem.RunTearDown(TestExecutionContext context)
1)    at Robust.UnitTesting.Pool.TestPair`2.ReportErrorLogs() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/Pool/TestPair.Recycle.cs:line 25
   at Robust.UnitTesting.Pool.TestPair`2.OnCleanDispose() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/Pool/TestPair.Recycle.cs:line 99
2)    at Robust.UnitTesting.Pool.TestPair`2.OnCleanDispose() in /home/runner/work/space-station-14/space-station-14/RobustToolbox/Robust.UnitTesting/Pool/TestPair.Recycle.cs:line 106
Tests 📝 Passed ✅ Failed ❌ Duration ⏱️
1713 1691 2 21m 29s

Github Test Reporter by CTRF 💚

🔄 This comment has been updated

@github-actions github-actions Bot added the size/L label Sep 2, 2026
@RhapsodySL

Copy link
Copy Markdown
Contributor Author

@coderabbitai Explain the test failures.

@coderabbitai

coderabbitai Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Tip

For best results, initiate chat on the files or code changes.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

repo="ss14Starlight/space-station-14"
pr="5939"

printf '%s\n' '=== pull request status ==='
gh pr view "$pr" --repo "$repo" --json headRefOid,statusCheckRollup \
  --jq '{headRefOid, checks: [.statusCheckRollup[] | {name, status, conclusion, detailsUrl}]}'

printf '%s\n' '=== failed workflow jobs ==='
gh api "repos/$repo/actions/runs?event=pull_request&per_page=100" \
  --jq --arg head "$(gh pr view "$pr" --repo "$repo" --json headRefOid --jq .headRefOid)" \
  '[.workflow_runs[] | select(.head_sha == $head) | {id, name, conclusion, html_url}]' |
while IFS= read -r run; do
  run_id="$(jq -r '.id' <<<"$run")"
  printf '%s\n' "$run"
  gh api "repos/$repo/actions/runs/$run_id/jobs?filter=latest&per_page=100" \
    --jq '[.jobs[] | select(.conclusion == "failure") | {id, name, conclusion, started_at, completed_at, html_url, steps: [.steps[] | select(.conclusion == "failure") | {name, number, conclusion}]}]'
done

Length of output: 4731


🏁 Script executed:

#!/bin/bash
set -euo pipefail

repo="ss14Starlight/space-station-14"

for job in 100155589463 100155589429; do
  printf '\n=== job metadata: %s ===\n' "$job"
  gh api "repos/$repo/actions/jobs/$job" \
    --jq '{name, conclusion, html_url, steps: [.steps[] | {number, name, conclusion, started_at, completed_at}]}'

  printf '\n=== failed log: %s ===\n' "$job"
  gh run view 33600771723 --repo "$repo" --job "$job" --log-failed || true
done

Length of output: 198980


🏁 Script executed:

#!/bin/bash
set -euo pipefail

repo="ss14Starlight/space-station-14"
run="33600771723"
workdir="$(mktemp -d)"
trap 'rm -rf "$workdir"' EXIT

gh run view "$run" --repo "$repo" --log-failed > "$workdir/failed.log"

printf '%s\n' '=== failed test names and retry summaries ==='
rg -n -i -C 2 'failed.*\(|Retry summary|Test run summary|hang|timed out|exception' \
  "$workdir/failed.log" |
  grep -E 'Integration Tests \(shard (0|1)\)|Retry summary|Test run summary' | head -n 240

printf '%s\n' '=== changed files in the reviewed commit range ==='
git diff --name-only 1bfed1ecb8c9027f0497c20c67ac6f378946e352^ 095ffada9799f5b4a2dbc0eccbacdda1e64e147c

printf '%s\n' '=== repository files related to the gumball prototypes or the solution-port warning ==='
rg -n -i -C 2 \
  'FoodSnackGumball|Attempted to port a solution id|AllItemsHaveSpritesTest' \
  Content.* RobustToolbox 2>/dev/null | head -n 200

Length of output: 55602


🏁 Script executed:

#!/bin/bash
set -euo pipefail

repo="ss14Starlight/space-station-14"
run="33600771723"
workdir="$(mktemp -d)"
trap 'rm -rf "$workdir"' EXIT

printf '%s\n' '=== artifacts ==='
gh api "repos/$repo/actions/runs/$run/artifacts?per_page=100" \
  --jq '.artifacts[] | {id, name, expired}'

gh run download "$run" --repo "$repo" --dir "$workdir/artifacts"

printf '%s\n' '=== failed CTRF test results ==='
fd -t f -e json . "$workdir/artifacts" -x sh -c \
  'jq -r '"'"'
    .results.tests[]?
    | select((.status // .outcome // "") | test("fail|error"; "i"))
    | "\($ENV.RESULT_FILE): \(.name // .id // "<unnamed>")\n  \(.message // .error.message // .extra.message // "<no message>")"
  '"'"' "$1"' sh {} |
  sed -n '1,160p'

printf '%s\n' '=== changed files in reviewed range ==='
git diff --name-only 1bfed1ecb8c9027f0497c20c67ac6f378946e352^ 095ffada9799f5b4a2dbc0eccbacdda1e64e147c

Length of output: 25763


@RhapsodySL The failed checks are integration-test failures, not build failures.

  • Integration Tests (shard 1) failed Sprite.PrototypeSaveTest.AllItemsHaveSpritesTest.
  • The test failed on all three attempts.
  • During client prototype loading, SolutionContainerManagerComponent tried to port a food solution onto 12 FoodSnackGumball* prototypes that already had a food solution.
  • The test framework treats these client warnings as test failures during cleanup.

The relevant error is:

Attempted to port a solution id: food from a SolutionContainerManagerComponent on gumball ... but the entity already had a solution with that id.

Integration Tests (shard 0) also failed after three attempts. Its CTRF result contains the same 12 FoodSnackGumball* solution-port warnings. The artifact does not preserve the original fixture name for that shard.

Debug CI Required failed because shards 0 and 1 failed.

The reviewed commit range changes only ChemMaster UI, ChemMaster networking, ChemMasterSystem.cs, and ChemMaster localization. It does not change the gumball prototypes or system.solution_container. The failures are therefore unrelated to this PR's ChemMaster changes.

🐇🔍

You are interacting with an AI system.

@wonderfulnewworld

Copy link
Copy Markdown
Contributor

Merge my branch into yours again, I have those test fails fixed

@wonderfulnewworld

Copy link
Copy Markdown
Contributor

Since you're working on a branch of mine, pretty much pull from me instead of pressing merge on github, since I have a trail of merges that go upwards to the solutions pr.

@wonderfulnewworld

Copy link
Copy Markdown
Contributor

That way we don't get any awkward out of order merge conflicts in the future

@wonderfulnewworld wonderfulnewworld left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good

@RhapsodySL

Copy link
Copy Markdown
Contributor Author

Going to do a quick pass on something in the output tab that's bothering me after I get some sleep, otherwise good to go.

A comment heavily implies this was either a planned feature or broken at some point or something, but it makes sense to have it shown here so we add it.
@RhapsodySL

Copy link
Copy Markdown
Contributor Author

Ready for review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Changes: C# Changes: Prototypes Changes: UI S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.