//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:33 /obj/machinery/shipcore icon = 'craft.dmi' icon_state = "core" density = 1 var/width = 6 var/height = 8 var/list/turfs = list() var/list/builders var/list/components = list() var/build_status = "unbuilt" proc/group_self() builders = list() turfs = list() components = list() src.anchored = 1 var/obj/ship_builder/L = new(locate(src.x, src.y, src.z)) L.dir = WEST L.distance = width/2 L.core = src var/obj/ship_builder/R = new(locate(src.x+1, src.y, src.z)) R.dir = EAST R.distance = (width/2)-1 R.core = src builders.Add(L, R) spawn() L.scan() spawn() R.scan() var/h for(h=1, h[src.wires[wire] ? "Mend" : "Cut"] Pulse
") dat += text("The red light is [src.disabled ? "off" : "on"].
") dat += text("The green light is [src.shocked ? "off" : "on"].
") dat += text("The blue light is [src.hacked ? "off" : "on"].
") */ switch(src.build_status) if("unbuilt") dat += "

Core Status: Undeployed


" dat += "Build Ship
" if("built") dat += "

Core Status: Deployed


" dat += "Move
" if("rebuilding") dat += "

Core Status: Recalibrating


" user << browse("Ship Core[dat]","window=shipcore") onclose(user, "shipcore") return user << browse("Ship Core Control Panel[dat]", "window=shipcore") onclose(user, "shipcore") return obj/machinery/shipcore/Topic(href, href_list) if(..()) return usr.machine = src src.add_fingerprint(usr) if(href_list["groupself"]) src.group_self() if (href_list["move"]) var/list/beacons = list() for(var/obj/effect/ship_landing_beacon/b in world) if(istype(b, /obj/effect/ship_landing_beacon)) if(b.active) beacons.Add(b) if(!beacons.len) return var/obj/choice = input("Choose a beacon to land at.", "Beacon Selection") in beacons if(choice) src.MoveShip(choice.loc) for(var/mob/M in viewers(1, src)) if ((M.client && M.machine == src)) src.attack_hand(M) src.updateUsrDialog() return obj/machinery/ship_component name = "ship component" icon = 'craft.dmi' var/obj/machinery/shipcore/core var/required_draw = 0 var/active = 1 proc draw_power(var/n as num) if(!n) n = required_draw if(core.draw_power(n)) return 1 else return 0 obj/machinery/ship_component/thruster name = "thruster" icon_state = "thruster" density = 1 opacity = 1 var/cooldown = 600 // In 1/10th seconds var/lastused var/ready = 0 required_draw = 100 proc check_ready() if(ready) return 1 if(lastused + cooldown <= world.time) for(var/turf/T in range(1,src)) if(istype(T, /turf/space)) src.ready = 1 break else src.ready = 0 return src.ready fire() src.check_ready() if(!ready) return 0 if(src.draw_power()) src.ready = 0 src.lastused = world.time return 1 else return 0 obj/machinery/ship_component/engine name = "engine" icon_state = "engine" density = 1 opacity = 1 var/charge = 1000 var/capacity = 1000 draw_power(var/n as num) if(charge >= n) charge -= n return 1 else return 0 obj/machinery/ship_component/control_panel name = "control panel" icon_state = "controlpanel" density = 1 opacity = 0 attack_hand(user as mob) var/dat if(..()) return if(!src.core) dat += "No linked core found. Deploy ship core first." else dat += "Ship Status: [src.core.build_status]

" dat += "

Installed Components:



" dat += "" for(var/obj/machinery/ship_component/C in core.components) dat += "" if(istype(C, /obj/machinery/ship_component/engine)) dat += "" if(istype(C, /obj/machinery/ship_component/thruster)) dat += "" dat += "
[C.name][C.active ? "Active" : "Inactive"]
Fuel: [C:charge]/[C:capacity]
Status: [C:check_ready() ? "Ready" : "On Cooldown"]
" user << browse("Ship Controls[dat]","window=shipcontrols") onclose(user, "shipcontrols") Topic(href, href_list) if(..()) return usr.machine = src src.add_fingerprint(usr) /obj/ship_builder icon = 'craft.dmi' icon_state = "builder" density = 0 opacity = 0 var/obj/machinery/shipcore/core var/distance = 0 proc/scan() if(distance < 0) cleanup_self() var/i for(i=0, i