Commit Graph

3758 Commits

Author SHA1 Message Date
James Simonson d5c65dd4d6
Vending UI facelift (#25377)
* Convert to fancy window + added footer + add list spacing

* margin add

(cherry picked from commit 99aa72e30d)
2024-02-21 03:58:07 +01:00
Tayrtahn 292b92c039
Add support for metamorphic fill levels (#25022)
* Added support for fill levels to metamorphic glasses

* Fix warnings and cleanup

* Don't break non-metamorphic fills!

(cherry picked from commit e74f3019f7)
2024-02-21 03:58:06 +01:00
Debug 2717706994
Make loadacts more user friendly (#864)
Allow loadacts to take a file
2024-02-19 22:58:14 +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 1ce2155315)
2024-02-18 23:39:23 +01:00
MilenVolf cb0fdb47d1
LockVisualizer (#25224)
* LockVisualizer

* Fix state

* Clean some code

* Make it component, fix tests fail

* Fix for StateUnlocked

Now it is possible to manually set the unlocked state and it will work!

* Optimize LockVisualizer, add check for unlocked state

* No todo I guess

(cherry picked from commit c7870882f6)
2024-02-18 23:27:28 +01:00
themias c459072d8a
Allow t-ray to penetrate carpets and puddles (#25276)
* Allow t-ray to penetrate carpets and puddles

* handle edge cases

(cherry picked from commit d7eb3b1c5c)
2024-02-18 23:24:54 +01:00
Debug 3889a3a14d
Fix changelog 2024-02-18 23:23:34 +01:00
metalgearsloth 0d8558335b
Re-organise main menu screen (#25173)
- The dummy control of 2px size has annoyed me for almost 5 years.
- Why is it in the top-right.
- Why is the server address not labelled.

(cherry picked from commit 1a438e644f)
2024-02-18 23:18:57 +01:00
Golinth 5273ce7e77
Kill Seperated Mindshield Icons (#25303)
* Unghettoify mindshield icons

Adds support for layers in status icons, through the StatusIconLayer enum and the new "layer" datafield. Defaults to the Base layer where functionally remains unchanged.

* TG icon for shield

probably better than the shitty one I made in paint

* forgor meta.json

I forgor

* Emo review

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
(cherry picked from commit bced73f676)
2024-02-18 23:17:51 +01:00
Pieter-Jan Briers 1031a93942
Predict Injector (syringes), cleanup (#25235)
At least the mode/transfer amount logic. Actual transfer logic needs Bloodstream which I didn't wanna move into shared.

(cherry picked from commit 6d8be538c9)
2024-02-18 23:11:33 +01:00
Guilherme Ornel 88f4ca25a2
Fax machines can print from text file (#23262)
* added

* checks tweaking

* fixed what sloth wanted

* fixed?

* dialog diposing fix

* checks tweaking

* more changes

* dispose streamreader

* Update Content.Client/Fax/UI/FaxBoundUi.cs

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

* Update Content.Server/Fax/FaxSystem.cs

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

* fix minor typo

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
(cherry picked from commit ff92025026)
2024-02-18 23:03:53 +01:00
James Simonson 1083aeb8e1
Microwave UX enhancements (#24547)
* Facelift Microwave UI

Includes new background light in UI, Uses predictive input, UI now properly disables buttons when microwave is active

* Microwave now shows Elapsed time

* Fixed bad formatting

* Added new term for "BottomMargin"

* Change yellow color

* Update StyleNano.cs

just spacing fixed

* Cook time countdown now detached from server

Instead of the server constantly sending out messages for the cook countdown, it is now predicted client side using TimeSpan

* Update MicrowaveMenu.xaml

forgot to re-add item space

(cherry picked from commit 25f73f6406)
2024-02-18 23:03:05 +01:00
Pieter-Jan Briers ccea85136b
Random spontaneous cleanup PR (#25131)
* Use new Subs.CVar helper

Removes manual config OnValueChanged calls, removes need to remember to manually unsubscribe.

This both reduces boilerplate and fixes many issues where subscriptions weren't removed on entity system shutdown.

* Fix a bunch of warnings

* More warning fixes

* Use new DateTime serializer to get rid of ISerializationHooks in changelog code.

* Get rid of some more ISerializationHooks for enums

* And a little more

* Apply suggestions from code review

Co-authored-by: 0x6273 <0x40@keemail.me>

---------

Co-authored-by: 0x6273 <0x40@keemail.me>
(cherry picked from commit 68ce53ae17)
2024-02-18 23:02:29 +01:00
PoorMansDreams 9461cd2ab4
Fixed Tipped ammo not being Spent (#25167)
Fix Tipped Ammo not being Spent

(cherry picked from commit e40318b831)
2024-02-18 23:01:40 +01:00
metalgearsloth cb97e156cb
Fix decal error spam (#25172)
(cherry picked from commit 4cec0821e4)
2024-02-18 23:01:15 +01:00
deltanedas 76129f4349
make linking logic gates 1000% better (#25041)
* make door status use SendSignal

* LastSignals and logic, add ClearSignal api too

* make everything outputting a logic signal default to false

* refactor ops

* :trollface:

* :trollface:

* protoid for LastSignals

* oop

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit f41ece37c3)
2024-02-18 22:55:58 +01:00
Krunklehorn bb71b4f15b
Fix pointing arrow trajectory (#25061)
Initial commit

(cherry picked from commit 16b56c7f45)
2024-02-18 22:55:56 +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 247be5b5c7)
2024-02-18 22:52:19 +01:00
metalgearsloth 9e366f3119
Predict two-way levers (#25043)
* Predict two-way levers

Annoys me the rare occasions I touch cargo. Doesn't predict the signal but at least the lever responds immediately.

* space

* a

(cherry picked from commit 05a2ddff1c)
2024-02-18 22:46:26 +01:00
metalgearsloth 464e4d4b60
Fix screenspace popups (#24987)
* Fix screenspace popups

Never got around to it earlier but need to draw it above UI controls.

* Minor null change

(cherry picked from commit 560ea9775a)
2024-02-18 22:43:01 +01:00
Nemanja 1efd153b83
prevent opening debug menus without perms (#25091)
prevent people without permissions from opening the tile, entityspawn, or decal menus

(cherry picked from commit 2293f46bca)
2024-02-18 22:38:55 +01:00
Sk1tch 510d06eac6
Alphabetically sorted guidebook entries (#24963)
* - Renamed GetSortedRootEntries to GetSortedEntries and added child sorting logic
- Removed unessesary Tree.SetAllExpanded(true) call in RepopulateTree

* Adding back deleted setallexpanded call to check if test passes

---------

Co-authored-by: Your Name <you@example.com>
(cherry picked from commit 3b2921a3cc)
2024-02-18 22:36:04 +01:00
Debug 330e0e37d9
*Properly* fix salvage strings (#840)
Me when the maps
2024-02-17 01:48:04 +01:00
Fluffiest Floofers a98b4ebaaa
Vulpkanin's Deuteranopia (#837)
* Everyone loves dog vision

Updated to match the the harpy code

* change locale name
2024-02-15 18:27:23 +01:00
VMSolidus 1f3128c6ea
Harpy Visual Rework (#677)
* It begins

* Delete error.txt

* Patch by Debug

* HIDING WINGS NOW WORKS

* Runs smoother from Shared

* Delete HarpyVisualsSystem.cs

* The entire clientside script is no longer needed, and the visuals now work correctly. Helmetbug is gone.

* Update HarpyVisualsSystem.cs

* First completed Harpy Hardsuit

* Captain and Atmos tech birdsuits

* Update hardsuit-helmets.yml

* And more content

* Adding new finch tail <3

* whoops

* guh

* I swear the tail works now, I just need the adhd meds to kick in

* birb juggsuit

* More stuff

* Nukie hardsuits

* fixing clipping issues on birb juggsuit

* Update meta.json

* aaaaaaaaa

* two more

* Ton of extra harpy sprites

* Create equipped-INNERCLOTHING-harpy.png

* Harpy Ultravision trait

TODO: Optional trait that disables it

* Trait that removes Ultravision

* Code optimizations

* Adding hueshift maps to all harpy markings

* No more jumpsuits

* 1984 the harpy jumpsuits, they are no longer needed

* last 2

* final QA pass

* shennanigans related to an earlier merge conflict

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
2024-02-12 22:25:02 +00:00
Debug d8df4327ec
Fix PseudoItems (#821)
* Fix PseudoItem

* Add pain

* Cancel attack events
2024-02-12 21:52:49 +01:00
Debug e1337f7f5e
Update patreon list (#807) 2024-02-09 16:51:32 +00:00
Rainfey ecf9634e0c
Make Health Analysers UI continuously update (#22449)
(cherry picked from commit 4129c77a5b)
2024-02-08 12:39:55 +01:00
Kot 7863210fdf
Update log probe UI for better looking (#24966)
(cherry picked from commit 2ba1bd22dc)
2024-02-08 12:37:48 +01:00
deltanedas b45675731d
move criminal records console component to shared (#24957)
* move criminal records console component to shared

* todone

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 9b1c88b78b)
2024-02-08 12:37:47 +01:00
deltanedas 965e1cae57
criminal records revival (#22510)
(cherry picked from commit 683591ab04)
2024-02-08 12:37:29 +01:00
metalgearsloth c639a4efbb
Predicted movement opening lockers (#24937)
Relay wasn't really networked properly and this annoys me.

EntityStorage is still pretty skrunkly but this fixes the main issue I think.

(cherry picked from commit 042feae2e9)
2024-02-08 12:36:12 +01:00
keronshb 2675d7bd06
Adds a refund button & action upgrades for stores (#24518)
* adds refunds to stores

* Adds method to check for starting map

* comments, datafields, some requested changes

* turns event into ref event

* Adds datafields

* Switches to entity terminating event

* Changes store entity to be nullable and checks if store is terminating to remove reference.

* Tryadd instead of containskey

* Adds a refund disable method, disables refund on bought ent container changes if not an action

* Removes datafield specification

* Readds missing using statement

* Removes unused using statements

* What the heck is listing data

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit 257909fd97)
2024-02-08 12:36:06 +01:00
Jezithyr 070af36c57
Emergency revert for pulling (#24923)
Revert "Pulling rework (#20906)"

This reverts commit 0d8254b2a2.

(cherry picked from commit c15b0691ec)
2024-02-08 12:34:47 +01:00
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 09daa534bd)
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 d01d75073c)
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 0d8254b2a2)
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 2e7d23674e)
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 ba0ca39a7a)
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 606c5a8c8b)
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 c49c78bafa)
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 9cd6e4dccd)
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 467e983ba9)
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 8b19b7fab9)
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 6b03aaaec7)
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 e212b10ca2)
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 1862f8aa17)
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 ed0f2aa221)
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 ca54709186)
2024-02-08 12:10:55 +01:00
Kot 08840a5539
Fix SSD indicator (#24589)
Fix ssd indicator

(cherry picked from commit fed43f05d0)
2024-02-08 12:10:34 +01:00