Files
Delta-v/Content.Shared/_Starlight/ItemSwitch/Components/ItemSwitchComponent.cs
T
58cc793e86 Port Starlight's expanded makeshift items (#4984)
* 1

* 2

* remove dismantle testing changes

* add ammount handling, and add random angle

* code-side things

* code-side things

* code-side things

* 3

* 4

* 5

* 6

* changed description for now

* whoops

* 7

* 8

* 9

* Texture fix

* Tada!

I diiid iiitttt

* Delete .icon.png-autosave.kra

* 10

* test

another

* 11

* Localization fixes 2

Also some minor rebalancing of armor/shield/helmet crafting

* ROOOUND 33333

* test

wawa

* wiz

* fixes

* MORE FIXES

* MORE MORE FIXES

* Smg mag fix

* Why does it have reflet

Removed reflect chance and made the damage the same as a plasteel arming sword

* belt fix

* phosphorus addition

* improvised round bulk crafting

* Update tags

* tags update 2

* Update tags.yml

* fix tags AGAIN

* TAG FIX AGAIN

* Fixed the sound path

* Fixed missing components hopefully

* fix it hopefully

* Update tidebreaker.yml

* fixed errors

* fixed?

* Update shields.yml

* Update tools.yml

* Fixes

* Update tools.yml

* Update tools.yml

* Update tools.yml

* Update tools.yml

* Update tools.yml

* screwdriver fix 200

* Update tools.yml

* Update tools.yml

* Apply suggestions from code review

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update SharedItemSwitchSystem.cs

* review changes

* Fix server and client files

* Namespace fixes.

* Update Resources/Prototypes/Entities/Clothing/Belt/belts.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/Entities/Clothing/Belt/belts.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/Entities/Clothing/Belt/belts.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/Entities/Clothing/Belt/belts.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/Entities/Clothing/Belt/belts.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/Entities/Clothing/Belt/belts.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/Entities/Objects/Tools/crowbars.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/Entities/Objects/Tools/tools.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/Entities/Objects/Tools/tools.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/Entities/Objects/Tools/tools.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/Entities/Objects/Tools/tools.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/Entities/Clothing/Belt/belts.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/Entities/Clothing/Belt/belts.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/Entities/Clothing/Belt/belts.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/Entities/Clothing/Belt/belts.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/Entities/Clothing/Belt/belts.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/Entities/Clothing/Belt/belts.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/Recipes/Crafting/Graphs/improvised/improvised_omnitool.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/Recipes/Crafting/Graphs/improvised/improvised_omnitool.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/Recipes/Crafting/Graphs/improvised/improvised_omnitool.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/Recipes/Crafting/Graphs/improvised/improvised_omnitool.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/tags.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/tags.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/tags.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/tags.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/tags.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/tags.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/tags.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/tags.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/tags.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_StarLight/tags.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update SharedWeaponDismantleOnShootSystem.cs

* Update Resources/Prototypes/Recipes/Crafting/Graphs/improvised/improvised_shotgun_shell.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

* Update Resources/Prototypes/_DV/Entities/Objects/Weapons/Guns/Ammunition/Boxes/improvised.yml

Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>

---------

Signed-off-by: Apachito <ivanlopezlegos2004@gmail.com>
Co-authored-by: KillerTheFlareon <tyler443344@outlook.com>
Co-authored-by: Matthew Herber <matthewherber@sbcglobal.net>
Co-authored-by: Athena-AI <AthenaTheAI@outlook.com>
Co-authored-by: stickycheZ101 <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>
Co-authored-by: stickycheZ101 <96800602+stickycheZ101@users.noreply.github.com>
Co-authored-by: Vanessa <908648+ShepardToTheStars@users.noreply.github.com>
Co-authored-by: Vanessa <vanessalouwagie@gmail.com>
2025-12-31 14:08:48 -06:00

93 lines
2.5 KiB
C#

using Robust.Shared.Audio;
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
using Robust.Shared.Utility;
namespace Content.Shared._Starlight.ItemSwitch.Components;
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)]
public sealed partial class ItemSwitchComponent : Component
{
/// <summary>
/// The item's toggle state.
/// </summary>
[DataField, AutoNetworkedField]
public string State;
[DataField(readOnly: true)]
public Dictionary<string, ItemSwitchState> States = [];
/// <summary>
/// Can the entity be activated in the world.
/// </summary>
[DataField]
public bool OnActivate = true;
/// <summary>
/// If this is set to false then the item can't be toggled by pressing Z.
/// Use another system to do it then.
/// </summary>
[DataField]
public bool OnUse = true;
/// <summary>
/// Whether the item's toggle can be predicted by the client.
/// </summary>
/// /// <remarks>
/// If server-side systems affect the item's toggle, like charge/fuel systems, then the item is not predictable.
/// </remarks>
[ViewVariables(VVAccess.ReadWrite), DataField, AutoNetworkedField]
public bool Predictable = true;
}
[DataDefinition]
public sealed partial class ItemSwitchState : BoundUserInterfaceMessage
{
[DataField]
public string Verb;
[DataField]
public SoundSpecifier? SoundStateActivate;
[DataField]
public SoundSpecifier? SoundFailToActivate;
[DataField]
public ComponentRegistry? Components;
[DataField]
public bool RemoveComponents = true;
[DataField]
public bool Hidden = false;
[DataField]
public SpriteSpecifier? Sprite;
}
/// <summary>
/// Raised directed on an entity when its ItemToggle is attempted to be activated.
/// </summary>
[ByRefEvent]
public record struct ItemSwitchAttemptEvent()
{
public bool Cancelled = false;
public required readonly EntityUid? User { get; init; }
public required readonly string State { get; init; }
/// <summary>
/// Pop-up that gets shown to users explaining why the attempt was cancelled.
/// </summary>
public string? Popup { get; set; }
}
/// <summary>
/// Raised directed on an entity any sort of toggle is complete.
/// </summary>
[ByRefEvent]
public readonly record struct ItemSwitchedEvent()
{
public required readonly bool Predicted { get; init; }
public required readonly string State { get; init; }
public required readonly EntityUid? User { get; init; }
}