diff --git a/Content.Client/Botany/Components/ProduceComponent.cs b/Content.Client/Botany/Components/ProduceComponent.cs new file mode 100644 index 0000000000..68857da1b7 --- /dev/null +++ b/Content.Client/Botany/Components/ProduceComponent.cs @@ -0,0 +1,8 @@ +using Content.Shared.Botany.Components; + +namespace Content.Client.Botany.Components; + +[RegisterComponent] +public sealed partial class ProduceComponent : SharedProduceComponent +{ +} diff --git a/Content.Client/Botany/Components/SeedComponent.cs b/Content.Client/Botany/Components/SeedComponent.cs new file mode 100644 index 0000000000..11663020fc --- /dev/null +++ b/Content.Client/Botany/Components/SeedComponent.cs @@ -0,0 +1,8 @@ +using Content.Shared.Botany.Components; + +namespace Content.Client.Botany.Components; + +[RegisterComponent] +public sealed partial class SeedComponent : SharedSeedComponent +{ +} diff --git a/Content.Server/Botany/Components/ProduceComponent.cs b/Content.Server/Botany/Components/ProduceComponent.cs index c78e0a1ad4..b3c4e1c95a 100644 --- a/Content.Server/Botany/Components/ProduceComponent.cs +++ b/Content.Server/Botany/Components/ProduceComponent.cs @@ -1,11 +1,12 @@ using Content.Server.Botany.Systems; +using Content.Shared.Botany.Components; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Server.Botany.Components; [RegisterComponent] [Access(typeof(BotanySystem))] -public sealed partial class ProduceComponent : Component +public sealed partial class ProduceComponent : SharedProduceComponent { [DataField("targetSolution")] public string SolutionName { get; set; } = "food"; diff --git a/Content.Server/Botany/Components/SeedComponent.cs b/Content.Server/Botany/Components/SeedComponent.cs index cb48c16683..3e729dc906 100644 --- a/Content.Server/Botany/Components/SeedComponent.cs +++ b/Content.Server/Botany/Components/SeedComponent.cs @@ -1,10 +1,11 @@ using Content.Server.Botany.Systems; +using Content.Shared.Botany.Components; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Server.Botany.Components { [RegisterComponent, Access(typeof(BotanySystem))] - public sealed partial class SeedComponent : Component + public sealed partial class SeedComponent : SharedSeedComponent { /// /// Seed data containing information about the plant type & properties that this seed can grow seed. If diff --git a/Content.Server/Explosion/EntitySystems/ClusterGrenadeSystem.cs b/Content.Server/Explosion/EntitySystems/ClusterGrenadeSystem.cs index 4ea857a552..09c2be33a0 100644 --- a/Content.Server/Explosion/EntitySystems/ClusterGrenadeSystem.cs +++ b/Content.Server/Explosion/EntitySystems/ClusterGrenadeSystem.cs @@ -1,5 +1,5 @@ using Content.Server.Explosion.Components; -using Content.Server.Flash.Components; +using Content.Shared.Flash.Components; using Content.Shared.Explosion; using Content.Shared.Interaction; using Content.Shared.Interaction.Events; diff --git a/Content.Server/Explosion/EntitySystems/SmokeOnTriggerSystem.cs b/Content.Server/Explosion/EntitySystems/SmokeOnTriggerSystem.cs index ab706d6d9c..2f475a07b4 100644 --- a/Content.Server/Explosion/EntitySystems/SmokeOnTriggerSystem.cs +++ b/Content.Server/Explosion/EntitySystems/SmokeOnTriggerSystem.cs @@ -1,4 +1,5 @@ using Content.Shared.Explosion.Components; +using Content.Shared.Explosion.EntitySystems; using Content.Server.Fluids.EntitySystems; using Content.Shared.Chemistry.Components; using Content.Shared.Coordinates.Helpers; diff --git a/Content.Server/Flash/FlashSystem.cs b/Content.Server/Flash/FlashSystem.cs index 5bee1834fa..4f0ccc27fd 100644 --- a/Content.Server/Flash/FlashSystem.cs +++ b/Content.Server/Flash/FlashSystem.cs @@ -1,5 +1,6 @@ using System.Linq; using Content.Server.Flash.Components; +using Content.Shared.Flash.Components; using Content.Server.Light.EntitySystems; using Content.Server.Popups; using Content.Server.Stunnable; diff --git a/Content.Server/Light/EntitySystems/LightReplacerSystem.cs b/Content.Server/Light/EntitySystems/LightReplacerSystem.cs index f1cb5373c0..1260a0dd0d 100644 --- a/Content.Server/Light/EntitySystems/LightReplacerSystem.cs +++ b/Content.Server/Light/EntitySystems/LightReplacerSystem.cs @@ -2,6 +2,7 @@ using System.Linq; using Content.Server.Light.Components; using Content.Shared.Examine; using Content.Shared.Interaction; +using Content.Shared.Light.EntitySystems; using Content.Shared.Light.Components; using Content.Shared.Popups; using Content.Shared.Storage; @@ -13,7 +14,7 @@ using Robust.Shared.Containers; namespace Content.Server.Light.EntitySystems; [UsedImplicitly] -public sealed class LightReplacerSystem : EntitySystem +public sealed class LightReplacerSystem : SharedLightReplacerSystem { [Dependency] private readonly PoweredLightSystem _poweredLight = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; diff --git a/Content.Server/Nutrition/Components/FoodComponent.cs b/Content.Server/Nutrition/Components/FoodComponent.cs index dbc89d5a44..5ead67a12b 100644 --- a/Content.Server/Nutrition/Components/FoodComponent.cs +++ b/Content.Server/Nutrition/Components/FoodComponent.cs @@ -1,4 +1,5 @@ using Content.Server.Body.Components; +using Content.Shared.Nutrition.Components; using Content.Server.Nutrition.EntitySystems; using Content.Shared.FixedPoint; using Robust.Shared.Audio; diff --git a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs index 70d202932a..2b62715133 100644 --- a/Content.Server/Nutrition/EntitySystems/FoodSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/FoodSystem.cs @@ -3,6 +3,7 @@ using Content.Server.Body.Systems; using Content.Server.Chemistry.Containers.EntitySystems; using Content.Server.Inventory; using Content.Server.Nutrition.Components; +using Content.Shared.Nutrition.Components; using Content.Server.Popups; using Content.Server.Stack; using Content.Shared.Administration.Logs; diff --git a/Content.Server/Nutrition/EntitySystems/SliceableFoodSystem.cs b/Content.Server/Nutrition/EntitySystems/SliceableFoodSystem.cs index bb420d246f..679b2cdbc2 100644 --- a/Content.Server/Nutrition/EntitySystems/SliceableFoodSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/SliceableFoodSystem.cs @@ -1,5 +1,6 @@ using Content.Server.Chemistry.Containers.EntitySystems; using Content.Server.Nutrition.Components; +using Content.Shared.Nutrition.Components; using Content.Shared.Chemistry.Components; using Content.Shared.Examine; using Content.Shared.FixedPoint; diff --git a/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs b/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs index f5f34080cb..f9feed955f 100644 --- a/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs @@ -1,4 +1,6 @@ using Content.Server.Nutrition.Components; +using Content.Shared.Nutrition.Components; +using Content.Shared.Nutrition.EntitySystems; using Content.Server.Popups; using Content.Shared.Interaction; using Robust.Shared.Audio; @@ -11,7 +13,7 @@ namespace Content.Server.Nutrition.EntitySystems /// /// Handles usage of the utensils on the food items /// - internal sealed class UtensilSystem : EntitySystem + internal sealed class UtensilSystem : SharedUtensilSystem { [Dependency] private readonly IRobustRandom _robustRandom = default!; [Dependency] private readonly FoodSystem _foodSystem = default!; diff --git a/Content.Server/SprayPainter/SprayPainterSystem.cs b/Content.Server/SprayPainter/SprayPainterSystem.cs index fd8ff9ea28..4f8f1cda2e 100644 --- a/Content.Server/SprayPainter/SprayPainterSystem.cs +++ b/Content.Server/SprayPainter/SprayPainterSystem.cs @@ -6,8 +6,9 @@ using Content.Server.Popups; using Content.Shared.Database; using Content.Shared.DoAfter; using Content.Shared.Doors.Components; -using Content.Shared.SprayPainter.Prototypes; using Content.Shared.SprayPainter; +using Content.Shared.SprayPainter.Components; +using Content.Shared.SprayPainter.Prototypes; using Content.Shared.Interaction; using JetBrains.Annotations; using Robust.Server.GameObjects; diff --git a/Content.Shared/Botany/Components/SharedProduceComponent.cs b/Content.Shared/Botany/Components/SharedProduceComponent.cs new file mode 100644 index 0000000000..1d55f8de99 --- /dev/null +++ b/Content.Shared/Botany/Components/SharedProduceComponent.cs @@ -0,0 +1,8 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Botany.Components; + +[NetworkedComponent] +public abstract partial class SharedProduceComponent : Component +{ +} diff --git a/Content.Shared/Botany/Components/SharedSeedComponent.cs b/Content.Shared/Botany/Components/SharedSeedComponent.cs new file mode 100644 index 0000000000..efa72146c2 --- /dev/null +++ b/Content.Shared/Botany/Components/SharedSeedComponent.cs @@ -0,0 +1,8 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Botany.Components; + +[NetworkedComponent] +public abstract partial class SharedSeedComponent : Component +{ +} diff --git a/Content.Shared/Explosion/Components/OnTrigger/SmokeOnTriggerComponent.cs b/Content.Shared/Explosion/Components/OnTrigger/SmokeOnTriggerComponent.cs index dfaee98fab..cfbe1fcb3d 100644 --- a/Content.Shared/Explosion/Components/OnTrigger/SmokeOnTriggerComponent.cs +++ b/Content.Shared/Explosion/Components/OnTrigger/SmokeOnTriggerComponent.cs @@ -1,9 +1,11 @@ +using Content.Shared.Explosion.EntitySystems; using Content.Shared.Chemistry.Components; using Content.Shared.Explosion.EntitySystems; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; +using Robust.Shared.GameStates; -namespace Content.Shared.Explosion.Components.OnTrigger; +namespace Content.Shared.Explosion.Components; /// /// Creates a smoke cloud when triggered, with an optional solution to include in it. diff --git a/Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs b/Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs index 0a8caa5e2a..b206dfa696 100644 --- a/Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs +++ b/Content.Shared/Explosion/EntitySystems/SharedSmokeOnTriggerSystem.cs @@ -1,6 +1,5 @@ -namespace Content.Shared.Explosion.EntitySystems; +namespace Content.Shared.Explosion.EntitySystems; public abstract class SharedSmokeOnTriggerSystem : EntitySystem { - -} \ No newline at end of file +} diff --git a/Content.Shared/Flash/Components/FlashOnTriggerComponent.cs b/Content.Shared/Flash/Components/FlashOnTriggerComponent.cs index f257c83b5a..d1270e9db7 100644 --- a/Content.Shared/Flash/Components/FlashOnTriggerComponent.cs +++ b/Content.Shared/Flash/Components/FlashOnTriggerComponent.cs @@ -1,5 +1,4 @@ using Robust.Shared.GameStates; - namespace Content.Shared.Flash.Components; /// diff --git a/Content.Server/Light/Components/LightReplacerComponent.cs b/Content.Shared/Light/Components/LightReplacerComponent.cs similarity index 84% rename from Content.Server/Light/Components/LightReplacerComponent.cs rename to Content.Shared/Light/Components/LightReplacerComponent.cs index cecdba6b47..8d7d233927 100644 --- a/Content.Server/Light/Components/LightReplacerComponent.cs +++ b/Content.Shared/Light/Components/LightReplacerComponent.cs @@ -1,7 +1,8 @@ -using Content.Server.Light.EntitySystems; +using Content.Shared.Light.EntitySystems; using Content.Shared.Storage; using Robust.Shared.Audio; using Robust.Shared.Containers; +using Robust.Shared.GameStates; namespace Content.Server.Light.Components; @@ -9,7 +10,7 @@ namespace Content.Server.Light.Components; /// Device that allows user to quikly change bulbs in /// Can be reloaded by new light tubes or light bulbs /// -[RegisterComponent, Access(typeof(LightReplacerSystem))] +[RegisterComponent, NetworkedComponent, Access(typeof(SharedLightReplacerSystem))] public sealed partial class LightReplacerComponent : Component { [DataField("sound")] diff --git a/Content.Shared/Light/EntitySystems/SharedLightReplacerSystem.cs b/Content.Shared/Light/EntitySystems/SharedLightReplacerSystem.cs new file mode 100644 index 0000000000..29001d6c73 --- /dev/null +++ b/Content.Shared/Light/EntitySystems/SharedLightReplacerSystem.cs @@ -0,0 +1,5 @@ +namespace Content.Shared.Light.EntitySystems; + +public abstract class SharedLightReplacerSystem : EntitySystem +{ +} diff --git a/Content.Server/Mousetrap/MousetrapComponent.cs b/Content.Shared/Mousetrap/MousetrapComponent.cs similarity index 74% rename from Content.Server/Mousetrap/MousetrapComponent.cs rename to Content.Shared/Mousetrap/MousetrapComponent.cs index b666c45a4c..6d7483802b 100644 --- a/Content.Server/Mousetrap/MousetrapComponent.cs +++ b/Content.Shared/Mousetrap/MousetrapComponent.cs @@ -1,10 +1,12 @@ -namespace Content.Server.Mousetrap; +using Robust.Shared.GameStates; -[RegisterComponent] +namespace Content.Shared.Mousetrap; + +[RegisterComponent, NetworkedComponent] public sealed partial class MousetrapComponent : Component { [ViewVariables] - [DataField("isActive")] + [DataField("isActive")] public bool IsActive = false; /// diff --git a/Content.Server/Nutrition/Components/UtensilComponent.cs b/Content.Shared/Nutrition/Components/UtensilComponent.cs similarity index 85% rename from Content.Server/Nutrition/Components/UtensilComponent.cs rename to Content.Shared/Nutrition/Components/UtensilComponent.cs index 4058d7e154..50158f1f63 100644 --- a/Content.Server/Nutrition/Components/UtensilComponent.cs +++ b/Content.Shared/Nutrition/Components/UtensilComponent.cs @@ -1,9 +1,10 @@ -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 { - [RegisterComponent, Access(typeof(UtensilSystem))] + [RegisterComponent, NetworkedComponent, Access(typeof(SharedUtensilSystem))] public sealed partial class UtensilComponent : Component { [DataField("types")] diff --git a/Content.Shared/Nutrition/EntitySystems/SharedUtensilSystem.cs b/Content.Shared/Nutrition/EntitySystems/SharedUtensilSystem.cs new file mode 100644 index 0000000000..656a36f5d0 --- /dev/null +++ b/Content.Shared/Nutrition/EntitySystems/SharedUtensilSystem.cs @@ -0,0 +1,5 @@ +namespace Content.Shared.Nutrition.EntitySystems; + +public abstract class SharedUtensilSystem : EntitySystem +{ +} diff --git a/Content.Server/SprayPainter/SprayPainterComponent.cs b/Content.Shared/SprayPainter/Components/SprayPainterComponent.cs similarity index 84% rename from Content.Server/SprayPainter/SprayPainterComponent.cs rename to Content.Shared/SprayPainter/Components/SprayPainterComponent.cs index 9417112b4f..e4581527b7 100644 --- a/Content.Server/SprayPainter/SprayPainterComponent.cs +++ b/Content.Shared/SprayPainter/Components/SprayPainterComponent.cs @@ -1,8 +1,9 @@ using Robust.Shared.Audio; +using Robust.Shared.GameStates; -namespace Content.Server.SprayPainter; +namespace Content.Shared.SprayPainter.Components; -[RegisterComponent] +[RegisterComponent, NetworkedComponent] public sealed partial class SprayPainterComponent : Component { [DataField("spraySound")] diff --git a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml index d5976d1dda..d800dcdff4 100644 --- a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml +++ b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml @@ -179,7 +179,7 @@ - SmokeOnTrigger - Flash - Handcuff - - RangedMagazine + - BallisticAmmoProvider - Ammo - type: ItemMapper mapLayers: @@ -221,7 +221,7 @@ - WetFloorSign - HolosignProjector - Plunger - - LightReplacer + - JanicartKeys components: - LightReplacer - type: ItemMapper diff --git a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml index f83c48436a..06cf99cc31 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/janitor.yml @@ -329,7 +329,7 @@ lightreplacer_slot: name: janitorial-trolley-slot-component-slot-name-lightreplacer whitelist: - tags: + components: - LightReplacer priority: 6 spraybottle_slot: diff --git a/Resources/Prototypes/Entities/Objects/Tools/light_replacer.yml b/Resources/Prototypes/Entities/Objects/Tools/light_replacer.yml index d834d1ab52..442e939d42 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/light_replacer.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/light_replacer.yml @@ -17,7 +17,6 @@ amount: 5 - type: Tag tags: - - LightReplacer - DroneUsable - type: StaticPrice price: 100 diff --git a/Resources/Prototypes/Entities/Objects/Tools/spray_painter.yml b/Resources/Prototypes/Entities/Objects/Tools/spray_painter.yml index 2694837033..8a8c569510 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/spray_painter.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/spray_painter.yml @@ -14,9 +14,6 @@ - key: enum.SprayPainterUiKey.Key type: SprayPainterBoundUserInterface - type: SprayPainter - whitelist: - tags: - - PaintableAirlock colorPalette: red: '#FF1212FF' yellow: '#B3A234FF' diff --git a/Resources/Prototypes/Entities/Objects/Weapons/security.yml b/Resources/Prototypes/Entities/Objects/Weapons/security.yml index eef38e2541..082a8a956c 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/security.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/security.yml @@ -186,6 +186,7 @@ shape: !type:PhysShapeCircle radius: 2 + repeating: true - type: Anchorable - type: Sprite sprite: Objects/Weapons/pflash.rsi diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index b07c8d267a..f9b207ba6e 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -713,9 +713,6 @@ - type: Tag id: Lemon -- type: Tag - id: LightReplacer - - type: Tag id: Lime @@ -856,9 +853,6 @@ - type: Tag id: Payload # for grenade/bomb crafting -- type: Tag - id: PaintableAirlock - - type: Tag id: Pancake