* fix: lobby music volume will be changed on options change without restart (also lobby music not looped anymore)
* refactor: now lobby music is part of ContentAudioSystem. Lobby playlist is used instead of single track. Client now selects next lobby soundtrack after previous finished.
* refactor: incapsulated info on current lobby track in simple record
* refactor: fixed inconsistent naming between song and soundtrack for lobbymusic
* refactor: xml-doc for LobbyPlaylistChangedEvent
* fix: inverted invalid _audio.PlayGlobal check to return only if lobby soundtrack play call failed
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
* Save round information into the replay
* Add round end text too
* This is way better
* Get actual job
* oop
* OK THERE
* Fake line endings to make life easier
* I was told this yaml is legal
* I just realised this will make my life easier
* REVIEWS BABY IM A PROGRAMMER MOMMY
* Live pjb reaction
* Live pjb reaction 2
* Reviews 2
* Dont need this
* Please no more have mercy on my soul
* Oh frick
* Fix Round Restarted Announcements not playing
Just make the RoundFlow manager play the funny
announcement sound effect, rather than pass it
through to players in an event that doesn't work.
Only three round end announcements probably
isn't enough. Maybe it is time for fresh memes.
* Remove the handling in ClientGameTicker.
* Pass in a specific filepass to broadcast.
* you make one line change in vscode and the linter
goes AH-HAH I CAN HELP YOU LET ME CLEAN
THIS UP and I'm like 😔 and have to revert
Now it only plays when the round restarts *after* a regular roundend.
Meaning that if you spam the "restartroundnow" command, it won't play even if you have roundend sounds enabled in the options.
* Partial work on StationSystem refactor.
* WIP station jobs API.
* forgor to fire off grid events.
* Partial implementation of StationSpawningSystem
* whoops infinite loop.
* Spawners should work now.
* it compiles.
* tfw
* Vestigial code cleanup.
* fix station deletion.
* attempt to make tests go brr
* add latejoin spawnpoints to test maps.
* make sure the station still exists while destructing spawners.
* forgot an exists check.
* destruction order check.
* hopefully fix final test.
* fail-safe radstorm.
* Deep-clean job code further. This is bugged!!!!!
* Fix job bug. (init order moment)
* whooo cleanup
* New job selection algorithm that tries to distribute fairly across stations.
* small nitpicks
* Give the heads their weights to replace the head field.
* make overflow assign take a station list.
* moment
* Fixes and test #1 of many.
* please fix nullspace
* AssignJobs should no longer even consider showing up on a trace.
* add comment.
* Introduce station configs, praying i didn't miss something.
* in one small change stations are now fully serializable.
* Further doc comments.
* whoops.
* Solve bug where assignjobs didn't account for roundstart.
* Fix spawning, improve the API.
Caught an oversight in stationsystem that should've broke everything but didn't, whoops.
* Goodbye JobController.
* minor fix..
* fix test fail, remove debug logs.
* quick serialization fixes.
* fixes..
* sus
* partialing
* Update Content.Server/Station/Systems/StationJobsSystem.Roundstart.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Use dirtying to avoid rebuilding the list 2,100 times.
* add a bajillion more lines of docs (mostly in AssignJobs so i don't ever forget how it works)
* Update Content.IntegrationTests/Tests/Station/StationJobsTest.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Add the Mysteriously Missing Captain Check.
* Put maprender back the way it belongs.
* I love addressing reviews.
* Update Content.Server/Station/Systems/StationJobsSystem.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* doc cleanup.
* Fix bureaucratic error, add job slot tests.
* zero cost abstractions when
* cri
* saner error.
* Fix spawning failing certain tests due to gameticker not handling falliability correctly.
Can't fix this until I refactor the rest of spawning code.
* submodule gaming
* Packedenger.
* Documentation consistency.
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Completely refactor how job spawning works
* Remove remains of old system.
* Squash the final bug, cleanup.
* Attempt to fix tests
* Adjusts packed's round-start crew roster, re-enables a bunch of old roles.
Also adds the Central Command Official as a proper role.
* pretty up ui
* refactor StationSystem into the correct folder & namespace.
* remove a log, make sure the lobby gets updated if a new map is spontaneously added.
* re-add accidentally removed log
* We do a little logging
* we do a little resolving
* we do a little documenting
* Renamed OverflowJob to FallbackOverflowJob
Allows stations to configure their own roundstart overflow job list.
* narrator: it did not compile
* oops
* support having no overflow jobs
* filescope for consistency
* small fixes
* Bumps a few role counts for Packed, namely engis
* log moment
* E
* Update Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* Update Content.Server/Maps/GameMapPrototype.cs
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* factored job logic, cleanup.
* e
* Address reviews
* Remove the concept of a "default" grid.
It has no future in our new multi-station world
* why was clickable using that in the first place
* fix bad evil bug that almost slipped through
also adds chemist
* rms obsolete things from chemist
* Adds a sanity fallback
* address reviews
* adds ability to set name
* fuck
* cleanup joingame
* Ghost roles now get new Minds
* Some round start/end button stuff
* Mind tracking for better round end reports
* Make traitor kill objectives use mind CharacterName rather than actual occupied entity ("kill brain" prevention)
* Transition over to EntityUid for mind stuff because that's the only way to do it
* BrainSystem fix for PR rebase
* GameTicker turned into an EntitySystem
* Turns ClientGameTicker into an EntitySystem, turn NetMessages into events
* Change event names to be more consistent with the rest.
* YAML linter uses the dummy gameticker CVar override.
* Fix game ticker initialization order
* Dummy ticker won't spawn players.
* Fix character creation test
* Adds lobby music
* Add UI toggle for lobby music
* Pick the song serverside so everyone gets the same song
* Add more songs
* Fixes
* Catch-all end lobby music
* Rename it
* Catchall ambience cvar change
* Wait until we receive the lobby song to start playing one
* Fix toggling ready status resetting the song
* Comment
* Expend the last of my sanity fixing latejoin lobby music
* Update Content.Client/GameObjects/EntitySystems/BackgroundAudioSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Client/GameObjects/EntitySystems/BackgroundAudioSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Client/GameObjects/EntitySystems/BackgroundAudioSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Move the var
Co-authored-by: ike709 <sparebytes@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Add nullable to some Content.Shared files.
* Use [NotNullWhen(true)]
* Undo adding now redundant !'s
* Forgot one
* Add a ton more nullable
* You can guess
* Fix some issues
* It actually compiles now
* Auto stash before merge of "null2" and "origin/master"
* I lied
* enable annotations -> enable
* Revert ActionBlockerSystem.cs to original
* Fix ActionBlockerSystem.cs
* More nullable
* Undo some added exclamation marks
* Fix issues
* Update Content.Shared/Maps/ContentTileDefinition.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Resolve some issues
* Remove unused method
* Fix more issues
* Fix more issues
* Fix more issues
* Fix more issues
* Fix issue, rollback SharedGhostComponent.cs
* Update submodule
* Fix issue, invert some if-statements to reduce nesting
* Revert RobustToolbox
* FIx things broken by merge
* Some fixes
- Replaced with string.Empty
- Remove some exclamation marks
- Revert file
* Some fixes
* Trivial #nullable enable
* Fix null ables
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: Metal Gear Sloth <metalgearsloth@gmail.com>
* Engine namespace changes.
* Automated remove redundant using statements.
* Simplified Graphics namespace.
* Apparently the container system stores full type names in the map file.😞 This updates those names.
* API Changes to LocalizationManager.LoadCulture.
* Update submodule to v0.3.2
* basic implementation
* minor fixes
* objectives temp commit
* proper onstart bind
* changes all conditions to be bound to a mind-instance
* oops
* oops v2
* adds possiblity to enable duplicate assignment of objective
equal objectives are unable to be added
* minor fixes, adds greentext
* refactors incompatability to be defined by requirements
* fixes a wrong whitespace
* minor fix
* addressed reviews v1
* address reviews v2
Co-authored-by: Exp <theexp111@gmail.com>
* final sweep
* adds/refactors traitor&sss cvars
* Update Content.Server/Mobs/Mind.cs
* never trust github web
* adds datasets & makes codewords use them
* addresses exp's reviews
* addressed zumos reviews
Co-authored-by: Paul <ritter.paul1+git@googlemail.com>
Co-authored-by: Exp <theexp111@gmail.com>
* Disable job buttons when they aren't available
In real time too, the technology is overwhelming
* Jobs are all unavailable when late join is disallowed.
* Better ToggleDisallowLateJoin command parsing
* Add togglelatejoin to groups.
Co-authored-by: Víctor Aguilera Puerto <zddm@outlook.es>