From 71d3c7e35386931cd1ef1a3b80939a8928554c8a Mon Sep 17 00:00:00 2001 From: "sieve32@gmail.com" Date: Wed, 22 Aug 2012 21:14:16 +0000 Subject: [PATCH] -Fixed AIs being broken forever after being restored by the AI fixer, this was due to them lying down when they die, and being unable to get back up when they spring to life (Essentially, it was really dumb). Also made the console handle moving the AI from the dead_mob_list to the living_mob_list -Removed the AI_status.dm, as it contained a single AI proc, which is now in ai.dm git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4519 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/machinery/computer/aifixer.dm | 3 +++ code/game/verbs/AI_status.dm | 20 -------------------- code/modules/mob/living/silicon/ai/ai.dm | 22 ++++++++++++++++++++++ 3 files changed, 25 insertions(+), 20 deletions(-) delete mode 100644 code/game/verbs/AI_status.dm diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index 1b09e2f1bc3..ef8dae63ebb 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -128,6 +128,9 @@ src.occupant.updatehealth() if (src.occupant.health >= 0 && src.occupant.stat == 2) src.occupant.stat = 0 + src.occupant.lying = 0 + dead_mob_list -= src.occupant + living_mob_list += src.occupant src.overlays -= image('icons/obj/computer.dmi', "ai-fixer-404") src.overlays += image('icons/obj/computer.dmi', "ai-fixer-full") src.updateUsrDialog() diff --git a/code/game/verbs/AI_status.dm b/code/game/verbs/AI_status.dm deleted file mode 100644 index 9ebab4a16a1..00000000000 --- a/code/game/verbs/AI_status.dm +++ /dev/null @@ -1,20 +0,0 @@ -/mob/living/silicon/ai/proc/ai_statuschange() - set category = "AI Commands" - set name = "AI status" - - if(usr.stat == 2) - usr <<"You cannot change your emotional status because you are dead!" - return - var/list/ai_emotions = list("Very Happy", "Happy", "Neutral", "Unsure", "Confused", "Sad", "BSOD", "Blank", "Problems?", "Awesome", "Facepalm", "Friend Computer") - var/emote = input("Please, select a status!", "AI Status", null, null) in ai_emotions - for (var/obj/machinery/ai_status_display/AISD in world) //change status - spawn( 0 ) - AISD.emotion = emote - for (var/obj/machinery/status_display/SD in world) //if Friend Computer, change ALL displays - if(emote=="Friend Computer") - spawn(0) - SD.friendc = 1 - else - spawn(0) - SD.friendc = 0 - return \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm index d7dd8efb940..d3670f3bb4f 100644 --- a/code/modules/mob/living/silicon/ai/ai.dm +++ b/code/modules/mob/living/silicon/ai/ai.dm @@ -49,6 +49,7 @@ name = real_name anchored = 1 canmove = 0 + density = 1 loc = loc holo_icon = getHologramIcon(icon('icons/mob/AI.dmi',"holo1")) @@ -548,6 +549,27 @@ malf_picker.use(src) +/mob/living/silicon/ai/proc/ai_statuschange() + set category = "AI Commands" + set name = "AI status" + + if(usr.stat == 2) + usr <<"You cannot change your emotional status because you are dead!" + return + var/list/ai_emotions = list("Very Happy", "Happy", "Neutral", "Unsure", "Confused", "Sad", "BSOD", "Blank", "Problems?", "Awesome", "Facepalm", "Friend Computer") + var/emote = input("Please, select a status!", "AI Status", null, null) in ai_emotions + for (var/obj/machinery/ai_status_display/AISD in world) //change status + spawn( 0 ) + AISD.emotion = emote + for (var/obj/machinery/status_display/SD in world) //if Friend Computer, change ALL displays + if(emote=="Friend Computer") + spawn(0) + SD.friendc = 1 + else + spawn(0) + SD.friendc = 0 + return + //I am the icon meister. Bow fefore me. //>fefore /mob/living/silicon/ai/proc/ai_hologram_change() set name = "Change Hologram"