mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-20 20:45:28 +01:00
tgui cargo console
rewrite awful shuttle/cargo code a lot as well
This commit is contained in:
@@ -821,7 +821,7 @@
|
||||
"apO" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1},/turf/simulated/floor/plasteel{icon_state = "red"},/area/quartermaster/office)
|
||||
"apP" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = 30},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 6},/area/quartermaster/office)
|
||||
"apQ" = (/obj/effect/landmark/start{name = "Quartermaster"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/structure/bed/chair,/turf/simulated/floor/plasteel{dir = 10; icon_state = "brown"},/area/quartermaster/qm)
|
||||
"apR" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor/plasteel{icon_state = "brown"},/area/quartermaster/qm)
|
||||
"apR" = (/obj/machinery/computer/cargo,/turf/simulated/floor/plasteel{icon_state = "brown"},/area/quartermaster/qm)
|
||||
"apS" = (/obj/machinery/photocopier,/obj/machinery/light,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{icon_state = "brown"},/area/quartermaster/qm)
|
||||
"apT" = (/turf/simulated/floor/plasteel{icon_state = "brown"},/area/quartermaster/qm)
|
||||
"apU" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "brown"},/area/quartermaster/qm)
|
||||
@@ -1004,7 +1004,7 @@
|
||||
"atp" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden,/turf/simulated/floor/plasteel{dir = 4; icon_state = "brown"},/area/hallway/secondary/construction{name = "Fore Central Hallway"})
|
||||
"atq" = (/obj/structure/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"atr" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{on = 1},/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"ats" = (/obj/machinery/computer/ordercomp,/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"ats" = (/obj/machinery/computer/cargo/request,/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"att" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "packageExternal"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "brown"},/area/quartermaster/office)
|
||||
"atu" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"atv" = (/obj/machinery/hologram/holopad,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
@@ -1112,7 +1112,7 @@
|
||||
"avt" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 8},/area/hallway/secondary/construction{name = "Fore Central Hallway"})
|
||||
"avu" = (/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{dir = 8; icon_state = "brown"},/area/quartermaster/office)
|
||||
"avv" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"avw" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor/plasteel{dir = 1; icon_state = "browncorner"},/area/quartermaster/office)
|
||||
"avw" = (/obj/machinery/computer/cargo,/turf/simulated/floor/plasteel{dir = 1; icon_state = "browncorner"},/area/quartermaster/office)
|
||||
"avx" = (/obj/item/weapon/stamp,/obj/item/weapon/stamp/denied{force = 15; pixel_x = 3; pixel_y = 2},/obj/structure/table/glass,/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"avy" = (/obj/structure/table/glass,/obj/item/weapon/hand_labeler,/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"avz" = (/obj/machinery/atmospherics/components/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
@@ -2654,7 +2654,7 @@
|
||||
"aZc" = (/obj/machinery/light{dir = 1},/obj/machinery/airalarm{pixel_y = 24},/turf/simulated/floor/wood,/area/crew_quarters/heads)
|
||||
"aZd" = (/obj/structure/table/wood,/obj/item/weapon/hand_labeler,/obj/machinery/camera{c_tag = "Head of Personnel's Office"},/turf/simulated/floor/wood,/area/crew_quarters/heads)
|
||||
"aZe" = (/obj/structure/table/wood,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/structure/extinguisher_cabinet{pixel_y = 30},/turf/simulated/floor/wood,/area/crew_quarters/heads)
|
||||
"aZf" = (/obj/machinery/computer/ordercomp,/turf/simulated/floor/wood,/area/crew_quarters/heads)
|
||||
"aZf" = (/obj/machinery/computer/cargo/request,/turf/simulated/floor/wood,/area/crew_quarters/heads)
|
||||
"aZg" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/wood,/area/crew_quarters/heads)
|
||||
"aZh" = (/obj/machinery/light{dir = 8},/obj/structure/fireaxecabinet{pixel_x = -32},/obj/structure/cable/blue{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/bridge)
|
||||
"aZi" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "bluecorner"},/area/bridge)
|
||||
@@ -6378,7 +6378,7 @@
|
||||
"csJ" = (/turf/simulated/wall/shuttle{icon_state = "swall_s5"; dir = 2},/area/shuttle/supply)
|
||||
"csK" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"csL" = (/obj/machinery/door/poddoor{id = "QMLoaddoor"; name = "Supply Dock Loading Door"},/obj/machinery/conveyor{dir = 2; id = "QMLoad"},/turf/simulated/floor/plasteel/shuttle,/area/shuttle/supply)
|
||||
"csM" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dir = 1; dwidth = 7; width = 12},/obj/docking_port/stationary{dir = 1; dwidth = 7; height = 7; id = "supply_home"; name = "supply bay"; width = 12},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"csM" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dir = 1; dwidth = 7; width = 12},/obj/docking_port/stationary{dir = 1; dwidth = 7; height = 7; id = "supply_home"; name = "Cargo Bay"; width = 12},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"csN" = (/turf/simulated/wall/shuttle{icon_state = "swall_s9"; dir = 2},/area/shuttle/supply)
|
||||
"csO" = (/turf/simulated/wall/shuttle{icon_state = "swall13"; dir = 2},/area/shuttle/supply)
|
||||
"csP" = (/turf/simulated/wall/shuttle{icon_state = "swall14"; dir = 2},/area/shuttle/escape)
|
||||
|
||||
@@ -854,7 +854,7 @@
|
||||
"aqv" = (/obj/structure/window/reinforced{dir = 4; pixel_x = 0},/obj/structure/cable/cyan{icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/bridge)
|
||||
"aqw" = (/obj/machinery/computer/crew,/turf/simulated/floor/plasteel/black,/area/bridge)
|
||||
"aqx" = (/obj/machinery/computer/communications,/turf/simulated/floor/plasteel/black,/area/bridge)
|
||||
"aqy" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor/plasteel/black,/area/bridge)
|
||||
"aqy" = (/obj/machinery/computer/cargo,/turf/simulated/floor/plasteel/black,/area/bridge)
|
||||
"aqz" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel,/area/bridge)
|
||||
"aqA" = (/obj/structure/table,/obj/machinery/light{dir = 4; icon_state = "tube1"},/obj/item/weapon/paper/monitorkey{pixel_x = 5; pixel_y = 5},/obj/item/weapon/phone{force = 1},/obj/item/weapon/pen,/turf/simulated/floor/plasteel,/area/bridge)
|
||||
"aqB" = (/obj/structure/closet/cardboard,/obj/item/clothing/suit/toggle/owlwings,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
|
||||
@@ -1054,7 +1054,7 @@
|
||||
"aun" = (/obj/machinery/navbeacon{codes = ""; codes_txt = "delivery;dir=1"; freq = 1400; location = "Dorm Maint"; name = "navigation beacon"},/turf/simulated/floor/carpet,/area/maintenance/fsmaint)
|
||||
"auo" = (/obj/structure/flora/ausbushes/pointybush{icon_state = "pointybush_2"; layer = 4.1; name = "tree"; pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plating/asteroid{name = "dirt"},/area/maintenance/fsmaint)
|
||||
"aup" = (/obj/machinery/button/door{dir = 2; id = "QMLoaddoor2"; name = "Loading Doors"; pixel_x = 24; pixel_y = 8},/obj/machinery/button/door{id = "QMLoaddoor"; name = "Loading Doors"; pixel_x = 24; pixel_y = -8},/obj/machinery/conveyor_switch/oneway{id = "cargoshuttle"},/turf/simulated/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/supply)
|
||||
"auq" = (/obj/machinery/button/door{id = "cargo blast"; name = "cargo blast door button"; pixel_x = -24; pixel_y = 0},/obj/machinery/light{dir = 8},/obj/machinery/computer/supplycomp,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"auq" = (/obj/machinery/button/door{id = "cargo blast"; name = "cargo blast door button"; pixel_x = -24; pixel_y = 0},/obj/machinery/light{dir = 8},/obj/machinery/computer/cargo,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"aur" = (/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "cargo"; name = "shuttle conveyor switch"},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"aus" = (/obj/structure/closet/crate,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"aut" = (/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor/plasteel/yellow/side{icon_state = "yellow"; dir = 4},/area/quartermaster/storage)
|
||||
@@ -1084,7 +1084,7 @@
|
||||
"auR" = (/obj/structure/cable/cyan{icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "Dormitory Maintenance APC"; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/cyan/hidden{icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
|
||||
"auS" = (/obj/machinery/atmospherics/pipe/simple/cyan/hidden{icon_state = "intact"; dir = 10},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
|
||||
"auT" = (/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/fsmaint)
|
||||
"auU" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 3; width = 10},/obj/docking_port/stationary{dir = 8; dwidth = 3; height = 7; id = "supply_home"; name = "supply bay"; width = 10},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"auU" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 3; width = 10},/obj/docking_port/stationary{dir = 8; dwidth = 3; height = 7; id = "supply_home"; name = "Cargo Bay"; width = 10},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"auV" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"auW" = (/turf/simulated/floor/plasteel/yellow/side{icon_state = "yellow"; dir = 4},/area/quartermaster/storage)
|
||||
"auX" = (/obj/machinery/navbeacon{codes = ""; codes_txt = "delivery;dir=4"; freq = 1400; location = "Cargo #2"; name = "navigation beacon"},/turf/simulated/floor/plasteel/delivery,/area/quartermaster/storage)
|
||||
@@ -1199,7 +1199,7 @@
|
||||
"axc" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_y = 5},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"axd" = (/obj/structure/table,/obj/item/weapon/stamp/denied{pixel_x = 6; pixel_y = 6},/obj/item/weapon/stamp,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"axe" = (/obj/structure/bed/chair/office/light,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"axf" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"axf" = (/obj/machinery/computer/cargo,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"axg" = (/obj/structure/cable/cyan{icon_state = "1-2"},/obj/machinery/camera/autoname{dir = 8},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"axh" = (/obj/structure/cable/cyan{icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/hallway/primary/central)
|
||||
"axi" = (/obj/machinery/libraryscanner,/turf/simulated/floor/wood,/area/library)
|
||||
@@ -1351,7 +1351,7 @@
|
||||
"azY" = (/obj/machinery/conveyor{dir = 8; id = "cargoOUT"; name = "cargo conveyor belt"},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"azZ" = (/obj/machinery/conveyor{dir = 8; id = "cargoOUT"; name = "cargo conveyor belt"},/obj/machinery/light,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"aAa" = (/obj/structure/plasticflaps,/obj/machinery/conveyor{dir = 8; id = "cargoOUT"; name = "cargo conveyor belt"},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"aAb" = (/obj/machinery/computer/ordercomp,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"aAb" = (/obj/machinery/computer/cargo/request,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"aAc" = (/obj/effect/spawner/structure/window,/turf/simulated/floor/wood,/area/hallway/primary/central)
|
||||
"aAd" = (/obj/structure/flora/kirbyplants{icon_state = "plant-22"},/obj/machinery/camera/autoname{dir = 1; network = list("SS13")},/turf/simulated/floor/wood,/area/library)
|
||||
"aAe" = (/obj/structure/bed/chair/comfy/beige{dir = 4},/turf/simulated/floor/wood,/area/library)
|
||||
|
||||
@@ -3913,7 +3913,7 @@
|
||||
"bxm" = (/obj/effect/spawner/structure/window/reinforced,/turf/simulated/floor/plating,/area/hallway/primary/central)
|
||||
"bxn" = (/turf/simulated/floor/plasteel/vault{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/hallway/primary/central)
|
||||
"bxo" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel/neutral/side{dir = 8},/area/hallway/primary/central)
|
||||
"bxp" = (/obj/machinery/computer/supplycomp,/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plasteel/black,/area/crew_quarters/heads)
|
||||
"bxp" = (/obj/machinery/computer/cargo,/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/turf/simulated/floor/plasteel/black,/area/crew_quarters/heads)
|
||||
"bxq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel/black,/area/crew_quarters/heads)
|
||||
"bxr" = (/obj/structure/cable/blue{tag = "icon-1-2"; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel/black,/area/crew_quarters/heads)
|
||||
"bxs" = (/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/plasteel/black,/area/crew_quarters/heads)
|
||||
@@ -5724,8 +5724,8 @@
|
||||
"cgd" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{layer = 2.4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"cge" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel/bot,/area/quartermaster/office)
|
||||
"cgf" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"cgg" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor/plasteel/brown/corner,/area/quartermaster/office)
|
||||
"cgh" = (/obj/structure/cable/orange{tag = "icon-1-2"; icon_state = "1-2"},/obj/machinery/computer/ordercomp,/turf/simulated/floor/plasteel/brown/corner{tag = "icon-browncorner (WEST)"; icon_state = "browncorner"; dir = 8},/area/quartermaster/office)
|
||||
"cgg" = (/obj/machinery/computer/cargo,/turf/simulated/floor/plasteel/brown/corner,/area/quartermaster/office)
|
||||
"cgh" = (/obj/structure/cable/orange{tag = "icon-1-2"; icon_state = "1-2"},/obj/machinery/computer/cargo/request,/turf/simulated/floor/plasteel/brown/corner{tag = "icon-browncorner (WEST)"; icon_state = "browncorner"; dir = 8},/area/quartermaster/office)
|
||||
"cgi" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"cgj" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (EAST)"; dir = 4},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"cgk" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
@@ -6729,7 +6729,7 @@
|
||||
"czu" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"czv" = (/obj/effect/spawner/structure/window/reinforced,/turf/simulated/floor/plating,/area/quartermaster/qm)
|
||||
"czw" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/computer/security/mining,/turf/simulated/floor/plasteel/darkbrown/side{tag = "icon-darkbrown (NORTHWEST)"; icon_state = "darkbrown"; dir = 9},/area/quartermaster/qm)
|
||||
"czx" = (/obj/machinery/airalarm{pixel_y = 23},/obj/machinery/computer/supplycomp,/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel/darkbrown/side{tag = "icon-darkbrown (NORTH)"; icon_state = "darkbrown"; dir = 1},/area/quartermaster/qm)
|
||||
"czx" = (/obj/machinery/airalarm{pixel_y = 23},/obj/machinery/computer/cargo,/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel/darkbrown/side{tag = "icon-darkbrown (NORTH)"; icon_state = "darkbrown"; dir = 1},/area/quartermaster/qm)
|
||||
"czy" = (/obj/machinery/computer/shuttle/mining,/obj/machinery/light_switch{pixel_y = 24; tag = "n"},/turf/simulated/floor/plasteel/darkbrown/side{tag = "icon-darkbrown (NORTHEAST)"; icon_state = "darkbrown"; dir = 5},/area/quartermaster/qm)
|
||||
"czz" = (/turf/space,/turf/simulated/wall/shuttle{icon_state = "swall_f5"; dir = 2},/area/shuttle/mining)
|
||||
"czA" = (/obj/structure/shuttle/engine/propulsion/burst,/obj/structure/window/reinforced{dir = 1; layer = 2.9},/turf/simulated/floor/plating/airless,/area/shuttle/mining)
|
||||
@@ -7219,7 +7219,7 @@
|
||||
"cIQ" = (/turf/simulated/wall/shuttle{icon_state = "swall12"; dir = 2},/area/shuttle/supply)
|
||||
"cIR" = (/obj/machinery/door/poddoor{id = "QMLoaddoor2"; name = "supply dock loading door"},/obj/machinery/conveyor{dir = 1; id = "QMLoad"; tag = "cargoshuttledown"},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"cIS" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"cIT" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dir = 2; dwidth = 5; width = 12},/obj/docking_port/stationary{dir = 2; dwidth = 5; height = 7; id = "supply_home"; name = "supply bay"; width = 12},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"cIT" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dir = 2; dwidth = 5; width = 12},/obj/docking_port/stationary{dir = 2; dwidth = 5; height = 7; id = "supply_home"; name = "Cargo Bay"; width = 12},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"cIU" = (/obj/structure/cable/green{tag = "icon-4-8"; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{tag = "icon-manifold-r-f (WEST)"; dir = 8},/turf/simulated/floor/plating,/area/maintenance/atmos_control)
|
||||
"cIV" = (/turf/simulated/wall/shuttle{icon_state = "swall14"; dir = 2},/area/shuttle/supply)
|
||||
"cIW" = (/turf/simulated/wall/shuttle{icon_state = "swall_s10"; dir = 2},/area/shuttle/supply)
|
||||
|
||||
@@ -3699,7 +3699,7 @@
|
||||
"btg" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #2"},/mob/living/simple_animal/bot/mulebot{home_destination = "QM #2"; suffix = "#2"},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/quartermaster/storage)
|
||||
"bth" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 50; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 50},/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"bti" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/pen/red,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"btj" = (/obj/machinery/computer/ordercomp,/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/quartermaster/storage)
|
||||
"btj" = (/obj/machinery/computer/cargo/request,/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/quartermaster/storage)
|
||||
"btk" = (/obj/structure/bed/chair{dir = 8},/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"btl" = (/obj/structure/window/fulltile,/obj/structure/grille,/turf/simulated/floor/plating,/area/quartermaster/storage)
|
||||
"btm" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel,/area/hallway/primary/port{name = "Aft Port Primary Hallway"})
|
||||
@@ -3848,7 +3848,7 @@
|
||||
"bvZ" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; freq = 1400; location = "QM #4"},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/quartermaster/storage)
|
||||
"bwa" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/stack/wrapping_paper{pixel_x = 3; pixel_y = 4},/obj/item/stack/packageWrap{pixel_x = -1; pixel_y = -1},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"bwb" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"bwc" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"bwc" = (/obj/machinery/computer/cargo,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"bwd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"bwe" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"bwf" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/hallway/primary/port{name = "Aft Port Primary Hallway"})
|
||||
@@ -3974,7 +3974,7 @@
|
||||
"byv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plating/airless,/area/space)
|
||||
"byw" = (/obj/machinery/power/tesla_coil,/obj/structure/cable,/turf/simulated/floor/plating/airless,/area/space)
|
||||
"byx" = (/turf/simulated/wall,/area/engine/engineering)
|
||||
"byy" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 5; width = 12},/obj/docking_port/stationary{dir = 8; dwidth = 5; height = 7; id = "supply_home"; name = "supply bay"; width = 12},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"byy" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 5; width = 12},/obj/docking_port/stationary{dir = 8; dwidth = 5; height = 7; id = "supply_home"; name = "Cargo Bay"; width = 12},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"byz" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"byA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"byB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/conveyor_switch/oneway{convdir = -1; id = "QMLoad"},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
@@ -4248,7 +4248,7 @@
|
||||
"bDJ" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/shuttle/engine/heater,/turf/simulated/floor/plating/airless,/area/shuttle/supply)
|
||||
"bDK" = (/turf/simulated/wall/shuttle{icon_state = "swall_s9"; dir = 2},/area/shuttle/supply)
|
||||
"bDL" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/oil,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"},/area/maintenance/port{name = "Chapel Maintenance"})
|
||||
"bDM" = (/obj/machinery/computer/supplycomp,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30},/obj/machinery/camera{c_tag = "Quartermaster's Office"; dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "brown"},/area/quartermaster/qm)
|
||||
"bDM" = (/obj/machinery/computer/cargo,/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30},/obj/machinery/camera{c_tag = "Quartermaster's Office"; dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "brown"},/area/quartermaster/qm)
|
||||
"bDN" = (/mob/living/simple_animal/mouse/brown/Tom,/turf/simulated/floor/plasteel,/area/quartermaster/qm)
|
||||
"bDO" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel,/area/quartermaster/qm)
|
||||
"bDP" = (/obj/structure/bed/chair/office/dark,/obj/effect/landmark/start{name = "Quartermaster"},/turf/simulated/floor/plasteel,/area/quartermaster/qm)
|
||||
@@ -4427,7 +4427,7 @@
|
||||
"bHg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
|
||||
"bHh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
|
||||
"bHi" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/carpet,/area/crew_quarters/heads)
|
||||
"bHj" = (/obj/machinery/computer/ordercomp,/turf/simulated/floor/plasteel{icon_state = "darkblue"; dir = 4},/area/crew_quarters/heads)
|
||||
"bHj" = (/obj/machinery/computer/cargo/request,/turf/simulated/floor/plasteel{icon_state = "darkblue"; dir = 4},/area/crew_quarters/heads)
|
||||
"bHk" = (/obj/machinery/door/poddoor/shutters/preopen{id = "hopqueue"; name = "HoP Queue Shutters"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "loadingarea"},/area/hallway/primary/aft{name = "Aft Starboard Primary Hallway"})
|
||||
"bHl" = (/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/hallway/primary/aft{name = "Aft Starboard Primary Hallway"})
|
||||
"bHm" = (/obj/structure/table,/obj/item/weapon/crowbar,/obj/item/device/assembly/prox_sensor{pixel_x = -8; pixel_y = 4},/obj/item/clothing/gloves/color/fyellow,/turf/simulated/floor/plasteel,/area/storage/primary)
|
||||
@@ -5176,7 +5176,7 @@
|
||||
"bVB" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge)
|
||||
"bVC" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge)
|
||||
"bVD" = (/obj/structure/bed/chair{dir = 4; name = "Logistics Station"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge)
|
||||
"bVE" = (/obj/machinery/computer/ordercomp,/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_x = 30},/turf/simulated/floor/plasteel{icon_state = "darkbrown"; dir = 8},/area/bridge)
|
||||
"bVE" = (/obj/machinery/computer/cargo/request,/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_x = 30},/turf/simulated/floor/plasteel{icon_state = "darkbrown"; dir = 8},/area/bridge)
|
||||
"bVF" = (/obj/item/weapon/hand_tele,/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/table,/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/teleporter{name = "\improper Teleporter Room"})
|
||||
"bVG" = (/obj/structure/bed/stool,/obj/machinery/power/apc{name = "Teleporter APC"; pixel_y = -25},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "warning"},/area/teleporter{name = "\improper Teleporter Room"})
|
||||
"bVH" = (/obj/machinery/light,/obj/structure/closet/crate,/obj/item/weapon/crowbar,/obj/machinery/airalarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/camera{c_tag = "Teleporter"; dir = 1},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/teleporter{name = "\improper Teleporter Room"})
|
||||
|
||||
@@ -948,7 +948,7 @@
|
||||
"asl" = (/obj/machinery/door/airlock/glass{name = "space-bridge access"},/obj/machinery/button/door{id = "supplybridge"; name = "Shuttle Bay Space Bridge Control"; pixel_x = 0; pixel_y = 27; req_access_txt = "0"},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/fpmaint2{name = "Port Maintenance"})
|
||||
"asm" = (/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/obj/machinery/light,/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/maintenance/fpmaint2{name = "Port Maintenance"})
|
||||
"asn" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/maintenance/fpmaint2{name = "Port Maintenance"})
|
||||
"aso" = (/obj/machinery/door/airlock/maintenance_hatch{name = "Supply Bay Bridge Access"; req_access_txt = "0"; req_one_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
|
||||
"aso" = (/obj/machinery/door/airlock/maintenance_hatch{name = "Cargo Bay Bridge Access"; req_access_txt = "0"; req_one_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
|
||||
"asp" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplate"},/area/maintenance/fpmaint2{name = "Port Maintenance"})
|
||||
"asq" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating{icon_state = "platingdmg3"},/area/maintenance/fpmaint2{name = "Port Maintenance"})
|
||||
"asr" = (/obj/structure/cable/yellow{d1 = 4; d2 = 8; icon_state = "4-8"},/mob/living/simple_animal/mouse,/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
|
||||
@@ -1010,7 +1010,7 @@
|
||||
"atv" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/maintenance/auxsolarstarboard)
|
||||
"atw" = (/turf/simulated/wall/r_wall,/area/maintenance/starboard)
|
||||
"atx" = (/obj/machinery/door/airlock/external{req_access_txt = "13"},/turf/simulated/floor/plating,/area/maintenance/starboard)
|
||||
"aty" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/maintenance_hatch{name = "Supply Bay Bridge Access"; req_access_txt = "0"; req_one_access_txt = "0"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
|
||||
"aty" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/door/airlock/maintenance_hatch{name = "Cargo Bay Bridge Access"; req_access_txt = "0"; req_one_access_txt = "0"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plating,/area/maintenance/fpmaint2{name = "Port Maintenance"})
|
||||
"atz" = (/obj/machinery/door/poddoor/shutters{id = "supplybridge"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 10},/area/maintenance/fpmaint2{name = "Port Maintenance"})
|
||||
"atA" = (/obj/machinery/door/poddoor/shutters{id = "supplybridge"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/maintenance/fpmaint2{name = "Port Maintenance"})
|
||||
"atB" = (/obj/machinery/door/poddoor/shutters{id = "supplybridge"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 6},/area/maintenance/fpmaint2{name = "Port Maintenance"})
|
||||
@@ -2110,7 +2110,7 @@
|
||||
"aOD" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/construction)
|
||||
"aOE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plating,/area/construction)
|
||||
"aOF" = (/obj/machinery/pipedispenser/disposal,/turf/simulated/floor/plasteel,/area/construction)
|
||||
"aOG" = (/obj/machinery/button/door{id = "QMLoaddoor"; layer = 4; name = "Loading Doors"; pixel_x = -27; pixel_y = -5},/obj/machinery/button/door{dir = 2; id = "QMLoaddoor2"; layer = 4; name = "Loading Doors"; pixel_x = -27; pixel_y = 5},/obj/machinery/computer/supplycomp,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/quartermaster/storage)
|
||||
"aOG" = (/obj/machinery/button/door{id = "QMLoaddoor"; layer = 4; name = "Loading Doors"; pixel_x = -27; pixel_y = -5},/obj/machinery/button/door{dir = 2; id = "QMLoaddoor2"; layer = 4; name = "Loading Doors"; pixel_x = -27; pixel_y = 5},/obj/machinery/computer/cargo,/turf/simulated/floor/plasteel{icon_state = "bot"},/area/quartermaster/storage)
|
||||
"aOH" = (/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"aOI" = (/obj/effect/spawner/lootdrop/maintenance,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/quartermaster/storage)
|
||||
"aOJ" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/quartermaster/storage)
|
||||
@@ -2333,7 +2333,7 @@
|
||||
"aSS" = (/obj/machinery/conveyor{dir = 1; id = "QMLoad"; movedir = 2},/turf/simulated/floor/plating,/area/quartermaster/storage)
|
||||
"aST" = (/obj/structure/disposalpipe/segment,/obj/structure/bed/chair/office/dark{dir = 4},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"aSU" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/item/device/radio/intercom{dir = 4; name = "Station Intercom (General)"; pixel_x = 27},/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/yellow,/obj/item/weapon/paper,/obj/item/weapon/paper,/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/quartermaster/storage)
|
||||
"aSV" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor/plasteel{dir = 10; icon_state = "brown"},/area/quartermaster/qm)
|
||||
"aSV" = (/obj/machinery/computer/cargo,/turf/simulated/floor/plasteel{dir = 10; icon_state = "brown"},/area/quartermaster/qm)
|
||||
"aSW" = (/obj/structure/bed/chair/office/dark{dir = 8},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 1; on = 1},/obj/item/device/radio/intercom{broadcasting = 0; listening = 1; name = "Station Intercom (General)"; pixel_y = -28},/turf/simulated/floor/plasteel{dir = 2; icon_state = "brown"},/area/quartermaster/qm)
|
||||
"aSX" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "brown"},/area/quartermaster/qm)
|
||||
"aSY" = (/obj/structure/table,/obj/item/weapon/cartridge/quartermaster{pixel_x = 6; pixel_y = 5},/obj/item/weapon/cartridge/quartermaster,/obj/item/weapon/cartridge/quartermaster{pixel_x = -4; pixel_y = 7},/obj/item/device/gps{gpstag = "QM0"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "brown"},/area/quartermaster/qm)
|
||||
@@ -2804,7 +2804,7 @@
|
||||
"bbV" = (/obj/item/weapon/stamp{pixel_x = -3; pixel_y = 3},/obj/item/weapon/stamp/denied{pixel_x = 4; pixel_y = -2},/obj/structure/table/reinforced,/obj/structure/noticeboard{desc = "A board for pinning important notices upon. Probably helpful for keeping track of requests."; name = "requests board"; pixel_x = 32; pixel_y = 32},/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{dir = 9; icon_state = "brown"},/area/quartermaster/office{name = "\improper Cargo Office"})
|
||||
"bbW" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/red,/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{dir = 5; icon_state = "brown"},/area/quartermaster/office{name = "\improper Cargo Office"})
|
||||
"bbX" = (/obj/structure/sign/directions/engineering{desc = "A direction sign, pointing out which way the Cargo department is."; icon_state = "direction_supply"; name = "cargo department"; pixel_y = -5},/turf/simulated/wall,/area/quartermaster/office{name = "\improper Cargo Office"})
|
||||
"bbY" = (/obj/machinery/computer/ordercomp,/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/hallway/primary/port)
|
||||
"bbY" = (/obj/machinery/computer/cargo/request,/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/hallway/primary/port)
|
||||
"bbZ" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/status_display{density = 0; pixel_x = 0; pixel_y = 32; supply_display = 1},/obj/structure/table,/obj/item/weapon/folder/yellow,/turf/simulated/floor/plasteel{dir = 1; icon_state = "brown"},/area/hallway/primary/port)
|
||||
"bca" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/plasteel{dir = 1; icon_state = "brown"},/area/hallway/primary/port)
|
||||
"bcb" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{dir = 1; icon_state = "brown"},/area/hallway/primary/port)
|
||||
@@ -2957,7 +2957,7 @@
|
||||
"beS" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/quartermaster/office{name = "\improper Cargo Office"})
|
||||
"beT" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8; initialize_directions = 11},/turf/simulated/floor/plasteel,/area/quartermaster/office{name = "\improper Cargo Office"})
|
||||
"beU" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/quartermaster/office{name = "\improper Cargo Office"})
|
||||
"beV" = (/obj/machinery/computer/supplycomp,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "brown"},/area/quartermaster/office{name = "\improper Cargo Office"})
|
||||
"beV" = (/obj/machinery/computer/cargo,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "brown"},/area/quartermaster/office{name = "\improper Cargo Office"})
|
||||
"beW" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plating,/area/quartermaster/office{name = "\improper Cargo Office"})
|
||||
"beX" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/hallway/primary/port)
|
||||
"beY" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4; initialize_directions = 11},/turf/simulated/floor/plasteel,/area/hallway/primary/port)
|
||||
@@ -3348,7 +3348,7 @@
|
||||
"bmt" = (/obj/item/device/radio/beacon,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/bridge)
|
||||
"bmu" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/recharger{pixel_y = 3},/obj/item/weapon/restraints/handcuffs{pixel_y = 3},/obj/structure/table/glass,/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkredcorners"},/area/bridge)
|
||||
"bmv" = (/obj/structure/cable/yellow{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/computer/security/mining,/obj/machinery/keycard_auth{pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkblue"},/area/bridge)
|
||||
"bmw" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_x = 32; pixel_y = 0},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/computer/ordercomp,/turf/simulated/floor/plasteel{dir = 5; icon_state = "darkblue"},/area/bridge)
|
||||
"bmw" = (/obj/machinery/requests_console{announcementConsole = 1; department = "Bridge"; departmentType = 5; name = "Bridge RC"; pixel_x = 32; pixel_y = 0},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/computer/cargo/request,/turf/simulated/floor/plasteel{dir = 5; icon_state = "darkblue"},/area/bridge)
|
||||
"bmx" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/machinery/shower{icon_state = "shower"; dir = 4},/obj/machinery/door/window/westright{dir = 4},/obj/item/weapon/soap/deluxe,/obj/machinery/atmospherics/components/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{icon_state = "white"},/area/crew_quarters/captain{name = "\improper Captain's Quarters"})
|
||||
"bmy" = (/obj/structure/mirror{pixel_y = 28},/obj/structure/sink{pixel_y = 17},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/landmark{name = "revenantspawn"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/crew_quarters/captain{name = "\improper Captain's Quarters"})
|
||||
"bmz" = (/obj/structure/toilet{pixel_y = 13},/obj/machinery/light{dir = 2; icon_state = "tube1"},/obj/effect/landmark/start{name = "Captain"},/obj/machinery/light_switch{pixel_y = -25},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/crew_quarters/captain{name = "\improper Captain's Quarters"})
|
||||
@@ -3665,7 +3665,7 @@
|
||||
"bsy" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4; initialize_directions = 11},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/hallway/primary/central)
|
||||
"bsz" = (/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 4},/obj/item/weapon/pen,/obj/structure/window/reinforced,/obj/structure/table/wood,/turf/simulated/floor/wood,/area/crew_quarters/heads)
|
||||
"bsA" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/door/window{dir = 2; name = "HoP's Desk"; pixel_y = 0; req_access_txt = "57"},/turf/simulated/floor/wood,/area/crew_quarters/heads)
|
||||
"bsB" = (/obj/structure/window/reinforced,/obj/machinery/computer/ordercomp,/turf/simulated/floor/wood,/area/crew_quarters/heads)
|
||||
"bsB" = (/obj/structure/window/reinforced,/obj/machinery/computer/cargo/request,/turf/simulated/floor/wood,/area/crew_quarters/heads)
|
||||
"bsC" = (/obj/machinery/vending/cart{req_access_txt = "57"},/obj/item/device/radio/intercom{freerange = 0; frequency = 1459; name = "Station Intercom (General)"; pixel_x = 0; pixel_y = 21},/turf/simulated/floor/wood,/area/crew_quarters/heads)
|
||||
"bsD" = (/obj/structure/transit_tube{dir = 4; icon_state = "Block"},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "darkbluecorners"; dir = 4},/area/engine/break_room)
|
||||
"bsE" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "D-SW"},/turf/space,/area/space)
|
||||
@@ -8051,7 +8051,7 @@
|
||||
"cYQ" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/poddoor{id = "QMLoaddoor2"; name = "supply dock loading door"},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"cYR" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"cYS" = (/obj/machinery/button/door{dir = 2; id = "QMLoaddoor2"; name = "Loading Doors"; pixel_x = 24; pixel_y = 8},/obj/machinery/button/door{id = "QMLoaddoor"; name = "Loading Doors"; pixel_x = 24; pixel_y = -8},/turf/simulated/floor/plasteel/shuttle,/area/shuttle/supply)
|
||||
"cYT" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 5; roundstart_move = "supply_away"; width = 12},/obj/docking_port/stationary{dir = 8; dwidth = 5; height = 7; id = "supply_home"; name = "supply bay"; width = 12},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"cYT" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 5; roundstart_move = "supply_away"; width = 12},/obj/docking_port/stationary{dir = 8; dwidth = 5; height = 7; id = "supply_home"; name = "Cargo Bay"; width = 12},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"cYU" = (/obj/machinery/computer/camera_advanced/xenobio,/turf/simulated/floor/plasteel{icon_state = "white"},/area/toxins/xenobiology)
|
||||
"cYV" = (/turf/simulated/wall/shuttle{icon_state = "swall7"; dir = 2},/area/shuttle/supply)
|
||||
"cYW" = (/turf/simulated/floor/plasteel/shuttle,/turf/simulated/wall/shuttle/interior{icon_state = "swall_f10"},/area/shuttle/supply)
|
||||
|
||||
@@ -264,7 +264,7 @@
|
||||
"fd" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"fe" = (/obj/structure/closet/secure_closet/miner,/turf/simulated/floor/plasteel{dir = 4; icon_state = "brown"},/area/quartermaster/storage)
|
||||
"ff" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/filingcabinet,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"fg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/computer/supplycomp,/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/quartermaster/storage)
|
||||
"fg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/computer/cargo,/turf/simulated/floor/plasteel{dir = 2; icon_state = "yellowcorner"},/area/quartermaster/storage)
|
||||
"fh" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/spawner/structure/window/reinforced,/turf/simulated/floor/plating,/area/security/brig)
|
||||
"fi" = (/obj/structure/closet/secure_closet/brig{id = "Cell 2"; name = "Cell 2 Locker"},/obj/machinery/atmospherics/components/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel,/area/security/brig)
|
||||
"fj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plasteel,/area/hallway/primary/central)
|
||||
@@ -292,7 +292,7 @@
|
||||
"fF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/bed/chair{dir = 4},/obj/effect/landmark/start{name = "Cargo Technician"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/quartermaster/storage)
|
||||
"fG" = (/obj/structure/table/reinforced,/obj/machinery/door/window/westleft{name = "Cargo Desk"; req_access_txt = "50"},/obj/item/weapon/folder/yellow,/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"fH" = (/turf/simulated/floor/plasteel{icon_state = "delivery"},/area/hallway/primary/central)
|
||||
"fI" = (/obj/machinery/computer/ordercomp,/turf/simulated/floor/plasteel,/area/hallway/primary/central)
|
||||
"fI" = (/obj/machinery/computer/cargo/request,/turf/simulated/floor/plasteel,/area/hallway/primary/central)
|
||||
"fJ" = (/obj/structure/closet/crate/bin,/turf/simulated/floor/plasteel{dir = 8; icon_state = "yellow"},/area/hallway/primary/central)
|
||||
"fK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/spawner/structure/window/reinforced,/turf/simulated/floor/plating,/area/security/brig)
|
||||
"fL" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/simulated/floor/plasteel,/area/hallway/primary/central)
|
||||
@@ -1729,7 +1729,7 @@
|
||||
"Ho" = (/turf/simulated/wall/shuttle{icon_state = "swall3"; dir = 2},/area/shuttle/supply)
|
||||
"Hp" = (/turf/simulated/floor/plasteel/shuttle,/area/shuttle/supply)
|
||||
"Hq" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"Hr" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 3; width = 9},/obj/docking_port/stationary{dir = 8; dwidth = 3; height = 7; id = "supply_home"; name = "supply bay"; width = 9},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"Hr" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 3; width = 9},/obj/docking_port/stationary{dir = 8; dwidth = 3; height = 7; id = "supply_home"; name = "Cargo Bay"; width = 9},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"Hs" = (/obj/structure/shuttle/engine/propulsion{icon_state = "propulsion"; dir = 1},/turf/simulated/floor/plating/airless,/area/shuttle/escape)
|
||||
"Ht" = (/turf/space,/turf/simulated/wall/shuttle{icon_state = "swall_f6"; dir = 2},/area/shuttle/escape)
|
||||
"Hu" = (/turf/space,/turf/simulated/wall/shuttle{icon_state = "swall_f10"; dir = 2},/area/shuttle/escape)
|
||||
|
||||
@@ -2394,7 +2394,7 @@
|
||||
"aUb" = (/obj/machinery/computer/teleporter,/turf/simulated/floor/plasteel{dir = 10; icon_state = "brown"},/area/bridge)
|
||||
"aUc" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/firstaid/regular,/turf/simulated/floor/plasteel,/area/bridge)
|
||||
"aUd" = (/obj/machinery/computer/security/mining,/turf/simulated/floor/plasteel{dir = 6; icon_state = "brown"},/area/bridge)
|
||||
"aUe" = (/obj/machinery/computer/ordercomp,/turf/simulated/floor/plasteel{dir = 2; icon_state = "brown"},/area/bridge)
|
||||
"aUe" = (/obj/machinery/computer/cargo/request,/turf/simulated/floor/plasteel{dir = 2; icon_state = "brown"},/area/bridge)
|
||||
"aUf" = (/obj/machinery/airalarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/camera{c_tag = "Bar West"; dir = 4; network = list("SS13")},/obj/structure/bed/chair,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aUg" = (/obj/structure/bed/chair,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"aUh" = (/obj/structure/table/reinforced,/obj/machinery/door/window/eastleft{name = "Hydroponics Desk"; req_access_txt = "35"},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/crew_quarters/kitchen)
|
||||
@@ -3412,7 +3412,7 @@
|
||||
"bnF" = (/obj/structure/sign/nosmoking_2{pixel_x = 0; pixel_y = 30},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
|
||||
"bnG" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/clipboard,/obj/item/weapon/pen/red,/obj/structure/table,/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"bnH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
|
||||
"bnI" = (/obj/machinery/computer/ordercomp,/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"bnI" = (/obj/machinery/computer/cargo/request,/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"bnJ" = (/obj/machinery/firealarm{pixel_y = 27},/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"bnK" = (/obj/structure/grille,/obj/structure/window/fulltile,/turf/simulated/floor/plating,/area/quartermaster/office)
|
||||
"bnL" = (/turf/simulated/floor/plasteel{icon_state = "loadingarea"},/area/quartermaster/office)
|
||||
@@ -3508,7 +3508,7 @@
|
||||
"bpx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
|
||||
"bpy" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/medbay)
|
||||
"bpz" = (/obj/machinery/atmospherics/components/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/quartermaster/storage)
|
||||
"bpA" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"bpA" = (/obj/machinery/computer/cargo,/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"bpB" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"bpC" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/hallway/primary/central)
|
||||
"bpD" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Chemistry Lab"; req_access_txt = "5; 33"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/chemistry)
|
||||
@@ -3780,7 +3780,7 @@
|
||||
"buJ" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/light,/turf/simulated/floor/plasteel,/area/quartermaster/office)
|
||||
"buK" = (/obj/machinery/light{dir = 4; icon_state = "tube1"},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/hallway/primary/central)
|
||||
"buL" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/medical/genetics)
|
||||
"buM" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/computer/supplycomp,/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 8},/area/crew_quarters/heads)
|
||||
"buM" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/computer/cargo,/turf/simulated/floor/plasteel{icon_state = "blue"; dir = 8},/area/crew_quarters/heads)
|
||||
"buN" = (/obj/structure/bed/chair{dir = 8},/turf/simulated/floor/plasteel,/area/crew_quarters/heads)
|
||||
"buO" = (/obj/structure/table,/obj/item/weapon/folder/blue,/obj/item/weapon/stamp/hop,/turf/simulated/floor/plasteel,/area/crew_quarters/heads)
|
||||
"buP" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/turf/simulated/wall,/area/engine/gravity_generator)
|
||||
@@ -4043,7 +4043,7 @@
|
||||
"bzM" = (/obj/structure/rack,/obj/item/device/taperecorder{pixel_x = -3},/obj/item/device/paicard{pixel_x = 4},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warnwhite"},/area/crew_quarters/hor)
|
||||
"bzN" = (/turf/simulated/floor/plasteel{dir = 6; icon_state = "warnwhite"},/area/crew_quarters/hor)
|
||||
"bzO" = (/turf/simulated/floor/engine,/area/toxins/explab)
|
||||
"bzP" = (/obj/machinery/computer/supplycomp,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "brown"},/area/quartermaster/qm)
|
||||
"bzP" = (/obj/machinery/computer/cargo,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "brown"},/area/quartermaster/qm)
|
||||
"bzQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/turf/simulated/floor/plasteel,/area/quartermaster/qm)
|
||||
"bzR" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plasteel,/area/quartermaster/qm)
|
||||
"bzS" = (/obj/structure/table,/obj/item/weapon/cautery{pixel_x = 4},/turf/simulated/floor/plasteel,/area/medical/sleeper)
|
||||
@@ -6699,7 +6699,7 @@
|
||||
"cyQ" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"cyR" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/shuttle/abandoned)
|
||||
"cyS" = (/obj/machinery/button/door{dir = 2; id = "QMLoaddoor2"; name = "Loading Doors"; pixel_x = 24; pixel_y = 8},/obj/machinery/button/door{id = "QMLoaddoor"; name = "Loading Doors"; pixel_x = 24; pixel_y = -8},/turf/simulated/floor/plasteel/shuttle,/area/shuttle/supply)
|
||||
"cyT" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 5; width = 12},/obj/docking_port/stationary{dir = 8; dwidth = 5; height = 7; id = "supply_home"; name = "supply bay"; width = 12},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"cyT" = (/obj/machinery/door/airlock/shuttle{name = "Supply Shuttle Airlock"; req_access_txt = "31"},/obj/docking_port/mobile/supply{dwidth = 5; width = 12},/obj/docking_port/stationary{dir = 8; dwidth = 5; height = 7; id = "supply_home"; name = "Cargo Bay"; width = 12},/turf/simulated/floor/plating,/area/shuttle/supply)
|
||||
"cyU" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plasteel/shuttle{icon_state = "shuttlefloor3"},/area/shuttle/abandoned)
|
||||
"cyV" = (/obj/machinery/door/window,/turf/simulated/floor/plasteel/shuttle{icon_state = "shuttlefloor5"},/area/shuttle/abandoned)
|
||||
"cyW" = (/obj/structure/bed,/obj/item/weapon/bedsheet,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel/shuttle{icon_state = "shuttlefloor5"},/area/shuttle/abandoned)
|
||||
|
||||
@@ -401,7 +401,7 @@
|
||||
"hK" = (/turf/simulated/floor/plasteel/warning{dir = 8},/area/centcom/evac)
|
||||
"hL" = (/obj/structure/cult/talisman{desc = "A altar dedicated to the Wizard's Federation"},/obj/item/weapon/kitchen/knife/ritual,/turf/simulated/floor/plasteel/cult,/area/wizard_station)
|
||||
"hM" = (/obj/structure/flora/bush,/turf/simulated/floor/plating/asteroid/snow,/area/syndicate_mothership)
|
||||
"hN" = (/obj/machinery/computer/supplycomp,/turf/simulated/floor/plasteel/warning{dir = 8},/area/centcom/supply)
|
||||
"hN" = (/obj/machinery/computer/cargo,/turf/simulated/floor/plasteel/warning{dir = 8},/area/centcom/supply)
|
||||
"hO" = (/turf/simulated/floor/plasteel/green/corner{dir = 8},/area/centcom/control)
|
||||
"hP" = (/turf/simulated/floor/plasteel/warning/corner{dir = 4},/area/centcom/evac)
|
||||
"hQ" = (/obj/docking_port/stationary{dir = 8; dwidth = 5; height = 7; id = "supply_away"; name = "Centcom"; width = 12},/turf/space,/area/space)
|
||||
|
||||
@@ -318,7 +318,7 @@ var/datum/subsystem/shuttle/SSshuttle
|
||||
/datum/subsystem/shuttle/proc/generateSupplyOrder(packId, _orderedby, _orderedbyRank, _comment)
|
||||
if(!packId)
|
||||
return
|
||||
var/datum/supply_packs/P = supply_packs["[packId]"]
|
||||
var/datum/supply_packs/P = supply_packs[packId]
|
||||
if(!P)
|
||||
return
|
||||
|
||||
@@ -329,7 +329,5 @@ var/datum/subsystem/shuttle/SSshuttle
|
||||
O.orderedbyRank = _orderedbyRank
|
||||
O.comment = _comment
|
||||
|
||||
requestlist += O
|
||||
|
||||
return O
|
||||
|
||||
|
||||
@@ -16,205 +16,6 @@
|
||||
height = 7
|
||||
roundstart_move = "supply_away"
|
||||
|
||||
/obj/docking_port/mobile/supply/New()
|
||||
..()
|
||||
SSshuttle.supply = src
|
||||
|
||||
/obj/docking_port/mobile/supply/canMove()
|
||||
if(z == ZLEVEL_STATION)
|
||||
return forbidden_atoms_check(areaInstance)
|
||||
return ..()
|
||||
|
||||
/obj/docking_port/mobile/supply/request(obj/docking_port/stationary/S)
|
||||
if(mode != SHUTTLE_IDLE)
|
||||
return 2
|
||||
return ..()
|
||||
|
||||
/obj/docking_port/mobile/supply/dock()
|
||||
. = ..()
|
||||
if(.)
|
||||
return .
|
||||
|
||||
buy()
|
||||
sell()
|
||||
|
||||
/obj/docking_port/mobile/supply/proc/buy()
|
||||
if(z != ZLEVEL_STATION) //we only buy when we are -at- the station
|
||||
return 1
|
||||
|
||||
if(!SSshuttle.shoppinglist.len)
|
||||
return 2
|
||||
|
||||
var/list/emptyTurfs = list()
|
||||
for(var/turf/simulated/floor/T in areaInstance)
|
||||
if(T.density || T.contents.len)
|
||||
continue
|
||||
emptyTurfs += T
|
||||
|
||||
for(var/datum/supply_order/SO in SSshuttle.shoppinglist)
|
||||
if(!SO.object)
|
||||
continue
|
||||
|
||||
var/turf/T = pick_n_take(emptyTurfs) //turf we will place it in
|
||||
if(!T)
|
||||
SSshuttle.shoppinglist.Cut(1, SSshuttle.shoppinglist.Find(SO))
|
||||
return
|
||||
|
||||
var/errors = 0
|
||||
if(prob(5))
|
||||
errors |= MANIFEST_ERROR_COUNT
|
||||
if(prob(5))
|
||||
errors |= MANIFEST_ERROR_NAME
|
||||
if(prob(5))
|
||||
errors |= MANIFEST_ERROR_ITEM
|
||||
SO.createObject(T, errors)
|
||||
|
||||
SSshuttle.shoppinglist.Cut()
|
||||
|
||||
|
||||
/obj/docking_port/mobile/supply/proc/sell()
|
||||
if(z != ZLEVEL_CENTCOM) //we only sell when we are -at- centcomm
|
||||
return 1
|
||||
|
||||
var/plasma_count = 0
|
||||
var/intel_count = 0
|
||||
var/crate_count = 0
|
||||
|
||||
var/msg = ""
|
||||
var/pointsEarned
|
||||
|
||||
for(var/atom/movable/MA in areaInstance)
|
||||
if(MA.anchored)
|
||||
continue
|
||||
SSshuttle.sold_atoms += " [MA.name]"
|
||||
|
||||
// Must be in a crate (or a critter crate)!
|
||||
if(istype(MA,/obj/structure/closet/crate) || istype(MA,/obj/structure/closet/critter))
|
||||
SSshuttle.sold_atoms += ":"
|
||||
if(!MA.contents.len)
|
||||
SSshuttle.sold_atoms += " (empty)"
|
||||
++crate_count
|
||||
|
||||
var/find_slip = 1
|
||||
for(var/thing in MA)
|
||||
// Sell manifests
|
||||
SSshuttle.sold_atoms += " [thing:name]"
|
||||
if(find_slip && istype(thing,/obj/item/weapon/paper/manifest))
|
||||
var/obj/item/weapon/paper/manifest/slip = thing
|
||||
// TODO: Check for a signature, too.
|
||||
if(slip.stamped && slip.stamped.len) //yes, the clown stamp will work. clown is the highest authority on the station, it makes sense
|
||||
// Did they mark it as erroneous?
|
||||
var/denied = 0
|
||||
for(var/i=1,i<=slip.stamped.len,i++)
|
||||
if(slip.stamped[i] == /obj/item/weapon/stamp/denied)
|
||||
denied = 1
|
||||
if(slip.erroneous && denied) // Caught a mistake by Centcom (IDEA: maybe Centcom rarely gets offended by this)
|
||||
pointsEarned = slip.points - SSshuttle.points_per_crate
|
||||
SSshuttle.points += pointsEarned // For now, give a full refund for paying attention (minus the crate cost)
|
||||
msg += "<font color=green>+[pointsEarned]</font>: Station correctly denied package [slip.ordernumber]: "
|
||||
if(slip.erroneous & MANIFEST_ERROR_NAME)
|
||||
msg += "Destination station incorrect. "
|
||||
else if(slip.erroneous & MANIFEST_ERROR_COUNT)
|
||||
msg += "Packages incorrectly counted. "
|
||||
else if(slip.erroneous & MANIFEST_ERROR_ITEM)
|
||||
msg += "Package incomplete. "
|
||||
msg += "Points refunded.<BR>"
|
||||
else if(!slip.erroneous && !denied) // Approving a proper order awards the relatively tiny points_per_slip
|
||||
SSshuttle.points += SSshuttle.points_per_slip
|
||||
msg += "<font color=green>+[SSshuttle.points_per_slip]</font>: Package [slip.ordernumber] accorded.<BR>"
|
||||
else // You done goofed.
|
||||
if(slip.erroneous)
|
||||
msg += "<font color=red>+0</font>: Station approved package [slip.ordernumber] despite error: "
|
||||
if(slip.erroneous & MANIFEST_ERROR_NAME)
|
||||
msg += "Destination station incorrect."
|
||||
else if(slip.erroneous & MANIFEST_ERROR_COUNT)
|
||||
msg += "Packages incorrectly counted."
|
||||
else if(slip.erroneous & MANIFEST_ERROR_ITEM)
|
||||
msg += "We found unshipped items on our dock."
|
||||
msg += " Be more vigilant.<BR>"
|
||||
else
|
||||
pointsEarned = round(SSshuttle.points_per_crate - slip.points)
|
||||
SSshuttle.points += pointsEarned
|
||||
msg += "<font color=red>[pointsEarned]</font>: Station denied package [slip.ordernumber]. Our records show no fault on our part.<BR>"
|
||||
find_slip = 0
|
||||
continue
|
||||
|
||||
// Sell plasma
|
||||
if(istype(thing, /obj/item/stack/sheet/mineral/plasma))
|
||||
var/obj/item/stack/sheet/mineral/plasma/P = thing
|
||||
plasma_count += P.amount
|
||||
|
||||
// Sell syndicate intel
|
||||
if(istype(thing, /obj/item/documents/syndicate))
|
||||
++intel_count
|
||||
|
||||
// Sell tech levels
|
||||
if(istype(thing, /obj/item/weapon/disk/tech_disk))
|
||||
var/obj/item/weapon/disk/tech_disk/disk = thing
|
||||
if(!disk.stored)
|
||||
continue
|
||||
var/datum/tech/tech = disk.stored
|
||||
|
||||
var/cost = tech.getCost(SSshuttle.techLevels[tech.id])
|
||||
if(cost)
|
||||
SSshuttle.techLevels[tech.id] = tech.level
|
||||
SSshuttle.points += cost
|
||||
msg += "<font color=green>+[cost]</font>: [tech.name] - new data.<BR>"
|
||||
|
||||
// Sell max reliablity designs
|
||||
if(istype(thing, /obj/item/weapon/disk/design_disk))
|
||||
var/obj/item/weapon/disk/design_disk/disk = thing
|
||||
if(!disk.blueprint)
|
||||
continue
|
||||
var/datum/design/design = disk.blueprint
|
||||
if(design.id in SSshuttle.researchDesigns)
|
||||
continue
|
||||
|
||||
if(initial(design.reliability) < 100 && design.reliability >= 100)
|
||||
// Maxed out reliability designs only.
|
||||
SSshuttle.points += SSshuttle.points_per_design
|
||||
SSshuttle.researchDesigns += design.id
|
||||
msg += "<font color=green>+[SSshuttle.points_per_design]</font>: Reliable [design.name] design.<BR>"
|
||||
|
||||
// Sell exotic plants
|
||||
if(istype(thing, /obj/item/seeds))
|
||||
var/obj/item/seeds/S = thing
|
||||
if(S.rarity == 0) // Mundane species
|
||||
msg += "<font color=red>+0</font>: We don't need samples of mundane species \"[capitalize(S.species)]\".<BR>"
|
||||
else if(SSshuttle.discoveredPlants[S.type]) // This species has already been sent to CentComm
|
||||
var/potDiff = S.potency - SSshuttle.discoveredPlants[S.type] // Compare it to the previous best
|
||||
if(potDiff > 0) // This sample is better
|
||||
SSshuttle.discoveredPlants[S.type] = S.potency
|
||||
msg += "<font color=green>+[potDiff]</font>: New sample of \"[capitalize(S.species)]\" is superior. Good work.<BR>"
|
||||
SSshuttle.points += potDiff
|
||||
else // This sample is worthless
|
||||
msg += "<font color=red>+0</font>: New sample of \"[capitalize(S.species)]\" is not more potent than existing sample ([SSshuttle.discoveredPlants[S.type]] potency).<BR>"
|
||||
else // This is a new discovery!
|
||||
SSshuttle.discoveredPlants[S.type] = S.potency
|
||||
msg += "<font color=green>+[S.rarity]</font>: New species discovered: \"[capitalize(S.species)]\". Excellent work.<BR>"
|
||||
SSshuttle.points += S.rarity // That's right, no bonus for potency. Send a crappy sample first to "show improvement" later
|
||||
qdel(MA)
|
||||
SSshuttle.sold_atoms += "."
|
||||
|
||||
if(plasma_count > 0)
|
||||
pointsEarned = round(plasma_count * SSshuttle.points_per_plasma)
|
||||
msg += "<font color=green>+[pointsEarned]</font>: Received [plasma_count] unit(s) of exotic material.<BR>"
|
||||
SSshuttle.points += pointsEarned
|
||||
|
||||
if(intel_count > 0)
|
||||
pointsEarned = round(intel_count * SSshuttle.points_per_intel)
|
||||
msg += "<font color=green>+[pointsEarned]</font>: Received [intel_count] article(s) of enemy intelligence.<BR>"
|
||||
SSshuttle.points += pointsEarned
|
||||
|
||||
if(crate_count > 0)
|
||||
pointsEarned = round(crate_count * SSshuttle.points_per_crate)
|
||||
msg += "<font color=green>+[pointsEarned]</font>: Received [crate_count] crate(s).<BR>"
|
||||
SSshuttle.points += pointsEarned
|
||||
|
||||
SSshuttle.centcom_message = msg
|
||||
|
||||
|
||||
/proc/forbidden_atoms_check(atom/A)
|
||||
var/list/blacklist = list(
|
||||
/mob/living,
|
||||
/obj/effect/blob,
|
||||
@@ -230,13 +31,201 @@
|
||||
/obj/machinery/telepad,
|
||||
/obj/machinery/clonepod
|
||||
)
|
||||
if(A)
|
||||
if(is_type_in_list(A, blacklist))
|
||||
|
||||
/obj/docking_port/mobile/supply/New()
|
||||
..()
|
||||
SSshuttle.supply = src
|
||||
|
||||
/obj/docking_port/mobile/supply/canMove()
|
||||
if(z == ZLEVEL_STATION)
|
||||
return check_blacklist(areaInstance)
|
||||
return ..()
|
||||
|
||||
/obj/docking_port/mobile/supply/proc/check_blacklist(atom/A)
|
||||
if(is_type_in_list(A, blacklist))
|
||||
return 1
|
||||
for(var/thing in A)
|
||||
if(.(thing))
|
||||
return 1
|
||||
for(var/thing in A)
|
||||
if(.(thing))
|
||||
return 1
|
||||
|
||||
return 0
|
||||
/obj/docking_port/mobile/supply/request()
|
||||
if(mode != SHUTTLE_IDLE)
|
||||
return 2
|
||||
return ..()
|
||||
|
||||
/obj/docking_port/mobile/supply/dock()
|
||||
sell()
|
||||
buy()
|
||||
return ..()
|
||||
|
||||
/obj/docking_port/mobile/supply/proc/buy()
|
||||
if(z != ZLEVEL_CENTCOM)
|
||||
return
|
||||
if(!SSshuttle.shoppinglist.len)
|
||||
return
|
||||
|
||||
var/list/emptyTurfs = list()
|
||||
for(var/turf/simulated/floor/T in areaInstance)
|
||||
if(T.density || T.contents.len)
|
||||
continue
|
||||
emptyTurfs += T
|
||||
|
||||
for(var/datum/supply_order/SO in SSshuttle.shoppinglist)
|
||||
if(!SO.object)
|
||||
continue
|
||||
if(SO.object.cost > SSshuttle.points)
|
||||
continue
|
||||
|
||||
var/errors = 0
|
||||
if(prob(5))
|
||||
errors |= MANIFEST_ERROR_COUNT
|
||||
if(prob(5))
|
||||
errors |= MANIFEST_ERROR_NAME
|
||||
if(prob(5))
|
||||
errors |= MANIFEST_ERROR_ITEM
|
||||
|
||||
var/turf/T = pick_n_take(emptyTurfs)
|
||||
SO.createObject(T, errors)
|
||||
|
||||
SSshuttle.points -= SO.object.cost
|
||||
SSshuttle.shoppinglist -= SO
|
||||
|
||||
/obj/docking_port/mobile/supply/proc/sell()
|
||||
if(z != ZLEVEL_STATION)
|
||||
return
|
||||
|
||||
var/crates = 0
|
||||
var/plasma = 0
|
||||
var/intel = 0
|
||||
|
||||
var/msg = ""
|
||||
var/pointsEarned = 0
|
||||
|
||||
for(var/atom/movable/AM in areaInstance)
|
||||
if(AM.anchored)
|
||||
continue
|
||||
SSshuttle.sold_atoms += " [AM.name]"
|
||||
|
||||
if(istype(AM, /obj/structure/closet/crate) || istype(AM, /obj/structure/closet/critter))
|
||||
SSshuttle.sold_atoms += ":"
|
||||
if(!AM.contents.len)
|
||||
SSshuttle.sold_atoms += " (empty)"
|
||||
continue
|
||||
crates++
|
||||
|
||||
var/slip_found = FALSE
|
||||
for(var/atom/movable/thing in AM)
|
||||
SSshuttle.sold_atoms += " [thing.name]"
|
||||
if(!slip_found && istype(thing, /obj/item/weapon/paper/manifest))
|
||||
var/obj/item/weapon/paper/manifest/slip = thing
|
||||
if(slip.stamped && slip.stamped.len)
|
||||
slip_found = TRUE
|
||||
var/denied = FALSE
|
||||
for(var/stamp in slip.stamped)
|
||||
if(stamp == /obj/item/weapon/stamp/denied)
|
||||
denied = TRUE
|
||||
break
|
||||
if(slip.erroneous && denied) // Caught a mistake by Centcom.
|
||||
pointsEarned = slip.points - SSshuttle.points_per_crate
|
||||
SSshuttle.points += pointsEarned // Give a full refund (minus the crate).
|
||||
msg += "[pointsEarned]: Station correctly denied package [slip.ordernumber]: "
|
||||
if(slip.erroneous & MANIFEST_ERROR_NAME)
|
||||
msg += "Destination station incorrect. "
|
||||
else if(slip.erroneous & MANIFEST_ERROR_COUNT)
|
||||
msg += "Packages incorrectly counted. "
|
||||
else if(slip.erroneous & MANIFEST_ERROR_ITEM)
|
||||
msg += "Package incomplete. "
|
||||
msg += "Points refunded."
|
||||
else if(!slip.erroneous && !denied) // Approved a slip correctly.
|
||||
pointsEarned = SSshuttle.points_per_slip
|
||||
SSshuttle.points += pointsEarned
|
||||
msg += "+[pointsEarned]: Package [slip.ordernumber] accorded."
|
||||
else if(slip.erroneous) // You done goofed.
|
||||
pointsEarned = -SSshuttle.points_per_slip
|
||||
SSshuttle.points -= pointsEarned
|
||||
msg += "[pointsEarned]: Station erroneously approved package [slip.ordernumber]: "
|
||||
if(slip.erroneous & MANIFEST_ERROR_NAME)
|
||||
msg += "Destination station incorrect."
|
||||
else if(slip.erroneous & MANIFEST_ERROR_COUNT)
|
||||
msg += "Packages incorrectly counted."
|
||||
else if(slip.erroneous & MANIFEST_ERROR_ITEM)
|
||||
msg += "We found unshipped items on our dock."
|
||||
msg += " Be more vigilant."
|
||||
else
|
||||
pointsEarned = round(SSshuttle.points_per_crate - slip.points)
|
||||
SSshuttle.points += pointsEarned
|
||||
msg += "[pointsEarned]: Station erroneously denied package [slip.ordernumber]."
|
||||
|
||||
// Sell plasma
|
||||
if(istype(thing, /obj/item/stack/sheet/mineral/plasma))
|
||||
var/obj/item/stack/sheet/mineral/plasma/P = thing
|
||||
plasma += P.amount
|
||||
|
||||
// Sell syndicate intel
|
||||
if(istype(thing, /obj/item/documents/syndicate))
|
||||
intel++
|
||||
|
||||
// Sell tech levels
|
||||
if(istype(thing, /obj/item/weapon/disk/tech_disk))
|
||||
var/obj/item/weapon/disk/tech_disk/disk = thing
|
||||
if(!disk.stored)
|
||||
continue
|
||||
var/datum/tech/tech = disk.stored
|
||||
|
||||
var/cost = tech.getCost(SSshuttle.techLevels[tech.id])
|
||||
if(cost)
|
||||
SSshuttle.techLevels[tech.id] = tech.level
|
||||
SSshuttle.points += cost
|
||||
msg += "+[cost]: Data: [tech.name]."
|
||||
|
||||
// Sell max reliablity designs
|
||||
if(istype(thing, /obj/item/weapon/disk/design_disk))
|
||||
var/obj/item/weapon/disk/design_disk/disk = thing
|
||||
if(!disk.blueprint)
|
||||
continue
|
||||
var/datum/design/design = disk.blueprint
|
||||
if(design.id in SSshuttle.researchDesigns)
|
||||
continue
|
||||
|
||||
if(initial(design.reliability) < 100 && design.reliability >= 100)
|
||||
// Maxed out reliability designs only.
|
||||
SSshuttle.points += SSshuttle.points_per_design
|
||||
SSshuttle.researchDesigns += design.id
|
||||
msg += "+[SSshuttle.points_per_design]: Design: [design.name]."
|
||||
|
||||
// Sell exotic plants
|
||||
if(istype(thing, /obj/item/seeds))
|
||||
var/obj/item/seeds/S = thing
|
||||
if(S.rarity == 0) // Mundane species
|
||||
msg += "+0: We don't need samples of mundane species \"[capitalize(S.species)]\"."
|
||||
else if(SSshuttle.discoveredPlants[S.type]) // This species has already been sent to CentComm
|
||||
var/potDiff = S.potency - SSshuttle.discoveredPlants[S.type] // Compare it to the previous best
|
||||
if(potDiff > 0) // This sample is better
|
||||
SSshuttle.discoveredPlants[S.type] = S.potency
|
||||
msg += "+[potDiff]: New sample of \"[capitalize(S.species)]\" is superior. Good work."
|
||||
SSshuttle.points += potDiff
|
||||
else // This sample is worthless
|
||||
msg += "+0: New sample of \"[capitalize(S.species)]\" is not more potent than existing sample ([SSshuttle.discoveredPlants[S.type]] potency)."
|
||||
else // This is a new discovery!
|
||||
SSshuttle.discoveredPlants[S.type] = S.potency
|
||||
msg += "[S.rarity]: New species discovered: \"[capitalize(S.species)]\". Excellent work."
|
||||
SSshuttle.points += S.rarity // That's right, no bonus for potency. Send a crappy sample first to "show improvement" later
|
||||
qdel(AM)
|
||||
SSshuttle.sold_atoms += "."
|
||||
|
||||
if(plasma > 0)
|
||||
pointsEarned = round(plasma * SSshuttle.points_per_plasma)
|
||||
msg += "[pointsEarned]: Received [plasma] unit(s) of exotic material."
|
||||
SSshuttle.points += pointsEarned
|
||||
|
||||
if(intel > 0)
|
||||
pointsEarned = round(intel * SSshuttle.points_per_intel)
|
||||
msg += "[pointsEarned]: Received [intel] article(s) of enemy intelligence."
|
||||
SSshuttle.points += pointsEarned
|
||||
|
||||
if(crates > 0)
|
||||
pointsEarned = round(crates * SSshuttle.points_per_crate)
|
||||
msg += "+[pointsEarned]: Received [crates] crate(s)."
|
||||
SSshuttle.points += pointsEarned
|
||||
|
||||
SSshuttle.centcom_message = msg
|
||||
|
||||
@@ -91,7 +91,6 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
|
||||
cost = 35
|
||||
containertype = /obj/structure/closet/crate/internals
|
||||
containername = "emergency crate"
|
||||
group = supply_emergency
|
||||
|
||||
/datum/supply_packs/emergency/internals
|
||||
name = "Internals Crate"
|
||||
@@ -721,21 +720,21 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
|
||||
access = access_robotics
|
||||
|
||||
/datum/supply_packs/science/robotics/mecha_ripley
|
||||
name = "Circuit Crate (\"Ripley\" APLU)"
|
||||
name = "Circuit Crate (Ripley APLU)"
|
||||
contains = list(/obj/item/weapon/book/manual/ripley_build_and_repair,
|
||||
/obj/item/weapon/circuitboard/mecha/ripley/main, //TEMPORARY due to lack of circuitboard printer
|
||||
/obj/item/weapon/circuitboard/mecha/ripley/peripherals) //TEMPORARY due to lack of circuitboard printer
|
||||
cost = 30
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containername = "\improper APLU \"Ripley\" circuit crate"
|
||||
containername = "\improper APLU Ripley circuit crate"
|
||||
|
||||
/datum/supply_packs/science/robotics/mecha_odysseus
|
||||
name = "Circuit Crate (\"Odysseus\")"
|
||||
name = "Circuit Crate (Odysseus)"
|
||||
contains = list(/obj/item/weapon/circuitboard/mecha/odysseus/peripherals, //TEMPORARY due to lack of circuitboard printer
|
||||
/obj/item/weapon/circuitboard/mecha/odysseus/main) //TEMPORARY due to lack of circuitboard printer
|
||||
cost = 25
|
||||
containertype = /obj/structure/closet/crate/secure
|
||||
containername = "\improper \"Odysseus\" circuit crate"
|
||||
containername = "\improper Odysseus circuit crate"
|
||||
|
||||
/datum/supply_packs/science/plasma
|
||||
name = "Plasma Assembly Crate"
|
||||
|
||||
@@ -167,14 +167,14 @@
|
||||
name = "circuit board (Mech Bay Power Control Console)"
|
||||
build_path = /obj/machinery/computer/mech_bay_power_console
|
||||
origin_tech = "programming=2;powerstorage=3"
|
||||
/obj/item/weapon/circuitboard/ordercomp
|
||||
name = "circuit board (Supply Ordering Console)"
|
||||
build_path = /obj/machinery/computer/ordercomp
|
||||
/obj/item/weapon/circuitboard/supplycomp
|
||||
name = "circuit board (Supply shuttle console)"
|
||||
build_path = /obj/machinery/computer/supplycomp
|
||||
/obj/item/weapon/circuitboard/cargo
|
||||
name = "circuit board (Supply Console)"
|
||||
build_path = /obj/machinery/computer/cargo
|
||||
origin_tech = "programming=3"
|
||||
var/contraband_enabled = 0
|
||||
var/contraband = 0
|
||||
/obj/item/weapon/circuitboard/cargo/request
|
||||
name = "circuit board (Supply Request Console)"
|
||||
build_path = /obj/machinery/computer/cargo/request
|
||||
/obj/item/weapon/circuitboard/operating
|
||||
name = "circuit board (Operating Computer)"
|
||||
build_path = /obj/machinery/computer/operating
|
||||
@@ -241,27 +241,10 @@
|
||||
target_dept = dept_list.Find(choice)
|
||||
return
|
||||
|
||||
/obj/item/weapon/circuitboard/supplycomp/attackby(obj/item/I, mob/user, params)
|
||||
/obj/item/weapon/circuitboard/cargo/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I,/obj/item/device/multitool))
|
||||
var/catastasis = src.contraband_enabled
|
||||
var/opposite_catastasis
|
||||
if(catastasis)
|
||||
opposite_catastasis = "STANDARD"
|
||||
catastasis = "BROAD"
|
||||
else
|
||||
opposite_catastasis = "BROAD"
|
||||
catastasis = "STANDARD"
|
||||
|
||||
switch( alert("Current receiver spectrum is set to: [catastasis]","Multitool-Circuitboard interface","Switch to [opposite_catastasis]","Cancel") )
|
||||
//switch( alert("Current receiver spectrum is set to: " {(src.contraband_enabled) ? ("BROAD") : ("STANDARD")} , "Multitool-Circuitboard interface" , "Switch to " {(src.contraband_enabled) ? ("STANDARD") : ("BROAD")}, "Cancel") )
|
||||
if("Switch to STANDARD","Switch to BROAD")
|
||||
src.contraband_enabled = !src.contraband_enabled
|
||||
|
||||
if("Cancel")
|
||||
return
|
||||
else
|
||||
user << "DERP! BUG! Report this (And what you were doing to cause it) to Agouri"
|
||||
return
|
||||
contraband = !contraband
|
||||
user << "Receiver spectrum set to [contraband ? "Broad" : "Standard"]."
|
||||
|
||||
/obj/item/weapon/circuitboard/rdconsole/attackby(obj/item/I, mob/user, params)
|
||||
if(istype(I,/obj/item/weapon/screwdriver))
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
use_power = 1
|
||||
idle_power_usage = 300
|
||||
active_power_usage = 300
|
||||
var/obj/item/weapon/circuitboard/circuit = null //if circuit==null, computer can't disassembly
|
||||
var/obj/item/weapon/circuitboard/circuit = null // if circuit==null, computer can't disassembly
|
||||
var/processing = 0
|
||||
var/brightness_on = 2
|
||||
var/icon_keyboard = "generic_key"
|
||||
|
||||
@@ -0,0 +1,182 @@
|
||||
/obj/machinery/computer/cargo
|
||||
name = "supply console"
|
||||
desc = "Used to order supplies, approve requests, and control the shuttle."
|
||||
icon_screen = "supply"
|
||||
circuit = /obj/item/weapon/circuitboard/cargo
|
||||
var/requestonly = FALSE
|
||||
var/contraband = FALSE
|
||||
|
||||
/obj/machinery/computer/cargo/request
|
||||
name = "supply request console"
|
||||
desc = "Used to request supplies from cargo."
|
||||
icon_screen = "request"
|
||||
circuit = /obj/item/weapon/circuitboard/cargo/request
|
||||
requestonly = TRUE
|
||||
|
||||
/obj/machinery/computer/cargo/New()
|
||||
..()
|
||||
var/obj/item/weapon/circuitboard/cargo/board = circuit
|
||||
contraband = board.contraband
|
||||
|
||||
/obj/machinery/computer/cargo/emag_act(mob/user)
|
||||
if(!emagged)
|
||||
user << "<span class='notice'>Special supplies unlocked.</span>"
|
||||
emagged = TRUE
|
||||
|
||||
/obj/machinery/computer/cargo/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
|
||||
datum/tgui/master_ui = null, datum/ui_state/state = default_state)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "cargo", name, 1000, 800, master_ui, state)
|
||||
ui.open()
|
||||
|
||||
/obj/machinery/computer/cargo/get_ui_data()
|
||||
var/list/data = list()
|
||||
data["requestonly"] = requestonly
|
||||
data["location"] = SSshuttle.supply.getStatusText()
|
||||
data["points"] = SSshuttle.points
|
||||
data["away"] = SSshuttle.supply.getDockedId() == "supply_away"
|
||||
data["docked"] = SSshuttle.supply.mode == SHUTTLE_IDLE
|
||||
data["loan"] = SSshuttle.shuttle_loan ? TRUE : FALSE
|
||||
data["loan_dispatched"] = SSshuttle.shuttle_loan && SSshuttle.shuttle_loan.dispatched
|
||||
data["message"] = SSshuttle.centcom_message || "Remember to stamp and send back the supply manifests."
|
||||
|
||||
var/list/supplies = list()
|
||||
supplies.len = all_supply_groups.len
|
||||
for(var/group in all_supply_groups)
|
||||
supplies[group] = list(
|
||||
"name" = get_supply_group_name(group),
|
||||
"packs" = list()
|
||||
)
|
||||
for(var/pack in SSshuttle.supply_packs)
|
||||
var/datum/supply_packs/P = SSshuttle.supply_packs[pack]
|
||||
if((P.hidden && !emagged) || (P.contraband && !contraband))
|
||||
continue
|
||||
supplies[P.group]["packs"] += list(list(
|
||||
"name" = P.name,
|
||||
"cost" = P.cost,
|
||||
"id" = pack
|
||||
))
|
||||
data["supplies"] = supplies
|
||||
|
||||
data["cart"] = list()
|
||||
for(var/datum/supply_order/SO in SSshuttle.shoppinglist)
|
||||
data["cart"] += list(list(
|
||||
"object" = SO.object.name,
|
||||
"cost" = SO.object.cost,
|
||||
"id" = SO.ordernum
|
||||
))
|
||||
|
||||
data["requests"] = list()
|
||||
for(var/datum/supply_order/SO in SSshuttle.requestlist)
|
||||
data["requests"] += list(list(
|
||||
"object" = SO.object.name,
|
||||
"cost" = SO.object.cost,
|
||||
"orderedby" = SO.orderedby,
|
||||
"comment" = SO.comment,
|
||||
"id" = SO.ordernum
|
||||
))
|
||||
|
||||
|
||||
return data
|
||||
|
||||
/obj/machinery/computer/cargo/ui_act(action, params, datum/tgui/ui)
|
||||
if(..())
|
||||
return
|
||||
if(action != "add" && requestonly)
|
||||
return
|
||||
switch(action)
|
||||
if("send")
|
||||
if(SSshuttle.supply.canMove())
|
||||
say("For safety reasons the automated supply shuttle cannot transport live organisms, classified nuclear weaponry or homing beacons.")
|
||||
return
|
||||
if(SSshuttle.supply.getDockedId() == "supply_home")
|
||||
SSshuttle.moveShuttle("supply", "supply_away", TRUE)
|
||||
say("The supply shuttle has departed.")
|
||||
investigate_log("[key_name(usr)] has sent the supply shuttle away. Points: [SSshuttle.points]. Contents: [SSshuttle.sold_atoms].", "cargo")
|
||||
else
|
||||
investigate_log("[key_name(usr)] has called the supply shuttle. Points: [SSshuttle.points].", "cargo") // TODO: more robust logging here
|
||||
say("The supply shuttle has been called and will arrive in [SSshuttle.supply.timeLeft(600)] minutes.")
|
||||
SSshuttle.moveShuttle("supply", "supply_home", TRUE)
|
||||
. = TRUE
|
||||
if("loan")
|
||||
if(!SSshuttle.shuttle_loan)
|
||||
return
|
||||
else if(SSshuttle.supply.mode == SHUTTLE_IDLE)
|
||||
SSshuttle.shuttle_loan.loan_shuttle()
|
||||
say("The supply shuttle has been loaned to Centcom.")
|
||||
. = TRUE
|
||||
if("add")
|
||||
var/id = params["id"]
|
||||
if(!SSshuttle.supply_packs[id])
|
||||
return
|
||||
|
||||
var/name = "*None Provided*"
|
||||
var/rank = "*None Provided*"
|
||||
if(ishuman(usr))
|
||||
var/mob/living/carbon/human/H = usr
|
||||
name = H.get_authentification_name()
|
||||
rank = H.get_assignment()
|
||||
else if(issilicon(usr))
|
||||
name = usr.real_name
|
||||
rank = "Silicon"
|
||||
|
||||
var/reason = ""
|
||||
if(requestonly)
|
||||
reason = input("Reason:", name, "") as text|null
|
||||
if(isnull(reason) || ..())
|
||||
return
|
||||
|
||||
var/turf/T = get_turf(src)
|
||||
var/datum/supply_order/SO = SSshuttle.generateSupplyOrder(id, name, rank, reason)
|
||||
SO.generateRequisition(T)
|
||||
if(requestonly)
|
||||
SSshuttle.requestlist += SO
|
||||
else
|
||||
SSshuttle.shoppinglist += SO
|
||||
. = TRUE
|
||||
if("remove")
|
||||
var/id = text2num(params["id"])
|
||||
for(var/datum/supply_order/SO in SSshuttle.shoppinglist)
|
||||
if(SO.ordernum == id)
|
||||
SSshuttle.shoppinglist -= SO
|
||||
. = TRUE
|
||||
break
|
||||
if("clear")
|
||||
SSshuttle.shoppinglist.Cut()
|
||||
. = TRUE
|
||||
if("approve")
|
||||
var/id = text2num(params["id"])
|
||||
for(var/datum/supply_order/SO in SSshuttle.requestlist)
|
||||
if(SO.ordernum == id)
|
||||
SSshuttle.requestlist -= SO
|
||||
SSshuttle.shoppinglist += SO
|
||||
. = TRUE
|
||||
break
|
||||
if("deny")
|
||||
var/id = text2num(params["id"])
|
||||
for(var/datum/supply_order/SO in SSshuttle.requestlist)
|
||||
if(SO.ordernum == id)
|
||||
SSshuttle.requestlist -= SO
|
||||
. = TRUE
|
||||
break
|
||||
if("denyall")
|
||||
SSshuttle.requestlist.Cut()
|
||||
. = TRUE
|
||||
if(.)
|
||||
post_signal("supply")
|
||||
|
||||
/obj/machinery/computer/cargo/proc/post_signal(command)
|
||||
|
||||
var/datum/radio_frequency/frequency = SSradio.return_frequency(1435)
|
||||
|
||||
if(!frequency)
|
||||
return
|
||||
|
||||
var/datum/signal/status_signal = new
|
||||
status_signal.source = src
|
||||
status_signal.transmission_method = 1
|
||||
status_signal.data["command"] = command
|
||||
|
||||
frequency.post_signal(src, status_signal)
|
||||
|
||||
@@ -1,250 +0,0 @@
|
||||
/obj/machinery/computer/supplycomp
|
||||
name = "supply shuttle console"
|
||||
desc = "Used to order supplies."
|
||||
icon_screen = "supply"
|
||||
req_access = list(access_cargo)
|
||||
circuit = /obj/item/weapon/circuitboard/supplycomp
|
||||
verb_say = "flashes"
|
||||
verb_ask = "flashes"
|
||||
verb_exclaim = "flashes"
|
||||
var/temp = null
|
||||
var/reqtime = 0 //Cooldown for requisitions - Quarxink
|
||||
var/hacked = 0
|
||||
var/can_order_contraband = 0
|
||||
var/last_viewed_group = "categories"
|
||||
|
||||
/obj/machinery/computer/supplycomp/New()
|
||||
..()
|
||||
|
||||
var/obj/item/weapon/circuitboard/supplycomp/board = circuit
|
||||
can_order_contraband = board.contraband_enabled
|
||||
|
||||
/obj/machinery/computer/supplycomp/attack_hand(mob/user)
|
||||
if(!allowed(user))
|
||||
user << "<span class='warning'>Access Denied.</span>"
|
||||
return
|
||||
|
||||
if(..())
|
||||
return
|
||||
user.set_machine(src)
|
||||
post_signal("supply")
|
||||
var/dat
|
||||
if (temp)
|
||||
dat = temp
|
||||
else
|
||||
var/atDepot = (SSshuttle.supply.getDockedId() == "supply_away")
|
||||
var/inTransit = (SSshuttle.supply.mode != SHUTTLE_IDLE)
|
||||
var/canOrder = atDepot && !inTransit
|
||||
|
||||
dat += {"<div class='statusDisplay'><B>Supply shuttle</B><HR>
|
||||
Location: [SSshuttle.supply.getStatusText()]<BR>
|
||||
<HR>\nSupply Points: [SSshuttle.points]<BR>\n</div><BR>
|
||||
[canOrder ? "\n<A href='?src=\ref[src];order=categories'>Order items</A><BR>\n<BR>" : "\n*Must be away to order items*<BR>\n<BR>"]
|
||||
[inTransit ? "\n*Shuttle already called*<BR>\n<BR>": atDepot ? "\n<A href='?src=\ref[src];send=1'>Send to station</A><BR>\n<BR>":"\n<A href='?src=\ref[src];send=1'>Send to centcom</A><BR>\n<BR>"]
|
||||
[SSshuttle.shuttle_loan ? (SSshuttle.shuttle_loan.dispatched ? "\n*Shuttle loaned to Centcom*<BR>\n<BR>" : "\n<A href='?src=\ref[src];send=1;loan=1'>Loan shuttle to Centcom (5 mins duration)</A><BR>\n<BR>") : "\n*No pending external shuttle requests*<BR>\n<BR>"]
|
||||
\n<A href='?src=\ref[src];viewrequests=1'>View requests</A><BR>\n<BR>
|
||||
\n<A href='?src=\ref[src];vieworders=1'>View orders</A><BR>\n<BR>
|
||||
\n<A href='?src=\ref[user];mach_close=computer'>Close</A><BR>
|
||||
<HR>\n<B>Central Command messages:</B><BR> [SSshuttle.centcom_message ? SSshuttle.centcom_message : "Remember to stamp and send back the supply manifests."]"}
|
||||
|
||||
var/datum/browser/popup = new(user, "computer", "Supply Shuttle Console", 700, 455)
|
||||
popup.set_content(dat)
|
||||
popup.open()
|
||||
return
|
||||
|
||||
/obj/machinery/computer/supplycomp/emag_act(mob/user)
|
||||
if(!hacked)
|
||||
user << "<span class='notice'>Special supplies unlocked.</span>"
|
||||
hacked = 1
|
||||
|
||||
/obj/machinery/computer/supplycomp/Topic(href, href_list)
|
||||
if(..())
|
||||
return
|
||||
|
||||
if(isturf(loc) && ( in_range(src, usr) || istype(usr, /mob/living/silicon) ) )
|
||||
usr.set_machine(src)
|
||||
|
||||
//Calling the shuttle
|
||||
if(href_list["send"])
|
||||
if(SSshuttle.supply.canMove())
|
||||
if(SSshuttle.shuttle_loan)
|
||||
temp = "The supply shuttle must be docked to send new commands.<BR><BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
|
||||
else
|
||||
temp = "For safety reasons the automated supply shuttle cannot transport live organisms, classified nuclear weaponry or homing beacons.<BR><BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
|
||||
|
||||
else if(SSshuttle.supply.getDockedId() == "supply_home")
|
||||
if(href_list["loan"] && SSshuttle.shuttle_loan)
|
||||
if(!SSshuttle.shuttle_loan.dispatched)
|
||||
SSshuttle.shuttle_loan.loan_shuttle()
|
||||
temp = "The supply shuttle has been loaned to Centcom.<BR><BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
|
||||
post_signal("supply")
|
||||
else
|
||||
temp = "You can not loan the supply shuttle at this time.<BR><BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
|
||||
else
|
||||
temp = "The supply shuttle has departed.<BR><BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
|
||||
SSshuttle.toggleShuttle("supply", "supply_home", "supply_away", 1)
|
||||
investigate_log("[usr.key] has sent the supply shuttle away. Remaining points: [SSshuttle.points]. Shuttle contents:[SSshuttle.sold_atoms]", "cargo")
|
||||
else
|
||||
if(href_list["loan"] && SSshuttle.shuttle_loan)
|
||||
if(!SSshuttle.shuttle_loan.dispatched && SSshuttle.supply.mode == SHUTTLE_IDLE) // Must either be at centcom, or at the station. No redirecting off course!
|
||||
SSshuttle.shuttle_loan.loan_shuttle()
|
||||
temp = "The supply shuttle has been loaned to Centcom.<BR><BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
|
||||
post_signal("supply")
|
||||
else
|
||||
temp = "You can not loan the supply shuttle at this time.<BR><BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
|
||||
else
|
||||
if(!SSshuttle.supply.request(SSshuttle.getDock("supply_home")))
|
||||
temp = "The supply shuttle has been called and will arrive in [SSshuttle.supply.timeLeft(600)] minutes.<BR><BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
|
||||
post_signal("supply")
|
||||
|
||||
else if (href_list["order"])
|
||||
if(SSshuttle.supply.mode != SHUTTLE_IDLE)
|
||||
return
|
||||
if(href_list["order"] == "categories")
|
||||
//all_supply_groups
|
||||
//Request what?
|
||||
last_viewed_group = "categories"
|
||||
temp = "<div class='statusDisplay'><b>Supply points: [SSshuttle.points]</b><BR>"
|
||||
temp += "<A href='?src=\ref[src];mainmenu=1'>Main Menu</A><BR></div><BR>"
|
||||
temp += "<b>Select a category</b><BR><BR>"
|
||||
for(var/cat in all_supply_groups )
|
||||
temp += "<A href='?src=\ref[src];order=[cat]'>[get_supply_group_name(cat)]</A><BR>"
|
||||
else
|
||||
last_viewed_group = href_list["order"]
|
||||
var/cat = text2num(last_viewed_group)
|
||||
temp = "<div class='statusDisplay'><b>Supply points: [SSshuttle.points]</b><BR>"
|
||||
temp += "<A href='?src=\ref[src];order=categories'>Back to all categories</A><BR></div><BR>"
|
||||
temp += "<b>Request from: [get_supply_group_name(cat)]</b><BR><BR>"
|
||||
for(var/supply_type in SSshuttle.supply_packs )
|
||||
var/datum/supply_packs/N = SSshuttle.supply_packs[supply_type]
|
||||
if((N.hidden && !hacked) || (N.contraband && !can_order_contraband) || N.group != cat)
|
||||
continue //Have to send the type instead of a reference to
|
||||
temp += "<A href='?src=\ref[src];doorder=[supply_type]'>[N.name]</A> Cost: [N.cost]<BR>" //the obj because it would get caught by the garbage
|
||||
|
||||
/*temp = "Supply points: [supply_shuttle.points]<BR><HR><BR>Request what?<BR><BR>"
|
||||
|
||||
for(var/supply_name in supply_shuttle.supply_packs )
|
||||
var/datum/supply_packs/N = supply_shuttle.supply_packs[supply_name]
|
||||
if(N.hidden && !hacked) continue
|
||||
if(N.contraband && !can_order_contraband) continue
|
||||
temp += "<A href='?src=\ref[src];doorder=[supply_name]'>[supply_name]</A> Cost: [N.cost]<BR>" //the obj because it would get caught by the garbage
|
||||
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>OK</A>"*/
|
||||
|
||||
else if (href_list["doorder"])
|
||||
if(world.time < reqtime)
|
||||
say("[world.time - reqtime] seconds remaining until another requisition form may be printed.")
|
||||
return
|
||||
|
||||
//Find the correct supply_pack datum
|
||||
if(!SSshuttle.supply_packs[href_list["doorder"]])
|
||||
return
|
||||
|
||||
var/timeout = world.time + 600
|
||||
var/reason = stripped_input(usr,"Reason:","Why do you require this item?","")
|
||||
if(world.time > timeout)
|
||||
return
|
||||
// if(!reason)
|
||||
// return
|
||||
|
||||
var/idname = "*None Provided*"
|
||||
var/idrank = "*None Provided*"
|
||||
if(ishuman(usr))
|
||||
var/mob/living/carbon/human/H = usr
|
||||
idname = H.get_authentification_name()
|
||||
idrank = H.get_assignment()
|
||||
else if(issilicon(usr))
|
||||
idname = usr.real_name
|
||||
|
||||
var/datum/supply_order/O = SSshuttle.generateSupplyOrder(href_list["doorder"], idname, idrank, reason)
|
||||
if(!O)
|
||||
return
|
||||
O.generateRequisition(loc)
|
||||
|
||||
reqtime = (world.time + 5) % 1e5
|
||||
|
||||
temp = "Order request placed.<BR>"
|
||||
temp += "<BR><A href='?src=\ref[src];order=[last_viewed_group]'>Back</A> | <A href='?src=\ref[src];mainmenu=1'>Main Menu</A> | <A href='?src=\ref[src];confirmorder=[O.ordernum]'>Authorize Order</A>"
|
||||
|
||||
else if(href_list["confirmorder"])
|
||||
//Find the correct supply_order datum
|
||||
var/ordernum = text2num(href_list["confirmorder"])
|
||||
var/datum/supply_order/O
|
||||
var/datum/supply_packs/P
|
||||
temp = "Invalid Request"
|
||||
for(var/i=1, i<=SSshuttle.requestlist.len, i++)
|
||||
var/datum/supply_order/SO = SSshuttle.requestlist[i]
|
||||
if(SO && SO.ordernum == ordernum)
|
||||
O = SO
|
||||
P = O.object
|
||||
if(SSshuttle.points >= P.cost)
|
||||
SSshuttle.requestlist.Cut(i,i+1)
|
||||
SSshuttle.points -= P.cost
|
||||
SSshuttle.shoppinglist += O
|
||||
temp = "Thanks for your order."
|
||||
investigate_log("[usr.key] has authorized an order for [P.name]. Remaining points: [SSshuttle.points].", "cargo")
|
||||
else
|
||||
temp = "Not enough supply points."
|
||||
break
|
||||
temp += "<BR><BR><A href='?src=\ref[src];viewrequests=1'>Back</A> <A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
|
||||
|
||||
else if (href_list["vieworders"])
|
||||
temp = "<A href='?src=\ref[src];mainmenu=1'>Main Menu</A><BR><BR>Current approved orders: <BR><BR>"
|
||||
for(var/datum/supply_order/SO in SSshuttle.shoppinglist)
|
||||
temp += "#[SO.ordernum] - [SO.object.name] approved by [SO.orderedby][SO.comment ? " ([SO.comment])":""]<BR>"// <A href='?src=\ref[src];cancelorder=[S]'>(Cancel)</A><BR>"
|
||||
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
|
||||
/*
|
||||
else if (href_list["cancelorder"])
|
||||
var/datum/supply_order/remove_supply = href_list["cancelorder"]
|
||||
supply_shuttle_shoppinglist -= remove_supply
|
||||
supply_shuttle_points += remove_supply.object.cost
|
||||
temp += "Canceled: [remove_supply.object.name]<BR><BR><BR>"
|
||||
|
||||
for(var/S in supply_shuttle_shoppinglist)
|
||||
var/datum/supply_order/SO = S
|
||||
temp += "[SO.object.name] approved by [SO.orderedby][SO.comment ? " ([SO.comment])":""] <A href='?src=\ref[src];cancelorder=[S]'>(Cancel)</A><BR>"
|
||||
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
|
||||
*/
|
||||
else if (href_list["viewrequests"])
|
||||
temp = "<A href='?src=\ref[src];mainmenu=1'>Main Menu</A><BR><BR>Current requests: <BR><BR>"
|
||||
for(var/datum/supply_order/SO in SSshuttle.requestlist)
|
||||
temp += "#[SO.ordernum] - [SO.object.name] requested by [SO.orderedby] [SSshuttle.supply.getDockedId() == "supply_away" ? "<A href='?src=\ref[src];confirmorder=[SO.ordernum]'>Approve</A> <A href='?src=\ref[src];rreq=[SO.ordernum]'>Remove</A>" : ""]<BR>"
|
||||
|
||||
temp += "<BR><A href='?src=\ref[src];clearreq=1'>Clear list</A>"
|
||||
|
||||
else if (href_list["rreq"])
|
||||
var/ordernum = text2num(href_list["rreq"])
|
||||
temp = "Invalid Request.<BR>"
|
||||
for(var/i=1, i<=SSshuttle.requestlist.len, i++)
|
||||
var/datum/supply_order/SO = SSshuttle.requestlist[i]
|
||||
if(SO && SO.ordernum == ordernum)
|
||||
SSshuttle.requestlist.Cut(i,i+1)
|
||||
temp = "Request removed.<BR>"
|
||||
break
|
||||
temp += "<BR><A href='?src=\ref[src];viewrequests=1'>Back</A> <A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
|
||||
|
||||
else if (href_list["clearreq"])
|
||||
SSshuttle.requestlist.Cut()
|
||||
temp = "List cleared.<BR>"
|
||||
temp += "<BR><A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
|
||||
|
||||
else if (href_list["mainmenu"])
|
||||
temp = null
|
||||
|
||||
add_fingerprint(usr)
|
||||
updateUsrDialog()
|
||||
return
|
||||
|
||||
/obj/machinery/computer/supplycomp/proc/post_signal(command)
|
||||
|
||||
var/datum/radio_frequency/frequency = SSradio.return_frequency(1435)
|
||||
|
||||
if(!frequency)
|
||||
return
|
||||
|
||||
var/datum/signal/status_signal = new
|
||||
status_signal.source = src
|
||||
status_signal.transmission_method = 1
|
||||
status_signal.data["command"] = command
|
||||
|
||||
frequency.post_signal(src, status_signal)
|
||||
|
||||
@@ -1,113 +0,0 @@
|
||||
/obj/machinery/computer/ordercomp
|
||||
name = "supply ordering console"
|
||||
desc = "Used to order supplies from cargo staff."
|
||||
icon_screen = "request"
|
||||
circuit = /obj/item/weapon/circuitboard/ordercomp
|
||||
verb_say = "flashes"
|
||||
verb_ask = "flashes"
|
||||
verb_exclaim = "flashes"
|
||||
var/temp = null
|
||||
var/reqtime = 0 //Cooldown for requisitions - Quarxink
|
||||
var/last_viewed_group = "categories"
|
||||
|
||||
/obj/machinery/computer/ordercomp/attack_hand(mob/user)
|
||||
if(..())
|
||||
return
|
||||
user.set_machine(src)
|
||||
var/dat
|
||||
if(temp)
|
||||
dat = temp
|
||||
else
|
||||
dat += {"<div class='statusDisplay'>Shuttle Location: [SSshuttle.supply.name]<BR>
|
||||
<HR>Supply Points: [SSshuttle.points]<BR></div>
|
||||
|
||||
<BR>\n<A href='?src=\ref[src];order=categories'>Request items</A><BR><BR>
|
||||
<A href='?src=\ref[src];vieworders=1'>View approved orders</A><BR><BR>
|
||||
<A href='?src=\ref[src];viewrequests=1'>View requests</A><BR><BR>
|
||||
<A href='?src=\ref[user];mach_close=computer'>Close</A>"}
|
||||
|
||||
var/datum/browser/popup = new(user, "computer", "Supply Ordering Console", 575, 450)
|
||||
popup.set_content(dat)
|
||||
popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state))
|
||||
popup.open()
|
||||
return
|
||||
|
||||
/obj/machinery/computer/ordercomp/Topic(href, href_list)
|
||||
if(..())
|
||||
return
|
||||
|
||||
if( isturf(loc) && (in_range(src, usr) || istype(usr, /mob/living/silicon)) )
|
||||
usr.set_machine(src)
|
||||
|
||||
if(href_list["order"])
|
||||
if(href_list["order"] == "categories")
|
||||
//all_supply_groups
|
||||
//Request what?
|
||||
last_viewed_group = "categories"
|
||||
temp = "<div class='statusDisplay'><b>Supply points: [SSshuttle.points]</b><BR>"
|
||||
temp += "<A href='?src=\ref[src];mainmenu=1'>Main Menu</A><BR></div><BR>"
|
||||
temp += "<b>Select a category</b><BR><BR>"
|
||||
for(var/cat in all_supply_groups )
|
||||
temp += "<A href='?src=\ref[src];order=[cat]'>[get_supply_group_name(cat)]</A><BR>"
|
||||
else
|
||||
last_viewed_group = href_list["order"]
|
||||
var/cat = text2num(last_viewed_group)
|
||||
temp = "<div class='statusDisplay'><b>Supply points: [SSshuttle.points]</b><BR>"
|
||||
temp += "<A href='?src=\ref[src];order=categories'>Back to all categories</A><BR></div><BR>"
|
||||
temp += "<b>Request from: [get_supply_group_name(cat)]</b><BR><BR>"
|
||||
for(var/supply_type in SSshuttle.supply_packs )
|
||||
var/datum/supply_packs/N = SSshuttle.supply_packs[supply_type]
|
||||
if(N.hidden || N.contraband || N.group != cat)
|
||||
continue //Have to send the type instead of a reference to
|
||||
temp += "<A href='?src=\ref[src];doorder=[supply_type]'>[N.name]</A> Cost: [N.cost]<BR>" //the obj because it would get caught by the garbage
|
||||
else if (href_list["doorder"])
|
||||
if(world.time < reqtime)
|
||||
say("[world.time - reqtime] seconds remaining until another requisition form may be printed.")
|
||||
return
|
||||
|
||||
//Find the correct supply_pack datum
|
||||
if(!SSshuttle.supply_packs["[href_list["doorder"]]"])
|
||||
return
|
||||
|
||||
var/timeout = world.time + 600
|
||||
var/reason = stripped_input(usr,"Reason:","Why do you require this item?","")
|
||||
if(world.time > timeout)
|
||||
return
|
||||
if(!reason)
|
||||
return
|
||||
|
||||
var/idname = "*None Provided*"
|
||||
var/idrank = "*None Provided*"
|
||||
if(ishuman(usr))
|
||||
var/mob/living/carbon/human/H = usr
|
||||
idname = H.get_authentification_name()
|
||||
idrank = H.get_assignment()
|
||||
else if(issilicon(usr))
|
||||
idname = usr.real_name
|
||||
|
||||
var/datum/supply_order/O = SSshuttle.generateSupplyOrder(href_list["doorder"], idname, idrank, reason)
|
||||
if(!O)
|
||||
return
|
||||
O.generateRequisition(loc)
|
||||
|
||||
reqtime = (world.time + 5) % 1e5
|
||||
|
||||
temp = "Thanks for your request. The cargo team will process it as soon as possible.<BR>"
|
||||
temp += "<BR><A href='?src=\ref[src];order=[last_viewed_group]'>Back</A> <A href='?src=\ref[src];mainmenu=1'>Main Menu</A>"
|
||||
|
||||
else if (href_list["vieworders"])
|
||||
temp = "<A href='?src=\ref[src];mainmenu=1'>Main Menu</A><BR><BR>Current approved orders: <BR><BR>"
|
||||
for(var/datum/supply_order/SO in SSshuttle.shoppinglist)
|
||||
temp += "[SO.object.name] approved by [SO.orderedby] [SO.comment ? "([SO.comment])":""]<BR>"
|
||||
|
||||
else if (href_list["viewrequests"])
|
||||
temp = "<A href='?src=\ref[src];mainmenu=1'>Main Menu</A><BR><BR>Current requests: <BR><BR>"
|
||||
for(var/datum/supply_order/SO in SSshuttle.requestlist)
|
||||
temp += "#[SO.ordernum] - [SO.object.name] requested by [SO.orderedby]<BR>"
|
||||
|
||||
else if (href_list["mainmenu"])
|
||||
temp = null
|
||||
|
||||
add_fingerprint(usr)
|
||||
updateUsrDialog()
|
||||
return
|
||||
@@ -241,24 +241,24 @@
|
||||
build_path = /obj/item/weapon/circuitboard/rdconsole
|
||||
category = list("Computer Boards")
|
||||
|
||||
/datum/design/ordercomp
|
||||
name = "Computer Design (Supply ordering console)"
|
||||
desc = "Allows for the construction of circuit boards used to build a Supply ordering console."
|
||||
id = "ordercomp"
|
||||
req_tech = list("programming" = 2)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/ordercomp
|
||||
category = list("Computer Boards")
|
||||
|
||||
/datum/design/supplycomp
|
||||
name = "Computer Design (Supply shuttle console)"
|
||||
desc = "Allows for the construction of circuit boards used to build a Supply shuttle console."
|
||||
id = "supplycomp"
|
||||
/datum/design/cargo
|
||||
name = "Computer Design (Supply Console)"
|
||||
desc = "Allows for the construction of circuit boards used to build a Supply Console."
|
||||
id = "cargo"
|
||||
req_tech = list("programming" = 3)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/supplycomp
|
||||
build_path = /obj/item/weapon/circuitboard/cargo
|
||||
category = list("Computer Boards")
|
||||
|
||||
/datum/design/cargorequest
|
||||
name = "Computer Design (Supply Request Console)"
|
||||
desc = "Allows for the construction of circuit boards used to build a Supply Request Console."
|
||||
id = "cargorequest"
|
||||
req_tech = list("programming" = 2)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS = 1000, "sacid" = 20)
|
||||
build_path = /obj/item/weapon/circuitboard/cargo/request
|
||||
category = list("Computer Boards")
|
||||
|
||||
/datum/design/mining
|
||||
|
||||
@@ -529,7 +529,7 @@
|
||||
dst = previous
|
||||
else
|
||||
dst = destination
|
||||
. += " towards [dst ? dst.name : "unknown location"] ([timeLeft(600)]mins)"
|
||||
. += " towards [dst ? dst.name : "unknown location"] ([timeLeft(600)] minutes)"
|
||||
#undef DOCKING_PORT_HIGHLIGHT
|
||||
|
||||
|
||||
|
||||
@@ -60,6 +60,13 @@
|
||||
/datum/proc/ui_host()
|
||||
return src // Default src.
|
||||
|
||||
/**
|
||||
* global
|
||||
*
|
||||
* Used to track the current screen.
|
||||
**/
|
||||
/datum/var/ui_screen = "home"
|
||||
|
||||
/**
|
||||
* global
|
||||
*
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
"can_close" = TRUE,
|
||||
"auto_format" = FALSE
|
||||
)
|
||||
var/screen = "home" // The screen this UI is currently viewing (defaults to home).
|
||||
var/style = "nanotrasen" // The style to be used for this UI.
|
||||
var/interface // The interface (template) to be used for this UI.
|
||||
var/autoupdate = TRUE // Update the UI every MC tick.
|
||||
@@ -142,16 +141,6 @@
|
||||
/datum/tgui/proc/set_window_options(list/window_options)
|
||||
src.window_options = window_options
|
||||
|
||||
/**
|
||||
* public
|
||||
*
|
||||
* Set the screen (page) for this UI.
|
||||
*
|
||||
* required screen string The screen to change to.
|
||||
**/
|
||||
/datum/tgui/proc/set_screen(screen)
|
||||
src.screen = lowertext(screen)
|
||||
|
||||
/**
|
||||
* public
|
||||
*
|
||||
@@ -224,7 +213,7 @@
|
||||
var/list/config_data = list(
|
||||
"title" = title,
|
||||
"status" = status,
|
||||
"screen" = screen,
|
||||
"screen" = src_object.ui_screen,
|
||||
"style" = style,
|
||||
"interface" = interface,
|
||||
"fancy" = user.client.prefs.tgui_fancy,
|
||||
@@ -260,8 +249,8 @@
|
||||
// Generate the JSON.
|
||||
var/json = json_encode(json_data)
|
||||
// Strip #255/improper.
|
||||
json = replacetext(json, "\improper", "")
|
||||
json = replacetext(json, "\proper", "")
|
||||
json = replacetext(json, "\improper", "")
|
||||
return json
|
||||
|
||||
/**
|
||||
@@ -284,7 +273,7 @@
|
||||
initialized = TRUE
|
||||
if("tgui:view")
|
||||
if(params["screen"])
|
||||
screen = params["screen"]
|
||||
src_object.ui_screen = params["screen"]
|
||||
SStgui.update_uis(src_object)
|
||||
if("tgui:link")
|
||||
user << link(params["url"])
|
||||
|
||||
+1
-2
@@ -891,8 +891,7 @@
|
||||
#include "code\modules\awaymissions\mission_code\spacebattle.dm"
|
||||
#include "code\modules\awaymissions\mission_code\stationCollision.dm"
|
||||
#include "code\modules\awaymissions\mission_code\wildwest.dm"
|
||||
#include "code\modules\cargo\order_computer.dm"
|
||||
#include "code\modules\cargo\request_computer.dm"
|
||||
#include "code\modules\cargo\console.dm"
|
||||
#include "code\modules\client\asset_cache.dm"
|
||||
#include "code\modules\client\client defines.dm"
|
||||
#include "code\modules\client\client procs.dm"
|
||||
|
||||
File diff suppressed because one or more lines are too long
+5
-5
File diff suppressed because one or more lines are too long
@@ -0,0 +1,92 @@
|
||||
<script>
|
||||
import { filter } from 'util/filter'
|
||||
component.exports = {
|
||||
data: {
|
||||
filter: ''
|
||||
},
|
||||
oninit () {
|
||||
this.observe('filter', (newkey, oldkey, keypath) => {
|
||||
const categories = this.findAll('.display:nth-child(n+4)')
|
||||
filter(categories, this.get('filter').toLowerCase())
|
||||
}, { init: false })
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<ui-display title='Cargo' button>
|
||||
{{#partial button}}
|
||||
{{#if config.fancy}}
|
||||
<ui-input value='{{filter}}' placeholder='Filter...'/>
|
||||
{{/if}}
|
||||
{{/partial}}
|
||||
<ui-section label='Shuttle'>
|
||||
{{#if data.docked && !data.requestonly}}
|
||||
<ui-button action='send'>{{data.location}}</ui-button>
|
||||
{{else}}
|
||||
<span>{{data.location}}</span>
|
||||
{{/if}}
|
||||
</ui-section>
|
||||
<ui-section label='Points'>
|
||||
<span>{{Math.floor(adata.points)}}</span>
|
||||
</ui-section>
|
||||
<ui-section label='Centcom Message'>
|
||||
<span>{{data.message}}</span>
|
||||
</ui-section>
|
||||
{{#if data.loan && !data.requestonly}}
|
||||
<ui-section label='Loan'>
|
||||
{{#if !data.loan_dispatched}}
|
||||
<ui-button action='loan'>Loan Shuttle</ui-button>
|
||||
{{else}}
|
||||
<span class='bad'>Loaned to Centcom</span>
|
||||
{{/if}}
|
||||
</ui-section>
|
||||
{{/if}}
|
||||
</ui-display>
|
||||
{{#if !data.requestonly}}
|
||||
<ui-display title='Cart' button>
|
||||
{{#partial button}}
|
||||
<ui-button icon='close' state='{{data.cart.length ? null : "disabled"}}' action='clear'>Clear</ui-button>
|
||||
{{/partial}}
|
||||
{{#each data.cart}}
|
||||
<ui-section candystripe nowrap>
|
||||
<div class='content'>#{{id}}</div>
|
||||
<div class='content'>{{object}}</div>
|
||||
<div class='content'>{{cost}} Points</div>
|
||||
<div class='content'>
|
||||
<ui-button icon='minus' action='remove' params='{"id": "{{id}}"}'/>
|
||||
</div>
|
||||
</ui-section>
|
||||
{{/each}}
|
||||
</ui-display>
|
||||
{{/if}}
|
||||
<ui-display title='Requests' button>
|
||||
{{#partial button}}
|
||||
{{#if !data.requestonly}}
|
||||
<ui-button icon='close' state='{{data.requests.length ? null : "disabled"}}' action='denyall'>Clear</ui-button>
|
||||
{{/if}}
|
||||
{{/partial}}
|
||||
{{#each data.requests}}
|
||||
<ui-section candystripe nowrap>
|
||||
<div class='content'>#{{id}}</div>
|
||||
<div class='content'>{{object}}</div>
|
||||
<div class='content'>{{cost}} Points</div>
|
||||
<div class='content'>By {{orderedby}}</div>
|
||||
<div class='content'>Comment: {{comment}}</div>
|
||||
{{#if !data.requestonly}}
|
||||
<div class='content'>
|
||||
<ui-button icon='check' action='approve' params='{"id": "{{id}}"}'/>
|
||||
<ui-button icon='close' action='deny' params='{"id": "{{id}}"}'/>
|
||||
</div>
|
||||
{{/if}}
|
||||
</ui-section>
|
||||
{{/each}}
|
||||
</ui-display>
|
||||
{{#each data.supplies}}
|
||||
<ui-display title='{{name}}'>
|
||||
{{#each packs}}
|
||||
<ui-section label='{{name}}' candystripe right>
|
||||
<ui-button action='add' params='{"id": "{{id}}"}'>{{cost}} Points</ui-button>
|
||||
</ui-section>
|
||||
{{/each}}
|
||||
</ui-display>
|
||||
{{/each}}
|
||||
@@ -7,3 +7,6 @@ hr
|
||||
height: rule-size
|
||||
background-color: rule-color-normal
|
||||
border: none
|
||||
|
||||
.hidden
|
||||
display: none
|
||||
|
||||
Reference in New Issue
Block a user