* 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>
* Fland - Atmos and tweaks
* THE GREAT FLOOD OF VACUUM ATMOS FIXERS
removed some pressure pumps that i forgot
unachored tesla devices
fixe solutioncontainer
* Camera resprites
* Fixed misalignment between on and off
* Slight tweaks to light position and south camera
* Rearanged json
* Updated license and copyright
* 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
* 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>
* 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>
* no longer will medipens spill when thrown
* reparented injectors/sprays to removed spillable component
* hyposprays and jet injectors nolonger spill when thrown.