36694 Commits

Author SHA1 Message Date
ProPeperos 0da3c0731c Saltern - Atmos and tweaks (#44119) 2026-05-30 01:05:27 +00:00
UBlueberry 3360903531 A sound is played when an implanter catastrophically fails (#44156)
* Added the sound

* that took a while
2026-05-29 19:51:09 +00:00
PJBot fbe53619a4 Automatic changelog update 2026-05-29 19:50:35 +00:00
ProPeperos 5134cd6c82 ERT shuttles atmos (#44150)
* ERT shuttles atmos and fixes
ERT large base - removed pumps, activated mixer at 303, repainted pipes

* fleeeeeeeet
2026-05-29 19:18:44 +00:00
slarticodefast 0e898c5339 Fix lightning beam rotation (#42342)
* fix lightning rotation

* RT 272 fixed this

* yaml conventions
2026-05-29 19:16:36 +00:00
PJBot 249d40500e Automatic changelog update 2026-05-29 19:31:21 +00:00
ProPeperos b67ab72c55 Other shuttles atmos (#44151)
* Other shuttles atmos
briggle.yml - painted the pipes

* my fleet of doom

* fix that dam paper bruh

* screw you pill bottle
2026-05-29 19:11:43 +00:00
Ruichka 7d65d115ec Fix BuyBeforeCondition's Blacklist and remove Whitelist requirement (#44152)
Update BuyBeforeCondition.cs
2026-05-29 16:09:47 +00:00
PJBot bb617e14ba Automatic changelog update 2026-05-29 14:33:40 +00:00
āda a9cd71a31b Add RotatableComponent to BaseItem (#44114)
* commit

* microbalance

---------

Co-authored-by: iaada <iaada@users.noreply.github.com>
2026-05-29 14:14:44 +00:00
Pok 23cf4acace Changeling escape with identity objective (#44137)
* changeling-escape-with-identity

* review

* review 2

* review 99
2026-05-29 12:49:54 +00:00
PJBot fc8ed43cec Automatic changelog update 2026-05-29 07:10:05 +00:00
imatsoup 8d54d4975a Stop Hijack Beacon from appearing in Surplus Crates (#44148)
do the thing
2026-05-29 06:50:26 +00:00
PJBot 8118c33054 Automatic changelog update 2026-05-28 23:47:52 +00:00
Prole 1c380ad007 Clothing Inhand Additions (#43267)
* Inhand Major

* Slipped through, recorrected

* To be done, in their own PR's.

* I forgot
2026-05-28 23:28:44 +00:00
PJBot bda031c46d Automatic changelog update 2026-05-28 21:07:03 +00:00
kosticia d9e523370a Unite LogComponent, FoodSlicableComponent and partially ButcherableComponent 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>
2026-05-28 20:47:49 +00:00
InsoPL 1d3e8b3c30 Fix for mispredict when using tools on recycler. (#43766)
* predict

* fix
2026-05-28 18:35:54 +00:00
Pok e7edf44ed3 Predict ImplantsSystem (#43993)
* Implants-System-Predicted

* popup

* review

* cleanup

* I

* ftl

* fix test

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-05-28 18:09:47 +00:00
Chillyconmor 81ebc51392 Changeling intro song (#43549)
* Replaced changeling introduction audio file, updated attributions.

* Fixed attributions

* Update Resources/Audio/Ambience/Antag/attributions.yml

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>

---------

Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
2026-05-28 16:38:53 +00:00
PJBot 95e7352387 Automatic changelog update 2026-05-28 16:02:18 +00:00
ProPeperos 390492d4ea Snowball - Atmos and tweaks (#44124) 2026-05-28 15:42:49 +00:00
PJBot 3c44637dd4 Automatic changelog update 2026-05-28 10:04:13 +00:00
ProPeperos 625245211d Exo - atmos and fixes (#44093)
* Exo - Atmos changes and a fix!

* Exo - atmos and fixes

* removed dupped walls, forgor about valve for burn

* container solution fix
2026-05-28 09:38:52 +00:00
ProPeperos 45872ca84e Fland - Atmos and tweaks (#44097)
* Fland - Atmos and tweaks

* THE GREAT FLOOD OF VACUUM ATMOS FIXERS
removed some pressure pumps that i forgot
unachored tesla devices
fixe solutioncontainer
2026-05-28 09:34:56 +00:00
PJBot a1eed591d5 Automatic changelog update 2026-05-28 04:49:10 +00:00
themias 9502ab6ff2 Gas tanks disconnect when dropped or stored during cooldown (#44126)
Gas tanks disconnect when dropped or stored
2026-05-28 04:30:32 +00:00
PJBot ca7169468d Automatic changelog update 2026-05-28 04:05:56 +00:00
Mariano 82ccf09db8 Camera resprites (#44132)
* Camera resprites

* Fixed misalignment between on and off

* Slight tweaks to light position and south camera

* Rearanged json

* Updated license and copyright
2026-05-28 03:46:52 +00:00
Crude Oil 85acec9535 [HOTFIX] Fix singularity and tesla friction (#44078)
* Vehicle system: Movement & Buckling (#43525)

* Part one of Vehicles

* Also we need this

* And we need this

* We REALLY need this

* Little fix

* fixes (i'm tired)

* Apply suggestions from code review

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

* update

* fixed

* just for cleaner diff

* just in case

* I think this might be cleaner

* small fix

---------

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

* Fix ID inspect message when ending perma sentence early (#44018)

* Automatic changelog update

* Smarter Entity Targeting (#39571)

* Smart targeting

* use swidge statement

* Undo

* merge conflicts

* works well

* Better logic

* GO TO SLEEP

---------

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

* fix: don't delete items on some polymorph reverts (#39423)

* Automatic changelog update

* Fix error texture for harmpack hand solution visuals (#39442)

* fix: check for inhand sprite's existence

* refactor: simplify solution container visuals code

this made my brain hurt but I think I didn't break anything

* Automatic changelog update

* fix role assignment when late joining (#41419)

* fix role assignment when late joining

* push

---------

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

* Automatic changelog update

* SSD Players now properly stay asleep when being revived. (#39409)

* Fixes and API changes

* aaaaaaaaaa

* super shitcode

* cleanup

* fix admin logs

---------

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

* Automatic changelog update

* Fix Barber Scissors not playing audio (#43922)

* Fix Barber Scissors not playing audio

* Add code comment

* Requested changes

* More requested changes thanks Warock

* Requested changes

* Automatic changelog update

* [MALD PR] Remove mimic vendor gamerule (#44057)

remove mimic vender rule

* Automatic changelog update

* Destructible Automatic Overkill (#43113)

* Change to file scoped namespace

* Improve variable naming

* Remove unnecessary audiosystem

* Add automatic overkill

* Small cleanups

* Alphabetize dependencies

* Change to file scoped namespace

* Change to OnMapInit

* Fix overkill if no destruction node present

* Add overkill test

* Example cleanup

* Performance improvements

* Tuple event subscriptions

* Correct comment

* Realphabetize

I might be dyslexic. Or just stupid.

* Invert toggle behavior and rename

* Change from MapInit to ComponentInit

* Revert "Change from MapInit to ComponentInit"

This reverts commit 1ed9fa0ad4.

* Change to use index instead of raw int

* Explicit check not required

* Clean up overkill test

* Improve commenting

* Overhaul the test

* Little more

* Improve commenting

* Update DestructibleOverkillTest.cs

* Typo

* Change to tuple assignment

* Alphabetize dependencies

* Update Content.IntegrationTests/Tests/Destructible/DestructibleOverkillTest.cs

* Update Content.IntegrationTests/Tests/Destructible/DestructibleOverkillTest.cs

* Update Content.IntegrationTests/Tests/Destructible/DestructibleOverkillTest.cs

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* Update Credits (#44060)

Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>

* fix off by 1 in tips (#44062)

fix the thing the uhhhh the thing the thing ynow....   fix uhh the thing. the thing that needs fixing

* Remove background box from main menu (#43977)

* Menu Change

* Change v2

* final change

* Format code

---------

Co-authored-by: Thomas (Aeshus) <git@aeshus.com>

* Mini Gravity Generator requires charging (#44061)

* Starting charge to zero

* Reach starts with gravity

* Revert "Reach starts with gravity"

This reverts commit 49a7e22fc0.

* Create charged/uncharged prototypes

* Fix formatting

* Change construction

* Review feedback

* Automatic changelog update

* [BUGFIX] Shaken sodas now spill again (#44033)

Tiders will rule the halls once again.

* Automatic changelog update

* add empty tile friction modifiers

* add empty tile friction modifiers

* Revert "[Hotfix] Fix MenuButton Missing Negative Style (#44073)"

This reverts commit 0f1abd73669c6c7ff291bb289f760090dc9454b6.

* Revert "Automatic changelog update"

This reverts commit 4a34a711845f0da49686c750cad7807639b56deb.

* Revert "[BUGFIX] Shaken sodas now spill again (#44033)"

This reverts commit 37447f4d89feeb98baba91d896b0439d30088b80.

* Revert "Automatic changelog update"

This reverts commit 1ced1977fb73186a8aaefab504e3a860aee219f9.

* Revert "Mini Gravity Generator requires charging (#44061)"

This reverts commit 51e0f74f49673146973f8ad4966d1df0d97a506d.

* Revert "Remove background box from main menu (#43977)"

This reverts commit 48f3fd0c5029b384b008fdda9016e78858fcae38.

* Revert "fix off by 1 in tips (#44062)"

This reverts commit 1616ed806eef33bbdcaca64aaa642c44ab95f869.

* Revert "Update Credits (#44060)"

This reverts commit 6a9ffb9b4d5d62d191c173c4670e1c3ea6ffadb0.

* Revert "Destructible Automatic Overkill (#43113)"

This reverts commit 76277b737df94b02cb3fd439d8cda0f63964b85d.

* Revert "Automatic changelog update"

This reverts commit 5e3a647839dd5f2e3fb942b9fc4693b0bfe6baa8.

* Revert "[MALD PR] Remove mimic vendor gamerule (#44057)"

This reverts commit 77ee428ce4ab312b4d91124c884c233328ce871c.

* Revert "Automatic changelog update"

This reverts commit 71c503bf9c8c9fe785110e6b3cd5a5b46138c1d0.

* Revert "Fix Barber Scissors not playing audio (#43922)"

This reverts commit 989ab25751eb494b463d476c502a28d82b1cca6d.

* Revert "Automatic changelog update"

This reverts commit 013962c7160912570e361195c9dfcea694d0c514.

* Revert "SSD Players now properly stay asleep when being revived. (#39409)"

This reverts commit 546c62b38810bd6f4666235046407fb008593289.

* Revert "Automatic changelog update"

This reverts commit f5d65b43621721dda77d6c5ce6b18202c6b02ad7.

* Revert "fix role assignment when late joining (#41419)"

This reverts commit bec4c4c827ad69a2206415fc26a35f2f2e00ff1e.

* Revert "Automatic changelog update"

This reverts commit 0c6d7aa29bb6dbd3b4b57b5f787152a946cc5b39.

* Revert "fix: don't delete items on some polymorph reverts (#39423)"

This reverts commit 01a2dfb9762fc53f3918199360717208c9162695.

* Revert "Fix error texture for harmpack hand solution visuals (#39442)"

This reverts commit 42dbb60e0fe670e5bc35c5dd9f4c1f81c69e15cd.

* Revert "Automatic changelog update"

This reverts commit 1cb150f5bbd8c430eba0d2471fa4d2b4e72ba8ad.

* Revert "Smarter Entity Targeting (#39571)"

This reverts commit 87b389d1492af8404eb3c43a5a0dcd7623d724b9.

* Revert "Automatic changelog update"

This reverts commit 927f9e2652f146686be50750ffc04569893cb5d8.

* Revert "Fix ID inspect message when ending perma sentence early (#44018)"

This reverts commit c7dfbf89484dd332847924643bd6bfed08d37253.

* Revert "Vehicle system: Movement & Buckling (#43525)"

This reverts commit 8c85a5927564701e1e44eca27cb55d295c2eda11.

* revert

---------

Co-authored-by: AndrewFenriz <78079974+AndrewFenriz@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com>
Co-authored-by: themias <89101928+themias@users.noreply.github.com>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Perry Fraser <perryprog@users.noreply.github.com>
Co-authored-by: Ignaz "Ian" Kraft <ignaz.k@live.de>
Co-authored-by: Rami <ramialanbagy@gmail.com>
Co-authored-by: Jessica M <jessica@jessicamaybe.com>
Co-authored-by: Connor Huffine <chuffine@gmail.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: PicklOH <62030853+PicklOH@users.noreply.github.com>
Co-authored-by: Lye <128915833+Lyroth001@users.noreply.github.com>
Co-authored-by: piskaczek <192605039+piskaczek@users.noreply.github.com>
Co-authored-by: riccardi48 <39341154+riccardi48@users.noreply.github.com>
Co-authored-by: Thomas (Aeshus) <git@aeshus.com>
Co-authored-by: ThatGuyUSA <thatguyusa123@gmail.com>
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
2026-05-27 12:32:21 -07:00
Red 75895378f6 JobPrototype clean up (#44123)
* file scoped

* Update JobPrototype.cs
2026-05-27 16:05:07 +00:00
PJBot 7b23dc68d1 Automatic changelog update 2026-05-27 09:28:49 +00:00
ProPeperos 5cf539b4af Marathon - Atmos and tweaks (#44098) 2026-05-27 09:02:10 +00:00
PJBot 8592055d59 Automatic changelog update 2026-05-27 09:05:45 +00:00
PJBot 1e3cef0f9d Automatic changelog update 2026-05-27 09:04:36 +00:00
Lilith Ashley Nyx Arson e9ee47f74c Fix DamageVisuals not working on walls (#44116)
Update DamageVisualsSystem.cs

Fixes bug where the damage overlay is always bottom in the sprite order
2026-05-27 08:46:30 +00:00
ProPeperos 13bc20e1ed Box - Atmos changes (#44011)
* Box - Atmos changes

* unachored tesla devices

* empty

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-05-27 08:42:47 +00:00
ProPeperos d75e8fb9df Centcomm - atmos and belt fixes (#44105) 2026-05-27 08:20:20 +00:00
ProPeperos 159b9a71b4 Oasis - small Atmos and fixes (#44109) 2026-05-27 08:15:28 +00:00
Whatstone 5df00f7133 Fix the ian toy sound (#44108)
Return the ian toy sound
2026-05-27 05:29:58 +00:00
PJBot 4187a4f022 Automatic changelog update 2026-05-27 05:19:44 +00:00
Chris V. 15d3647a31 Fix powered devices reporting as powered when Load is 0 (#43879)
* fix powered devices reporting as powered when Load is 0

* add small power load and draw to reagent grinder

* add small power load and draw for centrifuge and electro...thingy

* remove unhelpful comment

* clean up to make things more clear

* cleanup code for readability, maintaining current functionality
2026-05-27 05:00:36 +00:00
PJBot a2d559c52c Automatic changelog update 2026-05-27 04:56:24 +00:00
chromiumboy 2ca5d9d81a Disposals refactor (#40540)
* Initial commit

* Added pods

* Transit tubes should no longer connect with disposal pipes

* Updated the transit tube sprites

* Revisited how the transit tubes work

* Fixing merge conflict

* Updated sprites

* Simplified disposal component collections and updated yaml

* Moved the majority of the disposals code to Shared

* Move disposed ents via physics

* Disposal unit now use generic visualizers

* Followers of disposed entities have predicted movement

* Made BeingDisposedSystem shared

* Added documentation for some components

* Code clean up

* Removed unneeded container entries, tubes use directions instead of angles

* Many EntityUid/Comp -> Entity<Comp> changes

* Updated DisposableSystem

* Review of DisposalTubeSystem

* Review of DisposalUnitSystem

* Review of DisposalSignalRouterSystem

* Unit updates

* Fixing merge conflict

* Merge conflict resolved

* Re-organization of systems and components

* Allow trapped entities to escape endless loops

* Fix for item ejection

* UI updates

* Minor tweak

* Fixes for transit tubes

* Removed placeholder sprite

* Removed transit tubes (for now)

* Moved exit stun time to DisposalHolderComponent

* Added a limit on the amount of damage that can sustained from disposals travel

* Fix for PVS-related sound issues

* Added a limit on the number of entities that can be inserted into units

* Clean up

* Undid file scoping

* Fixed test fail

* Fixed test fail

* Increased min default capacity of disposal units

* Fixed audio spam occurring when dumping multiple items into a disposal unit

* Tile prying now occurs whenever exiting an open pipe

* Prevent attacking and interactions while traveling through disposals

* Added generic verbs for entering/exiting disposal units

* Fixed UI prediction bug

* Bug fixes

* Small improvements

* Moved the disposal holder prototype from the disposal entry to the unit

* Minor clean up

* Added support for a disposal holder despawn effect

* Added prediction guard

* Test fail fix

* Re-added new escape behavior

* Removed outdated PVS code

* Clean up

* More escape behavior changes

* More clean up

* Updated exit selection logic

* Bug fix

* More clean up

* Split up disposal unit code

* Cleaned up disposal units some more

* Adjusted exit throw distance

* Capitalized disposal and mailing unit window titles

* Bug fixes

* Taggers and routers show existing tags when the UI opens

* Fixed test fail

* test fail fix

* Minor performance improvement

* Minor improvement in pathing

* merge conflicts

* Fix heisentest

* Fixed mispredict

* Updated system referencing conventions

* Updated to account for changes made to the code

* Attempting to fix submodule issue

* Addressing test fails

* Additional fixes for tests

* Addressing reviewer comments

* Cleaned up exit randomization

* T-ray can see disposal pipes when in 'pipe' mode

* Fix for flush animation flickering

* mild thing

* fix both

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-05-27 04:38:03 +00:00
PJBot 54edbe6032 Automatic changelog update 2026-05-26 23:40:00 +00:00
Baa 463a5772f1 Sheep v2 (#38505)
* Adds sheep
Ported from TG.

* Expands the wooly system to allow wooly creatures to be sheared.
Shearing creates cotton, with a ratio to match the nutritional value of the fibre reagent.
Look, there's no wool item and I don't want to add them, they're generically modified space sheep that grow cotton, what do you want from me??

* Add shears icon

* Switch to better icon

* Decouple shearing system from wooly system.

* Add cutting quality to barber scissors.
Means they can now shear animals and cut wires.

* Add toggled wool to sheep

* Move wooly layer handling to wooly system.
Otherwise it wouldn't account for wooly mobs that can't be sheared, which I think would be a problem.

* Fix incorrect message when there's not enough solution to shear off, but there's more than 0.

* Add shearing on left-click.

* Add dead wool sprite
Unused for now

* I installed a formatter teehee

* Disable wooly layer when the mob dies.

* No need to check life state at two places.

* Moving to shared for prediction or something

* Completes transition to shared, adds some more comments.

* Switch to SharedSolutionContainer to fix merge conflict?

* Fix accidental paste.

* Moved sheep spawner into animals.yml

* Move shearable system to Animals (plural)

* Switch visuals layer to new ToggleableVisuals

* Fixes serialization error.
Solution should not have been a DataField.
Also fixes a typo.

* Re-arrange a little for clarity.

* Resolve serialisation error, better formatting and sheep default to having 25 wool.

* Added space sheep. Sprite by Aleksh, comissioned by Baa.

* Make Jetpack fields modifiable.
Useful for adding jetpack effects to mobs

* Space sheep now fly, glow and produce jetpack effects

* Clarifying one comment and removing an un-used value.

* Remove unused space sheep sprite.

* Remove unused sprite and add space sheep dead.

* SpaceSheep inherits from sheep instead of duplicating yaml

* Re-arrange and rename sprites for consistency and clarity.
And also add a space sheep spawner.

* Add an optional description addon for the shearable component.

* Move all shearable system into shared.
No longer spawns stacks of things and doesn't require stackable objects to be defined.

* Add rainbow sheep and sheep base.
Inheriting the parent of sheep was breaking spacesheep so now they all inherit from this sort of sub-sheep thing.

* Sheep plushies, sprites pending.

* Sheep plushies
Please don't eat them ;q;

* Rainbow Sheep spawner

* BAAAAA

* Working shearable layer.

* Remove ShearableVisualsComponent, move details into ShearableComponent

* Update license definition.
I'm just saying, the website says it has no dashes.

* Re-use pre-existing mobstate enum instead of re-writing it.

* Remove unused return enum

* Clean up ShearableSystem and fix calculation bug.

* Trim silence from sheep SFX and add reverbed space sheep versions
Space Sheep now generate Durathread and use new shearable layer.

* I don't like the word floofy

* Sheep crates and wooly spawner

* Rename "sheared" to "shearable" because it didnt' make sense.

* Remove extra space

* Fix YAML errors.

* Sheep base should be abstract

* Remove ActiveJetpack from spacesheep (crying)

* Set SpaceSheep price to 600

* Revert Active Jetpack changes.

* Fix every file ending

* Revert changes to WoolySystem
No need to cause additional merge conflicts

* Missed a line

* Missed another line

* Fix tool selection so null actually works for no tools.
Also uses object instead of string.
Same for shearing strings.

* Requested formatting changes, plus some comment fixes.

* Remove extra spaces

* Make shearing icon customisable

* Slightly dither spawned items for exciting fun
This implementation works flawlessly without any issues and it's even predicted.

* No longer spawns in walls

* Space Sheep now grow two dura-thread every 2 minutes.

* The REST of the requested changes ❤️

* Make the shearing verb customisable.
It's used in some strings, or might be one day.

* Bunch of requested changes, also adds popup when wrong tool used.
But i'll probably end up removing it because it happens for other clicks, like feeding the sheep.

* Remove weird solution entity caching and instead return it from CheckShear.

* Requested changes.

* Used proper random spawning prediction.
Thanks to #39661

* Requested changes
Fixed param name shearingSolutionEnt.
Removed unused popup line, leave comment.
Verb is now always added but disabled when appropriate. TODO look into weird butcher verb.

* Re-arrange AddShearVerb a bit to remove a redundant null check.

* Remove uneeded check.

* Switch from TryIndex to Index when checking ToolQuality

* Make shearable markup text nullable and null by default.

* Switch MaximumProductsSpawned to int

* Revert woolyComponent changes.
I've decided it's out-of-scope and I don't want to cause mergeconflicts with any pending changes to wooly.

* One more change removed.

* Add newline

* Switch to FixedPoint2.Min and re-do shearing forumula documentation.

* Make shearable spawn offset configurable.

* Fix everything wrong with shearingSolutionToRemove
It was calculated twice.
One of the calculations just didn't work.
The comment was mostly right but I clarrified some parts and also made sure it was correct.
How confident am I? If I was advising stock trading I would call this description "Financial Advice" and then collect a large paycheck.

* Add overload functions for ChearShear and switch to propert ent<T> syntax

* Simplify UpdateShearingLayer calculation
Clarity suggestion.

* Add sheep plushies to fun places.

* Fix missing line end

* Convert CheckShear to return a boolean instead of an enum.

* Add missing documentation.

* Update Food to Edible

* Update random calculations.
Can still be replaced once PredictedRandom is in engine

* Rename CheckShear to CanShear

* Fix sheep being deleted when a moth eats their wool
Fix attempting to shear sheep with all objects.
Add speech verbs and sounds for sheep.

* Use some NotNullWhen statements to a void some additional codies <3
Remove a few other redundant things.

* Add missing emote sounds for sheep.

* Removed unsued shearingSolutionState out var.

* Requested YAML adjustments

* Adjust documentation of CanShear to reduce duplication.

* I missed a comma and it didn't read right

* Suggested simplification of examine function

* New tool quality just for shearing
Add shearing to wirecutters, barber's scissors, cowcutters, and plant clippers (these can all shear sheep).

* Correct ShearedProductId syntax.
Removed an unused variable.

* Rework CanShear() function to reduce number of out vars and overide varients. for simplicity.

* Update to new solutions system <3

* test

* Fix compiler warnings with partial class and readonly dependencies.

* Completely rework shearing algorithm so it makes sense.
The entirety of the previous calculation was borne from my misunderstanding of what FixedPoint2 is and does and how it works.
Now it's simple and actually makes sense.

* Rebalance sheep materials to match the solutions inside the product.

* Yaml fix

* Documentation tweaks

* Fix any item being used to shear sheep.
I don't know why that was false

* Switch to Loc.TryGetString, fix warning message name reference, upgrade message to warning severity from debug, add earlier return for shearable checks.

* Make TargetSolutionName a required datafield.

---------

Co-authored-by: Beck Thompson <beck-thompson-kde@outlook.com>
2026-05-26 23:21:13 +00:00
PJBot 7bcdb2932b Automatic changelog update 2026-05-26 21:37:20 +00:00
John 2eb3126dc6 fix medipens spilling when thrown (#44102)
* no longer will medipens spill when thrown

* reparented injectors/sprays to removed spillable component

* hyposprays and jet injectors nolonger spill when thrown.
2026-05-26 21:18:12 +00:00
PJBot 0924363ea2 Automatic changelog update 2026-05-26 20:02:27 +00:00
Hitlinemoss 9262110b25 Give more borg lawsets an emag-law-zero that actually matches the rest of the lawset (#42660)
* Give more borg lawsets an emag-law-zero that actually matches the rest of the lawset

* Alternative robocop

* Xenoborgs now obeysTo 'the Mothership'
2026-05-26 19:43:49 +00:00