diff --git a/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm b/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm index 75c723aa358..34d4bfe1ce0 100644 --- a/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm +++ b/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm @@ -115,6 +115,7 @@ SIGNAL_REMOVETRAIT(TRAIT_NO_TRANSFORM), ), PROC_REF(update_revenant_appearance)) name = generate_random_mob_name() + real_name = name // BUBBER EDIT - ADDITION GLOB.revenant_relay_mobs |= src diff --git a/modular_zubbers/code/modules/mob/living/basic/space_fauna/revenant/revenant_antag.dm b/modular_zubbers/code/modules/mob/living/basic/space_fauna/revenant/revenant_antag.dm new file mode 100644 index 00000000000..53c457e6fe3 --- /dev/null +++ b/modular_zubbers/code/modules/mob/living/basic/space_fauna/revenant/revenant_antag.dm @@ -0,0 +1,27 @@ +// revenant antag datum is given on login, so this should be fine +/datum/antagonist/revenant/on_gain() + . = ..() + INVOKE_ASYNC(src, PROC_REF(pick_name), owner.current) + +/datum/antagonist/revenant/proc/pick_name(mob/living/basic/revenant/revenant) + if(!istype(revenant)) + CRASH("Somehow a non-revenant got a revenant antag datum?") + while(revenant?.client) + var/new_name = reject_bad_text(tgui_input_text(revenant, "Would you like to change your ghostly name to something else?", "Spooky Identity", revenant.name, MAX_NAME_LEN, encode = FALSE)) + if(!new_name || new_name == revenant.name) + if(tgui_alert(revenant, "Are you sure you would like to keep your default name of \"[revenant.name]\"?", "Spooky Identity", list("Yes", "No")) == "Yes") + return + else + continue + new_name = sanitize_name(new_name, allow_numbers = TRUE) + if(!new_name) + if(tgui_alert(revenant, "Invalid name, please pick another!", "Spooky Identity", list("Try Again", "Keep Default Name")) == "Try Again") + continue + else + return + + revenant.log_message("set their revenant name to [new_name]", LOG_OWNERSHIP) + message_admins("[ADMIN_LOOKUPFLW(revenant)] has changed their revenant name to \"[span_name(new_name)]\"") + revenant.fully_replace_character_name(null, new_name) + to_chat(revenant, span_revennotice("Your name is now \"[span_name(new_name)]\"."), type = MESSAGE_TYPE_INFO) + return diff --git a/tgstation.dme b/tgstation.dme index 46f533500ce..9d1c5c26cd7 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -9825,6 +9825,7 @@ #include "modular_zubbers\code\modules\mob\living\basic\space_fauna\carp.dm" #include "modular_zubbers\code\modules\mob\living\basic\space_fauna\dolphin.dm" #include "modular_zubbers\code\modules\mob\living\basic\space_fauna\dolphin_ai.dm" +#include "modular_zubbers\code\modules\mob\living\basic\space_fauna\revenant\revenant_antag.dm" #include "modular_zubbers\code\modules\mob\living\basic\space_fauna\space_dragon\space_dragon.dm" #include "modular_zubbers\code\modules\mob\living\basic\trooper\nanotrasen.dm" #include "modular_zubbers\code\modules\mob\living\basic\trooper\syndicate.dm"