diff --git a/aurorastation.dme b/aurorastation.dme index c06b3f9c2cd..80db6869e2f 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -2133,6 +2133,7 @@ #include "code\modules\modular_computers\hardware\portable_hard_drive_presets.dm" #include "code\modules\modular_computers\hardware\processor_unit.dm" #include "code\modules\modular_computers\hardware\tesla_link.dm" +#include "code\modules\modular_computers\items\paper_scanner.dm" #include "code\modules\modular_computers\NTNet\NTNet.dm" #include "code\modules\modular_computers\NTNet\NTNet_relay.dm" #include "code\modules\modular_computers\NTNet\NTNRC\conversation.dm" diff --git a/code/modules/modular_computers/items/paper_scanner.dm b/code/modules/modular_computers/items/paper_scanner.dm new file mode 100644 index 00000000000..5b05c2d92ec --- /dev/null +++ b/code/modules/modular_computers/items/paper_scanner.dm @@ -0,0 +1,95 @@ +/obj/item/paper_scanner + name = "paper scanner" + desc = "A simple device that can be used to scan paper or paper bundles in order to digitize them." + desc_info = "Alt-click it while it's in one of your hands to eject the portable drive. Click paper or a paper bundle with it to digitize it and store it in the inserted drive." + icon = 'icons/obj/devices/paperscanner.dmi' + icon_state = "paperscanner" + item_state = "paperscanner" + contained_sprite = TRUE + var/obj/item/computer_hardware/hard_drive/portable/drive + +/obj/item/paper_scanner/Initialize(mapload, ...) + . = ..() + drive = new /obj/item/computer_hardware/hard_drive/portable(src) + update_icon() + +/obj/item/paper_scanner/update_icon() + cut_overlays() + if(drive) + add_overlay("paperscanner-drive") + +/obj/item/paper_scanner/AltClick(mob/living/carbon/user) + if(!drive) + to_chat(user, SPAN_WARNING("\The [src] doesn't have a drive installed.")) + return + if(!istype(user)) + to_chat(user, SPAN_WARNING("You're too simple to work \the [src].")) + return + if(user.l_hand == src || user.r_hand == src) + to_chat(user, SPAN_NOTICE("You eject \the [drive].")) + user.put_in_hands(drive) + drive = null + update_icon() + else + to_chat(user, SPAN_WARNING("You must be holding \the [src] in one of your hands before you can eject a drive.")) + +/obj/item/paper_scanner/attackby(obj/item/W, mob/user) + if(istype(W, /obj/item/computer_hardware/hard_drive/portable)) + if(drive) + to_chat(user, SPAN_WARNING("\The [src] already has a drive installed!")) + return + to_chat(user, SPAN_NOTICE("You insert \the [W] into \the [src].")) + user.drop_from_inventory(W, src) + drive = W + update_icon() + else + ..() + +/obj/item/paper_scanner/afterattack(atom/target, mob/user, proximity_flag, click_parameters) + if(proximity_flag && (istype(target, /obj/item/paper) || istype(target, /obj/item/paper_bundle))) + do_scan(target, user) + +/obj/item/paper_scanner/proc/do_scan(var/obj/item/target, var/mob/user) + if(!drive) + to_chat(user, SPAN_WARNING("\The [src] doesn't have a drive installed.")) + return + + var/list/pages_to_scan = list() + var/obj/item/paper/P = target + var/obj/item/paper_bundle/PB = target + + if(istype(P)) + if(!P.info) + to_chat(user, SPAN_WARNING("\The [P] doesn't have any information on it.")) + return + pages_to_scan += P + else if(istype(PB)) + var/has_info = FALSE + for(var/obj/item/paper/page in PB.pages) + if(page.info) + pages_to_scan += page + has_info = TRUE + if(!has_info) + to_chat(user, SPAN_WARNING("\The [PB] doesn't have any information in it.")) + return + + if(!length(pages_to_scan)) + return + + user.visible_message("[user] starts making a scan of \the [target]...", SPAN_NOTICE("You start making a scan of \the [target]..."), range = 3) + if(do_after(user, 30 * length(pages_to_scan), TRUE, target)) + if(!drive) + to_chat(user, SPAN_WARNING("\The [src] doesn't have a drive installed.")) + return + user.visible_message("[user] makes a scan of \the [target].", SPAN_NOTICE("You make a scan of \the [target]."), range = 3) + var/datum/computer_file/data/F = new /datum/computer_file/data(drive) + F.filename = target.name != initial(target.name) ? "[target.name] ([worldtime2text()] - [time2text(world.time, "Month DD")])" : "Digital Paper ([worldtime2text()] - [time2text(world.time, "Month DD")])" + F.filetype = "TXT" + var/data_to_save = "" + for(var/thing in pages_to_scan) + var/obj/item/paper/page = thing + data_to_save += page.info + data_to_save += "\[br\]" + F.stored_data = data_to_save + if(!drive.store_file(F)) + to_chat(usr, SPAN_WARNING("\The [drive] does not have enough space to store the latest scanned file.")) diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index acc59e835f6..76d3676e407 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -29,6 +29,7 @@ if(istype(W, /obj/item/paper) || istype(W, /obj/item/photo)) insert_sheet_at(user, pages.len+1, W) amount++ + attack_self(usr) //Update the browsed page. // burning else if(istype(W, /obj/item/flame)) @@ -43,6 +44,7 @@ amount++ to_chat(user, "You add \the [W.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].") + attack_self(usr) //Update the browsed page. qdel(W) else if(istype(W, /obj/item/tape_roll)) @@ -53,7 +55,6 @@ P.attackby(W, user) update_icon() - attack_self(usr) //Update the browsed page. add_fingerprint(usr) return diff --git a/html/changelogs/geeves-paper_scanner.yml b/html/changelogs/geeves-paper_scanner.yml new file mode 100644 index 00000000000..1f744db96e1 --- /dev/null +++ b/html/changelogs/geeves-paper_scanner.yml @@ -0,0 +1,6 @@ +author: Geeves + +delete-after: True + +changes: + - rscadd: "Added a paper scanner device that can scan paper and paper bundles and convert them into data files." \ No newline at end of file diff --git a/icons/obj/devices/paperscanner.dmi b/icons/obj/devices/paperscanner.dmi new file mode 100644 index 00000000000..1af5e969134 Binary files /dev/null and b/icons/obj/devices/paperscanner.dmi differ diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm index 203321c03b4..ce9f10143d2 100644 --- a/maps/aurora/aurora-4_mainlevel.dmm +++ b/maps/aurora/aurora-4_mainlevel.dmm @@ -12594,6 +12594,7 @@ dir = 9 }, /obj/structure/table/reinforced, +/obj/item/paper_scanner, /turf/simulated/floor/tiled, /area/bridge) "awV" = ( @@ -14476,6 +14477,7 @@ req_access = list(7) }, /obj/effect/floor_decal/corner_wide/mauve/full, +/obj/item/paper_scanner, /turf/simulated/floor/tiled/white, /area/rnd/telesci) "azV" = ( @@ -16065,6 +16067,7 @@ info = "\[center]\[Large]\[b]NSS Exodus\[/b]\[/large]\[br] \[small]Armoury Inventory\[/small]\[/center] \[hr] \[hr] \[br] \[b]Weaponry\[/b]\[br] \[field] Energy Gun(s)\[br] \[field] Laser Gun(s)\[br] \[field] Ion Rifle(s)\[br] \[field] Combat Shotgun(s) \[hr] \[b]Armour\[/b]\[br] \[field] Bulletproof Vest(s)\[br] \[field] Abalative Vest(s)\[br] \[field] Biohazard Suit(s)\[br] \[field] Bomb Suit(s) \[hr] \[b]Auxiliary Equipment\[/b]\[br] \[field] Gasmask(s)\[br] \[field] box(es) of Flashbangs\[br] \[field] box(es) of Handcuffs\[br] \[field] box(es) of R.O.B.U.S.T. Cartridges \[hr] \[b]Riot Equipment\[/b]\[br] \[field] Stun Baton(s)\[br] \[field] Riot Suit(s)\[br] \[field] Riot Shield(s) \[hr] \[b]Tactical Equipment\[/b]\[br] \[field] Tactical Armour(s)\[br] \[field] Tactical Helmet(s)\[br] \[field] Tactical Jumpsuit(s)\[br] \[field] Green Balaclava(s)\[br] \[field] Tactical HUD(s)\[br] \[field] Combat Belt(s)\[br] \[field] Black Glove(s)\[br] \[field] Jackboot(s) \[hr] \[b]Implants\[/b]\[br] \[field] Tracking Implant Box(es)\[br] \[field] Chemical Implant Box(es) \[hr] \[b]Defense Systems\[/b]\[br] \[field] Deployable Barrier(s)\[br] \[field] Portable Flasher(s) \[hr] \[b]Other\[/b]\[br] \[field] Holobadge Box(es) \[hr] \[b]\[center]Warden's's Signature:\[/b] \[field]\[/center] \[hr]"; name = "Armory Inventory" }, +/obj/item/paper_scanner, /turf/simulated/floor/tiled, /area/security/warden) "aCA" = ( @@ -21098,6 +21101,10 @@ network = list("Capt_Office"); pixel_y = 30 }, +/obj/item/paper_scanner{ + pixel_x = 6; + pixel_y = -2 + }, /turf/simulated/floor/carpet, /area/crew_quarters/captain) "aKH" = ( @@ -23656,6 +23663,7 @@ }, /obj/structure/table/standard, /obj/item/folder/sec, +/obj/item/paper_scanner, /turf/simulated/floor/tiled, /area/security/brig) "aPg" = ( @@ -24284,6 +24292,9 @@ /obj/structure/table/standard, /obj/item/paper_bin, /obj/item/pen, +/obj/item/paper_scanner{ + pixel_x = 8 + }, /turf/simulated/floor/carpet, /area/crew_quarters/heads/chief) "aQh" = ( @@ -24567,6 +24578,7 @@ pixel_x = 5; pixel_y = -30 }, +/obj/item/paper_scanner, /turf/simulated/floor/tiled/dark, /area/crew_quarters/heads/hos) "aQI" = ( @@ -26777,6 +26789,9 @@ d2 = 4; icon_state = "2-4" }, +/obj/item/paper_scanner{ + pixel_x = -8 + }, /turf/simulated/floor/carpet, /area/journalistoffice) "aUq" = ( @@ -27593,6 +27608,10 @@ "aVG" = ( /obj/structure/table/reinforced, /obj/item/modular_computer/laptop/preset/command/hop, +/obj/item/paper_scanner{ + pixel_x = 4; + pixel_y = 8 + }, /turf/simulated/floor/wood, /area/crew_quarters/heads/hop) "aVH" = ( @@ -32778,6 +32797,7 @@ pixel_x = 5; pixel_y = -4 }, +/obj/item/paper_scanner, /turf/simulated/floor/carpet/blue, /area/medical/exam_room{ name = "\improper Medical - Exam Room 2" @@ -36570,6 +36590,9 @@ pixel_y = 6 }, /obj/item/pen, +/obj/item/paper_scanner{ + pixel_x = 6 + }, /turf/simulated/floor/tiled/white, /area/crew_quarters/heads/cmo) "blG" = ( @@ -37936,6 +37959,7 @@ dir = 4 }, /obj/structure/table/standard, +/obj/item/paper_scanner, /turf/simulated/floor/carpet/blue, /area/medical/exam_room{ name = "\improper Medical - Exam Room 1" @@ -43660,6 +43684,10 @@ /obj/item/device/eftpos{ eftpos_name = "Research EFTPOS scanner" }, +/obj/item/paper_scanner{ + pixel_x = -6; + pixel_y = 4 + }, /turf/simulated/floor/carpet/blue, /area/rnd/rdoffice) "bzD" = ( @@ -48531,6 +48559,7 @@ req_access = list(37) }, /obj/structure/table/wood, +/obj/item/paper_scanner, /turf/simulated/floor/wood, /area/library) "bKK" = ( @@ -50058,6 +50087,14 @@ /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, +/obj/item/paper_scanner{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/paper_scanner{ + pixel_x = -2; + pixel_y = -2 + }, /obj/machinery/light{ dir = 8 }, @@ -54016,6 +54053,7 @@ dir = 6 }, /obj/structure/table/standard, +/obj/item/paper_scanner, /obj/item/paper_bin{ pixel_x = -3; pixel_y = 7 @@ -63051,6 +63089,7 @@ dir = 6 }, /obj/structure/table/reinforced, +/obj/item/paper_scanner, /turf/simulated/floor/tiled, /area/bridge) "mlB" = ( @@ -65721,6 +65760,11 @@ /obj/effect/floor_decal/corner/grey/diagonal, /turf/simulated/floor/tiled/old_white, /area/maintenance/medbay) +"skc" = ( +/obj/structure/table/steel, +/obj/item/paper_scanner, +/turf/simulated/floor/carpet/rubber, +/area/rnd/misc_lab) "slK" = ( /obj/machinery/door/firedoor, /obj/machinery/door/window/eastleft{ @@ -67795,6 +67839,9 @@ pixel_x = 3; pixel_y = 4 }, +/obj/item/paper_scanner{ + pixel_x = -4 + }, /turf/simulated/floor/carpet, /area/lawoffice) "wzO" = ( @@ -91271,7 +91318,7 @@ btK buR bDu bxc -byE +skc hwh byE bCD diff --git a/maps/aurora/aurora-5_interstitial.dmm b/maps/aurora/aurora-5_interstitial.dmm index 1092ab48c23..488f871218b 100644 --- a/maps/aurora/aurora-5_interstitial.dmm +++ b/maps/aurora/aurora-5_interstitial.dmm @@ -196,8 +196,8 @@ /area/maintenance/interstitial_main) "ax" = ( /obj/effect/floor_decal/corner/yellow/full{ - icon_state = "corner_white_full"; - dir = 1 + dir = 1; + icon_state = "corner_white_full" }, /obj/machinery/light{ dir = 4; @@ -267,8 +267,8 @@ icon_state = "tube1" }, /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 6 + dir = 6; + icon_state = "corner_white" }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 8 @@ -281,8 +281,8 @@ "aK" = ( /obj/machinery/door/firedoor, /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 6 + dir = 6; + icon_state = "corner_white" }, /obj/machinery/light{ dir = 4; @@ -293,8 +293,8 @@ /area/maintenance/interstitial_main) "aL" = ( /obj/effect/floor_decal/corner/yellow/full{ - icon_state = "corner_white_full"; - dir = 8 + dir = 8; + icon_state = "corner_white_full" }, /obj/structure/sign/vacuum{ pixel_x = -32 @@ -303,8 +303,8 @@ /area/maintenance/interstitial_main) "aM" = ( /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 5 + dir = 5; + icon_state = "corner_white" }, /turf/simulated/floor/tiled, /area/maintenance/interstitial_main) @@ -315,8 +315,8 @@ icon_state = "4-8" }, /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 5 + dir = 5; + icon_state = "corner_white" }, /turf/simulated/floor/tiled, /area/maintenance/interstitial_main) @@ -375,8 +375,8 @@ /area/maintenance/interstitial_main) "aW" = ( /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 10 + dir = 10; + icon_state = "corner_white" }, /turf/simulated/floor/tiled, /area/maintenance/interstitial_main) @@ -551,15 +551,15 @@ }, /obj/machinery/door/window/eastright, /obj/effect/floor_decal/corner/yellow/full{ - icon_state = "corner_white_full"; - dir = 8 + dir = 8; + icon_state = "corner_white_full" }, /turf/simulated/floor/tiled, /area/maintenance/bridge_elevator) "bm" = ( /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 1 + dir = 1; + icon_state = "corner_white" }, /obj/machinery/atmospherics/pipe/simple/hidden{ dir = 10 @@ -595,8 +595,8 @@ /area/maintenance/bridge_elevator) "bq" = ( /obj/effect/floor_decal/corner/yellow/full{ - icon_state = "corner_white_full"; - dir = 1 + dir = 1; + icon_state = "corner_white_full" }, /obj/machinery/alarm{ dir = 8; @@ -660,8 +660,8 @@ }, /obj/machinery/door/window/eastright, /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 9 + dir = 9; + icon_state = "corner_white" }, /turf/simulated/floor/tiled, /area/maintenance/bridge_elevator) @@ -689,8 +689,8 @@ /area/maintenance/bridge_elevator) "bA" = ( /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 6 + dir = 6; + icon_state = "corner_white" }, /obj/structure/cable/green{ d1 = 2; @@ -817,8 +817,8 @@ /area/maintenance/bridge_elevator) "bJ" = ( /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 8 + dir = 8; + icon_state = "corner_white" }, /obj/machinery/light, /obj/machinery/atmospherics/pipe/simple/hidden{ @@ -833,8 +833,8 @@ /area/maintenance/bridge_elevator) "bL" = ( /obj/effect/floor_decal/corner/yellow/full{ - icon_state = "corner_white_full"; - dir = 4 + dir = 4; + icon_state = "corner_white_full" }, /obj/structure/cable/green, /obj/machinery/power/apc{ @@ -1548,8 +1548,8 @@ dir = 9 }, /obj/machinery/light{ - icon_state = "tube1"; - dir = 8 + dir = 8; + icon_state = "tube1" }, /turf/simulated/floor/tiled, /area/security/training) @@ -1717,8 +1717,8 @@ icon_state = "1-2" }, /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 2 + dir = 2; + icon_state = "pipe-j2" }, /turf/simulated/floor/tiled, /area/security/training) @@ -2065,6 +2065,9 @@ "eG" = ( /obj/structure/table/wood, /obj/item/device/flashlight/lamp/green, +/obj/item/paper_scanner{ + pixel_x = 6 + }, /turf/simulated/floor/carpet, /area/security/detectives_office) "eH" = ( @@ -2203,8 +2206,8 @@ }, /obj/machinery/firealarm/west, /obj/machinery/light{ - icon_state = "tube1"; - dir = 8 + dir = 8; + icon_state = "tube1" }, /turf/simulated/floor/tiled, /area/security/training) @@ -2363,8 +2366,8 @@ "fr" = ( /obj/machinery/photocopier, /obj/machinery/light{ - icon_state = "tube1"; - dir = 8 + dir = 8; + icon_state = "tube1" }, /turf/simulated/floor/lino/grey, /area/security/detectives_office) @@ -2513,8 +2516,8 @@ /area/security/detectives_office) "fH" = ( /turf/simulated/floor/tiled/ramp/bottom{ - tag = "icon-rampbot (NORTH)"; - dir = 1 + dir = 1; + tag = "icon-rampbot (NORTH)" }, /area/security/detectives_office) "fI" = ( @@ -2525,8 +2528,8 @@ /obj/structure/table/wood, /obj/item/device/camera_film, /obj/item/device/camera{ - name = "detectives camera"; desc = "A one use - polaroid camera. 30 photos left."; + name = "detectives camera"; pictures_left = 30 }, /turf/simulated/floor/lino/grey, @@ -2600,8 +2603,8 @@ /area/security/forensics_office) "fQ" = ( /obj/structure/disposalpipe/segment{ - icon_state = "conpipe-c"; - dir = 4 + dir = 4; + icon_state = "conpipe-c" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{ dir = 1 @@ -2651,8 +2654,8 @@ /obj/structure/table/wood, /obj/item/device/flashlight/lamp/green, /obj/machinery/light{ - icon_state = "tube1"; - dir = 8 + dir = 8; + icon_state = "tube1" }, /turf/simulated/floor/wood, /area/security/training) @@ -2665,6 +2668,9 @@ /obj/structure/table/wood, /obj/item/paper_bin, /obj/item/pen, +/obj/item/paper_scanner{ + pixel_x = -6 + }, /turf/simulated/floor/wood, /area/security/training) "fZ" = ( @@ -2898,8 +2904,8 @@ dir = 9 }, /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 2 + dir = 2; + icon_state = "pipe-j2" }, /obj/structure/cable/green{ d1 = 1; @@ -3097,8 +3103,8 @@ dir = 4 }, /obj/machinery/light{ - icon_state = "tube1"; - dir = 8 + dir = 8; + icon_state = "tube1" }, /turf/simulated/floor/tiled, /area/security/training) @@ -3145,8 +3151,8 @@ /area/maintenance/security_interstitial) "gN" = ( /obj/structure/disposalpipe/segment{ - icon_state = "conpipe-c"; - dir = 4 + dir = 4; + icon_state = "conpipe-c" }, /obj/structure/cable/green{ d1 = 2; @@ -3385,8 +3391,8 @@ dir = 6 }, /obj/structure/disposalpipe/segment{ - icon_state = "conpipe-c"; - dir = 4 + dir = 4; + icon_state = "conpipe-c" }, /obj/structure/cable/green{ d1 = 1; @@ -3542,8 +3548,8 @@ dir = 4 }, /obj/machinery/light{ - icon_state = "tube1"; - dir = 8 + dir = 8; + icon_state = "tube1" }, /turf/simulated/floor/tiled/dark, /area/security/training) @@ -3609,8 +3615,8 @@ desc = "Avery Bennett Memorial Hall
The 5th and final victim of the Odin Killer. He was slain by the Odin Killer for his brave, personal investigation on the killings. Studying to become a detective at the time of his death, he was posthumously granted the title.
November 2428 - June 2460" }, /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 4 + dir = 4; + icon_state = "pipe-j2" }, /turf/simulated/floor/tiled, /area/security/training) @@ -3700,8 +3706,8 @@ /obj/structure/table/steel, /obj/structure/metronome, /obj/machinery/light/small/red{ - tag = "icon-bulb1 (NORTH)"; - dir = 1 + dir = 1; + tag = "icon-bulb1 (NORTH)" }, /turf/simulated/floor/reinforced, /area/medical/psych) @@ -4141,8 +4147,8 @@ }, /obj/machinery/porta_turret/stationary, /obj/machinery/light/colored/blue{ - tag = "icon-tube_empty (WEST)"; - dir = 8 + dir = 8; + tag = "icon-tube_empty (WEST)" }, /turf/simulated/floor/plating, /area/bridge/selfdestruct) @@ -4152,8 +4158,8 @@ }, /obj/machinery/porta_turret/stationary, /obj/machinery/light/colored/blue{ - tag = "icon-tube_empty (EAST)"; - dir = 4 + dir = 4; + tag = "icon-tube_empty (EAST)" }, /turf/simulated/floor/plating, /area/bridge/selfdestruct) @@ -4552,8 +4558,8 @@ dir = 9 }, /obj/machinery/light{ - icon_state = "tube1"; - dir = 8 + dir = 8; + icon_state = "tube1" }, /turf/simulated/floor/tiled, /area/security/range) @@ -4604,8 +4610,8 @@ /area/security/investigations) "jF" = ( /obj/machinery/light{ - icon_state = "tube1"; - dir = 8 + dir = 8; + icon_state = "tube1" }, /turf/simulated/open, /area/security/training) @@ -4863,9 +4869,9 @@ /area/medical/psych) "kb" = ( /obj/machinery/chakraconsole{ - tag = "icon-body_scannerconsole (EAST)"; + dir = 4; icon_state = "body_scannerconsole"; - dir = 4 + tag = "icon-body_scannerconsole (EAST)" }, /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/effect/floor_decal/corner/green/diagonal, @@ -5063,8 +5069,8 @@ /area/medical/psych) "ks" = ( /obj/machinery/light{ - icon_state = "tube1"; - dir = 8 + dir = 8; + icon_state = "tube1" }, /obj/effect/floor_decal/corner_wide/green{ dir = 9 @@ -5242,8 +5248,8 @@ dir = 4 }, /obj/machinery/light{ - icon_state = "tube1"; - dir = 8 + dir = 8; + icon_state = "tube1" }, /obj/item/device/radio/intercom{ dir = 4; @@ -5388,8 +5394,8 @@ /area/medical/psych) "kZ" = ( /obj/machinery/light{ - icon_state = "tube1"; - dir = 8 + dir = 8; + icon_state = "tube1" }, /obj/machinery/firealarm/west, /obj/machinery/ringer{ @@ -5782,8 +5788,8 @@ /area/medical/psych) "lL" = ( /obj/machinery/light{ - icon_state = "tube1"; - dir = 8 + dir = 8; + icon_state = "tube1" }, /obj/effect/floor_decal/corner_wide/green/full, /turf/simulated/floor/tiled/white, @@ -5948,8 +5954,8 @@ /area/mine/unexplored) "mh" = ( /obj/effect/floor_decal/industrial/warning/dust{ - tag = "icon-warning_dust (SOUTHWEST)"; - dir = 10 + dir = 10; + tag = "icon-warning_dust (SOUTHWEST)" }, /turf/simulated/floor/airless{ icon_state = "asteroidplating" @@ -7276,8 +7282,8 @@ /area/maintenance/elevator) "tm" = ( /obj/effect/floor_decal/industrial/warning/dust{ - tag = "icon-warning_dust (SOUTHWEST)"; - dir = 10 + dir = 10; + tag = "icon-warning_dust (SOUTHWEST)" }, /obj/effect/floor_decal/industrial/warning/dust/corner{ dir = 4 @@ -7622,8 +7628,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 9 + dir = 9; + icon_state = "corner_white" }, /turf/simulated/floor/tiled, /area/maintenance/interstitial_main) @@ -8003,8 +8009,8 @@ pixel_y = 24 }, /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 5 + dir = 5; + icon_state = "corner_white" }, /obj/structure/cable/green{ d2 = 2; @@ -8347,8 +8353,8 @@ icon_state = "4-8" }, /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 4 + dir = 4; + icon_state = "corner_white" }, /turf/simulated/floor/tiled, /area/maintenance/interstitial_main) @@ -8926,8 +8932,8 @@ /area/quartermaster/storage) "En" = ( /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 9 + dir = 9; + icon_state = "corner_white" }, /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /turf/simulated/floor/tiled, @@ -9202,8 +9208,8 @@ /area/mine/unexplored) "FP" = ( /obj/machinery/light{ - icon_state = "tube1"; - dir = 8 + dir = 8; + icon_state = "tube1" }, /obj/effect/floor_decal/corner_wide/green{ dir = 9 @@ -9298,8 +9304,8 @@ /area/mine/unexplored) "Gv" = ( /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 10 + dir = 10; + icon_state = "corner_white" }, /obj/machinery/atmospherics/unary/vent_pump/on{ dir = 1 @@ -9312,8 +9318,8 @@ /area/maintenance/interstitial_construction_site/office) "Gz" = ( /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 10 + dir = 10; + icon_state = "corner_white" }, /obj/structure/cable{ d1 = 1; @@ -9587,8 +9593,8 @@ icon_state = "2-4" }, /obj/structure/disposalpipe/segment{ - icon_state = "conpipe-c"; - dir = 4 + dir = 4; + icon_state = "conpipe-c" }, /turf/simulated/floor/plating, /area/maintenance/medbay_interstitial) @@ -9763,8 +9769,8 @@ /area/quartermaster/storage) "IP" = ( /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 9 + dir = 9; + icon_state = "corner_white" }, /obj/structure/sign/vacuum{ pixel_x = -32 @@ -9794,8 +9800,8 @@ /obj/machinery/atmospherics/pipe/simple/hidden/scrubbers, /obj/machinery/door/firedoor, /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 9 + dir = 9; + icon_state = "corner_white" }, /turf/simulated/floor/tiled, /area/maintenance/interstitial_main) @@ -9920,8 +9926,8 @@ icon_state = "tube1" }, /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 6 + dir = 6; + icon_state = "corner_white" }, /obj/structure/extinguisher_cabinet{ pixel_x = 28 @@ -9962,8 +9968,8 @@ icon_state = "4-8" }, /obj/effect/floor_decal/corner/yellow/full{ - icon_state = "corner_white_full"; - dir = 4 + dir = 4; + icon_state = "corner_white_full" }, /turf/simulated/floor/tiled, /area/maintenance/interstitial_main) @@ -10297,8 +10303,8 @@ /area/maintenance/interstitial_cargo) "Kj" = ( /obj/machinery/light{ - icon_state = "tube1"; - dir = 8 + dir = 8; + icon_state = "tube1" }, /obj/effect/floor_decal/corner/grey/diagonal, /turf/simulated/floor/tiled, @@ -10498,8 +10504,8 @@ /area/medical/upperlevel) "Lr" = ( /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 5 + dir = 5; + icon_state = "corner_white" }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, @@ -10603,8 +10609,8 @@ icon_state = "12-0" }, /obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 + d2 = 4; + icon_state = "0-4" }, /turf/simulated/floor/plating{ roof_type = null @@ -10618,8 +10624,8 @@ icon_state = "1-8" }, /obj/structure/disposalpipe/junction{ - icon_state = "pipe-j2"; - dir = 4 + dir = 4; + icon_state = "pipe-j2" }, /turf/simulated/floor/plating, /area/maintenance/interstitial_cargo) @@ -10798,8 +10804,8 @@ /area/maintenance/engineering_ladder) "Mv" = ( /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 6 + dir = 6; + icon_state = "corner_white" }, /obj/machinery/alarm{ dir = 8; @@ -11034,8 +11040,8 @@ /area/maintenance/interstitial_cargo) "NJ" = ( /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 6 + dir = 6; + icon_state = "corner_white" }, /turf/simulated/floor/tiled, /area/maintenance/interstitial_main) @@ -11161,8 +11167,8 @@ icon_state = "1-4" }, /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 1 + dir = 1; + icon_state = "corner_white" }, /turf/simulated/floor/tiled, /area/maintenance/interstitial_main) @@ -11245,6 +11251,7 @@ }, /obj/structure/table/standard, /obj/effect/floor_decal/corner/paleblue/diagonal, +/obj/item/paper_scanner, /turf/simulated/floor/tiled/white, /area/security/forensics_office) "Pm" = ( @@ -11254,8 +11261,8 @@ icon_state = "4-8" }, /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 10 + dir = 10; + icon_state = "corner_white" }, /obj/machinery/alarm{ dir = 1; @@ -11613,8 +11620,8 @@ /area/medical/upperlevel) "QN" = ( /obj/effect/floor_decal/corner/yellow/full{ - icon_state = "corner_white_full"; - dir = 8 + dir = 8; + icon_state = "corner_white_full" }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /turf/simulated/floor/tiled, @@ -12055,8 +12062,8 @@ /area/security/forensics_office) "Ts" = ( /obj/machinery/light{ - icon_state = "tube1"; - dir = 8 + dir = 8; + icon_state = "tube1" }, /obj/machinery/atmospherics/unary/vent_pump/on, /obj/effect/floor_decal/corner/pink/full{ @@ -12270,8 +12277,8 @@ /area/quartermaster/storage) "UA" = ( /obj/effect/floor_decal/industrial/warning/dust{ - tag = "icon-warning_dust (SOUTHWEST)"; - dir = 10 + dir = 10; + tag = "icon-warning_dust (SOUTHWEST)" }, /obj/effect/decal/cleanable/dirt, /turf/simulated/floor/airless{ @@ -12437,8 +12444,8 @@ /obj/machinery/ringer{ department = "Cargo"; id = "cargo_ringer"; - req_access = list(31); - pixel_x = 30 + pixel_x = 30; + req_access = list(31) }, /obj/structure/lattice/catwalk/indoor, /turf/simulated/open, @@ -12574,8 +12581,8 @@ icon_state = "2-8" }, /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 5 + dir = 5; + icon_state = "corner_white" }, /turf/simulated/floor/tiled, /area/maintenance/interstitial_main) @@ -12739,8 +12746,8 @@ icon_state = "2-4" }, /obj/effect/floor_decal/corner/yellow/full{ - icon_state = "corner_white_full"; - dir = 1 + dir = 1; + icon_state = "corner_white_full" }, /obj/structure/cable/green{ d1 = 1; @@ -12847,8 +12854,8 @@ icon_state = "4-8" }, /obj/effect/floor_decal/corner/yellow{ - icon_state = "corner_white"; - dir = 10 + dir = 10; + icon_state = "corner_white" }, /turf/simulated/floor/tiled, /area/maintenance/interstitial_main)