74 lines
2.4 KiB
C#
74 lines
2.4 KiB
C#
using Robust.Shared.Audio;
|
|
using Robust.Shared.GameStates;
|
|
using Robust.Shared.Prototypes;
|
|
// Based on the RMC14.
|
|
// https://github.com/RMC-14/RMC-14
|
|
namespace Content.Shared.Starlight.Medical.Surgery.Effects.Step;
|
|
|
|
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
|
|
[Access(typeof(SharedSurgerySystem))]
|
|
public sealed partial class SurgeryToolComponent : Component
|
|
{
|
|
[DataField, AutoNetworkedField]
|
|
public float Speed = 1;
|
|
|
|
[DataField, AutoNetworkedField]
|
|
public float SuccessRate = 1f;
|
|
|
|
[DataField, AutoNetworkedField]
|
|
public SoundSpecifier? StartSound;
|
|
|
|
[DataField, AutoNetworkedField]
|
|
public SoundSpecifier? EndSound;
|
|
}
|
|
|
|
[RegisterComponent, NetworkedComponent, Access(typeof(SharedSurgerySystem))]
|
|
public sealed partial class OperatingTableComponent : Component;
|
|
|
|
[RegisterComponent, NetworkedComponent, Access(typeof(SharedSurgerySystem))]
|
|
public sealed partial class BoneGelComponent : Component, ISurgeryToolComponent
|
|
{
|
|
public string ToolName => "bone gel";
|
|
}
|
|
|
|
[RegisterComponent, NetworkedComponent, Access(typeof(SharedSurgerySystem))]
|
|
public sealed partial class BoneSawComponent : Component, ISurgeryToolComponent
|
|
{
|
|
public string ToolName => "a bone saw";
|
|
}
|
|
|
|
[RegisterComponent, NetworkedComponent, Access(typeof(SharedSurgerySystem))]
|
|
public sealed partial class BoneSetterComponent : Component, ISurgeryToolComponent
|
|
{
|
|
public string ToolName => "a bone setter";
|
|
}
|
|
|
|
[RegisterComponent, NetworkedComponent, Access(typeof(SharedSurgerySystem))]
|
|
public sealed partial class CauteryComponent : Component, ISurgeryToolComponent
|
|
{
|
|
public string ToolName => "a cautery";
|
|
}
|
|
|
|
[RegisterComponent, NetworkedComponent, Access(typeof(SharedSurgerySystem))]
|
|
public sealed partial class HemostatComponent : Component, ISurgeryToolComponent
|
|
{
|
|
public string ToolName => "a hemostat";
|
|
}
|
|
|
|
[RegisterComponent, NetworkedComponent, Access(typeof(SharedSurgerySystem))]
|
|
public sealed partial class RetractorComponent : Component, ISurgeryToolComponent
|
|
{
|
|
public string ToolName => "a retractor";
|
|
}
|
|
|
|
[RegisterComponent, NetworkedComponent, Access(typeof(SharedSurgerySystem))]
|
|
public sealed partial class ScalpelComponent : Component, ISurgeryToolComponent
|
|
{
|
|
public string ToolName => "a scalpel";
|
|
}
|
|
|
|
[RegisterComponent, NetworkedComponent, Access(typeof(SharedSurgerySystem))]
|
|
public sealed partial class SurgicalDrillComponent : Component, ISurgeryToolComponent
|
|
{
|
|
public string ToolName => "a surgical drill";
|
|
}
|