* Added Gloves of North Star, no sprite or talking yet... * Added sprites for the gloves of the north star... * Replaced more placeholder sprites for northstar gloves... * Added gloves of the north star to uplink... * Added speech on hit, not yet configureable * Not functional yet, but a step in the right direction I hope... * IT WORKS!! * Licensing and cleanup * Reduced attack speed, changed from chat to popup, added some admin logging. It was causing too much adminlog spam otherwise * Reorganized some files, final build?? * Changed the adminlog type from Verb to new type ItemConfigure * More cleanup, fix sprite reference maybe * Keronshb's suggestions, fixed some stuff, made hit sound use the meaty punch sfx * Adds support for hiding speak/whisper/emote from adminlogs, makes northstar speak again! * Some file shuffling, some of Keronshb's requests. Might appear a bit funky in github because vscode kept duplicating files for some reason and I had to delete them * Made it work with the latest changes on Master * Final? cleanup, upped dmg to 8, made ui not activate on activateinhand, instead you need to right click * Set value to 0 credits, that's all * Well that was much easier than I made it out to be. Now you can only activate the gloves with right click, no more mispredicts. * Update MeleeWeaponSystem.cs Iunno why this got changed in the first place, but I'm changin it back * emptycommit * emptycommit * The tiny fixening
73 lines
2.0 KiB
C#
73 lines
2.0 KiB
C#
using Content.Shared.Clothing.EntitySystems;
|
|
using Content.Shared.Inventory;
|
|
using Robust.Shared.GameStates;
|
|
using Robust.Shared.Prototypes;
|
|
using Robust.Shared.Serialization;
|
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
|
|
|
namespace Content.Shared.Clothing.Components;
|
|
|
|
/// <summary>
|
|
/// Allow players to change clothing sprite to any other clothing prototype.
|
|
/// </summary>
|
|
[RegisterComponent, NetworkedComponent]
|
|
[Access(typeof(SharedChameleonClothingSystem))]
|
|
public sealed class ChameleonClothingComponent : Component
|
|
{
|
|
/// <summary>
|
|
/// Filter possible chameleon options by their slot flag.
|
|
/// </summary>
|
|
[ViewVariables(VVAccess.ReadOnly)]
|
|
[DataField("slot", required: true)]
|
|
public SlotFlags Slot;
|
|
|
|
/// <summary>
|
|
/// EntityPrototype id that chameleon item is trying to mimic.
|
|
/// </summary>
|
|
[ViewVariables(VVAccess.ReadOnly)]
|
|
[DataField("default", required: true, customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
|
|
public string? SelectedId;
|
|
|
|
/// <summary>
|
|
/// Current user that wears chameleon clothing.
|
|
/// </summary>
|
|
[ViewVariables]
|
|
public EntityUid? User;
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public sealed class ChameleonClothingComponentState : ComponentState
|
|
{
|
|
public string? SelectedId;
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public sealed class ChameleonBoundUserInterfaceState : BoundUserInterfaceState
|
|
{
|
|
public readonly SlotFlags Slot;
|
|
public readonly string? SelectedId;
|
|
|
|
public ChameleonBoundUserInterfaceState(SlotFlags slot, string? selectedId)
|
|
{
|
|
Slot = slot;
|
|
SelectedId = selectedId;
|
|
}
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public sealed class ChameleonPrototypeSelectedMessage : BoundUserInterfaceMessage
|
|
{
|
|
public readonly string SelectedId;
|
|
|
|
public ChameleonPrototypeSelectedMessage(string selectedId)
|
|
{
|
|
SelectedId = selectedId;
|
|
}
|
|
}
|
|
|
|
[Serializable, NetSerializable]
|
|
public enum ChameleonUiKey : byte
|
|
{
|
|
Key
|
|
}
|