Commit Graph

3724 Commits

Author SHA1 Message Date
nikthechampiongr
c3629bc043 Fix end of round messages looping forever (#24920)
* Fix End of Round messages looping forever and ever and ever

* Use the correct setting for round restart sounds

(cherry picked from commit 09daa534bd32d4784b6dd88ac6877607efec17b8)
2024-02-08 12:32:25 +01:00
Krunklehorn
c12dacd966 Travelling pointing arrows, brains can no longer point (#24864)
* Decoupled from gravity, constant animation time, manual networking, cubic interpolation

* Reduced overshoot

* Implemented PointAttemptEvent, reacts with mobstate & sleeping

* Brains can no longer point, PBs must be inside a chassis

* Removed chassis check, made callback more obvious

(cherry picked from commit d01d75073cc4179ca5e34cacccd2ca6387e2bf99)
2024-02-08 12:32:04 +01:00
metalgearsloth
7e7655b3c4 Pulling rework (#20906)
* Pulling rework

Fixing up the FOUR systems managing pulling, all the shitcode, and also making it nicer ingame.

* More pulling cleanup

* stats

* More cleanup

* First draft

* More pulling

* weh

* Fix puller

* Pulling working

* Fix merge

* Dunked

* Self-merge time

(cherry picked from commit 0d8254b2a2891f8d5623c9878bd0e567d0c7fe3c)
2024-02-08 12:31:57 +01:00
Hannah Giovanna Dawson
29e65fd324 Actually fix round restart audio this time (#24754)
In which I'm a goober and don't clean up after
myself and accientally don't fix the issue I tried
to fix in my last round restart PR.

The audio is now maintained just like music during
restarts (yippee to ContentAudioSystem::OnRoundRestart)

This needs a refactor but at least the defect is fixed now.

(cherry picked from commit 2e7d23674ed315aa3cd36e5a744008900474c3fd)
2024-02-08 12:31:24 +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
metalgearsloth
b6a3448108 Make popups nullable (#24802)
This standardises it with audio and whatever. Me when I sprinkle nullchecks everywhere.

Was 50/50 on making new non-nullable methods but figured it would bloat too hard and you can't access strings by .Value anyway.

(cherry picked from commit 606c5a8c8b1005de62c33d5de888f67a8eae0ccc)
2024-02-08 12:26:32 +01:00
deltanedas
0b0de4eb50 spray painter rework (#23287)
* refactor and add Department to PaintableAirlock, move it to server dir since its in namespace

* add departments to doors, cleanup

* add style -> departments mapping

* AirlockDepartmentsPrototype

* update shared spray stuff to have department

* name file the same as the class name

* department optional

* refactor spray painter system + send department

* fixy

* client

* no need to rewrite ActivateableUi

* pro ops

* the reckoning

* hiss

* .

* :trollface:

* add standard atmos colors to palette

* Update Content.Shared/SprayPainter/SharedSprayPainterSystem.cs

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit c49c78bafaddc3ed69714eaf41920e1565dbd292)
2024-02-08 12:25:35 +01:00
Magnus Larsen
e0a3cfacea Fix clientside storage Whitelists (#24063)
* Fix outdated component name in assaultbelt whitelist

RangedMagazine was replaced with BallisticAmmoProvider in the Gun
refactor (#8301)

* Move FlashOnTrigger, SmokeOnTrigger, Flash components to Shared

* Move LightReplacerComponent to Shared

* Move Utensil, Mousetrap components to Shared

* Move SprayPainterComponent to Shared

The PaintableAirlock tag has also been removed, as it was unused &
unnecessary, likely a vestige of spray painter development when the
PaintableAirlock component wasn't in Content.Shared.

* Add trivial Produce and Seed components to Client

This allows the plant bag and botanical belt whitelists to correctly
match produce and seeds on the client, fixing the extraneous "Can't
insert" message that previously appeared.

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 9cd6e4dccdfaa7e273417e3c94d66b5171c7d841)
2024-02-08 12:22:58 +01:00
Aexxie
16d77d483e Move grenade components to shared (#22691)
* Moves FlashComponent.cs, FlashOnTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared

* Moves ExplodeOnTriggerComponent.cs, OnUseTimerTriggerComponent.cs, ActiveTimerTriggerComponent.cs, and SmokeOnTriggerComponent.cs to Shared

* Delete .run/Content Server+Client.run.xml

HOW DID THIS GET IN HERE ITS NOT AHHHH

* Update Content.Client/Explosion/SmokeOnTriggerSystem.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/Components/ActiveTimerTriggerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/Components/OnUseTimerTriggerComponent.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/EntitySystems/SharedTriggerSystem.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>

* Update ExplodeOnTriggerComponent.cs

* Revert "Delete .run/Content Server+Client.run.xml"

This reverts commit 29ee05f57de60eab5c92158d8eba5e3acba483c2.

* Fix?

* cannot figure out how to get this to go back please forgive

* Fixes a network issue

* leftovers

* Fixes

---------

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 467e983ba972a7ae749c95448febd19c7c285514)
2024-02-08 12:22:56 +01:00
nikthechampiongr
639d3af97a Rev Components are no longer leaked + Rev and Zombie icon visibility to ghosts is now controlled by a cvar (#22194)
* Initial work on having the Rev icons not be visible to ghosts depending on a Cvar and a component.

This commit just makes it so that the revcomponent and headrev component
are not shared with clients that shouldn't know about them. This is due
to the concern that clients having access to those components, even if
no image was displayed could allow modified clients to have meta
knowledge of revs.

Currently this has the issue that if a player later
for example becomes a rev, none of the existing rev components get
networked to them. I am not sure there is currently an effecient
solution to this.

This is probably in an issue for a lot more stuff. I might just make it
so all the logic just moves to the client on whether to put the icon
again.

Also this commit adds the ShowRevIconsComponent to allow anyone with it to just
view rev icons.

* Rev components now get communicated to clients that didn't have them previously and the AntagIconSystem is now properly checking whether to give the icons.

We now dirty all the rev/headrev components when someone gets converted
or gets the ViewRevIcons component. The AntagIconSystem now checks
whether it should draw the icons mostly based on an event, this is still done
client side.

This is not a full proof solution to make it so clients can't know
someone is an antag when they shouldn't because:
1. There are other components that need similar treatment, to my
   knowledge not to for revs but for other antags. Maybe even the mind
   component. This could be addressed in future PRs.
2. We cannot ensure that clients forget about these components if the
   client gets deconverted for example. We can of course have code that
   does this, but it will necessarily need to be done on the client and
   if the client is modified then there is no way to ensure this.
   Of course at that point they should already know who their fellow
   revs are so this might not be an issue.

I now need to do the same thing for zombies in a future commit.
A similar system for nukies also needs to be looked at but I will not be
doing that in the PR this commit ends up in.

* Misc name changes and cleaning up the ZombieSystem

Changed some names around and decoupled the ZombieSystem from the
AntagStatusIconsystem. Now there is a cvar for ghost visibility for them
as well. The Zombie Component was not made SessionSpecific because:
1. Zombies are pretty visible anyways
2. The Component is needed to change the appearance of zombie players.

* Misc name changes and cleaning up the ZombieSystem

Changed some names around and decoupled the ZombieSystem from the
AntagStatusIconsystem. Now there is a cvar for ghost visibility for them
as well. The Zombie Component was not made SessionSpecific because:
1. Zombies are pretty visible anyways
2. The Component is needed to change the appearance of zombie players.

* Merged 2 if statements into 1 on the Zombiesystem.

* Cut down on code duplication in AntagStatusIconSystem

Now instead of having a seperate function for each component, there is 1 generic function. Functions for special cases
like the Rev/Headrev comp can have a separate function that does the special check and then calls the generic one.
This is done through the IAntagStatusIconComponent interface which provides a common interface to get the Icon.

* Removed some duplication from the SharedRevolutionarySystem with generics.

I have no idea why I didn't think of this sooner.

* Addressed Reviews I think

I think events get unsubbed automatically but I am probably missing something that I have not understood.
Either way this is a requested change.

* Replace war crimes with actual fixes for reviews

It was not clear to me what the reviews meant

* Addressed reviews by removing need for cvars.

Whether icons are visible to ghosts is now determined by a bool in IAntagStatusIcon which all antag components
with status icons should implement.

* Update Content.Shared/Revolutionary/SharedRevolutionarySystem.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 8b19b7fab9dd8fb115f65794d97a26ebb9aa1142)
2024-02-08 12:22:54 +01:00
deltanedas
215d861bb8 make dialog window not evil (#24677)
* add Placeholder and make default buttons flags consistent w old behaviour

* DialogWindow ops

* make QuickDialog use DialogWindow

* Update Content.Client/UserInterface/Controls/DialogWindow.xaml

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit 6b03aaaec78bd50c8f4730c9aa7d0f5cea76e782)
2024-02-08 12:21:02 +01:00
Kara
27895cd4d9 Open some windows non-centered to avoid covering the player (#24767)
(cherry picked from commit e212b10ca205b5a76c20a3daca4a13af435611c5)
2024-02-08 12:21:00 +01:00
SlamBamActionman
69b3d47a60 Visitor job (#23972)
* Adds Visitor role and ShowInIdCardConsole property

* Add visitor to Agent ID card

* Fixes yaml test

* Fixes based on feedback

* Fixes based on feedback

(cherry picked from commit 1862f8aa1745f147fa54428179e568c9298a9fda)
2024-02-08 12:17:35 +01:00
Krunklehorn
922407e2e8 Client customization late-join spawner priority for arrivals/cryostorage (#24586)
* Initial commit, requires server restart to take effect

* Exposes callbacks directly instead, takes effect immediately

* Cleaned up control flow, swapped cvar for client customization

* Switched to int, dictionary of callbacks, migration

* Update Content.Shared/Preferences/SpawnPriorityPreference.cs

* krunkle stan

---------

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

(cherry picked from commit ed0f2aa2213cc47b817476206a2dd0b4e7c176b1)
2024-02-08 12:16:20 +01:00
metalgearsloth
3d3bd4f4e0 Remove EntityUid from debug context menu (#24660)
- Probably confusing if you're not familiar with nentities
- if I need the clientside uid for debugging I can just open VV and it's immediately there on first page.

(cherry picked from commit ca5470918679d73a95404b08fc76d2be088a6876)
2024-02-08 12:10:55 +01:00
Kot
08840a5539 Fix SSD indicator (#24589)
Fix ssd indicator

(cherry picked from commit fed43f05d0e95d51e2426a80c7e8963d585c5521)
2024-02-08 12:10:34 +01:00
Pieter-Jan Briers
0d4eb24b26 Health analyzers now show if somebody is starving (#24789)
"why are they getting cold damage" THERE YOU GO

(cherry picked from commit c25ddfd638e2c50b541e5ebf8c2eda85778f3711)
2024-02-08 12:08:31 +01:00
metalgearsloth
4c7c904549 Remove vehicles (#24681)
* Remove wheelchairs

Vehicle code is dogwater and wheelchairs just keeps exposing edgecases. If someone wants it brought it back they can do vehicle refactor.

* Also this one

* Remove vehicles

* goodbye vehicles

* Remove this check

* sasd

* Cronch

* Add sprites back

* jani

(cherry picked from commit d2f20d8955a25a32aa5fb9b3631a41921b464cd4)
2024-02-08 12:06:49 +01:00
metalgearsloth
36e28ecfcf Firestarter fixes (#24647)
* Firestarter fixes

- Actually networks the action.
- Namespace fixes.

* No networky for you

(cherry picked from commit a6ea8b210db079d30823e7b4d8faa32aefa17582)
2024-02-08 12:04:52 +01:00
Nemanja
59b820aeff make lathe visuals not required (#24757)
(cherry picked from commit bd46d7cc8ab6ad92a4d5a7cdd12dd1ce8f6265e9)
2024-02-08 12:02:20 +01:00
Kara
609b0b7421 Throwing item scaling animation + recoil (#24724)
(cherry picked from commit ef55039560814a98517552bd58493fc89a2a4812)
2024-02-08 11:57:27 +01:00
Tayrtahn
c9a22474bc Fix welder status always being "not lit" (#24705)
* Fix not finding ItemToggleComponent

* Simplified

(cherry picked from commit e101d078fe2aa128428de6dc67c8bb31f94dc18e)
2024-02-08 11:56:57 +01:00
SpeltIncorrectyl
e390fd34bf Adds signal control to portable generators (#24157)
* added signal control to portable generators

* added documentation

* Discard changes to Content.Server/Radio/EntitySystems/HeadsetSystem.cs

* added DeviceNetworkComponent and WirelessNetworkConnectionComponent to generator prototype

* made GeneratorSignalControlComponent nicer

* implemented auto-revving

* added back necessary dependency

* can't send do-after event manually

* repeat now works with auto revving

* fixed

* removed vv

* stopping generating when it is revving now makes it stop revving

* Update Content.Shared/Power/Generator/ActiveGeneratorRevvingComponent.cs

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

* used resolve instead of TryComp

---------

Co-authored-by: Julian Giebel <juliangiebel@live.de>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit 5d2ddc0d8b313d80fbcecd6719c5048ec2aea3e7)
2024-02-08 11:56:22 +01:00
Julian Giebel
d805b82848 Implement basic emoji support (#24039)
* Implement basic font support

Add NotoEmoji font
Add emoji font to default font stacks

* Remove unneded change

* L

* Remove emoji font from default font stacks

(cherry picked from commit 94b43423b4ba3bac3325610a6699a9f6cd08653b)
2024-02-08 11:55:27 +01:00
themias
cd03dbac2b Add inhand fill visuals (#24495)
* Add inhand fill visuals

* oops

* remove unused import

(cherry picked from commit bd100344a2f9f845e2dceb8351d36f8af913a5f1)
2024-02-08 11:54:38 +01:00
Krunklehorn
9b50c87557 Health analyzers and cryopods also show temperature in Kelvin (#24643)
Health analyzers and cryopods also show temperature in kelvin

(cherry picked from commit f9c43567ea013fa5d68f21a9c83194583f10e1e3)
2024-02-08 11:52:36 +01:00
DrSmugleaf
5329280378 Add events for GunComponent values, muzzle flashes and cartridge spread (#24077)
* Add a modifier event for GunComponent values

* Add docs

* Add VV readwrite to modified values

* Add more docs

* More docs

* Add Gun parameter to GunRefreshModifiersEvent

* Add another event for handling cartridge spread

* Fix pneumatic speed

(cherry picked from commit 4e8b1fb0d3ef23c79ea3ca0cec05932de03601f5)
2024-02-08 11:52:29 +01:00
Kara
169a7cae2b Powered light sprite glows with color of their pointlight (#24612)
(cherry picked from commit 4ab69709fe38c93ea4617a21ca93c21a756b48d6)
2024-01-28 00:33:54 +01:00
avery
1075c2e999 Hallway textscreens (#24189)
* hallway screen refactor pending comms console support

* comms console broadcasts

* screen and timer localization

(cherry picked from commit 7e16ee0b55fdef2ce77b13cd72dbc00b63d776c4)
2024-01-28 00:33:40 +01:00
Kara
fca53c48d2 Default navmap to show departments (#24613)
(cherry picked from commit 34eb6914489a368dd85f1e3e8d2152c6e36d3ed5)
2024-01-28 00:33:35 +01:00
Guillaume E
1e519836da Keep reagent dispenser inventory ordered (#24304)
* Keep reagent dispenser inventory ordered

This way, reagents wont be "moving around" in the UI when juggling
jugs.

The reagent dispensers will also show what reagents their storage
slots contain if jugs are not labelled.

* Move sorting client-side

* Revert "Keep reagent dispenser inventory ordered"

This reverts commit 3a1fc2e36d593937d4ecc581ae5a617a273a9d1c.

(cherry picked from commit 4ee734951455da15eedaf766cee1f64b48959702)
2024-01-28 00:33:34 +01:00
Pieter-Jan Briers
942563e582 Make PACMANs a little better (#24604)
* PACMAN generators show network load/supply.

This gives more feedback to players that their PACMAN is properly connected and what the network status is (i.e. you don't have enough generators).

* Buff JRPACMAN to 8 kW.

Shifted all power values up by +3 kW.

They're frequently too weak to power even single rooms so they deserve a buff.

* Change unit format helpers number format.

Always displays one digit of precision. This avoids jumping around when a value is changing live.

(cherry picked from commit f855cb2b0065083447128778c31c2a93bcd70a6a)
2024-01-28 00:32:20 +01:00
Nemanja
fea640584d make newchat box more opaque (#24555)
(cherry picked from commit 6605b7ba5023c01f3ac590bfda089e0291bbb7f9)
2024-01-28 00:27:31 +01:00
Tayrtahn
4d5b3ba435 Holding the walk button no longer activates sprite movement state (#24455)
* Dancing is forbidden

* Suggested changes

(cherry picked from commit c1fd42202f35dcddbf2dc6215fcf462bf31e5ce3)
2024-01-27 23:51:45 +01:00
themias
a345a5a613 Fix bolt lights on open airlock (#24414)
(cherry picked from commit 79624b8c60c1a4b9b5cbf394bc4dc5011d774f4e)
2024-01-27 23:43:01 +01:00
metalgearsloth
95f72fdc1b Fix dock highlighting (#24369)
Nentity casualty

(cherry picked from commit 6ae64929ba2737da78baf07d6f78969fcdba66b2)
2024-01-27 23:40:30 +01:00
metalgearsloth
69d6935846 Bunch of revolver fixes (#19649)
* Bunch of revolver fixes

Some stuff wasn't working with prediction so this should fix all of it.

* a

* fix weh

* Also usedelay

(cherry picked from commit 9bb2781bfca68bde47ce52576cb894bb41ab6511)
2024-01-27 23:40:28 +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
metalgearsloth
2c40401765 Make radarcontrol use approx grids (#24360)
(cherry picked from commit fda8035a5ebdb0f04283d5e82b23837f9b74ac21)
2024-01-27 23:36:15 +01:00
Kot
f82d17ab3b Fix issue where round could reset all job priorities to high (#24340)
* Update job priorities when job requirements are getting updated

* Sort jobs by weight and then by the name

* Sort departments too

(cherry picked from commit 4f307a49be5796eaa7b02f5988a83ea04db95535)
2024-01-27 23:35:53 +01:00
metalgearsloth
3254acd8e7 Fix some test warnings (#24324)
Extracted from smug's pr.

(cherry picked from commit 4a13dbea76e8e6061274537c7063c6915429d38a)
2024-01-26 23:16:18 +01:00
metalgearsloth
d14497fcd7 Cargo fixes (#24318)
Wrong button.

(cherry picked from commit 87f324b6485266b97cdb6945a6416a733e069491)
2024-01-26 23:14:03 +01:00
Nemanja
47d24fc3e5 Fix cargo product groups (#24212)
(cherry picked from commit 21e77dffb00d631ea0e6a5c0ad55bed5dcbaa809)
2024-01-26 23:13:54 +01:00
Hannah Giovanna Dawson
0ce2cb5b29 Fixes round restart audio clipping (#24044)
* Fix round end audio clipping

* weh

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 5af1d0ea8b5a54cd1f1b48308176318032a457ea)
2024-01-26 23:13:43 +01:00
Nemanja
40f7e0b53e Lathe Categories (#24247)
* Lathe Categories

* serilog my beloathed

(cherry picked from commit 73e94dfa92e0afe3ad0decd1d7248d13fa4f208c)
2024-01-26 23:12:38 +01:00
iacore
2cd501fc6f Change the station map dot color to cyan (#24082)
Change the station map tracking dot color to cyan

Co-authored-by: iacore <noreply+gpg-stub@1a-insec.net>
(cherry picked from commit c35b9964c770714f5ba56fce827912cd33312fe6)
2024-01-26 23:07:49 +01:00
Kevin Zheng
1ab0ed77f6 Wrap objective briefing text (#24244)
(cherry picked from commit 0d53dad58ac5efc8d6cbd76a5e43eae7450ea25d)
2024-01-26 23:05:38 +01:00
Kot
efcaea8153 Fix entity menu grouping and sorting (#24243)
* Group entity menu by the displayed name instead of by the prototype

* Sort entity menu by the displayed name (with label) in current culture

(cherry picked from commit 9b97c7f2f215ec9862d8146e7db07ba03005a71f)
2024-01-26 23:05:35 +01:00
Kevin Zheng
9cc361921b Add limited-reagent dispensers (#23907)
* Add limited-reagent dispensers

* Add empty versions for all dispensers

* Fix lint

* Set initial window size so all buttons are visible

* Simplify logic, add parenthesis

* Use localized name for initial labels

* Adjust button style

* Avoid touching items before MapInit

* Remove pre-labeling

* Reduce diff

* Clean up YAML

* Fix test

* Really fix test

* Document

* Adjust based on review

* Add labels for obnoxiously long bottles

---------

Co-authored-by: AWF <you@example.com>
(cherry picked from commit 9394a262458df76d9c4156f147bed902e3feac75)
2024-01-26 23:03:30 +01:00
Kara
e1c1bbab39 Reagent grinder jittering (#24190)
* Reagent grinder jittering

* Fix jittering for offset sprites

(cherry picked from commit 1f92376579bb16480253c05125fccb1f88e18557)
2024-01-26 23:01:11 +01:00