Commit Graph

603 Commits

Author SHA1 Message Date
nikthechampiongr 9520e829de
Allow for the ai's laws to be changed from its core and eye (#32461)
* Allow for the ai's laws to be changed from its core and eye

* Address reviews
2024-11-02 14:21:10 +01:00
metalgearsloth 1c8eed8b45
Add on-call functionality for adminning (#30443)
* Add on-call functionality for adminning

The first time an ahelp gets SOS it gets relayed to the specified channel with the specified ping. Every time after that it doesn't until it gets a non-SOS response received.

* Remove redundant name

Pretty sure this already gets chucked on the name of the msg itself I think it just didn't show in screenshot because they were subsequent.

* Update Content.Server/Administration/Systems/BwoinkSystem.cs

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

---------

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: deathride58 <deathride58@users.noreply.github.com>
2024-11-02 10:29:16 +01:00
Moomoobeef 6236d1abb3
Updated an incorrect sprite in the smite menu (#33043)
changed the synth sprite used in the icon for the instrumentify smite out for the more accurate supersynth sprite
2024-10-28 23:35:48 +01:00
IProduceWidgets 8cafd7261d
Fix omega cursed smite code. (#32844)
* le fixo smotes

* CURSE OF BLINDNESS

* Guh
2024-10-17 09:24:31 +11:00
Pieter-Jan Briers 4a5178a538
Fix role ban loading bugs (#32725)
This code was a mess. Now it's less of a mess and user UserDbDataManager now.

Fixes the following bugs:

* If you connect to a server, restart your client, connect again in the same round, you role bans would not be visible in the client.
* If you role ban somebody who is not connected to the server, then they connect within the round, they will only have the recently-applied ban.

Likely fixes #24781, #27282
2024-10-14 14:30:31 +11:00
Leon Friedrich f1f1fc1dc3
Add interaction rate limits (#32527)
* Move PlayerRateLimitManager to shared

* Add interaction rate limits

* uncap tests
2024-09-29 22:19:00 +10:00
nikthechampiongr a5840b925b
Fix RA0032 (#32514) 2024-09-29 02:25:21 +02:00
Fildrance 4bcf3c3c0e
Station AI ability to electricute doors (#32012)
* Boom! Emergency access!

* Emergency access sound

* locale

* Updated sounds

* bleh

* Door electrify base

* feat: popups on attempt to activate AI action when wires cut

* refactor: use SharedApcPowerReceiverComponent to check if AI can interact with door

* refactor: added icon and sound for door overcharge

* meta.json should use tabs not spaces

* refactor: extracted sounds for airlock overcharge to static field in system

* refactor: cleanup, ScarKy0 mentions for resources

* refactor: removed unused textures

* feat: now notification is displayed when AI attempting to interact with door which have wire cut

* StationAiWhitelistComponent is properly gating  BUI OnMessageAttempt, SharedPowerReceiverSystem.IsPowered is now used to check if device powered

* refactor: use PlayLocal to play electrify sound only for AI player

* refactor: SetBoltsDown now uses TrySetBoltDown, checks for power.

* bolts now check for power using SharedPowerReceiverSystem

* electrify localization and louder electrify sounds

* extracted ShowDeviceNotRespondingPopup, reverted airlocks not opening/closing when ai wire was cut

* refactor: cleanup

* New sprites and fixes

* Copyright

* even more sprite changes

* refactore: cleanup, rename overcharge => electrify

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-09-27 17:22:17 +10:00
sativaleanne 1567af6f07
Rolebanlist command UI (#30827)
* rolebanlist command opens ui

* removed commented out section
2024-09-20 21:49:31 +10:00
Tayrtahn 94ad76fd07
Fix Set Outfit command/verb (#29672)
* 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>
2024-09-19 18:02:37 +10:00
nikthechampiongr ee434e397d
Rename fix (#31654)
* Localize RenameCommand and delegate most of the process to MetaDataSystem.SetEntityName()

* Make renaming rely on the EntityRenamedEvent. Fix issue where renaming would keep old Examine text

Requires engine change

* Fix localisation strings

* Make PDA search be based on a renamed entity's Uid instead of its old name

To do this the pda component now has an PdaOwner field which gets
assigned when it is given as a loadout to a player

* Fix bad merge???

huh

* Use AllEntityQuery
2024-09-15 11:55:03 +10:00
Cojoke ef1fadf275
Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem (#30084)
* Replace instances of SolutionContainerSystem with SharedSolutionContainerSystem

* guap

* More fixes

* Wait you can do that?

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-09-02 13:26:04 +02:00
Mervill 3414abb970
Remove unused IoC dependency references. (#31704)
Remove unused IoC dependencies
2024-09-01 23:22:50 +02:00
Winkarst 88dcc831c1
Remove calls to FormattedMessage obsolete methods (#31706)
* Remove FormattedMessage obsolete methods

* Oops
2024-09-01 13:00:53 +02:00
nikthechampiongr 9a63144636
Allow for respawn and erase verb to be used on offline players. Also minor rewrite on respawn command and new erase command (#30433)
* Localize respawn command, allow for it to use userids, and make it use [Dependency] attributes

* Make respawn verb available for offline players

* Make erase available for offline players

A thousand admins rejoice

* Reorder verbs in code

* Add erase command

* Fix localisation for erase command

* Address reviews and add completion to respawn command

* Complete reviews which I forgor
2024-08-31 21:38:03 +10:00
metalgearsloth afd0618a60
Station AI (#30944)
* Station AI overlay

* implement

* Bunch of ports

* Fix a heap of bugs and basic scouting

* helldivers

* Shuffle interactions a bit

* navmap stuff

* Revert "navmap stuff"

This reverts commit d1f89dd4be83233e22cf5dd062b2581f3c6da062.

* AI wires implemented

* Fix examines

* Optimise the overlay significantly

* Back to old static

* BUI radial working

* lots of work

* Saving work

* thanks fork

* alright

* pc

* AI upload console

* AI upload

* stuff

* Fix copy-paste shitcode

* AI actions

* navmap work

* Fixes

* first impressions

* a

* reh

* Revert "navmap work"

This reverts commit 6f63fea6e9245e189f368f97be3e32e9b210580e.

# Conflicts:
#	Content.Client/Silicons/StationAi/StationAiOverlay.cs

* OD

* radar

* weh

* Fix examines

* scoop mine eyes

* fixes

* reh

* Optimise

* Final round of optimisations

* Fixes

* fixes
2024-08-28 10:57:12 +10:00
Julian Giebel df95be1ce5
Kick on ban for entire server group (#28649)
* Start work on PostgresNotificationManager
Implement initial version of init and listening code

* Finish implementing PostgresNotificationManager
Implement ban insert trigger

* Implement ignoring notifications if the ban was from the same server

* Address reviews

* Fixes and refactorings

Fix typo in migration SQL

Pull new code in BanManager out into its own partial file.

Unify logic to kick somebody with that when a new ban is placed directly on the server.

New bans are now checked against all parameters (IP, HWID) instead of just user ID.

Extracted SQLite ban matching code into a new class so that it can mostly be re-used by the ban notification code. No copy-paste here.

Database notifications are now not implicitly sent to the main thread, this means basic checks will happen in the thread pool beforehand.

Bans without user ID are now sent to servers. Bans are rate limited to avoid undue work from mass ban imports, beyond the rate limit they are dropped.

Improved error handling and logging for the whole system.

Matching bans against connected players requires knowing their ban exemption flags. These are now cached when the player connects.

ServerBanDef now has exemption flags, again to allow matching full ban details for ban notifications.

Made database notifications a proper struct type to reduce copy pasting a tuple.

Remove copy pasted connection string building code by just... passing the string into the constructor.

Add lock around _notificationHandlers just in case.

Fixed postgres connection wait not being called in a loop and therefore spamming LISTEN commands for every received notification.

Added more error handling and logging to notification listener.

Removed some copy pasting from SQLite database layer too while I was at it because god forbid we expect anybody else to do all the work in this project.

Sorry Julian

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-20 23:31:33 +02: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
slarticodefast 8cb2cfc0af
fix the admin verbs trying to kill players by filling their lungs with plasma (#30991)
fix the admin tools trying to kill players by filling their lungs with plasma
2024-08-14 12:56:38 +03:00
Brandon Hu 31c5d3555e
fix(Commands): Improve Localization of commands. Standardize some behaviors. (#30362)
* I should be studying for school but that is sofucking boring, I will pass my class no matter, however getting an A might be a challenge. My gpa is important but is the tourture for 1 point of GPA worth it? The american government says yes but they are responsible for the majority of all genocides that have ever been conducted since the dawn of man

* ugh

* ugh
2024-08-11 19:46:57 +10:00
metalgearsloth 1649ed45bd
Add access to gun components (#30688)
* Add access to gun components

Found from an rmc14 PR.

* Admin verbs proving why access needs to exist

* Someone is probably going to post this pr to le reddit and complain about self-merges.
2024-08-09 17:39:27 +10:00
TsjipTsjip 736325a31f
Log enrichment: Explosion damage to players (#29762)
* Log enrichment: Explosion damage to players

* Update Content.Server/Explosion/EntitySystems/ExplosionSystem.Processing.cs

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

* Revert to total damage variant only, currently serialised as string.

* Make this its own log type.

---------

Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
2024-08-09 16:24:05 +10:00
Simon 4c4cdb5b06
UI to edit silicon laws from admin verb (#28483)
* UI to edit silicon laws from admin verb

(peak shitcode)

* Improve UI

* Use Moderator admin flag

* Reviews
2024-08-09 16:16:22 +10: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
DrSmugleaf edd17072ae
Fix admin logs cache caching rounds forever if multiple game servers are ran on the same db (#30687) 2024-08-05 16:13:27 -07:00
metalgearsloth 9a8620d9d8
De-duplicate loadout gear (#30341)
* De-duplicate loadout gear

Needs supporting code, probably with an interface with StartingGearPrototype which would also use it, but I regexed the yaml.

* Code updates

* Remaining yaml

* Fix automatic naming

* raiseEvent

* Don't code when tired kids
2024-08-05 00:42:25 -04:00
to4no_fix 64273cb914
Display the administrator's title in ahelp and ahelp relay (#30075)
* Adding the admin prefix to the ahelp

* Updating the admin prefix

* The second update of the admin prefix

* Configuration correction
2024-08-02 22:59:20 -05:00
Aiden 029771d672
'Spawn Here' Verb Forces Mind Transfer (#30568)
Update AdminVerbSystem.cs
2024-08-02 17:14:21 +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
Plykiya 79fa810b9c
Update stomach removal and lung removal smite to not use Component.Owner (#29927)
* Update stomach removal and lung removal smite

* New function makes things simple

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-28 01:25:40 -07:00
Brandon Hu a99ae6211d
fix(cmd-Jobwhitelistadd): Fixed typo in Loc.GetString (#30355)
LET ME IN THE BAR LET ME IN THE BAR LET ME IN THE BAR. IM 18 I SWEAR PLEASE PPLEASE NOOOO I SWEAR PLEASE PLEASE I WANNA GET CRUNK
2024-07-25 23:55:44 -06:00
Plykiya 2a7883b92e
Update vomit organ smite to not use Component.owner (#29926)
* Update vomit organ smite to not use Component.owner

* is this what you want...?

* am I winning, dad?

* update the comment

* we love entity<t>

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-25 05:24:40 -07:00
Errant bf1450fdc8
Fix replayghost spawning location (#30252)
Fix replayghost spawn
2024-07-22 20:32:30 +01:00
lzk 011250f35e
Fix AGhostCommand naming (#29945) 2024-07-14 20:25:18 +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
Chief-Engineer 763a25e934
add more info to entity json in logs (#18672)
* 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
2024-07-02 11:09:24 +02:00
slarticodefast d62dddcfcb
fix initial infected icons and add a briefing to the character menu (#29259) 2024-06-21 15:42:17 +10:00
Pieter-Jan Briers c33644532d
Rate limit ahelps (#29219)
* Make chat rate limits a general-purpose system.

Intending to use this with ahelps next.

* Rate limt ahelps

Fixes #28762

* Review comments
2024-06-21 00:13:02 +02:00
ShadowCommander 8791f98f0b
Fix playtime on player tab getting set to Unknown (#28876)
Update play time on admin panel player tab after db loads
2024-06-12 23:38:43 -07:00
Leon Friedrich d38ad12262
Fix `playtime_addrole` command printing the wrong time (#28783) 2024-06-12 23:31:21 -07: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
nikthechampiongr 8cf9037273
Make freeze, freeze & mute, and unmute verbs work on disconnected players. (#28664) 2024-06-08 20:40:33 +10:00
AJCM-git 63e0ee08cb
Fixes client having authority over rules popup cvars (#28655)
* Fixes client having authority over rules popup cvars

* Delete duplicate migration

* Pre-update

* Post-update
2024-06-07 21:53:20 +02:00
Nemanja 1333b48747
Convert rules to use guidebook parsing (#28647) 2024-06-06 03:11:26 -04:00
ShadowCommander f933922c9e
Add logs that provide session to player admin logs (#28628) 2024-06-06 00:19:54 +10:00
deltanedas a3a1538d32
move gamerule components to shared (#28572)
* move MinMax to shared

* cleanup MinMax

* move other ticking components to shared just because

* remove unused prototype file

* update everything to use shared components

* test

* test 2

* test 3

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-06-04 21:53:24 +10:00
Tornado Tech 21bc3bfa22
Cleans up tag system (#28272)
* Updated tag system

* Added params methods

* Fixed tag integration tests

* Fixed params methods recursion

* Revert has All/Any tag one argument realisation

* Updated tag integration tests

* Shit happens

* Added individual List/HashSet methods, docs, tests
2024-06-02 11:11:19 +10:00
DrSmugleaf 19be94c9ea
Add job whitelist system (#28085)
* Add job whitelist system

* Address reviews

* Fix name

* Apply suggestions from code review

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

* cancinium

---------

Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2024-06-01 05:08:31 -07:00