diff --git a/code/game/gamemodes/malfunction/malfunction.dm b/code/game/gamemodes/malfunction/malfunction.dm index cda82e11072..f0a078f313c 100644 --- a/code/game/gamemodes/malfunction/malfunction.dm +++ b/code/game/gamemodes/malfunction/malfunction.dm @@ -5,7 +5,7 @@ name = "AI malfunction" config_tag = "malfunction" antag_flag = BE_MALF - required_players = 0 + required_players = 20 required_enemies = 1 recommended_enemies = 1 pre_setup_before_jobs = 1 @@ -188,10 +188,10 @@ set_security_level("delta") for(var/obj/item/weapon/pinpointer/point in world) - for(var/datum/mind/AI_mind in malf_ai) + for(var/datum/mind/AI_mind in ticker.mode.malf_ai) var/mob/living/silicon/ai/A = AI_mind.current // the current mob the mind owns if(A.stat != DEAD) - point.the_disk = A + point.the_disk = A //The pinpointer now tracks the AI core. ticker.mode:malf_mode_declared = 1 for(var/datum/mind/AI_mind in ticker.mode:malf_ai) diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index df608c245bd..1a1b1cddefc 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -791,6 +791,11 @@ src.occupant.parent.adjustOxyLoss(src.occupant.getOxyLoss()) src.occupant.parent.cancel_camera() del(src.occupant) + for(var/obj/item/weapon/pinpointer/point in world) + for(var/datum/mind/AI_mind in ticker.mode.malf_ai) + var/mob/living/silicon/ai/A = AI_mind.current // the current mob the mind owns + if(A.stat != DEAD) + point.the_disk = A //The pinpointer tracks the AI back into its core. else src.occupant << "\red Primary core damaged, unable to return core processes." @@ -798,9 +803,8 @@ src.occupant.loc = src.loc src.occupant.death() src.occupant.gib() - - for(var/obj/item/weapon/pinpointer/point in world) - point.the_disk = null //the pinpointer will go back to pointing at the nuke disc. + for(var/obj/item/weapon/pinpointer/point in world) + point.the_disk = null //the pinpointer will go back to pointing at the nuke disc. /obj/machinery/power/apc/proc/ion_act()