Golem name fix (#63506)

Fixes names of golems from golem shells.
This whole manual transfer mess (golems having a special ability to swap into another mob spawner) needs better implementation.
This commit is contained in:
AnturK
2021-12-21 10:02:04 +01:00
committed by GitHub
parent e806fd9991
commit 488301cdaa
2 changed files with 18 additions and 12 deletions
@@ -32,7 +32,18 @@
important_text = "Serve [creator], and assist [creator.p_them()] in completing [creator.p_their()] goals at any cost."
owner = creator
/obj/effect/mob_spawn/ghost_role/human/golem/special(mob/living/new_spawn, name)
/obj/effect/mob_spawn/ghost_role/human/golem/name_mob(mob/living/spawned_mob, forced_name)
if(!forced_name)
var/datum/species/golem/golem_species = mob_species
if(has_owner)
forced_name = "[initial(golem_species.prefix)] Golem ([rand(1,999)])"
else
golem_species = new mob_species
forced_name = golem_species.random_name()
. = ..()
/obj/effect/mob_spawn/ghost_role/human/golem/special(mob/living/new_spawn, mob/mob_possessor)
. = ..()
var/datum/species/golem/X = mob_species
to_chat(new_spawn, "[initial(X.info_text)]")
@@ -51,14 +62,7 @@
var/datum/species/golem/G = H.dna.species
G.owner = owner
H.set_cloned_appearance()
if(!name)
if(has_owner)
H.fully_replace_character_name(null, "[initial(X.prefix)] Golem ([rand(1,999)])")
else
H.fully_replace_character_name(null, H.dna.species.random_name())
else
H.fully_replace_character_name(null, name)
if(has_owner)
if(has_owner && new_spawn.mind)
new_spawn.mind.set_assigned_role(SSjob.GetJobType(/datum/job/servant_golem))
else
new_spawn.mind.set_assigned_role(SSjob.GetJobType(/datum/job/free_golem))
+5 -3
View File
@@ -168,7 +168,8 @@
/obj/effect/mob_spawn/ghost_role/special(mob/living/spawned_mob, mob/mob_possessor)
. = ..()
spawned_mob.ckey = mob_possessor.ckey
if(mob_possessor)
spawned_mob.ckey = mob_possessor.ckey
if(show_flavor)
var/output_message = "<span class='infoplain'><span class='big bold'>[you_are_text]</span></span>"
if(flavour_text != "")
@@ -177,8 +178,9 @@
output_message += "\n[span_userdanger("[important_text]")]"
to_chat(spawned_mob, output_message)
var/datum/mind/spawned_mind = spawned_mob.mind
spawned_mob.mind.set_assigned_role(SSjob.GetJobType(spawner_job_path))
spawned_mind.name = spawned_mob.real_name
if(spawned_mind)
spawned_mob.mind.set_assigned_role(SSjob.GetJobType(spawner_job_path))
spawned_mind.name = spawned_mob.real_name
//multiple use mob spawner functionality here- doesn't make sense on corpses
/obj/effect/mob_spawn/ghost_role/create(mob/mob_possessor, newname)