diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm index 23743ffc10c..9794583f59e 100644 --- a/code/game/machinery/computer/buildandrepair.dm +++ b/code/game/machinery/computer/buildandrepair.dm @@ -123,11 +123,11 @@ name = "Circuit board (Turbine Control)" build_path = "/obj/machinery/computer/turbine_computer" /obj/item/weapon/circuitboard/solar_control - name = "Circuit board (Solar Control)" + name = "Circuit board (Solar Control)" build_path = "/obj/machinery/power/solar_control" origin_tech = "programming=2;powerstorage=2" /obj/item/weapon/circuitboard/powermonitor - name = "Circuit board (Power Monitor)" + name = "Circuit board (Power Monitor)" build_path = "/obj/machinery/power/monitor" /obj/item/weapon/circuitboard/olddoor name = "Circuit board (DoorMex)" @@ -147,6 +147,9 @@ /obj/item/weapon/circuitboard/mecha_control name = "Circuit Board (Exosuit Control Console)" build_path = "/obj/machinery/computer/mecha" +/obj/item/weapon/circuitboard/pod_locater + name = "Circuit Board (Pod Location Console)" + build_path = "/obj/machinery/computer/podtracker" /obj/item/weapon/circuitboard/rdservercontrol name = "Circuit Board (RD Server Control)" build_path = "/obj/machinery/computer/rdservercontrol" @@ -203,7 +206,7 @@ name = "Circuit board (Research Shuttle)" build_path = "/obj/machinery/computer/shuttle_control/research" origin_tech = "programming=2" -/obj/item/weapon/circuitboard/HolodeckControl +/obj/item/weapon/circuitboard/HolodeckControl name = "Circuit board (Holodeck Control)" build_path = "/obj/machinery/computer/HolodeckControl" origin_tech = "programming=4" diff --git a/code/game/machinery/computer/pod_tracking_console.dm b/code/game/machinery/computer/pod_tracking_console.dm new file mode 100644 index 00000000000..5707e0d791f --- /dev/null +++ b/code/game/machinery/computer/pod_tracking_console.dm @@ -0,0 +1,44 @@ +/obj/machinery/computer/podtracker + name = "Pod Tracking Console" + icon = 'icons/obj/computer.dmi' + icon_state = "podtracking" + req_access = list(access_robotics) + circuit = "/obj/item/weapon/circuitboard/pod_locater" + +/obj/machinery/computer/podtracker/attack_ai(var/mob/user as mob) + return src.attack_hand(user) + +/obj/machinery/computer/podtracker/attack_paw(var/mob/user as mob) + return src.attack_hand(user) + +/obj/machinery/computer/podtracker/attack_hand(var/mob/user as mob) + if(..()) + return + user.set_machine(src) + var/dat = "[src.name]" + dat += "

Pod beacons data

" + for(var/obj/item/device/spacepod_equipment/misc/tracker/TR in world) + var/obj/spacepod/myPod = TR.my_atom + var/enabled = TR.enabled + if(myPod && enabled) + dat += {"
[capitalize(myPod.name)]
+  Pod SPS X: [myPod.x]
+  Pod SPS Y: [myPod.y]
+  Pod SPS Z: [myPod.z]
"} + if(myPod.occupant) + dat += {" Pod Pilot: [myPod.occupant.name]
"} + if(myPod.occupant2) + dat += {" Pod Passenger: [myPod.occupant2.name]
"} + + dat += "(Refresh)
" + dat += "" + + user << browse(dat, "window=computer;size=400x500") + onclose(user, "computer") + return + +/obj/machinery/computer/podtracker/Topic(href, href_list) + if(..()) + return + src.updateUsrDialog() + return diff --git a/code/game/vehicles/spacepods/equipment.dm b/code/game/vehicles/spacepods/equipment.dm index 3adbcf1ab32..80a24e72727 100644 --- a/code/game/vehicles/spacepods/equipment.dm +++ b/code/game/vehicles/spacepods/equipment.dm @@ -49,6 +49,7 @@ /datum/spacepod/equipment var/obj/spacepod/my_atom var/obj/item/device/spacepod_equipment/weaponry/weapon_system // weapons system + var/obj/item/device/spacepod_equipment/misc/misc_system // misc system //var/obj/item/device/spacepod_equipment/engine/engine_system // engine system //var/obj/item/device/spacepod_equipment/shield/shield_system // shielding system @@ -100,3 +101,27 @@ fire_sound = 'sound/weapons/Laser.ogg' fire_delay = 30 +//base item for spacepod misc equipment (tracker) +/obj/item/device/spacepod_equipment/misc + name = "pod misc" + desc = "You shouldn't be seeing this" + icon = 'icons/pods/ship.dmi' + icon_state = "blank" + var/enabled + +/obj/item/device/spacepod_equipment/misc/tracker + name = "\improper spacepod tracking system" + desc = "A tracking device for spacepods." + icon_state = "pod_locator" + enabled = 0 + +/obj/item/device/spacepod_equipment/misc/tracker/attackby(obj/item/I as obj, mob/user as mob, params) + if(isscrewdriver(I)) + if(enabled) + enabled = 0 + user.show_message("You disable \the [src]'s power.") + return + enabled = 1 + user.show_message("You enable \the [src]'s power.") + else + ..() \ No newline at end of file diff --git a/code/game/vehicles/spacepods/spacepod.dm b/code/game/vehicles/spacepods/spacepod.dm index aea443181fd..feeb98b2751 100644 --- a/code/game/vehicles/spacepods/spacepod.dm +++ b/code/game/vehicles/spacepods/spacepod.dm @@ -233,6 +233,19 @@ equipment_system.weapon_system = W equipment_system.weapon_system.my_atom = src return + + if(istype(W, /obj/item/device/spacepod_equipment/misc)) + if(equipment_system.misc_system) + user << "The pod already has a miscellaneous system, remove it first." + return + else + user << "You insert \the [W] into the equipment system." + user.drop_item(W) + W.loc = equipment_system + equipment_system.misc_system = W + equipment_system.misc_system.my_atom = src + return + if(istype(W, /obj/item/weapon/weldingtool)) if(!hatch_open) user << "\red You must open the maintenance hatch before attempting repairs." @@ -265,6 +278,8 @@ possible.Add("Energy Cell") if(equipment_system.weapon_system) possible.Add("Weapon System") + if(equipment_system.misc_system) + possible.Add("Misc. System") /* Not yet implemented if(equipment_system.engine_system) possible.Add("Engine System") @@ -285,6 +300,14 @@ equipment_system.weapon_system = null else user << "You need an open hand to do that." + if("Misc. System") + SPE = equipment_system.misc_system + if(user.put_in_any_hand_if_possible(SPE)) + user << "You remove \the [SPE] from the equipment system." + SPE.my_atom = null + equipment_system.misc_system = null + else + user << "You need an open hand to do that." /* if("engine system") SPE = equipment_system.engine_system @@ -323,6 +346,11 @@ T.loc = equipment_system equipment_system.weapon_system = T equipment_system.weapon_system.my_atom = src + var/obj/item/device/spacepod_equipment/misc/tracker/L = new /obj/item/device/spacepod_equipment/misc/tracker + L.loc = equipment_system + equipment_system.misc_system = L + equipment_system.misc_system.my_atom = src + equipment_system.misc_system.enabled = 1 return /obj/spacepod/random/New() diff --git a/code/modules/research/designs/comp_board_designs.dm b/code/modules/research/designs/comp_board_designs.dm index 68ca1c27660..cfbb5c8002f 100644 --- a/code/modules/research/designs/comp_board_designs.dm +++ b/code/modules/research/designs/comp_board_designs.dm @@ -11,7 +11,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/aicore category = list("Computer Boards") - + /datum/design/aifixer name = "Console Board (AI Integrity Restorer)" desc = "Allows for the construction of circuit boards used to build an AI Integrity Restorer." @@ -31,7 +31,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/aiupload category = list("Computer Boards") - + /datum/design/atmosalerts name = "Console Board (Atmospheric Alerts)" desc = "Allows for the construction of circuit boards used to build an atmosphere alert console.." @@ -41,7 +41,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/atmos_alert category = list("Computer Boards") - + /datum/design/air_management name = "Console Board (Atmospheric Monitor)" desc = "Allows for the construction of circuit boards used to build an Atmospheric Monitor." @@ -51,7 +51,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/air_management category = list("Computer Boards") - + /datum/design/seccamera name = "Console Board (Camera Monitor)" desc = "Allows for the construction of circuit boards used to build camera monitors." @@ -61,7 +61,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/camera category = list("Computer Boards") - + /datum/design/clonecontrol name = "Console Board (Cloning Machine Console)" desc = "Allows for the construction of circuit boards used to build a new Cloning Machine console." @@ -70,8 +70,8 @@ build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/cloning - category = list("Computer Boards") - + category = list("Computer Boards") + /datum/design/comconsole name = "Console Board (Communications Console)" desc = "Allows for the construction of circuit boards used to build a communications console." @@ -81,7 +81,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/communications category = list("Computer Boards") - + /datum/design/crewconsole name = "Console Board (Crew Monitoring Computer)" desc = "Allows for the construction of circuit boards used to build a Crew monitoring computer." @@ -101,7 +101,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/borgupload category = list("Computer Boards") - + /datum/design/scan_console name = "Console Board (DNA Machine)" desc = "Allows for the construction of circuit boards used to build a new DNA scanning console." @@ -111,7 +111,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/scan_consolenew category = list("Computer Boards") - + /datum/design/dronecontrol name = "Console Board (Drone Control Console)" desc = "Allows for the construction of circuit boards used to build a Drone Control console." @@ -121,7 +121,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/drone_control category = list("Computer Boards") - + /datum/design/mechacontrol name = "Console Board (Exosuit Control Console)" desc = "Allows for the construction of circuit boards used to build an exosuit control console." @@ -131,7 +131,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mecha_control category = list("Computer Boards") - + /datum/design/idcardconsole name = "Console Board (ID Computer)" desc = "Allows for the construction of circuit boards used to build an ID computer." @@ -150,8 +150,8 @@ build_type = IMPRINTER materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/mech_bay_power_console - category = list("Computer Boards") - + category = list("Computer Boards") + /datum/design/med_data name = "Console Board (Medical Records)" desc = "Allows for the construction of circuit boards used to build a medical records console." @@ -161,7 +161,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/med_data category = list("Computer Boards") - + /datum/design/message_monitor name = "Console Board (Messaging Monitor Console)" desc = "Allows for the construction of circuit boards used to build a messaging monitor console." @@ -191,7 +191,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/pandemic category = list("Computer Boards") - + /datum/design/powermonitor name = "Console Board (Power Monitor)" desc = "Allows for the construction of circuit boards used to build a new power monitor" @@ -201,7 +201,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/powermonitor category = list("Computer Boards") - + /datum/design/prisonmanage name = "Console Board (Prisoner Management Console)" desc = "Allows for the construction of circuit boards used to build a prisoner management console." @@ -211,7 +211,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/prisoner category = list("Computer Boards") - + /datum/design/rdconsole name = "Console Board (R&D Console)" desc = "Allows for the construction of circuit boards used to build a new R&D console." @@ -221,7 +221,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/rdconsole category = list("Computer Boards") - + /datum/design/rdservercontrol name = "Console Board (R&D Server Control Console)" desc = "The circuit board for a R&D Server Control Console" @@ -241,7 +241,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/robotics category = list("Computer Boards") - + /datum/design/secdata name = "Console Board (Security Records Console)" desc = "Allows for the construction of circuit boards used to build a security records console." @@ -251,7 +251,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/secure_data category = list("Computer Boards") - + /datum/design/solarcontrol name = "Console Board (Solar Control)" desc = "Allows for the construction of circuit boards used to build a solar control console" @@ -261,7 +261,17 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/solar_control category = list("Computer Boards") - + +/datum/design/spacepodlocator + name = "Console Board (Spacepod Locator)" + desc = "Allows for the construction of circuit boards used to build a space-pod locating console" + id = "spacepodc" + req_tech = list("programming" = 2) + build_type = IMPRINTER + materials = list("$glass" = 1000, "sacid" = 20) + build_path = /obj/item/weapon/circuitboard/pod_locater + category = list("Computer Boards") + /datum/design/ordercomp name = "Console Board (Supply Ordering Console)" desc = "Allows for the construction of circuit boards used to build a supply ordering console." @@ -271,7 +281,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/ordercomp category = list("Computer Boards") - + /datum/design/supplycomp name = "Console Board (Supply Shuttle Console)" desc = "Allows for the construction of circuit boards used to build a supply shuttle console." @@ -281,7 +291,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/supplycomp category = list("Computer Boards") - + /datum/design/comm_monitor name = "Console Board (Telecommunications Monitoring Console)" desc = "Allows for the construction of circuit boards used to build a telecommunications monitor." @@ -291,7 +301,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/comm_monitor category = list("Computer Boards") - + /datum/design/comm_server name = "Console Board (Telecommunications Server Monitoring Console)" desc = "Allows for the construction of circuit boards used to build a telecommunication server browser and monitor." @@ -301,7 +311,7 @@ materials = list("$glass" = 1000, "sacid" = 20) build_path = /obj/item/weapon/circuitboard/comm_server category = list("Computer Boards") - + /datum/design/comm_traffic name = "Console Board (Telecommunications Traffic Control Console)" desc = "Allows for the construction of circuit boards used to build a telecommunications traffic control console." diff --git a/code/modules/research/designs/spacepod_designs.dm b/code/modules/research/designs/spacepod_designs.dm index 307f79678b0..3f7b5182d09 100644 --- a/code/modules/research/designs/spacepod_designs.dm +++ b/code/modules/research/designs/spacepod_designs.dm @@ -123,4 +123,18 @@ build_path = /obj/item/device/spacepod_equipment/weaponry/laser category = list("Pod_Weaponry") materials = list("$metal"=10000,"$glass"=5000,"$gold"=1000,"$silver"=2000) - locked = 1 \ No newline at end of file + locked = 1 +////////////////////////////////////////// +//////SPACEPOD MISC. ITEMS//////////////// +////////////////////////////////////////// + +/datum/design/pod_misc_tracker + construction_time = 100 + name = "Spacepod Tracking Module" + desc = "Allows for the construction of a Space Pod Tracking Module." + id = "podmisc_tracker" + req_tech = list("materials" = 2) //Materials 2: easy to get, no trackers with 0 science progress + build_type = PODFAB + materials = list("$metal"=5000) + build_path = /obj/item/device/spacepod_equipment/misc/tracker + category = list("Pod_Parts") \ No newline at end of file diff --git a/icons/obj/computer.dmi b/icons/obj/computer.dmi index 3350249c3f5..8e0c61f24f9 100644 Binary files a/icons/obj/computer.dmi and b/icons/obj/computer.dmi differ diff --git a/icons/pods/ship.dmi b/icons/pods/ship.dmi index e31477ce63d..f5d2e4113aa 100644 Binary files a/icons/pods/ship.dmi and b/icons/pods/ship.dmi differ diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index e44bd76c864..a9a8632219c 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -5934,7 +5934,7 @@ "ckf" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/engine/mechanic_workshop) "ckg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor{dir = 8; icon_state = "warning"},/area/engine/mechanic_workshop) "ckh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 11; level = 1},/turf/simulated/floor,/area/engine/mechanic_workshop) -"cki" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/mechanic_workshop) +"cki" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/computer/podtracker,/turf/simulated/floor{dir = 4; icon_state = "warning"},/area/engine/mechanic_workshop) "ckj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "yellowcorner"},/area/hallway/primary/aft) "ckk" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "yellowcorner"},/area/hallway/primary/aft) "ckl" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor{dir = 4; icon_state = "yellowcorner"},/area/hallway/primary/aft) diff --git a/paradise.dme b/paradise.dme index 2a3b3545770..56ca0c6a5d3 100644 --- a/paradise.dme +++ b/paradise.dme @@ -443,6 +443,7 @@ #include "code\game\machinery\computer\message.dm" #include "code\game\machinery\computer\Operating.dm" #include "code\game\machinery\computer\pod.dm" +#include "code\game\machinery\computer\pod_tracking_console.dm" #include "code\game\machinery\computer\power.dm" #include "code\game\machinery\computer\prisoner.dm" #include "code\game\machinery\computer\prisonshuttle.dm"