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: Screenshot 2026-03-11 120442 Screenshot 2026-03-11 120428 Screenshot 2026-03-11 120245 Spawned in using the spawners: Screenshot 2026-03-11 120547 Screenshot 2026-03-11 120417 Screenshot 2026-03-11 120407 Screenshot 2026-03-11 120302
## 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"