diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index c464b78b86b..0eb24d18860 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -2056,7 +2056,7 @@ "aNB" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/crew_quarters/courtroom) "aNC" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/crew_quarters/courtroom) "aND" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/machinery/requests_console{department = "Law office"; pixel_x = 0; pixel_y = 32},/obj/machinery/newscaster{pixel_x = -31; pixel_y = 0},/turf/simulated/floor/wood,/area/lawoffice) -"aNE" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/pen/red,/obj/machinery/computer/security/telescreen{desc = "Used for watching Prison Wing holding areas."; name = "Prison Monitor"; network = list("Prison"); pixel_x = 0; pixel_y = 30},/turf/simulated/floor/wood,/area/lawoffice) +"aNE" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/book/manual/security_space_law,/obj/item/weapon/pen/multi,/obj/machinery/computer/security/telescreen{desc = "Used for watching Prison Wing holding areas."; name = "Prison Monitor"; network = list("Prison"); pixel_x = 0; pixel_y = 30},/turf/simulated/floor/wood,/area/lawoffice) "aNF" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/storage/briefcase{pixel_x = -3; pixel_y = 2},/obj/item/weapon/storage/secure/briefcase{pixel_x = 2; pixel_y = -2},/obj/item/clothing/glasses/sunglasses,/turf/simulated/floor/wood,/area/lawoffice) "aNG" = (/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/power/apc{dir = 1; name = "Law Office APC"; pixel_y = 24},/obj/structure/flora/kirbyplants{icon_state = "plant-21"; layer = 4.1; tag = "icon-plant-21"},/turf/simulated/floor/wood,/area/lawoffice) "aNH" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/lawoffice) @@ -2346,7 +2346,7 @@ "aTf" = (/obj/structure/stool/bed/chair{dir = 8; name = "Defense"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel{icon_state = "green"; dir = 6},/area/crew_quarters/courtroom) "aTg" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/extinguisher_cabinet{pixel_x = 27; pixel_y = 0},/turf/simulated/floor/plasteel,/area/crew_quarters/courtroom) "aTh" = (/obj/item/device/taperecorder{pixel_y = 0},/obj/item/weapon/cartridge/lawyer,/obj/machinery/door_control{id = "lawyer_blast"; name = "Privacy Shutters"; pixel_x = 0; pixel_y = -26},/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/lawoffice) -"aTi" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/lawoffice) +"aTi" = (/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen/multi,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/woodentable,/turf/simulated/floor/wood,/area/lawoffice) "aTj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/lawoffice) "aTk" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/wood,/area/lawoffice) "aTl" = (/obj/structure/closet/lawcloset,/obj/machinery/light_switch{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/wood,/area/lawoffice) @@ -5149,7 +5149,7 @@ "bVa" = (/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/blueshield) "bVb" = (/obj/structure/sign/poster/legit{pixel_x = -32},/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/ntrep) "bVc" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills{req_access_txt = "57"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/carpet,/area/ntrep) -"bVd" = (/obj/structure/table/woodentable,/obj/item/weapon/folder,/obj/item/weapon/stamp/centcom,/obj/item/weapon/pen/fountain,/turf/simulated/floor/carpet,/area/ntrep) +"bVd" = (/obj/structure/table/woodentable,/obj/item/weapon/folder,/obj/item/weapon/stamp/centcom,/obj/item/weapon/pen/multi/fountain,/turf/simulated/floor/carpet,/area/ntrep) "bVe" = (/obj/machinery/door/window{dir = 1; name = "Desk Door"; req_access_txt = "73"},/obj/machinery/keycard_auth{pixel_x = 24; pixel_y = 0},/turf/simulated/floor/wood,/area/ntrep) "bVf" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/stack/medical/ointment,/obj/item/stack/medical/bruise_pack,/obj/item/weapon/reagent_containers/syringe/charcoal,/obj/item/weapon/reagent_containers/syringe/epinephrine{pixel_x = -1; pixel_y = 2},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/gateway) "bVg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/gateway) diff --git a/_maps/map_files/cyberiad/cyberiad.dmm b/_maps/map_files/cyberiad/cyberiad.dmm index 099c35b2aa2..8f81531aa5b 100644 --- a/_maps/map_files/cyberiad/cyberiad.dmm +++ b/_maps/map_files/cyberiad/cyberiad.dmm @@ -278,7 +278,7 @@ "afs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/security/podbay) "aft" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/security/podbay) "afu" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Security Pods"; req_access_txt = "71"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/podbay) -"afv" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/gold,/turf/simulated/floor/carpet,/area/magistrateoffice) +"afv" = (/obj/structure/table/woodentable,/obj/item/weapon/pen/multi/gold,/turf/simulated/floor/carpet,/area/magistrateoffice) "afw" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/security/podbay) "afx" = (/obj/structure/grille,/obj/structure/lattice,/turf/space,/area/space) "afy" = (/turf/simulated/floor/plasteel,/area/security/range) @@ -1623,10 +1623,10 @@ "aFm" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/maintenance/port) "aFn" = (/obj/structure/table/reinforced,/obj/structure/disposalpipe/segment,/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/taperecorder{pixel_x = -4; pixel_y = 2},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/obj/item/device/camera{pixel_x = 3; pixel_y = -4},/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "aFo" = (/obj/structure/table/reinforced,/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/item/weapon/folder/blue{pixel_x = 5},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/folder/yellow{pixel_x = 2; pixel_y = 2},/obj/item/weapon/stamp/law,/obj/machinery/requests_console{department = "Internal Affairs Office"; name = "Internal Affairs Requests Console"; pixel_y = -30},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aFp" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/ashtray/plastic{pixel_x = 4; pixel_y = 6},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/weapon/pen,/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) +"aFp" = (/obj/structure/table/reinforced,/obj/item/ashtray/plastic{pixel_x = 4; pixel_y = 6},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/item/weapon/pen/multi,/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "aFq" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/obj/item/device/radio/intercom{name = "station intercom (General)"; pixel_y = -28},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "aFr" = (/obj/structure/table/reinforced,/obj/item/device/flashlight/lamp,/obj/machinery/requests_console{department = "Internal Affairs Office"; name = "Internal Affairs Requests Console"; pixel_y = -30},/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) -"aFs" = (/obj/structure/table/reinforced,/obj/item/weapon/pen/blue{pixel_x = -5; pixel_y = -1},/obj/item/weapon/pen/red{pixel_x = -1; pixel_y = 3},/obj/item/ashtray/plastic{pixel_x = 5; pixel_y = 6},/obj/machinery/power/apc{dir = 2; name = "Law Office APC"; pixel_y = -24},/obj/structure/cable,/obj/item/weapon/pen,/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) +"aFs" = (/obj/structure/table/reinforced,/obj/item/ashtray/plastic{pixel_x = 5; pixel_y = 6},/obj/machinery/power/apc{dir = 2; name = "Law Office APC"; pixel_y = -24},/obj/structure/cable,/obj/item/weapon/pen/multi,/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "aFt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/reinforced,/obj/machinery/door_control{id = "lawyer"; name = "Privacy Shutters Control"; pixel_y = -25},/obj/item/weapon/folder{pixel_x = -4},/obj/item/weapon/folder/red{pixel_y = 3},/obj/machinery/camera{c_tag = "Internal Affairs Office"; dir = 1; network = list("SS13")},/obj/item/weapon/folder/yellow,/obj/item/weapon/folder/blue{pixel_x = 5},/obj/item/weapon/stamp/law,/turf/simulated/floor/plasteel{tag = "icon-cult"; icon_state = "cult"; dir = 2},/area/lawoffice) "aFu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/effect/spawner/window/reinforced,/obj/machinery/door/poddoor/shutters{density = 0; dir = 4; icon_state = "shutter0"; id_tag = "lawyer"; name = "Privacy Shutters"; opacity = 0},/turf/simulated/floor/plating,/area/lawoffice) "aFv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "redcorner"; dir = 1},/area/hallway/primary/fore) @@ -5548,7 +5548,7 @@ "ccL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/photocopier,/turf/simulated/floor/wood,/area/ntrep) "ccM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet,/area/ntrep) "ccN" = (/obj/structure/table/woodentable,/obj/machinery/computer/skills{req_access_txt = "57"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/carpet,/area/ntrep) -"ccO" = (/obj/structure/table/woodentable,/obj/item/weapon/folder,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/weapon/stamp/centcom,/obj/item/weapon/pen/fountain,/turf/simulated/floor/carpet,/area/ntrep) +"ccO" = (/obj/structure/table/woodentable,/obj/item/weapon/folder,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/item/weapon/stamp/centcom,/obj/item/weapon/pen/multi/fountain,/turf/simulated/floor/carpet,/area/ntrep) "ccP" = (/obj/machinery/door/window{dir = 1; name = "Desk Door"; req_access_txt = "73"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/obj/machinery/keycard_auth{pixel_x = 24; pixel_y = 0},/turf/simulated/floor/wood,/area/ntrep) "ccQ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/hallway/primary/aft) "ccR" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/hallway/primary/aft) diff --git a/code/modules/mob/living/silicon/robot/robot_items.dm b/code/modules/mob/living/silicon/robot/robot_items.dm index fb46c2547de..965503cb288 100644 --- a/code/modules/mob/living/silicon/robot/robot_items.dm +++ b/code/modules/mob/living/silicon/robot/robot_items.dm @@ -1,23 +1,20 @@ // A special pen for service droids. Can be toggled to switch between normal writing mode, and paper rename mode // Allows service droids to rename paper items. -/obj/item/weapon/pen/robopen +/obj/item/weapon/pen/multi/robopen desc = "A black ink printing attachment with a paper naming mode." name = "Printing Pen" var/mode = 1 -/obj/item/weapon/pen/robopen/attack_self(mob/user as mob) +/obj/item/weapon/pen/multi/robopen/attack_self(mob/user as mob) var/choice = input("Would you like to change colour or mode?") as null|anything in list("Colour","Mode") if(!choice) return - playsound(src.loc, 'sound/effects/pop.ogg', 50, 0) - switch(choice) if("Colour") - var/newcolour = input("Which colour would you like to use?") as null|anything in list("black","blue","red","green","yellow") - if(newcolour) colour = newcolour + select_colour(user) if("Mode") if (mode == 1) @@ -25,13 +22,14 @@ else mode = 1 user << "Changed printing mode to '[mode == 2 ? "Rename Paper" : "Write Paper"]'" + playsound(src.loc, 'sound/effects/pop.ogg', 50, 0) return // Copied over from paper's rename verb // see code\modules\paperwork\paper.dm line 62 -/obj/item/weapon/pen/robopen/proc/RenamePaper(mob/user as mob,obj/paper as obj) +/obj/item/weapon/pen/multi/robopen/proc/RenamePaper(mob/user as mob,obj/paper as obj) if ( !user || !paper ) return var/n_name = input(user, "What would you like to label the paper?", "Paper Labelling", null) as text diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 9191ebbfa13..ca2e0c30fef 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -314,7 +314,7 @@ New() src.modules += new /obj/item/device/flashlight(src) src.modules += new /obj/item/device/flash/cyborg(src) - src.modules += new /obj/item/weapon/pen/robopen(src) + src.modules += new /obj/item/weapon/pen/multi/robopen(src) src.modules += new /obj/item/weapon/form_printer(src) src.modules += new /obj/item/device/taperecorder(src) src.modules += new /obj/item/weapon/gripper/paperwork(src) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 723f4a2147d..76128dae463 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -416,8 +416,8 @@ B.update_icon() else if(istype(P, /obj/item/weapon/pen) || istype(P, /obj/item/toy/crayon)) - var/obj/item/weapon/pen/robopen/RP = P - if(istype(P, /obj/item/weapon/pen/robopen) && RP.mode == 2) + var/obj/item/weapon/pen/multi/robopen/RP = P + if(istype(P, /obj/item/weapon/pen/multi/robopen) && RP.mode == 2) RP.RenamePaper(user,src) else show_content(user, infolinks = 1) diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index f463cc71447..6bba24d2805 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -50,24 +50,59 @@ icon_state = "pen" colour = "white" -/obj/item/weapon/pen/multi //spaceman96: Trenna Seber +/obj/item/weapon/pen/multi name = "multicolor pen" desc = "It's a cool looking pen. Lots of colors!" + // these values are for the overlay + var/list/colour_choices = list( + "black" = list(0.25, 0.25, 0.25), + "red" = list(1, 0.25, 0.25), + "green" = list(0, 1, 0), + "blue" = list(0.5, 0.5, 1), + "yellow" = list(1, 1, 0)) + var/pen_color_iconstate = "pencolor" + var/pen_color_shift = 3 + +/obj/item/weapon/pen/multi/New() + ..() + update_icon() + +/obj/item/weapon/pen/multi/proc/select_colour(mob/user as mob) + var/newcolour = input(user, "Which colour would you like to use?", name, colour) as null|anything in colour_choices + if(newcolour) + colour = newcolour + playsound(loc, 'sound/effects/pop.ogg', 50, 1) + update_icon() + +/obj/item/weapon/pen/multi/attack_self(mob/living/user as mob) + select_colour(user) + +/obj/item/weapon/pen/multi/update_icon() + overlays.Cut() + var/icon/o = new(icon, pen_color_iconstate) + var/list/c = colour_choices[colour] + o.SetIntensity(c[1], c[2], c[3]) + if(pen_color_shift) + o.Shift(SOUTH, pen_color_shift) + overlays += o + /obj/item/weapon/pen/fancy name = "fancy pen" desc = "A fancy metal pen. It uses blue ink. An inscription on one side reads,\"L.L. - L.R.\"" icon_state = "fancypen" -/obj/item/weapon/pen/gold +/obj/item/weapon/pen/multi/gold name = "Gilded Pen" desc = "A golden pen that is gilded with a meager amount of gold material. The word 'Nanotrasen' is etched on the clip of the pen." icon_state = "goldpen" - -/obj/item/weapon/pen/fountain + pen_color_shift = 0 + +/obj/item/weapon/pen/multi/fountain name = "Engraved Fountain Pen" desc = "An expensive looking pen." - icon_state = "fountainpen" + icon_state = "fountainpen" + pen_color_shift = 0 /obj/item/weapon/pen/attack(mob/living/M, mob/user) if(!istype(M)) diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index 830da266dd6..159d2f572f2 100644 Binary files a/icons/obj/bureaucracy.dmi and b/icons/obj/bureaucracy.dmi differ