From 8a8e2dc17f2c490b11fb4529a482b50322d4f79c Mon Sep 17 00:00:00 2001
From: Cabbage <130223709+SomeCabbage@users.noreply.github.com>
Date: Fri, 13 Mar 2026 15:31:32 -0400
Subject: [PATCH] Ghostrole character fix (for real) (#5328)
## About The Pull Request
A redo of the previous PR because I fucked something up.
Allows for the selection and usage of custom character preferences for
several ghost roles.
- Icewalker (No custom loadout, quirks enabled, hearthkin restricted)
- Bitrunning Combat Islander (No custom loadout, quirks disabled, no
species restrictions)
- Bitrunning Space Syndicate (No custom loadout, quirks disabled, no
species restrictions)
- Bitrunning Milsim CIN Operative (No custom loadout, quirks disabled,
human only)
## Why It's Good For The Game
Allows ghosts to use silly and wacky custom characters in certain
bitrunning domains to comedic effect. (e.g. US presidents, youtubers,
etc.)
Also allows people to use defined and consistent hearthkin characters
for the Icewalker ghost role, allowing similar interactions that
ashwalkers are allowed.
## Proof Of Testing
Spawners work as intended and prompt the player if they'd like to use
their character. Selecting 'Yes' uses their character preferences.
Selecting 'No' gives them a random appearance.
Screenshots/Videos
Custom Characters used:
Spawned in using the spawners:
## Changelog
:cl:
fix: Icewalkers can now use custom characters again.
fix: Certain real-world figures have once again been spotted in select
bitrunning domains.
/:cl:
---------
Co-authored-by: Cabbage
---
modular_zubbers/code/modules/bitrunning/spawners.dm | 2 ++
.../virtual_domains/ancient_milsim/ghost_spawner.dm | 2 ++
.../code/modules/bitrunning/virtual_domains/island_brawl.dm | 2 ++
.../code/modules/primitive_catgirls/code/spawner.dm | 2 ++
tgstation.dme | 4 ++++
5 files changed, 12 insertions(+)
create mode 100644 modular_zubbers/code/modules/bitrunning/spawners.dm
create mode 100644 modular_zubbers/code/modules/bitrunning/virtual_domains/ancient_milsim/ghost_spawner.dm
create mode 100644 modular_zubbers/code/modules/bitrunning/virtual_domains/island_brawl.dm
create mode 100644 modular_zubbers/code/modules/primitive_catgirls/code/spawner.dm
diff --git a/modular_zubbers/code/modules/bitrunning/spawners.dm b/modular_zubbers/code/modules/bitrunning/spawners.dm
new file mode 100644
index 00000000000..0472bbe4572
--- /dev/null
+++ b/modular_zubbers/code/modules/bitrunning/spawners.dm
@@ -0,0 +1,2 @@
+/obj/effect/mob_spawn/ghost_role/human/virtual_domain/syndie
+ allow_custom_character = GHOSTROLE_TAKE_PREFS_APPEARANCE
diff --git a/modular_zubbers/code/modules/bitrunning/virtual_domains/ancient_milsim/ghost_spawner.dm b/modular_zubbers/code/modules/bitrunning/virtual_domains/ancient_milsim/ghost_spawner.dm
new file mode 100644
index 00000000000..8b2c8a70928
--- /dev/null
+++ b/modular_zubbers/code/modules/bitrunning/virtual_domains/ancient_milsim/ghost_spawner.dm
@@ -0,0 +1,2 @@
+/obj/effect/mob_spawn/ghost_role/human/ancient_milsim
+ allow_custom_character = GHOSTROLE_TAKE_PREFS_APPEARANCE
diff --git a/modular_zubbers/code/modules/bitrunning/virtual_domains/island_brawl.dm b/modular_zubbers/code/modules/bitrunning/virtual_domains/island_brawl.dm
new file mode 100644
index 00000000000..19f4233deab
--- /dev/null
+++ b/modular_zubbers/code/modules/bitrunning/virtual_domains/island_brawl.dm
@@ -0,0 +1,2 @@
+/obj/effect/mob_spawn/ghost_role/human/virtual_domain/islander
+ allow_custom_character = GHOSTROLE_TAKE_PREFS_APPEARANCE
diff --git a/modular_zubbers/code/modules/primitive_catgirls/code/spawner.dm b/modular_zubbers/code/modules/primitive_catgirls/code/spawner.dm
new file mode 100644
index 00000000000..2d50d44580d
--- /dev/null
+++ b/modular_zubbers/code/modules/primitive_catgirls/code/spawner.dm
@@ -0,0 +1,2 @@
+/obj/effect/mob_spawn/ghost_role/human/primitive_catgirl
+ allow_custom_character = GHOSTROLE_TAKE_PREFS_APPEARANCE
diff --git a/tgstation.dme b/tgstation.dme
index 7c6c533ec24..87952ab60aa 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -9268,6 +9268,9 @@
#include "modular_zubbers\code\modules\automapper\code\overrides\area_spawn_subsystem.dm"
#include "modular_zubbers\code\modules\beserk_ability_onstation\beserk.dm"
#include "modular_zubbers\code\modules\bitrunning\disks.dm"
+#include "modular_zubbers\code\modules\bitrunning\spawners.dm"
+#include "modular_zubbers\code\modules\bitrunning\virtual_domains\island_brawl.dm"
+#include "modular_zubbers\code\modules\bitrunning\virtual_domains\ancient_milsim\ghost_spawner.dm"
#include "modular_zubbers\code\modules\bodyparts\code\moth_bodyparts.dm"
#include "modular_zubbers\code\modules\borer_hud\borer.dm"
#include "modular_zubbers\code\modules\bow_adjustments\arrow.dm"
@@ -9724,6 +9727,7 @@
#include "modular_zubbers\code\modules\power\singularity\emitter.dm"
#include "modular_zubbers\code\modules\power\supermatter\supermatter_delam.dm"
#include "modular_zubbers\code\modules\power\supermatter\supermatter_gas.dm"
+#include "modular_zubbers\code\modules\primitive_catgirls\code\spawner.dm"
#include "modular_zubbers\code\modules\privacy_policy\privacy_policy.dm"
#include "modular_zubbers\code\modules\projectiles\beams.dm"
#include "modular_zubbers\code\modules\projectiles\ammunition\ballistic\pistol.dm"