mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-19 12:05:59 +01:00
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:
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user