diff --git a/Content.Server/_NF/Goblin/Components/GoblinComponent.cs b/Content.Server/_NF/Goblin/Components/GoblinComponent.cs new file mode 100644 index 00000000000000..35533e98cc382e --- /dev/null +++ b/Content.Server/_NF/Goblin/Components/GoblinComponent.cs @@ -0,0 +1,7 @@ +namespace Content.Server._NF.Goblin.Components; + +[RegisterComponent] +public sealed partial class GoblinComponent : Component +{ + +} diff --git a/Content.Server/_NF/Speech/Components/GoblinAccentComponent.cs b/Content.Server/_NF/Speech/Components/GoblinAccentComponent.cs new file mode 100644 index 00000000000000..f5232494e92677 --- /dev/null +++ b/Content.Server/_NF/Speech/Components/GoblinAccentComponent.cs @@ -0,0 +1,8 @@ +using Content.Server._NF.Speech.EntitySystems; + +namespace Content.Server._NF.Speech.Components; + +[RegisterComponent] +[Access(typeof(GoblinAccentSystem))] +public sealed partial class GoblinAccentComponent : Component +{ } diff --git a/Content.Server/_NF/Speech/EntitySystems/GoblinAccentSystem.cs b/Content.Server/_NF/Speech/EntitySystems/GoblinAccentSystem.cs new file mode 100644 index 00000000000000..22dee8f1c2d2f0 --- /dev/null +++ b/Content.Server/_NF/Speech/EntitySystems/GoblinAccentSystem.cs @@ -0,0 +1,59 @@ +using Content.Server._NF.Speech.Components; +using Content.Server.Speech; +using Content.Server.Speech.EntitySystems; +using System.Text.RegularExpressions; + +namespace Content.Server._NF.Speech.EntitySystems; + +// The whole code is a copy of SouthernAccentSystem by UBlueberry (https://github.com/UBlueberry) +public sealed class GoblinAccentSystem : EntitySystem +{ + private static readonly Regex RegexIng = new(@"(in)g\b", RegexOptions.IgnoreCase); + private static readonly Regex RegexAnd = new(@"\b(an)d\b", RegexOptions.IgnoreCase); + private static readonly Regex RegexEr = new(@"([^\WpPfF])er\b"); // Keep "er", "per", "Per", "fer" and "Fer" + private static readonly Regex RegexErUpper = new(@"([^\WpPfF])ER\b"); // Keep "ER", "PER" and "FER" + private static readonly Regex RegexTwoLetterEr = new(@"(\w\w)er\b"); // Replace "..XXer", e.g. "super"->"supah" + private static readonly Regex RegexTwoLetterErUpper = new(@"(\w\w)ER\b"); // Replace "..XXER", e.g. "SUPER"->"SUPAH" + private static readonly Regex RegexErs = new(@"(\w)ers\b"); // Replace "..XXers", e.g. "fixers"->"fixas" + private static readonly Regex RegexErsUpper = new(@"(\w)ERS\b"); // Replace "..XXers", e.g. "fixers"->"fixas" + private static readonly Regex RegexTt = new(@"([aeiouy])tt", RegexOptions.IgnoreCase); + private static readonly Regex RegexOf = new(@"\b(o)f\b", RegexOptions.IgnoreCase); + private static readonly Regex RegexThe = new(@"\bthe\b"); + private static readonly Regex RegexTheUpper = new(@"\bTHE\b"); + private static readonly Regex RegexH = new(@"\bh", RegexOptions.IgnoreCase); + private static readonly Regex RegexSelf = new(@"self\b"); + private static readonly Regex RegexSelfUpper = new(@"SELF\b"); + + [Dependency] private readonly ReplacementAccentSystem _replacement = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnAccent); + } + + private void OnAccent(EntityUid uid, GoblinAccentComponent component, AccentGetEvent args) + { + var message = args.Message; + + message = _replacement.ApplyReplacements(message, "goblin_accent"); + + message = RegexIng.Replace(message, "$1'"); //ing->in', ING->IN' + message = RegexAnd.Replace(message, "$1'"); //and->an', AND->AN' + message = RegexEr.Replace(message, "$1ah"); + message = RegexErUpper.Replace(message, "$1AH"); + message = RegexTwoLetterEr.Replace(message, "$1ah"); + message = RegexTwoLetterErUpper.Replace(message, "$1AH"); + message = RegexErs.Replace(message, "$1as"); + message = RegexErsUpper.Replace(message, "$1AS"); + message = RegexTt.Replace(message, "$1'"); + message = RegexH.Replace(message, "'"); + message = RegexSelf.Replace(message, "sewf"); + message = RegexSelfUpper.Replace(message, "SEWF"); + message = RegexOf.Replace(message, "$1'"); //of->o', OF->O' + message = RegexThe.Replace(message, "da"); + message = RegexTheUpper.Replace(message, "DA"); + + args.Message = message; + } +}; diff --git a/Resources/Audio/_NF/Voice/Goblin/attributions.yml b/Resources/Audio/_NF/Voice/Goblin/attributions.yml new file mode 100644 index 00000000000000..86c8f267083278 --- /dev/null +++ b/Resources/Audio/_NF/Voice/Goblin/attributions.yml @@ -0,0 +1,48 @@ +- files: ["goblin-cackle-01.ogg, goblin-cackle-02.ogg, goblin-cackle-03.ogg"] + license: "CC0-1.0" + copyright: "Original file made by SnowFightStudios (https://freesound.org/people/SnowFightStudios/), edited (converted to mono, cropped, lowered amplitudes, exported as ogg) by erhardsteinhauer (discord/github)" + source: "https://freesound.org/people/SnowFightStudios/sounds/643664/" +- files: ["goblin-cackle-04.ogg, goblin-gasp-01.ogg, goblin-gasp-02.ogg, goblin-gasp-03.ogg"] + license: "CC0-1.0" + copyright: "Original file made by spookymodem (https://freesound.org/people/spookymodem/), edited (converted to mono, cropped, exported as ogg) by erhardsteinhauer (discord/github)" + source: "https://freesound.org/people/spookymodem/sounds/202096/" +- files: ["goblin-cackle-05.ogg"] + license: "CC-BY-4.0" + copyright: "Original file made by Nanakisan (https://freesound.org/people/Nanakisan/)" + source: "https://freesound.org/people/Nanakisan/sounds/253532/" +- files: ["goblin-scream-01.ogg"] + license: "CC0-1.0" + copyright: "Original file made by SnowFightStudios (https://freesound.org/people/SnowFightStudios/), edited (converted to mono, cropped, exported as ogg) by erhardsteinhauer (discord/github)" + source: "https://freesound.org/people/SnowFightStudios/sounds/643655/" +- files: ["goblin-scream-02.ogg, goblin-scream-03.ogg, goblin-scream-04.ogg"] + license: "CC0-1.0" + copyright: "Original file made by Duisterwho (https://freesound.org/people/Duisterwho/), edited (converted to mono, cropped, exported as ogg) by erhardsteinhauer (discord/github)" + source: "https://freesound.org/people/Duisterwho/sounds/643497/" +- files: ["goblin-cry-01.ogg, goblin-cry-02.ogg"] + license: "CC0-1.0" + copyright: "Original file made by SnowFightStudios (https://freesound.org/people/SnowFightStudios/), edited (converted to mono, cropped, exported as ogg) by erhardsteinhauer (discord/github)" + source: https://freesound.org/people/SnowFightStudios/sounds/643657/ +- files: ["goblin-mutter-01.ogg, goblin-mutter-02.ogg, goblin-mutter-03.ogg, goblin-mutter-04.ogg"] + license: "CC0-1.0" + copyright: "Original file made by Fenodyrie (https://freesound.org/people/Fenodyrie/), edited (converted to mono, lowered amplitudes, exported as ogg) by erhardsteinhauer (discord/github)" + source: https://freesound.org/people/Fenodyrie/sounds/565923/ +- files: ["goblin-hiss-01.ogg"] + license: "CC-BY-4.0" + copyright: "Original file made by LittleRobotSoundFactory (https://freesound.org/people/LittleRobotSoundFactory/), edited (converted to mono, exported as ogg) by erhardsteinhauer (discord/github)" + source: https://freesound.org/people/LittleRobotSoundFactory/sounds/270389/ +- files: ["goblin-throat-singing-01.ogg, goblin-throat-singing-02.ogg, goblin-throat-singing-03.ogg, goblin-throat-singing-04.ogg"] + license: "CC-BY-NC-4.0" + copyright: "Original file made by djgriffin (https://freesound.org/people/djgriffin/), edited (pitch adjusted, cropped, converted to mono, exported as ogg) by erhardsteinhauer (discord/github)" + source: https://freesound.org/people/djgriffin/sounds/21215/ +- files: ["goblin-throat-singing-05.ogg, goblin-throat-singing-06.ogg, goblin-throat-singing-07.ogg"] + license: "CC-BY-NC-4.0" + copyright: "Original file made by djgriffin (https://freesound.org/people/djgriffin/), edited (pitch adjusted, cropped, converted to mono, exported as ogg) by erhardsteinhauer (discord/github)" + source: https://freesound.org/people/djgriffin/sounds/21205/ +- files: ["goblin-throat-singing-08.ogg"] + license: "CC-BY-NC-4.0" + copyright: "Original file made by djgriffin (https://freesound.org/people/djgriffin/), edited (pitch adjusted, cropped, converted to mono, exported as ogg) by erhardsteinhauer (discord/github)" + source: https://freesound.org/people/djgriffin/sounds/21202/ +- files: ["goblin-deathgasp-01.ogg, goblin-deathgasp-02.ogg, goblin-deathgasp-03.ogg, goblin-deathgasp-04.ogg"] + license: "CC-BY-NC-4.0" + copyright: "Original file made by Fenodyrie (https://freesound.org/people/Fenodyrie/), edited (pitch adjusted, cropped, converted to mono, exported as ogg) by erhardsteinhauer (discord/github)" + source: https://freesound.org/people/Fenodyrie/sounds/565928/ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-cackle-01.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-cackle-01.ogg new file mode 100644 index 00000000000000..56bfd9115682e7 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-cackle-01.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-cackle-02.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-cackle-02.ogg new file mode 100644 index 00000000000000..5b56010b6b35a9 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-cackle-02.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-cackle-03.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-cackle-03.ogg new file mode 100644 index 00000000000000..c84ad8527badd4 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-cackle-03.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-cackle-04.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-cackle-04.ogg new file mode 100644 index 00000000000000..d607c86a7a5e7e Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-cackle-04.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-cackle-05.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-cackle-05.ogg new file mode 100644 index 00000000000000..fee25893c6403d Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-cackle-05.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-cry-01.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-cry-01.ogg new file mode 100644 index 00000000000000..a2fb7901674aa0 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-cry-01.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-cry-02.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-cry-02.ogg new file mode 100644 index 00000000000000..a6e765ef4872d2 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-cry-02.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-deathgasp-01.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-deathgasp-01.ogg new file mode 100644 index 00000000000000..a018fd0402cb9e Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-deathgasp-01.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-deathgasp-02.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-deathgasp-02.ogg new file mode 100644 index 00000000000000..6c479d2b9793ac Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-deathgasp-02.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-deathgasp-03.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-deathgasp-03.ogg new file mode 100644 index 00000000000000..38394ae0d8b45a Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-deathgasp-03.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-deathgasp-04.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-deathgasp-04.ogg new file mode 100644 index 00000000000000..42ffc4a4ae63a0 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-deathgasp-04.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-gasp-01.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-gasp-01.ogg new file mode 100644 index 00000000000000..12dabbf4ca9fd6 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-gasp-01.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-gasp-02.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-gasp-02.ogg new file mode 100644 index 00000000000000..9303b6fe586c8e Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-gasp-02.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-gasp-03.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-gasp-03.ogg new file mode 100644 index 00000000000000..573ee4dcf59432 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-gasp-03.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-hiss-01.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-hiss-01.ogg new file mode 100644 index 00000000000000..894e760bfabd1b Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-hiss-01.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-mutter-01.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-mutter-01.ogg new file mode 100644 index 00000000000000..b4fd1ba56bd63d Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-mutter-01.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-mutter-02.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-mutter-02.ogg new file mode 100644 index 00000000000000..e1d28586705b7b Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-mutter-02.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-mutter-03.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-mutter-03.ogg new file mode 100644 index 00000000000000..0ebecebb4ee5df Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-mutter-03.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-mutter-04.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-mutter-04.ogg new file mode 100644 index 00000000000000..6aadb84ee9f314 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-mutter-04.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-scream-01.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-scream-01.ogg new file mode 100644 index 00000000000000..d30730dd273c65 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-scream-01.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-scream-02.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-scream-02.ogg new file mode 100644 index 00000000000000..740e0d097339bf Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-scream-02.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-scream-03.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-scream-03.ogg new file mode 100644 index 00000000000000..84fe764d040065 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-scream-03.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-scream-04.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-scream-04.ogg new file mode 100644 index 00000000000000..f55d83810a93d6 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-scream-04.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-01.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-01.ogg new file mode 100644 index 00000000000000..f20946eb8312ea Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-01.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-02.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-02.ogg new file mode 100644 index 00000000000000..c2e4f7ade45fdd Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-02.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-03.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-03.ogg new file mode 100644 index 00000000000000..0673facf59d190 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-03.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-04.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-04.ogg new file mode 100644 index 00000000000000..4494de6d11f137 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-04.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-05.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-05.ogg new file mode 100644 index 00000000000000..730c48bd4d7dde Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-05.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-06.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-06.ogg new file mode 100644 index 00000000000000..7203084da48f4a Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-06.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-07.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-07.ogg new file mode 100644 index 00000000000000..89579237719a33 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-07.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-08.ogg b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-08.ogg new file mode 100644 index 00000000000000..e763876866f6c5 Binary files /dev/null and b/Resources/Audio/_NF/Voice/Goblin/goblin-throat-singing-08.ogg differ diff --git a/Resources/Audio/_NF/Voice/Goblin/license.txt b/Resources/Audio/_NF/Voice/Goblin/license.txt new file mode 100644 index 00000000000000..bb9daf7c9f27bb --- /dev/null +++ b/Resources/Audio/_NF/Voice/Goblin/license.txt @@ -0,0 +1,48 @@ +- files: ["goblin-cackle-01.ogg, goblin-cackle-02.ogg, goblin-cackle-03.ogg"] + license: "CC0-1.0" + copyright: "Original file made by SnowFightStudios (https://freesound.org/people/SnowFightStudios/), edited (converted to mono, cropped, lowered amplitudes, exported as ogg) by erhardsteinhauer (discord/github)" + source: "https://freesound.org/people/SnowFightStudios/sounds/643664/" +- files: ["goblin-cackle-04.ogg, goblin-gasp-01.ogg, goblin-gasp-02.ogg, goblin-gasp-03.ogg"] + license: "CC0-1.0" + copyright: "Original file made by spookymodem (https://freesound.org/people/spookymodem/), edited (converted to mono, cropped, exported as ogg) by erhardsteinhauer (discord/github)" + source: "https://freesound.org/people/spookymodem/sounds/202096/" +- files: ["goblin-cackle-05.ogg"] + license: "CC-BY-4.0" + copyright: "Original file made by Nanakisan (https://freesound.org/people/Nanakisan/)" + source: "https://freesound.org/people/Nanakisan/sounds/253532/" +- files: ["goblin-scream-01.ogg"] + license: "CC0-1.0" + copyright: "Original file made by SnowFightStudios (https://freesound.org/people/SnowFightStudios/), edited (converted to mono, cropped, exported as ogg) by erhardsteinhauer (discord/github)" + source: "https://freesound.org/people/SnowFightStudios/sounds/643655/" +- files: ["goblin-scream-02.ogg, goblin-scream-03.ogg, goblin-scream-04.ogg"] + license: "CC0-1.0" + copyright: "Original file made by Duisterwho (https://freesound.org/people/Duisterwho/), edited (converted to mono, cropped, exported as ogg) by erhardsteinhauer (discord/github)" + source: "https://freesound.org/people/Duisterwho/sounds/643497/" +- files: ["goblin-cry-01.ogg, goblin-cry-02.ogg"] + license: "CC0-1.0" + copyright: "Original file made by SnowFightStudios (https://freesound.org/people/SnowFightStudios/), edited (converted to mono, cropped, exported as ogg) by erhardsteinhauer (discord/github)" + source: https://freesound.org/people/SnowFightStudios/sounds/643657/ +- files: ["goblin-mutter-01.ogg, goblin-mutter-02.ogg, goblin-mutter-03.ogg, goblin-mutter-04.ogg"] + license: "CC0-1.0" + copyright: "Original file made by Fenodyrie (https://freesound.org/people/Fenodyrie/), edited (converted to mono, lowered amplitudes, exported as ogg) by erhardsteinhauer (discord/github)" + source: https://freesound.org/people/Fenodyrie/sounds/565923/ +- files: ["goblin-hiss-01.ogg"] + license: "CC-BY-4.0" + copyright: "Original file made by LittleRobotSoundFactory (https://freesound.org/people/LittleRobotSoundFactory/), edited (converted to mono, exported as ogg) by erhardsteinhauer (discord/github)" + source: https://freesound.org/people/LittleRobotSoundFactory/sounds/270389/ +- files: ["goblin-throat-singing-01.ogg, goblin-throat-singing-02.ogg, goblin-throat-singing-03.ogg, goblin-throat-singing-04.ogg"] + license: "CC-BY-NC-4.0" + copyright: "Original file made by djgriffin (https://freesound.org/people/djgriffin/), edited (pitch adjusted, cropped, converted to mono, exported as ogg) by erhardsteinhauer (discord/github)" + source: https://freesound.org/people/djgriffin/sounds/21215/ +- files: ["goblin-throat-singing-05.ogg, goblin-throat-singing-06.ogg, goblin-throat-singing-07.ogg"] + license: "CC-BY-NC-4.0" + copyright: "Original file made by djgriffin (https://freesound.org/people/djgriffin/), edited (pitch adjusted, cropped, converted to mono, exported as ogg) by erhardsteinhauer (discord/github)" + source: https://freesound.org/people/djgriffin/sounds/21205/ +- files: ["goblin-throat-singing-08.ogg"] + license: "CC-BY-NC-4.0" + copyright: "Original file made by djgriffin (https://freesound.org/people/djgriffin/), edited (pitch adjusted, cropped, converted to mono, exported as ogg) by erhardsteinhauer (discord/github)" + source: https://freesound.org/people/djgriffin/sounds/21202/ +- files: ["goblin-deathgasp-01.ogg, goblin-deathgasp-02.ogg, goblin-deathgasp-03.ogg, goblin-deathgasp-04.ogg"] + license: "CC-BY-NC-4.0" + copyright: "Original file made by Fenodyrie (https://freesound.org/people/Fenodyrie/), edited (pitch adjusted, cropped, converted to mono, exported as ogg) by erhardsteinhauer (discord/github)" + source: https://freesound.org/people/Fenodyrie/sounds/565928/ diff --git a/Resources/Locale/en-US/_Impstation/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/_Impstation/ghost/roles/ghost-role-component.ftl index 482f4322846734..0aaba39c1fe518 100644 --- a/Resources/Locale/en-US/_Impstation/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/en-US/_Impstation/ghost/roles/ghost-role-component.ftl @@ -29,3 +29,15 @@ ghost-role-information-luggage-description = You are The Luggage, a chest made o ghost-role-information-cargorilla-name = Cargorilla ghost-role-information-cargorilla-description = A "well" trained gorilla, assist Cargo by dragging around freight and making deliveries. + +ghost-role-information-goblin-stowaway-name = Goblin Stowaway +ghost-role-information-goblin-stowaway-description = You are Goblin. Your fellow Goblin is Goblin. Goblin must construct Goblinhome. + +ghost-role-information-nonantagonist-freeagent-goblin-stowaway = You are a [color=yellow][bold]Team Free Agent[/bold][/color] with all other Goblins. You are free to act as either antagonists or non-antagonists. + Your primary goal is to construct Goblinhome, a home for yourself and your people. [color=red]Harming the station would likely put that goal at risk.[/color] + + You don't remember any of your previous life, and you don't remember anything you learned as a ghost. + +ghost-role-information-goblin-knight-name = Sir Gollylad +ghost-role-information-goblin-knight-description = You are Sir Gollylad, the most gallant and pure-of-heart among the Goblin Knights. Your charge is someone aboard the station. You forget who, exactly, so... Anyone will do. Find someone, and protect them with your life. + diff --git a/Resources/Locale/en-US/_NF/accent/goblin_accent.ftl b/Resources/Locale/en-US/_NF/accent/goblin_accent.ftl new file mode 100644 index 00000000000000..8ea24875e9a4ef --- /dev/null +++ b/Resources/Locale/en-US/_NF/accent/goblin_accent.ftl @@ -0,0 +1,863 @@ +# a mix of cockney and cant (rogue/vagabond slang) +# cockney: https://www.eastlondonhistory.co.uk/history-east-end-cockney/ | https://voiceovertip.com/how-to-do-a-cockney-accent/ | examples: th -> f/v, tt -> ', er -> ah, -ing -> -in' +# cant: https://www.gutenberg.org/files/47018/47018-h/47018-h.htm + +accent-goblin-words-1 = a lot +accent-goblin-words-2 = airlock +accent-goblin-words-3 = airlocks +accent-goblin-words-4 = am +accent-goblin-words-5 = am not +accent-goblin-words-6 = an idea +accent-goblin-words-7 = antag +accent-goblin-words-8 = anything +accent-goblin-words-9 = are +accent-goblin-words-10 = are not +accent-goblin-words-11 = aren’t +accent-goblin-words-12 = arent +accent-goblin-words-13 = arrest +accent-goblin-words-14 = arrested +accent-goblin-words-15 = arresting +accent-goblin-words-16 = arrests +accent-goblin-words-17 = attack +accent-goblin-words-18 = attacked +accent-goblin-words-19 = attacking +accent-goblin-words-20 = attacks +accent-goblin-words-21 = bag +accent-goblin-words-22 = bags +accent-goblin-words-23 = bailiff +accent-goblin-words-24 = bailiffs +accent-goblin-words-25 = beat +accent-goblin-words-26 = beaten +accent-goblin-words-27 = beating +accent-goblin-words-28 = beats +accent-goblin-words-29 = beer +accent-goblin-words-30 = bocadillo +accent-goblin-words-31 = bolt +accent-goblin-words-32 = bolted +accent-goblin-words-33 = boot +accent-goblin-words-34 = boots +accent-goblin-words-35 = booze +accent-goblin-words-36 = bored +accent-goblin-words-37 = boring +accent-goblin-words-38 = bottle +accent-goblin-words-39 = bottles +accent-goblin-words-40 = boy +accent-goblin-words-41 = boys +accent-goblin-words-42 = brig +accent-goblin-words-43 = brother +accent-goblin-words-44 = brothers +accent-goblin-words-45 = bullshit +accent-goblin-words-46 = bullshitting +accent-goblin-words-47 = bus +accent-goblin-words-48 = captain +accent-goblin-words-49 = captains +accent-goblin-words-50 = cash +accent-goblin-words-51 = centcom +accent-goblin-words-52 = cheap +accent-goblin-words-53 = cheater +accent-goblin-words-54 = close +accent-goblin-words-55 = closed +accent-goblin-words-56 = closing +accent-goblin-words-57 = clothes +accent-goblin-words-58 = clown +accent-goblin-words-59 = clowns +accent-goblin-words-60 = command +accent-goblin-words-61 = corpse +accent-goblin-words-62 = crew +accent-goblin-words-63 = crewman +accent-goblin-words-64 = crewmember +accent-goblin-words-65 = crewmen +accent-goblin-words-66 = crime +accent-goblin-words-67 = crimes +accent-goblin-words-68 = crowbar +accent-goblin-words-69 = crowbars +accent-goblin-words-70 = cuff +accent-goblin-words-71 = cuffed +accent-goblin-words-72 = cuffing +accent-goblin-words-73 = cuffs +accent-goblin-words-74 = cut +accent-goblin-words-75 = cuts +accent-goblin-words-76 = cutting +accent-goblin-words-77 = dead +accent-goblin-words-78 = depot +accent-goblin-words-79 = depots +accent-goblin-words-80 = destroy +accent-goblin-words-81 = destroyed +accent-goblin-words-82 = destroying +accent-goblin-words-83 = diner +accent-goblin-words-84 = dock +accent-goblin-words-85 = docks +accent-goblin-words-86 = doctor +accent-goblin-words-87 = door +accent-goblin-words-88 = doors +accent-goblin-words-89 = drink +accent-goblin-words-90 = drinking +accent-goblin-words-91 = drinks +accent-goblin-words-92 = duffel +accent-goblin-words-93 = duffel bag +accent-goblin-words-94 = dwarf +accent-goblin-words-95 = dwarves +accent-goblin-words-96 = emitter +accent-goblin-words-97 = everything +accent-goblin-words-98 = experienced +accent-goblin-words-99 = fast +accent-goblin-words-100 = father +accent-goblin-words-101 = fathers +accent-goblin-words-102 = flies +accent-goblin-words-103 = fly +accent-goblin-words-104 = flying +accent-goblin-words-105 = follow +accent-goblin-words-106 = followed +accent-goblin-words-107 = following +accent-goblin-words-108 = follows +accent-goblin-words-109 = food +accent-goblin-words-110 = food ship +accent-goblin-words-111 = food ships +accent-goblin-words-112 = food shuttle +accent-goblin-words-113 = food shuttles +accent-goblin-words-114 = food truck +accent-goblin-words-115 = food trucks +accent-goblin-words-116 = fool +accent-goblin-words-117 = foolish +accent-goblin-words-118 = football +accent-goblin-words-119 = fucking +accent-goblin-words-120 = gave +accent-goblin-words-121 = give +accent-goblin-words-122 = gives +accent-goblin-words-123 = giving +accent-goblin-words-124 = going to +accent-goblin-words-125 = gonna +accent-goblin-words-126 = hammy +accent-goblin-words-127 = hamper +accent-goblin-words-128 = hampster +accent-goblin-words-129 = hampter +accent-goblin-words-130 = hamster +accent-goblin-words-131 = hand +accent-goblin-words-132 = handcuffs +accent-goblin-words-133 = harass +accent-goblin-words-134 = harasses +accent-goblin-words-135 = harassing +accent-goblin-words-136 = harassment +accent-goblin-words-137 = harbour +accent-goblin-words-138 = hard +accent-goblin-words-139 = has +accent-goblin-words-140 = has not +accent-goblin-words-141 = hasn’t +accent-goblin-words-142 = hasnt +accent-goblin-words-143 = have +accent-goblin-words-144 = have not +accent-goblin-words-145 = haven’t +accent-goblin-words-146 = havent +accent-goblin-words-147 = he +accent-goblin-words-148 = head +accent-goblin-words-149 = heal +accent-goblin-words-150 = healing +accent-goblin-words-151 = hear +accent-goblin-words-152 = heard +accent-goblin-words-153 = hearing +accent-goblin-words-154 = hears +accent-goblin-words-155 = heat +accent-goblin-words-156 = heaven +accent-goblin-words-157 = helix +accent-goblin-words-158 = hell +accent-goblin-words-159 = hellish +accent-goblin-words-160 = hello +accent-goblin-words-161 = helmet +accent-goblin-words-162 = her +accent-goblin-words-163 = heresy +accent-goblin-words-164 = heretical +accent-goblin-words-165 = hers +accent-goblin-words-166 = herself +accent-goblin-words-167 = hey +accent-goblin-words-168 = hi +accent-goblin-words-169 = hide +accent-goblin-words-170 = hideous +accent-goblin-words-171 = high +accent-goblin-words-172 = highly +accent-goblin-words-173 = him +accent-goblin-words-174 = himself +accent-goblin-words-175 = hint +accent-goblin-words-176 = hinting +accent-goblin-words-177 = hints +accent-goblin-words-178 = hire +accent-goblin-words-179 = hired +accent-goblin-words-180 = hires +accent-goblin-words-181 = hiring +accent-goblin-words-182 = his +accent-goblin-words-183 = hiss +accent-goblin-words-184 = hit +accent-goblin-words-185 = hold +accent-goblin-words-186 = holding +accent-goblin-words-187 = holly +accent-goblin-words-188 = honour +accent-goblin-words-189 = hope +accent-goblin-words-190 = horizon +accent-goblin-words-191 = horror +accent-goblin-words-192 = horrors +accent-goblin-words-193 = hose +accent-goblin-words-194 = hospital +accent-goblin-words-195 = hospitaller +accent-goblin-words-196 = hot +accent-goblin-words-197 = hothead +accent-goblin-words-198 = hotheaded +accent-goblin-words-199 = hotshot +accent-goblin-words-200 = how +accent-goblin-words-201 = however +accent-goblin-words-202 = human +accent-goblin-words-203 = humans +accent-goblin-words-204 = hurl +accent-goblin-words-205 = hurt +accent-goblin-words-206 = hurting +accent-goblin-words-207 = hush +accent-goblin-words-208 = ideas +accent-goblin-words-209 = idiot +accent-goblin-words-210 = in the know +accent-goblin-words-211 = in trouble +accent-goblin-words-212 = inexperienced +accent-goblin-words-213 = is +accent-goblin-words-214 = is not +accent-goblin-words-215 = isn’t +accent-goblin-words-216 = isnt +accent-goblin-words-217 = jailer +accent-goblin-words-218 = jailers +accent-goblin-words-219 = jest +accent-goblin-words-220 = jester +accent-goblin-words-221 = jesters +accent-goblin-words-222 = jests +accent-goblin-words-223 = kill +accent-goblin-words-224 = killed +accent-goblin-words-225 = killing +accent-goblin-words-226 = kills +accent-goblin-words-227 = know +accent-goblin-words-228 = knowing +accent-goblin-words-229 = knowledgeable +accent-goblin-words-230 = leg +accent-goblin-words-231 = legs +accent-goblin-words-232 = lemme +accent-goblin-words-233 = lie +accent-goblin-words-234 = lied +accent-goblin-words-235 = lies +accent-goblin-words-236 = little +accent-goblin-words-237 = look +accent-goblin-words-238 = looked +accent-goblin-words-239 = looking +accent-goblin-words-240 = looks +accent-goblin-words-241 = lying +accent-goblin-words-242 = man +accent-goblin-words-243 = McCargo +accent-goblin-words-244 = meat +accent-goblin-words-245 = medic +accent-goblin-words-246 = men +accent-goblin-words-247 = merc +accent-goblin-words-248 = mercenaries +accent-goblin-words-249 = mercenary +accent-goblin-words-250 = mercs +accent-goblin-words-251 = money +accent-goblin-words-252 = mother +accent-goblin-words-253 = mothers +accent-goblin-words-254 = mouth +accent-goblin-words-255 = moving +accent-goblin-words-256 = murder +accent-goblin-words-257 = murdered +accent-goblin-words-258 = murdering +accent-goblin-words-259 = myself +accent-goblin-words-260 = neat +accent-goblin-words-261 = neato +accent-goblin-words-262 = nfsd +accent-goblin-words-263 = nice +accent-goblin-words-264 = no sense +accent-goblin-words-265 = nonsense +accent-goblin-words-266 = nonsensical +accent-goblin-words-267 = nsfd +accent-goblin-words-268 = officer +accent-goblin-words-269 = paper +accent-goblin-words-270 = papers +accent-goblin-words-271 = pay +accent-goblin-words-272 = person +accent-goblin-words-273 = pilot +accent-goblin-words-274 = pirate +accent-goblin-words-275 = pirates +accent-goblin-words-276 = poor +accent-goblin-words-277 = prison +accent-goblin-words-278 = prowler +accent-goblin-words-279 = quickly +accent-goblin-words-280 = reporter +accent-goblin-words-281 = reporters +accent-goblin-words-282 = restaurant +accent-goblin-words-283 = rich +accent-goblin-words-284 = rob +accent-goblin-words-285 = robbed +accent-goblin-words-286 = run +accent-goblin-words-287 = saw +accent-goblin-words-288 = scientific +accent-goblin-words-289 = scientist +accent-goblin-words-290 = scientists +accent-goblin-words-291 = sec +accent-goblin-words-292 = seccie +accent-goblin-words-293 = security +accent-goblin-words-294 = see +accent-goblin-words-295 = seeing +accent-goblin-words-296 = seen +accent-goblin-words-297 = shit +accent-goblin-words-298 = shitter +accent-goblin-words-299 = shoe +accent-goblin-words-300 = shoes +accent-goblin-words-301 = shut up +accent-goblin-words-302 = shut your mouth +accent-goblin-words-303 = shuttle +accent-goblin-words-304 = shuttles +accent-goblin-words-305 = sleep +accent-goblin-words-306 = sleeping +accent-goblin-words-307 = slime +accent-goblin-words-308 = slimes +accent-goblin-words-309 = smart +accent-goblin-words-310 = smoke +accent-goblin-words-311 = smoked +accent-goblin-words-312 = smokes +accent-goblin-words-313 = smoking +accent-goblin-words-314 = soccer +accent-goblin-words-315 = something +accent-goblin-words-316 = speak +accent-goblin-words-317 = speaking +accent-goblin-words-318 = spesos +accent-goblin-words-319 = spoke +accent-goblin-words-320 = steal +accent-goblin-words-321 = stealing +accent-goblin-words-322 = stole +accent-goblin-words-323 = stolen +accent-goblin-words-324 = stop +accent-goblin-words-325 = stupid +accent-goblin-words-326 = syndi +accent-goblin-words-327 = syndicate +accent-goblin-words-328 = syndicates +accent-goblin-words-329 = syndie +accent-goblin-words-330 = syndies +accent-goblin-words-331 = syndis +accent-goblin-words-332 = take +accent-goblin-words-333 = takes +accent-goblin-words-334 = taking +accent-goblin-words-335 = talk +accent-goblin-words-336 = talking +accent-goblin-words-337 = talks +accent-goblin-words-338 = templar +accent-goblin-words-339 = theft +accent-goblin-words-340 = thief +accent-goblin-words-341 = thieving +accent-goblin-words-342 = thing +accent-goblin-words-343 = think +accent-goblin-words-344 = thinking +accent-goblin-words-345 = thought +accent-goblin-words-346 = thoughts +accent-goblin-words-347 = tobacco +accent-goblin-words-348 = took +accent-goblin-words-349 = trick +accent-goblin-words-350 = tricked +accent-goblin-words-351 = tricky +accent-goblin-words-352 = warden +accent-goblin-words-353 = wardens +accent-goblin-words-354 = watch +accent-goblin-words-355 = watched +accent-goblin-words-356 = watches +accent-goblin-words-357 = watching +accent-goblin-words-358 = water +accent-goblin-words-359 = whether +accent-goblin-words-360 = with +accent-goblin-words-361 = without +accent-goblin-words-362 = write +accent-goblin-words-363 = writes +accent-goblin-words-364 = writing +accent-goblin-words-365 = written +accent-goblin-words-366 = wrote +accent-goblin-words-367 = this +accent-goblin-words-368 = that +accent-goblin-words-369 = then +accent-goblin-words-370 = them +accent-goblin-words-371 = they +accent-goblin-words-372 = those +accent-goblin-words-373 = you +accent-goblin-words-374 = there +accent-goblin-words-375 = of course +accent-goblin-words-376 = other +accent-goblin-words-377 = others +accent-goblin-words-378 = otherwise +accent-goblin-words-379 = you’re +accent-goblin-words-380 = you’ll +accent-goblin-words-381 = you’ve +accent-goblin-words-382 = your +accent-goblin-words-383 = what +accent-goblin-words-384 = how +accent-goblin-words-385 = themselves +accent-goblin-words-386 = themself +accent-goblin-words-387 = through +accent-goblin-words-388 = isn’t it? +accent-goblin-words-389 = just +accent-goblin-words-390 = knows +accent-goblin-words-391 = either +accent-goblin-words-392 = my +accent-goblin-words-393 = NFSD +accent-goblin-words-394 = rather +accent-goblin-words-395 = police +accent-goblin-words-396 = not edible +accent-goblin-words-397 = inedible +accent-goblin-words-398 = knock down +accent-goblin-words-399 = knocked down +accent-goblin-words-400 = knocking down +accent-goblin-words-401 = knocks down +accent-goblin-words-402 = story +accent-goblin-words-403 = stories +accent-goblin-words-404 = paramedic +accent-goblin-words-405 = doctors +accent-goblin-words-406 = medics +accent-goblin-words-407 = paramedics +accent-goblin-words-408 = quarters +accent-goblin-words-409 = these +accent-goblin-words-410 = length +accent-goblin-words-411 = sleeps +accent-goblin-words-412 = slept +accent-goblin-words-413 = bed +accent-goblin-words-414 = medical +accent-goblin-words-415 = room +accent-goblin-words-416 = rooms +accent-goblin-words-417 = knew +accent-goblin-words-418 = show +accent-goblin-words-419 = shows +accent-goblin-words-420 = showing +accent-goblin-words-421 = showed +accent-goblin-words-422 = shown +accent-goblin-words-423 = beds +accent-goblin-words-424 = who +accent-goblin-words-425 = whoever +accent-goblin-words-426 = whom +accent-goblin-words-427 = whomever +accent-goblin-words-428 = whatever +accent-goblin-words-429 = strength + +accent-goblin-words-replace-1 = swag +accent-goblin-words-replace-2 = jiggah +accent-goblin-words-replace-3 = jiggahs +accent-goblin-words-replace-4 = be +accent-goblin-words-replace-5 = ain’t +accent-goblin-words-replace-6 = wrinkle +accent-goblin-words-replace-7 = cur +accent-goblin-words-replace-8 = anyfin’ +accent-goblin-words-replace-9 = be +accent-goblin-words-replace-10 = ain’t +accent-goblin-words-replace-11 = ain’t +accent-goblin-words-replace-12 = ain’t +accent-goblin-words-replace-13 = snaffle +accent-goblin-words-replace-14 = snaffled +accent-goblin-words-replace-15 = snafflin’ +accent-goblin-words-replace-16 = snaffles +accent-goblin-words-replace-17 = frummagemm +accent-goblin-words-replace-18 = frummagemmed +accent-goblin-words-replace-19 = frummagemmin' +accent-goblin-words-replace-20 = frummagemms +accent-goblin-words-replace-21 = poke +accent-goblin-words-replace-22 = pokes +accent-goblin-words-replace-23 = jiggah-dubbah +accent-goblin-words-replace-24 = jiggah-dubbahs +accent-goblin-words-replace-25 = slog +accent-goblin-words-replace-26 = slogged +accent-goblin-words-replace-27 = sloggin' +accent-goblin-words-replace-28 = slogs +accent-goblin-words-replace-29 = lush +accent-goblin-words-replace-30 = grubbin’-ken +accent-goblin-words-replace-31 = slour +accent-goblin-words-replace-32 = sloured +accent-goblin-words-replace-33 = stampah +accent-goblin-words-replace-34 = stampahs +accent-goblin-words-replace-35 = lush +accent-goblin-words-replace-36 = 'um-drummed +accent-goblin-words-replace-37 = 'um-drum +accent-goblin-words-replace-38 = bo’le +accent-goblin-words-replace-39 = bo’les +accent-goblin-words-replace-40 = article +accent-goblin-words-replace-41 = articles +accent-goblin-words-replace-42 = quod +accent-goblin-words-replace-43 = brovvah +accent-goblin-words-replace-44 = brovvas +accent-goblin-words-replace-45 = fudge +accent-goblin-words-replace-46 = fudgin’ +accent-goblin-words-replace-47 = ra’lah +accent-goblin-words-replace-48 = bossman +accent-goblin-words-replace-49 = bossmen +accent-goblin-words-replace-50 = dimmocks +accent-goblin-words-replace-51 = tufts +accent-goblin-words-replace-52 = slop +accent-goblin-words-replace-53 = rook +accent-goblin-words-replace-54 = dub +accent-goblin-words-replace-55 = dubbed +accent-goblin-words-replace-56 = dubbin’ +accent-goblin-words-replace-57 = dunnage +accent-goblin-words-replace-58 = lark +accent-goblin-words-replace-59 = larks +accent-goblin-words-replace-60 = tufts +accent-goblin-words-replace-61 = croakah +accent-goblin-words-replace-62 = laggah +accent-goblin-words-replace-63 = jack tar +accent-goblin-words-replace-64 = laggah +accent-goblin-words-replace-65 = jack tars +accent-goblin-words-replace-66 = job +accent-goblin-words-replace-67 = jobs +accent-goblin-words-replace-68 = jilt +accent-goblin-words-replace-69 = jilts +accent-goblin-words-replace-70 = bracelet +accent-goblin-words-replace-71 = braceleted +accent-goblin-words-replace-72 = bracele’in’ +accent-goblin-words-replace-73 = bracelets +accent-goblin-words-replace-74 = chive +accent-goblin-words-replace-75 = chives +accent-goblin-words-replace-76 = chivin’ +accent-goblin-words-replace-77 = croakah +accent-goblin-words-replace-78 = fence +accent-goblin-words-replace-79 = fences +accent-goblin-words-replace-80 = coopah +accent-goblin-words-replace-81 = coopah'd +accent-goblin-words-replace-82 = coopin’ +accent-goblin-words-replace-83 = grubbin’-ken +accent-goblin-words-replace-84 = jiggah +accent-goblin-words-replace-85 = jiggahs +accent-goblin-words-replace-86 = sawbone +accent-goblin-words-replace-87 = jiggah +accent-goblin-words-replace-88 = jiggahs +accent-goblin-words-replace-89 = bub +accent-goblin-words-replace-90 = bubbin’ +accent-goblin-words-replace-91 = bubs +accent-goblin-words-replace-92 = trap +accent-goblin-words-replace-93 = trap +accent-goblin-words-replace-94 = stunty +accent-goblin-words-replace-95 = stunties +accent-goblin-words-replace-96 = emi’ah +accent-goblin-words-replace-97 = everyfin’ +accent-goblin-words-replace-98 = baked +accent-goblin-words-replace-99 = dashin' +accent-goblin-words-replace-100 = favah +accent-goblin-words-replace-101 = favahs +accent-goblin-words-replace-102 = drags +accent-goblin-words-replace-103 = drag +accent-goblin-words-replace-104 = draggin’ +accent-goblin-words-replace-105 = dog +accent-goblin-words-replace-106 = dogged +accent-goblin-words-replace-107 = doggin’ +accent-goblin-words-replace-108 = dogs +accent-goblin-words-replace-109 = grub +accent-goblin-words-replace-110 = grubbin’-ken +accent-goblin-words-replace-111 = grubbin’-ken +accent-goblin-words-replace-112 = grubbin’-ken +accent-goblin-words-replace-113 = grubbin’-ken +accent-goblin-words-replace-114 = grubbin’-ken +accent-goblin-words-replace-115 = grubbin’-ken +accent-goblin-words-replace-116 = cake +accent-goblin-words-replace-117 = cranky +accent-goblin-words-replace-118 = soccer +accent-goblin-words-replace-119 = fuckin’ +accent-goblin-words-replace-120 = bunged +accent-goblin-words-replace-121 = bung +accent-goblin-words-replace-122 = bungs +accent-goblin-words-replace-123 = bungin’ +accent-goblin-words-replace-124 = goin' to +accent-goblin-words-replace-125 = goin' to +accent-goblin-words-replace-126 = li’le snack +accent-goblin-words-replace-127 = 'amper +accent-goblin-words-replace-128 = li’le snack +accent-goblin-words-replace-129 = li’le snack +accent-goblin-words-replace-130 = li’le snack +accent-goblin-words-replace-131 = 'and +accent-goblin-words-replace-132 = darbies +accent-goblin-words-replace-133 = 'arass +accent-goblin-words-replace-134 = 'arasses +accent-goblin-words-replace-135 = 'arassin’ +accent-goblin-words-replace-136 = 'arassment +accent-goblin-words-replace-137 = 'arbour +accent-goblin-words-replace-138 = 'ard +accent-goblin-words-replace-139 = 'as +accent-goblin-words-replace-140 = 'as not +accent-goblin-words-replace-141 = ain’t +accent-goblin-words-replace-142 = ain’t +accent-goblin-words-replace-143 = 'ave +accent-goblin-words-replace-144 = 'ave not +accent-goblin-words-replace-145 = ain’t +accent-goblin-words-replace-146 = ain’t +accent-goblin-words-replace-147 = 'e +accent-goblin-words-replace-148 = 'ead +accent-goblin-words-replace-149 = 'eal +accent-goblin-words-replace-150 = 'ealin’ +accent-goblin-words-replace-151 = 'ear +accent-goblin-words-replace-152 = 'eard +accent-goblin-words-replace-153 = 'earin’ +accent-goblin-words-replace-154 = 'ears +accent-goblin-words-replace-155 = 'eat +accent-goblin-words-replace-156 = 'eaven +accent-goblin-words-replace-157 = 'elix +accent-goblin-words-replace-158 = 'ell +accent-goblin-words-replace-159 = 'ellish +accent-goblin-words-replace-160 = 'ello +accent-goblin-words-replace-161 = 'elmet +accent-goblin-words-replace-162 = 'er +accent-goblin-words-replace-163 = 'eresy +accent-goblin-words-replace-164 = 'eretical +accent-goblin-words-replace-165 = 'ers +accent-goblin-words-replace-166 = 'ersewf +accent-goblin-words-replace-167 = oi +accent-goblin-words-replace-168 = oi +accent-goblin-words-replace-169 = 'ide +accent-goblin-words-replace-170 = 'ideous +accent-goblin-words-replace-171 = 'igh +accent-goblin-words-replace-172 = 'ighly +accent-goblin-words-replace-173 = 'im +accent-goblin-words-replace-174 = 'imsewf +accent-goblin-words-replace-175 = 'int +accent-goblin-words-replace-176 = 'intin’ +accent-goblin-words-replace-177 = 'ints +accent-goblin-words-replace-178 = 'ire +accent-goblin-words-replace-179 = 'ired +accent-goblin-words-replace-180 = 'ires +accent-goblin-words-replace-181 = 'irin’ +accent-goblin-words-replace-182 = 'is +accent-goblin-words-replace-183 = 'iss +accent-goblin-words-replace-184 = 'it +accent-goblin-words-replace-185 = 'old +accent-goblin-words-replace-186 = 'oldin’ +accent-goblin-words-replace-187 = 'olly +accent-goblin-words-replace-188 = 'onour +accent-goblin-words-replace-189 = 'ope +accent-goblin-words-replace-190 = 'orizon +accent-goblin-words-replace-191 = 'orror +accent-goblin-words-replace-192 = 'orrors +accent-goblin-words-replace-193 = 'ose +accent-goblin-words-replace-194 = 'ospital +accent-goblin-words-replace-195 = 'ospitallah +accent-goblin-words-replace-196 = 'ot +accent-goblin-words-replace-197 = 'ot'ead +accent-goblin-words-replace-198 = 'ot'eaded +accent-goblin-words-replace-199 = 'otshot +accent-goblin-words-replace-200 = 'aw +accent-goblin-words-replace-201 = 'awevah +accent-goblin-words-replace-202 = 'uman +accent-goblin-words-replace-203 = 'umans +accent-goblin-words-replace-204 = 'url +accent-goblin-words-replace-205 = 'urt +accent-goblin-words-replace-206 = 'urtin’ +accent-goblin-words-replace-207 = 'ush +accent-goblin-words-replace-208 = wrinkles +accent-goblin-words-replace-209 = natural +accent-goblin-words-replace-210 = wide awake +accent-goblin-words-replace-211 = in for it +accent-goblin-words-replace-212 = half baked +accent-goblin-words-replace-213 = be +accent-goblin-words-replace-214 = ain’t +accent-goblin-words-replace-215 = ain’t +accent-goblin-words-replace-216 = ain’t +accent-goblin-words-replace-217 = jiggah-dubbah +accent-goblin-words-replace-218 = jiggah-dubbahs +accent-goblin-words-replace-219 = skit +accent-goblin-words-replace-220 = skit +accent-goblin-words-replace-221 = skits +accent-goblin-words-replace-222 = skits +accent-goblin-words-replace-223 = burke +accent-goblin-words-replace-224 = burked +accent-goblin-words-replace-225 = burkin’ +accent-goblin-words-replace-226 = burks +accent-goblin-words-replace-227 = savey +accent-goblin-words-replace-228 = savey +accent-goblin-words-replace-229 = wide awake +accent-goblin-words-replace-230 = stampe +accent-goblin-words-replace-231 = stampes +accent-goblin-words-replace-232 = let me +accent-goblin-words-replace-233 = flam +accent-goblin-words-replace-234 = flamed +accent-goblin-words-replace-235 = flams +accent-goblin-words-replace-236 = li’le +accent-goblin-words-replace-237 = ogle +accent-goblin-words-replace-238 = ogled +accent-goblin-words-replace-239 = oglin’ +accent-goblin-words-replace-240 = ogles +accent-goblin-words-replace-241 = flamin’ +accent-goblin-words-replace-242 = article +accent-goblin-words-replace-243 = grubbin’-ken +accent-goblin-words-replace-244 = prog +accent-goblin-words-replace-245 = crocus +accent-goblin-words-replace-246 = articles +accent-goblin-words-replace-247 = blade +accent-goblin-words-replace-248 = blades +accent-goblin-words-replace-249 = blade +accent-goblin-words-replace-250 = blades +accent-goblin-words-replace-251 = dimmocks +accent-goblin-words-replace-252 = movah +accent-goblin-words-replace-253 = movahs +accent-goblin-words-replace-254 = gob +accent-goblin-words-replace-255 = movin’ +accent-goblin-words-replace-256 = burke +accent-goblin-words-replace-257 = burked +accent-goblin-words-replace-258 = burkin’ +accent-goblin-words-replace-259 = mesewf +accent-goblin-words-replace-260 = dimbah +accent-goblin-words-replace-261 = dimbah +accent-goblin-words-replace-262 = coppas +accent-goblin-words-replace-263 = rootah +accent-goblin-words-replace-264 = fudge +accent-goblin-words-replace-265 = fudge +accent-goblin-words-replace-266 = fudge +accent-goblin-words-replace-267 = coppas +accent-goblin-words-replace-268 = coppah +accent-goblin-words-replace-269 = linendrapah +accent-goblin-words-replace-270 = linendrapas +accent-goblin-words-replace-271 = bit +accent-goblin-words-replace-272 = bloke +accent-goblin-words-replace-273 = jarvey +accent-goblin-words-replace-274 = rampsman +accent-goblin-words-replace-275 = rampsmen +accent-goblin-words-replace-276 = quisby +accent-goblin-words-replace-277 = lock-up +accent-goblin-words-replace-278 = prowlah +accent-goblin-words-replace-279 = winkin’ +accent-goblin-words-replace-280 = penny-a-linah +accent-goblin-words-replace-281 = penny-a-linas +accent-goblin-words-replace-282 = grubbin’-ken +accent-goblin-words-replace-283 = flush +accent-goblin-words-replace-284 = fylche +accent-goblin-words-replace-285 = fylched +accent-goblin-words-replace-286 = pike +accent-goblin-words-replace-287 = staged +accent-goblin-words-replace-288 = rumgumptious +accent-goblin-words-replace-289 = gnostic +accent-goblin-words-replace-290 = gnostics +accent-goblin-words-replace-291 = coppah +accent-goblin-words-replace-292 = beak +accent-goblin-words-replace-293 = coppah +accent-goblin-words-replace-294 = stags +accent-goblin-words-replace-295 = staggin’ +accent-goblin-words-replace-296 = staged +accent-goblin-words-replace-297 = dung +accent-goblin-words-replace-298 = dungah +accent-goblin-words-replace-299 = stampah +accent-goblin-words-replace-300 = stampahs +accent-goblin-words-replace-301 = avast +accent-goblin-words-replace-302 = avast ya gob +accent-goblin-words-replace-303 = shu’le +accent-goblin-words-replace-304 = shu’les +accent-goblin-words-replace-305 = doss +accent-goblin-words-replace-306 = dossin’ +accent-goblin-words-replace-307 = ooze +accent-goblin-words-replace-308 = oozes +accent-goblin-words-replace-309 = dimbah-dambah +accent-goblin-words-replace-310 = blow a cloud +accent-goblin-words-replace-311 = blew a clowd +accent-goblin-words-replace-312 = blows a cloud +accent-goblin-words-replace-313 = blowin’ a cloud +accent-goblin-words-replace-314 = football +accent-goblin-words-replace-315 = somefin' +accent-goblin-words-replace-316 = pa'ah +accent-goblin-words-replace-317 = pa'ahin’ +accent-goblin-words-replace-318 = dimmocks +accent-goblin-words-replace-319 = pa'ed +accent-goblin-words-replace-320 = fylche +accent-goblin-words-replace-321 = fylchin’ +accent-goblin-words-replace-322 = fylched +accent-goblin-words-replace-323 = fylched +accent-goblin-words-replace-324 = avast +accent-goblin-words-replace-325 = duffah +accent-goblin-words-replace-326 = lobstah +accent-goblin-words-replace-327 = lobstah +accent-goblin-words-replace-328 = lobstas +accent-goblin-words-replace-329 = lobstah +accent-goblin-words-replace-330 = lobstas +accent-goblin-words-replace-331 = lobstas +accent-goblin-words-replace-332 = knap +accent-goblin-words-replace-333 = knaps +accent-goblin-words-replace-334 = knappin' +accent-goblin-words-replace-335 = gab +accent-goblin-words-replace-336 = gabbin' +accent-goblin-words-replace-337 = gabs +accent-goblin-words-replace-338 = templah +accent-goblin-words-replace-339 = fylchin’ +accent-goblin-words-replace-340 = fylchah +accent-goblin-words-replace-341 = fylchin’ +accent-goblin-words-replace-342 = fin’ +accent-goblin-words-replace-343 = fink +accent-goblin-words-replace-344 = finkin’ +accent-goblin-words-replace-345 = fought +accent-goblin-words-replace-346 = foughts +accent-goblin-words-replace-347 = fogus +accent-goblin-words-replace-348 = knapped +accent-goblin-words-replace-349 = rig +accent-goblin-words-replace-350 = rigged +accent-goblin-words-replace-351 = riggy +accent-goblin-words-replace-352 = jiggah-dubbah +accent-goblin-words-replace-353 = jiggah-dubbahs +accent-goblin-words-replace-354 = tout +accent-goblin-words-replace-355 = touted +accent-goblin-words-replace-356 = touts +accent-goblin-words-replace-357 = toutin’ +accent-goblin-words-replace-358 = wo’ah +accent-goblin-words-replace-359 = wevah +accent-goblin-words-replace-360 = wiv +accent-goblin-words-replace-361 = wivout +accent-goblin-words-replace-362 = screeve +accent-goblin-words-replace-363 = screeves +accent-goblin-words-replace-364 = screevin’ +accent-goblin-words-replace-365 = screeved +accent-goblin-words-replace-366 = screeved +accent-goblin-words-replace-367 = dis +accent-goblin-words-replace-368 = dat +accent-goblin-words-replace-369 = den +accent-goblin-words-replace-370 = 'em +accent-goblin-words-replace-371 = dey +accent-goblin-words-replace-372 = dose +accent-goblin-words-replace-373 = ya +accent-goblin-words-replace-374 = dere +accent-goblin-words-replace-375 = course +accent-goblin-words-replace-376 = uvver +accent-goblin-words-replace-377 = uvvers +accent-goblin-words-replace-378 = uvverwise +accent-goblin-words-replace-379 = yoo’re +accent-goblin-words-replace-380 = yoo’ll +accent-goblin-words-replace-381 = yoo’ve +accent-goblin-words-replace-382 = yer +accent-goblin-words-replace-383 = wot +accent-goblin-words-replace-384 = 'ow +accent-goblin-words-replace-385 = 'emselves +accent-goblin-words-replace-386 = 'emself +accent-goblin-words-replace-387 = froo +accent-goblin-words-replace-388 = innit? +accent-goblin-words-replace-389 = jus’ +accent-goblin-words-replace-390 = clocks +accent-goblin-words-replace-391 = eivvah +accent-goblin-words-replace-392 = me +accent-goblin-words-replace-393 = coppas +accent-goblin-words-replace-394 = ravvah +accent-goblin-words-replace-395 = coppas +accent-goblin-words-replace-396 = cag-mag +accent-goblin-words-replace-397 = cag-mag +accent-goblin-words-replace-398 = floor +accent-goblin-words-replace-399 = floored +accent-goblin-words-replace-400 = floorin’ +accent-goblin-words-replace-401 = floors +accent-goblin-words-replace-402 = flim flam +accent-goblin-words-replace-403 = flim flams +accent-goblin-words-replace-404 = gargle +accent-goblin-words-replace-405 = sawbones +accent-goblin-words-replace-406 = crocuses +accent-goblin-words-replace-407 = gargles +accent-goblin-words-replace-408 = crib +accent-goblin-words-replace-409 = dese +accent-goblin-words-replace-410 = lenf +accent-goblin-words-replace-411 = dosses +accent-goblin-words-replace-412 = dossed +accent-goblin-words-replace-413 = perch +accent-goblin-words-replace-414 = crocus +accent-goblin-words-replace-415 = crib +accent-goblin-words-replace-416 = cribs +accent-goblin-words-replace-417 = clocked +accent-goblin-words-replace-418 = flash +accent-goblin-words-replace-419 = flashes +accent-goblin-words-replace-420 = flashin’ +accent-goblin-words-replace-421 = flashed +accent-goblin-words-replace-422 = flashed +accent-goblin-words-replace-423 = perches +accent-goblin-words-replace-424 = 'oo +accent-goblin-words-replace-425 = 'ooevah +accent-goblin-words-replace-426 = 'oom +accent-goblin-words-replace-427 = 'oomevah +accent-goblin-words-replace-428 = wotevah +accent-goblin-words-replace-429 = strenf diff --git a/Resources/Locale/en-US/_NF/chat/emotes.ftl b/Resources/Locale/en-US/_NF/chat/emotes.ftl new file mode 100644 index 00000000000000..0dad627158d5a3 --- /dev/null +++ b/Resources/Locale/en-US/_NF/chat/emotes.ftl @@ -0,0 +1,9 @@ +# Names +chat-emote-name-goblin-muttering = Mutter +chat-emote-name-goblin-throat-singing = Sing + +# Message +chat-emote-msg-goblin-muttering = mutters. +chat-emote-msg-goblin-throat-singing = sings. +chat-emote-name-belch = Belch +chat-emote-msg-belch = belches. diff --git a/Resources/Locale/en-US/_NF/chat/managers/chat_manager.ftl b/Resources/Locale/en-US/_NF/chat/managers/chat_manager.ftl new file mode 100644 index 00000000000000..8c478c1c859334 --- /dev/null +++ b/Resources/Locale/en-US/_NF/chat/managers/chat_manager.ftl @@ -0,0 +1,6 @@ +chat-speech-verb-name-goblin = Goblin +chat-speech-verb-goblin-1 = jabbers +chat-speech-verb-goblin-2 = vokers +chat-speech-verb-goblin-3 = blurts out +chat-speech-verb-goblin-4 = patters +chat-speech-verb-goblin-5 = cuts diff --git a/Resources/Locale/en-US/_NF/markings/goblin_markings.ftl b/Resources/Locale/en-US/_NF/markings/goblin_markings.ftl new file mode 100644 index 00000000000000..3f883be9b5e5f3 --- /dev/null +++ b/Resources/Locale/en-US/_NF/markings/goblin_markings.ftl @@ -0,0 +1,32 @@ +# goblin ears +marking-GoblinEarsBasic = Basic Ears +marking-GoblinEarsBasic-goblin_ears_default = Basic Ears + +marking-GoblinEarsBasicAlt = Basic Ears (Alt) +marking-GoblinEarsBasicAlt-goblin_ears_default_alt = Basic Ears (Alt) + +marking-GoblinEarsLong01 = Long Ears (Tips Down) +marking-GoblinEarsLong01-goblin_ears_long_01 = Long Ears (Tips Down) + +marking-GoblinEarsLong02 = Long Ears (Tips Up) +marking-GoblinEarsLong02-goblin_ears_long_02 = Long Ears (Tips Up) + +# goblin noses +marking-GoblinNoseBasic = Basic Nose +marking-GoblinNoseBasic-goblin_nose_default = Basic Nose + +marking-GoblinNoseLong = Long Nose +marking-GoblinNoseLong-goblin_nose_long = Long Nose + +marking-GoblinNoseCrooked = Crooked Nose +marking-GoblinNoseCrooked-goblin_nose_crooked = Crooked Nose + +# goblin tusks +marking-GoblinTusksBasic = No Tusks +marking-GoblinTusksBasic-goblin_tusks_none = No Tusks + +marking-GoblinTusksSmall = Small Tusks +marking-GoblinTusksSmall-goblin_tusks_small = Small Tusks + +marking-GoblinTusksBig = Long Tusks +marking-GoblinTusksBig-goblin_tusks_big = Long Tusks diff --git a/Resources/Locale/en-US/_NF/metabolism/metabolism-groups.ftl b/Resources/Locale/en-US/_NF/metabolism/metabolism-groups.ftl new file mode 100644 index 00000000000000..af1fb19a2a48a4 --- /dev/null +++ b/Resources/Locale/en-US/_NF/metabolism/metabolism-groups.ftl @@ -0,0 +1 @@ +metabolism-group-cryogenic = Cryogenic diff --git a/Resources/Locale/en-US/_NF/metabolism/metabolizer-types.ftl b/Resources/Locale/en-US/_NF/metabolism/metabolizer-types.ftl new file mode 100644 index 00000000000000..540022472e6257 --- /dev/null +++ b/Resources/Locale/en-US/_NF/metabolism/metabolizer-types.ftl @@ -0,0 +1 @@ +metabolizer-type-goblin = Goblin diff --git a/Resources/Locale/en-US/_NF/reagents/meta/biological.ftl b/Resources/Locale/en-US/_NF/reagents/meta/biological.ftl new file mode 100644 index 00000000000000..c5acfe23ef2307 --- /dev/null +++ b/Resources/Locale/en-US/_NF/reagents/meta/biological.ftl @@ -0,0 +1,3 @@ + +reagent-name-goblin-blood = goblin blood +reagent-desc-goblin-blood = Liquid as thick as clotting syrup that clings to the edges of a jam jar. The smell is a pungent cocktail of metal and decay. Why would it make you think about jam? diff --git a/Resources/Locale/en-US/_NF/species/species.ftl b/Resources/Locale/en-US/_NF/species/species.ftl new file mode 100644 index 00000000000000..5eee9404d903fe --- /dev/null +++ b/Resources/Locale/en-US/_NF/species/species.ftl @@ -0,0 +1,3 @@ +## Species Names + +species-name-goblin = Goblin \ No newline at end of file diff --git a/Resources/Locale/en-US/_NF/traits/traits.ftl b/Resources/Locale/en-US/_NF/traits/traits.ftl new file mode 100644 index 00000000000000..af0ecbd9df484e --- /dev/null +++ b/Resources/Locale/en-US/_NF/traits/traits.ftl @@ -0,0 +1,2 @@ +trait-goblin-accent-name = Goblin cant +trait-goblin-accent-desc = You speak in secret language many find annoying and not that secretive. diff --git a/Resources/Prototypes/Entities/Objects/Tools/cowtools.yml b/Resources/Prototypes/Entities/Objects/Tools/cowtools.yml index 2d584bd233c9e8..ca693d8168a4e1 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/cowtools.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/cowtools.yml @@ -6,6 +6,7 @@ components: - type: Tag tags: + - Wirecutter # imp special - PlantSampleTaker - type: Sprite sprite: Objects/Tools/Cowtools/haycutters.rsi @@ -47,6 +48,9 @@ useSound: collection: Screwdriver speedModifier: 0.05 + - type: Tag + tags: + - Screwdriver - type: entity name: wronch @@ -70,6 +74,9 @@ useSound: path: /Audio/Items/ratchet.ogg speedModifier: 0.05 + - type: Tag + tags: + - Wrench - type: entity name: cowbar @@ -95,6 +102,9 @@ delay: 10 - type: Prying speedModifier: 0.05 + - type: Tag + tags: + - Crowbar - type: entity name: mooltitool diff --git a/Resources/Prototypes/Entities/Structures/Furniture/toilet.yml b/Resources/Prototypes/Entities/Structures/Furniture/toilet.yml index 8fbc01fbb9e459..1b5141dde78170 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/toilet.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/toilet.yml @@ -42,6 +42,7 @@ whitelist: components: - Item + - Goblin soundFlush: /Audio/Effects/Fluids/flush.ogg soundInsert: /Audio/Effects/Fluids/splash.ogg - type: Toilet diff --git a/Resources/Prototypes/Entities/Structures/Piping/Disposal/units.yml b/Resources/Prototypes/Entities/Structures/Piping/Disposal/units.yml index 9e14234af4a384..76b61e54d4e0ba 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Disposal/units.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Disposal/units.yml @@ -120,6 +120,7 @@ whitelist: components: - Item + - Goblin # NF - type: MailingUnit - type: DeviceNetwork deviceNetId: Wired diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index 570035eaf5e31f..1c06f901a9b713 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -17,6 +17,7 @@ - id: RandomSentience - id: SolarFlare - id: VentClog + - id: GoblinKnightEvent # imp - type: entityTable id: BasicAntagEventsTable @@ -33,6 +34,7 @@ - id: ZombieOutbreak - id: LoneOpsSpawn - id: ChangelingAwakening + - id: GoblinStowawaysEvent # imp - type: entityTable id: SleeperlessAntagEventsTable @@ -46,6 +48,7 @@ - id: ZombieOutbreak - id: LoneOpsSpawn - id: ChangelingAwakening + - id: GoblinStowawaysEvent # imp - type: entity id: BaseStationEvent diff --git a/Resources/Prototypes/Reagents/toxins.yml b/Resources/Prototypes/Reagents/toxins.yml index 81936de57491f0..ccccee79ed94ca 100644 --- a/Resources/Prototypes/Reagents/toxins.yml +++ b/Resources/Prototypes/Reagents/toxins.yml @@ -511,6 +511,12 @@ shouldHave: true reagent: Protein amount: 0.5 + - !type:AdjustReagent # Frontier: Goblin + conditions: # Frontier: Goblin + - !type:OrganType # Frontier: Goblin + type: Goblin # Frontier: Goblin + reagent: Protein # Frontier: Goblin + amount: 0.5 # Frontier: Goblin - type: reagent id: Allicin diff --git a/Resources/Prototypes/_Impstation/Entities/Clothing/Belt/belt.yml b/Resources/Prototypes/_Impstation/Entities/Clothing/Belt/belt.yml new file mode 100644 index 00000000000000..34876a65ef9368 --- /dev/null +++ b/Resources/Prototypes/_Impstation/Entities/Clothing/Belt/belt.yml @@ -0,0 +1,97 @@ +- type: entity + parent: ClothingBeltStorageBase + id: ClothingBeltUtilityGoblinRandomFill + name: utility belt + description: Can hold various things. + components: + - type: Sprite + sprite: Clothing/Belt/utility.rsi + - type: Clothing + sprite: Clothing/Belt/utility.rsi + - type: Storage + maxItemSize: Normal + # inherited from utility belt + whitelist: + tags: + - Powerdrill + - Wirecutter + - Crowbar + - Screwdriver + - Flashlight + - Wrench + - GeigerCounter + - Flare + - CableCoil + - CigPack + - Radio + - HolofanProjector + - Multitool + - AppraisalTool + - JawsOfLife + - GPS + - WeldingMask + components: + - SprayPainter + - NetworkConfigurator + - RCD + - RCDAmmo + - Welder + - PowerCell + - Geiger + - TrayScanner + - GasAnalyzer + - HandLabeler + - type: ItemMapper + mapLayers: + drill: + whitelist: + tags: + - Powerdrill + cutters_red: + whitelist: + tags: + - Wirecutter + crowbar: + whitelist: + tags: + - Crowbar + crowbar_red: + whitelist: + tags: + - CrowbarRed + jaws: + whitelist: + tags: + - JawsOfLife + screwdriver_nuke: + whitelist: + tags: + - Screwdriver + wrench: + whitelist: + tags: + - Wrench + multitool: + whitelist: + tags: + - Multitool + sprite: Clothing/Belt/belt_overlay.rsi + - type: Appearance + - type: StorageFill + contents: + - id: ClothingHandsGlovesColorYellow + prob: 0.01 + - id: ClothingHeadHatWelding + prob: 0.5 + - id: GoblinWirecutters + prob: 0.3 + - id: GoblinScrewdriver + prob: 0.3 + - id: GoblinWrench + prob: 0.3 + - id: GoblinCrowbar + prob: 0.3 + - id: GoblinMultitool + prob: 0.3 + - id: GoblinWelder + prob: 0.3 diff --git a/Resources/Prototypes/_Impstation/Entities/Clothing/Head/goblinknighthelm.yml b/Resources/Prototypes/_Impstation/Entities/Clothing/Head/goblinknighthelm.yml new file mode 100644 index 00000000000000..5b2b57e9787ef8 --- /dev/null +++ b/Resources/Prototypes/_Impstation/Entities/Clothing/Head/goblinknighthelm.yml @@ -0,0 +1,23 @@ +- type: entity + parent: ClothingHeadHardsuitBase + id: ClothingHeadHelmetGoblinKnight + name: Sir Gollylad's helm + description: The gleaming helm of Sir Gollylad. On closer inspection, it appears to have been meticulously constructed out of soda cans and a feather duster. It seems to have built-in internals. + components: + - type: Sprite + sprite: _Impstation/Clothing/Head/Helmets/goblinknighthelm.rsi + - type: Clothing + sprite: _Impstation/Clothing/Head/Helmets/goblinknighthelm.rsi + - type: HideLayerClothing + slots: + - Hair + - Snout + - HeadTop + - HeadSide + - type: Armor + modifiers: + coefficients: + Blunt: 0.9 + Slash: 0.9 + Piercing: 0.9 + Heat: 0.9 \ No newline at end of file diff --git a/Resources/Prototypes/_Impstation/Entities/Clothing/OuterClothing/goblinknightarmor.yml b/Resources/Prototypes/_Impstation/Entities/Clothing/OuterClothing/goblinknightarmor.yml new file mode 100644 index 00000000000000..9def83cdaba212 --- /dev/null +++ b/Resources/Prototypes/_Impstation/Entities/Clothing/OuterClothing/goblinknightarmor.yml @@ -0,0 +1,26 @@ +#Sir Gollylad's Armor +- type: entity + parent: ClothingOuterHardsuitBase + id: ClothingOuterGoblinKnightArmor + name: Sir Gollylad's armor + description: A suit of gleaming armor. On closer inspection, it appears to have been meticulously constructed out of soda cans and tin foil. Despite this, it seems to be spaceworthy. + components: + - type: Sprite + sprite: _Impstation/Clothing/OuterClothing/Misc/goblinknightarmor.rsi + - type: Clothing + sprite: _Impstation/Clothing/OuterClothing/Misc/goblinknightarmor.rsi + - type: ExplosionResistance + damageCoefficient: 0.5 + - type: Armor + modifiers: + coefficients: + Blunt: 0.8 + Slash: 0.8 + Piercing: 0.8 + Heat: 0.8 + - type: ClothingSpeedModifier + walkModifier: 0.9 + sprintModifier: 0.9 + - type: HeldSpeedModifier + - type: ToggleableClothing + clothingPrototype: ClothingHeadHelmetGoblinKnight \ No newline at end of file diff --git a/Resources/Prototypes/_Impstation/Entities/Objects/Tools/gobtools.yml b/Resources/Prototypes/_Impstation/Entities/Objects/Tools/gobtools.yml new file mode 100644 index 00000000000000..5399bfb89df11b --- /dev/null +++ b/Resources/Prototypes/_Impstation/Entities/Objects/Tools/gobtools.yml @@ -0,0 +1,35 @@ +- type: entity + name: wirecu'ahs + description: Dey're for chivin' wires. + parent: Haycutters + id: GoblinWirecutters + +- type: entity + name: screwdrivah + description: It's for drivin' screws. + parent: Moodriver + id: GoblinScrewdriver + +- type: entity + name: wrench + description: It's for anchorin' shit. + parent: Wronch + id: GoblinWrench + +- type: entity + name: jilt + description: It's for pryin' shit up. + parent: Cowbar + id: GoblinCrowbar + +- type: entity + name: multitool + description: It's for 'ackin' jiggahs. + parent: Mooltitool + id: GoblinMultitool + +- type: entity + name: weldah + description: It's for weldin' shit. + parent: Cowelder + id: GoblinWelder diff --git a/Resources/Prototypes/_Impstation/GameRules/goblins.yml b/Resources/Prototypes/_Impstation/GameRules/goblins.yml new file mode 100644 index 00000000000000..dc388dec9c210d --- /dev/null +++ b/Resources/Prototypes/_Impstation/GameRules/goblins.yml @@ -0,0 +1,23 @@ +- type: entity + id: GoblinStowawaysEvent + parent: BaseStationEventShortDelay + components: + - type: StationEvent + weight: 3 + duration: 1 + minimumPlayers: 15 + - type: VentCrittersRule + specialEntries: + - id: GoblinStowawaysVentSpawner + prob: 0.001 + +- type: entity + parent: BaseGameRule + id: GoblinKnightEvent + components: + - type: StationEvent + weight: 5 + duration: 1 + maxOccurrences: 1 # he's a named character. there's only one of him + - type: RandomEntityStorageSpawnRule + prototype: SpawnPointGhostGoblinKnight diff --git a/Resources/Prototypes/_Impstation/Markers/Spawners/goblins.yml b/Resources/Prototypes/_Impstation/Markers/Spawners/goblins.yml new file mode 100644 index 00000000000000..153f3cd4abfed0 --- /dev/null +++ b/Resources/Prototypes/_Impstation/Markers/Spawners/goblins.yml @@ -0,0 +1,57 @@ +- type: entity + name: Goblin Stowaways (x3) Spawner + id: GoblinStowawaysVentSpawner + parent: MarkerBase + components: + - type: Sprite + layers: + - state: blue + - sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: full + - type: GroupSpawner + spawns: + - id: SpawnPointGhostGoblinStowaways + amount: 3 + maxAmount: 3 + +- type: entity + id: SpawnPointGhostGoblinStowaways + name: ghost role spawn point + suffix: goblin stowaways + parent: MarkerBase + components: + - type: GhostRole + name: ghost-role-information-goblin-stowaway-name + description: ghost-role-information-goblin-stowaway-description + rules: ghost-role-information-nonantagonist-freeagent-goblin-stowaway + raffle: + settings: default + - type: GhostRoleMobSpawner + prototype: MobGoblinStowaway + - type: Sprite + sprite: Markers/jobs.rsi + layers: + - state: green + - sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: full + +- type: entity + id: SpawnPointGhostGoblinKnight + name: ghost role spawn point + suffix: sir gollylad + parent: [ MarkerBase, BaseItem ] + components: + - type: GhostRole + name: ghost-role-information-goblin-knight-name + description: ghost-role-information-goblin-knight-description + rules: ghost-role-information-familiar-rules + raffle: + settings: default + - type: GhostRoleMobSpawner + prototype: MobGoblinKnight + - type: Sprite + sprite: Markers/jobs.rsi + layers: + - state: green + - sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: full diff --git a/Resources/Prototypes/_Impstation/Objects/Weapons/Melee/goblinclaymore.yml b/Resources/Prototypes/_Impstation/Objects/Weapons/Melee/goblinclaymore.yml new file mode 100644 index 00000000000000..604b187e7af19d --- /dev/null +++ b/Resources/Prototypes/_Impstation/Objects/Weapons/Melee/goblinclaymore.yml @@ -0,0 +1,22 @@ +- type: entity + name: Sir Gollylad's sword + parent: BaseSword + id: GoblinClaymore + description: An ancient war blade, its hilt stained red with the blood of its enemies... On closer inspection, it appears to be a toy. + components: + - type: Sprite + sprite: _Impstation/Objects/Weapons/Melee/goblinclaymore.rsi + - type: MeleeWeapon + attackRate: 0.75 + damage: + types: + Blunt: 5 + Structural: 5 + soundHit: + path: /Audio/Weapons/bladeslice.ogg + - type: Item + - type: Clothing + sprite: _Impstation/Objects/Weapons/Melee/goblinclaymore.rsi + slots: + - back + - type: DisarmMalus diff --git a/Resources/Prototypes/_Impstation/Roles/Jobs/Fun/misc_startinggear.yml b/Resources/Prototypes/_Impstation/Roles/Jobs/Fun/misc_startinggear.yml index abdb705e65db81..9faf8be74395ae 100644 --- a/Resources/Prototypes/_Impstation/Roles/Jobs/Fun/misc_startinggear.yml +++ b/Resources/Prototypes/_Impstation/Roles/Jobs/Fun/misc_startinggear.yml @@ -3,3 +3,19 @@ equipment: ears: ClothingHeadsetCargo id: CargorillaIDCard + +- type: startingGear + id: GoblinRobeOSP + equipment: + outerClothing: ClothingOuterCoatRobesGoblin + belt: ClothingBeltUtilityGoblinRandomFill + +- type: startingGear + id: GoblinKnightArmor + equipment: + jumpsuit: ClothingSpaceCadetJumpsuitColorBlack # temp - remove after sprite refactor + outerClothing: ClothingOuterGoblinKnightArmor + back: ClothingBackpackSatchelLeather + inhand: + - GoblinClaymore + - WoodenBuckler \ No newline at end of file diff --git a/Resources/Prototypes/_NF/Accents/word_replacements.yml b/Resources/Prototypes/_NF/Accents/word_replacements.yml new file mode 100644 index 00000000000000..96e1c78d1bdf4f --- /dev/null +++ b/Resources/Prototypes/_NF/Accents/word_replacements.yml @@ -0,0 +1,941 @@ +- type: accent + id: goblin_accent + wordReplacements: + accent-goblin-words-1: accent-goblin-words-replace-1 + accent-goblin-words-2: accent-goblin-words-replace-2 + accent-goblin-words-3: accent-goblin-words-replace-3 + accent-goblin-words-4: accent-goblin-words-replace-4 + accent-goblin-words-5: accent-goblin-words-replace-5 + accent-goblin-words-6: accent-goblin-words-replace-6 + accent-goblin-words-7: accent-goblin-words-replace-7 + accent-goblin-words-8: accent-goblin-words-replace-8 + accent-goblin-words-9: accent-goblin-words-replace-9 + accent-goblin-words-10: accent-goblin-words-replace-10 + accent-goblin-words-11: accent-goblin-words-replace-11 + accent-goblin-words-12: accent-goblin-words-replace-12 + accent-goblin-words-13: accent-goblin-words-replace-13 + accent-goblin-words-14: accent-goblin-words-replace-14 + accent-goblin-words-15: accent-goblin-words-replace-15 + accent-goblin-words-16: accent-goblin-words-replace-16 + accent-goblin-words-17: accent-goblin-words-replace-17 + accent-goblin-words-18: accent-goblin-words-replace-18 + accent-goblin-words-19: accent-goblin-words-replace-19 + accent-goblin-words-20: accent-goblin-words-replace-20 + accent-goblin-words-21: accent-goblin-words-replace-21 + accent-goblin-words-22: accent-goblin-words-replace-22 + accent-goblin-words-23: accent-goblin-words-replace-23 + accent-goblin-words-24: accent-goblin-words-replace-24 + accent-goblin-words-25: accent-goblin-words-replace-25 + accent-goblin-words-26: accent-goblin-words-replace-26 + accent-goblin-words-27: accent-goblin-words-replace-27 + accent-goblin-words-28: accent-goblin-words-replace-28 + accent-goblin-words-29: accent-goblin-words-replace-29 + accent-goblin-words-30: accent-goblin-words-replace-30 + accent-goblin-words-31: accent-goblin-words-replace-31 + accent-goblin-words-32: accent-goblin-words-replace-32 + accent-goblin-words-33: accent-goblin-words-replace-33 + accent-goblin-words-34: accent-goblin-words-replace-34 + accent-goblin-words-35: accent-goblin-words-replace-35 + accent-goblin-words-36: accent-goblin-words-replace-36 + accent-goblin-words-37: accent-goblin-words-replace-37 + accent-goblin-words-38: accent-goblin-words-replace-38 + accent-goblin-words-39: accent-goblin-words-replace-39 + accent-goblin-words-40: accent-goblin-words-replace-40 + accent-goblin-words-41: accent-goblin-words-replace-41 + accent-goblin-words-42: accent-goblin-words-replace-42 + accent-goblin-words-43: accent-goblin-words-replace-43 + accent-goblin-words-44: accent-goblin-words-replace-44 + accent-goblin-words-45: accent-goblin-words-replace-45 + accent-goblin-words-46: accent-goblin-words-replace-46 + accent-goblin-words-47: accent-goblin-words-replace-47 + accent-goblin-words-48: accent-goblin-words-replace-48 + accent-goblin-words-49: accent-goblin-words-replace-49 + accent-goblin-words-50: accent-goblin-words-replace-50 + accent-goblin-words-51: accent-goblin-words-replace-51 + accent-goblin-words-52: accent-goblin-words-replace-52 + accent-goblin-words-53: accent-goblin-words-replace-53 + accent-goblin-words-54: accent-goblin-words-replace-54 + accent-goblin-words-55: accent-goblin-words-replace-55 + accent-goblin-words-56: accent-goblin-words-replace-56 + accent-goblin-words-57: accent-goblin-words-replace-57 + accent-goblin-words-58: accent-goblin-words-replace-58 + accent-goblin-words-59: accent-goblin-words-replace-59 + accent-goblin-words-60: accent-goblin-words-replace-60 + accent-goblin-words-61: accent-goblin-words-replace-61 + accent-goblin-words-62: accent-goblin-words-replace-62 + accent-goblin-words-63: accent-goblin-words-replace-63 + accent-goblin-words-64: accent-goblin-words-replace-64 + accent-goblin-words-65: accent-goblin-words-replace-65 + accent-goblin-words-66: accent-goblin-words-replace-66 + accent-goblin-words-67: accent-goblin-words-replace-67 + accent-goblin-words-68: accent-goblin-words-replace-68 + accent-goblin-words-69: accent-goblin-words-replace-69 + accent-goblin-words-70: accent-goblin-words-replace-70 + accent-goblin-words-71: accent-goblin-words-replace-71 + accent-goblin-words-72: accent-goblin-words-replace-72 + accent-goblin-words-73: accent-goblin-words-replace-73 + accent-goblin-words-74: accent-goblin-words-replace-74 + accent-goblin-words-75: accent-goblin-words-replace-75 + accent-goblin-words-76: accent-goblin-words-replace-76 + accent-goblin-words-77: accent-goblin-words-replace-77 + accent-goblin-words-78: accent-goblin-words-replace-78 + accent-goblin-words-79: accent-goblin-words-replace-79 + accent-goblin-words-80: accent-goblin-words-replace-80 + accent-goblin-words-81: accent-goblin-words-replace-81 + accent-goblin-words-82: accent-goblin-words-replace-82 + accent-goblin-words-83: accent-goblin-words-replace-83 + accent-goblin-words-84: accent-goblin-words-replace-84 + accent-goblin-words-85: accent-goblin-words-replace-85 + accent-goblin-words-86: accent-goblin-words-replace-86 + accent-goblin-words-87: accent-goblin-words-replace-87 + accent-goblin-words-88: accent-goblin-words-replace-88 + accent-goblin-words-89: accent-goblin-words-replace-89 + accent-goblin-words-90: accent-goblin-words-replace-90 + accent-goblin-words-91: accent-goblin-words-replace-91 + accent-goblin-words-92: accent-goblin-words-replace-92 + accent-goblin-words-93: accent-goblin-words-replace-93 + accent-goblin-words-94: accent-goblin-words-replace-94 + accent-goblin-words-95: accent-goblin-words-replace-95 + accent-goblin-words-96: accent-goblin-words-replace-96 + accent-goblin-words-97: accent-goblin-words-replace-97 + accent-goblin-words-98: accent-goblin-words-replace-98 + accent-goblin-words-99: accent-goblin-words-replace-99 + accent-goblin-words-100: accent-goblin-words-replace-100 + accent-goblin-words-101: accent-goblin-words-replace-101 + accent-goblin-words-102: accent-goblin-words-replace-102 + accent-goblin-words-103: accent-goblin-words-replace-103 + accent-goblin-words-104: accent-goblin-words-replace-104 + accent-goblin-words-105: accent-goblin-words-replace-105 + accent-goblin-words-106: accent-goblin-words-replace-106 + accent-goblin-words-107: accent-goblin-words-replace-107 + accent-goblin-words-108: accent-goblin-words-replace-108 + accent-goblin-words-109: accent-goblin-words-replace-109 + accent-goblin-words-110: accent-goblin-words-replace-110 + accent-goblin-words-111: accent-goblin-words-replace-111 + accent-goblin-words-112: accent-goblin-words-replace-112 + accent-goblin-words-113: accent-goblin-words-replace-113 + accent-goblin-words-114: accent-goblin-words-replace-114 + accent-goblin-words-115: accent-goblin-words-replace-115 + accent-goblin-words-116: accent-goblin-words-replace-116 + accent-goblin-words-117: accent-goblin-words-replace-117 + accent-goblin-words-118: accent-goblin-words-replace-118 + accent-goblin-words-119: accent-goblin-words-replace-119 + accent-goblin-words-120: accent-goblin-words-replace-120 + accent-goblin-words-121: accent-goblin-words-replace-121 + accent-goblin-words-122: accent-goblin-words-replace-122 + accent-goblin-words-123: accent-goblin-words-replace-123 + accent-goblin-words-124: accent-goblin-words-replace-124 + accent-goblin-words-125: accent-goblin-words-replace-125 + accent-goblin-words-126: accent-goblin-words-replace-126 + accent-goblin-words-127: accent-goblin-words-replace-127 + accent-goblin-words-128: accent-goblin-words-replace-128 + accent-goblin-words-129: accent-goblin-words-replace-129 + accent-goblin-words-130: accent-goblin-words-replace-130 + accent-goblin-words-131: accent-goblin-words-replace-131 + accent-goblin-words-132: accent-goblin-words-replace-132 + accent-goblin-words-133: accent-goblin-words-replace-133 + accent-goblin-words-134: accent-goblin-words-replace-134 + accent-goblin-words-135: accent-goblin-words-replace-135 + accent-goblin-words-136: accent-goblin-words-replace-136 + accent-goblin-words-137: accent-goblin-words-replace-137 + accent-goblin-words-138: accent-goblin-words-replace-138 + accent-goblin-words-139: accent-goblin-words-replace-139 + accent-goblin-words-140: accent-goblin-words-replace-140 + accent-goblin-words-141: accent-goblin-words-replace-141 + accent-goblin-words-142: accent-goblin-words-replace-142 + accent-goblin-words-143: accent-goblin-words-replace-143 + accent-goblin-words-144: accent-goblin-words-replace-144 + accent-goblin-words-145: accent-goblin-words-replace-145 + accent-goblin-words-146: accent-goblin-words-replace-146 + accent-goblin-words-147: accent-goblin-words-replace-147 + accent-goblin-words-148: accent-goblin-words-replace-148 + accent-goblin-words-149: accent-goblin-words-replace-149 + accent-goblin-words-150: accent-goblin-words-replace-150 + accent-goblin-words-151: accent-goblin-words-replace-151 + accent-goblin-words-152: accent-goblin-words-replace-152 + accent-goblin-words-153: accent-goblin-words-replace-153 + accent-goblin-words-154: accent-goblin-words-replace-154 + accent-goblin-words-155: accent-goblin-words-replace-155 + accent-goblin-words-156: accent-goblin-words-replace-156 + accent-goblin-words-157: accent-goblin-words-replace-157 + accent-goblin-words-158: accent-goblin-words-replace-158 + accent-goblin-words-159: accent-goblin-words-replace-159 + accent-goblin-words-160: accent-goblin-words-replace-160 + accent-goblin-words-161: accent-goblin-words-replace-161 + accent-goblin-words-162: accent-goblin-words-replace-162 + accent-goblin-words-163: accent-goblin-words-replace-163 + accent-goblin-words-164: accent-goblin-words-replace-164 + accent-goblin-words-165: accent-goblin-words-replace-165 + accent-goblin-words-166: accent-goblin-words-replace-166 + accent-goblin-words-167: accent-goblin-words-replace-167 + accent-goblin-words-168: accent-goblin-words-replace-168 + accent-goblin-words-169: accent-goblin-words-replace-169 + accent-goblin-words-170: accent-goblin-words-replace-170 + accent-goblin-words-171: accent-goblin-words-replace-171 + accent-goblin-words-172: accent-goblin-words-replace-172 + accent-goblin-words-173: accent-goblin-words-replace-173 + accent-goblin-words-174: accent-goblin-words-replace-174 + accent-goblin-words-175: accent-goblin-words-replace-175 + accent-goblin-words-176: accent-goblin-words-replace-176 + accent-goblin-words-177: accent-goblin-words-replace-177 + accent-goblin-words-178: accent-goblin-words-replace-178 + accent-goblin-words-179: accent-goblin-words-replace-179 + accent-goblin-words-180: accent-goblin-words-replace-180 + accent-goblin-words-181: accent-goblin-words-replace-181 + accent-goblin-words-182: accent-goblin-words-replace-182 + accent-goblin-words-183: accent-goblin-words-replace-183 + accent-goblin-words-184: accent-goblin-words-replace-184 + accent-goblin-words-185: accent-goblin-words-replace-185 + accent-goblin-words-186: accent-goblin-words-replace-186 + accent-goblin-words-187: accent-goblin-words-replace-187 + accent-goblin-words-188: accent-goblin-words-replace-188 + accent-goblin-words-189: accent-goblin-words-replace-189 + accent-goblin-words-190: accent-goblin-words-replace-190 + accent-goblin-words-191: accent-goblin-words-replace-191 + accent-goblin-words-192: accent-goblin-words-replace-192 + accent-goblin-words-193: accent-goblin-words-replace-193 + accent-goblin-words-194: accent-goblin-words-replace-194 + accent-goblin-words-195: accent-goblin-words-replace-195 + accent-goblin-words-196: accent-goblin-words-replace-196 + accent-goblin-words-197: accent-goblin-words-replace-197 + accent-goblin-words-198: accent-goblin-words-replace-198 + accent-goblin-words-199: accent-goblin-words-replace-199 + accent-goblin-words-200: accent-goblin-words-replace-200 + accent-goblin-words-201: accent-goblin-words-replace-201 + accent-goblin-words-202: accent-goblin-words-replace-202 + accent-goblin-words-203: accent-goblin-words-replace-203 + accent-goblin-words-204: accent-goblin-words-replace-204 + accent-goblin-words-205: accent-goblin-words-replace-205 + accent-goblin-words-206: accent-goblin-words-replace-206 + accent-goblin-words-207: accent-goblin-words-replace-207 + accent-goblin-words-208: accent-goblin-words-replace-208 + accent-goblin-words-209: accent-goblin-words-replace-209 + accent-goblin-words-210: accent-goblin-words-replace-210 + accent-goblin-words-211: accent-goblin-words-replace-211 + accent-goblin-words-212: accent-goblin-words-replace-212 + accent-goblin-words-213: accent-goblin-words-replace-213 + accent-goblin-words-214: accent-goblin-words-replace-214 + accent-goblin-words-215: accent-goblin-words-replace-215 + accent-goblin-words-216: accent-goblin-words-replace-216 + accent-goblin-words-217: accent-goblin-words-replace-217 + accent-goblin-words-218: accent-goblin-words-replace-218 + accent-goblin-words-219: accent-goblin-words-replace-219 + accent-goblin-words-220: accent-goblin-words-replace-220 + accent-goblin-words-221: accent-goblin-words-replace-221 + accent-goblin-words-222: accent-goblin-words-replace-222 + accent-goblin-words-223: accent-goblin-words-replace-223 + accent-goblin-words-224: accent-goblin-words-replace-224 + accent-goblin-words-225: accent-goblin-words-replace-225 + accent-goblin-words-226: accent-goblin-words-replace-226 + accent-goblin-words-227: accent-goblin-words-replace-227 + accent-goblin-words-228: accent-goblin-words-replace-228 + accent-goblin-words-229: accent-goblin-words-replace-229 + accent-goblin-words-230: accent-goblin-words-replace-230 + accent-goblin-words-231: accent-goblin-words-replace-231 + accent-goblin-words-232: accent-goblin-words-replace-232 + accent-goblin-words-233: accent-goblin-words-replace-233 + accent-goblin-words-234: accent-goblin-words-replace-234 + accent-goblin-words-235: accent-goblin-words-replace-235 + accent-goblin-words-236: accent-goblin-words-replace-236 + accent-goblin-words-237: accent-goblin-words-replace-237 + accent-goblin-words-238: accent-goblin-words-replace-238 + accent-goblin-words-239: accent-goblin-words-replace-239 + accent-goblin-words-240: accent-goblin-words-replace-240 + accent-goblin-words-241: accent-goblin-words-replace-241 + accent-goblin-words-242: accent-goblin-words-replace-242 + accent-goblin-words-243: accent-goblin-words-replace-243 + accent-goblin-words-244: accent-goblin-words-replace-244 + accent-goblin-words-245: accent-goblin-words-replace-245 + accent-goblin-words-246: accent-goblin-words-replace-246 + accent-goblin-words-247: accent-goblin-words-replace-247 + accent-goblin-words-248: accent-goblin-words-replace-248 + accent-goblin-words-249: accent-goblin-words-replace-249 + accent-goblin-words-250: accent-goblin-words-replace-250 + accent-goblin-words-251: accent-goblin-words-replace-251 + accent-goblin-words-252: accent-goblin-words-replace-252 + accent-goblin-words-253: accent-goblin-words-replace-253 + accent-goblin-words-254: accent-goblin-words-replace-254 + accent-goblin-words-255: accent-goblin-words-replace-255 + accent-goblin-words-256: accent-goblin-words-replace-256 + accent-goblin-words-257: accent-goblin-words-replace-257 + accent-goblin-words-258: accent-goblin-words-replace-258 + accent-goblin-words-259: accent-goblin-words-replace-259 + accent-goblin-words-260: accent-goblin-words-replace-260 + accent-goblin-words-261: accent-goblin-words-replace-261 + accent-goblin-words-262: accent-goblin-words-replace-262 + accent-goblin-words-263: accent-goblin-words-replace-263 + accent-goblin-words-264: accent-goblin-words-replace-264 + accent-goblin-words-265: accent-goblin-words-replace-265 + accent-goblin-words-266: accent-goblin-words-replace-266 + accent-goblin-words-267: accent-goblin-words-replace-267 + accent-goblin-words-268: accent-goblin-words-replace-268 + accent-goblin-words-269: accent-goblin-words-replace-269 + accent-goblin-words-270: accent-goblin-words-replace-270 + accent-goblin-words-271: accent-goblin-words-replace-271 + accent-goblin-words-272: accent-goblin-words-replace-272 + accent-goblin-words-273: accent-goblin-words-replace-273 + accent-goblin-words-274: accent-goblin-words-replace-274 + accent-goblin-words-275: accent-goblin-words-replace-275 + accent-goblin-words-276: accent-goblin-words-replace-276 + accent-goblin-words-277: accent-goblin-words-replace-277 + accent-goblin-words-278: accent-goblin-words-replace-278 + accent-goblin-words-279: accent-goblin-words-replace-279 + accent-goblin-words-280: accent-goblin-words-replace-280 + accent-goblin-words-281: accent-goblin-words-replace-281 + accent-goblin-words-282: accent-goblin-words-replace-282 + accent-goblin-words-283: accent-goblin-words-replace-283 + accent-goblin-words-284: accent-goblin-words-replace-284 + accent-goblin-words-285: accent-goblin-words-replace-285 + accent-goblin-words-286: accent-goblin-words-replace-286 + accent-goblin-words-287: accent-goblin-words-replace-287 + accent-goblin-words-288: accent-goblin-words-replace-288 + accent-goblin-words-289: accent-goblin-words-replace-289 + accent-goblin-words-290: accent-goblin-words-replace-290 + accent-goblin-words-291: accent-goblin-words-replace-291 + accent-goblin-words-292: accent-goblin-words-replace-292 + accent-goblin-words-293: accent-goblin-words-replace-293 + accent-goblin-words-294: accent-goblin-words-replace-294 + accent-goblin-words-295: accent-goblin-words-replace-295 + accent-goblin-words-296: accent-goblin-words-replace-296 + accent-goblin-words-297: accent-goblin-words-replace-297 + accent-goblin-words-298: accent-goblin-words-replace-298 + accent-goblin-words-299: accent-goblin-words-replace-299 + accent-goblin-words-300: accent-goblin-words-replace-300 + accent-goblin-words-301: accent-goblin-words-replace-301 + accent-goblin-words-302: accent-goblin-words-replace-302 + accent-goblin-words-303: accent-goblin-words-replace-303 + accent-goblin-words-304: accent-goblin-words-replace-304 + accent-goblin-words-305: accent-goblin-words-replace-305 + accent-goblin-words-306: accent-goblin-words-replace-306 + accent-goblin-words-307: accent-goblin-words-replace-307 + accent-goblin-words-308: accent-goblin-words-replace-308 + accent-goblin-words-309: accent-goblin-words-replace-309 + accent-goblin-words-310: accent-goblin-words-replace-310 + accent-goblin-words-311: accent-goblin-words-replace-311 + accent-goblin-words-312: accent-goblin-words-replace-312 + accent-goblin-words-313: accent-goblin-words-replace-313 + accent-goblin-words-314: accent-goblin-words-replace-314 + accent-goblin-words-315: accent-goblin-words-replace-315 + accent-goblin-words-316: accent-goblin-words-replace-316 + accent-goblin-words-317: accent-goblin-words-replace-317 + accent-goblin-words-318: accent-goblin-words-replace-318 + accent-goblin-words-319: accent-goblin-words-replace-319 + accent-goblin-words-320: accent-goblin-words-replace-320 + accent-goblin-words-321: accent-goblin-words-replace-321 + accent-goblin-words-322: accent-goblin-words-replace-322 + accent-goblin-words-323: accent-goblin-words-replace-323 + accent-goblin-words-324: accent-goblin-words-replace-324 + accent-goblin-words-325: accent-goblin-words-replace-325 + accent-goblin-words-326: accent-goblin-words-replace-326 + accent-goblin-words-327: accent-goblin-words-replace-327 + accent-goblin-words-328: accent-goblin-words-replace-328 + accent-goblin-words-329: accent-goblin-words-replace-329 + accent-goblin-words-330: accent-goblin-words-replace-330 + accent-goblin-words-331: accent-goblin-words-replace-331 + accent-goblin-words-332: accent-goblin-words-replace-332 + accent-goblin-words-333: accent-goblin-words-replace-333 + accent-goblin-words-334: accent-goblin-words-replace-334 + accent-goblin-words-335: accent-goblin-words-replace-335 + accent-goblin-words-336: accent-goblin-words-replace-336 + accent-goblin-words-337: accent-goblin-words-replace-337 + accent-goblin-words-338: accent-goblin-words-replace-338 + accent-goblin-words-339: accent-goblin-words-replace-339 + accent-goblin-words-340: accent-goblin-words-replace-340 + accent-goblin-words-341: accent-goblin-words-replace-341 + accent-goblin-words-342: accent-goblin-words-replace-342 + accent-goblin-words-343: accent-goblin-words-replace-343 + accent-goblin-words-344: accent-goblin-words-replace-344 + accent-goblin-words-345: accent-goblin-words-replace-345 + accent-goblin-words-346: accent-goblin-words-replace-346 + accent-goblin-words-347: accent-goblin-words-replace-347 + accent-goblin-words-348: accent-goblin-words-replace-348 + accent-goblin-words-349: accent-goblin-words-replace-349 + accent-goblin-words-350: accent-goblin-words-replace-350 + accent-goblin-words-351: accent-goblin-words-replace-351 + accent-goblin-words-352: accent-goblin-words-replace-352 + accent-goblin-words-353: accent-goblin-words-replace-353 + accent-goblin-words-354: accent-goblin-words-replace-354 + accent-goblin-words-355: accent-goblin-words-replace-355 + accent-goblin-words-356: accent-goblin-words-replace-356 + accent-goblin-words-357: accent-goblin-words-replace-357 + accent-goblin-words-358: accent-goblin-words-replace-358 + accent-goblin-words-359: accent-goblin-words-replace-359 + accent-goblin-words-360: accent-goblin-words-replace-360 + accent-goblin-words-361: accent-goblin-words-replace-361 + accent-goblin-words-362: accent-goblin-words-replace-362 + accent-goblin-words-363: accent-goblin-words-replace-363 + accent-goblin-words-364: accent-goblin-words-replace-364 + accent-goblin-words-365: accent-goblin-words-replace-365 + accent-goblin-words-366: accent-goblin-words-replace-366 + accent-goblin-words-367: accent-goblin-words-replace-367 + accent-goblin-words-368: accent-goblin-words-replace-368 + accent-goblin-words-369: accent-goblin-words-replace-369 + accent-goblin-words-370: accent-goblin-words-replace-370 + accent-goblin-words-371: accent-goblin-words-replace-371 + accent-goblin-words-372: accent-goblin-words-replace-372 + accent-goblin-words-373: accent-goblin-words-replace-373 + accent-goblin-words-374: accent-goblin-words-replace-374 + accent-goblin-words-375: accent-goblin-words-replace-375 + accent-goblin-words-376: accent-goblin-words-replace-376 + accent-goblin-words-377: accent-goblin-words-replace-377 + accent-goblin-words-378: accent-goblin-words-replace-378 + accent-goblin-words-379: accent-goblin-words-replace-379 + accent-goblin-words-380: accent-goblin-words-replace-380 + accent-goblin-words-381: accent-goblin-words-replace-381 + accent-goblin-words-382: accent-goblin-words-replace-382 + accent-goblin-words-383: accent-goblin-words-replace-383 + accent-goblin-words-384: accent-goblin-words-replace-384 + accent-goblin-words-385: accent-goblin-words-replace-385 + accent-goblin-words-386: accent-goblin-words-replace-386 + accent-goblin-words-387: accent-goblin-words-replace-387 + accent-goblin-words-388: accent-goblin-words-replace-388 + accent-goblin-words-389: accent-goblin-words-replace-389 + accent-goblin-words-390: accent-goblin-words-replace-390 + accent-goblin-words-391: accent-goblin-words-replace-391 + accent-goblin-words-392: accent-goblin-words-replace-392 + accent-goblin-words-393: accent-goblin-words-replace-393 + accent-goblin-words-394: accent-goblin-words-replace-394 + accent-goblin-words-395: accent-goblin-words-replace-395 + accent-goblin-words-396: accent-goblin-words-replace-396 + accent-goblin-words-397: accent-goblin-words-replace-397 + accent-goblin-words-398: accent-goblin-words-replace-398 + accent-goblin-words-399: accent-goblin-words-replace-399 + accent-goblin-words-400: accent-goblin-words-replace-400 + accent-goblin-words-401: accent-goblin-words-replace-401 + accent-goblin-words-402: accent-goblin-words-replace-402 + accent-goblin-words-403: accent-goblin-words-replace-403 + accent-goblin-words-404: accent-goblin-words-replace-404 + accent-goblin-words-405: accent-goblin-words-replace-405 + accent-goblin-words-406: accent-goblin-words-replace-406 + accent-goblin-words-407: accent-goblin-words-replace-407 + accent-goblin-words-408: accent-goblin-words-replace-408 + accent-goblin-words-409: accent-goblin-words-replace-409 + accent-goblin-words-410: accent-goblin-words-replace-410 + accent-goblin-words-411: accent-goblin-words-replace-411 + accent-goblin-words-412: accent-goblin-words-replace-412 + accent-goblin-words-413: accent-goblin-words-replace-413 + accent-goblin-words-414: accent-goblin-words-replace-414 + accent-goblin-words-415: accent-goblin-words-replace-415 + accent-goblin-words-416: accent-goblin-words-replace-416 + accent-goblin-words-417: accent-goblin-words-replace-417 + accent-goblin-words-418: accent-goblin-words-replace-418 + accent-goblin-words-419: accent-goblin-words-replace-419 + accent-goblin-words-420: accent-goblin-words-replace-420 + accent-goblin-words-421: accent-goblin-words-replace-421 + accent-goblin-words-422: accent-goblin-words-replace-422 + accent-goblin-words-423: accent-goblin-words-replace-423 + accent-goblin-words-424: accent-goblin-words-replace-424 + accent-goblin-words-425: accent-goblin-words-replace-425 + accent-goblin-words-426: accent-goblin-words-replace-426 + accent-goblin-words-427: accent-goblin-words-replace-427 + accent-goblin-words-428: accent-goblin-words-replace-428 + accent-goblin-words-429: accent-goblin-words-replace-429 + +- type: accent + id: streetpunk + wordReplacements: + accent-streetpunk-replaced-1: accent-streetpunk-replacement-1 + accent-streetpunk-replaced-2: accent-streetpunk-replacement-2 + accent-streetpunk-replaced-3: accent-streetpunk-replacement-3 + accent-streetpunk-replaced-4: accent-streetpunk-replacement-4 + accent-streetpunk-replaced-5: accent-streetpunk-replacement-5 + accent-streetpunk-replaced-6: accent-streetpunk-replacement-6 + accent-streetpunk-replaced-7: accent-streetpunk-replacement-7 + accent-streetpunk-replaced-8: accent-streetpunk-replacement-8 + accent-streetpunk-replaced-9: accent-streetpunk-replacement-9 + accent-streetpunk-replaced-10: accent-streetpunk-replacement-10 + accent-streetpunk-replaced-11: accent-streetpunk-replacement-11 + accent-streetpunk-replaced-12: accent-streetpunk-replacement-12 + accent-streetpunk-replaced-13: accent-streetpunk-replacement-13 + accent-streetpunk-replaced-14: accent-streetpunk-replacement-14 + accent-streetpunk-replaced-15: accent-streetpunk-replacement-15 + accent-streetpunk-replaced-16: accent-streetpunk-replacement-16 + accent-streetpunk-replaced-17: accent-streetpunk-replacement-17 + accent-streetpunk-replaced-18: accent-streetpunk-replacement-18 + accent-streetpunk-replaced-19: accent-streetpunk-replacement-19 + accent-streetpunk-replaced-20: accent-streetpunk-replacement-20 + accent-streetpunk-replaced-21: accent-streetpunk-replacement-21 + accent-streetpunk-replaced-22: accent-streetpunk-replacement-22 + accent-streetpunk-replaced-23: accent-streetpunk-replacement-23 + accent-streetpunk-replaced-24: accent-streetpunk-replacement-24 + accent-streetpunk-replaced-25: accent-streetpunk-replacement-25 + accent-streetpunk-replaced-26: accent-streetpunk-replacement-26 + accent-streetpunk-replaced-27: accent-streetpunk-replacement-27 + accent-streetpunk-replaced-28: accent-streetpunk-replacement-28 + accent-streetpunk-replaced-29: accent-streetpunk-replacement-29 + accent-streetpunk-replaced-30: accent-streetpunk-replacement-30 + accent-streetpunk-replaced-31: accent-streetpunk-replacement-31 + accent-streetpunk-replaced-32: accent-streetpunk-replacement-32 + accent-streetpunk-replaced-33: accent-streetpunk-replacement-33 + accent-streetpunk-replaced-34: accent-streetpunk-replacement-34 + accent-streetpunk-replaced-35: accent-streetpunk-replacement-35 + accent-streetpunk-replaced-36: accent-streetpunk-replacement-36 + accent-streetpunk-replaced-37: accent-streetpunk-replacement-37 + accent-streetpunk-replaced-38: accent-streetpunk-replacement-38 + accent-streetpunk-replaced-39: accent-streetpunk-replacement-39 + accent-streetpunk-replaced-40: accent-streetpunk-replacement-40 + accent-streetpunk-replaced-41: accent-streetpunk-replacement-41 + accent-streetpunk-replaced-42: accent-streetpunk-replacement-42 + accent-streetpunk-replaced-43: accent-streetpunk-replacement-43 + accent-streetpunk-replaced-44: accent-streetpunk-replacement-44 + accent-streetpunk-replaced-45: accent-streetpunk-replacement-45 + accent-streetpunk-replaced-46: accent-streetpunk-replacement-46 + accent-streetpunk-replaced-47: accent-streetpunk-replacement-47 + accent-streetpunk-replaced-48: accent-streetpunk-replacement-48 + accent-streetpunk-replaced-49: accent-streetpunk-replacement-49 + accent-streetpunk-replaced-50: accent-streetpunk-replacement-50 + accent-streetpunk-replaced-51: accent-streetpunk-replacement-51 + accent-streetpunk-replaced-52: accent-streetpunk-replacement-52 + accent-streetpunk-replaced-53: accent-streetpunk-replacement-53 + accent-streetpunk-replaced-54: accent-streetpunk-replacement-54 + accent-streetpunk-replaced-55: accent-streetpunk-replacement-55 + accent-streetpunk-replaced-56: accent-streetpunk-replacement-56 + accent-streetpunk-replaced-57: accent-streetpunk-replacement-57 + accent-streetpunk-replaced-58: accent-streetpunk-replacement-58 + accent-streetpunk-replaced-59: accent-streetpunk-replacement-59 + accent-streetpunk-replaced-60: accent-streetpunk-replacement-60 + accent-streetpunk-replaced-61: accent-streetpunk-replacement-61 + accent-streetpunk-replaced-62: accent-streetpunk-replacement-62 + accent-streetpunk-replaced-63: accent-streetpunk-replacement-63 + accent-streetpunk-replaced-64: accent-streetpunk-replacement-64 + accent-streetpunk-replaced-65: accent-streetpunk-replacement-65 + accent-streetpunk-replaced-66: accent-streetpunk-replacement-66 + accent-streetpunk-replaced-67: accent-streetpunk-replacement-67 + accent-streetpunk-replaced-68: accent-streetpunk-replacement-68 + accent-streetpunk-replaced-69: accent-streetpunk-replacement-69 + accent-streetpunk-replaced-70: accent-streetpunk-replacement-70 + accent-streetpunk-replaced-71: accent-streetpunk-replacement-71 + accent-streetpunk-replaced-72: accent-streetpunk-replacement-72 + accent-streetpunk-replaced-73: accent-streetpunk-replacement-73 + accent-streetpunk-replaced-74: accent-streetpunk-replacement-74 + accent-streetpunk-replaced-75: accent-streetpunk-replacement-75 + accent-streetpunk-replaced-76: accent-streetpunk-replacement-76 + accent-streetpunk-replaced-77: accent-streetpunk-replacement-77 + accent-streetpunk-replaced-78: accent-streetpunk-replacement-78 + accent-streetpunk-replaced-79: accent-streetpunk-replacement-79 + accent-streetpunk-replaced-80: accent-streetpunk-replacement-80 + accent-streetpunk-replaced-81: accent-streetpunk-replacement-81 + accent-streetpunk-replaced-82: accent-streetpunk-replacement-82 + accent-streetpunk-replaced-83: accent-streetpunk-replacement-83 + accent-streetpunk-replaced-84: accent-streetpunk-replacement-84 + accent-streetpunk-replaced-85: accent-streetpunk-replacement-85 + accent-streetpunk-replaced-86: accent-streetpunk-replacement-86 + accent-streetpunk-replaced-87: accent-streetpunk-replacement-87 + accent-streetpunk-replaced-88: accent-streetpunk-replacement-88 + accent-streetpunk-replaced-89: accent-streetpunk-replacement-89 + accent-streetpunk-replaced-90: accent-streetpunk-replacement-90 + accent-streetpunk-replaced-91: accent-streetpunk-replacement-91 + accent-streetpunk-replaced-92: accent-streetpunk-replacement-92 + accent-streetpunk-replaced-93: accent-streetpunk-replacement-93 + accent-streetpunk-replaced-94: accent-streetpunk-replacement-94 + accent-streetpunk-replaced-95: accent-streetpunk-replacement-95 + accent-streetpunk-replaced-96: accent-streetpunk-replacement-96 + accent-streetpunk-replaced-97: accent-streetpunk-replacement-97 + accent-streetpunk-replaced-98: accent-streetpunk-replacement-98 + accent-streetpunk-replaced-99: accent-streetpunk-replacement-99 + accent-streetpunk-replaced-100: accent-streetpunk-replacement-100 + accent-streetpunk-replaced-101: accent-streetpunk-replacement-101 + accent-streetpunk-replaced-102: accent-streetpunk-replacement-102 + accent-streetpunk-replaced-103: accent-streetpunk-replacement-103 + accent-streetpunk-replaced-104: accent-streetpunk-replacement-104 + accent-streetpunk-replaced-105: accent-streetpunk-replacement-105 + accent-streetpunk-replaced-106: accent-streetpunk-replacement-106 + accent-streetpunk-replaced-107: accent-streetpunk-replacement-107 + accent-streetpunk-replaced-108: accent-streetpunk-replacement-108 + accent-streetpunk-replaced-109: accent-streetpunk-replacement-109 + accent-streetpunk-replaced-110: accent-streetpunk-replacement-110 + accent-streetpunk-replaced-111: accent-streetpunk-replacement-111 + accent-streetpunk-replaced-112: accent-streetpunk-replacement-112 + accent-streetpunk-replaced-113: accent-streetpunk-replacement-113 + accent-streetpunk-replaced-114: accent-streetpunk-replacement-114 + accent-streetpunk-replaced-115: accent-streetpunk-replacement-115 + accent-streetpunk-replaced-116: accent-streetpunk-replacement-116 + accent-streetpunk-replaced-117: accent-streetpunk-replacement-117 + accent-streetpunk-replaced-118: accent-streetpunk-replacement-118 + accent-streetpunk-replaced-119: accent-streetpunk-replacement-119 + accent-streetpunk-replaced-120: accent-streetpunk-replacement-120 + accent-streetpunk-replaced-121: accent-streetpunk-replacement-121 + accent-streetpunk-replaced-122: accent-streetpunk-replacement-122 + accent-streetpunk-replaced-123: accent-streetpunk-replacement-123 + accent-streetpunk-replaced-124: accent-streetpunk-replacement-124 + accent-streetpunk-replaced-125: accent-streetpunk-replacement-125 + accent-streetpunk-replaced-126: accent-streetpunk-replacement-126 + accent-streetpunk-replaced-127: accent-streetpunk-replacement-127 + accent-streetpunk-replaced-128: accent-streetpunk-replacement-128 + accent-streetpunk-replaced-129: accent-streetpunk-replacement-129 + accent-streetpunk-replaced-130: accent-streetpunk-replacement-130 + accent-streetpunk-replaced-131: accent-streetpunk-replacement-131 + accent-streetpunk-replaced-132: accent-streetpunk-replacement-132 + accent-streetpunk-replaced-133: accent-streetpunk-replacement-133 + accent-streetpunk-replaced-134: accent-streetpunk-replacement-134 + accent-streetpunk-replaced-135: accent-streetpunk-replacement-135 + accent-streetpunk-replaced-136: accent-streetpunk-replacement-136 + accent-streetpunk-replaced-137: accent-streetpunk-replacement-137 + accent-streetpunk-replaced-138: accent-streetpunk-replacement-138 + accent-streetpunk-replaced-139: accent-streetpunk-replacement-139 + accent-streetpunk-replaced-140: accent-streetpunk-replacement-140 + accent-streetpunk-replaced-141: accent-streetpunk-replacement-141 + accent-streetpunk-replaced-142: accent-streetpunk-replacement-142 + accent-streetpunk-replaced-143: accent-streetpunk-replacement-143 + accent-streetpunk-replaced-144: accent-streetpunk-replacement-144 + accent-streetpunk-replaced-145: accent-streetpunk-replacement-145 + accent-streetpunk-replaced-146: accent-streetpunk-replacement-146 + accent-streetpunk-replaced-147: accent-streetpunk-replacement-147 + accent-streetpunk-replaced-148: accent-streetpunk-replacement-148 + accent-streetpunk-replaced-149: accent-streetpunk-replacement-149 + accent-streetpunk-replaced-150: accent-streetpunk-replacement-150 + accent-streetpunk-replaced-151: accent-streetpunk-replacement-151 + accent-streetpunk-replaced-152: accent-streetpunk-replacement-152 + accent-streetpunk-replaced-153: accent-streetpunk-replacement-153 + accent-streetpunk-replaced-154: accent-streetpunk-replacement-154 + accent-streetpunk-replaced-155: accent-streetpunk-replacement-155 + accent-streetpunk-replaced-156: accent-streetpunk-replacement-156 + accent-streetpunk-replaced-157: accent-streetpunk-replacement-157 + accent-streetpunk-replaced-158: accent-streetpunk-replacement-158 + accent-streetpunk-replaced-159: accent-streetpunk-replacement-159 + accent-streetpunk-replaced-160: accent-streetpunk-replacement-160 + accent-streetpunk-replaced-161: accent-streetpunk-replacement-161 + accent-streetpunk-replaced-162: accent-streetpunk-replacement-162 + accent-streetpunk-replaced-163: accent-streetpunk-replacement-163 + accent-streetpunk-replaced-164: accent-streetpunk-replacement-164 + accent-streetpunk-replaced-165: accent-streetpunk-replacement-165 + accent-streetpunk-replaced-166: accent-streetpunk-replacement-166 + accent-streetpunk-replaced-167: accent-streetpunk-replacement-167 + accent-streetpunk-replaced-168: accent-streetpunk-replacement-168 + accent-streetpunk-replaced-169: accent-streetpunk-replacement-169 + accent-streetpunk-replaced-170: accent-streetpunk-replacement-170 + accent-streetpunk-replaced-171: accent-streetpunk-replacement-171 + accent-streetpunk-replaced-172: accent-streetpunk-replacement-172 + accent-streetpunk-replaced-173: accent-streetpunk-replacement-173 + accent-streetpunk-replaced-174: accent-streetpunk-replacement-174 + accent-streetpunk-replaced-175: accent-streetpunk-replacement-175 + accent-streetpunk-replaced-176: accent-streetpunk-replacement-176 + accent-streetpunk-replaced-177: accent-streetpunk-replacement-177 + accent-streetpunk-replaced-178: accent-streetpunk-replacement-178 + accent-streetpunk-replaced-179: accent-streetpunk-replacement-179 + accent-streetpunk-replaced-180: accent-streetpunk-replacement-180 + accent-streetpunk-replaced-181: accent-streetpunk-replacement-181 + accent-streetpunk-replaced-182: accent-streetpunk-replacement-182 + accent-streetpunk-replaced-183: accent-streetpunk-replacement-183 + accent-streetpunk-replaced-184: accent-streetpunk-replacement-184 + accent-streetpunk-replaced-185: accent-streetpunk-replacement-185 + accent-streetpunk-replaced-186: accent-streetpunk-replacement-186 + accent-streetpunk-replaced-187: accent-streetpunk-replacement-187 + accent-streetpunk-replaced-188: accent-streetpunk-replacement-188 + accent-streetpunk-replaced-189: accent-streetpunk-replacement-189 + accent-streetpunk-replaced-190: accent-streetpunk-replacement-190 + accent-streetpunk-replaced-191: accent-streetpunk-replacement-191 + accent-streetpunk-replaced-192: accent-streetpunk-replacement-192 + accent-streetpunk-replaced-193: accent-streetpunk-replacement-193 + accent-streetpunk-replaced-194: accent-streetpunk-replacement-194 + accent-streetpunk-replaced-195: accent-streetpunk-replacement-195 + accent-streetpunk-replaced-196: accent-streetpunk-replacement-196 + accent-streetpunk-replaced-197: accent-streetpunk-replacement-197 + accent-streetpunk-replaced-198: accent-streetpunk-replacement-198 + accent-streetpunk-replaced-199: accent-streetpunk-replacement-199 + accent-streetpunk-replaced-200: accent-streetpunk-replacement-200 + accent-streetpunk-replaced-201: accent-streetpunk-replacement-201 + accent-streetpunk-replaced-202: accent-streetpunk-replacement-202 + accent-streetpunk-replaced-203: accent-streetpunk-replacement-203 + accent-streetpunk-replaced-204: accent-streetpunk-replacement-204 + accent-streetpunk-replaced-205: accent-streetpunk-replacement-205 + accent-streetpunk-replaced-206: accent-streetpunk-replacement-206 + accent-streetpunk-replaced-207: accent-streetpunk-replacement-207 + accent-streetpunk-replaced-208: accent-streetpunk-replacement-208 + accent-streetpunk-replaced-209: accent-streetpunk-replacement-209 + accent-streetpunk-replaced-210: accent-streetpunk-replacement-210 + accent-streetpunk-replaced-211: accent-streetpunk-replacement-211 + accent-streetpunk-replaced-212: accent-streetpunk-replacement-212 + accent-streetpunk-replaced-213: accent-streetpunk-replacement-213 + accent-streetpunk-replaced-214: accent-streetpunk-replacement-214 + accent-streetpunk-replaced-215: accent-streetpunk-replacement-215 + accent-streetpunk-replaced-216: accent-streetpunk-replacement-216 + accent-streetpunk-replaced-217: accent-streetpunk-replacement-217 + accent-streetpunk-replaced-218: accent-streetpunk-replacement-218 + accent-streetpunk-replaced-219: accent-streetpunk-replacement-219 + accent-streetpunk-replaced-220: accent-streetpunk-replacement-220 + accent-streetpunk-replaced-221: accent-streetpunk-replacement-221 + accent-streetpunk-replaced-222: accent-streetpunk-replacement-222 + accent-streetpunk-replaced-223: accent-streetpunk-replacement-223 + accent-streetpunk-replaced-224: accent-streetpunk-replacement-224 + accent-streetpunk-replaced-225: accent-streetpunk-replacement-225 + accent-streetpunk-replaced-226: accent-streetpunk-replacement-226 + accent-streetpunk-replaced-227: accent-streetpunk-replacement-227 + accent-streetpunk-replaced-228: accent-streetpunk-replacement-228 + accent-streetpunk-replaced-229: accent-streetpunk-replacement-229 + accent-streetpunk-replaced-230: accent-streetpunk-replacement-230 + accent-streetpunk-replaced-231: accent-streetpunk-replacement-231 + accent-streetpunk-replaced-232: accent-streetpunk-replacement-232 + accent-streetpunk-replaced-233: accent-streetpunk-replacement-233 + accent-streetpunk-replaced-234: accent-streetpunk-replacement-234 + accent-streetpunk-replaced-235: accent-streetpunk-replacement-235 + accent-streetpunk-replaced-236: accent-streetpunk-replacement-236 + accent-streetpunk-replaced-237: accent-streetpunk-replacement-237 + accent-streetpunk-replaced-238: accent-streetpunk-replacement-238 + accent-streetpunk-replaced-239: accent-streetpunk-replacement-239 + accent-streetpunk-replaced-240: accent-streetpunk-replacement-240 + accent-streetpunk-replaced-241: accent-streetpunk-replacement-241 + accent-streetpunk-replaced-242: accent-streetpunk-replacement-242 + accent-streetpunk-replaced-243: accent-streetpunk-replacement-243 + accent-streetpunk-replaced-244: accent-streetpunk-replacement-244 + accent-streetpunk-replaced-245: accent-streetpunk-replacement-245 + accent-streetpunk-replaced-246: accent-streetpunk-replacement-246 + accent-streetpunk-replaced-247: accent-streetpunk-replacement-247 + accent-streetpunk-replaced-248: accent-streetpunk-replacement-248 + accent-streetpunk-replaced-249: accent-streetpunk-replacement-249 + accent-streetpunk-replaced-250: accent-streetpunk-replacement-250 + accent-streetpunk-replaced-251: accent-streetpunk-replacement-251 + accent-streetpunk-replaced-252: accent-streetpunk-replacement-252 + accent-streetpunk-replaced-253: accent-streetpunk-replacement-253 + accent-streetpunk-replaced-254: accent-streetpunk-replacement-254 + accent-streetpunk-replaced-255: accent-streetpunk-replacement-255 + accent-streetpunk-replaced-256: accent-streetpunk-replacement-256 + accent-streetpunk-replaced-257: accent-streetpunk-replacement-257 + accent-streetpunk-replaced-258: accent-streetpunk-replacement-258 + accent-streetpunk-replaced-259: accent-streetpunk-replacement-259 + accent-streetpunk-replaced-260: accent-streetpunk-replacement-260 + accent-streetpunk-replaced-261: accent-streetpunk-replacement-261 + accent-streetpunk-replaced-262: accent-streetpunk-replacement-262 + accent-streetpunk-replaced-263: accent-streetpunk-replacement-263 + accent-streetpunk-replaced-264: accent-streetpunk-replacement-264 + accent-streetpunk-replaced-265: accent-streetpunk-replacement-265 + accent-streetpunk-replaced-266: accent-streetpunk-replacement-266 + accent-streetpunk-replaced-267: accent-streetpunk-replacement-267 + accent-streetpunk-replaced-268: accent-streetpunk-replacement-268 + accent-streetpunk-replaced-269: accent-streetpunk-replacement-269 + accent-streetpunk-replaced-270: accent-streetpunk-replacement-270 + accent-streetpunk-replaced-271: accent-streetpunk-replacement-271 + accent-streetpunk-replaced-272: accent-streetpunk-replacement-272 + accent-streetpunk-replaced-273: accent-streetpunk-replacement-273 + accent-streetpunk-replaced-274: accent-streetpunk-replacement-274 + accent-streetpunk-replaced-275: accent-streetpunk-replacement-275 + accent-streetpunk-replaced-276: accent-streetpunk-replacement-276 + accent-streetpunk-replaced-277: accent-streetpunk-replacement-277 + accent-streetpunk-replaced-278: accent-streetpunk-replacement-278 + accent-streetpunk-replaced-279: accent-streetpunk-replacement-279 + accent-streetpunk-replaced-280: accent-streetpunk-replacement-280 + accent-streetpunk-replaced-281: accent-streetpunk-replacement-281 + accent-streetpunk-replaced-282: accent-streetpunk-replacement-282 + accent-streetpunk-replaced-283: accent-streetpunk-replacement-283 + accent-streetpunk-replaced-284: accent-streetpunk-replacement-284 + accent-streetpunk-replaced-285: accent-streetpunk-replacement-285 + accent-streetpunk-replaced-286: accent-streetpunk-replacement-286 + accent-streetpunk-replaced-287: accent-streetpunk-replacement-287 + accent-streetpunk-replaced-288: accent-streetpunk-replacement-288 + accent-streetpunk-replaced-289: accent-streetpunk-replacement-289 + accent-streetpunk-replaced-290: accent-streetpunk-replacement-290 + accent-streetpunk-replaced-291: accent-streetpunk-replacement-291 + accent-streetpunk-replaced-292: accent-streetpunk-replacement-292 + accent-streetpunk-replaced-293: accent-streetpunk-replacement-293 + accent-streetpunk-replaced-294: accent-streetpunk-replacement-294 + accent-streetpunk-replaced-295: accent-streetpunk-replacement-295 + accent-streetpunk-replaced-296: accent-streetpunk-replacement-296 + accent-streetpunk-replaced-297: accent-streetpunk-replacement-297 + accent-streetpunk-replaced-298: accent-streetpunk-replacement-298 + accent-streetpunk-replaced-299: accent-streetpunk-replacement-299 + accent-streetpunk-replaced-300: accent-streetpunk-replacement-300 + accent-streetpunk-replaced-301: accent-streetpunk-replacement-301 + accent-streetpunk-replaced-302: accent-streetpunk-replacement-302 + accent-streetpunk-replaced-303: accent-streetpunk-replacement-303 + accent-streetpunk-replaced-304: accent-streetpunk-replacement-304 + accent-streetpunk-replaced-305: accent-streetpunk-replacement-305 + accent-streetpunk-replaced-306: accent-streetpunk-replacement-306 + accent-streetpunk-replaced-307: accent-streetpunk-replacement-307 + accent-streetpunk-replaced-308: accent-streetpunk-replacement-308 + accent-streetpunk-replaced-309: accent-streetpunk-replacement-309 + accent-streetpunk-replaced-310: accent-streetpunk-replacement-310 + accent-streetpunk-replaced-311: accent-streetpunk-replacement-311 + accent-streetpunk-replaced-312: accent-streetpunk-replacement-312 + accent-streetpunk-replaced-313: accent-streetpunk-replacement-313 + accent-streetpunk-replaced-314: accent-streetpunk-replacement-314 + accent-streetpunk-replaced-315: accent-streetpunk-replacement-315 + accent-streetpunk-replaced-316: accent-streetpunk-replacement-316 + accent-streetpunk-replaced-317: accent-streetpunk-replacement-317 + accent-streetpunk-replaced-318: accent-streetpunk-replacement-318 + accent-streetpunk-replaced-319: accent-streetpunk-replacement-319 + accent-streetpunk-replaced-320: accent-streetpunk-replacement-320 + accent-streetpunk-replaced-321: accent-streetpunk-replacement-321 + accent-streetpunk-replaced-322: accent-streetpunk-replacement-322 + accent-streetpunk-replaced-323: accent-streetpunk-replacement-323 + accent-streetpunk-replaced-324: accent-streetpunk-replacement-324 + accent-streetpunk-replaced-325: accent-streetpunk-replacement-325 + accent-streetpunk-replaced-326: accent-streetpunk-replacement-326 + accent-streetpunk-replaced-327: accent-streetpunk-replacement-327 + accent-streetpunk-replaced-328: accent-streetpunk-replacement-328 + accent-streetpunk-replaced-329: accent-streetpunk-replacement-329 + accent-streetpunk-replaced-330: accent-streetpunk-replacement-330 + accent-streetpunk-replaced-331: accent-streetpunk-replacement-331 + accent-streetpunk-replaced-332: accent-streetpunk-replacement-332 + accent-streetpunk-replaced-333: accent-streetpunk-replacement-333 + accent-streetpunk-replaced-334: accent-streetpunk-replacement-334 + accent-streetpunk-replaced-335: accent-streetpunk-replacement-335 + accent-streetpunk-replaced-336: accent-streetpunk-replacement-336 + accent-streetpunk-replaced-337: accent-streetpunk-replacement-337 + accent-streetpunk-replaced-338: accent-streetpunk-replacement-338 + accent-streetpunk-replaced-339: accent-streetpunk-replacement-339 + accent-streetpunk-replaced-340: accent-streetpunk-replacement-340 + accent-streetpunk-replaced-341: accent-streetpunk-replacement-341 + accent-streetpunk-replaced-342: accent-streetpunk-replacement-342 + accent-streetpunk-replaced-343: accent-streetpunk-replacement-343 + +- type: accent + id: caveman + wordReplacements: + accent-caveman-replaced-0: accent-caveman-replacement-0 + accent-caveman-replaced-1: accent-caveman-replacement-1 + accent-caveman-replaced-2: accent-caveman-replacement-2 + accent-caveman-replaced-3: accent-caveman-replacement-3 + accent-caveman-replaced-4: accent-caveman-replacement-4 + accent-caveman-replaced-5: accent-caveman-replacement-5 + accent-caveman-replaced-6: accent-caveman-replacement-6 + accent-caveman-replaced-7: accent-caveman-replacement-7 + accent-caveman-replaced-8: accent-caveman-replacement-8 + accent-caveman-replaced-9: accent-caveman-replacement-9 + accent-caveman-replaced-10: accent-caveman-replacement-10 + accent-caveman-replaced-11: accent-caveman-replacement-11 + accent-caveman-replaced-12: accent-caveman-replacement-12 + accent-caveman-replaced-13: accent-caveman-replacement-13 + accent-caveman-replaced-14: accent-caveman-replacement-14 + accent-caveman-replaced-15: accent-caveman-replacement-15 + accent-caveman-replaced-16: accent-caveman-replacement-16 + accent-caveman-replaced-17: accent-caveman-replacement-17 + accent-caveman-replaced-18: accent-caveman-replacement-18 + accent-caveman-replaced-19: accent-caveman-replacement-19 + accent-caveman-replaced-20: accent-caveman-replacement-20 + accent-caveman-replaced-21: accent-caveman-replacement-21 + accent-caveman-replaced-22: accent-caveman-replacement-22 + accent-caveman-replaced-23: accent-caveman-replacement-23 + accent-caveman-replaced-24: accent-caveman-replacement-24 + accent-caveman-replaced-25: accent-caveman-replacement-25 + accent-caveman-replaced-26: accent-caveman-replacement-26 + accent-caveman-replaced-27: accent-caveman-replacement-27 + accent-caveman-replaced-28: accent-caveman-replacement-28 + accent-caveman-replaced-29: accent-caveman-replacement-29 + accent-caveman-replaced-30: accent-caveman-replacement-30 + accent-caveman-replaced-31: accent-caveman-replacement-31 + accent-caveman-replaced-32: accent-caveman-replacement-32 + accent-caveman-replaced-33: accent-caveman-replacement-33 + accent-caveman-replaced-34: accent-caveman-replacement-34 + accent-caveman-replaced-35: accent-caveman-replacement-35 + accent-caveman-replaced-36: accent-caveman-replacement-36 + accent-caveman-replaced-37: accent-caveman-replacement-37 + accent-caveman-replaced-38: accent-caveman-replacement-38 + accent-caveman-replaced-39: accent-caveman-replacement-39 + accent-caveman-replaced-40: accent-caveman-replacement-40 + accent-caveman-replaced-41: accent-caveman-replacement-41 + accent-caveman-replaced-42: accent-caveman-replacement-42 + accent-caveman-replaced-43: accent-caveman-replacement-43 + accent-caveman-replaced-44: accent-caveman-replacement-44 + accent-caveman-replaced-45: accent-caveman-replacement-45 + accent-caveman-replaced-46: accent-caveman-replacement-46 + accent-caveman-replaced-47: accent-caveman-replacement-47 + accent-caveman-replaced-48: accent-caveman-replacement-48 + accent-caveman-replaced-49: accent-caveman-replacement-49 + accent-caveman-replaced-50: accent-caveman-replacement-50 + accent-caveman-replaced-51: accent-caveman-replacement-51 + accent-caveman-replaced-52: accent-caveman-replacement-52 + accent-caveman-replaced-53: accent-caveman-replacement-53 + accent-caveman-replaced-54: accent-caveman-replacement-54 + accent-caveman-replaced-55: accent-caveman-replacement-55 + accent-caveman-replaced-56: accent-caveman-replacement-56 + accent-caveman-replaced-57: accent-caveman-replacement-57 + accent-caveman-replaced-58: accent-caveman-replacement-58 + accent-caveman-replaced-59: accent-caveman-replacement-59 + accent-caveman-replaced-60: accent-caveman-replacement-60 + accent-caveman-replaced-61: accent-caveman-replacement-61 + accent-caveman-replaced-62: accent-caveman-replacement-62 + accent-caveman-replaced-63: accent-caveman-replacement-63 + accent-caveman-replaced-64: accent-caveman-replacement-64 + accent-caveman-replaced-65: accent-caveman-replacement-65 + accent-caveman-replaced-66: accent-caveman-replacement-66 + accent-caveman-replaced-67: accent-caveman-replacement-67 + accent-caveman-replaced-68: accent-caveman-replacement-68 + accent-caveman-replaced-69: accent-caveman-replacement-69 + accent-caveman-replaced-70: accent-caveman-replacement-70 + accent-caveman-replaced-71: accent-caveman-replacement-71 + accent-caveman-replaced-72: accent-caveman-replacement-72 + accent-caveman-replaced-73: accent-caveman-replacement-73 + accent-caveman-replaced-74: accent-caveman-replacement-74 + accent-caveman-replaced-75: accent-caveman-replacement-75 + accent-caveman-replaced-76: accent-caveman-replacement-76 + accent-caveman-replaced-77: accent-caveman-replacement-77 + accent-caveman-replaced-78: accent-caveman-replacement-78 + accent-caveman-replaced-79: accent-caveman-replacement-79 + accent-caveman-replaced-80: accent-caveman-replacement-80 + accent-caveman-replaced-81: accent-caveman-replacement-81 + accent-caveman-replaced-82: accent-caveman-replacement-82 + accent-caveman-replaced-83: accent-caveman-replacement-83 + accent-caveman-replaced-84: accent-caveman-replacement-84 + accent-caveman-replaced-85: accent-caveman-replacement-85 + accent-caveman-replaced-86: accent-caveman-replacement-86 + accent-caveman-replaced-87: accent-caveman-replacement-87 + accent-caveman-replaced-88: accent-caveman-replacement-88 + accent-caveman-replaced-89: accent-caveman-replacement-89 + accent-caveman-replaced-90: accent-caveman-replacement-90 + accent-caveman-replaced-91: accent-caveman-replacement-91 + accent-caveman-replaced-92: accent-caveman-replacement-92 + accent-caveman-replaced-93: accent-caveman-replacement-93 + accent-caveman-replaced-94: accent-caveman-replacement-94 + accent-caveman-replaced-95: accent-caveman-replacement-95 + accent-caveman-replaced-96: accent-caveman-replacement-96 + accent-caveman-replaced-97: accent-caveman-replacement-97 + accent-caveman-replaced-98: accent-caveman-replacement-98 + accent-caveman-replaced-99: accent-caveman-replacement-99 + accent-caveman-replaced-100: accent-caveman-replacement-100 + accent-caveman-replaced-101: accent-caveman-replacement-101 + accent-caveman-replaced-102: accent-caveman-replacement-102 + accent-caveman-replaced-103: accent-caveman-replacement-103 + accent-caveman-replaced-104: accent-caveman-replacement-104 + accent-caveman-replaced-105: accent-caveman-replacement-105 + accent-caveman-replaced-106: accent-caveman-replacement-106 + accent-caveman-replaced-107: accent-caveman-replacement-107 + accent-caveman-replaced-108: accent-caveman-replacement-108 + accent-caveman-replaced-109: accent-caveman-replacement-109 + accent-caveman-replaced-110: accent-caveman-replacement-110 + accent-caveman-replaced-111: accent-caveman-replacement-111 + accent-caveman-replaced-112: accent-caveman-replacement-112 + accent-caveman-replaced-113: accent-caveman-replacement-113 + accent-caveman-replaced-114: accent-caveman-replacement-114 + accent-caveman-replaced-115: accent-caveman-replacement-115 + accent-caveman-replaced-116: accent-caveman-replacement-116 + accent-caveman-replaced-117: accent-caveman-replacement-117 + accent-caveman-replaced-118: accent-caveman-replacement-118 + accent-caveman-replaced-119: accent-caveman-replacement-119 + accent-caveman-replaced-120: accent-caveman-replacement-120 + accent-caveman-replaced-121: accent-caveman-replacement-121 + accent-caveman-replaced-122: accent-caveman-replacement-122 + accent-caveman-replaced-123: accent-caveman-replacement-123 + accent-caveman-replaced-124: accent-caveman-replacement-124 + accent-caveman-replaced-125: accent-caveman-replacement-125 + accent-caveman-replaced-126: accent-caveman-replacement-126 + accent-caveman-replaced-127: accent-caveman-replacement-127 + accent-caveman-replaced-128: accent-caveman-replacement-128 + accent-caveman-replaced-129: accent-caveman-replacement-129 + accent-caveman-replaced-130: accent-caveman-replacement-130 + accent-caveman-replaced-131: accent-caveman-replacement-131 + accent-caveman-replaced-132: accent-caveman-replacement-132 + accent-caveman-replaced-133: accent-caveman-replacement-133 + accent-caveman-replaced-134: accent-caveman-replacement-134 + accent-caveman-replaced-135: accent-caveman-replacement-135 + accent-caveman-replaced-136: accent-caveman-replacement-136 + accent-caveman-replaced-137: accent-caveman-replacement-137 + accent-caveman-replaced-138: accent-caveman-replacement-138 + # Forbidden words + accent-caveman-forbidden-0: accent-caveman-forbidden-empty + accent-caveman-forbidden-1: accent-caveman-forbidden-empty + accent-caveman-forbidden-2: accent-caveman-forbidden-empty + accent-caveman-forbidden-3: accent-caveman-forbidden-empty + accent-caveman-forbidden-4: accent-caveman-forbidden-empty + accent-caveman-forbidden-5: accent-caveman-forbidden-empty + accent-caveman-forbidden-6: accent-caveman-forbidden-empty + accent-caveman-forbidden-7: accent-caveman-forbidden-empty + accent-caveman-forbidden-8: accent-caveman-forbidden-empty + accent-caveman-forbidden-9: accent-caveman-forbidden-empty + accent-caveman-forbidden-10: accent-caveman-forbidden-empty + accent-caveman-forbidden-11: accent-caveman-forbidden-empty + accent-caveman-forbidden-12: accent-caveman-forbidden-empty + accent-caveman-forbidden-13: accent-caveman-forbidden-empty + accent-caveman-forbidden-14: accent-caveman-forbidden-empty + accent-caveman-forbidden-15: accent-caveman-forbidden-empty + accent-caveman-forbidden-16: accent-caveman-forbidden-empty + accent-caveman-forbidden-17: accent-caveman-forbidden-empty diff --git a/Resources/Prototypes/_NF/Body/Organs/goblin_organs.yml b/Resources/Prototypes/_NF/Body/Organs/goblin_organs.yml new file mode 100644 index 00000000000000..75f6a82641a8e0 --- /dev/null +++ b/Resources/Prototypes/_NF/Body/Organs/goblin_organs.yml @@ -0,0 +1,180 @@ +- type: entity + parent: OrganHumanBrain + id: OrganGoblinBrain + name: brain + suffix: Goblin + description: "The source of your woes." + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/organs.rsi + state: brain + - type: Organ + - type: Input + context: "ghost" + - type: Brain + - type: InputMover + - type: Examiner + - type: BlockMovement + - type: BadFood + - type: Tag + tags: + - Meat + +- type: entity + parent: OrganHumanEyes + id: OrganGoblinEyes + name: eyes + suffix: Goblin + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/organs.rsi + layers: + - state: eyeball-l + - state: eyeball-r + +- type: entity + parent: OrganHumanTongue + id: OrganGoblinTongue + name: tongue + suffix: Goblin + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/organs.rsi + state: tongue + +- type: entity + parent: OrganHumanAppendix + id: OrganGoblinAppendix + name: appendix + suffix: Goblin + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/organs.rsi + layers: + - state: appendix + - state: appendix-inflamed + visible: false + +- type: entity + parent: OrganHumanEars + id: OrganGoblinEars + name: ears + suffix: Goblin + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/organs.rsi + state: ears + +- type: entity + parent: BaseHumanOrgan + id: OrganGoblinLungs + name: lungs + suffix: Goblin + description: "They breathe business." + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/organs.rsi + layers: + - state: lung-l + - state: lung-r + - type: Lung + - type: Metabolizer + removeEmpty: true + solutionOnBody: false + solution: "Lung" + metabolizerTypes: [ Animal ] + groups: + - id: Gas + rateModifier: 100.0 + - type: SolutionContainerManager + solutions: + organ: + reagents: + - ReagentId: Nutriment + Quantity: 10 + Lung: + maxVol: 100.0 + canReact: false + food: + maxVol: 5 + reagents: + - ReagentId: UncookedAnimalProteins + Quantity: 5 + +- type: entity + parent: OrganHumanHeart + id: OrganGoblinHeart + name: heart + suffix: Goblin + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/organs.rsi + state: heart-on + - type: Metabolizer + metabolizerTypes: [ Goblin ] + +- type: entity + parent: [ OrganHumanStomach, OrganAnimalStomach ] + id: OrganGoblinStomach + name: stomach + suffix: Goblin + description: "Shrooms go in here." + categories: [ HideSpawnMenu ] + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/organs.rsi + state: stomach + - type: SolutionContainerManager + solutions: + stomach: + maxVol: 50 + food: + maxVol: 5 + reagents: + - ReagentId: UncookedAnimalProteins + Quantity: 5 + - type: Stomach + - type: Metabolizer + maxReagents: 3 + metabolizerTypes: [ Animal ] # [ Goblin ] + removeEmpty: true + groups: + - id: Food + - id: Drink + - id: Medicine + - id: Poison + - id: Narcotic + - id: Alcohol + +- type: entity + parent: OrganHumanLiver + id: OrganGoblinLiver + name: liver + suffix: Goblin + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/organs.rsi + state: liver + - type: Metabolizer # The liver metabolizes certain chemicals only, like alcohol. + maxReagents: 1 + metabolizerTypes: [ Goblin ] + groups: + - id: Alcohol + rateModifier: 0.1 # removes alcohol very slowly along with the stomach removing it as a drink + +- type: entity + parent: OrganHumanKidneys + id: OrganGoblinKidneys + name: kidneys + suffix: Goblin + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/organs.rsi + layers: + - state: kidney-l + - state: kidney-r + # The kidneys just remove anything that doesn't currently have any metabolisms, as a stopgap. + - type: Metabolizer + maxReagents: 5 + metabolizerTypes: [ Animal ] + removeEmpty: true diff --git a/Resources/Prototypes/_NF/Body/Parts/goblin_parts.yml b/Resources/Prototypes/_NF/Body/Parts/goblin_parts.yml new file mode 100644 index 00000000000000..372699d020f689 --- /dev/null +++ b/Resources/Prototypes/_NF/Body/Parts/goblin_parts.yml @@ -0,0 +1,117 @@ +- type: entity + id: PartGoblin + parent: [BaseItem, BasePart] + name: "goblin body part" + abstract: true + components: + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Fat + Quantity: 3 + - ReagentId: GoblinBlood + Quantity: 10 + +- type: entity + id: TorsoGoblin + name: "Goblin torso" + parent: [PartGoblin, BaseTorso] + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: "torso_m" + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Fat + Quantity: 10 + - ReagentId: GoblinBlood + Quantity: 20 + +- type: entity + id: HeadGoblin + name: "Goblin head" + parent: [PartGoblin, BaseHead] + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: "head_m" + - type: Extractable + juiceSolution: + reagents: + - ReagentId: Fat + Quantity: 5 + - ReagentId: GoblinBlood + Quantity: 10 + +- type: entity + id: LeftArmGoblin + name: "left Goblin arm" + parent: [PartGoblin, BaseLeftArm] + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: "l_arm" + +- type: entity + id: RightArmGoblin + name: "right Goblin arm" + parent: [PartGoblin, BaseRightArm] + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: "r_arm" + +- type: entity + id: LeftHandGoblin + name: "left Goblin hand" + parent: [PartGoblin, BaseLeftHand] + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: "l_hand" + +- type: entity + id: RightHandGoblin + name: "right Goblin hand" + parent: [PartGoblin, BaseRightHand] + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: "r_hand" + +- type: entity + id: LeftLegGoblin + name: "left Goblin leg" + parent: [PartGoblin, BaseLeftLeg] + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: "l_leg" + +- type: entity + id: RightLegGoblin + name: "right Goblin leg" + parent: [PartGoblin, BaseRightLeg] + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: "r_leg" + +- type: entity + id: LeftFootGoblin + name: "left Goblin foot" + parent: [PartGoblin, BaseLeftFoot] + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: "l_foot" + +- type: entity + id: RightFootGoblin + name: "right Goblin foot" + parent: [PartGoblin, BaseRightFoot] + components: + - type: Sprite + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: "r_foot" diff --git a/Resources/Prototypes/_NF/Body/Prototypes/goblin.yml b/Resources/Prototypes/_NF/Body/Prototypes/goblin.yml new file mode 100644 index 00000000000000..c88459df54a8dc --- /dev/null +++ b/Resources/Prototypes/_NF/Body/Prototypes/goblin.yml @@ -0,0 +1,49 @@ +- type: body + id: Goblin + name: "goblin" + root: torso + slots: + head: + part: HeadGoblin + connections: + - torso + organs: + brain: OrganGoblinBrain + eyes: OrganGoblinEyes + torso: + part: TorsoGoblin + connections: + - right arm + - left arm + - right leg + - left leg + organs: + heart: OrganGoblinHeart + lungs: OrganGoblinLungs + stomach: OrganGoblinStomach + liver: OrganGoblinLiver + kidneys: OrganGoblinKidneys + right arm: + part: RightArmGoblin + connections: + - right hand + left arm: + part: LeftArmGoblin + connections: + - left hand + right hand: + part: RightHandGoblin + left hand: + part: LeftHandGoblin + right leg: + part: RightLegGoblin + connections: + - right foot + left leg: + part: LeftLegGoblin + connections: + - left foot + right foot: + part: RightFootGoblin + left foot: + part: LeftFootGoblin diff --git a/Resources/Prototypes/_NF/Chemistry/metabolizer_types.yml b/Resources/Prototypes/_NF/Chemistry/metabolizer_types.yml new file mode 100644 index 00000000000000..5d9c0c6ce1dd96 --- /dev/null +++ b/Resources/Prototypes/_NF/Chemistry/metabolizer_types.yml @@ -0,0 +1,6 @@ +# If your species wants to metabolize stuff differently, +# you'll likely have to tag its metabolizers with something other than Human. + +- type: metabolizerType #Frontier + id: Goblin #Frontier + name: metabolizer-type-goblin #Frontier diff --git a/Resources/Prototypes/_NF/Damage/modifier_sets.yml b/Resources/Prototypes/_NF/Damage/modifier_sets.yml new file mode 100644 index 00000000000000..42d361c6b030a9 --- /dev/null +++ b/Resources/Prototypes/_NF/Damage/modifier_sets.yml @@ -0,0 +1,8 @@ +- type: damageModifierSet + id: Goblin + coefficients: + Blunt: 1.2 + Slash: 1.2 + Piercing: 1.2 + Poison: 0.75 + Caustic: 0.9 diff --git a/Resources/Prototypes/_NF/Datasets/Names/goblin_names_female.yml b/Resources/Prototypes/_NF/Datasets/Names/goblin_names_female.yml new file mode 100644 index 00000000000000..bbbab4f90f9572 --- /dev/null +++ b/Resources/Prototypes/_NF/Datasets/Names/goblin_names_female.yml @@ -0,0 +1,212 @@ +# used this tool: https://www.fantasynamegenerators.com/goblin-names.php +- type: dataset + id: names_goblin_female + values: + - Milm + - Tulxe + - Choisz + - Sogs + - Igsa + - Phupaangai + - Iemolk + - Rahuxee + - Sterzirtea + - Liablule + - Guirx + - Sluigs + - Qil + - Prilx + - Sroifs + - Klelrusha + - Phoshaxia + - Stulzoix + - Wrivuish + - Fiorift + - Vraft + - Preafse + - Pash + - Swosx + - Ilia + - Otvold + - Bheaneaszai + - Ykift + - Qugogsai + - Kiafezz + - Ben + - Grynx + - Chilea + - Glink + - Vriaf + - Blirmynqai + - Gnalzess + - Hahzufz + - Tumafz + - Khopsiex + - Ohx + - Yhxee + - Teefea + - Vrolt + - Eeq + - Sinuzzee + - Srohbesze + - Crosazi + - Flolgelda + - Cheeskoisx + - Gefz + - Srehea + - Phyx + - Slift + - Praq + - Truigeanx + - Riepienq + - Cheasseeng + - Prusdert + - Roivlulka + - Gnuix + - Gnuz + - Urx + - Chufsia + - Lulk + - Vobdelk + - Viosmoltai + - Rategs + - Prilralx + - Ciebalt + - Miesz + - Raafs + - Gnolt + - Shoildai + - Pieprean + - Aaftinxea + - Wrabaalk + - Wrioshaas + - Shopfeelde + - Fanx + - Lath + - Cult + - Prugs + - Crolma + - Mokzux + - Threekkozza + - Cloirsart + - Cegzexai + - Wreetzold + - Luns + - Mengee + - Glesxa + - Fliolm + - Jalk + - Blohkuszee + - Sletef + - Vornelt + - Gnaklixea + - Ielild + - Panx + - Thele + - Swylk + - Olx + - Sruimiangea + - Blaagzilk + - Gluilalt + - Nahdathai + - Ybniefsai + - Thresea + - Pialkai + - Trold + - Toisi + - Chigia + - Tigsinx + - Ieveq + - Wrersungea + - Tiltang + - Uhux + - Gnofs + - Grigs + - Fruiq + - Qofz + - Healxea + - Uimtuhx + - Fliebzols + - Boiplufta + - Veruni + - Vrumuingi + - Trig + - Swolm + - Braas + - Oshea + - Throinq + - Okin + - Cleruzee + - Pynoif + - Fentash + - Desriesh + - Sags + - Kluzea + - Ig + - Brolk + - Conga + - Phioflesx + - Thrumziss + - Vrubloildea + - Ophafz + - Srisburtee + - Chig + - Grurxi + - Frinkea + - Gnanx + - Flols + - Klovleerx + - Chebdielt + - Bliokness + - Bloigkiart + - Swegsoq + - Pragsee + - Shien + - Soinq + - Shielt + - Fesi + - Gnermol + - Qiergufzai + - Khopsiaz + - Ovafsee + - Stegziaft + - Elt + - Blerti + - Dals + - Sliqa + - Paashia + - Ipug + - Mafnifa + - Flaatrush + - Saageqia + - Clumosx + - Cierxia + - Resx + - Phuift + - Vreh + - Frogs + - Gnulbiosx + - Hiemis + - Erraha + - Breavol + - Caakvong + - Prel + - Kleefai + - Eafz + - Eeshi + - Jysx + - Thosseagsia + - Uihboif + - Uibiesz + - Gryplilai + - Clietnon + - Glesx + - Moft + - Gnerte + - Riex + - Eng + - Irraaxai + - Chasizia + - Siogensia + - Thraarliotha + - Weagkeenkea diff --git a/Resources/Prototypes/_NF/Datasets/Names/goblin_names_last.yml b/Resources/Prototypes/_NF/Datasets/Names/goblin_names_last.yml new file mode 100644 index 00000000000000..0571547116b783 --- /dev/null +++ b/Resources/Prototypes/_NF/Datasets/Names/goblin_names_last.yml @@ -0,0 +1,214 @@ +# used this tool: https://www.fantasynamegenerators.com/goblin-wow-names.php +- type: dataset + id: names_goblin_last + values: + - Cutsnap + - Deadshift + - Smartrocket + - Peddlebeam + - Fiztwist + - Shiftcharge + - Craftsteam + - Vividgleam + - Boltscrew + - Cheaprocket + - Sandcord + - Grimesnap + - Greedbulb + - Fizztale + - Silverbulb + - Steamhead + - Brokenbead + - Madgob + - Ficklegrubber + - Loosefluke + - Greasyblade + - Shadowcoat + - Fastboot + - Fizztongue + - Brisksprocket + - Smartbite + - Shiftfire + - Fartweak + - Grimeslice + - Lazyvolt + - Shortdirt + - Slickwick + - Cutgrubber + - Meanskimmer + - Blandchart + - Bentflame + - Powerbucket + - Fusetweak + - Rocketbeam + - Shrillhead + - Silvercheek + - Madsnap + - Botnozzle + - Agilescrew + - Boltflame + - Plainbuttons + - Niftgrubber + - Mantongue + - Rocketbeast + - Smugbite + - Manbite + - Groundbit + - Niftscrew + - Starkbomb + - Vexboot + - Saltsteam + - Toppocket + - Pickblast + - Looseclamp + - Plainbutton + - Multiwick + - Slysnap + - Slickgift + - Rockettooth + - Grimfault + - Falseclamp + - Leaftwist + - Fizzlemine + - Clearvolt + - Keenshiv + - Wildwick + - Mancoil + - Shiftrocket + - Boltwatts + - Shrillchart + - Glumpocket + - Meanhallow + - Vexspark + - Pickbub + - Slyflame + - Wrenchburst + - Dullbit + - Powertask + - Fizbeast + - Keentale + - Dampslice + - Greasymask + - Blindbrake + - Vexnose + - Boltblast + - Mudgleam + - Lazyfuel + - Goldpot + - Roughgift + - Gigashatter + - Peppergleam + - Steamshift + - Kneebutton + - Shadowpot + - Deadtweak + - Fiercewell + - Peppergrin + - Rashtask + - Meanfang + - Brokencharge + - Farjolt + - Greedmine + - Rustmask + - Moneybelt + - Fastsnipe + - Strongnozzle + - Cogcrook + - Fizzlebeast + - Multihead + - Multitwister + - Loosedrive + - Cheapflare + - Clearbucket + - Hagglewizzle + - Sparksmile + - Slytongue + - Lazyblade + - Multigear + - Kneeclamp + - Grapplerocket + - Falsefuel + - Fastnose + - Smallflame + - Falsegrubber + - Faintdoc + - Hardwrench + - Saltcord + - Greaseflow + - Blindbeam + - Vividhammer + - Meanhold + - Sandgrinder + - Smallbasher + - Moneyhammer + - Madknob + - Grapplecharge + - Silvergob + - Cogbite + - Botfuse + - Glumhammer + - Rashhead + - Sandhire + - Glumtongue + - Agilebit + - Blandbit + - Glumpatch + - Vividbelt + - Fizzbottom + - Cheapfeet + - Agilejolt + - Slickwrench + - Topwell + - Sharpdrive + - Slickfingers + - Greasyfang + - Glumspark + - Cutpinch + - Hardsnipe + - Sandmask + - Hagglebolt + - Wrenchdrive + - Greasykettle + - Silverbolt + - Falsepost + - Falseblaster + - Rustbelt + - Starkburst + - Cheapcharge + - Leafbite + - Hardracket + - Hardclamp + - Fasthold + - Grandblade + - Aridracket + - Multibuttons + - Grimeblade + - Fixbombs + - Fizzlechin + - Meanclamp + - Bentblaster + - Boomhammer + - Hardbuttons + - Megacoil + - Shadownose + - Brokenbomb + - Smartskimmer + - Ficklegrin + - Blinddirt + - Fusepot + - Topbucket + - Rustbomb + - Grimepocket + - Cheaptweak + - Shrillshiv + - Smugpinch + - Grimblade + - Keentongue + - Sandpot + - Meanhook + - Sandgrubber + - Saltblast + - Slyfire + - Foamscrew + - Fizzlebub + - Hardfault diff --git a/Resources/Prototypes/_NF/Datasets/Names/goblin_names_male.yml b/Resources/Prototypes/_NF/Datasets/Names/goblin_names_male.yml new file mode 100644 index 00000000000000..80c5f98c6e3e29 --- /dev/null +++ b/Resources/Prototypes/_NF/Datasets/Names/goblin_names_male.yml @@ -0,0 +1,213 @@ +# used this tool: https://www.fantasynamegenerators.com/goblin-names.php +- type: dataset + id: names_goblin_male + values: + - Crirt + - Weq + - Blaq + - Xork + - Jestuirm + - Storuq + - Eantard + - Zratnirt + - Granurd + - Srekz + - Srard + - Drenk + - Klaax + - Strias + - Glonyq + - Tamteard + - Stonieng + - Camard + - Drazdazz + - Fex + - Clonk + - Wriord + - Slac + - Trekt + - Vrulykt + - Pasking + - Crotrisz + - Igrus + - Udard + - Ezz + - Brerd + - Toc + - Weerm + - Waabs + - Srirbet + - Zivnaar + - Straabbeags + - Otaarx + - Xiotbeekz + - Iolb + - Tret + - Eazz + - Gnits + - Slax + - Clokakx + - Ihbird + - Stadsarx + - Slezlylb + - Wrultekx + - Klior + - Oilb + - Rielk + - Lakx + - Plisb + - Gneesits + - Riskuc + - Sredzerx + - Brolsukx + - Gleermiozz + - Bald + - Kralb + - Gnizz + - Jiec + - Vuq + - Zersoikt + - Alerk + - Klagat + - Filteerd + - Kriattialb + - Rort + - Striabs + - Glild + - Plieng + - Zreazz + - Irsucs + - Easox + - Bribsuird + - Crizots + - Oivoits + - Bluits + - Ceakx + - Freank + - Jebs + - Kragz + - Slahees + - Ynzeets + - Wiltik + - Irzarm + - Krieveq + - Ord + - Reect + - Fas + - Ploc + - Glelk + - Iabeasb + - Ytmusb + - Sliozlet + - Oibaakz + - Catbuit + - Fuk + - Bruikx + - Slaq + - Eec + - Liold + - Brodoit + - Zuiggat + - Kloreart + - Huigmeld + - Jumres + - Eegs + - Ig + - Erd + - Zeabs + - Brekx + - Eabeekx + - Bibdaats + - Greztaak + - Kledoilk + - Clidsuil + - Drurd + - Kuis + - Trerx + - Bulk + - Voikz + - Xogbiecs + - Zriostriesz + - Chysix + - Srodreebs + - Isoilx + - Struilx + - Ionk + - Xuiq + - Xukz + - Klats + - Trassabs + - Cliarit + - Plaareec + - Sroitlaact + - Zodnut + - Klield + - Brierx + - Brix + - Zard + - Bylx + - Strugder + - Troviazz + - Razgilb + - Featzags + - Creszord + - Sraal + - Srul + - Purk + - Zyts + - Jeard + - Cartazz + - Igzikx + - Tregmolx + - Striegdikt + - Golkiosz + - Eel + - Trarx + - Pux + - Ex + - Grict + - Ugbuis + - Lusroic + - Fotoigz + - Costract + - Trorzazz + - Gnok + - Kloirm + - Gaart + - Slugs + - Plobs + - Gnuglol + - Wrulkolx + - Branic + - Chusekt + - Plegmunk + - Cyzz + - Zrets + - Ubs + - Peaq + - Cherx + - Ugdurx + - Traakark + - Iehdoilx + - Biaskeas + - Zavzox + - Plialb + - Zaakt + - Stard + - Jaart + - Struld + - Sremakx + - Uvyr + - Xienriot + - Gryvosz + - Wedyr + - Wroirk + - Crigz + - Sraas + - Blox + - Gelb + - Gnolakz + - Abnylb + - Wruzekx + - Liogaz + - Vradseerd diff --git a/Resources/Prototypes/_NF/Entities/Clothing/Head/goblin_headwear.yml b/Resources/Prototypes/_NF/Entities/Clothing/Head/goblin_headwear.yml new file mode 100644 index 00000000000000..c9453a9ee42b5e --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Clothing/Head/goblin_headwear.yml @@ -0,0 +1,10 @@ +- type: entity + parent: ClothingHeadHatHoodWinterBase + id: ClothingHeadHatHoodGoblin + name: goblin traditional hood + categories: [ HideSpawnMenu ] + components: + - type: Sprite + sprite: _NF/Clothing/Head/Hoods/goblin_robe_hood.rsi + - type: Clothing + sprite: _NF/Clothing/Head/Hoods/goblin_robe_hood.rsi diff --git a/Resources/Prototypes/_NF/Entities/Clothing/OuterClothing/goblin_outerclothing.yml b/Resources/Prototypes/_NF/Entities/Clothing/OuterClothing/goblin_outerclothing.yml new file mode 100644 index 00000000000000..a5efdf9e7c3101 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Clothing/OuterClothing/goblin_outerclothing.yml @@ -0,0 +1,19 @@ +- type: entity + parent: ClothingOuterStorageToggleableBase + id: ClothingOuterCoatRobesGoblin + name: goblin robes + description: Traditional robes of goblinkind. Very regal. + components: + - type: Tag + tags: + - ClothingRobesGoblin + - type: Sprite + sprite: _NF/Clothing/OuterClothing/Coats/goblin_robes.rsi + - type: Clothing + sprite: _NF/Clothing/OuterClothing/Coats/goblin_robes.rsi + - type: ToggleableClothing + clothingPrototype: ClothingHeadHatHoodGoblin + slot: head + - type: Construction + graph: ClothingOuterCoatRobesGoblinGraph + node: ClothingOuterCoatRobesGoblinNode diff --git a/Resources/Prototypes/_NF/Entities/Mobs/Customization/Markings/goblin_markings.yml b/Resources/Prototypes/_NF/Entities/Mobs/Customization/Markings/goblin_markings.yml new file mode 100644 index 00000000000000..a1c093feff8bf8 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Mobs/Customization/Markings/goblin_markings.yml @@ -0,0 +1,92 @@ +# Goblin Ears +- type: marking + id: GoblinEarsBasic + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Goblin] + sprites: + - sprite: _NF/Mobs/Customization/goblin_ears.rsi + state: goblin_ears_default + +- type: marking + id: GoblinEarsBasicAlt + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Goblin] + sprites: + - sprite: _NF/Mobs/Customization/goblin_ears.rsi + state: goblin_ears_default_alt + +- type: marking + id: GoblinEarsLong01 + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Goblin] + sprites: + - sprite: _NF/Mobs/Customization/goblin_ears.rsi + state: goblin_ears_long_01 + +- type: marking + id: GoblinEarsLong02 + bodyPart: HeadTop + markingCategory: HeadTop + speciesRestriction: [Goblin] + sprites: + - sprite: _NF/Mobs/Customization/goblin_ears.rsi + state: goblin_ears_long_02 + +# Goblin Noses +- type: marking + id: GoblinNoseBasic + bodyPart: Snout + markingCategory: Snout + speciesRestriction: [Goblin] + sprites: + - sprite: _NF/Mobs/Customization/goblin_noses.rsi + state: goblin_nose_default + +- type: marking + id: GoblinNoseLong + bodyPart: Snout + markingCategory: Snout + speciesRestriction: [Goblin] + sprites: + - sprite: _NF/Mobs/Customization/goblin_noses.rsi + state: goblin_nose_long + +- type: marking + id: GoblinNoseCrooked + bodyPart: Snout + markingCategory: Snout + speciesRestriction: [Goblin] + sprites: + - sprite: _NF/Mobs/Customization/goblin_noses.rsi + state: goblin_nose_crooked + +# Goblin Tusks +- type: marking + id: GoblinTusksBasic + bodyPart: Snout + markingCategory: Snout + speciesRestriction: [Goblin] + sprites: + - sprite: _NF/Mobs/Customization/goblin_tusks.rsi + state: goblin_tusks_none + +- type: marking + id: GoblinTusksSmall + bodyPart: Snout + markingCategory: Snout + speciesRestriction: [Goblin] + sprites: + - sprite: _NF/Mobs/Customization/goblin_tusks.rsi + state: goblin_tusks_small + +- type: marking + id: GoblinTusksBig + bodyPart: Snout + markingCategory: Snout + speciesRestriction: [Goblin] + sprites: + - sprite: _NF/Mobs/Customization/goblin_tusks.rsi + state: goblin_tusks_big diff --git a/Resources/Prototypes/_NF/Entities/Mobs/Player/goblin_player.yml b/Resources/Prototypes/_NF/Entities/Mobs/Player/goblin_player.yml new file mode 100644 index 00000000000000..c4a7f118cf3f26 --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Mobs/Player/goblin_player.yml @@ -0,0 +1,44 @@ +- type: entity + save: false + name: Urist McGoblin + parent: [MobGoblinBase, BaseMob] + id: MobGoblin + components: + - type: Speech + speechVerb: Goblin + +- type: entity + parent: MobGoblin + id: MobGoblinStowaway + name: goblin stowaway + components: + - type: GhostRole + name: ghost-role-information-goblin-stowaway-name + description: ghost-role-information-goblin-stowaway-description + rules: ghost-role-information-nonantagonist-freeagent-goblin-stowaway + raffle: + settings: default + - type: GhostTakeoverAvailable + - type: Loadout + prototypes: [GoblinRobeOSP] + - type: RandomHumanoidAppearance + +- type: entity + parent: MobGoblin + id: MobGoblinKnight + name: Sir Gollylad + description: The noble Knight Gollylad, first among his peers. + components: + - type: GhostRole + name: ghost-role-information-goblin-knight-name + description: ghost-role-information-goblin-knight-description + rules: ghost-role-information-familiar-rules + raffle: + settings: default + - type: GhostTakeoverAvailable + - type: Loadout + prototypes: [GoblinKnightArmor] + - type: Grammar + attributes: + proper: true + gender: male diff --git a/Resources/Prototypes/_NF/Entities/Mobs/Species/goblin.yml b/Resources/Prototypes/_NF/Entities/Mobs/Species/goblin.yml new file mode 100644 index 00000000000000..6a6abae5b24ccc --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Mobs/Species/goblin.yml @@ -0,0 +1,116 @@ +- type: entity + parent: BaseMobHuman + name: Urist McGoblin + id: MobGoblinBase + abstract: true + components: + - type: Sprite + scale: 0.7, 0.7 + - type: HumanoidAppearance + species: Goblin + - type: Fixtures + fixtures: # TODO: This needs a second fixture just for mob collisions. + fix1: + shape: + !type:PhysShapeCircle + radius: 0.28 + density: 135 + restitution: 0.0 + mask: + - MobMask + layer: + - MobLayer + - type: Body + prototype: Goblin + - type: Damageable + damageModifierSet: Goblin + - type: MeleeWeapon + soundHit: + collection: Punch + animation: WeaponArcClaw + damage: + types: + Slash: 3 +# Poison: 1 # Too Stinky + - type: Speech + speechSounds: Alto + speechVerb: Goblin + allowedEmotes: + - GoblinMutter + - GoblinThroatSinging + - type: DamageOnHighSpeedImpact + damage: + types: + Blunt: 1 + - type: Stamina + - type: Item + size: Normal + - type: Vocal + wilhelm: "/Audio/_NF/Voice/Goblin/goblin-cackle-05.ogg" + sounds: + Male: MaleGoblin + Female: FemaleGoblin + Unsexed: MaleGoblin + - type: Goblin + - type: NpcFactionMember + factions: + - NanoTrasen + - type: DamageVisuals + thresholds: [ 10, 20, 30, 50, 70, 100 ] + targetLayers: + - "enum.HumanoidVisualLayers.Chest" + - "enum.HumanoidVisualLayers.Head" + - "enum.HumanoidVisualLayers.LArm" + - "enum.HumanoidVisualLayers.LLeg" + - "enum.HumanoidVisualLayers.RArm" + - "enum.HumanoidVisualLayers.RLeg" + damageOverlayGroups: + Brute: + sprite: Mobs/Effects/brute_damage.rsi + color: "#5c7500" + Burn: + sprite: Mobs/Effects/burn_damage.rsi + - type: Bloodstream + bloodReagent: GoblinBlood + - type: Butcherable + spawned: + - id: FoodMeatGoblin + amount: 3 + - type: GoblinAccent + - type: TypingIndicator + proto: goblin + - type: SlowOnDamage + speedModifierThresholds: + 60: 0.85 # 0.7 is base speed. + 80: 0.75 # 0.5 is base speed. + - type: Reactive + groups: + Flammable: [ Touch ] + Extinguish: [ Touch ] + reactions: + - reagents: [ Water, SpaceCleaner, SoapReagent ] + methods: [ Touch ] + effects: + - !type:WashCreamPieReaction + - reagents: [ Water, SpaceCleaner, SoapReagent ] + methods: [ Touch ] + effects: + - !type:Emote + emote: Scream + probability: 0.2 + - type: CanEscapeInventory +# commenting inventorycomponent out so that sir gollylad wears the human version of the armor. +# - type: Inventory +# speciesId: goblin + # displacements: TODO + +- type: entity + save: false + name: Urist McGoblin + parent: MobHumanDummy + id: MobGoblinDummy + categories: [ HideSpawnMenu ] + description: A dummy goblin meant to be used in character setup. + components: + - type: HumanoidAppearance + species: Goblin diff --git a/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/meat_goblin.yml b/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/meat_goblin.yml new file mode 100644 index 00000000000000..0c9cc91e47e01c --- /dev/null +++ b/Resources/Prototypes/_NF/Entities/Objects/Consumable/Food/meat_goblin.yml @@ -0,0 +1,11 @@ +- type: entity + parent: FoodMeatRotten + id: FoodMeatGoblin + name: raw goblin meat + description: Just look at that marbling! + components: + - type: Sprite + state: rotten + color: lime +# - type: Food # Frontier, New Food Quality System +# quality: Toxin # Frontier, New Food Quality System diff --git a/Resources/Prototypes/_NF/Guidebook/species.yml b/Resources/Prototypes/_NF/Guidebook/species.yml new file mode 100644 index 00000000000000..fe8b718df5e23e --- /dev/null +++ b/Resources/Prototypes/_NF/Guidebook/species.yml @@ -0,0 +1,4 @@ +- type: guideEntry + id: Goblin + name: species-name-goblin + text: "/ServerInfo/_NF/Guidebook/Mobs/Goblin.xml" diff --git a/Resources/Prototypes/_NF/Loadouts/loadout_effects.yml b/Resources/Prototypes/_NF/Loadouts/loadout_effects.yml new file mode 100644 index 00000000000000..c85fb38cf40383 --- /dev/null +++ b/Resources/Prototypes/_NF/Loadouts/loadout_effects.yml @@ -0,0 +1,50 @@ +# Species +- type: loadoutEffectGroup + id: NitrogenBreatherNF + effects: + - !type:SpeciesLoadoutEffect + species: + - SlimePerson + - Vox + +- type: loadoutEffectGroup + id: OxygenBreatherNF + effects: + - !type:SpeciesLoadoutEffect + species: + - Arachnid + - Diona + - Dwarf + - Human + - Moth + - Reptilian + - Goblin + +- type: loadoutEffectGroup + id: PantsCapableNF + effects: + - !type:SpeciesLoadoutEffect + species: + - Arachnid + - Diona + - Dwarf + - Human + - Moth + - Reptilian + - SlimePerson + - Vox + - Goblin + +- type: loadoutEffectGroup + id: ShoesCapableNF + effects: + - !type:SpeciesLoadoutEffect + species: + - Arachnid + - Dwarf + - Human + - Moth + - Reptilian + - SlimePerson + - Vox + - Goblin diff --git a/Resources/Prototypes/_NF/Palettes/liquids.yml b/Resources/Prototypes/_NF/Palettes/liquids.yml new file mode 100644 index 00000000000000..bb6b210435deac --- /dev/null +++ b/Resources/Prototypes/_NF/Palettes/liquids.yml @@ -0,0 +1,5 @@ +- type: palette + id: LiquidsBiological + name: biological liquids + colors: + goblinblood: "#364500cc" diff --git a/Resources/Prototypes/_NF/Reagents/biological.yml b/Resources/Prototypes/_NF/Reagents/biological.yml new file mode 100644 index 00000000000000..d9b7d4c75afbe3 --- /dev/null +++ b/Resources/Prototypes/_NF/Reagents/biological.yml @@ -0,0 +1,49 @@ +- type: reagent + parent: Blood + id: GoblinBlood + name: reagent-name-goblin-blood + group: Biological + desc: reagent-desc-goblin-blood + flavor: bitter + color: "#364500" + recognizable: true + physicalDesc: reagent-physical-desc-pungent + slippery: false + footstepSound: + collection: FootstepBlood + params: + volume: 6 + metabolisms: + Drink: + effects: + # Effects for non-goblins + - !type:SatiateThirst + factor: -0.5 + conditions: + - !type:OrganType + type: Goblin + shouldHave: false + - !type:ChemVomit + probability: 0.025 + conditions: + - !type:OrganType + type: Goblin + shouldHave: false + - !type:GenericStatusEffect + key: Stutter + component: GoblinAccent + probability: 0.025 + type: Add + time: 30 + refresh: true + conditions: + - !type:OrganType + type: Goblin + shouldHave: false + # Effects for goblins + - !type:SatiateThirst + factor: 1 + conditions: + - !type:OrganType + type: Goblin + shouldHave: true diff --git a/Resources/Prototypes/_NF/Recipes/Crafting/Graphs/goblin_robes_graph.yml b/Resources/Prototypes/_NF/Recipes/Crafting/Graphs/goblin_robes_graph.yml new file mode 100644 index 00000000000000..1d999a24390926 --- /dev/null +++ b/Resources/Prototypes/_NF/Recipes/Crafting/Graphs/goblin_robes_graph.yml @@ -0,0 +1,13 @@ +- type: constructionGraph + id: ClothingOuterCoatRobesGoblinGraph + start: start + graph: + - node: start + edges: + - to: ClothingOuterCoatRobesGoblinNode + steps: + - material: Cloth + amount: 10 + doAfter: 10 + - node: ClothingOuterCoatRobesGoblinNode + entity: ClothingOuterCoatRobesGoblin diff --git a/Resources/Prototypes/_NF/Recipes/Crafting/goblin_clothes.yml b/Resources/Prototypes/_NF/Recipes/Crafting/goblin_clothes.yml new file mode 100644 index 00000000000000..9c054dd55a080e --- /dev/null +++ b/Resources/Prototypes/_NF/Recipes/Crafting/goblin_clothes.yml @@ -0,0 +1,12 @@ +- type: construction + name: goblin traditional robes + id: ClothingOuterCoatRobesGoblinRecipe + graph: ClothingOuterCoatRobesGoblinGraph + startNode: start + targetNode: ClothingOuterCoatRobesGoblinNode + category: construction-category-clothing + description: Traditional robes of goblinkind. Very regal. + icon: + sprite: _NF/Clothing/OuterClothing/Coats/goblin_robes.rsi + state: icon + objectType: Item diff --git a/Resources/Prototypes/_NF/SoundCollections/goblin_soundcollection.yml b/Resources/Prototypes/_NF/SoundCollections/goblin_soundcollection.yml new file mode 100644 index 00000000000000..8faf197fb64225 --- /dev/null +++ b/Resources/Prototypes/_NF/SoundCollections/goblin_soundcollection.yml @@ -0,0 +1,62 @@ +- type: soundCollection + id: GoblinScreams + files: + - /Audio/_NF/Voice/Goblin/goblin-scream-01.ogg + - /Audio/_NF/Voice/Goblin/goblin-scream-02.ogg + - /Audio/_NF/Voice/Goblin/goblin-scream-03.ogg + - /Audio/_NF/Voice/Goblin/goblin-scream-04.ogg + +- type: soundCollection + id: GoblinCackle + files: + - /Audio/_NF/Voice/Goblin/goblin-cackle-01.ogg + - /Audio/_NF/Voice/Goblin/goblin-cackle-02.ogg + - /Audio/_NF/Voice/Goblin/goblin-cackle-03.ogg + - /Audio/_NF/Voice/Goblin/goblin-cackle-04.ogg + - /Audio/_NF/Voice/Goblin/goblin-cackle-05.ogg + +- type: soundCollection + id: GoblinCry + files: + - /Audio/_NF/Voice/Goblin/goblin-cry-01.ogg + - /Audio/_NF/Voice/Goblin/goblin-cry-02.ogg + +- type: soundCollection + id: GoblinMutterCollection + files: + - /Audio/_NF/Voice/Goblin/goblin-mutter-01.ogg + - /Audio/_NF/Voice/Goblin/goblin-mutter-02.ogg + - /Audio/_NF/Voice/Goblin/goblin-mutter-03.ogg + - /Audio/_NF/Voice/Goblin/goblin-mutter-04.ogg + +- type: soundCollection + id: GoblinThroatSingingCollection + files: + - /Audio/_NF/Voice/Goblin/goblin-throat-singing-01.ogg + - /Audio/_NF/Voice/Goblin/goblin-throat-singing-02.ogg + - /Audio/_NF/Voice/Goblin/goblin-throat-singing-03.ogg + - /Audio/_NF/Voice/Goblin/goblin-throat-singing-04.ogg + - /Audio/_NF/Voice/Goblin/goblin-throat-singing-05.ogg + - /Audio/_NF/Voice/Goblin/goblin-throat-singing-06.ogg + - /Audio/_NF/Voice/Goblin/goblin-throat-singing-07.ogg + - /Audio/_NF/Voice/Goblin/goblin-throat-singing-08.ogg + +- type: soundCollection + id: GoblinHiss + files: + - /Audio/_NF/Voice/Goblin/goblin-hiss-01.ogg + +- type: soundCollection + id: GoblinGasp + files: + - /Audio/_NF/Voice/Goblin/goblin-gasp-01.ogg + - /Audio/_NF/Voice/Goblin/goblin-gasp-02.ogg + - /Audio/_NF/Voice/Goblin/goblin-gasp-03.ogg + +- type: soundCollection + id: GoblinDeathGasp + files: + - /Audio/_NF/Voice/Goblin/goblin-deathgasp-01.ogg + - /Audio/_NF/Voice/Goblin/goblin-deathgasp-02.ogg + - /Audio/_NF/Voice/Goblin/goblin-deathgasp-03.ogg + - /Audio/_NF/Voice/Goblin/goblin-deathgasp-04.ogg diff --git a/Resources/Prototypes/_NF/Species/goblin_species.yml b/Resources/Prototypes/_NF/Species/goblin_species.yml new file mode 100644 index 00000000000000..8371f725c991fc --- /dev/null +++ b/Resources/Prototypes/_NF/Species/goblin_species.yml @@ -0,0 +1,151 @@ +# defaultSkinTone: "#486a1b" +- type: species + id: Goblin + name: species-name-goblin + roundStart: false + prototype: MobGoblin + sprites: MobGoblinSprites + markingLimits: MobGoblinMarkingLimits + dollPrototype: MobGoblinDummy + skinColoration: HumanToned #Possible values: TintedHues, Hues, HumanToned + maleFirstNames: names_goblin_male + femaleFirstNames: names_goblin_female + lastNames: names_goblin_last + +- type: speciesBaseSprites + id: MobGoblinSprites + sprites: + Hair: MobHumanoidAnyMarking + Snout: MobHumanoidAnyMarking + FacialHair: MobHumanoidAnyMarking + Head: MobGoblinHead + HeadTop: MobHumanoidAnyMarking + HeadSide: MobHumanoidAnyMarking + Chest: MobGoblinTorso + Eyes: MobGoblinEyes + LArm: MobGoblinLArm + RArm: MobGoblinRArm + LHand: MobGoblinLHand + RHand: MobGoblinRHand + LLeg: MobGoblinLLeg + RLeg: MobGoblinRLeg + LFoot: MobGoblinLFoot + RFoot: MobGoblinRFoot + Tail: MobHumanoidAnyMarking + +- type: markingPoints + id: MobGoblinMarkingLimits + points: + Hair: + points: 1 + required: false + FacialHair: + points: 1 + required: false + HeadTop: + points: 1 + required: true + defaultMarkings: [ GoblinEarsBasic ] + Snout: + points: 2 + required: false +# defaultMarkings: [ GoblinNoseBasic ] + Chest: + points: 1 + required: false + Legs: + points: 2 + required: false + Arms: + points: 2 + required: false + +- type: humanoidBaseSprite + id: MobGoblinEyes + baseSprite: + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: eyes + +- type: humanoidBaseSprite + id: MobGoblinHead + baseSprite: + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: MobGoblinHeadMale + baseSprite: + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: head_m + +- type: humanoidBaseSprite + id: MobGoblinHeadFemale + baseSprite: + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: head_f + +- type: humanoidBaseSprite + id: MobGoblinTorso + baseSprite: + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: MobGoblinTorsoMale + baseSprite: + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: torso_m + +- type: humanoidBaseSprite + id: MobGoblinTorsoFemale + baseSprite: + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: torso_f + +- type: humanoidBaseSprite + id: MobGoblinLLeg + baseSprite: + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: l_leg + +- type: humanoidBaseSprite + id: MobGoblinLArm + baseSprite: + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: l_arm + +- type: humanoidBaseSprite + id: MobGoblinLHand + baseSprite: + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: l_hand + +- type: humanoidBaseSprite + id: MobGoblinLFoot + baseSprite: + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: l_foot + +- type: humanoidBaseSprite + id: MobGoblinRLeg + baseSprite: + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: r_leg + +- type: humanoidBaseSprite + id: MobGoblinRArm + baseSprite: + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: r_arm + +- type: humanoidBaseSprite + id: MobGoblinRHand + baseSprite: + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: r_hand + +- type: humanoidBaseSprite + id: MobGoblinRFoot + baseSprite: + sprite: _NF/Mobs/Species/Goblin/parts.rsi + state: r_foot diff --git a/Resources/Prototypes/_NF/Speech/Components/GoblinAccentComponent.cs b/Resources/Prototypes/_NF/Speech/Components/GoblinAccentComponent.cs new file mode 100644 index 00000000000000..f5232494e92677 --- /dev/null +++ b/Resources/Prototypes/_NF/Speech/Components/GoblinAccentComponent.cs @@ -0,0 +1,8 @@ +using Content.Server._NF.Speech.EntitySystems; + +namespace Content.Server._NF.Speech.Components; + +[RegisterComponent] +[Access(typeof(GoblinAccentSystem))] +public sealed partial class GoblinAccentComponent : Component +{ } diff --git a/Resources/Prototypes/_NF/Trait/speech.yml b/Resources/Prototypes/_NF/Trait/speech.yml new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/Resources/Prototypes/_NF/Voice/speech_emote_sounds.yml b/Resources/Prototypes/_NF/Voice/speech_emote_sounds.yml new file mode 100644 index 00000000000000..8546fa50e5ed5d --- /dev/null +++ b/Resources/Prototypes/_NF/Voice/speech_emote_sounds.yml @@ -0,0 +1,76 @@ +# Goblins +- type: emoteSounds + id: MaleGoblin + params: + variation: 0.125 + sounds: + Scream: + collection: GoblinScreams + Laugh: + collection: GoblinCackle + Sneeze: + collection: MaleSneezes + Cough: + collection: MaleCoughs + MonkeyScreeches: + collection: MonkeyScreeches + Yawn: + collection: MaleYawn + Snore: + collection: Snores + Honk: + collection: BikeHorn + Sigh: + collection: MaleSigh + Crying: + collection: GoblinCry + Whistle: + collection: Whistles + Weh: + collection: Weh + Gasp: + collection: GoblinGasp + DefaultDeathgasp: + collection: GoblinDeathGasp + GoblinMutter: + collection: GoblinMutterCollection + GoblinThroatSinging: + collection: GoblinThroatSingingCollection + +- type: emoteSounds + id: FemaleGoblin + params: + variation: 0.125 + sounds: + Scream: + collection: GoblinScreams + Laugh: + collection: GoblinCackle + Sneeze: + collection: FemaleSneezes + Cough: + collection: FemaleCoughs + MonkeyScreeches: + collection: MonkeyScreeches + Yawn: + collection: FemaleYawn + Snore: + collection: Snores + Honk: + collection: CluwneHorn + Sigh: + collection: FemaleSigh + Crying: + collection: GoblinCry + Whistle: + collection: Whistles + Weh: + collection: Weh + Gasp: + collection: GoblinGasp + DefaultDeathgasp: + collection: GoblinDeathGasp + GoblinMutter: + collection: GoblinMutterCollection + GoblinThroatSinging: + collection: GoblinThroatSingingCollection diff --git a/Resources/Prototypes/_NF/Voice/speech_emotes.yml b/Resources/Prototypes/_NF/Voice/speech_emotes.yml new file mode 100644 index 00000000000000..0d5905d6cd098c --- /dev/null +++ b/Resources/Prototypes/_NF/Voice/speech_emotes.yml @@ -0,0 +1,58 @@ +- type: emote + id: GoblinMutter + name: chat-emote-name-goblin-muttering + category: Vocal + available: false + icon: _NF/Interface/Emotes/mutter.png + whitelist: + components: + - Vocal + blacklist: + components: + - BorgChassis + chatMessages: ["chat-emote-msg-goblin-muttering"] + chatTriggers: + - mutter + - mutters + - muttered + - muttering + +- type: emote + id: GoblinThroatSinging + name: chat-emote-name-goblin-throat-singing + category: Vocal + available: false + icon: _NF/Interface/Emotes/throatsinging.png + whitelist: + components: + - Vocal + blacklist: + components: + - BorgChassis + chatMessages: ["chat-emote-msg-goblin-throat-singing"] + chatTriggers: + - sing + - sings + - sang + - sung + - singing + +- type: emote + id: Belch + name: chat-emote-name-belch + category: Vocal + available: false + icon: _NF/Interface/Emotes/belch.png + whitelist: + components: + - Vocal + blacklist: + components: + - BorgChassis + chatMessages: ["chat-emote-msg-belch"] + chatTriggers: + - belch + - burp + - belchs + - burps + - belches diff --git a/Resources/Prototypes/_NF/Voice/speech_verbs.yml b/Resources/Prototypes/_NF/Voice/speech_verbs.yml new file mode 100644 index 00000000000000..1ce605f5a6fb3a --- /dev/null +++ b/Resources/Prototypes/_NF/Voice/speech_verbs.yml @@ -0,0 +1,9 @@ +- type: speechVerb + id: Goblin + name: chat-speech-verb-name-goblin + speechVerbStrings: + - chat-speech-verb-goblin-1 + - chat-speech-verb-goblin-2 + - chat-speech-verb-goblin-3 + - chat-speech-verb-goblin-4 + - chat-speech-verb-goblin-5 \ No newline at end of file diff --git a/Resources/Prototypes/_NF/tags.yml b/Resources/Prototypes/_NF/tags.yml new file mode 100644 index 00000000000000..20af07c03e3d3b --- /dev/null +++ b/Resources/Prototypes/_NF/tags.yml @@ -0,0 +1,2 @@ +- type: Tag + id: ClothingRobesGoblin diff --git a/Resources/Prototypes/_NF/typing_indicator.yml b/Resources/Prototypes/_NF/typing_indicator.yml new file mode 100644 index 00000000000000..1faa4df1f4dc0c --- /dev/null +++ b/Resources/Prototypes/_NF/typing_indicator.yml @@ -0,0 +1,5 @@ +- type: typingIndicator + id: goblin + spritePath: /Textures/_NF/Effects/speech.rsi + typingState: goblin0 + offset: 0, 0.2 diff --git a/Resources/ServerInfo/_NF/Guidebook/Mobs/Goblin.xml b/Resources/ServerInfo/_NF/Guidebook/Mobs/Goblin.xml new file mode 100644 index 00000000000000..1d93c210852dbd --- /dev/null +++ b/Resources/ServerInfo/_NF/Guidebook/Mobs/Goblin.xml @@ -0,0 +1,30 @@ + + # Goblins + + + + + + Goblins are a race of humanoid beings. They tend to be small, very loud and fragile. + + ## Benefits + + - Due to their unusual dietary choices goblins take [color=lime]25% less Toxin damage[/color], + - When unarmed, their claws deal [color=red]Slash[/color] damage instead of Blunt. + - Smaller than humans. + - Can fit in duffelbags. + + ## Special + + - Can rummage in disposal chutes to dig up trash. + - Can dive into toilets and mailing units because of their small size. + - Unique chants. + - Inherently speak in Goblin Cant. + + ## Drawbacks + + - Because of their small size they take [color=#ffa500]20% more Brute (Blunt/Slash/Piercing) damage[/color]. + - Always triggers mousetraps, even when wearing shoes. + - They don't like to be sprayed with water or space cleaner. + + diff --git a/Resources/Textures/Objects/Weapons/Melee/captain_sabre.rsi/inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/captain_sabre.rsi/inhand-left.png index 6b53ba68975d0a..41170b3fefb0a3 100644 Binary files a/Resources/Textures/Objects/Weapons/Melee/captain_sabre.rsi/inhand-left.png and b/Resources/Textures/Objects/Weapons/Melee/captain_sabre.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Impstation/Clothing/Head/Helmets/goblinknighthelm.rsi/equipped-HELMET-goblin.png b/Resources/Textures/_Impstation/Clothing/Head/Helmets/goblinknighthelm.rsi/equipped-HELMET-goblin.png new file mode 100644 index 00000000000000..db5cb98981fc9c Binary files /dev/null and b/Resources/Textures/_Impstation/Clothing/Head/Helmets/goblinknighthelm.rsi/equipped-HELMET-goblin.png differ diff --git a/Resources/Textures/_Impstation/Clothing/Head/Helmets/goblinknighthelm.rsi/equipped-HELMET.png b/Resources/Textures/_Impstation/Clothing/Head/Helmets/goblinknighthelm.rsi/equipped-HELMET.png new file mode 100644 index 00000000000000..2aa0483a747837 Binary files /dev/null and b/Resources/Textures/_Impstation/Clothing/Head/Helmets/goblinknighthelm.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_Impstation/Clothing/Head/Helmets/goblinknighthelm.rsi/icon.png b/Resources/Textures/_Impstation/Clothing/Head/Helmets/goblinknighthelm.rsi/icon.png new file mode 100644 index 00000000000000..38dc1a0791dca1 Binary files /dev/null and b/Resources/Textures/_Impstation/Clothing/Head/Helmets/goblinknighthelm.rsi/icon.png differ diff --git a/Resources/Textures/_Impstation/Clothing/Head/Helmets/goblinknighthelm.rsi/meta.json b/Resources/Textures/_Impstation/Clothing/Head/Helmets/goblinknighthelm.rsi/meta.json new file mode 100644 index 00000000000000..4ae54830e2765f --- /dev/null +++ b/Resources/Textures/_Impstation/Clothing/Head/Helmets/goblinknighthelm.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "by widgetbeck", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + }, + { + "name": "equipped-HELMET-goblin", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Impstation/Clothing/OuterClothing/Misc/goblinknightarmor.rsi/equipped-OUTERCLOTHING-goblin.png b/Resources/Textures/_Impstation/Clothing/OuterClothing/Misc/goblinknightarmor.rsi/equipped-OUTERCLOTHING-goblin.png new file mode 100644 index 00000000000000..6c7c232a58e2c1 Binary files /dev/null and b/Resources/Textures/_Impstation/Clothing/OuterClothing/Misc/goblinknightarmor.rsi/equipped-OUTERCLOTHING-goblin.png differ diff --git a/Resources/Textures/_Impstation/Clothing/OuterClothing/Misc/goblinknightarmor.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_Impstation/Clothing/OuterClothing/Misc/goblinknightarmor.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 00000000000000..f835fe19ca3c61 Binary files /dev/null and b/Resources/Textures/_Impstation/Clothing/OuterClothing/Misc/goblinknightarmor.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/_Impstation/Clothing/OuterClothing/Misc/goblinknightarmor.rsi/icon.png b/Resources/Textures/_Impstation/Clothing/OuterClothing/Misc/goblinknightarmor.rsi/icon.png new file mode 100644 index 00000000000000..8a950559cab154 Binary files /dev/null and b/Resources/Textures/_Impstation/Clothing/OuterClothing/Misc/goblinknightarmor.rsi/icon.png differ diff --git a/Resources/Textures/_Impstation/Clothing/OuterClothing/Misc/goblinknightarmor.rsi/meta.json b/Resources/Textures/_Impstation/Clothing/OuterClothing/Misc/goblinknightarmor.rsi/meta.json new file mode 100644 index 00000000000000..932087f4e8ae62 --- /dev/null +++ b/Resources/Textures/_Impstation/Clothing/OuterClothing/Misc/goblinknightarmor.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "by widgetbeck", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "equipped-OUTERCLOTHING-goblin", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_Impstation/Objects/Weapons/Melee/goblinclaymore.rsi/equipped-BACKPACK.png b/Resources/Textures/_Impstation/Objects/Weapons/Melee/goblinclaymore.rsi/equipped-BACKPACK.png new file mode 100644 index 00000000000000..16c34941c8fdfd Binary files /dev/null and b/Resources/Textures/_Impstation/Objects/Weapons/Melee/goblinclaymore.rsi/equipped-BACKPACK.png differ diff --git a/Resources/Textures/_Impstation/Objects/Weapons/Melee/goblinclaymore.rsi/icon.png b/Resources/Textures/_Impstation/Objects/Weapons/Melee/goblinclaymore.rsi/icon.png new file mode 100644 index 00000000000000..353905bb765d77 Binary files /dev/null and b/Resources/Textures/_Impstation/Objects/Weapons/Melee/goblinclaymore.rsi/icon.png differ diff --git a/Resources/Textures/_Impstation/Objects/Weapons/Melee/goblinclaymore.rsi/inhand-left.png b/Resources/Textures/_Impstation/Objects/Weapons/Melee/goblinclaymore.rsi/inhand-left.png new file mode 100644 index 00000000000000..f07ac261ff28e9 Binary files /dev/null and b/Resources/Textures/_Impstation/Objects/Weapons/Melee/goblinclaymore.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Impstation/Objects/Weapons/Melee/goblinclaymore.rsi/inhand-right.png b/Resources/Textures/_Impstation/Objects/Weapons/Melee/goblinclaymore.rsi/inhand-right.png new file mode 100644 index 00000000000000..79bf909f0d3cfb Binary files /dev/null and b/Resources/Textures/_Impstation/Objects/Weapons/Melee/goblinclaymore.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Impstation/Objects/Weapons/Melee/goblinclaymore.rsi/meta.json b/Resources/Textures/_Impstation/Objects/Weapons/Melee/goblinclaymore.rsi/meta.json new file mode 100644 index 00000000000000..a4993147355104 --- /dev/null +++ b/Resources/Textures/_Impstation/Objects/Weapons/Melee/goblinclaymore.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/pull/49264/commits/c9ddcd603adeab3822c2845f6be9dfb53452c119", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-BACKPACK", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_NF/Clothing/Head/Hoods/goblin_robe_hood.rsi/equipped-HELMET.png b/Resources/Textures/_NF/Clothing/Head/Hoods/goblin_robe_hood.rsi/equipped-HELMET.png new file mode 100644 index 00000000000000..063ecf8528b5e0 Binary files /dev/null and b/Resources/Textures/_NF/Clothing/Head/Hoods/goblin_robe_hood.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/_NF/Clothing/Head/Hoods/goblin_robe_hood.rsi/icon.png b/Resources/Textures/_NF/Clothing/Head/Hoods/goblin_robe_hood.rsi/icon.png new file mode 100644 index 00000000000000..045a58703de5cb Binary files /dev/null and b/Resources/Textures/_NF/Clothing/Head/Hoods/goblin_robe_hood.rsi/icon.png differ diff --git a/Resources/Textures/_NF/Clothing/Head/Hoods/goblin_robe_hood.rsi/meta.json b/Resources/Textures/_NF/Clothing/Head/Hoods/goblin_robe_hood.rsi/meta.json new file mode 100644 index 00000000000000..84395daa8168ef --- /dev/null +++ b/Resources/Textures/_NF/Clothing/Head/Hoods/goblin_robe_hood.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-4.0", + "copyright": "Sprited by erhardsteinhauer", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_NF/Clothing/OuterClothing/Coats/goblin_robes.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_NF/Clothing/OuterClothing/Coats/goblin_robes.rsi/equipped-OUTERCLOTHING.png new file mode 100644 index 00000000000000..d1a1a18065dd93 Binary files /dev/null and b/Resources/Textures/_NF/Clothing/OuterClothing/Coats/goblin_robes.rsi/equipped-OUTERCLOTHING.png differ diff --git a/Resources/Textures/_NF/Clothing/OuterClothing/Coats/goblin_robes.rsi/icon.png b/Resources/Textures/_NF/Clothing/OuterClothing/Coats/goblin_robes.rsi/icon.png new file mode 100644 index 00000000000000..65b7e4f345fe02 Binary files /dev/null and b/Resources/Textures/_NF/Clothing/OuterClothing/Coats/goblin_robes.rsi/icon.png differ diff --git a/Resources/Textures/_NF/Clothing/OuterClothing/Coats/goblin_robes.rsi/inhand-left.png b/Resources/Textures/_NF/Clothing/OuterClothing/Coats/goblin_robes.rsi/inhand-left.png new file mode 100644 index 00000000000000..aee4e27e011b46 Binary files /dev/null and b/Resources/Textures/_NF/Clothing/OuterClothing/Coats/goblin_robes.rsi/inhand-left.png differ diff --git a/Resources/Textures/_NF/Clothing/OuterClothing/Coats/goblin_robes.rsi/inhand-right.png b/Resources/Textures/_NF/Clothing/OuterClothing/Coats/goblin_robes.rsi/inhand-right.png new file mode 100644 index 00000000000000..cbc0c45b4c559d Binary files /dev/null and b/Resources/Textures/_NF/Clothing/OuterClothing/Coats/goblin_robes.rsi/inhand-right.png differ diff --git a/Resources/Textures/_NF/Clothing/OuterClothing/Coats/goblin_robes.rsi/meta.json b/Resources/Textures/_NF/Clothing/OuterClothing/Coats/goblin_robes.rsi/meta.json new file mode 100644 index 00000000000000..d8876ef2938688 --- /dev/null +++ b/Resources/Textures/_NF/Clothing/OuterClothing/Coats/goblin_robes.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/4f6190e2895e09116663ef282d3ce1d8b35c032e | Resprited by erhardsteinhauer", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-OUTERCLOTHING", + "directions": 4 + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_NF/Effects/speech.rsi/goblin0.png b/Resources/Textures/_NF/Effects/speech.rsi/goblin0.png new file mode 100644 index 00000000000000..59399c7d7ca7f8 Binary files /dev/null and b/Resources/Textures/_NF/Effects/speech.rsi/goblin0.png differ diff --git a/Resources/Textures/_NF/Effects/speech.rsi/goblin1.png b/Resources/Textures/_NF/Effects/speech.rsi/goblin1.png new file mode 100644 index 00000000000000..a55b767808df68 Binary files /dev/null and b/Resources/Textures/_NF/Effects/speech.rsi/goblin1.png differ diff --git a/Resources/Textures/_NF/Effects/speech.rsi/goblin2.png b/Resources/Textures/_NF/Effects/speech.rsi/goblin2.png new file mode 100644 index 00000000000000..5320d891dbc41f Binary files /dev/null and b/Resources/Textures/_NF/Effects/speech.rsi/goblin2.png differ diff --git a/Resources/Textures/_NF/Effects/speech.rsi/meta.json b/Resources/Textures/_NF/Effects/speech.rsi/meta.json new file mode 100644 index 00000000000000..4c839615fc5570 --- /dev/null +++ b/Resources/Textures/_NF/Effects/speech.rsi/meta.json @@ -0,0 +1,65 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Goblin speech bubble by ErhardSteinhauer, pal* taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c6e3401f2e7e1e55c57060cdf956a98ef1fefc24 and edited by Whatstone (Discord)", + "states": [ + { + "name": "goblin0", + "delays": [ + [ + 0.2, + 0.3, + 0.3, + 0.5 + ] + ] + }, + { + "name": "goblin1" + }, + { + "name": "goblin2" + }, + { + "name": "pal0", + "delays": [ + [ + 0.3, + 0.3, + 0.3, + 0.4 + ] + ] + }, + { + "name": "pal1", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "pal2", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + } + ] +} diff --git a/Resources/Textures/_NF/Effects/speech.rsi/pal0.png b/Resources/Textures/_NF/Effects/speech.rsi/pal0.png new file mode 100644 index 00000000000000..96d5c2c377e5e3 Binary files /dev/null and b/Resources/Textures/_NF/Effects/speech.rsi/pal0.png differ diff --git a/Resources/Textures/_NF/Effects/speech.rsi/pal1.png b/Resources/Textures/_NF/Effects/speech.rsi/pal1.png new file mode 100644 index 00000000000000..ac3570198588db Binary files /dev/null and b/Resources/Textures/_NF/Effects/speech.rsi/pal1.png differ diff --git a/Resources/Textures/_NF/Effects/speech.rsi/pal2.png b/Resources/Textures/_NF/Effects/speech.rsi/pal2.png new file mode 100644 index 00000000000000..2869e8a8c16f0e Binary files /dev/null and b/Resources/Textures/_NF/Effects/speech.rsi/pal2.png differ diff --git a/Resources/Textures/_NF/Interface/Emotes/attributions.yml b/Resources/Textures/_NF/Interface/Emotes/attributions.yml new file mode 100644 index 00000000000000..17d878952ecb73 --- /dev/null +++ b/Resources/Textures/_NF/Interface/Emotes/attributions.yml @@ -0,0 +1,18 @@ +# Attempted to keep the files in alphabetical order so its easier to audit. +# Finding individual authors is an unfeasible task. If you can reference the author please do so. +# Copyright format is so far "Modified from [image] by [Github Username] (Discord Username)" or "Created by [Github Username] (Discord Username)" + +- files: ["mutter.png"] + license: "CC-BY-SA-3.0" + copyright: "Modified goblin head_m.png and goblin_ears_default.png by ErhardSteinhauer" + source: "https://github.com/ErhardSteinhauer" + +- files: ["throatsinging.png"] + license: "CC-BY-SA-3.0" + copyright: "Modified goblin head_m.png and goblin_ears_default.png by ErhardSteinhauer" + source: "https://github.com/ErhardSteinhauer" + +- files: ["belch.png"] + license: "CC-BY-SA-3.0" + copyright: "Modified from vocal.png by BorisTakerman (Boris Takerman)" + source: "https://github.com/BorisTakerman" diff --git a/Resources/Textures/_NF/Interface/Emotes/belch.png b/Resources/Textures/_NF/Interface/Emotes/belch.png new file mode 100644 index 00000000000000..729b31dbefd020 Binary files /dev/null and b/Resources/Textures/_NF/Interface/Emotes/belch.png differ diff --git a/Resources/Textures/_NF/Interface/Emotes/mutter.png b/Resources/Textures/_NF/Interface/Emotes/mutter.png new file mode 100644 index 00000000000000..b6a872d4461cba Binary files /dev/null and b/Resources/Textures/_NF/Interface/Emotes/mutter.png differ diff --git a/Resources/Textures/_NF/Interface/Emotes/throatsinging.png b/Resources/Textures/_NF/Interface/Emotes/throatsinging.png new file mode 100644 index 00000000000000..d67835ecd01f1e Binary files /dev/null and b/Resources/Textures/_NF/Interface/Emotes/throatsinging.png differ diff --git a/Resources/Textures/_NF/Mobs/Customization/goblin_ears.rsi/goblin_ears_default.png b/Resources/Textures/_NF/Mobs/Customization/goblin_ears.rsi/goblin_ears_default.png new file mode 100644 index 00000000000000..6853f2191b7250 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Customization/goblin_ears.rsi/goblin_ears_default.png differ diff --git a/Resources/Textures/_NF/Mobs/Customization/goblin_ears.rsi/goblin_ears_default_alt.png b/Resources/Textures/_NF/Mobs/Customization/goblin_ears.rsi/goblin_ears_default_alt.png new file mode 100644 index 00000000000000..a78ad8039df4d8 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Customization/goblin_ears.rsi/goblin_ears_default_alt.png differ diff --git a/Resources/Textures/_NF/Mobs/Customization/goblin_ears.rsi/goblin_ears_long_01.png b/Resources/Textures/_NF/Mobs/Customization/goblin_ears.rsi/goblin_ears_long_01.png new file mode 100644 index 00000000000000..f72a92c2a02ec9 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Customization/goblin_ears.rsi/goblin_ears_long_01.png differ diff --git a/Resources/Textures/_NF/Mobs/Customization/goblin_ears.rsi/goblin_ears_long_02.png b/Resources/Textures/_NF/Mobs/Customization/goblin_ears.rsi/goblin_ears_long_02.png new file mode 100644 index 00000000000000..d5a93bc82d4dd0 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Customization/goblin_ears.rsi/goblin_ears_long_02.png differ diff --git a/Resources/Textures/_NF/Mobs/Customization/goblin_ears.rsi/meta.json b/Resources/Textures/_NF/Mobs/Customization/goblin_ears.rsi/meta.json new file mode 100644 index 00000000000000..5ed9ae60691d33 --- /dev/null +++ b/Resources/Textures/_NF/Mobs/Customization/goblin_ears.rsi/meta.json @@ -0,0 +1,27 @@ +{ + "version": 1, + "copyright": "Sprited by erhardsteinhauer (discord)", + "license": "CC-BY-SA-4.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "goblin_ears_default", + "directions": 4 + }, + { + "name": "goblin_ears_default_alt", + "directions": 4 + }, + { + "name": "goblin_ears_long_01", + "directions": 4 + }, + { + "name": "goblin_ears_long_02", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_NF/Mobs/Customization/goblin_noses.rsi/goblin_nose_crooked.png b/Resources/Textures/_NF/Mobs/Customization/goblin_noses.rsi/goblin_nose_crooked.png new file mode 100644 index 00000000000000..573918603762dc Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Customization/goblin_noses.rsi/goblin_nose_crooked.png differ diff --git a/Resources/Textures/_NF/Mobs/Customization/goblin_noses.rsi/goblin_nose_default.png b/Resources/Textures/_NF/Mobs/Customization/goblin_noses.rsi/goblin_nose_default.png new file mode 100644 index 00000000000000..fdef1887b21eab Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Customization/goblin_noses.rsi/goblin_nose_default.png differ diff --git a/Resources/Textures/_NF/Mobs/Customization/goblin_noses.rsi/goblin_nose_long.png b/Resources/Textures/_NF/Mobs/Customization/goblin_noses.rsi/goblin_nose_long.png new file mode 100644 index 00000000000000..0403c86463c79b Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Customization/goblin_noses.rsi/goblin_nose_long.png differ diff --git a/Resources/Textures/_NF/Mobs/Customization/goblin_noses.rsi/meta.json b/Resources/Textures/_NF/Mobs/Customization/goblin_noses.rsi/meta.json new file mode 100644 index 00000000000000..4c1b829d8a2f7e --- /dev/null +++ b/Resources/Textures/_NF/Mobs/Customization/goblin_noses.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "copyright": "Sprited by erhardsteinhauer (discord)", + "license": "CC-BY-SA-4.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "goblin_nose_default", + "directions": 4 + }, + { + "name": "goblin_nose_crooked", + "directions": 4 + }, + { + "name": "goblin_nose_long", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_NF/Mobs/Customization/goblin_tusks.rsi/goblin_tusks_big.png b/Resources/Textures/_NF/Mobs/Customization/goblin_tusks.rsi/goblin_tusks_big.png new file mode 100644 index 00000000000000..fb706ac649e82e Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Customization/goblin_tusks.rsi/goblin_tusks_big.png differ diff --git a/Resources/Textures/_NF/Mobs/Customization/goblin_tusks.rsi/goblin_tusks_none.png b/Resources/Textures/_NF/Mobs/Customization/goblin_tusks.rsi/goblin_tusks_none.png new file mode 100644 index 00000000000000..c8b755b22833c8 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Customization/goblin_tusks.rsi/goblin_tusks_none.png differ diff --git a/Resources/Textures/_NF/Mobs/Customization/goblin_tusks.rsi/goblin_tusks_small.png b/Resources/Textures/_NF/Mobs/Customization/goblin_tusks.rsi/goblin_tusks_small.png new file mode 100644 index 00000000000000..2b0a11239adf42 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Customization/goblin_tusks.rsi/goblin_tusks_small.png differ diff --git a/Resources/Textures/_NF/Mobs/Customization/goblin_tusks.rsi/meta.json b/Resources/Textures/_NF/Mobs/Customization/goblin_tusks.rsi/meta.json new file mode 100644 index 00000000000000..0983b297549f15 --- /dev/null +++ b/Resources/Textures/_NF/Mobs/Customization/goblin_tusks.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "copyright": "Sprited by erhardsteinhauer (discord)", + "license": "CC-BY-SA-4.0", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "goblin_tusks_small", + "directions": 4 + }, + { + "name": "goblin_tusks_big", + "directions": 4 + }, + { + "name": "goblin_tusks_none", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/appendix-inflamed.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/appendix-inflamed.png new file mode 100644 index 00000000000000..b3cef608dbd46c Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/appendix-inflamed.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/appendix.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/appendix.png new file mode 100644 index 00000000000000..6fd813e18744bd Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/appendix.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/brain-inhand-left.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/brain-inhand-left.png new file mode 100644 index 00000000000000..d6285608ba1be9 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/brain-inhand-left.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/brain-inhand-right.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/brain-inhand-right.png new file mode 100644 index 00000000000000..ad048dcbc72604 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/brain-inhand-right.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/brain.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/brain.png new file mode 100644 index 00000000000000..5c16590df346a2 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/brain.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/ears.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/ears.png new file mode 100644 index 00000000000000..20f868ee96b6ac Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/ears.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/eyeball-l.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/eyeball-l.png new file mode 100644 index 00000000000000..31d521277449b9 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/eyeball-l.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/eyeball-r.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/eyeball-r.png new file mode 100644 index 00000000000000..2fe98d341b3ccd Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/eyeball-r.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/heart-off.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/heart-off.png new file mode 100644 index 00000000000000..35aedf25554bca Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/heart-off.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/heart-on.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/heart-on.png new file mode 100644 index 00000000000000..505739411605d8 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/heart-on.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/kidney-l.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/kidney-l.png new file mode 100644 index 00000000000000..dd7041783e8e58 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/kidney-l.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/kidney-r.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/kidney-r.png new file mode 100644 index 00000000000000..c940ca53215768 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/kidney-r.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/liver.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/liver.png new file mode 100644 index 00000000000000..eb0f89afb46419 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/liver.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/lung-l.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/lung-l.png new file mode 100644 index 00000000000000..6579fea533125a Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/lung-l.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/lung-r.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/lung-r.png new file mode 100644 index 00000000000000..c6205816c22002 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/lung-r.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/meta.json b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/meta.json new file mode 100644 index 00000000000000..c6774a6ff377ea --- /dev/null +++ b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/meta.json @@ -0,0 +1,80 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation and cev-eris at https://github.com/tgstation/tgstation/commit/c4b7f3c41b6742aca260fe60cc358a778ba9b8c8 and https://github.com/discordia-space/CEV-Eris/commit/476e374cea95ff5e8b1603c48342bf700e2cd7af | modified by erhardsteinhauer (discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "appendix" + }, + { + "name": "appendix-inflamed" + }, + { + "name": "brain" + }, + { + "name": "brain-inhand-left", + "directions": 4 + }, + { + "name": "brain-inhand-right", + "directions": 4 + }, + { + "name": "ears" + }, + { + "name": "eyeball-l" + }, + { + "name": "eyeball-r" + }, + { + "name": "heart-off" + }, + { + "name": "heart-on", + "delays": [ + [ + 0.6, + 0.1, + 0.1 + ] + ] + }, + { + "name": "kidney-l" + }, + { + "name": "kidney-r" + }, + { + "name": "liver" + }, + { + "name": "lung-l" + }, + { + "name": "lung-r" + }, + { + "name": "stomach" + }, + { + "name": "tongue" + }, + { + "name": "muscle" + }, + { + "name": "nerve" + }, + { + "name": "vessel" + } + ] +} diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/muscle.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/muscle.png new file mode 100644 index 00000000000000..8164e9197431ab Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/muscle.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/nerve.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/nerve.png new file mode 100644 index 00000000000000..9dbc6643e9af07 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/nerve.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/stomach.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/stomach.png new file mode 100644 index 00000000000000..3b9d9d572311b9 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/stomach.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/tongue.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/tongue.png new file mode 100644 index 00000000000000..0bc11733926d50 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/tongue.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/vessel.png b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/vessel.png new file mode 100644 index 00000000000000..d69df5f6902a43 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/organs.rsi/vessel.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/eyes.png b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/eyes.png new file mode 100644 index 00000000000000..6af803f9aaef14 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/eyes.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/full.png b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/full.png new file mode 100644 index 00000000000000..cc61ee90dd4203 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/full.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/head_f.png b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/head_f.png new file mode 100644 index 00000000000000..f4d5cbf6e04b4b Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/head_f.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/head_m.png b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/head_m.png new file mode 100644 index 00000000000000..990343a7fd1d23 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/head_m.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/l_arm.png b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/l_arm.png new file mode 100644 index 00000000000000..9e3dce618f4cef Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/l_arm.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/l_foot.png b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/l_foot.png new file mode 100644 index 00000000000000..53240792ff4ab9 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/l_foot.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/l_hand.png b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/l_hand.png new file mode 100644 index 00000000000000..7481ebdb3bdfd8 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/l_hand.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/l_leg.png b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/l_leg.png new file mode 100644 index 00000000000000..bbfa717c6b6f35 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/l_leg.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/meta.json b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/meta.json new file mode 100644 index 00000000000000..67edc25e62f398 --- /dev/null +++ b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/meta.json @@ -0,0 +1,66 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "https://github.com/tgstation/tgstation/blob/8024397cc81c5f47f74cf4279e35728487d0a1a7/icons/mob/human_parts_greyscale.dmi and modified by DrSmugleaf | modified by erhardsteinhauer (discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "full" + }, + { + "name": "eyes", + "directions": 4 + }, + { + "name": "head_f", + "directions": 4 + }, + { + "name": "head_m", + "directions": 4 + }, + { + "name": "l_arm", + "directions": 4 + }, + { + "name": "l_foot", + "directions": 4 + }, + { + "name": "l_hand", + "directions": 4 + }, + { + "name": "l_leg", + "directions": 4 + }, + { + "name": "r_arm", + "directions": 4 + }, + { + "name": "r_foot", + "directions": 4 + }, + { + "name": "r_hand", + "directions": 4 + }, + { + "name": "r_leg", + "directions": 4 + }, + { + "name": "torso_f", + "directions": 4 + }, + { + "name": "torso_m", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/r_arm.png b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/r_arm.png new file mode 100644 index 00000000000000..52a50ae774f042 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/r_arm.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/r_foot.png b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/r_foot.png new file mode 100644 index 00000000000000..8ce0281786f701 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/r_foot.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/r_hand.png b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/r_hand.png new file mode 100644 index 00000000000000..a3051625ce1e3c Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/r_hand.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/r_leg.png b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/r_leg.png new file mode 100644 index 00000000000000..ae9a48d72322f6 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/r_leg.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/torso_f.png b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/torso_f.png new file mode 100644 index 00000000000000..3c733d38eae9f6 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/torso_f.png differ diff --git a/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/torso_m.png b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/torso_m.png new file mode 100644 index 00000000000000..4d2302562ee742 Binary files /dev/null and b/Resources/Textures/_NF/Mobs/Species/Goblin/parts.rsi/torso_m.png differ