/obj/machinery/computer/aifixer name = "\improper AI system integrity restorer" desc = "Restores AI units to working condition, assuming you have one inside!" icon_keyboard = "rd_key" icon_screen = "ai-fixer" light_color = "#a97faa" circuit = /obj/item/weapon/circuitboard/aifixer req_one_access = list(access_robotics, access_heads) var/mob/living/silicon/ai/occupant = null var/active = 0 /obj/machinery/computer/aifixer/New() ..() update_icon() /obj/machinery/computer/aifixer/proc/load_ai(var/mob/living/silicon/ai/transfer, var/obj/item/device/aicard/card, var/mob/user) if(!transfer) return // Transfer over the AI. to_chat(transfer, "You have been transferred into a stationary terminal. Sadly, there is no remote access from here.") to_chat(user, "Transfer successful: [transfer.name] placed within stationary terminal.") transfer.loc = src transfer.cancel_camera() transfer.control_disabled = 1 occupant = transfer if(card) card.clear() update_icon() /obj/machinery/computer/aifixer/attackby(I as obj, user as mob) if(istype(I, /obj/item/device/aicard)) if(stat & (NOPOWER|BROKEN)) to_chat(user, "This terminal isn't functioning right now.") return var/obj/item/device/aicard/card = I var/mob/living/silicon/ai/comp_ai = locate() in src var/mob/living/silicon/ai/card_ai = locate() in card if(istype(comp_ai)) if(active) to_chat(user, "ERROR: Reconstruction in progress.") return card.grab_ai(comp_ai, user) if(!(locate(/mob/living/silicon/ai) in src)) occupant = null else if(istype(card_ai)) load_ai(card_ai,card,user) occupant = locate(/mob/living/silicon/ai) in src update_icon() return ..() return /obj/machinery/computer/aifixer/attack_ai(var/mob/user as mob) return attack_hand(user) /obj/machinery/computer/aifixer/attack_hand(var/mob/user as mob) if(..()) return user.set_machine(src) var/dat = "