Files
crystall-punk-14/Content.Server/_CP14/Demiplane/CP14DemiplaneSystem.Echoes.cs
Ed d100ed765b Echoes of voices from the demiplanes (#840)
* split lightdarkness type magic to 2

* signal lights

* finish spells

* demiplane voices echoes

* Update closets.yml

* spells impact relay

* sprite fix
2025-02-05 14:21:12 +03:00

35 lines
921 B
C#

using Content.Server.Chat.Systems;
using Robust.Shared.Random;
namespace Content.Server._CP14.Demiplane;
public sealed partial class CP14DemiplaneSystem
{
[Dependency] private readonly ChatSystem _chat = default!;
private void InitEchoes()
{
SubscribeLocalEvent<EntitySpokeEvent>(OnSpeak);
}
private void OnSpeak(EntitySpokeEvent ev)
{
var map = Transform(ev.Source).MapUid;
if (!_demiplaneQuery.TryComp(map, out var demiplane))
return;
//Get random exit, and send message there
if (demiplane.ExitPoints.Count == 0)
return;
var exit = _random.Pick(demiplane.ExitPoints);
_chat.TrySendInGameICMessage(exit,
ev.Message,
InGameICChatType.Whisper,
ChatTransmitRange.NoGhosts,
nameOverride: Loc.GetString("cp14-demiplane-echoes"),
hideLog: true);
}
}