Matriarch Maintenance Drone Fix (#12301)

You can now actually inhabit matriarch maintenance drones, if you have the command whitelist.
This commit is contained in:
Geeves
2021-08-07 14:51:09 +03:00
committed by GitHub
parent 618b1c57f9
commit 39b3180c2c
10 changed files with 48 additions and 28 deletions
@@ -45,7 +45,10 @@ do { \
/obj/effect/mazegen/generator/Initialize(mapload)
. = ..()
LAZYADD(SSatoms.late_misc_firers, src)
check_add_to_late_firers()
/obj/effect/mazegen/generator/do_late_fire()
run_generator()
/obj/effect/mazegen/generator/Destroy()
LAZYREMOVE(SSatoms.late_misc_firers, src)
@@ -8,7 +8,7 @@
req_head_whitelist = TRUE // basically a chief engineer for drones
loc_type = GS_LOC_ATOM
atom_add_message = "A matriarch maintenance drone has been created!"
atom_add_message = "A matriarch maintenance drone is now available!"
spawn_mob = /mob/living/silicon/robot/drone/construction/matriarch
@@ -18,8 +18,5 @@
drone_name = pick("Ripley", "Tano", "Data")
var/mob/living/silicon/robot/drone/construction/matriarch/M = ..()
if(M)
M.real_name = "[initial(M.name)] ([drone_name])"
M.name = M.real_name
M.voice_name = M.real_name
M.updatename()
M.set_name("[initial(M.name)] ([drone_name])")
return M
+1 -4
View File
@@ -204,7 +204,4 @@
/mob/living/silicon/robot/drone/mining/roundstart/Initialize()
. = ..()
if(SSticker.current_state == GAME_STATE_PLAYING)
request_player()
else
LAZYADD(SSatoms.late_misc_firers, src)
check_add_to_late_firers()
@@ -110,6 +110,9 @@
qdel(possessor)
return TRUE
/mob/living/silicon/robot/drone/do_late_fire()
request_player()
/mob/living/silicon/robot/drone/Destroy()
if(hat)
hat.forceMove(get_turf(src))
@@ -144,7 +147,7 @@
/mob/living/silicon/robot/drone/construction/matriarch/Initialize()
. = ..()
SSghostroles.add_spawn_atom("matriarchmaintdrone", src)
check_add_to_late_firers()
/mob/living/silicon/robot/drone/construction/matriarch/assign_player(mob/user)
. = ..()
@@ -152,11 +155,16 @@
/mob/living/silicon/robot/drone/construction/matriarch/ghostize(can_reenter_corpse, should_set_timer)
. = ..()
SSghostroles.add_spawn_atom("matriarchmaintdrone", src)
if(src in mob_list) // needs to exist to reopen spawn atom
set_name(initial(name))
request_player()
/mob/living/silicon/robot/drone/construction/matriarch/Destroy()
. = ..()
SSghostroles.remove_spawn_atom("matriarchmaintdrone", src)
return ..()
/mob/living/silicon/robot/drone/construction/matriarch/request_player()
SSghostroles.add_spawn_atom("matriarchmaintdrone", src)
/mob/living/silicon/robot/drone/construction/matriarch/updatename()
return
@@ -30,10 +30,10 @@
/obj/machinery/drone_fabricator/Initialize()
. = ..()
if(SSticker.current_state == GAME_STATE_PLAYING)
enable_drone_spawn()
else
LAZYADD(SSatoms.late_misc_firers, src)
check_add_to_late_firers()
/obj/machinery/drone_fabricator/do_late_fire()
enable_drone_spawn()
/obj/machinery/drone_fabricator/Destroy()
. = ..()
+5
View File
@@ -1247,3 +1247,8 @@ proc/is_blind(A)
/mob/proc/handle_vision()
return
/mob/proc/set_name(var/new_name)
real_name = new_name
name = real_name
voice_name = real_name