diff --git a/Content.Client/_CP14/MagicSpellStorage/CP14ClientMagicSpellStorageSystem.cs b/Content.Client/_CP14/MagicSpellStorage/CP14ClientMagicSpellStorageSystem.cs
new file mode 100644
index 0000000000..3977f41778
--- /dev/null
+++ b/Content.Client/_CP14/MagicSpellStorage/CP14ClientMagicSpellStorageSystem.cs
@@ -0,0 +1,7 @@
+using Content.Shared._CP14.MagicSpellStorage;
+
+namespace Content.Client._CP14.MagicSpellStorage;
+
+public sealed partial class CP14ClientSpellStorageSystem : CP14SharedSpellStorageSystem
+{
+}
diff --git a/Content.Shared/_CP14/MagicSpellStorage/CP14SpellStorageSystem.Access.cs b/Content.Server/_CP14/MagicSpellStorage/CP14SpellStorageSystem.Access.cs
similarity index 92%
rename from Content.Shared/_CP14/MagicSpellStorage/CP14SpellStorageSystem.Access.cs
rename to Content.Server/_CP14/MagicSpellStorage/CP14SpellStorageSystem.Access.cs
index 85c859cfc2..e58a1e8d7a 100644
--- a/Content.Shared/_CP14/MagicSpellStorage/CP14SpellStorageSystem.Access.cs
+++ b/Content.Server/_CP14/MagicSpellStorage/CP14SpellStorageSystem.Access.cs
@@ -1,8 +1,8 @@
-using Content.Shared._CP14.MagicSpellStorage.Components;
+using Content.Server._CP14.MagicSpellStorage.Components;
using Content.Shared.Clothing;
using Content.Shared.Hands;
-namespace Content.Shared._CP14.MagicSpellStorage;
+namespace Content.Server._CP14.MagicSpellStorage;
public sealed partial class CP14SpellStorageSystem
{
diff --git a/Content.Shared/_CP14/MagicSpellStorage/CP14SpellStorageSystem.cs b/Content.Server/_CP14/MagicSpellStorage/CP14SpellStorageSystem.cs
similarity index 89%
rename from Content.Shared/_CP14/MagicSpellStorage/CP14SpellStorageSystem.cs
rename to Content.Server/_CP14/MagicSpellStorage/CP14SpellStorageSystem.cs
index a0951c64a2..ae7cb40b29 100644
--- a/Content.Shared/_CP14/MagicSpellStorage/CP14SpellStorageSystem.cs
+++ b/Content.Server/_CP14/MagicSpellStorage/CP14SpellStorageSystem.cs
@@ -1,24 +1,23 @@
+using Content.Server._CP14.MagicSpellStorage.Components;
using Content.Shared._CP14.MagicSpell.Components;
using Content.Shared._CP14.MagicSpell.Events;
-using Content.Shared._CP14.MagicSpellStorage.Components;
+using Content.Shared._CP14.MagicSpellStorage;
using Content.Shared.Actions;
using Content.Shared.Damage;
using Content.Shared.Hands.EntitySystems;
using Content.Shared.Mind;
-using Robust.Shared.Network;
-namespace Content.Shared._CP14.MagicSpellStorage;
+namespace Content.Server._CP14.MagicSpellStorage;
///
/// this part of the system is responsible for storing spells in items, and the methods players use to obtain them.
///
-public sealed partial class CP14SpellStorageSystem : EntitySystem
+public sealed partial class CP14SpellStorageSystem : CP14SharedSpellStorageSystem
{
[Dependency] private readonly ActionContainerSystem _actionContainer = default!;
[Dependency] private readonly SharedActionsSystem _actions = default!;
[Dependency] private readonly SharedMindSystem _mind = default!;
[Dependency] private readonly SharedHandsSystem _hands = default!;
- [Dependency] private readonly INetManager _net = default!;
[Dependency] private readonly DamageableSystem _damageable = default!;
public override void Initialize()
@@ -41,9 +40,6 @@ public sealed partial class CP14SpellStorageSystem : EntitySystem
///
private void OnMagicStorageInit(Entity storage, ref MapInitEvent args)
{
- if (_net.IsClient)
- return;
-
foreach (var spell in storage.Comp.Spells)
{
var spellEnt = _actionContainer.AddAction(storage, spell);
@@ -72,9 +68,6 @@ public sealed partial class CP14SpellStorageSystem : EntitySystem
private void OnMagicStorageShutdown(Entity mStorage, ref ComponentShutdown args)
{
- if (_net.IsClient)
- return;
-
foreach (var spell in mStorage.Comp.SpellEntities)
{
QueueDel(spell);
diff --git a/Content.Shared/_CP14/MagicSpellStorage/Components/CP14SpellStorageAccessHoldingComponent.cs b/Content.Server/_CP14/MagicSpellStorage/Components/CP14SpellStorageAccessHoldingComponent.cs
similarity index 80%
rename from Content.Shared/_CP14/MagicSpellStorage/Components/CP14SpellStorageAccessHoldingComponent.cs
rename to Content.Server/_CP14/MagicSpellStorage/Components/CP14SpellStorageAccessHoldingComponent.cs
index 82983faf6f..8e76cad99d 100644
--- a/Content.Shared/_CP14/MagicSpellStorage/Components/CP14SpellStorageAccessHoldingComponent.cs
+++ b/Content.Server/_CP14/MagicSpellStorage/Components/CP14SpellStorageAccessHoldingComponent.cs
@@ -1,4 +1,4 @@
-namespace Content.Shared._CP14.MagicSpellStorage.Components;
+namespace Content.Server._CP14.MagicSpellStorage.Components;
///
/// Denotes that this item's spells can be accessed while holding it in your hand
diff --git a/Content.Shared/_CP14/MagicSpellStorage/Components/CP14SpellStorageAccessWearingComponent.cs b/Content.Server/_CP14/MagicSpellStorage/Components/CP14SpellStorageAccessWearingComponent.cs
similarity index 82%
rename from Content.Shared/_CP14/MagicSpellStorage/Components/CP14SpellStorageAccessWearingComponent.cs
rename to Content.Server/_CP14/MagicSpellStorage/Components/CP14SpellStorageAccessWearingComponent.cs
index e507de20a2..7ccd84f993 100644
--- a/Content.Shared/_CP14/MagicSpellStorage/Components/CP14SpellStorageAccessWearingComponent.cs
+++ b/Content.Server/_CP14/MagicSpellStorage/Components/CP14SpellStorageAccessWearingComponent.cs
@@ -1,4 +1,4 @@
-namespace Content.Shared._CP14.MagicSpellStorage.Components;
+namespace Content.Server._CP14.MagicSpellStorage.Components;
///
/// Denotes that this item's spells can be accessed while wearing it on your body
diff --git a/Content.Shared/_CP14/MagicSpellStorage/Components/CP14SpellStorageComponent.cs b/Content.Server/_CP14/MagicSpellStorage/Components/CP14SpellStorageComponent.cs
similarity index 92%
rename from Content.Shared/_CP14/MagicSpellStorage/Components/CP14SpellStorageComponent.cs
rename to Content.Server/_CP14/MagicSpellStorage/Components/CP14SpellStorageComponent.cs
index 60c2861b78..dde0e35a5a 100644
--- a/Content.Shared/_CP14/MagicSpellStorage/Components/CP14SpellStorageComponent.cs
+++ b/Content.Server/_CP14/MagicSpellStorage/Components/CP14SpellStorageComponent.cs
@@ -1,6 +1,6 @@
using Robust.Shared.Prototypes;
-namespace Content.Shared._CP14.MagicSpellStorage.Components;
+namespace Content.Server._CP14.MagicSpellStorage.Components;
///
/// A component that allows you to store spells in items
diff --git a/Content.Shared/_CP14/MagicSpellStorage/Components/CP14SpellStorageUseDamageComponent.cs b/Content.Server/_CP14/MagicSpellStorage/Components/CP14SpellStorageUseDamageComponent.cs
similarity index 88%
rename from Content.Shared/_CP14/MagicSpellStorage/Components/CP14SpellStorageUseDamageComponent.cs
rename to Content.Server/_CP14/MagicSpellStorage/Components/CP14SpellStorageUseDamageComponent.cs
index 3c86b59f52..5a945701e0 100644
--- a/Content.Shared/_CP14/MagicSpellStorage/Components/CP14SpellStorageUseDamageComponent.cs
+++ b/Content.Server/_CP14/MagicSpellStorage/Components/CP14SpellStorageUseDamageComponent.cs
@@ -1,6 +1,6 @@
using Content.Shared.Damage;
-namespace Content.Shared._CP14.MagicSpellStorage.Components;
+namespace Content.Server._CP14.MagicSpellStorage.Components;
///
/// Causes damage to the Spell storage when spells from it are used
diff --git a/Content.Shared/_CP14/Demiplane/Components/CP14DemiplaneTimedDestructionComponent.cs b/Content.Shared/_CP14/Demiplane/Components/CP14DemiplaneTimedDestructionComponent.cs
index 13fc4fe267..4265386826 100644
--- a/Content.Shared/_CP14/Demiplane/Components/CP14DemiplaneTimedDestructionComponent.cs
+++ b/Content.Shared/_CP14/Demiplane/Components/CP14DemiplaneTimedDestructionComponent.cs
@@ -10,7 +10,7 @@ namespace Content.Shared._CP14.Demiplane.Components;
public sealed partial class CP14DemiplaneTimedDestructionComponent : Component
{
[DataField]
- public TimeSpan TimeToDestruction = TimeSpan.FromSeconds(130f);
+ public TimeSpan TimeToDestruction = TimeSpan.FromSeconds(240f);
[DataField, AutoPausedField]
public TimeSpan EndTime = TimeSpan.Zero;
diff --git a/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffctPacifiedBlockComponent.cs b/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffctPacifiedBlockComponent.cs
index 82b03ac22d..01b2dd260b 100644
--- a/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffctPacifiedBlockComponent.cs
+++ b/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffctPacifiedBlockComponent.cs
@@ -1,12 +1,9 @@
-using Content.Shared._CP14.MagicSpellStorage;
-using Content.Shared.FixedPoint;
-
namespace Content.Shared._CP14.MagicSpell.Components;
///
/// Blocks the target from using magic if they are pacified.
///
-[RegisterComponent, Access(typeof(CP14SharedMagicSystem), typeof(CP14SpellStorageSystem))]
+[RegisterComponent, Access(typeof(CP14SharedMagicSystem))]
public sealed partial class CP14MagicEffectPacifiedBlockComponent : Component
{
}
diff --git a/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectComponent.cs b/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectComponent.cs
index 6126996ff0..d92e5703fc 100644
--- a/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectComponent.cs
+++ b/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectComponent.cs
@@ -1,7 +1,6 @@
using Content.Shared._CP14.MagicRitual.Prototypes;
using Content.Shared._CP14.MagicSpell.Spells;
using Content.Shared._CP14.MagicSpellStorage;
-using Content.Shared._CP14.MagicSpellStorage.Components;
using Content.Shared.DoAfter;
using Robust.Shared.Prototypes;
@@ -10,7 +9,7 @@ namespace Content.Shared._CP14.MagicSpell.Components;
///
/// Stores the results and appearance of the magic effect
///
-[RegisterComponent, Access(typeof(CP14SharedMagicSystem), typeof(CP14SpellStorageSystem))]
+[RegisterComponent, Access(typeof(CP14SharedMagicSystem), typeof(CP14SharedSpellStorageSystem))]
public sealed partial class CP14MagicEffectComponent : Component
{
///
diff --git a/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectManaCostComponent.cs b/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectManaCostComponent.cs
index a67066e2cc..40f56fc416 100644
--- a/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectManaCostComponent.cs
+++ b/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectManaCostComponent.cs
@@ -1,4 +1,3 @@
-using Content.Shared._CP14.MagicSpellStorage;
using Content.Shared.FixedPoint;
namespace Content.Shared._CP14.MagicSpell.Components;
@@ -6,7 +5,7 @@ namespace Content.Shared._CP14.MagicSpell.Components;
///
/// Restricts the use of this action, by spending mana or user requirements.
///
-[RegisterComponent, Access(typeof(CP14SharedMagicSystem), typeof(CP14SpellStorageSystem))]
+[RegisterComponent, Access(typeof(CP14SharedMagicSystem))]
public sealed partial class CP14MagicEffectManaCostComponent : Component
{
[DataField]
diff --git a/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectStaminaCostComponent.cs b/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectStaminaCostComponent.cs
index ae73e19e7d..ca3400ef5f 100644
--- a/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectStaminaCostComponent.cs
+++ b/Content.Shared/_CP14/MagicSpell/Components/CP14MagicEffectStaminaCostComponent.cs
@@ -1,11 +1,9 @@
-using Content.Shared._CP14.MagicSpellStorage;
-
namespace Content.Shared._CP14.MagicSpell.Components;
///
/// Restricts the use of this action, by spending stamina.
///
-[RegisterComponent, Access(typeof(CP14SharedMagicSystem), typeof(CP14SpellStorageSystem))]
+[RegisterComponent, Access(typeof(CP14SharedMagicSystem))]
public sealed partial class CP14MagicEffectStaminaCostComponent : Component
{
[DataField]
diff --git a/Content.Shared/_CP14/MagicSpellStorage/CP14SharedMagicSpellStorageSystem.cs b/Content.Shared/_CP14/MagicSpellStorage/CP14SharedMagicSpellStorageSystem.cs
new file mode 100644
index 0000000000..c735ae1548
--- /dev/null
+++ b/Content.Shared/_CP14/MagicSpellStorage/CP14SharedMagicSpellStorageSystem.cs
@@ -0,0 +1,5 @@
+namespace Content.Shared._CP14.MagicSpellStorage;
+
+public abstract partial class CP14SharedSpellStorageSystem : EntitySystem
+{
+}
diff --git a/Content.Shared/_CP14/MagicSpellStorage/Components/CP14SpellStorageInteractionComponent.cs b/Content.Shared/_CP14/MagicSpellStorage/Components/CP14SpellStorageInteractionComponent.cs
deleted file mode 100644
index a5992aebf7..0000000000
--- a/Content.Shared/_CP14/MagicSpellStorage/Components/CP14SpellStorageInteractionComponent.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-namespace Content.Shared._CP14.MagicSpellStorage.Components;
-
-///
-/// The component allows you to use actions nested in an object not through hotbar, but through direct interaction with the object.
-///
-[RegisterComponent, Access(typeof(CP14SpellStorageSystem))]
-public sealed partial class CP14SpellStorageInteractionComponent : Component
-{
- ///
- /// The selected action will automatically attempt to be used when interacting with the item.
- ///
- [DataField]
- public int SelectedAction;
-}