Commit Graph

272 Commits

Author SHA1 Message Date
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
Repo
13d79489a9 Restart votes check player count and ghost levels (#23453)
* Restarts have max player count

* Now counts ingame ghosts to determine if restart can be called

* consistant cvar name

* Added a player count with state conditional

(cherry picked from commit 7bf62f1d1904b591580b17b2b5079f0dfe769e4b)
2024-01-26 23:07:50 +01:00
Nemanja
e624317d37 Cryogenic Sleep Units (#24096)
* Cryogenic sleep units

* pause map support

* no more body deletion

* Cryogenic Storage Units

* boowomp

* no more emag, no more dropping present people

(cherry picked from commit 736b9dd7df6e35f07fed88686c7c863ac61af846)
2024-01-26 22:51:41 +01:00
Vasilis
d62eb3a2b8 Cvar to allow whitelisted players to bypass panic bunker (#23885)
Among us

(cherry picked from commit 22c0b4425d7a955fd995d3b1b3f777cefe3884c8)
2024-01-26 22:37:39 +01:00
DrSmugleaf
9f4fa43635 Revert "Game server api (#23129)" (#23672)
This reverts commit dfc8ea6aee85776dd1676df601ff8c22ea205a08.

(cherry picked from commit c05a458de23469d2210629cfd705ce2b9c494351)
2024-01-26 22:07:25 +01:00
Simon
3259264602 Game server api (#23129)
* Stuff

* Fix RoundStatus Action

* Rename stuff

* Also needs to run on the main thread

* minor stuff

* Move to not be an EntitySystem

* Part 1 of making this less shit

* Make some more stuff run on main thread

* Actor check, logging and remove token from log.

* Better log

* Change ActionKick to use Guid instead of username

* Fix build

* Bandaid fix for test fails

(cherry picked from commit dfc8ea6aee85776dd1676df601ff8c22ea205a08)
2024-01-26 22:04:36 +01:00
Vigers Ray
ea13b0382d Login tips (#22234)
* Init coomit

* meh

* okay

* Revert "okay"

This reverts commit bb638aa4baa8dbd0e285c3435aabf83171a4806a.

* enable-d

* Update Content.Client/Launcher/LauncherConnectingGui.xaml.cs

Co-authored-by: Kara <lunarautomaton6@gmail.com>

* review

---------

Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 5492cc5fd12dad0f387c1315f466c28bc75d2401)
2024-01-26 21:47:47 +01:00
LankLTE
e2134322ea add secret weight prototype cvar (#23564)
Add cvar

(cherry picked from commit 4c179d69e7f9195c0e4a417c6aac931dbd23e8e9)
2024-01-26 21:47:34 +01:00
LankLTE
a9198ae847 Add cvar to show new players in ahelp (#23265)
* Implement cvar

* Enable cvar on Wizden

(cherry picked from commit 01082c6c27cb30875e6c9a78a4d46d371b9bfa8e)
2024-01-26 21:36:22 +01:00
metalgearsloth
f128143d13 Salvage magnet revamp (#23119)
* Generic offering window

* More work

* weh

* Parity

* Progression meter

* magnet

* rona

* PG asteroid work

* code red

* Asteroid spawnings

* clams

* a

* Marker fixes

* More fixes

* Workings of biome asteroids

* A

* Fix this loading code

* a

* Fix masking

* weh

* Fixes

* Magnet claiming

* toe

* petogue

* magnet

* Bunch of fixes

* Fix default

* Fixes

* asteroids

* Fix offerings

* Localisation and a bunch of fixes

* a

* Fixes

* Preliminary draft

* Announcement fixes

* Fixes and bump spawn rate

* Fix asteroid spawns and UI

* More fixes

* Expeditions fix

* fix

* Gravity

* Fix announcement rounding

* a

* Offset tweak

* sus

* jankass

* Fix merge

(cherry picked from commit bf79acd127483d64f96dc23f2e64c74ceb84303d)
2024-01-26 21:35:22 +01:00
deathride58
6af522df55 Blindness rework - damaged eyes are now a stylized simulation of legal blindness (#23212)
* blindness rework - damaged eyes now simulate legal blindness

* hEY THATS FOR DEMONSTRATION PURPOSES ONLY AAA

* attributions

* makes eyeclosecomponent adminbus compatible

* useshader(null)

(cherry picked from commit aa6645c8e956be6abfffb58b43e67f479c45f962)
2024-01-26 21:27:55 +01:00
Kara
c2afab46b7 Remove ambient sound from lv/mv/pipes + up default ambience volume (#22536)
* Remove remaining ambientsound enabled overrides on maps

* Disable LV and MV ambience altogether

* hv enable default

* not necessary bc subfloor

* up default volume

* no pipe ambience

* pepis

(cherry picked from commit f9355c615188d06453a5f7e4520fa79c881c92ed)
2024-01-23 22:51:36 +01:00
LankLTE
c31dcc1bd7 add cvar for custom panic bunker reason (#23267)
Panic bunker cvar

(cherry picked from commit e76d8390bda61036030e618293533792b7e00c8d)
2024-01-23 22:50:28 +01:00
metalgearsloth
6cfbdc6a4e Add UI click sounds (#22410)
* Add UI click sounds

* tweaks

* Significant cleanup

* Audio options and numerous fixes

* Fix the remaining UI elements

* new click sound

---------

Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit 4023134cf0536d36dd1d685189e8b1ee6c004d81)
2024-01-22 20:59:16 +01:00
LankLTE
2d7b15e070 change the restart vote to have no effect with admins online (#22945)
* Change the vote and cvar

* Only denies successful votes

* Add comments because I'm a good coder, I swear

* I added a space to the first line of ccvars it's so over

(cherry picked from commit 82ddf451e6d70710a93d40aa1f5bbb7138333fb3)
2024-01-22 18:37:01 +01:00
Debug
18f0af1f68 Implement gridinv, proper (#703)
* Implement gridinv, 1500 squashed commits :elp:

* Me when

* Linter errors

* Fix katana belts
2024-01-21 19:58:28 +01:00
Simon
251ef693de CVar for custom name in client-side ahelp menu. (#22069)
* the grinch will ruin christmas

* comments here, comments there, comments should not be a thing :godo:

* Unsubscribe from CVar

* rename cvar to be clearer.

* Change switch to if statement.
2023-12-22 23:00:30 +01:00
Kara
276af8dc9b Explosion SFX juicing + higher persistence (#22544) 2023-12-16 20:31:21 +01:00
LankLTE
37e097f0e8 Relay custom votes to a webhook (#18561)
Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-12-16 20:24:33 +01:00
Kevin Zheng
a85bad56bc Fix heat capacity scaling (#22464)
* Correctly apply HeatScale

* Apply HeatScale on InitializeGases()

* Re-add conservative heat scaling and speedup
2023-12-16 20:19:56 +01:00
DrSmugleaf
41dc1299d5 Add ahelp bwoink sound cvar (#22439) 2023-12-16 20:16:24 +01:00
Kevin Zheng
bfbb9704b2 Turn off speedup and heat scaling to isolate bug (#22405) 2023-12-16 20:08:40 +01:00
Kevin Zheng
548b6f4368 Split up atmos speedup from heat scaling (#22372) 2023-12-16 19:58:19 +01:00
Kevin Zheng
b4802757c2 Add atmos time compression (#21954)
Add atmos.speedup which is effectively a atmos-only time compression
CVar. This adjusts heat capacities and transfer rates to effectively
globally speed up the time constants of atmos.

This allows faster response to heating/cooling changes and faster
cleanups (by buffing scrubbers, pumps, and everything else) that is
tunable through one global time compression CVar.

It also achieves this without any thermodynamic unsoundness.
2023-12-16 19:56:01 +01:00
Flareguy
936c267e89 Document why tile ripping was disabled upstream (#22315) 2023-12-16 19:52:49 +01:00
metalgearsloth
b99ebcf56b Turn arrivals into a planetmap (#21777) 2023-12-16 19:47:53 +01:00
Pieter-Jan Briers
33e3e8b321 High-latency DB testing stuff (#22282) 2023-12-16 19:39:24 +01:00
metalgearsloth
d864ad7de8 Make audio sliders use gain not volume (#21984) 2023-12-16 19:36:15 +01:00
deathride58
d5254d41bd Fancy speech bubbles - Names over speech bubbles, and 1:1 chat parity for emotes and LOOC! (#21999) 2023-12-16 19:16:53 +01:00
metalgearsloth
65922efc5b Disable artifact spam on roundend (#21970)
* Disable artifact spam on roundend

I think part of the issue was the enormous amount of logspam but at any rate this turns it off.

* Also this

* And these
2023-12-02 20:28:09 +01:00
Flareguy
a2893503d2 disables space wind and tile ripping cvars (#21847) 2023-12-02 20:20:16 +01:00
metalgearsloth
b1ee2d48ff Unrevert audio (#21330)
Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
2023-12-02 20:16:36 +01:00
Pieter-Jan Briers
72d87072df Basic rate limiting for chat messages (#21907) 2023-12-02 19:06:09 +01:00
metalgearsloth
6bcc8599c1 Wrap gateway generator in cvar for dev (#21758) 2023-12-02 19:01:56 +01:00
metalgearsloth
2911a74c4a Bump expedition timer to 11mins (#21635)
We've had it at like, 18, 12, and 7, I think 7 is too low and 18 is definitely too high.

Ideally:
- 2 minutes to get inside
- 7 or so minutes inside.
- 2 minutes as a buffer to either fulton themselves out or run out if necessary.
2023-11-19 22:05:10 +01:00
Vasilis
698b2a9749 LOOC will appear on top of your head (#21514)
* Oh well

* Minor fixing up

* HOLY BINGLE I DID IT

* TOGGLE!
2023-11-12 20:51:28 +01:00
Keiku
fb9123885c Add checkbox for toggle walking (#20926)
Co-authored-by: onoira <onoira@psiko.zone>
LGTM!
2023-10-20 15:30:21 +02:00
DrSmugleaf
d72f54bada Add panic bunker UI and automatic panic bunker (#20954) 2023-10-14 22:19:02 +02:00
Debug
f4791df9f2 Update default cvars (#144)
* Update cvars

* Add default configs

* Update CCVars.cs
2023-10-09 18:00:31 -05:00
PHCodes
93c3b03b11 Psionics (#44)
* Psionics

It's a ton of stuff relating to the basic Psionics system and all the powers.

I'm saving this as a bit of a sanity check before moving forward.

Left to do:
1. Implementing the Psionic faction so that the chat works as intended.
2. Adding the start-state cooldown timers to the actions.

* Cleaned up everything with the word 'Psionic' on it.

Got the psionic chat working. Got some other stuff working

* Some final psionic cleanup.

The last batch of content.

* Update RobustToolbox

* rebased

* Revert "Update RobustToolbox"

This reverts commit c0cf35d03f828f6ccfeb05fcffd91cf074818fc9.

* Update RobustToolbox

* Revert "Update RobustToolbox"

This reverts commit c4dc828df7912e063ea856b2a83a790bc88d1e09.

* Update RobustToolbox

* Psionics

It's a ton of stuff relating to the basic Psionics system and all the powers.

I'm saving this as a bit of a sanity check before moving forward.

Left to do:
1. Implementing the Psionic faction so that the chat works as intended.
2. Adding the start-state cooldown timers to the actions.

* Cleaned up everything with the word 'Psionic' on it.

Got the psionic chat working. Got some other stuff working

* Some final psionic cleanup.

The last batch of content.

* rebased

* Cleaned up everything with the word 'Psionic' on it.

Got the psionic chat working. Got some other stuff working

* Broken Commit

With these changes in place, the unit does not work. Recording them so i don't lose my work.

* Brings it All Together.

Dawn of the final Commit. Rebase completed.

* Update RobustToolbox

* Changed 'Station Events' to 'StationEvents' and cleaned up the Delta-V Events.yml file of duplicate events.

* Delete ghost_roles.yml

Duplicate.

* Update familiars.yml

* Update familiars.yml

* Update GlimmerReactiveSystem.cs

* Makes tinfoil hats craftable.

* Decided I'm not dealing with adding fugitives or Glimmer Wisps right now.

* Psionic invisibility won't work now that Eye component exists. Or at least, the integrator test won't psas.

* Update special.yml

* Added #nyanotrasen code or //Nyanotrasen code to many, many files.

* Properly fixes comments.

---------

Signed-off-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
Signed-off-by: PHCodes <47927305+PHCodes@users.noreply.github.com>
Co-authored-by: Debug <sidneymaatman@gmail.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
2023-10-08 20:07:53 +02:00
metalgearsloth
b1c988627a Expeditions rework (#18960) 2023-09-27 21:59:12 +02:00