From 487dd113b05aa54a8683f6be980a60f3e431d226 Mon Sep 17 00:00:00 2001 From: HoofedEar Date: Thu, 22 Feb 2024 03:26:02 -0800 Subject: [PATCH 01/73] Add RequiresGrid component (#23394) * saving working code * add checks for deletion --- .../RequiresGrid/RequiresGridComponent.cs | 11 +++++++ .../RequiresGrid/RequiresGridSystem.cs | 29 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 Content.Server/RequiresGrid/RequiresGridComponent.cs create mode 100644 Content.Server/RequiresGrid/RequiresGridSystem.cs diff --git a/Content.Server/RequiresGrid/RequiresGridComponent.cs b/Content.Server/RequiresGrid/RequiresGridComponent.cs new file mode 100644 index 0000000000..0e956c9ad9 --- /dev/null +++ b/Content.Server/RequiresGrid/RequiresGridComponent.cs @@ -0,0 +1,11 @@ +namespace Content.Server.RequiresGrid; + +/// +/// Destroys an entity when they no longer are part of a Grid +/// +[RegisterComponent] +[Access(typeof(RequiresGridSystem))] +public sealed partial class RequiresGridComponent : Component +{ + +} diff --git a/Content.Server/RequiresGrid/RequiresGridSystem.cs b/Content.Server/RequiresGrid/RequiresGridSystem.cs new file mode 100644 index 0000000000..16a20c9a8a --- /dev/null +++ b/Content.Server/RequiresGrid/RequiresGridSystem.cs @@ -0,0 +1,29 @@ +using Content.Server.Destructible; + +namespace Content.Server.RequiresGrid; + +public sealed class RequiresGridSystem : EntitySystem +{ + [Dependency] private readonly DestructibleSystem _destructible = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnEntParentChanged); + } + + private void OnEntParentChanged(EntityUid owner, RequiresGridComponent component, EntParentChangedMessage args) + { + if (args.OldParent == null) + return; + + if (args.Transform.GridUid != null) + return; + + if (TerminatingOrDeleted(owner)) + return; + + _destructible.DestroyEntity(owner); + } +} From 35723ad22f3e5bc038ef90bd9112c84ca8516051 Mon Sep 17 00:00:00 2001 From: lzk <124214523+lzk228@users.noreply.github.com> Date: Thu, 22 Feb 2024 12:28:03 +0100 Subject: [PATCH 02/73] Make even more items good looking in inventory + size changing (#25461) * Make even more items good looking in inventory * holoprojecrots --- .../Entities/Clothing/Head/welding.yml | 2 ++ .../Objects/Consumable/Food/Baked/pie.yml | 4 ++++ .../Consumable/Food/Containers/bowl.yml | 2 ++ .../Consumable/Food/Containers/box.yml | 2 ++ .../Objects/Consumable/Food/meals.yml | 2 ++ .../Objects/Consumable/Food/noodles.yml | 2 ++ .../Objects/Consumable/Food/skewer.yml | 1 + .../Objects/Consumable/Food/snacks.yml | 15 +----------- .../Entities/Objects/Consumable/Food/soup.yml | 2 ++ .../Entities/Objects/Consumable/Food/taco.yml | 3 +++ .../Objects/Devices/Circuitboards/misc.yml | 2 ++ .../Devices/Electronics/atmos_alarms.yml | 2 ++ .../Devices/Electronics/base_electronics.yml | 24 ++++++++++--------- .../Objects/Devices/Electronics/firelock.yml | 2 ++ .../Objects/Devices/Electronics/mech.yml | 6 +++++ .../Objects/Devices/holoprojectors.yml | 2 ++ .../Prototypes/Entities/Objects/Fun/toys.yml | 6 +++-- .../Entities/Objects/Power/powercells.yml | 2 ++ .../Objects/Specific/Medical/healing.yml | 1 + .../Objects/Specific/Medical/morgue.yml | 2 ++ .../Specific/Robotics/borg_modules.yml | 6 +++-- .../Entities/Objects/Tools/emag.yml | 24 +++++++------------ .../Weapons/Guns/Launchers/launchers.yml | 4 ++++ .../Objects/Weapons/Melee/pickaxe.yml | 4 +++- 24 files changed, 77 insertions(+), 45 deletions(-) diff --git a/Resources/Prototypes/Entities/Clothing/Head/welding.yml b/Resources/Prototypes/Entities/Clothing/Head/welding.yml index 753646757e..fb791ae567 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/welding.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/welding.yml @@ -4,6 +4,8 @@ name: welding mask abstract: true components: + - type: Item + storedRotation: 0 - type: IngestionBlocker - type: FlashImmunity - type: IdentityBlocker diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml index ba70efb205..fe88859584 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/pie.yml @@ -6,6 +6,8 @@ id: FoodPieBase abstract: true components: + - type: Item + storedRotation: -90 - type: FlavorProfile flavors: - sweet @@ -34,6 +36,8 @@ abstract: true description: A slice of pie. Tasty! components: + - type: Item + size: Tiny - type: FlavorProfile flavors: - sweet diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/bowl.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/bowl.yml index eb05133a38..52f6d42dc8 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/bowl.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/bowl.yml @@ -6,6 +6,8 @@ id: FoodBowlBig description: A simple bowl, used for soups and salads. components: + - type: Item + storedRotation: -90 - type: SolutionContainerManager solutions: food: diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml index 8b6df79b9f..6ce0c7a443 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/box.yml @@ -214,6 +214,8 @@ - type: Item sprite: Objects/Consumable/Food/Baked/pizza.rsi heldPrefix: box + shape: + - 0,0,1,1 - type: Appearance - type: EntityStorageVisuals stateDoorOpen: box-open diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml index 8a90468199..33c2a39d7f 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/meals.yml @@ -10,6 +10,8 @@ abstract: true description: A delicious meal, cooked with love. components: + - type: Item + storedRotation: -90 - type: Food - type: Sprite sprite: Objects/Consumable/Food/meals.rsi diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml index d8817ab86d..6e588a3efc 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/noodles.yml @@ -7,6 +7,8 @@ abstract: true description: Now that's a nice pasta! components: + - type: Item + storedRotation: -90 - type: Sprite sprite: Objects/Consumable/Food/noodles.rsi - type: SolutionContainerManager diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml index c313f2d046..51bf229f2c 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/skewer.yml @@ -19,6 +19,7 @@ Quantity: 8 - type: Item size: Small + storedRotation: -90 # Kebabs diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml index f9cf223114..27f2bdbce2 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/snacks.yml @@ -451,6 +451,7 @@ - type: Item sprite: Objects/Consumable/Food/snacks.rsi heldPrefix: packet + size: Tiny - type: Tag tags: - Trash @@ -469,7 +470,6 @@ components: - type: Sprite state: boritos-trash - - type: Item - type: entity noSpawn: true @@ -479,7 +479,6 @@ components: - type: Sprite state: cnds-trash - - type: Item - type: entity noSpawn: true @@ -489,7 +488,6 @@ components: - type: Sprite state: cheesiehonkers-trash - - type: Item - type: entity noSpawn: true @@ -499,7 +497,6 @@ components: - type: Sprite state: chips-trash - - type: Item - type: entity noSpawn: true @@ -509,7 +506,6 @@ components: - type: Sprite state: chocolatebar-trash - - type: Item - type: entity noSpawn: true @@ -519,7 +515,6 @@ components: - type: Sprite state: energybar-trash - - type: Item - type: entity noSpawn: true @@ -529,7 +524,6 @@ components: - type: Sprite state: pistachio-trash - - type: Item - type: entity noSpawn: true @@ -539,7 +533,6 @@ components: - type: Sprite state: popcorn-trash - - type: Item - type: entity noSpawn: true @@ -549,7 +542,6 @@ components: - type: Sprite state: raisins-trash - - type: Item - type: entity noSpawn: true @@ -559,7 +551,6 @@ components: - type: Sprite state: semki-trash - - type: Item - type: entity noSpawn: true @@ -569,7 +560,6 @@ components: - type: Sprite state: susjerky-trash - - type: Item - type: entity noSpawn: true @@ -579,7 +569,6 @@ components: - type: Sprite state: syndicakes-trash - - type: Item - type: entity noSpawn: true @@ -589,7 +578,6 @@ components: - type: Sprite state: chinese1 - - type: Item - type: entity noSpawn: true @@ -599,7 +587,6 @@ components: - type: Sprite state: chinese2 - - type: Item - type: entity noSpawn: true diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml index 0dca39ea48..3b080e843b 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/soup.yml @@ -5,6 +5,8 @@ id: FoodBowlBase abstract: true components: + - type: Item + storedRotation: -90 - type: Food trash: FoodBowlBig utensil: Spoon diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/taco.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/taco.yml index 72d20624a4..9df2f3039e 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/taco.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/taco.yml @@ -6,6 +6,8 @@ id: FoodTacoShell description: A taco shell, easy to hold, but falls on its side when put down. components: + - type: Item + storedRotation: -90 - type: Food - type: Sprite sprite: Objects/Consumable/Food/taco.rsi @@ -44,6 +46,7 @@ Quantity: 4 - type: Item sprite: Objects/Consumable/Food/taco.rsi + storedRotation: -90 - type: Tag tags: - Meat diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml index a4275995dc..cb35219eb0 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/misc.yml @@ -4,6 +4,8 @@ name: station map electronics description: An electronics board used in station maps. components: + - type: Item + storedRotation: 0 - type: Sprite sprite: Objects/Misc/module.rsi state: airalarm_electronics diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/atmos_alarms.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/atmos_alarms.yml index b54d21750d..838ec637d3 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/atmos_alarms.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/atmos_alarms.yml @@ -19,6 +19,8 @@ name: fire alarm electronics description: An electronics board used in fire alarms components: + - type: Item + storedRotation: 0 - type: Sprite sprite: Objects/Misc/module.rsi state: airalarm_electronics diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml index 8ee76d43e9..7848d987e5 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/base_electronics.yml @@ -1,17 +1,19 @@ -- type: entity +- type: entity id: BaseElectronics parent: BaseItem name: base electronics abstract: true suffix: Electronics components: - - type: Sprite - sprite: Objects/Misc/module.rsi - state: generic - - type: StaticPrice - price: 100 - - type: PhysicalComposition - materialComposition: - Glass: 200 - chemicalComposition: - Silicon: 20 + - type: Item + storedRotation: -90 + - type: Sprite + sprite: Objects/Misc/module.rsi + state: generic + - type: StaticPrice + price: 100 + - type: PhysicalComposition + materialComposition: + Glass: 200 + chemicalComposition: + Silicon: 20 diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/firelock.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/firelock.yml index 00b928f2ec..c7fa8f9ecd 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/firelock.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/firelock.yml @@ -4,6 +4,8 @@ name: firelock electronics description: An electronics board used to detect differences in pressure, temperature and gas concentrations between the two sides of the door. components: + - type: Item + storedRotation: 0 - type: Sprite sprite: Objects/Misc/module.rsi state: mainboard diff --git a/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml b/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml index 6657418488..f224c1c2bf 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Electronics/mech.yml @@ -6,6 +6,8 @@ name: ripley central control module description: The electrical control center for the ripley mech. components: + - type: Item + storedRotation: 0 - type: Sprite sprite: Objects/Misc/module.rsi state: mainboard @@ -40,6 +42,8 @@ name: H.O.N.K. central control module description: The electrical control center for the H.O.N.K. mech. components: + - type: Item + storedRotation: 0 - type: Sprite sprite: Objects/Misc/module.rsi state: mainboard @@ -90,6 +94,8 @@ name: HAMTR central control module description: The electrical control center for the HAMTR mech. components: + - type: Item + storedRotation: 0 - type: Sprite sprite: Objects/Misc/module.rsi state: mainboard diff --git a/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml b/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml index 4924a46fe8..0066e3fbe8 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml @@ -4,6 +4,8 @@ name: holographic sign projector description: A handy-dandy holographic projector that displays a janitorial sign. components: + - type: Item + storedRotation: -90 - type: HolosignProjector - type: UseDelay - type: ContainerContainer diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index 3e1c056419..86417c4839 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -51,7 +51,7 @@ reagents: - ReagentId: Fiber Quantity: 10 - + - type: entity parent: BasePlushie id: PlushieGhost @@ -398,6 +398,7 @@ state: blue - type: Item heldPrefix: blue + storedRotation: -90 - type: Tag tags: - PlushieSharkBlue @@ -467,6 +468,7 @@ state: carpplush - type: Item heldPrefix: carpplush + storedRotation: -90 - type: EmitSoundOnUse sound: path: /Audio/Effects/bite.ogg @@ -679,7 +681,7 @@ - type: EmitSoundOnTrigger sound: path: /Audio/Voice/Human/malescream_5.ogg - + - type: entity parent: BasePlushie id: PlushieMoth diff --git a/Resources/Prototypes/Entities/Objects/Power/powercells.yml b/Resources/Prototypes/Entities/Objects/Power/powercells.yml index 8aefe5e931..7397bcaa51 100644 --- a/Resources/Prototypes/Entities/Objects/Power/powercells.yml +++ b/Resources/Prototypes/Entities/Objects/Power/powercells.yml @@ -3,6 +3,8 @@ abstract: true parent: BaseItem components: + - type: Item + storedRotation: -90 - type: Battery pricePerJoule: 0.15 - type: PowerCell diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml index 9b17d7ed32..de014c8912 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml @@ -166,6 +166,7 @@ state: medicated-suture - type: Item heldPrefix: medicated-suture + storedRotation: -90 - type: Healing damageContainers: - Biological diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/morgue.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/morgue.yml index 9d1398c6ca..bafcd928bf 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/morgue.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/morgue.yml @@ -102,6 +102,8 @@ name: ash description: This used to be something, but now it's not. components: + - type: Item + size: Tiny - type: Sprite sprite: Objects/Materials/materials.rsi state: ash diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml index 943fdad518..2519611c68 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml @@ -5,6 +5,8 @@ description: A piece of tech that gives cyborgs new abilities. abstract: true components: + - type: Item + storedRotation: -90 - type: Sprite sprite: Objects/Specific/Robotics/borgmodule.rsi - type: BorgModule @@ -238,7 +240,7 @@ - WelderExperimental - NetworkConfigurator - RemoteSignaller - - GasAnalyzer + - GasAnalyzer - GeigerCounter - type: entity @@ -490,7 +492,7 @@ - BikeHorn - ClownRecorder - BikeHornInstrument - + #syndicate modules - type: entity id: BorgModuleSyndicateWeapon diff --git a/Resources/Prototypes/Entities/Objects/Tools/emag.yml b/Resources/Prototypes/Entities/Objects/Tools/emag.yml index 702b7c86be..0117d44d6d 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/emag.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/emag.yml @@ -1,18 +1,3 @@ -- type: entity - parent: BaseItem - id: Emag - name: cryptographic sequencer - description: The all-in-one hacking solution. The thinking man's lockpick. The iconic EMAG. - components: - - type: Emag - - type: LimitedCharges - - type: AutoRecharge - - type: Sprite - sprite: Objects/Tools/emag.rsi - state: icon - - type: Item - sprite: Objects/Tools/emag.rsi - - type: entity parent: BaseItem id: EmagUnlimited @@ -26,3 +11,12 @@ state: icon - type: Item sprite: Objects/Tools/emag.rsi + storedRotation: -90 + +- type: entity + parent: EmagUnlimited + id: Emag + suffix: Limited + components: + - type: LimitedCharges + - type: AutoRecharge diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml index ecabe2a4ab..8b31bf40ed 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml @@ -158,6 +158,8 @@ id: WeaponTetherGun description: Manipulates gravity around objects to fling them at high velocities. components: + - type: Item + storedRotation: -90 - type: TetherGun frequency: 5 dampingRatio: 4 @@ -195,6 +197,8 @@ id: WeaponForceGun description: Manipulates gravity around objects to fling them at high velocities. components: + - type: Item + storedRotation: -90 - type: ForceGun frequency: 15 dampingRatio: 4 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml index 21c1cedd01..cb9defccd9 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml @@ -42,9 +42,11 @@ id: MiningDrill description: Powerful tool used to quickly drill through rocks components: + - type: Item + storedRotation: -90 - type: Tag tags: - - Pickaxe + - Pickaxe - type: Sprite sprite: Objects/Tools/handdrill.rsi state: handdrill From 7ac3a2a47d05440dc8cec4fa08572efc89b5016a Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Feb 2024 11:29:09 +0000 Subject: [PATCH 03/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 630c043017..24154401a8 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Ubaser - changes: - - message: Reptilians can now use up to two (top) head markings. - type: Tweak - id: 5506 - time: '2024-01-01T23:27:14.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23219 - author: Lukasz825700516 changes: - message: Zombiefied reptilians no longer can pull objects with their tail. @@ -3853,3 +3846,10 @@ id: 6005 time: '2024-02-22T11:15:10.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25465 +- author: lzk228 + changes: + - message: Fix some items becomes bigger after turning in trash. + type: Fix + id: 6006 + time: '2024-02-22T11:28:03.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25461 From 83cd1089fe970adc5fee5344cfee4aa046d6f501 Mon Sep 17 00:00:00 2001 From: Ps3Moira <113228053+ps3moira@users.noreply.github.com> Date: Thu, 22 Feb 2024 03:59:41 -0800 Subject: [PATCH 04/73] Add Large Wood Floors (#25462) Large Wood Floors --- Resources/Locale/en-US/tiles/tiles.ftl | 1 + .../Entities/Objects/Misc/tiles.yml | 19 +++++++++++++++++ .../Recipes/Crafting/Graphs/tiles.yml | 16 ++++++++++++++ .../Prototypes/Recipes/Crafting/tiles.yml | 11 ++++++++++ .../Prototypes/Stacks/floor_tile_stacks.yml | 6 ++++++ Resources/Prototypes/Tiles/floors.yml | 20 ++++++++++++++++++ .../Textures/Objects/Tiles/tile.rsi/meta.json | 3 +++ .../Objects/Tiles/tile.rsi/wood-large.png | Bin 0 -> 268 bytes Resources/Textures/Tiles/attributions.yml | 5 +++++ Resources/Textures/Tiles/wood_large.png | Bin 0 -> 1070 bytes 10 files changed, 81 insertions(+) create mode 100644 Resources/Textures/Objects/Tiles/tile.rsi/wood-large.png create mode 100644 Resources/Textures/Tiles/wood_large.png diff --git a/Resources/Locale/en-US/tiles/tiles.ftl b/Resources/Locale/en-US/tiles/tiles.ftl index 478175fc67..0a0558b3cb 100644 --- a/Resources/Locale/en-US/tiles/tiles.ftl +++ b/Resources/Locale/en-US/tiles/tiles.ftl @@ -120,3 +120,4 @@ tiles-web = web tile tiles-chromite = chromite tiles-astro-grass = astro-grass tiles-astro-ice = astro-ice +tiles-wood-large = large wood \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Misc/tiles.yml b/Resources/Prototypes/Entities/Objects/Misc/tiles.yml index 286e28c53d..9a2196612d 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/tiles.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/tiles.yml @@ -1026,3 +1026,22 @@ - FloorAstroIce - type: Stack stackType: FloorTileAstroIce + +- type: entity + name: large wood floor + parent: FloorTileItemBase + id: FloorTileItemWoodLarge + components: + - type: Sprite + state: wood-large + - type: Item + heldPrefix: wood + - type: FloorTile + outputs: + - Plating + - FloorWoodLarge + - type: Stack + stackType: FloorTileWoodLarge + - type: Construction + graph: TileWoodLarge + node: woodtilelarge \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/tiles.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/tiles.yml index caff139192..4cb5d6c0f8 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/tiles.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/tiles.yml @@ -78,3 +78,19 @@ amount: 1 - node: fleshTile entity: FloorTileItemFlesh + +- type: constructionGraph + id: TileWoodLarge + start: start + graph: + - node: start + edges: + - to: woodtilelarge + completed: + - !type:SetStackCount + amount: 4 + steps: + - material: WoodPlank + amount: 2 + - node: woodtilelarge + entity: FloorTileItemWoodLarge \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Crafting/tiles.yml b/Resources/Prototypes/Recipes/Crafting/tiles.yml index 6050306597..1cabb7dedd 100644 --- a/Resources/Prototypes/Recipes/Crafting/tiles.yml +++ b/Resources/Prototypes/Recipes/Crafting/tiles.yml @@ -164,3 +164,14 @@ # description: "A dirty station tile." # icon: { sprite: Objects/Tiles/tile.rsi, state: dirty } # objectType: Item + +- type: construction + name: large wood floor + id: TileWoodLarge + graph: TileWoodLarge + startNode: start + targetNode: woodtilelarge + category: construction-category-tiles + description: "Four pieces of wooden station flooring." + icon: { sprite: Objects/Tiles/tile.rsi, state: wood-large } + objectType: Item \ No newline at end of file diff --git a/Resources/Prototypes/Stacks/floor_tile_stacks.yml b/Resources/Prototypes/Stacks/floor_tile_stacks.yml index 01acfd13f8..3b4efaff11 100644 --- a/Resources/Prototypes/Stacks/floor_tile_stacks.yml +++ b/Resources/Prototypes/Stacks/floor_tile_stacks.yml @@ -453,3 +453,9 @@ spawn: FloorTileItemAstroIce maxCount: 30 itemSize: 5 + +- type: stack + id: FloorTileWoodLarge + name: large wood floor + spawn: FloorTileItemWoodLarge + maxCount: 30 \ No newline at end of file diff --git a/Resources/Prototypes/Tiles/floors.yml b/Resources/Prototypes/Tiles/floors.yml index 431345b7bc..93d3aee34c 100644 --- a/Resources/Prototypes/Tiles/floors.yml +++ b/Resources/Prototypes/Tiles/floors.yml @@ -1862,3 +1862,23 @@ mobFrictionNoInput: 0.05 mobAcceleration: 2 itemDrop: FloorTileItemAstroIce + +- type: tile + id: FloorWoodLarge + name: tiles-wood-large + sprite: /Textures/Tiles/wood_large.png + variants: 4 + placementVariants: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepWood + barestepSounds: + collection: BarestepWood + itemDrop: FloorTileItemWoodLarge + heatCapacity: 10000 \ No newline at end of file diff --git a/Resources/Textures/Objects/Tiles/tile.rsi/meta.json b/Resources/Textures/Objects/Tiles/tile.rsi/meta.json index 9fc66d78b9..99b32632f1 100644 --- a/Resources/Textures/Objects/Tiles/tile.rsi/meta.json +++ b/Resources/Textures/Objects/Tiles/tile.rsi/meta.json @@ -414,6 +414,9 @@ { "name": "hydro-inhand-left", "directions": 4 + }, + { + "name": "wood-large" } ] } diff --git a/Resources/Textures/Objects/Tiles/tile.rsi/wood-large.png b/Resources/Textures/Objects/Tiles/tile.rsi/wood-large.png new file mode 100644 index 0000000000000000000000000000000000000000..429d0e1e8db2cc099cf7e8afcd096c4d4b72572c GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}$2?seLn2y} z6C_v{Cy4Zv9O&@>^#A{Vo;o(8|C)yNpN}rD5Z&-#@)zR?Ki4arZd9y${*j+8=TXF! zzv&7OJooS=0Ktz>U-`M_x6fu>ZDG~0Qki8&N06(t!-bjp_ZI#XIdxpXoxSBrXDP$P z!rsukbC26=lrwBB?A2Z?z~pSeyMQ?+v*}u9!;DQ0X&^FT#&X7_Q%q4y7@a=$>G@wZ zanQJT@oBq{)Pd;GU$4B44Gat>+?Bgg@{m(mSvgMI?VyGPD>FaCo|*)UkcvPfppO_l MUHx3vIVCg!0L=VolK=n! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Tiles/attributions.yml b/Resources/Textures/Tiles/attributions.yml index 622565f251..f9afb8e81f 100644 --- a/Resources/Textures/Tiles/attributions.yml +++ b/Resources/Textures/Tiles/attributions.yml @@ -120,3 +120,8 @@ license: "CC0-1.0" copyright: "Created by TheShuEd (github) for space-station-14." source: "https://github.com/space-wizards/space-station-14/pull/ED_INSERT_PR_CODE_HERE!" + +- files: ["wood_large.png"] + license: "CC0-1.0" + copyright: "Created by ps3moira (github) for space-station-14." + source: "https://github.com/space-wizards/space-station-14/" \ No newline at end of file diff --git a/Resources/Textures/Tiles/wood_large.png b/Resources/Textures/Tiles/wood_large.png new file mode 100644 index 0000000000000000000000000000000000000000..722c462a084d3e9274000b14607996e0f6843926 GIT binary patch literal 1070 zcmV+}1kwA6P)Y{cd&E&z zR*J+Y#BojsB)%28>hqi6lFwg)c|N-UNTR1)>R`2lS(%%}Q^YaTsIu01#7)AQwUVPe zMr#}nvPdHZ87ivSgaH=`$`;M6yD!=FEu%snMt>VMaB`GTCU2b7Ds|N;>!fS+8K{Z5 z|DUI$&rJK>!zrNu)$=|lfY3hBsC(Y;spmD$fZz*oZMFRsn$z4j>Gif2I|d>Art^IK%8_jlMpN`0>->^QRGg2T5pj zUwE%or6xo(`CDN8R($amkOKY(td}4jtC=Ry_-*)|odevq(Vkv1?j!f~uuszq{`@`T z-gn0R>)nv=UElf)+xXYx(=_`{LTYy!Y@S~*4m~D^ zO`O($#(8nyYW#M5;(@@v-D|KEJdD@e>x_S0e)b?JB~%*IgiARo@y0)fuO0-Yz`5O} z1P(1rT#@g!OE&&~KBcNq7PLKjtPvY8L6RB&SpH@O$W5U6WU*U+D&P3W^X(kq#*F|} z_omYGXrQbojcuAee*N~wZ^$PAt7p;M=LX|TnDN{3i3f~>{KLf3b|xoU z5@h^#d`cy~6;M`%`eRY!U!T9M0K7Mqgvfp`j+Kfuep~*s0`Nddh~(c3=HCG0x8bk; o7r-ah?nlxE)Pm!xH-0<*KXO(1=fMKyk^lez07*qoM6N<$f^HiW7ytkO literal 0 HcmV?d00001 From 2b349704453bdc3d8fa616b0a46bae25b9157162 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Feb 2024 12:00:47 +0000 Subject: [PATCH 05/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 24154401a8..1465498a65 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Lukasz825700516 - changes: - - message: Zombiefied reptilians no longer can pull objects with their tail. - type: Fix - id: 5507 - time: '2024-01-01T23:31:36.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23066 - author: SonicHDC changes: - message: Changed shape of Pistols to L! @@ -3853,3 +3846,10 @@ id: 6006 time: '2024-02-22T11:28:03.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25461 +- author: ps3moira + changes: + - message: Added Large Wooden floors + type: Add + id: 6007 + time: '2024-02-22T11:59:41.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25462 From f38a961a1b2ec163672bfd0727f75f0a561f6eda Mon Sep 17 00:00:00 2001 From: Whisper <121047731+QuietlyWhisper@users.noreply.github.com> Date: Thu, 22 Feb 2024 07:18:46 -0500 Subject: [PATCH 06/73] fix reagent slime role description being friendly (#25466) --- Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml b/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml index 3631510fff..01fce382e3 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/elemental.yml @@ -228,6 +228,8 @@ parent: [ MobAdultSlimes, MobCombat ] description: It consists of a liquid, and it wants to dissolve you in itself. components: + - type: GhostRole + description: ghost-role-information-angry-slimes-description - type: NpcFactionMember factions: - SimpleHostile From e6605a774b0354a7cfde93a3ba84e0cc895af253 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 22 Feb 2024 12:19:51 +0000 Subject: [PATCH 07/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 1465498a65..070d532e28 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: SonicHDC - changes: - - message: Changed shape of Pistols to L! - type: Tweak - id: 5508 - time: '2024-01-01T23:32:16.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23104 - author: Alekshhh changes: - message: Changed some hairs visually @@ -3853,3 +3846,10 @@ id: 6007 time: '2024-02-22T11:59:41.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25462 +- author: Whisper + changes: + - message: Fixed reagent slime ghost role description. + type: Fix + id: 6008 + time: '2024-02-22T12:18:46.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25466 From b7747596f126498af5de5420666f1c1c483bb0f5 Mon Sep 17 00:00:00 2001 From: "I.K" <45953835+notquitehadouken@users.noreply.github.com> Date: Thu, 22 Feb 2024 15:40:46 -0600 Subject: [PATCH 08/73] Give "DO NOT MAP" suffix to handheld crew monitor (#25473) don' --- .../Entities/Objects/Specific/Medical/handheld_crew_monitor.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml index 72e8373cab..e2f7ceeb70 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml @@ -1,5 +1,6 @@ - type: entity name: handheld crew monitor + suffix: DO NOT MAP parent: - BaseItem - PowerCellSlotSmallItem From ce0a51fc29675b3b0afb90296b6a8ce90c3f9cd3 Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Thu, 22 Feb 2024 18:01:31 -0500 Subject: [PATCH 09/73] Predict doors and airlocks (#25419) * predict doors and airlocks * prying, too * ack * eek --- Content.Client/Doors/AirlockSystem.cs | 22 +- Content.Client/Doors/DoorBoltSystem.cs | 12 -- Content.Client/Doors/DoorSystem.cs | 27 +-- .../Systems/AdminVerbSystem.Tools.cs | 4 +- .../Systems/DoorSignalControlSystem.cs | 3 +- Content.Server/Doors/Systems/AirlockSystem.cs | 116 +---------- .../Doors/Systems/DoorBoltSystem.cs | 90 --------- Content.Server/Doors/Systems/DoorSystem.cs | 173 +--------------- .../WireActions/DoorBoltLightWireAction.cs | 7 +- .../Doors/WireActions/DoorBoltWireAction.cs | 10 +- Content.Server/Magic/MagicSystem.cs | 3 +- Content.Server/Remotes/DoorRemoteSystem.cs | 3 +- .../Shuttles/Systems/DockingSystem.cs | 7 +- .../Systems/ShuttleSystem.FasterThanLight.cs | 2 +- .../Shuttles/Systems/ShuttleSystem.cs | 1 - Content.Server/Wires/WiresSystem.cs | 7 - .../Doors/Components/AirlockComponent.cs | 3 + .../Doors/Components/DoorBoltComponent.cs | 19 +- .../Doors/Components/DoorComponent.cs | 6 +- .../Doors/Systems/SharedAirlockSystem.cs | 103 +++++++++- .../Doors/Systems/SharedDoorBoltSystem.cs | 61 ------ .../Doors/Systems/SharedDoorSystem.Bolts.cs | 109 ++++++++++ .../Doors/Systems/SharedDoorSystem.cs | 189 ++++++++++++++---- Content.Shared/Prying/Systems/PryingSystem.cs | 19 +- Content.Shared/Wires/SharedWiresSystem.cs | 7 + 25 files changed, 444 insertions(+), 559 deletions(-) delete mode 100644 Content.Client/Doors/DoorBoltSystem.cs delete mode 100644 Content.Server/Doors/Systems/DoorBoltSystem.cs delete mode 100644 Content.Shared/Doors/Systems/SharedDoorBoltSystem.cs create mode 100644 Content.Shared/Doors/Systems/SharedDoorSystem.Bolts.cs diff --git a/Content.Client/Doors/AirlockSystem.cs b/Content.Client/Doors/AirlockSystem.cs index 4837adf460..58c8730643 100644 --- a/Content.Client/Doors/AirlockSystem.cs +++ b/Content.Client/Doors/AirlockSystem.cs @@ -1,7 +1,6 @@ using Content.Client.Wires.Visualizers; using Content.Shared.Doors.Components; using Content.Shared.Doors.Systems; -using Content.Shared.Prying.Components; using Robust.Client.Animations; using Robust.Client.GameObjects; @@ -16,13 +15,6 @@ public sealed class AirlockSystem : SharedAirlockSystem base.Initialize(); SubscribeLocalEvent(OnComponentStartup); SubscribeLocalEvent(OnAppearanceChange); - SubscribeLocalEvent(OnAirlockPryAttempt); - } - - private void OnAirlockPryAttempt(EntityUid uid, AirlockComponent component, ref BeforePryEvent args) - { - // TODO: Temporary until airlocks predicted. - args.Cancelled = true; } private void OnComponentStartup(EntityUid uid, AirlockComponent comp, ComponentStartup args) @@ -104,7 +96,7 @@ public sealed class AirlockSystem : SharedAirlockSystem || state == DoorState.Denying || (state == DoorState.Open && comp.OpenUnlitVisible) || (_appearanceSystem.TryGetData(uid, DoorVisuals.ClosedLights, out var closedLights, args.Component) && closedLights)) - && !boltedVisible && !emergencyLightsVisible; ; + && !boltedVisible && !emergencyLightsVisible; } args.Sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, unlitVisible); @@ -120,5 +112,17 @@ public sealed class AirlockSystem : SharedAirlockSystem && !boltedVisible ); } + + switch (state) + { + case DoorState.Open: + args.Sprite.LayerSetState(DoorVisualLayers.BaseUnlit, comp.ClosingSpriteState); + args.Sprite.LayerSetAnimationTime(DoorVisualLayers.BaseUnlit, 0); + break; + case DoorState.Closed: + args.Sprite.LayerSetState(DoorVisualLayers.BaseUnlit, comp.OpeningSpriteState); + args.Sprite.LayerSetAnimationTime(DoorVisualLayers.BaseUnlit, 0); + break; + } } } diff --git a/Content.Client/Doors/DoorBoltSystem.cs b/Content.Client/Doors/DoorBoltSystem.cs deleted file mode 100644 index 58144cd6e0..0000000000 --- a/Content.Client/Doors/DoorBoltSystem.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Content.Client.Wires.Visualizers; -using Content.Shared.Doors.Components; -using Content.Shared.Doors.Systems; -using Robust.Client.Animations; -using Robust.Client.GameObjects; - -namespace Content.Client.Doors; - -public sealed class DoorBoltSystem : SharedDoorBoltSystem -{ - // Instantiate sub-class on client for prediction. -} diff --git a/Content.Client/Doors/DoorSystem.cs b/Content.Client/Doors/DoorSystem.cs index 80ce47e0c2..473ae97059 100644 --- a/Content.Client/Doors/DoorSystem.cs +++ b/Content.Client/Doors/DoorSystem.cs @@ -3,8 +3,6 @@ using Content.Shared.Doors.Systems; using Robust.Client.Animations; using Robust.Client.GameObjects; using Robust.Client.ResourceManagement; -using Robust.Shared.Audio; -using Robust.Shared.Player; using Robust.Shared.Serialization.TypeSerializers.Implementations; using Robust.Shared.Timing; @@ -73,7 +71,7 @@ public sealed class DoorSystem : SharedDoorSystem private void OnAppearanceChange(EntityUid uid, DoorComponent comp, ref AppearanceChangeEvent args) { - if (args.Sprite == null || !_gameTiming.IsFirstTimePredicted) + if (args.Sprite == null) return; if(!AppearanceSystem.TryGetData(uid, DoorVisuals.State, out var state, args.Component)) @@ -83,9 +81,9 @@ public sealed class DoorSystem : SharedDoorSystem { if (!_resourceCache.TryGetResource(SpriteSpecifierSerializer.TextureRoot / baseRsi, out var res)) { - Logger.Error("Unable to load RSI '{0}'. Trace:\n{1}", baseRsi, Environment.StackTrace); + Log.Error("Unable to load RSI '{0}'. Trace:\n{1}", baseRsi, Environment.StackTrace); } - foreach (ISpriteLayer layer in args.Sprite.AllLayers) + foreach (var layer in args.Sprite.AllLayers) { layer.Rsi = res?.RSI; } @@ -113,31 +111,24 @@ public sealed class DoorSystem : SharedDoorSystem break; case DoorState.Opening: if (animPlayer != null && comp.OpeningAnimationTime != 0.0) - _animationSystem.Play(uid, animPlayer, (Animation)comp.OpeningAnimation, DoorComponent.AnimationKey); + _animationSystem.Play((uid, animPlayer), (Animation)comp.OpeningAnimation, DoorComponent.AnimationKey); break; case DoorState.Closing: if (animPlayer != null && comp.ClosingAnimationTime != 0.0 && comp.CurrentlyCrushing.Count == 0) - _animationSystem.Play(uid, animPlayer, (Animation)comp.ClosingAnimation, DoorComponent.AnimationKey); + _animationSystem.Play((uid, animPlayer), (Animation)comp.ClosingAnimation, DoorComponent.AnimationKey); break; case DoorState.Denying: - if (animPlayer != null && comp.DenyingAnimation != default) - _animationSystem.Play(uid, animPlayer, (Animation)comp.DenyingAnimation, DoorComponent.AnimationKey); + if (animPlayer != null) + _animationSystem.Play((uid, animPlayer), (Animation)comp.DenyingAnimation, DoorComponent.AnimationKey); break; case DoorState.Welded: break; case DoorState.Emagging: - if (animPlayer != null && comp.EmaggingAnimation != default) - _animationSystem.Play(uid, animPlayer, (Animation)comp.EmaggingAnimation, DoorComponent.AnimationKey); + if (animPlayer != null) + _animationSystem.Play((uid, animPlayer), (Animation)comp.EmaggingAnimation, DoorComponent.AnimationKey); break; default: throw new ArgumentOutOfRangeException($"Invalid door visual state {state}"); } } - - // TODO AUDIO PREDICT see comments in server-side PlaySound() - protected override void PlaySound(EntityUid uid, SoundSpecifier soundSpecifier, AudioParams audioParams, EntityUid? predictingPlayer, bool predicted) - { - if (GameTiming.InPrediction && GameTiming.IsFirstTimePredicted) - Audio.PlayEntity(soundSpecifier, Filter.Local(), uid, false, audioParams); - } } diff --git a/Content.Server/Administration/Systems/AdminVerbSystem.Tools.cs b/Content.Server/Administration/Systems/AdminVerbSystem.Tools.cs index 296e48274c..c68336deab 100644 --- a/Content.Server/Administration/Systems/AdminVerbSystem.Tools.cs +++ b/Content.Server/Administration/Systems/AdminVerbSystem.Tools.cs @@ -41,7 +41,7 @@ namespace Content.Server.Administration.Systems; public sealed partial class AdminVerbSystem { - [Dependency] private readonly DoorBoltSystem _boltsSystem = default!; + [Dependency] private readonly DoorSystem _door = default!; [Dependency] private readonly AirlockSystem _airlockSystem = default!; [Dependency] private readonly StackSystem _stackSystem = default!; [Dependency] private readonly SharedAccessSystem _accessSystem = default!; @@ -78,7 +78,7 @@ public sealed partial class AdminVerbSystem : new SpriteSpecifier.Texture(new("/Textures/Interface/AdminActions/bolt.png")), Act = () => { - _boltsSystem.SetBoltsWithAudio(args.Target, bolts, !bolts.BoltsDown); + _door.SetBoltsDown((args.Target, bolts), !bolts.BoltsDown); }, Impact = LogImpact.Medium, Message = Loc.GetString(bolts.BoltsDown diff --git a/Content.Server/DeviceLinking/Systems/DoorSignalControlSystem.cs b/Content.Server/DeviceLinking/Systems/DoorSignalControlSystem.cs index 1c0c9713cf..fab9a306ae 100644 --- a/Content.Server/DeviceLinking/Systems/DoorSignalControlSystem.cs +++ b/Content.Server/DeviceLinking/Systems/DoorSignalControlSystem.cs @@ -12,7 +12,6 @@ namespace Content.Server.DeviceLinking.Systems [UsedImplicitly] public sealed class DoorSignalControlSystem : EntitySystem { - [Dependency] private readonly DoorBoltSystem _bolts = default!; [Dependency] private readonly DoorSystem _doorSystem = default!; [Dependency] private readonly DeviceLinkSystem _signalSystem = default!; @@ -79,7 +78,7 @@ namespace Content.Server.DeviceLinking.Systems bolt = state == SignalState.High; } - _bolts.SetBoltsWithAudio(uid, bolts, bolt); + _doorSystem.SetBoltsDown((uid, bolts), bolt); } } diff --git a/Content.Server/Doors/Systems/AirlockSystem.cs b/Content.Server/Doors/Systems/AirlockSystem.cs index 6d9cde8eb4..71f9347e9e 100644 --- a/Content.Server/Doors/Systems/AirlockSystem.cs +++ b/Content.Server/Doors/Systems/AirlockSystem.cs @@ -1,13 +1,10 @@ using Content.Server.DeviceLinking.Events; using Content.Server.Power.Components; -using Content.Server.Power.EntitySystems; using Content.Server.Wires; -using Content.Shared.Doors; using Content.Shared.Doors.Components; using Content.Shared.Doors.Systems; using Content.Shared.Interaction; using Content.Shared.Wires; -using Content.Shared.Prying.Components; using Robust.Shared.Player; namespace Content.Server.Doors.Systems; @@ -15,8 +12,6 @@ namespace Content.Server.Doors.Systems; public sealed class AirlockSystem : SharedAirlockSystem { [Dependency] private readonly WiresSystem _wiresSystem = default!; - [Dependency] private readonly PowerReceiverSystem _power = default!; - [Dependency] private readonly DoorBoltSystem _bolts = default!; public override void Initialize() { @@ -26,13 +21,7 @@ public sealed class AirlockSystem : SharedAirlockSystem SubscribeLocalEvent(OnSignalReceived); SubscribeLocalEvent(OnPowerChanged); - SubscribeLocalEvent(OnStateChanged); - SubscribeLocalEvent(OnBeforeDoorOpened); - SubscribeLocalEvent(OnBeforeDoorDenied); SubscribeLocalEvent(OnActivate, before: new[] { typeof(DoorSystem) }); - SubscribeLocalEvent(OnGetPryMod); - SubscribeLocalEvent(OnBeforePry); - } private void OnAirlockInit(EntityUid uid, AirlockComponent component, ComponentInit args) @@ -53,6 +42,9 @@ public sealed class AirlockSystem : SharedAirlockSystem private void OnPowerChanged(EntityUid uid, AirlockComponent component, ref PowerChangedEvent args) { + component.Powered = args.Powered; + Dirty(uid, component); + if (TryComp(uid, out var appearanceComponent)) { Appearance.SetData(uid, DoorVisuals.Powered, args.Powered, appearanceComponent); @@ -73,80 +65,6 @@ public sealed class AirlockSystem : SharedAirlockSystem } } - private void OnStateChanged(EntityUid uid, AirlockComponent component, DoorStateChangedEvent args) - { - // TODO move to shared? having this be server-side, but having client-side door opening/closing & prediction - // means that sometimes the panels & bolt lights may be visible despite a door being completely open. - - // Only show the maintenance panel if the airlock is closed - if (TryComp(uid, out var wiresPanel)) - { - _wiresSystem.ChangePanelVisibility(uid, wiresPanel, component.OpenPanelVisible || args.State != DoorState.Open); - } - // If the door is closed, we should look if the bolt was locked while closing - UpdateAutoClose(uid, component); - - // Make sure the airlock auto closes again next time it is opened - if (args.State == DoorState.Closed) - component.AutoClose = true; - } - - /// - /// Updates the auto close timer. - /// - public void UpdateAutoClose(EntityUid uid, AirlockComponent? airlock = null, DoorComponent? door = null) - { - if (!Resolve(uid, ref airlock, ref door)) - return; - - if (door.State != DoorState.Open) - return; - - if (!airlock.AutoClose) - return; - - if (!CanChangeState(uid, airlock)) - return; - - var autoev = new BeforeDoorAutoCloseEvent(); - RaiseLocalEvent(uid, autoev, false); - if (autoev.Cancelled) - return; - - DoorSystem.SetNextStateChange(uid, airlock.AutoCloseDelay * airlock.AutoCloseDelayModifier); - } - - private void OnBeforeDoorOpened(EntityUid uid, AirlockComponent component, BeforeDoorOpenedEvent args) - { - if (!CanChangeState(uid, component)) - args.Cancel(); - } - - protected override void OnBeforeDoorClosed(EntityUid uid, AirlockComponent component, BeforeDoorClosedEvent args) - { - base.OnBeforeDoorClosed(uid, component, args); - - if (args.Cancelled) - return; - - // only block based on bolts / power status when initially closing the door, not when its already - // mid-transition. Particularly relevant for when the door was pried-closed with a crowbar, which bypasses - // the initial power-check. - - if (TryComp(uid, out DoorComponent? door) - && !door.Partial - && !CanChangeState(uid, component)) - { - args.Cancel(); - } - } - - private void OnBeforeDoorDenied(EntityUid uid, AirlockComponent component, BeforeDoorDeniedEvent args) - { - if (!CanChangeState(uid, component)) - args.Cancel(); - } - private void OnActivate(EntityUid uid, AirlockComponent component, ActivateInWorldEvent args) { if (TryComp(uid, out var panel) && @@ -168,32 +86,4 @@ public sealed class AirlockSystem : SharedAirlockSystem component.AutoClose = false; } } - - private void OnGetPryMod(EntityUid uid, AirlockComponent component, ref GetPryTimeModifierEvent args) - { - if (_power.IsPowered(uid)) - args.PryTimeModifier *= component.PoweredPryModifier; - - if (_bolts.IsBolted(uid)) - args.PryTimeModifier *= component.BoltedPryModifier; - } - - private void OnBeforePry(EntityUid uid, AirlockComponent component, ref BeforePryEvent args) - { - if (args.Cancelled) - return; - - if (!this.IsPowered(uid, EntityManager) || args.PryPowered) - return; - - args.Message = "airlock-component-cannot-pry-is-powered-message"; - - args.Cancelled = true; - - } - - public bool CanChangeState(EntityUid uid, AirlockComponent component) - { - return this.IsPowered(uid, EntityManager) && !_bolts.IsBolted(uid); - } } diff --git a/Content.Server/Doors/Systems/DoorBoltSystem.cs b/Content.Server/Doors/Systems/DoorBoltSystem.cs deleted file mode 100644 index 133af0013d..0000000000 --- a/Content.Server/Doors/Systems/DoorBoltSystem.cs +++ /dev/null @@ -1,90 +0,0 @@ -using Content.Server.Power.Components; -using Content.Server.Power.EntitySystems; -using Content.Shared.Doors; -using Content.Shared.Doors.Components; -using Content.Shared.Doors.Systems; - -namespace Content.Server.Doors.Systems; - -public sealed class DoorBoltSystem : SharedDoorBoltSystem -{ - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnPowerChanged); - SubscribeLocalEvent(OnStateChanged); - } - - private void OnPowerChanged(EntityUid uid, DoorBoltComponent component, ref PowerChangedEvent args) - { - if (args.Powered) - { - if (component.BoltWireCut) - SetBoltsWithAudio(uid, component, true); - } - - UpdateBoltLightStatus(uid, component); - } - - public void UpdateBoltLightStatus(EntityUid uid, DoorBoltComponent component) - { - if (!TryComp(uid, out var appearance)) - return; - - Appearance.SetData(uid, DoorVisuals.BoltLights, GetBoltLightsVisible(uid, component), appearance); - } - - public bool GetBoltLightsVisible(EntityUid uid, DoorBoltComponent component) - { - return component.BoltLightsEnabled && - component.BoltsDown && - this.IsPowered(uid, EntityManager); - } - - public void SetBoltLightsEnabled(EntityUid uid, DoorBoltComponent component, bool value) - { - if (component.BoltLightsEnabled == value) - return; - - component.BoltLightsEnabled = value; - UpdateBoltLightStatus(uid, component); - } - - public void SetBoltsDown(EntityUid uid, DoorBoltComponent component, bool value) - { - if (component.BoltsDown == value) - return; - - component.BoltsDown = value; - UpdateBoltLightStatus(uid, component); - } - - private void OnStateChanged(EntityUid uid, DoorBoltComponent component, DoorStateChangedEvent args) - { - // If the door is closed, we should look if the bolt was locked while closing - UpdateBoltLightStatus(uid, component); - } - - public void SetBoltsWithAudio(EntityUid uid, DoorBoltComponent component, bool newBolts) - { - if (newBolts == component.BoltsDown) - return; - - component.BoltsDown = newBolts; - Audio.PlayPvs(newBolts ? component.BoltDownSound : component.BoltUpSound, uid); - UpdateBoltLightStatus(uid, component); - } - - public bool IsBolted(EntityUid uid, DoorBoltComponent? component = null) - { - if (!Resolve(uid, ref component)) - { - return false; - } - - return component.BoltsDown; - } -} - diff --git a/Content.Server/Doors/Systems/DoorSystem.cs b/Content.Server/Doors/Systems/DoorSystem.cs index d59ea59622..5968e445c1 100644 --- a/Content.Server/Doors/Systems/DoorSystem.cs +++ b/Content.Server/Doors/Systems/DoorSystem.cs @@ -1,49 +1,22 @@ using Content.Server.Access; -using Content.Server.Administration.Logs; using Content.Server.Atmos.Components; using Content.Server.Atmos.EntitySystems; -using Content.Server.Power.EntitySystems; -using Content.Shared.Database; +using Content.Server.Power.Components; using Content.Shared.Doors.Components; using Content.Shared.Doors.Systems; -using Content.Shared.Emag.Systems; -using Content.Shared.Interaction; -using Content.Shared.Prying.Components; -using Content.Shared.Prying.Systems; -using Content.Shared.Tools.Systems; -using Robust.Shared.Audio; using Robust.Shared.Physics.Components; -using Robust.Shared.Physics.Events; namespace Content.Server.Doors.Systems; public sealed class DoorSystem : SharedDoorSystem { - [Dependency] private readonly IAdminLogManager _adminLog = default!; - [Dependency] private readonly DoorBoltSystem _bolts = default!; [Dependency] private readonly AirtightSystem _airtightSystem = default!; - [Dependency] private readonly PryingSystem _pryingSystem = default!; public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnWeldAttempt); - SubscribeLocalEvent(OnWeldChanged); - SubscribeLocalEvent(OnEmagged); - SubscribeLocalEvent(OnAfterPry); - } - - protected override void OnActivate(EntityUid uid, DoorComponent door, ActivateInWorldEvent args) - { - // TODO once access permissions are shared, move this back to shared. - if (args.Handled || !door.ClickOpen) - return; - - if (!TryToggleDoor(uid, door, args.User)) - _pryingSystem.TryPry(uid, args.User, out _); - - args.Handled = true; + SubscribeLocalEvent(OnBoltPowerChanged); } protected override void SetCollidable( @@ -65,144 +38,16 @@ public sealed class DoorSystem : SharedDoorSystem base.SetCollidable(uid, collidable, door, physics, occluder); } - // TODO AUDIO PREDICT Figure out a better way to handle sound and prediction. For now, this works well enough? - // - // Currently a client will predict when a door is going to close automatically. So any client in PVS range can just - // play their audio locally. Playing it server-side causes an odd delay, while in shared it causes double-audio. - // - // But if we just do that, then if a door is closed prematurely as the result of an interaction (i.e., using "E" on - // an open door), then the audio would only be played for the client performing the interaction. - // - // So we do this: - // - Play audio client-side IF the closing is being predicted (auto-close or predicted interaction) - // - Server assumes automated closing is predicted by clients and does not play audio unless otherwise specified. - // - Major exception is player interactions, which other players cannot predict - // - In that case, send audio to all players, except possibly the interacting player if it was a predicted - // interaction. - - /// - /// Selectively send sound to clients, taking care to not send the double-audio. - /// - /// The audio source - /// The sound - /// The audio parameters. - /// The user (if any) that instigated an interaction - /// Whether this interaction would have been predicted. If the predicting player is null, - /// this assumes it would have been predicted by all players in PVS range. - protected override void PlaySound(EntityUid uid, SoundSpecifier soundSpecifier, AudioParams audioParams, EntityUid? predictingPlayer, bool predicted) + private void OnBoltPowerChanged(Entity ent, ref PowerChangedEvent args) { - // If this sound would have been predicted by all clients, do not play any audio. - if (predicted && predictingPlayer == null) - return; - - if (predicted) - Audio.PlayPredicted(soundSpecifier, uid, predictingPlayer, audioParams); - else - Audio.PlayPvs(soundSpecifier, uid, audioParams); - } - - #region DoAfters - private void OnWeldAttempt(EntityUid uid, DoorComponent component, WeldableAttemptEvent args) - { - if (component.CurrentlyCrushing.Count > 0) + if (args.Powered) { - args.Cancel(); - return; + if (ent.Comp.BoltWireCut) + SetBoltsDown(ent, true); } - if (component.State != DoorState.Closed && component.State != DoorState.Welded) - { - args.Cancel(); - } - } - private void OnWeldChanged(EntityUid uid, DoorComponent component, ref WeldableChangedEvent args) - { - if (component.State == DoorState.Closed) - SetState(uid, DoorState.Welded, component); - else if (component.State == DoorState.Welded) - SetState(uid, DoorState.Closed, component); - } - #endregion - - - /// - /// Open a door if a player or door-bumper (PDA, ID-card) collide with the door. Sadly, bullets no longer - /// generate "access denied" sounds as you fire at a door. - /// - protected override void HandleCollide(EntityUid uid, DoorComponent door, ref StartCollideEvent args) - { - // TODO ACCESS READER move access reader to shared and predict door opening/closing - // Then this can be moved to the shared system without mispredicting. - if (!door.BumpOpen) - return; - - if (door.State is not (DoorState.Closed or DoorState.Denying)) - return; - - var otherUid = args.OtherEntity; - - if (Tags.HasTag(otherUid, "DoorBumpOpener")) - TryOpen(uid, door, otherUid, quiet: door.State == DoorState.Denying); - } - private void OnEmagged(EntityUid uid, DoorComponent door, ref GotEmaggedEvent args) - { - if (TryComp(uid, out var airlockComponent)) - { - if (_bolts.IsBolted(uid) || !this.IsPowered(uid, EntityManager)) - return; - - if (door.State == DoorState.Closed) - { - SetState(uid, DoorState.Emagging, door); - PlaySound(uid, door.SparkSound, AudioParams.Default.WithVolume(8), args.UserUid, false); - args.Handled = true; - } - } - } - - public override void StartOpening(EntityUid uid, DoorComponent? door = null, EntityUid? user = null, bool predicted = false) - { - if (!Resolve(uid, ref door)) - return; - - var lastState = door.State; - - SetState(uid, DoorState.Opening, door); - - if (door.OpenSound != null) - PlaySound(uid, door.OpenSound, AudioParams.Default.WithVolume(-5), user, predicted); - - if (lastState == DoorState.Emagging && TryComp(uid, out var doorBoltComponent)) - _bolts.SetBoltsWithAudio(uid, doorBoltComponent, !doorBoltComponent.BoltsDown); - } - - /// - /// Open or close a door after it has been successfuly pried. - /// - private void OnAfterPry(EntityUid uid, DoorComponent door, ref PriedEvent args) - { - if (door.State == DoorState.Closed) - { - _adminLog.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(args.User)} pried {ToPrettyString(uid)} open"); - StartOpening(uid, door, args.User); - } - else if (door.State == DoorState.Open) - { - _adminLog.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(args.User)} pried {ToPrettyString(uid)} closed"); - StartClosing(uid, door, args.User); - } - } - - protected override void CheckDoorBump(Entity ent) - { - var (uid, door, physics) = ent; - if (door.BumpOpen) - { - foreach (var other in PhysicsSystem.GetContactingEntities(uid, physics, approximate: true)) - { - if (Tags.HasTag(other, "DoorBumpOpener") && TryOpen(uid, door, other, quiet: true)) - break; - } - } + UpdateBoltLightStatus(ent); + ent.Comp.Powered = args.Powered; + Dirty(ent, ent.Comp); } } diff --git a/Content.Server/Doors/WireActions/DoorBoltLightWireAction.cs b/Content.Server/Doors/WireActions/DoorBoltLightWireAction.cs index 233ebfed3f..c5e3aa80c9 100644 --- a/Content.Server/Doors/WireActions/DoorBoltLightWireAction.cs +++ b/Content.Server/Doors/WireActions/DoorBoltLightWireAction.cs @@ -18,19 +18,18 @@ public sealed partial class DoorBoltLightWireAction : ComponentWireAction().SetBoltLightsEnabled(wire.Owner, door, false); + EntityManager.System().SetBoltLightsEnabled((wire.Owner, door), false); return true; } public override bool Mend(EntityUid user, Wire wire, DoorBoltComponent door) { - - EntityManager.System().SetBoltLightsEnabled(wire.Owner, door, true); + EntityManager.System().SetBoltLightsEnabled((wire.Owner, door), true); return true; } public override void Pulse(EntityUid user, Wire wire, DoorBoltComponent door) { - EntityManager.System().SetBoltLightsEnabled(wire.Owner, door, !door.BoltLightsEnabled); + EntityManager.System().SetBoltLightsEnabled((wire.Owner, door), !door.BoltLightsEnabled); } } diff --git a/Content.Server/Doors/WireActions/DoorBoltWireAction.cs b/Content.Server/Doors/WireActions/DoorBoltWireAction.cs index 29b5d726a2..fc1cf50cd8 100644 --- a/Content.Server/Doors/WireActions/DoorBoltWireAction.cs +++ b/Content.Server/Doors/WireActions/DoorBoltWireAction.cs @@ -19,24 +19,24 @@ public sealed partial class DoorBoltWireAction : ComponentWireAction().SetBoltWireCut(airlock, true); + EntityManager.System().SetBoltWireCut((wire.Owner, airlock), true); if (!airlock.BoltsDown && IsPowered(wire.Owner)) - EntityManager.System().SetBoltsWithAudio(wire.Owner, airlock, true); + EntityManager.System().SetBoltsDown((wire.Owner, airlock), true, user); return true; } public override bool Mend(EntityUid user, Wire wire, DoorBoltComponent door) { - EntityManager.System().SetBoltWireCut(door, false); + EntityManager.System().SetBoltWireCut((wire.Owner, door), false); return true; } public override void Pulse(EntityUid user, Wire wire, DoorBoltComponent door) { if (IsPowered(wire.Owner)) - EntityManager.System().SetBoltsWithAudio(wire.Owner, door, !door.BoltsDown); + EntityManager.System().SetBoltsDown((wire.Owner, door), !door.BoltsDown); else if (!door.BoltsDown) - EntityManager.System().SetBoltsWithAudio(wire.Owner, door, true); + EntityManager.System().SetBoltsDown((wire.Owner, door), true); } } diff --git a/Content.Server/Magic/MagicSystem.cs b/Content.Server/Magic/MagicSystem.cs index d8febe0d1f..2c9b11dbd3 100644 --- a/Content.Server/Magic/MagicSystem.cs +++ b/Content.Server/Magic/MagicSystem.cs @@ -36,7 +36,6 @@ public sealed class MagicSystem : EntitySystem [Dependency] private readonly IComponentFactory _compFact = default!; [Dependency] private readonly IMapManager _mapManager = default!; [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly DoorBoltSystem _boltsSystem = default!; [Dependency] private readonly BodySystem _bodySystem = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!; [Dependency] private readonly SharedDoorSystem _doorSystem = default!; @@ -307,7 +306,7 @@ public sealed class MagicSystem : EntitySystem foreach (var entity in _lookup.GetEntitiesInRange(coords, args.Range)) { if (TryComp(entity, out var bolts)) - _boltsSystem.SetBoltsDown(entity, bolts, false); + _doorSystem.SetBoltsDown((entity, bolts), false); if (TryComp(entity, out var doorComp) && doorComp.State is not DoorState.Open) _doorSystem.StartOpening(entity); diff --git a/Content.Server/Remotes/DoorRemoteSystem.cs b/Content.Server/Remotes/DoorRemoteSystem.cs index a88508ce53..9be7e5e96b 100644 --- a/Content.Server/Remotes/DoorRemoteSystem.cs +++ b/Content.Server/Remotes/DoorRemoteSystem.cs @@ -18,7 +18,6 @@ namespace Content.Server.Remotes public sealed class DoorRemoteSystem : EntitySystem { [Dependency] private readonly IAdminLogManager _adminLogger = default!; - [Dependency] private readonly DoorBoltSystem _bolts = default!; [Dependency] private readonly AirlockSystem _airlock = default!; [Dependency] private readonly SharedPopupSystem _popupSystem = default!; [Dependency] private readonly DoorSystem _doorSystem = default!; @@ -105,7 +104,7 @@ namespace Content.Server.Remotes { if (!boltsComp.BoltWireCut) { - _bolts.SetBoltsWithAudio(args.Target.Value, boltsComp, !boltsComp.BoltsDown); + _doorSystem.SetBoltsDown((args.Target.Value, boltsComp), !boltsComp.BoltsDown, args.User); _adminLogger.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(args.User):player} used {ToPrettyString(args.Used)} on {ToPrettyString(args.Target.Value)} to {(boltsComp.BoltsDown ? "" : "un")}bolt it"); } } diff --git a/Content.Server/Shuttles/Systems/DockingSystem.cs b/Content.Server/Shuttles/Systems/DockingSystem.cs index 778d244376..7f69885045 100644 --- a/Content.Server/Shuttles/Systems/DockingSystem.cs +++ b/Content.Server/Shuttles/Systems/DockingSystem.cs @@ -20,7 +20,6 @@ namespace Content.Server.Shuttles.Systems public sealed partial class DockingSystem : EntitySystem { [Dependency] private readonly IMapManager _mapManager = default!; - [Dependency] private readonly DoorBoltSystem _bolts = default!; [Dependency] private readonly DoorSystem _doorSystem = default!; [Dependency] private readonly FixtureSystem _fixtureSystem = default!; [Dependency] private readonly PathfindingSystem _pathfinding = default!; @@ -363,7 +362,7 @@ namespace Content.Server.Shuttles.Systems doorA.ChangeAirtight = false; if (TryComp(dockAUid, out var airlockA)) { - _bolts.SetBoltsWithAudio(dockAUid, airlockA, true); + _doorSystem.SetBoltsDown((dockAUid, airlockA), true); } } } @@ -375,7 +374,7 @@ namespace Content.Server.Shuttles.Systems doorB.ChangeAirtight = false; if (TryComp(dockBUid, out var airlockB)) { - _bolts.SetBoltsWithAudio(dockBUid, airlockB, true); + _doorSystem.SetBoltsDown((dockBUid, airlockB), true); } } } @@ -470,7 +469,7 @@ namespace Content.Server.Shuttles.Systems return; if (TryComp(dockUid, out var airlock)) - _bolts.SetBoltsWithAudio(dockUid, airlock, false); + _doorSystem.SetBoltsDown((dockUid, airlock), false); if (TryComp(dockUid, out DoorComponent? door) && _doorSystem.TryClose(dockUid, door)) door.ChangeAirtight = true; diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs index 99ce4a044d..d976b634d5 100644 --- a/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs +++ b/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs @@ -459,7 +459,7 @@ public sealed partial class ShuttleSystem continue; _doors.TryClose(doorUid); - _bolts.SetBoltsWithAudio(doorUid, door, enabled); + _doors.SetBoltsDown((doorUid, door), enabled); } } diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.cs index 471b46e507..5f11ce25a4 100644 --- a/Content.Server/Shuttles/Systems/ShuttleSystem.cs +++ b/Content.Server/Shuttles/Systems/ShuttleSystem.cs @@ -34,7 +34,6 @@ public sealed partial class ShuttleSystem : SharedShuttleSystem [Dependency] private readonly BodySystem _bobby = default!; [Dependency] private readonly DockingSystem _dockSystem = default!; [Dependency] private readonly DoorSystem _doors = default!; - [Dependency] private readonly DoorBoltSystem _bolts = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!; [Dependency] private readonly FixtureSystem _fixtures = default!; [Dependency] private readonly MapLoaderSystem _loader = default!; diff --git a/Content.Server/Wires/WiresSystem.cs b/Content.Server/Wires/WiresSystem.cs index 2b23b09360..0f9ee8b0f7 100644 --- a/Content.Server/Wires/WiresSystem.cs +++ b/Content.Server/Wires/WiresSystem.cs @@ -620,13 +620,6 @@ public sealed class WiresSystem : SharedWiresSystem } } - public void ChangePanelVisibility(EntityUid uid, WiresPanelComponent component, bool visible) - { - component.Visible = visible; - UpdateAppearance(uid, component); - Dirty(uid, component); - } - public void SetWiresPanelSecurity(EntityUid uid, WiresPanelSecurityComponent component, WiresPanelSecurityEvent args) { component.Examine = args.Examine; diff --git a/Content.Shared/Doors/Components/AirlockComponent.cs b/Content.Shared/Doors/Components/AirlockComponent.cs index 332df2ac77..dd8241c64e 100644 --- a/Content.Shared/Doors/Components/AirlockComponent.cs +++ b/Content.Shared/Doors/Components/AirlockComponent.cs @@ -12,6 +12,9 @@ namespace Content.Shared.Doors.Components; [Access(typeof(SharedAirlockSystem), Friend = AccessPermissions.ReadWriteExecute, Other = AccessPermissions.Read)] public sealed partial class AirlockComponent : Component { + [DataField, AutoNetworkedField] + public bool Powered; + // Need to network airlock safety state to avoid mis-predicts when a door auto-closes as the client walks through the door. [ViewVariables(VVAccess.ReadWrite)] [DataField, AutoNetworkedField] diff --git a/Content.Shared/Doors/Components/DoorBoltComponent.cs b/Content.Shared/Doors/Components/DoorBoltComponent.cs index 52f7d56db5..a5b0621ff4 100644 --- a/Content.Shared/Doors/Components/DoorBoltComponent.cs +++ b/Content.Shared/Doors/Components/DoorBoltComponent.cs @@ -8,36 +8,43 @@ namespace Content.Shared.Doors.Components; /// Companion component to DoorComponent that handles bolt-specific behavior. /// [RegisterComponent, NetworkedComponent] -[Access(typeof(SharedDoorBoltSystem))] +[Access(typeof(SharedDoorSystem))] +[AutoGenerateComponentState] public sealed partial class DoorBoltComponent : Component { /// /// Sound to play when the bolts on the airlock go up. /// - [DataField("boltUpSound"), ViewVariables(VVAccess.ReadWrite)] + [DataField, ViewVariables(VVAccess.ReadWrite)] public SoundSpecifier BoltUpSound = new SoundPathSpecifier("/Audio/Machines/boltsup.ogg"); /// /// Sound to play when the bolts on the airlock go down. /// - [DataField("boltDownSound"), ViewVariables(VVAccess.ReadWrite)] + [DataField, ViewVariables(VVAccess.ReadWrite)] public SoundSpecifier BoltDownSound = new SoundPathSpecifier("/Audio/Machines/boltsdown.ogg"); /// /// Whether the door bolts are currently deployed. /// - [ViewVariables(VVAccess.ReadWrite)] + [DataField, AutoNetworkedField] public bool BoltsDown; /// /// Whether the bolt lights are currently enabled. /// - [ViewVariables(VVAccess.ReadWrite)] + [DataField, AutoNetworkedField] public bool BoltLightsEnabled = true; /// /// True if the bolt wire is cut, which will force the airlock to always be bolted as long as it has power. /// - [ViewVariables(VVAccess.ReadWrite)] + [DataField, AutoNetworkedField] public bool BoltWireCut; + + /// + /// Used for prediction. true if the door has power. + /// + [DataField, AutoNetworkedField] + public bool Powered; } diff --git a/Content.Shared/Doors/Components/DoorComponent.cs b/Content.Shared/Doors/Components/DoorComponent.cs index 135f8b0856..d1b93d845d 100644 --- a/Content.Shared/Doors/Components/DoorComponent.cs +++ b/Content.Shared/Doors/Components/DoorComponent.cs @@ -124,14 +124,14 @@ public sealed partial class DoorComponent : Component /// If false, this door is incapable of crushing entities. This just determines whether it will apply damage and /// stun, not whether it can close despite entities being in the way. /// - [DataField] + [DataField, AutoNetworkedField] public bool CanCrush = true; /// /// Whether to check for colliding entities before closing. This may be overridden by other system by subscribing to /// . For example, hacked airlocks will set this to false. /// - [DataField] + [DataField, AutoNetworkedField] public bool PerformCollisionCheck = true; /// @@ -190,7 +190,7 @@ public sealed partial class DoorComponent : Component /// The sprite state used for the door when it's being emagged. /// [DataField] - public string EmaggingSpriteState = "emagging"; + public string EmaggingSpriteState = "sparks"; /// /// The sprite state used for the door when it's open. diff --git a/Content.Shared/Doors/Systems/SharedAirlockSystem.cs b/Content.Shared/Doors/Systems/SharedAirlockSystem.cs index 9e1273b784..a3172bb8c3 100644 --- a/Content.Shared/Doors/Systems/SharedAirlockSystem.cs +++ b/Content.Shared/Doors/Systems/SharedAirlockSystem.cs @@ -1,5 +1,7 @@ using Content.Shared.Doors.Components; using Content.Shared.Popups; +using Content.Shared.Prying.Components; +using Content.Shared.Wires; namespace Content.Shared.Doors.Systems; @@ -8,18 +10,112 @@ public abstract class SharedAirlockSystem : EntitySystem [Dependency] protected readonly SharedAppearanceSystem Appearance = default!; [Dependency] protected readonly SharedDoorSystem DoorSystem = default!; [Dependency] protected readonly SharedPopupSystem Popup = default!; + [Dependency] private readonly SharedWiresSystem _wiresSystem = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnBeforeDoorClosed); + SubscribeLocalEvent(OnStateChanged); + SubscribeLocalEvent(OnBeforeDoorOpened); + SubscribeLocalEvent(OnBeforeDoorDenied); + SubscribeLocalEvent(OnGetPryMod); + SubscribeLocalEvent(OnBeforePry); } - protected virtual void OnBeforeDoorClosed(EntityUid uid, AirlockComponent airlock, BeforeDoorClosedEvent args) + private void OnBeforeDoorClosed(EntityUid uid, AirlockComponent airlock, BeforeDoorClosedEvent args) { + if (args.Cancelled) + return; + if (!airlock.Safety) args.PerformCollisionCheck = false; + + // only block based on bolts / power status when initially closing the door, not when its already + // mid-transition. Particularly relevant for when the door was pried-closed with a crowbar, which bypasses + // the initial power-check. + + if (TryComp(uid, out DoorComponent? door) + && !door.Partial + && !CanChangeState(uid, airlock)) + { + args.Cancel(); + } + } + + private void OnStateChanged(EntityUid uid, AirlockComponent component, DoorStateChangedEvent args) + { + // Only show the maintenance panel if the airlock is closed + if (TryComp(uid, out var wiresPanel)) + { + _wiresSystem.ChangePanelVisibility(uid, wiresPanel, component.OpenPanelVisible || args.State != DoorState.Open); + } + // If the door is closed, we should look if the bolt was locked while closing + UpdateAutoClose(uid, component); + + // Make sure the airlock auto closes again next time it is opened + if (args.State == DoorState.Closed) + component.AutoClose = true; + } + + private void OnBeforeDoorOpened(EntityUid uid, AirlockComponent component, BeforeDoorOpenedEvent args) + { + if (!CanChangeState(uid, component)) + args.Cancel(); + } + + private void OnBeforeDoorDenied(EntityUid uid, AirlockComponent component, BeforeDoorDeniedEvent args) + { + if (!CanChangeState(uid, component)) + args.Cancel(); + } + + private void OnGetPryMod(EntityUid uid, AirlockComponent component, ref GetPryTimeModifierEvent args) + { + if (component.Powered) + args.PryTimeModifier *= component.PoweredPryModifier; + + if (DoorSystem.IsBolted(uid)) + args.PryTimeModifier *= component.BoltedPryModifier; + } + + /// + /// Updates the auto close timer. + /// + public void UpdateAutoClose(EntityUid uid, AirlockComponent? airlock = null, DoorComponent? door = null) + { + if (!Resolve(uid, ref airlock, ref door)) + return; + + if (door.State != DoorState.Open) + return; + + if (!airlock.AutoClose) + return; + + if (!CanChangeState(uid, airlock)) + return; + + var autoev = new BeforeDoorAutoCloseEvent(); + RaiseLocalEvent(uid, autoev); + if (autoev.Cancelled) + return; + + DoorSystem.SetNextStateChange(uid, airlock.AutoCloseDelay * airlock.AutoCloseDelayModifier); + } + + private void OnBeforePry(EntityUid uid, AirlockComponent component, ref BeforePryEvent args) + { + if (args.Cancelled) + return; + + if (!component.Powered || args.PryPowered) + return; + + args.Message = "airlock-component-cannot-pry-is-powered-message"; + + args.Cancelled = true; } public void UpdateEmergencyLightStatus(EntityUid uid, AirlockComponent component) @@ -45,4 +141,9 @@ public abstract class SharedAirlockSystem : EntitySystem { component.Safety = value; } + + public bool CanChangeState(EntityUid uid, AirlockComponent component) + { + return component.Powered && !DoorSystem.IsBolted(uid); + } } diff --git a/Content.Shared/Doors/Systems/SharedDoorBoltSystem.cs b/Content.Shared/Doors/Systems/SharedDoorBoltSystem.cs deleted file mode 100644 index 7c5ef45275..0000000000 --- a/Content.Shared/Doors/Systems/SharedDoorBoltSystem.cs +++ /dev/null @@ -1,61 +0,0 @@ -using Content.Shared.Doors.Components; -using Content.Shared.Popups; -using Content.Shared.Prying.Components; -using Robust.Shared.Audio; -using Robust.Shared.Audio.Systems; - -namespace Content.Shared.Doors.Systems; - -public abstract class SharedDoorBoltSystem : EntitySystem -{ - - [Dependency] protected readonly SharedAppearanceSystem Appearance = default!; - [Dependency] protected readonly SharedAudioSystem Audio = default!; - [Dependency] protected readonly SharedPopupSystem Popup = default!; - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnBeforeDoorOpened); - SubscribeLocalEvent(OnBeforeDoorClosed); - SubscribeLocalEvent(OnBeforeDoorDenied); - SubscribeLocalEvent(OnDoorPry); - - } - - private void OnDoorPry(EntityUid uid, DoorBoltComponent component, ref BeforePryEvent args) - { - if (args.Cancelled) - return; - - if (!component.BoltsDown || args.Force) - return; - - args.Message = "airlock-component-cannot-pry-is-bolted-message"; - - args.Cancelled = true; - } - - private void OnBeforeDoorOpened(EntityUid uid, DoorBoltComponent component, BeforeDoorOpenedEvent args) - { - if (component.BoltsDown) - args.Cancel(); - } - - private void OnBeforeDoorClosed(EntityUid uid, DoorBoltComponent component, BeforeDoorClosedEvent args) - { - if (component.BoltsDown) - args.Cancel(); - } - - private void OnBeforeDoorDenied(EntityUid uid, DoorBoltComponent component, BeforeDoorDeniedEvent args) - { - if (component.BoltsDown) - args.Cancel(); - } - - public void SetBoltWireCut(DoorBoltComponent component, bool value) - { - component.BoltWireCut = value; - } -} diff --git a/Content.Shared/Doors/Systems/SharedDoorSystem.Bolts.cs b/Content.Shared/Doors/Systems/SharedDoorSystem.Bolts.cs new file mode 100644 index 0000000000..35681bfd82 --- /dev/null +++ b/Content.Shared/Doors/Systems/SharedDoorSystem.Bolts.cs @@ -0,0 +1,109 @@ +using Content.Shared.Doors.Components; +using Content.Shared.Prying.Components; + +namespace Content.Shared.Doors.Systems; + +public abstract partial class SharedDoorSystem +{ + public void InitializeBolts() + { + base.Initialize(); + + SubscribeLocalEvent(OnBeforeDoorOpened); + SubscribeLocalEvent(OnBeforeDoorClosed); + SubscribeLocalEvent(OnBeforeDoorDenied); + SubscribeLocalEvent(OnDoorPry); + SubscribeLocalEvent(OnStateChanged); + } + + private void OnDoorPry(EntityUid uid, DoorBoltComponent component, ref BeforePryEvent args) + { + if (args.Cancelled) + return; + + if (!component.BoltsDown || args.Force) + return; + + args.Message = "airlock-component-cannot-pry-is-bolted-message"; + + args.Cancelled = true; + } + + private void OnBeforeDoorOpened(EntityUid uid, DoorBoltComponent component, BeforeDoorOpenedEvent args) + { + if (component.BoltsDown) + args.Cancel(); + } + + private void OnBeforeDoorClosed(EntityUid uid, DoorBoltComponent component, BeforeDoorClosedEvent args) + { + if (component.BoltsDown) + args.Cancel(); + } + + private void OnBeforeDoorDenied(EntityUid uid, DoorBoltComponent component, BeforeDoorDeniedEvent args) + { + if (component.BoltsDown) + args.Cancel(); + } + + public void SetBoltWireCut(Entity ent, bool value) + { + ent.Comp.BoltWireCut = value; + Dirty(ent, ent.Comp); + } + + public void UpdateBoltLightStatus(Entity ent) + { + AppearanceSystem.SetData(ent, DoorVisuals.BoltLights, GetBoltLightsVisible(ent)); + } + + public bool GetBoltLightsVisible(Entity ent) + { + return ent.Comp.BoltLightsEnabled && + ent.Comp.BoltsDown && + ent.Comp.Powered; + } + + public void SetBoltLightsEnabled(Entity ent, bool value) + { + if (ent.Comp.BoltLightsEnabled == value) + return; + + ent.Comp.BoltLightsEnabled = value; + Dirty(ent, ent.Comp); + UpdateBoltLightStatus(ent); + } + + public void SetBoltsDown(Entity ent, bool value, EntityUid? user = null, bool predicted = false) + { + if (ent.Comp.BoltsDown == value) + return; + + ent.Comp.BoltsDown = value; + Dirty(ent, ent.Comp); + UpdateBoltLightStatus(ent); + + var sound = value ? ent.Comp.BoltDownSound : ent.Comp.BoltUpSound; + if (predicted) + Audio.PlayPredicted(sound, ent, user: user); + else + Audio.PlayPvs(sound, ent); + } + + private void OnStateChanged(Entity entity, ref DoorStateChangedEvent args) + { + // If the door is closed, we should look if the bolt was locked while closing + UpdateBoltLightStatus(entity); + } + + public bool IsBolted(EntityUid uid, DoorBoltComponent? component = null) + { + if (!Resolve(uid, ref component)) + { + return false; + } + + return component.BoltsDown; + } +} diff --git a/Content.Shared/Doors/Systems/SharedDoorSystem.cs b/Content.Shared/Doors/Systems/SharedDoorSystem.cs index f04f6c6dfe..6a2a25f614 100644 --- a/Content.Shared/Doors/Systems/SharedDoorSystem.cs +++ b/Content.Shared/Doors/Systems/SharedDoorSystem.cs @@ -1,26 +1,35 @@ using System.Linq; using Content.Shared.Access.Components; using Content.Shared.Access.Systems; +using Content.Shared.Administration.Logs; using Content.Shared.Damage; +using Content.Shared.Database; using Content.Shared.Doors.Components; +using Content.Shared.Emag.Systems; using Content.Shared.Hands.Components; using Content.Shared.Interaction; using Content.Shared.Physics; +using Content.Shared.Popups; using Content.Shared.Prying.Components; +using Content.Shared.Prying.Systems; using Content.Shared.Stunnable; using Content.Shared.Tag; +using Content.Shared.Tools.Systems; using Robust.Shared.Audio; using Robust.Shared.Physics.Components; using Robust.Shared.Physics.Events; using Robust.Shared.Physics.Systems; using Robust.Shared.Timing; using Robust.Shared.Audio.Systems; +using Robust.Shared.Network; namespace Content.Shared.Doors.Systems; -public abstract class SharedDoorSystem : EntitySystem +public abstract partial class SharedDoorSystem : EntitySystem { + [Dependency] private readonly ISharedAdminLogManager _adminLog = default!; [Dependency] protected readonly IGameTiming GameTiming = default!; + [Dependency] private readonly INetManager _net = default!; [Dependency] protected readonly SharedPhysicsSystem PhysicsSystem = default!; [Dependency] private readonly DamageableSystem _damageableSystem = default!; [Dependency] private readonly SharedStunSystem _stunSystem = default!; @@ -30,6 +39,11 @@ public abstract class SharedDoorSystem : EntitySystem [Dependency] protected readonly SharedAppearanceSystem AppearanceSystem = default!; [Dependency] private readonly OccluderSystem _occluder = default!; [Dependency] private readonly AccessReaderSystem _accessReaderSystem = default!; + [Dependency] private readonly PryingSystem _pryingSystem = default!; + [Dependency] protected readonly SharedPopupSystem Popup = default!; + + [ValidatePrototypeId] + public const string DoorBumpTag = "DoorBumpOpener"; /// /// A body must have an intersection percentage larger than this in order to be considered as colliding with a @@ -50,6 +64,8 @@ public abstract class SharedDoorSystem : EntitySystem { base.Initialize(); + InitializeBolts(); + SubscribeLocalEvent(OnComponentInit); SubscribeLocalEvent(OnRemove); @@ -60,8 +76,12 @@ public abstract class SharedDoorSystem : EntitySystem SubscribeLocalEvent(HandleCollide); SubscribeLocalEvent(PreventCollision); SubscribeLocalEvent(OnBeforePry); + SubscribeLocalEvent(OnAfterPry); + SubscribeLocalEvent(OnWeldAttempt); + SubscribeLocalEvent(OnWeldChanged); SubscribeLocalEvent(OnPryTimeModifier); + SubscribeLocalEvent(OnEmagged); } protected virtual void OnComponentInit(Entity ent, ref ComponentInit args) @@ -100,6 +120,23 @@ public abstract class SharedDoorSystem : EntitySystem _activeDoors.Remove(door); } + private void OnEmagged(EntityUid uid, DoorComponent door, ref GotEmaggedEvent args) + { + if (!TryComp(uid, out var airlock)) + return; + + if (IsBolted(uid) || !airlock.Powered) + return; + + if (door.State == DoorState.Closed) + { + if (!SetState(uid, DoorState.Emagging, door)) + return; + Audio.PlayPredicted(door.SparkSound, uid, args.UserUid, AudioParams.Default.WithVolume(8)); + args.Handled = true; + } + } + #region StateManagement private void OnHandleState(Entity ent, ref AfterAutoHandleStateEvent args) { @@ -113,14 +150,14 @@ public abstract class SharedDoorSystem : EntitySystem AppearanceSystem.SetData(ent, DoorVisuals.State, door.State); } - protected void SetState(EntityUid uid, DoorState state, DoorComponent? door = null) + protected bool SetState(EntityUid uid, DoorState state, DoorComponent? door = null) { if (!Resolve(uid, ref door)) - return; + return false; // If no change, return to avoid firing a new DoorStateChangedEvent. if (state == door.State) - return; + return false; switch (state) { @@ -159,14 +196,20 @@ public abstract class SharedDoorSystem : EntitySystem Dirty(uid, door); RaiseLocalEvent(uid, new DoorStateChangedEvent(state)); AppearanceSystem.SetData(uid, DoorVisuals.State, door.State); + return true; } #endregion #region Interactions - protected virtual void OnActivate(EntityUid uid, DoorComponent door, ActivateInWorldEvent args) + protected void OnActivate(EntityUid uid, DoorComponent door, ActivateInWorldEvent args) { - // avoid client-mispredicts, as the server will definitely handle this event + if (args.Handled || !door.ClickOpen) + return; + + if (!TryToggleDoor(uid, door, args.User, predicted: true)) + _pryingSystem.TryPry(uid, args.User, out _); + args.Handled = true; } @@ -181,6 +224,44 @@ public abstract class SharedDoorSystem : EntitySystem args.Cancelled = true; } + /// + /// Open or close a door after it has been successfully pried. + /// + private void OnAfterPry(EntityUid uid, DoorComponent door, ref PriedEvent args) + { + if (door.State == DoorState.Closed) + { + _adminLog.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(args.User)} pried {ToPrettyString(uid)} open"); + StartOpening(uid, door, args.User, true); + } + else if (door.State == DoorState.Open) + { + _adminLog.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(args.User)} pried {ToPrettyString(uid)} closed"); + StartClosing(uid, door, args.User, true); + } + } + + private void OnWeldAttempt(EntityUid uid, DoorComponent component, WeldableAttemptEvent args) + { + if (component.CurrentlyCrushing.Count > 0) + { + args.Cancel(); + return; + } + if (component.State != DoorState.Closed && component.State != DoorState.Welded) + { + args.Cancel(); + } + } + + private void OnWeldChanged(EntityUid uid, DoorComponent component, ref WeldableChangedEvent args) + { + if (component.State == DoorState.Closed) + SetState(uid, DoorState.Welded, component); + else if (component.State == DoorState.Welded) + SetState(uid, DoorState.Closed, component); + } + /// /// Update the door state/visuals and play an access denied sound when a user without access interacts with the /// door. @@ -199,13 +280,15 @@ public abstract class SharedDoorSystem : EntitySystem if (ev.Cancelled) return; - SetState(uid, DoorState.Denying, door); + if (!SetState(uid, DoorState.Denying, door)) + return; - if (door.DenySound != null) - PlaySound(uid, door.DenySound, AudioParams.Default.WithVolume(-3), user, predicted); + if (predicted) + Audio.PlayPredicted(door.DenySound, uid, user, AudioParams.Default.WithVolume(-3)); + else if (_net.IsServer) + Audio.PlayPvs(door.DenySound, uid, AudioParams.Default.WithVolume(-3)); } - public bool TryToggleDoor(EntityUid uid, DoorComponent? door = null, EntityUid? user = null, bool predicted = false) { if (!Resolve(uid, ref door)) @@ -215,7 +298,8 @@ public abstract class SharedDoorSystem : EntitySystem { return TryOpen(uid, door, user, predicted, quiet: door.State == DoorState.Denying); } - else if (door.State == DoorState.Open) + + if (door.State == DoorState.Open) { return TryClose(uid, door, user, predicted); } @@ -254,7 +338,7 @@ public abstract class SharedDoorSystem : EntitySystem if (!HasAccess(uid, user, door)) { if (!quiet) - Deny(uid, door); + Deny(uid, door, user, predicted: true); return false; } @@ -269,22 +353,29 @@ public abstract class SharedDoorSystem : EntitySystem /// The user (if any) opening the door /// Whether the interaction would have been /// predicted. See comments in the PlaySound method on the Server system for details - public virtual void StartOpening(EntityUid uid, DoorComponent? door = null, EntityUid? user = null, bool predicted = false) + public void StartOpening(EntityUid uid, DoorComponent? door = null, EntityUid? user = null, bool predicted = false) { if (!Resolve(uid, ref door)) return; - SetState(uid, DoorState.Opening, door); + var lastState = door.State; - if (door.OpenSound != null) - PlaySound(uid, door.OpenSound, AudioParams.Default.WithVolume(-5), user, predicted); + if (!SetState(uid, DoorState.Opening, door)) + return; + + if (predicted) + Audio.PlayPredicted(door.OpenSound, uid, user, AudioParams.Default.WithVolume(-5)); + else if (_net.IsServer) + Audio.PlayPvs(door.OpenSound, uid, AudioParams.Default.WithVolume(-5)); + + if (lastState == DoorState.Emagging && TryComp(uid, out var doorBoltComponent)) + SetBoltsDown((uid, doorBoltComponent), !doorBoltComponent.BoltsDown, user, true); // I'm not sure what the intent here is/was? It plays a sound if the user is opening a door with a hands // component, but no actual hands!? What!? Is this the sound of them head-butting the door to get it to open?? // I'm 99% sure something is wrong here, but I kind of want to keep it this way. - - if (user != null && TryComp(user.Value, out HandsComponent? hands) && hands.Hands.Count == 0) - PlaySound(uid, door.TryOpenDoorSound, AudioParams.Default.WithVolume(-2), user, predicted); + if (user != null && (!TryComp(user.Value, out HandsComponent? hands) || hands.Hands.Count == 0)) + Audio.PlayPredicted(door.TryOpenDoorSound, uid, user, AudioParams.Default.WithVolume(-2)); } /// @@ -310,7 +401,7 @@ public abstract class SharedDoorSystem : EntitySystem if (!Resolve(uid, ref door)) return false; - if (!CanClose(uid, door, user, false)) + if (!CanClose(uid, door, user)) return false; StartClosing(uid, door, user, predicted); @@ -323,9 +414,7 @@ public abstract class SharedDoorSystem : EntitySystem /// The uid of the door /// The doorcomponent of the door /// The user (if any) opening the door - /// Whether the interaction would have been - /// predicted. See comments in the PlaySound method on the Server system for details - public bool CanClose(EntityUid uid, DoorComponent? door = null, EntityUid? user = null, bool quiet = true) + public bool CanClose(EntityUid uid, DoorComponent? door = null, EntityUid? user = null) { if (!Resolve(uid, ref door)) return false; @@ -336,7 +425,7 @@ public abstract class SharedDoorSystem : EntitySystem return false; var ev = new BeforeDoorClosedEvent(door.PerformCollisionCheck); - RaiseLocalEvent(uid, ev, false); + RaiseLocalEvent(uid, ev); if (ev.Cancelled) return false; @@ -346,15 +435,18 @@ public abstract class SharedDoorSystem : EntitySystem return !ev.PerformCollisionCheck || !GetColliding(uid).Any(); } - public virtual void StartClosing(EntityUid uid, DoorComponent? door = null, EntityUid? user = null, bool predicted = false) + public void StartClosing(EntityUid uid, DoorComponent? door = null, EntityUid? user = null, bool predicted = false) { if (!Resolve(uid, ref door)) return; - SetState(uid, DoorState.Closing, door); + if (!SetState(uid, DoorState.Closing, door)) + return; - if (door.CloseSound != null) - PlaySound(uid, door.CloseSound, AudioParams.Default.WithVolume(-5), user, predicted); + if (predicted) + Audio.PlayPredicted(door.CloseSound, uid, user, AudioParams.Default.WithVolume(-5)); + else if (_net.IsServer) + Audio.PlayPvs(door.CloseSound, uid, AudioParams.Default.WithVolume(-5)); } /// @@ -367,7 +459,6 @@ public abstract class SharedDoorSystem : EntitySystem return false; door.Partial = true; - Dirty(uid, door); // Make sure no entity waled into the airlock when it started closing. if (!CanClose(uid, door)) @@ -380,6 +471,7 @@ public abstract class SharedDoorSystem : EntitySystem SetCollidable(uid, true, door, physics); door.NextStateChange = GameTiming.CurTime + door.CloseTimeTwo; + Dirty(uid, door); _activeDoors.Add((uid, door)); // Crush any entities. Note that we don't check airlock safety here. This should have been checked before @@ -489,10 +581,22 @@ public abstract class SharedDoorSystem : EntitySystem } } - protected virtual void HandleCollide(EntityUid uid, DoorComponent door, ref StartCollideEvent args) + /// + /// Open a door if a player or door-bumper (PDA, ID-card) collide with the door. Sadly, bullets no longer + /// generate "access denied" sounds as you fire at a door. + /// + private void HandleCollide(EntityUid uid, DoorComponent door, ref StartCollideEvent args) { - // TODO ACCESS READER move access reader to shared and predict door opening/closing - // Then this can be moved to the shared system without mispredicting. + if (!door.BumpOpen) + return; + + if (door.State is not (DoorState.Closed or DoorState.Denying)) + return; + + var otherUid = args.OtherEntity; + + if (Tags.HasTag(otherUid, DoorBumpTag)) + TryOpen(uid, door, otherUid, quiet: door.State == DoorState.Denying); } #endregion @@ -587,6 +691,19 @@ public abstract class SharedDoorSystem : EntitySystem _activeDoors.Add((uid, door)); } + protected void CheckDoorBump(Entity ent) + { + var (uid, door, physics) = ent; + if (door.BumpOpen) + { + foreach (var other in PhysicsSystem.GetContactingEntities(uid, physics, approximate: true)) + { + if (Tags.HasTag(other, DoorBumpTag) && TryOpen(uid, door, other, quiet: true)) + break; + } + } + } + /// /// Iterate over active doors and progress them to the next state if they need to be updated. /// @@ -619,8 +736,6 @@ public abstract class SharedDoorSystem : EntitySystem } } - protected virtual void CheckDoorBump(Entity ent) { } - /// /// Makes a door proceed to the next state (if applicable). /// @@ -632,7 +747,7 @@ public abstract class SharedDoorSystem : EntitySystem if (door.CurrentlyCrushing.Count > 0) // This is a closed door that is crushing people and needs to auto-open. Note that we don't check "can open" // here. The door never actually finished closing and we don't want people to get stuck inside of doors. - StartOpening(ent, door, predicted: true); + StartOpening(ent, door); switch (door.State) { @@ -665,7 +780,7 @@ public abstract class SharedDoorSystem : EntitySystem case DoorState.Open: // This door is open, and queued for an auto-close. - if (!TryClose(ent, door, predicted: true)) + if (!TryClose(ent, door)) { // The door failed to close (blocked?). Try again in one second. door.NextStateChange = time + TimeSpan.FromSeconds(1); @@ -679,6 +794,4 @@ public abstract class SharedDoorSystem : EntitySystem } } #endregion - - protected abstract void PlaySound(EntityUid uid, SoundSpecifier soundSpecifier, AudioParams audioParams, EntityUid? predictingPlayer, bool predicted); } diff --git a/Content.Shared/Prying/Systems/PryingSystem.cs b/Content.Shared/Prying/Systems/PryingSystem.cs index 7271258f5c..fa7a135e6c 100644 --- a/Content.Shared/Prying/Systems/PryingSystem.cs +++ b/Content.Shared/Prying/Systems/PryingSystem.cs @@ -74,8 +74,8 @@ public sealed class PryingSystem : EntitySystem if (!CanPry(target, user, out var message, comp)) { - if (message != null) - Popup.PopupEntity(Loc.GetString(message), target, user); + if (!string.IsNullOrWhiteSpace(message)) + Popup.PopupClient(Loc.GetString(message), target, user); // If we have reached this point we want the event that caused this // to be marked as handled. return true; @@ -162,23 +162,14 @@ public sealed class PryingSystem : EntitySystem if (!CanPry(uid, args.User, out var message, comp)) { - if (message != null) - Popup.PopupEntity(Loc.GetString(message), uid, args.User); + if (!string.IsNullOrWhiteSpace(message)) + Popup.PopupClient(Loc.GetString(message), uid, args.User); return; } - // TODO: When we get airlock prediction make this fully predicted. - // When that happens also fix the checking function in the Client AirlockSystem. if (args.Used != null && comp != null) { - if (HasComp(uid)) - { - _audioSystem.PlayPvs(comp.UseSound, args.Used.Value); - } - else - { - _audioSystem.PlayPredicted(comp.UseSound, args.Used.Value, args.User); - } + _audioSystem.PlayPredicted(comp.UseSound, args.Used.Value, args.User); } var ev = new PriedEvent(args.User); diff --git a/Content.Shared/Wires/SharedWiresSystem.cs b/Content.Shared/Wires/SharedWiresSystem.cs index a40f428329..f069687ffb 100644 --- a/Content.Shared/Wires/SharedWiresSystem.cs +++ b/Content.Shared/Wires/SharedWiresSystem.cs @@ -76,6 +76,13 @@ public abstract class SharedWiresSystem : EntitySystem } } + public void ChangePanelVisibility(EntityUid uid, WiresPanelComponent component, bool visible) + { + component.Visible = visible; + UpdateAppearance(uid, component); + Dirty(uid, component); + } + protected void UpdateAppearance(EntityUid uid, WiresPanelComponent panel) { if (TryComp(uid, out var appearance)) From 146c7b272d9af2ff68e110211d88c9c3c38b5fd9 Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Thu, 22 Feb 2024 20:04:23 -0500 Subject: [PATCH 10/73] Fix examine text bug for Openable Drinkables (#25478) Break up Opened/Closed and fill level onto separate lines --- Content.Server/Nutrition/EntitySystems/DrinkSystem.cs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs b/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs index f41ca44437..925e50b949 100644 --- a/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/DrinkSystem.cs @@ -130,21 +130,18 @@ public sealed class DrinkSystem : EntitySystem private void OnExamined(Entity entity, ref ExaminedEvent args) { - var hasOpenable = TryComp(entity, out var openable); + TryComp(entity, out var openable); if (_openable.IsClosed(entity.Owner, null, openable) || !args.IsInDetailsRange || !entity.Comp.Examinable) return; - // put Empty / Xu after Opened, or start a new line - args.AddMarkup(hasOpenable ? " - " : "\n"); - var empty = IsEmpty(entity, entity.Comp); if (empty) { - args.AddMarkup(Loc.GetString("drink-component-on-examine-is-empty")); + args.PushMarkup(Loc.GetString("drink-component-on-examine-is-empty")); return; } - if (TryComp(entity, out var comp)) + if (HasComp(entity)) { //provide exact measurement for beakers args.PushText(Loc.GetString("drink-component-on-examine-exact-volume", ("amount", DrinkVolume(entity, entity.Comp)))); @@ -159,7 +156,7 @@ public sealed class DrinkSystem : EntitySystem > 33 => HalfEmptyOrHalfFull(args), _ => "drink-component-on-examine-is-mostly-empty", }; - args.AddMarkup(Loc.GetString(remainingString)); + args.PushMarkup(Loc.GetString(remainingString)); } } From 65687375eec57b453d9bd67b945598691052bb8a Mon Sep 17 00:00:00 2001 From: lzk <124214523+lzk228@users.noreply.github.com> Date: Fri, 23 Feb 2024 02:05:11 +0100 Subject: [PATCH 11/73] Make galoshes obtainable and slowing you (#25484) * make galoshes obtainable and slowing you * Update specific.yml --- .../Catalog/VendingMachines/Inventories/janidrobe.yml | 1 + Resources/Prototypes/Entities/Clothing/Shoes/specific.yml | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/janidrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/janidrobe.yml index b585d34051..233a77b865 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/janidrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/janidrobe.yml @@ -5,6 +5,7 @@ ClothingUniformJumpskirtJanitor: 2 ClothingHandsGlovesJanitor: 2 ClothingShoesColorBlack: 2 + ClothingShoesGaloshes: 2 ClothingHeadHatPurplesoft: 2 ClothingBeltJanitor: 2 ClothingHeadsetService: 2 diff --git a/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml b/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml index 4a49c804cd..6a507cf0d2 100644 --- a/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml +++ b/Resources/Prototypes/Entities/Clothing/Shoes/specific.yml @@ -90,6 +90,9 @@ - type: Clothing sprite: Clothing/Shoes/Specific/galoshes.rsi - type: NoSlip + - type: ClothingSpeedModifier + walkModifier: 0.9 + sprintModifier: 0.9 - type: entity parent: ClothingShoesBaseButcherable From 84d9f7a6a97b37127e62efa37d0f3dc991072b33 Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 23 Feb 2024 01:06:17 +0000 Subject: [PATCH 12/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 070d532e28..15ef0392c6 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Alekshhh - changes: - - message: Changed some hairs visually - type: Tweak - id: 5509 - time: '2024-01-02T00:12:05.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23304 - author: EmoGarbage404 changes: - message: Defibrillators no longer reset the rot timer when failing to revive a @@ -3853,3 +3846,12 @@ id: 6008 time: '2024-02-22T12:18:46.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25466 +- author: lzk228 + changes: + - message: Galoshes are added to the Janidrobe. + type: Tweak + - message: Galoshes now make you slower. + type: Tweak + id: 6009 + time: '2024-02-23T01:05:11.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25484 From 381bb9020aeba82e9cad111c77c34bee29d52c68 Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Thu, 22 Feb 2024 20:09:43 -0500 Subject: [PATCH 13/73] Add prediction to Openable (#25477) * Fix formatting problem with FullOpened * Moved to Shared and networked * Revert "Fix formatting problem with FullOpened" This reverts commit f8353403da830a4402bdd457bcf24a2432a5f566. --- .../Nutrition/EntitySystems/OpenableSystem.cs | 7 + .../Nutrition/EntitySystems/OpenableSystem.cs | 173 ----------------- .../Nutrition/Components/OpenableComponent.cs | 14 +- .../EntitySystems/SharedOpenableSystem.cs | 182 ++++++++++++++++++ 4 files changed, 197 insertions(+), 179 deletions(-) create mode 100644 Content.Client/Nutrition/EntitySystems/OpenableSystem.cs rename {Content.Server => Content.Shared}/Nutrition/Components/OpenableComponent.cs (86%) diff --git a/Content.Client/Nutrition/EntitySystems/OpenableSystem.cs b/Content.Client/Nutrition/EntitySystems/OpenableSystem.cs new file mode 100644 index 0000000000..f8c3f7c447 --- /dev/null +++ b/Content.Client/Nutrition/EntitySystems/OpenableSystem.cs @@ -0,0 +1,7 @@ +using Content.Shared.Nutrition.EntitySystems; + +namespace Content.Client.Nutrition.EntitySystems; + +public sealed class OpenableSystem : SharedOpenableSystem +{ +} diff --git a/Content.Server/Nutrition/EntitySystems/OpenableSystem.cs b/Content.Server/Nutrition/EntitySystems/OpenableSystem.cs index 373b97700f..8037b61572 100644 --- a/Content.Server/Nutrition/EntitySystems/OpenableSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/OpenableSystem.cs @@ -1,16 +1,6 @@ using Content.Server.Chemistry.EntitySystems; -using Content.Server.Fluids.EntitySystems; using Content.Shared.Nutrition.EntitySystems; -using Content.Server.Nutrition.Components; -using Content.Shared.Examine; -using Content.Shared.Interaction; -using Content.Shared.Interaction.Events; using Content.Shared.Nutrition.Components; -using Content.Shared.Popups; -using Content.Shared.Verbs; -using Content.Shared.Weapons.Melee.Events; -using Robust.Shared.Audio.Systems; -using Robust.Shared.Utility; namespace Content.Server.Nutrition.EntitySystems; @@ -19,43 +9,11 @@ namespace Content.Server.Nutrition.EntitySystems; /// public sealed class OpenableSystem : SharedOpenableSystem { - [Dependency] private readonly SharedAppearanceSystem _appearance = default!; - [Dependency] private readonly SharedAudioSystem _audio = default!; - [Dependency] private readonly SharedPopupSystem _popup = default!; - public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnInit); - SubscribeLocalEvent(OnUse); - SubscribeLocalEvent(OnExamined, after: new[] { typeof(PuddleSystem) }); SubscribeLocalEvent(OnTransferAttempt); - SubscribeLocalEvent(HandleIfClosed); - SubscribeLocalEvent(HandleIfClosed); - SubscribeLocalEvent>(AddOpenCloseVerbs); - } - - private void OnInit(EntityUid uid, OpenableComponent comp, ComponentInit args) - { - UpdateAppearance(uid, comp); - } - - private void OnUse(EntityUid uid, OpenableComponent comp, UseInHandEvent args) - { - if (args.Handled || !comp.OpenableByHand) - return; - - args.Handled = TryOpen(uid, comp); - } - - private void OnExamined(EntityUid uid, OpenableComponent comp, ExaminedEvent args) - { - if (!comp.Opened || !args.IsInDetailsRange) - return; - - var text = Loc.GetString(comp.ExamineText); - args.PushMarkup(text); } private void OnTransferAttempt(EntityUid uid, OpenableComponent comp, SolutionTransferAttemptEvent args) @@ -66,135 +24,4 @@ public sealed class OpenableSystem : SharedOpenableSystem args.Cancel(Loc.GetString("drink-component-try-use-drink-not-open", ("owner", uid))); } } - - private void HandleIfClosed(EntityUid uid, OpenableComponent comp, HandledEntityEventArgs args) - { - // prevent spilling/pouring/whatever drinks when closed - args.Handled = !comp.Opened; - } - - private void AddOpenCloseVerbs(EntityUid uid, OpenableComponent comp, GetVerbsEvent args) - { - if (args.Hands == null || !args.CanAccess || !args.CanInteract) - return; - - Verb verb; - if (comp.Opened) - { - if (!comp.Closeable) - return; - - verb = new() - { - Text = Loc.GetString(comp.CloseVerbText), - Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/close.svg.192dpi.png")), - Act = () => TryClose(args.Target, comp) - }; - } - else - { - verb = new() - { - Text = Loc.GetString(comp.OpenVerbText), - Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/open.svg.192dpi.png")), - Act = () => TryOpen(args.Target, comp) - }; - } - args.Verbs.Add(verb); - } - - /// - /// Returns true if the entity either does not have OpenableComponent or it is opened. - /// Drinks that don't have OpenableComponent are automatically open, so it returns true. - /// - public bool IsOpen(EntityUid uid, OpenableComponent? comp = null) - { - if (!Resolve(uid, ref comp, false)) - return true; - - return comp.Opened; - } - - /// - /// Returns true if the entity both has OpenableComponent and is not opened. - /// Drinks that don't have OpenableComponent are automatically open, so it returns false. - /// If user is not null a popup will be shown to them. - /// - public bool IsClosed(EntityUid uid, EntityUid? user = null, OpenableComponent? comp = null) - { - if (!Resolve(uid, ref comp, false)) - return false; - - if (comp.Opened) - return false; - - if (user != null) - _popup.PopupEntity(Loc.GetString(comp.ClosedPopup, ("owner", uid)), user.Value, user.Value); - - return true; - } - - /// - /// Update open visuals to the current value. - /// - public void UpdateAppearance(EntityUid uid, OpenableComponent? comp = null, AppearanceComponent? appearance = null) - { - if (!Resolve(uid, ref comp)) - return; - - _appearance.SetData(uid, OpenableVisuals.Opened, comp.Opened, appearance); - } - - /// - /// Sets the opened field and updates open visuals. - /// - public void SetOpen(EntityUid uid, bool opened = true, OpenableComponent? comp = null) - { - if (!Resolve(uid, ref comp, false) || opened == comp.Opened) - return; - - comp.Opened = opened; - - if (opened) - { - var ev = new OpenableOpenedEvent(); - RaiseLocalEvent(uid, ref ev); - } - else - { - var ev = new OpenableClosedEvent(); - RaiseLocalEvent(uid, ref ev); - } - - UpdateAppearance(uid, comp); - } - - /// - /// If closed, opens it and plays the sound. - /// - /// Whether it got opened - public bool TryOpen(EntityUid uid, OpenableComponent? comp = null) - { - if (!Resolve(uid, ref comp, false) || comp.Opened) - return false; - - SetOpen(uid, true, comp); - _audio.PlayPvs(comp.Sound, uid); - return true; - } - - /// - /// If opened, closes it and plays the close sound, if one is defined. - /// - /// Whether it got closed - public bool TryClose(EntityUid uid, OpenableComponent? comp = null) - { - if (!Resolve(uid, ref comp, false) || !comp.Opened || !comp.Closeable) - return false; - - SetOpen(uid, false, comp); - if (comp.CloseSound != null) - _audio.PlayPvs(comp.CloseSound, uid); - return true; - } } diff --git a/Content.Server/Nutrition/Components/OpenableComponent.cs b/Content.Shared/Nutrition/Components/OpenableComponent.cs similarity index 86% rename from Content.Server/Nutrition/Components/OpenableComponent.cs rename to Content.Shared/Nutrition/Components/OpenableComponent.cs index cc24bf44dc..3a230fc765 100644 --- a/Content.Server/Nutrition/Components/OpenableComponent.cs +++ b/Content.Shared/Nutrition/Components/OpenableComponent.cs @@ -1,27 +1,29 @@ -using Content.Server.Nutrition.EntitySystems; +using Content.Shared.Nutrition.EntitySystems; using Robust.Shared.Audio; +using Robust.Shared.GameStates; -namespace Content.Server.Nutrition.Components; +namespace Content.Shared.Nutrition.Components; /// /// A drink or food that can be opened. /// Starts closed, open it with Z or E. /// -[RegisterComponent, Access(typeof(OpenableSystem))] +[NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, Access(typeof(SharedOpenableSystem))] public sealed partial class OpenableComponent : Component { /// /// Whether this drink or food is opened or not. /// Drinks can only be drunk or poured from/into when open, and food can only be eaten when open. /// - [DataField] + [DataField, AutoNetworkedField] public bool Opened; /// /// If this is false you cant press Z to open it. /// Requires an OpenBehavior damage threshold or other logic to open. /// - [DataField] + [DataField, AutoNetworkedField] public bool OpenableByHand = true; /// @@ -61,7 +63,7 @@ public sealed partial class OpenableComponent : Component /// /// Can this item be closed again after opening? /// - [DataField] + [DataField, AutoNetworkedField] public bool Closeable; /// diff --git a/Content.Shared/Nutrition/EntitySystems/SharedOpenableSystem.cs b/Content.Shared/Nutrition/EntitySystems/SharedOpenableSystem.cs index 274de89003..f3b1127578 100644 --- a/Content.Shared/Nutrition/EntitySystems/SharedOpenableSystem.cs +++ b/Content.Shared/Nutrition/EntitySystems/SharedOpenableSystem.cs @@ -1,7 +1,189 @@ +using Content.Shared.Examine; +using Content.Shared.Interaction; +using Content.Shared.Interaction.Events; +using Content.Shared.Nutrition.Components; +using Content.Shared.Popups; +using Content.Shared.Verbs; +using Content.Shared.Weapons.Melee.Events; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Utility; + namespace Content.Shared.Nutrition.EntitySystems; +/// +/// Provides API for openable food and drinks, handles opening on use and preventing transfer when closed. +/// public abstract partial class SharedOpenableSystem : EntitySystem { + [Dependency] protected readonly SharedAppearanceSystem Appearance = default!; + [Dependency] protected readonly SharedAudioSystem Audio = default!; + [Dependency] protected readonly SharedPopupSystem Popup = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnInit); + SubscribeLocalEvent(OnUse); + SubscribeLocalEvent(OnExamined); + SubscribeLocalEvent(HandleIfClosed); + SubscribeLocalEvent(HandleIfClosed); + SubscribeLocalEvent>(AddOpenCloseVerbs); + } + + private void OnInit(EntityUid uid, OpenableComponent comp, ComponentInit args) + { + UpdateAppearance(uid, comp); + } + + private void OnUse(EntityUid uid, OpenableComponent comp, UseInHandEvent args) + { + if (args.Handled || !comp.OpenableByHand) + return; + + args.Handled = TryOpen(uid, comp, args.User); + } + + private void OnExamined(EntityUid uid, OpenableComponent comp, ExaminedEvent args) + { + if (!comp.Opened || !args.IsInDetailsRange) + return; + + var text = Loc.GetString(comp.ExamineText); + args.PushMarkup(text); + } + + private void HandleIfClosed(EntityUid uid, OpenableComponent comp, HandledEntityEventArgs args) + { + // prevent spilling/pouring/whatever drinks when closed + args.Handled = !comp.Opened; + } + + private void AddOpenCloseVerbs(EntityUid uid, OpenableComponent comp, GetVerbsEvent args) + { + if (args.Hands == null || !args.CanAccess || !args.CanInteract) + return; + + Verb verb; + if (comp.Opened) + { + if (!comp.Closeable) + return; + + verb = new() + { + Text = Loc.GetString(comp.CloseVerbText), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/close.svg.192dpi.png")), + Act = () => TryClose(args.Target, comp, args.User) + }; + } + else + { + verb = new() + { + Text = Loc.GetString(comp.OpenVerbText), + Icon = new SpriteSpecifier.Texture(new("/Textures/Interface/VerbIcons/open.svg.192dpi.png")), + Act = () => TryOpen(args.Target, comp, args.User) + }; + } + args.Verbs.Add(verb); + } + + /// + /// Returns true if the entity either does not have OpenableComponent or it is opened. + /// Drinks that don't have OpenableComponent are automatically open, so it returns true. + /// + public bool IsOpen(EntityUid uid, OpenableComponent? comp = null) + { + if (!Resolve(uid, ref comp, false)) + return true; + + return comp.Opened; + } + + /// + /// Returns true if the entity both has OpenableComponent and is not opened. + /// Drinks that don't have OpenableComponent are automatically open, so it returns false. + /// If user is not null a popup will be shown to them. + /// + public bool IsClosed(EntityUid uid, EntityUid? user = null, OpenableComponent? comp = null) + { + if (!Resolve(uid, ref comp, false)) + return false; + + if (comp.Opened) + return false; + + if (user != null) + Popup.PopupEntity(Loc.GetString(comp.ClosedPopup, ("owner", uid)), user.Value, user.Value); + + return true; + } + + /// + /// Update open visuals to the current value. + /// + public void UpdateAppearance(EntityUid uid, OpenableComponent? comp = null, AppearanceComponent? appearance = null) + { + if (!Resolve(uid, ref comp)) + return; + + Appearance.SetData(uid, OpenableVisuals.Opened, comp.Opened, appearance); + } + + /// + /// Sets the opened field and updates open visuals. + /// + public void SetOpen(EntityUid uid, bool opened = true, OpenableComponent? comp = null) + { + if (!Resolve(uid, ref comp, false) || opened == comp.Opened) + return; + + comp.Opened = opened; + Dirty(uid, comp); + + if (opened) + { + var ev = new OpenableOpenedEvent(); + RaiseLocalEvent(uid, ref ev); + } + else + { + var ev = new OpenableClosedEvent(); + RaiseLocalEvent(uid, ref ev); + } + + UpdateAppearance(uid, comp); + } + + /// + /// If closed, opens it and plays the sound. + /// + /// Whether it got opened + public bool TryOpen(EntityUid uid, OpenableComponent? comp = null, EntityUid? user = null) + { + if (!Resolve(uid, ref comp, false) || comp.Opened) + return false; + + SetOpen(uid, true, comp); + Audio.PlayPredicted(comp.Sound, uid, user); + return true; + } + + /// + /// If opened, closes it and plays the close sound, if one is defined. + /// + /// Whether it got closed + public bool TryClose(EntityUid uid, OpenableComponent? comp = null, EntityUid? user = null) + { + if (!Resolve(uid, ref comp, false) || !comp.Opened || !comp.Closeable) + return false; + + SetOpen(uid, false, comp); + if (comp.CloseSound != null) + Audio.PlayPredicted(comp.CloseSound, uid, user); + return true; + } } /// From 2458c87b625385fe4b339f1e4141443af28a5711 Mon Sep 17 00:00:00 2001 From: MACMAN2003 Date: Thu, 22 Feb 2024 17:42:00 -0800 Subject: [PATCH 14/73] Add Ratvar (#24958) * Create ratvar.yml * restore balance to the universe * scale issues mfw nar-sie is smaller * spawner + spawn anim a shitty spawn anim is better than no spawn anim * undenseify no longer as dense as a dying neutron star --- Resources/Audio/Misc/attributions.yml | 10 ++ Resources/Audio/Misc/ratvar_reveal.ogg | Bin 0 -> 52313 bytes Resources/Audio/Misc/ratvar_rises.ogg | Bin 0 -> 158465 bytes Resources/Locale/en-US/ratvar/ratvar.ftl | 2 + .../Entities/Mobs/Player/ratvar.yml | 94 ++++++++++++++++++ .../Textures/Mobs/Demons/ratvar.rsi/meta.json | 63 ++++++++++++ .../Mobs/Demons/ratvar.rsi/ratvar.png | Bin 0 -> 407691 bytes .../Textures/Mobs/Demons/ratvar.rsi/spawn.png | Bin 0 -> 665660 bytes 8 files changed, 169 insertions(+) create mode 100644 Resources/Audio/Misc/ratvar_reveal.ogg create mode 100644 Resources/Audio/Misc/ratvar_rises.ogg create mode 100644 Resources/Locale/en-US/ratvar/ratvar.ftl create mode 100644 Resources/Prototypes/Entities/Mobs/Player/ratvar.yml create mode 100644 Resources/Textures/Mobs/Demons/ratvar.rsi/meta.json create mode 100644 Resources/Textures/Mobs/Demons/ratvar.rsi/ratvar.png create mode 100644 Resources/Textures/Mobs/Demons/ratvar.rsi/spawn.png diff --git a/Resources/Audio/Misc/attributions.yml b/Resources/Audio/Misc/attributions.yml index 2599cf8083..db13d28d83 100644 --- a/Resources/Audio/Misc/attributions.yml +++ b/Resources/Audio/Misc/attributions.yml @@ -18,6 +18,16 @@ copyright: "Taken from TG station." source: "https://github.com/tgstation/tgstation/blob/b44fcdedfb7c7d8425bd75b9caf71644a86375d1/sound/creatures/narsie_rises.ogg" +- files: ["ratvar_rises.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from TG station." + source: "https://github.com/tgstation/tgstation/blob/2f63c779cb43543cfde76fa7ddaeacfde185fded/sound/effects/ratvar_rises.ogg" + +- files: ["ratvar_reveal.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Taken from TG station." + source: "https://github.com/tgstation/tgstation/blob/2f63c779cb43543cfde76fa7ddaeacfde185fded/sound/effects/ratvar_reveal.ogg" + - files: ["epsilon.ogg"] license: "CC-BY-SA-3.0" copyright: "Made by dj-34 (https://github.com/dj-34)" diff --git a/Resources/Audio/Misc/ratvar_reveal.ogg b/Resources/Audio/Misc/ratvar_reveal.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e70cd9873c5cfeba0c3c4c904d2198498df8c614 GIT binary patch literal 52313 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 VX)=^d#!nCH`WK($cDEJu{{T&f6@CB! literal 0 HcmV?d00001 diff --git a/Resources/Audio/Misc/ratvar_rises.ogg b/Resources/Audio/Misc/ratvar_rises.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4c22d250c38c4d4ca7cc0127ce5b326cd31c7a48 GIT binary patch literal 158465 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

7Z+-m8vonA0Xr(XeDZ_lP&06gUOKpf!Gx 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

8?wyp=fliFZs?fibp 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

ius&$vz58nQ`}p${1y@tn1m^tAgE;=e(v&@2-xP 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�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

Yc6L39M(K7E#U}q^loj?*8>- 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%0AO<4RKhdb)jZEw*hzkNO?=!nwk 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

AFHOtMR}wN`Y1wD2hCeHiqFFaySiANvCB2HcMp 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�%F*wR7cdyYC2*?k#9%z~TOFsh250|qe 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%0A+pFG9eur!(erODyp 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 z

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

IgdIC9ga|xhIZ}dfJt8!>Dgf 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 /// Cached crew manifest entries. The alternative is to outright @@ -223,15 +226,26 @@ public sealed class CrewManifestSystem : EntitySystem var entries = new CrewManifestEntries(); + var entriesSort = new List<(JobPrototype? job, CrewManifestEntry entry)>(); foreach (var recordObject in iter) { var record = recordObject.Item2; var entry = new CrewManifestEntry(record.Name, record.JobTitle, record.JobIcon, record.JobPrototype); - entries.Entries.Add(entry); + _prototypeManager.TryIndex(record.JobPrototype, out JobPrototype? job); + entriesSort.Add((job, entry)); } - entries.Entries = entries.Entries.OrderBy(e => e.JobTitle).ThenBy(e => e.Name).ToList(); + entriesSort.Sort((a, b) => + { + var cmp = JobUIComparer.Instance.Compare(a.job, b.job); + if (cmp != 0) + return cmp; + + return string.Compare(a.entry.Name, b.entry.Name, StringComparison.CurrentCultureIgnoreCase); + }); + + entries.Entries = entriesSort.Select(x => x.entry).ToArray(); _cachedEntries[station] = entries; } } diff --git a/Content.Server/StationRecords/Systems/StationRecordsSystem.cs b/Content.Server/StationRecords/Systems/StationRecordsSystem.cs index 09a00e5967..67f50d7a4e 100644 --- a/Content.Server/StationRecords/Systems/StationRecordsSystem.cs +++ b/Content.Server/StationRecords/Systems/StationRecordsSystem.cs @@ -129,7 +129,7 @@ public sealed class StationRecordsSystem : SharedStationRecordsSystem JobPrototype = jobId, Species = species, Gender = gender, - DisplayPriority = jobPrototype.Weight, + DisplayPriority = jobPrototype.RealDisplayWeight, Fingerprint = mobFingerprint, DNA = dna }; diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs index bc90d7942c..552db94f4d 100644 --- a/Content.Shared/CCVar/CCVars.cs +++ b/Content.Shared/CCVar/CCVars.cs @@ -1479,15 +1479,6 @@ namespace Content.Shared.CCVar public static readonly CVarDef CrewManifestUnsecure = CVarDef.Create("crewmanifest.unsecure", true, CVar.REPLICATED); - /// - /// Dictates the order the crew manifest will appear in, in terms of its sections. - /// Sections not in this list will appear at the end of the list, in no - /// specific order. - /// - public static readonly CVarDef CrewManifestOrdering = - CVarDef.Create("crewmanifest.ordering", "Command,Security,Science,Medical,Engineering,Cargo,Civilian,Unknown", - CVar.REPLICATED); - /* * Biomass */ diff --git a/Content.Shared/CrewManifest/SharedCrewManifestSystem.cs b/Content.Shared/CrewManifest/SharedCrewManifestSystem.cs index 7e4c824e20..a9279cc7f1 100644 --- a/Content.Shared/CrewManifest/SharedCrewManifestSystem.cs +++ b/Content.Shared/CrewManifest/SharedCrewManifestSystem.cs @@ -1,4 +1,5 @@ using Content.Shared.Eui; +using NetSerializer; using Robust.Shared.Serialization; namespace Content.Shared.CrewManifest; @@ -39,7 +40,7 @@ public sealed class CrewManifestEntries /// Entries in the crew manifest. Goes by department ID. /// // public Dictionary> Entries = new(); - public List Entries = new(); + public CrewManifestEntry[] Entries = Array.Empty(); } [Serializable, NetSerializable] diff --git a/Content.Shared/Roles/DepartmentPrototype.cs b/Content.Shared/Roles/DepartmentPrototype.cs index f79b03f4a6..024eca37fa 100644 --- a/Content.Shared/Roles/DepartmentPrototype.cs +++ b/Content.Shared/Roles/DepartmentPrototype.cs @@ -37,3 +37,27 @@ public sealed partial class DepartmentPrototype : IPrototype [DataField("weight")] public int Weight { get; private set; } = 0; } + +/// +/// Sorts appropriately for display in the UI, +/// respecting their . +/// +public sealed class DepartmentUIComparer : IComparer +{ + public static readonly DepartmentUIComparer Instance = new(); + + public int Compare(DepartmentPrototype? x, DepartmentPrototype? y) + { + if (ReferenceEquals(x, y)) + return 0; + if (ReferenceEquals(null, y)) + return 1; + if (ReferenceEquals(null, x)) + return -1; + + var cmp = -x.Weight.CompareTo(y.Weight); + if (cmp != 0) + return cmp; + return string.Compare(x.ID, y.ID, StringComparison.Ordinal); + } +} diff --git a/Content.Shared/Roles/JobPrototype.cs b/Content.Shared/Roles/JobPrototype.cs index acb88e16f0..0064fcdf17 100644 --- a/Content.Shared/Roles/JobPrototype.cs +++ b/Content.Shared/Roles/JobPrototype.cs @@ -1,5 +1,6 @@ using Content.Shared.Access; using Content.Shared.Players.PlayTimeTracking; +using Content.Shared.Roles; using Content.Shared.StatusIcon; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; @@ -70,6 +71,16 @@ namespace Content.Shared.Roles [DataField("weight")] public int Weight { get; private set; } + /// + /// How to sort this job relative to other jobs in the UI. + /// Jobs with a higher value with sort before jobs with a lower value. + /// If not set, is used as a fallback. + /// + [DataField] + public int? DisplayWeight { get; private set; } + + public int RealDisplayWeight => DisplayWeight ?? Weight; + /// /// A numerical score for how much easier this job is for antagonists. /// For traitors, reduces starting TC by this amount. Other gamemodes can use it for whatever they find fitting. @@ -106,4 +117,28 @@ namespace Content.Shared.Roles [DataField("extendedAccessGroups", customTypeSerializer: typeof(PrototypeIdListSerializer))] public IReadOnlyCollection ExtendedAccessGroups { get; private set; } = Array.Empty(); } + + /// + /// Sorts s appropriately for display in the UI, + /// respecting their . + /// + public sealed class JobUIComparer : IComparer + { + public static readonly JobUIComparer Instance = new(); + + public int Compare(JobPrototype? x, JobPrototype? y) + { + if (ReferenceEquals(x, y)) + return 0; + if (ReferenceEquals(null, y)) + return 1; + if (ReferenceEquals(null, x)) + return -1; + + var cmp = -x.RealDisplayWeight.CompareTo(y.RealDisplayWeight); + if (cmp != 0) + return cmp; + return string.Compare(x.ID, y.ID, StringComparison.Ordinal); + } + } } From 945c8dbe2fec85bbb2e0aa989bd8ed0016337f20 Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 23 Feb 2024 04:05:50 +0000 Subject: [PATCH 17/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 15ef0392c6..ddbbc90329 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,14 +1,4 @@ Entries: -- author: EmoGarbage404 - changes: - - message: Defibrillators no longer reset the rot timer when failing to revive a - body. - type: Fix - - message: Slimes now rot. - type: Tweak - id: 5510 - time: '2024-01-02T02:12:32.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23340 - author: Ubaser changes: - message: Salvage mobs can no longer be ghost roles. @@ -3855,3 +3845,10 @@ id: 6009 time: '2024-02-23T01:05:11.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25484 +- author: PJB3005 + changes: + - message: sorting of departments and jobs has been made consistent in various menus. + type: Tweak + id: 6010 + time: '2024-02-23T04:04:44.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25486 From 4ea1d21b5ef3df46b9d2722e87d2f5da80ff817e Mon Sep 17 00:00:00 2001 From: liltenhead <104418166+liltenhead@users.noreply.github.com> Date: Thu, 22 Feb 2024 22:53:38 -0800 Subject: [PATCH 18/73] Buff emergency welder (#25483) fuel count --- Resources/Prototypes/Entities/Objects/Tools/welders.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Tools/welders.yml b/Resources/Prototypes/Entities/Objects/Tools/welders.yml index 60dfe0f136..42b16ba053 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/welders.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/welders.yml @@ -183,8 +183,8 @@ Welder: reagents: - ReagentId: WeldingFuel - Quantity: 25 - maxVol: 25 + Quantity: 50 + maxVol: 50 - type: Tool speed: 0.7 - type: PointLight From b75ff77b49ae1d5416bf2a88819ecc80426753f2 Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 23 Feb 2024 06:54:44 +0000 Subject: [PATCH 19/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index ddbbc90329..ccab363327 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Ubaser - changes: - - message: Salvage mobs can no longer be ghost roles. - type: Remove - id: 5511 - time: '2024-01-02T08:15:29.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23355 - author: Rainbeon changes: - message: The ChemMaster buffer no longer shuffles list ordering when removing @@ -3852,3 +3845,10 @@ id: 6010 time: '2024-02-23T04:04:44.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25486 +- author: liltenhead + changes: + - message: Changed emergency welder's fuel count from 25 -> 50 + type: Tweak + id: 6011 + time: '2024-02-23T06:53:39.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25483 From 033f232a879f9d98d91bc54fd03e6a7028bcb4ed Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Fri, 23 Feb 2024 18:12:12 +1100 Subject: [PATCH 20/73] Update submodule to 211.0.0 (#25489) --- RobustToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RobustToolbox b/RobustToolbox index ef0bc1a2e4..1d91838166 160000 --- a/RobustToolbox +++ b/RobustToolbox @@ -1 +1 @@ -Subproject commit ef0bc1a2e4878eedc24dd6fedc0631be56aca072 +Subproject commit 1d91838166a6d2771526dfadfb36f79487fd1749 From d8e5f5c24b88bf8096ddaec11e80f1af2953637b Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Fri, 23 Feb 2024 18:12:23 +1100 Subject: [PATCH 21/73] Optimise DecalOverlay (#25266) ChunkSize is still 32 so doesn't cut down on heaps of decals atm though we avoid passing many decals to drawing with the coordinates bounds check now. --- Content.Client/Decals/DecalSystem.cs | 19 +--- .../Decals/Overlays/DecalOverlay.cs | 87 ++++++++++++------- Content.Server/Chunking/ChunkingSystem.cs | 1 + Content.Server/Decals/DecalSystem.cs | 1 + Content.Server/Parallax/BiomeSystem.cs | 1 + Content.Shared/Decals/Decal.cs | 2 +- Content.Shared/Decals/DecalGridComponent.cs | 7 +- Content.Shared/Decals/SharedDecalSystem.cs | 33 ------- 8 files changed, 64 insertions(+), 87 deletions(-) diff --git a/Content.Client/Decals/DecalSystem.cs b/Content.Client/Decals/DecalSystem.cs index be442ab8a0..901ab270fb 100644 --- a/Content.Client/Decals/DecalSystem.cs +++ b/Content.Client/Decals/DecalSystem.cs @@ -50,16 +50,8 @@ namespace Content.Client.Decals protected override void OnDecalRemoved(EntityUid gridId, uint decalId, DecalGridComponent component, Vector2i indices, DecalChunk chunk) { base.OnDecalRemoved(gridId, decalId, component, indices, chunk); - - if (!component.DecalZIndexIndex.Remove(decalId, out var zIndex)) - return; - - if (!component.DecalRenderIndex.TryGetValue(zIndex, out var renderIndex)) - return; - - renderIndex.Remove(decalId); - if (renderIndex.Count == 0) - component.DecalRenderIndex.Remove(zIndex); + DebugTools.Assert(chunk.Decals.ContainsKey(decalId)); + chunk.Decals.Remove(decalId); } private void OnHandleState(EntityUid gridUid, DecalGridComponent gridComp, ref ComponentHandleState args) @@ -133,8 +125,6 @@ namespace Content.Client.Decals private void UpdateChunks(EntityUid gridId, DecalGridComponent gridComp, Dictionary updatedGridChunks) { var chunkCollection = gridComp.ChunkCollection.ChunkCollection; - var renderIndex = gridComp.DecalRenderIndex; - var zIndexIndex = gridComp.DecalZIndexIndex; // Update any existing data / remove decals we didn't receive data for. foreach (var (indices, newChunkData) in updatedGridChunks) @@ -155,11 +145,6 @@ namespace Content.Client.Decals foreach (var (uid, decal) in newChunkData.Decals) { - if (zIndexIndex.TryGetValue(uid, out var zIndex)) - renderIndex[zIndex].Remove(uid); - - renderIndex.GetOrNew(decal.ZIndex)[uid] = decal; - zIndexIndex[uid] = decal.ZIndex; gridComp.DecalIndex[uid] = indices; } } diff --git a/Content.Client/Decals/Overlays/DecalOverlay.cs b/Content.Client/Decals/Overlays/DecalOverlay.cs index 8eb1a25664..d9904ae80b 100644 --- a/Content.Client/Decals/Overlays/DecalOverlay.cs +++ b/Content.Client/Decals/Overlays/DecalOverlay.cs @@ -3,6 +3,7 @@ using Robust.Client.GameObjects; using Robust.Client.Graphics; using Robust.Shared.Enums; using Robust.Shared.Map; +using Robust.Shared.Map.Enumerators; using Robust.Shared.Prototypes; namespace Content.Client.Decals.Overlays @@ -15,6 +16,8 @@ namespace Content.Client.Decals.Overlays private readonly Dictionary _cachedTextures = new(64); + private readonly List<(uint Id, Decal Decal)> _decals = new(); + public DecalOverlay( SpriteSystem sprites, IEntityManager entManager, @@ -30,10 +33,10 @@ namespace Content.Client.Decals.Overlays if (args.MapId == MapId.Nullspace) return; - var grid = Grid; + var owner = Grid.Owner; - if (!_entManager.TryGetComponent(grid, out DecalGridComponent? decalGrid) || - !_entManager.TryGetComponent(grid, out TransformComponent? xform)) + if (!_entManager.TryGetComponent(owner, out DecalGridComponent? decalGrid) || + !_entManager.TryGetComponent(owner, out TransformComponent? xform)) { return; } @@ -46,46 +49,68 @@ namespace Content.Client.Decals.Overlays var xformSystem = _entManager.System(); var eyeAngle = args.Viewport.Eye?.Rotation ?? Angle.Zero; - var zIndexDictionary = decalGrid.DecalRenderIndex; + var gridAABB = xformSystem.GetInvWorldMatrix(xform).TransformBox(args.WorldBounds.Enlarged(1f)); + var chunkEnumerator = new ChunkIndicesEnumerator(gridAABB, SharedDecalSystem.ChunkSize); + _decals.Clear(); - if (zIndexDictionary.Count == 0) + while (chunkEnumerator.MoveNext(out var index)) + { + if (!decalGrid.ChunkCollection.ChunkCollection.TryGetValue(index.Value, out var chunk)) + continue; + + foreach (var (id, decal) in chunk.Decals) + { + if (!gridAABB.Contains(decal.Coordinates)) + continue; + + _decals.Add((id, decal)); + } + } + + if (_decals.Count == 0) return; - var (_, worldRot, worldMatrix) = xformSystem.GetWorldPositionRotationMatrix(xform); + _decals.Sort((x, y) => + { + var zComp = x.Decal.ZIndex.CompareTo(y.Decal.ZIndex); + if (zComp != 0) + return zComp; + + return x.Id.CompareTo(y.Id); + }); + + var (_, worldRot, worldMatrix) = xformSystem.GetWorldPositionRotationMatrix(xform); handle.SetTransform(worldMatrix); - foreach (var decals in zIndexDictionary.Values) + foreach (var (_, decal) in _decals) { - foreach (var decal in decals.Values) + if (!_cachedTextures.TryGetValue(decal.Id, out var cache)) { - if (!_cachedTextures.TryGetValue(decal.Id, out var cache)) + // Nothing to cache someone messed up + if (!_prototypeManager.TryIndex(decal.Id, out var decalProto)) { - // Nothing to cache someone messed up - if (!_prototypeManager.TryIndex(decal.Id, out var decalProto)) - { - continue; - } - - cache = (_sprites.Frame0(decalProto.Sprite), decalProto.SnapCardinals); - _cachedTextures[decal.Id] = cache; + continue; } - var cardinal = Angle.Zero; - - if (cache.SnapCardinals) - { - var worldAngle = eyeAngle + worldRot; - cardinal = worldAngle.GetCardinalDir().ToAngle(); - } - - var angle = decal.Angle - cardinal; - - if (angle.Equals(Angle.Zero)) - handle.DrawTexture(cache.Texture, decal.Coordinates, decal.Color); - else - handle.DrawTexture(cache.Texture, decal.Coordinates, angle, decal.Color); + cache = (_sprites.Frame0(decalProto.Sprite), decalProto.SnapCardinals); + _cachedTextures[decal.Id] = cache; } + + var cardinal = Angle.Zero; + + if (cache.SnapCardinals) + { + var worldAngle = eyeAngle + worldRot; + cardinal = worldAngle.GetCardinalDir().ToAngle(); + } + + var angle = decal.Angle - cardinal; + + if (angle.Equals(Angle.Zero)) + handle.DrawTexture(cache.Texture, decal.Coordinates, decal.Color); + else + handle.DrawTexture(cache.Texture, decal.Coordinates, angle, decal.Color); } handle.SetTransform(Matrix3.Identity); diff --git a/Content.Server/Chunking/ChunkingSystem.cs b/Content.Server/Chunking/ChunkingSystem.cs index e4775439cb..9bc1ab0a3b 100644 --- a/Content.Server/Chunking/ChunkingSystem.cs +++ b/Content.Server/Chunking/ChunkingSystem.cs @@ -8,6 +8,7 @@ using Robust.Shared.Map; using Robust.Shared.Map.Components; using Robust.Shared.Player; using Robust.Shared.Utility; +using ChunkIndicesEnumerator = Robust.Shared.Map.Enumerators.ChunkIndicesEnumerator; namespace Content.Shared.Chunking; diff --git a/Content.Server/Decals/DecalSystem.cs b/Content.Server/Decals/DecalSystem.cs index 5bfd91486c..ad225afe22 100644 --- a/Content.Server/Decals/DecalSystem.cs +++ b/Content.Server/Decals/DecalSystem.cs @@ -21,6 +21,7 @@ using Robust.Shared.Threading; using Robust.Shared.Timing; using Robust.Shared.Utility; using static Content.Shared.Decals.DecalGridComponent; +using ChunkIndicesEnumerator = Robust.Shared.Map.Enumerators.ChunkIndicesEnumerator; namespace Content.Server.Decals { diff --git a/Content.Server/Parallax/BiomeSystem.cs b/Content.Server/Parallax/BiomeSystem.cs index 0b8c7a4d82..c4c2300870 100644 --- a/Content.Server/Parallax/BiomeSystem.cs +++ b/Content.Server/Parallax/BiomeSystem.cs @@ -29,6 +29,7 @@ using Robust.Shared.Prototypes; using Robust.Shared.Random; using Robust.Shared.Threading; using Robust.Shared.Utility; +using ChunkIndicesEnumerator = Robust.Shared.Map.Enumerators.ChunkIndicesEnumerator; namespace Content.Server.Parallax; diff --git a/Content.Shared/Decals/Decal.cs b/Content.Shared/Decals/Decal.cs index 56ecc829e7..cb6f944c65 100644 --- a/Content.Shared/Decals/Decal.cs +++ b/Content.Shared/Decals/Decal.cs @@ -8,7 +8,7 @@ namespace Content.Shared.Decals public sealed partial class Decal { // if these are made not-readonly, then decal grid state handling needs to be updated to clone decals. - [DataField("coordinates")] public Vector2 Coordinates = Vector2.Zero; + [DataField("coordinates")] public Vector2 Coordinates = Vector2.Zero; [DataField("id")] public string Id = string.Empty; [DataField("color")] public Color? Color; [DataField("angle")] public Angle Angle = Angle.Zero; diff --git a/Content.Shared/Decals/DecalGridComponent.cs b/Content.Shared/Decals/DecalGridComponent.cs index 140eb5bafc..8ac05cb280 100644 --- a/Content.Shared/Decals/DecalGridComponent.cs +++ b/Content.Shared/Decals/DecalGridComponent.cs @@ -12,7 +12,8 @@ namespace Content.Shared.Decals [NetworkedComponent] public sealed partial class DecalGridComponent : Component { - [DataField("chunkCollection", serverOnly: true)] + [Access(Other = AccessPermissions.ReadExecute)] + [DataField(serverOnly: true)] public DecalGridChunkCollection ChunkCollection = new(new ()); /// @@ -25,10 +26,6 @@ namespace Content.Shared.Decals /// public GameTick ForceTick { get; set; } - // client-side data. I CBF creating a separate client-side comp for this. The server can survive with some empty dictionaries. - public readonly Dictionary DecalZIndexIndex = new(); - public readonly SortedDictionary> DecalRenderIndex = new(); - [DataDefinition] [Serializable, NetSerializable] public sealed partial class DecalChunk diff --git a/Content.Shared/Decals/SharedDecalSystem.cs b/Content.Shared/Decals/SharedDecalSystem.cs index 02f73bdacb..76fa9d64db 100644 --- a/Content.Shared/Decals/SharedDecalSystem.cs +++ b/Content.Shared/Decals/SharedDecalSystem.cs @@ -122,39 +122,6 @@ namespace Content.Shared.Decals } } - // TODO: Pretty sure paul was moving this somewhere but just so people know - public struct ChunkIndicesEnumerator - { - private Vector2i _chunkLB; - private Vector2i _chunkRT; - - private int _xIndex; - private int _yIndex; - - public ChunkIndicesEnumerator(Box2 localAABB, int chunkSize) - { - _chunkLB = new Vector2i((int)Math.Floor(localAABB.Left / chunkSize), (int)Math.Floor(localAABB.Bottom / chunkSize)); - _chunkRT = new Vector2i((int)Math.Floor(localAABB.Right / chunkSize), (int)Math.Floor(localAABB.Top / chunkSize)); - - _xIndex = _chunkLB.X; - _yIndex = _chunkLB.Y; - } - - public bool MoveNext([NotNullWhen(true)] out Vector2i? indices) - { - if (_yIndex > _chunkRT.Y) - { - _yIndex = _chunkLB.Y; - _xIndex += 1; - } - - indices = new Vector2i(_xIndex, _yIndex); - _yIndex += 1; - - return _xIndex <= _chunkRT.X; - } - } - /// /// Sent by clients to request that a decal is placed on the server. /// From af7e8025ad59c2f44e37e7b15625421264355e5b Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Fri, 23 Feb 2024 14:49:47 +0300 Subject: [PATCH 22/73] Fix attribution (#25495) Update attributions.yml --- Resources/Textures/Tiles/attributions.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Textures/Tiles/attributions.yml b/Resources/Textures/Tiles/attributions.yml index f9afb8e81f..7cfe5535a0 100644 --- a/Resources/Textures/Tiles/attributions.yml +++ b/Resources/Textures/Tiles/attributions.yml @@ -119,9 +119,9 @@ - files: ["latticeTrain.png"] license: "CC0-1.0" copyright: "Created by TheShuEd (github) for space-station-14." - source: "https://github.com/space-wizards/space-station-14/pull/ED_INSERT_PR_CODE_HERE!" + source: "https://github.com/space-wizards/space-station-14/pull/24927" - files: ["wood_large.png"] license: "CC0-1.0" copyright: "Created by ps3moira (github) for space-station-14." - source: "https://github.com/space-wizards/space-station-14/" \ No newline at end of file + source: "https://github.com/space-wizards/space-station-14/" From 237d89cbfe526856dd547a7e9f37b01d87e84361 Mon Sep 17 00:00:00 2001 From: Vasilis Date: Fri, 23 Feb 2024 14:19:52 +0100 Subject: [PATCH 23/73] Fix centcom and other jobs with setPreference set to false showing up anyway (#25496) * God dammit pjb * Smol cleanup --- Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs b/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs index 9270533642..e91d9f616a 100644 --- a/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs +++ b/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs @@ -586,7 +586,9 @@ namespace Content.Client.Preferences.UI _jobList.AddChild(category); } - var jobs = department.Roles.Select(jobId => _prototypeManager.Index(jobId)).ToArray(); + var jobs = department.Roles.Select(jobId => _prototypeManager.Index(jobId)) + .Where(job => job.SetPreference) + .ToArray(); Array.Sort(jobs, JobUIComparer.Instance); foreach (var job in jobs) From 2ad32433d85282d97f0fc7cb233846be7eb0f0c2 Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 23 Feb 2024 13:20:58 +0000 Subject: [PATCH 24/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index ccab363327..bcf621a1d4 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Rainbeon - changes: - - message: The ChemMaster buffer no longer shuffles list ordering when removing - a reagent. - type: Fix - id: 5512 - time: '2024-01-02T15:51:22.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23352 - author: DrMelon changes: - message: Fixed the Tesla Ball moving too fast by being pushed with explosions. @@ -3852,3 +3844,11 @@ id: 6011 time: '2024-02-23T06:53:39.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25483 +- author: Vasilis + changes: + - message: Fixed a bug where the centcom official/any job that is not supposed to + have a preference option appeared anyway. + type: Fix + id: 6012 + time: '2024-02-23T13:19:52.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25496 From 7a37d4a01371e3fccc19e557e45668f7a5af5e20 Mon Sep 17 00:00:00 2001 From: lzk <124214523+lzk228@users.noreply.github.com> Date: Fri, 23 Feb 2024 14:49:27 +0100 Subject: [PATCH 25/73] Make cargo order unanchored thruster and gyroscope (#25497) --- Resources/Prototypes/Catalog/Cargo/cargo_shuttle.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_shuttle.yml b/Resources/Prototypes/Catalog/Cargo/cargo_shuttle.yml index 58c6f99494..bc0f60fcf3 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_shuttle.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_shuttle.yml @@ -3,7 +3,7 @@ icon: sprite: Structures/Shuttles/thruster.rsi state: base - product: Thruster + product: ThrusterUnanchored cost: 1500 category: Shuttle group: market @@ -13,7 +13,7 @@ icon: sprite: Structures/Shuttles/gyroscope.rsi state: base - product: Gyroscope + product: GyroscopeUnanchored cost: 4000 category: Shuttle group: market From 2a5eb86e2270629752799e04f945a5ebabef460c Mon Sep 17 00:00:00 2001 From: lapatison <100279397+lapatison@users.noreply.github.com> Date: Fri, 23 Feb 2024 18:51:03 +0300 Subject: [PATCH 26/73] Minor cookie fortune fix (#25503) minor locale fix --- Resources/Prototypes/Datasets/Names/fortunes.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Datasets/Names/fortunes.yml b/Resources/Prototypes/Datasets/Names/fortunes.yml index dd5ec27679..fc3c5d9d71 100644 --- a/Resources/Prototypes/Datasets/Names/fortunes.yml +++ b/Resources/Prototypes/Datasets/Names/fortunes.yml @@ -77,6 +77,6 @@ - Did you know? Monkeys are not what they seem. - Did you know that half of salvage specialists go missing on the job? - Also try out sashimi with galaxythystle sauce! - - Did you know that 70% of Nanotransen applicants go missing within the first years of their contract? The more you know!! + - Did you know that 70% of Nanotrasen applicants go missing within the first years of their contract? The more you know!! - This shift you are going to do a very robust move in front of everyone. - Robustness is not just about how good you are, but how good of a person you are. From 39a2ff5c0ab428b40e1e2800395e0b2fdeaffcdc Mon Sep 17 00:00:00 2001 From: Eris Date: Fri, 23 Feb 2024 20:45:02 -0500 Subject: [PATCH 27/73] Fix a single grammar error (#25512) Update food-component.ftl why was I the only one that noticed it --- Resources/Locale/en-US/nutrition/components/food-component.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Locale/en-US/nutrition/components/food-component.ftl b/Resources/Locale/en-US/nutrition/components/food-component.ftl index 1d8a793d4d..4eae610085 100644 --- a/Resources/Locale/en-US/nutrition/components/food-component.ftl +++ b/Resources/Locale/en-US/nutrition/components/food-component.ftl @@ -24,6 +24,6 @@ food-system-verb-eat = Eat ## Force feeding -food-system-force-feed = {CAPITALIZE(THE($user))} is trying feed you something! +food-system-force-feed = {CAPITALIZE(THE($user))} is trying to feed you something! food-system-force-feed-success = {CAPITALIZE(THE($user))} forced you to eat something! {$flavors} food-system-force-feed-success-user = You successfully feed {THE($target)} From 786ecd961a5af4865281f6e3ae32d13fe26f028c Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 24 Feb 2024 01:46:08 +0000 Subject: [PATCH 28/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index bcf621a1d4..c4a524c043 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: DrMelon - changes: - - message: Fixed the Tesla Ball moving too fast by being pushed with explosions. - Now it moves as-designed. - type: Fix - id: 5513 - time: '2024-01-02T18:09:06.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23377 - author: tday changes: - message: The admin log will now include attempts to draw from mobs with a syringe. @@ -3852,3 +3844,10 @@ id: 6012 time: '2024-02-23T13:19:52.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25496 +- author: Erisfiregamer1 + changes: + - message: Fixed a typo when forcefeeding someone. + type: Fix + id: 6013 + time: '2024-02-24T01:45:02.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25512 From 431f0bd6404a853abc0856ed4747e457dffd2c1b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 24 Feb 2024 20:28:11 -0500 Subject: [PATCH 29/73] Update Credits (#25532) Co-authored-by: PJBot --- Resources/Credits/GitHub.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Credits/GitHub.txt b/Resources/Credits/GitHub.txt index 7cfd4c7364..5be3d24ecf 100644 --- a/Resources/Credits/GitHub.txt +++ b/Resources/Credits/GitHub.txt @@ -1 +1 @@ -08A, 0x6273, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 4dplanner, 612git, 778b, Ablankmann, Acruid, actioninja, ada-please, adamsong, Admiral-Obvious-001, Adrian16199, Aerocrux, Aexxie, africalimedrop, Agoichi, Ahion, AJCM-git, AjexRose, Alekshhh, AlexMorgan3817, AlmondFlour, AlphaQwerty, Altoids1, amylizzle, ancientpower, areitpog, Arendian, arimah, artak10t, Arteben, AruMoon, as334, AsikKEsel, asperger-sind, astriloqua, avghdev, AzzyIsNotHere, BananaFlambe, BasedUser, BGare, bhespiritu, BingoJohnson-zz, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, Boaz1111, BobdaBiscuit, brainfood1183, Brandon-Huu, Bright0, brndd, BubblegumBlue, BYONDFuckery, c0rigin, c4llv07e, CakeQ, CaptainSqrBeard, Carbonhell, casperr04, CatTheSystem, Centronias, chairbender, Charlese2, Cheackraze, cheesePizza2, Chief-Engineer, chromiumboy, Chronophylos, civilCornball, clement-or, Clyybber, ColdAutumnRain, collinlunn, ComicIronic, coolmankid12345, corentt, crazybrain23, creadth, CrigCrag, Crotalus, CrudeWax, CrzyPotato, Cyberboss, d34d10cc, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, DangerRevolution, daniel-cr, Darkenson, DawBla, dch-GH, Deahaka, DEATHB4DEFEAT, DeathCamel58, deathride58, DebugOk, Decappi, deepy, degradka, Delete69, deltanedas, DerbyX, DmitriyMX, DoctorBeard, DogZeroX, dontbetank, Doru991, DoubleRiceEddiedd, DrMelon, drongood12, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, Dutch-VanDerLinde, Easypoller, eclips_e, EdenTheLiznerd, EEASAS, Efruit, efzapa, ElectroSR, elthundercloud, Emisse, EmoGarbage404, Endecc, enumerate0, eoineoineoin, ERORR404V1, Errant-4, estacaoespacialpirata, exp111, Fahasor, FairlySadPanda, ficcialfaint, FillerVK, Fishfish458, Flareguy, FluffiestFloof, FluidRock, FoLoKe, fooberticus, Fortune117, freeman2651, Fromoriss, FungiFellow, GalacticChimp, gbasood, Geekyhobo, Genkail, Git-Nivrak, github-actions[bot], gituhabu, GNF54, GoodWheatley, Gotimanga, graevy, GreyMario, gusxyz, h3half, Hanzdegloker, Hardly3D, harikattar, Hebiman, Henry12116, HerCoyote23, Hmeister-real, HoofedEar, hord-brayden, hubismal, Hugal31, Hyenh, iacore, IamVelcroboy, icekot8, igorsaux, ike709, Illiux, Ilya246, IlyaElDunaev, Injazz, Insineer, IntegerTempest, Interrobang01, IProduceWidgets, ItsMeThom, j-giebel, Jackal298, Jackrost, jamessimo, janekvap, JerryImMouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JoeHammad1844, joelhed, JohnGinnane, johnku1, joshepvodka, jproads, Jrpl, juliangiebel, JustCone14, JustinTether, JustinTrotter, Kadeo64, KaiShibaa, kalane15, kalanosh, KEEYNy, Keikiru, Kelrak, kerisargit, keronshb, KIBORG04, KingFroozy, kira-er, Kit0vras, KittenColony, Kmc2000, komunre, koteq, Krunklehorn, kxvvv, Lamrr, LankLTE, lapatison, Leander-0, LetterN, Level10Cybermancer, lever1209, LightVillet, liltenhead, LittleBuilderJane, Lomcastar, LordCarve, LordEclipse, luckyshotpictures, LudwigVonChesterfield, Lukasz825700516, lunarcomets, luringens, lvvova1, lzimann, lzk228, M3739, MACMAN2003, Macoron, MagnusCrowe, ManelNavola, Mangohydra, matthst, Matz05, MehimoNemo, MeltedPixel, MemeProof, Menshin, Mervill, metalgearsloth, mhamsterr, MilenVolf, Minty642, Mirino97, mirrorcult, MishaUnity, MisterMecky, Mith-randalf, ModeratelyAware, Moneyl, Moomoobeef, moony, Morb0, Mr0maks, Myakot, Myctai, N3X15, Nails-n-Tape, Nairodian, Naive817, namespace-Memory, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, nmajask, nok-ko, Nopey, notafet, notquitehadouken, noudoit, noverd, nuke-haus, NULL882, Nylux, OctoRocket, OldDanceJacket, OliverOtter, onoira, Owai-Seek, pali6, Pangogie, patrikturi, PaulRitter, Peptide90, peptron1, Phantom-Lily, Phill101, PixelTheKermit, PJB3005, Plykiya, pofitlo, pointer-to-null, PolterTzi, PoorMansDreams, potato1234x, ProfanedBane, ProPandaBear, PrPleGoo, Psychpsyo, psykzz, PuroSlavKing, PursuitInAshes, Putnam3145, quatre, QuietlyWhisper, qwerltaz, Radosvik, Radrark, Rainbeon, Rainfey, Rane, Ranger6012, ravage123321, rbertoche, Redict, RedlineTriad, RednoWCirabrab, RemberBM, RemieRichards, RemTim, rene-descartes2021, renodubois, RiceMar1244, RieBi, RIKELOLDABOSS, Rinkashikachi, Rockdtben, rolfero, Saakra, SadAways, Samsterious, SamV522, SaphireLattice, ScalyChimp, scrato, Scribbles0, ScumbagDog, Serkket, SethLafuente, ShadowCommander, Shadowtheprotogen546, SignalWalker, Simyon264, SirDragooon, Sirionaut, siyengar04, Skarletto, Skrauz, Skyedra, SlamBamActionman, Slava0135, snebl, Snowni, snowsignal, SonicHDC, SoulSloth, SpaceManiac, SpeltIncorrectyl, spoogemonster, ssdaniel24, Stanislav4ix, Stealthbomber16, StrawberryMoses, Subversionary, SweptWasTaken, Szunti, TaralGit, Tayrtahn, tday93, TekuNut, TemporalOroboros, tentekal, tgrkzus, thatrandomcanadianguy, TheArturZh, theashtronaut, thedraccx, themias, Theomund, theOperand, TheShuEd, ThunderBear2006, timothyteakettle, TimrodDX, Titian3, TK-A369, tkdrg, tmtmtl30, tom-leys, tomasalves8, Tomeno, tosatur, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, Tyler-IN, Tyzemol, UbaserB, UKNOWH, Uriende, UristMcDorf, Vaaankas, Varen, VasilisThePikachu, veliebm, Veritius, Verslebas, VigersRay, Visne, Volotomite, volundr-, Vordenburg, vulppine, Warentan, waylon531, weaversam8, Willhelm53, wixoaGit, WlarusFromDaSpace, wrexbe, WTCWR68, xRiriq, yathxyz, Ygg01, YotaXP, youarereadingthis, YuriyKiss, zach-hill, Zandario, Zap527, ZelteHonor, zerorulez, ZeWaka, zionnBE, zlodo, ZNixian, ZoldorfTheWizard, Zth--, Zumorica, Zymem +08A, 0x6273, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 4dplanner, 612git, 778b, Ablankmann, Acruid, actioninja, ada-please, adamsong, Admiral-Obvious-001, Adrian16199, Aerocrux, Aexxie, africalimedrop, Agoichi, Ahion, AJCM-git, AjexRose, Alekshhh, AlexMorgan3817, AlmondFlour, AlphaQwerty, Altoids1, amylizzle, ancientpower, ArchPigeon, areitpog, Arendian, arimah, artak10t, Arteben, AruMoon, as334, AsikKEsel, asperger-sind, avghdev, AzzyIsNotHere, BananaFlambe, BasedUser, BGare, BingoJohnson-zz, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, Boaz1111, BobdaBiscuit, brainfood1183, Brandon-Huu, Bright0, brndd, BubblegumBlue, BYONDFuckery, c4llv07e, CakeQ, CaptainSqrBeard, Carbonhell, casperr04, CatTheSystem, Centronias, chairbender, Charlese2, Cheackraze, cheesePizza2, Chief-Engineer, chromiumboy, Chronophylos, clement-or, Clyybber, ColdAutumnRain, collinlunn, ComicIronic, coolmankid12345, corentt, crazybrain23, creadth, CrigCrag, Crotalus, CrudeWax, CrzyPotato, Cyberboss, d34d10cc, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, DangerRevolution, daniel-cr, Darkenson, DawBla, dch-GH, Deahaka, DEATHB4DEFEAT, DeathCamel58, deathride58, DebugOk, Decappi, deepy, Delete69, deltanedas, DerbyX, DmitriyMX, DoctorBeard, DogZeroX, dontbetank, Doru991, DoubleRiceEddiedd, DrMelon, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, Dutch-VanDerLinde, Easypoller, eclips_e, EdenTheLiznerd, EEASAS, Efruit, ElectroSR, elthundercloud, Emisse, EmoGarbage404, Endecc, enumerate0, eoineoineoin, ERORR404V1, Errant-4, estacaoespacialpirata, exp111, Fahasor, FairlySadPanda, ficcialfaint, FillerVK, Fishfish458, Flareguy, FluffiestFloof, FluidRock, FoLoKe, fooberticus, Fortune117, freeman2651, Fromoriss, FungiFellow, GalacticChimp, gbasood, Geekyhobo, Genkail, Git-Nivrak, github-actions[bot], gituhabu, GNF54, Golinth, GoodWheatley, Gotimanga, graevy, GreyMario, gusxyz, h3half, Hanzdegloker, Hardly3D, harikattar, Hebiman, Henry12116, HerCoyote23, Hmeister-real, HoofedEar, hord-brayden, hubismal, Hugal31, Hyenh, iacore, IamVelcroboy, icekot8, igorsaux, ike709, Illiux, Ilya246, IlyaElDunaev, Injazz, Insineer, IntegerTempest, Interrobang01, IProduceWidgets, ItsMeThom, j-giebel, Jackal298, Jackrost, jamessimo, janekvap, JerryImMouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JoeHammad1844, joelhed, JohnGinnane, johnku1, joshepvodka, jproads, Jrpl, juliangiebel, JustCone14, JustinTether, JustinTrotter, Kadeo64, KaiShibaa, kalane15, kalanosh, KEEYNy, Keikiru, Kelrak, kerisargit, keronshb, KIBORG04, Killerqu00, KingFroozy, kira-er, Kit0vras, KittenColony, Kmc2000, Ko4ergaPunk, komunre, koteq, Krunklehorn, kxvvv, Lamrr, LankLTE, lapatison, Leander-0, LetterN, Level10Cybermancer, lever1209, LightVillet, liltenhead, LittleBuilderJane, Lomcastar, LordCarve, LordEclipse, luckyshotpictures, LudwigVonChesterfield, Lukasz825700516, lunarcomets, luringens, lvvova1, lzimann, lzk228, M3739, MACMAN2003, Macoron, MagnusCrowe, ManelNavola, Mangohydra, matthst, Matz05, MehimoNemo, MeltedPixel, MemeProof, Menshin, Mervill, metalgearsloth, mhamsterr, MilenVolf, Minty642, Mirino97, mirrorcult, MishaUnity, MisterMecky, Mith-randalf, MjrLandWhale, ModeratelyAware, Moneyl, Moomoobeef, moony, Morb0, Mr0maks, musicmanvr, Myakot, Myctai, N3X15, Nails-n-Tape, Nairodian, Naive817, namespace-Memory, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, nmajask, nok-ko, Nopey, notafet, notquitehadouken, noudoit, noverd, nuke-haus, NULL882, Nylux, OctoRocket, OldDanceJacket, OliverOtter, onoira, Owai-Seek, pali6, Pangogie, patrikturi, PaulRitter, Peptide90, peptron1, Phantom-Lily, Phill101, PixelTheKermit, PJB3005, Plykiya, pofitlo, pointer-to-null, PolterTzi, PoorMansDreams, potato1234x, PotentiallyTom, ProfanedBane, ProPandaBear, PrPleGoo, ps3moira, Psychpsyo, psykzz, PuroSlavKing, PursuitInAshes, Putnam3145, quatre, QuietlyWhisper, qwerltaz, Radosvik, Radrark, Rainbeon, Rainfey, Rane, Ranger6012, ravage123321, rbertoche, Redict, RedlineTriad, RednoWCirabrab, RemberBM, RemieRichards, RemTim, rene-descartes2021, renodubois, RiceMar1244, RieBi, RIKELOLDABOSS, Rinkashikachi, Rockdtben, rolfero, Saakra, SadAways, Samsterious, SamV522, SaphireLattice, ScalyChimp, scrato, Scribbles0, ScumbagDog, Serkket, SethLafuente, ShadowCommander, Shadowtheprotogen546, SignalWalker, Simyon264, SirDragooon, Sirionaut, siyengar04, Skarletto, Skrauz, Skyedra, SlamBamActionman, Slava0135, snebl, Snowni, snowsignal, SonicHDC, SoulSloth, SpaceManiac, SpeltIncorrectyl, spoogemonster, ssdaniel24, Stanislav4ix, Stealthbomber16, StrawberryMoses, Subversionary, SweptWasTaken, Szunti, takemysoult, TaralGit, Tayrtahn, tday93, TekuNut, TemporalOroboros, tentekal, tgrkzus, thatrandomcanadianguy, TheArturZh, theashtronaut, thedraccx, themias, Theomund, theOperand, TheShuEd, ThunderBear2006, timothyteakettle, TimrodDX, Titian3, TK-A369, tkdrg, tmtmtl30, tom-leys, tomasalves8, Tomeno, tosatur, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, Tyler-IN, Tyzemol, UbaserB, UKNOWH, Uriende, UristMcDorf, Vaaankas, Varen, VasilisThePikachu, veliebm, Veritius, Verslebas, VigersRay, Visne, Volotomite, volundr-, Vordenburg, vulppine, Warentan, waylon531, weaversam8, Willhelm53, wixoaGit, WlarusFromDaSpace, wrexbe, WTCWR68, xRiriq, yathxyz, Ygg01, YotaXP, youarereadingthis, YuriyKiss, zach-hill, Zandario, Zap527, ZelteHonor, zerorulez, ZeWaka, zionnBE, zlodo, ZNixian, ZoldorfTheWizard, Zth--, Zumorica, Zymem From 84fff930c26897120baf66f9dbf91400e6e6e585 Mon Sep 17 00:00:00 2001 From: beck-thompson <107373427+beck-thompson@users.noreply.github.com> Date: Sat, 24 Feb 2024 18:29:16 -0800 Subject: [PATCH 30/73] Fixed Fire Extinguisher safety range (#25534) --- Content.Server/Extinguisher/FireExtinguisherSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Extinguisher/FireExtinguisherSystem.cs b/Content.Server/Extinguisher/FireExtinguisherSystem.cs index 5adf067d9b..dfecd72398 100644 --- a/Content.Server/Extinguisher/FireExtinguisherSystem.cs +++ b/Content.Server/Extinguisher/FireExtinguisherSystem.cs @@ -93,7 +93,7 @@ public sealed class FireExtinguisherSystem : EntitySystem private void OnGetInteractionVerbs(Entity entity, ref GetVerbsEvent args) { - if (!args.CanInteract) + if (!args.CanAccess || !args.CanInteract) return; var user = args.User; From 51caf3b5199954bc459167b92d69a10a96b63cda Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 02:30:22 +0000 Subject: [PATCH 31/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index c4a524c043..a33de935f4 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: tday - changes: - - message: The admin log will now include attempts to draw from mobs with a syringe. - type: Add - id: 5514 - time: '2024-01-02T18:47:31.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23333 - author: 778b changes: - message: Improved mice's eating everything behavior, now they can stop! @@ -3851,3 +3844,10 @@ id: 6013 time: '2024-02-24T01:45:02.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25512 +- author: Beck Thompson + changes: + - message: The Fire Extinguishers safety can now only be toggled when in range. + type: Fix + id: 6014 + time: '2024-02-25T02:29:16.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25534 From 580640150285e1f90f25ca014991c09f2fed3cdc Mon Sep 17 00:00:00 2001 From: ArchPigeon Date: Sat, 24 Feb 2024 21:40:49 -0500 Subject: [PATCH 32/73] Remove the ability for command or any antag-safe role from being initial infected in zombie mode (#25529) Remove the ability for command to be initial infected in zombie mode --- Content.Server/GameTicking/Rules/ZombieRuleSystem.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Content.Server/GameTicking/Rules/ZombieRuleSystem.cs b/Content.Server/GameTicking/Rules/ZombieRuleSystem.cs index 886ff965c7..9bfdb05d31 100644 --- a/Content.Server/GameTicking/Rules/ZombieRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/ZombieRuleSystem.cs @@ -7,6 +7,7 @@ using Content.Server.GameTicking.Rules.Components; using Content.Server.Popups; using Content.Server.Preferences.Managers; using Content.Server.Roles; +using Content.Server.Roles.Jobs; using Content.Server.RoundEnd; using Content.Server.Station.Components; using Content.Server.Station.Systems; @@ -49,6 +50,7 @@ public sealed class ZombieRuleSystem : GameRuleSystem [Dependency] private readonly SharedRoleSystem _roles = default!; [Dependency] private readonly StationSystem _station = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly JobSystem _jobs = default!; public override void Initialize() { @@ -271,7 +273,8 @@ public sealed class ZombieRuleSystem : GameRuleSystem var prefList = new List(); foreach (var player in allPlayers) { - if (player.AttachedEntity == null || !HasComp(player.AttachedEntity) || HasComp(player.AttachedEntity)) + if (player.AttachedEntity == null || !HasComp(player.AttachedEntity) || + HasComp(player.AttachedEntity) || !_jobs.CanBeAntag(player)) continue; if (HasComp(player.AttachedEntity)) From c52820a4b65a8ea147934e16bcf39027e2f067d5 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 02:41:54 +0000 Subject: [PATCH 33/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index a33de935f4..e2b77c84d8 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: 778b - changes: - - message: Improved mice's eating everything behavior, now they can stop! - type: Tweak - id: 5515 - time: '2024-01-02T18:49:20.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23322 - author: Ilya246 changes: - message: Science may now research the Biofabricator, which can make animal cubes @@ -3851,3 +3844,11 @@ id: 6014 time: '2024-02-25T02:29:16.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25534 +- author: ArchPigeon + changes: + - message: Removed the ability for command or any antag-safe role to be initial + infected in zombie mode + type: Remove + id: 6015 + time: '2024-02-25T02:40:49.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25529 From e1cce9d8424215a778523c53dfbd8d36a69305f5 Mon Sep 17 00:00:00 2001 From: Debug <49997488+DebugOk@users.noreply.github.com> Date: Sun, 25 Feb 2024 04:00:28 +0100 Subject: [PATCH 34/73] Prevent clients from setting their species to whatever they want (#25535) Prevent epic hack --- Content.Shared/Preferences/HumanoidCharacterProfile.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Shared/Preferences/HumanoidCharacterProfile.cs b/Content.Shared/Preferences/HumanoidCharacterProfile.cs index 22c37dcfe9..92c5b083dc 100644 --- a/Content.Shared/Preferences/HumanoidCharacterProfile.cs +++ b/Content.Shared/Preferences/HumanoidCharacterProfile.cs @@ -375,7 +375,7 @@ namespace Content.Shared.Preferences { var prototypeManager = IoCManager.Resolve(); - if (!prototypeManager.TryIndex(Species, out var speciesPrototype)) + if (!prototypeManager.TryIndex(Species, out var speciesPrototype) || speciesPrototype.RoundStart == false) { Species = SharedHumanoidAppearanceSystem.DefaultSpecies; speciesPrototype = prototypeManager.Index(Species); From 34a6f12ce65deb5381c315523e075310e76759d3 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Sun, 25 Feb 2024 14:33:07 +1100 Subject: [PATCH 35/73] Update submodule to 211.0.2 (#25536) --- RobustToolbox | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RobustToolbox b/RobustToolbox index 1d91838166..2694dce076 160000 --- a/RobustToolbox +++ b/RobustToolbox @@ -1 +1 @@ -Subproject commit 1d91838166a6d2771526dfadfb36f79487fd1749 +Subproject commit 2694dce0766239075c92911dbd9b39efcc86e31d From 531d722c13138ad2f1d1176e1c2aadac13a5bcd6 Mon Sep 17 00:00:00 2001 From: Ubaser <134914314+UbaserB@users.noreply.github.com> Date: Sun, 25 Feb 2024 15:29:20 +1100 Subject: [PATCH 36/73] Increase contrast with hand select for Ashen UI theme (#25517) add --- .../Interface/Ashen/slot_highlight.png | Bin 1228 -> 1223 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Textures/Interface/Ashen/slot_highlight.png b/Resources/Textures/Interface/Ashen/slot_highlight.png index 49d4c58f8a516ffca31344d03b9e890c8a626812..066447806980925dc1671f955fa374ab3fe548af 100644 GIT binary patch delta 252 zcmV$=dkEuBq7 z18<1)Ls-jNOXE0ZIW~a($(OS@M&Mu9l|Wl+S(YG+mnN(k3A}Wqc`Ks^lz1IPqT(~vPnHuym5k%I}+5$Y?NZQDlkJWD^N0Z=ZA zf}C>_|1LtqFod!!Q)-g;p7LD2bWC7~WJyJSx$Fa~@>y$1M0PI#00004PcVq3%=j1d7gRY>czmDf=_#!0V7}p zjDQg^0!F|H7y%<71P~gY9*>$mWCPwW8bBtf>zew$mj?f!J#sKXIzq|&oEsqo^4`n3 zrU6jS^PG<3kQ{Oo8iwI2ib7M9&hsSa)b00000NkvXX Hu0mjf`o(of From 9a4c10cc892e8e07c777b7351deec3efb673556a Mon Sep 17 00:00:00 2001 From: Ubaser <134914314+UbaserB@users.noreply.github.com> Date: Sun, 25 Feb 2024 15:41:13 +1100 Subject: [PATCH 37/73] pAI map button sprite change (#25384) * add * ya * add --- Resources/Textures/Interface/home.png | Bin 384 -> 1654 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Textures/Interface/home.png b/Resources/Textures/Interface/home.png index ccddb03caa3e78b373d643c28da02bb27679b573..c1479f67cdd6da9a4dc2a3a9ed339a702f6983e5 100644 GIT binary patch literal 1654 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=7^vU~2s2LA=96Y%U@plFi71Ki^|4CM&(%vz$xlkvtH>$0h^0y1+`OA-|-a&z*EttxDlz$&bOY>=?Nk^)#sNw%$0gl~X?bAC~(f|;Iyo`I4b zmx6+VO;JjkRgjAtR6CGotCUevQedU8UtV6WS8lAAUzDzIXlZGwZ(yWvWTXpJp<7&; zSCUwvn^&w1F$89gOKNd)QD#9&W`3Rm$lS!F{L&IzB_)tWZ~$>9$H0x+$q?iKRIuN_NF1iJ)ML&rK{au+fL8L^S~-ifXWpJ{C9FfP8Kh z8I)R_pHm7l)Xvh(1{@qHf`~|fXo$e30a*}TLqJA;Nj@-56=f!S=9Q!t6%+x}7uY@{ zsCBqipqquTJ2Wq|#13WvnlO?sr1-INEGj9_FUk%9#|3IY;#3AT3KFPD=@gO)z!3n< z1$JCE`tTfO$7QJeVLbx_Q=_MgV@L$&+pxWP!j1xQ?i=qeah%4TqHa~r$?BmHsBrOu z;=Kc|^BN|(pEM5mDB|eF&dPe>XUort8`hYZqd(emORiu$$i>uvu#^llbWZp{hwO5i#Nft ze1gs6fBj!pfA*Xq>aeBZzi05gn#;!zt2~TxI&@xGrNM#m{JcvKX51>z(qEAwzQx8R z`?vU}|ErUB&HpT;AUJ971m`zAd>iJcFiITQdTohFMfJ79n-QB@N|RYDqz=3|yX$%A zq@J7#>vp$Iv$o#dv|l6V=d+W?y7weidVG*v%aFEBeQs3Kx8uJg9>j>ss!qLVwpe~W zgX*o>LJdOoYgQ{JZb;Qz-*!Vsc0Ge#*=oL{ z|C^SMBb*l=Zn9dFZ#`Go?)3ppegoN@FOOMP^z1p`dvfW@6+xD6&!wKaNBog-5Xn`q z^Jd^(Iq}%TEixB>8Z2>pe5;nRz^=o?T_vjVUG*u41vS4!A4urO>wOa5q;NQ&CxGdB z#HCGcvn<}2TNZXdbW0KHJ6APfCFjj$1{(7B`LFJHsdnUy0^^fx>Y6rM=xBGN$~Wk)``Le7*nO$vr6U$0wmqp4fq-07PvS5D6ZCS9GNGT+nH&t;ucLK6UcwP)V| literal 384 zcmV-`0e}99P)200006VoOIv0RI60 z0RN!9r;`8x0X0cPK~y-6?UKDp13?sp&*+j6tRfJMVE(tjO`v0-BVZb6S^o}fgf&%gxGw!j;( zp5R*pUd?v`RFZ&o;K7VHz--0`%-Q_{+zs>tXJ$AA#!`Q&m#F~9mODs;E`$JMxfRQ` z{A?&Au+L!arsYzhl9qDLgP>kz=bV#N3o(a6bLk)Yt*+JKoDA>xc}211g``DEP2kFA zBUX2S4@o8K%fOzUXJYxE0&2i@!eh_UB{1$;t`A(2RF^brqpGBWq}!NnO45s@C+nXj ewViVvZ} Date: Sun, 25 Feb 2024 08:36:22 +0100 Subject: [PATCH 38/73] Made ordering multiple crates at cargo order multiple crates (#25518) * please tell me this is empty * it wasn't empty, fixing that * This should fix it * fix for the fix * address changes * fix * Added some comments, hoping that failed test was a fluke. --- .../Cargo/Systems/CargoSystem.Orders.cs | 18 +++++++++++------- .../Cargo/Systems/CargoSystem.Shuttle.cs | 8 ++++++-- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/Content.Server/Cargo/Systems/CargoSystem.Orders.cs b/Content.Server/Cargo/Systems/CargoSystem.Orders.cs index a4daeb8c2d..5ecba41133 100644 --- a/Content.Server/Cargo/Systems/CargoSystem.Orders.cs +++ b/Content.Server/Cargo/Systems/CargoSystem.Orders.cs @@ -209,15 +209,19 @@ namespace Content.Server.Cargo.Systems _random.Shuffle(tradePads); var freePads = GetFreeCargoPallets(trade, tradePads); - - foreach (var pad in freePads) + if (freePads.Count >= order.OrderQuantity) //check if the station has enough free pallets { - var coordinates = new EntityCoordinates(trade, pad.Transform.LocalPosition); - - if (FulfillOrder(order, coordinates, orderDatabase.PrinterOutput)) + foreach (var pad in freePads) { - tradeDestination = trade; - break; + var coordinates = new EntityCoordinates(trade, pad.Transform.LocalPosition); + + if (FulfillOrder(order, coordinates, orderDatabase.PrinterOutput)) + { + tradeDestination = trade; + order.NumDispatched++; + if (order.OrderQuantity <= order.NumDispatched) //Spawn a crate on free pellets until the order is fulfilled. + break; + } } } diff --git a/Content.Server/Cargo/Systems/CargoSystem.Shuttle.cs b/Content.Server/Cargo/Systems/CargoSystem.Shuttle.cs index 8a661c8896..98ab633f4d 100644 --- a/Content.Server/Cargo/Systems/CargoSystem.Shuttle.cs +++ b/Content.Server/Cargo/Systems/CargoSystem.Shuttle.cs @@ -196,12 +196,14 @@ public sealed partial class CargoSystem return _pads; } - private IEnumerable<(EntityUid Entity, CargoPalletComponent Component, TransformComponent Transform)> + private List<(EntityUid Entity, CargoPalletComponent Component, TransformComponent Transform)> GetFreeCargoPallets(EntityUid gridUid, List<(EntityUid Entity, CargoPalletComponent Component, TransformComponent Transform)> pallets) { _setEnts.Clear(); + List<(EntityUid Entity, CargoPalletComponent Component, TransformComponent Transform)> outList = new(); + foreach (var pallet in pallets) { var aabb = _lookup.GetAABBNoContainer(pallet.Entity, pallet.Transform.LocalPosition, pallet.Transform.LocalRotation); @@ -209,8 +211,10 @@ public sealed partial class CargoSystem if (_lookup.AnyLocalEntitiesIntersecting(gridUid, aabb, LookupFlags.Dynamic)) continue; - yield return pallet; + outList.Add(pallet); } + + return outList; } #endregion From e52ebe0ebd138bc12ec4427dfcc686efedd2a6fc Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 07:37:28 +0000 Subject: [PATCH 39/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index e2b77c84d8..6de5e697f9 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Ilya246 - changes: - - message: Science may now research the Biofabricator, which can make animal cubes - from biomass! - type: Add - id: 5516 - time: '2024-01-02T18:53:35.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23319 - author: themias changes: - message: Welders can be refilled directly from wall fuel dispensers @@ -3852,3 +3844,10 @@ id: 6015 time: '2024-02-25T02:40:49.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25529 +- author: PolterTzi + changes: + - message: Cargo ordering multiple crates in one order should work now. + type: Fix + id: 6016 + time: '2024-02-25T07:36:22.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25518 From ec5edc362656440373cba7aa8ef63c87af85911b Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Sun, 25 Feb 2024 21:58:08 +1100 Subject: [PATCH 40/73] Selectively revert gun penetration (#25551) The collision layer check doesn't work and I don't have time to fix it. --- .../Projectiles/CanPenetrateComponent.cs | 42 ------------------- .../Projectiles/SharedProjectileSystem.cs | 27 ------------ .../Guns/Ammunition/Projectiles/grenade.yml | 6 --- .../Weapons/Guns/Projectiles/projectiles.yml | 4 +- .../Power/Generation/PA/particles.yml | 1 - 5 files changed, 1 insertion(+), 79 deletions(-) delete mode 100644 Content.Shared/Projectiles/CanPenetrateComponent.cs diff --git a/Content.Shared/Projectiles/CanPenetrateComponent.cs b/Content.Shared/Projectiles/CanPenetrateComponent.cs deleted file mode 100644 index 6134978b1b..0000000000 --- a/Content.Shared/Projectiles/CanPenetrateComponent.cs +++ /dev/null @@ -1,42 +0,0 @@ -using Content.Shared.FixedPoint; -using Content.Shared.Physics; -using Robust.Shared.GameStates; - -namespace Content.Shared.Projectiles; - -[RegisterComponent, NetworkedComponent] -public sealed partial class CanPenetrateComponent : Component -{ - /// - /// Should the projectile keep the ability to deal damage after colliding. - /// - [DataField] - public bool DamageAfterCollide = true; - - /// - /// The CollisionLayer, up to and including the one set, the projectile is allowed to penetrate. - /// - /// - /// Can penetrate everything if this value is not set. - /// - [DataField] - public CollisionGroup? PenetrationLayer; - - /// - /// How many times the projectile is allowed to deal damage. - /// - /// - /// Can deal damage on every collision if this value is not set. - /// - [DataField] - public float? PenetrationPower; - - /// - /// Modifies the damage of a projectile after it has penetrated an entity. - /// - /// - /// Won't modify the projectile's damage if this value is not set. - /// - [DataField] - public FixedPoint2? DamageModifier; -} diff --git a/Content.Shared/Projectiles/SharedProjectileSystem.cs b/Content.Shared/Projectiles/SharedProjectileSystem.cs index 2fa5ee1c8c..f57e873653 100644 --- a/Content.Shared/Projectiles/SharedProjectileSystem.cs +++ b/Content.Shared/Projectiles/SharedProjectileSystem.cs @@ -169,33 +169,6 @@ public abstract partial class SharedProjectileSystem : EntitySystem /// private void AfterProjectileHit(EntityUid uid, ProjectileComponent component, ref AfterProjectileHitEvent args) { - if (!TryComp(uid, out var damageAfterCollide)) - return; - - //Delete the projectile if it hits an entity with a CollisionLayer that has a higher value than it's PenetrationLayer. - //This allows a projectile to only penetrate a specific set of entities. - if (damageAfterCollide.PenetrationLayer != null) - { - if (args.Fixture.CollisionLayer > (int) damageAfterCollide.PenetrationLayer || - damageAfterCollide.PenetrationPower == 0) - { - QueueDel(uid); - return; - } - } - - //Allow the projectile to deal damage again. - if(damageAfterCollide.DamageAfterCollide) - component.DamagedEntity = false; - - //If the projectile has a limit on the amount of penetrations, reduce it. - if (damageAfterCollide.PenetrationPower != null) - damageAfterCollide.PenetrationPower -= 1; - - //Apply the penetration damage modifier if the projectile has one. - if (damageAfterCollide.DamageModifier != null) - component.Damage *= damageAfterCollide.DamageModifier.Value; - //Overrides the original DeleteOnCollide if the projectile passes all penetration checks. //This is to prevent having to set DeleteOnCollide to false on every prototype //you want to give the ability to penetrate entities. diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/grenade.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/grenade.yml index ec62121c6b..7f0507d686 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/grenade.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/grenade.yml @@ -12,8 +12,6 @@ damage: types: Blunt: 4 - - type: CanPenetrate - penetrationLayer: MobLayer - type: StaminaDamageOnCollide damage: 55 - type: TimedDespawn @@ -33,8 +31,6 @@ damage: types: Piercing: 45 - - type: CanPenetrate - penetrationLayer: MobLayer - type: TimedDespawn lifetime: 0.25 @@ -53,8 +49,6 @@ types: Blunt: 1 Heat: 2 - - type: CanPenetrate - penetrationLayer: MobLayer - type: IgniteOnCollide fireStacks: 3 count: 10 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index a5b0a8ffa3..9445a3cfe1 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -738,7 +738,7 @@ - type: PointLight radius: 3.5 color: blue - energy: 0.5 + energy: 0.5 - type: entity id: BulletCap @@ -810,8 +810,6 @@ mask: - Impassable - BulletImpassable - - type: CanPenetrate - penetrationLayer: MobLayer - type: Vapor active: true - type: Appearance diff --git a/Resources/Prototypes/Entities/Structures/Power/Generation/PA/particles.yml b/Resources/Prototypes/Entities/Structures/Power/Generation/PA/particles.yml index 8f89c900ca..8d889ee5cb 100644 --- a/Resources/Prototypes/Entities/Structures/Power/Generation/PA/particles.yml +++ b/Resources/Prototypes/Entities/Structures/Power/Generation/PA/particles.yml @@ -19,7 +19,6 @@ damage: types: Radiation: 25 - - type: CanPenetrate - type: Physics - type: Fixtures fixtures: From bcbe2ec1af39ad1fea286fd27a40bc3794a2ce34 Mon Sep 17 00:00:00 2001 From: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com> Date: Sun, 25 Feb 2024 13:07:10 +0200 Subject: [PATCH 41/73] Cleanup ExecutionSystem (#24382) * Creat Execution Component and add to sharp items * Kill Server ExecutionSystem. Create ExecutionSystem in shared. Create ActiveExecution Component. Transferred the Execution system into shared. Heavily re-wrote the system in order to reduce duplication, and remove gun code from the system. The melee weapon modifier which was dependant on swing rate was removed. The ActiveExecutionComponent was created in order to apply the damage modifier to the shot from a gun execution. It is added just before the gun fires and removed after an attempt is made. * Fix bugs The execution completed text will now only show up if the gun fires. The client also no longer crashes because I forgot to network the component. * Remove clumsy text * Make BaseSword abstract * Add ExecutionComponent to every weapon * Fix bug * Remove execution comp from battery weapons Currently the gun system does not have a way to alter hitscan damage like it does with projectiles. * Cleanup * Revert "Remove clumsy text" This reverts commit a46da6448d5d179a4e936f9213d5622bedb58a16. * Actually fix the ExecutionSystem Everything about the shot goes through the gun system now. The Damage multiplier is only applied when a projectile impacts the target so people that get in the way don't get hit with 9 times damage for no reason. In order to make suicides work I needed to create fake EntityCoordinates because the gun system and the projectile system do not play well with a projectile that has the same start and end position. * Make launchers able to execute * Fix prediction bug The OnAmmoShotEvent is only raised on the server. * Readd ability for clowns to accidentally shoot themselves while executing * Cleanup * Reset melee cooldown to initial value * Address reviews fix bug Addressed reviews on overriding messages. Now I actually mark doafters as handled. Return normal cooldown to some meleeweapons I forgot on the previous commit. * Address Reviews Remove duplication * Exorcise codebase Remove evil null coercion that I was sure I removed a while ago * Address reviews again * Remove melee weapon attack logic and rely on the system. Remove gun and melee checks. * Make system functional again and cleanup * Remove code I forgot to remove * Cleanup * stalled * Selectively revert gun penetration The collision layer check doesn't work and I don't have time to fix it. * Fixes --------- Co-authored-by: metalgearsloth --- Content.Server/Execution/ExecutionSystem.cs | 397 ------------------ .../Projectiles/ProjectileSystem.cs | 28 +- .../Weapons/Ranged/Systems/GunSystem.cs | 149 ++++++- .../Execution/ExecutionComponent.cs | 26 ++ Content.Shared/Execution/ExecutionSystem.cs | 241 +++++++++++ .../Projectiles/SharedProjectileSystem.cs | 15 +- .../Ranged/Events/ShotAttemptedEvent.cs | 4 +- .../Weapons/Ranged/Systems/SharedGunSystem.cs | 111 +++-- .../Locale/en-US/execution/execution.ftl | 10 - .../components/butcherable-component.ftl | 2 +- .../Objects/Materials/crystal_shard.yml | 2 + .../Entities/Objects/Materials/shards.yml | 2 + .../Entities/Objects/Misc/broken_bottle.yml | 2 + .../Objects/Weapons/Guns/HMGs/hmgs.yml | 1 + .../Objects/Weapons/Guns/LMGs/lmgs.yml | 1 + .../Weapons/Guns/Launchers/launchers.yml | 1 + .../Objects/Weapons/Guns/Pistols/pistols.yml | 3 +- .../Objects/Weapons/Guns/Rifles/rifles.yml | 1 + .../Objects/Weapons/Guns/SMGs/smgs.yml | 1 + .../Weapons/Guns/Shotguns/shotguns.yml | 2 + .../Objects/Weapons/Guns/Snipers/snipers.yml | 1 + .../Objects/Weapons/Guns/flare_gun.yml | 1 + .../Objects/Weapons/Guns/pneumatic_cannon.yml | 1 + .../Objects/Weapons/Melee/armblade.yml | 2 + .../Objects/Weapons/Melee/fireaxe.yml | 2 + .../Entities/Objects/Weapons/Melee/knife.yml | 2 + .../Entities/Objects/Weapons/Melee/sword.yml | 36 +- 27 files changed, 566 insertions(+), 478 deletions(-) delete mode 100644 Content.Server/Execution/ExecutionSystem.cs create mode 100644 Content.Shared/Execution/ExecutionComponent.cs create mode 100644 Content.Shared/Execution/ExecutionSystem.cs diff --git a/Content.Server/Execution/ExecutionSystem.cs b/Content.Server/Execution/ExecutionSystem.cs deleted file mode 100644 index 4354608ca3..0000000000 --- a/Content.Server/Execution/ExecutionSystem.cs +++ /dev/null @@ -1,397 +0,0 @@ -using Content.Server.Interaction; -using Content.Server.Kitchen.Components; -using Content.Server.Weapons.Ranged.Systems; -using Content.Shared.ActionBlocker; -using Content.Shared.Damage; -using Content.Shared.Database; -using Content.Shared.DoAfter; -using Content.Shared.Execution; -using Content.Shared.Interaction.Components; -using Content.Shared.Mobs.Components; -using Content.Shared.Mobs.Systems; -using Content.Shared.Popups; -using Content.Shared.Projectiles; -using Content.Shared.Verbs; -using Content.Shared.Weapons.Melee; -using Content.Shared.Weapons.Ranged; -using Content.Shared.Weapons.Ranged.Components; -using Content.Shared.Weapons.Ranged.Events; -using Content.Shared.Weapons.Ranged.Systems; -using Robust.Shared.Audio; -using Robust.Shared.Audio.Systems; -using Robust.Shared.Player; -using Robust.Shared.Prototypes; - -namespace Content.Server.Execution; - -/// -/// Verb for violently murdering cuffed creatures. -/// -public sealed class ExecutionSystem : EntitySystem -{ - [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!; - [Dependency] private readonly SharedPopupSystem _popupSystem = default!; - [Dependency] private readonly MobStateSystem _mobStateSystem = default!; - [Dependency] private readonly InteractionSystem _interactionSystem = default!; - [Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!; - [Dependency] private readonly DamageableSystem _damageableSystem = default!; - [Dependency] private readonly IPrototypeManager _prototypeManager = default!; - [Dependency] private readonly IComponentFactory _componentFactory = default!; - [Dependency] private readonly SharedAppearanceSystem _appearanceSystem = default!; - [Dependency] private readonly SharedAudioSystem _audioSystem = default!; - [Dependency] private readonly GunSystem _gunSystem = default!; - - private const float MeleeExecutionTimeModifier = 5.0f; - private const float GunExecutionTime = 6.0f; - private const float DamageModifier = 9.0f; - - /// - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent>(OnGetInteractionVerbsMelee); - SubscribeLocalEvent>(OnGetInteractionVerbsGun); - - SubscribeLocalEvent(OnDoafterMelee); - SubscribeLocalEvent(OnDoafterGun); - } - - private void OnGetInteractionVerbsMelee( - EntityUid uid, - SharpComponent component, - GetVerbsEvent args) - { - if (args.Hands == null || args.Using == null || !args.CanAccess || !args.CanInteract) - return; - - var attacker = args.User; - var weapon = args.Using!.Value; - var victim = args.Target; - - if (!CanExecuteWithMelee(weapon, victim, attacker)) - return; - - UtilityVerb verb = new() - { - Act = () => - { - TryStartMeleeExecutionDoafter(weapon, victim, attacker); - }, - Impact = LogImpact.High, - Text = Loc.GetString("execution-verb-name"), - Message = Loc.GetString("execution-verb-message"), - }; - - args.Verbs.Add(verb); - } - - private void OnGetInteractionVerbsGun( - EntityUid uid, - GunComponent component, - GetVerbsEvent args) - { - if (args.Hands == null || args.Using == null || !args.CanAccess || !args.CanInteract) - return; - - var attacker = args.User; - var weapon = args.Using!.Value; - var victim = args.Target; - - if (!CanExecuteWithGun(weapon, victim, attacker)) - return; - - UtilityVerb verb = new() - { - Act = () => - { - TryStartGunExecutionDoafter(weapon, victim, attacker); - }, - Impact = LogImpact.High, - Text = Loc.GetString("execution-verb-name"), - Message = Loc.GetString("execution-verb-message"), - }; - - args.Verbs.Add(verb); - } - - private bool CanExecuteWithAny(EntityUid weapon, EntityUid victim, EntityUid attacker) - { - // No point executing someone if they can't take damage - if (!TryComp(victim, out var damage)) - return false; - - // You can't execute something that cannot die - if (!TryComp(victim, out var mobState)) - return false; - - // You're not allowed to execute dead people (no fun allowed) - if (_mobStateSystem.IsDead(victim, mobState)) - return false; - - // You must be able to attack people to execute - if (!_actionBlockerSystem.CanAttack(attacker, victim)) - return false; - - // The victim must be incapacitated to be executed - if (victim != attacker && _actionBlockerSystem.CanInteract(victim, null)) - return false; - - // All checks passed - return true; - } - - private bool CanExecuteWithMelee(EntityUid weapon, EntityUid victim, EntityUid user) - { - if (!CanExecuteWithAny(weapon, victim, user)) return false; - - // We must be able to actually hurt people with the weapon - if (!TryComp(weapon, out var melee) && melee!.Damage.GetTotal() > 0.0f) - return false; - - return true; - } - - private bool CanExecuteWithGun(EntityUid weapon, EntityUid victim, EntityUid user) - { - if (!CanExecuteWithAny(weapon, victim, user)) return false; - - // We must be able to actually fire the gun - if (!TryComp(weapon, out var gun) && _gunSystem.CanShoot(gun!)) - return false; - - return true; - } - - private void TryStartMeleeExecutionDoafter(EntityUid weapon, EntityUid victim, EntityUid attacker) - { - if (!CanExecuteWithMelee(weapon, victim, attacker)) - return; - - var executionTime = (1.0f / Comp(weapon).AttackRate) * MeleeExecutionTimeModifier; - - if (attacker == victim) - { - ShowExecutionPopup("suicide-popup-melee-initial-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("suicide-popup-melee-initial-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); - } - else - { - ShowExecutionPopup("execution-popup-melee-initial-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("execution-popup-melee-initial-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); - } - - var doAfter = - new DoAfterArgs(EntityManager, attacker, executionTime, new ExecutionDoAfterEvent(), weapon, target: victim, used: weapon) - { - BreakOnTargetMove = true, - BreakOnUserMove = true, - BreakOnDamage = true, - NeedHand = true - }; - - _doAfterSystem.TryStartDoAfter(doAfter); - } - - private void TryStartGunExecutionDoafter(EntityUid weapon, EntityUid victim, EntityUid attacker) - { - if (!CanExecuteWithGun(weapon, victim, attacker)) - return; - - if (attacker == victim) - { - ShowExecutionPopup("suicide-popup-gun-initial-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("suicide-popup-gun-initial-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); - } - else - { - ShowExecutionPopup("execution-popup-gun-initial-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("execution-popup-gun-initial-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); - } - - var doAfter = - new DoAfterArgs(EntityManager, attacker, GunExecutionTime, new ExecutionDoAfterEvent(), weapon, target: victim, used: weapon) - { - BreakOnTargetMove = true, - BreakOnUserMove = true, - BreakOnDamage = true, - NeedHand = true - }; - - _doAfterSystem.TryStartDoAfter(doAfter); - } - - private bool OnDoafterChecks(EntityUid uid, DoAfterEvent args) - { - if (args.Handled || args.Cancelled || args.Used == null || args.Target == null) - return false; - - if (!CanExecuteWithAny(args.Used.Value, args.Target.Value, uid)) - return false; - - // All checks passed - return true; - } - - private void OnDoafterMelee(EntityUid uid, SharpComponent component, DoAfterEvent args) - { - if (args.Handled || args.Cancelled || args.Used == null || args.Target == null) - return; - - var attacker = args.User; - var victim = args.Target!.Value; - var weapon = args.Used!.Value; - - if (!CanExecuteWithMelee(weapon, victim, attacker)) return; - - if (!TryComp(weapon, out var melee) && melee!.Damage.GetTotal() > 0.0f) - return; - - _damageableSystem.TryChangeDamage(victim, melee.Damage * DamageModifier, true); - _audioSystem.PlayEntity(melee.HitSound, Filter.Pvs(weapon), weapon, true, AudioParams.Default); - - if (attacker == victim) - { - ShowExecutionPopup("suicide-popup-melee-complete-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("suicide-popup-melee-complete-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); - } - else - { - ShowExecutionPopup("execution-popup-melee-complete-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("execution-popup-melee-complete-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); - } - } - - // TODO: This repeats a lot of the code of the serverside GunSystem, make it not do that - private void OnDoafterGun(EntityUid uid, GunComponent component, DoAfterEvent args) - { - if (args.Handled || args.Cancelled || args.Used == null || args.Target == null) - return; - - var attacker = args.User; - var weapon = args.Used!.Value; - var victim = args.Target!.Value; - - if (!CanExecuteWithGun(weapon, victim, attacker)) return; - - // Check if any systems want to block our shot - var prevention = new ShotAttemptedEvent - { - User = attacker, - Used = weapon - }; - - RaiseLocalEvent(weapon, ref prevention); - if (prevention.Cancelled) - return; - - RaiseLocalEvent(attacker, ref prevention); - if (prevention.Cancelled) - return; - - // Not sure what this is for but gunsystem uses it so ehhh - var attemptEv = new AttemptShootEvent(attacker, null); - RaiseLocalEvent(weapon, ref attemptEv); - - if (attemptEv.Cancelled) - { - if (attemptEv.Message != null) - { - _popupSystem.PopupClient(attemptEv.Message, weapon, attacker); - return; - } - } - - // Take some ammunition for the shot (one bullet) - var fromCoordinates = Transform(attacker).Coordinates; - var ev = new TakeAmmoEvent(1, new List<(EntityUid? Entity, IShootable Shootable)>(), fromCoordinates, attacker); - RaiseLocalEvent(weapon, ev); - - // Check if there's any ammo left - if (ev.Ammo.Count <= 0) - { - _audioSystem.PlayEntity(component.SoundEmpty, Filter.Pvs(weapon), weapon, true, AudioParams.Default); - ShowExecutionPopup("execution-popup-gun-empty", Filter.Pvs(weapon), PopupType.Medium, attacker, victim, weapon); - return; - } - - // Information about the ammo like damage - DamageSpecifier damage = new DamageSpecifier(); - - // Get some information from IShootable - var ammoUid = ev.Ammo[0].Entity; - switch (ev.Ammo[0].Shootable) - { - case CartridgeAmmoComponent cartridge: - // Get the damage value - var prototype = _prototypeManager.Index(cartridge.Prototype); - prototype.TryGetComponent(out var projectileA, _componentFactory); // sloth forgive me - if (projectileA != null) - { - damage = projectileA.Damage * cartridge.Count; - } - - // Expend the cartridge - cartridge.Spent = true; - _appearanceSystem.SetData(ammoUid!.Value, AmmoVisuals.Spent, true); - Dirty(ammoUid.Value, cartridge); - - break; - - case AmmoComponent newAmmo: - TryComp(ammoUid, out var projectileB); - if (projectileB != null) - { - damage = projectileB.Damage; - } - Del(ammoUid); - break; - - case HitscanPrototype hitscan: - damage = hitscan.Damage!; - break; - - default: - throw new ArgumentOutOfRangeException(); - } - - // Clumsy people have a chance to shoot themselves - if (TryComp(attacker, out var clumsy) && component.ClumsyProof == false) - { - if (_interactionSystem.TryRollClumsy(attacker, 0.33333333f, clumsy)) - { - ShowExecutionPopup("execution-popup-gun-clumsy-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("execution-popup-gun-clumsy-external", Filter.PvsExcept(attacker), PopupType.MediumCaution, attacker, victim, weapon); - - // You shoot yourself with the gun (no damage multiplier) - _damageableSystem.TryChangeDamage(attacker, damage, origin: attacker); - _audioSystem.PlayEntity(component.SoundGunshot, Filter.Pvs(weapon), weapon, true, AudioParams.Default); - return; - } - } - - // Gun successfully fired, deal damage - _damageableSystem.TryChangeDamage(victim, damage * DamageModifier, true); - _audioSystem.PlayEntity(component.SoundGunshot, Filter.Pvs(weapon), weapon, false, AudioParams.Default); - - // Popups - if (attacker != victim) - { - ShowExecutionPopup("execution-popup-gun-complete-internal", Filter.Entities(attacker), PopupType.Medium, attacker, victim, weapon); - ShowExecutionPopup("execution-popup-gun-complete-external", Filter.PvsExcept(attacker), PopupType.LargeCaution, attacker, victim, weapon); - } - else - { - ShowExecutionPopup("suicide-popup-gun-complete-internal", Filter.Entities(attacker), PopupType.LargeCaution, attacker, victim, weapon); - ShowExecutionPopup("suicide-popup-gun-complete-external", Filter.PvsExcept(attacker), PopupType.LargeCaution, attacker, victim, weapon); - } - } - - private void ShowExecutionPopup(string locString, Filter filter, PopupType type, - EntityUid attacker, EntityUid victim, EntityUid weapon) - { - _popupSystem.PopupEntity(Loc.GetString( - locString, ("attacker", attacker), ("victim", victim), ("weapon", weapon)), - attacker, filter, true, type); - } -} \ No newline at end of file diff --git a/Content.Server/Projectiles/ProjectileSystem.cs b/Content.Server/Projectiles/ProjectileSystem.cs index 15ea5936e1..80c5f039d3 100644 --- a/Content.Server/Projectiles/ProjectileSystem.cs +++ b/Content.Server/Projectiles/ProjectileSystem.cs @@ -28,10 +28,14 @@ public sealed class ProjectileSystem : SharedProjectileSystem { // This is so entities that shouldn't get a collision are ignored. if (args.OurFixtureId != ProjectileFixture || !args.OtherFixture.Hard - || component.DamagedEntity || component is { Weapon: null, OnlyCollideWhenShot: true }) + || component.DamagedEntity || component is + { Weapon: null, OnlyCollideWhenShot: true }) + { return; + } var target = args.OtherEntity; + // it's here so this check is only done once before possible hit var attemptEv = new ProjectileReflectAttemptEvent(uid, component, false); RaiseLocalEvent(target, ref attemptEv); @@ -41,11 +45,26 @@ public sealed class ProjectileSystem : SharedProjectileSystem return; } + if (TryHandleProjectile(target, (uid, component))) + { + var direction = args.OurBody.LinearVelocity.Normalized(); + _sharedCameraRecoil.KickCamera(target, direction); + } + } + + /// + /// Tries to handle a projectile interacting with the target. + /// + /// True if the target isn't deleted. + public bool TryHandleProjectile(EntityUid target, Entity projectile) + { + var uid = projectile.Owner; + var component = projectile.Comp; + var ev = new ProjectileHitEvent(component.Damage, target, component.Shooter); RaiseLocalEvent(uid, ref ev); var otherName = ToPrettyString(target); - var direction = args.OurBody.LinearVelocity.Normalized(); var modifiedDamage = _damageableSystem.TryChangeDamage(target, ev.Damage, component.IgnoreResistances, origin: component.Shooter); var deleted = Deleted(target); @@ -64,12 +83,11 @@ public sealed class ProjectileSystem : SharedProjectileSystem if (!deleted) { _guns.PlayImpactSound(target, modifiedDamage, component.SoundHit, component.ForceSound); - _sharedCameraRecoil.KickCamera(target, direction); } component.DamagedEntity = true; - var afterProjectileHitEvent = new AfterProjectileHitEvent(component.Damage, target, args.OtherFixture); + var afterProjectileHitEvent = new AfterProjectileHitEvent(component.Damage, target); RaiseLocalEvent(uid, ref afterProjectileHitEvent); if (component.DeleteOnCollide) @@ -79,5 +97,7 @@ public sealed class ProjectileSystem : SharedProjectileSystem { RaiseNetworkEvent(new ImpactEffectEvent(component.ImpactEffect, GetNetCoordinates(xform.Coordinates)), Filter.Pvs(xform.Coordinates, entityMan: EntityManager)); } + + return !deleted; } } diff --git a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs index b8f8f12211..fd3b6c5db3 100644 --- a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs +++ b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs @@ -4,6 +4,7 @@ using Content.Server.Administration.Logs; using Content.Server.Cargo.Systems; using Content.Server.Interaction; using Content.Server.Power.EntitySystems; +using Content.Server.Projectiles; using Content.Server.Stunnable; using Content.Server.Weapons.Ranged.Components; using Content.Shared.Damage; @@ -29,13 +30,13 @@ namespace Content.Server.Weapons.Ranged.Systems; public sealed partial class GunSystem : SharedGunSystem { - [Dependency] private readonly IAdminLogManager _adminLogger = default!; [Dependency] private readonly IComponentFactory _factory = default!; [Dependency] private readonly BatterySystem _battery = default!; [Dependency] private readonly DamageExamineSystem _damageExamine = default!; [Dependency] private readonly InteractionSystem _interaction = default!; [Dependency] private readonly PricingSystem _pricing = default!; [Dependency] private readonly SharedColorFlashEffectSystem _color = default!; + [Dependency] private readonly ProjectileSystem _projectile = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly StaminaSystem _stamina = default!; [Dependency] private readonly StunSystem _stun = default!; @@ -65,6 +66,137 @@ public sealed partial class GunSystem : SharedGunSystem args.Price += price * component.UnspawnedCount; } + protected override bool ShootDirect(EntityUid gunUid, GunComponent gun, EntityUid target, List<(EntityUid? Entity, IShootable Shootable)> ammo, EntityUid user) + { + var result = false; + + // TODO: This is dogshit. I just want to get executions slightly better. + // Ideally you'd pull out cartridge + ammo to separate handling functions and re-use it here, then hitscan you need to bypass entirely. + // You should also make shooting into a struct of args given how many there are now. + var fromCoordinates = Transform(gunUid).Coordinates; + var toCoordinates = Transform(target).Coordinates; + + var fromMap = fromCoordinates.ToMap(EntityManager, TransformSystem); + var toMap = toCoordinates.ToMapPos(EntityManager, TransformSystem); + var mapDirection = toMap - fromMap.Position; + var angle = GetRecoilAngle(Timing.CurTime, gun, mapDirection.ToAngle()); + + // If applicable, this ensures the projectile is parented to grid on spawn, instead of the map. + var fromEnt = MapManager.TryFindGridAt(fromMap, out var gridUid, out _) + ? fromCoordinates.WithEntityId(gridUid, EntityManager) + : new EntityCoordinates(MapManager.GetMapEntityId(fromMap.MapId), fromMap.Position); + + // I must be high because this was getting tripped even when true. + // DebugTools.Assert(direction != Vector2.Zero); + var shotProjectiles = new List(ammo.Count); + var cartridgeBullets = new List(); + + foreach (var (ent, shootable) in ammo) + { + switch (shootable) + { + // Cartridge shoots something else + case CartridgeAmmoComponent cartridge: + if (!cartridge.Spent) + { + for (var i = 0; i < cartridge.Count; i++) + { + var uid = Spawn(cartridge.Prototype, fromEnt); + cartridgeBullets.Add(uid); + } + + RaiseLocalEvent(ent!.Value, new AmmoShotEvent() + { + FiredProjectiles = cartridgeBullets, + }); + + shotProjectiles.AddRange(cartridgeBullets); + cartridgeBullets.Clear(); + SetCartridgeSpent(ent.Value, cartridge, true); + MuzzleFlash(gunUid, cartridge, user); + Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); + + if (cartridge.DeleteOnSpawn) + Del(ent.Value); + } + else + { + Audio.PlayPredicted(gun.SoundEmpty, gunUid, user); + } + + // Something like ballistic might want to leave it in the container still + if (!cartridge.DeleteOnSpawn && !Containers.IsEntityInContainer(ent!.Value)) + EjectCartridge(ent.Value, angle); + + result = true; + Dirty(ent!.Value, cartridge); + break; + // Ammo shoots itself + case AmmoComponent newAmmo: + result = true; + shotProjectiles.Add(ent!.Value); + MuzzleFlash(gunUid, newAmmo, user); + Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); + break; + case HitscanPrototype hitscan: + result = true; + var hitEntity = target; + if (hitscan.StaminaDamage > 0f) + _stamina.TakeStaminaDamage(hitEntity, hitscan.StaminaDamage, source: user); + + var dmg = hitscan.Damage; + + var hitName = ToPrettyString(hitEntity); + if (dmg != null) + dmg = Damageable.TryChangeDamage(hitEntity, dmg, origin: user); + + // check null again, as TryChangeDamage returns modified damage values + if (dmg != null) + { + if (!Deleted(hitEntity)) + { + if (dmg.Any()) + { + _color.RaiseEffect(Color.Red, new List() { hitEntity }, Filter.Pvs(hitEntity, entityManager: EntityManager)); + } + + // TODO get fallback position for playing hit sound. + PlayImpactSound(hitEntity, dmg, hitscan.Sound, hitscan.ForceSound); + } + + Logs.Add(LogType.HitScanHit, + $"{ToPrettyString(user):user} hit {hitName:target} using hitscan and dealt {dmg.GetTotal():damage} damage"); + } + + Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); + break; + default: + throw new ArgumentOutOfRangeException(); + } + } + + foreach (var ammoUid in shotProjectiles) + { + // TODO: Handle this shit + if (!TryComp(ammoUid, out ProjectileComponent? projectileComponent)) + { + QueueDel(ammoUid); + continue; + } + + _projectile.TryHandleProjectile(target, (ammoUid, projectileComponent)); + // Even this deletion handling is mega sussy. + Del(ammoUid); + } + + RaiseLocalEvent(gunUid, new AmmoShotEvent() + { + FiredProjectiles = shotProjectiles, + }); + + return result; + } + public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? Entity, IShootable Shootable)> ammo, EntityCoordinates fromCoordinates, EntityCoordinates toCoordinates, out bool userImpulse, EntityUid? user = null, bool throwItems = false) { @@ -72,7 +204,7 @@ public sealed partial class GunSystem : SharedGunSystem // Try a clumsy roll // TODO: Who put this here - if (TryComp(user, out var clumsy) && gun.ClumsyProof == false) + if (TryComp(user, out var clumsy) && !gun.ClumsyProof) { for (var i = 0; i < ammo.Count; i++) { @@ -93,6 +225,8 @@ public sealed partial class GunSystem : SharedGunSystem } } + // As the above message wasn't obvious stop putting stuff here and use events + var fromMap = fromCoordinates.ToMap(EntityManager, TransformSystem); var toMap = toCoordinates.ToMapPos(EntityManager, TransformSystem); var mapDirection = toMap - fromMap.Position; @@ -100,7 +234,7 @@ public sealed partial class GunSystem : SharedGunSystem var angle = GetRecoilAngle(Timing.CurTime, gun, mapDirection.ToAngle()); // If applicable, this ensures the projectile is parented to grid on spawn, instead of the map. - var fromEnt = MapManager.TryFindGridAt(fromMap, out var gridUid, out var grid) + var fromEnt = MapManager.TryFindGridAt(fromMap, out var gridUid, out _) ? fromCoordinates.WithEntityId(gridUid, EntityManager) : new EntityCoordinates(MapManager.GetMapEntityId(fromMap.MapId), fromMap.Position); @@ -112,6 +246,7 @@ public sealed partial class GunSystem : SharedGunSystem // I must be high because this was getting tripped even when true. // DebugTools.Assert(direction != Vector2.Zero); var shotProjectiles = new List(ammo.Count); + var cartridgeBullets = new List(); foreach (var (ent, shootable) in ammo) { @@ -140,21 +275,23 @@ public sealed partial class GunSystem : SharedGunSystem { var uid = Spawn(cartridge.Prototype, fromEnt); ShootOrThrow(uid, angles[i].ToVec(), gunVelocity, gun, gunUid, user); - shotProjectiles.Add(uid); + cartridgeBullets.Add(uid); } } else { var uid = Spawn(cartridge.Prototype, fromEnt); ShootOrThrow(uid, mapDirection, gunVelocity, gun, gunUid, user); - shotProjectiles.Add(uid); + cartridgeBullets.Add(uid); } RaiseLocalEvent(ent!.Value, new AmmoShotEvent() { - FiredProjectiles = shotProjectiles, + FiredProjectiles = cartridgeBullets, }); + shotProjectiles.AddRange(cartridgeBullets); + cartridgeBullets.Clear(); SetCartridgeSpent(ent.Value, cartridge, true); MuzzleFlash(gunUid, cartridge, user); Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); diff --git a/Content.Shared/Execution/ExecutionComponent.cs b/Content.Shared/Execution/ExecutionComponent.cs new file mode 100644 index 0000000000..f9c5111d63 --- /dev/null +++ b/Content.Shared/Execution/ExecutionComponent.cs @@ -0,0 +1,26 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Execution; + +/// +/// Added to entities that can be used to execute another target. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class ExecutionComponent : Component +{ + /// + /// How long the execution duration lasts. + /// + [DataField, AutoNetworkedField] + public float DoAfterDuration = 5f; + + [DataField, AutoNetworkedField] + public float DamageModifier = 9f; + + // Not networked because this is transient inside of a tick. + /// + /// True if it is currently executing for handlers. + /// + [DataField] + public bool Executing = true; +} diff --git a/Content.Shared/Execution/ExecutionSystem.cs b/Content.Shared/Execution/ExecutionSystem.cs new file mode 100644 index 0000000000..de6db205be --- /dev/null +++ b/Content.Shared/Execution/ExecutionSystem.cs @@ -0,0 +1,241 @@ +using Content.Shared.Weapons.Ranged.Systems; +using Content.Shared.ActionBlocker; +using Content.Shared.CombatMode; +using Content.Shared.Damage; +using Content.Shared.Database; +using Content.Shared.DoAfter; +using Content.Shared.Mobs.Components; +using Content.Shared.Mobs.Systems; +using Content.Shared.Popups; +using Content.Shared.Verbs; +using Content.Shared.Weapons.Melee; +using Content.Shared.Weapons.Melee.Events; +using Content.Shared.Weapons.Ranged.Components; +using Robust.Shared.Network; +using Robust.Shared.Player; + +namespace Content.Shared.Execution; + +/// +/// Verb for violently murdering cuffed creatures. +/// +public sealed class ExecutionSystem : EntitySystem +{ + [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!; + [Dependency] private readonly SharedPopupSystem _popupSystem = default!; + [Dependency] private readonly MobStateSystem _mobStateSystem = default!; + [Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!; + [Dependency] private readonly SharedGunSystem _gunSystem = default!; + [Dependency] private readonly SharedCombatModeSystem _combatSystem = default!; + [Dependency] private readonly SharedMeleeWeaponSystem _meleeSystem = default!; + + // TODO: Still needs more cleaning up. + private const string DefaultInternalMeleeExecutionMessage = "execution-popup-melee-initial-internal"; + private const string DefaultExternalMeleeExecutionMessage = "execution-popup-melee-initial-external"; + private const string DefaultCompleteInternalMeleeExecutionMessage = "execution-popup-melee-complete-internal"; + private const string DefaultCompleteExternalMeleeExecutionMessage = "execution-popup-melee-complete-external"; + private const string DefaultInternalGunExecutionMessage = "execution-popup-gun-initial-internal"; + private const string DefaultExternalGunExecutionMessage = "execution-popup-gun-initial-external"; + private const string DefaultCompleteInternalGunExecutionMessage = "execution-popup-gun-complete-internal"; + private const string DefaultCompleteExternalGunExecutionMessage = "execution-popup-gun-complete-external"; + + /// + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent>(OnGetInteractionsVerbs); + SubscribeLocalEvent(OnExecutionDoAfter); + SubscribeLocalEvent(OnGetMeleeDamage); + } + + private void OnGetInteractionsVerbs(EntityUid uid, ExecutionComponent comp, GetVerbsEvent args) + { + if (args.Hands == null || args.Using == null || !args.CanAccess || !args.CanInteract) + return; + + var attacker = args.User; + var weapon = args.Using.Value; + var victim = args.Target; + + if (!CanExecuteWithAny(victim, attacker)) + return; + + UtilityVerb verb = new() + { + Act = () => TryStartExecutionDoAfter(weapon, victim, attacker, comp), + Impact = LogImpact.High, + Text = Loc.GetString("execution-verb-name"), + Message = Loc.GetString("execution-verb-message"), + }; + + args.Verbs.Add(verb); + } + + private void TryStartExecutionDoAfter(EntityUid weapon, EntityUid victim, EntityUid attacker, ExecutionComponent comp) + { + if (!CanExecuteWithAny(victim, attacker)) + return; + + // TODO: This should just be on the weapons as a single execution message. + var defaultExecutionInternal = DefaultInternalMeleeExecutionMessage; + var defaultExecutionExternal = DefaultExternalMeleeExecutionMessage; + + if (HasComp(weapon)) + { + defaultExecutionExternal = DefaultInternalGunExecutionMessage; + defaultExecutionInternal = DefaultExternalGunExecutionMessage; + } + + var internalMsg = defaultExecutionInternal; + var externalMsg = defaultExecutionExternal; + ShowExecutionInternalPopup(internalMsg, attacker, victim, weapon); + ShowExecutionExternalPopup(externalMsg, attacker, victim, weapon); + + var doAfter = + new DoAfterArgs(EntityManager, attacker, comp.DoAfterDuration, new ExecutionDoAfterEvent(), weapon, target: victim, used: weapon) + { + BreakOnTargetMove = true, + BreakOnUserMove = true, + BreakOnDamage = true, + NeedHand = true + }; + + _doAfterSystem.TryStartDoAfter(doAfter); + + } + + private bool CanExecuteWithAny(EntityUid victim, EntityUid attacker) + { + // Use suicide. + if (victim == attacker) + return false; + + // No point executing someone if they can't take damage + if (!TryComp(victim, out _)) + return false; + + // You can't execute something that cannot die + if (!TryComp(victim, out var mobState)) + return false; + + // You're not allowed to execute dead people (no fun allowed) + if (_mobStateSystem.IsDead(victim, mobState)) + return false; + + // You must be able to attack people to execute + if (!_actionBlockerSystem.CanAttack(attacker, victim)) + return false; + + // The victim must be incapacitated to be executed + if (victim != attacker && _actionBlockerSystem.CanInteract(victim, null)) + return false; + + // All checks passed + return true; + } + + private void OnExecutionDoAfter(EntityUid uid, ExecutionComponent component, ExecutionDoAfterEvent args) + { + if (args.Handled || args.Cancelled || args.Used == null || args.Target == null) + return; + + var attacker = args.User; + var victim = args.Target.Value; + var weapon = args.Used.Value; + + if (!CanExecuteWithAny(victim, attacker)) + return; + + // This is needed so the melee system does not stop it. + var prev = _combatSystem.IsInCombatMode(attacker); + _combatSystem.SetInCombatMode(attacker, true); + component.Executing = true; + string? internalMsg = null; + string? externalMsg = null; + + if (TryComp(uid, out MeleeWeaponComponent? melee)) + { + _meleeSystem.AttemptLightAttack(attacker, weapon, melee, victim); + internalMsg = DefaultCompleteInternalMeleeExecutionMessage; + externalMsg = DefaultCompleteExternalMeleeExecutionMessage; + } + else if (TryComp(uid, out GunComponent? gun)) + { + var clumsyShot = false; + + // TODO: This should just be an event or something instead to get this. + // TODO: Handle clumsy. + if (!_gunSystem.AttemptDirectShoot(args.User, uid, args.Target.Value, gun)) + { + internalMsg = null; + externalMsg = null; + } + else + { + internalMsg = DefaultCompleteInternalGunExecutionMessage; + externalMsg = DefaultCompleteExternalGunExecutionMessage; + } + args.Handled = true; + } + + _combatSystem.SetInCombatMode(attacker, prev); + component.Executing = false; + args.Handled = true; + + if (internalMsg != null && externalMsg != null) + { + ShowExecutionInternalPopup(internalMsg, attacker, victim, uid); + ShowExecutionExternalPopup(externalMsg, attacker, victim, uid); + } + } + + private void OnGetMeleeDamage(EntityUid uid, ExecutionComponent comp, ref GetMeleeDamageEvent args) + { + if (!TryComp(uid, out var melee) || + !TryComp(uid, out var execComp) || + !execComp.Executing) + { + return; + } + + var bonus = melee.Damage * execComp.DamageModifier - melee.Damage; + args.Damage += bonus; + } + + private void ShowExecutionInternalPopup(string locString, + EntityUid attacker, EntityUid victim, EntityUid weapon, bool predict = true) + { + if (predict) + { + _popupSystem.PopupClient( + Loc.GetString(locString, ("attacker", attacker), ("victim", victim), ("weapon", weapon)), + attacker, + attacker, + PopupType.Medium + ); + } + else + { + _popupSystem.PopupEntity( + Loc.GetString(locString, ("attacker", attacker), ("victim", victim), ("weapon", weapon)), + attacker, + Filter.Entities(attacker), + true, + PopupType.Medium + ); + } + + } + + private void ShowExecutionExternalPopup(string locString, EntityUid attacker, EntityUid victim, EntityUid weapon) + { + _popupSystem.PopupEntity( + Loc.GetString(locString, ("attacker", attacker), ("victim", victim), ("weapon", weapon)), + attacker, + Filter.PvsExcept(attacker), + true, + PopupType.MediumCaution + ); + } +} diff --git a/Content.Shared/Projectiles/SharedProjectileSystem.cs b/Content.Shared/Projectiles/SharedProjectileSystem.cs index f57e873653..027dc03939 100644 --- a/Content.Shared/Projectiles/SharedProjectileSystem.cs +++ b/Content.Shared/Projectiles/SharedProjectileSystem.cs @@ -34,7 +34,6 @@ public abstract partial class SharedProjectileSystem : EntitySystem base.Initialize(); SubscribeLocalEvent(PreventCollision); - SubscribeLocalEvent(AfterProjectileHit); SubscribeLocalEvent(OnEmbedProjectileHit); SubscribeLocalEvent(OnEmbedThrowDoHit); SubscribeLocalEvent(OnEmbedActivate); @@ -163,18 +162,6 @@ public abstract partial class SharedProjectileSystem : EntitySystem { args.Cancel("pacified-cannot-throw-embed"); } - - /// - /// Checks if the projectile is allowed to penetrate the target it hit. - /// - private void AfterProjectileHit(EntityUid uid, ProjectileComponent component, ref AfterProjectileHitEvent args) - { - //Overrides the original DeleteOnCollide if the projectile passes all penetration checks. - //This is to prevent having to set DeleteOnCollide to false on every prototype - //you want to give the ability to penetrate entities. - if(component.DeleteOnCollide) - component.DeleteOnCollide = false; - } } [Serializable, NetSerializable] @@ -206,4 +193,4 @@ public record struct ProjectileHitEvent(DamageSpecifier Damage, EntityUid Target /// Raised after a projectile has dealt it's damage. ///

6cPXlc^?nON~XLW+qf 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 Fe*m?i0h9m$ literal 0 HcmV?d00001 From b1de6dd6017f4f56045df409db59fb7d303bde5d Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Fri, 23 Feb 2024 05:02:59 +0100 Subject: [PATCH 15/73] Switch project files to C# 12. (#25487) Just unlocks new language features like primary constructors. --- Content.Client/Content.Client.csproj | 2 +- Content.IntegrationTests/Content.IntegrationTests.csproj | 2 +- Content.Replay/Content.Replay.csproj | 2 +- Content.Server.Database/Content.Server.Database.csproj | 2 +- Content.Server/Content.Server.csproj | 2 +- Content.Shared/Content.Shared.csproj | 2 +- Content.Tests/Content.Tests.csproj | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Content.Client/Content.Client.csproj b/Content.Client/Content.Client.csproj index 0e15fadfae..956f2fd035 100644 --- a/Content.Client/Content.Client.csproj +++ b/Content.Client/Content.Client.csproj @@ -2,7 +2,7 @@ $(TargetFramework) - 11 + 12 false false ..\bin\Content.Client\ diff --git a/Content.IntegrationTests/Content.IntegrationTests.csproj b/Content.IntegrationTests/Content.IntegrationTests.csproj index ec93a47041..2e922d2509 100644 --- a/Content.IntegrationTests/Content.IntegrationTests.csproj +++ b/Content.IntegrationTests/Content.IntegrationTests.csproj @@ -5,7 +5,7 @@ ..\bin\Content.IntegrationTests\ false false - 11 + 12 diff --git a/Content.Replay/Content.Replay.csproj b/Content.Replay/Content.Replay.csproj index 4b3c85345c..9785870143 100644 --- a/Content.Replay/Content.Replay.csproj +++ b/Content.Replay/Content.Replay.csproj @@ -1,7 +1,7 @@ $(TargetFramework) - 10 + 12 false false ..\bin\Content.Replay\ diff --git a/Content.Server.Database/Content.Server.Database.csproj b/Content.Server.Database/Content.Server.Database.csproj index 31ab785c18..d98d0642db 100644 --- a/Content.Server.Database/Content.Server.Database.csproj +++ b/Content.Server.Database/Content.Server.Database.csproj @@ -2,7 +2,7 @@ $(TargetFramework) - 11 + 12 false false ..\bin\Content.Server.Database\ diff --git a/Content.Server/Content.Server.csproj b/Content.Server/Content.Server.csproj index 96d642e4f2..e398773d54 100644 --- a/Content.Server/Content.Server.csproj +++ b/Content.Server/Content.Server.csproj @@ -2,7 +2,7 @@ $(TargetFramework) - 11 + 12 false false ..\bin\Content.Server\ diff --git a/Content.Shared/Content.Shared.csproj b/Content.Shared/Content.Shared.csproj index 0bd9bc410b..4cca399b28 100644 --- a/Content.Shared/Content.Shared.csproj +++ b/Content.Shared/Content.Shared.csproj @@ -2,7 +2,7 @@ $(TargetFramework) - 11 + 12 false false nullable diff --git a/Content.Tests/Content.Tests.csproj b/Content.Tests/Content.Tests.csproj index a883892d87..ff295728fc 100644 --- a/Content.Tests/Content.Tests.csproj +++ b/Content.Tests/Content.Tests.csproj @@ -2,7 +2,7 @@ $(TargetFramework) - 11 + 12 false false ..\bin\Content.Tests\ From 715794dd414c5d4b794cd6f2201983ecbc5d4f17 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Fri, 23 Feb 2024 05:04:44 +0100 Subject: [PATCH 16/73] Make department / job list sorting consistent. (#25486) * Make department / job list sorting consistent. This makes late join, crew manifest and character profile all apply consistent sorting for jobs and departments. We use the already-defined weights for departments (so command, then sec, then station specific, then just sort by prototype ID). Jobs also use weight (so heads are always at the top) then prototype ID, then character name (for manifest). Removed the crewmanifest.ordering CVar as doing it via prototype weight is just easier, and that CVar was already a mess anyways. * Fix jittery job icons in lists. They were set to KeepCentered in TextureRect. This has issues because the allocated space is actually an odd number of pixels, so it tries to position the draw at a half pixel offset. Now, yes, fixing this in TextureRect would make much more sense, but get off my back. (Ok seriously we need better helper functions for doing that in the engine. Don't wanna deal with that right now and I already have this patch made.) Instead I'm just gonna fix the issue by using VerticalAlignment in all these places instead which ends up doing exactly the same thing YIPPEE. Also gave a margin next to the icon on the crew manifest. Margins people! --- .../CrewManifest/UI/CrewManifestListing.cs | 32 +++-------------- .../CrewManifest/UI/CrewManifestSection.cs | 14 ++++---- Content.Client/LateJoin/LateJoinGui.cs | 9 +++-- .../CrewMonitoringWindow.xaml.cs | 2 +- .../UI/HumanoidProfileEditor.xaml.cs | 15 +++----- .../CrewManifest/CrewManifestSystem.cs | 18 ++++++++-- .../Systems/StationRecordsSystem.cs | 2 +- Content.Shared/CCVar/CCVars.cs | 9 ----- .../CrewManifest/SharedCrewManifestSystem.cs | 3 +- Content.Shared/Roles/DepartmentPrototype.cs | 24 +++++++++++++ Content.Shared/Roles/JobPrototype.cs | 35 +++++++++++++++++++ 11 files changed, 103 insertions(+), 60 deletions(-) diff --git a/Content.Client/CrewManifest/UI/CrewManifestListing.cs b/Content.Client/CrewManifest/UI/CrewManifestListing.cs index 614add536e..03d8b7168f 100644 --- a/Content.Client/CrewManifest/UI/CrewManifestListing.cs +++ b/Content.Client/CrewManifest/UI/CrewManifestListing.cs @@ -1,18 +1,14 @@ -using Content.Shared.CCVar; -using Content.Shared.CrewManifest; +using Content.Shared.CrewManifest; using Content.Shared.Roles; using Robust.Client.GameObjects; using Robust.Client.UserInterface.Controls; -using Robust.Shared.Configuration; using Robust.Shared.Prototypes; using Robust.Shared.Utility; -using System.Linq; namespace Content.Client.CrewManifest.UI; public sealed class CrewManifestListing : BoxContainer { - [Dependency] private readonly IConfigurationManager _configManager = default!; [Dependency] private readonly IEntitySystemManager _entitySystem = default!; [Dependency] private readonly IPrototypeManager _prototypeManager = default!; private readonly SpriteSystem _spriteSystem; @@ -25,7 +21,7 @@ public sealed class CrewManifestListing : BoxContainer public void AddCrewManifestEntries(CrewManifestEntries entries) { - var entryDict = new Dictionary>(); + var entryDict = new Dictionary>(); foreach (var entry in entries.Entries) { @@ -34,37 +30,19 @@ public sealed class CrewManifestListing : BoxContainer // this is a little expensive, and could be better if (department.Roles.Contains(entry.JobPrototype)) { - entryDict.GetOrNew(department.ID).Add(entry); + entryDict.GetOrNew(department).Add(entry); } } } - var entryList = new List<(string section, List entries)>(); + var entryList = new List<(DepartmentPrototype section, List entries)>(); foreach (var (section, listing) in entryDict) { entryList.Add((section, listing)); } - var sortOrder = _configManager.GetCVar(CCVars.CrewManifestOrdering).Split(",").ToList(); - - entryList.Sort((a, b) => - { - var ai = sortOrder.IndexOf(a.section); - var bi = sortOrder.IndexOf(b.section); - - // this is up here so -1 == -1 occurs first - if (ai == bi) - return 0; - - if (ai == -1) - return -1; - - if (bi == -1) - return 1; - - return ai.CompareTo(bi); - }); + entryList.Sort((a, b) => DepartmentUIComparer.Instance.Compare(a.section, b.section)); foreach (var item in entryList) { diff --git a/Content.Client/CrewManifest/UI/CrewManifestSection.cs b/Content.Client/CrewManifest/UI/CrewManifestSection.cs index 9b51b5d424..4b1b02cb75 100644 --- a/Content.Client/CrewManifest/UI/CrewManifestSection.cs +++ b/Content.Client/CrewManifest/UI/CrewManifestSection.cs @@ -4,24 +4,25 @@ using Robust.Client.GameObjects; using Robust.Client.UserInterface.Controls; using Robust.Shared.Prototypes; using System.Numerics; +using Content.Shared.Roles; namespace Content.Client.CrewManifest.UI; public sealed class CrewManifestSection : BoxContainer { - public CrewManifestSection(IPrototypeManager prototypeManager, SpriteSystem spriteSystem, string sectionTitle, + public CrewManifestSection( + IPrototypeManager prototypeManager, + SpriteSystem spriteSystem, + DepartmentPrototype section, List entries) { Orientation = LayoutOrientation.Vertical; HorizontalExpand = true; - if (Loc.TryGetString($"department-{sectionTitle}", out var localizedDepart)) - sectionTitle = localizedDepart; - AddChild(new Label() { StyleClasses = { "LabelBig" }, - Text = Loc.GetString(sectionTitle) + Text = Loc.GetString($"department-{section.ID}") }); var gridContainer = new GridContainer() @@ -55,8 +56,9 @@ public sealed class CrewManifestSection : BoxContainer var icon = new TextureRect() { TextureScale = new Vector2(2, 2), - Stretch = TextureRect.StretchMode.KeepCentered, + VerticalAlignment = VAlignment.Center, Texture = spriteSystem.Frame0(jobIcon.Icon), + Margin = new Thickness(0, 0, 4, 0) }; titleContainer.AddChild(icon); diff --git a/Content.Client/LateJoin/LateJoinGui.cs b/Content.Client/LateJoin/LateJoinGui.cs index 3e7ca57476..b99d30015e 100644 --- a/Content.Client/LateJoin/LateJoinGui.cs +++ b/Content.Client/LateJoin/LateJoinGui.cs @@ -1,3 +1,4 @@ +using System.Linq; using System.Numerics; using Content.Client.CrewManifest; using Content.Client.GameTicking.Managers; @@ -159,8 +160,10 @@ namespace Content.Client.LateJoin }; var firstCategory = true; + var departments = _prototypeManager.EnumeratePrototypes().ToArray(); + Array.Sort(departments, DepartmentUIComparer.Instance); - foreach (var department in _prototypeManager.EnumeratePrototypes()) + foreach (var department in departments) { var departmentName = Loc.GetString($"department-{department.ID}"); _jobCategories[id] = new Dictionary(); @@ -176,7 +179,7 @@ namespace Content.Client.LateJoin jobsAvailable.Add(_prototypeManager.Index(jobId)); } - jobsAvailable.Sort((x, y) => -string.Compare(x.LocalizedName, y.LocalizedName, StringComparison.CurrentCultureIgnoreCase)); + jobsAvailable.Sort(JobUIComparer.Instance); // Do not display departments with no jobs available. if (jobsAvailable.Count == 0) @@ -231,7 +234,7 @@ namespace Content.Client.LateJoin var icon = new TextureRect { TextureScale = new Vector2(2, 2), - Stretch = TextureRect.StretchMode.KeepCentered + VerticalAlignment = VAlignment.Center }; var jobIcon = _prototypeManager.Index(prototype.Icon); diff --git a/Content.Client/Medical/CrewMonitoring/CrewMonitoringWindow.xaml.cs b/Content.Client/Medical/CrewMonitoring/CrewMonitoringWindow.xaml.cs index d8c87899db..645243b0a3 100644 --- a/Content.Client/Medical/CrewMonitoring/CrewMonitoringWindow.xaml.cs +++ b/Content.Client/Medical/CrewMonitoring/CrewMonitoringWindow.xaml.cs @@ -265,7 +265,7 @@ public sealed partial class CrewMonitoringWindow : FancyWindow var jobIcon = new TextureRect() { TextureScale = new Vector2(2f, 2f), - Stretch = TextureRect.StretchMode.KeepCentered, + VerticalAlignment = VAlignment.Center, Texture = _spriteSystem.Frame0(proto.Icon), Margin = new Thickness(5, 0, 5, 0), }; diff --git a/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs b/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs index b88590dd46..9270533642 100644 --- a/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs +++ b/Content.Client/Preferences/UI/HumanoidProfileEditor.xaml.cs @@ -539,10 +539,8 @@ namespace Content.Client.Preferences.UI _jobCategories.Clear(); var firstCategory = true; - var departments = _prototypeManager.EnumeratePrototypes() - .OrderByDescending(department => department.Weight) - .ThenBy(department => Loc.GetString($"department-{department.ID}")) - .ToList(); + var departments = _prototypeManager.EnumeratePrototypes().ToArray(); + Array.Sort(departments, DepartmentUIComparer.Instance); foreach (var department in departments) { @@ -588,11 +586,8 @@ namespace Content.Client.Preferences.UI _jobList.AddChild(category); } - var jobs = department.Roles.Select(jobId => _prototypeManager.Index(jobId)) - .Where(job => job.SetPreference) - .OrderByDescending(job => job.Weight) - .ThenBy(job => job.LocalizedName) - .ToList(); + var jobs = department.Roles.Select(jobId => _prototypeManager.Index(jobId)).ToArray(); + Array.Sort(jobs, JobUIComparer.Instance); foreach (var job in jobs) { @@ -1315,7 +1310,7 @@ namespace Content.Client.Preferences.UI var icon = new TextureRect { TextureScale = new Vector2(2, 2), - Stretch = TextureRect.StretchMode.KeepCentered + VerticalAlignment = VAlignment.Center }; var jobIcon = protoMan.Index(proto.Icon); icon.Texture = jobIcon.Icon.Frame0(); diff --git a/Content.Server/CrewManifest/CrewManifestSystem.cs b/Content.Server/CrewManifest/CrewManifestSystem.cs index 12b6984b5a..8b4cbac5c1 100644 --- a/Content.Server/CrewManifest/CrewManifestSystem.cs +++ b/Content.Server/CrewManifest/CrewManifestSystem.cs @@ -9,10 +9,12 @@ using Content.Shared.Administration; using Content.Shared.CCVar; using Content.Shared.CrewManifest; using Content.Shared.GameTicking; +using Content.Shared.Roles; using Content.Shared.StationRecords; using Robust.Shared.Configuration; using Robust.Shared.Console; using Robust.Shared.Player; +using Robust.Shared.Prototypes; using Robust.Shared.Utility; namespace Content.Server.CrewManifest; @@ -23,6 +25,7 @@ public sealed class CrewManifestSystem : EntitySystem [Dependency] private readonly StationRecordsSystem _recordsSystem = default!; [Dependency] private readonly EuiManager _euiManager = default!; [Dependency] private readonly IConfigurationManager _configManager = default!; + [Dependency] private readonly IPrototypeManager _prototypeManager = default!; ///

[ByRefEvent] -public record struct AfterProjectileHitEvent(DamageSpecifier Damage, EntityUid Target, Fixture Fixture); +public record struct AfterProjectileHitEvent(DamageSpecifier Damage, EntityUid Target); diff --git a/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs b/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs index 40925ad614..6325d95330 100644 --- a/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs +++ b/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs @@ -19,7 +19,7 @@ public record struct ShotAttemptedEvent public bool Cancelled { get; private set; } - ///
+ /// /// Prevent the gun from shooting /// public void Cancel() @@ -27,7 +27,7 @@ public record struct ShotAttemptedEvent Cancelled = true; } - ///
+ /// /// Allow the gun to shoot again, only use if you know what you are doing /// public void Uncancel() diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs index ba22ba2cdc..2132dd2631 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs @@ -21,6 +21,7 @@ using Content.Shared.Weapons.Melee; using Content.Shared.Weapons.Melee.Events; using Content.Shared.Weapons.Ranged.Components; using Content.Shared.Weapons.Ranged.Events; +using JetBrains.Annotations; using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; using Robust.Shared.Containers; @@ -143,7 +144,7 @@ public abstract partial class SharedGunSystem : EntitySystem gun.ShootCoordinates = GetCoordinates(msg.Coordinates); Log.Debug($"Set shoot coordinates to {gun.ShootCoordinates}"); - AttemptShoot(user.Value, ent, gun); + AttemptShootInternal(user.Value, ent, gun); } private void OnStopShootRequest(RequestStopShootEvent ev, EntitySessionEventArgs args) @@ -207,13 +208,38 @@ public abstract partial class SharedGunSystem : EntitySystem Dirty(uid, gun); } + /// + /// Attempts to shoot the specified target directly. + /// This may bypass projectiles firing etc. + /// + public bool AttemptDirectShoot(EntityUid user, EntityUid gunUid, EntityUid target, GunComponent gun) + { + // Unique name so people don't think it's "shoot towards" and not "I will teleport a bullet into them". + gun.ShootCoordinates = Transform(target).Coordinates; + + if (!TryTakeAmmo(user, gunUid, gun, out _, out _, out var args)) + { + gun.ShootCoordinates = null; + return false; + } + + var result = ShootDirect(gunUid, gun, target, args.Ammo, user: user); + gun.ShootCoordinates = null; + return result; + } + + protected virtual bool ShootDirect(EntityUid gunUid, GunComponent gun, EntityUid target, List<(EntityUid? Entity, IShootable Shootable)> ammo, EntityUid user) + { + return false; + } + /// /// Attempts to shoot at the target coordinates. Resets the shot counter after every shot. /// public void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun, EntityCoordinates toCoordinates) { gun.ShootCoordinates = toCoordinates; - AttemptShoot(user, gunUid, gun); + AttemptShootInternal(user, gunUid, gun); gun.ShotCounter = 0; } @@ -224,20 +250,35 @@ public abstract partial class SharedGunSystem : EntitySystem { var coordinates = new EntityCoordinates(gunUid, new Vector2(0, -1)); gun.ShootCoordinates = coordinates; - AttemptShoot(gunUid, gunUid, gun); + AttemptShootInternal(gunUid, gunUid, gun); gun.ShotCounter = 0; } - private void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) + private void AttemptShootInternal(EntityUid user, EntityUid gunUid, GunComponent gun) + { + if (!TryTakeAmmo(user, gunUid, gun, out var fromCoordinates, out var toCoordinates, out var args)) + return; + + Shoot(gunUid, gun, args.Ammo, fromCoordinates, toCoordinates, out var userImpulse, user: user); + + if (userImpulse && TryComp(user, out var userPhysics)) + { + if (_gravity.IsWeightless(user, userPhysics)) + CauseImpulse(fromCoordinates, toCoordinates, user, userPhysics); + } + } + + /// + /// Validates if a gun can currently shoot. + /// + [Pure] + private bool CanShoot(EntityUid user, EntityUid gunUid, GunComponent gun) { if (gun.FireRateModified <= 0f || !_actionBlockerSystem.CanAttack(user)) - return; - - var toCoordinates = gun.ShootCoordinates; - - if (toCoordinates == null) - return; + { + return false; + } var curTime = Timing.CurTime; @@ -249,17 +290,42 @@ public abstract partial class SharedGunSystem : EntitySystem }; RaiseLocalEvent(gunUid, ref prevention); if (prevention.Cancelled) - return; + return false; RaiseLocalEvent(user, ref prevention); if (prevention.Cancelled) - return; + return false; // Need to do this to play the clicking sound for empty automatic weapons // but not play anything for burst fire. if (gun.NextFire > curTime) - return; + return false; + return true; + } + + /// + /// Tries to return ammo prepped for shooting if a gun is available to shoot. + /// + private bool TryTakeAmmo( + EntityUid user, + EntityUid gunUid, GunComponent gun, + out EntityCoordinates fromCoordinates, + out EntityCoordinates toCoordinates, + [NotNullWhen(true)] out TakeAmmoEvent? args) + { + toCoordinates = EntityCoordinates.Invalid; + fromCoordinates = EntityCoordinates.Invalid; + args = null; + + if (!CanShoot(user, gunUid, gun)) + return false; + + if (gun.ShootCoordinates == null) + return false; + + toCoordinates = gun.ShootCoordinates.Value; + var curTime = Timing.CurTime; var fireRate = TimeSpan.FromSeconds(1f / gun.FireRateModified); // First shot @@ -307,10 +373,11 @@ public abstract partial class SharedGunSystem : EntitySystem } gun.NextFire = TimeSpan.FromSeconds(Math.Max(lastFire.TotalSeconds + SafetyNextFire, gun.NextFire.TotalSeconds)); - return; + return false; } - var fromCoordinates = Transform(user).Coordinates; + fromCoordinates = Transform(user).Coordinates; + // Remove ammo var ev = new TakeAmmoEvent(shots, new List<(EntityUid? Entity, IShootable Shootable)>(), fromCoordinates, user); @@ -345,24 +412,18 @@ public abstract partial class SharedGunSystem : EntitySystem // May cause prediction issues? Needs more tweaking gun.NextFire = TimeSpan.FromSeconds(Math.Max(lastFire.TotalSeconds + SafetyNextFire, gun.NextFire.TotalSeconds)); Audio.PlayPredicted(gun.SoundEmpty, gunUid, user); - return; + return false; } - return; + return false; } // Shoot confirmed - sounds also played here in case it's invalid (e.g. cartridge already spent). - Shoot(gunUid, gun, ev.Ammo, fromCoordinates, toCoordinates.Value, out var userImpulse, user, throwItems: attemptEv.ThrowItems); var shotEv = new GunShotEvent(user, ev.Ammo); RaiseLocalEvent(gunUid, ref shotEv); - if (userImpulse && TryComp(user, out var userPhysics)) - { - if (_gravity.IsWeightless(user, userPhysics)) - CauseImpulse(fromCoordinates, toCoordinates.Value, user, userPhysics); - } - - Dirty(gunUid, gun); + args = ev; + return true; } public void Shoot( diff --git a/Resources/Locale/en-US/execution/execution.ftl b/Resources/Locale/en-US/execution/execution.ftl index 8bdf326166..5bd4613e8c 100644 --- a/Resources/Locale/en-US/execution/execution.ftl +++ b/Resources/Locale/en-US/execution/execution.ftl @@ -14,17 +14,7 @@ execution-popup-gun-clumsy-internal = You miss {$victim}'s head and shoot your f execution-popup-gun-clumsy-external = {$attacker} misses {$victim} and shoots {POSS-ADJ($attacker)} foot instead! execution-popup-gun-empty = {CAPITALIZE(THE($weapon))} clicks. -suicide-popup-gun-initial-internal = You place the muzzle of {THE($weapon)} in your mouth. -suicide-popup-gun-initial-external = {$attacker} places the muzzle of {THE($weapon)} in {POSS-ADJ($attacker)} mouth. -suicide-popup-gun-complete-internal = You shoot yourself in the head! -suicide-popup-gun-complete-external = {$attacker} shoots {REFLEXIVE($attacker)} in the head! - execution-popup-melee-initial-internal = You ready {THE($weapon)} against {$victim}'s throat. execution-popup-melee-initial-external = {$attacker} readies {POSS-ADJ($attacker)} {$weapon} against the throat of {$victim}. execution-popup-melee-complete-internal = You slit the throat of {$victim}! execution-popup-melee-complete-external = {$attacker} slits the throat of {$victim}! - -suicide-popup-melee-initial-internal = You ready {THE($weapon)} against your throat. -suicide-popup-melee-initial-external = {$attacker} readies {POSS-ADJ($attacker)} {$weapon} against {POSS-ADJ($attacker)} throat. -suicide-popup-melee-complete-internal = You slit your throat with {THE($weapon)}! -suicide-popup-melee-complete-external = {$attacker} slits {POSS-ADJ($attacker)} throat with {THE($weapon)}! \ No newline at end of file diff --git a/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl b/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl index ff28cc44db..4a83cd455d 100644 --- a/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl +++ b/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl @@ -1,4 +1,4 @@ -butcherable-different-tool = You are going to need a different tool to butcher { THE($target) }. +butcherable-different-tool = You need a different tool to butcher { THE($target) }. butcherable-knife-butchered-success = You butcher { THE($target) } with { THE($knife) }. butcherable-need-knife = Use a sharp object to butcher { THE($target) }. butcherable-not-in-container = { CAPITALIZE(THE($target)) } can't be in a container. diff --git a/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml b/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml index 62468b4615..a86965f96f 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml @@ -6,6 +6,8 @@ description: A small piece of crystal. components: - type: Sharp + - type: Execution + doAfterDuration: 4.0 - type: Sprite layers: - sprite: Objects/Materials/Shards/crystal.rsi diff --git a/Resources/Prototypes/Entities/Objects/Materials/shards.yml b/Resources/Prototypes/Entities/Objects/Materials/shards.yml index fa57f90c18..22d5cdefe4 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/shards.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/shards.yml @@ -5,6 +5,8 @@ description: It's a shard of some unknown material. components: - type: Sharp + - type: Execution + doAfterDuration: 4.0 - type: Sprite layers: - sprite: Objects/Materials/Shards/shard.rsi diff --git a/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml b/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml index b7c73f5e0c..98bc92968b 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml @@ -5,6 +5,8 @@ description: In Space Glasgow this is called a conversation starter. components: - type: Sharp + - type: Execution + doAfterDuration: 4.0 - type: MeleeWeapon attackRate: 1.5 damage: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml index 9d685e1ddc..236ed20681 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml @@ -19,6 +19,7 @@ path: /Audio/Weapons/Guns/Empty/lmg_empty.ogg - type: StaticPrice price: 500 + - type: Execution # No chamber because HMG may want its own - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml index 49b2eeaada..499a950e78 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml @@ -60,6 +60,7 @@ price: 500 - type: UseDelay delay: 1 + - type: Execution - type: entity name: L6 SAW diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml index 8b31bf40ed..80de02c6da 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml @@ -19,6 +19,7 @@ containers: ballistic-ammo: !type:Container ents: [] + - type: Execution - type: entity name: china lake diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml index 9507eada3b..2b2c6fe955 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml @@ -65,6 +65,7 @@ - type: Appearance - type: StaticPrice price: 500 + - type: Execution - type: entity name: viper @@ -199,7 +200,7 @@ name: N1984 parent: BaseWeaponPistol id: WeaponPistolN1984 # the spaces in description are for formatting. - description: The sidearm of any self respecting officer. Comes in .45 magnum, the lord's caliber. + description: The sidearm of any self respecting officer. Comes in .45 magnum, the lord's caliber. components: - type: Sprite sprite: Objects/Weapons/Guns/Pistols/N1984.rsi diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml index 5bc8125eba..93e8b1a669 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml @@ -49,6 +49,7 @@ gun_chamber: !type:ContainerSlot - type: StaticPrice price: 500 + - type: Execution - type: entity name: AKMS diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml index b693bdba37..ea82be46bc 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml @@ -54,6 +54,7 @@ gun_chamber: !type:ContainerSlot - type: StaticPrice price: 500 + - type: Execution - type: entity name: Atreides diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml index f43df5f37c..70ed96876e 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml @@ -42,6 +42,7 @@ ents: [] - type: StaticPrice price: 500 + - type: Execution - type: entity name: Bulldog @@ -98,6 +99,7 @@ - type: Appearance - type: StaticPrice price: 500 + - type: Execution - type: entity name: double-barreled shotgun diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml index 753f109a17..6640e98f5f 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml @@ -36,6 +36,7 @@ ents: [] - type: StaticPrice price: 500 + - type: Execution - type: entity name: Kardashev-Mosin diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml index cfcc0a01cd..2a07fd4fe0 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml @@ -36,3 +36,4 @@ quickEquip: false slots: - Belt + - type: Execution diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml index ae1f5df3c1..add776422d 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml @@ -107,6 +107,7 @@ containers: storagebase: !type:Container ents: [] + - type: Execution # shoots bullets instead of throwing them, no other changes - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml index 497876f359..267e3a7891 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml @@ -5,6 +5,8 @@ description: A grotesque blade made out of bone and flesh that cleaves through people as a hot knife through butter. components: - type: Sharp + - type: Execution + doAfterDuration: 4.0 - type: Sprite sprite: Objects/Weapons/Melee/armblade.rsi state: icon diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml index b46ee09633..aadb994244 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml @@ -8,6 +8,8 @@ tags: - FireAxe - type: Sharp + - type: Execution + doAfterDuration: 4.0 - type: Sprite sprite: Objects/Weapons/Melee/fireaxe.rsi state: icon diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml index 106e8bf440..432da5efe9 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml @@ -7,6 +7,8 @@ tags: - Knife - type: Sharp + - type: Execution + doAfterDuration: 4.0 - type: Utensil types: - Knife diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml index 05cac3ae7b..d27c6c6883 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml @@ -1,10 +1,21 @@ +- type: entity + name: Sword + parent: BaseItem + id: BaseSword + description: A sharp sword. + abstract: true + components: + - type: Sharp + - type: Execution + doAfterDuration: 4.0 + - type: DisarmMalus + - type: entity name: captain's sabre - parent: BaseItem + parent: BaseSword id: CaptainSabre description: A ceremonial weapon belonging to the captain of the station. components: - - type: Sharp - type: Sprite sprite: Objects/Weapons/Melee/captain_sabre.rsi state: icon @@ -26,15 +37,13 @@ - type: Tag tags: - CaptainSabre - - type: DisarmMalus - type: entity name: katana - parent: BaseItem + parent: BaseSword id: Katana description: Ancient craftwork made with not so ancient plasteel. components: - - type: Sharp - type: Tag tags: - Katana @@ -51,7 +60,6 @@ - type: Item size: Normal sprite: Objects/Weapons/Melee/katana.rsi - - type: DisarmMalus - type: entity name: energy katana @@ -86,11 +94,10 @@ - type: entity name: machete - parent: BaseItem + parent: BaseSword id: Machete description: A large, vicious looking blade. components: - - type: Sharp - type: Tag tags: - Machete @@ -107,15 +114,13 @@ - type: Item size: Normal sprite: Objects/Weapons/Melee/machete.rsi - - type: DisarmMalus - type: entity name: claymore - parent: BaseItem + parent: BaseSword id: Claymore description: An ancient war blade. components: - - type: Sharp - type: Sprite sprite: Objects/Weapons/Melee/claymore.rsi state: icon @@ -133,15 +138,13 @@ sprite: Objects/Weapons/Melee/claymore.rsi slots: - back - - type: DisarmMalus - type: entity name: cutlass - parent: BaseItem + parent: BaseSword id: Cutlass description: A wickedly curved blade, often seen in the hands of space pirates. components: - - type: Sharp - type: Tag tags: - Machete @@ -158,15 +161,13 @@ - type: Item size: Normal sprite: Objects/Weapons/Melee/cutlass.rsi - - type: DisarmMalus - type: entity name: The Throngler - parent: BaseItem + parent: BaseSword id: Throngler description: Why would you make this? components: - - type: Sharp - type: Sprite sprite: Objects/Weapons/Melee/Throngler2.rsi state: icon @@ -190,4 +191,3 @@ - type: Item size: Ginormous sprite: Objects/Weapons/Melee/Throngler-in-hand.rsi - - type: DisarmMalus From bb0776c496643d88e7ad4635fac13b8d28ff7050 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Sun, 25 Feb 2024 22:36:17 +1100 Subject: [PATCH 42/73] Revert "Cleanup ExecutionSystem (#24382)" (#25555) * Revert "Cleanup ExecutionSystem (#24382)" This reverts commit bcbe2ec1af39ad1fea286fd27a40bc3794a2ce34. * Revert "Executions (#24150)" This reverts commit 2e83f5a0ecc5fea0177acd94e22133de0d614588. # Conflicts: # Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs --- .../Projectiles/ProjectileSystem.cs | 28 +- .../Weapons/Ranged/Systems/GunSystem.cs | 149 +---------- Content.Shared/Execution/DoafterEvent.cs | 9 - .../Execution/ExecutionComponent.cs | 26 -- Content.Shared/Execution/ExecutionSystem.cs | 241 ------------------ .../Projectiles/SharedProjectileSystem.cs | 15 +- .../Ranged/Events/ShotAttemptedEvent.cs | 4 +- .../Weapons/Ranged/Systems/SharedGunSystem.cs | 111 ++------ .../Locale/en-US/execution/execution.ftl | 20 -- .../components/butcherable-component.ftl | 2 +- .../Objects/Materials/crystal_shard.yml | 2 - .../Entities/Objects/Materials/shards.yml | 2 - .../Entities/Objects/Misc/broken_bottle.yml | 2 - .../Objects/Weapons/Guns/HMGs/hmgs.yml | 1 - .../Objects/Weapons/Guns/LMGs/lmgs.yml | 1 - .../Weapons/Guns/Launchers/launchers.yml | 1 - .../Objects/Weapons/Guns/Pistols/pistols.yml | 3 +- .../Objects/Weapons/Guns/Rifles/rifles.yml | 1 - .../Objects/Weapons/Guns/SMGs/smgs.yml | 1 - .../Weapons/Guns/Shotguns/shotguns.yml | 2 - .../Objects/Weapons/Guns/Snipers/snipers.yml | 1 - .../Objects/Weapons/Guns/flare_gun.yml | 1 - .../Objects/Weapons/Guns/pneumatic_cannon.yml | 1 - .../Objects/Weapons/Melee/armblade.yml | 2 - .../Objects/Weapons/Melee/fireaxe.yml | 2 - .../Entities/Objects/Weapons/Melee/knife.yml | 2 - .../Entities/Objects/Weapons/Melee/sword.yml | 36 +-- 27 files changed, 71 insertions(+), 595 deletions(-) delete mode 100644 Content.Shared/Execution/DoafterEvent.cs delete mode 100644 Content.Shared/Execution/ExecutionComponent.cs delete mode 100644 Content.Shared/Execution/ExecutionSystem.cs delete mode 100644 Resources/Locale/en-US/execution/execution.ftl diff --git a/Content.Server/Projectiles/ProjectileSystem.cs b/Content.Server/Projectiles/ProjectileSystem.cs index 80c5f039d3..15ea5936e1 100644 --- a/Content.Server/Projectiles/ProjectileSystem.cs +++ b/Content.Server/Projectiles/ProjectileSystem.cs @@ -28,14 +28,10 @@ public sealed class ProjectileSystem : SharedProjectileSystem { // This is so entities that shouldn't get a collision are ignored. if (args.OurFixtureId != ProjectileFixture || !args.OtherFixture.Hard - || component.DamagedEntity || component is - { Weapon: null, OnlyCollideWhenShot: true }) - { + || component.DamagedEntity || component is { Weapon: null, OnlyCollideWhenShot: true }) return; - } var target = args.OtherEntity; - // it's here so this check is only done once before possible hit var attemptEv = new ProjectileReflectAttemptEvent(uid, component, false); RaiseLocalEvent(target, ref attemptEv); @@ -45,26 +41,11 @@ public sealed class ProjectileSystem : SharedProjectileSystem return; } - if (TryHandleProjectile(target, (uid, component))) - { - var direction = args.OurBody.LinearVelocity.Normalized(); - _sharedCameraRecoil.KickCamera(target, direction); - } - } - - /// - /// Tries to handle a projectile interacting with the target. - /// - /// True if the target isn't deleted. - public bool TryHandleProjectile(EntityUid target, Entity projectile) - { - var uid = projectile.Owner; - var component = projectile.Comp; - var ev = new ProjectileHitEvent(component.Damage, target, component.Shooter); RaiseLocalEvent(uid, ref ev); var otherName = ToPrettyString(target); + var direction = args.OurBody.LinearVelocity.Normalized(); var modifiedDamage = _damageableSystem.TryChangeDamage(target, ev.Damage, component.IgnoreResistances, origin: component.Shooter); var deleted = Deleted(target); @@ -83,11 +64,12 @@ public sealed class ProjectileSystem : SharedProjectileSystem if (!deleted) { _guns.PlayImpactSound(target, modifiedDamage, component.SoundHit, component.ForceSound); + _sharedCameraRecoil.KickCamera(target, direction); } component.DamagedEntity = true; - var afterProjectileHitEvent = new AfterProjectileHitEvent(component.Damage, target); + var afterProjectileHitEvent = new AfterProjectileHitEvent(component.Damage, target, args.OtherFixture); RaiseLocalEvent(uid, ref afterProjectileHitEvent); if (component.DeleteOnCollide) @@ -97,7 +79,5 @@ public sealed class ProjectileSystem : SharedProjectileSystem { RaiseNetworkEvent(new ImpactEffectEvent(component.ImpactEffect, GetNetCoordinates(xform.Coordinates)), Filter.Pvs(xform.Coordinates, entityMan: EntityManager)); } - - return !deleted; } } diff --git a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs index fd3b6c5db3..b8f8f12211 100644 --- a/Content.Server/Weapons/Ranged/Systems/GunSystem.cs +++ b/Content.Server/Weapons/Ranged/Systems/GunSystem.cs @@ -4,7 +4,6 @@ using Content.Server.Administration.Logs; using Content.Server.Cargo.Systems; using Content.Server.Interaction; using Content.Server.Power.EntitySystems; -using Content.Server.Projectiles; using Content.Server.Stunnable; using Content.Server.Weapons.Ranged.Components; using Content.Shared.Damage; @@ -30,13 +29,13 @@ namespace Content.Server.Weapons.Ranged.Systems; public sealed partial class GunSystem : SharedGunSystem { + [Dependency] private readonly IAdminLogManager _adminLogger = default!; [Dependency] private readonly IComponentFactory _factory = default!; [Dependency] private readonly BatterySystem _battery = default!; [Dependency] private readonly DamageExamineSystem _damageExamine = default!; [Dependency] private readonly InteractionSystem _interaction = default!; [Dependency] private readonly PricingSystem _pricing = default!; [Dependency] private readonly SharedColorFlashEffectSystem _color = default!; - [Dependency] private readonly ProjectileSystem _projectile = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly StaminaSystem _stamina = default!; [Dependency] private readonly StunSystem _stun = default!; @@ -66,137 +65,6 @@ public sealed partial class GunSystem : SharedGunSystem args.Price += price * component.UnspawnedCount; } - protected override bool ShootDirect(EntityUid gunUid, GunComponent gun, EntityUid target, List<(EntityUid? Entity, IShootable Shootable)> ammo, EntityUid user) - { - var result = false; - - // TODO: This is dogshit. I just want to get executions slightly better. - // Ideally you'd pull out cartridge + ammo to separate handling functions and re-use it here, then hitscan you need to bypass entirely. - // You should also make shooting into a struct of args given how many there are now. - var fromCoordinates = Transform(gunUid).Coordinates; - var toCoordinates = Transform(target).Coordinates; - - var fromMap = fromCoordinates.ToMap(EntityManager, TransformSystem); - var toMap = toCoordinates.ToMapPos(EntityManager, TransformSystem); - var mapDirection = toMap - fromMap.Position; - var angle = GetRecoilAngle(Timing.CurTime, gun, mapDirection.ToAngle()); - - // If applicable, this ensures the projectile is parented to grid on spawn, instead of the map. - var fromEnt = MapManager.TryFindGridAt(fromMap, out var gridUid, out _) - ? fromCoordinates.WithEntityId(gridUid, EntityManager) - : new EntityCoordinates(MapManager.GetMapEntityId(fromMap.MapId), fromMap.Position); - - // I must be high because this was getting tripped even when true. - // DebugTools.Assert(direction != Vector2.Zero); - var shotProjectiles = new List(ammo.Count); - var cartridgeBullets = new List(); - - foreach (var (ent, shootable) in ammo) - { - switch (shootable) - { - // Cartridge shoots something else - case CartridgeAmmoComponent cartridge: - if (!cartridge.Spent) - { - for (var i = 0; i < cartridge.Count; i++) - { - var uid = Spawn(cartridge.Prototype, fromEnt); - cartridgeBullets.Add(uid); - } - - RaiseLocalEvent(ent!.Value, new AmmoShotEvent() - { - FiredProjectiles = cartridgeBullets, - }); - - shotProjectiles.AddRange(cartridgeBullets); - cartridgeBullets.Clear(); - SetCartridgeSpent(ent.Value, cartridge, true); - MuzzleFlash(gunUid, cartridge, user); - Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); - - if (cartridge.DeleteOnSpawn) - Del(ent.Value); - } - else - { - Audio.PlayPredicted(gun.SoundEmpty, gunUid, user); - } - - // Something like ballistic might want to leave it in the container still - if (!cartridge.DeleteOnSpawn && !Containers.IsEntityInContainer(ent!.Value)) - EjectCartridge(ent.Value, angle); - - result = true; - Dirty(ent!.Value, cartridge); - break; - // Ammo shoots itself - case AmmoComponent newAmmo: - result = true; - shotProjectiles.Add(ent!.Value); - MuzzleFlash(gunUid, newAmmo, user); - Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); - break; - case HitscanPrototype hitscan: - result = true; - var hitEntity = target; - if (hitscan.StaminaDamage > 0f) - _stamina.TakeStaminaDamage(hitEntity, hitscan.StaminaDamage, source: user); - - var dmg = hitscan.Damage; - - var hitName = ToPrettyString(hitEntity); - if (dmg != null) - dmg = Damageable.TryChangeDamage(hitEntity, dmg, origin: user); - - // check null again, as TryChangeDamage returns modified damage values - if (dmg != null) - { - if (!Deleted(hitEntity)) - { - if (dmg.Any()) - { - _color.RaiseEffect(Color.Red, new List() { hitEntity }, Filter.Pvs(hitEntity, entityManager: EntityManager)); - } - - // TODO get fallback position for playing hit sound. - PlayImpactSound(hitEntity, dmg, hitscan.Sound, hitscan.ForceSound); - } - - Logs.Add(LogType.HitScanHit, - $"{ToPrettyString(user):user} hit {hitName:target} using hitscan and dealt {dmg.GetTotal():damage} damage"); - } - - Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); - break; - default: - throw new ArgumentOutOfRangeException(); - } - } - - foreach (var ammoUid in shotProjectiles) - { - // TODO: Handle this shit - if (!TryComp(ammoUid, out ProjectileComponent? projectileComponent)) - { - QueueDel(ammoUid); - continue; - } - - _projectile.TryHandleProjectile(target, (ammoUid, projectileComponent)); - // Even this deletion handling is mega sussy. - Del(ammoUid); - } - - RaiseLocalEvent(gunUid, new AmmoShotEvent() - { - FiredProjectiles = shotProjectiles, - }); - - return result; - } - public override void Shoot(EntityUid gunUid, GunComponent gun, List<(EntityUid? Entity, IShootable Shootable)> ammo, EntityCoordinates fromCoordinates, EntityCoordinates toCoordinates, out bool userImpulse, EntityUid? user = null, bool throwItems = false) { @@ -204,7 +72,7 @@ public sealed partial class GunSystem : SharedGunSystem // Try a clumsy roll // TODO: Who put this here - if (TryComp(user, out var clumsy) && !gun.ClumsyProof) + if (TryComp(user, out var clumsy) && gun.ClumsyProof == false) { for (var i = 0; i < ammo.Count; i++) { @@ -225,8 +93,6 @@ public sealed partial class GunSystem : SharedGunSystem } } - // As the above message wasn't obvious stop putting stuff here and use events - var fromMap = fromCoordinates.ToMap(EntityManager, TransformSystem); var toMap = toCoordinates.ToMapPos(EntityManager, TransformSystem); var mapDirection = toMap - fromMap.Position; @@ -234,7 +100,7 @@ public sealed partial class GunSystem : SharedGunSystem var angle = GetRecoilAngle(Timing.CurTime, gun, mapDirection.ToAngle()); // If applicable, this ensures the projectile is parented to grid on spawn, instead of the map. - var fromEnt = MapManager.TryFindGridAt(fromMap, out var gridUid, out _) + var fromEnt = MapManager.TryFindGridAt(fromMap, out var gridUid, out var grid) ? fromCoordinates.WithEntityId(gridUid, EntityManager) : new EntityCoordinates(MapManager.GetMapEntityId(fromMap.MapId), fromMap.Position); @@ -246,7 +112,6 @@ public sealed partial class GunSystem : SharedGunSystem // I must be high because this was getting tripped even when true. // DebugTools.Assert(direction != Vector2.Zero); var shotProjectiles = new List(ammo.Count); - var cartridgeBullets = new List(); foreach (var (ent, shootable) in ammo) { @@ -275,23 +140,21 @@ public sealed partial class GunSystem : SharedGunSystem { var uid = Spawn(cartridge.Prototype, fromEnt); ShootOrThrow(uid, angles[i].ToVec(), gunVelocity, gun, gunUid, user); - cartridgeBullets.Add(uid); + shotProjectiles.Add(uid); } } else { var uid = Spawn(cartridge.Prototype, fromEnt); ShootOrThrow(uid, mapDirection, gunVelocity, gun, gunUid, user); - cartridgeBullets.Add(uid); + shotProjectiles.Add(uid); } RaiseLocalEvent(ent!.Value, new AmmoShotEvent() { - FiredProjectiles = cartridgeBullets, + FiredProjectiles = shotProjectiles, }); - shotProjectiles.AddRange(cartridgeBullets); - cartridgeBullets.Clear(); SetCartridgeSpent(ent.Value, cartridge, true); MuzzleFlash(gunUid, cartridge, user); Audio.PlayPredicted(gun.SoundGunshotModified, gunUid, user); diff --git a/Content.Shared/Execution/DoafterEvent.cs b/Content.Shared/Execution/DoafterEvent.cs deleted file mode 100644 index 7854974527..0000000000 --- a/Content.Shared/Execution/DoafterEvent.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Content.Shared.DoAfter; -using Robust.Shared.Serialization; - -namespace Content.Shared.Execution; - -[Serializable, NetSerializable] -public sealed partial class ExecutionDoAfterEvent : SimpleDoAfterEvent -{ -} diff --git a/Content.Shared/Execution/ExecutionComponent.cs b/Content.Shared/Execution/ExecutionComponent.cs deleted file mode 100644 index f9c5111d63..0000000000 --- a/Content.Shared/Execution/ExecutionComponent.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Robust.Shared.GameStates; - -namespace Content.Shared.Execution; - -/// -/// Added to entities that can be used to execute another target. -/// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] -public sealed partial class ExecutionComponent : Component -{ - /// - /// How long the execution duration lasts. - /// - [DataField, AutoNetworkedField] - public float DoAfterDuration = 5f; - - [DataField, AutoNetworkedField] - public float DamageModifier = 9f; - - // Not networked because this is transient inside of a tick. - /// - /// True if it is currently executing for handlers. - /// - [DataField] - public bool Executing = true; -} diff --git a/Content.Shared/Execution/ExecutionSystem.cs b/Content.Shared/Execution/ExecutionSystem.cs deleted file mode 100644 index de6db205be..0000000000 --- a/Content.Shared/Execution/ExecutionSystem.cs +++ /dev/null @@ -1,241 +0,0 @@ -using Content.Shared.Weapons.Ranged.Systems; -using Content.Shared.ActionBlocker; -using Content.Shared.CombatMode; -using Content.Shared.Damage; -using Content.Shared.Database; -using Content.Shared.DoAfter; -using Content.Shared.Mobs.Components; -using Content.Shared.Mobs.Systems; -using Content.Shared.Popups; -using Content.Shared.Verbs; -using Content.Shared.Weapons.Melee; -using Content.Shared.Weapons.Melee.Events; -using Content.Shared.Weapons.Ranged.Components; -using Robust.Shared.Network; -using Robust.Shared.Player; - -namespace Content.Shared.Execution; - -/// -/// Verb for violently murdering cuffed creatures. -/// -public sealed class ExecutionSystem : EntitySystem -{ - [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!; - [Dependency] private readonly SharedPopupSystem _popupSystem = default!; - [Dependency] private readonly MobStateSystem _mobStateSystem = default!; - [Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!; - [Dependency] private readonly SharedGunSystem _gunSystem = default!; - [Dependency] private readonly SharedCombatModeSystem _combatSystem = default!; - [Dependency] private readonly SharedMeleeWeaponSystem _meleeSystem = default!; - - // TODO: Still needs more cleaning up. - private const string DefaultInternalMeleeExecutionMessage = "execution-popup-melee-initial-internal"; - private const string DefaultExternalMeleeExecutionMessage = "execution-popup-melee-initial-external"; - private const string DefaultCompleteInternalMeleeExecutionMessage = "execution-popup-melee-complete-internal"; - private const string DefaultCompleteExternalMeleeExecutionMessage = "execution-popup-melee-complete-external"; - private const string DefaultInternalGunExecutionMessage = "execution-popup-gun-initial-internal"; - private const string DefaultExternalGunExecutionMessage = "execution-popup-gun-initial-external"; - private const string DefaultCompleteInternalGunExecutionMessage = "execution-popup-gun-complete-internal"; - private const string DefaultCompleteExternalGunExecutionMessage = "execution-popup-gun-complete-external"; - - /// - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent>(OnGetInteractionsVerbs); - SubscribeLocalEvent(OnExecutionDoAfter); - SubscribeLocalEvent(OnGetMeleeDamage); - } - - private void OnGetInteractionsVerbs(EntityUid uid, ExecutionComponent comp, GetVerbsEvent args) - { - if (args.Hands == null || args.Using == null || !args.CanAccess || !args.CanInteract) - return; - - var attacker = args.User; - var weapon = args.Using.Value; - var victim = args.Target; - - if (!CanExecuteWithAny(victim, attacker)) - return; - - UtilityVerb verb = new() - { - Act = () => TryStartExecutionDoAfter(weapon, victim, attacker, comp), - Impact = LogImpact.High, - Text = Loc.GetString("execution-verb-name"), - Message = Loc.GetString("execution-verb-message"), - }; - - args.Verbs.Add(verb); - } - - private void TryStartExecutionDoAfter(EntityUid weapon, EntityUid victim, EntityUid attacker, ExecutionComponent comp) - { - if (!CanExecuteWithAny(victim, attacker)) - return; - - // TODO: This should just be on the weapons as a single execution message. - var defaultExecutionInternal = DefaultInternalMeleeExecutionMessage; - var defaultExecutionExternal = DefaultExternalMeleeExecutionMessage; - - if (HasComp(weapon)) - { - defaultExecutionExternal = DefaultInternalGunExecutionMessage; - defaultExecutionInternal = DefaultExternalGunExecutionMessage; - } - - var internalMsg = defaultExecutionInternal; - var externalMsg = defaultExecutionExternal; - ShowExecutionInternalPopup(internalMsg, attacker, victim, weapon); - ShowExecutionExternalPopup(externalMsg, attacker, victim, weapon); - - var doAfter = - new DoAfterArgs(EntityManager, attacker, comp.DoAfterDuration, new ExecutionDoAfterEvent(), weapon, target: victim, used: weapon) - { - BreakOnTargetMove = true, - BreakOnUserMove = true, - BreakOnDamage = true, - NeedHand = true - }; - - _doAfterSystem.TryStartDoAfter(doAfter); - - } - - private bool CanExecuteWithAny(EntityUid victim, EntityUid attacker) - { - // Use suicide. - if (victim == attacker) - return false; - - // No point executing someone if they can't take damage - if (!TryComp(victim, out _)) - return false; - - // You can't execute something that cannot die - if (!TryComp(victim, out var mobState)) - return false; - - // You're not allowed to execute dead people (no fun allowed) - if (_mobStateSystem.IsDead(victim, mobState)) - return false; - - // You must be able to attack people to execute - if (!_actionBlockerSystem.CanAttack(attacker, victim)) - return false; - - // The victim must be incapacitated to be executed - if (victim != attacker && _actionBlockerSystem.CanInteract(victim, null)) - return false; - - // All checks passed - return true; - } - - private void OnExecutionDoAfter(EntityUid uid, ExecutionComponent component, ExecutionDoAfterEvent args) - { - if (args.Handled || args.Cancelled || args.Used == null || args.Target == null) - return; - - var attacker = args.User; - var victim = args.Target.Value; - var weapon = args.Used.Value; - - if (!CanExecuteWithAny(victim, attacker)) - return; - - // This is needed so the melee system does not stop it. - var prev = _combatSystem.IsInCombatMode(attacker); - _combatSystem.SetInCombatMode(attacker, true); - component.Executing = true; - string? internalMsg = null; - string? externalMsg = null; - - if (TryComp(uid, out MeleeWeaponComponent? melee)) - { - _meleeSystem.AttemptLightAttack(attacker, weapon, melee, victim); - internalMsg = DefaultCompleteInternalMeleeExecutionMessage; - externalMsg = DefaultCompleteExternalMeleeExecutionMessage; - } - else if (TryComp(uid, out GunComponent? gun)) - { - var clumsyShot = false; - - // TODO: This should just be an event or something instead to get this. - // TODO: Handle clumsy. - if (!_gunSystem.AttemptDirectShoot(args.User, uid, args.Target.Value, gun)) - { - internalMsg = null; - externalMsg = null; - } - else - { - internalMsg = DefaultCompleteInternalGunExecutionMessage; - externalMsg = DefaultCompleteExternalGunExecutionMessage; - } - args.Handled = true; - } - - _combatSystem.SetInCombatMode(attacker, prev); - component.Executing = false; - args.Handled = true; - - if (internalMsg != null && externalMsg != null) - { - ShowExecutionInternalPopup(internalMsg, attacker, victim, uid); - ShowExecutionExternalPopup(externalMsg, attacker, victim, uid); - } - } - - private void OnGetMeleeDamage(EntityUid uid, ExecutionComponent comp, ref GetMeleeDamageEvent args) - { - if (!TryComp(uid, out var melee) || - !TryComp(uid, out var execComp) || - !execComp.Executing) - { - return; - } - - var bonus = melee.Damage * execComp.DamageModifier - melee.Damage; - args.Damage += bonus; - } - - private void ShowExecutionInternalPopup(string locString, - EntityUid attacker, EntityUid victim, EntityUid weapon, bool predict = true) - { - if (predict) - { - _popupSystem.PopupClient( - Loc.GetString(locString, ("attacker", attacker), ("victim", victim), ("weapon", weapon)), - attacker, - attacker, - PopupType.Medium - ); - } - else - { - _popupSystem.PopupEntity( - Loc.GetString(locString, ("attacker", attacker), ("victim", victim), ("weapon", weapon)), - attacker, - Filter.Entities(attacker), - true, - PopupType.Medium - ); - } - - } - - private void ShowExecutionExternalPopup(string locString, EntityUid attacker, EntityUid victim, EntityUid weapon) - { - _popupSystem.PopupEntity( - Loc.GetString(locString, ("attacker", attacker), ("victim", victim), ("weapon", weapon)), - attacker, - Filter.PvsExcept(attacker), - true, - PopupType.MediumCaution - ); - } -} diff --git a/Content.Shared/Projectiles/SharedProjectileSystem.cs b/Content.Shared/Projectiles/SharedProjectileSystem.cs index 027dc03939..f57e873653 100644 --- a/Content.Shared/Projectiles/SharedProjectileSystem.cs +++ b/Content.Shared/Projectiles/SharedProjectileSystem.cs @@ -34,6 +34,7 @@ public abstract partial class SharedProjectileSystem : EntitySystem base.Initialize(); SubscribeLocalEvent(PreventCollision); + SubscribeLocalEvent(AfterProjectileHit); SubscribeLocalEvent(OnEmbedProjectileHit); SubscribeLocalEvent(OnEmbedThrowDoHit); SubscribeLocalEvent(OnEmbedActivate); @@ -162,6 +163,18 @@ public abstract partial class SharedProjectileSystem : EntitySystem { args.Cancel("pacified-cannot-throw-embed"); } + + /// + /// Checks if the projectile is allowed to penetrate the target it hit. + /// + private void AfterProjectileHit(EntityUid uid, ProjectileComponent component, ref AfterProjectileHitEvent args) + { + //Overrides the original DeleteOnCollide if the projectile passes all penetration checks. + //This is to prevent having to set DeleteOnCollide to false on every prototype + //you want to give the ability to penetrate entities. + if(component.DeleteOnCollide) + component.DeleteOnCollide = false; + } } [Serializable, NetSerializable] @@ -193,4 +206,4 @@ public record struct ProjectileHitEvent(DamageSpecifier Damage, EntityUid Target /// Raised after a projectile has dealt it's damage. ///
[ByRefEvent] -public record struct AfterProjectileHitEvent(DamageSpecifier Damage, EntityUid Target); +public record struct AfterProjectileHitEvent(DamageSpecifier Damage, EntityUid Target, Fixture Fixture); diff --git a/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs b/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs index 6325d95330..40925ad614 100644 --- a/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs +++ b/Content.Shared/Weapons/Ranged/Events/ShotAttemptedEvent.cs @@ -19,7 +19,7 @@ public record struct ShotAttemptedEvent public bool Cancelled { get; private set; } - /// + /// /// Prevent the gun from shooting ///
public void Cancel() @@ -27,7 +27,7 @@ public record struct ShotAttemptedEvent Cancelled = true; } - /// + /// /// Allow the gun to shoot again, only use if you know what you are doing ///
public void Uncancel() diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs index 2132dd2631..ba22ba2cdc 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs @@ -21,7 +21,6 @@ using Content.Shared.Weapons.Melee; using Content.Shared.Weapons.Melee.Events; using Content.Shared.Weapons.Ranged.Components; using Content.Shared.Weapons.Ranged.Events; -using JetBrains.Annotations; using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; using Robust.Shared.Containers; @@ -144,7 +143,7 @@ public abstract partial class SharedGunSystem : EntitySystem gun.ShootCoordinates = GetCoordinates(msg.Coordinates); Log.Debug($"Set shoot coordinates to {gun.ShootCoordinates}"); - AttemptShootInternal(user.Value, ent, gun); + AttemptShoot(user.Value, ent, gun); } private void OnStopShootRequest(RequestStopShootEvent ev, EntitySessionEventArgs args) @@ -208,38 +207,13 @@ public abstract partial class SharedGunSystem : EntitySystem Dirty(uid, gun); } - /// - /// Attempts to shoot the specified target directly. - /// This may bypass projectiles firing etc. - /// - public bool AttemptDirectShoot(EntityUid user, EntityUid gunUid, EntityUid target, GunComponent gun) - { - // Unique name so people don't think it's "shoot towards" and not "I will teleport a bullet into them". - gun.ShootCoordinates = Transform(target).Coordinates; - - if (!TryTakeAmmo(user, gunUid, gun, out _, out _, out var args)) - { - gun.ShootCoordinates = null; - return false; - } - - var result = ShootDirect(gunUid, gun, target, args.Ammo, user: user); - gun.ShootCoordinates = null; - return result; - } - - protected virtual bool ShootDirect(EntityUid gunUid, GunComponent gun, EntityUid target, List<(EntityUid? Entity, IShootable Shootable)> ammo, EntityUid user) - { - return false; - } - /// /// Attempts to shoot at the target coordinates. Resets the shot counter after every shot. /// public void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun, EntityCoordinates toCoordinates) { gun.ShootCoordinates = toCoordinates; - AttemptShootInternal(user, gunUid, gun); + AttemptShoot(user, gunUid, gun); gun.ShotCounter = 0; } @@ -250,35 +224,20 @@ public abstract partial class SharedGunSystem : EntitySystem { var coordinates = new EntityCoordinates(gunUid, new Vector2(0, -1)); gun.ShootCoordinates = coordinates; - AttemptShootInternal(gunUid, gunUid, gun); + AttemptShoot(gunUid, gunUid, gun); gun.ShotCounter = 0; } - private void AttemptShootInternal(EntityUid user, EntityUid gunUid, GunComponent gun) - { - if (!TryTakeAmmo(user, gunUid, gun, out var fromCoordinates, out var toCoordinates, out var args)) - return; - - Shoot(gunUid, gun, args.Ammo, fromCoordinates, toCoordinates, out var userImpulse, user: user); - - if (userImpulse && TryComp(user, out var userPhysics)) - { - if (_gravity.IsWeightless(user, userPhysics)) - CauseImpulse(fromCoordinates, toCoordinates, user, userPhysics); - } - } - - /// - /// Validates if a gun can currently shoot. - /// - [Pure] - private bool CanShoot(EntityUid user, EntityUid gunUid, GunComponent gun) + private void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) { if (gun.FireRateModified <= 0f || !_actionBlockerSystem.CanAttack(user)) - { - return false; - } + return; + + var toCoordinates = gun.ShootCoordinates; + + if (toCoordinates == null) + return; var curTime = Timing.CurTime; @@ -290,42 +249,17 @@ public abstract partial class SharedGunSystem : EntitySystem }; RaiseLocalEvent(gunUid, ref prevention); if (prevention.Cancelled) - return false; + return; RaiseLocalEvent(user, ref prevention); if (prevention.Cancelled) - return false; + return; // Need to do this to play the clicking sound for empty automatic weapons // but not play anything for burst fire. if (gun.NextFire > curTime) - return false; + return; - return true; - } - - /// - /// Tries to return ammo prepped for shooting if a gun is available to shoot. - /// - private bool TryTakeAmmo( - EntityUid user, - EntityUid gunUid, GunComponent gun, - out EntityCoordinates fromCoordinates, - out EntityCoordinates toCoordinates, - [NotNullWhen(true)] out TakeAmmoEvent? args) - { - toCoordinates = EntityCoordinates.Invalid; - fromCoordinates = EntityCoordinates.Invalid; - args = null; - - if (!CanShoot(user, gunUid, gun)) - return false; - - if (gun.ShootCoordinates == null) - return false; - - toCoordinates = gun.ShootCoordinates.Value; - var curTime = Timing.CurTime; var fireRate = TimeSpan.FromSeconds(1f / gun.FireRateModified); // First shot @@ -373,11 +307,10 @@ public abstract partial class SharedGunSystem : EntitySystem } gun.NextFire = TimeSpan.FromSeconds(Math.Max(lastFire.TotalSeconds + SafetyNextFire, gun.NextFire.TotalSeconds)); - return false; + return; } - fromCoordinates = Transform(user).Coordinates; - + var fromCoordinates = Transform(user).Coordinates; // Remove ammo var ev = new TakeAmmoEvent(shots, new List<(EntityUid? Entity, IShootable Shootable)>(), fromCoordinates, user); @@ -412,18 +345,24 @@ public abstract partial class SharedGunSystem : EntitySystem // May cause prediction issues? Needs more tweaking gun.NextFire = TimeSpan.FromSeconds(Math.Max(lastFire.TotalSeconds + SafetyNextFire, gun.NextFire.TotalSeconds)); Audio.PlayPredicted(gun.SoundEmpty, gunUid, user); - return false; + return; } - return false; + return; } // Shoot confirmed - sounds also played here in case it's invalid (e.g. cartridge already spent). + Shoot(gunUid, gun, ev.Ammo, fromCoordinates, toCoordinates.Value, out var userImpulse, user, throwItems: attemptEv.ThrowItems); var shotEv = new GunShotEvent(user, ev.Ammo); RaiseLocalEvent(gunUid, ref shotEv); - args = ev; - return true; + if (userImpulse && TryComp(user, out var userPhysics)) + { + if (_gravity.IsWeightless(user, userPhysics)) + CauseImpulse(fromCoordinates, toCoordinates.Value, user, userPhysics); + } + + Dirty(gunUid, gun); } public void Shoot( diff --git a/Resources/Locale/en-US/execution/execution.ftl b/Resources/Locale/en-US/execution/execution.ftl deleted file mode 100644 index 5bd4613e8c..0000000000 --- a/Resources/Locale/en-US/execution/execution.ftl +++ /dev/null @@ -1,20 +0,0 @@ -execution-verb-name = Execute -execution-verb-message = Use your weapon to execute someone. - -# All the below localisation strings have access to the following variables -# attacker (the person committing the execution) -# victim (the person being executed) -# weapon (the weapon used for the execution) - -execution-popup-gun-initial-internal = You ready the muzzle of {THE($weapon)} against {$victim}'s head. -execution-popup-gun-initial-external = {$attacker} readies the muzzle of {THE($weapon)} against {$victim}'s head. -execution-popup-gun-complete-internal = You blast {$victim} in the head! -execution-popup-gun-complete-external = {$attacker} blasts {$victim} in the head! -execution-popup-gun-clumsy-internal = You miss {$victim}'s head and shoot your foot instead! -execution-popup-gun-clumsy-external = {$attacker} misses {$victim} and shoots {POSS-ADJ($attacker)} foot instead! -execution-popup-gun-empty = {CAPITALIZE(THE($weapon))} clicks. - -execution-popup-melee-initial-internal = You ready {THE($weapon)} against {$victim}'s throat. -execution-popup-melee-initial-external = {$attacker} readies {POSS-ADJ($attacker)} {$weapon} against the throat of {$victim}. -execution-popup-melee-complete-internal = You slit the throat of {$victim}! -execution-popup-melee-complete-external = {$attacker} slits the throat of {$victim}! diff --git a/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl b/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl index 4a83cd455d..ff28cc44db 100644 --- a/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl +++ b/Resources/Locale/en-US/kitchen/components/butcherable-component.ftl @@ -1,4 +1,4 @@ -butcherable-different-tool = You need a different tool to butcher { THE($target) }. +butcherable-different-tool = You are going to need a different tool to butcher { THE($target) }. butcherable-knife-butchered-success = You butcher { THE($target) } with { THE($knife) }. butcherable-need-knife = Use a sharp object to butcher { THE($target) }. butcherable-not-in-container = { CAPITALIZE(THE($target)) } can't be in a container. diff --git a/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml b/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml index a86965f96f..62468b4615 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/crystal_shard.yml @@ -6,8 +6,6 @@ description: A small piece of crystal. components: - type: Sharp - - type: Execution - doAfterDuration: 4.0 - type: Sprite layers: - sprite: Objects/Materials/Shards/crystal.rsi diff --git a/Resources/Prototypes/Entities/Objects/Materials/shards.yml b/Resources/Prototypes/Entities/Objects/Materials/shards.yml index 22d5cdefe4..fa57f90c18 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/shards.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/shards.yml @@ -5,8 +5,6 @@ description: It's a shard of some unknown material. components: - type: Sharp - - type: Execution - doAfterDuration: 4.0 - type: Sprite layers: - sprite: Objects/Materials/Shards/shard.rsi diff --git a/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml b/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml index 98bc92968b..b7c73f5e0c 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/broken_bottle.yml @@ -5,8 +5,6 @@ description: In Space Glasgow this is called a conversation starter. components: - type: Sharp - - type: Execution - doAfterDuration: 4.0 - type: MeleeWeapon attackRate: 1.5 damage: diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml index 236ed20681..9d685e1ddc 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/HMGs/hmgs.yml @@ -19,7 +19,6 @@ path: /Audio/Weapons/Guns/Empty/lmg_empty.ogg - type: StaticPrice price: 500 - - type: Execution # No chamber because HMG may want its own - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml index 499a950e78..49b2eeaada 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/LMGs/lmgs.yml @@ -60,7 +60,6 @@ price: 500 - type: UseDelay delay: 1 - - type: Execution - type: entity name: L6 SAW diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml index 80de02c6da..8b31bf40ed 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Launchers/launchers.yml @@ -19,7 +19,6 @@ containers: ballistic-ammo: !type:Container ents: [] - - type: Execution - type: entity name: china lake diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml index 2b2c6fe955..9507eada3b 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml @@ -65,7 +65,6 @@ - type: Appearance - type: StaticPrice price: 500 - - type: Execution - type: entity name: viper @@ -200,7 +199,7 @@ name: N1984 parent: BaseWeaponPistol id: WeaponPistolN1984 # the spaces in description are for formatting. - description: The sidearm of any self respecting officer. Comes in .45 magnum, the lord's caliber. + description: The sidearm of any self respecting officer. Comes in .45 magnum, the lord's caliber. components: - type: Sprite sprite: Objects/Weapons/Guns/Pistols/N1984.rsi diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml index 93e8b1a669..5bc8125eba 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml @@ -49,7 +49,6 @@ gun_chamber: !type:ContainerSlot - type: StaticPrice price: 500 - - type: Execution - type: entity name: AKMS diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml index ea82be46bc..b693bdba37 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml @@ -54,7 +54,6 @@ gun_chamber: !type:ContainerSlot - type: StaticPrice price: 500 - - type: Execution - type: entity name: Atreides diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml index 70ed96876e..f43df5f37c 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Shotguns/shotguns.yml @@ -42,7 +42,6 @@ ents: [] - type: StaticPrice price: 500 - - type: Execution - type: entity name: Bulldog @@ -99,7 +98,6 @@ - type: Appearance - type: StaticPrice price: 500 - - type: Execution - type: entity name: double-barreled shotgun diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml index 6640e98f5f..753f109a17 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Snipers/snipers.yml @@ -36,7 +36,6 @@ ents: [] - type: StaticPrice price: 500 - - type: Execution - type: entity name: Kardashev-Mosin diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml index 2a07fd4fe0..cfcc0a01cd 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml @@ -36,4 +36,3 @@ quickEquip: false slots: - Belt - - type: Execution diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml index add776422d..ae1f5df3c1 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/pneumatic_cannon.yml @@ -107,7 +107,6 @@ containers: storagebase: !type:Container ents: [] - - type: Execution # shoots bullets instead of throwing them, no other changes - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml index 267e3a7891..497876f359 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/armblade.yml @@ -5,8 +5,6 @@ description: A grotesque blade made out of bone and flesh that cleaves through people as a hot knife through butter. components: - type: Sharp - - type: Execution - doAfterDuration: 4.0 - type: Sprite sprite: Objects/Weapons/Melee/armblade.rsi state: icon diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml index aadb994244..b46ee09633 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/fireaxe.yml @@ -8,8 +8,6 @@ tags: - FireAxe - type: Sharp - - type: Execution - doAfterDuration: 4.0 - type: Sprite sprite: Objects/Weapons/Melee/fireaxe.rsi state: icon diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml index 432da5efe9..106e8bf440 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml @@ -7,8 +7,6 @@ tags: - Knife - type: Sharp - - type: Execution - doAfterDuration: 4.0 - type: Utensil types: - Knife diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml index d27c6c6883..05cac3ae7b 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml @@ -1,21 +1,10 @@ -- type: entity - name: Sword - parent: BaseItem - id: BaseSword - description: A sharp sword. - abstract: true - components: - - type: Sharp - - type: Execution - doAfterDuration: 4.0 - - type: DisarmMalus - - type: entity name: captain's sabre - parent: BaseSword + parent: BaseItem id: CaptainSabre description: A ceremonial weapon belonging to the captain of the station. components: + - type: Sharp - type: Sprite sprite: Objects/Weapons/Melee/captain_sabre.rsi state: icon @@ -37,13 +26,15 @@ - type: Tag tags: - CaptainSabre + - type: DisarmMalus - type: entity name: katana - parent: BaseSword + parent: BaseItem id: Katana description: Ancient craftwork made with not so ancient plasteel. components: + - type: Sharp - type: Tag tags: - Katana @@ -60,6 +51,7 @@ - type: Item size: Normal sprite: Objects/Weapons/Melee/katana.rsi + - type: DisarmMalus - type: entity name: energy katana @@ -94,10 +86,11 @@ - type: entity name: machete - parent: BaseSword + parent: BaseItem id: Machete description: A large, vicious looking blade. components: + - type: Sharp - type: Tag tags: - Machete @@ -114,13 +107,15 @@ - type: Item size: Normal sprite: Objects/Weapons/Melee/machete.rsi + - type: DisarmMalus - type: entity name: claymore - parent: BaseSword + parent: BaseItem id: Claymore description: An ancient war blade. components: + - type: Sharp - type: Sprite sprite: Objects/Weapons/Melee/claymore.rsi state: icon @@ -138,13 +133,15 @@ sprite: Objects/Weapons/Melee/claymore.rsi slots: - back + - type: DisarmMalus - type: entity name: cutlass - parent: BaseSword + parent: BaseItem id: Cutlass description: A wickedly curved blade, often seen in the hands of space pirates. components: + - type: Sharp - type: Tag tags: - Machete @@ -161,13 +158,15 @@ - type: Item size: Normal sprite: Objects/Weapons/Melee/cutlass.rsi + - type: DisarmMalus - type: entity name: The Throngler - parent: BaseSword + parent: BaseItem id: Throngler description: Why would you make this? components: + - type: Sharp - type: Sprite sprite: Objects/Weapons/Melee/Throngler2.rsi state: icon @@ -191,3 +190,4 @@ - type: Item size: Ginormous sprite: Objects/Weapons/Melee/Throngler-in-hand.rsi + - type: DisarmMalus From 51acebd2322f0952fa5a6fdb2e6c391fa83fdb83 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 11:37:23 +0000 Subject: [PATCH 43/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 6de5e697f9..53e9ca0f8c 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: themias - changes: - - message: Welders can be refilled directly from wall fuel dispensers - type: Tweak - id: 5517 - time: '2024-01-02T21:11:10.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23376 - author: Admiral-Obvious-001 changes: - message: Added a few words to body bag descriptor so you know they stop rot. @@ -3851,3 +3844,10 @@ id: 6016 time: '2024-02-25T07:36:22.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25518 +- author: metalgearsloth + changes: + - message: Remove executions pending code rewrite. + type: Remove + id: 6017 + time: '2024-02-25T11:36:17.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25555 From 902198d7e0c85f62ac91a0ff2cd275c0e7e77d56 Mon Sep 17 00:00:00 2001 From: Krunklehorn <42424291+Krunklehorn@users.noreply.github.com> Date: Sun, 25 Feb 2024 08:08:14 -0500 Subject: [PATCH 44/73] Fix candy bowls (#25514) * Before SharedItemSystem * Fixes mispredict, removed unused * Fix physics --- Content.Shared/Storage/EntitySystems/BinSystem.cs | 11 +++-------- .../Prototypes/Entities/Objects/Misc/candy_bowl.yml | 6 ++++-- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/Content.Shared/Storage/EntitySystems/BinSystem.cs b/Content.Shared/Storage/EntitySystems/BinSystem.cs index afb1e52881..17c3eb4288 100644 --- a/Content.Shared/Storage/EntitySystems/BinSystem.cs +++ b/Content.Shared/Storage/EntitySystems/BinSystem.cs @@ -4,12 +4,11 @@ using Content.Shared.Database; using Content.Shared.Examine; using Content.Shared.Hands.EntitySystems; using Content.Shared.Interaction; +using Content.Shared.Item; using Content.Shared.Storage.Components; using Content.Shared.Verbs; using Robust.Shared.Containers; -using Robust.Shared.Map; using Robust.Shared.Network; -using Robust.Shared.Timing; namespace Content.Shared.Storage.EntitySystems; @@ -18,7 +17,6 @@ namespace Content.Shared.Storage.EntitySystems; ///
public sealed class BinSystem : EntitySystem { - [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly INetManager _net = default!; [Dependency] private readonly ISharedAdminLogManager _admin = default!; [Dependency] private readonly SharedContainerSystem _container = default!; @@ -32,7 +30,7 @@ public sealed class BinSystem : EntitySystem SubscribeLocalEvent(OnStartup); SubscribeLocalEvent(OnMapInit); SubscribeLocalEvent(OnEntRemoved); - SubscribeLocalEvent(OnInteractHand); + SubscribeLocalEvent(OnInteractHand, before: new[] { typeof(SharedItemSystem) }); SubscribeLocalEvent(OnAfterInteractUsing); SubscribeLocalEvent>(OnAltInteractHand); SubscribeLocalEvent(OnExamined); @@ -73,7 +71,7 @@ public sealed class BinSystem : EntitySystem private void OnInteractHand(EntityUid uid, BinComponent component, InteractHandEvent args) { - if (args.Handled || !_timing.IsFirstTimePredicted) + if (args.Handled) return; EntityUid? toGrab = component.Items.LastOrDefault(); @@ -111,9 +109,6 @@ public sealed class BinSystem : EntitySystem if (handled || !canReach) return; - if (!_timing.IsFirstTimePredicted) - return; - if (!TryInsertIntoBin(target, itemInHand, component)) return; diff --git a/Resources/Prototypes/Entities/Objects/Misc/candy_bowl.yml b/Resources/Prototypes/Entities/Objects/Misc/candy_bowl.yml index 843b402a6c..fe275e3be3 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/candy_bowl.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/candy_bowl.yml @@ -55,9 +55,11 @@ shape: !type:PhysShapeAabb bounds: "-0.10,-0.10,0.10,0.10" - density: 3 + density: 20 mask: - - TabletopMachineMask + - TabletopMachineMask + restitution: 0.3 + friction: 0.2 - type: InteractionOutline - type: ItemMapper sprite: Objects/Misc/candy_bowl.rsi From 6f3893a0e0a976566a0795ab52ae5cfe46cc50b6 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 13:09:20 +0000 Subject: [PATCH 45/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 53e9ca0f8c..d56a92c87a 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Admiral-Obvious-001 - changes: - - message: Added a few words to body bag descriptor so you know they stop rot. - type: Add - id: 5518 - time: '2024-01-03T01:36:18.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23407 - author: CaasGit changes: - message: Give slimes their custom speech bubble! @@ -3851,3 +3844,10 @@ id: 6017 time: '2024-02-25T11:36:17.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25555 +- author: Krunk + changes: + - message: Candy bowls function properly again! + type: Fix + id: 6018 + time: '2024-02-25T13:08:15.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25514 From a440ccfc7c0d9dcaa68a419cac50f71bde1e42a1 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Mon, 26 Feb 2024 00:10:02 +1100 Subject: [PATCH 46/73] Fix cuffs popup prediction (#25553) --- Content.Shared/Cuffs/SharedCuffableSystem.cs | 109 ++++++++----------- 1 file changed, 46 insertions(+), 63 deletions(-) diff --git a/Content.Shared/Cuffs/SharedCuffableSystem.cs b/Content.Shared/Cuffs/SharedCuffableSystem.cs index 99657c87aa..65d93f281e 100644 --- a/Content.Shared/Cuffs/SharedCuffableSystem.cs +++ b/Content.Shared/Cuffs/SharedCuffableSystem.cs @@ -128,9 +128,9 @@ namespace Content.Shared.Cuffs } } - if (args.Cancelled && _net.IsServer) + if (args.Cancelled) { - _popup.PopupEntity(Loc.GetString("cuffable-component-cannot-interact-message"), args.Target, args.User); + _popup.PopupClient(Loc.GetString("cuffable-component-cannot-interact-message"), args.Target, args.User); } } @@ -202,8 +202,8 @@ namespace Content.Shared.Cuffs var message = args.Buckling ? Loc.GetString("handcuff-component-cuff-interrupt-buckled-message") : Loc.GetString("handcuff-component-cuff-interrupt-unbuckled-message"); - if (_net.IsServer) - _popup.PopupEntity(message, uid, args.UserEntity); + + _popup.PopupClient(message, uid, args.UserEntity); } private void OnPull(EntityUid uid, CuffableComponent component, PullMessage args) @@ -265,9 +265,9 @@ namespace Content.Shared.Cuffs { Uncuff(target, user, used, component); } - else if (_net.IsServer) + else { - _popup.PopupEntity(Loc.GetString("cuffable-component-remove-cuffs-fail-message"), user, user); + _popup.PopupClient(Loc.GetString("cuffable-component-remove-cuffs-fail-message"), user, user); } } @@ -278,8 +278,7 @@ namespace Content.Shared.Cuffs if (!args.CanReach) { - if (_net.IsServer) - _popup.PopupEntity(Loc.GetString("handcuff-component-too-far-away-error"), args.User, args.User); + _popup.PopupClient(Loc.GetString("handcuff-component-too-far-away-error"), args.User, args.User); return; } @@ -312,8 +311,6 @@ namespace Content.Shared.Cuffs if (!args.Cancelled && TryAddNewCuffs(target, user, uid, cuffable)) { _audio.PlayPredicted(component.EndCuffSound, uid, user); - if (!_net.IsServer) - return; _popup.PopupEntity(Loc.GetString("handcuff-component-cuff-observer-success-message", ("user", Identity.Name(user, EntityManager)), ("target", Identity.Name(target, EntityManager))), @@ -322,15 +319,15 @@ namespace Content.Shared.Cuffs if (target == user) { - _popup.PopupEntity(Loc.GetString("handcuff-component-cuff-self-success-message"), user, user); + _popup.PopupClient(Loc.GetString("handcuff-component-cuff-self-success-message"), user, user); _adminLog.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(user):player} has cuffed himself"); } else { - _popup.PopupEntity(Loc.GetString("handcuff-component-cuff-other-success-message", + _popup.PopupClient(Loc.GetString("handcuff-component-cuff-other-success-message", ("otherName", Identity.Name(target, EntityManager, user))), user, user); - _popup.PopupEntity(Loc.GetString("handcuff-component-cuff-by-other-success-message", + _popup.PopupClient(Loc.GetString("handcuff-component-cuff-by-other-success-message", ("otherName", Identity.Name(user, EntityManager, target))), target, target); _adminLog.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(user):player} has cuffed {ToPrettyString(target):player}"); @@ -338,20 +335,18 @@ namespace Content.Shared.Cuffs } else { - if (!_net.IsServer) - return; if (target == user) { - _popup.PopupEntity(Loc.GetString("handcuff-component-cuff-interrupt-self-message"), user, user); + _popup.PopupClient(Loc.GetString("handcuff-component-cuff-interrupt-self-message"), user, user); } else { // TODO Fix popup message wording // This message assumes that the user being handcuffed is the one that caused the handcuff to fail. - _popup.PopupEntity(Loc.GetString("handcuff-component-cuff-interrupt-message", + _popup.PopupClient(Loc.GetString("handcuff-component-cuff-interrupt-message", ("targetName", Identity.Name(target, EntityManager, user))), user, user); - _popup.PopupEntity(Loc.GetString("handcuff-component-cuff-interrupt-other-message", + _popup.PopupClient(Loc.GetString("handcuff-component-cuff-interrupt-other-message", ("otherName", Identity.Name(user, EntityManager, target))), target, target); } } @@ -462,21 +457,15 @@ namespace Content.Shared.Cuffs if (!TryComp(target, out var hands)) { - if (_net.IsServer) - { - _popup.PopupEntity(Loc.GetString("handcuff-component-target-has-no-hands-error", - ("targetName", Identity.Name(target, EntityManager, user))), user, user); - } + _popup.PopupClient(Loc.GetString("handcuff-component-target-has-no-hands-error", + ("targetName", Identity.Name(target, EntityManager, user))), user, user); return true; } if (cuffable.CuffedHandCount >= hands.Count) { - if (_net.IsServer) - { - _popup.PopupEntity(Loc.GetString("handcuff-component-target-has-no-free-hands-error", - ("targetName", Identity.Name(target, EntityManager, user))), user, user); - } + _popup.PopupClient(Loc.GetString("handcuff-component-target-has-no-free-hands-error", + ("targetName", Identity.Name(target, EntityManager, user))), user, user); return true; } @@ -499,24 +488,21 @@ namespace Content.Shared.Cuffs if (!_doAfter.TryStartDoAfter(doAfterEventArgs)) return true; - if (_net.IsServer) - { - _popup.PopupEntity(Loc.GetString("handcuff-component-start-cuffing-observer", + _popup.PopupEntity(Loc.GetString("handcuff-component-start-cuffing-observer", ("user", Identity.Name(user, EntityManager)), ("target", Identity.Name(target, EntityManager))), - target, Filter.Pvs(target, entityManager: EntityManager) + target, Filter.Pvs(target, entityManager: EntityManager) .RemoveWhere(e => e.AttachedEntity == target || e.AttachedEntity == user), true); - if (target == user) - { - _popup.PopupEntity(Loc.GetString("handcuff-component-target-self"), user, user); - } - else - { - _popup.PopupEntity(Loc.GetString("handcuff-component-start-cuffing-target-message", - ("targetName", Identity.Name(target, EntityManager, user))), user, user); - _popup.PopupEntity(Loc.GetString("handcuff-component-start-cuffing-by-other-message", - ("otherName", Identity.Name(user, EntityManager, target))), target, target); - } + if (target == user) + { + _popup.PopupClient(Loc.GetString("handcuff-component-target-self"), user, user); + } + else + { + _popup.PopupClient(Loc.GetString("handcuff-component-start-cuffing-target-message", + ("targetName", Identity.Name(target, EntityManager, user))), user, user); + _popup.PopupClient(Loc.GetString("handcuff-component-start-cuffing-by-other-message", + ("otherName", Identity.Name(user, EntityManager, target))), target, target); } _audio.PlayPredicted(handcuffComponent.StartCuffSound, handcuff, user); @@ -569,8 +555,7 @@ namespace Content.Shared.Cuffs if (!isOwner && !_interaction.InRangeUnobstructed(user, target)) { - if (_net.IsServer) - _popup.PopupEntity(Loc.GetString("cuffable-component-cannot-remove-cuffs-too-far-message"), user, user); + _popup.PopupClient(Loc.GetString("cuffable-component-cannot-remove-cuffs-too-far-message"), user, user); return; } @@ -594,26 +579,24 @@ namespace Content.Shared.Cuffs _damageSystem.TryChangeDamage(target, cuff.DamageOnResist, true, false); } - if (_net.IsServer) - { - _popup.PopupEntity(Loc.GetString("cuffable-component-start-uncuffing-observer", - ("user", Identity.Name(user, EntityManager)), ("target", Identity.Name(target, EntityManager))), - target, Filter.Pvs(target, entityManager: EntityManager) - .RemoveWhere(e => e.AttachedEntity == target || e.AttachedEntity == user), true); + _popup.PopupEntity(Loc.GetString("cuffable-component-start-uncuffing-observer", + ("user", Identity.Name(user, EntityManager)), ("target", Identity.Name(target, EntityManager))), + target, Filter.Pvs(target, entityManager: EntityManager) + .RemoveWhere(e => e.AttachedEntity == target || e.AttachedEntity == user), true); - if (target == user) - { - _color.RaiseEffect(Color.Red, new List() { user }, Filter.Pvs(user, entityManager: EntityManager)); - _popup.PopupEntity(Loc.GetString("cuffable-component-start-uncuffing-self"), user, user); - } - else - { - _popup.PopupEntity(Loc.GetString("cuffable-component-start-uncuffing-target-message", - ("targetName", Identity.Name(target, EntityManager, user))), user, user); - _popup.PopupEntity(Loc.GetString("cuffable-component-start-uncuffing-by-other-message", - ("otherName", Identity.Name(user, EntityManager, target))), target, target); - } + if (target == user) + { + _color.RaiseEffect(Color.Red, new List() { user }, Filter.Pvs(user, entityManager: EntityManager)); + _popup.PopupClient(Loc.GetString("cuffable-component-start-uncuffing-self"), user, user); } + else + { + _popup.PopupClient(Loc.GetString("cuffable-component-start-uncuffing-target-message", + ("targetName", Identity.Name(target, EntityManager, user))), user, user); + _popup.PopupClient(Loc.GetString("cuffable-component-start-uncuffing-by-other-message", + ("otherName", Identity.Name(user, EntityManager, target))), target, target); + } + _audio.PlayPredicted(isOwner ? cuff.StartBreakoutSound : cuff.StartUncuffSound, target, user); } From 1a5f7c39b2a2c244d5d947d8ff8f09250f21450b Mon Sep 17 00:00:00 2001 From: MilenVolf <63782763+MilenVolf@users.noreply.github.com> Date: Sun, 25 Feb 2024 16:20:28 +0300 Subject: [PATCH 47/73] Toggleable items shape change on toggle state (#25392) * Toggleable items now can change their shape depends on toggle state * Update Content.Shared/Item/SharedItemSystem.cs --------- Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> --- .../Components/ItemToggleSizeComponent.cs | 12 +++++++++++ Content.Shared/Item/SharedItemSystem.cs | 21 +++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/Content.Shared/Item/ItemToggle/Components/ItemToggleSizeComponent.cs b/Content.Shared/Item/ItemToggle/Components/ItemToggleSizeComponent.cs index 353f3d6fd5..b7b47a0732 100644 --- a/Content.Shared/Item/ItemToggle/Components/ItemToggleSizeComponent.cs +++ b/Content.Shared/Item/ItemToggle/Components/ItemToggleSizeComponent.cs @@ -18,9 +18,21 @@ public sealed partial class ItemToggleSizeComponent : Component [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField] public ProtoId? ActivatedSize = null; + /// + /// Item's shape when activated + /// + [ViewVariables(VVAccess.ReadWrite), DataField] + public List? ActivatedShape = null; + /// /// Item's size when deactivated. If none is mentioned, it uses the item's default size instead. /// [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField] public ProtoId? DeactivatedSize = null; + + /// + /// Item's shape when deactivated. If none is mentioned, it uses the item's default shape instead. + /// + [ViewVariables(VVAccess.ReadWrite), DataField] + public List? DeactivatedShape = null; } diff --git a/Content.Shared/Item/SharedItemSystem.cs b/Content.Shared/Item/SharedItemSystem.cs index c6a86c5011..29e82f8ade 100644 --- a/Content.Shared/Item/SharedItemSystem.cs +++ b/Content.Shared/Item/SharedItemSystem.cs @@ -46,6 +46,15 @@ public abstract class SharedItemSystem : EntitySystem Dirty(uid, component); } + public void SetShape(EntityUid uid, List? shape, ItemComponent? component = null) + { + if (!Resolve(uid, ref component, false)) + return; + + component.Shape = shape; + Dirty(uid, component); + } + public void SetHeldPrefix(EntityUid uid, string? heldPrefix, bool force = false, ItemComponent? component = null) { if (!Resolve(uid, ref component, false)) @@ -209,6 +218,13 @@ public abstract class SharedItemSystem : EntitySystem if (args.Activated) { + if (itemToggleSize.ActivatedShape != null) + { + // Set the deactivated shape to the default item's shape before it gets changed. + itemToggleSize.DeactivatedShape ??= new List(GetItemShape(item)); + SetShape(uid, itemToggleSize.ActivatedShape, item); + } + if (itemToggleSize.ActivatedSize != null) { // Set the deactivated size to the default item's size before it gets changed. @@ -218,6 +234,11 @@ public abstract class SharedItemSystem : EntitySystem } else { + if (itemToggleSize.DeactivatedShape != null) + { + SetShape(uid, itemToggleSize.DeactivatedShape, item); + } + if (itemToggleSize.DeactivatedSize != null) { SetSize(uid, (ProtoId) itemToggleSize.DeactivatedSize, item); From 1de102d08e93c8e5de0bfedf05d4dc02dfbee8a6 Mon Sep 17 00:00:00 2001 From: Whisper <121047731+QuietlyWhisper@users.noreply.github.com> Date: Sun, 25 Feb 2024 08:54:07 -0500 Subject: [PATCH 48/73] Juice that makes you Weh! (but real!) (#25132) * Juice that makes you Weh! * Remove dupe * updated the localization files * try to fix error --- .../Locale/en-US/flavors/flavor-profiles.ftl | 1 + Resources/Locale/en-US/reagents/meta/fun.ftl | 2 + .../Prototypes/Entities/Objects/Fun/toys.yml | 10 +++++ Resources/Prototypes/Flavors/flavors.yml | 5 +++ Resources/Prototypes/Reagents/fun.yml | 37 +++++++++++++++++-- .../Prototypes/SoundCollections/emotes.yml | 5 +++ .../Prototypes/Voice/speech_emote_sounds.yml | 21 ++++++++++- Resources/Prototypes/Voice/speech_emotes.yml | 7 +++- 8 files changed, 82 insertions(+), 6 deletions(-) diff --git a/Resources/Locale/en-US/flavors/flavor-profiles.ftl b/Resources/Locale/en-US/flavors/flavor-profiles.ftl index f2bbd60bed..5d42146f74 100644 --- a/Resources/Locale/en-US/flavors/flavor-profiles.ftl +++ b/Resources/Locale/en-US/flavors/flavor-profiles.ftl @@ -252,3 +252,4 @@ flavor-complex-bee = unbeelievable flavor-complex-sax = like jazz flavor-complex-bottledlightning = like lightning in a bottle flavor-complex-punishment = like punishment +flavor-weh = like weh diff --git a/Resources/Locale/en-US/reagents/meta/fun.ftl b/Resources/Locale/en-US/reagents/meta/fun.ftl index 68de618a36..8764a3d28a 100644 --- a/Resources/Locale/en-US/reagents/meta/fun.ftl +++ b/Resources/Locale/en-US/reagents/meta/fun.ftl @@ -25,3 +25,5 @@ reagent-desc-fresium = A mysterious compound that slows the vibration of atoms a reagent-name-laughter = Laughter reagent-desc-laughter = Some say that this is the best medicine, but recent studies have proven that to be untrue. +reagent-name-weh = juice that makes you Weh +reagent-desc-weh = Pure essence of lizard plush. Makes you Weh! diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index 86417c4839..5566b65bf4 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -273,6 +273,11 @@ wideAnimationRotation: 180 soundHit: path: /Audio/Items/Toys/weh.ogg + - type: Extractable + juiceSolution: + reagents: + - ReagentId: JuiceThatMakesYouWeh + Quantity: 30 - type: entity parent: PlushieLizard @@ -311,6 +316,11 @@ wideAnimationRotation: 180 soundHit: path: /Audio/Items/Toys/muffled_weh.ogg + - type: Extractable + juiceSolution: + reagents: + - ReagentId: JuiceThatMakesYouWeh + Quantity: 30 - type: entity parent: BasePlushie diff --git a/Resources/Prototypes/Flavors/flavors.yml b/Resources/Prototypes/Flavors/flavors.yml index 9015d0a6bd..44d8847bae 100644 --- a/Resources/Prototypes/Flavors/flavors.yml +++ b/Resources/Prototypes/Flavors/flavors.yml @@ -1004,6 +1004,11 @@ flavorType: Complex description: flavor-complex-profits +- type: flavor + id: weh + flavorType: Base + description: flavor-weh + - type: flavor id: fishops flavorType: Complex diff --git a/Resources/Prototypes/Reagents/fun.yml b/Resources/Prototypes/Reagents/fun.yml index 25b0e8da80..9597627e87 100644 --- a/Resources/Prototypes/Reagents/fun.yml +++ b/Resources/Prototypes/Reagents/fun.yml @@ -41,7 +41,6 @@ conditions: - !type:OrganType type: Moth - - type: reagent id: BuzzochloricBees @@ -222,13 +221,13 @@ entity: IceCrust maxOnTileWhitelist: tags: [ Ice ] - - !type:ExtinguishTileReaction { } + - !type:ExtinguishTileReaction { } reactiveEffects: Acidic: methods: [ Touch ] effects: - !type:HealthChange - scaleByQuantity: true + scaleByQuantity: true ignoreResistances: false damage: types: @@ -236,7 +235,7 @@ - !type:AdjustTemperature conditions: - !type:Temperature - min: 160.15 + min: 160.15 amount: -30000 Extinguish: methods: [ Touch ] @@ -319,3 +318,33 @@ messages: [ "laughter-effect-control-laughter" ] probability: 0.2 +- type: reagent + id: JuiceThatMakesYouWeh + name: reagent-name-weh + group: Toxins + desc: reagent-desc-weh + physicalDesc: reagent-physical-desc-vibrant + flavor: weh + color: "#59b23a" + metabolisms: + Poison: + metabolismRate: 0.25 + effects: + - !type:Emote + emote: Weh + showInChat: true + probability: 0.5 + - !type:Polymorph + prototype: ArtifactLizard # Does the same thing as the original YML I made for this reagent. + conditions: + - !type:OrganType + type: Animal + shouldHave: false + - !type:ReagentThreshold + min: 50 + - !type:AdjustReagent + reagent: JuiceThatMakesYouWeh + amount: -20 + conditions: + - !type:ReagentThreshold + min: 50 diff --git a/Resources/Prototypes/SoundCollections/emotes.yml b/Resources/Prototypes/SoundCollections/emotes.yml index 19b1b0e33d..1fbd88b48f 100644 --- a/Resources/Prototypes/SoundCollections/emotes.yml +++ b/Resources/Prototypes/SoundCollections/emotes.yml @@ -74,3 +74,8 @@ id: Squishes files: - /Audio/Voice/Slime/slime_squish.ogg + +- type: soundCollection + id: Weh + files: + - /Audio/Items/Toys/weh.ogg diff --git a/Resources/Prototypes/Voice/speech_emote_sounds.yml b/Resources/Prototypes/Voice/speech_emote_sounds.yml index 3740b99521..ee76fa33d2 100644 --- a/Resources/Prototypes/Voice/speech_emote_sounds.yml +++ b/Resources/Prototypes/Voice/speech_emote_sounds.yml @@ -32,6 +32,8 @@ collection: MaleCry Whistle: collection: Whistles + Weh: + collection: Weh - type: emoteSounds id: FemaleHuman @@ -66,6 +68,8 @@ collection: FemaleCry Whistle: collection: Whistles + Weh: + collection: Weh - type: emoteSounds id: UnisexReptilian @@ -82,6 +86,8 @@ collection: Whistles Crying: collection: MaleCry + Weh: + collection: Weh - type: emoteSounds id: MaleSlime @@ -116,6 +122,8 @@ collection: MaleCry Whistle: collection: Whistles + Weh: + collection: Weh params: variation: 0.125 @@ -152,6 +160,8 @@ collection: FemaleCry Whistle: collection: Whistles + Weh: + collection: Weh params: variation: 0.125 @@ -175,10 +185,11 @@ collection: DionaLaugh Honk: collection: BikeHorn + Weh: + collection: Weh params: variation: 0.125 - - type: emoteSounds id: UnisexArachnid params: @@ -192,6 +203,8 @@ path: /Audio/Voice/Arachnid/arachnid_chitter.ogg Click: path: /Audio/Voice/Arachnid/arachnid_click.ogg + Weh: + collection: Weh - type: emoteSounds id: UnisexDwarf @@ -224,6 +237,8 @@ collection: MaleCry Whistle: collection: Whistles + Weh: + collection: Weh params: variation: 0.125 pitch: 0.75 @@ -259,6 +274,8 @@ collection: FemaleCry Whistle: collection: Whistles + Weh: + collection: Weh params: variation: 0.125 pitch: 0.75 @@ -278,6 +295,8 @@ path: /Audio/Voice/Moth/moth_chitter.ogg Squeak: path: /Audio/Voice/Moth/moth_squeak.ogg + Weh: + collection: Weh # body emotes - type: emoteSounds diff --git a/Resources/Prototypes/Voice/speech_emotes.yml b/Resources/Prototypes/Voice/speech_emotes.yml index 0ee67d17c7..01cb7e6697 100644 --- a/Resources/Prototypes/Voice/speech_emotes.yml +++ b/Resources/Prototypes/Voice/speech_emotes.yml @@ -242,6 +242,11 @@ - buzzes. - buzzes! +- type: emote + id: Weh + category: Vocal + chatMessages: [Weh!] + - type: emote id: Chirp category: Vocal @@ -258,4 +263,4 @@ - chirped! - chirping - chirping. - - chirping! \ No newline at end of file + - chirping! From 87def406bc2cb3121888d162c8fe707ff937dd6f Mon Sep 17 00:00:00 2001 From: 778b <33431126+778b@users.noreply.github.com> Date: Sun, 25 Feb 2024 17:54:44 +0400 Subject: [PATCH 49/73] Added ContainerSpawnPoint check for integration test (#25446) * Added logic for ContainerSpawnPoint checks * Improved with template function * fixed nullable * hehe * hehe T? * added type check before cast * another nullable fix * and another one * return to old code (found typo) * Code cleanup --------- Co-authored-by: metalgearsloth --- .../Tests/PostMapInitTest.cs | 44 ++++++++++++------- .../ContainerSpawnPointComponent.cs | 4 +- .../Spawners/Components/ISpawnPoint.cs | 7 +++ .../Components/SpawnPointComponent.cs | 10 +++-- 4 files changed, 44 insertions(+), 21 deletions(-) create mode 100644 Content.Server/Spawners/Components/ISpawnPoint.cs diff --git a/Content.IntegrationTests/Tests/PostMapInitTest.cs b/Content.IntegrationTests/Tests/PostMapInitTest.cs index bf11430113..5356529cd8 100644 --- a/Content.IntegrationTests/Tests/PostMapInitTest.cs +++ b/Content.IntegrationTests/Tests/PostMapInitTest.cs @@ -226,25 +226,13 @@ namespace Content.IntegrationTests.Tests if (entManager.HasComponent(station)) { - // Test that the map has valid latejoin spawn points + // Test that the map has valid latejoin spawn points or container spawn points if (!NoSpawnMaps.Contains(mapProto)) { var lateSpawns = 0; - var query = entManager.AllEntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var comp)) - { - if (comp.SpawnType != SpawnPointType.LateJoin - || !xformQuery.TryGetComponent(uid, out var xform) - || xform.GridUid == null - || !gridUids.Contains(xform.GridUid.Value)) - { - continue; - } - - lateSpawns++; - break; - } + lateSpawns += GetCountLateSpawn(gridUids, entManager); + lateSpawns += GetCountLateSpawn(gridUids, entManager); Assert.That(lateSpawns, Is.GreaterThan(0), $"Found no latejoin spawn points on {mapProto}"); } @@ -283,6 +271,32 @@ namespace Content.IntegrationTests.Tests await pair.CleanReturnAsync(); } + + + private static int GetCountLateSpawn(List gridUids, IEntityManager entManager) + where T : ISpawnPoint, IComponent + { + var resultCount = 0; + var queryPoint = entManager.AllEntityQueryEnumerator(); +#nullable enable + while (queryPoint.MoveNext(out T? comp, out var xform)) + { + var spawner = (ISpawnPoint) comp; + + if (spawner.SpawnType is not SpawnPointType.LateJoin + || xform.GridUid == null + || !gridUids.Contains(xform.GridUid.Value)) + { + continue; + } +#nullable disable + resultCount++; + break; + } + + return resultCount; + } + [Test] public async Task AllMapsTested() { diff --git a/Content.Server/Spawners/Components/ContainerSpawnPointComponent.cs b/Content.Server/Spawners/Components/ContainerSpawnPointComponent.cs index 9782becc27..5c8e3c4186 100644 --- a/Content.Server/Spawners/Components/ContainerSpawnPointComponent.cs +++ b/Content.Server/Spawners/Components/ContainerSpawnPointComponent.cs @@ -8,7 +8,7 @@ namespace Content.Server.Spawners.Components; /// [RegisterComponent] [Access(typeof(ContainerSpawnPointSystem))] -public sealed partial class ContainerSpawnPointComponent : Component +public sealed partial class ContainerSpawnPointComponent : Component, ISpawnPoint { /// /// The ID of the container that this entity will spawn players into @@ -26,5 +26,5 @@ public sealed partial class ContainerSpawnPointComponent : Component /// The type of spawn point /// [DataField, ViewVariables(VVAccess.ReadWrite)] - public SpawnPointType SpawnType = SpawnPointType.Unset; + public SpawnPointType SpawnType { get; set; } = SpawnPointType.Unset; } diff --git a/Content.Server/Spawners/Components/ISpawnPoint.cs b/Content.Server/Spawners/Components/ISpawnPoint.cs new file mode 100644 index 0000000000..e01841ef99 --- /dev/null +++ b/Content.Server/Spawners/Components/ISpawnPoint.cs @@ -0,0 +1,7 @@ +namespace Content.Server.Spawners.Components; + +public interface ISpawnPoint +{ + SpawnPointType SpawnType { get; set; } +} + diff --git a/Content.Server/Spawners/Components/SpawnPointComponent.cs b/Content.Server/Spawners/Components/SpawnPointComponent.cs index 5a86175a1d..5cf231f224 100644 --- a/Content.Server/Spawners/Components/SpawnPointComponent.cs +++ b/Content.Server/Spawners/Components/SpawnPointComponent.cs @@ -4,7 +4,7 @@ using Robust.Shared.Prototypes; namespace Content.Server.Spawners.Components; [RegisterComponent] -public sealed partial class SpawnPointComponent : Component +public sealed partial class SpawnPointComponent : Component, ISpawnPoint { [Dependency] private readonly IPrototypeManager _prototypeManager = default!; @@ -12,9 +12,11 @@ public sealed partial class SpawnPointComponent : Component [DataField("job_id")] private string? _jobId; - [ViewVariables(VVAccess.ReadWrite)] - [DataField("spawn_type")] - public SpawnPointType SpawnType { get; private set; } = SpawnPointType.Unset; + /// + /// The type of spawn point + /// + [DataField("spawn_type"), ViewVariables(VVAccess.ReadWrite)] + public SpawnPointType SpawnType { get; set; } = SpawnPointType.Unset; public JobPrototype? Job => string.IsNullOrEmpty(_jobId) ? null : _prototypeManager.Index(_jobId); From 4613c9dabc5bd4aee29895486e4afae297be5520 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 13:55:13 +0000 Subject: [PATCH 50/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index d56a92c87a..f62b85d8c4 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: CaasGit - changes: - - message: Give slimes their custom speech bubble! - type: Tweak - id: 5519 - time: '2024-01-03T05:12:56.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23415 - author: zzylex changes: - message: You can now make plungers stick to walls. @@ -3851,3 +3844,10 @@ id: 6018 time: '2024-02-25T13:08:15.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25514 +- author: Whisper + changes: + - message: Added juice that makes you Weh! Juice a lizard plushie today! + type: Add + id: 6019 + time: '2024-02-25T13:54:07.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25132 From ad29dbe302ac921b9e3f6cbd3ded79788db27b46 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Mon, 26 Feb 2024 07:22:43 +1100 Subject: [PATCH 51/73] Fix ItemSlots prediction (#25552) IDK what this arg is for but seems okay with guns. Without it it always thinks the insertion can work. --- Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs b/Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs index d832cdfef8..90f4f2a900 100644 --- a/Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs +++ b/Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs @@ -274,7 +274,7 @@ namespace Content.Shared.Containers.ItemSlots if (ev.Cancelled) return false; - return _containers.CanInsert(usedUid, slot.ContainerSlot, assumeEmpty: true); + return _containers.CanInsert(usedUid, slot.ContainerSlot); } /// From 7ba6765a6af09e060f539d8b6fa847de9512c4c9 Mon Sep 17 00:00:00 2001 From: potato1234_x <79580518+potato1234x@users.noreply.github.com> Date: Mon, 26 Feb 2024 06:23:22 +1000 Subject: [PATCH 52/73] fix solar computer sprite (#25548) fix --- .../Machines/computers.rsi/solar_screen.png | Bin 1084 -> 702 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Textures/Structures/Machines/computers.rsi/solar_screen.png b/Resources/Textures/Structures/Machines/computers.rsi/solar_screen.png index 90eb9eb5c6ca4c6c0ec3ebed2eda7cf6d618f488..47c9c9340fd3b85d054c02c20b9920373e2c44ee 100644 GIT binary patch delta 689 zcmdnPv5$3vWIZzj1H+dG6Mq6J#^NA%Cx&(BWL^R}Ea{HEjtmSN`?>!lvI6-M0X`wF zZIKd(86r}Ls&_JJO@y6X{9WP;wTC73;quQ4ELJ%Mgqk+3p^r=85sBu zgD~Uq{1qt-3{29VE{-7;ac^fb*5@5o;Bgi9nD+aA1=}5y8&_23W@^3t?=|}f^Yg|T zQa85TmEmw;V2W2VINK|8hwam+V!qxpl23V_@Ha|0|7vNqQ(X6DCHIj#2cOLSxU=P1 z7HdcQk?Xq-$mQ=_?;xn6$5ZV0VUBr4F~7>cEH=$~e|EB;(D(f~a}|UCgBi1en_n!b zKW6?~yz%ybp88oQHQJ?JB!YH0wkWnryBJwz+!F>_EzrQgqQJliVLAvtI6TY4&GL@I zp$Uh0m3TDoC`<|z-0`<$PrSku?w%sqpt4_TKZK$5smMsO7&S0Wq*1WO!q~@Qa^6iZ2?;-&2YH_&n&r553zR_TfwyV_fUk zv0SULxV-X5v8q7$?gsO4riI4L`RiDw-PC(<_A8f88DsuB);E$DW?q`^-5A$6@4-{f z7or?<*>BA5;k$QzhrkRg)@6MUIP#@FgeMslQxv2-tZnEy#DR#rEo^?*8 z^MlQea6d*ZSpMWp=y(770v?V1@d77UIWOv5c)qPcE}r|(h3L(p4Lg1|2tT%FD$z6K z{!y&B;lKOVxqAK6cSbetw|%f{!7b+Q$OH4e8;{Owv=7%#$X5c|`6x@g;CWDjslF6@ zfo8(G2ON5=XFe+L5ZG|7-$<*0oAKXYE#?aM${KJeKiJQmb6ejub^+Vux%)whlfl!~ K&t;ucLK6VJiyegk delta 1074 zcmV-21kL-t1-uB58Gi-<006^2Vaosj1OrJ#K~#90?cF_78bKJq@rUSSGDBl&XHW`T zy9~~K1RFbNr0_G?(Ws3bpMgSW>};r0-AGGIff_qX8fG#X8B)Y02doF|F8A>A|1}t* z`R`qp^Nn3Z000000Klfm+3vhO+Z{xQ`Jkb=)sxCY$J(Q>*MHx(y>oP!m#rh~Upb3p z_5-4yUH?nk2bErHQhKco-%j3&h`e03M{b87bAK{&>&o9r<}!o|oe zN)E)tM+Pw-KYuN{Ucg;K6qQ-j3G_vezIrAqjmg?IRDlO5Vv{~NnTER z&Oj#~{ePrQ>L+&*ndSVmQ6zl;000000000000000o9p&$cOlPNr?1mbed$=6=rAww z&4JoUpdYqB_XH3T**e-*Jqh%~^_?bwh)A?^r+PW0AExg-0p#gXDnA|P0+L8@koqYy+Nm_*TcizVigoULdO7*Zz+W z#d!jlRVgo*?O=mhrM_97wd%+3^=;tzt5;`@zJK3q0_<0ds+VH={(Y|rPC;$Ke07*qoM6N<$f?TR9ZU6uP From b30cda8b42098b6664272d5d1375155e2d421b02 Mon Sep 17 00:00:00 2001 From: wafehling Date: Sun, 25 Feb 2024 15:15:35 -0600 Subject: [PATCH 53/73] Added Survival to the secret rotation (#25568) --- Resources/Prototypes/secret_weights.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/secret_weights.yml b/Resources/Prototypes/secret_weights.yml index 9e651a1044..ebeb784e42 100644 --- a/Resources/Prototypes/secret_weights.yml +++ b/Resources/Prototypes/secret_weights.yml @@ -1,7 +1,8 @@ - type: weightedRandom id: Secret weights: - Nukeops: 0.25 - Traitor: 0.65 + Nukeops: 0.20 + Traitor: 0.60 Zombie: 0.10 + Survival: 0.10 From 4e1603424008c0323972207d7699653570fd1912 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 21:16:41 +0000 Subject: [PATCH 54/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index f62b85d8c4..bfd535dc52 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,15 +1,4 @@ Entries: -- author: zzylex - changes: - - message: You can now make plungers stick to walls. - type: Tweak - - message: A sound is made when a plunger gets stuck to something. - type: Add - - message: You can now shoot plungers with bows. - type: Tweak - id: 5520 - time: '2024-01-03T05:36:17.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23406 - author: EmoGarbage404 changes: - message: Added flatpacks, boxes that unpack into a full-sized machine when activated @@ -3851,3 +3840,11 @@ id: 6019 time: '2024-02-25T13:54:07.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25132 +- author: wafehling + changes: + - message: Secret mode has become more secret, with the 4th option Survival added + to the rotation. + type: Tweak + id: 6020 + time: '2024-02-25T21:15:35.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25568 From de36ebe2dfbcba11866b61a69d46c2d27077ee76 Mon Sep 17 00:00:00 2001 From: Kara Date: Sun, 25 Feb 2024 15:04:51 -0700 Subject: [PATCH 55/73] Don't double-dip survival intensity scaling (#25570) --- .../StationEvents/Events/AnomalySpawnRule.cs | 2 +- .../Events/BluespaceArtifactRule.cs | 2 +- .../Events/BureaucraticErrorRule.cs | 8 +++----- .../StationEvents/Events/GasLeakRule.cs | 4 +--- .../StationEvents/Events/MeteorSwarmRule.cs | 7 ++----- .../Events/RandomSentienceRule.cs | 3 +-- .../Events/StationEventSystem.cs | 20 ------------------- .../StationEvents/Events/VentClogRule.cs | 9 +++------ .../RampingStationEventSchedulerSystem.cs | 20 ------------------- 9 files changed, 12 insertions(+), 63 deletions(-) diff --git a/Content.Server/StationEvents/Events/AnomalySpawnRule.cs b/Content.Server/StationEvents/Events/AnomalySpawnRule.cs index a59af52f6d..48a3b900c4 100644 --- a/Content.Server/StationEvents/Events/AnomalySpawnRule.cs +++ b/Content.Server/StationEvents/Events/AnomalySpawnRule.cs @@ -33,7 +33,7 @@ public sealed class AnomalySpawnRule : StationEventSystem(uid, out var stationEvent)) return; - var mod = MathF.Sqrt(GetSeverityModifier()); - // Essentially we'll pick out a target amount of gas to leak, then a rate to leak it at, then work out the duration from there. if (TryFindRandomTile(out component.TargetTile, out var target, out component.TargetGrid, out component.TargetCoords)) { @@ -29,7 +27,7 @@ namespace Content.Server.StationEvents.Events component.LeakGas = RobustRandom.Pick(component.LeakableGases); // Was 50-50 on using normal distribution. - var totalGas = RobustRandom.Next(component.MinimumGas, component.MaximumGas) * mod; + var totalGas = RobustRandom.Next(component.MinimumGas, component.MaximumGas); var startAfter = stationEvent.StartDelay; component.MolesPerSecond = RobustRandom.Next(component.MinimumMolesPerSecond, component.MaximumMolesPerSecond); diff --git a/Content.Server/StationEvents/Events/MeteorSwarmRule.cs b/Content.Server/StationEvents/Events/MeteorSwarmRule.cs index ef84d0a9ae..192a620c9f 100644 --- a/Content.Server/StationEvents/Events/MeteorSwarmRule.cs +++ b/Content.Server/StationEvents/Events/MeteorSwarmRule.cs @@ -17,8 +17,7 @@ namespace Content.Server.StationEvents.Events { base.Started(uid, component, gameRule, args); - var mod = Math.Sqrt(GetSeverityModifier()); - component.WaveCounter = (int) (RobustRandom.Next(component.MinimumWaves, component.MaximumWaves) * mod); + component.WaveCounter = RobustRandom.Next(component.MinimumWaves, component.MaximumWaves); } protected override void ActiveTick(EntityUid uid, MeteorSwarmRuleComponent component, GameRuleComponent gameRule, float frameTime) @@ -29,8 +28,6 @@ namespace Content.Server.StationEvents.Events return; } - var mod = GetSeverityModifier(); - component.Cooldown -= frameTime; if (component.Cooldown > 0f) @@ -38,7 +35,7 @@ namespace Content.Server.StationEvents.Events component.WaveCounter--; - component.Cooldown += (component.MaximumCooldown - component.MinimumCooldown) * RobustRandom.NextFloat() / mod + component.MinimumCooldown; + component.Cooldown += (component.MaximumCooldown - component.MinimumCooldown) * RobustRandom.NextFloat() + component.MinimumCooldown; Box2? playableArea = null; var mapId = GameTicker.DefaultMap; diff --git a/Content.Server/StationEvents/Events/RandomSentienceRule.cs b/Content.Server/StationEvents/Events/RandomSentienceRule.cs index d90361fe96..4b7606d01f 100644 --- a/Content.Server/StationEvents/Events/RandomSentienceRule.cs +++ b/Content.Server/StationEvents/Events/RandomSentienceRule.cs @@ -11,7 +11,6 @@ public sealed class RandomSentienceRule : StationEventSystem stationsToNotify = new(); - var mod = GetSeverityModifier(); var targetList = new List>(); var query = EntityQueryEnumerator(); while (query.MoveNext(out var targetUid, out var target)) @@ -21,7 +20,7 @@ public sealed class RandomSentienceRule : StationEventSystem(); foreach (var target in targetList) diff --git a/Content.Server/StationEvents/Events/StationEventSystem.cs b/Content.Server/StationEvents/Events/StationEventSystem.cs index 221beccee7..a4f6bc70df 100644 --- a/Content.Server/StationEvents/Events/StationEventSystem.cs +++ b/Content.Server/StationEvents/Events/StationEventSystem.cs @@ -134,25 +134,5 @@ public abstract partial class StationEventSystem : GameRuleSystem where T GameTicker.EndGameRule(uid, component); } - public float GetSeverityModifier() - { - var ev = new GetSeverityModifierEvent(); - RaiseLocalEvent(ev); - return ev.Modifier; - } - #endregion } - -/// -/// Raised broadcast to determine what the severity modifier should be for an event, some positive number that can be multiplied with various things. -/// Handled by usually other game rules (like the ramping scheduler). -/// Most events should try and make use of this if possible. -/// -public sealed class GetSeverityModifierEvent : EntityEventArgs -{ - /// - /// Should be multiplied/added to rather than set, for commutativity. - /// - public float Modifier = 1.0f; -} diff --git a/Content.Server/StationEvents/Events/VentClogRule.cs b/Content.Server/StationEvents/Events/VentClogRule.cs index f378aec3fb..e263a5f4f6 100644 --- a/Content.Server/StationEvents/Events/VentClogRule.cs +++ b/Content.Server/StationEvents/Events/VentClogRule.cs @@ -28,9 +28,6 @@ public sealed class VentClogRule : StationEventSystem .Where(x => !x.Abstract) .Select(x => x.ID).ToList(); - // TODO: This is gross, but not much can be done until event refactor, which needs Dynamic. - var mod = (float) Math.Sqrt(GetSeverityModifier()); - foreach (var (_, transform) in EntityManager.EntityQuery()) { if (CompOrNull(transform.GridUid)?.Station != chosenStation) @@ -40,14 +37,14 @@ public sealed class VentClogRule : StationEventSystem var solution = new Solution(); - if (!RobustRandom.Prob(Math.Min(0.33f * mod, 1.0f))) + if (!RobustRandom.Prob(0.33f)) continue; - var pickAny = RobustRandom.Prob(Math.Min(0.05f * mod, 1.0f)); + var pickAny = RobustRandom.Prob(0.05f); var reagent = RobustRandom.Pick(pickAny ? allReagents : component.SafeishVentChemicals); var weak = component.WeakReagents.Contains(reagent); - var quantity = (weak ? component.WeakReagentQuantity : component.ReagentQuantity) * mod; + var quantity = weak ? component.WeakReagentQuantity : component.ReagentQuantity; solution.AddReagent(reagent, quantity); var foamEnt = Spawn("Foam", transform.Coordinates); diff --git a/Content.Server/StationEvents/RampingStationEventSchedulerSystem.cs b/Content.Server/StationEvents/RampingStationEventSchedulerSystem.cs index 5c972df52e..ef3b5cf18a 100644 --- a/Content.Server/StationEvents/RampingStationEventSchedulerSystem.cs +++ b/Content.Server/StationEvents/RampingStationEventSchedulerSystem.cs @@ -25,13 +25,6 @@ public sealed class RampingStationEventSchedulerSystem : GameRuleSystem(OnGetSeverityModifier); - } - protected override void Started(EntityUid uid, RampingStationEventSchedulerComponent component, GameRuleComponent gameRule, GameRuleStartedEvent args) { base.Started(uid, component, gameRule, args); @@ -73,19 +66,6 @@ public sealed class RampingStationEventSchedulerSystem : GameRuleSystem(); - while (query.MoveNext(out var uid, out var scheduler, out var gameRule)) - { - if (!GameTicker.IsGameRuleActive(uid, gameRule)) - return; - - ev.Modifier *= GetChaosModifier(uid, scheduler); - Logger.Info($"Ramping set modifier to {ev.Modifier}"); - } - } - private void PickNextEventTime(EntityUid uid, RampingStationEventSchedulerComponent component) { var mod = GetChaosModifier(uid, component); From 3ef4e835583b99b020c0bb317be99cb06ade2ec9 Mon Sep 17 00:00:00 2001 From: Vasilis Date: Sun, 25 Feb 2024 23:44:05 +0100 Subject: [PATCH 56/73] Add server name into the replay final (#25564) Turns out this is not what serverid was for... i guess you can find server familys with this so im not gonna remove it. Best we get for server name is the admin logs server name. --- Content.Server/GameTicking/GameTicker.Replays.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Content.Server/GameTicking/GameTicker.Replays.cs b/Content.Server/GameTicking/GameTicker.Replays.cs index e09e07b867..9109fbf96a 100644 --- a/Content.Server/GameTicking/GameTicker.Replays.cs +++ b/Content.Server/GameTicking/GameTicker.Replays.cs @@ -128,6 +128,7 @@ public sealed partial class GameTicker metadata["roundEndPlayers"] = _serialman.WriteValue(_replayRoundPlayerInfo); metadata["roundEndText"] = new ValueDataNode(_replayRoundText); metadata["server_id"] = new ValueDataNode(_configurationManager.GetCVar(CCVars.ServerId)); + metadata["server_name"] = new ValueDataNode(_configurationManager.GetCVar(CCVars.AdminLogsServerName)); metadata["roundId"] = new ValueDataNode(RoundId.ToString()); } From b26acc95475a9ae2000fddcfb2bee7d058b4122c Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Mon, 26 Feb 2024 09:48:54 +1100 Subject: [PATCH 57/73] Panic bunker fix (#25538) * Panic bunker fix I admin * tired --- Content.Server/Connection/ConnectionManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Connection/ConnectionManager.cs b/Content.Server/Connection/ConnectionManager.cs index f0dd87e2bd..2fbc6f2359 100644 --- a/Content.Server/Connection/ConnectionManager.cs +++ b/Content.Server/Connection/ConnectionManager.cs @@ -106,7 +106,7 @@ namespace Content.Server.Connection var adminData = await _dbManager.GetAdminDataForAsync(e.UserId); - if (_cfg.GetCVar(CCVars.PanicBunkerEnabled)) + if (_cfg.GetCVar(CCVars.PanicBunkerEnabled) && adminData == null) { var showReason = _cfg.GetCVar(CCVars.PanicBunkerShowReason); var customReason = _cfg.GetCVar(CCVars.PanicBunkerCustomReason); From 100ece2e2078ab2fe99f4ce1ab36b2cd05319772 Mon Sep 17 00:00:00 2001 From: Tayrtahn Date: Sun, 25 Feb 2024 18:03:22 -0500 Subject: [PATCH 58/73] Add a container display to dispenser UI (#25391) * Implemented contents display for dispenser UI * Update Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> * Resolve the netent into a euid first --------- Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> --- .../Chemistry/UI/ReagentDispenserWindow.xaml | 31 ++++++++++--------- .../UI/ReagentDispenserWindow.xaml.cs | 13 +++++--- .../EntitySystems/ReagentDispenserSystem.cs | 2 +- .../Chemistry/SharedReagentDispenser.cs | 5 ++- 4 files changed, 30 insertions(+), 21 deletions(-) diff --git a/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml b/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml index d9e480f132..3b812ba56b 100644 --- a/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml +++ b/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml @@ -32,19 +32,22 @@ StyleClasses="OpenLeft"/> - - - - - - - - - + + + + + + + + + + + + diff --git a/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs b/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs index a36cc2fe54..7fcf0191f2 100644 --- a/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs +++ b/Content.Client/Chemistry/UI/ReagentDispenserWindow.xaml.cs @@ -1,4 +1,3 @@ -using System.Linq; using Content.Client.Stylesheets; using Content.Shared.Chemistry; using Content.Shared.Chemistry.Reagent; @@ -19,6 +18,7 @@ namespace Content.Client.Chemistry.UI public sealed partial class ReagentDispenserWindow : DefaultWindow { [Dependency] private readonly IPrototypeManager _prototypeManager = default!; + [Dependency] private readonly IEntityManager _entityManager = default!; public event Action? OnDispenseReagentButtonPressed; public event Action? OnDispenseReagentButtonMouseEntered; public event Action? OnDispenseReagentButtonMouseExited; @@ -52,7 +52,7 @@ namespace Content.Client.Chemistry.UI /// Update the button grid of reagents which can be dispensed. /// /// Reagents which can be dispensed by this dispenser - public void UpdateReagentsList(List>> inventory) + public void UpdateReagentsList(List>> inventory) { if (ChemicalList == null) return; @@ -86,6 +86,9 @@ namespace Content.Client.Chemistry.UI UpdateContainerInfo(castState); UpdateReagentsList(castState.Inventory); + _entityManager.TryGetEntity(castState.OutputContainerEntity, out var outputContainerEnt); + View.SetEntity(outputContainerEnt); + // Disable the Clear & Eject button if no beaker ClearButton.Disabled = castState.OutputContainer is null; EjectButton.Disabled = castState.OutputContainer is null; @@ -134,7 +137,7 @@ namespace Content.Client.Chemistry.UI if (state.OutputContainer is null) { - ContainerInfo.Children.Add(new Label {Text = Loc.GetString("reagent-dispenser-window-no-container-loaded-text") }); + ContainerInfo.Children.Add(new Label { Text = Loc.GetString("reagent-dispenser-window-no-container-loaded-text") }); return; } @@ -159,11 +162,11 @@ namespace Content.Client.Chemistry.UI ? p.LocalizedName : Loc.GetString("reagent-dispenser-window-reagent-name-not-found-text"); - var nameLabel = new Label {Text = $"{localizedName}: "}; + var nameLabel = new Label { Text = $"{localizedName}: " }; var quantityLabel = new Label { Text = Loc.GetString("reagent-dispenser-window-quantity-label-text", ("quantity", quantity)), - StyleClasses = {StyleNano.StyleClassLabelSecondaryColor}, + StyleClasses = { StyleNano.StyleClassLabelSecondaryColor }, }; ContainerInfo.Children.Add(new BoxContainer diff --git a/Content.Server/Chemistry/EntitySystems/ReagentDispenserSystem.cs b/Content.Server/Chemistry/EntitySystems/ReagentDispenserSystem.cs index d5ec310f87..7a09d16265 100644 --- a/Content.Server/Chemistry/EntitySystems/ReagentDispenserSystem.cs +++ b/Content.Server/Chemistry/EntitySystems/ReagentDispenserSystem.cs @@ -68,7 +68,7 @@ namespace Content.Server.Chemistry.EntitySystems var inventory = GetInventory(reagentDispenser); - var state = new ReagentDispenserBoundUserInterfaceState(outputContainerInfo, inventory, reagentDispenser.Comp.DispenseAmount); + var state = new ReagentDispenserBoundUserInterfaceState(outputContainerInfo, GetNetEntity(outputContainer), inventory, reagentDispenser.Comp.DispenseAmount); _userInterfaceSystem.TrySetUiState(reagentDispenser, ReagentDispenserUiKey.Key, state); } diff --git a/Content.Shared/Chemistry/SharedReagentDispenser.cs b/Content.Shared/Chemistry/SharedReagentDispenser.cs index 22cb87dcdb..2b9c318c58 100644 --- a/Content.Shared/Chemistry/SharedReagentDispenser.cs +++ b/Content.Shared/Chemistry/SharedReagentDispenser.cs @@ -56,6 +56,8 @@ namespace Content.Shared.Chemistry public sealed class ReagentDispenserBoundUserInterfaceState : BoundUserInterfaceState { public readonly ContainerInfo? OutputContainer; + + public readonly NetEntity? OutputContainerEntity; /// /// A list of the reagents which this dispenser can dispense. /// @@ -63,9 +65,10 @@ namespace Content.Shared.Chemistry public readonly ReagentDispenserDispenseAmount SelectedDispenseAmount; - public ReagentDispenserBoundUserInterfaceState(ContainerInfo? outputContainer, List>> inventory, ReagentDispenserDispenseAmount selectedDispenseAmount) + public ReagentDispenserBoundUserInterfaceState(ContainerInfo? outputContainer, NetEntity? outputContainerEntity, List>> inventory, ReagentDispenserDispenseAmount selectedDispenseAmount) { OutputContainer = outputContainer; + OutputContainerEntity = outputContainerEntity; Inventory = inventory; SelectedDispenseAmount = selectedDispenseAmount; } From 02be78b062fe727aa444bf4b19bc6610b984ec05 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 23:04:28 +0000 Subject: [PATCH 59/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index bfd535dc52..cadecf1ac7 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,15 +1,4 @@ Entries: -- author: EmoGarbage404 - changes: - - message: Added flatpacks, boxes that unpack into a full-sized machine when activated - with a multitool. - type: Add - - message: Added the Flatpacker 1001 to industrial research. A machine capable of - creating flatpacks from machine boards. - type: Add - id: 5521 - time: '2024-01-03T06:16:03.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23338 - author: themias changes: - message: Cyborgs can interact with shuttle consoles, gas mixers and gas filters. @@ -3848,3 +3837,10 @@ id: 6020 time: '2024-02-25T21:15:35.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25568 +- author: Tayrtahn + changes: + - message: Added a live preview display to reagent dispensers. + type: Add + id: 6021 + time: '2024-02-25T23:03:22.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25391 From 7d6e4b164d6013257423afe02b3f06447e37bec3 Mon Sep 17 00:00:00 2001 From: Krunklehorn <42424291+Krunklehorn@users.noreply.github.com> Date: Sun, 25 Feb 2024 18:24:21 -0500 Subject: [PATCH 60/73] Fix grid inventory pick/drop rotation (#25510) OnPiecePressed --- .../UserInterface/Systems/Storage/StorageUIController.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs b/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs index c83a80b4a5..5f3ae3a2da 100644 --- a/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs +++ b/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs @@ -233,6 +233,8 @@ public sealed class StorageUIController : UIController, IOnSystemChanged Date: Mon, 26 Feb 2024 10:24:59 +1100 Subject: [PATCH 61/73] Satchel empty space is now fully transparent (#25147) * add * thin spaces * update --- .../Clockwork/Storage/tile_blocked.png | Bin 151 -> 0 bytes .../Clockwork/Storage/tile_blocked_opaque.png | Bin 148 -> 0 bytes .../Interface/Default/Storage/tile_blocked.png | Bin 124 -> 104 bytes .../Default/Storage/tile_blocked_opaque.png | Bin 129 -> 104 bytes .../Plasmafire/Storage/tile_blocked.png | Bin 168 -> 0 bytes .../Plasmafire/Storage/tile_blocked_opaque.png | Bin 150 -> 0 bytes .../Interface/Retro/Storage/tile_blocked.png | Bin 167 -> 0 bytes .../Retro/Storage/tile_blocked_opaque.png | Bin 167 -> 0 bytes .../Slimecore/Storage/tile_blocked.png | Bin 171 -> 0 bytes .../Slimecore/Storage/tile_blocked_opaque.png | Bin 150 -> 0 bytes 10 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Resources/Textures/Interface/Clockwork/Storage/tile_blocked.png delete mode 100644 Resources/Textures/Interface/Clockwork/Storage/tile_blocked_opaque.png delete mode 100644 Resources/Textures/Interface/Plasmafire/Storage/tile_blocked.png delete mode 100644 Resources/Textures/Interface/Plasmafire/Storage/tile_blocked_opaque.png delete mode 100644 Resources/Textures/Interface/Retro/Storage/tile_blocked.png delete mode 100644 Resources/Textures/Interface/Retro/Storage/tile_blocked_opaque.png delete mode 100644 Resources/Textures/Interface/Slimecore/Storage/tile_blocked.png delete mode 100644 Resources/Textures/Interface/Slimecore/Storage/tile_blocked_opaque.png diff --git a/Resources/Textures/Interface/Clockwork/Storage/tile_blocked.png b/Resources/Textures/Interface/Clockwork/Storage/tile_blocked.png deleted file mode 100644 index 9a553a3e7bb0b99e1523dea8c8a371e809ca8d9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucK^;#Q#}EtuWRd3yKTbI?CR`Cs{K1eqnN_0M r)Kb$p;R@?wJ%*-0@qjl>Y-|isiXsnI=>G&7z`)??>gTe~DWM4fb6+TP diff --git a/Resources/Textures/Interface/Clockwork/Storage/tile_blocked_opaque.png b/Resources/Textures/Interface/Clockwork/Storage/tile_blocked_opaque.png deleted file mode 100644 index c198cd3f97c78445f530b3f1d2595a01fc961d00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucK}}B=#}EtuWRd3y3Y-RP*+ot>k1)E$3TkwF n7-TUUCR|}lV(2t8FkoQl;$@R}*4iTt)WqQF>gTe~DWM4fAJHO) diff --git a/Resources/Textures/Interface/Default/Storage/tile_blocked.png b/Resources/Textures/Interface/Default/Storage/tile_blocked.png index 663f9b5ec5413e8d03b6f6ebeb08a66e5ea32128..d6896f1feb8eb01d46d361a2a67abfb8d6110ce7 100644 GIT binary patch delta 73 zcmb=)n4sb!>gnPbVj-BEAi=s=(Ljo6u_6N}BLj;71LMBrU?m0y2ENn?&op0O1}z|) V1BgN3Qt)ID<>~6@vd$@?2>>x14z>UQ delta 93 zcmd0(nV=HESRCZ;#IWw1%u5Ca1~X3=#}JF&OlZ7Rf8r{?aRcjmBPKnC x>t#C_Q*PV6Y6=wR(Gx$wuu?BEF(Dy=f#KB@&LDNg+9IF{44$rjF6*2UngD2JAx;1Q diff --git a/Resources/Textures/Interface/Default/Storage/tile_blocked_opaque.png b/Resources/Textures/Interface/Default/Storage/tile_blocked_opaque.png index 16a65e36dbde7516dc0c56b2c022a6811e3d9249..d6896f1feb8eb01d46d361a2a67abfb8d6110ce7 100644 GIT binary patch delta 74 zcmZo<%$T6!BI@bl7-AuqoFKuvSkXX=X|W;$CnE!k00ZN`U}oXkrG1_o_6wg$RK^-*tru-Pbag~ z{r&U5y+~X`TjEaJrjtyI^(0CeIe6H`5AZ0Mx;GUmF#`d^5m6c2L$YoCK!X@OUHx3v IIVCg!015psa{vGU diff --git a/Resources/Textures/Interface/Plasmafire/Storage/tile_blocked_opaque.png b/Resources/Textures/Interface/Plasmafire/Storage/tile_blocked_opaque.png deleted file mode 100644 index ed269d602388091090aa09f92ac3358a3e3edaec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFCBeIx*f$uN~Gak=hkpdJ{@pN$v zk+_`fz~E?*kdP3<#LUR%mYS?!u!xm8jrC3tM?wMv1HV3B^$r$0kj)I9u6{1-oD!M< DQUxcq diff --git a/Resources/Textures/Interface/Retro/Storage/tile_blocked_opaque.png b/Resources/Textures/Interface/Retro/Storage/tile_blocked_opaque.png deleted file mode 100644 index cedfcffb2bef98e6a18c9cf340718d5cc87e8e73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFCBeIx*f$uN~Gak=hkpdJ{@pN$v zk+_`fz~E?*kdP3<#LUR%mYS?!u!xm8jrC3tM?wMv1HV3B^$r$0kj)I9u6{1-oD!M< DQUxcq diff --git a/Resources/Textures/Interface/Slimecore/Storage/tile_blocked.png b/Resources/Textures/Interface/Slimecore/Storage/tile_blocked.png deleted file mode 100644 index c5b1701f399f86190c3b468ea2b50d2cc878eab4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucK?hG4#}EtuWRa=U{v2>%WRN~^HSsWrv9s{)bP0l+XkKD7qlN From 48604b0019feb15bf06272e0b1c1f13cd71ab38e Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 23:26:05 +0000 Subject: [PATCH 62/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index cadecf1ac7..1c1f65a063 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,19 +1,4 @@ Entries: -- author: themias - changes: - - message: Cyborgs can interact with shuttle consoles, gas mixers and gas filters. - type: Fix - id: 5522 - time: '2024-01-03T06:31:58.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23391 -- author: metalgearsloth - changes: - - message: Fix solution injections considering the fly-by sound range and not the - collision range. - type: Fix - id: 5523 - time: '2024-01-03T07:57:36.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23429 - author: Bhijn and Myr changes: - message: Light fixtures now actually glow when they're powered on. Like. Their @@ -3844,3 +3829,18 @@ id: 6021 time: '2024-02-25T23:03:22.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25391 +- author: Krunk + changes: + - message: Fixed grid inventory occasionally messing with your item rotation. + type: Fix + id: 6022 + time: '2024-02-25T23:24:21.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25510 +- author: Ubaser + changes: + - message: Satchels no longer have darkened space representing a gap, and is instead + transparent. + type: Tweak + id: 6023 + time: '2024-02-25T23:24:59.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25147 From 97d41cf9453025a07fe067f2d2c2cacc60e56593 Mon Sep 17 00:00:00 2001 From: hiucko <86206040+Hiucko@users.noreply.github.com> Date: Mon, 26 Feb 2024 02:33:12 +0300 Subject: [PATCH 63/73] add "missing spacepen" poster (#25502) * add missing spacepen poster adds missing spacepen poster * Update meta.json --------- Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com> --- .../Markers/Spawners/Random/posters.yml | 1 + .../Structures/Wallmounts/Signs/posters.yml | 9 + .../Wallmounts/posters.rsi/meta.json | 437 +++++++++++++++++- .../posters.rsi/poster63_contraband.png | Bin 0 -> 1439 bytes 4 files changed, 446 insertions(+), 1 deletion(-) create mode 100644 Resources/Textures/Structures/Wallmounts/posters.rsi/poster63_contraband.png diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/posters.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/posters.yml index 541a766fef..4dcc97ad31 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/posters.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/posters.yml @@ -91,6 +91,7 @@ - PosterContrabandEnlistGorlex - PosterContrabandInterdyne - PosterContrabandWaffleCorp + - PosterContrabandMissingSpacepen chance: 1 - type: entity diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/posters.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/posters.yml index f12cc613ce..cd4850d488 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/posters.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/Signs/posters.yml @@ -590,6 +590,15 @@ components: - type: Sprite state: poster62_contraband + +- type: entity + parent: PosterBase + id: PosterContrabandMissingSpacepen + name: "Missing Spacepen" + description: "This poster depicts something you will never find." + components: + - type: Sprite + state: poster63_contraband # Legit - type: entity diff --git a/Resources/Textures/Structures/Wallmounts/posters.rsi/meta.json b/Resources/Textures/Structures/Wallmounts/posters.rsi/meta.json index b0d8f4e681..34d277c984 100644 --- a/Resources/Textures/Structures/Wallmounts/posters.rsi/meta.json +++ b/Resources/Textures/Structures/Wallmounts/posters.rsi/meta.json @@ -1 +1,436 @@ -{"version": 1, "license": "CC-BY-SA-3.0", "copyright": "Taken from at commit https://github.com/tgstation/tgstation/commit/f01de25493e2bd2706ef9b0303cb0d7b5e3e471b. poster52_contraband, poster53_contraband and poster54_contraband taken from https://github.com/vgstation-coders/vgstation13/blob/435ed5f2a7926e91cc31abac3a0d47d7e9ad7ed4/icons/obj/posters.dmi. originmap, poster55_contraband, poster56_contraband, poster57_contraband and poster39_legit by discord brainfood#7460", "size": {"x": 32, "y": 32}, "states": [{"name": "rolled_contraband"}, {"name": "rolled_legit"}, {"name": "poster_being_set", "delays": [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]}, {"name": "pinningposter"}, {"name": "poster_broken"}, {"name": "poster1_contraband"}, {"name": "poster2_contraband"}, {"name": "poster3_contraband"}, {"name": "poster4_contraband"}, {"name": "poster5_contraband"}, {"name": "poster6_contraband"}, {"name": "poster7_contraband"}, {"name": "poster8_contraband"}, {"name": "poster9_contraband"}, {"name": "poster10_contraband"}, {"name": "poster11_contraband"}, {"name": "poster12_contraband"}, {"name": "poster13_contraband"}, {"name": "poster14_contraband"}, {"name": "poster15_contraband"}, {"name": "poster16_contraband"}, {"name": "poster17_contraband"}, {"name": "poster18_contraband"}, {"name": "poster19_contraband"}, {"name": "poster20_contraband"}, {"name": "poster21_contraband"}, {"name": "poster22_contraband"}, {"name": "poster23_contraband"}, {"name": "poster24_contraband"}, {"name": "poster25_contraband"}, {"name": "poster26_contraband"}, {"name": "poster27_contraband"}, {"name": "poster28_contraband"}, {"name": "poster29_contraband"}, {"name": "poster30_contraband"}, {"name": "poster31_contraband"}, {"name": "poster32_contraband"}, {"name": "poster33_contraband"}, {"name": "poster35_contraband"}, {"name": "poster36_contraband"}, {"name": "poster37_contraband"}, {"name": "poster38_contraband"}, {"name": "poster39_contraband"}, {"name": "poster40_contraband"}, {"name": "poster41_contraband"}, {"name": "poster42_contraband"}, {"name": "poster43_contraband"}, {"name": "poster44_contraband"}, {"name": "poster45_contraband"}, {"name": "poster46_contraband"}, {"name": "poster47_contraband"}, {"name": "poster48_contraband"}, {"name": "poster50_contraband"}, {"name": "poster55_contraband"}, {"name": "poster56_contraband"}, {"name": "poster57_contraband"}, {"name": "poster58_contraband"}, {"name": "poster59_contraband"}, {"name": "poster60_contraband"}, {"name": "poster61_contraband"}, {"name": "poster62_contraband"}, {"name": "poster51_contraband"}, {"name": "poster1_legit"}, {"name": "poster2_legit"}, {"name": "poster3_legit"}, {"name": "poster4_legit"}, {"name": "poster5_legit"}, {"name": "poster6_legit"}, {"name": "poster7_legit"}, {"name": "poster8_legit"}, {"name": "poster9_legit"}, {"name": "poster10_legit"}, {"name": "poster11_legit"}, {"name": "poster12_legit"}, {"name": "poster13_legit"}, {"name": "poster14_legit"}, {"name": "poster15_legit"}, {"name": "poster16_legit"}, {"name": "poster17_legit"}, {"name": "poster18_legit"}, {"name": "poster19_legit"}, {"name": "poster20_legit"}, {"name": "poster21_legit"}, {"name": "poster22_legit"}, {"name": "poster23_legit"}, {"name": "poster24_legit"}, {"name": "poster25_legit"}, {"name": "poster26_legit"}, {"name": "poster27_legit"}, {"name": "poster28_legit"}, {"name": "poster29_legit"}, {"name": "poster30_legit"}, {"name": "poster31_legit"}, {"name": "poster32_legit"}, {"name": "poster33_legit"}, {"name": "poster34_legit"}, {"name": "poster35_legit"}, {"name": "poster36_legit"}, {"name": "poster37_legit"}, {"name": "poster38_legit"}, {"name": "poster39_legit"}, {"name": "poster40_legit"}, {"name": "poster41_legit"}, {"name": "poster42_legit"}, {"name": "poster43_legit"}, {"name": "poster44_legit"}, {"name": "poster45_legit"}, {"name": "poster46_legit"}, {"name": "poster47_legit"}, {"name": "poster48_legit"}, {"name": "poster49_legit"}, {"name": "poster50_legit"}, {"name": "poster51_legit"}, {"name": "random_legit"}, {"name": "random_contraband"}, {"name": "random_anything"}, {"name": "poster52_contraband", "directions": 1, "delays": [[1.0]]}, {"name": "poster53_contraband", "directions": 1, "delays": [[1.0]]}, {"name": "poster54_contraband", "directions": 1, "delays": [[1.0]]}, {"name": "bagelmap", "directions": 1, "delays": [[1.0]]}, {"name": "deltamap", "directions": 1, "delays": [[1.0]]}, {"name": "marathonmap", "directions": 1, "delays": [[1.0]]}, {"name": "originmap", "delays": [[1.0]]}, {"name": "moosemap", "directions": 1, "delays": [[1.0]]}, {"name": "packedmap", "directions": 1, "delays": [[1.0]]}, {"name": "pillarmap", "directions": 1, "delays": [[1.0]]}, {"name": "salternmap", "directions": 1, "delays": [[1.0]]}, {"name": "splitmap", "directions": 1, "delays": [[1.0]]}, {"name": "lighthousemap", "directions": 1, "delays": [[1.0]]}, {"name": "waystationmap", "directions": 1, "delays": [[1.0]]}]} +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from at commit https://github.com/tgstation/tgstation/commit/f01de25493e2bd2706ef9b0303cb0d7b5e3e471b. poster52_contraband, poster53_contraband and poster54_contraband taken from https://github.com/vgstation-coders/vgstation13/blob/435ed5f2a7926e91cc31abac3a0d47d7e9ad7ed4/icons/obj/posters.dmi. originmap, poster55_contraband, poster56_contraband, poster57_contraband and poster39_legit by discord brainfood#7460, poster63_contraband by discord foboscheshir_", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "rolled_contraband" + }, + { + "name": "rolled_legit" + }, + { + "name": "poster_being_set", + "delays": [ + [ + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1, + 1 + ] + ] + }, + { + "name": "pinningposter" + }, + { + "name": "poster_broken" + }, + { + "name": "poster1_contraband" + }, + { + "name": "poster2_contraband" + }, + { + "name": "poster3_contraband" + }, + { + "name": "poster4_contraband" + }, + { + "name": "poster5_contraband" + }, + { + "name": "poster6_contraband" + }, + { + "name": "poster7_contraband" + }, + { + "name": "poster8_contraband" + }, + { + "name": "poster9_contraband" + }, + { + "name": "poster10_contraband" + }, + { + "name": "poster11_contraband" + }, + { + "name": "poster12_contraband" + }, + { + "name": "poster13_contraband" + }, + { + "name": "poster14_contraband" + }, + { + "name": "poster15_contraband" + }, + { + "name": "poster16_contraband" + }, + { + "name": "poster17_contraband" + }, + { + "name": "poster18_contraband" + }, + { + "name": "poster19_contraband" + }, + { + "name": "poster20_contraband" + }, + { + "name": "poster21_contraband" + }, + { + "name": "poster22_contraband" + }, + { + "name": "poster23_contraband" + }, + { + "name": "poster24_contraband" + }, + { + "name": "poster25_contraband" + }, + { + "name": "poster26_contraband" + }, + { + "name": "poster27_contraband" + }, + { + "name": "poster28_contraband" + }, + { + "name": "poster29_contraband" + }, + { + "name": "poster30_contraband" + }, + { + "name": "poster31_contraband" + }, + { + "name": "poster32_contraband" + }, + { + "name": "poster33_contraband" + }, + { + "name": "poster35_contraband" + }, + { + "name": "poster36_contraband" + }, + { + "name": "poster37_contraband" + }, + { + "name": "poster38_contraband" + }, + { + "name": "poster39_contraband" + }, + { + "name": "poster40_contraband" + }, + { + "name": "poster41_contraband" + }, + { + "name": "poster42_contraband" + }, + { + "name": "poster43_contraband" + }, + { + "name": "poster44_contraband" + }, + { + "name": "poster45_contraband" + }, + { + "name": "poster46_contraband" + }, + { + "name": "poster47_contraband" + }, + { + "name": "poster48_contraband" + }, + { + "name": "poster50_contraband" + }, + { + "name": "poster55_contraband" + }, + { + "name": "poster56_contraband" + }, + { + "name": "poster57_contraband" + }, + { + "name": "poster58_contraband" + }, + { + "name": "poster59_contraband" + }, + { + "name": "poster60_contraband" + }, + { + "name": "poster61_contraband" + }, + { + "name": "poster62_contraband" + }, + { + "name": "poster63_contraband" + }, + { + "name": "poster51_contraband" + }, + { + "name": "poster1_legit" + }, + { + "name": "poster2_legit" + }, + { + "name": "poster3_legit" + }, + { + "name": "poster4_legit" + }, + { + "name": "poster5_legit" + }, + { + "name": "poster6_legit" + }, + { + "name": "poster7_legit" + }, + { + "name": "poster8_legit" + }, + { + "name": "poster9_legit" + }, + { + "name": "poster10_legit" + }, + { + "name": "poster11_legit" + }, + { + "name": "poster12_legit" + }, + { + "name": "poster13_legit" + }, + { + "name": "poster14_legit" + }, + { + "name": "poster15_legit" + }, + { + "name": "poster16_legit" + }, + { + "name": "poster17_legit" + }, + { + "name": "poster18_legit" + }, + { + "name": "poster19_legit" + }, + { + "name": "poster20_legit" + }, + { + "name": "poster21_legit" + }, + { + "name": "poster22_legit" + }, + { + "name": "poster23_legit" + }, + { + "name": "poster24_legit" + }, + { + "name": "poster25_legit" + }, + { + "name": "poster26_legit" + }, + { + "name": "poster27_legit" + }, + { + "name": "poster28_legit" + }, + { + "name": "poster29_legit" + }, + { + "name": "poster30_legit" + }, + { + "name": "poster31_legit" + }, + { + "name": "poster32_legit" + }, + { + "name": "poster33_legit" + }, + { + "name": "poster34_legit" + }, + { + "name": "poster35_legit" + }, + { + "name": "poster36_legit" + }, + { + "name": "poster37_legit" + }, + { + "name": "poster38_legit" + }, + { + "name": "poster39_legit" + }, + { + "name": "poster40_legit" + }, + { + "name": "poster41_legit" + }, + { + "name": "poster42_legit" + }, + { + "name": "poster43_legit" + }, + { + "name": "poster44_legit" + }, + { + "name": "poster45_legit" + }, + { + "name": "poster46_legit" + }, + { + "name": "poster47_legit" + }, + { + "name": "poster48_legit" + }, + { + "name": "poster49_legit" + }, + { + "name": "poster50_legit" + }, + { + "name": "poster51_legit" + }, + { + "name": "random_legit" + }, + { + "name": "random_contraband" + }, + { + "name": "random_anything" + }, + { + "name": "poster52_contraband" + }, + { + "name": "poster53_contraband" + }, + { + "name": "poster54_contraband" + }, + { + "name": "bagelmap" + }, + { + "name": "deltamap" + }, + { + "name": "marathonmap" + }, + { + "name": "originmap" + }, + { + "name": "moosemap" + }, + { + "name": "packedmap" + }, + { + "name": "pillarmap" + }, + { + "name": "salternmap" + }, + { + "name": "splitmap" + }, + { + "name": "lighthousemap" + }, + { + "name": "waystationmap" + } + ] +} diff --git a/Resources/Textures/Structures/Wallmounts/posters.rsi/poster63_contraband.png b/Resources/Textures/Structures/Wallmounts/posters.rsi/poster63_contraband.png new file mode 100644 index 0000000000000000000000000000000000000000..3ecb203059e984f28963c953e32f226ca5a59cd0 GIT binary patch literal 1439 zcmV;Q1z`G#P)Px)SxH1eR9J=OmrH0HR}_Z7JDzbgvfhnU$#NX9vM{ueQbJd47U?F`U5YkPXvm}4 zI3$Z2nw23BViMwD)J16n4Fu9W=(3BhvkfV2Q%azv#KlgOnZ~vxd!*55bi0sesm z+U<5nun?qDDO6QO2!U|30Qu=@48y?r_#F(xAhmx#^?IG%Q&Tw8 z)1=dBc27+aKYSQX(^x%l0DxEDeV24P&FhB_b*%gFLsI+qGg&MGFg!fmLm=RRcDvoN zywzf|SmcrHxEDJAe~gVWdiO2>_QVA4?c303uqzVbuSUZs@kmMlCWT<--aQP%fL5zV zd5;H7)1+3bp)M`)^Ecm6*tajRdFab83BUCg0Oij=M}7NkLZJ}r>2-h4{p;766oNvb zKr5feFbpP(MWWFtLIkeAmw?=4{zyvp?Ae3%-~j;E8*gBmCObd)z_%_m{T{>3X2QRo}ziQ2XpNK6jvd3c?d^F$*L48m@igp;0;c$3+1V%s&sc z?^}p^2zYPx&Ye4bH~&{iDJhrB+aqAxHma)nmRBm3!1{KuHGg<+Hw@#&1UzV(2EeIP zr~K3$i^UK^pzAt92vk*NW@d&fSFX@%wUAQ!k?x(*G>yxbFC&D&vMl29IM1Fv8%)3p zILoq#L?V<*C7wQgN~^1z(KO8`(r7d|dGaK!Rtr__h-x;QIF5s=s^oGx*4Nh&LeOkB z1Ku1+ARdng0;W_d;W&<;N;OSmZf=g**;&q=JIB?lS6N(K`GiT1AX`257 zP*s)L*;y);3aY9yKR=JI>&(r~VObUn3kyA^yDtHcgmPoG9rRsVU8jC8W%*21DF z3KuS12*?;38sg%`i~gJ!3oj&K+cuF%L|I&1^xdCKCjG#KPH*4bY(_nV!{LB%%d%*< z+t{{^rfDdO!ph1D{o1_%rAQ?5o2sg@a5$Xl{=^bO;JPlE%s*dj&!0c{txY5ne%gjk t9r2J%CUIRC*L5*Xla-Z~{weXL#ou|LS-n@`*{}cr002ovPDHLkV1kvEv?%}p literal 0 HcmV?d00001 From 656679cb54317afb8408e0bed47e26da1773ddee Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Mon, 26 Feb 2024 02:41:24 +0300 Subject: [PATCH 64/73] Flora anomaly nerf (#25499) * Update kudzu.yml * Update living_light.yml * files * Update flora.yml * Update kudzu.yml * bul * Update kudzu.yml * Update living_light.yml * bullet immune --- .../Entities/Mobs/NPCs/living_light.yml | 14 +-- .../Entities/Objects/Decoration/flora.yml | 84 ++++++++++++++++++ .../Entities/Objects/Misc/kudzu.yml | 21 +++-- .../Flora/flora_treeslight.rsi/meta.json | 29 ++++++ .../Flora/flora_treeslight.rsi/tree01.png | Bin 0 -> 4411 bytes .../Flora/flora_treeslight.rsi/tree02.png | Bin 0 -> 4450 bytes .../Flora/flora_treeslight.rsi/tree03.png | Bin 0 -> 2001 bytes .../Flora/flora_treeslight.rsi/tree04.png | Bin 0 -> 1986 bytes .../Flora/flora_treeslight.rsi/tree05.png | Bin 0 -> 1240 bytes .../Flora/flora_treeslight.rsi/tree06.png | Bin 0 -> 1226 bytes 10 files changed, 124 insertions(+), 24 deletions(-) create mode 100644 Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/meta.json create mode 100644 Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree01.png create mode 100644 Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree02.png create mode 100644 Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree03.png create mode 100644 Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree04.png create mode 100644 Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree05.png create mode 100644 Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree06.png diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/living_light.yml b/Resources/Prototypes/Entities/Mobs/NPCs/living_light.yml index cc75405e10..9b90d202f3 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/living_light.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/living_light.yml @@ -30,10 +30,6 @@ state: glow shader: unshaded - type: MobState - - type: MobThresholds - thresholds: - 0: Alive - 50: Dead - type: SlowOnDamage speedModifierThresholds: 20: 0.5 @@ -94,7 +90,7 @@ thresholds: - trigger: !type:DamageTrigger - damage: 50 + damage: 25 behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] @@ -128,10 +124,6 @@ - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] state: glow shader: unshaded - - type: MobThresholds - thresholds: - 0: Alive - 50: Dead - type: DamageStateVisuals states: Alive: @@ -159,10 +151,6 @@ - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ] state: glow shader: unshaded - - type: MobThresholds - thresholds: - 0: Alive - 40: Dead - type: DamageStateVisuals states: Alive: diff --git a/Resources/Prototypes/Entities/Objects/Decoration/flora.yml b/Resources/Prototypes/Entities/Objects/Decoration/flora.yml index 791127170f..6a622d7bea 100644 --- a/Resources/Prototypes/Entities/Objects/Decoration/flora.yml +++ b/Resources/Prototypes/Entities/Objects/Decoration/flora.yml @@ -484,3 +484,87 @@ components: - type: Sprite state: tree06 + +- type: entity + parent: BaseTree + id: LightTree01 + name: glowing tree + description: a marvelous tree filled with strange energy. + components: + - type: PointLight + radius: 2.0 + energy: 4.5 + color: "#6270bb" + - type: Sprite + sprite: Objects/Decoration/Flora/flora_treeslight.rsi + state: tree01 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 400 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/Effects/tree_fell.ogg + params: + volume: 5 + variation: 0.05 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:SpawnEntitiesBehavior + spawn: + Log: + min: 0 + max: 1 + - !type:SpawnEntitiesBehavior + spawn: + MobLuminousObject: + min: 0 + max: 1 + +- type: entity + parent: LightTree01 + id: LightTree02 + components: + - type: Sprite + sprite: Objects/Decoration/Flora/flora_treeslight.rsi + state: tree02 + +- type: entity + parent: LightTree01 + id: LightTree03 + components: + - type: Sprite + sprite: Objects/Decoration/Flora/flora_treeslight.rsi + state: tree03 + +- type: entity + parent: LightTree01 + id: LightTree04 + components: + - type: Sprite + sprite: Objects/Decoration/Flora/flora_treeslight.rsi + state: tree04 + +- type: entity + parent: LightTree01 + id: LightTree05 + components: + - type: Sprite + sprite: Objects/Decoration/Flora/flora_treeslight.rsi + state: tree05 + +- type: entity + parent: LightTree01 + id: LightTree06 + components: + - type: Sprite + sprite: Objects/Decoration/Flora/flora_treeslight.rsi + state: tree06 diff --git a/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml b/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml index 6ebf095117..5de1f0b7f9 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/kudzu.yml @@ -135,15 +135,12 @@ offset: 0.2 chance: 0.05 prototypes: - - FloraTree01 - - FloraTree02 - - FloraTree03 - - FloraTree04 - - FloraTree05 - - FloraTree06 - - FloraTreeLarge01 - - FloraTreeLarge02 - - FloraTreeLarge03 + - LightTree01 + - LightTree02 + - LightTree03 + - LightTree04 + - LightTree05 + - LightTree06 - CrystalCyan rarePrototypes: - AnomalyFloraBulb @@ -154,13 +151,15 @@ parent: KudzuFlowerFriendly components: - type: Kudzu - spreadChance: 0.4 + spreadChance: 0.2 - type: RandomSpawner - chance: 0.1 + chance: 0.05 rarePrototypes: - AnomalyFloraBulb + - AnomalyFloraBulb - MobLuminousEntity - MobLuminousObject + - MobLuminousPerson - type: entity id: FleshKudzu diff --git a/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/meta.json b/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/meta.json new file mode 100644 index 0000000000..4820db2c63 --- /dev/null +++ b/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/meta.json @@ -0,0 +1,29 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by TheShuEd for Space Station 14", + "size": { + "x": 96, + "y": 96 + }, + "states": [ + { + "name": "tree01" + }, + { + "name": "tree02" + }, + { + "name": "tree03" + }, + { + "name": "tree04" + }, + { + "name": "tree05" + }, + { + "name": "tree06" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree01.png b/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree01.png new file mode 100644 index 0000000000000000000000000000000000000000..986b78b0ccfcf9a20064c595a2f97465a2fc329d GIT binary patch literal 4411 zcmV-B5yb9^P)Px_^+`lQRCt{2oNa7d*LlZ(j7Z*lNs5$6ky0p2isf3hT^o+mG}9Kh&5(FQojF}I z#0!=cC<3o-He_v@0?UUc%^D2bfHYY!Al^%A1YHWaSvNFGoexXaI9Y1AP2$*bVmpdu zTcSiulqkN4ye}dZ?!(nNBJ~nyi6vep`U8e_4-YTTeg4n+KhJs2Az=+`Si>6Du!c3P zVGV0o!*aOuhtF5Uzopujx?b4ViE!0>0GEO=Vqbq$whbJe;K04RTzCHP`O3CEJy;WZ zOu#%-UAR= zN;Qd$-?lwHj+P=v5Fliu+Or=W7^nm^ zl~_Cgz*|R$WPfWyM~V96jEHqdKJe$P$OC)?ID!BH;jz^y7$&iJ0AH({oMFg*!uzX@ zZ%ybmvm!k_1t4dE6K6x+2@u{7)EF;uA_YLCJ50eaWt$T9k;)WEB@41|H8ItM=$SI< z;VBt6oQS#;AfQBjHP^mYw`>b&DgjN!*XqWa(8(q<7;cNii4>{fG*C;P_`7R+3_Vj` z^8QYN2Y2#t?4`|*S|-c3$0Vdep9GNgc}%6p0T zr;-J9)8eMDUcKmZ>lqj7wm_-Y{%TZ9g_sQiO_j4iv?t3tepO{;V2sc7#$`+p#EE`N z)JNh(igY=TPgVHbwSA<9)5|X0R(sLrh!~(meH08+8c}%dLT?Ufn)LKw$sW4qRY)ZZ z_*&gEWv#wPNYn7Ox(UTwfcb#Ea51-Y?EY)4pI+73P(49{wRqPDVaG9yq%ypnO~(Rw^26& z4&1xTHE?u-kfuqmjC6->Z=LhGZLZgn2M3U$qb4&1xT)xPssC7aC9_n9uhCIMK|n}xcc zzc`5}Y?D+pO`6+7w8UHG_4$h?{$`b;X_6VvQp%c`mPPEA&&o_G7q#W-t)#u)IDYIL z`E+e*V>M7$0&c$l=}OTw@q{(bU!3IX-Y)6kAx-0)F-4?1EN8^=@+76V)99v!l`GTQ z?w3S>ZT!-dA<0O+IR=1fSv0qYT3gJ#*4JJ`x!o#=FF4#05F&sb=`2+6BU3$GP|mFsOt*>dskshw?b&38Vwf85Zf+0B`(#FPcnTJ!tXU%?W2dI(Kg{E%wcXG3Xsw42CPro2 zx!T?jbqvCX9@^_V^w3_{>Hj{@`QKcS?N+XgZdw2`%MsU}utxeqhLM3W*bfl(Ht7vTdMJ)+WW%qM~^fHt*=7cU@#Y<;)ZTaLszz(A8N1n{1Kai?+_+ zeSpCqf1_qRg=Ci3p84)4XCZdzp}q29g<%2uZdgy(@5BK}97#$NN?8+6iz;Pi^NucA zHI>;?$c^xDfel@qmFc1R8qoAmhL?Z*jT%F*w&4ZpUX1JgR1eJ9fA{s;C4tR*x=0UC z5$IJ>et##!zt5+_o0ZI9XM9k} z0xL>@C~~!QYdmt>&SgDp=iW`^41q0XYB()*KW7-k;sFvTQe=m1@~YPh zo4)oaU;OryAGqB7+B4sk>w(q6ig?NH2cN1$HiU_)LALhy@Z#ZMK|C7bmfn} z{@dgXL+;<|nKE1Zd&n7vT_}qONS1Ybku_c<9tqd%6)Y^=4ZNKI?38oEP3wreeWa2F zvcm@B*-TB~cLG*q1_UEM(t}exa@$VV&wlh0i6cqwyZ&m|xfe%dpPTQ0y3*XK^3p3O z0lNlNeF_5Rb=|M3a&@e9&l|bAs0Q=1rzPG>_camXZoBZdwZ8|Y_X?Uj)m1MyUkWQi zz}TrNxvG5UM}I})7vBfq=a1j+0^9f-Zd%9s9qWMk(+jcg2&rUY-uvftzG#|KTEyb) z{KZKI-cHE)aQx&j$+FJpuI(e%8bB*6ay-Y+C1{DavVO-pvgaxiV+Zretu<4$n)Ehykh7lVp<_@?&{fU`w60YeXVGfL*G{83rex zwTo=2WPxA*@(iidlN3#pqG{p@`d8|aKNMDkfa+!a!fZs4P&7?arzdG`_tV<$m!}*0 z`lH0+0jcdd!yvY~jiD3so|_rT(c11OGj6YX&%St0zLq$VqNUrGt7LkLSO4ZNz$UCT zWzexD%xVYP_rt2Jga;F&u4*FAJb4d;FN{bdw!~W*N~M?7_VX8Q!)^c4767>l9y)Q6 z{8*m+SRQ@cWNa=oip2vwa@$VVGvE2+MdLVo_+30L>Z0~~Vnqm8Zdosg==y`dru&+R z46GvqW3u{MT`+ex5NAQxrUF~vq+?!!utUZe)ASN zriJoYPt>gzR47>ZRh5I^yv3C`l4N9HjM9{?`9hvxUh7kDj*(C6wztofnUDR)!}!`4 zdvsralrMh!Nx&w(x&&Rynx8xgs>Tg>JyGe{5=QeXGI)Y*n9N9y=}~)QWqQ;kGhUSc z3*!Tv{Mq;LwX2lI#$>4(puMG49xqXPuVB;H9xoL=4eK#xEYgEhjGai4zK~(?g%QM-CD>Y@PwPDQ;Genx&cFCL zsz1olfBH-Q@XrrQNg0|uwzwShag%Gm{O~7Ng1-LK|EU-=mb~uR5~lhZz?iW(^w3_{ z{;%BVYVNc(-q)_y1l}9}?C)`_0X~1*KXCNF?qfWgxuo%(Bs~JFPC!0opS|how~wKW zotom`zPj6$IFjVV0ei)qIAZUJ?SAm73MKn=v&eS9jsXDHtj^K@{X6{ec+F>s^}$l8 z$FA4=VbuvZc=xR?Vc=>U-oMYK`uuGEz4bModhqUBmo(PYV49}Vdo)e!kS`!+ia>MB zZ4+39Yrp((#Yx78ItF2}fnLhbd#kAz$&BP=ny50%^>;j0*|F;fHHH+j17H^On7VzB z{a?A!1&|-hFG-x!j1P4rK<1yRdK0jlprerB&I%CNGxw8vqjizE27oX#- z$MM3Cg1Qh;NM>s`;RQ^+$h(LBR$l9q7QQxRQNN!*e!C09#M9D(sx3|}tAn-EQTNl) zY4OJM4=j?7l4ToL_1Of7wL(44cYYMqjezBX ztI%_R>+g81BFI?^rR?IvRMqvOMnK(Xz^{Jttwlr(AAcMGJ(XM1`#UynssOabdocAP zqr-!;PxWy`C+7VNQFj6sLiPFaC@PU?N9B#@A8?5bsG5i-t3+tqHp)s<{RVoOu&M;y z{*V88$r6C67x4#z^15eZ-;(`Yg(5yrXibEaX2Hi!f*~0wU3lN+4pNfGAr=O)Y4t1zRJ)kqfc^FI0c9W`B6$ zcf!_wy7)4}DomjS!nhR=-awe9T&8AWCXOg7Q6JVRoq@r%pDw=aD4PY!N)tt;j1t>O zliRzfk2RsAZ1K^zA$!qTz>h0Aj>noriERYtynjO!CV&Z> zgu$uFI*$0#XgCQ12>C*k3-iV5(3QPdV`n&U?=Dwo_Xg?hyC3{#2t)D6(i=BUKts&{ zfwIzs&lAEI>BJidlX~Mhz%EyaKBL2fu7ADrCRg^gwHa{P;kIVMgWQyn#kybs@&yLZ zyjhd=y!^ynYgy3cL?JVYTD=_^3{VO9@uc$<^xA#2@iAxpRPjPIoCJvz6K-p^W?$Ho z&QrFG_j{`&(J%xAL*dGmS8bHnWu=L!!~i}|2)8v$*)kR#(gG-4boOE0h9SVKsJ4d( z?ca}>c;^fN?zT^Tp!a`a-+o7~1sa9`KnB@xmwi|(wqrNt$+J?1DpY8T#cK?G?9hF# zFYMc2acUrLECTWc+=~6>?&eS{`i0+6RLYPqFjHE7i{7cmhXx^Fp;ylors&xEdCE!? zo^)QyQX`@v2mtV^Dg*ytWY4Bvrp(5MfN`a2g4Y7>tmNP^7JPx`97#k$RCt{2oqcQ@=Y7XNXOiOGks>8gqGZaVVmtQiES_sGZHy&pT_oAixK7pp z@d9K80>fMC4cXc>f8>wG$r=>v0B2cHATBm92-*&Coo;BBI>6?vaWgk?8aKA%xONoF zwnU4OC{lb8c`qX6+aIUrM9PxoWRZAm^#u&xJv^SC`+c9^`$HO*u!JQnVF^oE!V;FS zgeA;#C~ac3wR;bKK34>OFyLp<0k@w{*~VY?K$jdAGFl*~8Y_EgkqfR8GG- zP%|dbcWe}Z7r%M8tDn(Z?+MHYA!vXN+k4r`VQa(oUd&OgW=sg*-=SiTY7Sv;$Fh1) zU@q)@))ur7zQBgIRW`8-OzgI0U*y3tUNn5VDr7(6ccLP_y#IacVF_;#3OVYm!T5F-JAj zRxd$CCaB2Hz0_9ktoL^VTonb4)y| zy}Wb053mL6XWAJHEwQy|%pt{1sGA1NmPFn4)z6?ACaGi*m|p4r4waxH*F-u1qeg)b zlcV_B6e7)mt9*nw?%5c1OxeuUUvD$C=t+ur;Mo$ZXgtC@$NSI>lZZD&&&FttgN12( z9*qS#b0Nu!wOy19gP2#XAt*JNp{N@*#6hho6A<%Q&9F-J8b?IFxch2w`$V`dCWB?C{ui#OmWl`BxLRA};gk((7vvw|mJ zTTqYUBUjXDZB~&zl9L%vYGuII1li|fS-=N?H{hf1OahH7eD8tV>sqW^bPWhaR049*#@D7$9@8lnZITSrB>vf6%40gdHidvJJ496< zm&bH8!z3JQamLGII)m?KIP}bp-~K2FKpUA}!TpILhlK1%iSZ$W*3JOgkrIWBhBjiL zjToq%GKI{vmiVRw?`x6mf5^7qh{@!VSxRlTuv=obk0_5#C1h2?7vqEPW)|()XG2{Q zv0^gk9QP-Nq;oHQgYhAQL(lAxgg~UpCK5k;iX;1WN!6rKVJN`mzF{(# zvQ8AG876?U`ZdGE%um;qF8=BgXaD;mho0FX)ob;`B5T0$S00ycxo_`PHn;nWdjJsH zAjnwV(`~Kp>9zvxA)34FRl9yu4*;uH*f##`i3IwDtr2Am^a)$=<($Fg$}r`e!SHYF zifYdv#mElk$X5OBZBHJw>PbLdG~oCvkJmi#n?HC&8XuSz%lJUnAp<~Yh(Bzv7vZ!M zr&10fg^Y%;MYf5UGEa%Ol7KDvwOdy@_b=zBHL9M%2bUG&`V&J^_dwPfdgI%3UL#7> zH*e{6lB?fe6~lk)jlBI|?*pJtG_&E>UN+x)qf^L>#M?Oi>Of7aa@CE^99fJ9y9QiC zz?(mK#94{`i6IH7(E_kb6hW^{a5}1VlCH3#aOG$S!oy4gW(RjozQBP&IBe^W8 zto^>|CFFITpdypkb?0*zJ{UrD-)8>3$6h{aMPorWZ0}w0#?7JGz zQD!9}8VeGQN1O!i_8sfE=jk6U2nma7f{yIlHLviSdt2H0>|v`VuGmfWN`P$~wBnm1 zDd@{Op-d)Cl(s>`VUXmIO4}%K57BHapW{# z+`55OvdEbW$pw&x4Of|4CV@Y0AB$`l zY728>mxL(D{o?3pn!Dwia>RulUL;>L%MWW-*&*ut#|B_y z)M;Vnb=}!*v2xQ2O6v`_Vdn!sec?d~An~)OoOy|id?DZ}4e*5mlnjHCVURkT=Ix)K zbJ~-qUmYN?>rPpr+RmrWrtR1FhA9je$R)GRSYFqO#)2eHrN|BHj_EmnK82aDP%;ch zTfmOIW=3DvV>&-6TtmRt-TSSso7$Y}Ccr!2*-bKIuhf>fQnS6}{2LbloC03N;p;C^z4cr`?UZ@<-}eGA{F^bf5raZTbDB7gZ>TaeM0t1^ zwNvKwPre1AI*DZ-yjDFs1eX7Oh;S9`CtC{e|~pO(D7Fum#!6SXGcmk z=Yd#^WB>bI%t<@+6h5G)g;}mRMKsZzIrZXGB;HE$!>`^WIi0dCQ%#*zp2dc12!PpJ zmiIjUBda-Do31o>%TOrd8Q1WXuQ1j>dt?2;qxU=7bY$NyY5gCsL{OOv&Y*99=%^G3>N^{_mw*(07ENblLz~v5 za=|{XcFKzlS7pNUp}O24V3Z2@T3Twx^5>_^$KzSMc2rE}7zSk3j&%j{tOS_!`#?7kRm^Ir?f#m);=@CKKkMHp=Zpob^~?v?nV@Sy)OtjW zFIIEeygGb6ad?lUrA>bMZ+|NROllgk8enL!Ujoolc}700kI<{pPz21@6e;KC7NVBQ zbK67DJ5IgY{#TXB5VX08tj)0twejw{yJ;dnsryj@Fx!Mk+iAMa`5B} zSKV7^M?K+s0_H=-?;*Tl10J*NjGZ{VM*=$%I&pZ96zS-)e16$6S#Cl@5ipyhRDEHj z;_RlScgwYD1sWl&=e}4@2ie#qUA&g_+G2|MZ0iB|(azm7EA@E-V$}J^{SuBw9J|tn!)g z`DFsZ&?3+3`q9uDFf`aNMf8&8>*~VeZK7-%vzwt%5chpY-bO`w(ixo@C!w9nbiCra2Xn&0I-v>Qn66) zX?!9yBmvdQ)TfHG@Uzk3dJR~+x?|RFD^6A>@OYbO z3bx_(EBJ$Ln8mSc-O814EdgKJ^J8o6>JI!jsk8pHn8(|MKe~pJze2_Dp<)zgxr_VZ zS^@z2$I`a&M}bjW8-y14qigV)X{6)`RxrS%&wiBhL}QsH*ZP1`att;{=>H(iYfnGo zj1LX=OWpC+R(Sa;v`hB>f2mj^tcJ0>$D*i?N^|en8t|j2j{kv;2+M&UINmc{MU7g5k09g$%Q5>@iaM-y(Bf_-= z0E`T0Yt9X=gx8$JigiM0`U}`vIZrX0UhL_8DsVLcv!P<@_%e3ZEBe7=^}D(CI2T+^ zK=Gs6&A4JSR>jounvkF<{fg$W{nb^kU#V$HHUeBrz`O_r@ns5B{2sb)zQfre zC(s^^HH05%I08Jrsox4M6z$NnP-G%MLdDc6M?w$^(j+hWfCa^5*|g0Nw%O4#Ll6og zB}WJ?|3l}xM$m$WBVe*@If z3w zz3OwlR3sc}uPX_zBcNyXdP@jjFHI*^N+4KsF2;nW=;QgC_e-UM6bOVYM{BB(&!nAe z7VuH73$8LjvG^*hT986O?a`Q}mx@;j%;WXiCIwKM!_2&9>bS=2Oc;hM1TWy4iNxZo z99#c!1XR7sul0FBBDiDa3%Ft;|6k!$J8gYDUstF4anUdnoezylLPJdQdLc*n+a literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree03.png b/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree03.png new file mode 100644 index 0000000000000000000000000000000000000000..f37059eb97b17cbc7057618dc81aa73506d3c51f GIT binary patch literal 2001 zcmV;?2QK)DP)Px+i%CR5RCt{2noVrm<{8I-a%@vywq;pl7WpF{mIwis%snl}u-i8DP$Y*Pik*5e zhWHc|*e)#)V3!6S3IrIskHb(5*d>SVG8hO9Bq&f|J-K+To`_~M_%S5kz2uMOx9 zH&&`cO*I$}OH^eTiA0d(D8GSf>of)5*l{s_nII%&A(R2byjs6)@WjOb}9U)PFrhuZ0XCv zGXc)O^O2iuM&q^Fg!KN;&0y+N%){JN(JJ_ruo;WcNy#-1fafVu=uB6 zgaA@X+JfKk$<_INo!*_i_ai73ljk|WXf@GPgZi4m-yb_4K#Inn>il2*?Ne)VMggE% ztRuiTh5V4j4(c(v9|yBMF^l-*PlAeyPdD*bS57Q zu(_f#IisNFbTYGYAVly~fW}UR#%cw#TI7?f^P!ZIw#KJ3*6SDl2tZ;g!sLuXvsedk zt0gsCM$PG*o;~iCtV%lGbFG@wJsa0I!LxlpOqKvxT(}TA`U87Lm(*NncJ6&1jqdW} zH%~D+qp-Q60$(}5YMKBj>A3q_&aty`12{c<{LseoB6zwHTU@vh0x*hA_q%qz#pw7j zRnv55wu4hGfjz_BYo^9frpBn6rn{f0nx-3u4s%T36z{5_E~o4HYR|dCYMHjyU}7qX zBuDKM^|9j}Dp?b-1#%p}xuVkS5=@e#JtFuqA9%I`_By?rq!MEw8OG>50_@o?$x$RZ z%AH%AY-KevvocCL?&g51X}Sp*=n*V4D-%s0@ntK+(-7paeC?7uGgI;?1IaLj)iQdc z!Of*Ltl>Vg8zpWot#SSGJeq2-mDMQdb+o+hRz;gDsvG;&obHyWk{o4XD(TJOp2MLF zaQ@vtKXVr5|DUH-Gf65jz+Me)twCY6Ol~;`z}2_Ug*4Tmtu>KY{-Lt-%r4QZ;-T%int)05t57JZvJ#R8RHR@j1G3;t6 zsl+&XYK-hgiHcEU{q`1sTMez>-f|mxQ!^>wg&|Lp@Y9^{psi;)b~?h5b^}d?>zC&N z_|e?&dai5j)X`0gBruQ+6P3c$n|9a=j~pQ?g&9bOX=@GIT7!Die;rj{?`YwwL7eZIxJ{M}~yVQ#IgZ-Aidw9lwO?)fB;=+Yc zZnc7Te~Xfu3pMLH8@K=9o;Qk3QcBu7c5()Qod-{k?+-WXwDet!V)MEA=dkgu0019< zc(KP>$?@;G$9lfXv6D08@2>RR)4juXK7ah-#n9gG{erIr*o(Hk&X7Feh9PZxotg9R z_9W(*EbZIo@LTM6@Vx*|$Z*0Cz>qxQo?ls9;3vQQy|whgTTe9h_Of?H`2pVxu$Pum zA)Xim?1wfbH5cl3te&s-INEP9e=mU&ATnY*UaypUK7SpSuU!hAed9e}?Sccz_;kkl z?)QIajZbGRCl~A`NRIaP^4yP$@M#i3K zO9Yib3Sd^t^bJU_L>>sF0NqH@c%WB7-~|XeffK;l2`7{Z^okvdg1icRFF;C3Khg8) z8<5Z|W#Wl321kdyGVMU{bsxo#O=y@3wS zYUmq~=pT&G7whMd(Q(f^0`v_?nANf?0^n;Qd~2A46aTxN-;EP~01<)?n(p4ev+2?+ zWjZbUy-;U{OVM~Boew@1Af=?OA$fv$!frbN`}Y4GfgE;<_RG0J5yO{8I?jjQ2QQ9O zpH=fa_XR}=-x)V~@{IK&Nwm9k1^?#-UpkV2d>Kk69oiKUwjFnQ-*5t`E jfow?xo}l)E1RnDxi}H#A3@52_00000NkvXXu0mjf5gN$% literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree04.png b/Resources/Textures/Objects/Decoration/Flora/flora_treeslight.rsi/tree04.png new file mode 100644 index 0000000000000000000000000000000000000000..0461766bcd892c81b35d66f4e2690eeeff12f514 GIT binary patch literal 1986 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 literal 0 HcmV?d00001 From 90279b33579f93ccaf240eadf7f924bfc24c4468 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 25 Feb 2024 23:42:29 +0000 Subject: [PATCH 65/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 1c1f65a063..1a7ef20b35 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Bhijn and Myr - changes: - - message: Light fixtures now actually glow when they're powered on. Like. Their - sprite actually glows if the lighting is dim. Revolutionary technology, yes. - type: Tweak - id: 5524 - time: '2024-01-03T08:46:11.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23428 - author: Bhijn and Myr changes: - message: 'Blindness has been completely reworked, top to bottom. Eye damage is @@ -3844,3 +3836,10 @@ id: 6023 time: '2024-02-25T23:24:59.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25147 +- author: TheShuEd + changes: + - message: Huge flora anomaly nerf + type: Tweak + id: 6024 + time: '2024-02-25T23:41:24.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25499 From 8d244f7b76ba881253eb94611acaab31865c3920 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Mon, 26 Feb 2024 03:36:38 +0100 Subject: [PATCH 66/73] Character profile sanitization improvements (#25579) Validate that job and antag prototypes can actually be set in character profiles, rather than just checking if the prototype exists. Make preferences system just call existing validation code when loading prototype from database, instead of some hacked-together stuff. Also I made the character profile validation logic take dependencies in via parameter because fuck resolves. --- .../Preferences/ClientPreferencesManager.cs | 6 +++- .../Managers/ServerPreferencesManager.cs | 31 ++----------------- .../Preferences/HumanoidCharacterProfile.cs | 29 +++++++++-------- .../Preferences/ICharacterProfile.cs | 9 +++++- 4 files changed, 29 insertions(+), 46 deletions(-) diff --git a/Content.Client/Preferences/ClientPreferencesManager.cs b/Content.Client/Preferences/ClientPreferencesManager.cs index 34b2c33140..b518493c9d 100644 --- a/Content.Client/Preferences/ClientPreferencesManager.cs +++ b/Content.Client/Preferences/ClientPreferencesManager.cs @@ -3,8 +3,10 @@ using System.Collections.Generic; using System.Linq; using Content.Shared.Preferences; using Robust.Client; +using Robust.Shared.Configuration; using Robust.Shared.IoC; using Robust.Shared.Network; +using Robust.Shared.Prototypes; using Robust.Shared.Utility; namespace Content.Client.Preferences @@ -18,6 +20,8 @@ namespace Content.Client.Preferences { [Dependency] private readonly IClientNetManager _netManager = default!; [Dependency] private readonly IBaseClient _baseClient = default!; + [Dependency] private readonly IConfigurationManager _cfg = default!; + [Dependency] private readonly IPrototypeManager _prototypes = default!; public event Action? OnServerDataLoaded; @@ -60,7 +64,7 @@ namespace Content.Client.Preferences public void UpdateCharacter(ICharacterProfile profile, int slot) { - profile.EnsureValid(); + profile.EnsureValid(_cfg, _prototypes); var characters = new Dictionary(Preferences.Characters) {[slot] = profile}; Preferences = new PlayerPreferences(characters, Preferences.SelectedCharacterIndex, Preferences.AdminOOCColor); var msg = new MsgUpdateCharacter diff --git a/Content.Server/Preferences/Managers/ServerPreferencesManager.cs b/Content.Server/Preferences/Managers/ServerPreferencesManager.cs index bcbe99edf5..e489ae28d5 100644 --- a/Content.Server/Preferences/Managers/ServerPreferencesManager.cs +++ b/Content.Server/Preferences/Managers/ServerPreferencesManager.cs @@ -99,7 +99,7 @@ namespace Content.Server.Preferences.Managers var curPrefs = prefsData.Prefs!; - profile.EnsureValid(); + profile.EnsureValid(_cfg, _protos); var profiles = new Dictionary(curPrefs.Characters) { @@ -270,34 +270,7 @@ namespace Content.Server.Preferences.Managers return new PlayerPreferences(prefs.Characters.Select(p => { - ICharacterProfile newProf; - switch (p.Value) - { - case HumanoidCharacterProfile hp: - { - var prototypeManager = IoCManager.Resolve(); - var selectedSpecies = HumanoidAppearanceSystem.DefaultSpecies; - - if (prototypeManager.TryIndex(hp.Species, out var species) && species.RoundStart) - { - selectedSpecies = hp.Species; - } - - newProf = hp - .WithJobPriorities( - hp.JobPriorities.Where(job => - _protos.HasIndex(job.Key))) - .WithAntagPreferences( - hp.AntagPreferences.Where(antag => - _protos.HasIndex(antag))) - .WithSpecies(selectedSpecies); - break; - } - default: - throw new NotSupportedException(); - } - - return new KeyValuePair(p.Key, newProf); + return new KeyValuePair(p.Key, p.Value.Validated(_cfg, _protos)); }), prefs.SelectedCharacterIndex, prefs.AdminOOCColor); } diff --git a/Content.Shared/Preferences/HumanoidCharacterProfile.cs b/Content.Shared/Preferences/HumanoidCharacterProfile.cs index 92c5b083dc..9cf45aaefd 100644 --- a/Content.Shared/Preferences/HumanoidCharacterProfile.cs +++ b/Content.Shared/Preferences/HumanoidCharacterProfile.cs @@ -371,10 +371,8 @@ namespace Content.Shared.Preferences return Appearance.MemberwiseEquals(other.Appearance); } - public void EnsureValid() + public void EnsureValid(IConfigurationManager configManager, IPrototypeManager prototypeManager) { - var prototypeManager = IoCManager.Resolve(); - if (!prototypeManager.TryIndex(Species, out var speciesPrototype) || speciesPrototype.RoundStart == false) { Species = SharedHumanoidAppearanceSystem.DefaultSpecies; @@ -390,15 +388,10 @@ namespace Content.Shared.Preferences }; // ensure the species can be that sex and their age fits the founds - var age = Age; - if (speciesPrototype != null) - { - if (!speciesPrototype.Sexes.Contains(sex)) - { - sex = speciesPrototype.Sexes[0]; - } - age = Math.Clamp(Age, speciesPrototype.MinAge, speciesPrototype.MaxAge); - } + if (!speciesPrototype.Sexes.Contains(sex)) + sex = speciesPrototype.Sexes[0]; + + var age = Math.Clamp(Age, speciesPrototype.MinAge, speciesPrototype.MaxAge); var gender = Gender switch { @@ -425,7 +418,6 @@ namespace Content.Shared.Preferences name = name.Trim(); - var configManager = IoCManager.Resolve(); if (configManager.GetCVar(CCVars.RestrictedNames)) { name = Regex.Replace(name, @"[^A-Z,a-z,0-9, -]", string.Empty); @@ -487,7 +479,7 @@ namespace Content.Shared.Preferences }; var priorities = new Dictionary(JobPriorities - .Where(p => prototypeManager.HasIndex(p.Key) && p.Value switch + .Where(p => prototypeManager.TryIndex(p.Key, out var job) && job.SetPreference && p.Value switch { JobPriority.Never => false, // Drop never since that's assumed default. JobPriority.Low => true, @@ -497,7 +489,7 @@ namespace Content.Shared.Preferences })); var antags = AntagPreferences - .Where(prototypeManager.HasIndex) + .Where(id => prototypeManager.TryIndex(id, out var antag) && antag.SetPreference) .ToList(); var traits = TraitPreferences @@ -530,6 +522,13 @@ namespace Content.Shared.Preferences _traitPreferences.AddRange(traits); } + public ICharacterProfile Validated(IConfigurationManager configManager, IPrototypeManager prototypeManager) + { + var profile = new HumanoidCharacterProfile(this); + profile.EnsureValid(configManager, prototypeManager); + return profile; + } + // sorry this is kind of weird and duplicated, /// working inside these non entity systems is a bit wack public static string GetName(string species, Gender gender) diff --git a/Content.Shared/Preferences/ICharacterProfile.cs b/Content.Shared/Preferences/ICharacterProfile.cs index a17a74498d..a9d30639bb 100644 --- a/Content.Shared/Preferences/ICharacterProfile.cs +++ b/Content.Shared/Preferences/ICharacterProfile.cs @@ -1,4 +1,6 @@ using Content.Shared.Humanoid; +using Robust.Shared.Configuration; +using Robust.Shared.Prototypes; namespace Content.Shared.Preferences { @@ -13,6 +15,11 @@ namespace Content.Shared.Preferences /// /// Makes this profile valid so there's no bad data like negative ages. /// - void EnsureValid(); + void EnsureValid(IConfigurationManager configManager, IPrototypeManager prototypeManager); + + /// + /// Gets a copy of this profile that has applied, i.e. no invalid data. + /// + ICharacterProfile Validated(IConfigurationManager configManager, IPrototypeManager prototypeManager); } } From b7be6932f364312e8ca673ab4c0b413f768b92e2 Mon Sep 17 00:00:00 2001 From: OctoRocket <88291550+OctoRocket@users.noreply.github.com> Date: Sun, 25 Feb 2024 20:40:22 -0600 Subject: [PATCH 67/73] [Tweak] Everything can read (#25580) Everything can read (kinda) --- Resources/Prototypes/Entities/Objects/Misc/paper.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Objects/Misc/paper.yml b/Resources/Prototypes/Entities/Objects/Misc/paper.yml index 282037b384..a54f19a8c2 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/paper.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/paper.yml @@ -18,6 +18,7 @@ - type: ActivatableUI key: enum.PaperUiKey.Key closeOnHandDeselect: false + requireHands: false - type: UserInterface interfaces: - key: enum.PaperUiKey.Key From 485fb4cb652793ab4f9cbe90bb2cbf555fbf5540 Mon Sep 17 00:00:00 2001 From: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com> Date: Mon, 26 Feb 2024 03:41:20 +0100 Subject: [PATCH 68/73] Remove self-uncuff spam suicide, damage changes (#25161) * Initial commit * Remove damage from cuffs entirely * Changed from Action uncuffing cooldown to UseDelay cooldown * Minor merge conflict fix * Edit the actual correct line * Submodule fix --- .../Cuffs/Components/HandcuffComponent.cs | 9 ------- Content.Shared/Cuffs/SharedCuffableSystem.cs | 24 ++++++++++++------- .../Entities/Objects/Misc/handcuffs.yml | 5 ++-- 3 files changed, 18 insertions(+), 20 deletions(-) diff --git a/Content.Shared/Cuffs/Components/HandcuffComponent.cs b/Content.Shared/Cuffs/Components/HandcuffComponent.cs index a91692389f..91d5a412eb 100644 --- a/Content.Shared/Cuffs/Components/HandcuffComponent.cs +++ b/Content.Shared/Cuffs/Components/HandcuffComponent.cs @@ -52,15 +52,6 @@ public sealed partial class HandcuffComponent : Component [DataField] public bool Removing; - [DataField, ViewVariables(VVAccess.ReadWrite)] - public DamageSpecifier DamageOnResist = new() - { - DamageDict = new() - { - { "Blunt", 3.0 }, - } - }; - /// /// The path of the RSI file used for the player cuffed overlay. /// diff --git a/Content.Shared/Cuffs/SharedCuffableSystem.cs b/Content.Shared/Cuffs/SharedCuffableSystem.cs index 65d93f281e..fc005fd30f 100644 --- a/Content.Shared/Cuffs/SharedCuffableSystem.cs +++ b/Content.Shared/Cuffs/SharedCuffableSystem.cs @@ -6,7 +6,6 @@ using Content.Shared.Alert; using Content.Shared.Atmos.Piping.Unary.Components; using Content.Shared.Buckle.Components; using Content.Shared.Cuffs.Components; -using Content.Shared.Damage; using Content.Shared.Database; using Content.Shared.DoAfter; using Content.Shared.Effects; @@ -28,6 +27,7 @@ using Content.Shared.Pulling.Components; using Content.Shared.Pulling.Events; using Content.Shared.Rejuvenate; using Content.Shared.Stunnable; +using Content.Shared.Timing; using Content.Shared.Verbs; using Content.Shared.Weapons.Melee.Events; using Robust.Shared.Audio; @@ -48,7 +48,6 @@ namespace Content.Shared.Cuffs [Dependency] private readonly ActionBlockerSystem _actionBlocker = default!; [Dependency] private readonly AlertsSystem _alerts = default!; [Dependency] private readonly SharedColorFlashEffectSystem _color = default!; - [Dependency] private readonly DamageableSystem _damageSystem = default!; [Dependency] private readonly MobStateSystem _mobState = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedContainerSystem _container = default!; @@ -58,6 +57,7 @@ namespace Content.Shared.Cuffs [Dependency] private readonly SharedInteractionSystem _interaction = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly UseDelaySystem _delay = default!; public override void Initialize() { @@ -560,6 +560,18 @@ namespace Content.Shared.Cuffs } var uncuffTime = isOwner ? cuff.BreakoutTime : cuff.UncuffTime; + + if (isOwner) + { + if (!TryComp(cuffsToRemove.Value, out UseDelayComponent? useDelay)) + return; + + if (!_delay.TryResetDelay((cuffsToRemove.Value, useDelay), true)) + { + return; + } + } + var doAfterEventArgs = new DoAfterArgs(EntityManager, user, uncuffTime, new UnCuffDoAfterEvent(), target, target, cuffsToRemove) { BreakOnUserMove = true, @@ -574,11 +586,6 @@ namespace Content.Shared.Cuffs _adminLog.Add(LogType.Action, LogImpact.Low, $"{ToPrettyString(user)} is trying to uncuff {ToPrettyString(target)}"); - if (isOwner) - { - _damageSystem.TryChangeDamage(target, cuff.DamageOnResist, true, false); - } - _popup.PopupEntity(Loc.GetString("cuffable-component-start-uncuffing-observer", ("user", Identity.Name(user, EntityManager)), ("target", Identity.Name(target, EntityManager))), target, Filter.Pvs(target, entityManager: EntityManager) @@ -586,7 +593,6 @@ namespace Content.Shared.Cuffs if (target == user) { - _color.RaiseEffect(Color.Red, new List() { user }, Filter.Pvs(user, entityManager: EntityManager)); _popup.PopupClient(Loc.GetString("cuffable-component-start-uncuffing-self"), user, user); } else @@ -619,6 +625,8 @@ namespace Content.Shared.Cuffs cuff.Removing = true; _audio.PlayPredicted(cuff.EndUncuffSound, target, user); + var isOwner = user == target; + _container.Remove(cuffsToRemove, cuffable.Container); if (_net.IsServer) diff --git a/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml b/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml index 2e33ef24a3..ad0e724358 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml @@ -25,6 +25,8 @@ - type: GuideHelp guides: - Security + - type: UseDelay + delay: 6 - type: entity name: makeshift handcuffs @@ -148,9 +150,6 @@ - type: Handcuff cuffedRSI: Clothing/OuterClothing/Misc/straight_jacket.rsi breakoutTime: 100 - damageOnResist: - types: - Blunt: 0 cuffTime: 10 uncuffTime: 10 stunBonus: 4 From 2a2324ecaf0dbe5e384ae4f7bdb241a817b3653f Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 26 Feb 2024 02:42:26 +0000 Subject: [PATCH 69/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 53 +++++++++---------------------- 1 file changed, 15 insertions(+), 38 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 1a7ef20b35..be2751900a 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,42 +1,4 @@ Entries: -- author: Bhijn and Myr - changes: - - message: 'Blindness has been completely reworked, top to bottom. Eye damage is - no longer a mere dimming of the screen, but rather, a hyperstylized (read: not - at all realistic) simulation of the symptoms described by those living with - various types of real-world blindness.' - type: Add - - message: When your eyes have reached a critical state of damage, you are now capable - of simply closing them. - type: Add - - message: The settings menu now has a "Reduce motion of visual effects" setting! - Currently, the only thing this does is swap the eye damage effect out for a - far more straight-forward one akin to the blindness overlays seen across various - SS13 servers. - type: Add - - message: The amount of damage that eyes can take has been greatly increased. Total - blindness now takes 9 damage, up from 3. Additionally, eyes are considered to - be in a critical state once they hit 6 damage. - type: Tweak - - message: Glasses no longer actively increase the eye damage effect. They now actively - reduce the eye damage effect, with their effectiveness dropping off as you take - more eye damage, until they eventually do nothing once your eyes are in critical - condition. - type: Tweak - - message: The blind trait is now legal blindness, rather than complete blindness. - The blind trait permanently prevents your eyes from being reduced below the - critical state threshold. - type: Tweak - id: 5525 - time: '2024-01-03T09:07:02.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23212 -- author: BurninDreamer - changes: - - message: Hand labelers can now be printed by autolathes. - type: Tweak - id: 5526 - time: '2024-01-03T18:24:02.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23457 - author: themias changes: - message: Fixed refueling a lit welder not detonating the fuel tank @@ -3843,3 +3805,18 @@ id: 6024 time: '2024-02-25T23:41:24.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25499 +- author: OctoRocket + changes: + - message: Removed the hands requirement to read paper. + type: Tweak + id: 6025 + time: '2024-02-26T02:40:22.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25580 +- author: SlamBamActionman + changes: + - message: Self-uncuff damage has been removed, but attempting to self-uncuff now + has a cooldown instead. + type: Tweak + id: 6026 + time: '2024-02-26T02:41:20.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25161 From e00f74505c62310bd15aeaba8d6530f648397074 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Mon, 26 Feb 2024 04:36:19 +0100 Subject: [PATCH 70/73] Use new ComponentPauseGenerator (#25183) Also includes some (non critical) changes to the solution file to re-organize the Roslyn components. --- .../Anomaly/AnomalySystem.Generator.cs | 12 ----------- .../Anomaly/AnomalySystem.Vessel.cs | 6 ------ .../Components/AnomalyGeneratorComponent.cs | 3 ++- .../Components/AnomalyVesselComponent.cs | 3 ++- .../GeneratingAnomalyGeneratorComponent.cs | 3 ++- Content.Server/Atmos/Rotting/RottingSystem.cs | 12 ----------- .../Components/AutoRechargeComponent.cs | 3 ++- .../Charges/Systems/ChargesSystem.cs | 12 ----------- Content.Server/Chat/EmoteOnDamageComponent.cs | 3 ++- .../Chat/Systems/EmoteOnDamageSystem.cs | 6 ------ .../Components/SolutionPurgeComponent.cs | 3 ++- .../SolutionRegenerationComponent.cs | 3 ++- .../EntitySystems/SolutionPurgeSystem.cs | 12 ----------- .../SolutionRegenerationSystem.cs | 12 ----------- .../Unit/EntitySystems/DisposalUnitSystem.cs | 9 -------- Content.Server/Emp/EmpSystem.cs | 7 ------- .../OnTrigger/TwoStageTriggerComponent.cs | 3 ++- .../Components/TriggerOnProximityComponent.cs | 4 +++- .../EntitySystems/TriggerSystem.Proximity.cs | 7 ------- .../EntitySystems/TwoStageTriggerSystem.cs | 7 ------- .../Fluids/EntitySystems/SmokeSystem.cs | 6 ------ .../Gateway/Components/GatewayComponent.cs | 3 ++- .../Components/GatewayGeneratorComponent.cs | 3 ++- .../Gateway/Systems/GatewayGeneratorSystem.cs | 6 ------ .../Gateway/Systems/GatewaySystem.cs | 6 ------ Content.Server/Hands/Systems/HandsSystem.cs | 5 ----- .../Components/ActiveMicrowaveComponent.cs | 3 ++- .../Kitchen/EntitySystems/MicrowaveSystem.cs | 6 ------ .../Components/HealthAnalyzerComponent.cs | 3 ++- Content.Server/Medical/DefibrillatorSystem.cs | 9 -------- .../Medical/HealthAnalyzerSystem.cs | 6 ------ .../SuitSensors/SuitSensorComponent.cs | 3 ++- .../Medical/SuitSensors/SuitSensorSystem.cs | 6 ------ .../NPC/Components/NPCJukeComponent.cs | 3 ++- .../NPC/Components/NPCSteeringComponent.cs | 4 +++- .../Pathfinding/GridPathfindingComponent.cs | 3 ++- .../NPC/Pathfinding/PathfindingSystem.Grid.cs | 5 ----- Content.Server/NPC/Systems/NPCJukeSystem.cs | 6 ------ .../NPC/Systems/NPCSteeringSystem.cs | 7 ------- .../Components/FatExtractorComponent.cs | 3 ++- .../EntitySystems/AnimalHusbandrySystem.cs | 12 ----------- .../EntitySystems/FatExtractorSystem.cs | 6 ------ .../Components/ChasingWalkComponent.cs | 4 +++- .../Physics/Controllers/ChasingWalkSystem.cs | 7 ------- .../PowerCell/PowerCellSystem.Draw.cs | 5 ----- Content.Server/PowerCell/PowerCellSystem.cs | 1 - .../PowerSink/PowerSinkComponent.cs | 3 ++- Content.Server/PowerSink/PowerSinkSystem.cs | 9 -------- .../Expeditions/SalvageExpeditionComponent.cs | 3 ++- .../Salvage/SalvageSystem.Expeditions.cs | 13 ------------ .../Components/ArrivalsShuttleComponent.cs | 3 ++- .../Shuttles/Components/EscapePodComponent.cs | 3 ++- .../Shuttles/Systems/ArrivalsSystem.cs | 6 ------ .../Systems/EmergencyShuttleSystem.Console.cs | 2 -- .../Systems/EmergencyShuttleSystem.cs | 8 ------- .../EntitySystems/EventHorizonSystem.cs | 6 ------ .../Spreader/GrowingKudzuComponent.cs | 3 ++- Content.Server/Spreader/KudzuSystem.cs | 6 ------ .../Components/StationEventComponent.cs | 4 +++- .../StationEvents/EventManagerSystem.cs | 9 -------- .../LightningArcShooterComponent.cs | 3 ++- .../Components/LightningSparkingComponent.cs | 3 ++- .../EntitySystem/LightningArcShooterSystem.cs | 6 ------ .../EntitySystem/LightningSparkingSystem.cs | 6 ------ .../Anomaly/Components/AnomalyComponent.cs | 4 ++-- .../Components/AnomalyPulsingComponent.cs | 3 ++- .../AnomalySupercriticalComponent.cs | 2 ++ Content.Shared/Anomaly/SharedAnomalySystem.cs | 21 ------------------- .../Atmos/Rotting/PerishableComponent.cs | 3 ++- .../Atmos/Rotting/RottingComponent.cs | 3 ++- .../CryostorageContainedComponent.cs | 3 ++- .../Cryostorage/SharedCryostorageSystem.cs | 8 ------- .../Bed/Sleep/SharedSleepingSystem.cs | 6 ------ Content.Shared/Bed/Sleep/SleepingComponent.cs | 3 ++- Content.Shared/Chasm/ChasmFallingComponent.cs | 3 ++- Content.Shared/Chasm/ChasmSystem.cs | 6 ------ .../Components/SmokeAffectedComponent.cs | 3 ++- .../Climbing/Components/ClimbingComponent.cs | 3 ++- .../Climbing/Systems/ClimbSystem.cs | 10 --------- .../Pacification/PacificationSystem.cs | 7 ------- .../Pacification/PacifiedComponent.cs | 3 ++- .../Components/FlatpackCreatorComponent.cs | 3 ++- .../Construction/SharedFlatpackSystem.cs | 6 ------ .../Components/DamageOnHoldingComponent.cs | 3 ++- .../Damage/Components/StaminaComponent.cs | 3 ++- .../Damage/Systems/DamageOnHoldingSystem.cs | 8 +------ .../Damage/Systems/StaminaSystem.cs | 6 ------ Content.Shared/Emp/EmpDisabledComponent.cs | 4 +++- .../Gravity/GravityShakeComponent.cs | 3 ++- .../Gravity/SharedGravitySystem.Shake.cs | 10 --------- Content.Shared/Gravity/SharedGravitySystem.cs | 2 -- .../Hands/Components/HandsComponent.cs | 3 ++- .../ActiveMaterialReclaimerComponent.cs | 3 ++- .../InsertingMaterialStorageComponent.cs | 3 ++- .../Materials/MaterialReclaimerComponent.cs | 3 ++- .../SharedMaterialReclaimerSystem.cs | 12 ----------- .../Materials/SharedMaterialStorageSystem.cs | 6 ------ .../Medical/DefibrillatorComponent.cs | 3 ++- .../Ninja/Components/NinjaSuitComponent.cs | 2 ++ .../Ninja/Systems/SharedNinjaSuitSystem.cs | 6 ------ .../AnimalHusbandry/InfantComponent.cs | 3 ++- .../AnimalHusbandry/ReproductiveComponent.cs | 3 ++- .../Nutrition/Components/HungerComponent.cs | 3 ++- .../Nutrition/Components/ThirstComponent.cs | 3 ++- .../Nutrition/EntitySystems/HungerSystem.cs | 6 ------ .../Nutrition/EntitySystems/ThirstSystem.cs | 6 ------ .../PowerCell/PowerCellDrawComponent.cs | 3 ++- .../Salvage/Expeditions/SalvageExpeditions.cs | 3 ++- .../Salvage/Fulton/FultonedComponent.cs | 3 ++- .../Salvage/Fulton/SharedFultonSystem.cs | 6 ------ .../Components/EventHorizonComponent.cs | 3 ++- .../Components/EmitSoundOnCollideComponent.cs | 3 ++- Content.Shared/Sound/SharedEmitSoundSystem.cs | 6 ------ .../Components/MagnetPickupComponent.cs | 3 ++- .../EntitySystems/MagnetPickupSystem.cs | 6 ------ .../Components/SwapTeleporterComponent.cs | 3 ++- .../Systems/SwapTeleporterSystem.cs | 6 ------ .../Throwing/ThrownItemComponent.cs | 3 ++- Content.Shared/Throwing/ThrownItemSystem.cs | 9 -------- Content.Shared/Timing/UseDelayComponent.cs | 4 +++- Content.Shared/Timing/UseDelaySystem.cs | 13 ------------ .../Weapons/Marker/DamageMarkerComponent.cs | 2 ++ .../Marker/SharedDamageMarkerSystem.cs | 6 ------ .../Weapons/Melee/MeleeWeaponComponent.cs | 3 ++- .../Weapons/Melee/SharedMeleeWeaponSystem.cs | 6 ------ .../Weapons/Ranged/Components/GunComponent.cs | 3 ++- .../RechargeBasicEntityAmmoComponent.cs | 3 ++- .../Systems/RechargeBasicEntityAmmoSystem.cs | 9 -------- .../Weapons/Ranged/Systems/SharedGunSystem.cs | 6 ------ SpaceStation14.sln | 16 +++++++++----- 130 files changed, 150 insertions(+), 539 deletions(-) diff --git a/Content.Server/Anomaly/AnomalySystem.Generator.cs b/Content.Server/Anomaly/AnomalySystem.Generator.cs index d07740e2f6..2053a7bbbe 100644 --- a/Content.Server/Anomaly/AnomalySystem.Generator.cs +++ b/Content.Server/Anomaly/AnomalySystem.Generator.cs @@ -33,9 +33,7 @@ public sealed partial class AnomalySystem SubscribeLocalEvent(OnGeneratorMaterialAmountChanged); SubscribeLocalEvent(OnGenerateButtonPressed); SubscribeLocalEvent(OnGeneratorPowerChanged); - SubscribeLocalEvent(OnGeneratorUnpaused); SubscribeLocalEvent(OnGeneratingStartup); - SubscribeLocalEvent(OnGeneratingUnpaused); } private void OnGeneratorPowerChanged(EntityUid uid, AnomalyGeneratorComponent component, ref PowerChangedEvent args) @@ -58,11 +56,6 @@ public sealed partial class AnomalySystem TryGeneratorCreateAnomaly(uid, component); } - private void OnGeneratorUnpaused(EntityUid uid, AnomalyGeneratorComponent component, ref EntityUnpausedEvent args) - { - component.CooldownEndTime += args.PausedTime; - } - public void UpdateGeneratorUi(EntityUid uid, AnomalyGeneratorComponent component) { var materialAmount = _material.GetMaterialAmount(uid, component.RequiredMaterial); @@ -169,11 +162,6 @@ public sealed partial class AnomalySystem Appearance.SetData(uid, AnomalyGeneratorVisuals.Generating, true); } - private void OnGeneratingUnpaused(EntityUid uid, GeneratingAnomalyGeneratorComponent component, ref EntityUnpausedEvent args) - { - component.EndTime += args.PausedTime; - } - private void OnGeneratingFinished(EntityUid uid, AnomalyGeneratorComponent component) { var xform = Transform(uid); diff --git a/Content.Server/Anomaly/AnomalySystem.Vessel.cs b/Content.Server/Anomaly/AnomalySystem.Vessel.cs index 7c7feacb87..98e56a8844 100644 --- a/Content.Server/Anomaly/AnomalySystem.Vessel.cs +++ b/Content.Server/Anomaly/AnomalySystem.Vessel.cs @@ -22,7 +22,6 @@ public sealed partial class AnomalySystem SubscribeLocalEvent(OnVesselInteractUsing); SubscribeLocalEvent(OnExamined); SubscribeLocalEvent(OnVesselGetPointsPerSecond); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnShutdown); SubscribeLocalEvent(OnStabilityChanged); } @@ -92,11 +91,6 @@ public sealed partial class AnomalySystem args.Points += (int) (GetAnomalyPointValue(anomaly) * component.PointMultiplier); } - private void OnUnpaused(EntityUid uid, AnomalyVesselComponent component, ref EntityUnpausedEvent args) - { - component.NextBeep += args.PausedTime; - } - private void OnVesselAnomalyShutdown(ref AnomalyShutdownEvent args) { var query = EntityQueryEnumerator(); diff --git a/Content.Server/Anomaly/Components/AnomalyGeneratorComponent.cs b/Content.Server/Anomaly/Components/AnomalyGeneratorComponent.cs index 1ff0290fc9..d4acfc6150 100644 --- a/Content.Server/Anomaly/Components/AnomalyGeneratorComponent.cs +++ b/Content.Server/Anomaly/Components/AnomalyGeneratorComponent.cs @@ -12,13 +12,14 @@ namespace Content.Server.Anomaly.Components; /// This is used for a machine that is able to generate /// anomalies randomly on the station. /// -[RegisterComponent, Access(typeof(SharedAnomalySystem))] +[RegisterComponent, Access(typeof(SharedAnomalySystem)), AutoGenerateComponentPause] public sealed partial class AnomalyGeneratorComponent : Component { /// /// The time at which the cooldown for generating another anomaly will be over /// [DataField("cooldownEndTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan CooldownEndTime = TimeSpan.Zero; /// diff --git a/Content.Server/Anomaly/Components/AnomalyVesselComponent.cs b/Content.Server/Anomaly/Components/AnomalyVesselComponent.cs index 74c5e3e9ed..1225cbf116 100644 --- a/Content.Server/Anomaly/Components/AnomalyVesselComponent.cs +++ b/Content.Server/Anomaly/Components/AnomalyVesselComponent.cs @@ -10,7 +10,7 @@ namespace Content.Server.Anomaly.Components; /// they generate points for the selected server based on /// the anomaly's stability and severity. /// -[RegisterComponent, Access(typeof(SharedAnomalySystem))] +[RegisterComponent, Access(typeof(SharedAnomalySystem)), AutoGenerateComponentPause] public sealed partial class AnomalyVesselComponent : Component { /// @@ -42,6 +42,7 @@ public sealed partial class AnomalyVesselComponent : Component /// When the next beep sound will play /// [DataField("nextBeep", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextBeep = TimeSpan.Zero; /// diff --git a/Content.Server/Anomaly/Components/GeneratingAnomalyGeneratorComponent.cs b/Content.Server/Anomaly/Components/GeneratingAnomalyGeneratorComponent.cs index 4233bfd7e1..ef93e8c699 100644 --- a/Content.Server/Anomaly/Components/GeneratingAnomalyGeneratorComponent.cs +++ b/Content.Server/Anomaly/Components/GeneratingAnomalyGeneratorComponent.cs @@ -4,13 +4,14 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Server.Anomaly.Components; -[RegisterComponent, Access(typeof(SharedAnomalySystem))] +[RegisterComponent, Access(typeof(SharedAnomalySystem)), AutoGenerateComponentPause] public sealed partial class GeneratingAnomalyGeneratorComponent : Component { /// /// When the generating period will end. /// [DataField("endTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan EndTime = TimeSpan.Zero; public EntityUid? AudioStream; diff --git a/Content.Server/Atmos/Rotting/RottingSystem.cs b/Content.Server/Atmos/Rotting/RottingSystem.cs index e3389def66..47bac84e0c 100644 --- a/Content.Server/Atmos/Rotting/RottingSystem.cs +++ b/Content.Server/Atmos/Rotting/RottingSystem.cs @@ -29,11 +29,9 @@ public sealed class RottingSystem : SharedRottingSystem base.Initialize(); SubscribeLocalEvent(OnPerishableMapInit); - SubscribeLocalEvent(OnPerishableUnpaused); SubscribeLocalEvent(OnMobStateChanged); SubscribeLocalEvent(OnPerishableExamined); - SubscribeLocalEvent(OnRottingUnpaused); SubscribeLocalEvent(OnShutdown); SubscribeLocalEvent(OnRottingMobStateChanged); SubscribeLocalEvent(OnGibbed); @@ -47,11 +45,6 @@ public sealed class RottingSystem : SharedRottingSystem component.RotNextUpdate = _timing.CurTime + component.PerishUpdateRate; } - private void OnPerishableUnpaused(EntityUid uid, PerishableComponent component, ref EntityUnpausedEvent args) - { - component.RotNextUpdate += args.PausedTime; - } - private void OnMobStateChanged(EntityUid uid, PerishableComponent component, MobStateChangedEvent args) { if (args.NewMobState != MobState.Dead && args.OldMobState != MobState.Dead) @@ -64,11 +57,6 @@ public sealed class RottingSystem : SharedRottingSystem component.RotNextUpdate = _timing.CurTime + component.PerishUpdateRate; } - private void OnRottingUnpaused(EntityUid uid, RottingComponent component, ref EntityUnpausedEvent args) - { - component.NextRotUpdate += args.PausedTime; - } - private void OnShutdown(EntityUid uid, RottingComponent component, ComponentShutdown args) { if (TryComp(uid, out var perishable)) diff --git a/Content.Server/Charges/Components/AutoRechargeComponent.cs b/Content.Server/Charges/Components/AutoRechargeComponent.cs index e23f0229bb..9dcf555ea9 100644 --- a/Content.Server/Charges/Components/AutoRechargeComponent.cs +++ b/Content.Server/Charges/Components/AutoRechargeComponent.cs @@ -7,7 +7,7 @@ namespace Content.Server.Charges.Components; /// Something with limited charges that can be recharged automatically. /// Requires LimitedChargesComponent to function. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] [Access(typeof(ChargesSystem))] public sealed partial class AutoRechargeComponent : Component { @@ -21,5 +21,6 @@ public sealed partial class AutoRechargeComponent : Component /// The time when the next charge will be added /// [DataField("nextChargeTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextChargeTime; } diff --git a/Content.Server/Charges/Systems/ChargesSystem.cs b/Content.Server/Charges/Systems/ChargesSystem.cs index 82758f4653..03e192e680 100644 --- a/Content.Server/Charges/Systems/ChargesSystem.cs +++ b/Content.Server/Charges/Systems/ChargesSystem.cs @@ -10,13 +10,6 @@ public sealed class ChargesSystem : SharedChargesSystem { [Dependency] private readonly IGameTiming _timing = default!; - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnUnpaused); - } - public override void Update(float frameTime) { base.Update(frameTime); @@ -32,11 +25,6 @@ public sealed class ChargesSystem : SharedChargesSystem } } - private void OnUnpaused(EntityUid uid, AutoRechargeComponent comp, ref EntityUnpausedEvent args) - { - comp.NextChargeTime += args.PausedTime; - } - protected override void OnExamine(EntityUid uid, LimitedChargesComponent comp, ExaminedEvent args) { base.OnExamine(uid, comp, args); diff --git a/Content.Server/Chat/EmoteOnDamageComponent.cs b/Content.Server/Chat/EmoteOnDamageComponent.cs index 91eddef215..8653a4fe55 100644 --- a/Content.Server/Chat/EmoteOnDamageComponent.cs +++ b/Content.Server/Chat/EmoteOnDamageComponent.cs @@ -8,7 +8,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototy /// /// Causes an entity to automatically emote when taking damage. /// -[RegisterComponent, Access(typeof(EmoteOnDamageSystem))] +[RegisterComponent, Access(typeof(EmoteOnDamageSystem)), AutoGenerateComponentPause] public sealed partial class EmoteOnDamageComponent : Component { /// @@ -41,6 +41,7 @@ public sealed partial class EmoteOnDamageComponent : Component /// The simulation time of the last emote preformed due to taking damage. /// [DataField("lastEmoteTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan LastEmoteTime = TimeSpan.Zero; /// diff --git a/Content.Server/Chat/Systems/EmoteOnDamageSystem.cs b/Content.Server/Chat/Systems/EmoteOnDamageSystem.cs index 9a435971f2..878c517d92 100644 --- a/Content.Server/Chat/Systems/EmoteOnDamageSystem.cs +++ b/Content.Server/Chat/Systems/EmoteOnDamageSystem.cs @@ -18,15 +18,9 @@ public sealed class EmoteOnDamageSystem : EntitySystem { base.Initialize(); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnDamage); } - private void OnUnpaused(EntityUid uid, EmoteOnDamageComponent emoteOnDamage, ref EntityUnpausedEvent args) - { - emoteOnDamage.LastEmoteTime += args.PausedTime; - } - private void OnDamage(EntityUid uid, EmoteOnDamageComponent emoteOnDamage, DamageChangedEvent args) { if (!args.DamageIncreased) diff --git a/Content.Server/Chemistry/Components/SolutionPurgeComponent.cs b/Content.Server/Chemistry/Components/SolutionPurgeComponent.cs index 0525542b96..9b9294b6f9 100644 --- a/Content.Server/Chemistry/Components/SolutionPurgeComponent.cs +++ b/Content.Server/Chemistry/Components/SolutionPurgeComponent.cs @@ -9,7 +9,7 @@ namespace Content.Server.Chemistry.Components; /// /// Passively decreases a solution's quantity of reagent(s). /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] [Access(typeof(SolutionPurgeSystem))] public sealed partial class SolutionPurgeComponent : Component { @@ -42,5 +42,6 @@ public sealed partial class SolutionPurgeComponent : Component /// The time when the next purge will occur. /// [DataField("nextPurgeTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextPurgeTime = TimeSpan.FromSeconds(0); } diff --git a/Content.Server/Chemistry/Components/SolutionRegenerationComponent.cs b/Content.Server/Chemistry/Components/SolutionRegenerationComponent.cs index 7fe2dacb67..23bf6b2157 100644 --- a/Content.Server/Chemistry/Components/SolutionRegenerationComponent.cs +++ b/Content.Server/Chemistry/Components/SolutionRegenerationComponent.cs @@ -7,7 +7,7 @@ namespace Content.Server.Chemistry.Components; /// /// Passively increases a solution's quantity of a reagent. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] [Access(typeof(SolutionRegenerationSystem))] public sealed partial class SolutionRegenerationComponent : Component { @@ -39,5 +39,6 @@ public sealed partial class SolutionRegenerationComponent : Component /// The time when the next regeneration will occur. /// [DataField("nextChargeTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextRegenTime = TimeSpan.FromSeconds(0); } diff --git a/Content.Server/Chemistry/EntitySystems/SolutionPurgeSystem.cs b/Content.Server/Chemistry/EntitySystems/SolutionPurgeSystem.cs index e6e003a7f5..42b8ab374a 100644 --- a/Content.Server/Chemistry/EntitySystems/SolutionPurgeSystem.cs +++ b/Content.Server/Chemistry/EntitySystems/SolutionPurgeSystem.cs @@ -10,13 +10,6 @@ public sealed class SolutionPurgeSystem : EntitySystem [Dependency] private readonly SolutionContainerSystem _solutionContainer = default!; [Dependency] private readonly IGameTiming _timing = default!; - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnUnpaused); - } - public override void Update(float frameTime) { base.Update(frameTime); @@ -33,9 +26,4 @@ public sealed class SolutionPurgeSystem : EntitySystem _solutionContainer.SplitSolutionWithout(solution.Value, purge.Quantity, purge.Preserve.ToArray()); } } - - private void OnUnpaused(Entity entity, ref EntityUnpausedEvent args) - { - entity.Comp.NextPurgeTime += args.PausedTime; - } } diff --git a/Content.Server/Chemistry/EntitySystems/SolutionRegenerationSystem.cs b/Content.Server/Chemistry/EntitySystems/SolutionRegenerationSystem.cs index 37458846e3..5af181e4af 100644 --- a/Content.Server/Chemistry/EntitySystems/SolutionRegenerationSystem.cs +++ b/Content.Server/Chemistry/EntitySystems/SolutionRegenerationSystem.cs @@ -12,13 +12,6 @@ public sealed class SolutionRegenerationSystem : EntitySystem [Dependency] private readonly SolutionContainerSystem _solutionContainer = default!; [Dependency] private readonly IGameTiming _timing = default!; - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnUnpaused); - } - public override void Update(float frameTime) { base.Update(frameTime); @@ -52,9 +45,4 @@ public sealed class SolutionRegenerationSystem : EntitySystem } } } - - private void OnUnpaused(Entity entity, ref EntityUnpausedEvent args) - { - entity.Comp.NextRegenTime += args.PausedTime; - } } diff --git a/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs b/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs index 35b2afc2e0..6938792315 100644 --- a/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs +++ b/Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs @@ -68,7 +68,6 @@ public sealed class DisposalUnitSystem : SharedDisposalUnitSystem // Shouldn't need re-anchoring. SubscribeLocalEvent(OnAnchorChanged); - SubscribeLocalEvent(OnUnpaused); // TODO: Predict me when hands predicted SubscribeLocalEvent(OnMovement); SubscribeLocalEvent(OnPowerChange); @@ -103,14 +102,6 @@ public sealed class DisposalUnitSystem : SharedDisposalUnitSystem GetNetEntityList(component.RecentlyEjected)); } - private void OnUnpaused(EntityUid uid, SharedDisposalUnitComponent component, ref EntityUnpausedEvent args) - { - if (component.NextFlush != null) - component.NextFlush = component.NextFlush.Value + args.PausedTime; - - component.NextPressurized += args.PausedTime; - } - private void AddDisposalAltVerbs(EntityUid uid, SharedDisposalUnitComponent component, GetVerbsEvent args) { if (!args.CanAccess || !args.CanInteract) diff --git a/Content.Server/Emp/EmpSystem.cs b/Content.Server/Emp/EmpSystem.cs index 02a18284e8..7c1a6f9b5d 100644 --- a/Content.Server/Emp/EmpSystem.cs +++ b/Content.Server/Emp/EmpSystem.cs @@ -17,7 +17,6 @@ public sealed class EmpSystem : SharedEmpSystem public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnExamine); SubscribeLocalEvent(HandleEmpTrigger); @@ -96,12 +95,6 @@ public sealed class EmpSystem : SharedEmpSystem } } - private void OnUnpaused(EntityUid uid, EmpDisabledComponent component, ref EntityUnpausedEvent args) - { - component.DisabledUntil += args.PausedTime; - component.TargetTime += args.PausedTime; - } - private void OnExamine(EntityUid uid, EmpDisabledComponent component, ExaminedEvent args) { args.PushMarkup(Loc.GetString("emp-disabled-comp-on-examine")); diff --git a/Content.Server/Explosion/Components/OnTrigger/TwoStageTriggerComponent.cs b/Content.Server/Explosion/Components/OnTrigger/TwoStageTriggerComponent.cs index 357286b192..a63d6fcf66 100644 --- a/Content.Server/Explosion/Components/OnTrigger/TwoStageTriggerComponent.cs +++ b/Content.Server/Explosion/Components/OnTrigger/TwoStageTriggerComponent.cs @@ -6,7 +6,7 @@ namespace Content.Server.Explosion.Components.OnTrigger; /// /// After being triggered applies the specified components and runs triggers again. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class TwoStageTriggerComponent : Component { /// @@ -23,6 +23,7 @@ public sealed partial class TwoStageTriggerComponent : Component public ComponentRegistry SecondStageComponents = new(); [DataField("nextTriggerTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan? NextTriggerTime; [DataField("triggered")] diff --git a/Content.Server/Explosion/Components/TriggerOnProximityComponent.cs b/Content.Server/Explosion/Components/TriggerOnProximityComponent.cs index 504ef4dee4..4f3fb4754e 100644 --- a/Content.Server/Explosion/Components/TriggerOnProximityComponent.cs +++ b/Content.Server/Explosion/Components/TriggerOnProximityComponent.cs @@ -13,7 +13,7 @@ namespace Content.Server.Explosion.Components /// /// Raises a whenever an entity collides with a fixture attached to the owner of this component. /// - [RegisterComponent] + [RegisterComponent, AutoGenerateComponentPause] public sealed partial class TriggerOnProximityComponent : SharedTriggerOnProximityComponent { public const string FixtureID = "trigger-on-proximity-fixture"; @@ -58,6 +58,7 @@ namespace Content.Server.Explosion.Components /// [ViewVariables(VVAccess.ReadWrite)] [DataField("nextTrigger", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextTrigger = TimeSpan.Zero; /// @@ -65,6 +66,7 @@ namespace Content.Server.Explosion.Components /// [ViewVariables(VVAccess.ReadWrite)] [DataField("nextVisualUpdate", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextVisualUpdate = TimeSpan.Zero; /// diff --git a/Content.Server/Explosion/EntitySystems/TriggerSystem.Proximity.cs b/Content.Server/Explosion/EntitySystems/TriggerSystem.Proximity.cs index d3d97a851e..119b1a3d36 100644 --- a/Content.Server/Explosion/EntitySystems/TriggerSystem.Proximity.cs +++ b/Content.Server/Explosion/EntitySystems/TriggerSystem.Proximity.cs @@ -17,7 +17,6 @@ public sealed partial class TriggerSystem SubscribeLocalEvent(OnProximityStartCollide); SubscribeLocalEvent(OnProximityEndCollide); SubscribeLocalEvent(OnMapInit); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnProximityShutdown); // Shouldn't need re-anchoring. SubscribeLocalEvent(OnProximityAnchor); @@ -65,12 +64,6 @@ public sealed partial class TriggerSystem collisionLayer: component.Layer); } - private void OnUnpaused(EntityUid uid, TriggerOnProximityComponent component, ref EntityUnpausedEvent args) - { - component.NextTrigger += args.PausedTime; - component.NextVisualUpdate += args.PausedTime; - } - private void OnProximityStartCollide(EntityUid uid, TriggerOnProximityComponent component, ref StartCollideEvent args) { if (args.OurFixtureId != TriggerOnProximityComponent.FixtureID) diff --git a/Content.Server/Explosion/EntitySystems/TwoStageTriggerSystem.cs b/Content.Server/Explosion/EntitySystems/TwoStageTriggerSystem.cs index a8c48f21d6..4e95eabff0 100644 --- a/Content.Server/Explosion/EntitySystems/TwoStageTriggerSystem.cs +++ b/Content.Server/Explosion/EntitySystems/TwoStageTriggerSystem.cs @@ -14,16 +14,9 @@ public sealed class TwoStageTriggerSystem : EntitySystem public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnTriggerUnpaused); SubscribeLocalEvent(OnTrigger); } - private void OnTriggerUnpaused(EntityUid uid, TwoStageTriggerComponent component, ref EntityUnpausedEvent args) - { - if (component.NextTriggerTime != null) - component.NextTriggerTime = component.NextTriggerTime.Value + args.PausedTime; - } - private void OnTrigger(EntityUid uid, TwoStageTriggerComponent component, TriggerEvent args) { if (component.Triggered) diff --git a/Content.Server/Fluids/EntitySystems/SmokeSystem.cs b/Content.Server/Fluids/EntitySystems/SmokeSystem.cs index 795655068f..cb6f9c13ef 100644 --- a/Content.Server/Fluids/EntitySystems/SmokeSystem.cs +++ b/Content.Server/Fluids/EntitySystems/SmokeSystem.cs @@ -63,7 +63,6 @@ public sealed class SmokeSystem : EntitySystem SubscribeLocalEvent(OnReactionAttempt); SubscribeLocalEvent>(OnReactionAttempt); SubscribeLocalEvent(OnSmokeSpread); - SubscribeLocalEvent(OnAffectedUnpaused); } /// @@ -124,11 +123,6 @@ public sealed class SmokeSystem : EntitySystem RemComp(args.OtherEntity, smokeAffectedComponent); } - private void OnAffectedUnpaused(Entity entity, ref EntityUnpausedEvent args) - { - entity.Comp.NextSecond += args.PausedTime; - } - private void OnSmokeSpread(Entity entity, ref SpreadNeighborsEvent args) { if (entity.Comp.SpreadAmount == 0 || !_solutionContainerSystem.ResolveSolution(entity.Owner, SmokeComponent.SolutionName, ref entity.Comp.Solution, out var solution)) diff --git a/Content.Server/Gateway/Components/GatewayComponent.cs b/Content.Server/Gateway/Components/GatewayComponent.cs index 71d070f699..9650baafa3 100644 --- a/Content.Server/Gateway/Components/GatewayComponent.cs +++ b/Content.Server/Gateway/Components/GatewayComponent.cs @@ -8,7 +8,7 @@ namespace Content.Server.Gateway.Components; /// /// Controlling gateway that links to other gateway destinations on the server. /// -[RegisterComponent, Access(typeof(GatewaySystem))] +[RegisterComponent, Access(typeof(GatewaySystem)), AutoGenerateComponentPause] public sealed partial class GatewayComponent : Component { /// @@ -61,5 +61,6 @@ public sealed partial class GatewayComponent : Component /// The time at which the portal can next be opened. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextReady; } diff --git a/Content.Server/Gateway/Components/GatewayGeneratorComponent.cs b/Content.Server/Gateway/Components/GatewayGeneratorComponent.cs index 670cbea307..d65760e270 100644 --- a/Content.Server/Gateway/Components/GatewayGeneratorComponent.cs +++ b/Content.Server/Gateway/Components/GatewayGeneratorComponent.cs @@ -7,7 +7,7 @@ namespace Content.Server.Gateway.Components; /// /// Generates gateway destinations at a regular interval. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class GatewayGeneratorComponent : Component { /// @@ -20,6 +20,7 @@ public sealed partial class GatewayGeneratorComponent : Component /// Next time another seed unlocks. /// [DataField(customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextUnlock; /// diff --git a/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs b/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs index c8b30af620..7558f7afc0 100644 --- a/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs +++ b/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs @@ -67,7 +67,6 @@ public sealed class GatewayGeneratorSystem : EntitySystem public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnGeneratorUnpaused); SubscribeLocalEvent(OnGeneratorMapInit); SubscribeLocalEvent(OnGeneratorShutdown); SubscribeLocalEvent(OnGeneratorAttemptOpen); @@ -85,11 +84,6 @@ public sealed class GatewayGeneratorSystem : EntitySystem } } - private void OnGeneratorUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - ent.Comp.NextUnlock += args.PausedTime; - } - private void OnGeneratorMapInit(EntityUid uid, GatewayGeneratorComponent generator, MapInitEvent args) { if (!_cfgManager.GetCVar(CCVars.GatewayGeneratorEnabled)) diff --git a/Content.Server/Gateway/Systems/GatewaySystem.cs b/Content.Server/Gateway/Systems/GatewaySystem.cs index 52525ee0d4..7ebc751dd2 100644 --- a/Content.Server/Gateway/Systems/GatewaySystem.cs +++ b/Content.Server/Gateway/Systems/GatewaySystem.cs @@ -32,7 +32,6 @@ public sealed class GatewaySystem : EntitySystem { base.Initialize(); - SubscribeLocalEvent(OnGatewayUnpaused); SubscribeLocalEvent(OnStartup); SubscribeLocalEvent(OnGatewayOpenAttempt); SubscribeLocalEvent(UpdateUserInterface); @@ -48,11 +47,6 @@ public sealed class GatewaySystem : EntitySystem UpdateAllGateways(); } - private void OnGatewayUnpaused(EntityUid uid, GatewayComponent component, ref EntityUnpausedEvent args) - { - component.NextReady += args.PausedTime; - } - private void OnStartup(EntityUid uid, GatewayComponent comp, ComponentStartup args) { // no need to update ui since its just been created, just do portal diff --git a/Content.Server/Hands/Systems/HandsSystem.cs b/Content.Server/Hands/Systems/HandsSystem.cs index 77b5e3970c..62278064b6 100644 --- a/Content.Server/Hands/Systems/HandsSystem.cs +++ b/Content.Server/Hands/Systems/HandsSystem.cs @@ -52,7 +52,6 @@ namespace Content.Server.Hands.Systems SubscribeLocalEvent(HandleBodyPartRemoved); SubscribeLocalEvent(GetComponentState); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnExploded); @@ -73,10 +72,6 @@ namespace Content.Server.Hands.Systems args.State = new HandsComponentState(hands); } - private void OnUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - ent.Comp.NextThrowTime += args.PausedTime; - } private void OnExploded(Entity ent, ref BeforeExplodeEvent args) { diff --git a/Content.Server/Kitchen/Components/ActiveMicrowaveComponent.cs b/Content.Server/Kitchen/Components/ActiveMicrowaveComponent.cs index bd5449dde6..1e32e039db 100644 --- a/Content.Server/Kitchen/Components/ActiveMicrowaveComponent.cs +++ b/Content.Server/Kitchen/Components/ActiveMicrowaveComponent.cs @@ -6,7 +6,7 @@ namespace Content.Server.Kitchen.Components; /// /// Attached to a microwave that is currently in the process of cooking /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class ActiveMicrowaveComponent : Component { [ViewVariables(VVAccess.ReadWrite)] @@ -17,6 +17,7 @@ public sealed partial class ActiveMicrowaveComponent : Component [ViewVariables(VVAccess.ReadWrite)] [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan MalfunctionTime = TimeSpan.Zero; [ViewVariables] diff --git a/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs b/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs index cf3544a7e1..212383c463 100644 --- a/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs +++ b/Content.Server/Kitchen/EntitySystems/MicrowaveSystem.cs @@ -86,7 +86,6 @@ namespace Content.Server.Kitchen.EntitySystems SubscribeLocalEvent(OnCookStart); SubscribeLocalEvent(OnCookStop); - SubscribeLocalEvent(OnEntityUnpaused); SubscribeLocalEvent(OnActiveMicrowaveInsert); SubscribeLocalEvent(OnActiveMicrowaveRemove); @@ -112,11 +111,6 @@ namespace Content.Server.Kitchen.EntitySystems microwaveComponent.PlayingStream = _audio.Stop(microwaveComponent.PlayingStream); } - private void OnEntityUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - ent.Comp.MalfunctionTime += args.PausedTime; - } - private void OnActiveMicrowaveInsert(Entity ent, ref EntInsertedIntoContainerMessage args) { AddComp(args.Entity); diff --git a/Content.Server/Medical/Components/HealthAnalyzerComponent.cs b/Content.Server/Medical/Components/HealthAnalyzerComponent.cs index a7fed0cae3..6380b71c8a 100644 --- a/Content.Server/Medical/Components/HealthAnalyzerComponent.cs +++ b/Content.Server/Medical/Components/HealthAnalyzerComponent.cs @@ -6,7 +6,7 @@ namespace Content.Server.Medical.Components; /// /// After scanning, retrieves the target Uid to use with its related UI. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] [Access(typeof(HealthAnalyzerSystem), typeof(CryoPodSystem))] public sealed partial class HealthAnalyzerComponent : Component { @@ -14,6 +14,7 @@ public sealed partial class HealthAnalyzerComponent : Component /// When should the next update be sent for the patient /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextUpdate = TimeSpan.Zero; /// diff --git a/Content.Server/Medical/DefibrillatorSystem.cs b/Content.Server/Medical/DefibrillatorSystem.cs index e6ef8bf96a..467085f49e 100644 --- a/Content.Server/Medical/DefibrillatorSystem.cs +++ b/Content.Server/Medical/DefibrillatorSystem.cs @@ -50,21 +50,12 @@ public sealed class DefibrillatorSystem : EntitySystem /// public override void Initialize() { - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnUseInHand); SubscribeLocalEvent(OnPowerCellSlotEmpty); SubscribeLocalEvent(OnAfterInteract); SubscribeLocalEvent(OnDoAfter); } - private void OnUnpaused(EntityUid uid, DefibrillatorComponent component, ref EntityUnpausedEvent args) - { - if (component.NextZapTime == null) - return; - - component.NextZapTime = component.NextZapTime.Value + args.PausedTime; - } - private void OnUseInHand(EntityUid uid, DefibrillatorComponent component, UseInHandEvent args) { if (args.Handled || !TryComp(uid, out UseDelayComponent? useDelay) || _useDelay.IsDelayed((uid, useDelay))) diff --git a/Content.Server/Medical/HealthAnalyzerSystem.cs b/Content.Server/Medical/HealthAnalyzerSystem.cs index 5c7d265e61..a8abc4752d 100644 --- a/Content.Server/Medical/HealthAnalyzerSystem.cs +++ b/Content.Server/Medical/HealthAnalyzerSystem.cs @@ -30,7 +30,6 @@ public sealed class HealthAnalyzerSystem : EntitySystem public override void Initialize() { - SubscribeLocalEvent(OnEntityUnpaused); SubscribeLocalEvent(OnAfterInteract); SubscribeLocalEvent(OnDoAfter); SubscribeLocalEvent(OnInsertedIntoContainer); @@ -65,11 +64,6 @@ public sealed class HealthAnalyzerSystem : EntitySystem } } - private void OnEntityUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - ent.Comp.NextUpdate += args.PausedTime; - } - /// /// Trigger the doafter for scanning /// diff --git a/Content.Server/Medical/SuitSensors/SuitSensorComponent.cs b/Content.Server/Medical/SuitSensors/SuitSensorComponent.cs index 5de11f848c..9079655c80 100644 --- a/Content.Server/Medical/SuitSensors/SuitSensorComponent.cs +++ b/Content.Server/Medical/SuitSensors/SuitSensorComponent.cs @@ -7,7 +7,7 @@ namespace Content.Server.Medical.SuitSensors; /// Tracking device, embedded in almost all uniforms and jumpsuits. /// If enabled, will report to crew monitoring console owners position and status. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] [Access(typeof(SuitSensorSystem))] public sealed partial class SuitSensorComponent : Component { @@ -57,6 +57,7 @@ public sealed partial class SuitSensorComponent : Component /// Next time when sensor updated owners status /// [DataField("nextUpdate", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextUpdate = TimeSpan.Zero; /// diff --git a/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs b/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs index 38a7b0a451..94ecf5fd0e 100644 --- a/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs +++ b/Content.Server/Medical/SuitSensors/SuitSensorSystem.cs @@ -40,7 +40,6 @@ public sealed class SuitSensorSystem : EntitySystem base.Initialize(); SubscribeLocalEvent(OnPlayerSpawn); SubscribeLocalEvent(OnMapInit); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnEquipped); SubscribeLocalEvent(OnUnequipped); SubscribeLocalEvent(OnExamine); @@ -51,11 +50,6 @@ public sealed class SuitSensorSystem : EntitySystem SubscribeLocalEvent(OnEmpFinished); } - private void OnUnpaused(EntityUid uid, SuitSensorComponent component, ref EntityUnpausedEvent args) - { - component.NextUpdate += args.PausedTime; - } - public override void Update(float frameTime) { base.Update(frameTime); diff --git a/Content.Server/NPC/Components/NPCJukeComponent.cs b/Content.Server/NPC/Components/NPCJukeComponent.cs index 4cbd8017f2..2c4136c24b 100644 --- a/Content.Server/NPC/Components/NPCJukeComponent.cs +++ b/Content.Server/NPC/Components/NPCJukeComponent.cs @@ -3,7 +3,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Server.NPC.Components; -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class NPCJukeComponent : Component { [DataField("jukeType")] @@ -13,6 +13,7 @@ public sealed partial class NPCJukeComponent : Component public float JukeDuration = 0.5f; [DataField("nextJuke", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextJuke; [DataField("targetTile")] diff --git a/Content.Server/NPC/Components/NPCSteeringComponent.cs b/Content.Server/NPC/Components/NPCSteeringComponent.cs index 52f96e9c55..397b7fb032 100644 --- a/Content.Server/NPC/Components/NPCSteeringComponent.cs +++ b/Content.Server/NPC/Components/NPCSteeringComponent.cs @@ -11,7 +11,7 @@ namespace Content.Server.NPC.Components; /// /// Added to NPCs that are moving. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class NPCSteeringComponent : Component { #region Context Steering @@ -49,6 +49,7 @@ public sealed partial class NPCSteeringComponent : Component /// Next time we can change our steering direction. /// [DataField("nextSteer", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextSteer = TimeSpan.Zero; [DataField("lastSteerIndex")] @@ -66,6 +67,7 @@ public sealed partial class NPCSteeringComponent : Component public EntityCoordinates LastStuckCoordinates; [DataField("lastStuckTime", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan LastStuckTime; public const float StuckDistance = 1f; diff --git a/Content.Server/NPC/Pathfinding/GridPathfindingComponent.cs b/Content.Server/NPC/Pathfinding/GridPathfindingComponent.cs index 335a2bbaa1..dac07ea842 100644 --- a/Content.Server/NPC/Pathfinding/GridPathfindingComponent.cs +++ b/Content.Server/NPC/Pathfinding/GridPathfindingComponent.cs @@ -5,7 +5,7 @@ namespace Content.Server.NPC.Pathfinding; /// /// Stores the relevant pathfinding data for grids. /// -[RegisterComponent, Access(typeof(PathfindingSystem))] +[RegisterComponent, Access(typeof(PathfindingSystem)), AutoGenerateComponentPause] public sealed partial class GridPathfindingComponent : Component { [ViewVariables] @@ -15,6 +15,7 @@ public sealed partial class GridPathfindingComponent : Component /// Next time the graph is allowed to update. /// /// Removing this datafield is the lazy fix HOWEVER I want to purge this anyway and do pathfinding at runtime. + [AutoPausedField] public TimeSpan NextUpdate; [ViewVariables] diff --git a/Content.Server/NPC/Pathfinding/PathfindingSystem.Grid.cs b/Content.Server/NPC/Pathfinding/PathfindingSystem.Grid.cs index c27947dedb..6462c10fe5 100644 --- a/Content.Server/NPC/Pathfinding/PathfindingSystem.Grid.cs +++ b/Content.Server/NPC/Pathfinding/PathfindingSystem.Grid.cs @@ -44,7 +44,6 @@ public sealed partial class PathfindingSystem { SubscribeLocalEvent(OnGridInit); SubscribeLocalEvent(OnGridRemoved); - SubscribeLocalEvent(OnGridPathPause); SubscribeLocalEvent(OnGridPathShutdown); SubscribeLocalEvent(OnCollisionChange); SubscribeLocalEvent(OnCollisionLayerChange); @@ -61,10 +60,6 @@ public sealed partial class PathfindingSystem DirtyChunk(ev.Entity, Comp(ev.Entity).GridTileToLocal(ev.NewTile.GridIndices)); } - private void OnGridPathPause(EntityUid uid, GridPathfindingComponent component, ref EntityUnpausedEvent args) - { - component.NextUpdate += args.PausedTime; - } private void OnGridPathShutdown(EntityUid uid, GridPathfindingComponent component, ComponentShutdown args) { diff --git a/Content.Server/NPC/Systems/NPCJukeSystem.cs b/Content.Server/NPC/Systems/NPCJukeSystem.cs index 19f566405a..da9fa1f761 100644 --- a/Content.Server/NPC/Systems/NPCJukeSystem.cs +++ b/Content.Server/NPC/Systems/NPCJukeSystem.cs @@ -33,15 +33,9 @@ public sealed class NPCJukeSystem : EntitySystem _npcRangedQuery = GetEntityQuery(); _physicsQuery = GetEntityQuery(); - SubscribeLocalEvent(OnJukeUnpaused); SubscribeLocalEvent(OnJukeSteering); } - private void OnJukeUnpaused(EntityUid uid, NPCJukeComponent component, ref EntityUnpausedEvent args) - { - component.NextJuke += args.PausedTime; - } - private void OnJukeSteering(EntityUid uid, NPCJukeComponent component, ref NPCSteeringEvent args) { if (component.JukeType == JukeType.AdjacentTile) diff --git a/Content.Server/NPC/Systems/NPCSteeringSystem.cs b/Content.Server/NPC/Systems/NPCSteeringSystem.cs index 149a330919..aca2411d8a 100644 --- a/Content.Server/NPC/Systems/NPCSteeringSystem.cs +++ b/Content.Server/NPC/Systems/NPCSteeringSystem.cs @@ -107,7 +107,6 @@ public sealed partial class NPCSteeringSystem : SharedNPCSteeringSystem Subs.CVar(_configManager, CCVars.NPCPathfinding, SetNPCPathfinding, true); SubscribeLocalEvent(OnSteeringShutdown); - SubscribeLocalEvent(OnSteeringUnpaused); SubscribeNetworkEvent(OnDebugRequest); } @@ -158,12 +157,6 @@ public sealed partial class NPCSteeringSystem : SharedNPCSteeringSystem component.PathfindToken = null; } - private void OnSteeringUnpaused(EntityUid uid, NPCSteeringComponent component, ref EntityUnpausedEvent args) - { - component.LastStuckTime += args.PausedTime; - component.NextSteer += args.PausedTime; - } - /// /// Adds the AI to the steering system to move towards a specific target /// diff --git a/Content.Server/Nutrition/Components/FatExtractorComponent.cs b/Content.Server/Nutrition/Components/FatExtractorComponent.cs index bf81a173e4..e23c557236 100644 --- a/Content.Server/Nutrition/Components/FatExtractorComponent.cs +++ b/Content.Server/Nutrition/Components/FatExtractorComponent.cs @@ -10,7 +10,7 @@ namespace Content.Server.Nutrition.Components; /// /// This is used for a machine that extracts hunger from entities and creates meat. Yum! /// -[RegisterComponent, Access(typeof(FatExtractorSystem))] +[RegisterComponent, Access(typeof(FatExtractorSystem)), AutoGenerateComponentPause] public sealed partial class FatExtractorComponent : Component { /// @@ -48,6 +48,7 @@ public sealed partial class FatExtractorComponent : Component /// When the next update will occur /// [DataField("nextUpdate", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextUpdate; /// diff --git a/Content.Server/Nutrition/EntitySystems/AnimalHusbandrySystem.cs b/Content.Server/Nutrition/EntitySystems/AnimalHusbandrySystem.cs index 1271c57a23..d0fcd11359 100644 --- a/Content.Server/Nutrition/EntitySystems/AnimalHusbandrySystem.cs +++ b/Content.Server/Nutrition/EntitySystems/AnimalHusbandrySystem.cs @@ -40,23 +40,11 @@ public sealed class AnimalHusbandrySystem : EntitySystem /// public override void Initialize() { - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnMindAdded); - SubscribeLocalEvent(OnInfantUnpaused); SubscribeLocalEvent(OnInfantStartup); SubscribeLocalEvent(OnInfantShutdown); } - private void OnUnpaused(EntityUid uid, ReproductiveComponent component, ref EntityUnpausedEvent args) - { - component.NextBreedAttempt += args.PausedTime; - } - - private void OnInfantUnpaused(EntityUid uid, InfantComponent component, ref EntityUnpausedEvent args) - { - component.InfantEndTime += args.PausedTime; - } - // we express EZ-pass terminate the pregnancy if a player takes the role private void OnMindAdded(EntityUid uid, ReproductiveComponent component, MindAddedMessage args) { diff --git a/Content.Server/Nutrition/EntitySystems/FatExtractorSystem.cs b/Content.Server/Nutrition/EntitySystems/FatExtractorSystem.cs index 4bd8c94ac8..180e40d1e4 100644 --- a/Content.Server/Nutrition/EntitySystems/FatExtractorSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/FatExtractorSystem.cs @@ -27,18 +27,12 @@ public sealed class FatExtractorSystem : EntitySystem /// public override void Initialize() { - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnGotEmagged); SubscribeLocalEvent(OnClosed); SubscribeLocalEvent(OnOpen); SubscribeLocalEvent(OnPowerChanged); } - private void OnUnpaused(EntityUid uid, FatExtractorComponent component, ref EntityUnpausedEvent args) - { - component.NextUpdate += args.PausedTime; - } - private void OnGotEmagged(EntityUid uid, FatExtractorComponent component, ref GotEmaggedEvent args) { args.Handled = true; diff --git a/Content.Server/Physics/Components/ChasingWalkComponent.cs b/Content.Server/Physics/Components/ChasingWalkComponent.cs index ca7a027544..222c9d64db 100644 --- a/Content.Server/Physics/Components/ChasingWalkComponent.cs +++ b/Content.Server/Physics/Components/ChasingWalkComponent.cs @@ -8,13 +8,14 @@ namespace Content.Server.Physics.Components; /// /// A component which makes its entity chasing entity with selected component. /// -[RegisterComponent, Access(typeof(ChasingWalkSystem))] +[RegisterComponent, Access(typeof(ChasingWalkSystem)), AutoGenerateComponentPause] public sealed partial class ChasingWalkComponent : Component { /// /// The next moment in time when the entity is pushed toward its goal /// [DataField, ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextImpulseTime; /// @@ -57,6 +58,7 @@ public sealed partial class ChasingWalkComponent : Component /// The next change of direction time. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextChangeVectorTime; /// diff --git a/Content.Server/Physics/Controllers/ChasingWalkSystem.cs b/Content.Server/Physics/Controllers/ChasingWalkSystem.cs index 8835b44ab7..215e7e3124 100644 --- a/Content.Server/Physics/Controllers/ChasingWalkSystem.cs +++ b/Content.Server/Physics/Controllers/ChasingWalkSystem.cs @@ -27,7 +27,6 @@ public sealed class ChasingWalkSystem : VirtualController base.Initialize(); SubscribeLocalEvent(OnChasingMapInit); - SubscribeLocalEvent(OnChasingUnpaused); } private void OnChasingMapInit(EntityUid uid, ChasingWalkComponent component, MapInitEvent args) @@ -36,12 +35,6 @@ public sealed class ChasingWalkSystem : VirtualController component.NextChangeVectorTime = _gameTiming.CurTime; } - private void OnChasingUnpaused(EntityUid uid, ChasingWalkComponent component, ref EntityUnpausedEvent args) - { - component.NextImpulseTime += args.PausedTime; - component.NextChangeVectorTime += args.PausedTime; - } - public override void UpdateBeforeSolve(bool prediction, float frameTime) { base.UpdateBeforeSolve(prediction, frameTime); diff --git a/Content.Server/PowerCell/PowerCellSystem.Draw.cs b/Content.Server/PowerCell/PowerCellSystem.Draw.cs index c6d8e1e709..8e960357b7 100644 --- a/Content.Server/PowerCell/PowerCellSystem.Draw.cs +++ b/Content.Server/PowerCell/PowerCellSystem.Draw.cs @@ -39,11 +39,6 @@ public sealed partial class PowerCellSystem } } - private void OnUnpaused(EntityUid uid, PowerCellDrawComponent component, ref EntityUnpausedEvent args) - { - component.NextUpdateTime += args.PausedTime; - } - private void OnDrawChargeChanged(EntityUid uid, PowerCellDrawComponent component, ref ChargeChangedEvent args) { // Update the bools for client prediction. diff --git a/Content.Server/PowerCell/PowerCellSystem.cs b/Content.Server/PowerCell/PowerCellSystem.cs index b424f34de5..d501a1bda3 100644 --- a/Content.Server/PowerCell/PowerCellSystem.cs +++ b/Content.Server/PowerCell/PowerCellSystem.cs @@ -35,7 +35,6 @@ public sealed partial class PowerCellSystem : SharedPowerCellSystem SubscribeLocalEvent(OnCellExamined); SubscribeLocalEvent(OnCellEmpAttempt); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnDrawChargeChanged); SubscribeLocalEvent(OnDrawCellChanged); diff --git a/Content.Server/PowerSink/PowerSinkComponent.cs b/Content.Server/PowerSink/PowerSinkComponent.cs index f1df042179..a55d368c6e 100644 --- a/Content.Server/PowerSink/PowerSinkComponent.cs +++ b/Content.Server/PowerSink/PowerSinkComponent.cs @@ -6,7 +6,7 @@ namespace Content.Server.PowerSink /// /// Absorbs power up to its capacity when anchored then explodes. /// - [RegisterComponent] + [RegisterComponent, AutoGenerateComponentPause] public sealed partial class PowerSinkComponent : Component { /// @@ -21,6 +21,7 @@ namespace Content.Server.PowerSink /// If explosion has been triggered, time at which to explode. /// [DataField("explosionTime", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public System.TimeSpan? ExplosionTime = null; /// diff --git a/Content.Server/PowerSink/PowerSinkSystem.cs b/Content.Server/PowerSink/PowerSinkSystem.cs index deb6693500..dddfd33967 100644 --- a/Content.Server/PowerSink/PowerSinkSystem.cs +++ b/Content.Server/PowerSink/PowerSinkSystem.cs @@ -37,7 +37,6 @@ namespace Content.Server.PowerSink base.Initialize(); SubscribeLocalEvent(OnExamine); - SubscribeLocalEvent(OnUnpaused); } private void OnExamine(EntityUid uid, PowerSinkComponent component, ExaminedEvent args) @@ -54,14 +53,6 @@ namespace Content.Server.PowerSink ); } - private void OnUnpaused(EntityUid uid, PowerSinkComponent component, ref EntityUnpausedEvent args) - { - if (component.ExplosionTime == null) - return; - - component.ExplosionTime = component.ExplosionTime + args.PausedTime; - } - public override void Update(float frameTime) { var toRemove = new RemQueue<(EntityUid Entity, PowerSinkComponent Sink)>(); diff --git a/Content.Server/Salvage/Expeditions/SalvageExpeditionComponent.cs b/Content.Server/Salvage/Expeditions/SalvageExpeditionComponent.cs index 6d3d831a2d..6a58c209cf 100644 --- a/Content.Server/Salvage/Expeditions/SalvageExpeditionComponent.cs +++ b/Content.Server/Salvage/Expeditions/SalvageExpeditionComponent.cs @@ -11,7 +11,7 @@ namespace Content.Server.Salvage.Expeditions; /// /// Designates this entity as holding a salvage expedition. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class SalvageExpeditionComponent : SharedSalvageExpeditionComponent { public SalvageMissionParams MissionParams = default!; @@ -26,6 +26,7 @@ public sealed partial class SalvageExpeditionComponent : SharedSalvageExpedition /// When the expeditions ends. /// [ViewVariables(VVAccess.ReadWrite), DataField("endTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan EndTime; /// diff --git a/Content.Server/Salvage/SalvageSystem.Expeditions.cs b/Content.Server/Salvage/SalvageSystem.Expeditions.cs index 1eb1cc3027..7e4a9c9310 100644 --- a/Content.Server/Salvage/SalvageSystem.Expeditions.cs +++ b/Content.Server/Salvage/SalvageSystem.Expeditions.cs @@ -31,10 +31,7 @@ public sealed partial class SalvageSystem SubscribeLocalEvent(OnSalvageConsoleParent); SubscribeLocalEvent(OnSalvageClaimMessage); - SubscribeLocalEvent(OnDataUnpaused); - SubscribeLocalEvent(OnExpeditionShutdown); - SubscribeLocalEvent(OnExpeditionUnpaused); SubscribeLocalEvent(OnExpeditionGetState); SubscribeLocalEvent(OnStructureExamine); @@ -89,16 +86,6 @@ public sealed partial class SalvageSystem } } - private void OnDataUnpaused(EntityUid uid, SalvageExpeditionDataComponent component, ref EntityUnpausedEvent args) - { - component.NextOffer += args.PausedTime; - } - - private void OnExpeditionUnpaused(EntityUid uid, SalvageExpeditionComponent component, ref EntityUnpausedEvent args) - { - component.EndTime += args.PausedTime; - } - private void UpdateExpeditions() { var currentTime = _timing.CurTime; diff --git a/Content.Server/Shuttles/Components/ArrivalsShuttleComponent.cs b/Content.Server/Shuttles/Components/ArrivalsShuttleComponent.cs index 99cdcbc3b6..b9ff375507 100644 --- a/Content.Server/Shuttles/Components/ArrivalsShuttleComponent.cs +++ b/Content.Server/Shuttles/Components/ArrivalsShuttleComponent.cs @@ -3,13 +3,14 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Server.Shuttles.Components; -[RegisterComponent, Access(typeof(ArrivalsSystem))] +[RegisterComponent, Access(typeof(ArrivalsSystem)), AutoGenerateComponentPause] public sealed partial class ArrivalsShuttleComponent : Component { [DataField("station")] public EntityUid Station; [DataField("nextTransfer", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextTransfer; [DataField("nextArrivalsTime", customTypeSerializer: typeof(TimeOffsetSerializer))] diff --git a/Content.Server/Shuttles/Components/EscapePodComponent.cs b/Content.Server/Shuttles/Components/EscapePodComponent.cs index d68065fc00..72c8024e12 100644 --- a/Content.Server/Shuttles/Components/EscapePodComponent.cs +++ b/Content.Server/Shuttles/Components/EscapePodComponent.cs @@ -6,9 +6,10 @@ namespace Content.Server.Shuttles.Components; /// /// If added to a grid gets launched when the emergency shuttle launches. /// -[RegisterComponent, Access(typeof(EmergencyShuttleSystem))] +[RegisterComponent, Access(typeof(EmergencyShuttleSystem)), AutoGenerateComponentPause] public sealed partial class EscapePodComponent : Component { [DataField("launchTime", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan? LaunchTime; } diff --git a/Content.Server/Shuttles/Systems/ArrivalsSystem.cs b/Content.Server/Shuttles/Systems/ArrivalsSystem.cs index 7d63b83588..037fcc7566 100644 --- a/Content.Server/Shuttles/Systems/ArrivalsSystem.cs +++ b/Content.Server/Shuttles/Systems/ArrivalsSystem.cs @@ -85,7 +85,6 @@ public sealed class ArrivalsSystem : EntitySystem SubscribeLocalEvent(OnArrivalsStartup); SubscribeLocalEvent(OnShuttleStartup); - SubscribeLocalEvent(OnShuttleUnpaused); SubscribeLocalEvent(OnShuttleTag); SubscribeLocalEvent(OnRoundStarting); @@ -384,11 +383,6 @@ public sealed class ArrivalsSystem : EntitySystem EnsureComp(uid); } - private void OnShuttleUnpaused(EntityUid uid, ArrivalsShuttleComponent component, ref EntityUnpausedEvent args) - { - component.NextTransfer += args.PausedTime; - } - private bool TryGetArrivals(out EntityUid uid) { var arrivalsQuery = EntityQueryEnumerator(); diff --git a/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.Console.cs b/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.Console.cs index f8e6f2423f..6fb939d94a 100644 --- a/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.Console.cs +++ b/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.Console.cs @@ -93,8 +93,6 @@ public sealed partial class EmergencyShuttleSystem SubscribeLocalEvent(OnEmergencyRepeal); SubscribeLocalEvent(OnEmergencyRepealAll); SubscribeLocalEvent(OnEmergencyOpenAttempt); - - SubscribeLocalEvent(OnEscapeUnpaused); } private void OnEmergencyOpenAttempt(EntityUid uid, EmergencyShuttleConsoleComponent component, ActivatableUIOpenAttemptEvent args) diff --git a/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.cs b/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.cs index 66214b0577..8b2c268300 100644 --- a/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.cs +++ b/Content.Server/Shuttles/Systems/EmergencyShuttleSystem.cs @@ -507,14 +507,6 @@ public sealed partial class EmergencyShuttleSystem : EntitySystem EnsureComp(shuttle.Value); } - private void OnEscapeUnpaused(EntityUid uid, EscapePodComponent component, ref EntityUnpausedEvent args) - { - if (component.LaunchTime == null) - return; - - component.LaunchTime = component.LaunchTime.Value + args.PausedTime; - } - /// /// Returns whether a target is escaping on the emergency shuttle, but only if evac has arrived. /// diff --git a/Content.Server/Singularity/EntitySystems/EventHorizonSystem.cs b/Content.Server/Singularity/EntitySystems/EventHorizonSystem.cs index bbe19614a3..e346ae9300 100644 --- a/Content.Server/Singularity/EntitySystems/EventHorizonSystem.cs +++ b/Content.Server/Singularity/EntitySystems/EventHorizonSystem.cs @@ -40,7 +40,6 @@ public sealed class EventHorizonSystem : SharedEventHorizonSystem SubscribeLocalEvent(PreventConsume); SubscribeLocalEvent(PreventConsume); SubscribeLocalEvent(OnHorizonMapInit); - SubscribeLocalEvent(OnHorizonUnpaused); SubscribeLocalEvent(OnStartCollide); SubscribeLocalEvent(OnEventHorizonContained); SubscribeLocalEvent(OnEventHorizonContained); @@ -57,11 +56,6 @@ public sealed class EventHorizonSystem : SharedEventHorizonSystem component.NextConsumeWaveTime = _timing.CurTime; } - private void OnHorizonUnpaused(EntityUid uid, EventHorizonComponent component, ref EntityUnpausedEvent args) - { - component.NextConsumeWaveTime += args.PausedTime; - } - public override void Shutdown() { var vvHandle = Vvm.GetTypeHandler(); diff --git a/Content.Server/Spreader/GrowingKudzuComponent.cs b/Content.Server/Spreader/GrowingKudzuComponent.cs index d2cd6d6404..8cda21234f 100644 --- a/Content.Server/Spreader/GrowingKudzuComponent.cs +++ b/Content.Server/Spreader/GrowingKudzuComponent.cs @@ -2,12 +2,13 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Server.Spreader; -[RegisterComponent, Access(typeof(KudzuSystem))] +[RegisterComponent, Access(typeof(KudzuSystem)), AutoGenerateComponentPause] public sealed partial class GrowingKudzuComponent : Component { /// /// The next time kudzu will try to tick its growth level. /// [DataField("nextTick", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextTick = TimeSpan.Zero; } diff --git a/Content.Server/Spreader/KudzuSystem.cs b/Content.Server/Spreader/KudzuSystem.cs index d15a2c667f..49698ea673 100644 --- a/Content.Server/Spreader/KudzuSystem.cs +++ b/Content.Server/Spreader/KudzuSystem.cs @@ -21,7 +21,6 @@ public sealed class KudzuSystem : EntitySystem { SubscribeLocalEvent(SetupKudzu); SubscribeLocalEvent(OnKudzuSpread); - SubscribeLocalEvent(OnKudzuUnpaused); SubscribeLocalEvent(OnDamageChanged); } @@ -80,11 +79,6 @@ public sealed class KudzuSystem : EntitySystem } } - private void OnKudzuUnpaused(EntityUid uid, GrowingKudzuComponent component, ref EntityUnpausedEvent args) - { - component.NextTick += args.PausedTime; - } - private void SetupKudzu(EntityUid uid, KudzuComponent component, ComponentStartup args) { if (!EntityManager.TryGetComponent(uid, out var appearance)) diff --git a/Content.Server/StationEvents/Components/StationEventComponent.cs b/Content.Server/StationEvents/Components/StationEventComponent.cs index de0dc1c28a..b4456a4b5b 100644 --- a/Content.Server/StationEvents/Components/StationEventComponent.cs +++ b/Content.Server/StationEvents/Components/StationEventComponent.cs @@ -6,7 +6,7 @@ namespace Content.Server.StationEvents.Components; /// /// Defines basic data for a station event /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class StationEventComponent : Component { public const float WeightVeryLow = 0.0f; @@ -79,11 +79,13 @@ public sealed partial class StationEventComponent : Component /// When the station event starts. /// [DataField("startTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan StartTime; /// /// When the station event ends. /// [DataField("endTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan? EndTime; } diff --git a/Content.Server/StationEvents/EventManagerSystem.cs b/Content.Server/StationEvents/EventManagerSystem.cs index fb3590dcd5..a0ab037755 100644 --- a/Content.Server/StationEvents/EventManagerSystem.cs +++ b/Content.Server/StationEvents/EventManagerSystem.cs @@ -29,15 +29,6 @@ public sealed class EventManagerSystem : EntitySystem _sawmill = Logger.GetSawmill("events"); Subs.CVar(_configurationManager, CCVars.EventsEnabled, SetEnabled, true); - - SubscribeLocalEvent(OnUnpaused); - } - - private void OnUnpaused(EntityUid uid, StationEventComponent component, ref EntityUnpausedEvent args) - { - component.StartTime += args.PausedTime; - if (component.EndTime != null) - component.EndTime = component.EndTime.Value + args.PausedTime; } /// diff --git a/Content.Server/Tesla/Components/LightningArcShooterComponent.cs b/Content.Server/Tesla/Components/LightningArcShooterComponent.cs index 641dc59e8c..add7bf88e4 100644 --- a/Content.Server/Tesla/Components/LightningArcShooterComponent.cs +++ b/Content.Server/Tesla/Components/LightningArcShooterComponent.cs @@ -6,7 +6,7 @@ namespace Content.Server.Tesla.Components; /// /// Periodically fires electric arcs at surrounding objects. /// -[RegisterComponent, Access(typeof(LightningArcShooterSystem))] +[RegisterComponent, Access(typeof(LightningArcShooterSystem)), AutoGenerateComponentPause] public sealed partial class LightningArcShooterComponent : Component { /// @@ -45,6 +45,7 @@ public sealed partial class LightningArcShooterComponent : Component /// The time, upon reaching which the next batch of lightning bolts will be fired. /// [DataField, ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextShootTime; /// diff --git a/Content.Server/Tesla/Components/LightningSparkingComponent.cs b/Content.Server/Tesla/Components/LightningSparkingComponent.cs index bb954de89a..e56c59f196 100644 --- a/Content.Server/Tesla/Components/LightningSparkingComponent.cs +++ b/Content.Server/Tesla/Components/LightningSparkingComponent.cs @@ -7,7 +7,7 @@ namespace Content.Server.Tesla.Components; /// /// The component changes the visual of an object after it is struck by lightning /// -[RegisterComponent, Access(typeof(LightningSparkingSystem))] +[RegisterComponent, Access(typeof(LightningSparkingSystem)), AutoGenerateComponentPause] public sealed partial class LightningSparkingComponent : Component { /// @@ -20,6 +20,7 @@ public sealed partial class LightningSparkingComponent : Component /// When the spark visual should turn off. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan LightningEndTime; [DataField, ViewVariables(VVAccess.ReadWrite)] diff --git a/Content.Server/Tesla/EntitySystem/LightningArcShooterSystem.cs b/Content.Server/Tesla/EntitySystem/LightningArcShooterSystem.cs index e901a93288..9948537c3c 100644 --- a/Content.Server/Tesla/EntitySystem/LightningArcShooterSystem.cs +++ b/Content.Server/Tesla/EntitySystem/LightningArcShooterSystem.cs @@ -18,7 +18,6 @@ public sealed class LightningArcShooterSystem : EntitySystem { base.Initialize(); SubscribeLocalEvent(OnShooterMapInit); - SubscribeLocalEvent(OnShooterUnpaused); } private void OnShooterMapInit(EntityUid uid, LightningArcShooterComponent component, ref MapInitEvent args) @@ -26,11 +25,6 @@ public sealed class LightningArcShooterSystem : EntitySystem component.NextShootTime = _gameTiming.CurTime + TimeSpan.FromSeconds(component.ShootMaxInterval); } - private void OnShooterUnpaused(EntityUid uid, LightningArcShooterComponent component, ref EntityUnpausedEvent args) - { - component.NextShootTime += args.PausedTime; - } - public override void Update(float frameTime) { base.Update(frameTime); diff --git a/Content.Server/Tesla/EntitySystem/LightningSparkingSystem.cs b/Content.Server/Tesla/EntitySystem/LightningSparkingSystem.cs index 7b569e66b3..c07472c8b3 100644 --- a/Content.Server/Tesla/EntitySystem/LightningSparkingSystem.cs +++ b/Content.Server/Tesla/EntitySystem/LightningSparkingSystem.cs @@ -18,12 +18,6 @@ public sealed class LightningSparkingSystem : EntitySystem base.Initialize(); SubscribeLocalEvent(OnHitByLightning); - SubscribeLocalEvent(OnLightningUnpaused); - } - - private void OnLightningUnpaused(EntityUid uid, LightningSparkingComponent component, ref EntityUnpausedEvent args) - { - component.LightningEndTime += args.PausedTime; } private void OnHitByLightning(Entity uid, ref HitByLightningEvent args) diff --git a/Content.Shared/Anomaly/Components/AnomalyComponent.cs b/Content.Shared/Anomaly/Components/AnomalyComponent.cs index 89afbb0122..bafdf12360 100644 --- a/Content.Shared/Anomaly/Components/AnomalyComponent.cs +++ b/Content.Shared/Anomaly/Components/AnomalyComponent.cs @@ -14,7 +14,7 @@ namespace Content.Shared.Anomaly.Components; /// /// Anomalies and their related components were designed here: https://hackmd.io/@ss14-design/r1sQbkJOs /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] [Access(typeof(SharedAnomalySystem))] public sealed partial class AnomalyComponent : Component { @@ -86,7 +86,7 @@ public sealed partial class AnomalyComponent : Component /// /// The time at which the next artifact pulse will occur. /// - [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField, AutoPausedField] [ViewVariables(VVAccess.ReadWrite)] public TimeSpan NextPulseTime = TimeSpan.Zero; diff --git a/Content.Shared/Anomaly/Components/AnomalyPulsingComponent.cs b/Content.Shared/Anomaly/Components/AnomalyPulsingComponent.cs index 7326118b3c..a7fedb821b 100644 --- a/Content.Shared/Anomaly/Components/AnomalyPulsingComponent.cs +++ b/Content.Shared/Anomaly/Components/AnomalyPulsingComponent.cs @@ -5,13 +5,14 @@ namespace Content.Shared.Anomaly.Components; /// /// This component tracks anomalies that are currently pulsing /// -[RegisterComponent, Access(typeof(SharedAnomalySystem))] +[RegisterComponent, Access(typeof(SharedAnomalySystem)), AutoGenerateComponentPause] public sealed partial class AnomalyPulsingComponent : Component { /// /// The time at which the pulse will be over. /// [DataField("endTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan EndTime; /// diff --git a/Content.Shared/Anomaly/Components/AnomalySupercriticalComponent.cs b/Content.Shared/Anomaly/Components/AnomalySupercriticalComponent.cs index bd8f40852d..00ea882ad2 100644 --- a/Content.Shared/Anomaly/Components/AnomalySupercriticalComponent.cs +++ b/Content.Shared/Anomaly/Components/AnomalySupercriticalComponent.cs @@ -8,6 +8,7 @@ namespace Content.Shared.Anomaly.Components; /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] [Access(typeof(SharedAnomalySystem))] +[AutoGenerateComponentPause] public sealed partial class AnomalySupercriticalComponent : Component { /// @@ -15,6 +16,7 @@ public sealed partial class AnomalySupercriticalComponent : Component /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] [ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan EndTime; /// diff --git a/Content.Shared/Anomaly/SharedAnomalySystem.cs b/Content.Shared/Anomaly/SharedAnomalySystem.cs index 6eba4221b4..6cdcdf305b 100644 --- a/Content.Shared/Anomaly/SharedAnomalySystem.cs +++ b/Content.Shared/Anomaly/SharedAnomalySystem.cs @@ -46,10 +46,6 @@ public abstract class SharedAnomalySystem : EntitySystem SubscribeLocalEvent(OnAnomalyThrowStart); SubscribeLocalEvent(OnAnomalyThrowEnd); - SubscribeLocalEvent(OnAnomalyUnpause); - SubscribeLocalEvent(OnPulsingUnpause); - SubscribeLocalEvent(OnSupercriticalUnpause); - _sawmill = Logger.GetSawmill("anomaly"); } @@ -89,23 +85,6 @@ public abstract class SharedAnomalySystem : EntitySystem Popup.PopupEntity(Loc.GetString("anomaly-component-contact-damage"), target, target); } - private void OnAnomalyUnpause(EntityUid uid, AnomalyComponent component, ref EntityUnpausedEvent args) - { - component.NextPulseTime += args.PausedTime; - Dirty(uid, component); - } - - private void OnPulsingUnpause(EntityUid uid, AnomalyPulsingComponent component, ref EntityUnpausedEvent args) - { - component.EndTime += args.PausedTime; - } - - private void OnSupercriticalUnpause(EntityUid uid, AnomalySupercriticalComponent component, ref EntityUnpausedEvent args) - { - component.EndTime += args.PausedTime; - Dirty(uid, component); - } - public void DoAnomalyPulse(EntityUid uid, AnomalyComponent? component = null) { if (!Resolve(uid, ref component)) diff --git a/Content.Shared/Atmos/Rotting/PerishableComponent.cs b/Content.Shared/Atmos/Rotting/PerishableComponent.cs index 1c5c4bc4ae..6983b872b8 100644 --- a/Content.Shared/Atmos/Rotting/PerishableComponent.cs +++ b/Content.Shared/Atmos/Rotting/PerishableComponent.cs @@ -7,7 +7,7 @@ namespace Content.Shared.Atmos.Rotting; /// This makes mobs eventually start rotting when they die. /// It may be expanded to food at some point, but it's just for mobs right now. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] [Access(typeof(SharedRottingSystem))] public sealed partial class PerishableComponent : Component { @@ -27,6 +27,7 @@ public sealed partial class PerishableComponent : Component /// Gasses are released, this is when the next gas release update will be. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan RotNextUpdate = TimeSpan.Zero; /// diff --git a/Content.Shared/Atmos/Rotting/RottingComponent.cs b/Content.Shared/Atmos/Rotting/RottingComponent.cs index d4ba79bb89..d21fac88a2 100644 --- a/Content.Shared/Atmos/Rotting/RottingComponent.cs +++ b/Content.Shared/Atmos/Rotting/RottingComponent.cs @@ -8,7 +8,7 @@ namespace Content.Shared.Atmos.Rotting; /// Tracking component for stuff that has started to rot. /// Only the current stage is networked to the client. /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] [Access(typeof(SharedRottingSystem))] public sealed partial class RottingComponent : Component { @@ -22,6 +22,7 @@ public sealed partial class RottingComponent : Component /// When the next check will happen for rot progression + effects like damage and ammonia /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextRotUpdate = TimeSpan.Zero; /// diff --git a/Content.Shared/Bed/Cryostorage/CryostorageContainedComponent.cs b/Content.Shared/Bed/Cryostorage/CryostorageContainedComponent.cs index 5ab639bd3c..9c73b59e9a 100644 --- a/Content.Shared/Bed/Cryostorage/CryostorageContainedComponent.cs +++ b/Content.Shared/Bed/Cryostorage/CryostorageContainedComponent.cs @@ -8,7 +8,7 @@ namespace Content.Shared.Bed.Cryostorage; /// This is used to track an entity that is currently being held in Cryostorage. /// [RegisterComponent, NetworkedComponent] -[AutoGenerateComponentState] +[AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class CryostorageContainedComponent : Component { /// @@ -22,6 +22,7 @@ public sealed partial class CryostorageContainedComponent : Component /// The time at which the cryostorage grace period ends. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite), AutoNetworkedField] + [AutoPausedField] public TimeSpan? GracePeriodEndTime; /// diff --git a/Content.Shared/Bed/Cryostorage/SharedCryostorageSystem.cs b/Content.Shared/Bed/Cryostorage/SharedCryostorageSystem.cs index 1197e019d0..f14dc21c48 100644 --- a/Content.Shared/Bed/Cryostorage/SharedCryostorageSystem.cs +++ b/Content.Shared/Bed/Cryostorage/SharedCryostorageSystem.cs @@ -37,7 +37,6 @@ public abstract class SharedCryostorageSystem : EntitySystem SubscribeLocalEvent(OnCanDropTarget); SubscribeLocalEvent(OnRemovedContained); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnShutdownContained); SubscribeLocalEvent(OnRoundRestart); @@ -130,13 +129,6 @@ public abstract class SharedCryostorageSystem : EntitySystem RemCompDeferred(ent, comp); } - private void OnUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - var comp = ent.Comp; - if (comp.GracePeriodEndTime != null) - comp.GracePeriodEndTime = comp.GracePeriodEndTime.Value + args.PausedTime; - } - private void OnShutdownContained(Entity ent, ref ComponentShutdown args) { var comp = ent.Comp; diff --git a/Content.Shared/Bed/Sleep/SharedSleepingSystem.cs b/Content.Shared/Bed/Sleep/SharedSleepingSystem.cs index 8e76ce3a3e..4e4bc2c574 100644 --- a/Content.Shared/Bed/Sleep/SharedSleepingSystem.cs +++ b/Content.Shared/Bed/Sleep/SharedSleepingSystem.cs @@ -26,14 +26,8 @@ namespace Content.Server.Bed.Sleep SubscribeLocalEvent(OnSpeakAttempt); SubscribeLocalEvent(OnSeeAttempt); SubscribeLocalEvent(OnPointAttempt); - SubscribeLocalEvent(OnSleepUnpaused); } - private void OnSleepUnpaused(EntityUid uid, SleepingComponent component, ref EntityUnpausedEvent args) - { - component.CoolDownEnd += args.PausedTime; - Dirty(uid, component); - } private void OnMapInit(EntityUid uid, SleepingComponent component, MapInitEvent args) { diff --git a/Content.Shared/Bed/Sleep/SleepingComponent.cs b/Content.Shared/Bed/Sleep/SleepingComponent.cs index 94838b658f..cd468440f4 100644 --- a/Content.Shared/Bed/Sleep/SleepingComponent.cs +++ b/Content.Shared/Bed/Sleep/SleepingComponent.cs @@ -7,7 +7,7 @@ namespace Content.Shared.Bed.Sleep; /// /// Added to entities when they go to sleep. /// -[NetworkedComponent, RegisterComponent] +[NetworkedComponent, RegisterComponent, AutoGenerateComponentPause(Dirty = true)] public sealed partial class SleepingComponent : Component { /// @@ -24,6 +24,7 @@ public sealed partial class SleepingComponent : Component public TimeSpan Cooldown = TimeSpan.FromSeconds(1f); [DataField("cooldownEnd", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan CoolDownEnd; [DataField("wakeAction")] public EntityUid? WakeAction; diff --git a/Content.Shared/Chasm/ChasmFallingComponent.cs b/Content.Shared/Chasm/ChasmFallingComponent.cs index 69b1c8e308..09377864c4 100644 --- a/Content.Shared/Chasm/ChasmFallingComponent.cs +++ b/Content.Shared/Chasm/ChasmFallingComponent.cs @@ -7,7 +7,7 @@ namespace Content.Shared.Chasm; /// /// Added to entities which have started falling into a chasm. /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] public sealed partial class ChasmFallingComponent : Component { /// @@ -23,6 +23,7 @@ public sealed partial class ChasmFallingComponent : Component public TimeSpan DeletionTime = TimeSpan.FromSeconds(1.8f); [DataField("nextDeletionTime", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextDeletionTime = TimeSpan.Zero; /// diff --git a/Content.Shared/Chasm/ChasmSystem.cs b/Content.Shared/Chasm/ChasmSystem.cs index 4045a27078..51299557db 100644 --- a/Content.Shared/Chasm/ChasmSystem.cs +++ b/Content.Shared/Chasm/ChasmSystem.cs @@ -26,7 +26,6 @@ public sealed class ChasmSystem : EntitySystem SubscribeLocalEvent(OnStepTriggered); SubscribeLocalEvent(OnStepTriggerAttempt); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnUpdateCanMove); } @@ -73,11 +72,6 @@ public sealed class ChasmSystem : EntitySystem args.Continue = true; } - private void OnUnpaused(EntityUid uid, ChasmFallingComponent component, ref EntityUnpausedEvent args) - { - component.NextDeletionTime += args.PausedTime; - } - private void OnUpdateCanMove(EntityUid uid, ChasmFallingComponent component, UpdateCanMoveEvent args) { args.Cancel(); diff --git a/Content.Shared/Chemistry/Components/SmokeAffectedComponent.cs b/Content.Shared/Chemistry/Components/SmokeAffectedComponent.cs index def6940ee1..fdc46dfbef 100644 --- a/Content.Shared/Chemistry/Components/SmokeAffectedComponent.cs +++ b/Content.Shared/Chemistry/Components/SmokeAffectedComponent.cs @@ -7,13 +7,14 @@ namespace Content.Shared.Chemistry.Components; /// This is used for entities which are currently being affected by smoke. /// Manages the gradual metabolism every second. /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] public sealed partial class SmokeAffectedComponent : Component { /// /// The time at which the next smoke metabolism will occur. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextSecond; /// diff --git a/Content.Shared/Climbing/Components/ClimbingComponent.cs b/Content.Shared/Climbing/Components/ClimbingComponent.cs index 2af2c89feb..89320eabc8 100644 --- a/Content.Shared/Climbing/Components/ClimbingComponent.cs +++ b/Content.Shared/Climbing/Components/ClimbingComponent.cs @@ -4,7 +4,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Climbing.Components; -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class ClimbingComponent : Component { /// @@ -17,6 +17,7 @@ public sealed partial class ClimbingComponent : Component /// Whether the owner is being moved onto the climbed entity. /// [AutoNetworkedField, DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan? NextTransition; /// diff --git a/Content.Shared/Climbing/Systems/ClimbSystem.cs b/Content.Shared/Climbing/Systems/ClimbSystem.cs index 23bc54b8f8..7c760f2c5d 100644 --- a/Content.Shared/Climbing/Systems/ClimbSystem.cs +++ b/Content.Shared/Climbing/Systems/ClimbSystem.cs @@ -62,7 +62,6 @@ public sealed partial class ClimbSystem : VirtualController SubscribeLocalEvent(OnDoAfter); SubscribeLocalEvent(OnClimbEndCollide); SubscribeLocalEvent(OnBuckleChange); - SubscribeLocalEvent(OnClimbableUnpaused); SubscribeLocalEvent(OnCanDragDropOn); SubscribeLocalEvent>(AddClimbableVerb); @@ -71,15 +70,6 @@ public sealed partial class ClimbSystem : VirtualController SubscribeLocalEvent(OnGlassClimbed); } - private void OnClimbableUnpaused(EntityUid uid, ClimbingComponent component, ref EntityUnpausedEvent args) - { - if (component.NextTransition == null) - return; - - component.NextTransition = component.NextTransition.Value + args.PausedTime; - Dirty(uid, component); - } - public override void UpdateBeforeSolve(bool prediction, float frameTime) { base.UpdateBeforeSolve(prediction, frameTime); diff --git a/Content.Shared/CombatMode/Pacification/PacificationSystem.cs b/Content.Shared/CombatMode/Pacification/PacificationSystem.cs index 0c5e12e6f0..6d94c087af 100644 --- a/Content.Shared/CombatMode/Pacification/PacificationSystem.cs +++ b/Content.Shared/CombatMode/Pacification/PacificationSystem.cs @@ -28,16 +28,9 @@ public sealed class PacificationSystem : EntitySystem SubscribeLocalEvent(OnBeforeThrow); SubscribeLocalEvent(OnAttackAttempt); SubscribeLocalEvent(OnShootAttempt); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnPacifiedDangerousAttack); } - private void OnUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - if (ent.Comp.NextPopupTime != null) - ent.Comp.NextPopupTime = ent.Comp.NextPopupTime.Value + args.PausedTime; - } - private bool PacifiedCanAttack(EntityUid user, EntityUid target, [NotNullWhen(false)] out string? reason) { var ev = new AttemptPacifiedAttackEvent(user); diff --git a/Content.Shared/CombatMode/Pacification/PacifiedComponent.cs b/Content.Shared/CombatMode/Pacification/PacifiedComponent.cs index e271628fcb..464ef77885 100644 --- a/Content.Shared/CombatMode/Pacification/PacifiedComponent.cs +++ b/Content.Shared/CombatMode/Pacification/PacifiedComponent.cs @@ -11,7 +11,7 @@ namespace Content.Shared.CombatMode.Pacification; /// /// If you want full-pacifism (no combat mode at all), you can simply set before adding. /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] [Access(typeof(PacificationSystem))] public sealed partial class PacifiedComponent : Component { @@ -33,6 +33,7 @@ public sealed partial class PacifiedComponent : Component public TimeSpan PopupCooldown = TimeSpan.FromSeconds(3.0); [DataField] + [AutoPausedField] public TimeSpan? NextPopupTime = null; /// diff --git a/Content.Shared/Construction/Components/FlatpackCreatorComponent.cs b/Content.Shared/Construction/Components/FlatpackCreatorComponent.cs index 1270591548..ed084b39b5 100644 --- a/Content.Shared/Construction/Components/FlatpackCreatorComponent.cs +++ b/Content.Shared/Construction/Components/FlatpackCreatorComponent.cs @@ -11,7 +11,7 @@ namespace Content.Shared.Construction.Components; /// [RegisterComponent, NetworkedComponent] [Access(typeof(SharedFlatpackSystem))] -[AutoGenerateComponentState] +[AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class FlatpackCreatorComponent : Component { /// @@ -26,6 +26,7 @@ public sealed partial class FlatpackCreatorComponent : Component /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] [AutoNetworkedField] + [AutoPausedField] public TimeSpan PackEndTime; /// diff --git a/Content.Shared/Construction/SharedFlatpackSystem.cs b/Content.Shared/Construction/SharedFlatpackSystem.cs index d4c2513cd3..a62488d6f3 100644 --- a/Content.Shared/Construction/SharedFlatpackSystem.cs +++ b/Content.Shared/Construction/SharedFlatpackSystem.cs @@ -40,7 +40,6 @@ public abstract class SharedFlatpackSystem : EntitySystem SubscribeLocalEvent(OnFlatpackExamined); SubscribeLocalEvent(OnCreatorRemovingAttempt); - SubscribeLocalEvent(OnCreatorUnpaused); } private void OnFlatpackInteractUsing(Entity ent, ref InteractUsingEvent args) @@ -110,11 +109,6 @@ public abstract class SharedFlatpackSystem : EntitySystem args.Cancel(); } - private void OnCreatorUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - ent.Comp.PackEndTime += args.PausedTime; - } - public void SetupFlatpack(Entity ent, EntityUid? board) { if (!Resolve(ent, ref ent.Comp)) diff --git a/Content.Shared/Damage/Components/DamageOnHoldingComponent.cs b/Content.Shared/Damage/Components/DamageOnHoldingComponent.cs index fe28b7e7f0..8af477c30b 100644 --- a/Content.Shared/Damage/Components/DamageOnHoldingComponent.cs +++ b/Content.Shared/Damage/Components/DamageOnHoldingComponent.cs @@ -5,7 +5,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Damage.Components; [RegisterComponent, NetworkedComponent] -[AutoGenerateComponentState] +[AutoGenerateComponentState, AutoGenerateComponentPause] [Access(typeof(DamageOnHoldingSystem))] public sealed partial class DamageOnHoldingComponent : Component { @@ -29,5 +29,6 @@ public sealed partial class DamageOnHoldingComponent : Component [DataField("nextDamage", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] [AutoNetworkedField] + [AutoPausedField] public TimeSpan NextDamage = TimeSpan.Zero; } diff --git a/Content.Shared/Damage/Components/StaminaComponent.cs b/Content.Shared/Damage/Components/StaminaComponent.cs index 74e0f6c852..5a2fba4970 100644 --- a/Content.Shared/Damage/Components/StaminaComponent.cs +++ b/Content.Shared/Damage/Components/StaminaComponent.cs @@ -6,7 +6,7 @@ namespace Content.Shared.Damage.Components; /// /// Add to an entity to paralyze it whenever it reaches critical amounts of Stamina DamageType. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true), AutoGenerateComponentPause] public sealed partial class StaminaComponent : Component { /// @@ -49,5 +49,6 @@ public sealed partial class StaminaComponent : Component /// To avoid continuously updating our data we track the last time we updated so we can extrapolate our current stamina. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] + [AutoPausedField] public TimeSpan NextUpdate = TimeSpan.Zero; } diff --git a/Content.Shared/Damage/Systems/DamageOnHoldingSystem.cs b/Content.Shared/Damage/Systems/DamageOnHoldingSystem.cs index e22be2fbbf..c13ec0a1b9 100644 --- a/Content.Shared/Damage/Systems/DamageOnHoldingSystem.cs +++ b/Content.Shared/Damage/Systems/DamageOnHoldingSystem.cs @@ -13,7 +13,6 @@ public sealed class DamageOnHoldingSystem : EntitySystem public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnMapInit); } @@ -26,11 +25,6 @@ public sealed class DamageOnHoldingSystem : EntitySystem } } - private void OnUnpaused(EntityUid uid, DamageOnHoldingComponent component, ref EntityUnpausedEvent args) - { - component.NextDamage += args.PausedTime; - } - private void OnMapInit(EntityUid uid, DamageOnHoldingComponent component, MapInitEvent args) { component.NextDamage = _timing.CurTime; @@ -50,4 +44,4 @@ public sealed class DamageOnHoldingSystem : EntitySystem component.NextDamage = _timing.CurTime + TimeSpan.FromSeconds(component.Interval); } } -} \ No newline at end of file +} diff --git a/Content.Shared/Damage/Systems/StaminaSystem.cs b/Content.Shared/Damage/Systems/StaminaSystem.cs index 9ac23f1af8..b8ea953f25 100644 --- a/Content.Shared/Damage/Systems/StaminaSystem.cs +++ b/Content.Shared/Damage/Systems/StaminaSystem.cs @@ -46,7 +46,6 @@ public sealed partial class StaminaSystem : EntitySystem InitializeModifier(); - SubscribeLocalEvent(OnStamUnpaused); SubscribeLocalEvent(OnStartup); SubscribeLocalEvent(OnShutdown); SubscribeLocalEvent(OnStamHandleState); @@ -61,11 +60,6 @@ public sealed partial class StaminaSystem : EntitySystem SubscribeLocalEvent(OnMeleeHit); } - private void OnStamUnpaused(EntityUid uid, StaminaComponent component, ref EntityUnpausedEvent args) - { - component.NextUpdate += args.PausedTime; - } - private void OnStamHandleState(EntityUid uid, StaminaComponent component, ref AfterAutoHandleStateEvent args) { if (component.Critical) diff --git a/Content.Shared/Emp/EmpDisabledComponent.cs b/Content.Shared/Emp/EmpDisabledComponent.cs index 33ba619a0d..9e5a56de83 100644 --- a/Content.Shared/Emp/EmpDisabledComponent.cs +++ b/Content.Shared/Emp/EmpDisabledComponent.cs @@ -7,7 +7,7 @@ namespace Content.Shared.Emp; /// While entity has this component it is "disabled" by EMP. /// Add desired behaviour in other systems /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] [Access(typeof(SharedEmpSystem))] public sealed partial class EmpDisabledComponent : Component { @@ -15,6 +15,7 @@ public sealed partial class EmpDisabledComponent : Component /// Moment of time when component is removed and entity stops being "disabled" /// [DataField("timeLeft", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan DisabledUntil; [DataField("effectCoolDown"), ViewVariables(VVAccess.ReadWrite)] @@ -23,5 +24,6 @@ public sealed partial class EmpDisabledComponent : Component /// /// When next effect will be spawned /// + [AutoPausedField] public TimeSpan TargetTime = TimeSpan.Zero; } diff --git a/Content.Shared/Gravity/GravityShakeComponent.cs b/Content.Shared/Gravity/GravityShakeComponent.cs index e8608a9681..c910320a2f 100644 --- a/Content.Shared/Gravity/GravityShakeComponent.cs +++ b/Content.Shared/Gravity/GravityShakeComponent.cs @@ -6,12 +6,13 @@ namespace Content.Shared.Gravity; /// /// Indicates this entity is shaking due to gravity changes. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class GravityShakeComponent : Component { [ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField] public int ShakeTimes; [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] + [AutoPausedField] public TimeSpan NextShake; } diff --git a/Content.Shared/Gravity/SharedGravitySystem.Shake.cs b/Content.Shared/Gravity/SharedGravitySystem.Shake.cs index e590baae44..ad2e0e3ad5 100644 --- a/Content.Shared/Gravity/SharedGravitySystem.Shake.cs +++ b/Content.Shared/Gravity/SharedGravitySystem.Shake.cs @@ -5,16 +5,6 @@ public abstract partial class SharedGravitySystem protected const float GravityKick = 100.0f; protected const float ShakeCooldown = 0.2f; - private void InitializeShake() - { - SubscribeLocalEvent(OnShakeUnpaused); - } - - private void OnShakeUnpaused(EntityUid uid, GravityShakeComponent component, ref EntityUnpausedEvent args) - { - component.NextShake += args.PausedTime; - } - private void UpdateShake() { var curTime = Timing.CurTime; diff --git a/Content.Shared/Gravity/SharedGravitySystem.cs b/Content.Shared/Gravity/SharedGravitySystem.cs index a65c386ae5..100d2ee74f 100644 --- a/Content.Shared/Gravity/SharedGravitySystem.cs +++ b/Content.Shared/Gravity/SharedGravitySystem.cs @@ -61,8 +61,6 @@ namespace Content.Shared.Gravity SubscribeLocalEvent(OnGravityChange); SubscribeLocalEvent(OnGetState); SubscribeLocalEvent(OnHandleState); - - InitializeShake(); } public override void Update(float frameTime) diff --git a/Content.Shared/Hands/Components/HandsComponent.cs b/Content.Shared/Hands/Components/HandsComponent.cs index ef3b2a6a0e..904b10b3bd 100644 --- a/Content.Shared/Hands/Components/HandsComponent.cs +++ b/Content.Shared/Hands/Components/HandsComponent.cs @@ -5,7 +5,7 @@ using Robust.Shared.Serialization; namespace Content.Shared.Hands.Components; -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] [Access(typeof(SharedHandsSystem))] public sealed partial class HandsComponent : Component { @@ -62,6 +62,7 @@ public sealed partial class HandsComponent : Component /// The time at which throws will be allowed again. /// [DataField, ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextThrowTime; /// diff --git a/Content.Shared/Materials/ActiveMaterialReclaimerComponent.cs b/Content.Shared/Materials/ActiveMaterialReclaimerComponent.cs index 9c2ee9632e..2beeed5d1e 100644 --- a/Content.Shared/Materials/ActiveMaterialReclaimerComponent.cs +++ b/Content.Shared/Materials/ActiveMaterialReclaimerComponent.cs @@ -8,7 +8,7 @@ namespace Content.Shared.Materials; /// Tracker component for the process of reclaiming entities /// /// -[RegisterComponent, NetworkedComponent, Access(typeof(SharedMaterialReclaimerSystem))] +[RegisterComponent, NetworkedComponent, Access(typeof(SharedMaterialReclaimerSystem)), AutoGenerateComponentPause] public sealed partial class ActiveMaterialReclaimerComponent : Component { /// @@ -21,6 +21,7 @@ public sealed partial class ActiveMaterialReclaimerComponent : Component /// When the reclaiming process ends. /// [DataField("endTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan EndTime; /// diff --git a/Content.Shared/Materials/InsertingMaterialStorageComponent.cs b/Content.Shared/Materials/InsertingMaterialStorageComponent.cs index 007dc73345..8ff96c17a7 100644 --- a/Content.Shared/Materials/InsertingMaterialStorageComponent.cs +++ b/Content.Shared/Materials/InsertingMaterialStorageComponent.cs @@ -3,7 +3,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Materials; -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class InsertingMaterialStorageComponent : Component { /// @@ -11,6 +11,7 @@ public sealed partial class InsertingMaterialStorageComponent : Component /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] [ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan EndTime; [ViewVariables, AutoNetworkedField] diff --git a/Content.Shared/Materials/MaterialReclaimerComponent.cs b/Content.Shared/Materials/MaterialReclaimerComponent.cs index 6c625e2fa2..3e72baf604 100644 --- a/Content.Shared/Materials/MaterialReclaimerComponent.cs +++ b/Content.Shared/Materials/MaterialReclaimerComponent.cs @@ -10,7 +10,7 @@ namespace Content.Shared.Materials; /// This is a machine that handles converting entities /// into the raw materials and chemicals that make them up. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] [Access(typeof(SharedMaterialReclaimerSystem))] public sealed partial class MaterialReclaimerComponent : Component { @@ -90,6 +90,7 @@ public sealed partial class MaterialReclaimerComponent : Component /// When the next sound will be allowed to be played. Used to prevent spam. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextSound; /// diff --git a/Content.Shared/Materials/SharedMaterialReclaimerSystem.cs b/Content.Shared/Materials/SharedMaterialReclaimerSystem.cs index 66cb25f530..ad8547acc0 100644 --- a/Content.Shared/Materials/SharedMaterialReclaimerSystem.cs +++ b/Content.Shared/Materials/SharedMaterialReclaimerSystem.cs @@ -34,13 +34,11 @@ public abstract class SharedMaterialReclaimerSystem : EntitySystem public override void Initialize() { SubscribeLocalEvent(OnShutdown); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnExamined); SubscribeLocalEvent(OnEmagged); SubscribeLocalEvent(OnMapInit); SubscribeLocalEvent(OnCollide); SubscribeLocalEvent(OnActiveStartup); - SubscribeLocalEvent(OnActiveUnpaused); } private void OnMapInit(EntityUid uid, MaterialReclaimerComponent component, MapInitEvent args) @@ -53,11 +51,6 @@ public abstract class SharedMaterialReclaimerSystem : EntitySystem _audio.Stop(component.Stream); } - private void OnUnpaused(EntityUid uid, MaterialReclaimerComponent component, ref EntityUnpausedEvent args) - { - component.NextSound += args.PausedTime; - } - private void OnExamined(EntityUid uid, MaterialReclaimerComponent component, ExaminedEvent args) { args.PushMarkup(Loc.GetString("recycler-count-items", ("items", component.ItemsProcessed))); @@ -82,11 +75,6 @@ public abstract class SharedMaterialReclaimerSystem : EntitySystem component.ReclaimingContainer = Container.EnsureContainer(uid, ActiveReclaimerContainerId); } - private void OnActiveUnpaused(EntityUid uid, ActiveMaterialReclaimerComponent component, ref EntityUnpausedEvent args) - { - component.EndTime += args.PausedTime; - } - /// /// Tries to start processing an item via a . /// diff --git a/Content.Shared/Materials/SharedMaterialStorageSystem.cs b/Content.Shared/Materials/SharedMaterialStorageSystem.cs index 9f7c87df3c..b1de77d971 100644 --- a/Content.Shared/Materials/SharedMaterialStorageSystem.cs +++ b/Content.Shared/Materials/SharedMaterialStorageSystem.cs @@ -30,7 +30,6 @@ public abstract class SharedMaterialStorageSystem : EntitySystem SubscribeLocalEvent(OnMapInit); SubscribeLocalEvent(OnInteractUsing); - SubscribeLocalEvent(OnUnpaused); } public override void Update(float frameTime) @@ -52,11 +51,6 @@ public abstract class SharedMaterialStorageSystem : EntitySystem _appearance.SetData(uid, MaterialStorageVisuals.Inserting, false); } - private void OnUnpaused(EntityUid uid, InsertingMaterialStorageComponent component, ref EntityUnpausedEvent args) - { - component.EndTime += args.PausedTime; - } - /// /// Gets the volume of a specified material contained in this storage. /// diff --git a/Content.Shared/Medical/DefibrillatorComponent.cs b/Content.Shared/Medical/DefibrillatorComponent.cs index afd1e0cc96..2da5285285 100644 --- a/Content.Shared/Medical/DefibrillatorComponent.cs +++ b/Content.Shared/Medical/DefibrillatorComponent.cs @@ -11,7 +11,7 @@ namespace Content.Shared.Medical; /// This is used for defibrillators; a machine that shocks a dead /// person back into the world of the living. /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] public sealed partial class DefibrillatorComponent : Component { /// @@ -24,6 +24,7 @@ public sealed partial class DefibrillatorComponent : Component /// The time at which the zap cooldown will be completed /// [DataField("nextZapTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan? NextZapTime; /// diff --git a/Content.Shared/Ninja/Components/NinjaSuitComponent.cs b/Content.Shared/Ninja/Components/NinjaSuitComponent.cs index b6fac57b0b..7e7b1ffcd3 100644 --- a/Content.Shared/Ninja/Components/NinjaSuitComponent.cs +++ b/Content.Shared/Ninja/Components/NinjaSuitComponent.cs @@ -15,6 +15,7 @@ namespace Content.Shared.Ninja.Components; /// As an implementation detail, dashing with katana is a suit action which isn't ideal. /// [RegisterComponent, NetworkedComponent, Access(typeof(SharedNinjaSuitSystem)), AutoGenerateComponentState] +[AutoGenerateComponentPause] public sealed partial class NinjaSuitComponent : Component { /// @@ -46,6 +47,7 @@ public sealed partial class NinjaSuitComponent : Component /// Time at which we will be able to use our abilities again /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan DisableCooldown; /// diff --git a/Content.Shared/Ninja/Systems/SharedNinjaSuitSystem.cs b/Content.Shared/Ninja/Systems/SharedNinjaSuitSystem.cs index 1449157538..fed41eaed8 100644 --- a/Content.Shared/Ninja/Systems/SharedNinjaSuitSystem.cs +++ b/Content.Shared/Ninja/Systems/SharedNinjaSuitSystem.cs @@ -27,7 +27,6 @@ public abstract class SharedNinjaSuitSystem : EntitySystem base.Initialize(); SubscribeLocalEvent(OnMapInit); - SubscribeLocalEvent(OnEntityUnpaused); SubscribeLocalEvent(OnEquipped); SubscribeLocalEvent(OnGetItemActions); @@ -43,11 +42,6 @@ public abstract class SharedNinjaSuitSystem : EntitySystem Dirty(uid, component); } - private void OnEntityUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - ent.Comp.DisableCooldown += args.PausedTime; - } - /// /// Call the shared and serverside code for when a ninja equips the suit. /// diff --git a/Content.Shared/Nutrition/AnimalHusbandry/InfantComponent.cs b/Content.Shared/Nutrition/AnimalHusbandry/InfantComponent.cs index c6406a0866..2708c823d2 100644 --- a/Content.Shared/Nutrition/AnimalHusbandry/InfantComponent.cs +++ b/Content.Shared/Nutrition/AnimalHusbandry/InfantComponent.cs @@ -8,7 +8,7 @@ namespace Content.Shared.Nutrition.AnimalHusbandry; /// This is used for marking entities as infants. /// Infants have half the size, visually, and cannot breed. /// -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] public sealed partial class InfantComponent : Component { /// @@ -33,6 +33,7 @@ public sealed partial class InfantComponent : Component /// When the entity will stop being an infant. /// [DataField("infantEndTime", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan InfantEndTime; /// diff --git a/Content.Shared/Nutrition/AnimalHusbandry/ReproductiveComponent.cs b/Content.Shared/Nutrition/AnimalHusbandry/ReproductiveComponent.cs index ea9edcb507..8d128f547e 100644 --- a/Content.Shared/Nutrition/AnimalHusbandry/ReproductiveComponent.cs +++ b/Content.Shared/Nutrition/AnimalHusbandry/ReproductiveComponent.cs @@ -9,13 +9,14 @@ namespace Content.Shared.Nutrition.AnimalHusbandry; /// given they are next to a particular entity that fulfills a whitelist, /// can create several "child" entities. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class ReproductiveComponent : Component { /// /// The next time when breeding will be attempted. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextBreedAttempt; /// diff --git a/Content.Shared/Nutrition/Components/HungerComponent.cs b/Content.Shared/Nutrition/Components/HungerComponent.cs index 11197d8b42..9ac82ba283 100644 --- a/Content.Shared/Nutrition/Components/HungerComponent.cs +++ b/Content.Shared/Nutrition/Components/HungerComponent.cs @@ -9,7 +9,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Generic; namespace Content.Shared.Nutrition.Components; [RegisterComponent, NetworkedComponent, Access(typeof(HungerSystem))] -[AutoGenerateComponentState] +[AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class HungerComponent : Component { /// @@ -106,6 +106,7 @@ public sealed partial class HungerComponent : Component /// [DataField("nextUpdateTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] [AutoNetworkedField] + [AutoPausedField] public TimeSpan NextUpdateTime; /// diff --git a/Content.Shared/Nutrition/Components/ThirstComponent.cs b/Content.Shared/Nutrition/Components/ThirstComponent.cs index 35eb4d2614..731346401f 100644 --- a/Content.Shared/Nutrition/Components/ThirstComponent.cs +++ b/Content.Shared/Nutrition/Components/ThirstComponent.cs @@ -6,7 +6,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Nutrition.Components; [RegisterComponent, NetworkedComponent, Access(typeof(ThirstSystem))] -[AutoGenerateComponentState] +[AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class ThirstComponent : Component { // Base stuff @@ -35,6 +35,7 @@ public sealed partial class ThirstComponent : Component /// [DataField("nextUpdateTime", customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite)] [AutoNetworkedField] + [AutoPausedField] public TimeSpan NextUpdateTime; /// diff --git a/Content.Shared/Nutrition/EntitySystems/HungerSystem.cs b/Content.Shared/Nutrition/EntitySystems/HungerSystem.cs index 9c09603510..d8808b6e4a 100644 --- a/Content.Shared/Nutrition/EntitySystems/HungerSystem.cs +++ b/Content.Shared/Nutrition/EntitySystems/HungerSystem.cs @@ -23,18 +23,12 @@ public sealed class HungerSystem : EntitySystem { base.Initialize(); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnMapInit); SubscribeLocalEvent(OnShutdown); SubscribeLocalEvent(OnRefreshMovespeed); SubscribeLocalEvent(OnRejuvenate); } - private void OnUnpaused(EntityUid uid, HungerComponent component, ref EntityUnpausedEvent args) - { - component.NextUpdateTime += args.PausedTime; - } - private void OnMapInit(EntityUid uid, HungerComponent component, MapInitEvent args) { var amount = _random.Next( diff --git a/Content.Shared/Nutrition/EntitySystems/ThirstSystem.cs b/Content.Shared/Nutrition/EntitySystems/ThirstSystem.cs index 05a2338768..b070cee283 100644 --- a/Content.Shared/Nutrition/EntitySystems/ThirstSystem.cs +++ b/Content.Shared/Nutrition/EntitySystems/ThirstSystem.cs @@ -29,7 +29,6 @@ public sealed class ThirstSystem : EntitySystem SubscribeLocalEvent(OnRefreshMovespeed); SubscribeLocalEvent(OnMapInit); SubscribeLocalEvent(OnRejuvenate); - SubscribeLocalEvent(OnUnpaused); } private void OnMapInit(EntityUid uid, ThirstComponent component, MapInitEvent args) @@ -184,9 +183,4 @@ public sealed class ThirstSystem : EntitySystem UpdateEffects(uid, thirst); } } - - private void OnUnpaused(EntityUid uid, ThirstComponent component, ref EntityUnpausedEvent args) - { - component.NextUpdateTime += args.PausedTime; - } } diff --git a/Content.Shared/PowerCell/PowerCellDrawComponent.cs b/Content.Shared/PowerCell/PowerCellDrawComponent.cs index 6963326b70..708a86a8ea 100644 --- a/Content.Shared/PowerCell/PowerCellDrawComponent.cs +++ b/Content.Shared/PowerCell/PowerCellDrawComponent.cs @@ -6,7 +6,7 @@ namespace Content.Shared.PowerCell; /// /// Indicates that the entity's ActivatableUI requires power or else it closes. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class PowerCellDrawComponent : Component { #region Prediction @@ -49,5 +49,6 @@ public sealed partial class PowerCellDrawComponent : Component /// When the next automatic power draw will occur /// [DataField("nextUpdate", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextUpdateTime; } diff --git a/Content.Shared/Salvage/Expeditions/SalvageExpeditions.cs b/Content.Shared/Salvage/Expeditions/SalvageExpeditions.cs index 41f44f672b..fe4d59b81a 100644 --- a/Content.Shared/Salvage/Expeditions/SalvageExpeditions.cs +++ b/Content.Shared/Salvage/Expeditions/SalvageExpeditions.cs @@ -42,7 +42,7 @@ public sealed class ClaimSalvageMessage : BoundUserInterfaceMessage /// /// Added per station to store data on their available salvage missions. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class SalvageExpeditionDataComponent : Component { /// @@ -61,6 +61,7 @@ public sealed partial class SalvageExpeditionDataComponent : Component /// Nexy time salvage missions are offered. /// [ViewVariables(VVAccess.ReadWrite), DataField("nextOffer", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextOffer; [ViewVariables] diff --git a/Content.Shared/Salvage/Fulton/FultonedComponent.cs b/Content.Shared/Salvage/Fulton/FultonedComponent.cs index 3070249eee..c73237a366 100644 --- a/Content.Shared/Salvage/Fulton/FultonedComponent.cs +++ b/Content.Shared/Salvage/Fulton/FultonedComponent.cs @@ -7,7 +7,7 @@ namespace Content.Shared.Salvage.Fulton; /// /// Marks an entity as pending being fultoned. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true), AutoGenerateComponentPause] public sealed partial class FultonedComponent : Component { /// @@ -26,6 +26,7 @@ public sealed partial class FultonedComponent : Component /// When the fulton is travelling to the beacon. /// [ViewVariables(VVAccess.ReadWrite), DataField("nextFulton", customTypeSerializer:typeof(TimeOffsetSerializer)), AutoNetworkedField] + [AutoPausedField] public TimeSpan NextFulton; [ViewVariables(VVAccess.ReadWrite), DataField("sound"), AutoNetworkedField] diff --git a/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs b/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs index adaef16608..0599482bbe 100644 --- a/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs +++ b/Content.Shared/Salvage/Fulton/SharedFultonSystem.cs @@ -40,7 +40,6 @@ public abstract partial class SharedFultonSystem : EntitySystem SubscribeLocalEvent(OnFultonDoAfter); - SubscribeLocalEvent(OnFultonUnpaused); SubscribeLocalEvent>(OnFultonedGetVerbs); SubscribeLocalEvent(OnFultonedExamine); SubscribeLocalEvent(OnFultonContainerInserted); @@ -106,11 +105,6 @@ public abstract partial class SharedFultonSystem : EntitySystem Audio.PlayPredicted(fulton.FultonSound, args.Target.Value, args.User); } - private void OnFultonUnpaused(EntityUid uid, FultonedComponent component, ref EntityUnpausedEvent args) - { - component.NextFulton += args.PausedTime; - } - private void OnFultonInteract(EntityUid uid, FultonComponent component, AfterInteractEvent args) { if (args.Target == null || args.Handled || !args.CanReach) diff --git a/Content.Shared/Singularity/Components/EventHorizonComponent.cs b/Content.Shared/Singularity/Components/EventHorizonComponent.cs index 2aa081915b..106d790ccb 100644 --- a/Content.Shared/Singularity/Components/EventHorizonComponent.cs +++ b/Content.Shared/Singularity/Components/EventHorizonComponent.cs @@ -10,7 +10,7 @@ namespace Content.Shared.Singularity.Components; /// Primarily managed by and its server/client versions. /// [Access(friends: typeof(SharedEventHorizonSystem))] -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] public sealed partial class EventHorizonComponent : Component { /// @@ -78,6 +78,7 @@ public sealed partial class EventHorizonComponent : Component /// The next time at which this consumed everything it overlapped with. /// [ViewVariables(VVAccess.ReadOnly), DataField("nextConsumeWaveTime", customTypeSerializer:typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextConsumeWaveTime; #endregion Update Timing diff --git a/Content.Shared/Sound/Components/EmitSoundOnCollideComponent.cs b/Content.Shared/Sound/Components/EmitSoundOnCollideComponent.cs index f2c71ad120..a2cdd63ab7 100644 --- a/Content.Shared/Sound/Components/EmitSoundOnCollideComponent.cs +++ b/Content.Shared/Sound/Components/EmitSoundOnCollideComponent.cs @@ -3,7 +3,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Sound.Components; -[RegisterComponent, NetworkedComponent] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentPause] public sealed partial class EmitSoundOnCollideComponent : BaseEmitSoundComponent { public static readonly TimeSpan CollideCooldown = TimeSpan.FromSeconds(0.2); @@ -18,5 +18,6 @@ public sealed partial class EmitSoundOnCollideComponent : BaseEmitSoundComponent /// To avoid sound spam add a cooldown to it. /// [ViewVariables(VVAccess.ReadWrite), DataField("nextSound", customTypeSerializer: typeof(TimeOffsetSerializer))] + [AutoPausedField] public TimeSpan NextSound; } diff --git a/Content.Shared/Sound/SharedEmitSoundSystem.cs b/Content.Shared/Sound/SharedEmitSoundSystem.cs index 5e131a1355..22ba8e0e3e 100644 --- a/Content.Shared/Sound/SharedEmitSoundSystem.cs +++ b/Content.Shared/Sound/SharedEmitSoundSystem.cs @@ -42,7 +42,6 @@ public abstract class SharedEmitSoundSystem : EntitySystem SubscribeLocalEvent(OnEmitSoundOnPickup); SubscribeLocalEvent(OnEmitSoundOnDrop); - SubscribeLocalEvent(OnEmitSoundUnpaused); SubscribeLocalEvent(OnEmitSoundOnCollide); } @@ -119,11 +118,6 @@ public abstract class SharedEmitSoundSystem : EntitySystem } } - private void OnEmitSoundUnpaused(EntityUid uid, EmitSoundOnCollideComponent component, ref EntityUnpausedEvent args) - { - component.NextSound += args.PausedTime; - } - private void OnEmitSoundOnCollide(EntityUid uid, EmitSoundOnCollideComponent component, ref StartCollideEvent args) { if (!args.OurFixture.Hard || diff --git a/Content.Shared/Storage/Components/MagnetPickupComponent.cs b/Content.Shared/Storage/Components/MagnetPickupComponent.cs index c57b7c4e85..3467439a6d 100644 --- a/Content.Shared/Storage/Components/MagnetPickupComponent.cs +++ b/Content.Shared/Storage/Components/MagnetPickupComponent.cs @@ -5,10 +5,11 @@ namespace Content.Server.Storage.Components; /// /// Applies an ongoing pickup area around the attached entity. /// -[RegisterComponent] +[RegisterComponent, AutoGenerateComponentPause] public sealed partial class MagnetPickupComponent : Component { [ViewVariables(VVAccess.ReadWrite), DataField("nextScan")] + [AutoPausedField] public TimeSpan NextScan = TimeSpan.Zero; /// diff --git a/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs b/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs index 1703db25f3..21861f57da 100644 --- a/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs +++ b/Content.Shared/Storage/EntitySystems/MagnetPickupSystem.cs @@ -26,12 +26,6 @@ public sealed class MagnetPickupSystem : EntitySystem base.Initialize(); _physicsQuery = GetEntityQuery(); SubscribeLocalEvent(OnMagnetMapInit); - SubscribeLocalEvent(OnMagnetUnpaused); - } - - private void OnMagnetUnpaused(EntityUid uid, MagnetPickupComponent component, ref EntityUnpausedEvent args) - { - component.NextScan += args.PausedTime; } private void OnMagnetMapInit(EntityUid uid, MagnetPickupComponent component, MapInitEvent args) diff --git a/Content.Shared/Teleportation/Components/SwapTeleporterComponent.cs b/Content.Shared/Teleportation/Components/SwapTeleporterComponent.cs index 7a7bac83f4..a080a83aaa 100644 --- a/Content.Shared/Teleportation/Components/SwapTeleporterComponent.cs +++ b/Content.Shared/Teleportation/Components/SwapTeleporterComponent.cs @@ -11,7 +11,7 @@ namespace Content.Shared.Teleportation.Components; /// This is used for an entity that, when linked to another valid entity, allows the two to swap positions, /// additionally swapping the positions of the parents. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] [Access(typeof(SwapTeleporterSystem))] public sealed partial class SwapTeleporterComponent : Component { @@ -37,6 +37,7 @@ public sealed partial class SwapTeleporterComponent : Component /// The time at which ends and teleportation can occur again. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), ViewVariables(VVAccess.ReadWrite), AutoNetworkedField] + [AutoPausedField] public TimeSpan NextTeleportUse; /// diff --git a/Content.Shared/Teleportation/Systems/SwapTeleporterSystem.cs b/Content.Shared/Teleportation/Systems/SwapTeleporterSystem.cs index e900700e11..98a8955c7b 100644 --- a/Content.Shared/Teleportation/Systems/SwapTeleporterSystem.cs +++ b/Content.Shared/Teleportation/Systems/SwapTeleporterSystem.cs @@ -33,7 +33,6 @@ public sealed class SwapTeleporterSystem : EntitySystem SubscribeLocalEvent(OnActivateInWorld); SubscribeLocalEvent(OnExamined); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnShutdown); _xformQuery = GetEntityQuery(); @@ -217,11 +216,6 @@ public sealed class SwapTeleporterSystem : EntitySystem } } - private void OnUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - ent.Comp.NextTeleportUse += args.PausedTime; - } - private void OnShutdown(Entity ent, ref ComponentShutdown args) { DestroyLink((ent, ent), null); diff --git a/Content.Shared/Throwing/ThrownItemComponent.cs b/Content.Shared/Throwing/ThrownItemComponent.cs index ab80e07938..16c9b13254 100644 --- a/Content.Shared/Throwing/ThrownItemComponent.cs +++ b/Content.Shared/Throwing/ThrownItemComponent.cs @@ -5,7 +5,7 @@ using Robust.Shared.Timing; namespace Content.Shared.Throwing { - [RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)] + [RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true), AutoGenerateComponentPause] public sealed partial class ThrownItemComponent : Component { /// @@ -24,6 +24,7 @@ namespace Content.Shared.Throwing /// Compared to to land this entity, if any. /// [DataField, ViewVariables(VVAccess.ReadWrite), AutoNetworkedField] + [AutoPausedField] public TimeSpan? LandTime; /// diff --git a/Content.Shared/Throwing/ThrownItemSystem.cs b/Content.Shared/Throwing/ThrownItemSystem.cs index 8d84cf36fa..0f38c4d753 100644 --- a/Content.Shared/Throwing/ThrownItemSystem.cs +++ b/Content.Shared/Throwing/ThrownItemSystem.cs @@ -35,7 +35,6 @@ namespace Content.Shared.Throwing SubscribeLocalEvent(HandleCollision); SubscribeLocalEvent(PreventCollision); SubscribeLocalEvent(ThrowItem); - SubscribeLocalEvent(OnThrownUnpaused); SubscribeLocalEvent(HandlePullStarted); } @@ -59,14 +58,6 @@ namespace Content.Shared.Throwing _fixtures.TryCreateFixture(uid, shape, ThrowingFixture, hard: false, collisionMask: (int) CollisionGroup.ThrownItem, manager: fixturesComponent, body: body); } - private void OnThrownUnpaused(EntityUid uid, ThrownItemComponent component, ref EntityUnpausedEvent args) - { - if (component.LandTime != null) - { - component.LandTime = component.LandTime.Value + args.PausedTime; - } - } - private void HandleCollision(EntityUid uid, ThrownItemComponent component, ref StartCollideEvent args) { if (!args.OtherFixture.Hard) diff --git a/Content.Shared/Timing/UseDelayComponent.cs b/Content.Shared/Timing/UseDelayComponent.cs index 784fd6632f..1560d4dd0b 100644 --- a/Content.Shared/Timing/UseDelayComponent.cs +++ b/Content.Shared/Timing/UseDelayComponent.cs @@ -10,7 +10,7 @@ namespace Content.Shared.Timing; /// Currently it only supports a single delay per entity, this means that for things that have two delay interactions they will share one timer, so this can cause issues. For example, the bible has a delay when opening the storage UI and when applying it's interaction effect, and they share the same delay. /// [RegisterComponent] -[NetworkedComponent, AutoGenerateComponentState] +[NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] [Access(typeof(UseDelaySystem))] public sealed partial class UseDelayComponent : Component { @@ -18,12 +18,14 @@ public sealed partial class UseDelayComponent : Component /// When the delay starts. /// [ViewVariables(VVAccess.ReadWrite), DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] + [AutoPausedField] public TimeSpan DelayStartTime; /// /// When the delay ends. /// [ViewVariables(VVAccess.ReadWrite), DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] + [AutoPausedField] public TimeSpan DelayEndTime; /// diff --git a/Content.Shared/Timing/UseDelaySystem.cs b/Content.Shared/Timing/UseDelaySystem.cs index 34f12fa55e..388f31079c 100644 --- a/Content.Shared/Timing/UseDelaySystem.cs +++ b/Content.Shared/Timing/UseDelaySystem.cs @@ -7,19 +7,6 @@ public sealed class UseDelaySystem : EntitySystem [Dependency] private readonly IGameTiming _gameTiming = default!; [Dependency] private readonly MetaDataSystem _metadata = default!; - public override void Initialize() - { - SubscribeLocalEvent(OnUnpaused); - } - - private void OnUnpaused(Entity ent, ref EntityUnpausedEvent args) - { - // We got unpaused, resume the delay - ent.Comp.DelayStartTime += args.PausedTime; - ent.Comp.DelayEndTime += args.PausedTime; - Dirty(ent); - } - public void SetDelay(Entity ent, TimeSpan delay) { if (ent.Comp.Delay == delay) diff --git a/Content.Shared/Weapons/Marker/DamageMarkerComponent.cs b/Content.Shared/Weapons/Marker/DamageMarkerComponent.cs index ef3b712f60..87ad6519d0 100644 --- a/Content.Shared/Weapons/Marker/DamageMarkerComponent.cs +++ b/Content.Shared/Weapons/Marker/DamageMarkerComponent.cs @@ -10,6 +10,7 @@ namespace Content.Shared.Weapons.Marker; /// Marks an entity to take additional damage /// [RegisterComponent, NetworkedComponent, AutoGenerateComponentState, Access(typeof(SharedDamageMarkerSystem))] +[AutoGenerateComponentPause] public sealed partial class DamageMarkerComponent : Component { /// @@ -34,5 +35,6 @@ public sealed partial class DamageMarkerComponent : Component public EntityUid Marker; [ViewVariables(VVAccess.ReadWrite), DataField("endTime", customTypeSerializer:typeof(TimeOffsetSerializer)), AutoNetworkedField] + [AutoPausedField] public TimeSpan EndTime; } diff --git a/Content.Shared/Weapons/Marker/SharedDamageMarkerSystem.cs b/Content.Shared/Weapons/Marker/SharedDamageMarkerSystem.cs index 3a6afce363..63b2d5f211 100644 --- a/Content.Shared/Weapons/Marker/SharedDamageMarkerSystem.cs +++ b/Content.Shared/Weapons/Marker/SharedDamageMarkerSystem.cs @@ -20,7 +20,6 @@ public abstract class SharedDamageMarkerSystem : EntitySystem { base.Initialize(); SubscribeLocalEvent(OnMarkerCollide); - SubscribeLocalEvent(OnMarkerUnpaused); SubscribeLocalEvent(OnMarkerAttacked); } @@ -54,11 +53,6 @@ public abstract class SharedDamageMarkerSystem : EntitySystem } } - private void OnMarkerUnpaused(EntityUid uid, DamageMarkerComponent component, ref EntityUnpausedEvent args) - { - component.EndTime += args.PausedTime; - } - private void OnMarkerCollide(EntityUid uid, DamageMarkerOnCollideComponent component, ref StartCollideEvent args) { if (!args.OtherFixture.Hard || diff --git a/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs b/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs index 27c3a5f0df..e5b35f6c0b 100644 --- a/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs +++ b/Content.Shared/Weapons/Melee/MeleeWeaponComponent.cs @@ -10,7 +10,7 @@ namespace Content.Shared.Weapons.Melee; /// /// When given to a mob lets them do unarmed attacks, or when given to an item lets someone wield it to do attacks. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class MeleeWeaponComponent : Component { // TODO: This is becoming bloated as shit. @@ -33,6 +33,7 @@ public sealed partial class MeleeWeaponComponent : Component /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoNetworkedField] [ViewVariables(VVAccess.ReadWrite)] + [AutoPausedField] public TimeSpan NextAttack; /// diff --git a/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs b/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs index 12455a1f49..6a5127f2c9 100644 --- a/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs +++ b/Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs @@ -68,7 +68,6 @@ public abstract class SharedMeleeWeaponSystem : EntitySystem { base.Initialize(); - SubscribeLocalEvent(OnMeleeUnpaused); SubscribeLocalEvent(OnMeleeSelected); SubscribeLocalEvent(OnMeleeShotAttempted); SubscribeLocalEvent(OnMeleeShot); @@ -112,11 +111,6 @@ public abstract class SharedMeleeWeaponSystem : EntitySystem } } - private void OnMeleeUnpaused(EntityUid uid, MeleeWeaponComponent component, ref EntityUnpausedEvent args) - { - component.NextAttack += args.PausedTime; - } - private void OnMeleeSelected(EntityUid uid, MeleeWeaponComponent component, HandSelectedEvent args) { var attackRate = GetAttackRate(uid, args.User, component); diff --git a/Content.Shared/Weapons/Ranged/Components/GunComponent.cs b/Content.Shared/Weapons/Ranged/Components/GunComponent.cs index 8d7d548ad8..5a335e7e5c 100644 --- a/Content.Shared/Weapons/Ranged/Components/GunComponent.cs +++ b/Content.Shared/Weapons/Ranged/Components/GunComponent.cs @@ -9,7 +9,7 @@ using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Shared.Weapons.Ranged.Components; -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] [Access(typeof(SharedGunSystem))] public sealed partial class GunComponent : Component { @@ -198,6 +198,7 @@ public sealed partial class GunComponent : Component /// [DataField(customTypeSerializer:typeof(TimeOffsetSerializer))] [AutoNetworkedField] + [AutoPausedField] public TimeSpan NextFire = TimeSpan.Zero; /// diff --git a/Content.Shared/Weapons/Ranged/Components/RechargeBasicEntityAmmoComponent.cs b/Content.Shared/Weapons/Ranged/Components/RechargeBasicEntityAmmoComponent.cs index 923f95e207..f478405bec 100644 --- a/Content.Shared/Weapons/Ranged/Components/RechargeBasicEntityAmmoComponent.cs +++ b/Content.Shared/Weapons/Ranged/Components/RechargeBasicEntityAmmoComponent.cs @@ -7,7 +7,7 @@ namespace Content.Shared.Weapons.Ranged.Components; /// /// Responsible for handling recharging a basic entity ammo provider over time. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState, AutoGenerateComponentPause] public sealed partial class RechargeBasicEntityAmmoComponent : Component { [ViewVariables(VVAccess.ReadWrite)] @@ -25,5 +25,6 @@ public sealed partial class RechargeBasicEntityAmmoComponent : Component [ViewVariables(VVAccess.ReadWrite), DataField("nextCharge", customTypeSerializer:typeof(TimeOffsetSerializer)), AutoNetworkedField] + [AutoPausedField] public TimeSpan? NextCharge; } diff --git a/Content.Shared/Weapons/Ranged/Systems/RechargeBasicEntityAmmoSystem.cs b/Content.Shared/Weapons/Ranged/Systems/RechargeBasicEntityAmmoSystem.cs index 536f3da811..b774c8ab45 100644 --- a/Content.Shared/Weapons/Ranged/Systems/RechargeBasicEntityAmmoSystem.cs +++ b/Content.Shared/Weapons/Ranged/Systems/RechargeBasicEntityAmmoSystem.cs @@ -21,19 +21,10 @@ public sealed class RechargeBasicEntityAmmoSystem : EntitySystem { base.Initialize(); - SubscribeLocalEvent(OnUnpaused); SubscribeLocalEvent(OnInit); SubscribeLocalEvent(OnExamined); } - private void OnUnpaused(EntityUid uid, RechargeBasicEntityAmmoComponent component, ref EntityUnpausedEvent args) - { - if (component.NextCharge == null) - return; - - component.NextCharge = component.NextCharge.Value + args.PausedTime; - } - public override void Update(float frameTime) { base.Update(frameTime); diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs index ba22ba2cdc..71e3e80764 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs @@ -94,7 +94,6 @@ public abstract partial class SharedGunSystem : EntitySystem SubscribeLocalEvent(OnExamine); SubscribeLocalEvent(OnCycleMode); SubscribeLocalEvent(OnGunSelected); - SubscribeLocalEvent(OnGunUnpaused); SubscribeLocalEvent(OnMapInit); } @@ -122,11 +121,6 @@ public abstract partial class SharedGunSystem : EntitySystem } } - private void OnGunUnpaused(EntityUid uid, GunComponent component, ref EntityUnpausedEvent args) - { - component.NextFire += args.PausedTime; - } - private void OnShootRequest(RequestShootEvent msg, EntitySessionEventArgs args) { var user = args.SenderSession.AttachedEntity; diff --git a/SpaceStation14.sln b/SpaceStation14.sln index 5a05a09e35..e0cb455a6d 100644 --- a/SpaceStation14.sln +++ b/SpaceStation14.sln @@ -129,6 +129,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Content.PatreonParser", "Co EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Robust.Analyzers.Tests", "RobustToolbox\Robust.Analyzers.Tests\Robust.Analyzers.Tests.csproj", "{83F510FE-9B50-4D96-AFAB-CC13998D6AFE}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Roslyn", "Roslyn", "{7844DA69-B0F0-49FB-A05E-ECA37372277A}" + ProjectSection(SolutionItems) = preProject + RobustToolbox\Robust.Roslyn.Shared\Robust.Roslyn.Shared.props = RobustToolbox\Robust.Roslyn.Shared\Robust.Roslyn.Shared.props + EndProjectSection +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -457,20 +462,21 @@ Global {41B450C0-A361-4CD7-8121-7072B8995CFC} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {7B9472D3-79D4-48D1-9B22-BCDE518FE842} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {1FAE651D-29D8-437A-9864-47CE0D180016} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} - {3CFEB7DB-12C6-46F3-89FC-1450F3016FFA} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {8922428F-17C3-47A7-BFE9-570DEB2464DA} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {16F7DE32-0186-44B9-9345-0C20D1BF2422} = {AFF53804-115F-4E67-B81F-26265EA27880} {AFF53804-115F-4E67-B81F-26265EA27880} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {23F09C45-950E-4DB7-A465-E937450FF008} = {AFF53804-115F-4E67-B81F-26265EA27880} {440426C1-8DCA-43F6-967F-94439B8DAF47} = {AFF53804-115F-4E67-B81F-26265EA27880} - {88B0FC0F-7209-40E2-AF16-EB90AF727C5B} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {A3C5B00A-D232-4A01-B82E-B0E58BFD5C12} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {8A21C7CA-2EB8-40E5-8043-33582C06D139} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {952AAF2A-DF63-4A7D-8094-3453893EBA80} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} {A965CB3B-FD31-44AF-8872-85ABA436098D} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} - {07CA34A1-1D37-4771-A2E3-495A1044AE0B} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} - {6FBF108E-5CB5-47DE-8D7E-B496ABA9E3E2} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} - {83F510FE-9B50-4D96-AFAB-CC13998D6AFE} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} + {7844DA69-B0F0-49FB-A05E-ECA37372277A} = {83B4CBBA-547A-42F0-A7CD-8A67D93196CE} + {3CFEB7DB-12C6-46F3-89FC-1450F3016FFA} = {7844DA69-B0F0-49FB-A05E-ECA37372277A} + {6FBF108E-5CB5-47DE-8D7E-B496ABA9E3E2} = {7844DA69-B0F0-49FB-A05E-ECA37372277A} + {07CA34A1-1D37-4771-A2E3-495A1044AE0B} = {7844DA69-B0F0-49FB-A05E-ECA37372277A} + {88B0FC0F-7209-40E2-AF16-EB90AF727C5B} = {7844DA69-B0F0-49FB-A05E-ECA37372277A} + {83F510FE-9B50-4D96-AFAB-CC13998D6AFE} = {7844DA69-B0F0-49FB-A05E-ECA37372277A} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {AA37ED9F-F8D6-468E-A101-658AD605B09A} From 002b8d88711aa6395c5e054c3aa9bd163f74799e Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Mon, 26 Feb 2024 03:40:48 +0000 Subject: [PATCH 71/73] add crew monitor as traitor steal objective (#25563) --- .../Medical/handheld_crew_monitor.yml | 5 +++ .../Prototypes/Objectives/objectiveGroups.yml | 1 + .../Objectives/stealTargetGroups.yml | 7 ++++ Resources/Prototypes/Objectives/traitor.yml | 39 +++++++++++++++---- 4 files changed, 44 insertions(+), 8 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml index e2f7ceeb70..6dfe039cc0 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/handheld_crew_monitor.yml @@ -31,6 +31,11 @@ - type: StationLimitedNetwork - type: StaticPrice price: 500 + - type: Tag + tags: + - HighRiskItem + - type: StealTarget + stealGroup: HandheldCrewMonitor - type: entity id: HandheldCrewMonitorEmpty diff --git a/Resources/Prototypes/Objectives/objectiveGroups.yml b/Resources/Prototypes/Objectives/objectiveGroups.yml index 7100fc34f3..abdc54fc5a 100644 --- a/Resources/Prototypes/Objectives/objectiveGroups.yml +++ b/Resources/Prototypes/Objectives/objectiveGroups.yml @@ -12,6 +12,7 @@ weights: CaptainIDStealObjective: 1 CMOHyposprayStealObjective: 1 + CMOCrewMonitorStealObjective: 1 RDHardsuitStealObjective: 1 NukeDiskStealObjective: 1 MagbootsStealObjective: 1 diff --git a/Resources/Prototypes/Objectives/stealTargetGroups.yml b/Resources/Prototypes/Objectives/stealTargetGroups.yml index 028c7c1939..d11478d1f9 100644 --- a/Resources/Prototypes/Objectives/stealTargetGroups.yml +++ b/Resources/Prototypes/Objectives/stealTargetGroups.yml @@ -7,6 +7,13 @@ sprite: Objects/Specific/Medical/hypospray.rsi state: hypo +- type: stealTargetGroup + id: HandheldCrewMonitor + name: handheld crew monitor + sprite: + sprite: Objects/Specific/Medical/handheldcrewmonitor.rsi + state: scanner + - type: stealTargetGroup id: ClothingOuterHardsuitRd name: experimental research hardsuit diff --git a/Resources/Prototypes/Objectives/traitor.yml b/Resources/Prototypes/Objectives/traitor.yml index 5a2d6880b8..6dc2ed46e7 100644 --- a/Resources/Prototypes/Objectives/traitor.yml +++ b/Resources/Prototypes/Objectives/traitor.yml @@ -147,35 +147,58 @@ ## cmo - type: entity - noSpawn: true + abstract: true parent: BaseTraitorStealObjective - id: CMOHyposprayStealObjective + id: BaseCMOStealObjective components: - type: NotJobRequirement job: ChiefMedicalOfficer - type: StealCondition - stealGroup: Hypospray owner: job-name-cmo +- type: entity + noSpawn: true + parent: BaseCMOStealObjective + id: CMOHyposprayStealObjective + components: + - type: StealCondition + stealGroup: Hypospray + +- type: entity + noSpawn: true + parent: BaseCMOStealObjective + id: CMOCrewMonitorStealObjective + components: + - type: StealCondition + stealGroup: HandheldCrewMonitor + ## rd - type: entity - noSpawn: true + abstract: true parent: BaseTraitorStealObjective - id: RDHardsuitStealObjective + id: BaseRDStealObjective components: + - type: NotJobRequirement + job: ResearchDirector - type: StealCondition - stealGroup: ClothingOuterHardsuitRd owner: job-name-rd - type: entity noSpawn: true - parent: BaseTraitorStealObjective + parent: BaseRDStealObjective + id: RDHardsuitStealObjective + components: + - type: StealCondition + stealGroup: ClothingOuterHardsuitRd + +- type: entity + noSpawn: true + parent: BaseRDStealObjective id: HandTeleporterStealObjective components: - type: StealCondition stealGroup: HandTeleporter - owner: job-name-rd ## hos From c02c8c2319e57d0172fa8a8c20e2be6f56ba36e3 Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 26 Feb 2024 03:41:54 +0000 Subject: [PATCH 72/73] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index be2751900a..3f651b0304 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: themias - changes: - - message: Fixed refueling a lit welder not detonating the fuel tank - type: Fix - id: 5527 - time: '2024-01-03T21:23:36.0000000+00:00' - url: https://api.github.com/repos/space-wizards/space-station-14/pulls/23469 - author: Alekshhh changes: - message: Changed monkeys visually @@ -3820,3 +3813,10 @@ id: 6026 time: '2024-02-26T02:41:20.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/25161 +- author: deltanedas + changes: + - message: Traitors can now be asked to steal the CMO's Handheld Crew Monitor. + type: Tweak + id: 6027 + time: '2024-02-26T03:40:48.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/25563 From dffd02adb161f8299e858fb6c0c2eb71e595e21f Mon Sep 17 00:00:00 2001 From: Plykiya <58439124+Plykiya@users.noreply.github.com> Date: Sun, 25 Feb 2024 22:17:56 -0800 Subject: [PATCH 73/73] Syringe UI cached updates (#25581) Injector status UI cached values Co-authored-by: Plykiya --- .../Chemistry/UI/InjectorStatusControl.cs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Content.Client/Chemistry/UI/InjectorStatusControl.cs b/Content.Client/Chemistry/UI/InjectorStatusControl.cs index 979e9ea645..9cb699330c 100644 --- a/Content.Client/Chemistry/UI/InjectorStatusControl.cs +++ b/Content.Client/Chemistry/UI/InjectorStatusControl.cs @@ -2,6 +2,7 @@ using Content.Client.Message; using Content.Client.Stylesheets; using Content.Shared.Chemistry.Components; using Content.Shared.Chemistry.EntitySystems; +using Content.Shared.FixedPoint; using Robust.Client.UserInterface; using Robust.Client.UserInterface.Controls; using Robust.Shared.Timing; @@ -14,6 +15,10 @@ public sealed class InjectorStatusControl : Control private readonly SharedSolutionContainerSystem _solutionContainers; private readonly RichTextLabel _label; + private FixedPoint2 PrevVolume; + private FixedPoint2 PrevMaxVolume; + private InjectorToggleMode PrevToggleState; + public InjectorStatusControl(Entity parent, SharedSolutionContainerSystem solutionContainers) { _parent = parent; @@ -29,6 +34,16 @@ public sealed class InjectorStatusControl : Control if (!_solutionContainers.TryGetSolution(_parent.Owner, InjectorComponent.SolutionName, out _, out var solution)) return; + // only updates the UI if any of the details are different than they previously were + if (PrevVolume == solution.Volume + && PrevMaxVolume == solution.MaxVolume + && PrevToggleState == _parent.Comp.ToggleState) + return; + + PrevVolume = solution.Volume; + PrevMaxVolume = solution.MaxVolume; + PrevToggleState = _parent.Comp.ToggleState; + // Update current volume and injector state var modeStringLocalized = Loc.GetString(_parent.Comp.ToggleState switch {