Files
crystall-punk-14/Content.Shared/_CP14/ModularCraft/Components/CP14ModularCraftStartpointComponent.cs
Ed 109edeb4b5 Modular weapon crafting WIP (#611)
* data initalizing

* modular assembling

* grips and blades sprites

* first prototypes

* jewerly decoration

* disassemble modular weapon

* grip start stats

* blade modifiers

* inhand sprites generation

* resprites inhand, add sickle, add attempt modify size

* auto inhand sprite parsing

* icon default parsing

* spear blade

* mace ball

* sword blade

* sharedization + autonetwork hotswipe

* wielding sprite support!

* iron long grip

* wielded sickle, fix ERROR sprite if state not added

* Update grips.yml

* wielded spear + ruby rework

* wielding damage bonus modifier

* modular size fix

* fix storedOffset rotation

* parts offset

* fix inheriting modifiers

* some bugfix and balance tweaks

* DPS Meter

* fix dividing by zero

* rebalance

* replace baseknife to modular knife. Delete ice knife spell

* sickle and mace modular replace

* modular spear & sword replacement. add wielded icons

* Update CP14DPSMeterSystem.cs

* back to serverization

* grip disassemble drop again

* clothing sprite generation code

* back slot long grips and mace

* remove jewerly slot, add more clothing states

* finish clothing states

* shovel modular

* YEEEEE

* anvil modular craft

* bugfixes

* more integration check fixes
2024-11-29 01:31:42 +03:00

39 lines
1.2 KiB
C#

using Content.Shared._CP14.ModularCraft.Prototypes;
using Robust.Shared.GameStates;
using Robust.Shared.Prototypes;
namespace Content.Shared._CP14.ModularCraft.Components;
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true), Access(typeof(CP14SharedModularCraftSystem))]
public sealed partial class CP14ModularCraftStartPointComponent : Component
{
/// <summary>
/// Starting free slots
/// </summary>
[DataField]
public List<ProtoId<CP14ModularCraftSlotPrototype>> StartSlots = new();
/// <summary>
/// Current free slots. May vary depending on the modules delivered
/// </summary>
[DataField]
public List<ProtoId<CP14ModularCraftSlotPrototype>> FreeSlots = new();
/// <summary>
/// A list of all installed parts.
/// </summary>
[DataField, AutoNetworkedField]
public List<ProtoId<CP14ModularCraftPartPrototype>> InstalledParts = new();
/// <summary>
/// Spawned on disassembling
/// </summary>
[DataField]
public EntProtoId? StartProtoPart;
/// <summary>
/// Clentside visual layers from installedParts
/// </summary>
public HashSet<string> RevealedLayers = new();
}