mirror of
https://github.com/WWhiteDreamProject/wwdpublic.git
synced 2026-04-17 05:27:38 +03:00
Makes an assortment of changes related to chems. Morphine has been made more accessible at roundstart, adding a pain pen to the prefilled advanced medical belt and swapping a pain pen for a morphine bottle in the prefilled syringe case. Morphine also now blocks pain for longer, hopefully alleviating an issue where the effect would wear off during heart transplants. Also fixes an error which required the patient to have *both* ForcedSleep and NoScream to block the surgery pain moodlet. Additionally adds a morphine autoinjector cartridge. Adds enunciase, which removes stuttering statuses and temporarily disables all accents, and formic acid, which can react to make water or enunciase. Haloperidol also now removes less severe stuttering and ousiana dust now removes psionic insulation and power blocking statuses. Salicylic acid now works on corpses to reflect the description. Additionally fixes a missing locale from the Goob chem port and tweaks the text for the proto medical multitool. --- <details><summary><h1>Media</h1></summary> <p>        (dylovene to the left for comparison)    </p> </details> --- 🆑 - add: Added formic acid - add: Added enunciase - add: Added morphine autoinjector cartridge - tweak: Haloperidol now counteracts stuttering from chems - tweak: Ousiana dust now counteracts psionic insulation/blocking statuses - tweak: Morphine blocks pain for longer - tweak: Morphine and artiplates are more visually distinct - tweak: Increased distribution of morphine roundstart - tweak: Changed wording of stamina change effect - tweak: Salicylic acid works on corpses - fix: Fixed missing locale text for some stamina-affecting chems - fix: Fixed guidebook falsely saying effects accumulate - fix: Fixed capitalisation of proto medical multitool - fix: Fixed morphine not blocking surgery pain moodlet --------- Signed-off-by: GNUtopia <93669372+GNUtopia@users.noreply.github.com> - CartridgePain # Morphine Tweaks#
49 lines
1.4 KiB
C#
49 lines
1.4 KiB
C#
using System.Text.RegularExpressions;
|
|
using Content.Server.Chat;
|
|
using Content.Server.Chat.Systems;
|
|
using Content.Server.Speech.Components;
|
|
|
|
namespace Content.Server.Speech
|
|
{
|
|
public sealed class AccentSystem : EntitySystem
|
|
{
|
|
public static readonly Regex SentenceRegex = new(@"(?<=[\.!\?])", RegexOptions.Compiled);
|
|
|
|
public override void Initialize()
|
|
{
|
|
SubscribeLocalEvent<TransformSpeechEvent>(AccentHandler);
|
|
}
|
|
|
|
private void AccentHandler(TransformSpeechEvent args)
|
|
{
|
|
var accentEvent = new AccentGetEvent(args.Sender, args.Message);
|
|
|
|
if (!HasComp<DisableAccentComponent>(args.Sender))
|
|
{
|
|
RaiseLocalEvent(args.Sender, accentEvent, true);
|
|
args.Message = accentEvent.Message;
|
|
}
|
|
}
|
|
}
|
|
|
|
public sealed class AccentGetEvent : EntityEventArgs
|
|
{
|
|
/// <summary>
|
|
/// The entity to apply the accent to.
|
|
/// </summary>
|
|
public EntityUid Entity { get; }
|
|
|
|
/// <summary>
|
|
/// The message to apply the accent transformation to.
|
|
/// Modify this to apply the accent.
|
|
/// </summary>
|
|
public string Message { get; set; }
|
|
|
|
public AccentGetEvent(EntityUid entity, string message)
|
|
{
|
|
Entity = entity;
|
|
Message = message;
|
|
}
|
|
}
|
|
}
|