From 33d49ff4fa6b632d75d25d79b107ca1c6d7ecebe Mon Sep 17 00:00:00 2001 From: Byaigo <35431738+Byaigo@users.noreply.github.com> Date: Mon, 27 Jul 2026 17:59:41 +0800 Subject: [PATCH] [BOUNTY #267] Add owospeak speech modifier --- code/modules/language/owospeak.dm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 code/modules/language/owospeak.dm diff --git a/code/modules/language/owospeak.dm b/code/modules/language/owospeak.dm new file mode 100644 index 00000000000000..fee875290a701f --- /dev/null +++ b/code/modules/language/owospeak.dm @@ -0,0 +1,29 @@ +/datum/language_modifier/owospeak + name = "Owospeak" + desc = "Applies uwu/owo speech patterns to the speaker. :3" + +/datum/language_modifier/owospeak/proc/modify_speech(message) + if(!message) + return message + + // Replace 'r' and 'l' with 'w' + message = replacetext(message, "r", "w") + message = replacetext(message, "R", "W") + message = replacetext(message, "l", "w") + message = replacetext(message, "L", "W") + + // Replace 'th' with 'd' or 'f' + message = replacetext(message, "th", "d") + message = replacetext(message, "Th", "D") + message = replacetext(message, "TH", "D") + + // Add random owo-isms + var/static/list/suffixes = list(" :3", " uwu", " owo", " nya~", " rawr", " >w<", " ^w^", " meow") + var/static/list/prefixes = list("uwu ", "nyaa ", "hewwo ", "hai ") + + if(prob(15)) + message += pick(suffixes) + if(prob(10)) + message = pick(prefixes) + message + + return message