Speech is relayed by holopad holograms (#33978)
* Initial commit * Corrected a field attribute
This commit is contained in:
@@ -105,14 +105,17 @@ public sealed class TelephoneSystem : SharedTelephoneSystem
|
||||
var nameEv = new TransformSpeakerNameEvent(args.MessageSource, Name(args.MessageSource));
|
||||
RaiseLocalEvent(args.MessageSource, nameEv);
|
||||
|
||||
var name = Loc.GetString("speech-name-relay",
|
||||
("speaker", Name(entity)),
|
||||
("originalName", nameEv.VoiceName));
|
||||
// Determine if speech should be relayed via the telephone itself or a designated speaker
|
||||
var speaker = entity.Comp.Speaker != null ? entity.Comp.Speaker.Value.Owner : entity.Owner;
|
||||
|
||||
var name = Loc.GetString("chat-telephone-name-relay",
|
||||
("originalName", nameEv.VoiceName),
|
||||
("speaker", Name(speaker)));
|
||||
|
||||
var range = args.TelephoneSource.Comp.LinkedTelephones.Count > 1 ? ChatTransmitRange.HideChat : ChatTransmitRange.GhostRangeLimit;
|
||||
var volume = entity.Comp.SpeakerVolume == TelephoneVolume.Speak ? InGameICChatType.Speak : InGameICChatType.Whisper;
|
||||
|
||||
_chat.TrySendInGameICMessage(entity, args.Message, volume, range, nameOverride: name, checkRadioPrefix: false);
|
||||
_chat.TrySendInGameICMessage(speaker, args.Message, volume, range, nameOverride: name, checkRadioPrefix: false);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -412,6 +415,11 @@ public sealed class TelephoneSystem : SharedTelephoneSystem
|
||||
}
|
||||
}
|
||||
|
||||
public void SetSpeakerForTelephone(Entity<TelephoneComponent> entity, Entity<SpeechComponent>? speaker)
|
||||
{
|
||||
entity.Comp.Speaker = speaker;
|
||||
}
|
||||
|
||||
private (string?, string?) GetNameAndJobOfCallingEntity(EntityUid uid)
|
||||
{
|
||||
string? presumedName = null;
|
||||
|
||||
Reference in New Issue
Block a user