CatStation/Content.Server/VoiceMask/VoiceMaskComponent.cs
Morb0 3ab6d3ef71 Merge remote-tracking branch 'wizards/master' into upstream-sync
# Conflicts:
#	.github/workflows/publish.yml
#	Content.Client/VoiceMask/VoiceMaskNameChangeWindow.xaml.cs
#	Content.Server/GameTicking/GameTicker.Player.cs
#	Content.Server/VoiceMask/VoiceMaskComponent.cs
#	Content.Server/VoiceMask/VoiceMaskSystem.Equip.cs
#	Content.Server/VoiceMask/VoiceMaskSystem.cs
#	Content.Server/VoiceMask/VoiceMaskerComponent.cs
#	Resources/Prototypes/Catalog/Fills/Lockers/heads.yml
#	Resources/Prototypes/Entities/Clothing/Masks/specific.yml
#	Resources/Prototypes/Entities/Mobs/NPCs/regalrat.yml
#	Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml
#	Resources/Prototypes/Roles/Jobs/Command/captain.yml
#	Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml
#	Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml
#	Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml
#	Resources/Prototypes/Roles/Jobs/Science/research_director.yml
#	Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml
#	Resources/Prototypes/Roles/Jobs/Wildcards/psychologist.yml
#	Resources/Textures/Objects/Misc/bureaucracy.rsi/meta.json
#	Resources/Textures/Objects/Misc/bureaucracy.rsi/paper_stamp-psychologist.png
#	Resources/Textures/Structures/Walls/solid.rsi/reinf_over0.png
#	Resources/Textures/Tiles/attributions.yml
#	Resources/Textures/Tiles/blue_circuit.png
#	Resources/Textures/Tiles/green_circuit.png
#	Resources/Textures/Tiles/steel.png
2024-10-04 19:47:54 +03:00

47 lines
1.5 KiB
C#

using Content.Shared.Speech;
using Robust.Shared.Prototypes;
using Content.Shared.Humanoid;
namespace Content.Server.VoiceMask;
/// <summary>
/// This component is for voice mask items! Adding this component to clothing will give the the voice mask UI
/// and allow the wearer to change their voice and verb at will.
/// </summary>
/// <remarks>
/// DO NOT use this if you do not want the interface.
/// The VoiceOverrideSystem is probably what your looking for (Or you might have to make something similar)!
/// </remarks>
[RegisterComponent]
public sealed partial class VoiceMaskComponent : Component
{
/// <summary>
/// The name that will override an entities default name. If null, it will use the default override.
/// </summary>
[DataField]
public string? VoiceMaskName = null;
/// <summary>
/// The speech verb that will override an entities default one. If null, it will use the entities default verb.
/// </summary>
[DataField]
public ProtoId<SpeechVerbPrototype>? VoiceMaskSpeechVerb;
/// <summary>
/// The action that gets displayed when the voice mask is equipped.
/// </summary>
[DataField]
public EntProtoId Action = "ActionChangeVoiceMask";
// Corvax-TTS-Start
[DataField]
[ViewVariables(VVAccess.ReadWrite)]
public string VoiceId = SharedHumanoidAppearanceSystem.DefaultVoice;
// Corvax-TTS-End
/// <summary>
/// Reference to the action.
/// </summary>
[DataField]
public EntityUid? ActionEntity;
}