Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
// SPDX-FileCopyrightText: 2025 Misandry <mary@thughunt.ing>
// SPDX-FileCopyrightText: 2025 gus <august.eymann@gmail.com>
//
// SPDX-License-Identifier: AGPL-3.0-or-later

using Robust.Shared.GameObjects;

namespace Content.Goobstation.Common.Speech;

[RegisterComponent]
public sealed partial class BoganAccentComponent : Component;
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
// SPDX-FileCopyrightText: 2025 Misandry <mary@thughunt.ing>
// SPDX-FileCopyrightText: 2025 gus <august.eymann@gmail.com>
//
// SPDX-License-Identifier: AGPL-3.0-or-later

using Robust.Shared.Analyzers;
using Robust.Shared.GameObjects;

namespace Content.Goobstation.Common.Speech;

[RegisterComponent]
public sealed partial class MedievalAccentComponent : Component;
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
// SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
// SPDX-FileCopyrightText: 2024 BeeRobynn <166929042+BeeRobynn@users.noreply.github.com>
// SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
// SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
// SPDX-FileCopyrightText: 2025 Misandry <mary@thughunt.ing>
// SPDX-FileCopyrightText: 2025 gus <august.eymann@gmail.com>
//
// SPDX-License-Identifier: AGPL-3.0-or-later

using Content.Goobstation.Common.Speech;
using Content.Shared.Speech; //Euphoria
using Content.Server.Speech.EntitySystems;
using Robust.Shared.Random;

namespace Content.Goobstation.Server.Speech;

public sealed class BoganAccentSystem : EntitySystem
{
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly ReplacementAccentSystem _replacement = default!;

public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<BoganAccentComponent, AccentGetEvent>(OnAccent);
}

private void OnAccent(EntityUid uid, BoganAccentComponent component, AccentGetEvent args)
{
var message = args.Message;

message = _replacement.ApplyReplacements(message, "bogan");

// Prefix
if (_random.Prob(0.15f))
{
var pick = _random.Next(1, 4);

// Reverse sanitize capital
message = message[0].ToString().ToLower() + message.Remove(0, 1);
message = Loc.GetString($"accent-bogan-prefix-{pick}") + " " + message;
}

// Sanitize capital again, in case we substituted a word that should be capitalized
message = message[0].ToString().ToUpper() + message.Remove(0, 1);

// Suffixes
if (_random.Prob(0.3f))
{
var pick = _random.Next(1, 5);
message += Loc.GetString($"accent-bogan-suffix-{pick}");
}

args.Message = message;
}
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
// SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
// SPDX-FileCopyrightText: 2024 BeeRobynn <166929042+BeeRobynn@users.noreply.github.com>
// SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
// SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
// SPDX-FileCopyrightText: 2025 Cattowo <2spoopy4u2handle@gmail.com>
// SPDX-FileCopyrightText: 2025 Misandry <mary@thughunt.ing>
// SPDX-FileCopyrightText: 2025 gus <august.eymann@gmail.com>
// SPDX-FileCopyrightText: 2025 smudge <138918973+Cerise-Cattowo@users.noreply.github.com>
//
// SPDX-License-Identifier: AGPL-3.0-or-later

using Content.Goobstation.Common.Speech;
using Content.Shared.Speech; //Euphoria
using Content.Server.Speech.EntitySystems;
using Robust.Shared.Random;

namespace Content.Goobstation.Server.Speech;

public sealed class MedievalAccentSystem : EntitySystem
{
[Dependency] private readonly IRobustRandom _random = default!;
[Dependency] private readonly ReplacementAccentSystem _replacement = default!;

public override void Initialize()
{
base.Initialize();
SubscribeLocalEvent<MedievalAccentComponent, AccentGetEvent>(OnAccent);
}

private void OnAccent(EntityUid uid, MedievalAccentComponent component, AccentGetEvent args)
{
var message = args.Message;

message = _replacement.ApplyReplacements(message, "medieval");

// Prefix
if (_random.Prob(0.40f))
{
var pick = _random.Next(1, 42);

// Reverse sanitize capital
message = message[0].ToString().ToLower() + message.Remove(0, 1);
message = Loc.GetString($"accent-medieval-prefix-{pick}") + " " + message;
}

// Sanitize capital again, in case we substituted a word that should be capitalized
message = message[0].ToString().ToUpper() + message.Remove(0, 1);

args.Message = message;
}
};
246 changes: 246 additions & 0 deletions Resources/Locale/en-US/_Goobstation/accent/bogan.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,246 @@
# SPDX-FileCopyrightText: 2024 BeeRobynn <166929042+BeeRobynn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

accent-bogan-prefix-1 = Fuckin',
accent-bogan-prefix-2 = Ye nah,
accent-bogan-prefix-3 = Nah, yeah, nah,
accent-bogan-prefix-4 = Mmmmm,

accent-bogan-suffix-1 = , cunt.
accent-bogan-suffix-2 = , fuckin' oath.
accent-bogan-suffix-3 = , fuckin' oath cunt.
accent-bogan-suffix-4 = , ya fuckin druggo.

accent-bogan-words-1 = woman
accent-bogan-words-replace-1 = sheila

accent-bogan-words-2 = girl
accent-bogan-words-replace-2 = sheila

accent-bogan-words-3 = guy
accent-bogan-words-replace-3 = bloke

accent-bogan-words-4 = man
accent-bogan-words-replace-4 = bloke

accent-bogan-words-5 = good
accent-bogan-words-replace-5 = fuckin' skitz

accent-bogan-words-6 = cool
accent-bogan-words-replace-6 = skiz

accent-bogan-words-7 = what?
accent-bogan-words-replace-7 = whuddyatalkinabeet?

accent-bogan-words-8 = weed
accent-bogan-words-replace-8 = yoweed

accent-bogan-words-9 = heroin
accent-bogan-words-replace-9 = heroween

accent-bogan-words-10 = popcorn
accent-bogan-words-replace-10 = popcoin

accent-bogan-words-12 = roach
accent-bogan-words-replace-12 = stingin' roger

accent-bogan-words-13 = sup
accent-bogan-words-replace-13 = s'goin' on

accent-bogan-words-14 = what's going on
accent-bogan-words-replace-14 = s'goin' on

accent-bogan-words-15 = hey
accent-bogan-words-replace-15 = oi

accent-bogan-words-16 = hi
accent-bogan-words-replace-16 = oi

accent-bogan-words-17 = hello
accent-bogan-words-replace-17 = oi

accent-bogan-words-18 = dude
accent-bogan-words-replace-18 = mate

accent-bogan-words-19 = ruined
accent-bogan-words-replace-19 = fucked

accent-bogan-words-20 = shuttle
accent-bogan-words-replace-20 = tinnie

accent-bogan-words-21 = cargo technician
accent-bogan-words-replace-21 = tradie

accent-bogan-words-22 = cargo tech
accent-bogan-words-replace-22 = tradie

accent-bogan-words-23 = cargo
accent-bogan-words-replace-23 = tradies

accent-bogan-words-24 = its
accent-bogan-words-replace-24 = she's

accent-bogan-words-25 = epic
accent-bogan-words-replace-25 = sick

accent-bogan-words-26 = joint
accent-bogan-words-replace-26 = durry

accent-bogan-words-27 = lots
accent-bogan-words-replace-27 = loads

accent-bogan-words-28 = alot
accent-bogan-words-replace-28 = loads

accent-bogan-words-29 = cigarette
accent-bogan-words-replace-29 = ciggy

accent-bogan-words-30 = you guys
accent-bogan-words-replace-30 = yous lot

accent-bogan-words-31 = slime
accent-bogan-words-replace-31 = chooma

accent-bogan-words-32 = slimes
accent-bogan-words-replace-32 = chooma's

accent-bogan-words-33 = blunt
accent-bogan-words-replace-33 = doobskin

accent-bogan-words-34 = idiot
accent-bogan-words-replace-34 = fuckwit

accent-bogan-words-35 = true
accent-bogan-words-replace-35 = struth

accent-bogan-words-36 = lying
accent-bogan-words-replace-36 = full of shit

accent-bogan-words-37 = bye
accent-bogan-words-replace-37 = i'll catcha later

accent-bogan-words-38 = sure
accent-bogan-words-replace-38 = easy as

accent-bogan-words-39 = my
accent-bogan-words-replace-39 = me

accent-bogan-words-40 = ok
accent-bogan-words-replace-40 = no worries

accent-bogan-words-41 = smoke
accent-bogan-words-replace-41 = smoko

accent-bogan-words-42 = friend
accent-bogan-words-replace-42 = old mate

accent-bogan-words-43 = meds
accent-bogan-words-replace-43 = drugs

accent-bogan-words-44 = chemist
accent-bogan-words-replace-44 = junkie

accent-bogan-words-45 = security officer
accent-bogan-words-replace-45 = coppa

accent-bogan-words-46 = a tider
accent-bogan-words-replace-46 = an eshay

accent-bogan-words-47 = mushrooms
accent-bogan-words-replace-47 = shrooms

accent-bogan-words-48 = bar
accent-bogan-words-replace-48 = bottle-o

accent-bogan-words-49 = chicken
accent-bogan-words-replace-49 = chook

accent-bogan-words-50 = criminal
accent-bogan-words-replace-50 = crook

accent-bogan-words-51 = clothes
accent-bogan-words-replace-51 = dacks

accent-bogan-words-52 = toilet
accent-bogan-words-replace-52 = dunny

accent-bogan-words-53 = candy
accent-bogan-words-replace-53 = lollies

accent-bogan-words-54 = drunk
accent-bogan-words-replace-54 = pissed

accent-bogan-words-55 = happy
accent-bogan-words-replace-55 = stoked

accent-bogan-words-56 = sad
accent-bogan-words-replace-56 = bumbed out

accent-bogan-words-57 = awesome
accent-bogan-words-replace-57 = legend

accent-bogan-words-58 = engie
accent-bogan-words-replace-58 = sparkie

accent-bogan-words-59 = serious
accent-bogan-words-replace-59 = dead set

accent-bogan-words-60 = sunglasses
accent-bogan-words-replace-60 = sunnies

accent-bogan-words-61 = food
accent-bogan-words-replace-61 = mac'n'cheese n' apple juice

accent-bogan-words-62 = death mix
accent-bogan-words-replace-62 = trippa snippa

accent-bogan-words-63 = soap
accent-bogan-words-replace-63 = pino clean

accent-bogan-words-64 = purple
accent-bogan-words-replace-64 = poiple

accent-bogan-words-65 = wizard
accent-bogan-words-replace-65 = magic man

accent-bogan-words-66 = coward
accent-bogan-words-replace-66 = pussy

accent-bogan-words-67 = bro
accent-bogan-words-replace-67 = big dog

accent-bogan-words-68 = hot
accent-bogan-words-replace-68 = heated

accent-bogan-words-69 = cold
accent-bogan-words-replace-69 = chilly

accent-bogan-words-70 = kudzu
accent-bogan-words-replace-70 = wacky tobaccy

accent-bogan-words-71 = really?
accent-bogan-words-replace-71 = full on?

accent-bogan-words-72 = security
accent-bogan-words-replace-72 = cop shop

accent-bogan-words-73 = botany
accent-bogan-words-replace-73 = woolies

accent-bogan-words-74 = shop
accent-bogan-words-replace-74 = dolla store

accent-bogan-words-75 = money
accent-bogan-words-replace-75 = cash

accent-bogan-words-76 = its ok
accent-bogan-words-replace-76 = she'll be right

accent-bogan-words-78 = go away
accent-bogan-words-replace-78 = piss off

accent-bogan-words-79 = sec off
accent-bogan-words-replace-79 = coppa
Loading
Loading