* 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.
* Enhance entity deletion test with extra ticks
* Implement CleanupTransientEntities for test stability
Added CleanupTransientEntities method to handle deletion of transient side-effect entities during tests.
* Add using directive for Robust.Shared.Spawners
* corrections
* Validate FlavorProfileComponent.Flavors
* No need to skip invalid prototypes now
* Fix misc invalid ids
* Add a FlavorPrototype for cotton
* "tastes like cottons" -> "tastes like cotton"