From 9be32ecd4480a283bef79523cd4264aaafa1c39b Mon Sep 17 00:00:00 2001 From: AwareFoxy <135021509+AwareFoxy@users.noreply.github.com> Date: Thu, 5 Dec 2024 21:14:52 +0100 Subject: [PATCH] Revert "Upstream #2 (#122)" (#123) This reverts commit ee70af6e1cc9fceea8ddaddb95b445216563d142. --- .github/workflows/labeler-review.yml | 23 - Content.Client/Actions/ActionsSystem.cs | 12 +- .../UI/BanPanel/BanPanel.xaml.cs | 11 +- .../Administration/UI/Notes/NoteEdit.xaml.cs | 1 - .../Components/PipeColorVisualsComponent.cs | 6 +- .../Consoles/AtmosAlarmEntryContainer.xaml | 3 +- .../Consoles/AtmosAlarmEntryContainer.xaml.cs | 11 +- .../AtmosAlertsComputerBoundUserInterface.cs | 5 + .../Consoles/AtmosAlertsComputerWindow.xaml | 1 + .../AtmosPipeAppearanceSystem.cs | 7 +- .../Monitor/AtmosAlarmableVisualsSystem.cs | 9 +- .../Monitor/UI/AirAlarmBoundUserInterface.cs | 7 +- .../Atmos/Monitor/UI/AirAlarmWindow.xaml.cs | 21 +- .../Monitor/UI/Widgets/PumpControl.xaml.cs | 8 +- .../UI/Widgets/ScrubberControl.xaml.cs | 10 +- .../Monitor/UI/Widgets/SensorInfo.xaml.cs | 13 +- .../UI/Widgets/ThresholdBoundControl.xaml.cs | 3 + .../UI/Widgets/ThresholdControl.xaml.cs | 33 +- .../Atmos/Overlays/AtmosDebugOverlay.cs | 26 +- .../FlippableClothingVisualizerSystem.cs | 2 +- .../Construction/UI/ConstructionMenu.xaml | 13 +- .../Construction/UI/ConstructionMenu.xaml.cs | 17 +- .../UI/ConstructionMenuPresenter.cs | 102 +- .../ElectrocutionHUDVisualizerSystem.cs | 95 - Content.Client/Eui/BaseEui.cs | 2 +- Content.Client/Info/LinkBanner.cs | 1 - .../Inventory/StrippableBoundUserInterface.cs | 15 +- Content.Client/Light/HandheldLightSystem.cs | 16 - Content.Client/Lobby/LobbyState.cs | 6 +- .../Overlays/StencilOverlay.Weather.cs | 2 +- Content.Client/Overlays/StencilOverlay.cs | 4 +- .../Overlays/StencilOverlaySystem.cs | 3 +- .../Shuttles/UI/BaseShuttleControl.xaml.cs | 13 +- Content.Client/Shuttles/UI/NavScreen.xaml.cs | 7 - .../Shuttles/UI/ShuttleConsoleWindow.xaml.cs | 1 - .../Shuttles/UI/ShuttleDockControl.xaml.cs | 74 +- .../Shuttles/UI/ShuttleNavControl.xaml.cs | 100 +- .../Silicons/Laws/Ui/LawDisplay.xaml.cs | 23 - .../Singularity/Systems/EventHorizonSystem.cs | 2 +- .../Systems/SingularityGeneratorSystem.cs | 12 - .../Singularity/Systems/SingularitySystem.cs | 2 +- .../Systems/Chat/Widgets/ChatBox.xaml.cs | 3 +- .../Controls/Roles/GhostRolesWindow.xaml.cs | 1 - .../Systems/Hands/HandsUIController.cs | 5 - .../MenuBar/Widgets/GameTopMenuBar.xaml | 29 +- .../Systems/Storage/StorageUIController.cs | 6 + Content.Client/Wires/UI/WiresMenu.cs | 8 +- .../Tests/Commands/PardonCommand.cs | 24 +- .../Tests/PostMapInitTest.cs | 3 +- .../Content.PatreonParser.csproj | 2 +- .../20241111170112_ModernHwid.Designer.cs | 2072 - .../Postgres/20241111170112_ModernHwid.cs | 62 - ...20241111193608_ConnectionTrust.Designer.cs | 2076 - .../20241111193608_ConnectionTrust.cs | 29 - .../PostgresServerDbContextModelSnapshot.cs | 162 +- .../20241111170107_ModernHwid.Designer.cs | 1995 - .../Sqlite/20241111170107_ModernHwid.cs | 62 - ...20241111193602_ConnectionTrust.Designer.cs | 1999 - .../Sqlite/20241111193602_ConnectionTrust.cs | 29 - .../SqliteServerDbContextModelSnapshot.cs | 161 +- Content.Server.Database/Model.cs | 88 +- Content.Server.Database/SnakeCaseNaming.cs | 40 +- .../Administration/BanList/BanListEui.cs | 8 +- Content.Server/Administration/BanPanelEui.cs | 10 +- .../Administration/Commands/BanListCommand.cs | 2 +- .../Commands/RoleBanListCommand.cs | 2 +- .../Administration/Managers/BanManager.cs | 12 +- .../Administration/Managers/IBanManager.cs | 4 +- .../Administration/PlayerLocator.cs | 99 +- .../Administration/PlayerPanelEui.cs | 4 +- .../Administration/Systems/BwoinkSystem.cs | 2 +- .../Announcements/AnnounceCommand.cs | 3 +- .../Effects/GasProducerAnomalySystem.cs | 8 +- .../Components/AtmosMonitorComponent.cs | 19 +- .../Monitor/Systems/AtmosMonitoringSystem.cs | 17 +- .../Bed/Cryostorage/CryostorageSystem.cs | 4 +- Content.Server/Cargo/Systems/PricingSystem.cs | 2 +- .../Connection/ConnectionManager.cs | 13 +- Content.Server/Connection/UserDataExt.cs | 24 - Content.Server/Database/BanMatcher.cs | 33 +- Content.Server/Database/DatabaseRecords.cs | 3 +- Content.Server/Database/ServerBanDef.cs | 5 +- Content.Server/Database/ServerDbBase.cs | 24 +- Content.Server/Database/ServerDbManager.cs | 35 +- Content.Server/Database/ServerDbPostgres.cs | 124 +- Content.Server/Database/ServerDbSqlite.cs | 55 +- Content.Server/Database/ServerRoleBanDef.cs | 5 +- Content.Server/Dragon/DragonSystem.cs | 3 +- .../Electrocution/ElectrocutionSystem.cs | 15 +- .../Fluids/EntitySystems/DrainSystem.cs | 62 +- .../GameTicking/GameTicker.Spawning.cs | 69 +- .../GameTicking/Rules/DeathMatchRuleSystem.cs | 1 - .../Gateway/Systems/GatewayGeneratorSystem.cs | 7 +- Content.Server/Ghost/GhostCommand.cs | 10 - Content.Server/Ghost/GhostSystem.cs | 7 +- .../Roles/MakeRaffledGhostRoleCommand.cs | 6 +- .../Holiday/Christmas/RandomGiftSystem.cs | 1 + .../EntitySystems/HandheldLightSystem.cs | 24 +- .../Medical/SuitSensors/SuitSensorSystem.cs | 5 +- .../Pathfinding/PathfindingSystem.Breadth.cs | 4 +- .../Pathfinding/PathfindingSystem.Splines.cs | 2 +- .../Pathfinding/PathfindingSystem.Widen.cs | 2 +- Content.Server/Nuke/NukeSystem.cs | 3 +- .../Power/Components/CableComponent.cs | 5 +- .../Power/EntitySystems/CableSystem.cs | 5 +- Content.Server/Power/PowerWireAction.cs | 10 +- .../DungeonJob/DungeonJob.PostGenWallMount.cs | 6 +- .../Respawn/SpecialRespawnSystem.cs | 5 +- .../EntitySystems/RevenantSystem.Abilities.cs | 9 +- .../SalvageSystem.ExpeditionConsole.cs | 2 +- .../Salvage/SpawnSalvageMissionJob.cs | 6 +- .../ServerInfo/ServerInfoManager.cs | 11 +- .../Shuttles/Components/GridSpawnComponent.cs | 6 +- .../Shuttles/Systems/ArrivalsSystem.cs | 2 +- .../Systems/ShuttleSystem.FasterThanLight.cs | 7 +- .../Systems/ShuttleSystem.GridFill.cs | 2 +- .../Shuttles/Systems/ShuttleSystem.cs | 2 - .../Silicons/Laws/IonStormSystem.cs | 280 - .../Silicons/Laws/SiliconLawSystem.cs | 73 +- .../SingularityGeneratorComponent.cs | 33 + .../EntitySystems/EventHorizonSystem.cs | 2 +- .../SingularityGeneratorSystem.cs | 83 +- .../Components/GreytideVirusComponent.cs | 38 - .../StationEvents/Events/GreytideVirusRule.cs | 96 - .../StationEvents/Events/IonStormRule.cs | 264 +- .../Systems/StationRecordsSystem.cs | 3 +- Content.Server/Traits/TraitSystem.cs | 3 +- .../VendingMachines/VendingMachineSystem.cs | 7 - Content.Server/Wires/ComponentWireAction.cs | 5 +- .../Effects/Systems/ThrowArtifactSystem.cs | 8 +- Content.Shared.Database/LogType.cs | 6 +- Content.Shared.Database/TypedHwid.cs | 64 - .../Administration/BanPanelEuiState.cs | 4 +- Content.Shared/Anomaly/SharedAnomalySystem.cs | 8 +- .../Buckle/SharedBuckleSystem.Interaction.cs | 3 +- Content.Shared/CCVar/CCVars.Game.Infolinks.cs | 6 - Content.Shared/CCVar/CCVars.Shuttle.cs | 6 - .../Chemistry/Events/HyposprayEvents.cs | 4 +- .../Climbing/Systems/ClimbSystem.cs | 4 - .../Components/ToggleClothingComponent.cs | 6 - .../EntitySystems/ToggleClothingSystem.cs | 4 - Content.Shared/Cuffs/SharedCuffableSystem.cs | 6 - .../Damage/Systems/DamageExamineSystem.cs | 6 - .../Doors/Components/DoorComponent.cs | 2 +- Content.Shared/Doors/DoorEvents.cs | 13 - .../Doors/Systems/SharedAirlockSystem.cs | 10 +- .../Doors/Systems/SharedDoorSystem.Bolts.cs | 4 - .../Doors/Systems/SharedDoorSystem.cs | 29 +- Content.Shared/DrawDepth/DrawDepth.cs | 23 +- .../ElectrocutionHUDVisualsComponent.cs | 7 - .../ShowElectrocutionHUDComponent.cs | 9 - .../Electrocution/SharedElectrocution.cs | 6 +- .../SharedElectrocutionSystem.cs | 15 - Content.Shared/Emag/Systems/EmagSystem.cs | 7 - .../Fluids/Components/DrainComponent.cs | 4 +- Content.Shared/Forensics/Events.cs | 2 +- .../GameTicking/PlayerBeforeSpawnEvent.cs | 33 - .../GameTicking/PlayerSpawnCompleteEvent.cs | 44 - .../Interaction/SharedInteractionSystem.cs | 4 +- .../Inventory/InventorySystem.Equip.cs | 2 - .../Inventory/InventorySystem.Relay.cs | 2 +- .../Inventory/InventoryTemplatePrototype.cs | 5 - .../Components/ItemToggleComponent.cs | 12 - .../Components/ToggleVerbComponent.cs | 18 + .../Item/ItemToggle/ItemToggleSystem.cs | 2 +- .../Item/ItemToggle/ToggleVerbSystem.cs | 34 + .../Light/SharedHandheldLightSystem.cs | 25 - Content.Shared/Lock/LockSystem.cs | 19 +- .../Components/AutoOrientComponent.cs | 5 +- .../Movement/Systems/AutoOrientSystem.cs | 51 - .../Systems/SharedMoverController.Input.cs | 7 + Content.Shared/Random/Rules/GridInRange.cs | 2 +- .../Random/Rules/NearbyTilesPercent.cs | 3 +- Content.Shared/Roles/SharedRoleSystem.cs | 18 +- Content.Shared/Salvage/SharedSalvageSystem.cs | 4 +- .../Components/EmagSiliconLawComponent.cs | 7 + .../Components/SiliconLawProviderComponent.cs | 6 - .../SharedStationAiSystem.Airlock.cs | 4 +- .../StationAi/SharedStationAiSystem.cs | 3 - .../StationAi/StationAiVisionSystem.cs | 11 +- .../SingularityGeneratorComponent.cs | 69 - .../SharedSingularityGeneratorSystem.cs | 28 - .../Station/SharedStationSpawningSystem.cs | 19 +- .../Components/StoreOnCollideComponent.cs | 34 - .../SharedEntityStorageSystem.cs | 8 - .../EntitySystems/SharedStorageSystem.cs | 14 + .../EntitySystems/StoreOnCollideSystem.cs | 71 - Content.Shared/Storage/StorageComponent.cs | 14 + .../Strip/SharedStrippableSystem.cs | 14 +- .../Assorted/PermanentBlindnessSystem.cs | 15 +- Resources/Changelog/Admin.yml | 15 - Resources/Changelog/Changelog.yml | 855 +- .../ConfigPresets/WizardsDen/wizardsDen.toml | 4 +- Resources/Credits/GitHub.txt | 2 +- Resources/Locale/en-US/GPS/handheld-gps.ftl | 4 +- .../Locale/en-US/atmos/gas-pipe-sensor.ftl | 5 - .../en-US/chat/commands/ghost-command.ftl | 1 - .../components/magboots-component.ftl | 3 + .../construction/ui/construction-menu.ftl | 1 - .../en-US/contraband/contraband-severity.ftl | 2 +- .../Locale/en-US/damage/damage-examine.ftl | 1 - .../Locale/en-US/datasets/names/borer.ftl | 69 - .../fire-extinguisher-component.ftl | 3 +- .../ghost/roles/ghost-role-component.ftl | 10 +- Resources/Locale/en-US/info/server-info.ftl | 1 - .../humanoid-character-profile.ftl | 3 +- .../ui/humanoid-profile-editor.ftl | 2 +- .../en-US/prototypes/access/accesses.ftl | 2 - .../Locale/en-US/server-info/info-links.ftl | 1 - Resources/Locale/en-US/shuttles/console.ftl | 2 +- .../components/generator-component.ftl | 2 - Resources/Locale/en-US/species/species.ftl | 1 - .../catalog/fills/backpacks/duffelbag.ftl | 2 +- .../catalog/fills/boxes/general.ftl | 2 - .../catalog/fills/crates/armory.ftl | 2 - .../catalog/fills/crates/emergency.ftl | 4 +- .../catalog/fills/crates/science.ftl | 2 - .../catalog/fills/crates/security.ftl | 2 + .../catalog/fills/crates/service.ftl | 2 - .../entities/objects/decoration/flora.ftl | 5 - .../entities/objects/decoration/garlands.ftl | 6 - .../entities/objects/decoration/presents.ftl | 11 - .../structures/wallmounts/signs/signs.ftl | 2 - .../entities/markers/spawners/mobs.ftl | 7 - .../prototypes/entities/mobs/npcs/animals.ftl | 4 - .../entities/mobs/player/gingerbread.ftl | 2 - .../entities/objects/decoration/flora.ftl | 5 +- .../entities/objects/decoration/present.ftl | 4 +- .../entities/objects/devices/flatpack.ftl | 4 - .../prototypes/entities/objects/fun/darts.ftl | 2 +- .../entities/objects/materials/ore.ftl | 9 - .../objects/specific/medical/hypospray.ftl | 2 +- .../objects/weapons/guns/basic/wands.ftl | 2 - .../weapons/guns/projectiles/magic.ftl | 2 - .../objects/weapons/guns/smgs/smgs.ftl | 2 +- .../structures/doors/airlocks/access.ftl | 3 - .../piping/atmospherics/gas_pipe_sensor.ftl | 17 - .../structures/power/cable_terminal.ftl | 3 - .../entities/structures/power/cables.ftl | 9 - .../generation/singularity/generator.ftl | 2 +- .../power/generation/tesla/generator.ftl | 2 +- .../structures/wallmounts/signs/posters.ftl | 2 - .../ss14-ru/prototypes/gamerules/events.ftl | 2 - .../station-events/events/greytide-virus.ftl | 1 - Resources/Locale/en-US/station-laws/laws.ftl | 5 +- .../Locale/en-US/store/spellbook-catalog.ftl | 3 - .../Locale/en-US/store/uplink-catalog.ftl | 6 +- .../Locale/ru-RU/atmos/gas-pipe-sensor.ftl | 5 - .../ru-RU/chat/commands/ghost-command.ftl | 1 - .../construction/ui/construction-menu.ftl | 1 - .../Locale/ru-RU/damage/damage-examine.ftl | 1 - .../Locale/ru-RU/datasets/names/borer.ftl | 69 - .../fire-extinguisher-component.ftl | 2 - .../ghost/roles/ghost-role-component.ftl | 4 - Resources/Locale/ru-RU/info/server-info.ftl | 1 - .../ru-RU/prototypes/access/accesses.ftl | 1 - .../Locale/ru-RU/server-info/info-links.ftl | 1 - Resources/Locale/ru-RU/shuttles/console.ftl | 1 - .../components/generator-component.ftl | 2 - Resources/Locale/ru-RU/species/species.ftl | 1 - .../catalog/fills/boxes/general.ftl | 2 - .../catalog/fills/crates/armory.ftl | 2 - .../catalog/fills/crates/emergency.ftl | 2 - .../catalog/fills/crates/science.ftl | 2 - .../catalog/fills/crates/security.ftl | 3 +- .../catalog/fills/crates/service.ftl | 2 - .../entities/objects/decoration/flora.ftl | 2 - .../entities/objects/decoration/garlands.ftl | 2 - .../entities/objects/decoration/presents.ftl | 2 - .../structures/wallmounts/signs/signs.ftl | 1 - .../entities/markers/spawners/mobs.ftl | 7 - .../prototypes/entities/mobs/npcs/animals.ftl | 4 - .../entities/mobs/player/gingerbread.ftl | 2 - .../entities/objects/decoration/flora.ftl | 3 - .../entities/objects/decoration/present.ftl | 4 +- .../entities/objects/devices/flatpack.ftl | 4 - .../entities/objects/materials/ore.ftl | 9 - .../objects/weapons/guns/basic/wands.ftl | 2 - .../weapons/guns/projectiles/magic.ftl | 2 - .../structures/doors/airlocks/access.ftl | 3 - .../piping/atmospherics/gas_pipe_sensor.ftl | 17 - .../structures/power/cable_terminal.ftl | 3 - .../entities/structures/power/cables.ftl | 9 - .../structures/wallmounts/signs/posters.ftl | 2 - .../ss14-ru/prototypes/gamerules/events.ftl | 2 - .../station-events/events/greytide-virus.ftl | 1 - Resources/Locale/ru-RU/station-laws/laws.ftl | 1 - .../Locale/ru-RU/store/spellbook-catalog.ftl | 2 - Resources/Maps/Misc/terminal.yml | 4527 +- Resources/Maps/Shuttles/arrivals.yml | 1363 +- Resources/Maps/amber.yml | 130753 --------------- Resources/Maps/bagel.yml | 1686 +- Resources/Maps/cog.yml | 12 - Resources/Maps/corvax_pilgrim.yml | 533 +- Resources/Maps/corvax_silly.yml | 6 +- Resources/Maps/corvax_tushkan.yml | 3539 +- Resources/Maps/marathon.yml | 8 - Resources/Maps/oasis.yml | 7829 +- Resources/Maps/reach.yml | 19 +- Resources/Prototypes/Access/wizard.yml | 3 - .../Prototypes/Catalog/Cargo/cargo_armory.yml | 10 - .../Catalog/Cargo/cargo_circuitboards.yml | 9 + .../Catalog/Cargo/cargo_emergency.yml | 2 +- .../Catalog/Cargo/cargo_science.yml | 10 - .../Catalog/Cargo/cargo_security.yml | 10 + .../Catalog/Cargo/cargo_service.yml | 12 - .../Catalog/Cargo/cargo_vending.yml | 2 +- .../Catalog/Fills/Backpacks/duffelbag.yml | 2 +- .../Catalog/Fills/Boxes/general.yml | 20 - .../Catalog/Fills/Crates/armory.yml | 19 - .../Catalog/Fills/Crates/circuitboards.yml | 12 + .../Catalog/Fills/Crates/emergency.yml | 6 +- .../Catalog/Fills/Crates/science.yml | 12 - .../Catalog/Fills/Crates/security.yml | 20 + .../Catalog/Fills/Crates/service.yml | 11 - .../Catalog/Fills/Lockers/security.yml | 2 + .../VendingMachines/Inventories/salvage.yml | 4 +- .../Prototypes/Catalog/spellbook_catalog.yml | 13 - .../Entities/Objects/Decoration/flora.yml | 2 +- .../Prototypes/Corvax/Maps/Pools/default.yml | 5 +- Resources/Prototypes/Datasets/Names/borer.yml | 76 +- Resources/Prototypes/Datasets/Names/diona.yml | 218 +- .../Entities/Clothing/Hands/gloves.yml | 1 - .../Entities/Clothing/Head/helmets.yml | 1 - .../Entities/Clothing/Multiple/towel.yml | 2 - .../Entities/Clothing/OuterClothing/suits.yml | 1 - .../Entities/Clothing/Shoes/magboots.yml | 3 +- .../Markers/Spawners/Random/posters.yml | 1 - .../Entities/Markers/Spawners/ghost_roles.yml | 2 +- .../Entities/Markers/Spawners/mobs.yml | 43 - .../Mobs/Cyborgs/base_borg_chassis.yml | 3 - .../Prototypes/Entities/Mobs/NPCs/animals.yml | 96 +- .../Prototypes/Entities/Mobs/NPCs/xeno.yml | 2 +- .../Entities/Mobs/Player/gingerbread.yml | 20 - .../Entities/Mobs/Player/observer.yml | 1 - .../Entities/Mobs/Player/silicon.yml | 3 +- .../Objects/Consumable/Food/meals.yml | 30 +- .../Entities/Objects/Consumable/Food/meat.yml | 7 +- .../Entities/Objects/Decoration/flora.yml | 25 +- .../Entities/Objects/Decoration/present.yml | 15 +- .../reinforcement_teleporter.yml | 10 +- .../Entities/Objects/Devices/flatpack.yml | 20 +- .../Prototypes/Entities/Objects/Fun/darts.yml | 2 +- .../Prototypes/Entities/Objects/Fun/toys.yml | 10 - .../Entities/Objects/Materials/materials.yml | 22 +- .../Entities/Objects/Materials/ore.yml | 44 - .../Entities/Objects/Materials/parts.yml | 2 +- .../Objects/Misc/fire_extinguisher.yml | 4 +- .../Objects/Misc/identification_cards.yml | 1 - .../Objects/Specific/Medical/hypospray.yml | 2 +- .../Specific/Robotics/borg_modules.yml | 6 +- .../Objects/Tools/access_configurator.yml | 1 - .../Objects/Weapons/Guns/Basic/wands.yml | 36 - .../Weapons/Guns/Projectiles/magic.yml | 80 - .../Weapons/Guns/Projectiles/projectiles.yml | 8 +- .../Objects/Weapons/Guns/SMGs/smgs.yml | 2 +- .../Objects/Weapons/Melee/e_sword.yml | 1 - .../Entities/Objects/Weapons/Melee/knife.yml | 7 - .../Prototypes/Entities/Stations/base.yml | 2 +- .../Structures/Doors/Airlocks/access.yml | 9 - .../Doors/Airlocks/base_structureairlocks.yml | 7 - .../Structures/Doors/Airlocks/highsec.yml | 7 - .../Structures/Doors/Airlocks/shuttle.yml | 17 +- .../Doors/Windoors/base_structurewindoors.yml | 37 - .../Entities/Structures/Machines/nuke.yml | 1 - .../Piping/Atmospherics/gas_pipe_sensor.yml | 84 - .../Generation/Singularity/generator.yml | 2 +- .../Power/Generation/Tesla/generator.yml | 4 +- .../Structures/Power/cable_terminal.yml | 8 - .../Entities/Structures/Power/cables.yml | 24 - .../Structures/Wallmounts/Signs/posters.yml | 9 - .../Entities/Structures/Walls/fence_metal.yml | 14 +- .../Entities/Structures/Walls/grille.yml | 10 +- Resources/Prototypes/GameRules/events.yml | 22 - Resources/Prototypes/Maps/Pools/default.yml | 1 - Resources/Prototypes/Maps/amber.yml | 66 - .../Graphs/clothing/medsec_hud.yml | 13 +- .../Construction/Graphs/tools/logic_gate.yml | 7 +- .../Graphs/utilities/gas_pipe_sensor.yml | 29 - .../Graphs/utilities/lighting.yml | 10 +- .../Graphs/utilities/wallmount_substation.yml | 8 +- .../Recipes/Construction/utilities.yml | 15 - .../Recipes/Cooking/meal_recipes.yml | 35 - .../Crafting/Graphs/improvised/potato.yml | 12 +- .../Prototypes/Roles/Ghostroles/syndicate.yml | 14 +- Resources/Prototypes/Species/gingerbread.yml | 2 +- .../Prototypes/Stacks/science_stacks.yml | 1 - Resources/Prototypes/Tiles/floors.yml | 17 + Resources/Prototypes/Tiles/plating.yml | 11 + .../Prototypes/Tiles/tile_migrations.yml | 14 - Resources/Prototypes/audio.yml | 4 +- .../Interface/Misc/ai_hud.rsi/apc_hacked.png | Bin 561 -> 0 bytes .../Interface/Misc/ai_hud.rsi/electrified.png | Bin 812 -> 0 bytes .../Interface/Misc/ai_hud.rsi/meta.json | 37 - .../Mobs/Animals/reindeer_buck.rsi/meta.json | 52 - .../reindeer_buck.rsi/reindeer_buck.png | Bin 3495 -> 0 bytes .../reindeer_buck.rsi/reindeer_buck_dead.png | Bin 3328 -> 0 bytes .../reindeer_buck.rsi/reindeer_buck_still.png | Bin 1180 -> 0 bytes .../Mobs/Animals/reindeer_doe.rsi/meta.json | 52 - .../Animals/reindeer_doe.rsi/reindeer_doe.png | Bin 3139 -> 0 bytes .../reindeer_doe.rsi/reindeer_doe_dead.png | Bin 3081 -> 0 bytes .../reindeer_doe.rsi/reindeer_doe_still.png | Bin 1035 -> 0 bytes .../gauze.rsi/gauze_lefteye_2.png | Bin 436 -> 428 bytes .../hide.rsi/goliathhide-inhand-left.png | Bin 525 -> 0 bytes .../hide.rsi/goliathhide-inhand-right.png | Bin 535 -> 0 bytes .../Objects/Materials/hide.rsi/meta.json | 12 +- .../materials.rsi/bananium-inhand-left.png | Bin 345 -> 0 bytes .../materials.rsi/bananium-inhand-right.png | Bin 347 -> 0 bytes .../materials.rsi/bones-inhand-left.png | Bin 362 -> 0 bytes .../materials.rsi/bones-inhand-right.png | Bin 369 -> 0 bytes .../materials.rsi/cardboard-inhand-left.png | Bin 418 -> 0 bytes .../materials.rsi/cardboard-inhand-right.png | Bin 441 -> 0 bytes .../materials.rsi/cloth-inhand-left.png | Bin 393 -> 0 bytes .../materials.rsi/cloth-inhand-right.png | Bin 400 -> 0 bytes .../materials.rsi/corgihide-inhand-left.png | Bin 670 -> 0 bytes .../materials.rsi/corgihide-inhand-right.png | Bin 724 -> 0 bytes .../materials.rsi/cotton-inhand-left.png | Bin 262 -> 0 bytes .../materials.rsi/cotton-inhand-right.png | Bin 263 -> 0 bytes .../materials.rsi/durathread-inhand-left.png | Bin 381 -> 0 bytes .../materials.rsi/durathread-inhand-right.png | Bin 372 -> 0 bytes .../Objects/Materials/materials.rsi/meta.json | 66 +- .../materials.rsi/pyrotton-inhand-left.png | Bin 305 -> 0 bytes .../materials.rsi/pyrotton-inhand-right.png | Bin 303 -> 0 bytes .../ore.rsi/bananium-inhand-left.png | Bin 428 -> 0 bytes .../ore.rsi/bananium-inhand-right.png | Bin 435 -> 0 bytes .../Materials/ore.rsi/coal-inhand-left.png | Bin 320 -> 0 bytes .../Materials/ore.rsi/coal-inhand-right.png | Bin 326 -> 0 bytes .../Materials/ore.rsi/diamond-inhand-left.png | Bin 325 -> 0 bytes .../ore.rsi/diamond-inhand-right.png | Bin 334 -> 0 bytes .../Materials/ore.rsi/gold-inhand-left.png | Bin 472 -> 0 bytes .../Materials/ore.rsi/gold-inhand-right.png | Bin 449 -> 0 bytes .../Materials/ore.rsi/iron-inhand-left.png | Bin 321 -> 0 bytes .../Materials/ore.rsi/iron-inhand-right.png | Bin 340 -> 0 bytes .../Objects/Materials/ore.rsi/meta.json | 82 +- .../Materials/ore.rsi/plasma-inhand-left.png | Bin 395 -> 0 bytes .../Materials/ore.rsi/plasma-inhand-right.png | Bin 390 -> 0 bytes .../Materials/ore.rsi/salt-inhand-left.png | Bin 299 -> 0 bytes .../Materials/ore.rsi/salt-inhand-right.png | Bin 300 -> 0 bytes .../Materials/ore.rsi/silver-inhand-left.png | Bin 380 -> 0 bytes .../Materials/ore.rsi/silver-inhand-right.png | Bin 385 -> 0 bytes .../ore.rsi/spacequartz-inhand-left.png | Bin 509 -> 0 bytes .../ore.rsi/spacequartz-inhand-right.png | Bin 469 -> 0 bytes .../Materials/ore.rsi/uranium-inhand-left.png | Bin 453 -> 0 bytes .../ore.rsi/uranium-inhand-right.png | Bin 463 -> 0 bytes .../Objects/Materials/parts.rsi/meta.json | 10 +- .../Materials/parts.rsi/rods-inhand-left.png | Bin 189 -> 0 bytes .../Materials/parts.rsi/rods-inhand-right.png | Bin 192 -> 0 bytes .../Objects/Materials/silk.rsi/meta.json | 12 +- .../Materials/silk.rsi/silk-inhand-left.png | Bin 358 -> 0 bytes .../Materials/silk.rsi/silk-inhand-right.png | Bin 345 -> 0 bytes .../Guns/Basic/wands.rsi/locker-effect.png | Bin 260 -> 0 bytes .../Basic/wands.rsi/locker-inhand-left.png | Bin 794 -> 0 bytes .../Basic/wands.rsi/locker-inhand-right.png | Bin 803 -> 0 bytes .../Weapons/Guns/Basic/wands.rsi/locker.png | Bin 624 -> 0 bytes .../Weapons/Guns/Basic/wands.rsi/meta.json | 16 +- .../Machines/electric_grill.rsi/meta.json | 2 +- .../Machines/uniform_printer.rsi/building.png | Bin 6498 -> 5327 bytes .../Machines/uniform_printer.rsi/icon.png | Bin 5037 -> 2196 bytes .../Atmospherics/gas_pipe_sensor.rsi/base.png | Bin 248 -> 0 bytes .../gas_pipe_sensor.rsi/blank.png | Bin 83 -> 0 bytes .../Atmospherics/gas_pipe_sensor.rsi/icon.png | Bin 523 -> 0 bytes .../gas_pipe_sensor.rsi/lights.png | Bin 183 -> 0 bytes .../gas_pipe_sensor.rsi/meta.json | 29 - .../Wallmounts/posters.rsi/meta.json | 5 +- .../Wallmounts/posters.rsi/poster53_legit.png | Bin 3081 -> 0 bytes Resources/Textures/Tiles/plating_burnt.png | Bin 0 -> 1407 bytes Resources/Textures/Tiles/steel_burnt.png | Bin 0 -> 3689 bytes Resources/migration.yml | 9 - RobustToolbox | 2 +- 469 files changed, 7651 insertions(+), 157990 deletions(-) delete mode 100644 .github/workflows/labeler-review.yml delete mode 100644 Content.Client/Electrocution/ElectrocutionHUDVisualizerSystem.cs delete mode 100644 Content.Client/Singularity/Systems/SingularityGeneratorSystem.cs delete mode 100644 Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.Designer.cs delete mode 100644 Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.cs delete mode 100644 Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.Designer.cs delete mode 100644 Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.cs delete mode 100644 Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.Designer.cs delete mode 100644 Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.cs delete mode 100644 Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.Designer.cs delete mode 100644 Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.cs delete mode 100644 Content.Server/Connection/UserDataExt.cs delete mode 100644 Content.Server/Silicons/Laws/IonStormSystem.cs create mode 100644 Content.Server/Singularity/Components/SingularityGeneratorComponent.cs delete mode 100644 Content.Server/StationEvents/Components/GreytideVirusComponent.cs delete mode 100644 Content.Server/StationEvents/Events/GreytideVirusRule.cs delete mode 100644 Content.Shared.Database/TypedHwid.cs delete mode 100644 Content.Shared/Electrocution/Components/ElectrocutionHUDVisualsComponent.cs delete mode 100644 Content.Shared/Electrocution/Components/ShowElectrocutionHUDComponent.cs delete mode 100644 Content.Shared/GameTicking/PlayerBeforeSpawnEvent.cs delete mode 100644 Content.Shared/GameTicking/PlayerSpawnCompleteEvent.cs create mode 100644 Content.Shared/Item/ItemToggle/Components/ToggleVerbComponent.cs create mode 100644 Content.Shared/Item/ItemToggle/ToggleVerbSystem.cs delete mode 100644 Content.Shared/Movement/Systems/AutoOrientSystem.cs delete mode 100644 Content.Shared/Singularity/Components/SingularityGeneratorComponent.cs delete mode 100644 Content.Shared/Singularity/EntitySystems/SharedSingularityGeneratorSystem.cs delete mode 100644 Content.Shared/Storage/Components/StoreOnCollideComponent.cs delete mode 100644 Content.Shared/Storage/EntitySystems/StoreOnCollideSystem.cs delete mode 100644 Resources/Locale/en-US/atmos/gas-pipe-sensor.ftl create mode 100644 Resources/Locale/en-US/clothing/components/magboots-component.ftl delete mode 100644 Resources/Locale/en-US/datasets/names/borer.ftl delete mode 100644 Resources/Locale/en-US/singularity/components/generator-component.ftl delete mode 100644 Resources/Locale/en-US/ss14-ru/prototypes/corvax/entities/objects/decoration/flora.ftl delete mode 100644 Resources/Locale/en-US/ss14-ru/prototypes/corvax/entities/objects/decoration/garlands.ftl delete mode 100644 Resources/Locale/en-US/ss14-ru/prototypes/corvax/entities/objects/decoration/presents.ftl delete mode 100644 Resources/Locale/en-US/ss14-ru/prototypes/corvax/entities/structures/wallmounts/signs/signs.ftl delete mode 100644 Resources/Locale/en-US/ss14-ru/prototypes/entities/structures/piping/atmospherics/gas_pipe_sensor.ftl delete mode 100644 Resources/Locale/en-US/station-events/events/greytide-virus.ftl delete mode 100644 Resources/Locale/ru-RU/atmos/gas-pipe-sensor.ftl delete mode 100644 Resources/Locale/ru-RU/datasets/names/borer.ftl delete mode 100644 Resources/Locale/ru-RU/singularity/components/generator-component.ftl delete mode 100644 Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/entities/objects/decoration/flora.ftl delete mode 100644 Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/entities/objects/decoration/garlands.ftl delete mode 100644 Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/entities/objects/decoration/presents.ftl delete mode 100644 Resources/Locale/ru-RU/ss14-ru/prototypes/corvax/entities/structures/wallmounts/signs/signs.ftl delete mode 100644 Resources/Locale/ru-RU/ss14-ru/prototypes/entities/structures/piping/atmospherics/gas_pipe_sensor.ftl delete mode 100644 Resources/Locale/ru-RU/station-events/events/greytide-virus.ftl delete mode 100644 Resources/Maps/amber.yml delete mode 100644 Resources/Prototypes/Access/wizard.yml create mode 100644 Resources/Prototypes/Catalog/Cargo/cargo_circuitboards.yml create mode 100644 Resources/Prototypes/Catalog/Fills/Crates/circuitboards.yml delete mode 100644 Resources/Prototypes/Entities/Structures/Piping/Atmospherics/gas_pipe_sensor.yml delete mode 100644 Resources/Prototypes/Maps/amber.yml delete mode 100644 Resources/Prototypes/Recipes/Construction/Graphs/utilities/gas_pipe_sensor.yml delete mode 100644 Resources/Textures/Interface/Misc/ai_hud.rsi/apc_hacked.png delete mode 100644 Resources/Textures/Interface/Misc/ai_hud.rsi/electrified.png delete mode 100644 Resources/Textures/Interface/Misc/ai_hud.rsi/meta.json delete mode 100644 Resources/Textures/Mobs/Animals/reindeer_buck.rsi/meta.json delete mode 100644 Resources/Textures/Mobs/Animals/reindeer_buck.rsi/reindeer_buck.png delete mode 100644 Resources/Textures/Mobs/Animals/reindeer_buck.rsi/reindeer_buck_dead.png delete mode 100644 Resources/Textures/Mobs/Animals/reindeer_buck.rsi/reindeer_buck_still.png delete mode 100644 Resources/Textures/Mobs/Animals/reindeer_doe.rsi/meta.json delete mode 100644 Resources/Textures/Mobs/Animals/reindeer_doe.rsi/reindeer_doe.png delete mode 100644 Resources/Textures/Mobs/Animals/reindeer_doe.rsi/reindeer_doe_dead.png delete mode 100644 Resources/Textures/Mobs/Animals/reindeer_doe.rsi/reindeer_doe_still.png delete mode 100644 Resources/Textures/Objects/Materials/hide.rsi/goliathhide-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/hide.rsi/goliathhide-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/bananium-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/bananium-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/bones-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/bones-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/cardboard-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/cardboard-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/cloth-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/cloth-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/corgihide-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/corgihide-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/cotton-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/cotton-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/durathread-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/durathread-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/pyrotton-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/materials.rsi/pyrotton-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/bananium-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/bananium-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/coal-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/coal-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/diamond-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/diamond-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/gold-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/gold-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/iron-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/iron-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/plasma-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/plasma-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/salt-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/salt-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/silver-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/silver-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/spacequartz-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/spacequartz-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/uranium-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/ore.rsi/uranium-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/parts.rsi/rods-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/parts.rsi/rods-inhand-right.png delete mode 100644 Resources/Textures/Objects/Materials/silk.rsi/silk-inhand-left.png delete mode 100644 Resources/Textures/Objects/Materials/silk.rsi/silk-inhand-right.png delete mode 100644 Resources/Textures/Objects/Weapons/Guns/Basic/wands.rsi/locker-effect.png delete mode 100644 Resources/Textures/Objects/Weapons/Guns/Basic/wands.rsi/locker-inhand-left.png delete mode 100644 Resources/Textures/Objects/Weapons/Guns/Basic/wands.rsi/locker-inhand-right.png delete mode 100644 Resources/Textures/Objects/Weapons/Guns/Basic/wands.rsi/locker.png delete mode 100644 Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/base.png delete mode 100644 Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/blank.png delete mode 100644 Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/icon.png delete mode 100644 Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/lights.png delete mode 100644 Resources/Textures/Structures/Piping/Atmospherics/gas_pipe_sensor.rsi/meta.json delete mode 100644 Resources/Textures/Structures/Wallmounts/posters.rsi/poster53_legit.png create mode 100644 Resources/Textures/Tiles/plating_burnt.png create mode 100644 Resources/Textures/Tiles/steel_burnt.png diff --git a/.github/workflows/labeler-review.yml b/.github/workflows/labeler-review.yml deleted file mode 100644 index 0adfee7d0e5..00000000000 --- a/.github/workflows/labeler-review.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: "Labels: Approved" -on: - pull_request_review: - types: [submitted] -jobs: - add_label: - # Change the repository name after you've made sure the team name is correct for your fork! - if: ${{ (github.repository == 'space-wizards/space-station-14') && (github.event.review.state == 'APPROVED') }} - permissions: - contents: read - pull-requests: write - runs-on: ubuntu-latest - steps: - - uses: tspascoal/get-user-teams-membership@v3 - id: checkUserMember - with: - username: ${{ github.actor }} - team: "content-maintainers,junior-maintainers" - GITHUB_TOKEN: ${{ secrets.LABELER_PAT }} - - if: ${{ steps.checkUserMember.outputs.isTeamMember == 'true' }} - uses: actions-ecosystem/action-add-labels@v1 - with: - labels: "S: Approved" diff --git a/Content.Client/Actions/ActionsSystem.cs b/Content.Client/Actions/ActionsSystem.cs index b594817701e..7b13233bab5 100644 --- a/Content.Client/Actions/ActionsSystem.cs +++ b/Content.Client/Actions/ActionsSystem.cs @@ -258,13 +258,13 @@ public void UnlinkAllActions() public void LinkAllActions(ActionsComponent? actions = null) { - if (_playerManager.LocalEntity is not { } user || - !Resolve(user, ref actions, false)) - { - return; - } + if (_playerManager.LocalEntity is not { } user || + !Resolve(user, ref actions, false)) + { + return; + } - LinkActions?.Invoke(actions); + LinkActions?.Invoke(actions); } public override void Shutdown() diff --git a/Content.Client/Administration/UI/BanPanel/BanPanel.xaml.cs b/Content.Client/Administration/UI/BanPanel/BanPanel.xaml.cs index 3c7322d4739..588d62e5603 100644 --- a/Content.Client/Administration/UI/BanPanel/BanPanel.xaml.cs +++ b/Content.Client/Administration/UI/BanPanel/BanPanel.xaml.cs @@ -22,11 +22,11 @@ namespace Content.Client.Administration.UI.BanPanel; [GenerateTypedNameReferences] public sealed partial class BanPanel : DefaultWindow { - public event Action? BanSubmitted; + public event Action? BanSubmitted; public event Action? PlayerChanged; private string? PlayerUsername { get; set; } private (IPAddress, int)? IpAddress { get; set; } - private ImmutableTypedHwid? Hwid { get; set; } + private byte[]? Hwid { get; set; } private double TimeEntered { get; set; } private uint Multiplier { get; set; } private bool HasBanFlag { get; set; } @@ -371,8 +371,9 @@ private void OnIpChanged() private void OnHwidChanged() { var hwidString = HwidLine.Text; - ImmutableTypedHwid? hwid = null; - if (HwidCheckbox.Pressed && !(string.IsNullOrEmpty(hwidString) && LastConnCheckbox.Pressed) && !ImmutableTypedHwid.TryParse(hwidString, out hwid)) + var length = 3 * (hwidString.Length / 4) - hwidString.TakeLast(2).Count(c => c == '='); + Hwid = new byte[length]; + if (HwidCheckbox.Pressed && !(string.IsNullOrEmpty(hwidString) && LastConnCheckbox.Pressed) && !Convert.TryFromBase64String(hwidString, Hwid, out _)) { ErrorLevel |= ErrorLevelEnum.Hwid; HwidLine.ModulateSelfOverride = Color.Red; @@ -389,7 +390,7 @@ private void OnHwidChanged() Hwid = null; return; } - Hwid = hwid; + Hwid = Convert.FromHexString(hwidString); } private void OnTypeChanged() diff --git a/Content.Client/Administration/UI/Notes/NoteEdit.xaml.cs b/Content.Client/Administration/UI/Notes/NoteEdit.xaml.cs index c8e3afeb22c..a412e47396b 100644 --- a/Content.Client/Administration/UI/Notes/NoteEdit.xaml.cs +++ b/Content.Client/Administration/UI/Notes/NoteEdit.xaml.cs @@ -159,7 +159,6 @@ private void OnTypeChanged(OptionButton.ItemSelectedEventArgs args) SecretCheckBox.Pressed = false; SeverityOption.Disabled = false; PermanentCheckBox.Pressed = true; - SubmitButton.Disabled = true; UpdatePermanentCheckboxFields(); break; case (int) NoteType.Message: // Message: these are shown to the player when they log on diff --git a/Content.Client/Atmos/Components/PipeColorVisualsComponent.cs b/Content.Client/Atmos/Components/PipeColorVisualsComponent.cs index 9b24b1adc25..355b10cb4a4 100644 --- a/Content.Client/Atmos/Components/PipeColorVisualsComponent.cs +++ b/Content.Client/Atmos/Components/PipeColorVisualsComponent.cs @@ -1,4 +1,8 @@ +using Robust.Shared.GameObjects; + namespace Content.Client.Atmos.Components; [RegisterComponent] -public sealed partial class PipeColorVisualsComponent : Component; +public sealed partial class PipeColorVisualsComponent : Component +{ +} diff --git a/Content.Client/Atmos/Consoles/AtmosAlarmEntryContainer.xaml b/Content.Client/Atmos/Consoles/AtmosAlarmEntryContainer.xaml index 3dbe14e6b6d..6bdfb3989f9 100644 --- a/Content.Client/Atmos/Consoles/AtmosAlarmEntryContainer.xaml +++ b/Content.Client/Atmos/Consoles/AtmosAlarmEntryContainer.xaml @@ -1,5 +1,6 @@ @@ -61,7 +62,7 @@ - + diff --git a/Content.Client/Atmos/Consoles/AtmosAlarmEntryContainer.xaml.cs b/Content.Client/Atmos/Consoles/AtmosAlarmEntryContainer.xaml.cs index e533ef2dce0..79bb66560e3 100644 --- a/Content.Client/Atmos/Consoles/AtmosAlarmEntryContainer.xaml.cs +++ b/Content.Client/Atmos/Consoles/AtmosAlarmEntryContainer.xaml.cs @@ -136,9 +136,8 @@ public void UpdateEntry(AtmosAlertsComputerEntry entry, bool isFocus, AtmosAlert GasGridContainer.RemoveAllChildren(); var gasData = focusData.Value.GasData.Where(g => g.Key != Gas.Oxygen); - var keyValuePairs = gasData.ToList(); - if (keyValuePairs.Count == 0) + if (gasData.Count() == 0) { // No other gases var gasLabel = new Label() @@ -159,11 +158,13 @@ public void UpdateEntry(AtmosAlertsComputerEntry entry, bool isFocus, AtmosAlert else { // Add an entry for each gas - foreach ((var gas, (var mol, var percent, var alert)) in keyValuePairs) + foreach ((var gas, (var mol, var percent, var alert)) in gasData) { - FixedPoint2 gasPercent = percent * 100f; + var gasPercent = (FixedPoint2)0f; + gasPercent = percent * 100f; - var gasShorthand = _gasShorthands.GetValueOrDefault(gas, "X"); + if (!_gasShorthands.TryGetValue(gas, out var gasShorthand)) + gasShorthand = "X"; var gasLabel = new Label() { diff --git a/Content.Client/Atmos/Consoles/AtmosAlertsComputerBoundUserInterface.cs b/Content.Client/Atmos/Consoles/AtmosAlertsComputerBoundUserInterface.cs index 6f0e7f80da1..08cae979b9b 100644 --- a/Content.Client/Atmos/Consoles/AtmosAlertsComputerBoundUserInterface.cs +++ b/Content.Client/Atmos/Consoles/AtmosAlertsComputerBoundUserInterface.cs @@ -14,6 +14,8 @@ protected override void Open() _menu = new AtmosAlertsComputerWindow(this, Owner); _menu.OpenCentered(); _menu.OnClose += Close; + + EntMan.TryGetComponent(Owner, out var xform); } protected override void UpdateState(BoundUserInterfaceState state) @@ -22,6 +24,9 @@ protected override void UpdateState(BoundUserInterfaceState state) var castState = (AtmosAlertsComputerBoundInterfaceState) state; + if (castState == null) + return; + EntMan.TryGetComponent(Owner, out var xform); _menu?.UpdateUI(xform?.Coordinates, castState.AirAlarms, castState.FireAlarms, castState.FocusData); } diff --git a/Content.Client/Atmos/Consoles/AtmosAlertsComputerWindow.xaml b/Content.Client/Atmos/Consoles/AtmosAlertsComputerWindow.xaml index e5ede1b92e3..8824a776ee6 100644 --- a/Content.Client/Atmos/Consoles/AtmosAlertsComputerWindow.xaml +++ b/Content.Client/Atmos/Consoles/AtmosAlertsComputerWindow.xaml @@ -1,6 +1,7 @@ (OnInit); - SubscribeLocalEvent(OnAppearanceChanged, after: [typeof(SubFloorHideSystem)]); + SubscribeLocalEvent(OnAppearanceChanged, after: new[] { typeof(SubFloorHideSystem) }); } private void OnInit(EntityUid uid, PipeAppearanceComponent component, ComponentInit args) @@ -82,8 +84,7 @@ private void OnAppearanceChanged(EntityUid uid, PipeAppearanceComponent componen layer.Visible &= visible; - if (!visible) - continue; + if (!visible) continue; layer.Color = color; } diff --git a/Content.Client/Atmos/Monitor/AtmosAlarmableVisualsSystem.cs b/Content.Client/Atmos/Monitor/AtmosAlarmableVisualsSystem.cs index 18ca2234752..019f25f376b 100644 --- a/Content.Client/Atmos/Monitor/AtmosAlarmableVisualsSystem.cs +++ b/Content.Client/Atmos/Monitor/AtmosAlarmableVisualsSystem.cs @@ -1,7 +1,12 @@ +using System.Collections.Generic; using Content.Shared.Atmos.Monitor; using Content.Shared.Power; using Robust.Client.GameObjects; using Robust.Client.Graphics; +using Robust.Shared.GameObjects; +using Robust.Shared.IoC; +using Robust.Shared.Maths; +using Robust.Shared.Serialization.Manager.Attributes; namespace Content.Client.Atmos.Monitor; @@ -22,7 +27,7 @@ protected override void OnAppearanceChange(EntityUid uid, AtmosAlarmableVisualsC { foreach (var visLayer in component.HideOnDepowered) { - if (args.Sprite.LayerMapTryGet(visLayer, out var powerVisibilityLayer)) + if (args.Sprite.LayerMapTryGet(visLayer, out int powerVisibilityLayer)) args.Sprite.LayerSetVisible(powerVisibilityLayer, powered); } } @@ -31,7 +36,7 @@ protected override void OnAppearanceChange(EntityUid uid, AtmosAlarmableVisualsC { foreach (var (setLayer, powerState) in component.SetOnDepowered) { - if (args.Sprite.LayerMapTryGet(setLayer, out var setStateLayer)) + if (args.Sprite.LayerMapTryGet(setLayer, out int setStateLayer)) args.Sprite.LayerSetState(setStateLayer, new RSI.StateId(powerState)); } } diff --git a/Content.Client/Atmos/Monitor/UI/AirAlarmBoundUserInterface.cs b/Content.Client/Atmos/Monitor/UI/AirAlarmBoundUserInterface.cs index 650f96eec97..d9e94e373b4 100644 --- a/Content.Client/Atmos/Monitor/UI/AirAlarmBoundUserInterface.cs +++ b/Content.Client/Atmos/Monitor/UI/AirAlarmBoundUserInterface.cs @@ -1,7 +1,11 @@ using Content.Shared.Atmos; using Content.Shared.Atmos.Monitor; using Content.Shared.Atmos.Monitor.Components; +using Robust.Client.GameObjects; using Robust.Client.UserInterface; +using Robust.Shared.GameObjects; +using Robust.Shared.IoC; +using Robust.Shared.Log; namespace Content.Client.Atmos.Monitor.UI; @@ -74,7 +78,6 @@ protected override void Dispose(bool disposing) { base.Dispose(disposing); - if (disposing) - _window?.Dispose(); + if (disposing) _window?.Dispose(); } } diff --git a/Content.Client/Atmos/Monitor/UI/AirAlarmWindow.xaml.cs b/Content.Client/Atmos/Monitor/UI/AirAlarmWindow.xaml.cs index 65164983865..e1425ac491b 100644 --- a/Content.Client/Atmos/Monitor/UI/AirAlarmWindow.xaml.cs +++ b/Content.Client/Atmos/Monitor/UI/AirAlarmWindow.xaml.cs @@ -8,6 +8,7 @@ using Content.Shared.Atmos.Piping.Unary.Components; using Content.Shared.Temperature; using Robust.Client.AutoGenerated; +using Robust.Client.GameObjects; using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.XAML; @@ -58,7 +59,7 @@ public AirAlarmWindow() AirAlarmMode.Fill => "air-alarm-ui-mode-fill", AirAlarmMode.Panic => "air-alarm-ui-mode-panic", AirAlarmMode.None => "air-alarm-ui-mode-none", - _ => "error", + _ => "error" }; _modes.AddItem(Loc.GetString(text)); } @@ -69,7 +70,7 @@ public AirAlarmWindow() AirAlarmModeChanged!.Invoke((AirAlarmMode) args.Id); }; - _autoMode.OnToggled += _ => + _autoMode.OnToggled += args => { AutoModeChanged!.Invoke(_autoMode.Pressed); }; @@ -175,18 +176,22 @@ public void UpdateDeviceData(string addr, IAtmosDeviceData device) public static Color ColorForThreshold(float amount, AtmosAlarmThreshold threshold) { - threshold.CheckThreshold(amount, out var curAlarm); + threshold.CheckThreshold(amount, out AtmosAlarmType curAlarm); return ColorForAlarm(curAlarm); } public static Color ColorForAlarm(AtmosAlarmType curAlarm) { - return curAlarm switch + if(curAlarm == AtmosAlarmType.Danger) { - AtmosAlarmType.Danger => StyleNano.DangerousRedFore, - AtmosAlarmType.Warning => StyleNano.ConcerningOrangeFore, - _ => StyleNano.GoodGreenFore, - }; + return StyleNano.DangerousRedFore; + } + else if(curAlarm == AtmosAlarmType.Warning) + { + return StyleNano.ConcerningOrangeFore; + } + + return StyleNano.GoodGreenFore; } diff --git a/Content.Client/Atmos/Monitor/UI/Widgets/PumpControl.xaml.cs b/Content.Client/Atmos/Monitor/UI/Widgets/PumpControl.xaml.cs index 2cd51d6fc7f..17b03b84684 100644 --- a/Content.Client/Atmos/Monitor/UI/Widgets/PumpControl.xaml.cs +++ b/Content.Client/Atmos/Monitor/UI/Widgets/PumpControl.xaml.cs @@ -1,8 +1,12 @@ +using System; +using Content.Shared.Atmos.Monitor; using Content.Shared.Atmos.Monitor.Components; using Content.Shared.Atmos.Piping.Unary.Components; using Robust.Client.AutoGenerated; using Robust.Client.UserInterface.Controls; +using Robust.Client.UserInterface.CustomControls; using Robust.Client.UserInterface.XAML; +using Robust.Shared.Localization; namespace Content.Client.Atmos.Monitor.UI.Widgets; @@ -21,7 +25,7 @@ public sealed partial class PumpControl : BoxContainer private OptionButton _pressureCheck => CPressureCheck; private FloatSpinBox _externalBound => CExternalBound; private FloatSpinBox _internalBound => CInternalBound; - private Button _copySettings => CCopySettings; + private Button _copySettings => CCopySettings; public PumpControl(GasVentPumpData data, string address) { @@ -82,7 +86,7 @@ public PumpControl(GasVentPumpData data, string address) _data.PressureChecks = (VentPressureBound) args.Id; PumpDataChanged?.Invoke(_address, _data); }; - + _copySettings.OnPressed += _ => { PumpDataCopied?.Invoke(_data); diff --git a/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml.cs b/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml.cs index c16ff688c93..f2241bcd8da 100644 --- a/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml.cs +++ b/Content.Client/Atmos/Monitor/UI/Widgets/ScrubberControl.xaml.cs @@ -1,9 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; using Content.Shared.Atmos; +using Content.Shared.Atmos.Monitor; using Content.Shared.Atmos.Monitor.Components; using Content.Shared.Atmos.Piping.Unary.Components; using Robust.Client.AutoGenerated; using Robust.Client.UserInterface.Controls; +using Robust.Client.UserInterface.CustomControls; using Robust.Client.UserInterface.XAML; +using Robust.Shared.Localization; namespace Content.Client.Atmos.Monitor.UI.Widgets; @@ -21,7 +27,7 @@ public sealed partial class ScrubberControl : BoxContainer private OptionButton _pumpDirection => CPumpDirection; private FloatSpinBox _volumeRate => CVolumeRate; private CheckBox _wideNet => CWideNet; - private Button _copySettings => CCopySettings; + private Button _copySettings => CCopySettings; private GridContainer _gases => CGasContainer; private Dictionary _gasControls = new(); @@ -71,7 +77,7 @@ public ScrubberControl(GasVentScrubberData data, string address) _data.PumpDirection = (ScrubberPumpDirection) args.Id; ScrubberDataChanged?.Invoke(_address, _data); }; - + _copySettings.OnPressed += _ => { ScrubberDataCopied?.Invoke(_data); diff --git a/Content.Client/Atmos/Monitor/UI/Widgets/SensorInfo.xaml.cs b/Content.Client/Atmos/Monitor/UI/Widgets/SensorInfo.xaml.cs index 9e60b6cea62..da602cd7479 100644 --- a/Content.Client/Atmos/Monitor/UI/Widgets/SensorInfo.xaml.cs +++ b/Content.Client/Atmos/Monitor/UI/Widgets/SensorInfo.xaml.cs @@ -43,8 +43,7 @@ public SensorInfo(AtmosSensorData data, string address) var label = new RichTextLabel(); var fractionGas = amount / data.TotalMoles; - label.SetMarkup(Loc.GetString("air-alarm-ui-gases-indicator", - ("gas", $"{gas}"), + label.SetMarkup(Loc.GetString("air-alarm-ui-gases-indicator", ("gas", $"{gas}"), ("color", AirAlarmWindow.ColorForThreshold(fractionGas, data.GasThresholds[gas])), ("amount", $"{amount:0.####}"), ("percentage", $"{(100 * fractionGas):0.##}"))); @@ -54,9 +53,9 @@ public SensorInfo(AtmosSensorData data, string address) var threshold = data.GasThresholds[gas]; var gasThresholdControl = new ThresholdControl(Loc.GetString($"air-alarm-ui-thresholds-gas-title", ("gas", $"{gas}")), threshold, AtmosMonitorThresholdType.Gas, gas, 100); gasThresholdControl.Margin = new Thickness(20, 2, 2, 2); - gasThresholdControl.ThresholdDataChanged += (type, alarmThreshold, arg3) => + gasThresholdControl.ThresholdDataChanged += (type, threshold, arg3) => { - OnThresholdUpdate!(_address, type, alarmThreshold, arg3); + OnThresholdUpdate!(_address, type, threshold, arg3); }; _gasThresholds.Add(gas, gasThresholdControl); @@ -65,8 +64,7 @@ public SensorInfo(AtmosSensorData data, string address) _pressureThreshold = new ThresholdControl(Loc.GetString("air-alarm-ui-thresholds-pressure-title"), data.PressureThreshold, AtmosMonitorThresholdType.Pressure); PressureThresholdContainer.AddChild(_pressureThreshold); - _temperatureThreshold = new ThresholdControl(Loc.GetString("air-alarm-ui-thresholds-temperature-title"), - data.TemperatureThreshold, + _temperatureThreshold = new ThresholdControl(Loc.GetString("air-alarm-ui-thresholds-temperature-title"), data.TemperatureThreshold, AtmosMonitorThresholdType.Temperature); TemperatureThresholdContainer.AddChild(_temperatureThreshold); @@ -105,8 +103,7 @@ public void ChangeData(AtmosSensorData data) } var fractionGas = amount / data.TotalMoles; - label.SetMarkup(Loc.GetString("air-alarm-ui-gases-indicator", - ("gas", $"{gas}"), + label.SetMarkup(Loc.GetString("air-alarm-ui-gases-indicator", ("gas", $"{gas}"), ("color", AirAlarmWindow.ColorForThreshold(fractionGas, data.GasThresholds[gas])), ("amount", $"{amount:0.####}"), ("percentage", $"{(100 * fractionGas):0.##}"))); diff --git a/Content.Client/Atmos/Monitor/UI/Widgets/ThresholdBoundControl.xaml.cs b/Content.Client/Atmos/Monitor/UI/Widgets/ThresholdBoundControl.xaml.cs index 55f7c008987..3612d84de4c 100644 --- a/Content.Client/Atmos/Monitor/UI/Widgets/ThresholdBoundControl.xaml.cs +++ b/Content.Client/Atmos/Monitor/UI/Widgets/ThresholdBoundControl.xaml.cs @@ -1,4 +1,7 @@ +using Content.Client.Message; +using Content.Shared.Atmos; using Content.Shared.Atmos.Monitor; +using Content.Shared.Temperature; using Robust.Client.AutoGenerated; using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.XAML; diff --git a/Content.Client/Atmos/Monitor/UI/Widgets/ThresholdControl.xaml.cs b/Content.Client/Atmos/Monitor/UI/Widgets/ThresholdControl.xaml.cs index 651620f3e25..78c73fa573a 100644 --- a/Content.Client/Atmos/Monitor/UI/Widgets/ThresholdControl.xaml.cs +++ b/Content.Client/Atmos/Monitor/UI/Widgets/ThresholdControl.xaml.cs @@ -1,8 +1,12 @@ +using System; using Content.Shared.Atmos; using Content.Shared.Atmos.Monitor; +using Content.Shared.Atmos.Monitor.Components; using Robust.Client.AutoGenerated; using Robust.Client.UserInterface.Controls; +using Robust.Client.UserInterface.CustomControls; using Robust.Client.UserInterface.XAML; +using Robust.Shared.Localization; // holy FUCK // this technically works because some of this you can *not* do in XAML but holy FUCK @@ -111,38 +115,29 @@ public ThresholdControl(string name, AtmosAlarmThreshold threshold, AtmosMonitor _enabled.Pressed = !_threshold.Ignore; } - private string LabelForBound(string boundType) //, DebugMessage)> state) => { if (_system.TileData.TryGetValue(uid, out var data)) diff --git a/Content.Client/Clothing/FlippableClothingVisualizerSystem.cs b/Content.Client/Clothing/FlippableClothingVisualizerSystem.cs index 1f09ae9eebb..2c3afb0324f 100644 --- a/Content.Client/Clothing/FlippableClothingVisualizerSystem.cs +++ b/Content.Client/Clothing/FlippableClothingVisualizerSystem.cs @@ -7,7 +7,7 @@ namespace Content.Client.Clothing; -public sealed class FlippableClothingVisualizerSystem : VisualizerSystem +public sealed class FlippableClothingVisualizerSystem : VisualizerSystem { [Dependency] private readonly SharedItemSystem _itemSys = default!; diff --git a/Content.Client/Construction/UI/ConstructionMenu.xaml b/Content.Client/Construction/UI/ConstructionMenu.xaml index a934967a533..6e4438cf6fd 100644 --- a/Content.Client/Construction/UI/ConstructionMenu.xaml +++ b/Content.Client/Construction/UI/ConstructionMenu.xaml @@ -1,20 +1,15 @@ - + - - - - - -