From ec8f753545bd2ec6b94ef10406c26c2087ed77df Mon Sep 17 00:00:00 2001 From: Laharl Montogmmery Date: Wed, 20 Nov 2013 00:11:27 +0100 Subject: [PATCH] Delta : Pinpointer now points toward the AI. Pinpointer now points in the malf AI direction (so it won't track innocent AIs), and follow it through shunting, or if it goes back to its core after shunting. Bloody hell was it a pain to just test that. --- code/game/gamemodes/malfunction/malfunction.dm | 6 +++--- code/modules/power/apc.dm | 10 +++++++--- 2 files changed, 10 insertions(+), 6 deletions(-) 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()