diff --git a/Content.Client/Kitchen/Components/KitchenSpikeComponent.cs b/Content.Client/Kitchen/Components/KitchenSpikeComponent.cs deleted file mode 100644 index 375677ef60..0000000000 --- a/Content.Client/Kitchen/Components/KitchenSpikeComponent.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Content.Shared.Kitchen.Components; - -namespace Content.Client.Kitchen.Components -{ - [RegisterComponent, ComponentReference(typeof(SharedKitchenSpikeComponent))] - public sealed class KitchenSpikeComponent : SharedKitchenSpikeComponent - { - } -} diff --git a/Content.Server/Kitchen/Components/KitchenSpikeComponent.cs b/Content.Server/Kitchen/Components/KitchenSpikeComponent.cs deleted file mode 100644 index 6333ca74e2..0000000000 --- a/Content.Server/Kitchen/Components/KitchenSpikeComponent.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Content.Server.Kitchen.EntitySystems; -using Content.Shared.Kitchen.Components; - -namespace Content.Server.Kitchen.Components -{ - [RegisterComponent, Access(typeof(KitchenSpikeSystem)), ComponentReference(typeof(SharedKitchenSpikeComponent))] - public sealed class KitchenSpikeComponent : SharedKitchenSpikeComponent - { - public List? PrototypesToSpawn; - - // TODO: Spiking alive mobs? (Replace with uid) (deal damage to their limbs on spiking, kill on first butcher attempt?) - public string MeatSource1p = "?"; - public string MeatSource0 = "?"; - public string Victim = "?"; - - // Prevents simultaneous spiking of two bodies (could be replaced with CancellationToken, but I don't see any situation where Cancel could be called) - public bool InUse; - } -} diff --git a/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs b/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs index f9d41e82c0..1b5ca4ade8 100644 --- a/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs +++ b/Content.Server/Kitchen/EntitySystems/KitchenSpikeSystem.cs @@ -1,4 +1,5 @@ using Content.Server.Administration.Logs; +using Content.Server.Body.Systems; using Content.Server.Kitchen.Components; using Content.Server.Popups; using Content.Shared.Database; @@ -6,18 +7,18 @@ using Content.Shared.DoAfter; using Content.Shared.DragDrop; using Content.Shared.IdentityManagement; using Content.Shared.Interaction; -using Content.Shared.Nutrition.Components; -using Robust.Shared.Player; -using Content.Shared.Storage; -using Robust.Shared.Random; -using static Content.Shared.Kitchen.Components.SharedKitchenSpikeComponent; using Content.Shared.Interaction.Events; using Content.Shared.Kitchen; +using Content.Shared.Kitchen.Components; using Content.Shared.Mobs.Components; using Content.Shared.Mobs.Systems; +using Content.Shared.Nutrition.Components; using Content.Shared.Popups; +using Content.Shared.Storage; using Robust.Server.GameObjects; -using Content.Server.Body.Systems; +using Robust.Shared.Player; +using Robust.Shared.Random; +using static Content.Shared.Kitchen.Components.KitchenSpikeComponent; namespace Content.Server.Kitchen.EntitySystems { diff --git a/Content.Shared/Kitchen/Components/KitchenSpikeComponent.cs b/Content.Shared/Kitchen/Components/KitchenSpikeComponent.cs new file mode 100644 index 0000000000..beb0d5acd3 --- /dev/null +++ b/Content.Shared/Kitchen/Components/KitchenSpikeComponent.cs @@ -0,0 +1,40 @@ +using Robust.Shared.Audio; +using Robust.Shared.GameStates; +using Robust.Shared.Serialization; + +namespace Content.Shared.Kitchen.Components; + +[RegisterComponent, NetworkedComponent] +[Access(typeof(SharedKitchenSpikeSystem))] +public sealed class KitchenSpikeComponent : Component +{ + [DataField("delay")] + public float SpikeDelay = 7.0f; + + [ViewVariables(VVAccess.ReadWrite)] + [DataField("sound")] + public SoundSpecifier SpikeSound = new SoundPathSpecifier("/Audio/Effects/Fluids/splat.ogg"); + + public List? PrototypesToSpawn; + + // TODO: Spiking alive mobs? (Replace with uid) (deal damage to their limbs on spiking, kill on first butcher attempt?) + public string MeatSource1p = "?"; + public string MeatSource0 = "?"; + public string Victim = "?"; + + // Prevents simultaneous spiking of two bodies (could be replaced with CancellationToken, but I don't see any situation where Cancel could be called) + public bool InUse; + + [Serializable, NetSerializable] + public enum KitchenSpikeVisuals : byte + { + Status + } + + [Serializable, NetSerializable] + public enum KitchenSpikeStatus : byte + { + Empty, + Bloody + } +} diff --git a/Content.Shared/Kitchen/Components/SharedKitchenSpikeComponent.cs b/Content.Shared/Kitchen/Components/SharedKitchenSpikeComponent.cs deleted file mode 100644 index 1428ef8bb6..0000000000 --- a/Content.Shared/Kitchen/Components/SharedKitchenSpikeComponent.cs +++ /dev/null @@ -1,30 +0,0 @@ -using Robust.Shared.Audio; -using Robust.Shared.GameStates; -using Robust.Shared.Serialization; - -namespace Content.Shared.Kitchen.Components -{ - [NetworkedComponent] - public abstract class SharedKitchenSpikeComponent : Component - { - [DataField("delay")] - public float SpikeDelay = 7.0f; - - [ViewVariables(VVAccess.ReadWrite)] - [DataField("sound")] - public SoundSpecifier SpikeSound = new SoundPathSpecifier("/Audio/Effects/Fluids/splat.ogg"); - - [Serializable, NetSerializable] - public enum KitchenSpikeVisuals : byte - { - Status - } - - [Serializable, NetSerializable] - public enum KitchenSpikeStatus : byte - { - Empty, - Bloody - } - } -} diff --git a/Content.Shared/Kitchen/SharedKitchenSpikeSystem.cs b/Content.Shared/Kitchen/SharedKitchenSpikeSystem.cs index 2a912cbba7..a61fc066c5 100644 --- a/Content.Shared/Kitchen/SharedKitchenSpikeSystem.cs +++ b/Content.Shared/Kitchen/SharedKitchenSpikeSystem.cs @@ -11,10 +11,10 @@ public abstract class SharedKitchenSpikeSystem : EntitySystem public override void Initialize() { base.Initialize(); - SubscribeLocalEvent(OnCanDrop); + SubscribeLocalEvent(OnCanDrop); } - private void OnCanDrop(EntityUid uid, SharedKitchenSpikeComponent component, ref CanDropTargetEvent args) + private void OnCanDrop(EntityUid uid, KitchenSpikeComponent component, ref CanDropTargetEvent args) { if (args.Handled) return;