[feat] ComicSans back to clown!
This commit is contained in:
@@ -380,6 +380,7 @@ public sealed class ChatUIController : UIController
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
msg.Message = FormattedMessage.RemoveMarkup(msg.Message);
|
||||||
EnqueueSpeechBubble(ent, msg, speechType);
|
EnqueueSpeechBubble(ent, msg, speechType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
24
Content.Server/Chat/FunnyFontsChatSystem.cs
Normal file
24
Content.Server/Chat/FunnyFontsChatSystem.cs
Normal 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]";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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
|
#region Announcements
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -396,6 +404,8 @@ public sealed partial class ChatSystem : SharedChatSystem
|
|||||||
if (message.Length == 0)
|
if (message.Length == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
message = AfterSpeechTransformed(source, message);
|
||||||
|
|
||||||
// get the entity's apparent name (if no override provided).
|
// get the entity's apparent name (if no override provided).
|
||||||
string name;
|
string name;
|
||||||
if (nameOverride != null)
|
if (nameOverride != null)
|
||||||
@@ -418,7 +428,7 @@ public sealed partial class ChatSystem : SharedChatSystem
|
|||||||
//WD-EDIT
|
//WD-EDIT
|
||||||
|
|
||||||
var wrappedMessage = Loc.GetString("chat-manager-entity-say-wrap-message",
|
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);
|
SendInVoiceRange(ChatChannel.Local, message, wrappedMessage, source, range);
|
||||||
|
|
||||||
@@ -469,6 +479,8 @@ public sealed partial class ChatSystem : SharedChatSystem
|
|||||||
if (message.Length == 0)
|
if (message.Length == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
message = AfterSpeechTransformed(source, message);
|
||||||
|
|
||||||
var obfuscatedMessage = ObfuscateMessageReadability(message, 0.2f);
|
var obfuscatedMessage = ObfuscateMessageReadability(message, 0.2f);
|
||||||
|
|
||||||
// get the entity's name by visual identity (if no override provided).
|
// 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);
|
name = FormattedMessage.EscapeText(name);
|
||||||
|
|
||||||
var wrappedMessage = Loc.GetString("chat-manager-entity-whisper-wrap-message",
|
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",
|
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",
|
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))
|
foreach (var (session, data) in GetRecipients(source, WhisperMuffledRange))
|
||||||
@@ -975,6 +987,19 @@ public class SetSpeakerColorEvent
|
|||||||
Name = name;
|
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
|
//WD-EDIT
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ public sealed class HeadsetSystem : SharedHeadsetSystem
|
|||||||
&& TryComp(component.Headset, out EncryptionKeyHolderComponent? keys)
|
&& TryComp(component.Headset, out EncryptionKeyHolderComponent? keys)
|
||||||
&& keys.Channels.Contains(args.Channel.ID))
|
&& 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.
|
args.Channel = null; // prevent duplicate messages from other listeners.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
Resources/Fonts/ComicSans/ComicSansMS-Bold.ttf
Normal file
BIN
Resources/Fonts/ComicSans/ComicSansMS-Bold.ttf
Normal file
Binary file not shown.
BIN
Resources/Fonts/ComicSans/ComicSansMS-BoldItalic.ttf
Normal file
BIN
Resources/Fonts/ComicSans/ComicSansMS-BoldItalic.ttf
Normal file
Binary file not shown.
BIN
Resources/Fonts/ComicSans/ComicSansMS-Italic.ttf
Normal file
BIN
Resources/Fonts/ComicSans/ComicSansMS-Italic.ttf
Normal file
Binary file not shown.
BIN
Resources/Fonts/ComicSans/ComicSansMS.ttf
Normal file
BIN
Resources/Fonts/ComicSans/ComicSansMS.ttf
Normal file
Binary file not shown.
@@ -41,3 +41,7 @@
|
|||||||
- type: font
|
- type: font
|
||||||
id: Monospace
|
id: Monospace
|
||||||
path: /EngineFonts/NotoSans/NotoSansMono-Regular.ttf
|
path: /EngineFonts/NotoSans/NotoSansMono-Regular.ttf
|
||||||
|
|
||||||
|
- type: font
|
||||||
|
id: ComicSansMS
|
||||||
|
path: /Fonts/ComicSans/ComicSansMS.ttf
|
||||||
|
|||||||
Reference in New Issue
Block a user