* new apis and tests
* more tests and stuff
* fix test fail
* test review
* api review
---------
Co-authored-by: iaada <iaada@users.noreply.github.com>
* fix: GameDataScrounger properly ignores ignore-list
* refactor: GDC to treat ignored files as abstract
* fix: use wizden's fix for windows
* refactor: check ignoredDir first for perf and readability
* Changeling Slime Tests
Slime storage Add removal and contained item behavior tests
* Stick apples proto id up into a static var
* remove stray copied comment
* CR changes
Remove ChangelingTest Fixture
Change GrantIdentity to be Entity<ChanglingIdentityComponent?> and
resolve the comp, cleanup all the places where that matters internally
Changes required to tests
* cleanup
* more cleanup and test fix
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* added MidiLibraryManager together with tests.
* added error log when failing to add midi + minor formatting.
* additional error logging for midi library.
* fixed TestRemoveMidiFile failing due to new error logging.
* improved error logging.
* switched from string file names to ResPath
* renamed to MidiFileCollection and moved to Content.Client.Audio.Midi
* updated xml docs
* readded the Manager suffix that I totally didn't forget + some formatting.
* Axes the easy IMapManager references
* Axes the references to unported (obsolete) IMapManager methods
* Converts salvageruler command to a LocalizedEntityCommand so it can use SharedMapSystem
* Removes IMapManager from GameTicker
This required axing the map nuke during restart, but that should be fine?
Maps are entities so EntityManager.FlushEntities should delete them all and that's the preceding line
* submodule update(?)
---------
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* feat: separate sex from voice
* wip: tried to make it use voice collection directly
* fix: yaml
* fix: migrations
* fix: ensure valid now validates correctly
* fix: unisex mobs wouldn't have voice
* chore: fix RT version
* refactor: clean up code into subfunctions
* refactor: swap name and protoId in voice
also rename sounds to voice
* chore: add comment
* fix: fallback sounds for non-humanoid characters
* fix: tests
* fix: tests
* refactor: change requests
* refactor: convert sheepers
* refactor: move Voice to SpeciesPrototype
* chore: add tests
* fix: test IoC error
* refactor: use null coalesing in ConvertProfiles
* refactor: move vocal sex association to speciesPrototype
* style: remove space from new()
* refactor: use name from emoteSoundsPrototype for UI
* refactor: no more null Voice on profile
* refactor: make DefaultVoice a static readonly property
* fix: add default voice to HumanoidProfileComponent
* chore: remove repeated vocal component from species yaml
It's inherited from BaseSpeciesMob
* style: correct comments for refactor
* fix: add missing locale for FemaleVulpkanin
* refactor: simplify logic based off surounding code
* test: add test to make sure that sexes are properly enumerated for the voices
* fix: add back urist sounds
* style: clarify comments again
* style: last thing im changing before I sleep
* refactor: battling programming semantics
* refactor: Name on EmoteSoundsPrototype.cs to VoiceSelectorName for clarity
* revert: isDirty change
* Fix HumanoidProfileTest.EnsureValidLoading.
The profile's voice wasnt being updated, thus the voiceChanged event was never raised and that meant that the voice component had old EmoteSounds
* oops
* refactor: do the easy change requests
* refactor: use an array for indexing sex conversion for performance
* fix master
* mistakes were made
* chore: redo migrations
---------
Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
* Remove all IPrototypeManager instances
* Remove redundant IComponentFactory instances too
* Found some stragglers
* DestructibleSystem.PrototypeManager: no dependency
* not based
* Add AFK kicks back in
Fixes the previous issues and also makes it a big window so users can close it / manually mark themselves as not being AFK now.
* review
* scar but im too lazy to apply suggestions and mess with commits
* sane minimums
* asd
* review
* augh
* Fix afk minimum + requested admin bump
* airhorn
* Make InteractionTest inherit from GameTest
* Convert MousetrapTest to use some GameTest features
* Document stubbed Setup method
* LoadTestMap now sets TestMap like CreateTestMap
* Maybe fix?
* Oh, derp
* 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>
* 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>
* 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
* Fix Changelog (#44023)
axe you a question
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Update RT to 276.0.0 (#43822)
(cherry picked from commit d36565a9e1)
* Rework of Space Law (#43841)
* Rework of Space Law
* Fixed broken XML
* Beautify the severity tables
* Contraband wording
* Clearer wording
* Final touches
* DNR for space law (#43927)
* DNR for space law
* removed requirement to keep bodies
* [STAGING] Get Rid of a obsolete test failer in IngestionSystem (#43790)
* Goodbye
* whoop
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* [STAGING] Ensure Antag Ghost Roles make a new mind, add a test for it. (#43962)
* GRAH
* I lied about sleep this should fix it?
* achkstchually
* we should not be nuking components like this.
* push
* a bit nicer maybe?
* don't double add mindrole
* mothership too!
* two
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* [STAGING] Misc Solution Fixes (#43968)
misc fixes
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* [STAGING] Fix End of Round Text not localizing text. (#43807)
* revert some changes
* whoops
* noticed something
* remove unused
* revert cause it's being fixed in a different PR
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: PicklOH <62030853+PicklOH@users.noreply.github.com>
Co-authored-by: Lye <128915833+Lyroth001@users.noreply.github.com>
* GRAH
* I lied about sleep this should fix it?
* achkstchually
* we should not be nuking components like this.
* push
* a bit nicer maybe?
* don't double add mindrole
* mothership too!
* two
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* 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 1ed9fa0ad49be00becd9adca5cfee45cf4fef3a2.
* 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>
* works!!!!!!!!!!
* rewrite it AGAIN
* wtf
* vox coloring
* fuck this comment in particular
* Apply suggestions from code review
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* docs
* review p2
* review?
* review from stinker
* stuff
* i SWEAR these are supposed to be reversed right???
* more clear test errors please
* ig this was correct????
* reason
* unused
* review
* cleanup
* i was a silly boy
* grah
* fix gametest locally
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Remove `var pair = Pair;`
We can just use Pair directly.
* Remove pair.Server and pair.Client
We can just use Server and Client directly
* Convert EntityManager resolves to SEntMan/CEntMan
Some older tests still manually resolve these managers. More recent tests may use
Server.EntMan/Client.EntMan, which should also be replaced by SEntMan/CEntMan.
Although not shown here, this also applies to PrototypeManager, which shoud be
replaced by SProtoMan/CProtoMan.
* Convert System lookups to SidedDependencies
* Convert entity spawning to use GameTest proxy methods.
These methods also automatically track spawned entities for cleanup.
Note that there are several methods, including an async one that can
be awaited for use outside of WaitPost delegates.
* Add early failout
* Create map loading test
* docs and test fixes
---------
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* Add [ForbidLiteral] to GameTicker GameRule methods
* Cleanup violations in tests
* Fix for NukeopsRuleSystem with TODO
* This one wasn't a violation, but should still be fixed.