//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 /* Destructive Analyzer It is used to destroy hand-held objects and advance technological research. Controls are in the linked R&D console. Note: Must be placed within 3 tiles of the R&D Console */ /obj/machinery/r_n_d/destructive_analyzer name = "Destructive Analyzer" desc = "Learn science by destroying things!" icon_state = "d_analyzer" var/obj/item/weapon/loaded_item = null var/decon_mod = 0 /obj/machinery/r_n_d/destructive_analyzer/New() ..() component_parts = list() component_parts += new /obj/item/weapon/circuitboard/destructive_analyzer(null) component_parts += new /obj/item/weapon/stock_parts/scanning_module(null) component_parts += new /obj/item/weapon/stock_parts/manipulator(null) component_parts += new /obj/item/weapon/stock_parts/micro_laser(null) RefreshParts() /obj/machinery/r_n_d/destructive_analyzer/RefreshParts() var/T = 0 for(var/obj/item/weapon/stock_parts/S in component_parts) T += S.rating decon_mod = T /obj/machinery/r_n_d/destructive_analyzer/proc/ConvertReqString2List(var/list/source_list) var/list/temp_list = params2list(source_list) for(var/O in temp_list) temp_list[O] = text2num(temp_list[O]) return temp_list /obj/machinery/r_n_d/destructive_analyzer/attackby(var/obj/item/O as obj, var/mob/user as mob) if (shocked) shock(user,50) if (default_deconstruction_screwdriver(user, "d_analyzer_t", "d_analyzer", O)) if(linked_console) linked_console.linked_destroy = null linked_console = null return if(exchange_parts(user, O)) return default_deconstruction_crowbar(O) if (disabled) return if (!linked_console) user << "The [src.name] must be linked to an R&D console first!" return if (busy) user << "The [src.name] is busy right now." return if (istype(O, /obj/item) && !loaded_item) if(!O.origin_tech) user << "This doesn't seem to have a tech origin!" return var/list/temp_tech = ConvertReqString2List(O.origin_tech) if (temp_tech.len == 0) user << "You cannot deconstruct this item!" return if(!user.drop_item()) user << "\The [O] is stuck to your hand, you cannot put it in the [src.name]!" return busy = 1 loaded_item = O O.loc = src user << "You add the [O.name] to the [src.name]!" flick("d_analyzer_la", src) spawn(10) icon_state = "d_analyzer_l" busy = 0 return