mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-28 07:20:09 +01:00
Matriarch Maintenance Drone Fix (#12301)
You can now actually inhabit matriarch maintenance drones, if you have the command whitelist.
This commit is contained in:
@@ -37,16 +37,8 @@
|
||||
populate_code_phrases()
|
||||
|
||||
// this covers mapped in drone fabs
|
||||
for(var/thing in SSatoms.late_misc_firers)
|
||||
if(istype(thing, /obj/machinery/drone_fabricator))
|
||||
var/obj/machinery/drone_fabricator/DF = thing
|
||||
DF.enable_drone_spawn()
|
||||
else if(istype(thing, /mob/living/silicon/robot/drone/mining))
|
||||
var/mob/living/silicon/robot/drone/mining/MD = thing
|
||||
MD.request_player()
|
||||
else if(istype(thing, /obj/effect/mazegen/generator))
|
||||
var/obj/effect/mazegen/generator/MG = thing
|
||||
MG.run_generator()
|
||||
for(var/atom/thing as anything in SSatoms.late_misc_firers)
|
||||
thing.do_late_fire()
|
||||
LAZYREMOVE(SSatoms.late_misc_firers, thing)
|
||||
|
||||
if (config.use_forumuser_api)
|
||||
|
||||
+10
-1
@@ -618,4 +618,13 @@
|
||||
var/mob/M = AM
|
||||
if(M.client)
|
||||
M.client.eye = M.client.mob
|
||||
M.client.perspective = MOB_PERSPECTIVE
|
||||
M.client.perspective = MOB_PERSPECTIVE
|
||||
|
||||
/atom/proc/check_add_to_late_firers()
|
||||
if(SSticker.current_state == GAME_STATE_PLAYING)
|
||||
do_late_fire()
|
||||
return
|
||||
LAZYADD(SSatoms.late_misc_firers, src)
|
||||
|
||||
/atom/proc/do_late_fire()
|
||||
return
|
||||
@@ -48,6 +48,9 @@ var/list/whitelist_jobconfig = list()
|
||||
return TRUE //If the whitelist_jobconfig isnt loaded, there are no whitelists
|
||||
|
||||
/proc/check_whitelist(mob/M, var/whitelist_id = 1)
|
||||
if(!config.usewhitelist)
|
||||
return TRUE
|
||||
|
||||
if (config.sql_whitelists)
|
||||
if (M.client && M.client.whitelist_status)
|
||||
return (M.client.whitelist_status & whitelist_id)
|
||||
|
||||
@@ -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
|
||||
@@ -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()
|
||||
. = ..()
|
||||
|
||||
@@ -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
|
||||
@@ -0,0 +1,6 @@
|
||||
author: Geeves
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- bugfix: "You can now actually inhabit matriarch maintenance drones, if you have the command whitelist."
|
||||
Reference in New Issue
Block a user