Fix clientside storage Whitelists (#24063)
* Fix outdated component name in assaultbelt whitelist RangedMagazine was replaced with BallisticAmmoProvider in the Gun refactor (#8301) * Move FlashOnTrigger, SmokeOnTrigger, Flash components to Shared * Move LightReplacerComponent to Shared * Move Utensil, Mousetrap components to Shared * Move SprayPainterComponent to Shared The PaintableAirlock tag has also been removed, as it was unused & unnecessary, likely a vestige of spray painter development when the PaintableAirlock component wasn't in Content.Shared. * Add trivial Produce and Seed components to Client This allows the plant bag and botanical belt whitelists to correctly match produce and seeds on the client, fixing the extraneous "Can't insert" message that previously appeared. --------- Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com> (cherry picked from commit 9cd6e4dccdfaa7e273417e3c94d66b5171c7d841)
This commit is contained in:
parent
16d77d483e
commit
e0a3cfacea
|
|
@ -0,0 +1,8 @@
|
|||
using Content.Shared.Botany.Components;
|
||||
|
||||
namespace Content.Client.Botany.Components;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed partial class ProduceComponent : SharedProduceComponent
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
using Content.Shared.Botany.Components;
|
||||
|
||||
namespace Content.Client.Botany.Components;
|
||||
|
||||
[RegisterComponent]
|
||||
public sealed partial class SeedComponent : SharedSeedComponent
|
||||
{
|
||||
}
|
||||
|
|
@ -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";
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// Seed data containing information about the plant type & properties that this seed can grow seed. If
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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!;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
using Content.Server.Nutrition; // DeltaV
|
||||
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;
|
||||
|
|
|
|||
|
|
@ -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
|
|||
/// <summary>
|
||||
/// Handles usage of the utensils on the food items
|
||||
/// </summary>
|
||||
internal sealed class UtensilSystem : EntitySystem
|
||||
internal sealed class UtensilSystem : SharedUtensilSystem
|
||||
{
|
||||
[Dependency] private readonly IRobustRandom _robustRandom = default!;
|
||||
[Dependency] private readonly FoodSystem _foodSystem = default!;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,8 @@
|
|||
using Robust.Shared.GameStates;
|
||||
|
||||
namespace Content.Shared.Botany.Components;
|
||||
|
||||
[NetworkedComponent]
|
||||
public abstract partial class SharedProduceComponent : Component
|
||||
{
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
using Robust.Shared.GameStates;
|
||||
|
||||
namespace Content.Shared.Botany.Components;
|
||||
|
||||
[NetworkedComponent]
|
||||
public abstract partial class SharedSeedComponent : Component
|
||||
{
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Creates a smoke cloud when triggered, with an optional solution to include in it.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
namespace Content.Shared.Explosion.EntitySystems;
|
||||
namespace Content.Shared.Explosion.EntitySystems;
|
||||
|
||||
public abstract class SharedSmokeOnTriggerSystem : EntitySystem
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using Robust.Shared.GameStates;
|
||||
|
||||
namespace Content.Shared.Flash.Components;
|
||||
|
||||
/// <summary>
|
||||
|
|
|
|||
|
|
@ -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 <see cref="PoweredLightComponent"/>
|
||||
/// Can be reloaded by new light tubes or light bulbs
|
||||
/// </summary>
|
||||
[RegisterComponent, Access(typeof(LightReplacerSystem))]
|
||||
[RegisterComponent, NetworkedComponent, Access(typeof(SharedLightReplacerSystem))]
|
||||
public sealed partial class LightReplacerComponent : Component
|
||||
{
|
||||
[DataField("sound")]
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
namespace Content.Shared.Light.EntitySystems;
|
||||
|
||||
public abstract class SharedLightReplacerSystem : EntitySystem
|
||||
{
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -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")]
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
namespace Content.Shared.Nutrition.EntitySystems;
|
||||
|
||||
public abstract class SharedUtensilSystem : EntitySystem
|
||||
{
|
||||
}
|
||||
|
|
@ -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")]
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -329,7 +329,7 @@
|
|||
lightreplacer_slot:
|
||||
name: janitorial-trolley-slot-component-slot-name-lightreplacer
|
||||
whitelist:
|
||||
tags:
|
||||
components:
|
||||
- LightReplacer
|
||||
priority: 6
|
||||
spraybottle_slot:
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@
|
|||
amount: 5
|
||||
- type: Tag
|
||||
tags:
|
||||
- LightReplacer
|
||||
- DroneUsable
|
||||
- type: StaticPrice
|
||||
price: 100
|
||||
|
|
|
|||
|
|
@ -14,9 +14,6 @@
|
|||
- key: enum.SprayPainterUiKey.Key
|
||||
type: SprayPainterBoundUserInterface
|
||||
- type: SprayPainter
|
||||
whitelist:
|
||||
tags:
|
||||
- PaintableAirlock
|
||||
colorPalette:
|
||||
red: '#FF1212FF'
|
||||
yellow: '#B3A234FF'
|
||||
|
|
|
|||
|
|
@ -189,6 +189,7 @@
|
|||
shape:
|
||||
!type:PhysShapeCircle
|
||||
radius: 2
|
||||
repeating: true
|
||||
- type: Anchorable
|
||||
- type: Sprite
|
||||
sprite: Objects/Weapons/pflash.rsi
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue