Yes (#8)
(cherry picked from commit 3d083befca212455cffcae56b84ee55050ad62be)
This commit is contained in:
@@ -136,7 +136,7 @@ namespace Content.Server.Strip
|
|||||||
}
|
}
|
||||||
// WD EDIT END
|
// WD EDIT END
|
||||||
|
|
||||||
// WD ENGI EXCLUSIVE START EDIT
|
// WD ENGI EXCLUSIVE EDIT START
|
||||||
if (args.Slot == "ears" && TryComp(strippable, out PreventStrippingFromEarsComponent? _))
|
if (args.Slot == "ears" && TryComp(strippable, out PreventStrippingFromEarsComponent? _))
|
||||||
{
|
{
|
||||||
var message = Loc.GetString("buckethelmet-cant-strip");
|
var message = Loc.GetString("buckethelmet-cant-strip");
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
using Content.Shared.Inventory.Events;
|
using Content.Shared.Inventory.Events;
|
||||||
using Content.Shared._White.BucketHelmet;
|
using Content.Shared._White.BucketHelmet;
|
||||||
// WD Engi Exclusive
|
|
||||||
namespace Content.Server._White.BucketHelmet;
|
namespace Content.Server._White.BucketHelmet;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This handles placemet of PreventStrippingFromEarsComponent when bucket helmet is in use.
|
/// This handles placemet of PreventStrippingFromEarsComponent when bucket helmet is in use.
|
||||||
|
/// WD Engi Exclusive.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public sealed class BucketHelmetSystem : EntitySystem
|
public sealed class BucketHelmetSystem : EntitySystem
|
||||||
{
|
{
|
||||||
/// <inheritdoc/>
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
SubscribeLocalEvent<BucketHelmetComponent, GotEquippedEvent>(OnGotEquipped);
|
SubscribeLocalEvent<BucketHelmetComponent, GotEquippedEvent>(OnGotEquipped);
|
||||||
|
|||||||
@@ -3,9 +3,13 @@ using Content.Shared.Damage;
|
|||||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
||||||
using Content.Shared.Chat.Prototypes;
|
using Content.Shared.Chat.Prototypes;
|
||||||
using Robust.Shared.Audio;
|
using Robust.Shared.Audio;
|
||||||
// WD Engi Exclusive
|
|
||||||
namespace Content.Server._White.Other.Suhariki;
|
namespace Content.Server._White.Other.Suhariki;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Makes you loose your tooth and have funny accent.
|
||||||
|
/// WD Engi Exclusive.
|
||||||
|
/// </summary>
|
||||||
[RegisterComponent, Access(typeof(SuharikiSystem))]
|
[RegisterComponent, Access(typeof(SuharikiSystem))]
|
||||||
public sealed partial class SuharikiComponent : Component
|
public sealed partial class SuharikiComponent : Component
|
||||||
|
|
||||||
@@ -32,13 +36,13 @@ public sealed partial class SuharikiComponent : Component
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// The prototype that will be spawned on event.
|
/// The prototype that will be spawned on event.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField("holdingPrototype", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>)), ViewVariables(VVAccess.ReadWrite)]
|
[DataField(customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>)), ViewVariables(VVAccess.ReadWrite)]
|
||||||
public string HoldingPrototype = "SuharikiTooth";
|
public string HoldingPrototype = "SuharikiTooth";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Emote triggered on event.
|
/// Emote triggered on event.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[DataField("emote", customTypeSerializer: typeof(PrototypeIdSerializer<EmotePrototype>))]
|
[DataField(customTypeSerializer: typeof(PrototypeIdSerializer<EmotePrototype>))]
|
||||||
public string EmoteId = "Scream";
|
public string EmoteId = "Scream";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -19,10 +19,13 @@ using Robust.Shared.Utility;
|
|||||||
using Content.Shared.Body.Components;
|
using Content.Shared.Body.Components;
|
||||||
using Content.Server.Body.Systems;
|
using Content.Server.Body.Systems;
|
||||||
using Content.Server.Body.Components;
|
using Content.Server.Body.Components;
|
||||||
using Content.Server.Speech.EntitySystems;
|
|
||||||
using Content.Server.Speech.Components;
|
using Content.Server.Speech.Components;
|
||||||
// WD Engi Exclusive
|
|
||||||
namespace Content.Server._White.Other.Suhariki;
|
namespace Content.Server._White.Other.Suhariki;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// WD Engi Exclusive.
|
||||||
|
/// </summary>
|
||||||
public sealed class SuharikiSystem : EntitySystem
|
public sealed class SuharikiSystem : EntitySystem
|
||||||
{
|
{
|
||||||
[Dependency] private readonly PopupSystem _popup = default!;
|
[Dependency] private readonly PopupSystem _popup = default!;
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
// WD Engi Exclusive
|
|
||||||
namespace Content.Shared._White.BucketHelmet;
|
namespace Content.Shared._White.BucketHelmet;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This is used for bucket helmet.
|
/// This is used for bucket helmet.
|
||||||
|
/// WD Engi Exclusive.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[RegisterComponent]
|
[RegisterComponent]
|
||||||
public sealed partial class BucketHelmetComponent : Component
|
public sealed partial class BucketHelmetComponent : Component
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
// WD Engi Exclusive
|
|
||||||
namespace Content.Shared._White.BucketHelmet;
|
namespace Content.Shared._White.BucketHelmet;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This is used to block stripping headsets when bucket helmet is on.
|
/// This is used to block stripping headsets when bucket helmet is on.
|
||||||
|
/// WD Engi Exclusive.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[RegisterComponent]
|
[RegisterComponent]
|
||||||
public sealed partial class PreventStrippingFromEarsComponent : Component
|
public sealed partial class PreventStrippingFromEarsComponent : Component
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
using Content.Shared.Damage;
|
using Content.Shared.Damage;
|
||||||
using Robust.Shared.GameStates;
|
using Robust.Shared.GameStates;
|
||||||
// WD Engi Exclusive
|
|
||||||
namespace Content.Shared.DamageableClothing;
|
namespace Content.Shared.DamageableClothing;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This component goes on an equippable item that should take damage while in use.
|
/// This component goes on an equippable item that should take damage while in use.
|
||||||
|
/// WD Engi Exclusive.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
|
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
|
||||||
public sealed partial class DamageableClothingComponent : Component
|
public sealed partial class DamageableClothingComponent : Component
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
// WD Engi Exclusive
|
|
||||||
namespace Content.Shared.DamageableClothing;
|
namespace Content.Shared.DamageableClothing;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// This component gets dynamically added to an Entity via the <see cref="DamageableClothing"/>
|
/// This component gets dynamically added to an Entity via the <see cref="DamageableClothing"/>.
|
||||||
|
/// WD Engi Exclusive.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[RegisterComponent]
|
[RegisterComponent]
|
||||||
public sealed partial class DamageableClothingUserComponent : Component
|
public sealed partial class DamageableClothingUserComponent : Component
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
using Robust.Shared.Timing;
|
using Robust.Shared.Timing;
|
||||||
using Content.Shared.Inventory.Events;
|
using Content.Shared.Inventory.Events;
|
||||||
// WD Engi Exclusive
|
|
||||||
namespace Content.Shared.DamageableClothing;
|
namespace Content.Shared.DamageableClothing;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// WD Engi Exclusive.
|
||||||
|
/// </summary>
|
||||||
public sealed partial class DamageableClothingSystem : EntitySystem
|
public sealed partial class DamageableClothingSystem : EntitySystem
|
||||||
{
|
{
|
||||||
[Dependency] private readonly IGameTiming _gameTiming = default!;
|
[Dependency] private readonly IGameTiming _gameTiming = default!;
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
using Content.Shared.Damage;
|
using Content.Shared.Damage;
|
||||||
// WD Engi Exclusive
|
|
||||||
namespace Content.Shared.DamageableClothing;
|
namespace Content.Shared.DamageableClothing;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// WD Engi Exclusive.
|
||||||
|
/// </summary>
|
||||||
public sealed partial class DamageableClothingSystem
|
public sealed partial class DamageableClothingSystem
|
||||||
{
|
{
|
||||||
[Dependency] private readonly DamageableSystem _damageable = default!;
|
[Dependency] private readonly DamageableSystem _damageable = default!;
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
- type: entity # WD Engi Exclusive
|
# WD Engi Exclusive
|
||||||
|
- type: entity
|
||||||
parent: ClothingOuterArmorBasic
|
parent: ClothingOuterArmorBasic
|
||||||
id: ClothingOuterArmorReflectiveGhetto
|
id: ClothingOuterArmorReflectiveGhetto
|
||||||
name: makeshift reflective vest
|
name: makeshift reflective vest
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
- type: entity # WD Engi Exclusive
|
# WD Engi Exclusive
|
||||||
|
- type: entity
|
||||||
parent: BaseItem
|
parent: BaseItem
|
||||||
id: FoodSnackSuhariki
|
id: FoodSnackSuhariki
|
||||||
name: suhariki
|
name: suhariki
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
- type: entity # WD Engi Exclusive
|
# WD Engi Exclusive
|
||||||
|
- type: entity
|
||||||
name: makeshift mirror shield
|
name: makeshift mirror shield
|
||||||
parent: BaseItem
|
parent: BaseItem
|
||||||
id: MirrorShieldGhetto
|
id: MirrorShieldGhetto
|
||||||
|
|||||||
Reference in New Issue
Block a user