From 5f037a27d6f66864d7a355d299060e3bc34ad6ee Mon Sep 17 00:00:00 2001 From: BlueNexus Date: Thu, 17 Sep 2015 13:05:48 +0100 Subject: [PATCH 01/10] Malf double-core fix This should prevent an additional AI from being spawned. --- code/modules/mob/living/silicon/ai/latejoin.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm index 7c60bb75e43ef..1eea366c768af 100644 --- a/code/modules/mob/living/silicon/ai/latejoin.dm +++ b/code/modules/mob/living/silicon/ai/latejoin.dm @@ -1,6 +1,8 @@ var/global/list/empty_playable_ai_cores = list() /hook/roundstart/proc/spawn_empty_ai() + if(!ticker.mode.name = "malfunction") + continue for(var/obj/effect/landmark/start/S in landmarks_list) if(S.name != "AI") continue From 4ab607d6e66f5c23b0037999edf078a086882277 Mon Sep 17 00:00:00 2001 From: BlueNexus Date: Thu, 17 Sep 2015 13:09:33 +0100 Subject: [PATCH 02/10] Fixed a compile error Hopefully. --- code/modules/mob/living/silicon/ai/latejoin.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm index 1eea366c768af..b8eaef9d1c115 100644 --- a/code/modules/mob/living/silicon/ai/latejoin.dm +++ b/code/modules/mob/living/silicon/ai/latejoin.dm @@ -1,8 +1,8 @@ var/global/list/empty_playable_ai_cores = list() /hook/roundstart/proc/spawn_empty_ai() - if(!ticker.mode.name = "malfunction") - continue + if(ticker.mode.name = "malfunction") + return 0 for(var/obj/effect/landmark/start/S in landmarks_list) if(S.name != "AI") continue From 8c61b79108ad10c8bcba0f3e829dbd436c61f22b Mon Sep 17 00:00:00 2001 From: BlueNexus Date: Thu, 17 Sep 2015 13:13:01 +0100 Subject: [PATCH 03/10] Strange. --- code/modules/mob/living/silicon/ai/latejoin.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm index b8eaef9d1c115..7ff5fd5229dc5 100644 --- a/code/modules/mob/living/silicon/ai/latejoin.dm +++ b/code/modules/mob/living/silicon/ai/latejoin.dm @@ -1,7 +1,7 @@ var/global/list/empty_playable_ai_cores = list() /hook/roundstart/proc/spawn_empty_ai() - if(ticker.mode.name = "malfunction") + if(ticker.mode.name == "malfunction") return 0 for(var/obj/effect/landmark/start/S in landmarks_list) if(S.name != "AI") From f544fe1fd20bee96b4c89ef4cd31a9e4cbcb895c Mon Sep 17 00:00:00 2001 From: BlueNexus Date: Thu, 17 Sep 2015 20:59:00 +0100 Subject: [PATCH 04/10] Let's see if this works. --- code/modules/mob/living/silicon/ai/latejoin.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm index 7ff5fd5229dc5..737bc939ca4fc 100644 --- a/code/modules/mob/living/silicon/ai/latejoin.dm +++ b/code/modules/mob/living/silicon/ai/latejoin.dm @@ -1,7 +1,7 @@ var/global/list/empty_playable_ai_cores = list() /hook/roundstart/proc/spawn_empty_ai() - if(ticker.mode.name == "malfunction") + if((ticker.mode.name) = ("malfunction")) return 0 for(var/obj/effect/landmark/start/S in landmarks_list) if(S.name != "AI") From 232971b2d2abe3e126ab5e35548d826fc23368e2 Mon Sep 17 00:00:00 2001 From: BlueNexus Date: Thu, 17 Sep 2015 21:02:15 +0100 Subject: [PATCH 05/10] Maybe? --- .../modules/mob/living/silicon/ai/latejoin.dm | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm index 737bc939ca4fc..c361302fc0601 100644 --- a/code/modules/mob/living/silicon/ai/latejoin.dm +++ b/code/modules/mob/living/silicon/ai/latejoin.dm @@ -1,16 +1,17 @@ var/global/list/empty_playable_ai_cores = list() /hook/roundstart/proc/spawn_empty_ai() - if((ticker.mode.name) = ("malfunction")) + if(ticker.mode.name = "malfunction") return 0 - for(var/obj/effect/landmark/start/S in landmarks_list) - if(S.name != "AI") - continue - if(locate(/mob/living) in S.loc) - continue - empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(get_turf(S)) - - return 1 + else + for(var/obj/effect/landmark/start/S in landmarks_list) + if(S.name != "AI") + continue + if(locate(/mob/living) in S.loc) + continue + empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(get_turf(S)) + + return 1 /mob/living/silicon/ai/verb/wipe_core() set name = "Wipe Core" From 36da6e3e6c34021786ccfdb8b86e98a6021f616e Mon Sep 17 00:00:00 2001 From: BlueNexus Date: Mon, 21 Sep 2015 12:35:49 +0100 Subject: [PATCH 06/10] Removed an unneeded 0 (?) --- code/modules/mob/living/silicon/ai/latejoin.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm index c361302fc0601..5121f8bf3b3b9 100644 --- a/code/modules/mob/living/silicon/ai/latejoin.dm +++ b/code/modules/mob/living/silicon/ai/latejoin.dm @@ -2,7 +2,7 @@ var/global/list/empty_playable_ai_cores = list() /hook/roundstart/proc/spawn_empty_ai() if(ticker.mode.name = "malfunction") - return 0 + return else for(var/obj/effect/landmark/start/S in landmarks_list) if(S.name != "AI") From 45899f936a00e1dcbfd05eb5224ebcc03689845c Mon Sep 17 00:00:00 2001 From: BlueNexus Date: Fri, 25 Sep 2015 11:06:28 +0100 Subject: [PATCH 07/10] Compacted the code --- code/modules/mob/living/silicon/ai/latejoin.dm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm index 5121f8bf3b3b9..50e8cc31426e5 100644 --- a/code/modules/mob/living/silicon/ai/latejoin.dm +++ b/code/modules/mob/living/silicon/ai/latejoin.dm @@ -1,9 +1,7 @@ var/global/list/empty_playable_ai_cores = list() /hook/roundstart/proc/spawn_empty_ai() - if(ticker.mode.name = "malfunction") - return - else + if(!(ticker.mode.name == "malfunction")) for(var/obj/effect/landmark/start/S in landmarks_list) if(S.name != "AI") continue From 44fc77409b2c32e96deba22fad2cbf13af2902d8 Mon Sep 17 00:00:00 2001 From: BlueNexus Date: Fri, 25 Sep 2015 11:13:31 +0100 Subject: [PATCH 08/10] Extra AI core fix Mk. II --- code/game/antagonist/station/rogue_ai.dm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/game/antagonist/station/rogue_ai.dm b/code/game/antagonist/station/rogue_ai.dm index 52fa7e3f38e22..fa9ae07c99158 100644 --- a/code/game/antagonist/station/rogue_ai.dm +++ b/code/game/antagonist/station/rogue_ai.dm @@ -60,6 +60,10 @@ var/datum/antagonist/rogue_ai/malf var/mob/living/silicon/ai/malf = player.current + for(mob/living/silicon/ai/AI in world) + if(!(AI = player.current)) + AI.del + empty_playable_ai_cores -= AI malf << "SYSTEM ERROR: Memory index 0x00001ca89b corrupted." sleep(10) From 5d98a8fe9c5b2aa896974ae4afed7b8ba0ebdfed Mon Sep 17 00:00:00 2001 From: BlueNexus Date: Fri, 25 Sep 2015 11:14:19 +0100 Subject: [PATCH 09/10] Removed redundant code --- code/modules/mob/living/silicon/ai/latejoin.dm | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/code/modules/mob/living/silicon/ai/latejoin.dm b/code/modules/mob/living/silicon/ai/latejoin.dm index 50e8cc31426e5..7c60bb75e43ef 100644 --- a/code/modules/mob/living/silicon/ai/latejoin.dm +++ b/code/modules/mob/living/silicon/ai/latejoin.dm @@ -1,15 +1,14 @@ var/global/list/empty_playable_ai_cores = list() /hook/roundstart/proc/spawn_empty_ai() - if(!(ticker.mode.name == "malfunction")) - for(var/obj/effect/landmark/start/S in landmarks_list) - if(S.name != "AI") - continue - if(locate(/mob/living) in S.loc) - continue - empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(get_turf(S)) - - return 1 + for(var/obj/effect/landmark/start/S in landmarks_list) + if(S.name != "AI") + continue + if(locate(/mob/living) in S.loc) + continue + empty_playable_ai_cores += new /obj/structure/AIcore/deactivated(get_turf(S)) + + return 1 /mob/living/silicon/ai/verb/wipe_core() set name = "Wipe Core" From 0079ad3f4b4550eace01f94375c595ad3f30a1af Mon Sep 17 00:00:00 2001 From: BlueNexus Date: Fri, 25 Sep 2015 11:18:31 +0100 Subject: [PATCH 10/10] Small patch --- code/game/antagonist/station/rogue_ai.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/antagonist/station/rogue_ai.dm b/code/game/antagonist/station/rogue_ai.dm index fa9ae07c99158..2f221337d6828 100644 --- a/code/game/antagonist/station/rogue_ai.dm +++ b/code/game/antagonist/station/rogue_ai.dm @@ -60,9 +60,9 @@ var/datum/antagonist/rogue_ai/malf var/mob/living/silicon/ai/malf = player.current - for(mob/living/silicon/ai/AI in world) - if(!(AI = player.current)) - AI.del + for(var/mob/living/silicon/ai/AI in world) + if(!(AI = malf)) + AI.del() empty_playable_ai_cores -= AI malf << "SYSTEM ERROR: Memory index 0x00001ca89b corrupted."