Solutions (Rebirth) - #5893
Conversation
* 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>
change increments
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
…d to be instead of dropping onto the floor (ss14Starlight#160)
…l qualities (#44441) ToolRefinableSystem: check used tool before evt
e Co-authored-by: deltanedas <@deltanedas:goida.zip>
Update SharedKitchenSpikeSystem.cs
|
@coderabbitai explain test failures |
|
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_number="5893"
head_sha="$(gh pr view "$pr_number" --repo "$repo" --json headRefOid --jq '.headRefOid')"
echo "== HEAD =="
echo "$head_sha"
echo
echo "== FAILED CHECKS =="
gh pr checks "$pr_number" --repo "$repo" --json name,state,link,workflow \
--jq '.[] | select(.state == "FAILURE" or .state == "ERROR" or .state == "CANCELLED" or .state == "TIMED_OUT") | [.name, .state, .workflow, .link] | `@tsv`' \
|| true
echo
echo "== FAILED CHECK ANNOTATIONS =="
gh api "repos/$repo/commits/$head_sha/check-runs?per_page=100" \
--jq '.check_runs[] | select(.conclusion == "failure" or .conclusion == "timed_out" or .conclusion == "cancelled") | [.id, .name, .details_url] | `@tsv`' \
| while IFS=$'\t' read -r id name url; do
echo "-- $name: $url"
gh api "repos/$repo/check-runs/$id/annotations?per_page=100" \
--jq '.[] | [.path, (.start_line|tostring), .annotation_level, .message] | `@tsv`' \
|| true
done
echo
echo "== FAILED JOB LOG CONTEXT =="
gh run list --repo "$repo" --commit "$head_sha" --limit 30 \
--json databaseId,workflowName,conclusion,url \
--jq '.[] | select(.conclusion == "failure" or .conclusion == "timed_out") | [.databaseId, .workflowName, .url] | `@tsv`' \
| while IFS=$'\t' read -r run_id workflow url; do
echo "-- $workflow: $url"
gh run view "$run_id" --repo "$repo" --log-failed 2>&1 \
| rg -n -i -C 5 \
'failed|error:|exception|assert|nunit|xunit|stack trace|unhandled|expected|actual|test.*fail|fatal' \
| head -n 500 || true
doneLength of output: 167051 🏁 Script executed: #!/bin/bash
set -euo pipefail
repo="ss14Starlight/space-station-14"
run_id="33363526016"
base_sha="$(gh pr view 5893 --repo "$repo" --json baseRefOid --jq '.baseRefOid')"
echo "== DISTINCT FAILED TESTS FROM ALL SHARDS =="
for job_id in 99400917620 99400917714 99400917723; do
echo "-- job $job_id"
gh run view "$run_id" --repo "$repo" --job "$job_id" --log-failed 2>&1 \
| sed -r 's/\x1B\[[0-9;]*[[:alpha:]]//g' \
| rg -n '^[^[:space:]].*failed[[:space:]]' \
| head -n 100 || true
done
echo
echo "== CHANGED FILES MATCHING FAILURE TERMS =="
git diff --name-only "$base_sha" HEAD | while IFS= read -r path; do
if rg -q -i \
'CosmicGlyphBlades|CheekStorage|TiderLathe|SwordFlamingTA|HelmetForgedTA|BountyKnife|FoodPizzaLarge|FoodPizza|ClothingOuterWinter|SolutionContainerManagerComponent|[[:space:]]Sharp:' \
"$path"; then
echo "$path"
fi
done
echo
echo "== CURRENT MATCHES WITH CONTEXT =="
rg -n -i -C 4 \
'CosmicGlyphBlades|CheekStorage|TiderLathe|SwordFlamingTA|HelmetForgedTA|BountyKnife|FoodPizzaLarge|FoodPizza|ClothingOuterWinter|SolutionContainerManagerComponent|^[[:space:]]+Sharp:' \
-g '*.yml' -g '*.yaml' Resources Content.Shared Content.Server Content.Client 2>/dev/null \
| head -n 900
echo
echo "== RELEVANT PR DIFF =="
git diff --unified=3 "$base_sha" HEAD -- \
| rg -n -C 4 \
'CosmicGlyphBlades|CheekStorage|TiderLathe|SwordFlamingTA|HelmetForgedTA|BountyKnife|FoodPizzaLarge|FoodPizza|ClothingOuterWinter|SolutionContainerManagerComponent|^[+-][[:space:]]+Sharp:' \
| head -n 900Length of output: 132962
The prior YAML diagnosis does not apply to the current CI run. You are interacting with an AI system. |
Content + Integration Test Results
🎉 No failed tests in this run. Github Test Reporter by CTRF 💚 🔄 This comment has been updated |
|
Tests all passed. :ikneel: |
…n-14 into upstream/solutions-rebirth
Short description
"If there is magic in my heart, can I make this overwhelming dream come true?"
It's the entirety of the Solutions Refactor + a ton of bug fixes, and, as a result of some awkward tangled PRs, also the butchering -> slicing refactor.
I'm going to split up the "list of PRs" into 2 sections, Solutions related, and Slicing related.
Solutions
Slicing
As I always say when I use AI, I used AI to help me with this PR. It was mainly the "busy" work, the hundreds of 2 line changes to go from solutioncontainer to solution, etc, and some C# assistance too. A lot of busy work.
Since this is technically an upstream merge in a way, might not want to squash merge it? It's not in the same format as the others, so I don't know. It was cherry picked, for what it's worth. (Edit: Yeah don't squash merge this or it'll collide with the other 5 direct PRs that rely on it)
Why we need to add this
We're 7 months behind, and a lot of really good modern features (reagent fires, blood footprints, blood splatter on walls) rely on this PR to work. And to me, this PR existing in our path is a bit of a mental block, so I just want to move past it.
Media (Video/Screenshots)
Note, the silver jug is now 4 wide, 3 tall, instead of 3 wide, 4 tall. It bothered me when I took this picture, so I changed it later.
Despite all those PRs taken, there's not actually that much to show off.
Checks
Changelog
🆑 wonderfulnewworld, Princess Cheeseballs, kosticia, slarticodefast, themias, rumaks xyz, veprolet, AreYouConfused, insoPL, whatston3, cashew 42, B Kirill, portfiend, korczoczek, deltanedas, Winkarst cpu, Wintoli