Commit Graph

3923 Commits

Author SHA1 Message Date
metalgearsloth 23d2c4d924
Fix chat bubbles (#25643)
Dependencies got misused
2024-02-28 00:01:24 +11:00
Julian Giebel 0752acdc2c
News UI overhaul and PDA notifications (#19610) 2024-02-26 21:38:00 -04:00
TemporalOroboros f284b43ff6
Fixes obsolete Transform warnings in Content. (#25256)
* Fix TransformComponent.MapPosition warnings in Content.Client

* Fix TransformComponent.MapPosition warnings in Content.IntegrationTests

* Fix TransformComponent.MapPosition warnings in Content.Shared

* Fix TransformComponent.MapPosition warnings in Content.Server

* Fix TransformComponent.WorldPosition warnings in Content.Shared

* Fix TransformComponent.WorldPosition warnings in Content.Client
Excepts ClickableComponent b/c that needs to be ECS'd entirely later

* Fix TransformComponent.WorldPosition warnings in Content.Server

* Fix TransformComponent.WorldRotation warnings in Content.*

* Fix TransformComponent.MapPosition warnings I missed

* Fix TransformComponent.WorldMatrix warnings in Content.*

* Fix TransformComponent.InvWorldMatrix warnings in Content.*

* Fix TransformComponent.GetWorldPositionRotationMatrixWithInv warnings in Content.*

* Fix TransformComponent.GetWorldPositionRotationMatrix warnings in Content.*

* Fix TransformComponent.GetWorldPositionRotation warnings in Content.*

* Fix TransformComponent.Anchored.set warnings in Content.*

* Fix TransformComponent.Coordinates.set warnings in Content.*

* Fix TransformComponent.LocalPosition.set warnings in Content.*

* Fix TransformComponent.AttachToGridOrMap warnings in Content.*

* Fix TransformComponent.AttachParent warnings in Content.*

* Preempt TransformComponent.LocalRotation.set warnings in Content.Shared

* Preempt TransformComponent.LocalRotation.set warnings in Content.Client

* Preempt TransformComponent.LocalRotation.set warnings in Content.IntegrationTests

* Preempt TransformComponent.LocalRotation.set warnings in Content.Server

* Fix/Preempt the remaining obsolete TransformComponent properties/methods in Content.*

* ECS ClickableComponent

* Fix obsolete SharedTransformSystem methods in Content.*

* Fix ExplosionOverlay `SharedTransformSystem` dependency

* Maybe fix null eye position breaking tests

* MGS requested changes
2024-02-27 12:06:20 +11:00
Whisper ff65cb7b0c
Whisper bleed update v3 (#25434)
* Whisper bleed update v3

* missed a few

* Add bleeding message to health analyzer.

* Fix bleed notification not updating.

* Apparently this either doesnt exist
2024-02-26 16:26:46 -07:00
Plykiya dffd02adb1
Syringe UI cached updates (#25581)
Injector status UI cached values

Co-authored-by: Plykiya <plykiya@protonmail.com>
2024-02-26 17:17:56 +11:00
Pieter-Jan Briers 8d244f7b76
Character profile sanitization improvements (#25579)
Validate that job and antag prototypes can actually be set in character profiles, rather than just checking if the prototype exists.

Make preferences system just call existing validation code when loading prototype from database, instead of some hacked-together stuff.

Also I made the character profile validation logic take dependencies in via parameter because fuck resolves.
2024-02-26 13:36:38 +11:00
Krunklehorn 7d6e4b164d
Fix grid inventory pick/drop rotation (#25510)
OnPiecePressed
2024-02-25 18:24:21 -05:00
Tayrtahn 100ece2e20
Add a container display to dispenser UI (#25391)
* Implemented contents display for dispenser UI

* Update Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs

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

* Resolve the netent into a euid first

---------

Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
2024-02-26 00:03:22 +01:00
Vasilis 237d89cbfe
Fix centcom and other jobs with setPreference set to false showing up anyway (#25496)
* God dammit pjb

* Smol cleanup
2024-02-23 14:19:52 +01:00
metalgearsloth d8e5f5c24b
Optimise DecalOverlay (#25266)
ChunkSize is still 32 so doesn't cut down on heaps of decals atm though we avoid passing many decals to drawing with the coordinates bounds check now.
2024-02-23 18:12:23 +11:00
Pieter-Jan Briers 715794dd41
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!
2024-02-23 15:04:44 +11:00
Pieter-Jan Briers b1de6dd601
Switch project files to C# 12. (#25487)
Just unlocks new language features like primary constructors.
2024-02-23 15:02:59 +11:00
Tayrtahn 381bb9020a
Add prediction to Openable (#25477)
* Fix formatting problem with FullOpened

* Moved to Shared and networked

* Revert "Fix formatting problem with FullOpened"

This reverts commit f8353403da830a4402bdd457bcf24a2432a5f566.
2024-02-23 12:09:43 +11:00
Nemanja ce0a51fc29
Predict doors and airlocks (#25419)
* predict doors and airlocks

* prying, too

* ack

* eek
2024-02-23 10:01:31 +11:00
dffdff2423 a3c93b0bd7
Add option for admins to disable bwoink (#25008)
* Add option for admins to disable bwoink

In a vain attempt to get people to ahelp more, provide the possibility
for admins to not play the bwoink sound if they don't want to scare the
player.

* Add silent indicator to discord relay

* Use string interpolation
2024-02-20 23:52:03 -07:00
Golinth 79dc4e4d6f
Mindshield outline flashes, (#25409)
* Add animation support to status icons

Animated like any other entity. Change the png to have all frames, add delays in meta.json, and you're good to go.

* Dirty "fix" for the crashing.

Still have no idea why files cannot be read without changing their path in the yaml.

* Sloth review ig

I still have no idea why it wont work with /Textures/ missing as a prefix.
2024-02-20 17:26:48 -05:00
Pieter-Jan Briers 84d455b9f8
Fix PlayerListControl re-raising selection changed when repopulated. (#25412)
Now we just skip duplicate "item pressed" events from the ListContainer.

This caused the ahelp window to unfocus the message box after sending something. Flow is something like this: you send ahelp -> bwoink window refreshes player list due to new bwoink -> repopulated player list -> sent selection change -> repopulates right pane -> line edit gets unfocused.
2024-02-20 14:01:28 +01:00
Pieter-Jan Briers 74a31ac5f3
PlayerListControl fixes. (#25248)
* PlayerListControl fixes.

Fix a button being selected by default always, which then can't be selected properly for real. This affected multiple admin UIs.

This broke due to upstream RT changes but ButtonGroup was always kinda busted so whatever. Uses the new IsNoneSetAllowed to implement everything properly.

Also make sure the selected player STAYS selected when filtering the list and stuff.

Also this PlayerInfo record has been changed to only do equality on the User ID because otherwise it'd need to compare each field individually which would be weird.

* Revert changes to ListContainer

This change was made default in the engine, no longer necessary here.
2024-02-20 10:13:48 +01:00
Pieter-Jan Briers 2e6eaa45c5
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
2024-02-20 10:13:31 +01:00
Leon Friedrich bd4597c5ca
Fix action state handling bug (#25395)
* Rejig action state handling

* Fix entity arg

* Fix deserialization
2024-02-20 13:08:41 +11:00
James Simonson 99aa72e30d
Vending UI facelift (#25377)
* Convert to fancy window + added footer + add list spacing

* margin add
2024-02-19 15:18:26 -07:00
Tayrtahn e74f3019f7
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!
2024-02-19 14:29:42 -07:00
Pieter-Jan Briers 1ce2155315
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.
2024-02-17 15:52:11 -05:00
MilenVolf c7870882f6
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
2024-02-16 16:52:31 -07:00
themias d7eb3b1c5c
Allow t-ray to penetrate carpets and puddles (#25276)
* Allow t-ray to penetrate carpets and puddles

* handle edge cases
2024-02-16 16:37:56 -07:00
metalgearsloth 1a438e644f
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.
2024-02-16 13:55:42 -05:00
Golinth bced73f676
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>
2024-02-16 10:58:28 -05:00
Pieter-Jan Briers 6d8be538c9
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.
2024-02-14 16:05:01 -07:00
Guilherme Ornel ff92025026
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>
2024-02-14 12:14:51 +11:00
James Simonson 25f73f6406
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
2024-02-13 17:16:00 -05:00
Pieter-Jan Briers 68ce53ae17
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>
2024-02-13 16:48:39 -05:00
PoorMansDreams e40318b831
Fixed Tipped ammo not being Spent (#25167)
Fix Tipped Ammo not being Spent
2024-02-13 16:40:15 -05:00
metalgearsloth 4cec0821e4
Fix decal error spam (#25172) 2024-02-13 18:00:54 +11:00
deltanedas f41ece37c3
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>
2024-02-11 23:45:51 -07:00
Krunklehorn 16b56c7f45
Fix pointing arrow trajectory (#25061)
Initial commit
2024-02-11 23:45:09 -07:00
SlamBamActionman 247be5b5c7
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
2024-02-10 22:38:55 -08:00
metalgearsloth 05a2ddff1c
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
2024-02-11 14:19:45 +11:00
metalgearsloth 560ea9775a
Fix screenspace popups (#24987)
* Fix screenspace popups

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

* Minor null change
2024-02-10 00:51:11 -08:00
Nemanja 2293f46bca
prevent opening debug menus without perms (#25091)
prevent people without permissions from opening the tile, entityspawn, or decal menus
2024-02-10 19:00:52 +11:00
Sk1tch 3b2921a3cc
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>
2024-02-08 18:23:34 -05:00
Rainfey 4129c77a5b
Make Health Analysers UI continuously update (#22449) 2024-02-06 09:20:09 -04:00
Kot 2ba1bd22dc
Update log probe UI for better looking (#24966) 2024-02-05 08:51:45 -05:00
deltanedas 9b1c88b78b
move criminal records console component to shared (#24957)
* move criminal records console component to shared

* todone

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-02-05 23:55:39 +11:00
deltanedas 683591ab04
criminal records revival (#22510) 2024-02-04 19:29:35 -04:00
metalgearsloth 042feae2e9
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.
2024-02-04 13:23:16 +11:00
keronshb 257909fd97
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>
2024-02-04 11:48:51 +11:00
Jezithyr c15b0691ec
Emergency revert for pulling (#24923)
Revert "Pulling rework (#20906)"

This reverts commit 0d8254b2a2.
2024-02-03 10:32:30 -08:00
nikthechampiongr 09daa534bd
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
2024-02-04 03:43:50 +11:00
Krunklehorn d01d75073c
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
2024-02-03 19:09:20 +11:00
metalgearsloth 0d8254b2a2
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
2024-02-03 14:36:09 +11:00
Hannah Giovanna Dawson 2e7d23674e
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.
2024-02-03 13:11:53 +11:00
Psychpsyo ba0ca39a7a
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
2024-02-02 13:39:12 +01:00
metalgearsloth 606c5a8c8b
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.
2024-02-01 23:25:58 -05:00
deltanedas c49c78bafa
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>
2024-02-02 09:30:46 +11:00
Magnus Larsen 9cd6e4dccd
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>
2024-02-02 00:33:57 +11:00
Aexxie 467e983ba9
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>
2024-02-02 00:29:01 +11:00
nikthechampiongr 8b19b7fab9
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>
2024-02-02 00:08:03 +11:00
deltanedas 6b03aaaec7
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>
2024-02-01 23:56:40 +11:00
Kara e212b10ca2
Open some windows non-centered to avoid covering the player (#24767) 2024-02-01 23:49:48 +11:00
SlamBamActionman 1862f8aa17
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
2024-02-01 21:13:44 +11:00
Krunklehorn ed0f2aa221
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>
2024-02-01 21:12:09 +11:00
metalgearsloth ca54709186
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.
2024-02-01 19:36:08 +11:00
Kot fed43f05d0
Fix SSD indicator (#24589)
Fix ssd indicator
2024-02-01 19:30:07 +11:00
Pieter-Jan Briers c25ddfd638
Health analyzers now show if somebody is starving (#24789)
"why are they getting cold damage" THERE YOU GO
2024-02-01 17:28:17 +11:00
metalgearsloth d2f20d8955
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
2024-02-01 11:33:10 +11:00
metalgearsloth a6ea8b210d
Firestarter fixes (#24647)
* Firestarter fixes

- Actually networks the action.
- Namespace fixes.

* No networky for you
2024-02-01 00:01:52 +11:00
Nemanja bd46d7cc8a
make lathe visuals not required (#24757) 2024-01-31 13:50:40 +11:00
Kara ef55039560
Throwing item scaling animation + recoil (#24724) 2024-01-30 21:50:41 +11:00
Tayrtahn e101d078fe
Fix welder status always being "not lit" (#24705)
* Fix not finding ItemToggleComponent

* Simplified
2024-01-29 16:04:52 -07:00
SpeltIncorrectyl 5d2ddc0d8b
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>
2024-01-29 15:56:29 +01:00
Julian Giebel 94b43423b4
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
2024-01-29 15:32:13 +11:00
themias bd100344a2
Add inhand fill visuals (#24495)
* Add inhand fill visuals

* oops

* remove unused import
2024-01-28 20:38:06 -05:00
Krunklehorn f9c43567ea
Health analyzers and cryopods also show temperature in Kelvin (#24643)
Health analyzers and cryopods also show temperature in kelvin
2024-01-28 20:32:54 -05:00
DrSmugleaf 4e8b1fb0d3
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
2024-01-29 10:32:42 +11:00
Kara 4ab69709fe
Powered light sprite glows with color of their pointlight (#24612) 2024-01-27 09:43:45 -08:00
avery 7e16ee0b55
Hallway textscreens (#24189)
* hallway screen refactor pending comms console support

* comms console broadcasts

* screen and timer localization
2024-01-27 08:51:24 -05:00
Kara 34eb691448
Default navmap to show departments (#24613) 2024-01-27 04:08:50 -08:00
Guillaume E 4ee7349514
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.
2024-01-27 04:06:39 -08:00
Pieter-Jan Briers f855cb2b00
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.
2024-01-26 21:53:43 -05:00
Nemanja 6605b7ba50
make newchat box more opaque (#24555) 2024-01-25 08:17:48 -05:00
Tayrtahn c1fd42202f
Holding the walk button no longer activates sprite movement state (#24455)
* Dancing is forbidden

* Suggested changes
2024-01-24 12:26:45 +11:00
themias 79624b8c60
Fix bolt lights on open airlock (#24414) 2024-01-22 14:51:39 -07:00
metalgearsloth 6ae64929ba
Fix dock highlighting (#24369)
Nentity casualty
2024-01-21 23:14:47 +11:00
metalgearsloth 9bb2781bfc
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
2024-01-21 22:16:46 +11:00
Kot 8c5898b006
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
2024-01-21 20:14:01 +11:00
metalgearsloth fda8035a5e
Make radarcontrol use approx grids (#24360) 2024-01-21 18:15:12 +11:00
Kot 4f307a49be
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
2024-01-20 17:03:10 -05:00
metalgearsloth 4a13dbea76
Fix some test warnings (#24324)
Extracted from smug's pr.
2024-01-20 17:15:10 +11:00
metalgearsloth 87f324b648
Cargo fixes (#24318)
Wrong button.
2024-01-20 15:07:07 +11:00
Nemanja 21e77dffb0
Fix cargo product groups (#24212) 2024-01-20 14:47:08 +11:00
Hannah Giovanna Dawson 5af1d0ea8b
Fixes round restart audio clipping (#24044)
* Fix round end audio clipping

* weh

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-01-20 14:40:00 +11:00
Nemanja 73e94dfa92
Lathe Categories (#24247)
* Lathe Categories

* serilog my beloathed
2024-01-19 17:45:03 -07:00
iacore c35b9964c7
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>
2024-01-19 00:31:29 -05:00
metalgearsloth a7388e5c05
Add trade stations (#23863)
* puters

* Start on fulfillment

* weh

* Smol update

* FTL sound fixes or smth iunno

* Add consoles

* More tweaks

* Make it unanchorable

* final wehs

* weh

* Fix 1 test

* Shrimply bump the distance

* cat
2024-01-19 13:02:28 +11:00
Kevin Zheng 0d53dad58a
Wrap objective briefing text (#24244) 2024-01-19 09:25:40 +11:00
Kot 9b97c7f2f2
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
2024-01-19 09:18:53 +11:00
Kevin Zheng 9394a26245
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>
2024-01-17 16:43:48 -05:00
Kara 1f92376579
Reagent grinder jittering (#24190)
* Reagent grinder jittering

* Fix jittering for offset sprites
2024-01-17 06:14:32 -07:00
DrSmugleaf 8902701271
Move rotting stages and examine to shared (#24183) 2024-01-17 01:49:21 -08:00
LankLTE 44abe3e54d
Follow command and ahelp menu follow (#24142)
* Command & ahelp rename

* Reviews

* remove tpto
2024-01-16 17:26:14 -08:00
Kot ef70629702
Fix DragDropHelper not respecting the control.drag_dead_zone cvar (#24166)
Fix regression with the drag_dead_zone cvar not being used
2024-01-16 14:35:48 -08:00
Nemanja be8d0e69b6
fix medhud bounds with 64x64 inhands (#24102) 2024-01-14 23:54:08 -07:00
Nemanja 736b9dd7df
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
2024-01-14 23:35:28 -07:00
Psychpsyo a747e6dda4
Plates & Cash gridinv visuals (#24075) 2024-01-14 11:44:17 -05:00
Kot 620074ab0a
Fix admins unable to hide the coordinates debug monitor (#24084)
Allow admins to hide the coords monitor
2024-01-14 17:37:29 +01:00
AJCM-git 108f001731
Virtual items cleanup (#23912)
* Virtual items cleanup

* Detail

* Review

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-01-14 21:18:47 +11:00
Errant 40db236b82
Navmap UI enhancements (#23777)
* label scaling wip

* beacon toggle, cleanup

* weh

* caw

* Smooth scaling, almost-selectable font size, Magnification count, zoom scale accuracy change, opacity

* never asked for individual font sizes

* zoom

* format

* Fixes CrewMonitor and PowerMonitor using the default tile color as text background instead of their custom tile colors

* font customisation, needs UI elements

* Station map rightclick now works

* UI scale will keep the local systems in line

* adjusting font size to UI scale

* typo

* fix RT version

* putting cache back in its place

* toggle labels moved to Examine
2024-01-14 16:08:43 +11:00
deltanedas a558b112a1
better deconversion (#23315)
* add deconverted window

* show deconverted window when deconverting + remove the role

* webedit ops

* antagonist -> revolutionary

* evil

* oh

* eui ops

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-01-14 14:20:35 +11:00
DrSmugleaf 6a7f1b2f1f
Fix error when switching to a screen without an inventory gui widget (#24059) 2024-01-14 14:18:28 +11:00
Pieter-Jan Briers 8416fc746b
Quick dialog fixes (#24046)
Pressing "enter" on the last dialog box now confirms the dialog.

Localize.
2024-01-14 14:18:02 +11:00
Errant bda89918ff
Station Map window edges (#24024) 2024-01-13 16:04:45 +01:00
Pieter-Jan Briers 3a2cd95d7f
Fix solution editor UI (#24004)
Fixes #23645

The problem is that the solution editor UI is an EUI, so the UI updates before the game states are applied.

A correct fix would be to move it to a BUI in some way, but that's a little involved as we don't really have pre-existing code that uses BUIs in a manner good for this. I decided against this because I realized we'd want to have more tools similar to this and tbh I kinda figured integrating it with VV would be a better fix instead, so...

This is a bad workaround to manually synchronize the UI updates against game timing. It's not pretty but it works.
2024-01-13 15:52:42 +11:00
themias 023d541063
Fix mass-media console (#23994) 2024-01-12 15:27:33 -07:00
Pieter-Jan Briers a6c9c36b68
Dependency update / fixes / skrungle bungle (#23745)
* Give .props files 2-space indents.

* Move to Central Package Management.

Allows us to store NuGet package versions all in one place. Yay!

* Update NuGet packages and fix code for changes.

Notable:

Changes to ILVerify.
Npgsql doesn't need hacks for inet anymore, now we need hacks to make the old code work with this new reality.
NUnit's analyzers are already complaining and I didn't even update it to 4.x yet.
TerraFX changed to GetLastSystemError so error handling had to be changed.
Buncha APIs have more NRT annotations.

* Remove dotnet-eng NuGet package source.

I genuinely don't know what this was for, and Central Package Management starts throwing warnings about it, so YEET.

* Remove Robust.Physics project.

Never used.

* Remove erroneous NVorbis reference.

Should be VorbisPizza and otherwise wasn't used.

* Sandbox fixes

* Remove unused unit test package references.

Castle.Core and NUnit.ConsoleRunner.

* Update NUnit to 4.0.1

This requires replacing all the old assertion methods because they removed them 🥲

* Oh so that's what dotnet-eng was used for. Yeah ok that makes sense.

* Add Robust.Analyzers.Test

* Update submodule

* commit to re-run CI
2024-01-12 23:22:01 +01:00
Crotalus 668d0eca22
Added search bar to warp points (#23978) 2024-01-12 13:34:11 -07:00
metalgearsloth abc5094a16
NewsSystem fixes (#23969) 2024-01-12 01:04:55 -07:00
Pieter-Jan Briers e665c2487e
Use item status extension method (#23884)
Just removes some lines of code.
2024-01-11 19:14:13 -05:00
Nemanja 1886941da6
Add doors to the station map (#23639)
* Add doors to the navmap

* tweaksies

* gah

* draw primitive

* draw primitive? at least take me out to dinner first!

* Update Content.Client/Pinpointer/UI/NavMapControl.cs

* casualties

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-01-12 00:14:20 +11:00
metalgearsloth 1170121532
Fix objects tab not showing nents (#23837)
* Fix objects tab not showing nents

* Fix everything
2024-01-10 01:30:20 -07:00
metalgearsloth d7eb7b700c
Biome marker layer tweaks (#23663)
* Biome marker layer tweaks

- Ensure veins get spawned at great perf cost (it's time-sliced anyway).
- Bump asteroids from 6 nodes to 10 nodes.

* Fixes

* magnet

* Magnet dictates wreck spawn

* Update Content.Shared/Procedural/PostGeneration/BiomeMarkerLayerPostGen.cs

* mraow
2024-01-09 22:44:38 +11:00
metalgearsloth b22c9aa5e2
Fix storagecomp serialization (#23780)
* Fix storagecomp serialization

* Fix state
2024-01-09 03:47:51 -07:00
Nemanja 5db615af54
Autoattacking weapons (#23765)
auto attacks
2024-01-09 00:25:07 -07:00
user424242420 6913ebcf05
Add ability to copy data from pda (#23533)
* This commit add ability to copy station name and time to clipboard

* Add ability to copy name and profession. Fix style of code.

* fix

* Make copy by pressing on label

* Fix style code

---------

Co-authored-by: Ivan Rubinov <linuxkernelpatch8234@riseup.net>
2024-01-08 11:06:44 +01:00
I.K dc994f9c66
Improve visibility of gun bolts (#23711)
* add overlay

* ??????
2024-01-07 23:23:41 -07:00
DoutorWhite 31133ef788
Fix RoundStartTimeSpan not being networked on client-side after reconnecting (#23707)
Fix RoundStartTimeSpan state not being networked on reconnections
2024-01-07 19:30:10 -05:00
Nemanja a78e9a854e
Hellfire Thermomachines (#23543)
* hellfire thermomachines

* slight nerf? idk

* ilya review

* Improve clarity

* Update Content.Server/Atmos/Piping/Unary/EntitySystems/GasThermoMachineSystem.cs

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>

---------

Co-authored-by: Kevin Zheng <kevinz5000@gmail.com>
2024-01-07 08:55:22 -05:00
metalgearsloth bc07cbc97c
Fix audio fades (#23684)
Audio refactor casualty
2024-01-08 00:23:22 +11:00
Ed f0097d4963
Barber scissors fix (#22895)
* barber!

* 5% change to maintenance

* some fixes

* refactor some

* ElectroJR fix merge

* aoa

* remvoe humanoid

* Magic mirror cleanup

* Cleanup

* Bunch more fixes

* Fix nohair + range bugs

* Fixes

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-01-06 20:19:45 +11:00
mr-bo-jangles 412f3f470c
Set pAI up with a static map the pAI can use (#23499)
* Set pAI up with a trackless map

* Added a untracked map user interface class to support gps-less mapping
* Added to pAI by default, expect it to be  given to borgs as well in time.

As the personal AI is literally immobile as a ghost, it is useful to ensure that people carry one. With that idea in mind, it is worth giving the pAI a reason to be carried that doesn't depend on the player having a cracking selection of midi files on hand.

* Tried to use new ProtoId and have EntityUid on the client as commented by metalgearsloth

* Review

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-01-06 18:31:20 +11:00
Kara 0ae3858b69
Examine prediction (#23565)
* Initial prediction

* new group handling

* groups for all examines that use multiple rn

* compile

* why was it doing this??

* handle newlines with sorting properly
2024-01-06 17:53:13 +11:00
Vigers Ray 5492cc5fd1
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>
2024-01-06 17:06:49 +11:00
Hannah Giovanna Dawson a9075e5d24
Fix Round Restarted Announcements not playing (#23387)
* Fix Round Restarted Announcements not playing

Just make the RoundFlow manager play the funny
announcement sound effect, rather than pass it
through to players in an event that doesn't work.

Only three round end announcements probably
isn't enough. Maybe it is time for fresh memes.

* Remove the handling in ClientGameTicker.

* Pass in a specific filepass to broadcast.

* you make one line change in vscode and the linter
goes AH-HAH I CAN HELP YOU LET ME CLEAN
THIS UP and I'm like 😔 and have to revert
2024-01-06 14:15:28 +11:00
Kot 3d911a64c7
Fix atmos UI decimal separator bug (#23009)
* Fix atmos UI inconsistent culture usage

* Remove the need to pass localization manager
2024-01-04 21:18:09 -08:00
KISS 920d7068e5
Fixed client console flooding with warnings on RGB color slider changes (#21333)
added reparent bool for this kinds of unequips

Co-authored-by: Yurii Kis <yurii.kis@smartteksas.com>
2024-01-04 21:04:11 -08:00
Nemanja a2cdbda019
Flatpacker Tweaks (#23552)
* flatpacker nerf

* stuff
2024-01-04 21:01:24 -08:00
Leon Friedrich 663983bfc3
NetSyncEnabled fixes (#23553)
NetSyncEnabled  fixes
2024-01-05 15:11:26 +11:00
Mr. 27 31b1b6f0f4
fix pda pai ejection slot image (#23547)
14 loko
2024-01-04 17:56:29 -07:00
themias edd85a5d2d
fix use delay cooldown visual bug (#23532) 2024-01-04 13:13:38 -05:00
PrPleGoo eed663e8b4
Add health bar overlays for eye equipment (#21980)
* PR 1

* fix an error with health bar overlay (#1292)

* Revert "Revert "Replace `ResourcePath` with `ResPath` (#15308)" (#155… (#15566)

* [1612] change ShowHealthBarsComponent's DamageContainer field to a list (#1662)

* fix build

* no crit entities from not updating

* cleanup

* namespace

* undu irrelevant changes

* undo icon change

* make health bar 1 px taller and icon 1 px shorter

* fix medibot

* fix comment

* don't show health bar ratio when in crit

* fix build

* put the crit bar back

* don't render healthbars for mobs that are in containers

* draw more boxes without the background sprite

* fine status icon for all bio mobs

* add wacky mandatory things

* attempt 2

* whoops wrong file

* cool, this works too

* move null check to top

* only 1 init

* security huds

* remove shader

* fix build after cleanup

* slight cleanup

* little more cleanup

* Remove clothing grant component system

* security HUD now shows a job icon on entities with a body

* remove sec stuff and do similar changes to split off PR + remove unused comp

* process comments

* don't return

* update to ComponentAddedOverlaySystemBase

* no cache

* colors and not rendering out of sight

* touch ups

* fix build & cleanup

* undo

* remove shader from icons

* process comments

* documentation

* fix licence

* validate prototype id

* just use args

* rename method and append in method

* type

* just fucken delete the command

* space

* undo

* remove

* don't use LocalPlayer

* re-add showhealthbars command, but working

* rename icon lists and conform health icon code to the others

* space

* undo

* update command

* oops

---------

Co-authored-by: Rane <60792108+Elijahrane@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-01-04 11:48:57 -05:00
VMSolidus 84a2356831
Adding PAI Slot to PDA (#21086)
* Adding PAI Slot to PDA

* Update PdaComponent.cs

* Update pda.yml

* Update tags.yml

Sorting it alphabetically

* Adding PDA UI Elements.

* Addressing reviews

* Update PdaComponent.cs

* Update Content.Shared/PDA/SharedPdaSystem.cs

Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>

* Update Content.Shared/PDA/SharedPdaSystem.cs

Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>

* Update Resources/Prototypes/Entities/Objects/Devices/pda.yml

Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>

* Update PdaComponent.cs

* Update PdaComponent.cs

---------

Co-authored-by: faint <46868845+ficcialfaint@users.noreply.github.com>
2024-01-04 05:56:14 -07:00
LankLTE 01082c6c27
Add cvar to show new players in ahelp (#23265)
* Implement cvar

* Enable cvar on Wizden
2024-01-04 15:45:23 +11:00
SpeltIncorrectyl 082bde40ca
The Flatpacker 1001 can now make flatpacks for computers. (#23471)
* moved ComputerBoardComponent to Content.Shared

* made flatpacker accept computer boards

* made flatpack system and ui function with computer boards

* fixed it so that flatpacks of computers are correctly coloured to fit their computer board colour

* unhardcoded the computer flatpack assembly cost

* Combined GetFlatpackCreationCost(...) with GetflatpackCreationCostForComputer(...)

* removed code duplication in SharedFlatpackSystem

* removed code duplication from FlatpackCreatorMenu.xaml.cs

* remove code duplication from FlatpackSystem (on the server)

* fixed indentation error
2024-01-03 23:23:47 -05:00
metalgearsloth bf79acd127
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
2024-01-04 14:25:32 +11:00
Hannah Giovanna Dawson 1defdebd7b
Fix MIDI Loading Failing Whilst a MIDI is playing (#23339)
SS14-1148 Fix MIDI Loading Failing Whilst a MIDI is playing

The behaviour of the button event handling did some wonky
async handling that got PJB swearing repeatedly in the contributor
VC.

Improve switching MIDI songs by:

0. Add a bool that tracks if we're currently waiting for the MIDI file
browser to terminate. Use this bool to short-circuit the
MidiFileButtonOnPressed function, ensuring you don't have to close
a morbillion file windows if you spam-clicked the  button or forgot
you'd opened the window.
1. Remove a four-year-old hack involving waiting 100ms to load a MIDI
after trying to stop the last MIDI, because _the rot consumes_ or some shit
2024-01-04 13:19:22 +11:00
AJCM-git 9c522c8b19
UseDelay + ItemCooldown merge (#22502) 2024-01-03 21:33:09 -04:00
Nemanja 4662d463b8
Chill bounties + fixes (#23411)
* Chill bounties + fixes

* localize

* fix arbitage
2024-01-03 17:34:47 -07:00
deathride58 6901e930b5
Blindness hotfix (content side) (#23465)
* fixes major blindness issues like blindness not scaling with render res

* HEY. get outta there
2024-01-04 11:17:06 +11:00
PrPleGoo 0e306e7862
Client commands: clean up and localize (#22897)
* action commands

* atmos debug commands

* comming

* credits command

* debug commands

* usage

* usings

* debug pathfinding command

* grouping entity menu command

* hide mechanisms command

* commit

* mapping client side setup command

* open ahelp command

* set menu visibility command

* commit

* show mechanisms command

* toggle health overlay command

* toggle outline command

* stage

* disable once

* ioc

* namespaces

* WriteError

* clean up command usage

* don't abbriviate

* ActionsCommands

* AtmosDebugCommands

* the rest

* oops

* undo
2024-01-03 17:29:37 -05:00
deathride58 aa6645c8e9
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)
2024-01-03 01:07:02 -08:00
deathride58 1a531342c5
Glowy lights - light fixtures now actually glow (#23428)
* glowy lights - makes light fixtures actually physically glow when active

* serviced the lights

* ya sure
2024-01-03 19:46:11 +11:00
lzk abf6b9243f
Lil profile editor rearrange (#23305) 2024-01-03 18:41:53 +11:00
metalgearsloth 2166958bd0
AutoCompState + ItemToggle fixes (#23422)
* AutoCompState + ItemToggle fixes

Fix a lot of the comp states that are never actually networked and also cleaned up ItemToggle events a bunch. ItemToggle will still need some future work for lights and sounds.

* Also catch these
2024-01-03 17:24:02 +11:00
Nemanja 1c11332fa4
Flatpacks and the Flatpacker 1001 (#23338)
* Flatpacker and flatpacks

* ok that's good enough

* convert solars/AME to flatpacks

* mats, mats, we are the mats

* basic mechanics are DONE

* thing

* final UI

* sloth

* rped jumpscare

* rename
2024-01-03 17:16:02 +11:00
lzk a6cde8bbe9
Localize hand labeler ui header (#23320) 2024-01-01 03:41:43 -08:00
778b 60b0267390
Fixed airlock appearance bugs (#23300)
fixed airlock appearance bugs
2023-12-31 23:36:31 -08:00
Nemanja 2b01899d63
Make the material ejection control completely generic (#23308)
* Finish decoupling material ejection from lathes

* commented
2023-12-31 23:16:25 -08:00
Nemanja a425bc78c5
Fix chem guide data build fail (#23289) 2023-12-31 12:11:29 -05:00
Nemanja f538a2e34a
Add reagent sources to the guidebook (#22627)
* source in my guidebook

* finish it!

* sir yes sir oorah

* network that bitch, baby
2023-12-30 23:34:59 -08:00
DrSmugleaf 801829326a
Fix error when trying to delete a ExplosionVisualsTextureComponent.LightEntity that doesn't exist (#23253)
Fix error when trying to delete an already deleted ExplosionVisualsTextureComponent.LightEntity
2023-12-31 12:50:37 +11:00
Hannah Giovanna Dawson f850047341
Migrate Lathe Material Ejection Code to MaterialStorage (#23199)
* SS14-23184 Migrate Lathe Material Ejection Code to MaterialStorage

The lathe material ejection code acts as a do-nothing
man-in-the-middle system that does work that would be
reasonable for any MaterialStorage-using machine to
use. This has been fixed by migrating the ejection
code to MaterialStorage, allowing anything that uses
the system to eject mats it is storing.

* Fix some YAML references. Science!!
2023-12-30 20:08:33 -05:00
Guillaume E 4fe93cf456
Artifact analyzer now pauses on power-loss (#22974)
* Artifact analyzer now pauses on power-loss

Instead of just cancelling the current scan, the artifact analyzer
will now pause in case of power-loss.

Scanning will automatically resume when power returns.

* Improve artifact scanning pausing

This builds upon the latest improvements in artifact scanning
regarding UI update.
2023-12-30 12:49:24 -05:00
Kot 3d955677c5
Fix chat size cvar serialization (#23005) 2023-12-30 12:24:10 -05:00
metalgearsloth 9ce847a840
Fix decal draw-order (#22953)
* Fix decal draw-order

Using the new overlayspace ensures they don't draw above grids above them.

* a
2023-12-31 03:12:39 +11:00
TemporalOroboros d23c8d5c19
Revert 'Revert 'Solution Entities'' (#23168) 2023-12-29 08:47:43 -04:00
metalgearsloth 93e1af2f8d
Add click sound to verb execution (#23162)
IDK how I didn't notice this before.
2023-12-29 16:17:55 +11:00
metalgearsloth 4023134cf0
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>
2023-12-29 15:43:36 +11:00
Emisse 938d6d9945
Revert "Solution Entities" (#23160)
Revert "Solution Entities (#21916)"

This reverts commit d75e743dd7.
2023-12-28 20:45:42 -07:00
Leon Friedrich c2c76c2035
Try fix random explosion test failures (#23158) 2023-12-28 20:23:41 -07:00
TemporalOroboros d75e743dd7
Solution Entities (#21916)
* Creates Content.Shared.Chemistry.Solutions
Copies Solution class to new namespace
Obsoletes old Solution class

* Switches over to the Solutions.Solution Solution

* Creates Content.Shared.Chemistry.Containers
Copies relevant components/systems to the new namespace
Obsoletes old versions

* Switches over to the Containers.XYZ namespace

* Creates SolutionSystem and obsoletes old SolutionContainerSystem methods

* Start using SolutionSystem for Solution manipulation

* EnumerateSolutions

* Move TryGetMixableSolution

* Move EnsureSolution to Server

* Create Solution Entities

* Stop using obsolete solution system methods

* Fix prototype component tests

* Add using ..Audio.Systems; back

* Wrap solution container slots in ContainerSlots

* Actually add the slot to the solution container map

* Dirty SolutionContainerComponent when ensuring solutions

* Revert namespace changes

* Remerge SolutionSystem and SolutionContainerSystem

* SolutionContainerManagerComponent refactor

* Avoid wrapping necessary code in DebugTools.Assert as it is removed when compiling for release

* Readd examine reagent sorting

* Fix errors

* Poke tests

* Fix solution names not being applied

* Fix WoolyComponent including statement

* Fix merge skew

* Fix compile errors

* Make reactions use solntities

* Reindent solution class namespace

* Field attribute changes

* AutoGenerateComponentState for SolutionContainerComponent

* SolutionContainerComponent -> ContainedSolutionComponent

* ref ReactionAttemptEvent

* Denetwork preinit solutions

* Misc 1

* Nullable TryGetSolution out vars

* Cache associated solutions

* Fix merge skew

* Use explicit regions in SharedSolutionContainerSystem.Capabilities

* Add debug assert

* Use explicit regions in SharedSolutionContainerSystem.Relay + ref SolutionContainerChangedEvent

* ContainedSolutionComponent.Name -> ContainedSolutionComponent.ContainerName

* SolutionComponent doc comments

* Implicit DataField names and property purge

* ReagentEffect DataField names

* Local variables for readability

* Sort using statements + Entity<T> event handlers

* Fix compile erros

* Fix compile errors

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2023-12-28 17:58:14 -08:00
Nemanja a4d36d408d
Better hover coloring for inventory (#23148) 2023-12-29 12:46:51 +11:00
Tomás Alves 345b0e6305
Fix: Blindness radius when zooming (#23130)
* Fix Zoom while Blind

* Fix Zoom while Blind (ContentEyeComponent->EyeComponent)
2023-12-28 20:38:08 -05:00
Nemanja 99d78c4b97
Station beacons (#23136)
* Station beacons

* crate

* remove navmap from warp points

* ack

* oh damn

* okay emisser
2023-12-28 17:02:21 -07:00
TemporalOroboros 7a77d6d5dd
Content ecs containers (#22484) 2023-12-28 01:30:03 -04:00
Leon Friedrich 35ba42af9c
Add some tests and fix some miscellaneous bugs (#22836)
* Add some tests and fix some bugs

* Add more helper methods

* remove submodule

* fix merge

* also fix DirtyAll()

* poke
2023-12-28 10:05:20 +11:00
Leon Friedrich ae243007a8
Fix missing entities in round summary window (#23032) 2023-12-28 09:41:58 +11:00
Ed 166296b2c5
Thief hotfix (#22976)
* fixes!

* reduced collection amount

* omeeeeega

* pipup

* popup
2023-12-27 12:42:15 -08:00
Leon Friedrich cf98300ba2
Fix rotation visuals desync & appearance state spam (#23016)
* Fix rotation visuals desync

* :bucklemeup:

* A
2023-12-26 16:32:25 -07:00
Chief-Engineer 476ea14e8a
Add access logs (IC ones) (#17810) 2023-12-26 18:24:53 -04:00
Kara ab6726136f
Optimize artifact analyzer UI state sending (#22949)
* Remove n rename cruft old shit

* Artifact analyzer UI updating optimization

* Revert "Remove n rename cruft old shit"

This reverts commit 8789338fb20f77d79c5b0e40719896efe0103fcc.
2023-12-25 12:50:10 -08:00
metalgearsloth 9a40cf81f5
Add sprite movement states (#22940)
* Add sprite movement states

Did it for borgs for reference for future implementations.

* Fix

* Fix prediction issue

* review
2023-12-24 23:34:21 -08:00
Nemanja 00813171c1
Automatic holiday sprites (#22929) 2023-12-24 23:52:43 -07:00
Arimah Greene b20fcf5141
Add a 'Copy' button to the fax UI (#22027)
* Add a 'Copy' button to the fax UI

* Add ValidatePrototypeId attribute

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

---------

Co-authored-by: Kara <lunarautomaton6@gmail.com>
2023-12-24 17:08:15 -08:00
Ed 144af233c4
New Thief minor antagonist (#21520)
* start working

* add right-click thief antagins
some architecture restruct

* add meh thief greeting audio

* add thief subgamemode to Traitors gamemode

* add late join thief (not tested yet)
add briefing

* add pacifism

* add Steal tasks to thief

* fix crash thief+traitor on person

* add new condition: collection steal

* add tracking of succes collection objective

* add stamp collection target
remove some boring steal target
add check pulling entity to collection target

* finalize first 2 group objective

* start merging stealing objective systems

* merging

* finish merging. Now traitor steal objective work better

* we don't check the items of pullable sentient entity

* clear naming, enable thief signle item objective start

* objective pack add

* finish with steal item objectives

* convert string to ProtoId<>

* some clean up

* add thieves to revolution game mode

* Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl

Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>

* Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl

Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>

* update pacifism: fix crashing, monkey-thief without pacified

* adaptive animal briefing, cleaning locales

* add structure steal objectives

* remove RCD target

* add thiefs to manifest, but bug with traitor duplications

* add escape objective

* add chat briefing

* setup animal objective group system

* add animal steal objectives

* add animal objectives notroleconditions

* add morty

* now thief mode has a chance of not launching Now there are a random number of thieves per round from 1 to 3

* 6 hours of trying to fix duplicate tasks. Failure

* added thief pinpointer (buggy)

* start thief backpack UI work

* revert pinpointer for scope reason

* UI continue work

* add thief starter kits content

* remove ERP kit :trollface:

* finally! giving starting items to thief. Now it playable, but still need more work

* clean up

* fix

* fox

* add merged items into thief
new Starting Kit (buggy)

* fix YES antag menu

* objection tweaks

* remove hearts objective, working on spawning things from toolbox

* smug

* fixes

* add race specifier objective condition LAMPS

* meh

* fix fix fix

* the alive

* Adding stamps

* Update backpack.ftl

* Revert1

* Revert ftl

* add voice mask to communicator kit

* Update Resources/Locale/en-US/administration/antag.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/game-ticking/game-presets/preset-thief.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/objectives/conditions/steal.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/prototypes/roles/antags.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* Update Resources/Locale/en-US/thief/backpack.ftl

Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>

* update

* fix

* more reusable function, add documentation

* fix doc

* faint fixes

---------

Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
2023-12-24 02:58:28 -07:00
LordCarve 044f5e7c4e
Fixed PaperSystem bugs (#22896) 2023-12-24 19:58:00 +11:00
Nemanja 681f9a2c85
Ion law visuals (#22908) 2023-12-23 23:58:02 -07:00
Darkie a3fbab84e6
ItemToggle system expansion (#22369)
* Fixed EnergySword and variants having incorrect sound on attacking when in their Off state.

* Removed the unused ItemToggle from the serverside and created a new shared ItemToggleComponent and System, now used for the e-blade family of items. Also added e-blade hum and swing sounds. Thanks Sloth for the initial code!

* Changing Stunbaton system to include the itemToggle system.

* Adapted changes that have come up in the meantime.

* Changed damagespecifier to be serializable and autoNetworked in melee weapon components. Fixes a bug that makes it so client-side, damage values are not updated on toggle.

* Made the ItemToggleSystem have both a shared and a server component. Ported the Stun Baton and Stun Prod to the new toggleable system. Added a failure to activate noise component.

* Ported the welders to the new item toggle system. Set it so deactivated damage and item size default to the item's regular options.

* Removed unnecessary usings.

* Small modification to the stun prod.

* Made the integration test use the new method to turn the welders on.

* Fixed a few testing issues, applied a few changes requested by Delta.

* Updated Stunbaton code for consistentcy when it comes to calling the itemToggle component.

* Removed a redundant return; as per Delta.
Made examining the stun baton for charge rely on the battery component instead.

* Removed the welder visualizer system, now using the generic one. Removed some unused usings. Removed the welder visuals and layers.
Ported lighters to the new system.
Added zippi (sic) lighters.

* Renamed variables used to make them less generic.

* Simplified the light update code.

* Fixed the unit test to use the itemToggle system for welders now.

* Made the name shorter. I can't tell if the welding damage when interacted with actually does anything though. I can't figure out how to trigger it.

* Fixed some YML issues.

* Added a client side item toggle system just to make the shared code run on local UID's too.

* Fixed some more Yaml.

* Made the Zippi lighter have its own parent item, so it doesnt' conflict with the random pattern on the regular lighter.

* Made the zippi lighter its own in-hand sprites.

* Added a summary for the activated property in itemtoggle component.

* Fixed a typo in the itemToggle Component.

* Fixed a typo.

* Added to the remarks for the ItemToggleComponent.

* Fixed up the lighter yaml to make it use a generic term instead of a toggle layer enum for the random skin.

* Fixed a bug I introduced accidentally with the humming sound.

* Removed 2 unnecessary events from the ItemToggleSystem and component.

* Fixed a bug by only making the server run the item activation code, since the client cannot predict whether or not the activation will be cancelled.

* Cleaned up some names and functions getting called.

* Renamed a couple of variables and removed the explicit datafields from the component. Removed "activated: false" from yml since they're already deactivated by default.

* Added an IsActivated function, used it in the welder and stun baton systems code.
Refactored welder code to remove the WelderToggle event, now using the ItemToggleActivatedEvent instead for eye protection check.

* Fixed a typo. Added some comments.

* Split the ItemToggle into smaller components.
Changed the items that used the toggle system to work with the smaller components.
Made the mirror shield reflect energy shots with a 95% chance.

* Fixed the namespaces for the server components and whatnot.

* Fixed a doubled deactivation sound from using activated wieldable items (like the double Esword).
Fixed wrong yml with the e-dagger.
Fixed the disarm malus code.

* Added the zippo lighter to the detective's trench coat.

* Removed the default hit sound for the double e-sword since it was unnecessary.

* Changed e-sword damage numbers to be in line with the changes made by Emisse.

* Made no damage sounds be autoNetworked, so it changes can be changed on activation/deactivation of items.
Made Welders and Eswords sound like themselves but quieter if they hit for 0 damage, instead of taps.
You can choose what sound to play when a weapon does 0 damage when activated now.
Fixed a bug with swing sounds.

* Typo.

* Fixed a bug where the welder would blind you if you used it while it was off.

* Created a single abstract method called when an item has completed its toggle.

* Update Content.Server/Eye/Blinding/EyeProtection/EyeProtectionSystem.cs

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

* Fixed a comment.

* Made most component variables readOnly for ItemToggle. There is no need to be able to change them from within the variable viewer.

* Removed trailing white spaces.

* Made the Use a field instead of a property in the itemToggleActivation/Deactivation attempt events.

* Small fixes.

* Removed ForceToggle, just use the toggle method instead.

* Fixed a bug with item sharpness staying even after getting deactivated, if the item gained sharpness that way (esword).

* Used ProtoId in the welder component.

* Made damage NetSerializable as well.

* Added networking and data fields to a couple of components.

* Made component variables autonetworked. Added some comments.

* Moved the events that modify item components on toggle to events, handled (where possible) in the systems linked to said components.

* Made all the component variables readWrite again.

* Added the component get to the WelderStatus.

* Added a predictable bool to the item toggle component.

* Replaced the Activated/Deactivated events with ToggleDone, with an Activated argument. Used that to simplify some systems.

* Added a reflect update raise event.

* Removed the Zippo changes. To add in a later PR.

* Removed the zippo from meta.json too.

* Small fix.

* Another small fix.

* Fixed the wieldable system thing in ItemToggle.

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-12-24 17:11:05 +11:00
chromiumboy 1de682e23f
Power monitoring console overhaul (#20927)
* Prototyping whole station wire map

* More prototyping

* Added icons for the different power distributors and toggleable cable displays

* Power cable layouts are now only sent to the client when the power monitor is open

* UI prototyping

* Power monitors can now see the sprites of distant entities, long entity names are truncated

* Updated how network devices are added to the player's PVS

* More feature prototypes

* Added source / load symbols

* Final prototype! Time to actually code it properly...

* Start of code clean up

* Continuing code clean up

* Fixed UI appearance

* Code clean up complete

* Removed unnecessary changes

* Updated how power values are calculated, added UI warnings for power sinks and power net checks

* Updated how power values are calculated again, added support for portable generators

* Removed unnecessary files

* Map beacons start toggled off, console map now works outside the station, fixed substation icon

* Made some of Sloth's requested changes. Power distributors don't blink anymore, unless selected

* Moved a number of static variables in PowerMonitoringHelper to sensible places in the main files. Added a NavMapTrackableComponent so that you can specify how individual entities appear on the navmap

* Updated the colors/positions of HV cables and SMESes to improve contrast

* Fixed SMES color in map legend

* Partially fixed auto-scrolling on device selection, made sublists alphabetical

* Changed how auto-scroll is handled

* Changed the font color of the console warning messages

* Reduced the font size of beacon labels

* Added the station name to the console

* Organized references

* Removed unwanted changes to RobustToolbox

* Fix merge conflict

* Fix merge conflict, maybe

* Fix merge conflict

* Updated outdated reference

* Fixed portable_generator.yml

* Implemented a number of requested changes, move bit masks to a shared component

* Navigate listings via the navmap

* First attempt at improving efficiency

* Second attempt at optimization, entity grouping added for solar panels

* Finished solar panel entity joining

* Finished major revisions, code clean up needed

* Finializing optimizations

* Made requested changes

* Bug fix, removed obsolete code

* Bug fixes

* Bug fixes

* STarted revisions

* Further revisions

* More revision

* Finalizing revisions. Need to make RT PR

* Code tidying

* More code tidying

* Trying to avoid merge conflicts

* Trying to avoid merge conflicts

* Removed use of PVS

* Improving efficiency

* Addressed a bunch of outstanding issues

* Clear old data on console refresh

* UI adjustments

* Made node comparison more robust. More devices can be combined into one entry

* Added missing component 'dirty'
2023-12-24 17:07:41 +11:00
Nemanja 06a663d3ab
Move HUD options to general options tab (#22884) 2023-12-22 23:32:56 -07:00
Nemanja 9b18357a88
Corner Clothing UI (#22883)
* Corner clothing (save point)

* IT WORKS. YIPPEE

* the last of it

* template rejigs
2023-12-22 23:32:23 -07:00
LordCarve 7d69055291
Use different chatbox placeholder when dependent keys unbound (#22747) 2023-12-22 11:39:29 -08:00
Leon Friedrich b6bd82caa6
Use ECS prototype-reload events (#22613)
* Use ECS prototype-reload events

* better constructors

* Maybe this fixes tests?
2023-12-23 01:13:45 +11:00
Ed 5a1e317e0f
It's time to build a barbershop! (#22565)
* barber!

* 5% change to maintenance
2023-12-22 02:54:00 -07:00
chromiumboy 09c48c710b
Fixed issue with the station map UI (#22848)
Fixed issue with dragging the nav map in the station map UI
2023-12-22 18:15:51 +11:00
Leon Friedrich 0b803e5f8d
Try fix invalid entities in device networks (#22845)
* Try fix invalid entities in device networks

* more fixes

* a

* fix device merging
2023-12-21 21:18:40 -07:00
Kara ee0c3c4a69
Fix glorfcode for real (#22838)
Fix glorfcode
2023-12-21 16:23:22 -08:00
DrSmugleaf 0273bbcbf3
Fix right click not showing the context menu in AHelps, players tab and objects tab (#22798)
* Fix right clicks in AHelp window

* Fix player tab right click

* Fix objects tab right click
2023-12-20 23:32:52 -07:00
qwerltaz 289aab768f
Improve gas analyzer interface (#22779) 2023-12-20 09:56:57 -08:00
avery 1679ef1004
Shuttle timers (#19471)
* sync

* sync

* no more squiggles..

* last build error

* updated maps for testing

* some issue with receiving arrivals setup

* networkpayload refactor. TODO: accurate timings

* timings accurate. TODO: backport old bugfix

* all set?

* cleaned up source. TODO: diff arrivals methods

* cleaned component. TODO: escape polish, docs

* first documentation pass

* escape timers work

* no more magic numbers

* removed dead code leads

* sync

sync

* Automatic changelog update

* shuttle timer groundwork

no more squiggles..

last build error

updated maps for testing

some issue with receiving arrivals setup

networkpayload refactor. TODO: accurate timings

timings accurate. TODO: backport old bugfix

all set?

cleaned up source. TODO: diff arrivals methods

cleaned component. TODO: escape polish, docs

first documentation pass

escape timers work

no more magic numbers

* BBQ rib sandwich (#21180)

* Fix missing toggle fullscreen loc string (#21264)

* Cave Decoration pack  (#21265)

* add chromite chasm

* add desert chasm

* snow chasm

* finish

* fixes and tweaks (#21172)

* Automatic changelog update

* Fix ItemPlacer (#21160)

This is going to lead to many entities being ticked unnecessarily and performance problems.

* headrev spawn music (#21119)

* headrev spawn music

* :trollface:

* skill issue

* double skill issue

* :trollface:

* :trollface:

* :trollface:

* Automatic changelog update

* Techfab resprite + department fab sprites (#21136)

* Fix popup messages appearing when someone tries to open a door without a tool. (#21099)

* The fixTM

* typo fix

* addressing review

* Show "departed and moved on" for when a ghost role is taken (#21092)

* fix ghost role not counting for "departed and moved on"

* I don't think that bit was needed so away it goes

* hopefully finish the upsream merge

* Automatic changelog update

* Implant whitelist/blacklisting (#20678)

* add whitelist and blacklist to implant and implanter components

* handle whitelist and blacklist in systems

* move hardcoded whitelist/blacklist to base implanter + add admeme implanter

* give implants sensible whitelists

* cleaner CheckTarget and fix

* remove unused imports

* network lists

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Automatic changelog update

* Ion storm event (#20277)

* ion storm event prototype + locale

* add lawsets

* use lawsets, make borgs ion storm targets

* ion storm rule and ion storm target

* lawset prototype

* use lawsets

* update silicon law system to use lawsets and support ion storm event

* new toys

* fix

* more fix

* fixy

* ion storm admin logging

* assigning laws makes borg provide its own laws, other stuff

* 1h reoccurence

* 50% chance

* better call saul

* emagLaws is required

* add announcment audio

* fixy

* family friendly gaming

* fixy

* address reviews

* fixy

* more fixy and no erp

* pro

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>

* Automatic changelog update

* A return to foam (foam rework) (#20831)

* Automatic changelog update

* ERT Loadout overhaul + Real deathsquad mobs + ERT fixes (#21230)

* "assist with medical efforts"

* CentComm official description change

* give cburn ert mask

* Ert medic hardsuit uses blood-red medic values

* description changes, they all used to use the blood-red description

* ert engineer hardsuit uses cburn values, good for handling all possible engineering problems.

* janitor hardsuit uses cburn values for extreme messes, otherwise we'd send the non eva variant.

* spawn suffix changes

* shorten suffix

* drop armor from ert jumpsuits

* drop armor from DS jumpsuit

* add more armor to death squad to make up for removed armor in the uniform.

* give sec gas masks armor, give syndicate gas masks armor. ERT gas mask uses syndicate mask values

* add nanotrasen

* removed duplicate

* give centcom IDs their hud icon

* replace all ert bulletproof armor with basic universal armor

* replace all oxygen tanks with air tanks; species is random.

* remove gun and meds from ert engineer kit

* give ert engineer materials

* remove weapons and meds from janitor ert

* give ert janitor light replacer

* remove ert sec pulse weapons, admins will assign loadout. Either the lecter or enforcer, probably.

* Give ert sec the security pistol kit

* typo

* give eva ert sec pistol

* give eva janitor ert gas mask

* give jani purple gloves

* medical gloves for medical ert

* replicate security loadout to leader

* quick ert lecter spawns for lazy admins

* better suffixes to find them easier

* add cburn to ertspawn

* Replace "Spawn" with "role"

* Add death squad. Give ert engineer gas analyzer.

* death squad using wrong equipment

* typo

* missing ghost roles on lecter loadouts

* add freedom implanter to deathsquad

* deathsquad ghost role text

* Operative sounds better

* give Ds flashbang box (why isn't it entirely filled?)

* fix typo. add energy shield to DS

* fix typos

* all centcomm roles are now mindshielded. These cannot be removed.

* Rider didnt include some of the changes ?

* give zipties instead of cuffs for mass arrests!

* upgrade ERT survival boxes to extended capacity

* give cburn extended oxygen too

* Automatic changelog update

* Restore Leviathan's 80 pop cap (#21281)

* Un-revert IPlayerManager refactor (#21244)

* Update engine to v172.0.0 (#21288)

* Bandaid tests (#21292)

* rename the rocks (#21275)

* Make crystals noRot (#21279)

IDK might be better. Ideally the anchoring would be offset 0-0 but this is the world we live in atm.

* Fix nukies sound not played  (#21268)

* Play sound and sending greeting message works for nukies now!!!!!

* oops

* silly change

* Automatic changelog update

* Fix hijack objective (#21241)

* Fix hijack

* Max difficulty

* Remove GridModifiedEvent (#21291)

* Update submodule to 173.0.0 (#21296)

* Fix namespace error (#21298)

* Update yaml sequence option in editorconfig (#21297)

* Fix namespace (#21299)

* fix cburn bag issue, make new bag entity for them and filled bag entity (#21295)

* Health analyzer UI improve (#17280)

* Automatic changelog update

* User accessible playtime (#21242)

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

* Automatic changelog update

* Moves cloning comp & cloning event to shared (#21253)

* Generalizes solution overflow & slightly increases space lube yield (#21094)

* generalize SolutionSpikeOverflowEvent

* let reactions overflow

* spacelube: 3 -> 5

* restore TryMixAndOverflow threshold cap

* Automatic changelog update

* Move ActorComponent to shared (#21293)

* Update engine to v174.0.0 (#21311)

* Fix planet command help message (#21312)

* Wearable bee plush (#20623)

* add

* fix

* temporary change, needs fixing

* mayb fix

* actually fix FR

* yes

* Automatic changelog update

* remove pulse rifle from ert medic (#21310)

* Content audio (#20862)

* Automatic changelog update

* Update submodule to 175.0.0 (#21318)

* Revert "Update submodule to 175.0.0 (#21318)" (#21319)

* Atomic bomb add uranium  (#21143)

* fix: Incendiary bullets no longer deal cold, acid, or shock damage that ignores all armor.

* Atomic bomb

* Action bugfixes (#21321)

* Disable OOC during round (#21323)

* Fix PDA notifications when creating a news entry using the Mass-Media console. (#21320)

* Automatic changelog update

* Update belt.yml (#21317)

changes the chief engineer's belt to remove the lv wires (they take up a lot of space and are easy to get anyways) in exchange for a holofan, a t-ray, and a gas analyzer (first time coding ever this might have to be edited)

* New foam sprites (edge sprites) (#21308)

* New foam sprites (icon smoothing)

* changed to edge sprites for foam

* fix

* edges for metal foams

* fix

* Fix bola stam damage, bring back old construction requirements (#21340)

* Automatic changelog update

* Added thermal insulation to flannel jackets (#21273)

* Automatic changelog update

* Space Asshole Gear (#21243)

* Add Space Asshole Coat

* Add sledgehammer

* Adjust sledgehammer damage values

* Add copyright string to sledgehammer

* Fix broken slot highlight in midnight theme. (#21331)

* removed dead code leads

removed redundant ensurecomps

* textscreen documentation

* remove redundant ensurecomps

* Add hint for the examine trigger effect (#21166)

* examine locale

* examine trigger desc

Automatic changelog update

cornmeal is actually obtainable now (#21162)

* do the thing

* lets find out

* Update Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml

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

---------

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

Automatic changelog update

Healing skeletons by pouring milk over them (and clean pie remains off their skulls) (#21231)

* mvp done - skellies can heal by spillink regular milk on themselves and clean themselves off creaming with water

* added other types of healing milk, also made a separate reaction to oat milk - it has almost no calcium in it

* fixed indent error, made a dumb mistake

Automatic changelog update

Fix anomaly locators frantically beeping when entering detection range. (#21178)

* reset beep timer when out of range

* prevent deficit from impacting beep timing

Automatic changelog update

Remove "mk --> mmm, okay" and "u --> you" to chatsan anti slang (#21177)

Automatic changelog update

Adds AttemptEntity(Uns|S)tickEvent. (#20728)

* try-stick

* convert spider charge to attempt-stick-events

Change ListContainer to send null when selected is removed from the data (#20595)

fix feeding unremovable items (#21234)

Automatic changelog update

Power switchable refactor (#20419)

Co-authored-by: deltanedas <@deltanedas:kde.org>

simple space mobs cant be flashed (#20784)

Co-authored-by: deltanedas <@deltanedas:kde.org>

give roundstart borgs names (#20081)

Co-authored-by: deltanedas <@deltanedas:kde.org>

fix searching on vending machines (#21233)

syndicate snack box (#21024)

Co-authored-by: deltanedas <@deltanedas:kde.org>

Fix DockingControl (#21238)

Shadow Dimension visual pack (#21237)

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

Potato battery update + potato AI (#21142)

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

[TEST MERGE] Slot-based Storage (#21212)

Automatic changelog update

Some mild item size balancing + fixes (#21250)

Automatic changelog update

Revert "Storage TEST MERGE" (#21258)

Add missing changelog for storage refactor revert (#21259)

* sync

sync

* Automatic changelog update

shuttle timer groundwork

no more squiggles..

last build error

updated maps for testing

some issue with receiving arrivals setup

networkpayload refactor. TODO: accurate timings

timings accurate. TODO: backport old bugfix

all set?

cleaned up source. TODO: diff arrivals methods

cleaned component. TODO: escape polish, docs

first documentation pass

escape timers work

no more magic numbers

BBQ rib sandwich (#21180)

Fix missing toggle fullscreen loc string (#21264)

Cave Decoration pack  (#21265)

* add chromite chasm

* add desert chasm

* snow chasm

* finish

fixes and tweaks (#21172)

Automatic changelog update

Fix ItemPlacer (#21160)

This is going to lead to many entities being ticked unnecessarily and performance problems.

headrev spawn music (#21119)

* headrev spawn music

* :trollface:

* skill issue

* double skill issue

* :trollface:

* :trollface:

* :trollface:

Automatic changelog update

Techfab resprite + department fab sprites (#21136)

Fix popup messages appearing when someone tries to open a door without a tool. (#21099)

* The fixTM

* typo fix

* addressing review

Show "departed and moved on" for when a ghost role is taken (#21092)

* fix ghost role not counting for "departed and moved on"

* I don't think that bit was needed so away it goes

* hopefully finish the upsream merge

Automatic changelog update

Implant whitelist/blacklisting (#20678)

* add whitelist and blacklist to implant and implanter components

* handle whitelist and blacklist in systems

* move hardcoded whitelist/blacklist to base implanter + add admeme implanter

* give implants sensible whitelists

* cleaner CheckTarget and fix

* remove unused imports

* network lists

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>

Automatic changelog update

Ion storm event (#20277)

* ion storm event prototype + locale

* add lawsets

* use lawsets, make borgs ion storm targets

* ion storm rule and ion storm target

* lawset prototype

* use lawsets

* update silicon law system to use lawsets and support ion storm event

* new toys

* fix

* more fix

* fixy

* ion storm admin logging

* assigning laws makes borg provide its own laws, other stuff

* 1h reoccurence

* 50% chance

* better call saul

* emagLaws is required

* add announcment audio

* fixy

* family friendly gaming

* fixy

* address reviews

* fixy

* more fixy and no erp

* pro

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>

Automatic changelog update

A return to foam (foam rework) (#20831)

Automatic changelog update

ERT Loadout overhaul + Real deathsquad mobs + ERT fixes (#21230)

* "assist with medical efforts"

* CentComm official description change

* give cburn ert mask

* Ert medic hardsuit uses blood-red medic values

* description changes, they all used to use the blood-red description

* ert engineer hardsuit uses cburn values, good for handling all possible engineering problems.

* janitor hardsuit uses cburn values for extreme messes, otherwise we'd send the non eva variant.

* spawn suffix changes

* shorten suffix

* drop armor from ert jumpsuits

* drop armor from DS jumpsuit

* add more armor to death squad to make up for removed armor in the uniform.

* give sec gas masks armor, give syndicate gas masks armor. ERT gas mask uses syndicate mask values

* add nanotrasen

* removed duplicate

* give centcom IDs their hud icon

* replace all ert bulletproof armor with basic universal armor

* replace all oxygen tanks with air tanks; species is random.

* remove gun and meds from ert engineer kit

* give ert engineer materials

* remove weapons and meds from janitor ert

* give ert janitor light replacer

* remove ert sec pulse weapons, admins will assign loadout. Either the lecter or enforcer, probably.

* Give ert sec the security pistol kit

* typo

* give eva ert sec pistol

* give eva janitor ert gas mask

* give jani purple gloves

* medical gloves for medical ert

* replicate security loadout to leader

* quick ert lecter spawns for lazy admins

* better suffixes to find them easier

* add cburn to ertspawn

* Replace "Spawn" with "role"

* Add death squad. Give ert engineer gas analyzer.

* death squad using wrong equipment

* typo

* missing ghost roles on lecter loadouts

* add freedom implanter to deathsquad

* deathsquad ghost role text

* Operative sounds better

* give Ds flashbang box (why isn't it entirely filled?)

* fix typo. add energy shield to DS

* fix typos

* all centcomm roles are now mindshielded. These cannot be removed.

* Rider didnt include some of the changes ?

* give zipties instead of cuffs for mass arrests!

* upgrade ERT survival boxes to extended capacity

* give cburn extended oxygen too

Automatic changelog update

Restore Leviathan's 80 pop cap (#21281)

Un-revert IPlayerManager refactor (#21244)

Update engine to v172.0.0 (#21288)

Bandaid tests (#21292)

rename the rocks (#21275)

Make crystals noRot (#21279)

IDK might be better. Ideally the anchoring would be offset 0-0 but this is the world we live in atm.

Fix nukies sound not played  (#21268)

* Play sound and sending greeting message works for nukies now!!!!!

* oops

* silly change

Automatic changelog update

Fix hijack objective (#21241)

* Fix hijack

* Max difficulty

Remove GridModifiedEvent (#21291)

Update submodule to 173.0.0 (#21296)

Fix namespace error (#21298)

Update yaml sequence option in editorconfig (#21297)

Fix namespace (#21299)

fix cburn bag issue, make new bag entity for them and filled bag entity (#21295)

Health analyzer UI improve (#17280)

Automatic changelog update

User accessible playtime (#21242)

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>

Automatic changelog update

Moves cloning comp & cloning event to shared (#21253)

Generalizes solution overflow & slightly increases space lube yield (#21094)

* generalize SolutionSpikeOverflowEvent

* let reactions overflow

* spacelube: 3 -> 5

* restore TryMixAndOverflow threshold cap

Automatic changelog update

Move ActorComponent to shared (#21293)

Update engine to v174.0.0 (#21311)

Fix planet command help message (#21312)

Wearable bee plush (#20623)

* add

* fix

* temporary change, needs fixing

* mayb fix

* actually fix FR

* yes

Automatic changelog update

remove pulse rifle from ert medic (#21310)

Content audio (#20862)

Automatic changelog update

Update submodule to 175.0.0 (#21318)

Revert "Update submodule to 175.0.0 (#21318)" (#21319)

Atomic bomb add uranium  (#21143)

* fix: Incendiary bullets no longer deal cold, acid, or shock damage that ignores all armor.

* Atomic bomb

Action bugfixes (#21321)

Disable OOC during round (#21323)

Fix PDA notifications when creating a news entry using the Mass-Media console. (#21320)

Automatic changelog update

Update belt.yml (#21317)

changes the chief engineer's belt to remove the lv wires (they take up a lot of space and are easy to get anyways) in exchange for a holofan, a t-ray, and a gas analyzer (first time coding ever this might have to be edited)

New foam sprites (edge sprites) (#21308)

* New foam sprites (icon smoothing)

* changed to edge sprites for foam

* fix

* edges for metal foams

* fix

Fix bola stam damage, bring back old construction requirements (#21340)

Automatic changelog update

Added thermal insulation to flannel jackets (#21273)

Automatic changelog update

Space Asshole Gear (#21243)

* Add Space Asshole Coat

* Add sledgehammer

* Adjust sledgehammer damage values

* Add copyright string to sledgehammer

Fix broken slot highlight in midnight theme. (#21331)

* removed old ensurecomps, stubs

removed dead code leads

removed redundant ensurecomps

sync

sync

no more squiggles..

last build error

updated maps for testing

some issue with receiving arrivals setup

networkpayload refactor. TODO: accurate timings

timings accurate. TODO: backport old bugfix

all set?

cleaned up source. TODO: diff arrivals methods

cleaned component. TODO: escape polish, docs

first documentation pass

escape timers work

no more magic numbers

removed dead code leads

textscreen documentation

remove redundant ensurecomps

* sync

* new shuttletimer sprite/offset

* sync

* sync

* sync

* sync

* sync

* builds

* sync

* sync

* sync

* offset adjustments

* timer pattern implemented

* arrivals timer system seems to work

* sync

* sync

* sync

* sync

* sync

* sync

* sync

* sync

* sync

* sync

* implements shuttletimers

* centcomm timers

* set color to tg 1097fb

* textscreen -> signalscreen, shuttletimer -> screen

* move screens out of timer.yml

* pruned unused properties/imports

* license+copyright for screen.rsi

* forgor change signaltimer event handler doc

* roundstart arrivals ftl logic

* block signaltimer screentext updates during timing

* merged robust 185

* centcomm carpet uid collision PLEASE MERGE MY PR

* remove arrivalssystem entitymanager dependency

* refactored magic strings, added roundend getters

* specific vgstation sprite commit licensing

---------
2023-12-20 09:30:29 +11:00
Justin 07f87f93d2
Add description in lathe recipe mouseover tooltip (#22621)
* Add description in lathe recipe mouseover tooltip

* Remove old tooltip
2023-12-16 21:06:38 -05:00
Nemanja 267c44fffd
add mixing categories to chem guidebook (#22566) 2023-12-15 16:59:54 -07:00