Commit Graph

312 Commits

Author SHA1 Message Date
Chief-Engineer 366cea3352 Fix baby jail (#29896)
* Revert "Revert Baby Jail (#29891)"

This reverts commit 24a2866747e6de37ab2c4395bee9ea44c9211c6f.

* the fix
2024-08-09 17:39:18 +01:00
Vasilis b0edb5ccf0 Revert Baby Jail (#29891)
* Revert "SS14-28662 Add Baby Jail: a Jail for Babies (inverse panic bunker) (#28763)"

This reverts commit 3ceb92a0c43d3815d65c8124cd6bea3be5140455.

* Revert configs

* Oops
2024-08-09 17:38:45 +01:00
Null f19310b268
Merge pull request #1533 from NullWanderer/2024/07/05-upstream-merge
Finally, the big merge
2024-07-25 03:17:57 +02:00
Pieter-Jan Briers cd95737190
Remove placing items on tabletop boards. (#29513)
This feature should never have been merged, it can be trivially abused to break the entire server.

It's behind a CVar because honestly that's the easiest way to 1984 the feature.
2024-07-25 01:50:55 +02:00
Chief-Engineer cdb2802449
Alert shared connections (#29405)
* add admin alert for active shared connections

* update wizden config

* review
2024-07-25 01:50:32 +02:00
Pieter-Jan Briers 01ecd1d28b
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-07-25 00:38:40 +02:00
DrSmugleaf 8a1fe36766
Add cvar to disable round end pvs overrides (#29151) 2024-07-25 00:18:11 +02:00
DrSmugleaf 7e0cad960b
Add cvar to disable ghosting killing your crit mob (#28945)
* Add cvar to disable ghosting killing your crit mob

* Update Content.Shared/CCVar/CCVars.cs

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
2024-07-25 00:14:25 +02:00
AJCM-git 1feab1d091
Fixes client having authority over rules popup cvars (#28655)
* Fixes client having authority over rules popup cvars

* Delete duplicate migration

* Pre-update

* Post-update

(cherry picked from commit 63e0ee08cb50dbd937e11ab1e965b5f79aae134d)
2024-07-13 04:21:16 +02:00
Nemanja be014df4b7
Convert rules to use guidebook parsing (#28647)
(cherry picked from commit 1333b48747ae62c7b3ecb809b897201a24fe4441)
2024-07-13 04:18:15 +02:00
Hannah Giovanna Dawson 1e676e1e55
SS-28662 Add cvars to support forcing people to departures and making those at departures invincible (#28765)
* SS-28662 Add cvar to force spawn everyone at departures

This cvar means everyone must spawn at departures. This
could be handy for an admin event? But mostly it's so the
tutorial departures terminal can be seen by all newbies on
gateway servers.

* Small fix to ArrivalsSystem flow

* Remove incorrect todo

* Add godmode arrivals cvar
2024-07-05 20:32:35 +02:00
Partmedia 0662237bac
Update PA admin warnings (#28911)
With singulo fixed, PA strength 3 and below (level 2) are now safe.
Update the admin logging to reflect this.
2024-07-05 20:27:06 +02:00
Hannah Giovanna Dawson 3a50288e50
Panic Bunker uses minutes not hours (#28805)
* Panic Bunker uses minutes not hours

* Fixing an instance of hours
2024-07-05 20:24:14 +02:00
Hannah Giovanna Dawson 1cee444776
SS14-28662 Add Baby Jail: a Jail for Babies (inverse panic bunker) (#28763) 2024-07-05 20:23:37 +02:00
Leon Friedrich b45a42f353
Add JobRequirementOverride prototypes (#28607)
* Add JobRequirementOverride prototypes

* a

* invert if

* Add override that takes in prototypes directly
2024-06-08 20:30:16 +02:00
Kevin Zheng 67c27e351e
Add CVar to disable pow3r parallel processing (#28488)
* Add CVar to disable pow3r parallel processing

* Cache CVar value

* Fix pointyhat

* Move all CVar-ing to Content.Server
2024-06-08 20:16:21 +02:00
DrSmugleaf eed9c58386
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 18:02:43 +02:00
Kevin Zheng a6e4fd4c7a
Tune spacing speed to fix under-pressure lockout (#28370) 2024-06-01 17:19:28 +02:00
basic pack a1191c1150
Lowers restart round vote's minimum players dead percentage. (#27470) 2024-06-01 17:19:06 +02:00
Джексон Миссиссиппи d579a7110a
Make some CCVars server-change only (#28079)
* | CVar.SERVER

* Ooh ee ooh aah aah ting tang walla walla bing bang
2024-05-18 14:00:26 +02:00
DrSmugleaf b4a765bc00
Fix shuttle cvars comments (#27923)
* Fix shuttle cvars comments

* Add another line to ftl mass limit
2024-05-18 13:52:32 +02:00
DrSmugleaf c9e717ed48
Make FTL constants in ShuttleSystem into cvars (#27706)
* Make FTL constants in ShuttleSystem into cvars

* Fix tests
2024-05-18 13:52:25 +02:00
Ed c0d1c43003
New event: Approaching unknown shuttle (#24490)
* setup codebase

* Add first shuttle

* tak

* sync striker

* sync 2

* pipipi

* Preloaded roundstart shuttles!

* Make it abstract "PreloaderGrid" not "PreloaderShuttle"

* to do

* added china cuisin shuttle

* fixes

* add disaster evacpod

* remove enemy

* final shuttles

* weight 5 -> 10

* move data to component

* remove autotrailer touching

* doc, respath

* fix frozen positioning

* fixes + cvar

* finally

* fix evacpod

* remove blacklistrules

* remove `UnknownShuttleSpawnRule`, refactor `LoadMapRule` to support preloaded grids

* use tryload

* cleanup

* fixes

* use preloadedgrid for loneops

* weight unknown shuttles differently (preliminal)

* leftover

* cleanup and raffling

* partial review

* singleton gridpreloader no station coupling

* fix grid atmoses

* `roleLoadout` support for `LoadoutComponent`, fix missing gear

* weighting changes

* init logic fix

---------

Co-authored-by: Kara <lunarautomaton6@gmail.com>
2024-05-18 13:51:30 +02:00
Nemanja 3055d7bac5
Mega Antag Refactor (#25786)
* 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
2024-05-15 19:48:32 +02:00
DrSmugleaf 6cb352d9ad
Add explosion.can_create_vacuum cvar (#27548) 2024-05-07 04:12:45 +02:00
SlamBamActionman c2fddecc73
Tippy, the helpful hint clown! (#26767)
* Tippy is BACK

* Clean up clippy from aprils fools

* Changed names from clippy to tippy, added localization, removed local_clippy command, made it easier to target a specific player

* Rename clippy.yml to tippy.yml

---------

Co-authored-by: Kara <lunarautomaton6@gmail.com>
2024-05-07 02:18:43 +02:00
Pgriha 17cdb45d44
More characters slots! (#27361)
Add more character slots

(cherry picked from commit ef7d85d28523b4a2fbffd334d1c96da77f94e497)
2024-05-03 00:25:02 +02:00
nikthechampiongr aafca1efc8
Make banpanel defaults use cvars (#27168)
* Make banpanel respect CCVars. Add CCVars for default ip/hwid/use last
details checkboxes.

* Move severity handling for server/role ban to another function

* Save sawmill

* Line goofyness

---------

Co-authored-by: Vasilis <vasilis@pikachu.systems>
(cherry picked from commit f96f92f54fe169d2e3a21356e07dfa50eca8b5d9)
2024-04-21 23:34:53 +02:00
deathride58 13af11e3db
Adds the option to fit the viewport to vertical screenspace (#27061)
* Adds the option to fit your viewport to your vertical screenspace

* fixes documentation

* Removes commented-out leftover

* Hides the viewport width slider and also we dont know if the viewport width causing stretching/squishing was a bug present before but we fixed that while we were at it

* Removes commented out leftovers

(cherry picked from commit 396c6133664de50f8d85133b3680292fa1b95be0)
2024-04-21 23:32:41 +02:00
Leon Friedrich 817b4b0e93
Add evac shuttle test. (#27152)
* Add evac shuttle test.

* Fix typo in comment

(cherry picked from commit 12bb476a2d9df67babf961efe2856c561b6d6248)
2024-04-21 23:22:04 +02:00
Ed 2e94a349fc
Selective cherrypick: Rotate and Offset station CCVar nuke (#26175)
* no content

* add noRot to Europa

* bruh. and this

* yay

* fix
2024-04-21 22:00:27 +02:00
Pieter-Jan Briers 4c7c6f28be
Game server admin API (#26880)
* Reapply "Game server api" (#26871)

This reverts commit 3aee19792391cbfb06edb65d6f16f77da0f36f13.

* Rewrite 75% of the code it's good now

(cherry picked from commit 9d0dfcf2b9fa1b6ba54b3aa26a3f41982b945323)
2024-04-21 21:58:13 +02:00
Pieter-Jan Briers e984da8467
Revert "Game server api" (#26871)
Revert "Game server api (#24015)"

This reverts commit 297853929b7b3859760dcdda95e21888672ce8e1.

(cherry picked from commit 3aee19792391cbfb06edb65d6f16f77da0f36f13)
2024-04-21 21:48:02 +02:00
Simon ad65e75624
Game server api (#24015)
* Revert "Revert "Game server api (#23129)""

* Review pt.1

* Reviews pt.2

* Reviews pt. 3

* Reviews pt. 4

(cherry picked from commit 297853929b7b3859760dcdda95e21888672ce8e1)
2024-04-21 21:47:56 +02:00
TsjipTsjip 06f48a60fb
CCVars.cs: Minor inconsistency fixes. (#26744)
Update CCVars.cs

* Fixes one file format inconsistency.
* Adds missing </summary> closing tag.

(cherry picked from commit 3817133d926c8b8c9a17f75420c8dc7ec34b6102)
2024-04-07 14:35:10 +02:00
Aexxie b28c3a5da3
OOC Patron Color Toggle (#26653)
* Adds the option for you to toggle your OOC Patron color visibility to yourself and others.

* Makes the button magically disappear if you arent a patron

(cherry picked from commit 7ced9d42f0351319b20828115cad0abd274e4577)
2024-04-07 14:33:45 +02:00
Sk1tch f269ccc099
Added chat window transparency slider to options (#24990)
* Adds a new slider to the misc tab in options that lets the player set chat window transparency

* Tweaked variable names

* Fixed order to match UI

* Renamed set chat window transparency function

* Changed and refactored to opacity instead of transparency

* Remove unnecessary int to float conversions

Slider used to be 0-100 while the CCVar was 0.0-1.0f. This is confusing and was only used for rounding to 2 decimal points.

* Round the value to two decimal points

* Remove rounding for now

* Rename

* Unhardcode chat color by moving to stylesheet

* Fix indent

* Make opacity slider only change opacity

---------

Co-authored-by: Your Name <you@example.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
(cherry picked from commit bc31c193c25b297179e0de2bf54c2623fbeeebe0)
2024-04-07 14:28:59 +02:00
DEATHB4DEFEAT 758540ffc9
Admin New Player Notification Sound (#24327)
play a sound to active admins when a new player joins

(cherry picked from commit b9db06ebb1af41f2809f6c31dc4990b6a729d041)
2024-03-27 18:28:29 +01:00
Pieter-Jan Briers 17c1a5a7fa
Throttle people trying to connect to a full server. (#20972)
* Throttle people trying to connect to a full server.

To reduce spam/load on the server and connection logs table.

Players are forced to wait 30 seconds after getting denied for "server full", before they can try connecting again.

This code is an absolute nightmare mess. I tried to re-use the existing code for the redial timer but god everything here sucks so much.

Requires https://github.com/space-wizards/RobustToolbox/pull/4487

* Use new NetDisconnectMessage API instead.

* Add admin.bypass_max_players CVar.

Just something to help with debugging the player cap on dev, I don't expect this to ever be disabled on real servers.

(cherry picked from commit 0ecc5e8c96c235af265ab747d7345b363f94b1e4)
2024-03-17 15:07:14 +01:00
Nemanja 8950fd6a0f
Add a toggle for colorblind friendly progress bar colors (#25318)
* Add a toggle for progress bar colors

* yeah this thing

* PJB review

* optimization

(cherry picked from commit f3f4616c49317898aeeff304160b0b50df9ee851)
2024-03-17 14:46:26 +01:00
DrSmugleaf 56dd39497a
Make the round end sound collection a cvar (#25741)
* Make the round end sound collection a cvar

* Fix comment

* Clarity

(cherry picked from commit 30ccde0a47f65d0f6b0641f5bf92d95650c4fb87)
2024-03-07 01:13:37 +01:00
Rainfey b9d2f5a409
Refactor antag rule code (#23445)
* Initial Pass, Rev, Thief

* Zombie initial pass

* Rebase, Traitor

* Nukeops, More overloads

* Revert RevolutionaryRuleComponent

* Use TryRoundStartAttempt, Rewrite nukie spawning

* Comments, Add task scheduler to GameRuleSystem

* Zombie initial testing done

* Sort methods, rework GameRuleTask

* Add CCVar, Initial testing continues

* Might as well get rid of the obsolete logging

* Oops, i dont know how to log apparently

* Suggested formatting fixes

* Suggested changes

* Fix merge issues

* Minor optimisation

* Allowed thief to choose other antags

* Review changes

* Spawn items on floor first, then inserting

* minor tweaks

* Shift as much as possible to ProtoId<>

* Remove unneeded

* Add exclusive antag attribute

* Fix merge issues

* Minor formatting fix

* Convert to struct

* Cleanup

* Review cleanup (need to test a lot)

* Some fixes, (mostly) tested

* oop

* Pass tests (for real)

---------

Co-authored-by: Rainfall <rainfey0+git@gmail.com>
Co-authored-by: AJCM <AJCM@tutanota.com>

(cherry picked from commit 4e6c59cfe51211064d79a727cc2d37c2a2f55a2c)
2024-03-07 01:06:59 +01:00
Pieter-Jan Briers 905bb83a2d
Make department / job list sorting consistent. (#25486)
* Make department / job list sorting consistent.

This makes late join, crew manifest and character profile all apply consistent sorting for jobs and departments.

We use the already-defined weights for departments (so command, then sec, then station specific, then just sort by prototype ID). Jobs also use weight (so heads are always at the top) then prototype ID, then character name (for manifest).

Removed the crewmanifest.ordering CVar as doing it via prototype weight is just easier, and that CVar was already a mess anyways.

* Fix jittery job icons in lists.

They were set to KeepCentered in TextureRect. This has issues because the allocated space is actually an odd number of pixels, so it tries to position the draw at a half pixel offset.

Now, yes, fixing this in TextureRect would make much more sense, but get off my back. (Ok seriously we need better helper functions for doing that in the engine. Don't wanna deal with that right now and I already have this patch made.)

Instead I'm just gonna fix the issue by using VerticalAlignment in all these places instead which ends up doing exactly the same thing YIPPEE.

Also gave a margin next to the icon on the crew manifest. Margins people!

(cherry picked from commit 715794dd414c5d4b794cd6f2201983ecbc5d4f17)
2024-03-05 09:49:19 +01:00
Pieter-Jan Briers 837272c745
Fix admin notes and database time nonsense. (#25280)
God bloody christ. There's like three layers of shit here.

So firstly, apparently we were still using Npgsql.EnableLegacyTimestampBehavior. This means that time values (which are stored UTC in the database) were converted to local time when read out. This meant they were passed around as kind Local to clients (instead of UTC in the case of SQLite). That's easy enough to fix just turn off the flag and fix the couple spots we're passing a local DateTime ez.

Oh but it turns out there's a DIFFERENT problem with SQLite: See SQLite we definitely store the DateTimes as UTC, but when Microsoft.Data.Sqlite reads them it reads them as Kind Unspecified instead of Utc.

Why are these so bad? Because the admin notes system passes DateTime instances from EF Core straight to the rest of the game code. And that means it's a PAIN IN THE ASS to run the necessary conversions to fix the DateTime instances. GOD DAMNIT now I have to make a whole new set of "Record" entities so we avoid leaking the EF Core model entities. WAAAAAAA.

Fixes #19897

(cherry picked from commit 2e6eaa45c57c7f5ba561d1fb1ef6712d2432a8fa)
2024-02-21 04:03:44 +01:00
Pieter-Jan Briers 5da6086a02
Add new "OptionsVisualizer" (#25128)
This is a visualizer somewhat similar to the Generic. It allows configuring appearance info based on specific CVars the user has set. This allows YAML to easily configure alternatives for accessibility CVars like reduced motion.

(cherry picked from commit 1ce21553152199e3d97a8d02c11922fb8db5fd52)
2024-02-18 23:39:23 +01:00
Vasilis 09393bcd29
Made ghost.role_time a server modifiable only cvar (#25292)
Fix

(cherry picked from commit 7e44c50d19b84facce7563d534344a5197d294eb)
2024-02-18 23:16:45 +01:00
SlamBamActionman 6991618a45
Add option for character name colors in chat & move coloration to clientside (#24625)
* Adds option to disable character names in chat/speechbubbles

* Moved the coloring of names to clientside

* Move string functions to SharedChatSystem to avoid duplicate code in SpeechBubble.cs

* Changed to be put under Accessibility section

* Cache CVar

(cherry picked from commit 247be5b5c770261544f4e468ea09422efb0f7028)
2024-02-18 22:52:19 +01:00
Psychpsyo 3c2f10a9c0
Screen Shake Intensity Slider in Accessibility Settings (#24749)
* Reduced motion toggle disables screen shake

* Actually, screen shake is its own slider instead

* Cache screen shake intensity cvar

(cherry picked from commit ba0ca39a7ad5ceef2ae0582e13be5044e6f0a5f7)
2024-02-08 12:27:11 +01:00
Repo f016a076c2
Fix aHelp relay to detect AFK Admins (#24482)
* Add AFK detection for aHelp relay and admin specific afk time.

* Correct query to new refactor

* Change AFK timeout to 10min or else Pancake closes my PR 😭

* It wasnt a bug it was a feature, way less aHelps that way.

* aHelp Colors arn't real!

* Update Content.Shared/CCVar/CCVars.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 00841217062ba60d38320dfd2b93288548bb4201)
2024-02-08 12:22:51 +01:00
Kot 937989ca35
Add chat.max_announcement_length cvar (#23571)
* Add announce message length to UI and make a cvar for it

* Update comm console server-side trim to use the cvar

* Rely on the new OnTextChanged event

Because OnKeyBindUp only works for keys that have binds

* Add a similar indicator to nukies' war declaration UI

* Remove message length indicators for now cuz it requires the engine update

* Rename cvar slightly

* Refactor duplicated code to a helper method

* Remove message trimming from *Window class as it's better to live in the BoundUserInterface where the other message handling happens

* Rename to chat.max_announcement_length

(cherry picked from commit 8c5898b0065cd2cf196c0383bc99c57c0f11795b)
2024-01-27 23:40:23 +01:00