* Content - change the (should-be-obsolete) DisposeAllChildren into the more robust RemoveAllChildren.
* Remove duplicate calls.
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* Fix usages of TryIndex()
Most usages of TryIndex() were using it incorrectly. Checking whether prototype IDs specified in prototypes actually existed before using them. This is not appropriate as it's just hiding bugs that should be getting caught by the YAML linter and other tools. (#39115)
This then resulted in TryIndex() getting modified to log errors (94f98073b0), which is incorrect as it causes false-positive errors in proper uses of the API: external data validation. (#39098)
This commit goes through and checks every call site of TryIndex() to see whether they were correct. Most call sites were replaced with the new Resolve(), which is suitable for these "defensive programming" use cases.
Fixes#39115
Breaking change: while doing this I noticed IdCardComponent and related systems were erroneously using ProtoId<AccessLevelPrototype> for job prototypes. This has been corrected.
* fix tests
---------
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
* camera
* add console command
* change verb name to camera
* placeholder text
* add button to player panel
* orks are indeed the best
* visibility flag fix
* not a datafield
* more follower fixes
* more cleanup
* add zooming
* resizing real
* remove commented out code
* remove AddForceSend
* comment
* Use OS window and add some comments
* fix comments and variable name
* Needs RT update
* Minor grammarchange
* Fix warning
* Cleanup
* almost working...
* fix bug
* oswindow update
* Remove need for RequestClosed.
---------
Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
* Make role ban pannel pretty
* Removed unused depencency
* refactor: wider panel (no jumping due to scroll in english lang) minor readability improvements
---------
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
* remove styleclass from playertab 'button' lines
* cvar, fix button-style header alignment
* Fix requested changes
And also the extra cvar things I was meant to remove in the upstream merge
* Tiny tweaks
---------
Co-authored-by: Errant <35878406+Errant-4@users.noreply.github.com>
* refactor(src): Minor refactor of Draw in "AdminNameOverlay. And new info about playtime player
* fix(src): Add configure classic admin owerlay
* fix
* antag status indication rework
* the cvars are free, you can just take them
* update playerlist on cvar change
* more overlay options
* tweak(src): Use _antagLabelClassic and tweak style
* tweak(src): Add config display overlay for startingJob and playTime
* tweak(src): Vector2 is replaced by var
* tweak(src): return to the end of the list
* add new option checkboxes
* passing ConfigurationManager through constructor, some format changes
* made sorting values more futureproof
* comments
* labels
* no point commenting this out when the overlay stack PR will uncomment it again anyway
* sorting prototype
* localize symbols because why not
* symmetry
* Revert "localize symbols because why not"
This reverts commit 922d4030300285a45777d62fcfd9c74b25fe7a60.
* layout and formatting stuff
* fix errant space
---------
Co-authored-by: Schrödinger <132720404+Schrodinger71@users.noreply.github.com>
* your commit? our commit.
* skreee
* show joined players before lobby players; comments
* comments
* playerinfo retains playtime data after disconnect
* new connection status symbols
This should be the primary changes for the future-proof "Modern HWID" system implemented into Robust and the auth server.
HWIDs in the database have been given an additional column representing their version, legacy or modern. This is implemented via an EF Core owned entity. By manually setting the column name of the main value column, we can keep DB compatibility and the migration is just adding some type columns.
This new HWID type has to be plumbed through everywhere, resulting in some breaking changes for the DB layer and such.
New bans and player records are placed with the new modern HWID. Old bans are still checked against legacy HWIDs.
Modern HWIDs are presented with a "V2-" prefix to admins, to allow distinguishing them. This is also integrated into the parsing logic for placing new bans.
There's also some code cleanup to reduce copy pasting around the place from my changes.
Requires latest engine to support ImmutableArray<byte> in NetSerializer.
* Filter Set Outfit menu to exclude loadout sets
* Apply loadouts to job outfits
* Use appropriate species for Urists
* squishy
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Power stuff
- Add shared IsPowered
- Add shared ResolveApc
- Move PowerChangedEvent to shared for now
- Add SlimPoweredLight that actually functions how you'd expect a PoweredLight to function it id didn't have a bunch of bloat on it.
* big update
* boing
* Basic structure for the player panel ui
* Ensure basic functionality
Player panel now receives and displays basic info
* Make whitelistcommands accept user ids
* Make PlayerPanel use GUIDs where possible
* Add functionality to most playerpanel buttons
* Implement remaining playerpanel features
* Localize everything
* Finish up
* Put command arguments in quotes
I am not sure if it's even possible to have something like a space in
them considering they are guids and usernames but sure why not
* Make playerpanel a verb
* Add Logs button to player panel
* Change Notesbutton text and make whitelistbutton a confirmtion button
* Add freeze button that does not mute the player
* Add sharedconnections counter to playerpanel
* Make the playetime format clearer
* Allow for copying of the a player's username
* Do minor cleanup
* Rearrange buttons
* Fix unfreeze button not updating
* Fix wrong localisation text
* "Fix" the same role ban counting multiple times
The way rolebans are stored is horrible.
As such if you ban someone from a departmenrt or something
role bans are individually placed for every role.
The only way I found to distinguish them is the bantime.
This is horrible but I do not want to rewrite how all the bans are
stored right now.
* Add Delete and Rejuvenate buttons to player panel
By popular demand
* Marginally improve ui
* Add logs
* review update
* Fix verb
* Fix double notes
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Clear search criteria on loading aHelp window
* Pinning technology.
* Relay to aHelp window and discord if a user disconnect/reconnect
* Fix pinning localization
* Log disconnect, reconnects, bans to relay and admin in aHelp
* Drop to 5min to hold active conversations
* Update Content.Server/Administration/Systems/BwoinkSystem.cs
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
* discord text styling if diconnect,reconnect,banned message.
* Pin icons instead of text
* Better Icons
* space
* Move button generation in to its own XAML
* List entry control
* Fix spaces
* Remove from active conversations on banned
* Discord if else block cleanup
* Better pin icons
* Move icons to stylesheet styleclass
* Better field order.
* PR review fixes
* fixes
---------
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>