From 08c526364a042da189e97a8117c63350f089da8e Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Tue, 17 Dec 2024 04:46:05 +0000 Subject: [PATCH] Revert "upstream merge 7/12 (#2389)" This reverts commit 9c408f67d273482aed16a1d8dde84c0b9b25485b. --- Content.Client/Actions/ActionsSystem.cs | 12 +- .../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 +- .../EntitySystems/GasPressurePumpSystem.cs | 23 - .../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 +- .../UI/GasPressurePumpBoundUserInterface.cs | 90 +- .../Atmos/UI/GasPressurePumpWindow.xaml | 22 +- .../Atmos/UI/GasPressurePumpWindow.xaml.cs | 35 +- .../FlippableClothingVisualizerSystem.cs | 2 +- .../Construction/UI/ConstructionMenu.xaml | 13 +- .../Construction/UI/ConstructionMenu.xaml.cs | 17 +- .../UI/ConstructionMenuPresenter.cs | 102 +- .../Crayon/UI/CrayonBoundUserInterface.cs | 12 +- Content.Client/Crayon/UI/CrayonWindow.xaml | 11 +- Content.Client/Crayon/UI/CrayonWindow.xaml.cs | 138 +- .../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 +- Content.Client/Lobby/LobbyUIController.cs | 2 +- .../Lobby/UI/CharacterSetupGui.xaml | 6 - .../Lobby/UI/CharacterSetupGui.xaml.cs | 27 +- Content.Client/Lobby/UI/LobbyGui.xaml.cs | 1 + .../Overlays/StencilOverlay.Weather.cs | 2 +- Content.Client/Overlays/StencilOverlay.cs | 4 +- .../Overlays/StencilOverlaySystem.cs | 3 +- Content.Client/Sandbox/SandboxSystem.cs | 7 +- .../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/Sandbox/SandboxUIController.cs | 16 +- .../Sandbox/Windows/SandboxWindow.xaml | 18 +- .../Systems/Storage/StorageUIController.cs | 6 + Content.Client/Wires/UI/WiresMenu.cs | 8 +- .../Content.PatreonParser.csproj | 2 +- .../Systems/AdminVerbSystem.Smites.cs | 1 - .../Administration/Systems/SuperBonkSystem.cs | 22 +- .../Announcements/AnnounceCommand.cs | 3 +- .../Effects/GasProducerAnomalySystem.cs | 8 +- Content.Server/Antag/AntagSelectionSystem.cs | 2 +- .../Components/AtmosMonitorComponent.cs | 19 +- .../Monitor/Systems/AtmosMonitoringSystem.cs | 18 +- .../Components/GasPressurePumpComponent.cs | 31 + .../EntitySystems/GasPressurePumpSystem.cs | 176 +- .../Binary/EntitySystems/GasRecyclerSystem.cs | 1 - .../EntitySystems/GasVolumePumpSystem.cs | 1 - .../Piping/Components/AtmosDeviceComponent.cs | 12 + .../Piping/EntitySystems/AtmosDeviceSystem.cs | 1 - .../Trinary/EntitySystems/GasFilterSystem.cs | 1 - .../Trinary/EntitySystems/GasMixerSystem.cs | 1 - .../PressureControlledValveSystem.cs | 1 - .../Unary/EntitySystems/GasVentPumpSystem.cs | 1 - .../EntitySystems/GasVentScrubberSystem.cs | 1 - .../Bed/Cryostorage/CryostorageSystem.cs | 4 +- .../Botany/Systems/SeedExtractorSystem.cs | 1 - Content.Server/Cargo/Systems/PricingSystem.cs | 2 +- .../EntitySystems/HypospraySystem.cs | 41 +- Content.Server/Cluwne/CluwneSystem.cs | 1 - Content.Server/Crayon/CrayonSystem.cs | 2 - .../DeviceLinking/Systems/LogicGateSystem.cs | 4 - .../Systems/NetworkConfiguratorSystem.cs | 43 +- Content.Server/Dragon/DragonSystem.cs | 3 +- .../Electrocution/ElectrocutionSystem.cs | 15 +- .../{DeltaV => }/Execution/ExecutionSystem.cs | 27 +- .../Fluids/EntitySystems/DrainSystem.cs | 62 +- .../GameTicking/GameTicker.Lobby.cs | 2 +- .../GameTicking/GameTicker.Spawning.cs | 69 +- .../GameTicking/Rules/DeathMatchRuleSystem.cs | 1 - .../GameTicking/Rules/LoadMapRuleSystem.cs | 6 +- .../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 +- Content.Server/Medical/DefibrillatorSystem.cs | 70 +- .../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 +- .../Nutrition/EntitySystems/UtensilSystem.cs | 2 +- .../Systems/KillPersonConditionSystem.cs | 2 +- .../Physics/Controllers/MoverController.cs | 14 +- .../Power/Components/CableComponent.cs | 5 +- .../Power/EntitySystems/CableSystem.cs | 5 +- Content.Server/Power/PowerWireAction.cs | 10 +- .../DungeonJob/DungeonJob.PostGenBiome.cs | 25 +- .../DungeonJob/DungeonJob.PostGenWallMount.cs | 6 +- .../Projectiles/ProjectileSystem.cs | 5 +- .../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 +- .../Silicons/Laws/StartIonStormedSystem.cs | 37 - .../SingularityGeneratorComponent.cs | 33 + .../EntitySystems/EventHorizonSystem.cs | 2 +- .../SingularityGeneratorSystem.cs | 83 +- .../Components/GreytideVirusComponent.cs | 38 - .../StationEvents/EventManagerSystem.cs | 10 +- .../StationEvents/Events/GreytideVirusRule.cs | 96 - .../StationEvents/Events/IonStormRule.cs | 264 +- .../Systems/StationRecordsSystem.cs | 3 +- .../Store/Systems/StoreSystem.Ui.cs | 5 - Content.Server/Traits/TraitSystem.cs | 3 +- .../VendingMachines/VendingMachineSystem.cs | 7 - .../Weapons/Ranged/Systems/GunSystem.cs | 30 +- Content.Server/Wires/ComponentWireAction.cs | 9 +- .../Effects/Systems/ThrowArtifactSystem.cs | 8 +- Content.Shared.Database/LogType.cs | 6 +- Content.Shared/Anomaly/SharedAnomalySystem.cs | 8 +- .../Components/GasPressurePumpComponent.cs | 25 - .../SharedGasPressurePumpSystem.cs | 97 - .../SharedGasPressurePumpComponent.cs | 56 +- .../Components/AtmosDeviceDisabledEvent.cs | 7 - .../Components/AtmosDeviceEnabledEvent.cs | 7 - .../Buckle/SharedBuckleSystem.Interaction.cs | 3 +- Content.Shared/CCVar/CCVars.Game.Infolinks.cs | 6 - Content.Shared/CCVar/CCVars.Shuttle.cs | 6 - .../Components/HyposprayComponent.cs | 5 + .../Chemistry/Events/HyposprayEvents.cs | 38 - .../Climbing/Components/BonkableComponent.cs | 34 +- .../Climbing/Events/BeforeClimbEvents.cs | 36 - Content.Shared/Climbing/Systems/BonkSystem.cs | 130 + .../Climbing/Systems/ClimbSystem.cs | 16 - .../Components/ToggleClothingComponent.cs | 6 - .../EntitySystems/ToggleClothingSystem.cs | 4 - Content.Shared/Clumsy/ClumsyComponent.cs | 103 - Content.Shared/Clumsy/ClumsySystem.cs | 164 - .../Crayon/SharedCrayonComponent.cs | 44 +- Content.Shared/Cuffs/SharedCuffableSystem.cs | 6 - .../DeviceLinking/SharedLogicGate.cs | 10 +- .../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/Components/ClumsyComponent.cs | 24 + .../SharedInteractionSystem.Clumsy.cs | 26 + .../Interaction/SharedInteractionSystem.cs | 4 +- .../Inventory/InventorySystem.Equip.cs | 2 - .../Inventory/InventorySystem.Relay.cs | 11 +- .../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 +- .../Events/RandomGlobalSpawnSpellEvent.cs | 23 - Content.Shared/Magic/SharedMagicSystem.cs | 43 +- Content.Shared/Medical/DefibrillatorEvents.cs | 39 - .../Medical/TargetDefibrillatedEvent.cs | 4 + Content.Shared/Mind/SharedMindSystem.cs | 19 +- .../Components/AutoOrientComponent.cs | 5 +- .../Movement/Systems/AutoOrientSystem.cs | 51 - .../Systems/SharedMoverController.Input.cs | 7 + .../Parallax/Biomes/SharedBiomeSystem.cs | 2 +- .../Loadouts/RoleLoadoutPrototype.cs | 2 +- .../Procedural/PostGeneration/BiomeDunGen.cs | 7 - Content.Shared/Random/Rules/GridInRange.cs | 2 +- .../Random/Rules/NearbyTilesPercent.cs | 3 +- Content.Shared/Salvage/SharedSalvageSystem.cs | 4 +- .../Components/EmagSiliconLawComponent.cs | 7 + .../Components/SiliconLawProviderComponent.cs | 6 - .../Components/StartIonStormedComponent.cs | 17 - .../SharedStationAiSystem.Airlock.cs | 4 +- .../StationAi/SharedStationAiSystem.cs | 3 - .../StationAi/StationAiVisionSystem.cs | 11 +- .../SingularityGeneratorComponent.cs | 69 - .../SharedSingularityGeneratorSystem.cs | 28 - .../Station/SharedStationSpawningSystem.cs | 21 +- .../Components/StoreOnCollideComponent.cs | 34 - .../SharedEntityStorageSystem.cs | 8 - .../EntitySystems/SharedStorageSystem.cs | 14 + .../EntitySystems/StoreOnCollideSystem.cs | 71 - Content.Shared/Storage/StorageComponent.cs | 14 + Content.Shared/Store/ListingPrototype.cs | 16 +- .../Strip/SharedStrippableSystem.cs | 14 +- .../Assorted/PermanentBlindnessSystem.cs | 15 +- .../ActivatableUIRequiresAnchorComponent.cs | 13 - .../ActivatableUIRequiresAnchorSystem.cs | 41 - .../Ranged/Events/BeforeGunShootEvent.cs | 20 - .../Audio/StationEvents/attributions.yml | 7 +- Resources/Audio/StationEvents/nukemass.ogg | Bin 2381020 -> 0 bytes Resources/Changelog/Admin.yml | 15 - Resources/Changelog/Changelog.yml | 1164 ++--- Resources/Locale/en-US/GPS/handheld-gps.ftl | 4 +- .../Locale/en-US/atmos/gas-pipe-sensor.ftl | 5 - .../bonk/components/bonkable-component.ftl | 6 +- .../en-US/chat/commands/ghost-command.ftl | 1 - .../components/magboots-component.ftl | 3 + .../en-US/components/gas-pump-component.ftl | 2 + .../construction/ui/construction-menu.ftl | 1 - .../en-US/contraband/contraband-severity.ftl | 2 +- .../Locale/en-US/crayon/crayon-component.ftl | 7 - Resources/Locale/en-US/datasets/names/ai.ftl | 139 - .../Locale/en-US/datasets/names/borer.ftl | 69 - .../Locale/en-US/deltav/datasets/names/ai.ftl | 67 - .../station-events/events/greytide-virus.ftl | 1 - .../fire-extinguisher-component.ftl | 3 +- .../ghost/roles/ghost-role-component.ftl | 9 +- Resources/Locale/en-US/info/server-info.ftl | 1 - .../interaction-popup-component.ftl | 2 - Resources/Locale/en-US/lobby/lobby-gui.ftl | 2 +- .../Locale/en-US/magic/spells-actions.ftl | 4 +- .../en-US/navmap-beacons/station-beacons.ftl | 1 - .../humanoid-character-profile.ftl | 3 +- .../preferences/ui/character-setup-gui.ftl | 3 +- .../ui/humanoid-profile-editor.ftl | 2 +- .../en-US/prototypes/access/accesses.ftl | 2 - .../Locale/en-US/sandbox/sandbox-manager.ftl | 8 +- .../Locale/en-US/server-info/info-links.ftl | 1 - Resources/Locale/en-US/shuttles/console.ftl | 2 +- .../components/generator-component.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 | 11 +- .../Locale/en-US/store/uplink-catalog.ftl | 6 +- Resources/Locale/en-US/ui/general.ftl | 2 - Resources/Locale/en-US/wires/wire-names.ftl | 1 - Resources/Maps/Misc/terminal.yml | 4527 ++--------------- Resources/Maps/Shuttles/arrivals.yml | 1363 +---- Resources/Maps/Shuttles/infiltrator.yml | 153 +- Resources/Migrations/migration.yml | 9 - Resources/Prototypes/Access/wizard.yml | 3 - Resources/Prototypes/Actions/crit.yml | 4 - .../Prototypes/Catalog/Cargo/cargo_armory.yml | 10 - .../Catalog/Cargo/cargo_circuitboards.yml | 9 + .../Catalog/Cargo/cargo_emergency.yml | 2 +- .../Catalog/Cargo/cargo_engines.yml | 2 +- .../Catalog/Cargo/cargo_science.yml | 10 - .../Catalog/Cargo/cargo_security.yml | 10 + .../Catalog/Fills/Backpacks/duffelbag.yml | 2 +- .../Catalog/Fills/Boxes/emergency.yml | 29 +- .../Catalog/Fills/Boxes/syndicate.yml | 2 +- .../Catalog/Fills/Crates/armory.yml | 19 - .../Catalog/Fills/Crates/circuitboards.yml | 12 + .../Catalog/Fills/Crates/emergency.yml | 6 +- .../Catalog/Fills/Crates/engines.yml | 6 +- .../Catalog/Fills/Crates/science.yml | 12 - .../Catalog/Fills/Crates/security.yml | 20 + .../Catalog/Fills/Crates/service.yml | 1 - .../Catalog/Fills/Lockers/security.yml | 2 + .../Prototypes/Catalog/spellbook_catalog.yml | 43 +- Resources/Prototypes/Datasets/Names/ai.yml | 114 +- .../Datasets/Names/arachnid_first.yml | 1 + Resources/Prototypes/Datasets/Names/borer.yml | 75 +- Resources/Prototypes/Datasets/Names/diona.yml | 174 +- .../Datasets/Names/fake_human_first.yml | 1 + .../Datasets/Names/fake_human_last.yml | 1 + Resources/Prototypes/Datasets/Names/last.yml | 1 + Resources/Prototypes/Datasets/Names/vox.yml | 1 + Resources/Prototypes/Decals/crayons.yml | 552 +- .../Prototypes/DeltaV/Datasets/Names/ai.yml | 70 +- .../DeltaV/Datasets/Names/rodentia_female.yml | 6 +- .../DeltaV/Datasets/Names/rodentia_last.yml | 3 +- .../DeltaV/Datasets/Names/rodentia_male.yml | 6 +- .../Datasets/Names/vulpkanin_female.yml | 2 +- .../DeltaV/Datasets/Names/vulpkanin_last.yml | 2 +- .../DeltaV/Datasets/Names/vulpkanin_male.yml | 2 +- .../Weapons/Guns/Projectiles/projectiles.yml | 47 - .../Prototypes/DeltaV/Species/rodentia.yml | 6 +- .../Prototypes/DeltaV/Species/vulpkanin.yml | 6 +- .../Entities/Clothing/Hands/gloves.yml | 1 - .../Entities/Clothing/Head/helmets.yml | 1 - .../Entities/Clothing/Multiple/towel.yml | 2 - .../Entities/Clothing/OuterClothing/coats.yml | 2 +- .../Entities/Clothing/OuterClothing/suits.yml | 1 - .../Entities/Clothing/Shoes/magboots.yml | 3 +- .../Markers/Spawners/Random/posters.yml | 15 +- .../Entities/Markers/Spawners/ghost_roles.yml | 20 +- .../Mobs/Cyborgs/base_borg_chassis.yml | 23 - .../Entities/Mobs/Cyborgs/borg_chassis.yml | 32 - .../Prototypes/Entities/Mobs/NPCs/animals.yml | 6 +- .../Prototypes/Entities/Mobs/NPCs/xeno.yml | 2 +- .../Entities/Mobs/Player/guardian.yml | 2 +- .../Entities/Mobs/Player/observer.yml | 1 - .../Entities/Mobs/Player/silicon.yml | 39 +- .../Prototypes/Entities/Mobs/Species/vox.yml | 12 - .../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 +- .../Objects/Devices/station_beacon.yml | 8 - .../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 - .../Entities/Objects/Power/lights.yml | 17 - .../Objects/Specific/Medical/healing.yml | 2 +- .../Objects/Specific/Medical/hypospray.yml | 2 +- .../Objects/Specific/Research/anomaly.yml | 5 - .../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 | 52 +- .../Objects/Weapons/Guns/SMGs/smgs.yml | 2 +- .../Objects/Weapons/Melee/e_sword.yml | 1 - .../Entities/Objects/Weapons/Melee/knife.yml | 9 +- .../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/SecretDoor/secret_door.yml | 1 - .../Doors/Windoors/base_structurewindoors.yml | 37 - .../Furniture/Tables/base_structuretables.yml | 2 + .../Structures/Lighting/base_lighting.yml | 21 - .../Entities/Structures/Machines/lathe.yml | 1 - .../Entities/Structures/Machines/nuke.yml | 8 +- .../Structures/Piping/Atmospherics/binary.yml | 7 +- .../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 - .../Closets/Lockers/base_structurelockers.yml | 5 - .../Storage/Closets/base_structureclosets.yml | 19 - .../Structures/Wallmounts/Signs/bar_sign.yml | 7 - .../Structures/Wallmounts/Signs/posters.yml | 9 - .../Entities/Structures/Walls/fence_metal.yml | 14 +- .../Entities/Structures/Walls/grille.yml | 10 +- .../Prototypes/Entities/Structures/gates.yml | 72 +- Resources/Prototypes/GameRules/events.yml | 44 - .../Prototypes/Loadouts/role_loadouts.yml | 2 +- Resources/Prototypes/Magic/event_spells.yml | 194 +- .../Nyanotrasen/Datasets/Names/oni_female.yml | 2 +- .../Datasets/Names/oni_location.yml | 2 +- .../Nyanotrasen/Datasets/Names/oni_male.yml | 2 +- .../Nyanotrasen/Entities/Mobs/NPCs/xeno.yml | 121 +- .../Prototypes/Nyanotrasen/Species/Oni.yml | 6 +- .../Construction/Graphs/machines/cyborg.yml | 3 - .../Graphs/utilities/gas_pipe_sensor.yml | 29 - .../Graphs/utilities/lighting.yml | 10 +- .../Recipes/Construction/utilities.yml | 15 - .../Recipes/Cooking/meal_recipes.yml | 35 - Resources/Prototypes/Recipes/Lathes/cargo.yml | 2 +- .../Prototypes/Recipes/Lathes/chemistry.yml | 2 +- .../Prototypes/Recipes/Lathes/devices.yml | 56 +- .../Prototypes/Recipes/Lathes/mech_parts.yml | 102 +- Resources/Prototypes/Recipes/Lathes/misc.yml | 98 +- .../Prototypes/Recipes/Lathes/powercells.yml | 2 +- .../Recipes/Lathes/rehydrateable.yml | 31 +- .../Prototypes/Recipes/Lathes/salvage.yml | 5 +- Resources/Prototypes/Recipes/Lathes/tiles.yml | 252 +- .../Prototypes/Recipes/Reactions/drinks.yml | 2 +- .../Prototypes/Roles/Ghostroles/syndicate.yml | 14 +- .../Prototypes/Roles/Jobs/Civilian/clown.yml | 2 +- .../Prototypes/SoundCollections/NukeMusic.yml | 5 +- Resources/Prototypes/Wires/layouts.yml | 8 - Resources/Prototypes/audio.yml | 4 +- Resources/ServerInfo/Guidebook/Mobs/Vox.xml | 20 +- .../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 - .../Misc/job_icons.rsi/ServiceWorker.png | Bin 209 -> 189 bytes .../Interface/Misc/job_icons.rsi/meta.json | 2 +- .../gauze.rsi/gauze_lefteye_2.png | Bin 436 -> 428 bytes .../Mobs/Silicon/chassis.rsi/derelict.png | Bin 11838 -> 0 bytes .../Mobs/Silicon/chassis.rsi/derelict_e.png | Bin 5508 -> 0 bytes .../Mobs/Silicon/chassis.rsi/derelict_e_r.png | Bin 5515 -> 0 bytes .../Silicon/chassis.rsi/derelict_icon.png | Bin 6429 -> 0 bytes .../Mobs/Silicon/chassis.rsi/derelict_l.png | Bin 6986 -> 0 bytes .../Mobs/Silicon/chassis.rsi/meta.json | 22 +- .../Objects/Devices/gates.rsi/logic_a.png | Bin 7028 -> 0 bytes .../Objects/Devices/gates.rsi/logic_b.png | Bin 6960 -> 0 bytes .../Objects/Devices/gates.rsi/logic_o.png | Bin 6984 -> 0 bytes .../Objects/Devices/gates.rsi/meta.json | 11 +- .../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 .../Misc/id_cards.rsi/idintern-service.png | Bin 200 -> 199 bytes .../Objects/Misc/id_cards.rsi/meta.json | 2 +- .../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 +- .../Weapons/Melee/gorilla.rsi/icon.png | Bin 775 -> 753 bytes .../Weapons/Melee/gorilla.rsi/meta.json | 7 +- .../Weapons/Melee/gorilla.rsi/storage.png | Bin 624 -> 0 bytes .../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 - .../Storage/Crates/labels.rsi/bounty.png | Bin 192 -> 593 bytes .../Crates/labels.rsi/captains_paper.png | Bin 192 -> 594 bytes .../Storage/Crates/labels.rsi/invoice.png | Bin 192 -> 592 bytes .../Storage/Crates/labels.rsi/meta.json | 4 +- .../Storage/Crates/labels.rsi/paper.png | Bin 182 -> 592 bytes .../Storage/closet_labels.rsi/bounty.png | Bin 185 -> 0 bytes .../closet_labels.rsi/captains_paper.png | Bin 185 -> 0 bytes .../Storage/closet_labels.rsi/invoice.png | Bin 185 -> 0 bytes .../Storage/closet_labels.rsi/meta.json | 23 - .../Storage/closet_labels.rsi/paper.png | Bin 179 -> 0 bytes .../Wallmounts/air_monitors.rsi/alarm0.png | Bin 7073 -> 2670 bytes .../Wallmounts/air_monitors.rsi/alarm1.png | Bin 6210 -> 2102 bytes .../Wallmounts/air_monitors.rsi/alarm2.png | Bin 6253 -> 2144 bytes .../Wallmounts/air_monitors.rsi/alarm_b1.png | Bin 5459 -> 1309 bytes .../Wallmounts/air_monitors.rsi/alarm_b2.png | Bin 5524 -> 1383 bytes .../air_monitors.rsi/alarm_bitem.png | Bin 4537 -> 387 bytes .../Wallmounts/air_monitors.rsi/alarmp.png | Bin 5349 -> 1250 bytes .../Wallmounts/air_monitors.rsi/alarmx.png | Bin 5714 -> 1597 bytes .../Wallmounts/air_monitors.rsi/meta.json | 2 +- .../Wallmounts/posters.rsi/meta.json | 5 +- .../Wallmounts/posters.rsi/poster53_legit.png | Bin 3081 -> 0 bytes 504 files changed, 4221 insertions(+), 11860 deletions(-) delete mode 100644 Content.Client/Atmos/EntitySystems/GasPressurePumpSystem.cs delete mode 100644 Content.Client/Electrocution/ElectrocutionHUDVisualizerSystem.cs delete mode 100644 Content.Client/Singularity/Systems/SingularityGeneratorSystem.cs create mode 100644 Content.Server/Atmos/Piping/Binary/Components/GasPressurePumpComponent.cs rename Content.Server/{DeltaV => }/Execution/ExecutionSystem.cs (91%) delete mode 100644 Content.Server/Silicons/Laws/IonStormSystem.cs delete mode 100644 Content.Server/Silicons/Laws/StartIonStormedSystem.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/Atmos/Components/GasPressurePumpComponent.cs delete mode 100644 Content.Shared/Atmos/EntitySystems/SharedGasPressurePumpSystem.cs delete mode 100644 Content.Shared/Atmos/Piping/Components/AtmosDeviceDisabledEvent.cs delete mode 100644 Content.Shared/Atmos/Piping/Components/AtmosDeviceEnabledEvent.cs delete mode 100644 Content.Shared/Chemistry/Events/HyposprayEvents.cs delete mode 100644 Content.Shared/Climbing/Events/BeforeClimbEvents.cs create mode 100644 Content.Shared/Climbing/Systems/BonkSystem.cs delete mode 100644 Content.Shared/Clumsy/ClumsyComponent.cs delete mode 100644 Content.Shared/Clumsy/ClumsySystem.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/Interaction/Components/ClumsyComponent.cs create mode 100644 Content.Shared/Interaction/SharedInteractionSystem.Clumsy.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/Magic/Events/RandomGlobalSpawnSpellEvent.cs delete mode 100644 Content.Shared/Medical/DefibrillatorEvents.cs create mode 100644 Content.Shared/Medical/TargetDefibrillatedEvent.cs delete mode 100644 Content.Shared/Movement/Systems/AutoOrientSystem.cs delete mode 100644 Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.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 Content.Shared/UserInterface/ActivatableUIRequiresAnchorComponent.cs delete mode 100644 Content.Shared/UserInterface/ActivatableUIRequiresAnchorSystem.cs delete mode 100644 Content.Shared/Weapons/Ranged/Events/BeforeGunShootEvent.cs delete mode 100644 Resources/Audio/StationEvents/nukemass.ogg 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/ai.ftl delete mode 100644 Resources/Locale/en-US/datasets/names/borer.ftl delete mode 100644 Resources/Locale/en-US/deltav/datasets/names/ai.ftl delete mode 100644 Resources/Locale/en-US/deltav/station-events/events/greytide-virus.ftl delete mode 100644 Resources/Locale/en-US/singularity/components/generator-component.ftl delete mode 100644 Resources/Locale/en-US/station-events/events/greytide-virus.ftl 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/DeltaV/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml delete mode 100644 Resources/Prototypes/Entities/Structures/Piping/Atmospherics/gas_pipe_sensor.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/Silicon/chassis.rsi/derelict.png delete mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png delete mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png delete mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png delete mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png delete mode 100644 Resources/Textures/Objects/Devices/gates.rsi/logic_a.png delete mode 100644 Resources/Textures/Objects/Devices/gates.rsi/logic_b.png delete mode 100644 Resources/Textures/Objects/Devices/gates.rsi/logic_o.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/Objects/Weapons/Melee/gorilla.rsi/storage.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/Storage/closet_labels.rsi/bounty.png delete mode 100644 Resources/Textures/Structures/Storage/closet_labels.rsi/captains_paper.png delete mode 100644 Resources/Textures/Structures/Storage/closet_labels.rsi/invoice.png delete mode 100644 Resources/Textures/Structures/Storage/closet_labels.rsi/meta.json delete mode 100644 Resources/Textures/Structures/Storage/closet_labels.rsi/paper.png delete mode 100644 Resources/Textures/Structures/Wallmounts/posters.rsi/poster53_legit.png diff --git a/Content.Client/Actions/ActionsSystem.cs b/Content.Client/Actions/ActionsSystem.cs index a00b58f54f9..57c861bd20f 100644 --- a/Content.Client/Actions/ActionsSystem.cs +++ b/Content.Client/Actions/ActionsSystem.cs @@ -259,13 +259,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/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/EntitySystems/GasPressurePumpSystem.cs b/Content.Client/Atmos/EntitySystems/GasPressurePumpSystem.cs deleted file mode 100644 index 54e16bc8621..00000000000 --- a/Content.Client/Atmos/EntitySystems/GasPressurePumpSystem.cs +++ /dev/null @@ -1,23 +0,0 @@ -using Content.Client.Atmos.UI; -using Content.Shared.Atmos.Components; -using Content.Shared.Atmos.EntitySystems; -using Content.Shared.Atmos.Piping.Binary.Components; - -namespace Content.Client.Atmos.EntitySystems; - -public sealed class GasPressurePumpSystem : SharedGasPressurePumpSystem -{ - public override void Initialize() - { - base.Initialize(); - SubscribeLocalEvent(OnPumpUpdate); - } - - private void OnPumpUpdate(Entity ent, ref AfterAutoHandleStateEvent args) - { - if (UserInterfaceSystem.TryGetOpenUi(ent.Owner, GasPressurePumpUiKey.Key, out var bui)) - { - bui.Update(); - } - } -} 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/Atmos/UI/GasPressurePumpBoundUserInterface.cs b/Content.Client/Atmos/UI/GasPressurePumpBoundUserInterface.cs index 0c07eec4025..220fdbe875c 100644 --- a/Content.Client/Atmos/UI/GasPressurePumpBoundUserInterface.cs +++ b/Content.Client/Atmos/UI/GasPressurePumpBoundUserInterface.cs @@ -1,63 +1,65 @@ using Content.Shared.Atmos; -using Content.Shared.Atmos.Components; using Content.Shared.Atmos.Piping.Binary.Components; -using Content.Shared.IdentityManagement; using Content.Shared.Localizations; using JetBrains.Annotations; +using Robust.Client.GameObjects; using Robust.Client.UserInterface; -namespace Content.Client.Atmos.UI; - -/// -/// Initializes a and updates it when new server messages are received. -/// -[UsedImplicitly] -public sealed class GasPressurePumpBoundUserInterface : BoundUserInterface +namespace Content.Client.Atmos.UI { - [ViewVariables] - private const float MaxPressure = Atmospherics.MaxOutputPressure; - - [ViewVariables] - private GasPressurePumpWindow? _window; - - public GasPressurePumpBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) + /// + /// Initializes a and updates it when new server messages are received. + /// + [UsedImplicitly] + public sealed class GasPressurePumpBoundUserInterface : BoundUserInterface { - } + [ViewVariables] + private const float MaxPressure = Atmospherics.MaxOutputPressure; - protected override void Open() - { - base.Open(); + [ViewVariables] + private GasPressurePumpWindow? _window; - _window = this.CreateWindow(); + public GasPressurePumpBoundUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) + { + } - _window.ToggleStatusButtonPressed += OnToggleStatusButtonPressed; - _window.PumpOutputPressureChanged += OnPumpOutputPressurePressed; - Update(); - } + protected override void Open() + { + base.Open(); - public void Update() - { - if (_window == null) - return; + _window = this.CreateWindow(); - _window.Title = Identity.Name(Owner, EntMan); + _window.ToggleStatusButtonPressed += OnToggleStatusButtonPressed; + _window.PumpOutputPressureChanged += OnPumpOutputPressurePressed; + } - if (!EntMan.TryGetComponent(Owner, out GasPressurePumpComponent? pump)) - return; + private void OnToggleStatusButtonPressed() + { + if (_window is null) return; + SendMessage(new GasPressurePumpToggleStatusMessage(_window.PumpStatus)); + } - _window.SetPumpStatus(pump.Enabled); - _window.MaxPressure = pump.MaxTargetPressure; - _window.SetOutputPressure(pump.TargetPressure); - } + private void OnPumpOutputPressurePressed(string value) + { + var pressure = UserInputParser.TryFloat(value, out var parsed) ? parsed : 0f; + if (pressure > MaxPressure) pressure = MaxPressure; - private void OnToggleStatusButtonPressed() - { - if (_window is null) return; - SendPredictedMessage(new GasPressurePumpToggleStatusMessage(_window.PumpStatus)); - } + SendMessage(new GasPressurePumpChangeOutputPressureMessage(pressure)); + } - private void OnPumpOutputPressurePressed(float value) - { - SendPredictedMessage(new GasPressurePumpChangeOutputPressureMessage(value)); + /// + /// Update the UI state based on server-sent info + /// + /// + protected override void UpdateState(BoundUserInterfaceState state) + { + base.UpdateState(state); + if (_window == null || state is not GasPressurePumpBoundUserInterfaceState cast) + return; + + _window.Title = (cast.PumpLabel); + _window.SetPumpStatus(cast.Enabled); + _window.SetOutputPressure(cast.OutputPressure); + } } } diff --git a/Content.Client/Atmos/UI/GasPressurePumpWindow.xaml b/Content.Client/Atmos/UI/GasPressurePumpWindow.xaml index f2c2c7cec50..a0896a7b41e 100644 --- a/Content.Client/Atmos/UI/GasPressurePumpWindow.xaml +++ b/Content.Client/Atmos/UI/GasPressurePumpWindow.xaml @@ -1,18 +1,22 @@ - + MinSize="200 120" Title="Pressure Pump"> -