//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32 /obj/machinery/implantchair name = "mindshield implanter" desc = "Used to implant occupants with mindshield implants." icon = 'icons/obj/machines/implantchair.dmi' icon_state = "implantchair" density = 1 opacity = 0 anchored = 1 var/ready = 1 var/malfunction = 0 var/list/obj/item/weapon/implant/mindshield/implant_list = list() var/max_implants = 5 var/injection_cooldown = 600 var/replenish_cooldown = 6000 var/replenishing = 0 var/injecting = 0 /obj/machinery/implantchair/proc go_out() put_mob(mob/living/carbon/M) implant(var/mob/M) add_implants() /obj/machinery/implantchair/New() ..() add_implants() /obj/machinery/implantchair/attack_hand(mob/user) user.set_machine(src) var/health_text = "" if(src.occupant) if(src.occupant.health <= -100) health_text = "Dead" else if(src.occupant.health < 0) health_text = "[round(src.occupant.health,0.1)]" else health_text = "[round(src.occupant.health,0.1)]" var/dat ="Implanter Status
" dat +="Current occupant: [src.occupant ? "
Name: [src.occupant]
Health: [health_text]
" : "None"]
" dat += "Implants: [src.implant_list.len ? "[implant_list.len]" : "Replenish"]
" if(src.occupant) dat += "[src.ready ? "Implant" : "Recharging"]
" user.set_machine(src) user << browse(dat, "window=implant") onclose(user, "implant") /obj/machinery/implantchair/Topic(href, href_list) if(..()) return if(href_list["implant"]) if(src.occupant) injecting = 1 go_out() ready = 0 spawn(injection_cooldown) ready = 1 if(href_list["replenish"]) ready = 0 spawn(replenish_cooldown) add_implants() ready = 1 updateUsrDialog() /obj/machinery/implantchair/go_out(mob/M) if(!occupant) return if(M == occupant) // so that the guy inside can't eject himself -Agouri return occupant.loc = loc occupant.reset_perspective(null) if(injecting) implant(src.occupant) injecting = 0 occupant = null icon_state = "implantchair" return /obj/machinery/implantchair/put_mob(mob/living/carbon/M) if(!iscarbon(M)) usr << "The [src.name] cannot hold this!" return if(src.occupant) usr << "The [src.name] is already occupied!" return M.stop_pulling() M.loc = src M.reset_perspective(src) src.occupant = M src.add_fingerprint(usr) icon_state = "implantchair_on" return 1 /obj/machinery/implantchair/implant(mob/M) if (!istype(M, /mob/living/carbon)) return if(!implant_list.len) return for(var/obj/item/weapon/implant/mindshield/imp in implant_list) if(!imp) continue if(istype(imp, /obj/item/weapon/implant/mindshield)) M.visible_message("[M] has been implanted by the [src.name].") if(imp.implant(M)) implant_list -= imp break return /obj/machinery/implantchair/add_implants() for(var/i=0, i