* add more info to entity json in logs
* replace TryGetSessionById
* remove unused dependency
* get admin status from the entity
* group values by component
* alphabetize
* I've discovered that my original plans may be bad for performance
* Change BanExemption command to AdminFlags.Ban permissions
* Change LOOC to check for Moderator permission
* Change ListVerbs from Admin to Debug AdminFlags
* Change RunVerbAs from Admin to Fun AdminFlags
* More permission changes
* Change GhostKick to Moderator perm
* Clean up command perms
* fuck
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
* 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
* lower max firestacks to 10, refactor flammable
* fix
* uncap fire stack damage, lower fire stack damage
(cherry picked from commit eee056eaf063caa690516bf8b4eb7e65a0199e9c)
* Reapply "Game server api" (#26871)
This reverts commit 3aee19792391cbfb06edb65d6f16f77da0f36f13.
* Rewrite 75% of the code it's good now
(cherry picked from commit 9d0dfcf2b9fa1b6ba54b3aa26a3f41982b945323)
Revert "Game server api (#24015)"
This reverts commit 297853929b7b3859760dcdda95e21888672ce8e1.
(cherry picked from commit 3aee19792391cbfb06edb65d6f16f77da0f36f13)
* Add door electronics configuration menu
* Use file-scoped namespaces
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Open door electronics configuration menu only with network configurator
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Doors will now try to move their AccessReaderComponent to their door electronics when the map is initialized
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Make the access list in the id card computer a separate control
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix merge conflict
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove DoorElectronics tag
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Integrate doors with #17927
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Move door electornics ui stuff to the right place
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Some review fixes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* More fixes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* review fix
Signed-off-by: c4llv07e <kseandi@gmail.com>
* move all accesses from airlock prototypes to door electronics
Signed-off-by: c4llv07e <kseandi@gmail.com>
* rework door electronics config access list
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove Linq from the door electronics user interface
* [WIP] Add EntityWhitelist to the activatable ui component
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Better interaction system
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Refactor
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix some door electronics not working without AccessReaderComponent
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Move AccessReaderComponent update code to the AccessReaderSystem
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unnecesary newlines in the door access prototypes
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unused variables in access level control
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unnecessary method from the door electronics configuration menu
Signed-off-by: c4llv07e <kseandi@gmail.com>
* [WIP] change access type from string to ProtoId<AccessLevelPrototype>
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Remove unused methods
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Newline fix
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Restored to a functional state
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Fix access configurator not working with door electronics AccessReaderComponent
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Replace all string access fields with ProtoId
Signed-off-by: c4llv07e <kseandi@gmail.com>
* move access level control initialization into Populate method
Signed-off-by: c4llv07e <kseandi@gmail.com>
* Review
---------
Signed-off-by: c4llv07e <kseandi@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 64bb8dbdd50e0b1e5744e1eb0cc6f24bda959ade)
* Translations
* Make aghost command work on other players using optional argument
* Reviews
(cherry picked from commit 87a56b25c3f06ea98661684b8e62f8acb0afee85)
* remove deprecated entity coordinate extension functions. Reduces warning count by approximately 50
* final toCoords Removed
* Remove all unused variables and dead code paths
* remove always true variable, should be a cvar or something instead
* remove superfluous variables from tests
(cherry picked from commit 59e46aab93ca38f8d57fcad4e3a2c893737d9ad4)
* Add Prometheus stats for admin count
Fixes#20828
Reports time series for admin count. Counts are separated by state (active, AFK, or deadminned) and admin rank.
* Use static constructor instead of static readonly for the metric
Docs recommend this due to inconsistent execution of C# static constructors.
* Remove static usage, use IoC IMeterFactory.
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit a1817a12dbb385275f4273c1abf48fac0a989ddd)
Fixes#26211
Admin messages now have separate "seen" and "dismissed" fields. The idea is that an admin should be able to tell whether a user pressed the "dismiss for now" button. Instead of using "seen" as "show this message to players when they join", "dismissed" is now used for this.
Existing notes in the database will automatically be marked as dismissed on migration. A note cannot be dismissed without being seen (enforced via constraint in the database too, aren't I fancy).
As part of this, it has become impossible for a player to play without dismissing the message in some form. Instead of a shitty popup window, the popup is now a fullscreen overlay that blocks clicks behind it, making the game unplayable. Also, if a user somehow has multiple messages they will be combined into one popup.
Also I had enough respect for the codebase to make it look better and clean up the code somewhat. Yippee.
(cherry picked from commit d776c4b392a082dba7539d77cfa20fc904ed4091)
* Replaced uses of Dirty(Component) with Dirty(Uid, Component)
Modified some systems (notably pulling-related) to use uids.
* Missed a few
* Revert changes to pulling
* No
(cherry picked from commit 4a83c365858830e3b2ff2b94fff501256422c20e)
* Kill the static InRangeUnOccluded
* Adjusted 4 more EntitySystems that were missed.
(cherry picked from commit 7d275a4b5e4188db424cc417c609dced3f9aca89)
* More solution edit windows
* Fix error when closing euis after round restart
---------
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
(cherry picked from commit 0da09db99ac556e0efdce40268e60eb5a06a0694)
* Security hud shows icon based on criminal record status
* Criminal status now linked to name instead of identity
* parole loc
* Test fix
* review changes
* Check station records instead of storing names on criminal record consoles.
* cleanup
* more cleanup
* review changes
* change outdated comments
* rename
* review changes
* remove event subscription
* replaced event with trycomp
* default value
(cherry picked from commit 60b9d89e4dbdd8aaad4992a105628297d9480617)