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