* Added the button and manager
* Minor cleanup
* Reigstered to the wrong thing!
* Unload UI
* Address the review
* First commit :)
* Some cleanup
* Added some comments and now the placehoder text goes away once you start typing
* Some cleanup and better test command
* Basic rate limiter class (Not finished)
* Cleanup
* Removed forgotten comment xD
* Whitespace removal
* Minor cleanup, cvar hours -> minutes
* More minor tweaks
* Don't cache timer and add examples to fields
* Added CCvar for time between bug reports
* Minor crash when restarting rounds fixed
* It compiled on my computer!
* Fix comment indents
* Remove unecessary async, removed magic strings, simplfied sawmill to not use post inject
* Make struct private
* Simplfiy TryGetLongHeader
* Changed list to enumerable
* URI cleanup
* Got rid of the queue, used a much better way!
* Made the comments a little better and fix some issues with them
* Added header consts
* Maximum reports per round is now an error message
* Time between reports is now in seconds
* Change ordering
* Change hotkey to O
* only update window when its open
* Split up validation
* address review
* Address a few issues
* inheritance fix
* API now doesn't keep track of requests, just uses the rate limited response from github
* Rough idea of how channels would work
* refactor: reorganized code, placed rate limiter into http-client-handler AND manager (usually only manager-one should work)
* cleanup
* Add user agent so api doesn't get mad
* Better error logs
* Cleanup
* It now throws!
* refactor: renaming, moved some methods, xml-doc cleanups
* refactor: BugReportWindow formatted to convention, enforced 1 updates only 1 per sec
* Add very basic licence info
* Fixed the issues!
* Set ccvar default to false
* make the button better
* fix test fail silly me
* Adress the review!
* refactor: cleanup of entry point code, binding server-side code with client-facing manager
* Resolve the other issues and cleanup and stuff smile :)
* not entity
* fixes
* Cleanup
* Cleanup
* forgor region
* fixes
* Split up function and more stuff
* Better unsubs yaygit add -A
* I pray...
* Revert "I pray..."
This reverts commit 9629fb4f1289c9009a03e4e4facd9ae975e6303e.
* I think I have to add it in the pr
* Revert "I think I have to add it in the pr"
This reverts commit e185b42f570fe5f0f51e0e44761d7938e22e67f7.
* Tweaks
* Minor tweak to permissions
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
* Mega Antag Refactor
* last minute delta save
* more workshopping
* more shit
* ok tested this for once
* okkkkk sure
* generic delays for starting rules
* well darn
* nukies partially
* ouagh
* ballin' faded and smonkin wed
* obliterated the diff
* Spread my arms and soak up congratulations
* I've got plenty of love, but nothing to show for it
* but there’s too much sunlight
Shining on my laptop monitor, so I
Can’t see anything with any amount of clarity
* ok this junk
* OOK!
* fubar
* most of sloth's review
* oh boy
* eek
* hell yea!
* ASDFJASDJFvsakcvjkzjnhhhyh
* 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>
* Allow game presets to require certain maps
* make preset maps ignore the game map pool
* make it use a map pool prototype
* Typo
---------
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
* Add department-specific radio channels
This commit adds working department-specific radio channels, while
minimizing damage to the current codebase. It is expected that a future
refactor will clean this up a bit.
ChatSystem now has a RadioPrefix() method that recognizes
department-specific channels (e.g. ":e" and ":m") in addition to the
global channel (";"). It strips the prefix from the message and assigns
messages an integer representing the destination channel, if any.
IListen and IRadio now accept optional 'channel' arguments with this
channel in mind.
The ugly is that the integer channel number is hard-coded and also shows
up in chat.
Comms are not modeled at this time. You cannot break comms (yet).
All headsets have channels soldered into them. You cannot change
encryption keys to hop on new channels. Steal a headset instead.
* Remove debugging print
* Convert to prototypes
* Use prototype names in headset prototype
* Adjust list style
* Document prototype fields
* cringe
* some cleanup
* colours
* Remove alphas at least
* cc
Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
* 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>
* Load Maps on Round Start, not Round Restart
* Fix admin log test.
It assumed maps/grids existed during pre-round, wihch is not a valid assumption anymore after this PR.
* Shutdown server if round fails to start 5 times.
* Fix bugs with round starting flag.
* Make StartRound not async, synchronously get new round ID from DB.
* Handle StationId.Invalid in PickBestAvailableJob
Instead of crashing, return null.
SpawnPlayer will handle this by making the player an observer or returning them to the lobby.