Exosuit: Ripley (#12668)
* mechs * interaction relay * atmos handling * fuck around with interaction events SPAGHETTI CODE OH MY GOD * more sprites and whatever the hell * more mech shit * more shit for equipment * starting equipment (for nukie mechs and such) * equipment cycling * starting with some of the ui * a fat chunk of ui prototyping * done tinkering with ui * a bunch of ui stuff and what have yous * cleaning up grabber and state handling * make the ui actually functional + watch me port a million icons I swear i'll prune the sprites later blease * start on construction * construction yo mamma * remove some unused files * fix a silly * make the graph sane * make it actually constructible. * print the boards as well, bozo * rebalance part prices * eject action also i appease the russians by remembering to localize * Punch Shit * make mech integrity and repairs work * Make the UI more based STOMP STOMP STOMP STOMP * make equipment even more based * batteries and other such delights * make the ui look pimpin af * make the construction mega based * UI but so epic * equipment * some sweat tweaks * damage rebalancing * restructure tech * fix some shit * mechs inherit access * make icons actually use sprite specifiers * TRAILING COMMAA!!!!! * fix a mild indentation sin * undo this change because it isn't needed * actually fix this * secret webeditting shhhh * place this tech here * comments * foo
This commit is contained in:
50
Content.Server/Mech/Components/MechAssemblyComponent.cs
Normal file
50
Content.Server/Mech/Components/MechAssemblyComponent.cs
Normal file
@@ -0,0 +1,50 @@
|
||||
using Content.Shared.Storage.Components;
|
||||
using Content.Shared.Tag;
|
||||
using Content.Shared.Tools;
|
||||
using Robust.Shared.Containers;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary;
|
||||
|
||||
namespace Content.Server.Mech.Components;
|
||||
|
||||
/// <summary>
|
||||
/// A component used to create a mech chassis
|
||||
/// after the correct parts have been placed inside
|
||||
/// of it.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// The actual visualization of the parts being inserted is
|
||||
/// done via <see cref="ItemMapperComponent"/>
|
||||
/// </remarks>
|
||||
[RegisterComponent]
|
||||
public sealed class MechAssemblyComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// The parts needed to be placed within the assembly,
|
||||
/// stored as a tag and a bool tracking whether or not
|
||||
/// they're present.
|
||||
/// </summary>
|
||||
[DataField("requiredParts", required: true, customTypeSerializer: typeof(PrototypeIdDictionarySerializer<bool, TagPrototype>))]
|
||||
public Dictionary<string, bool> RequiredParts = new();
|
||||
|
||||
/// <summary>
|
||||
/// The prototype spawned when the assembly is finished
|
||||
/// </summary>
|
||||
[DataField("finishedPrototype", required: true, customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
|
||||
public string FinishedPrototype = default!;
|
||||
|
||||
/// <summary>
|
||||
/// The container that stores all of the parts when
|
||||
/// they're being assembled.
|
||||
/// </summary>
|
||||
[ViewVariables]
|
||||
public Container PartsContainer = default!;
|
||||
|
||||
/// <summary>
|
||||
/// The quality of tool needed to remove all the parts
|
||||
/// from the parts container.
|
||||
/// </summary>
|
||||
[DataField("qualityNeeded", customTypeSerializer: typeof(PrototypeIdSerializer<ToolQualityPrototype>))]
|
||||
public string QualityNeeded = "Prying";
|
||||
}
|
||||
Reference in New Issue
Block a user