diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index 2ce9bedae9..37508f93a3 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -1,13 +1,13 @@ /obj/machinery/computer/aifixer name = "AI System Integrity Restorer" - icon = 'AIcore.dmi' + icon = 'computer.dmi' icon_state = "ai-fixer" req_access = list(access_captain, access_robotics, access_heads) var/mob/living/silicon/ai/occupant = null var/active = 0 /obj/machinery/computer/aifixer/New() - src.overlays += image('AIcore.dmi', "ai-fixer-empty") + src.overlays += image('computer.dmi', "ai-fixer-empty") /obj/machinery/computer/aifixer/attackby(I as obj, user as mob) @@ -42,6 +42,9 @@ del(src) */ if(istype(I, /obj/item/device/aicard)) + if(stat & (NOPOWER|BROKEN)) + user << "This terminal isn't functioning right now, get it working!" + return var/obj/item/device/aicard/C = I if(src.contents.len == 0) if (C.contents.len == 0) @@ -56,22 +59,22 @@ src.occupant = A A.control_disabled = 1 if (A.stat == 2) - src.overlays += image('AIcore.dmi', "ai-fixer-404") + src.overlays += image('computer.dmi', "ai-fixer-404") else - src.overlays += image('AIcore.dmi', "ai-fixer-full") - src.overlays -= image('AIcore.dmi', "ai-fixer-empty") + src.overlays += image('computer.dmi', "ai-fixer-full") + src.overlays -= image('computer.dmi', "ai-fixer-empty") else if(C.contents.len == 0 && src.occupant && !src.active) C.name = "inteliCard - [src.occupant.name]" - src.overlays += image('AIcore.dmi', "ai-fixer-empty") + src.overlays += image('computer.dmi', "ai-fixer-empty") if (src.occupant.stat == 2) C.icon_state = "aicard-404" - src.overlays -= image('AIcore.dmi', "ai-fixer-404") + src.overlays -= image('computer.dmi', "ai-fixer-404") else C.icon_state = "aicard-full" - src.overlays -= image('AIcore.dmi', "ai-fixer-full") + src.overlays -= image('computer.dmi', "ai-fixer-full") src.occupant << "You have been downloaded to a mobile storage device. Still no remote access." user << "Transfer succeeded: [src.occupant.name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory." src.occupant.loc = C @@ -139,7 +142,6 @@ /obj/machinery/computer/aifixer/process() if(stat & (NOPOWER|BROKEN)) - src.overlays = null return use_power(500) @@ -151,7 +153,7 @@ return if (href_list["fix"]) src.active = 1 - src.overlays += image('AIcore.dmi', "ai-fixer-on") + src.overlays += image('computer.dmi', "ai-fixer-on") while (src.occupant.health < 100) src.occupant.oxyloss = max (src.occupant.oxyloss-1, 0) src.occupant.fireloss = max (src.occupant.fireloss-1, 0) @@ -160,12 +162,12 @@ src.occupant.updatehealth() if (src.occupant.health >= 0 && src.occupant.stat == 2) src.occupant.stat = 0 - src.overlays -= image('AIcore.dmi', "ai-fixer-404") - src.overlays += image('AIcore.dmi', "ai-fixer-full") + src.overlays -= image('computer.dmi', "ai-fixer-404") + src.overlays += image('computer.dmi', "ai-fixer-full") src.updateUsrDialog() sleep(10) src.active = 0 - src.overlays -= image('AIcore.dmi', "ai-fixer-on") + src.overlays -= image('computer.dmi', "ai-fixer-on") src.add_fingerprint(usr) diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index 2d3637430f..11ff7e082a 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -89,16 +89,30 @@ Pod/Blast Doors computer if(stat & BROKEN) icon_state = initial(icon_state) src.icon_state += "b" + if (istype(src,/obj/machinery/computer/aifixer)) + src.overlays = null else if(powered()) icon_state = initial(icon_state) stat &= ~NOPOWER + if (istype(src,/obj/machinery/computer/aifixer)) + var/obj/machinery/computer/aifixer/O = src + if (O.occupant) + switch (O.occupant.stat) + if (0) + src.overlays += image('computer.dmi', "ai-fixer-full") + if (2) + src.overlays += image('computer.dmi', "ai-fixer-404") + else + src.overlays += image('computer.dmi', "ai-fixer-empty") else spawn(rand(0, 15)) //src.icon_state = "c_unpowered" icon_state = initial(icon_state) src.icon_state += "0" stat |= NOPOWER + if (istype(src,/obj/machinery/computer/aifixer)) + src.overlays = null /obj/machinery/computer/process() if(stat & (NOPOWER|BROKEN)) diff --git a/code/game/objects/devices/aicard.dm b/code/game/objects/devices/aicard.dm index 9135dedc3d..1c5ef18ed5 100644 --- a/code/game/objects/devices/aicard.dm +++ b/code/game/objects/devices/aicard.dm @@ -10,6 +10,7 @@ attack(mob/living/silicon/ai/M as mob, mob/user as mob) if (src.flush) + user << "Transfer failed: Cannot transfer while wipe in progress." return if(!istype(M, /mob/living/silicon/ai)) @@ -22,9 +23,7 @@ if(M.real_name != "Inactive AI") user << "Transfer failed: Existing AI found on this terminal. Remove existing AI to install a new one." return -// else if(M.stat != A.stat) -// user << "Transfer failed: Unable to establish connection." -// return + else M.name = A.name M.real_name = A.real_name diff --git a/icons/obj/AIcore.dmi b/icons/obj/AIcore.dmi index fafc51cd32..5634d7c4a8 100644 Binary files a/icons/obj/AIcore.dmi and b/icons/obj/AIcore.dmi differ diff --git a/icons/obj/computer.dmi b/icons/obj/computer.dmi index 960e737e62..54f0d84d84 100644 Binary files a/icons/obj/computer.dmi and b/icons/obj/computer.dmi differ