[feat] ComicSans back to clown!

This commit is contained in:
rhailrake
2023-04-28 10:10:25 +06:00
committed by Aviu00
parent a6f88c6608
commit 41e5ad7ac8
9 changed files with 59 additions and 5 deletions

View File

@@ -380,6 +380,7 @@ public sealed class ChatUIController : UIController
return;
}
msg.Message = FormattedMessage.RemoveMarkup(msg.Message);
EnqueueSpeechBubble(ent, msg, speechType);
}

View File

@@ -0,0 +1,24 @@
using Content.Server.Chat.Systems;
using Content.Server.VoiceMask;
using Content.Shared.Interaction.Components;
namespace Content.Server.Chat;
public sealed class FunnyFontsChatSystem : EntitySystem
{
public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<SpeechTransformedEvent>(OnEntitySpeak);
}
private void OnEntitySpeak(SpeechTransformedEvent ev)
{
if(TryComp(ev.Sender, out VoiceMaskComponent? mask) && mask.Enabled) return;
if (TryComp<ClumsyComponent>(ev.Sender, out _))
{
ev.Message = $"[font=\"ComicSansMS\"]{ev.Message}[/font]";
}
}
}

View File

@@ -310,6 +310,14 @@ public sealed partial class ChatSystem : SharedChatSystem
}
}
public string AfterSpeechTransformed(EntityUid sender, string message)
{
var ev = new SpeechTransformedEvent(sender, message);
RaiseLocalEvent(ev);
return ev.Message;
}
#region Announcements
/// <summary>
@@ -396,6 +404,8 @@ public sealed partial class ChatSystem : SharedChatSystem
if (message.Length == 0)
return;
message = AfterSpeechTransformed(source, message);
// get the entity's apparent name (if no override provided).
string name;
if (nameOverride != null)
@@ -418,7 +428,7 @@ public sealed partial class ChatSystem : SharedChatSystem
//WD-EDIT
var wrappedMessage = Loc.GetString("chat-manager-entity-say-wrap-message",
("entityName", name), ("message", FormattedMessage.EscapeText(message)));
("entityName", name), ("message", message));
SendInVoiceRange(ChatChannel.Local, message, wrappedMessage, source, range);
@@ -469,6 +479,8 @@ public sealed partial class ChatSystem : SharedChatSystem
if (message.Length == 0)
return;
message = AfterSpeechTransformed(source, message);
var obfuscatedMessage = ObfuscateMessageReadability(message, 0.2f);
// get the entity's name by visual identity (if no override provided).
@@ -488,13 +500,13 @@ public sealed partial class ChatSystem : SharedChatSystem
name = FormattedMessage.EscapeText(name);
var wrappedMessage = Loc.GetString("chat-manager-entity-whisper-wrap-message",
("entityName", name), ("message", FormattedMessage.EscapeText(message)));
("entityName", name), ("message", message));
var wrappedobfuscatedMessage = Loc.GetString("chat-manager-entity-whisper-wrap-message",
("entityName", nameIdentity), ("message", FormattedMessage.EscapeText(obfuscatedMessage)));
("entityName", nameIdentity), ("message", obfuscatedMessage));
var wrappedUnknownMessage = Loc.GetString("chat-manager-entity-whisper-unknown-wrap-message",
("message", FormattedMessage.EscapeText(obfuscatedMessage)));
("message", obfuscatedMessage));
foreach (var (session, data) in GetRecipients(source, WhisperMuffledRange))
@@ -975,6 +987,19 @@ public class SetSpeakerColorEvent
Name = name;
}
}
public sealed class SpeechTransformedEvent : EntityEventArgs
{
public EntityUid Sender;
public string Message;
public SpeechTransformedEvent(EntityUid sender, string message)
{
Sender = sender;
Message = message;
}
}
//WD-EDIT
/// <summary>

View File

@@ -52,7 +52,7 @@ public sealed class HeadsetSystem : SharedHeadsetSystem
&& TryComp(component.Headset, out EncryptionKeyHolderComponent? keys)
&& keys.Channels.Contains(args.Channel.ID))
{
_radio.SendRadioMessage(uid, args.Message, args.Channel, component.Headset);
_radio.SendRadioMessage(uid, args.Message, args.Channel, component.Headset, false);
args.Channel = null; // prevent duplicate messages from other listeners.
}
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -41,3 +41,7 @@
- type: font
id: Monospace
path: /EngineFonts/NotoSans/NotoSansMono-Regular.ttf
- type: font
id: ComicSansMS
path: /Fonts/ComicSans/ComicSansMS.ttf