Commit graph

182 commits

Author SHA1 Message Date
AndrewFenriz
53e29ab962
Move admin smites to prototypes (#45550)
* Add prototype-backed admin verb framework

* Add reusable admin verb operations

* Add smite-specific admin operations

* Migrate admin smites to prototypes

* More docs for god of docs

* We dont have prediction here, so...

* Final cleanup

* Fix adminSmite

* Add segment display control

* Add generic thermoregulator

* Add thermobath systems

* Replace hotplate with thermobath

* Refine thermobath layout

* move simple smites to effects

* move comps to effects

* move add action to effect

* move add mind role to effect

* move add user interfaces to effect

* move godmode to effect

* move eye zoom to effect

* move speed swap to effect

* move spill bloodstream to effect

* move remove organs to effect

* move cream pie to effect

* move slip to effect

* fix server effect usings

* move homing rod to effect

* move locker stuff to effect

* move tabletop dimension to effect

* move pinball to effect

* move yeet to effect

* move silicon laws to effect

* move ghost kick to effect

* remove admin operations

* revert sht

* remove BOM

* use admin verb prototypes for smites

* add heart attack smite prototype

* docs update

* fix AdminSmiteVomitOrgans

* split and move to shared

* move to shared

* move to shared and predict

* PredictedQueueDel

* fix Popup

* fix HomingRod

* port DeleteEntityEntityEffectSystem

* fix StuffIntoLockerEntityEffectSystem

* upd

* fix eye

* fix movement

* fix!!

* fix and doc

* Add admin verb category prototype

* upd AdminVerbPrototype

* split verbs

* SuperSuperSuperBonk

* Update PopupMessageEntityEffectSystem.cs

* fields

---------

Co-authored-by: Pok245 <113675512+Pok27@users.noreply.github.com>
2026-09-18 19:01:16 +00:00
Whatstone
a023e5784c
Cleanup: Remove byte order markers from most files (#45796) 2026-09-17 23:23:54 +10:00
DrSmugleaf
65f5f67cd5
Make every EntitySystem partial (#45220)
* Make every EntitySystem partial

* Oobs thats for a diff PR

* Also oops on that one

* Test systems

* git are we fr

* Update file templates

* cleanup empty classes while we are here

* forgor

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-08-14 18:24:47 +00:00
Samuka
e020c43454
Event log tool (#44655)
* button to new ui

* text box and button

* change size

* get the current round

* turn into a command

* fix round id not updating

* button to send log send message to server

* send message to discord

* use another cvar

* general fixes

* update event webhook

* use a place holder

* fix placeholder

* update button name

Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>

* move to a separate folder

* turn into a fancy window

* add margin

* center text in the button

* move reset button to the left

* update the window

* move send button to the left

* update color

* remove indentation

* set sawmill inside PostInject

* remove random newline

* move PostInject to start of the class

* use darkViolet

* summary

* remove whitespace

* comment

---------

Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
2026-07-14 23:45:40 +00:00
Crude Oil
812fbd03af
Add functionality to select players when opening admin log UI (#44604)
* add user id to adminlogs command, allow opening logs for specific player

* replace ban list with opening player logs in ahelp window

* add entity logs verb

* make it less obvious I blatantly copied stuff from admin notes

* player log verb now actually working as intended

* use logic, not call command

* implement TryGetLastMind and TryGetLastMindOwner

* replace double condition with TryGetLastMind

* oops

* Apply suggestion from @AJCM-git

---------

Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
2026-07-14 20:57:10 +00:00
Doru991
252b5f9b09
Make quick info links in the ahelp window more robust (#44373)
* Store last player whose mind was in container

* Send last player who controlled the entity's session ID along with other quick info

* No more spam

* Display last player info if there is no active player on entity

* Better looking separator

* Better looking separator but I didnt forget to ctrl s this time

* newline

* Address reviews

* cleaning

* Tiny tweaks

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: Connor Huffine <chuffine@gmail.com>
2026-07-08 08:32:08 +00:00
Axionyx
bad5a2bda6
Add trust score and account creation date to the player panel (#44317)
* Track account creation date and trust score in ContentPlayerData

* Fix local connection check

I feel like I'm overlooking an obvious way to more easily determine this but whatever

* Add trust score & creation date to the player panel

* Adress reviews

* Use IsLocal instead of magic string

Requires engige update

* Change trust thing to be not silly

Maybe a bit more complicated though? I dunno, I personally think this is more sane

* Revert "Track account creation date and trust score in ContentPlayerData"

This reverts commit 26b8df56

I am incredibly stupid and apparently did not look hard enough
2026-06-21 20:04:24 +00:00
Pieter-Jan Briers
37998d89ab
Bwoink "quick info" system for names (#44319)
This implements the SS13 feature where ahelps display a link to get quick info when a character name is mentioned.

Also just some cleanup of bwoink code cuz it sucks.
2026-06-20 23:29:24 +00:00
Pieter-Jan Briers
5168b5f3d4
IoC source gen compatibility (#43863)
* IoC source gen compatibility

Can be merged before or after https://github.com/space-wizards/RobustToolbox/pull/6549 doesn't really matter.

* Missed a spot
2026-05-09 03:29:58 +00:00
Princess Cheeseballs
ef3a0ecc2a
Solutions Refactor Part 1 - Solution Prototypes (#43412)
* Everything except the YAML slop...

* She solution on my manager till I sajfslkahfsjakfhaskjfshajksafhfsakhfasjfas

* another 1000 lines

* fix chem dispenser size

* go my shnelf

* Implicit ass

* rider is being mean for some reason

* dasdas

* borger

* better formatting go!

* clothes/bloodstream

* Cartons

* cups and bottles

* mmm soder

* bar drinks

* Spray bottles and some size tweaks with hindsight

* 99 bottles of beer on the wall I hate YAML

* push that shit

* mmm burger

* Sneed

* sheets

* condiments

* mmm yummy

* fridge yummyfood

* meat...

* sub 300

* burger...

* bready

* let them eat cake

* does she know how to make a grilled cheese?

* pizza pie!

* misc shit

* soup or salad

* Food and drinks, vanquished

* the cubes!!!

* Almost free from YAML...

* fix test fails and some yaml issues

* fix prediction, almost done

* fix all test fails

* remove master merge artifacts and undo autonetworking

* review and compatibility

* graaah

* unfuck master merge I hate github

* merg conflicts

* sfsa

* ehoop

* sadas

* afsafsaasf

* merge conflicts

* fucked up the merge conflicts

* merge conflict is fucked I might need to completely redo this branch

* test fail

* no calcium????

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-04-25 02:00:34 +00:00
Pieter-Jan Briers
29b7fc4463
Stable to master (#42599)
Ban database refactor (#42495)

* Ban DB refactor seems to work at a basic level for PostgreSQL

* New ban creation API

Supports all the new functionality (multiple players/addresses/hwids/roles/rounds per ban).

* Make the migration irreversible

* Re-implement ban notifications

The server ID check is no longer done as admins may want to place bans spanning multiple rounds irrelevant of the source server.

* Fix some split query warnings

* Implement migration on SQLite

* More comments

* Remove required from ban reason

SS14.Admin changes would like this

* More missing AsSplitQuery() calls

* Fix missing ban type filter

* Fix old CreateServerBan API with permanent time

* Fix department and role ban commands with permanent time

* Re-add banhits navigation property

Dropped this on accident, SS14.Admin needs it.

* More ban API fixes.

* Don't fetch ban exemption info for role bans

Not relevant, reduces query performance

* Regenerate migrations

* Fix adminnotes command for players that never connected

Would blow up handling null player records. Not a new bug introduced by the refactor, but I ran into it.

* Great shame... I accidentally committed submodule update...

* Update GDPR scripts

* Fix sandbox violation

* Fix bans with duplicate info causing DB exceptions

Most notably happened with role bans, as multiple departments may include the same role.
2026-01-23 15:34:23 +01:00
ScarKy0
40ae49bb85
Killsign cleanup (#41845)
* init

* rsi

* review

* scale

* it

* cat, dog, nerd

* rsi

* I just microbalanced animation speed

* raider, stinky resprite

* review

* HideFromOwner

* hidden smite

* copyright

* Apply suggestions from code review

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-12-14 02:04:28 +00:00
Pok
ae55204f9f
Move some admin components to shared (#41677)
* AdminSystem-move-to-shared

* review
2025-12-02 19:39:21 +00:00
Errant
b02edf29e3
Admin improvements for Looc and Deadchat (#41273)
* looc and deadchat speak interrupt events

* comment

* admin log tweak

* clean up log entity targets; switch admin deadchat logged entity from player to mob

* one event only

* rename event, broadcast player session with the event
2025-11-21 21:41:24 +00:00
Leon Friedrich
3a1720c48f
Fix admin log exception (#41242)
Fix admin logs
2025-11-12 11:26:29 +00:00
slarticodefast
1b7fa85733
Add EntityEffectOnTrigger and RejuvenateOnTrigger (#40967)
commit
2025-10-19 14:42:18 +00:00
Errant
b692b6e33e
Antag Rolebans (#35966)
Co-authored-by: beck-thompson <beck314159@hotmail.com>
Co-authored-by: Hannah Giovanna Dawson <karakkaraz@gmail.com>
2025-09-17 23:59:07 +02:00
Skye
f98fd98380
Fix bad loop in LogStringHandler.AddFormat (#40147) 2025-09-06 04:07:03 +02:00
Leon Friedrich
828b1f2044
Rejig LogStringHandler (#30706)
* Rejig LogStringHandler

* Fix session logs

* Fix properly

* comments

* IAsType support

* Fix mind logs

* Fix mind logging AGAIN

---------

Co-authored-by: PJB3005 <pieterjan.briers+git@gmail.com>
2025-09-05 14:22:49 +02:00
Vasilis The Pikachu
5100068a78
Revert "Admin Log Browser Improvements (#39130)"
This reverts commit f67cebf7a4.

Per request of @Kowlin and @southbridge-fur

Check out https://github.com/space-wizards/space-station-14/issues/39960 for further information
2025-08-31 17:50:37 +02:00
Kyle Tyo
ffc7cc5e5d
Combine AdminFrozenSystem in shared. (#39885)
commit
2025-08-25 15:49:27 +02:00
Southbridge
f67cebf7a4
Admin Log Browser Improvements (#39130) 2025-08-21 22:12:16 +02:00
Tayrtahn
312f81d58a
Move HeadstandComponent to Shared (#39377)
Move HeadstandComponent to Shared
2025-08-04 23:00:19 +02:00
slarticodefast
b4e81cb8f2
Admin Tool: Observe entities in an extra viewport (#36969)
* 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>
2025-07-25 18:53:01 +02:00
Pieter-Jan Briers
73df3b1593
Stop network serializing prototypes (#38602)
* Stop network serializing prototypes

Send the damn proto ID instead.

* Fix sandbox violation
2025-06-26 19:27:23 -04:00
Tayrtahn
ca33d6bb70
Add marker components for admin shenanigans (#36776) 2025-04-20 21:08:41 +02:00
Errant
fb388d2265
Role subtypes (#35359) 2025-04-16 19:04:48 +02:00
Errant
0c6e21dec2
PlayerPanel Follow button (#36466)
* Follow button

* remove event stuff
2025-04-12 22:00:46 +02:00
Errant
72141abf8a
Admin playerlist antag presentation rework (#35538)
* 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>
2025-03-25 17:03:59 +01:00
Winkarst
b912dedbfc
New Feature: Admin Only messages in AHelp (#35283)
* Feature

* Update

* Update

* Update

* Update Resources/Locale/en-US/administration/bwoink.ftl

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>

* Yes

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2025-02-22 09:45:50 -08:00
Myra
6041c828de
Remove baby jail (#34443)
* Remove baby jail

Closes #33893

* Test fail fix.
2025-01-15 22:08:15 +01:00
Pieter-Jan Briers
c2e050ced0
Persist deadmin to database, add admin suspension system (#34048) 2025-01-15 00:46:45 +01:00
Errant
46d58bf22a
Role Types (#33420)
* mindcomponent namespace

* wip MindRole stuff

* admin player tab

* mindroletype comment

* mindRolePrototype redesign

* broken param

* wip RoleType implementation

* basic role type switching for antags

* traitor fix

* fix AdminPanel update

* the renameningTM

* cleanup

* feature uncreeping

* roletypes on mind roles

* update MindComponent.RoleType when MindRoles change

* ghostrole configuration

* ghostrole config improvements

* live update of roleType on the character window

* logging stuff and notes

* remove thing no one asked for

* weh

* Mind Role Entities wip

* headrev count fix

* silicon stuff, cleanup

* exclusive antag config, cleanup

* jobroleadd overwerite

* logging stuff

* MindHasRole cleanup, admin log stuff

* last second cleanup

* ocd

* move roletypeprototype to its own file, minor note stuff

* remove Roletype.Created

* log stuff

* roletype setup for ghostroles and autotraitor reinforcements

* ghostrole type configs

* adjustable admin overlay

* cleanup

* fix this in its own PR

* silicon antagonist

* borg stuff

* mmi roletype handling

* spawnable borg roletype handling

* weh

* ghost role cleanup

* weh

* RoleEvent update

* polish

* log stuff

* admin overlay config

* ghostrolecomponent cleanup

* weh

* admin overlay code cleanup

* minor cleanup

* Obsolete MindRoleAddedEvent

* comment

* minor code cleanup

* MindOnDoGreeting fix

* Role update message

* fix duplicate job greeting for cyborgs

* fix emag job message dupe

* nicer-looking role type update

* crew aligned

* syndicate assault borg role fix

* fix test fail

* fix a merge mistake

* fix LoneOp role type

* Update Content.Client/Administration/AdminNameOverlay.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* Update Content.Shared/Roles/SharedRoleSystem.cs

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* comment formatting

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* change logging category

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* fix a space

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* use MindAddRoles

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* get MindComponent from TryGetMind

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* move var declaration outside loop

* remove TryComp

* take RoleEnum behind the barn

* don't use ensurecomp unnecessarily

* cvar comments

* toggleableghostrolecomponent documentation

* skrek

* use EntProtoId

* mindrole config

* merge baserolecomponent into basemindrolecomponent

* ai and borg silicon role tweaks

* formatting

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* I will end you (the color)

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* use LocId type for a locale id

* update RoleEvent documentation

* update RoleEvent documentation

* remove obsolete MindRoleAddedEvent

* refine MindRolesUpdate()

* use dependency

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* inject dependency

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

* roleType.Name no longer required

* reformatted draw code logic

* GhostRoleMarkerRoleComponent comment

* minor SharedRoleSystem cleanup

* StartingMindRoleComponent, unhardcode roundstart silicon

* Update Content.Shared/Roles/SharedRoleSystem.cs

* remove a whitespace

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2025-01-11 22:17:26 +01:00
slarticodefast
e7294bdf4f
Only disable panicbunker for admins with AdminFlags.Admin (#33879)
* Only disable panicbunker for admins with AdminFlags.Admin

* nicer curly braces
2024-12-18 14:15:04 +01:00
Pieter-Jan Briers
4f3db43696
Integrate Modern HWID into content
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.
2024-11-12 01:51:54 +01:00
Errant
40b9fd4ea3
Namespace cleanup around Mind Roles (#30965)
* namespaces

* Comment does not need a semicolon

---------

Co-authored-by: Vasilis <vascreeper@yahoo.com>
2024-08-15 20:26:57 +02:00
nikthechampiongr
d1a60fafe7
Implement a playerpanel (#30238)
* 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>
2024-08-09 15:33:25 +10:00
Repo
a72445c419
aHelp fixes and improvements (#28639)
* 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>
2024-07-30 18:28:32 +10:00
Chief-Engineer
6371a04621
Fix baby jail (#29896)
* Revert "Revert Baby Jail (#29891)"

This reverts commit 24a2866747.

* the fix
2024-07-11 15:14:01 +10:00
Vasilis
24a2866747
Revert Baby Jail (#29891)
* Revert "SS14-28662 Add Baby Jail: a Jail for Babies (inverse panic bunker) (#28763)"

This reverts commit 3ceb92a0c4.

* Revert configs

* Oops
2024-07-11 10:33:47 +10:00
Leon Friedrich
ee2c115e5b
Turn interaction related attempt events into structs (#29168)
* Turn InteractionAttemptEvent into a struct event

* readonly

* GettingInteractedWithAttemptEvent

* ConsciousAttemptEvent
2024-06-19 00:30:41 +10:00
Hannah Giovanna Dawson
1bb9d9451f
Panic Bunker uses minutes not hours (#28805)
* Panic Bunker uses minutes not hours

* Fixing an instance of hours
2024-06-09 22:45:47 +02:00
Hannah Giovanna Dawson
3ceb92a0c4
SS14-28662 Add Baby Jail: a Jail for Babies (inverse panic bunker) (#28763) 2024-06-09 14:58:10 -04:00
Nemanja
68992735d8
Clean up command perms (#28451)
* 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>
2024-06-01 01:14:43 -07:00
Geekyhobo
94a113dbd6
Adds a Pii Flag, Censors Hwid and Ip (#27776)
* yes

* fixes
2024-06-01 00:23:54 -07:00
no
37099e481e
Prevent admin-frozen players from ghosting or suiciding, add "Freeze And Mute" verb (#27813)
* prevent admin-frozen players from ghosting or suiciding

* Add "Freeze and Mute" admin verb

* Allow "Freeze And Mute" admin verb when player is already frozen but not muted

* Remove redundant scream handler (scream action just emotes, duh)

* AdminFrozenSystem: clean imports

* Update Content.Server/Chat/Commands/SuicideCommand.cs

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Update Ghost.cs

* retrigger ci (empty commit)

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-05-12 10:35:30 -04:00
Tainakov
6d6e7f0c98
[Admin QOL] +Adminchat flag (#26930) 2024-04-27 13:17:46 +02:00
metalgearsloth
5896e68752
Content update for UI prediction (#27214)
* Content update for UI refactor

* Big update

* Sharing

* Remaining content updates

* First big update

* Prototype updates

* AUGH

* Fix UI comp ref

* Cleanup

- Fix predicted message, fix item slots, fix interaction range check.

* Fix regressions

* Make this predictive

idk why it wasn't.

* Fix slime merge

* Merge conflict

* Fix merge
2024-04-26 18:16:24 +10:00
nikthechampiongr
dca0c6694b
Add stealthmins (#26263)
* Add stealthmin command.

* Update Content.Server/Administration/Commands/AdminWhoCommand.cs

As suggested by CE.

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>

* Add admin notifications for admins toggling stealthmin.

* Localize stealthmin command

---------

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
2024-03-24 10:39:53 -05:00
Pieter-Jan Briers
d776c4b392
Improve admin message seen/dismiss state. (#26223)
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.
2024-03-21 16:15:46 +01:00