From 6297771a3e5e07672d86bc9e1fd9838feb97efc5 Mon Sep 17 00:00:00 2001 From: Rosycup Date: Thu, 2 Jan 2025 17:02:44 +0800 Subject: [PATCH 01/20] Decreased chance to turn into shrimp on metem cloning. --- Resources/Prototypes/Nyanotrasen/metempsychoticNonHumanoids.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Nyanotrasen/metempsychoticNonHumanoids.yml b/Resources/Prototypes/Nyanotrasen/metempsychoticNonHumanoids.yml index 0011464441..9999fb7837 100644 --- a/Resources/Prototypes/Nyanotrasen/metempsychoticNonHumanoids.yml +++ b/Resources/Prototypes/Nyanotrasen/metempsychoticNonHumanoids.yml @@ -7,4 +7,4 @@ MobXenoQueen: 0.01 MobCrab: 0.01 MobPenguin: 1 - MobSpaceShrimp: 1 + MobSpaceShrimp: 0.01 From 1c5865132f07e2e90f30d02acb9af0692c62803f Mon Sep 17 00:00:00 2001 From: TheDen-Bot Date: Fri, 3 Jan 2025 21:19:02 +0000 Subject: [PATCH 02/20] Automated changelog update (#118) --- Resources/Changelog/Den.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Resources/Changelog/Den.yml b/Resources/Changelog/Den.yml index c45abba308..ef08eb352f 100644 --- a/Resources/Changelog/Den.yml +++ b/Resources/Changelog/Den.yml @@ -695,3 +695,12 @@ Entries: id: 62 time: '2025-01-01T16:16:45.0000000+00:00' url: https://github.com/TheDenSS14/TheDen/pull/117 +- author: Rosycup + changes: + - type: Tweak + message: >- + Decreased chances of being cloned into shrimp in a metempsychosis + machine, as shrimple as that. + id: 63 + time: '2025-01-03T21:18:37.0000000+00:00' + url: https://github.com/TheDenSS14/TheDen/pull/118 From a30736ba63f8f830a87daa2779d791875cff990b Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Fri, 3 Jan 2025 18:33:57 -0400 Subject: [PATCH 03/20] Make all trait languages visible --- Resources/Prototypes/Language/Species-Specific/diona.yml | 1 + Resources/Prototypes/Language/Species-Specific/harpy.yml | 1 + Resources/Prototypes/Language/Species-Specific/marish.yml | 1 + Resources/Prototypes/Language/Species-Specific/moth.yml | 1 + Resources/Prototypes/Language/Species-Specific/nekomimetic.yml | 1 + Resources/Prototypes/Language/Species-Specific/slimeperson.yml | 1 + Resources/Prototypes/Language/Species-Specific/vulpkanin.yml | 1 + Resources/Prototypes/Language/Standard/elyran.yml | 1 + Resources/Prototypes/Language/Standard/freespeak.yml | 1 + Resources/Prototypes/Language/Standard/solcommon.yml | 1 + Resources/Prototypes/Language/Standard/tradeband.yml | 1 + Resources/Prototypes/Language/genericlanguages.yml | 1 + 12 files changed, 12 insertions(+) diff --git a/Resources/Prototypes/Language/Species-Specific/diona.yml b/Resources/Prototypes/Language/Species-Specific/diona.yml index 76b62163ff..4a2042a90f 100644 --- a/Resources/Prototypes/Language/Species-Specific/diona.yml +++ b/Resources/Prototypes/Language/Species-Specific/diona.yml @@ -2,6 +2,7 @@ # TODO: Replace this with a much better language. - type: language id: RootSpeak + isVisibleLanguage: true speech: color: "#ce5e14dd" fontId: Noganas diff --git a/Resources/Prototypes/Language/Species-Specific/harpy.yml b/Resources/Prototypes/Language/Species-Specific/harpy.yml index 143b089bd1..531b92e325 100644 --- a/Resources/Prototypes/Language/Species-Specific/harpy.yml +++ b/Resources/Prototypes/Language/Species-Specific/harpy.yml @@ -1,5 +1,6 @@ - type: language id: ValyrianStandard + isVisibleLanguage: true speech: fontId: Cambria color: "#008ecc" diff --git a/Resources/Prototypes/Language/Species-Specific/marish.yml b/Resources/Prototypes/Language/Species-Specific/marish.yml index 872d67373d..e19ad2b134 100644 --- a/Resources/Prototypes/Language/Species-Specific/marish.yml +++ b/Resources/Prototypes/Language/Species-Specific/marish.yml @@ -1,6 +1,7 @@ # Spoken by shadowkins. - type: language id: Marish + isVisibleLanguage: true speech: color: "#be3cc5" fontId: Lymphatic diff --git a/Resources/Prototypes/Language/Species-Specific/moth.yml b/Resources/Prototypes/Language/Species-Specific/moth.yml index ed0a6009c5..3c1920b5f2 100644 --- a/Resources/Prototypes/Language/Species-Specific/moth.yml +++ b/Resources/Prototypes/Language/Species-Specific/moth.yml @@ -2,6 +2,7 @@ # TODO: Replace this with a much better language. - type: language id: Moffic + isVisibleLanguage: true speech: color: "#c7df2edd" fontId: Copperplate diff --git a/Resources/Prototypes/Language/Species-Specific/nekomimetic.yml b/Resources/Prototypes/Language/Species-Specific/nekomimetic.yml index 3610e5fa50..9ea7810623 100644 --- a/Resources/Prototypes/Language/Species-Specific/nekomimetic.yml +++ b/Resources/Prototypes/Language/Species-Specific/nekomimetic.yml @@ -2,6 +2,7 @@ # TODO: Replace this with a much better language. - type: language id: Nekomimetic + isVisibleLanguage: true speech: color: "#df57aaee" fontId: Manga diff --git a/Resources/Prototypes/Language/Species-Specific/slimeperson.yml b/Resources/Prototypes/Language/Species-Specific/slimeperson.yml index a3c1f91a17..a202695675 100644 --- a/Resources/Prototypes/Language/Species-Specific/slimeperson.yml +++ b/Resources/Prototypes/Language/Species-Specific/slimeperson.yml @@ -2,6 +2,7 @@ # TODO: Replace this with a much better language. - type: language id: Bubblish + isVisibleLanguage: true speech: color: "#00a3e2dd" fontId: RubikBubbles diff --git a/Resources/Prototypes/Language/Species-Specific/vulpkanin.yml b/Resources/Prototypes/Language/Species-Specific/vulpkanin.yml index 17a48493a4..d54e8ef1ca 100644 --- a/Resources/Prototypes/Language/Species-Specific/vulpkanin.yml +++ b/Resources/Prototypes/Language/Species-Specific/vulpkanin.yml @@ -2,6 +2,7 @@ # TODO: Replace this with a much better language. - type: language id: Canilunzt + isVisibleLanguage: true speech: color: "#d69b3dcc" obfuscation: diff --git a/Resources/Prototypes/Language/Standard/elyran.yml b/Resources/Prototypes/Language/Standard/elyran.yml index c2c90e7b6f..a4c50c6dd3 100644 --- a/Resources/Prototypes/Language/Standard/elyran.yml +++ b/Resources/Prototypes/Language/Standard/elyran.yml @@ -1,5 +1,6 @@ - type: language id: Elyran + isVisibleLanguage: true speech: color: "#8282fbaa" obfuscation: diff --git a/Resources/Prototypes/Language/Standard/freespeak.yml b/Resources/Prototypes/Language/Standard/freespeak.yml index 831c2a67ff..9fe252e5b2 100644 --- a/Resources/Prototypes/Language/Standard/freespeak.yml +++ b/Resources/Prototypes/Language/Standard/freespeak.yml @@ -1,5 +1,6 @@ - type: language id: Freespeak + isVisibleLanguage: true speech: color: "#597d35" obfuscation: diff --git a/Resources/Prototypes/Language/Standard/solcommon.yml b/Resources/Prototypes/Language/Standard/solcommon.yml index 88c5470154..cd29e542a8 100644 --- a/Resources/Prototypes/Language/Standard/solcommon.yml +++ b/Resources/Prototypes/Language/Standard/solcommon.yml @@ -1,5 +1,6 @@ - type: language id: SolCommon + isVisibleLanguage: true speech: color: "#8282fbaa" obfuscation: diff --git a/Resources/Prototypes/Language/Standard/tradeband.yml b/Resources/Prototypes/Language/Standard/tradeband.yml index 96415dc5a6..53613b46b2 100644 --- a/Resources/Prototypes/Language/Standard/tradeband.yml +++ b/Resources/Prototypes/Language/Standard/tradeband.yml @@ -1,5 +1,6 @@ - type: language id: Tradeband + isVisibleLanguage: true speech: color: "#597d35" obfuscation: diff --git a/Resources/Prototypes/Language/genericlanguages.yml b/Resources/Prototypes/Language/genericlanguages.yml index 8d172cdae9..90cb874ee6 100644 --- a/Resources/Prototypes/Language/genericlanguages.yml +++ b/Resources/Prototypes/Language/genericlanguages.yml @@ -12,6 +12,7 @@ # TODO: Replace this with much better languages. Yes, robots can have languages. - type: language id: RobotTalk + isVisibleLanguage: true speech: fontId: Monospace obfuscation: From cb0106ae0de5693b64180de73e6961f0d7bb1561 Mon Sep 17 00:00:00 2001 From: TheDen-Bot Date: Fri, 3 Jan 2025 22:45:33 +0000 Subject: [PATCH 04/20] Automated changelog update (#119) --- Resources/Changelog/Den.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Resources/Changelog/Den.yml b/Resources/Changelog/Den.yml index ef08eb352f..fc9ebab1c4 100644 --- a/Resources/Changelog/Den.yml +++ b/Resources/Changelog/Den.yml @@ -704,3 +704,10 @@ Entries: id: 63 time: '2025-01-03T21:18:37.0000000+00:00' url: https://github.com/TheDenSS14/TheDen/pull/118 +- author: sleepyyapril + changes: + - type: Tweak + message: Specific languages now how proper coloring. + id: 64 + time: '2025-01-03T22:45:07.0000000+00:00' + url: https://github.com/TheDenSS14/TheDen/pull/119 From 18412867307b6414dc7ac30608f4837e9b0a2193 Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Fri, 3 Jan 2025 19:15:24 -0400 Subject: [PATCH 05/20] Disable default shadowkin powers --- Content.Server/Shadowkin/ShadowkinSystem.cs | 3 --- Resources/Prototypes/Entities/Mobs/Species/shadowkin.yml | 3 --- 2 files changed, 6 deletions(-) diff --git a/Content.Server/Shadowkin/ShadowkinSystem.cs b/Content.Server/Shadowkin/ShadowkinSystem.cs index 4cb7cf3b03..9014abe38d 100644 --- a/Content.Server/Shadowkin/ShadowkinSystem.cs +++ b/Content.Server/Shadowkin/ShadowkinSystem.cs @@ -138,9 +138,6 @@ private void OnRejuvenate(EntityUid uid, ShadowkinComponent component, Rejuvenat magic.ManaGain = 0.25f; magic.MindbreakingFeedback = "shadowkin-blackeye"; magic.NoMana = "shadowkin-tired"; - - if (_prototypeManager.TryIndex("ShadowkinPowers", out var shadowkinPowers)) - _psionicAbilitiesSystem.InitializePsionicPower(uid, shadowkinPowers); } // FloofStation Edit diff --git a/Resources/Prototypes/Entities/Mobs/Species/shadowkin.yml b/Resources/Prototypes/Entities/Mobs/Species/shadowkin.yml index c6bb46be59..573a0cb08c 100644 --- a/Resources/Prototypes/Entities/Mobs/Species/shadowkin.yml +++ b/Resources/Prototypes/Entities/Mobs/Species/shadowkin.yml @@ -235,9 +235,6 @@ mana: 100 maxMana: 200 noMana: shadowkin-tired - - type: InnatePsionicPowers - powersToAdd: - - ShadowkinPowers - type: LanguageKnowledge speaks: - TauCetiBasic From eb4de63dd7f67c88f14390274af664306a18bcf8 Mon Sep 17 00:00:00 2001 From: TheDen-Bot Date: Fri, 3 Jan 2025 23:22:00 +0000 Subject: [PATCH 06/20] Automated changelog update (#120) --- Resources/Changelog/Den.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Resources/Changelog/Den.yml b/Resources/Changelog/Den.yml index fc9ebab1c4..ca9d88a0fd 100644 --- a/Resources/Changelog/Den.yml +++ b/Resources/Changelog/Den.yml @@ -711,3 +711,10 @@ Entries: id: 64 time: '2025-01-03T22:45:07.0000000+00:00' url: https://github.com/TheDenSS14/TheDen/pull/119 +- author: sleepyyapril + changes: + - type: Remove + message: Removed the default Dark Swap Shadowkin power + id: 65 + time: '2025-01-03T23:21:33.0000000+00:00' + url: https://github.com/TheDenSS14/TheDen/pull/120 From 2bba4f501feb5146c8c497064fc3933ea242cb0a Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Fri, 3 Jan 2025 21:52:28 -0400 Subject: [PATCH 07/20] Changelog stuff --- Tools/actions_changelogs_since_last_run.py | 29 +++++++++++----------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/Tools/actions_changelogs_since_last_run.py b/Tools/actions_changelogs_since_last_run.py index 6ecf724dca..8cce5e8a80 100755 --- a/Tools/actions_changelogs_since_last_run.py +++ b/Tools/actions_changelogs_since_last_run.py @@ -20,12 +20,11 @@ # https://discord.com/developers/docs/resources/webhook DISCORD_SPLIT_LIMIT = 2000 DISCORD_WEBHOOK_URL = os.environ.get("CHANGELOG_WEBHOOK") - CHANGELOG_FILE = os.environ.get("CHANGELOG_DIR") TYPES_TO_EMOJI = { "Fix": "🐛", - "Add": "✨", + "Add": "🆕", "Remove": "❌", "Tweak": "⚒️" } @@ -108,14 +107,14 @@ def diff_changelog(old: dict[str, Any], cur: dict[str, Any]) -> Iterable[Changel def get_discord_body(content: str): return { - "content": content, - # Do not allow any mentions. - "allowed_mentions": { - "parse": [] - }, - # SUPPRESS_EMBEDS - "flags": 1 << 2 - } + "content": content, + # Do not allow any mentions. + "allowed_mentions": { + "parse": [] + }, + # SUPPRESS_EMBEDS + "flags": 1 << 2 + } def send_discord(content: str): @@ -138,7 +137,7 @@ def send_to_discord(entries: Iterable[ChangelogEntry]) -> None: for name, group in itertools.groupby(entries, lambda x: x["author"]): # Need to split text to avoid discord character limit group_content = io.StringIO() - group_content.write(f"## {name}:\n") + group_content.write(f"**{name}** updated:\n") for entry in group: for change in entry["changes"]: @@ -146,7 +145,7 @@ def send_to_discord(entries: Iterable[ChangelogEntry]) -> None: message = change['message'] url = entry.get("url") if url and url.strip(): - group_content.write(f"{emoji} - [{message}]({url})\n") + group_content.write(f"[[PR]]({url}) - {emoji} - {message}\n") else: group_content.write(f"{emoji} - {message}\n") @@ -157,7 +156,7 @@ def send_to_discord(entries: Iterable[ChangelogEntry]) -> None: # If adding the text would bring it over the group limit then send the message and start a new one if message_length + group_length >= DISCORD_SPLIT_LIMIT: - print("Split changelog and sending to discord") + print("Split changelog and sending to discord") send_discord(message_text) # Reset the message @@ -165,7 +164,7 @@ def send_to_discord(entries: Iterable[ChangelogEntry]) -> None: # Flush the group to the message message_content.write(group_text) - + # Clean up anything remaining message_text = message_content.getvalue() if len(message_text) > 0: @@ -173,4 +172,4 @@ def send_to_discord(entries: Iterable[ChangelogEntry]) -> None: send_discord(message_text) -main() +main() \ No newline at end of file From af9af8417e26b62b2c2722011ec10872cab7b60e Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Fri, 3 Jan 2025 21:54:24 -0400 Subject: [PATCH 08/20] Rename namespace --- .../Locale/en-US/{theden => _DEN}/traits/misc.ftl | 0 .../Entities/Clothing/Head/hats.yml | 0 .../Entities/Clothing/Masks/masks.yml | 0 .../Entities/Clothing/OuterClothing/coats.yml | 0 .../Entities/Clothing/Uniforms/jumpsuits.yml | 0 .../Entities/Objects/Specific/Mail/mail.yml | 0 .../{TheDen => _DEN}/Loadouts/Generic/head.yml | 0 .../Loadouts/Generic/outerclothing.yml | 0 .../{TheDen => _DEN}/Loadouts/Generic/uniform.yml | 0 .../Loadouts/Jobs/Command/captain.yml | 0 .../Prototypes/{TheDen => _DEN}/Loadouts/groups.yml | 0 .../Prototypes/{TheDen => _DEN}/Loadouts/items.yml | 0 .../Prototypes/{TheDen => _DEN}/Loadouts/lewd.yml | 0 .../{TheDen => _DEN}/Traits/languages.yml | 0 .../Head/Hats/featheredcap.rsi/equipped-HELMET.png | Bin .../Clothing/Head/Hats/featheredcap.rsi/icon.png | Bin .../Head/Hats/featheredcap.rsi/inhand-left.png | Bin .../Head/Hats/featheredcap.rsi/inhand-right.png | Bin .../Clothing/Head/Hats/featheredcap.rsi/meta.json | 0 .../equipped-MASK-reptilian.png | Bin .../Mask/gascaptaincombat.rsi/equipped-MASK-vox.png | Bin .../equipped-MASK-vulpkanin.png | Bin .../Mask/gascaptaincombat.rsi/equipped-MASK.png | Bin .../Clothing/Mask/gascaptaincombat.rsi/icon.png | Bin .../Mask/gascaptaincombat.rsi/inhand-left.png | Bin .../Mask/gascaptaincombat.rsi/inhand-right.png | Bin .../Clothing/Mask/gascaptaincombat.rsi/meta.json | 0 .../cap_trenchcoat.rsi/equipped-OUTERCLOTHING.png | Bin .../OuterClothing/Coats/cap_trenchcoat.rsi/icon.png | Bin .../Coats/cap_trenchcoat.rsi/inhand-left.png | Bin .../Coats/cap_trenchcoat.rsi/inhand-right.png | Bin .../Coats/cap_trenchcoat.rsi/meta.json | 0 .../lederhosen.rsi/equipped-INNERCLOTHING.png | Bin .../Uniforms/Jumpsuit/lederhosen.rsi/icon.png | Bin .../Jumpsuit/lederhosen.rsi/inhand-left.png | Bin .../Jumpsuit/lederhosen.rsi/inhand-right.png | Bin .../Uniforms/Jumpsuit/lederhosen.rsi/meta.json | 0 37 files changed, 0 insertions(+), 0 deletions(-) rename Resources/Locale/en-US/{theden => _DEN}/traits/misc.ftl (100%) rename Resources/Prototypes/{TheDen => _DEN}/Entities/Clothing/Head/hats.yml (100%) rename Resources/Prototypes/{TheDen => _DEN}/Entities/Clothing/Masks/masks.yml (100%) rename Resources/Prototypes/{TheDen => _DEN}/Entities/Clothing/OuterClothing/coats.yml (100%) rename Resources/Prototypes/{TheDen => _DEN}/Entities/Clothing/Uniforms/jumpsuits.yml (100%) rename Resources/Prototypes/{TheDen => _DEN}/Entities/Objects/Specific/Mail/mail.yml (100%) rename Resources/Prototypes/{TheDen => _DEN}/Loadouts/Generic/head.yml (100%) rename Resources/Prototypes/{TheDen => _DEN}/Loadouts/Generic/outerclothing.yml (100%) rename Resources/Prototypes/{TheDen => _DEN}/Loadouts/Generic/uniform.yml (100%) rename Resources/Prototypes/{TheDen => _DEN}/Loadouts/Jobs/Command/captain.yml (100%) rename Resources/Prototypes/{TheDen => _DEN}/Loadouts/groups.yml (100%) rename Resources/Prototypes/{TheDen => _DEN}/Loadouts/items.yml (100%) rename Resources/Prototypes/{TheDen => _DEN}/Loadouts/lewd.yml (100%) rename Resources/Prototypes/{TheDen => _DEN}/Traits/languages.yml (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Head/Hats/featheredcap.rsi/equipped-HELMET.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Head/Hats/featheredcap.rsi/icon.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Head/Hats/featheredcap.rsi/inhand-left.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Head/Hats/featheredcap.rsi/inhand-right.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Head/Hats/featheredcap.rsi/meta.json (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK-reptilian.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK-vox.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK-vulpkanin.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Mask/gascaptaincombat.rsi/icon.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Mask/gascaptaincombat.rsi/inhand-left.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Mask/gascaptaincombat.rsi/inhand-right.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Mask/gascaptaincombat.rsi/meta.json (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/equipped-OUTERCLOTHING.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/icon.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/inhand-left.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/inhand-right.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/meta.json (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/equipped-INNERCLOTHING.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/icon.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/inhand-left.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/inhand-right.png (100%) rename Resources/Textures/{TheDen => _DEN}/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/meta.json (100%) diff --git a/Resources/Locale/en-US/theden/traits/misc.ftl b/Resources/Locale/en-US/_DEN/traits/misc.ftl similarity index 100% rename from Resources/Locale/en-US/theden/traits/misc.ftl rename to Resources/Locale/en-US/_DEN/traits/misc.ftl diff --git a/Resources/Prototypes/TheDen/Entities/Clothing/Head/hats.yml b/Resources/Prototypes/_DEN/Entities/Clothing/Head/hats.yml similarity index 100% rename from Resources/Prototypes/TheDen/Entities/Clothing/Head/hats.yml rename to Resources/Prototypes/_DEN/Entities/Clothing/Head/hats.yml diff --git a/Resources/Prototypes/TheDen/Entities/Clothing/Masks/masks.yml b/Resources/Prototypes/_DEN/Entities/Clothing/Masks/masks.yml similarity index 100% rename from Resources/Prototypes/TheDen/Entities/Clothing/Masks/masks.yml rename to Resources/Prototypes/_DEN/Entities/Clothing/Masks/masks.yml diff --git a/Resources/Prototypes/TheDen/Entities/Clothing/OuterClothing/coats.yml b/Resources/Prototypes/_DEN/Entities/Clothing/OuterClothing/coats.yml similarity index 100% rename from Resources/Prototypes/TheDen/Entities/Clothing/OuterClothing/coats.yml rename to Resources/Prototypes/_DEN/Entities/Clothing/OuterClothing/coats.yml diff --git a/Resources/Prototypes/TheDen/Entities/Clothing/Uniforms/jumpsuits.yml b/Resources/Prototypes/_DEN/Entities/Clothing/Uniforms/jumpsuits.yml similarity index 100% rename from Resources/Prototypes/TheDen/Entities/Clothing/Uniforms/jumpsuits.yml rename to Resources/Prototypes/_DEN/Entities/Clothing/Uniforms/jumpsuits.yml diff --git a/Resources/Prototypes/TheDen/Entities/Objects/Specific/Mail/mail.yml b/Resources/Prototypes/_DEN/Entities/Objects/Specific/Mail/mail.yml similarity index 100% rename from Resources/Prototypes/TheDen/Entities/Objects/Specific/Mail/mail.yml rename to Resources/Prototypes/_DEN/Entities/Objects/Specific/Mail/mail.yml diff --git a/Resources/Prototypes/TheDen/Loadouts/Generic/head.yml b/Resources/Prototypes/_DEN/Loadouts/Generic/head.yml similarity index 100% rename from Resources/Prototypes/TheDen/Loadouts/Generic/head.yml rename to Resources/Prototypes/_DEN/Loadouts/Generic/head.yml diff --git a/Resources/Prototypes/TheDen/Loadouts/Generic/outerclothing.yml b/Resources/Prototypes/_DEN/Loadouts/Generic/outerclothing.yml similarity index 100% rename from Resources/Prototypes/TheDen/Loadouts/Generic/outerclothing.yml rename to Resources/Prototypes/_DEN/Loadouts/Generic/outerclothing.yml diff --git a/Resources/Prototypes/TheDen/Loadouts/Generic/uniform.yml b/Resources/Prototypes/_DEN/Loadouts/Generic/uniform.yml similarity index 100% rename from Resources/Prototypes/TheDen/Loadouts/Generic/uniform.yml rename to Resources/Prototypes/_DEN/Loadouts/Generic/uniform.yml diff --git a/Resources/Prototypes/TheDen/Loadouts/Jobs/Command/captain.yml b/Resources/Prototypes/_DEN/Loadouts/Jobs/Command/captain.yml similarity index 100% rename from Resources/Prototypes/TheDen/Loadouts/Jobs/Command/captain.yml rename to Resources/Prototypes/_DEN/Loadouts/Jobs/Command/captain.yml diff --git a/Resources/Prototypes/TheDen/Loadouts/groups.yml b/Resources/Prototypes/_DEN/Loadouts/groups.yml similarity index 100% rename from Resources/Prototypes/TheDen/Loadouts/groups.yml rename to Resources/Prototypes/_DEN/Loadouts/groups.yml diff --git a/Resources/Prototypes/TheDen/Loadouts/items.yml b/Resources/Prototypes/_DEN/Loadouts/items.yml similarity index 100% rename from Resources/Prototypes/TheDen/Loadouts/items.yml rename to Resources/Prototypes/_DEN/Loadouts/items.yml diff --git a/Resources/Prototypes/TheDen/Loadouts/lewd.yml b/Resources/Prototypes/_DEN/Loadouts/lewd.yml similarity index 100% rename from Resources/Prototypes/TheDen/Loadouts/lewd.yml rename to Resources/Prototypes/_DEN/Loadouts/lewd.yml diff --git a/Resources/Prototypes/TheDen/Traits/languages.yml b/Resources/Prototypes/_DEN/Traits/languages.yml similarity index 100% rename from Resources/Prototypes/TheDen/Traits/languages.yml rename to Resources/Prototypes/_DEN/Traits/languages.yml diff --git a/Resources/Textures/TheDen/Clothing/Head/Hats/featheredcap.rsi/equipped-HELMET.png b/Resources/Textures/_DEN/Clothing/Head/Hats/featheredcap.rsi/equipped-HELMET.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/Head/Hats/featheredcap.rsi/equipped-HELMET.png rename to Resources/Textures/_DEN/Clothing/Head/Hats/featheredcap.rsi/equipped-HELMET.png diff --git a/Resources/Textures/TheDen/Clothing/Head/Hats/featheredcap.rsi/icon.png b/Resources/Textures/_DEN/Clothing/Head/Hats/featheredcap.rsi/icon.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/Head/Hats/featheredcap.rsi/icon.png rename to Resources/Textures/_DEN/Clothing/Head/Hats/featheredcap.rsi/icon.png diff --git a/Resources/Textures/TheDen/Clothing/Head/Hats/featheredcap.rsi/inhand-left.png b/Resources/Textures/_DEN/Clothing/Head/Hats/featheredcap.rsi/inhand-left.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/Head/Hats/featheredcap.rsi/inhand-left.png rename to Resources/Textures/_DEN/Clothing/Head/Hats/featheredcap.rsi/inhand-left.png diff --git a/Resources/Textures/TheDen/Clothing/Head/Hats/featheredcap.rsi/inhand-right.png b/Resources/Textures/_DEN/Clothing/Head/Hats/featheredcap.rsi/inhand-right.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/Head/Hats/featheredcap.rsi/inhand-right.png rename to Resources/Textures/_DEN/Clothing/Head/Hats/featheredcap.rsi/inhand-right.png diff --git a/Resources/Textures/TheDen/Clothing/Head/Hats/featheredcap.rsi/meta.json b/Resources/Textures/_DEN/Clothing/Head/Hats/featheredcap.rsi/meta.json similarity index 100% rename from Resources/Textures/TheDen/Clothing/Head/Hats/featheredcap.rsi/meta.json rename to Resources/Textures/_DEN/Clothing/Head/Hats/featheredcap.rsi/meta.json diff --git a/Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK-reptilian.png b/Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK-reptilian.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK-reptilian.png rename to Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK-reptilian.png diff --git a/Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK-vox.png b/Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK-vox.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK-vox.png rename to Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK-vox.png diff --git a/Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK-vulpkanin.png b/Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK-vulpkanin.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK-vulpkanin.png rename to Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK-vulpkanin.png diff --git a/Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK.png b/Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK.png rename to Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/equipped-MASK.png diff --git a/Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/icon.png b/Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/icon.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/icon.png rename to Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/icon.png diff --git a/Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/inhand-left.png b/Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/inhand-left.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/inhand-left.png rename to Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/inhand-left.png diff --git a/Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/inhand-right.png b/Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/inhand-right.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/inhand-right.png rename to Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/inhand-right.png diff --git a/Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/meta.json b/Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/meta.json similarity index 100% rename from Resources/Textures/TheDen/Clothing/Mask/gascaptaincombat.rsi/meta.json rename to Resources/Textures/_DEN/Clothing/Mask/gascaptaincombat.rsi/meta.json diff --git a/Resources/Textures/TheDen/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/equipped-OUTERCLOTHING.png b/Resources/Textures/_DEN/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/equipped-OUTERCLOTHING.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/equipped-OUTERCLOTHING.png rename to Resources/Textures/_DEN/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/equipped-OUTERCLOTHING.png diff --git a/Resources/Textures/TheDen/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/icon.png b/Resources/Textures/_DEN/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/icon.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/icon.png rename to Resources/Textures/_DEN/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/icon.png diff --git a/Resources/Textures/TheDen/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/inhand-left.png b/Resources/Textures/_DEN/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/inhand-left.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/inhand-left.png rename to Resources/Textures/_DEN/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/inhand-left.png diff --git a/Resources/Textures/TheDen/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/inhand-right.png b/Resources/Textures/_DEN/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/inhand-right.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/inhand-right.png rename to Resources/Textures/_DEN/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/inhand-right.png diff --git a/Resources/Textures/TheDen/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/meta.json b/Resources/Textures/_DEN/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/meta.json similarity index 100% rename from Resources/Textures/TheDen/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/meta.json rename to Resources/Textures/_DEN/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi/meta.json diff --git a/Resources/Textures/TheDen/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/_DEN/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/equipped-INNERCLOTHING.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/equipped-INNERCLOTHING.png rename to Resources/Textures/_DEN/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/equipped-INNERCLOTHING.png diff --git a/Resources/Textures/TheDen/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/icon.png b/Resources/Textures/_DEN/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/icon.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/icon.png rename to Resources/Textures/_DEN/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/icon.png diff --git a/Resources/Textures/TheDen/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/inhand-left.png b/Resources/Textures/_DEN/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/inhand-left.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/inhand-left.png rename to Resources/Textures/_DEN/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/inhand-left.png diff --git a/Resources/Textures/TheDen/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/inhand-right.png b/Resources/Textures/_DEN/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/inhand-right.png similarity index 100% rename from Resources/Textures/TheDen/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/inhand-right.png rename to Resources/Textures/_DEN/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/inhand-right.png diff --git a/Resources/Textures/TheDen/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/meta.json b/Resources/Textures/_DEN/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/meta.json similarity index 100% rename from Resources/Textures/TheDen/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/meta.json rename to Resources/Textures/_DEN/Clothing/Uniforms/Jumpsuit/lederhosen.rsi/meta.json From 7ba841896cc500917e585d3b9c2712b5ff477c62 Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Fri, 3 Jan 2025 22:04:03 -0400 Subject: [PATCH 09/20] Fix rsi --- Content.Shared/Roles/StartingGearPrototype.cs | 5 ++++- Resources/Prototypes/_DEN/Entities/Clothing/Head/hats.yml | 4 ++-- Resources/Prototypes/_DEN/Entities/Clothing/Masks/masks.yml | 4 ++-- .../_DEN/Entities/Clothing/OuterClothing/coats.yml | 4 ++-- .../Prototypes/_DEN/Entities/Clothing/Uniforms/jumpsuits.yml | 4 ++-- 5 files changed, 12 insertions(+), 9 deletions(-) diff --git a/Content.Shared/Roles/StartingGearPrototype.cs b/Content.Shared/Roles/StartingGearPrototype.cs index 883fe283a6..7e47b9a74c 100644 --- a/Content.Shared/Roles/StartingGearPrototype.cs +++ b/Content.Shared/Roles/StartingGearPrototype.cs @@ -1,3 +1,4 @@ +using System.Linq; using Content.Shared.Preferences; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array; @@ -47,10 +48,12 @@ public string GetGear(string slot, HumanoidCharacterProfile? profile) { if (profile != null) { + var forceSkirt = new[] { "Harpy", "Lamia" }; + switch (slot) { case "jumpsuit" when profile.Clothing == ClothingPreference.Jumpskirt && !string.IsNullOrEmpty(InnerClothingSkirt): - case "jumpsuit" when profile.Species == "Harpy" && !string.IsNullOrEmpty(InnerClothingSkirt): + case "jumpsuit" when forceSkirt.Contains(profile.Species) && !string.IsNullOrEmpty(InnerClothingSkirt): return InnerClothingSkirt; case "back" when profile.Backpack == BackpackPreference.Satchel && !string.IsNullOrEmpty(Satchel): return Satchel; diff --git a/Resources/Prototypes/_DEN/Entities/Clothing/Head/hats.yml b/Resources/Prototypes/_DEN/Entities/Clothing/Head/hats.yml index 043de761a4..29b261da17 100644 --- a/Resources/Prototypes/_DEN/Entities/Clothing/Head/hats.yml +++ b/Resources/Prototypes/_DEN/Entities/Clothing/Head/hats.yml @@ -5,6 +5,6 @@ description: A green cap, with a smooth, white feather placed within the rim. It makes you want to shoot a bow. components: - type: Sprite - sprite: TheDen/Clothing/Head/Hats/featheredcap.rsi + sprite: _DEN/Clothing/Head/Hats/featheredcap.rsi - type: Clothing - sprite: TheDen/Clothing/Head/Hats/featheredcap.rsi + sprite: _DEN/Clothing/Head/Hats/featheredcap.rsi diff --git a/Resources/Prototypes/_DEN/Entities/Clothing/Masks/masks.yml b/Resources/Prototypes/_DEN/Entities/Clothing/Masks/masks.yml index 0c842236e9..0ec32be4a0 100644 --- a/Resources/Prototypes/_DEN/Entities/Clothing/Masks/masks.yml +++ b/Resources/Prototypes/_DEN/Entities/Clothing/Masks/masks.yml @@ -5,6 +5,6 @@ description: A military-grade gas mask that can be connected to an air supply, painted and outfitted with an emblem befitting its wearer. Issued only to the station's finest. components: - type: Sprite - sprite: TheDen/Clothing/Mask/gascaptaincombat.rsi + sprite: _DEN/Clothing/Mask/gascaptaincombat.rsi - type: Clothing - sprite: TheDen/Clothing/Mask/gascaptaincombat.rsi + sprite: _DEN/Clothing/Mask/gascaptaincombat.rsi diff --git a/Resources/Prototypes/_DEN/Entities/Clothing/OuterClothing/coats.yml b/Resources/Prototypes/_DEN/Entities/Clothing/OuterClothing/coats.yml index 42de89a2a0..e52c476075 100644 --- a/Resources/Prototypes/_DEN/Entities/Clothing/OuterClothing/coats.yml +++ b/Resources/Prototypes/_DEN/Entities/Clothing/OuterClothing/coats.yml @@ -5,6 +5,6 @@ description: A greatcoat enhanced with a special alloy for some extra protection and style for those with a commanding presence, outfitted with emblems and decor befitting its wearer. Issued only to the station's finest. components: - type: Sprite - sprite: TheDen/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi + sprite: _DEN/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi - type: Clothing - sprite: TheDen/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi + sprite: _DEN/Clothing/OuterClothing/Coats/cap_trenchcoat.rsi diff --git a/Resources/Prototypes/_DEN/Entities/Clothing/Uniforms/jumpsuits.yml b/Resources/Prototypes/_DEN/Entities/Clothing/Uniforms/jumpsuits.yml index f685eae0f7..7361ed9366 100644 --- a/Resources/Prototypes/_DEN/Entities/Clothing/Uniforms/jumpsuits.yml +++ b/Resources/Prototypes/_DEN/Entities/Clothing/Uniforms/jumpsuits.yml @@ -5,6 +5,6 @@ description: A traditional type of leather breeches. components: - type: Sprite - sprite: TheDen/Clothing/Uniforms/Jumpsuit/lederhosen.rsi + sprite: _DEN/Clothing/Uniforms/Jumpsuit/lederhosen.rsi - type: Clothing - sprite: TheDen/Clothing/Uniforms/Jumpsuit/lederhosen.rsi + sprite: _DEN/Clothing/Uniforms/Jumpsuit/lederhosen.rsi From bb3d597cd4ec9672b86e392423dc974e8f104cdf Mon Sep 17 00:00:00 2001 From: sleepyyapril Date: Fri, 3 Jan 2025 22:27:30 -0400 Subject: [PATCH 10/20] locale! --- .../Locale/en-US/chat/managers/chat-language.ftl | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 Resources/Locale/en-US/chat/managers/chat-language.ftl diff --git a/Resources/Locale/en-US/chat/managers/chat-language.ftl b/Resources/Locale/en-US/chat/managers/chat-language.ftl new file mode 100644 index 0000000000..2090b76174 --- /dev/null +++ b/Resources/Locale/en-US/chat/managers/chat-language.ftl @@ -0,0 +1,15 @@ +chat-language-Universal-name = Universal +chat-language-Bubblish-name = Bubblish +chat-language-RootSpeak-name = Rootspeak +chat-language-Nekomimetic-name = Neko +chat-language-Draconic-name = Sinta'Unathi +chat-language-Azaziba-name = Sinta'Azaziba +chat-language-SolCommon-name = Sol Common +chat-language-TauCetiBasic-name = Basic +chat-language-Tradeband-name = Tradeband +chat-language-Freespeak-name = Freespeak +chat-language-Elyran-name = Elyran +chat-language-Canilunzt-name = Canilunzt +chat-language-Moffic-name = Moffic +chat-language-RobotTalk-name = Binary +chat-language-ValyrianStandard-name = Valyrian \ No newline at end of file From a6bc858414ab5ce8168560af712db02a34ecb9f9 Mon Sep 17 00:00:00 2001 From: Azzy Date: Fri, 3 Jan 2025 21:18:04 -0600 Subject: [PATCH 11/20] Update humanoid-character-profile.ftl Fixes the pronouns in the character preview to not show they/them pronouns for characters that use it/its --- .../Locale/en-US/preferences/humanoid-character-profile.ftl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Resources/Locale/en-US/preferences/humanoid-character-profile.ftl b/Resources/Locale/en-US/preferences/humanoid-character-profile.ftl index 800da35ba5..9058f8d2b6 100644 --- a/Resources/Locale/en-US/preferences/humanoid-character-profile.ftl +++ b/Resources/Locale/en-US/preferences/humanoid-character-profile.ftl @@ -5,5 +5,6 @@ humanoid-character-profile-summary = This is {$name}. {$gender -> [male] He is [female] She is + [neuter] It is *[other] They are -} {$age} years old. \ No newline at end of file +} {$age} years old. From 194b82c87bce84d0a3a95985d9aa62aeccbe2744 Mon Sep 17 00:00:00 2001 From: TheDen-Bot Date: Sat, 4 Jan 2025 03:55:10 +0000 Subject: [PATCH 12/20] Automated changelog update (#123) --- Resources/Changelog/Den.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Resources/Changelog/Den.yml b/Resources/Changelog/Den.yml index ca9d88a0fd..760e83dc84 100644 --- a/Resources/Changelog/Den.yml +++ b/Resources/Changelog/Den.yml @@ -718,3 +718,12 @@ Entries: id: 65 time: '2025-01-03T23:21:33.0000000+00:00' url: https://github.com/TheDenSS14/TheDen/pull/120 +- author: Azzy + changes: + - type: Fix + message: >- + Fixed they/them pronouns being displayed for it/its characters in the + character preview. + id: 66 + time: '2025-01-04T03:54:45.0000000+00:00' + url: https://github.com/TheDenSS14/TheDen/pull/123 From c6fa350957351389a454ccd174d90388b4c69136 Mon Sep 17 00:00:00 2001 From: KyuPolaris Date: Sat, 4 Jan 2025 17:35:14 +1100 Subject: [PATCH 13/20] CMO Turtleneck --- .../Jobs/Medical/chiefMedicalOfficer.yml | 4 +++ .../Jobs/Medical/chiefMedicalOfficer.yml | 26 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/Resources/Prototypes/CharacterItemGroups/Jobs/Medical/chiefMedicalOfficer.yml b/Resources/Prototypes/CharacterItemGroups/Jobs/Medical/chiefMedicalOfficer.yml index 6e9bd02b4f..d1a88dc09c 100644 --- a/Resources/Prototypes/CharacterItemGroups/Jobs/Medical/chiefMedicalOfficer.yml +++ b/Resources/Prototypes/CharacterItemGroups/Jobs/Medical/chiefMedicalOfficer.yml @@ -91,3 +91,7 @@ id: LoadoutChiefMedicalOfficerJumpsuit - type: loadout id: LoadoutChiefMedicalOfficerJumpskirt + - type: loadout + id: LoadoutChiefMedicalOfficerTurtleskirt # The Den + - type: loadout + id: LoadoutChiefMedicalOfficerTurtlesuit # The Den diff --git a/Resources/Prototypes/Loadouts/Jobs/Medical/chiefMedicalOfficer.yml b/Resources/Prototypes/Loadouts/Jobs/Medical/chiefMedicalOfficer.yml index b5e82749ce..f99f2ec5aa 100644 --- a/Resources/Prototypes/Loadouts/Jobs/Medical/chiefMedicalOfficer.yml +++ b/Resources/Prototypes/Loadouts/Jobs/Medical/chiefMedicalOfficer.yml @@ -212,3 +212,29 @@ - ChiefMedicalOfficer items: - ClothingUniformJumpskirtCMO + +- type: loadout + id: LoadoutChiefMedicalOfficerTurtleskirt # The Den // LETS HOPE IT STICKS THIS TIME + category: JobsMedicalChiefMedicalOfficer + cost: 0 + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutChiefMedicalOfficerUniforms + - !type:CharacterJobRequirement + jobs: + - ChiefMedicalOfficer + items: + - ClothingUniformJumpskirtCMOTurtle + +- type: loadout + id: LoadoutChiefMedicalOfficerTurtlesuit # The Den + category: JobsMedicalChiefMedicalOfficer + cost: 0 + requirements: + - !type:CharacterItemGroupRequirement + group: LoadoutChiefMedicalOfficerUniforms + - !type:CharacterJobRequirement + jobs: + - ChiefMedicalOfficer + items: + - ClothingUniformJumpsuitCMOTurtle From 1f450debd1d5c11378a51f7032bc04fec1bd41ab Mon Sep 17 00:00:00 2001 From: Rosycup Date: Sun, 5 Jan 2025 00:16:18 +0800 Subject: [PATCH 14/20] Added fancy fountain pens for other department heads. --- .../Entities/Objects/Devices/pda.yml | 48 ++++++++++++++++++ .../_DEN/Entities/Objects/Misc/paper.yml | 43 ++++++++++++++++ .../Objects/Misc/bureaucracy.rsi/meta.json | 31 +++++++++++ .../Objects/Misc/bureaucracy.rsi/pen_ce.png | Bin 0 -> 268 bytes .../Objects/Misc/bureaucracy.rsi/pen_hos.png | Bin 0 -> 261 bytes .../Objects/Misc/bureaucracy.rsi/pen_lo.png | Bin 0 -> 271 bytes .../Objects/Misc/bureaucracy.rsi/pen_rd.png | Bin 0 -> 268 bytes 7 files changed, 122 insertions(+) create mode 100644 Resources/Prototypes/_DEN/Entities/Objects/Misc/paper.yml create mode 100644 Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/meta.json create mode 100644 Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/pen_ce.png create mode 100644 Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/pen_hos.png create mode 100644 Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/pen_lo.png create mode 100644 Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/pen_rd.png diff --git a/Resources/Prototypes/Entities/Objects/Devices/pda.yml b/Resources/Prototypes/Entities/Objects/Devices/pda.yml index e0cb7efe2a..41c83eb73c 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/pda.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/pda.yml @@ -390,6 +390,12 @@ - type: Pda id: QuartermasterIDCard state: pda-qmnano + penSlot: + startingItem: PenLo + priority: -1 + whitelist: + tags: + - Write - type: PdaBorderColor borderColor: "#e39751" accentVColor: "#a23e3e" @@ -413,6 +419,12 @@ - type: Pda id: CargoIDCard state: pda-cargo + penSlot: + startingItem: PenLo + priority: -1 + whitelist: + tags: + - Write - type: PdaBorderColor borderColor: "#e39751" - type: Icon @@ -629,6 +641,12 @@ - type: Pda id: CEIDCard state: pda-ce + penSlot: + startingItem: PenCe + priority: -1 + whitelist: + tags: + - Write - type: PdaBorderColor borderColor: "#949137" accentHColor: "#447987" @@ -644,6 +662,12 @@ - type: Pda id: CEIDCard state: pda-cenano + penSlot: + startingItem: PenCe + priority: -1 + whitelist: + tags: + - Write - type: PdaBorderColor borderColor: "#949137" accentHColor: "#447987" @@ -784,6 +808,12 @@ - type: Pda id: RDIDCard state: pda-rd + penSlot: + startingItem: PenRd + priority: -1 + whitelist: + tags: + - Write - type: PdaBorderColor borderColor: "#d7d7d0" accentHColor: "#447987" @@ -807,6 +837,12 @@ - type: Pda id: RDIDCard state: pda-rdnano + penSlot: + startingItem: PenRd + priority: -1 + whitelist: + tags: + - Write - type: PdaBorderColor borderColor: "#d7d7d0" accentHColor: "#447987" @@ -867,6 +903,12 @@ - type: Pda id: HoSIDCard state: pda-hos + penSlot: + startingItem: PenHos + priority: -1 + whitelist: + tags: + - Write - type: PdaBorderColor borderColor: "#A32D26" accentHColor: "#447987" @@ -891,6 +933,12 @@ - type: Pda id: HoSIDCard state: pda-hosnano + penSlot: + startingItem: PenHos + priority: -1 + whitelist: + tags: + - Write - type: PdaBorderColor borderColor: "#A32D26" accentHColor: "#447987" diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Misc/paper.yml b/Resources/Prototypes/_DEN/Entities/Objects/Misc/paper.yml new file mode 100644 index 0000000000..ffc96dba57 --- /dev/null +++ b/Resources/Prototypes/_DEN/Entities/Objects/Misc/paper.yml @@ -0,0 +1,43 @@ +- type: entity + name: ce's fountain pen + parent: PenEmbeddable + id: PenCe + description: 'A luxurious fountain pen for the chief engineer of the station. Has anti-static grips.' + components: + - type: Sprite + sprite: _DEN/Objects/Misc/bureaucracy.rsi + state: pen_ce + +- type: entity + name: hos' fountain pen + parent: PenEmbeddable + id: PenHos + description: 'A luxurious fountain pen for the head of security of the station. Sharper than normal pens.' + components: + - type: Sprite + sprite: _DEN/Objects/Misc/bureaucracy.rsi + state: pen_hos + - type: DamageOtherOnHit + damage: + types: + Piercing: 8 + +- type: entity + name: lo's fountain pen + parent: PenEmbeddable + id: PenLo + description: 'A luxurious fountain pen for the logistics officer of the station. Smells like bounties to be written.' + components: + - type: Sprite + sprite: _DEN/Objects/Misc/bureaucracy.rsi + state: pen_lo + +- type: entity + name: mystagogue's fountain pen + parent: PenEmbeddable + id: PenRd + description: 'A luxurious fountain pen for the mystagogue of the station. More explosive resistant than normal pens.' + components: + - type: Sprite + sprite: _DEN/Objects/Misc/bureaucracy.rsi + state: pen_rd diff --git a/Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/meta.json b/Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/meta.json new file mode 100644 index 0000000000..ae65e83ec0 --- /dev/null +++ b/Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/meta.json @@ -0,0 +1,31 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432. pen_ce, pen_hos, pen_lo, and pen_rd are resprited versions of pen_cap by Rosycup (Github).", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "pen_ce" + }, + { + "name": "pen_hos" + }, + { + "name": "pen_lo" + }, + { + "name": "pen_rd" + }, + { + "name": "pen-inhand-left", + "directions": 4 + }, + { + "name": "pen-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/pen_ce.png b/Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/pen_ce.png new file mode 100644 index 0000000000000000000000000000000000000000..8d824be569a056712063d5dfe536dcb0e5850fa1 GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ%bqTdArYL(2@CJZec_;&v9XzIpxnx}=1Q%N0onzJ*~P z0#6%Ev#%L6)YSYiU_Situ=&Bh3GW}LcgPamgzNO!iG`nV|Frq`&zmnNwBn(ZG!U(Q6ZPs z1G7xCB^KEIJ74fwty%Yi;GeKCo_+cE{@mYFX&ma*l;B`uV$$Hu_~i4EBS-#ER`dO} zznLwQX}xno--oYX|K8`{@~3CluLG7$B0|cy1vl(yYGt{5nfVN(g47cZ0k%eVez}0H z3!JvKD@dp8WSD>DfHhDdORV*(1QQlF=Y$O{3=Fk9Q?&t;ucLK6U$ C&0y02 literal 0 HcmV?d00001 diff --git a/Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/pen_lo.png b/Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/pen_lo.png new file mode 100644 index 0000000000000000000000000000000000000000..b83581d78713cba3d92aa7663785b8316c0dfba1 GIT binary patch literal 271 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJYo0ESArYL(2@bi0f8wjIde;As^XujpVc`c#kT3j3`O2$fBu)YmG&6$shS8I&RQR{lj+;n?6%iDn_emLD6|J? zt8^3{m}Q#X5Vk(K=19Sehj-2%PH@kuzi^zPSi*4Lf(Tz{XJ!i#2fO+Y4-VD~bR^zz z{A$v8eW8JSL(RK$7yj=L`g`VpC6kEI;X{HV>8b%9Ck$^GbufKC8rc^4;7FIbT&5yt z5er8%gGS?}Lwt+Qute$|P&fV1$I!|Ws3#X{0(QKF69a?B$%02GgzqW>y~p6`>gTe~ HDWM4f8!BUm literal 0 HcmV?d00001 From 5a0e76fa6a2bd28296d77e6927067231c9a9ebb7 Mon Sep 17 00:00:00 2001 From: Rosycup Date: Sun, 5 Jan 2025 00:21:52 +0800 Subject: [PATCH 15/20] whoops --- .../Textures/_DEN/Objects/Misc/bureaucracy.rsi/meta.json | 8 -------- 1 file changed, 8 deletions(-) diff --git a/Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/meta.json b/Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/meta.json index ae65e83ec0..253dd981b2 100644 --- a/Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/meta.json +++ b/Resources/Textures/_DEN/Objects/Misc/bureaucracy.rsi/meta.json @@ -18,14 +18,6 @@ }, { "name": "pen_rd" - }, - { - "name": "pen-inhand-left", - "directions": 4 - }, - { - "name": "pen-inhand-right", - "directions": 4 } ] } From 4a3c8e02826b5013fa365455e650c0d920273d3a Mon Sep 17 00:00:00 2001 From: Rosycup Date: Sun, 5 Jan 2025 00:39:34 +0800 Subject: [PATCH 16/20] woof --- Resources/Prototypes/_DEN/Entities/Objects/Misc/paper.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Resources/Prototypes/_DEN/Entities/Objects/Misc/paper.yml b/Resources/Prototypes/_DEN/Entities/Objects/Misc/paper.yml index ffc96dba57..bbd278a2d6 100644 --- a/Resources/Prototypes/_DEN/Entities/Objects/Misc/paper.yml +++ b/Resources/Prototypes/_DEN/Entities/Objects/Misc/paper.yml @@ -18,9 +18,9 @@ sprite: _DEN/Objects/Misc/bureaucracy.rsi state: pen_hos - type: DamageOtherOnHit - damage: - types: - Piercing: 8 + damage: + types: + Piercing: 8 - type: entity name: lo's fountain pen From 28d3569da79606cdeaf98bc6e03864bea3967bf9 Mon Sep 17 00:00:00 2001 From: Fansana <116083121+Fansana@users.noreply.github.com> Date: Sun, 15 Dec 2024 22:06:13 +0100 Subject: [PATCH 17/20] Merge pull request #414 from Mnemotechnician/floof/tweak/leash-tweaks More Leash Tweaks --- .../Floofstation/Leash/LeashVisualsOverlay.cs | 89 ++++++++++++++ .../Floofstation/Leash/LeashVisualsSystem.cs | 21 ++++ .../Leash/Components/LeashAnchorComponent.cs | 7 ++ .../Leash/Components/LeashComponent.cs | 6 + .../Components/LeashedVisualsComponent.cs | 21 ++++ .../Floofstation/Leash/LeashSystem.cs | 114 +++++++++++++----- .../en-US/Floof/verbs/verb-categories.ftl | 1 + .../en-US/floofstation/leash/leash-verbs.ftl | 1 + Resources/Migrations/floofmigration.yml | 3 + .../Entities/Clothing/Neck/misc.yml | 3 +- .../Entities/Structures/Machines/lathe.yml | 2 - .../Floof/Catalog/Fills/Crates/lewd.yml | 39 ++++++ .../Floof/Entities/Clothing/Neck/collars.yml | 1 + .../Floof/Entities/Mobs/NPCs/scugcat.yml | 2 + .../Floof/Entities/Objects/Tools/leash.yml | 30 ++--- Resources/Prototypes/Floof/Loadouts/items.yml | 12 -- .../Prototypes/Floof/Recipes/Lathes/tools.yml | 10 -- .../Entities/Objects/Devices/shock_collar.yml | 3 +- .../Floof/Interface/VerbIcons/resize.svg | 1 + .../Interface/VerbIcons/resize.svg.192dpi.png | Bin 0 -> 3277 bytes 20 files changed, 289 insertions(+), 77 deletions(-) create mode 100644 Content.Client/Floofstation/Leash/LeashVisualsOverlay.cs create mode 100644 Content.Client/Floofstation/Leash/LeashVisualsSystem.cs create mode 100644 Content.Shared/Floofstation/Leash/Components/LeashedVisualsComponent.cs create mode 100644 Resources/Locale/en-US/Floof/verbs/verb-categories.ftl create mode 100644 Resources/Prototypes/Floof/Catalog/Fills/Crates/lewd.yml create mode 100644 Resources/Textures/Floof/Interface/VerbIcons/resize.svg create mode 100644 Resources/Textures/Floof/Interface/VerbIcons/resize.svg.192dpi.png diff --git a/Content.Client/Floofstation/Leash/LeashVisualsOverlay.cs b/Content.Client/Floofstation/Leash/LeashVisualsOverlay.cs new file mode 100644 index 0000000000..41319ea29f --- /dev/null +++ b/Content.Client/Floofstation/Leash/LeashVisualsOverlay.cs @@ -0,0 +1,89 @@ +using System.Numerics; +using Content.Shared.Floofstation.Leash.Components; +using Robust.Client.GameObjects; +using Robust.Client.Graphics; +using Robust.Shared.Enums; + +namespace Content.Client.Floofstation.Leash; + +public sealed class LeashVisualsOverlay : Overlay +{ + public override OverlaySpace Space => OverlaySpace.WorldSpaceBelowFOV; + + private readonly IEntityManager _entMan; + private readonly SpriteSystem _sprites; + private readonly SharedTransformSystem _xform; + private readonly EntityQuery _xformQuery; + private readonly EntityQuery _spriteQuery; + + public LeashVisualsOverlay(IEntityManager entMan) + { + _entMan = entMan; + _sprites = _entMan.System(); + _xform = _entMan.System(); + _xformQuery = _entMan.GetEntityQuery(); + _spriteQuery = _entMan.GetEntityQuery(); + } + + protected override void Draw(in OverlayDrawArgs args) + { + var worldHandle = args.WorldHandle; + worldHandle.SetTransform(Vector2.Zero, Angle.Zero); + + var query = _entMan.EntityQueryEnumerator(); + while (query.MoveNext(out var visualsComp)) + { + if (visualsComp.Source is not {Valid: true} source + || visualsComp.Target is not {Valid: true} target + || !_xformQuery.TryGetComponent(source, out var xformComp) + || !_xformQuery.TryGetComponent(target, out var otherXformComp) + || xformComp.MapID != args.MapId + || otherXformComp.MapID != xformComp.MapID) + continue; + + var texture = _sprites.Frame0(visualsComp.Sprite); + var width = texture.Width / (float) EyeManager.PixelsPerMeter; + + var coordsA = xformComp.Coordinates; + var coordsB = otherXformComp.Coordinates; + + // If both coordinates are in the same spot (e.g. the leash is being held by the leashed), don't render anything + if (coordsA.TryDistance(_entMan, _xform, coordsB, out var dist) && dist < 0.01f) + continue; + + var rotA = xformComp.LocalRotation; + var rotB = otherXformComp.LocalRotation; + var offsetA = visualsComp.OffsetSource; + var offsetB = visualsComp.OffsetTarget; + + // Sprite rotation is the rotation along the Z axis + // Which is different from transform rotation for all mobs that are seen from the side (instead of top-down) + if (_spriteQuery.TryGetComponent(source, out var spriteA)) + { + offsetA *= spriteA.Scale; + rotA = spriteA.Rotation; + } + if (_spriteQuery.TryGetComponent(target, out var spriteB)) + { + offsetB *= spriteB.Scale; + rotB = spriteB.Rotation; + } + + coordsA = coordsA.Offset(rotA.RotateVec(offsetA)); + coordsB = coordsB.Offset(rotB.RotateVec(offsetB)); + + var posA = _xform.ToMapCoordinates(coordsA).Position; + var posB = _xform.ToMapCoordinates(coordsB).Position; + var diff = (posB - posA); + var length = diff.Length(); + + // So basically, we find the midpoint, then create a box that describes the sprite boundaries, then rotate it + var midPoint = diff / 2f + posA; + var angle = (posB - posA).ToWorldAngle(); + var box = new Box2(-width / 2f, -length / 2f, width / 2f, length / 2f); + var rotate = new Box2Rotated(box.Translated(midPoint), angle, midPoint); + + worldHandle.DrawTextureRect(texture, rotate); + } + } +} diff --git a/Content.Client/Floofstation/Leash/LeashVisualsSystem.cs b/Content.Client/Floofstation/Leash/LeashVisualsSystem.cs new file mode 100644 index 0000000000..05d0f6085e --- /dev/null +++ b/Content.Client/Floofstation/Leash/LeashVisualsSystem.cs @@ -0,0 +1,21 @@ +using Content.Client.Physics; +using Robust.Client.Graphics; + +namespace Content.Client.Floofstation.Leash; + +public sealed class LeashVisualsSystem : EntitySystem +{ + [Dependency] private readonly IOverlayManager _overlay = default!; + + public override void Initialize() + { + base.Initialize(); + _overlay.AddOverlay(new LeashVisualsOverlay(EntityManager)); + } + + public override void Shutdown() + { + base.Shutdown(); + _overlay.RemoveOverlay(); + } +} diff --git a/Content.Shared/Floofstation/Leash/Components/LeashAnchorComponent.cs b/Content.Shared/Floofstation/Leash/Components/LeashAnchorComponent.cs index a9fdb55593..465a96eb6e 100644 --- a/Content.Shared/Floofstation/Leash/Components/LeashAnchorComponent.cs +++ b/Content.Shared/Floofstation/Leash/Components/LeashAnchorComponent.cs @@ -1,3 +1,5 @@ +using System.Numerics; + namespace Content.Shared.Floofstation.Leash.Components; /// @@ -6,4 +8,9 @@ namespace Content.Shared.Floofstation.Leash.Components; [RegisterComponent] public sealed partial class LeashAnchorComponent : Component { + /// + /// The visual offset of the "anchor point". + /// + [DataField] + public Vector2 Offset = Vector2.Zero; } diff --git a/Content.Shared/Floofstation/Leash/Components/LeashComponent.cs b/Content.Shared/Floofstation/Leash/Components/LeashComponent.cs index 181d61b071..2e213a36ce 100644 --- a/Content.Shared/Floofstation/Leash/Components/LeashComponent.cs +++ b/Content.Shared/Floofstation/Leash/Components/LeashComponent.cs @@ -19,6 +19,12 @@ public sealed partial class LeashComponent : Component [DataField, AutoNetworkedField] public float Length = 3.5f; + /// + /// List of possible lengths this leash may be assigned to be the user. If null, the length cannot be changed. + /// + [DataField, AutoNetworkedField] + public float[]? LengthConfigs; + /// /// Maximum distance between the anchor and the puller beyond which the leash will break. /// diff --git a/Content.Shared/Floofstation/Leash/Components/LeashedVisualsComponent.cs b/Content.Shared/Floofstation/Leash/Components/LeashedVisualsComponent.cs new file mode 100644 index 0000000000..2aeae64296 --- /dev/null +++ b/Content.Shared/Floofstation/Leash/Components/LeashedVisualsComponent.cs @@ -0,0 +1,21 @@ +using System.Numerics; +using Robust.Shared.GameStates; +using Robust.Shared.Utility; + +namespace Content.Shared.Floofstation.Leash.Components; + +/// +/// Draws a line between this entity and the target. Same as JointVisualsComponent. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class LeashedVisualsComponent : Component +{ + [DataField(required: true), AutoNetworkedField] + public SpriteSpecifier Sprite = default!; + + [DataField, AutoNetworkedField] + public EntityUid Source, Target; + + [DataField, AutoNetworkedField] + public Vector2 OffsetSource, OffsetTarget; +} diff --git a/Content.Shared/Floofstation/Leash/LeashSystem.cs b/Content.Shared/Floofstation/Leash/LeashSystem.cs index 5912b0efa2..df17052fad 100644 --- a/Content.Shared/Floofstation/Leash/LeashSystem.cs +++ b/Content.Shared/Floofstation/Leash/LeashSystem.cs @@ -36,6 +36,11 @@ public sealed class LeashSystem : EntitySystem [Dependency] private readonly ThrowingSystem _throwing = default!; [Dependency] private readonly SharedTransformSystem _xform = default!; + public static VerbCategory LeashLengthConfigurationCategory = + new("verb-categories-leash-config", "/Textures/Floof/Interface/VerbIcons/resize.svg.192dpi.png"); + + #region Lifecycle + public override void Initialize() { UpdatesBefore.Add(typeof(SharedPhysicsSystem)); @@ -47,6 +52,7 @@ public override void Initialize() SubscribeLocalEvent(OnLeashInserted); SubscribeLocalEvent(OnLeashRemoved); + SubscribeLocalEvent>(OnGetLeashVerbs); SubscribeLocalEvent(OnAttachDoAfter); SubscribeLocalEvent(OnDetachDoAfter); @@ -69,37 +75,50 @@ public override void Update(float frameTime) while (leashQuery.MoveNext(out var leashEnt, out var leash, out var physics)) { var sourceXForm = Transform(leashEnt); - foreach (var data in leash.Leashed.ToList()) - { - if (data.Pulled == NetEntity.Invalid || !TryGetEntity(data.Pulled, out var target)) - continue; - - // Client side only: set max distance to infinity to prevent the client from ever predicting leashes. - if (_net.IsClient - && data.JointId is not null - && TryComp(target, out var jointComp) - && jointComp.GetJoints.TryGetValue(data.JointId, out var joint) - && joint is DistanceJoint distanceJoint - ) - distanceJoint.MaxLength = float.MaxValue; - - if (_net.IsClient) - continue; - - // Break each leash joint whose entities are on different maps or are too far apart - var targetXForm = Transform(target.Value); - if (targetXForm.MapUid != sourceXForm.MapUid - || !sourceXForm.Coordinates.TryDistance(EntityManager, targetXForm.Coordinates, out var dst) - || dst > leash.MaxDistance - ) - RemoveLeash(target.Value, (leashEnt, leash)); - } + UpdateLeash(data, sourceXForm, leash, leashEnt); } leashQuery.Dispose(); } + private void UpdateLeash(LeashComponent.LeashData data, TransformComponent sourceXForm, LeashComponent leash, EntityUid leashEnt) + { + if (data.Pulled == NetEntity.Invalid || !TryGetEntity(data.Pulled, out var target)) + return; + + DistanceJoint? joint = null; + if (data.JointId is not null + && TryComp(target, out var jointComp) + && jointComp.GetJoints.TryGetValue(data.JointId, out var _joint) + ) + joint = _joint as DistanceJoint; + + // Client: set max distance to infinity to prevent the client from ever predicting leashes. + if (_net.IsClient) + { + if (joint is not null) + joint.MaxLength = float.MaxValue; + + return; + } + + // Server: break each leash joint whose entities are on different maps or are too far apart + var targetXForm = Transform(target.Value); + if (targetXForm.MapUid != sourceXForm.MapUid + || !sourceXForm.Coordinates.TryDistance(EntityManager, targetXForm.Coordinates, out var dst) + || dst > leash.MaxDistance + ) + RemoveLeash(target.Value, (leashEnt, leash)); + + // Server: update leash lengths if necessary/possible + // The length can be increased freely, but can only be decreased if the pulled entity is close enough + if (joint is not null && (leash.Length >= joint.MaxLength || leash.Length >= joint.Length)) + joint.MaxLength = leash.Length; + } + + #endregion + #region event handling private void OnAnchorUnequipping(Entity ent, ref BeingUnequippedAttemptEvent args) @@ -108,7 +127,7 @@ private void OnAnchorUnequipping(Entity ent, ref BeingUneq if (TryGetLeashTarget(args.Equipment, out var leashTarget) && TryComp(leashTarget, out var leashed) && leashed.Puller is not null - ) + ) args.Cancel(); } @@ -130,13 +149,14 @@ private void OnGetEquipmentVerbs(Entity ent, ref GetVerbsE leashVerb.Message = Loc.GetString("verb-leash-error-message"); leashVerb.Disabled = true; } + args.Verbs.Add(leashVerb); if (!TryGetLeashTarget(ent!, out var leashTarget) || !TryComp(leashTarget, out var leashedComp) || leashedComp.Puller != leash - || HasComp(leashTarget)) // This one means that OnGetLeashedVerbs will add a verb to remove it + || HasComp(ent)) // This one means that OnGetLeashedVerbs will add a verb to remove it return; var unleashVerb = new EquipmentVerb @@ -163,6 +183,23 @@ private void OnGetLeashedVerbs(Entity ent, ref GetVerbsEvent ent, ref GetVerbsEvent args) + { + if (ent.Comp.LengthConfigs is not { } configurations) + return; + + // Add a menu listing each length configuration + foreach (var length in configurations) + { + args.Verbs.Add(new AlternativeVerb + { + Text = Loc.GetString("verb-leash-set-length-text", ("length", length)), + Act = () => SetLeashLength(ent, length), + Category = LeashLengthConfigurationCategory + }); + } + } + private void OnJointRemoved(Entity ent, ref JointRemovedEvent args) { var id = args.Joint.ID; @@ -301,11 +338,15 @@ public bool CanCreateJoint(EntityUid a, EntityUid b) private DistanceJoint CreateLeashJoint(string jointId, Entity leash, EntityUid leashTarget) { var joint = _joints.CreateDistanceJoint(leash, leashTarget, id: jointId); + // If the soon-to-be-leashed entity is too far away, we don't force it any closer. + // The system will automatically reduce the length of the leash once it gets closer. + var length = Transform(leashTarget).Coordinates.TryDistance(EntityManager, Transform(leash).Coordinates, out var dist) + ? MathF.Max(dist, leash.Comp.Length) + : leash.Comp.Length; joint.CollideConnected = false; - joint.Length = leash.Comp.Length; joint.MinLength = 0f; - joint.MaxLength = leash.Comp.Length; + joint.MaxLength = length; joint.Stiffness = 1f; joint.CollideConnected = true; // This is just for performance reasons and doesn't actually make mobs collide. joint.Damping = 1f; @@ -423,9 +464,11 @@ public void DoLeash(Entity anchor, Entity _container.EnsureContainer(leashTarget, LeashedComponent.VisualsContainerName); if (EntityManager.TrySpawnInContainer(null, leashTarget, LeashedComponent.VisualsContainerName, out var visualEntity)) { - var visualComp = EnsureComp(visualEntity.Value); + var visualComp = EnsureComp(visualEntity.Value); visualComp.Sprite = sprite; - visualComp.Target = leash; + visualComp.Source = leash; + visualComp.Target = leashTarget; + visualComp.OffsetTarget = anchor.Comp.Offset; data.LeashVisuals = GetNetEntity(visualEntity); } @@ -459,6 +502,15 @@ public void RemoveLeash(Entity leashed, Entity + /// Sets the desired length of the leash. The actual length will be updated on the next physics tick. + /// + public void SetLeashLength(Entity leash, float length) + { + leash.Comp.Length = length; + RefreshJoints(leash); + } + /// /// Refreshes all joints for the specified leash. /// This will remove all obsolete joints, such as those for which CanCreateJoint returns false, diff --git a/Resources/Locale/en-US/Floof/verbs/verb-categories.ftl b/Resources/Locale/en-US/Floof/verbs/verb-categories.ftl new file mode 100644 index 0000000000..ec591148c0 --- /dev/null +++ b/Resources/Locale/en-US/Floof/verbs/verb-categories.ftl @@ -0,0 +1 @@ +verb-categories-leash-config = Set Length diff --git a/Resources/Locale/en-US/floofstation/leash/leash-verbs.ftl b/Resources/Locale/en-US/floofstation/leash/leash-verbs.ftl index 61d8313951..6329d96452 100644 --- a/Resources/Locale/en-US/floofstation/leash/leash-verbs.ftl +++ b/Resources/Locale/en-US/floofstation/leash/leash-verbs.ftl @@ -1,3 +1,4 @@ verb-leash-text = Attach leash verb-leash-error-message = Cannot attach the leash to this anchor. verb-unleash-text = Detach leash +verb-leash-set-length-text = {$length} meters diff --git a/Resources/Migrations/floofmigration.yml b/Resources/Migrations/floofmigration.yml index 5e4e0419c7..c261f3a767 100644 --- a/Resources/Migrations/floofmigration.yml +++ b/Resources/Migrations/floofmigration.yml @@ -1,3 +1,6 @@ # 2024-08-16 Floof Only Please message @FracturedSwords on discord if there are any merge conflicts upcoming SpawnMobArcticFoxSiobhan: SpawnMobArcticFoxSeb MobArcticFoxSiobhan: MobArcticFoxSeb + +# 2024-12-15: Leash now supports changing the length intrinsically +ShortLeash: LeashBasic diff --git a/Resources/Prototypes/Entities/Clothing/Neck/misc.yml b/Resources/Prototypes/Entities/Clothing/Neck/misc.yml index e7a261c16d..8247163b8c 100644 --- a/Resources/Prototypes/Entities/Clothing/Neck/misc.yml +++ b/Resources/Prototypes/Entities/Clothing/Neck/misc.yml @@ -81,7 +81,7 @@ priority: -1 - type: entity - parent: ClothingNeckBase + parent: ClothingNeckCollarBase # Floof - reparented id: ClothingNeckBellCollar name: bell collar description: A way to inform others about your presence, or just to annoy everyone around you! @@ -93,4 +93,3 @@ - type: EmitsSoundOnMove soundCollection: collection: FootstepJester - - type: LeashAnchor # Floofstation, silly bell collar can be leashed :3 diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 53d4470acf..179da39c46 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -198,7 +198,6 @@ - ClothingHeadHatWelding - ShockCollar # FloofStation - LeashBasic # FloofStation - - ShortLeash # FloofStation - type: EmagLatheRecipes emagStaticRecipes: - BoxLethalshot @@ -1255,7 +1254,6 @@ - ShockCollar - CustomDrinkJug - LeashBasic - - ShortLeash - CellRechargerCircuitboard - WeaponCapacitorRechargerCircuitboard - Beaker diff --git a/Resources/Prototypes/Floof/Catalog/Fills/Crates/lewd.yml b/Resources/Prototypes/Floof/Catalog/Fills/Crates/lewd.yml new file mode 100644 index 0000000000..dd74e75a23 --- /dev/null +++ b/Resources/Prototypes/Floof/Catalog/Fills/Crates/lewd.yml @@ -0,0 +1,39 @@ +- type: entity + id: CrateLewdToys + parent: CrateLewd + name: sex toys crate + description: Improve your station's mood by introducing some fun "toys"! Careful, work may plummet and the station may become a mess. + components: + - type: StorageFill + contents: + - id: LewdWand + - id: LewdVibeGreen + - id: LewdVibeTeal + - id: LewdVibePink + - id: LewdVibeRed + - id: LewdVibeYellow + - id: LewdFleshlightGreen + - id: LewdFleshlightTeal + - id: LewdFleshlightPink + - id: LewdFleshlightRed + - id: LewdFleshlightYellow + - id: AvianDildo + - id: CanineDildo + orGroup: canine + - id: CanineDildoRed + orGroup: canine + - id: HorseDildo + - id: DragonDildo + - id: NormalDildo + - id: TentacleDildo + - id: DoubleDildo + - id: WhipPink + - id: WhipTeal + - id: WhipPinkCrotch + - id: WhipTealCrotch + - id: SpankPinkPaddle + - id: SpankTealPaddle + - id: DrinkCumBottleFull + amount: 2 + - id: LeashBasic + amount: 2 diff --git a/Resources/Prototypes/Floof/Entities/Clothing/Neck/collars.yml b/Resources/Prototypes/Floof/Entities/Clothing/Neck/collars.yml index 8696ee9ef9..9215337bad 100644 --- a/Resources/Prototypes/Floof/Entities/Clothing/Neck/collars.yml +++ b/Resources/Prototypes/Floof/Entities/Clothing/Neck/collars.yml @@ -5,6 +5,7 @@ components: - type: Clothing - type: LeashAnchor + offset: 0, 0.22 - type: entity parent: ClothingNeckCollarBase diff --git a/Resources/Prototypes/Floof/Entities/Mobs/NPCs/scugcat.yml b/Resources/Prototypes/Floof/Entities/Mobs/NPCs/scugcat.yml index 4c930bec16..d274340469 100644 --- a/Resources/Prototypes/Floof/Entities/Mobs/NPCs/scugcat.yml +++ b/Resources/Prototypes/Floof/Entities/Mobs/NPCs/scugcat.yml @@ -105,6 +105,8 @@ - ScugSign - Cat - type: LeashAnchor # Floofstation + offset: 0, 0.2 + - type: Vore - type: palette id: ScugCatColors diff --git a/Resources/Prototypes/Floof/Entities/Objects/Tools/leash.yml b/Resources/Prototypes/Floof/Entities/Objects/Tools/leash.yml index 5c082ce733..61e9789595 100644 --- a/Resources/Prototypes/Floof/Entities/Objects/Tools/leash.yml +++ b/Resources/Prototypes/Floof/Entities/Objects/Tools/leash.yml @@ -9,11 +9,15 @@ sprite: Floof/Objects/Tools/leash.rsi layers: - state: icon + scale: 0.7, 0.7 - type: Leash pullInterval: 0.75 leashSprite: sprite: Floof/Objects/Tools/leash-rope.rsi state: rope + - type: Anchorable + delay: 3 + snap: false # The first ever entity to set this field to false! However, this doesn't seem to work :c - type: entity id: LeashBasic @@ -21,30 +25,19 @@ components: - type: Leash length: 3 + lengthConfigs: [1.5, 2.25, 3] maxDistance: 6 attachDelay: 4 detachDelay: 4 selfDetachDelay: 10 -# TODO this should be named LeashShort... -- type: entity - id: ShortLeash - parent: BaseLeash - name: short leash - components: - - type: Leash - length: 1.5 - maxDistance: 3 - attachDelay: 4.5 - detachDelay: 3 - selfDetachDelay: 10 - - type: entity id: LeashAdvanced parent: LeashBasic name: advanced leash components: - type: Leash + lengthConfigs: [1, 1.5, 2.25, 3] maxJoints: 3 attachDelay: 2.5 detachDelay: 2 @@ -58,9 +51,10 @@ suffix: DEBUG, DO NOT MAP components: - type: Leash - maxDistance: 100 - maxJoints: 25 - attachDelay: 0 - detachDelay: 10000 # will still be instant for admin ghosts or whatever with instant doafters tag - selfDetachDelay: 10000 + lengthConfigs: [1, 1.5, 2.25, 3, 5, 10] + maxDistance: 20 + maxJoints: 10 + attachDelay: 2.5 + detachDelay: 5 + selfDetachDelay: 20 pullInterval: 0.1 diff --git a/Resources/Prototypes/Floof/Loadouts/items.yml b/Resources/Prototypes/Floof/Loadouts/items.yml index 0cec29c6be..fa56295068 100644 --- a/Resources/Prototypes/Floof/Loadouts/items.yml +++ b/Resources/Prototypes/Floof/Loadouts/items.yml @@ -30,15 +30,3 @@ requirements: - !type:CharacterItemGroupRequirement group: LoadoutFun - -- type: loadout - id: LoadoutItemLeashShort - category: Items - cost: 2 - exclusive: true - items: - - ShortLeash - requirements: - - !type:CharacterItemGroupRequirement - group: LoadoutFun - diff --git a/Resources/Prototypes/Floof/Recipes/Lathes/tools.yml b/Resources/Prototypes/Floof/Recipes/Lathes/tools.yml index 69d3ecba2a..2492871df6 100644 --- a/Resources/Prototypes/Floof/Recipes/Lathes/tools.yml +++ b/Resources/Prototypes/Floof/Recipes/Lathes/tools.yml @@ -6,13 +6,3 @@ Cloth: 50 Plastic: 500 Steel: 75 - -- type: latheRecipe - id: ShortLeash - result: ShortLeash - completetime: 2.5 - materials: - Cloth: 25 - Plastic: 300 - Steel: 50 - diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Objects/Devices/shock_collar.yml b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Devices/shock_collar.yml index bfec2afcf0..d5979aa77c 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Objects/Devices/shock_collar.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Devices/shock_collar.yml @@ -1,5 +1,5 @@ - type: entity - parent: ClothingNeckBase + parent: ClothingNeckCollarBase # Floof - reparented id: ShockCollar name: shock collar description: Shocking. # DeltaV: sprite is fine @@ -22,4 +22,3 @@ - type: DeviceLinkSink ports: - Trigger - - type: LeashAnchor # floofstation diff --git a/Resources/Textures/Floof/Interface/VerbIcons/resize.svg b/Resources/Textures/Floof/Interface/VerbIcons/resize.svg new file mode 100644 index 0000000000..7f0b49ff7d --- /dev/null +++ b/Resources/Textures/Floof/Interface/VerbIcons/resize.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Resources/Textures/Floof/Interface/VerbIcons/resize.svg.192dpi.png b/Resources/Textures/Floof/Interface/VerbIcons/resize.svg.192dpi.png new file mode 100644 index 0000000000000000000000000000000000000000..5947c72832579fc331b69bd7471021546e63b9dc GIT binary patch literal 3277 zcmXw6cT|(f7N1nA5PHYZL@7o@Adn!SG>tfHWg_SVKy zB!Ehh7(O(JEFvn>3B*`HS`xAZ6qJ`e@4P=|=AK*TH}}jv=l*W~!2rKa%7)4SfKB`S zy?>FP;(wMRR=)2J{&E!n)oc5_y$;bS3;fQSlU+K`li4UMV(M0|A0Fjre~a-S+zXUH z+}MLUQB#1a^g5Unffslx7+~gOwirYWX`(yPdyZDMwYZ!1w?&I;9v#k(9SkRW&m0Sm z%?-*No?e8w?WsjEL5_QG$ivVjbOdSk=Nf|DM=pkWE z>Zs6W!;MbQ`O3x>B_In3&C11H)Jr=_2GfiECr;x^dBl@iATa-!=pb$`z3HSmNZc25 zCEBx${TrB`dzntfwLg#Lx)gtiz}_juX`cMn8@y3vat58;PuG4Sbf|3EbL{%KG*=yxH; zvo1&rN`LI{q{MQXMK<`VZ>s{5^)W#1V7}9W=n2`NqBJ*uz>CcG1^vC;cRl!uAZuv) zBW39ju6tNnu=;X;rJ``;G{U%aMYAf8SRVztPd<6K4_{Di1UtAAGL>21V-*^5pYN{( z)TwWX`BFlA3)*v@wh7Fa*poI}0czzOh^P!3T|R)sH+SfQ=KgCYqJ4nZJdA>yGn>ZG zp*=ZfcP8%5f#mQTV6pddu$mG?&;1ijRvOqEYXJ#23Be%{Dl!88gUGpSB59FjPJaDU za~##`ec6d3)D@L1#8dv1`2I*lL~LAgjogbA@NsW%`hkfOqgquhkeDmKwZGsxRtcin zd4s}F-LrXUn1q{L_yrV3zfdz#f?6zg{V*BXvMa-2Kj0kyYQp|(+iq>}9oJJ=U(OLAiD$j*W0o~D*C2#SoY8^N= zg^+GTpB_{aWR8{)4LGT>Xz|2)Q01g}_iqHT&)WKy<%^c4rf`05sjFLfX7s%c=_nYQ zF&oqt3|6baZpZH2Ky!X|LWI_;e~E!>L)4*Vw<~3eoU4z--4{;{-Ez{QKl(?Byvc zP=a~Dl=pkQD}7C3V~$O7&O=EVG-I|Q6{tfm9%^$k=+|*5V$suAM>=B*Lof~y>E{zi zuoMrDG7C}WL+vgTEO(QP{-fH`YG@W@v+ zVy|7zQ60ZBHMSKM)Ydpw)NU0%q~FJ(M)WT%Wo(kX_c-|D%F-oL)c(R@qyt2oxS?FA z>lKC-ZKZ;cgKbiis}|eO)6jAY<%dn7wNIFCB0+A^7?qgz;7Yp3nfkDaUdP+3maLM_ zc0C8kHfBCcFPYc-o-enQmvF~+{>Ac(+!q%^TSp^Y4hqWv0U=enWh`EC~GXt{B`r97~ zWB;CN2`~Q<-u-Kjm3?8!*xLHhlve8A1&pe&Nagj{>nnd7USAvhLJc?(UL}uCoZI#E zsH|$BsfGJG;t5pZ7k5dIclMwU_b)}kNe$9_O!CJ*Ldwuq!6zK)114D`^k;S?f^NX` zqI(&quc?$B$F!1#5ghz>$X2LhhbZwOD-l>0XiJZ0hDolxA_;@&xo*EVdk099UP zXaegQeP**ZCe$=}CkH>&qO&v7GU5ntpWNwREScFG=o8MmTZI}QzBtea?3k^J6kNOG z8}|rZ!57xW_n5|dhvA+mWW~8wIYj#}Zzi&w1xY+PMCicH@k7ecGaP}T$4dzN+xakJ zzJTr^hj{RL=M~Ke7v4o7rcuS<{!fFT)FOdC^;>Dq(C+gd!qmYIwGDm@SEn&z?E=(? zW3K4A=<{4uEM44hqgfwIe<&JL>xkVr zxIQfoh{Ioj+ys1&^3S%St~1M(G7GjdXXE$QOx4J%o>;h4gQ>^aVxt*<6(g3{4<^x^ z7IixcnWf=C?~L7IKI%IPHk9RZ>C3V&tp*4WpNSuzTNWOCOMFYDnXO`MgSI>_J&DQk z|2up^nzBZ&G7??ufk{>}*YiZ$8!U_50Rp83I%aK;=uUW-YLoBR}rN($=|T<$%6vj`XmInm{fcTpRx zg{VcSWFbLR6w zMUXv9&h{1$f&N-;p0tUOx)Yi{tR!svTIFE^OKs7Tb+xwvAmZ|@XWg5lDu1+NC}S*gpPcH2XI3uh0&`+Vgy9|ya( zqmo}uzO2GFWZsE1Vi4_4@tL4*ysx;&lVf%FX+I$5w&7n*MXnfuR+3xwS$uJgMS{MZ zsxD+}vYu$^PHcu5cU3Q;g?Zwg+c8PchZZXhc*|~2R((PJ5ocDc>|1RMGKqi7E39R_ zDiJFfvtqVpbo7H(dgsEjXISfTptpTxX3#V2VKmUQm%WV5YmFEN+e2sF*=Qj(djky@ W3qN$>U&`cT3fSip;9b8bg7IJf&?5-| literal 0 HcmV?d00001 From 469c0eea760965647132569d619e9fbbeef0f330 Mon Sep 17 00:00:00 2001 From: cynical Date: Sat, 4 Jan 2025 15:05:02 -0500 Subject: [PATCH 18/20] vore doesn't EXIST stinky --- Resources/Prototypes/Floof/Entities/Mobs/NPCs/scugcat.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/Floof/Entities/Mobs/NPCs/scugcat.yml b/Resources/Prototypes/Floof/Entities/Mobs/NPCs/scugcat.yml index d274340469..5f384f686c 100644 --- a/Resources/Prototypes/Floof/Entities/Mobs/NPCs/scugcat.yml +++ b/Resources/Prototypes/Floof/Entities/Mobs/NPCs/scugcat.yml @@ -106,7 +106,6 @@ - Cat - type: LeashAnchor # Floofstation offset: 0, 0.2 - - type: Vore - type: palette id: ScugCatColors From 7664ea13e519807143748d96e5f66bab9616fdf7 Mon Sep 17 00:00:00 2001 From: TheDen-Bot Date: Sun, 5 Jan 2025 00:25:37 +0000 Subject: [PATCH 19/20] Automated changelog update (#124) --- Resources/Changelog/Den.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Resources/Changelog/Den.yml b/Resources/Changelog/Den.yml index 760e83dc84..10478d1a16 100644 --- a/Resources/Changelog/Den.yml +++ b/Resources/Changelog/Den.yml @@ -727,3 +727,10 @@ Entries: id: 66 time: '2025-01-04T03:54:45.0000000+00:00' url: https://github.com/TheDenSS14/TheDen/pull/123 +- author: KyuPolaris + changes: + - type: Add + message: CMO Turtleneck back to loadout + id: 67 + time: '2025-01-05T00:24:49.0000000+00:00' + url: https://github.com/TheDenSS14/TheDen/pull/124 From 9a6d8d7a91faab485147d347d18e0e301c55b00a Mon Sep 17 00:00:00 2001 From: TheDen-Bot Date: Sun, 5 Jan 2025 01:21:55 +0000 Subject: [PATCH 20/20] Update Credits --- Resources/Credits/GitHub.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Credits/GitHub.txt b/Resources/Credits/GitHub.txt index 8e0052df48..f0283b8628 100644 --- a/Resources/Credits/GitHub.txt +++ b/Resources/Credits/GitHub.txt @@ -1 +1 @@ -0x6273, 13spacemen, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 2digitman, 4310v343k, 4dplanner, 612git, 778b, Ablankmann, abregado, Absolute-Potato, Acruid, actioninja, actually-reb, ada-please, adamsong, Adeinitas, Admiral-Obvious-001, adrian, Adrian16199, AeraAuling, Aerocrux, Aexolott, Aexxie, africalimedrop, afrokada, Agoichi, Ahion, Aidenkrz, Aikakakah, aitorlogedo, ajcm, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexumandxgabriel08x, Alithsko, ALMv1, AlphaQwerty, Altoids1, amylizzle, ancientpower, Andre19926, AndrewEyeke, angelofallars, Anzarot121, Appiah, ar4ill, ArchPigeon, areitpog, Arendian, arimah, Arkanic, armoks, Arteben, ArthurMousatov, artur, AruMoon, as334, AsikKEsel, asperger-sind, aspiringLich, astriloqua, avghdev, AzzyIsNotHere, BananaFlambe, BasedPugilist, BasedUser, beck-thompson, benev0, BGare, bhespiritu, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, blazlovich, bloodrizer, Bloody2372, blueDev2, BlueHNT, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, Bribrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, byondfuckery, c0rigin, c4llv07e, CaasGit, capnsockless, CaptainSqrBeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, CatTheSystem, Centronias, chairbender, Charlese2, chavonadelal, Cheackraze, cheesePizza2, Chief-Engineer, christhirtle, chromiumboy, Chronophylos, Chubbygummibear, CilliePaint, civilCornball, Clement-O, clyf, Clyybber, CMDR-Piboy314, CodedCrow, Cohnway, cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, coolmankid12345, corentt, CormosLemming, CrafterKolyan, crazybrain23, creadth, CrigCrag, Crotalus, CrudeWax, CrzyPotato, Cyberboss, cynical24, d34d10cc, d4kii, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DakoDemon, DamianX, DangerRevolution, daniel-cr, DanSAussieITS, Daracke, DarkenedSynergy, Darkenson, DawBla, Daxxi3, dch-GH, Deahaka, dean, DEATHB4DEFEAT, DeathCamel58, deathride58, DebugOk, Decappi, Deeeeja, deepdarkdepths, degradka, Delete69, deltanedas, DeltaV-Bot, DerbyX, derek, dersheppard, dexlerxd, dffdff2423, dge21, digitalic, DinoWattz, DJB1gYAPPA, DjfjdfofdjfjD, dmitri, DocNITE, DoctorBeard, DogZeroX, dolgovmi, dontbetank, dootythefrooty, Dorragon, Doru991, DoubleRiceEddiedd, DoutorWhite, drakewill-CRL, Drayff, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, dukevanity, Dutch-VanDerLinde, dvir001, dylanstrategie, Dynexust, Eagle0600, Easypoller, eclips_e, eden077, EEASAS, Efruit, efzapa, ElectroSR, elsie, elthundercloud, Emisse, emmafornash, EmoGarbage404, Endecc, eoineoineoin, ErhardSteinhauer, eris, ERORR404V1, Errant-4, esguard, estacaoespacialpirata, eugene, Evgencheg, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, Fansana, Feluk6174, fenndragon, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, FirinMaLazors, Fishfish458, fl-oz, Flareguy, Floof-Station-Bot, FluffiestFloof, FluffMe, FluidRock, flybik, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, Fouin, foxcumberland, foxfoxthepirate, foxhorn, FoxxoTrystan, freeman2651, freeze2222, Froffy025, Fromoriss, froozigiusz, FrostMando, FungiFellow, GalacticChimp, Gaxeer, gbasood, gcoremans, Geekyhobo, genderGeometries, GeneralGaws, Genkail, geraeumig, Ghagliiarghii, ghost581x, Git-Nivrak, gituhabu, GlassEclipse, gluesniffler, GNF54, goet, Golinth, GoodWheatley, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, greggthefather, GreyMario, GTRsound, Guess-My-Name, gusxyz, h3half, Haltell, Hanzdegloker, Hardly3D, harikattar, Hebi, Henry, HerCoyote23, hiucko, Hmeister-fake, Hmeister-real, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, hubismal, Hugal31, Huxellberger, Hyenh, i-justuser-i, iacore, IamVelcroboy, icekot8, icesickleone, Ichaie, iczero, iglov, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, indeano, Injazz, Insineer, IntegerTempest, Interrobang01, IProduceWidgets, ItsMeThom, Itzbenz, Jackal298, Jackrost, jacksonzck, Jackw2As, jamessimo, janekvap, Jark255, Jaskanbe, JasperJRoth, JerryImMouse, jerryimmouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jjtParadox, JoeHammad1844, JohnGinnane, johnku1, joshepvodka, Jrpl, juliangiebel, juniwoofs, justart1m, JustCone14, justin, justintether, JustinTrotter, justtne, k3yw, Kadeo64, KaiShibaa, kalane15, kalanosh, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, Killerqu00, Kimpes, KingFroozy, kira-er, Kirillcas, Kistras, Kit0vras, KittenColony, klaypexx, Kmc2000, Ko4ergaPunk, kognise, komunre, koteq, Krunklehorn, Kukutis96513, Kupie, kxvvv, Kyoth25f, KyuPolaris, kzhanik, lajolico, Lamrr, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonsfriedrich, LetterN, lettern, Level10Cybermancer, LEVELcat, lever1209, Lgibb18, LightVillet, liltenhead, LinkUyx, LittleBuilderJane, lizelive, lleftTheDragon, localcc, Lomcastar, LordCarve, LordEclipse, LovelyLophi, luckyshotpictures, LudwigVonChesterfield, Lukasz825700516, lunarcomets, luringens, lvvova1, lzimann, lzk228, M3739, mac6na6na, MACMAN2003, Macoron, magmodius, MagnusCrowe, malchanceux, MaloTV, ManelNavola, Mangohydra, marboww, Markek1, Matz05, max, MaxNox7, MehimoNemo, MeltedPixel, Memeji, MemeProof, MendaxxDev, Menshin, Mephisto72, Mervill, metalgearsloth, mhamsterr, michaelcu, micheel665, MilenVolf, Minemoder5000, Minty642, Mirino97, mirrorcult, misandrie, MishaUnity, MisterMecky, Mith-randalf, MjrLandWhale, MLGTASTICa, Mnemotechnician, moderatelyaware, mokiros, Moneyl, Moomoobeef, moony, Morb0, mr-bo-jangles, Mr0maks, MrFippik, musicmanvr, MWKane, Myakot, Myctai, Myzumi, N3X15, nails-n-tape, Nairodian, Naive817, namespace-Memory, Nannek, neuPanda, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, NIXC, NkoKirkto, nmajask, noctyrnal, nok-ko, NonchalantNoob, NoobyLegion, not-gavnaed, notafet, notquitehadouken, noudoit, noverd, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, och-och, OCOtheOmega, OctoRocket, OldDanceJacket, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, paigemaeforrest, pali6, Pangogie, panzer-iv1, paolordls, partyaddict, patrikturi, PaulRitter, Peptide90, peptron1, PeterFuto, PetMudstone, pewter-wiz, Phantom-Lily, PHCodes, Phill101, phunnyguy, pigeonpeas, PilgrimViis, Pill-U, Pireax, pissdemon, PixelTheKermit, PJB3005, Plasmaguy, PlasmaRaptor, plinyvic, Plykiya, pofitlo, pointer-to-null, poklj, PolterTzi, PoorMansDreams, potato1234x, PotentiallyTom, ProfanedBane, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykzz, PuceTint, PuroSlavKing, PursuitInAshes, Putnam3145, qrtDaniil, quatre, QuietlyWhisper, qwerltaz, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, Redict, RedlineTriad, RednoWCirabrab, RemberBM, RemieRichards, RemTim, Remuchi, rene-descartes2021, Renlou, retequizzle, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, Rinkashikachi, RobbyTheFish, Rockdtben, Rohesie, rok-povsic, rolfero, RomanNovo, rosieposieeee, router, RumiTiger, S1ss3l, Saakra, Salex08, sam, Samsterious, SaphireLattice, SapphicOverload, SaveliyM360, sBasalto, ScalyChimp, scrato, Scribbles0, scuffedjays, ScumbagDog, Segonist, sephtasm, Serkket, sewerpig, ShadowCommander, shadowtheprotogen546, shadowwailker, shaeone, shampunj, shariathotpatrol, ShatteredSwords, Shiro69420, SignalWalker, siigiil, SimpleStation14, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skyedra, SlamBamActionman, slarticodefast, Slava0135, SleepyScarecrow, sleepyyapril, Slyfox333, snebl, sniperchance, Snowni, snowsignal, SnowyFoxxo, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, southbridge-fur, SpaceManiac, SpaceRox1244, SpaceyLady, spartak, SpartanKadence, Spatison, SpeltIncorrectyl, sphirai, SplinterGP, spoogemonster, sporekto, squirrelanna, Squishy77, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, Stealthbomber16, stellar-novas, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, Strol20, StStevens, Subversionary, sunbear-dev, superjj18, Supernorn, suraru, Sushiburger, SweptWasTaken, Sybil, SYNCHRONIC, Szunti, TadJohnson00, takemysoult, TaralGit, Taran, Tayrtahn, tday93, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, tgrkzus, thatrandomcanadianguy, TheArturZh, theashtronaut, TheCze, TheDarkElites, TheDen-Bot, thedraccx, TheEmber, TheIntoxicatedCat, thekilk, themias, theomund, TherapyGoth, TheShuEd, thevinter, ThunderBear2006, Timemaster99, timothyteakettle, TimrodDX, tin-man-tim, Tirochora, Titian3, tk-a369, tkdrg, Tmanzxd, tmtmtl30, toasterpm87, TokenStyle, Tollhouse, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, Tornado-Technology, tosatur, TotallyLemon, truepaintgit, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, Tyler-IN, Tyzemol, UbaserB, ubis1, UBlueberry, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, unusualcrow, Uriende, UristMcDorf, user424242420, v0idRift, Vaaankas, valentfingerov, Varen, VasilisThePikachu, veliebm, VelonacepsCalyxEggs, veprolet, Veritius, Vermidia, vero5123, Verslebas, VigersRay, violet754, Visne, VividPups, VMSolidus, volotomite, volundr-, Vonsant, Voomra, Vordenburg, vulppine, wafehling, Warentan, WarMechanic, Watermelon914, waylon531, weaversam8, wertanchik, whateverusername0, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, wrexbe, WTCWR68, XavierSomething, xkreksx, xRiriq, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, Yousifb26, yunii, YuriyKiss, yuriykiss, zach-hill, Zadeon, zamp, Zandario, Zap527, Zealith-Gamer, zelezniciar1, ZelteHonor, zero, ZeroDiamond, zerorulez, ZeWaka, zionnBE, ZNixian, ZoldorfTheWizard, Zymem, zzylex +0x6273, 13spacemen, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 2digitman, 4310v343k, 4dplanner, 612git, 778b, Ablankmann, abregado, Absolute-Potato, Acruid, actioninja, actually-reb, ada-please, adamsong, Adeinitas, Admiral-Obvious-001, adrian, Adrian16199, AeraAuling, Aerocrux, Aexolott, Aexxie, africalimedrop, afrokada, Agoichi, Ahion, Aidenkrz, Aikakakah, aitorlogedo, ajcm, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexumandxgabriel08x, Alithsko, ALMv1, AlphaQwerty, Altoids1, amylizzle, ancientpower, Andre19926, AndrewEyeke, angelofallars, Anzarot121, Appiah, ar4ill, ArchPigeon, ArchRBX, areitpog, Arendian, arimah, Arkanic, armoks, Arteben, ArthurMousatov, artur, AruMoon, as334, AsikKEsel, asperger-sind, aspiringLich, astriloqua, avghdev, azzy, AzzyIsNotHere, BananaFlambe, BasedPugilist, BasedUser, beck-thompson, benev0, BGare, bhespiritu, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, blazlovich, bloodrizer, Bloody2372, blueDev2, BlueHNT, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, BombasterDS, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, Bribrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, byondfuckery, c0rigin, c4llv07e, CaasGit, capnsockless, CaptainSqrBeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, CatTheSystem, Centronias, chairbender, Charlese2, chavonadelal, Cheackraze, cheesePizza2, Chief-Engineer, christhirtle, chromiumboy, Chronophylos, Chubbygummibear, CilliePaint, civilCornball, Clement-O, clyf, Clyybber, CMDR-Piboy314, CodedCrow, Cohnway, cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, coolmankid12345, corentt, CormosLemming, CrafterKolyan, crazybrain23, creadth, CrigCrag, croilbird, Crotalus, CrudeWax, CrzyPotato, Cyberboss, cynical24, d34d10cc, d4kii, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DakoDemon, DamianX, DangerRevolution, daniel-cr, DanSAussieITS, Daracke, DarkenedSynergy, Darkenson, DawBla, Daxxi3, dch-GH, Deahaka, dean, DEATHB4DEFEAT, DeathCamel58, deathride58, DebugOk, Decappi, Deeeeja, deepdarkdepths, degradka, Delete69, deltanedas, DeltaV-Bot, DerbyX, derek, dersheppard, dexlerxd, dffdff2423, dge21, digitalic, DinoWattz, DJB1gYAPPA, DjfjdfofdjfjD, dmitri, DocNITE, DoctorBeard, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, dootythefrooty, Dorragon, Doru991, DoubleRiceEddiedd, DoutorWhite, drakewill-CRL, Drayff, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, dukevanity, Dutch-VanDerLinde, dvir001, dylanstrategie, Dynexust, Eagle0600, Easypoller, eclips_e, eden077, EEASAS, Efruit, efzapa, ElectroSR, elsie, elthundercloud, Emisse, emmafornash, EmoGarbage404, Endecc, eoineoineoin, ErhardSteinhauer, eris, ERORR404V1, Errant-4, esguard, estacaoespacialpirata, eugene, Evgencheg, ewokswagger, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, Fansana, Feluk6174, fenndragon, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, FirinMaLazors, Fishfish458, fl-oz, Flareguy, Floof-Station-Bot, FluffiestFloof, FluffMe, FluidRock, flybik, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, Fouin, foxcumberland, foxfoxthepirate, foxhorn, FoxxoTrystan, freeman2651, freeze2222, Froffy025, Fromoriss, froozigiusz, FrostMando, FungiFellow, GalacticChimp, Gaxeer, gbasood, gcoremans, Geekyhobo, genderGeometries, GeneralGaws, Genkail, geraeumig, Ghagliiarghii, ghost581x, Git-Nivrak, gituhabu, GlassEclipse, gluesniffler, GNF54, goet, Golinth, GoodWheatley, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, greggthefather, GreyMario, GTRsound, Guess-My-Name, gusxyz, h3half, Haltell, Hanzdegloker, Hardly3D, harikattar, Hebi, Henry, HerCoyote23, hiucko, Hmeister-fake, Hmeister-real, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, hubismal, Hugal31, Huxellberger, Hyenh, i-justuser-i, iacore, IamVelcroboy, icekot8, icesickleone, Ichaie, iczero, iglov, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, indeano, Injazz, Insineer, IntegerTempest, Interrobang01, Intoxicating-Innocence, IProduceWidgets, ItsMeThom, Itzbenz, Jackal298, Jackrost, jacksonzck, Jackw2As, jamessimo, janekvap, Jark255, Jaskanbe, JasperJRoth, jerryimmouse, JerryImMouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jjtParadox, JoeHammad1844, JohnGinnane, johnku1, joshepvodka, Jrpl, juliangiebel, juniwoofs, justart1m, JustCone14, justin, justintether, JustinTrotter, justtne, K-Dynamic, k3yw, Kadeo64, KaiShibaa, kalane15, kalanosh, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, Killerqu00, Kimpes, KingFroozy, kira-er, Kirillcas, Kistras, Kit0vras, KittenColony, klaypexx, Kmc2000, Ko4ergaPunk, kognise, komunre, KonstantinAngelov, koteq, Krunklehorn, Kukutis96513, Kupie, kxvvv, Kyoth25f, KyuPolaris, kzhanik, lajolico, Lamrr, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonsfriedrich, lettern, LetterN, Level10Cybermancer, LEVELcat, lever1209, Lgibb18, LightVillet, liltenhead, LinkUyx, LittleBuilderJane, lizelive, lleftTheDragon, localcc, Lomcastar, LordCarve, LordEclipse, LovelyLophi, luckyshotpictures, LudwigVonChesterfield, Lukasz825700516, lunarcomets, luringens, lvvova1, lzimann, lzk228, M3739, mac6na6na, MACMAN2003, Macoron, magmodius, MagnusCrowe, malchanceux, MaloTV, ManelNavola, Mangohydra, marboww, Markek1, Matz05, max, MaxNox7, MehimoNemo, MeltedPixel, Memeji, MemeProof, MendaxxDev, Menshin, Mephisto72, Mervill, metalgearsloth, mhamsterr, michaelcu, micheel665, MilenVolf, milon, Minemoder5000, Minty642, Mirino97, mirrorcult, misandrie, MishaUnity, MisterMecky, Mith-randalf, MjrLandWhale, MLGTASTICa, Mnemotechnician, moderatelyaware, mokiros, Moneyl, Moomoobeef, moony, Morb0, mr-bo-jangles, Mr0maks, MrFippik, musicmanvr, MWKane, Myakot, Myctai, Myzumi, N3X15, nails-n-tape, Nairodian, Naive817, namespace-Memory, Nannek, neuPanda, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, NIXC, NkoKirkto, nmajask, noctyrnal, nok-ko, NonchalantNoob, NoobyLegion, not-gavnaed, notafet, notquitehadouken, noudoit, noverd, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, och-och, OCOtheOmega, OctoRocket, OldDanceJacket, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, paigemaeforrest, pali6, Pangogie, panzer-iv1, paolordls, partyaddict, patrikturi, PaulRitter, Peptide90, peptron1, PeterFuto, PetMudstone, pewter-wiz, Phantom-Lily, PHCodes, Phill101, phunnyguy, pigeonpeas, PilgrimViis, Pill-U, Pireax, pissdemon, PixelTheKermit, PJB3005, Plasmaguy, PlasmaRaptor, plinyvic, Plykiya, pofitlo, pointer-to-null, poklj, PolterTzi, PoorMansDreams, potato1234x, PotentiallyTom, ProfanedBane, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykzz, PuceTint, PuroSlavKing, PursuitInAshes, Putnam3145, qrtDaniil, quatre, QuietlyWhisper, qwerltaz, Radezolid, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, Redfire1331, Redict, RedlineTriad, RednoWCirabrab, RemberBM, RemieRichards, RemTim, Remuchi, rene-descartes2021, Renlou, retequizzle, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, Rinkashikachi, RobbyTheFish, Rockdtben, Rohesie, rok-povsic, rolfero, RomanNovo, rosieposieeee, Rosycup, router, RumiTiger, S1ss3l, Saakra, saga3152, Salex08, sam, Samsterious, SaphireLattice, SapphicOverload, SaveliyM360, sBasalto, ScalyChimp, scrato, Scribbles0, scuffedjays, ScumbagDog, Segonist, sephtasm, Serkket, sewerpig, ShadowCommander, shadowtheprotogen546, shadowwailker, shaeone, shampunj, shariathotpatrol, ShatteredSwords, Shiro69420, SignalWalker, siigiil, SimpleStation14, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skyedra, SlamBamActionman, slarticodefast, Slava0135, SleepyScarecrow, sleepyyapril, Slyfox333, snebl, sniperchance, Snowni, snowsignal, SnowyFoxxo, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, southbridge-fur, SpaceManiac, SpaceRox1244, SpaceyLady, spartak, SpartanKadence, Spatison, SpeltIncorrectyl, SphiraI, SplinterGP, spoogemonster, sporekto, squirrelanna, Squishy77, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, Stealthbomber16, stellar-novas, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, Strol20, StStevens, Subversionary, sunbear-dev, superjj18, Supernorn, suraru, Sushiburger, SweptWasTaken, Sybil, SYNCHRONIC, Szunti, TadJohnson00, takemysoult, TaralGit, Taran, Tayrtahn, tday93, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, TGRCdev, tgrkzus, thatrandomcanadianguy, TheArturZh, theashtronaut, TheCze, TheDarkElites, TheDen-Bot, thedraccx, TheEmber, TheIntoxicatedCat, thekilk, themias, theomund, TherapyGoth, TheShuEd, thevinter, ThunderBear2006, Timemaster99, timothyteakettle, TimrodDX, tin-man-tim, Tirochora, Titian3, tk-a369, tkdrg, Tmanzxd, tmtmtl30, toasterpm87, TokenStyle, Tollhouse, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, Tornado-Technology, tornado-technology, tosatur, TotallyLemon, truepaintgit, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, Tyler-IN, Tyzemol, UbaserB, ubis1, UBlueberry, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, unusualcrow, Uriende, UristMcDorf, user424242420, v0idRift, Vaaankas, valentfingerov, Varen, VasilisThePikachu, veliebm, VelonacepsCalyxEggs, veprolet, Veritius, Vermidia, vero5123, Verslebas, VigersRay, violet754, Visne, VividPups, vlados1408, VMSolidus, volotomite, volundr-, Vonsant, Voomra, Vordenburg, vulppine, wafehling, Warentan, WarMechanic, Watermelon914, waylon531, weaversam8, wertanchik, whateverusername0, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, wrexbe, WTCWR68, XavierSomething, xkreksx, xRiriq, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, Yousifb26, yunii, yuriykiss, YuriyKiss, zach-hill, Zadeon, zamp, Zandario, Zap527, Zealith-Gamer, zelezniciar1, ZelteHonor, zero, ZeroDiamond, zerorulez, ZeWaka, zionnBE, ZNixian, ZoldorfTheWizard, Zymem, zzylex