From 981503afc674d5d87df8d191e347da97a01e9b7a Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Thu, 12 Oct 2023 02:31:12 +0200 Subject: [PATCH] [MIRROR] Microwave upgrades: Microwave PDA charging, power cells [MDB IGNORE] (#24283) * Microwave upgrades: Microwave PDA charging, power cells * skyrat edit --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> --- _maps/RandomZLevels/snowdin.dmm | 2 +- _maps/map_files/Birdshot/birdshot.dmm | 68 +-- .../map_files/Deltastation/DeltaStation2.dmm | 104 ++-- .../map_files/IceBoxStation/IceBoxStation.dmm | 326 +++++------ _maps/map_files/MetaStation/MetaStation.dmm | 170 +++--- _maps/map_files/NorthStar/north_star.dmm | 2 +- _maps/map_files/VoidRaptor/VoidRaptor.dmm | 28 +- _maps/map_files/tramstation/tramstation.dmm | 172 +++--- code/__DEFINES/wires.dm | 1 + code/datums/wires/microwave.dm | 20 +- .../effects/spawners/random/decoration.dm | 8 + .../effects/spawners/random/techstorage.dm | 1 + .../machines/machine_circuitboards.dm | 12 + code/game/objects/items/rcd/RCD.dm | 1 + code/game/objects/structures/showcase.dm | 8 +- code/game/turfs/open/floor.dm | 8 + code/modules/asset_cache/assets/rcd.dm | 1 + .../food_and_drinks/machinery/microwave.dm | 536 ++++++++++++++---- .../research/designs/machine_designs.dm | 10 + code/modules/research/techweb/all_nodes.dm | 1 + icons/hud/radial.dmi | Bin 32672 -> 32103 bytes icons/obj/machines/microwave.dmi | Bin 2053 -> 9948 bytes .../modules/aesthetics/kitchen/microwave.dmi | Bin 2102 -> 10914 bytes strings/tips.txt | 3 +- 24 files changed, 923 insertions(+), 559 deletions(-) diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm index a643bde9e4c..af28c01f413 100644 --- a/_maps/RandomZLevels/snowdin.dmm +++ b/_maps/RandomZLevels/snowdin.dmm @@ -9729,7 +9729,7 @@ /area/awaymission/snowdin/post/mining_main) "IV" = ( /obj/structure/table, -/obj/structure/showcase/machinery/microwave, +/obj/machinery/microwave/engineering/cell_included, /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/awaymission/snowdin/post/mining_main) diff --git a/_maps/map_files/Birdshot/birdshot.dmm b/_maps/map_files/Birdshot/birdshot.dmm index 4004e924842..0895d18df5c 100644 --- a/_maps/map_files/Birdshot/birdshot.dmm +++ b/_maps/map_files/Birdshot/birdshot.dmm @@ -893,6 +893,13 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos/project) +"arV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/structure/table, +/obj/machinery/microwave/engineering/cell_included, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "asb" = ( /obj/effect/turf_decal/siding/white, /turf/open/floor/iron/dark/small, @@ -3177,24 +3184,6 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron, /area/station/commons) -"bnl" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/yellow/full, -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/right/directional/east{ - name = "Pharmacy Desk"; - req_access = list("pharmacy") - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "pharmacy_shutters"; - name = "Pharmacy Shutters" - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/medical/pharmacy) "bno" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4728,6 +4717,24 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/noslip/tram_platform, /area/station/security/tram) +"bQF" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/yellow/full, +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/right/directional/east{ + name = "Pharmacy Desk"; + req_access = list("pharmacy") + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "pharmacy_shutters"; + name = "Pharmacy Shutters" + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/medical/pharmacy) "bQU" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -7290,12 +7297,6 @@ /obj/effect/turf_decal/tile/brown/full, /turf/open/floor/iron/smooth_large, /area/station/service/bar) -"cOL" = ( -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) "cOQ" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -26565,6 +26566,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"jCL" = ( +/obj/effect/turf_decal/tile/yellow/opposingcorners, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/small/directional/north, +/obj/structure/table, +/obj/effect/spawner/random/food_or_drink/donkpockets, +/turf/open/floor/iron, +/area/station/maintenance/department/engine/atmos) "jCP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42311,11 +42320,6 @@ }, /turf/open/floor/iron, /area/station/science/cytology) -"pdW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/yellow/opposingcorners, -/turf/open/floor/iron, -/area/station/maintenance/department/engine/atmos) "pdY" = ( /obj/machinery/portable_atmospherics/canister/bz, /turf/open/floor/iron/diagonal, @@ -84212,7 +84216,7 @@ yjE fPv dja bNq -pdW +arV dIm dQY ecq @@ -84469,7 +84473,7 @@ yjE uYG djC bNq -cOL +jCL dIe dRE ecF @@ -104612,7 +104616,7 @@ wfr nPd wfr nPd -bnl +bQF uxJ wfr wfr diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 91043d27344..dc37382b416 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -17333,12 +17333,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"enj" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave, -/obj/structure/sign/poster/random/directional/west, -/turf/open/floor/wood, -/area/station/engineering/break_room) "enq" = ( /obj/item/folder/yellow, /obj/item/multitool, @@ -22604,6 +22598,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"fCm" = ( +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "chemisttop"; + name = "Pharmacy Shutters" + }, +/obj/machinery/smartfridge/chemistry/preloaded, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "fCn" = ( /obj/machinery/door/airlock/medical{ name = "Medical Break Room" @@ -24965,16 +24969,6 @@ }, /turf/open/floor/iron, /area/station/science/xenobiology) -"gfK" = ( -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "chemisttop"; - name = "Pharmacy Shutters" - }, -/obj/machinery/smartfridge/chemistry/preloaded, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "gfR" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -25160,6 +25154,39 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"giO" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/structure/desk_bell{ + pixel_x = 7; + pixel_y = 6 + }, +/obj/item/folder/yellow{ + pixel_x = -3; + pixel_y = -6 + }, +/obj/item/pen{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "chemisttop"; + name = "Pharmacy Shutters" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/door/window/left/directional/west{ + name = "Pharmacy Desk"; + req_access = list("pharmacy"); + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/medical/pharmacy) "giY" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/contraband/random/directional/north, @@ -51844,39 +51871,6 @@ /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/dark/smooth_large, /area/station/security/interrogation) -"mUh" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/structure/desk_bell{ - pixel_x = 7; - pixel_y = 6 - }, -/obj/item/folder/yellow{ - pixel_x = -3; - pixel_y = -6 - }, -/obj/item/pen{ - pixel_x = -3; - pixel_y = -2 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "chemisttop"; - name = "Pharmacy Shutters" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/door/window/left/directional/west{ - name = "Pharmacy Desk"; - req_access = list("pharmacy"); - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/medical/pharmacy) "mUt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72845,6 +72839,12 @@ }, /turf/open/floor/iron, /area/station/maintenance/port) +"sjJ" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave/engineering/cell_included, +/obj/structure/sign/poster/random/directional/west, +/turf/open/floor/wood, +/area/station/engineering/break_room) "ske" = ( /obj/effect/spawner/random/entertainment/arcade, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -119146,7 +119146,7 @@ uiP vkg wlS vQj -enj +sjJ cJX fhr kTd @@ -136923,8 +136923,8 @@ uNY squ pEU cwh -gfK -mUh +fCm +giO cwh cwh udd diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 0944d4d9c04..bdde1b185ee 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -1,4 +1,12 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aaf" = ( +/obj/structure/table/glass, +/obj/machinery/microwave/engineering/cell_included, +/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/break_room) "aak" = ( /obj/structure/stairs/south, /obj/structure/railing{ @@ -1045,6 +1053,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"arO" = ( +/obj/effect/turf_decal/tile/blue, +/obj/machinery/light/directional/south, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/starboard) "arT" = ( /obj/machinery/computer/security/labor{ dir = 4 @@ -3211,28 +3225,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/dark, /area/station/service/chapel) -"aZO" = ( -/obj/machinery/camera{ - c_tag = "Medbay Pharmacy"; - dir = 9; - network = list("ss13","medbay") - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 1 - }, -/obj/machinery/shower/directional/south, -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/fluff{ - desc = "What, you think the water just magically soaks into the metallic flooring?"; - icon = 'icons/obj/mining_zones/survival_pod.dmi'; - icon_state = "fan_tiny"; - name = "shower drain" - }, -/obj/effect/turf_decal/stripes/white/end, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "aZV" = ( /obj/effect/landmark/start/atmospheric_technician, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10722,6 +10714,30 @@ }, /turf/open/floor/glass/reinforced, /area/station/science/xenobiology) +"dff" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/right/directional/east{ + name = "Pharmacy Desk"; + req_access = list("pharmacy") + }, +/obj/item/folder/white{ + pixel_x = -5 + }, +/obj/item/pen{ + pixel_x = -5 + }, +/obj/structure/desk_bell{ + pixel_x = 7 + }, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pharmacy_shutters"; + name = "Pharmacy Shutters"; + dir = 4 + }, +/turf/open/floor/iron, +/area/station/medical/pharmacy) "dfq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/closed/wall/r_wall, @@ -11978,24 +11994,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"dyR" = ( -/obj/structure/table/glass, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/screwdriver{ - pixel_x = 2; - pixel_y = 11 - }, -/obj/item/grenade/chem_grenade, -/obj/item/grenade/chem_grenade, -/obj/item/grenade/chem_grenade, -/obj/item/grenade/chem_grenade, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 1 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "dyW" = ( /obj/structure/sign/poster/official/random/directional/south, /obj/structure/table/optable{ @@ -16959,6 +16957,24 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"fdO" = ( +/obj/structure/table/glass, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/screwdriver{ + pixel_x = 2; + pixel_y = 11 + }, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/item/grenade/chem_grenade, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "fdP" = ( /obj/structure/bonfire, /obj/item/melee/roastingstick, @@ -17157,6 +17173,16 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) +"fib" = ( +/obj/machinery/smartfridge/chemistry/preloaded, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pharmacy_shutters2"; + name = "Pharmacy Shutters"; + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "fij" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17735,30 +17761,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"frp" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/right/directional/east{ - name = "Pharmacy Desk"; - req_access = list("pharmacy") - }, -/obj/item/folder/white{ - pixel_x = -5 - }, -/obj/item/pen{ - pixel_x = -5 - }, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmacy_shutters"; - name = "Pharmacy Shutters"; - dir = 4 - }, -/turf/open/floor/iron, -/area/station/medical/pharmacy) "frq" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch{ @@ -17895,6 +17897,28 @@ /obj/item/storage/box/prisoner, /turf/open/floor/iron/showroomfloor, /area/station/security/processing) +"ftB" = ( +/obj/machinery/camera{ + c_tag = "Medbay Pharmacy"; + dir = 9; + network = list("ss13","medbay") + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 + }, +/obj/machinery/shower/directional/south, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/fluff{ + desc = "What, you think the water just magically soaks into the metallic flooring?"; + icon = 'icons/obj/mining_zones/survival_pod.dmi'; + icon_state = "fan_tiny"; + name = "shower drain" + }, +/obj/effect/turf_decal/stripes/white/end, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "ftJ" = ( /obj/structure/table/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -22230,6 +22254,25 @@ /obj/item/reagent_containers/dropper, /turf/open/floor/iron/cafeteria, /area/station/science/lab) +"gNA" = ( +/obj/structure/table/reinforced, +/obj/item/folder/white, +/obj/item/pen, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/right/directional/east{ + base_state = "left"; + icon_state = "left"; + name = "Pharmacy Desk"; + req_access = list("pharmacy") + }, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pharmacy_shutters2"; + name = "Pharmacy Shutters"; + dir = 4 + }, +/turf/open/floor/iron, +/area/station/medical/pharmacy) "gNH" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -33557,6 +33600,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"kpb" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "kpf" = ( /obj/effect/turf_decal/tile/neutral/diagonal_edge, /obj/machinery/oven/range, @@ -35227,6 +35279,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/medical/cryo) +"kNg" = ( +/obj/machinery/smartfridge/chemistry/preloaded, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pharmacy_shutters"; + name = "Pharmacy Shutters"; + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "kNi" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -42524,16 +42586,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark/textured_large, /area/station/security/evidence) -"ncY" = ( -/obj/machinery/smartfridge/chemistry/preloaded, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmacy_shutters"; - name = "Pharmacy Shutters"; - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "ndb" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/computer/atmos_control/ordnancemix{ @@ -42997,6 +43049,14 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"njP" = ( +/obj/machinery/chem_mass_spec, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 8 + }, +/obj/structure/sign/warning/no_smoking/directional/west, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "njT" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -44945,15 +45005,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/cargo/lobby) -"nKs" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmacy_shutters"; - name = "Pharmacy Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/station/medical/pharmacy) "nKG" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -45957,15 +46008,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"ocF" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "ocY" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/spawner/random/engineering/tracking_beacon, @@ -52565,16 +52607,6 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/plating, /area/station/commons/storage/mining) -"qan" = ( -/obj/machinery/smartfridge/chemistry/preloaded, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmacy_shutters2"; - name = "Pharmacy Shutters"; - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "qau" = ( /obj/structure/fence{ dir = 4 @@ -55795,6 +55827,14 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/service/bar) +"qYp" = ( +/obj/machinery/chem_dispenser, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/light/directional/north, +/obj/effect/turf_decal/tile/yellow/full, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/white/smooth_large, +/area/station/medical/pharmacy) "qYw" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -58890,25 +58930,6 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"rXq" = ( -/obj/structure/table/reinforced, -/obj/item/folder/white, -/obj/item/pen, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/right/directional/east{ - base_state = "left"; - icon_state = "left"; - name = "Pharmacy Desk"; - req_access = list("pharmacy") - }, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmacy_shutters2"; - name = "Pharmacy Shutters"; - dir = 4 - }, -/turf/open/floor/iron, -/area/station/medical/pharmacy) "rXr" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -62124,14 +62145,6 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"sVt" = ( -/obj/machinery/chem_dispenser, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/light/directional/north, -/obj/effect/turf_decal/tile/yellow/full, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/white/smooth_large, -/area/station/medical/pharmacy) "sVL" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -68236,12 +68249,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"uXn" = ( -/obj/effect/turf_decal/tile/blue, -/obj/machinery/light/directional/south, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "uXu" = ( /obj/machinery/power/terminal{ dir = 4 @@ -74095,14 +74102,6 @@ "wNO" = ( /turf/open/genturf, /area/icemoon/surface/outdoors/unexplored/rivers/no_monsters) -"wNP" = ( -/obj/structure/table/glass, -/obj/machinery/microwave, -/obj/effect/turf_decal/tile/brown/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/break_room) "wNQ" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -74761,6 +74760,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"wWn" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pharmacy_shutters"; + name = "Pharmacy Shutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/pharmacy) "wWJ" = ( /turf/open/floor/iron/dark, /area/station/medical/morgue) @@ -77197,14 +77205,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"xGo" = ( -/obj/machinery/chem_mass_spec, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 8 - }, -/obj/structure/sign/warning/no_smoking/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "xGp" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/left/directional/north{ @@ -243858,7 +243858,7 @@ bai azw jqE kZb -xGo +njP azw fMg fqW @@ -244627,7 +244627,7 @@ lso dEV bai azw -dyR +fdO fTC xSu azw @@ -244882,9 +244882,9 @@ exw exw cwh dEV -uXn +arO azw -aZO +ftB eyc qPt uTc @@ -245402,8 +245402,8 @@ cJw dip bHO azw -rXq -qan +gNA +fib azw eiY tZm @@ -245655,7 +245655,7 @@ vwO hHg bai azw -ocF +kpb uTk sJA sHc @@ -245912,7 +245912,7 @@ lso aAa bai azw -sVt +qYp vYH nah azw @@ -246426,9 +246426,9 @@ mqq kjK bai azw -nKs -frp -ncY +wWn +dff +kNg azw gIY iBj @@ -251337,7 +251337,7 @@ xMM nqd ttO mFE -wNP +aaf pWY rQI phj diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index e1e8584540d..18fb519e73d 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -261,6 +261,16 @@ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) +"afF" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave/engineering/cell_included, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/tile/yellow{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/checker, +/area/station/engineering/storage_shared) "afZ" = ( /obj/machinery/vending/coffee, /obj/structure/disposalpipe/segment, @@ -6253,6 +6263,30 @@ /obj/effect/decal/cleanable/blood/old, /turf/open/floor/wood, /area/station/maintenance/port/aft) +"cph" = ( +/obj/structure/table/reinforced, +/obj/item/folder/white{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/machinery/door/firedoor, +/obj/item/folder/white{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/item/pen, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 4; + id = "pharmacy_shutters_2"; + name = "Pharmacy Shutters" + }, +/obj/machinery/door/window/right/directional/east{ + name = "Pharmacy Desk"; + req_access = list("pharmacy") + }, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "cpi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit/green{ @@ -15542,6 +15576,15 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"fLn" = ( +/obj/effect/spawner/random/decoration/microwave{ + dir = 1; + pixel_y = 2 + }, +/obj/structure/table/wood, +/obj/machinery/light/small/directional/south, +/turf/open/floor/carpet, +/area/station/command/corporate_showroom) "fLp" = ( /obj/structure/disposalpipe/junction{ dir = 8 @@ -18538,32 +18581,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) -"gSG" = ( -/obj/structure/table/reinforced, -/obj/item/folder/white{ - pixel_x = 4; - pixel_y = -3 - }, -/obj/machinery/door/firedoor, -/obj/item/folder/white{ - pixel_x = 4; - pixel_y = -3 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 1; - id = "pharmacy_shutters"; - name = "Pharmacy Shutters" - }, -/obj/structure/desk_bell{ - pixel_x = -8 - }, -/obj/machinery/door/window/left/directional/north{ - name = "Pharmacy Desk"; - req_access = list("pharmacy") - }, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "gSH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/hidden, /obj/machinery/rnd/server/master, @@ -26983,15 +27000,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/execution/transfer) -"jJu" = ( -/obj/structure/showcase/machinery/microwave{ - dir = 1; - pixel_y = 2 - }, -/obj/structure/table/wood, -/obj/machinery/light/small/directional/south, -/turf/open/floor/carpet, -/area/station/command/corporate_showroom) "jJC" = ( /obj/structure/disposalpipe/segment, /obj/structure/lattice/catwalk, @@ -29646,17 +29654,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"kGg" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave{ - pixel_y = 6 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/obj/machinery/digital_clock/directional/south, -/turf/open/floor/iron/dark, -/area/station/medical/break_room) "kGq" = ( /obj/machinery/light/directional/south, /obj/structure/disposalpipe/segment{ @@ -40420,30 +40417,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"oxH" = ( -/obj/structure/table/reinforced, -/obj/item/folder/white{ - pixel_x = 4; - pixel_y = -3 - }, -/obj/machinery/door/firedoor, -/obj/item/folder/white{ - pixel_x = 4; - pixel_y = -3 - }, -/obj/item/pen, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "pharmacy_shutters_2"; - name = "Pharmacy Shutters" - }, -/obj/machinery/door/window/right/directional/east{ - name = "Pharmacy Desk"; - req_access = list("pharmacy") - }, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "oxR" = ( /obj/structure/table, /obj/item/pipe_dispenser{ @@ -41529,6 +41502,32 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"oTp" = ( +/obj/structure/table/reinforced, +/obj/item/folder/white{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/machinery/door/firedoor, +/obj/item/folder/white{ + pixel_x = 4; + pixel_y = -3 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + dir = 1; + id = "pharmacy_shutters"; + name = "Pharmacy Shutters" + }, +/obj/structure/desk_bell{ + pixel_x = -8 + }, +/obj/machinery/door/window/left/directional/north{ + name = "Pharmacy Desk"; + req_access = list("pharmacy") + }, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "oTD" = ( /obj/structure/frame/computer, /turf/open/floor/plating/airless, @@ -62570,18 +62569,6 @@ /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"wiK" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave{ - pixel_y = 6 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/tile/yellow{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/checker, -/area/station/engineering/storage_shared) "wiS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -66861,6 +66848,15 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"xMk" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave/engineering/cell_included, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/machinery/digital_clock/directional/south, +/turf/open/floor/iron/dark, +/area/station/medical/break_room) "xMl" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=15-Court"; @@ -89300,7 +89296,7 @@ nGr aST tBs vRN -kGg +xMk rOF ryf vnV @@ -94671,7 +94667,7 @@ bKB eAL xQY kcF -gSG +oTp oar keK lXA @@ -94935,7 +94931,7 @@ hYA jsh rvE tZJ -oxH +cph tZJ eIO wKC @@ -95174,7 +95170,7 @@ jzN sUy dkL uOd -jJu +fLn jzN qyI qaP @@ -110056,7 +110052,7 @@ qjl wlx qPT jRb -wiK +afF qsv sKD lUz diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm index 996c2c57eef..b43c9c7acfc 100644 --- a/_maps/map_files/NorthStar/north_star.dmm +++ b/_maps/map_files/NorthStar/north_star.dmm @@ -27647,7 +27647,7 @@ /turf/open/floor/iron/white, /area/station/science/ordnance/testlab) "hnH" = ( -/obj/machinery/microwave, +/obj/machinery/microwave/engineering/cell_included, /obj/structure/table/reinforced/rglass, /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white/textured, diff --git a/_maps/map_files/VoidRaptor/VoidRaptor.dmm b/_maps/map_files/VoidRaptor/VoidRaptor.dmm index a7e3c6d39a6..eedc9a22ce0 100644 --- a/_maps/map_files/VoidRaptor/VoidRaptor.dmm +++ b/_maps/map_files/VoidRaptor/VoidRaptor.dmm @@ -21299,17 +21299,10 @@ /area/station/command/heads_quarters/rd) "gjk" = ( /obj/structure/table/reinforced, -/obj/item/storage/medkit/fire{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/radio/off{ - pixel_x = 6; - pixel_y = 6 - }, /obj/effect/turf_decal/trimline/yellow/filled/warning{ dir = 10 }, +/obj/machinery/microwave/engineering/cell_included, /turf/open/floor/iron/smooth, /area/station/engineering/lobby) "gjl" = ( @@ -22007,11 +22000,7 @@ }, /obj/structure/table, /obj/machinery/status_display/evac/directional/west, -/obj/machinery/microwave{ - desc = "Cooks and boils stuff, somehow."; - pixel_x = -2; - pixel_y = 5 - }, +/obj/machinery/microwave/engineering/cell_included, /turf/open/floor/iron/dark, /area/station/medical/break_room) "gtq" = ( @@ -76670,11 +76659,6 @@ dir = 6 }, /obj/structure/table/reinforced, -/obj/machinery/microwave{ - desc = "Cooks and boils stuff, somehow."; - pixel_x = -2; - pixel_y = 5 - }, /obj/machinery/requests_console/directional/south{ department = "Engineering"; dir = 4; @@ -76684,6 +76668,14 @@ }, /obj/effect/mapping_helpers/requests_console/supplies, /obj/effect/mapping_helpers/requests_console/assistance, +/obj/item/storage/medkit/fire{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/radio/off{ + pixel_x = 6; + pixel_y = 6 + }, /turf/open/floor/iron/smooth, /area/station/engineering/lobby) "vlS" = ( diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index 37536770b20..9bfe7ed759e 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -3664,16 +3664,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"avM" = ( -/obj/structure/table/reinforced, -/obj/machinery/microwave{ - pixel_y = 6 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/break_room) "avP" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -10454,15 +10444,6 @@ }, /turf/open/floor/plating, /area/station/science/xenobiology) -"cze" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmacy_shutters_2"; - name = "Pharmacy Shutters"; - dir = 4 - }, -/turf/open/floor/plating, -/area/station/medical/pharmacy) "czg" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -13785,24 +13766,6 @@ }, /turf/open/openspace, /area/station/hallway/primary/tram/left) -"dII" = ( -/obj/structure/table/reinforced, -/obj/structure/desk_bell{ - pixel_x = -7 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmacy_shutters_2"; - name = "Pharmacy Shutters"; - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/south{ - dir = 4; - name = "Chemistry Desk"; - req_access = list("pharmacy") - }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "dIK" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance/freezerchamber) @@ -26814,6 +26777,15 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"iHQ" = ( +/obj/machinery/smartfridge/chemistry/preloaded, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pharmacy_shutters_2"; + name = "Pharmacy Shutters" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "iHT" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/structure/disposalpipe/segment, @@ -35162,15 +35134,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"lxJ" = ( -/obj/machinery/smartfridge/chemistry/preloaded, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmacy_shutters_2"; - name = "Pharmacy Shutters" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "lxW" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/firealarm/directional/south, @@ -42300,17 +42263,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"nYJ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/table/glass, -/obj/machinery/microwave, -/obj/structure/cable, -/obj/machinery/light/warm/directional/west, -/turf/open/floor/iron, -/area/station/engineering/break_room) "nYL" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{ dir = 8 @@ -42349,6 +42301,21 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) +"nZy" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/obj/structure/table/glass, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/item/storage/box/donkpockets/donkpocketberry{ + pixel_y = 10; + pixel_x = -6 + }, +/turf/open/floor/iron, +/area/station/engineering/break_room) "nZL" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -43375,17 +43342,6 @@ }, /turf/open/floor/iron/white, /area/station/science/lower) -"otF" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/obj/structure/table/glass, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) "otP" = ( /obj/structure/railing/corner{ dir = 8 @@ -45402,6 +45358,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) +"plq" = ( +/obj/machinery/smartfridge/chemistry/preloaded, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pharmacy_shutters_2"; + name = "Pharmacy Shutters"; + dir = 4 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/station/medical/pharmacy) "plr" = ( /obj/machinery/door/airlock{ id_tag = "miningdorm3"; @@ -45531,6 +45497,24 @@ /obj/machinery/light/warm/directional/east, /turf/open/floor/iron, /area/station/engineering/break_room) +"pmZ" = ( +/obj/structure/table/reinforced, +/obj/structure/desk_bell{ + pixel_x = -7 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pharmacy_shutters_2"; + name = "Pharmacy Shutters"; + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/left/directional/south{ + dir = 4; + name = "Chemistry Desk"; + req_access = list("pharmacy") + }, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "pne" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment{ @@ -48834,6 +48818,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/freezer, /area/station/commons/toilet) +"qul" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/table/glass, +/obj/machinery/microwave/engineering/cell_included, +/obj/structure/cable, +/obj/machinery/light/warm/directional/west, +/turf/open/floor/iron, +/area/station/engineering/break_room) "qup" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59248,6 +59243,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"udE" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "pharmacy_shutters_2"; + name = "Pharmacy Shutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/pharmacy) "udO" = ( /obj/structure/chair/stool/bar/directional/south, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -60444,16 +60448,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/cargo/drone_bay) -"uwS" = ( -/obj/machinery/smartfridge/chemistry/preloaded, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "pharmacy_shutters_2"; - name = "Pharmacy Shutters"; - dir = 4 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/station/medical/pharmacy) "uxj" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -67189,6 +67183,14 @@ "wQm" = ( /turf/open/floor/iron, /area/station/engineering/atmos) +"wQq" = ( +/obj/structure/table/reinforced, +/obj/machinery/microwave/engineering/cell_included, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/break_room) "wQr" = ( /obj/effect/turf_decal/weather/snow, /obj/machinery/vending/wardrobe/chef_wardrobe, @@ -102074,8 +102076,8 @@ akI cJM ulV bbj -nYJ -otF +qul +nZy ryJ gzZ cFP @@ -165294,7 +165296,7 @@ dVj wrT xqO suG -lxJ +iHQ ryy aKM jaQ @@ -166315,9 +166317,9 @@ cYi uQT sBr jyH -uwS -dII -cze +plq +pmZ +udE jyH jyH jyH @@ -170198,7 +170200,7 @@ gVO vXT cyL nen -avM +wQq adM oGJ qaO diff --git a/code/__DEFINES/wires.dm b/code/__DEFINES/wires.dm index 6f618ac8240..2b4c528abc2 100644 --- a/code/__DEFINES/wires.dm +++ b/code/__DEFINES/wires.dm @@ -37,6 +37,7 @@ #define WIRE_LIMIT "Limiter" #define WIRE_LOADCHECK "Load Check" #define WIRE_LOCKDOWN "Lockdown" +#define WIRE_MODE_SELECT "Mode Select" #define WIRE_MOTOR1 "Motor 1" #define WIRE_MOTOR2 "Motor 2" #define WIRE_OPEN "Open" diff --git a/code/datums/wires/microwave.dm b/code/datums/wires/microwave.dm index abce90e8de5..e3efabac08c 100644 --- a/code/datums/wires/microwave.dm +++ b/code/datums/wires/microwave.dm @@ -4,7 +4,8 @@ /datum/wires/microwave/New(atom/holder) wires = list( - WIRE_ACTIVATE + WIRE_ACTIVATE, + WIRE_MODE_SELECT ) ..() @@ -12,18 +13,23 @@ if(!..()) return FALSE . = FALSE - var/obj/machinery/microwave/M = holder - if(M.panel_open) + var/obj/machinery/microwave/mw = holder + if(mw.panel_open) . = TRUE /datum/wires/microwave/on_pulse(wire) - var/obj/machinery/microwave/M = holder + var/obj/machinery/microwave/mw = holder switch(wire) if(WIRE_ACTIVATE) - M.cook() + mw.cook() + if(WIRE_MODE_SELECT) + if(mw.vampire_charging_capable) + mw.vampire_charging_enabled = !mw.vampire_charging_enabled /datum/wires/microwave/on_cut(wire, mend, source) - var/obj/machinery/microwave/M = holder + var/obj/machinery/microwave/mw = holder switch(wire) if(WIRE_ACTIVATE) - M.wire_disabled = !mend + mw.wire_disabled = !mend + if(WIRE_MODE_SELECT) + mw.wire_mode_swap = !mend diff --git a/code/game/objects/effects/spawners/random/decoration.dm b/code/game/objects/effects/spawners/random/decoration.dm index 1beafc37df5..6116d228733 100644 --- a/code/game/objects/effects/spawners/random/decoration.dm +++ b/code/game/objects/effects/spawners/random/decoration.dm @@ -93,6 +93,14 @@ loot_type_path = /obj/structure/showcase loot = list() +/obj/effect/spawner/random/decoration/microwave + name = "microwave showcase spawner" + icon_state = "showcase" + loot = list( + /obj/structure/showcase/machinery/microwave, + /obj/structure/showcase/machinery/microwave_engineering, + ) + /obj/effect/spawner/random/decoration/glowstick name = "random colored glowstick" icon_state = "glowstick" diff --git a/code/game/objects/effects/spawners/random/techstorage.dm b/code/game/objects/effects/spawners/random/techstorage.dm index c1f93040396..4bfdeec27d1 100644 --- a/code/game/objects/effects/spawners/random/techstorage.dm +++ b/code/game/objects/effects/spawners/random/techstorage.dm @@ -34,6 +34,7 @@ /obj/item/circuitboard/machine/ore_redemption, /obj/item/circuitboard/computer/order_console/mining, /obj/item/circuitboard/machine/microwave, + /obj/item/circuitboard/machine/microwave/engineering, /obj/item/circuitboard/machine/deep_fryer, /obj/item/circuitboard/machine/griddle, /obj/item/circuitboard/machine/reagentgrinder, diff --git a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm index 917589d8dfb..f41cb62c9de 100644 --- a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm @@ -1251,10 +1251,22 @@ req_components = list( /datum/stock_part/micro_laser = 1, /datum/stock_part/matter_bin = 1, + /datum/stock_part/capacitor = 1, /obj/item/stack/cable_coil = 2, /obj/item/stack/sheet/glass = 2) needs_anchored = FALSE +/obj/item/circuitboard/machine/microwave/engineering + name = "Wireless Microwave Oven" + greyscale_colors = CIRCUIT_COLOR_SERVICE + build_path = /obj/machinery/microwave/engineering + req_components = list( + /datum/stock_part/micro_laser = 1, + /datum/stock_part/matter_bin = 1, + /datum/stock_part/capacitor/tier2 = 1, + /obj/item/stack/cable_coil = 4, + /obj/item/stack/sheet/glass = 2) + /obj/item/circuitboard/machine/processor name = "Food Processor" greyscale_colors = CIRCUIT_COLOR_SERVICE diff --git a/code/game/objects/items/rcd/RCD.dm b/code/game/objects/items/rcd/RCD.dm index 27c04aa7479..33994c91774 100644 --- a/code/game/objects/items/rcd/RCD.dm +++ b/code/game/objects/items/rcd/RCD.dm @@ -76,6 +76,7 @@ list(FURNISH_TYPE = /obj/structure/table/glass, ICON = "glass_table", TITLE = "Glass Table"), list(FURNISH_TYPE = /obj/structure/rack, ICON = "rack", TITLE = "Rack"), list(FURNISH_TYPE = /obj/structure/bed, ICON = "bed", TITLE = "Bed"), + list(FURNISH_TYPE = /obj/machinery/microwave/engineering, ICON = "engi_mw_complete", TITLE = "Wireless Microwave"), ), ), diff --git a/code/game/objects/structures/showcase.dm b/code/game/objects/structures/showcase.dm index 91ccdaef80a..2349d9b0f49 100644 --- a/code/game/objects/structures/showcase.dm +++ b/code/game/objects/structures/showcase.dm @@ -84,7 +84,13 @@ name = "\improper Nanotrasen-brand microwave" desc = "The famous Nanotrasen-brand microwave, the multi-purpose cooking appliance every station needs! This one appears to be drawn onto a cardboard box." icon = 'icons/obj/machines/microwave.dmi' - icon_state = "map_icon" + icon_state = "mw_complete" + +/obj/structure/showcase/machinery/microwave_engineering + name = "\improper Nanotrasen Wave(tm) microwave" + desc = "Just when everyone thought Nanotrasen couldn't improve on their famous microwave, this 2563 model features Wave™! A Nanotrasen exclusive, Wave™ allows your PDA to be charged wirelessly through microwave frequencies. Because nothing says 'future' like charging your PDA while overcooking your leftovers. Nanotrasen Wave™ - Multitasking, redefined." + icon = 'icons/obj/machines/microwave.dmi' + icon_state = "engi_mw_complete" /obj/structure/showcase/machinery/cloning_pod name = "cloning pod exhibit" diff --git a/code/game/turfs/open/floor.dm b/code/game/turfs/open/floor.dm index a0d1a191bc6..8c80b35bb3d 100644 --- a/code/game/turfs/open/floor.dm +++ b/code/game/turfs/open/floor.dm @@ -264,6 +264,9 @@ else if(the_rcd.furnish_type == /obj/structure/bed) cost = 8 delay = 1.5 SECONDS + else if(the_rcd.furnish_type == /obj/machinery/microwave/engineering) + cost = 48 + delay = 4 SECONDS if(cost == 0) return FALSE return list("mode" = RCD_FURNISHING, "delay" = cost, "cost" = delay) @@ -380,6 +383,11 @@ return FALSE var/atom/new_furnish = new the_rcd.furnish_type(src) new_furnish.setDir(user.dir) + if(istype(new_furnish, /obj/machinery/microwave/engineering)) + var/obj/machinery/microwave/engineering/new_mw = new_furnish + var/obj/item/stock_parts/cell/new_cell = new() + new_mw.cell = new_cell + new_mw.update_appearance() return TRUE return FALSE diff --git a/code/modules/asset_cache/assets/rcd.dm b/code/modules/asset_cache/assets/rcd.dm index e4c54929dae..c57d7881d13 100644 --- a/code/modules/asset_cache/assets/rcd.dm +++ b/code/modules/asset_cache/assets/rcd.dm @@ -14,6 +14,7 @@ 'icons/obj/smooth_structures/catwalk.dmi' = list("catwalk-0"), 'icons/hud/radial.dmi' = list("cnorth", "csouth", "ceast", "cwest", "chair", "secure_windoor", "stool", "wallfloor", "windowsize", "windowtype", "windoor"), 'icons/obj/structures.dmi' = list("glass_table", "rack", "rwindow0", "reflector_base", "table", "window0", "girder"), + 'icons/obj/machines/microwave.dmi' = list("engi_mw_complete"), ) var/icon/icon diff --git a/code/modules/food_and_drinks/machinery/microwave.dm b/code/modules/food_and_drinks/machinery/microwave.dm index 36d98c907a5..d52e2213a5b 100644 --- a/code/modules/food_and_drinks/machinery/microwave.dm +++ b/code/modules/food_and_drinks/machinery/microwave.dm @@ -14,11 +14,15 @@ /// The max amount of dirtiness a microwave can be #define MAX_MICROWAVE_DIRTINESS 100 -/obj/machinery/microwave//SKYRAT EDIT - ICON OVERRIDEN BY AESTHETICS - SEE MODULE +/// For the wireless version, and display fluff +#define TIER_1_CELL_CHARGE_RATE 250 + +/obj/machinery/microwave name = "microwave oven" desc = "Cooks and boils stuff." icon = 'icons/obj/machines/microwave.dmi' - icon_state = "map_icon" + base_icon_state = "" + icon_state = "mw_complete" appearance_flags = KEEP_TOGETHER | LONG_GLIDE | PIXEL_SCALE layer = BELOW_OBJ_LAYER density = TRUE @@ -27,30 +31,63 @@ light_color = LIGHT_COLOR_DIM_YELLOW light_power = 3 anchored_tabletop_offset = 6 - var/wire_disabled = FALSE // is its internal wire cut? + /// Is its function wire cut? + var/wire_disabled = FALSE + /// Wire cut to run mode backwards + var/wire_mode_swap = FALSE var/operating = FALSE /// How dirty is it? var/dirty = 0 var/dirty_anim_playing = FALSE /// How broken is it? NOT_BROKEN, KINDA_BROKEN, REALLY_BROKEN var/broken = NOT_BROKEN + /// Microwave door position var/open = FALSE + /// Microwave max capacity var/max_n_of_items = 10 + /// Microwave efficiency (power) based on the stock components var/efficiency = 0 + /// If we use a cell instead of powernet + var/cell_powered = FALSE + /// The cell we charge with + var/obj/item/stock_parts/cell/cell + /// The cell we're charging + var/obj/item/stock_parts/cell/vampire_cell + /// Capable of vampire charging PDAs + var/vampire_charging_capable = FALSE + /// Charge contents of microwave instead of cook + var/vampire_charging_enabled = FALSE var/datum/looping_sound/microwave/soundloop - var/list/ingredients = list() // may only contain /atom/movables - + /// May only contain /atom/movables + var/list/ingredients = list() + /// When this is the nth ingredient, whats its pixel_x? + var/list/ingredient_shifts_x = list( + -2, + 1, + -5, + 2, + -6, + 0, + -4, + ) + /// When this is the nth ingredient, whats its pixel_y? + var/list/ingredient_shifts_y = list( + -4, + -2, + -3, + ) var/static/radial_examine = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_examine") var/static/radial_eject = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_eject") - var/static/radial_use = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_use") + var/static/radial_cook = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_cook") + var/static/radial_charge = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_charge") // we show the button even if the proc will not work - var/static/list/radial_options = list("eject" = radial_eject, "use" = radial_use) - var/static/list/ai_radial_options = list("eject" = radial_eject, "use" = radial_use, "examine" = radial_examine) + var/static/list/radial_options = list("eject" = radial_eject, "cook" = radial_cook, "charge" = radial_charge) + var/static/list/ai_radial_options = list("eject" = radial_eject, "cook" = radial_cook, "charge" = radial_charge, "examine" = radial_examine) /obj/machinery/microwave/Initialize(mapload) . = ..() - + register_context() set_wires(new /datum/wires/microwave(src)) create_reagents(100) soundloop = new(src, FALSE) @@ -66,7 +103,6 @@ itemized_ingredient.pixel_y = itemized_ingredient.base_pixel_y + rand(-5, 6) return ..() - /obj/machinery/microwave/on_deconstruction() eject() return ..() @@ -75,21 +111,70 @@ QDEL_LIST(ingredients) QDEL_NULL(wires) QDEL_NULL(soundloop) + if(!isnull(cell)) + QDEL_NULL(cell) return ..() +/obj/machinery/microwave/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = ..() + if(cell_powered) + if(!isnull(cell)) + context[SCREENTIP_CONTEXT_CTRL_LMB] = "Remove cell" + else if(held_item && istype(held_item, /obj/item/stock_parts/cell)) + context[SCREENTIP_CONTEXT_CTRL_LMB] = "Insert cell" + + if(!anchored && held_item?.tool_behaviour == TOOL_WRENCH) + context[SCREENTIP_CONTEXT_LMB] = "Install/Secure" + return CONTEXTUAL_SCREENTIP_SET + + if(broken > NOT_BROKEN) + if(broken == REALLY_BROKEN && held_item?.tool_behaviour == TOOL_WIRECUTTER) + context[SCREENTIP_CONTEXT_LMB] = "Repair" + return CONTEXTUAL_SCREENTIP_SET + + else if(broken == KINDA_BROKEN && held_item?.tool_behaviour == TOOL_WELDER) + context[SCREENTIP_CONTEXT_LMB] = "Repair" + return CONTEXTUAL_SCREENTIP_SET + + context[SCREENTIP_CONTEXT_LMB] = "Show menu" + + if(vampire_charging_capable) + context[SCREENTIP_CONTEXT_ALT_LMB] = "Change to [vampire_charging_enabled ? "cook" : "charge"]" + + if(length(ingredients) != 0) + context[SCREENTIP_CONTEXT_RMB] = "Start [vampire_charging_enabled ? "charging" : "cooking"]" + + return CONTEXTUAL_SCREENTIP_SET + /obj/machinery/microwave/RefreshParts() . = ..() efficiency = 0 + vampire_charging_capable = FALSE for(var/datum/stock_part/micro_laser/micro_laser in component_parts) efficiency += micro_laser.tier for(var/datum/stock_part/matter_bin/matter_bin in component_parts) max_n_of_items = 10 * matter_bin.tier break + for(var/datum/stock_part/capacitor/capacitor in component_parts) + if(capacitor.tier >= 2) + vampire_charging_capable = TRUE + visible_message(span_notice("The [EXAMINE_HINT("Charge Ready")] light on \the [src] flickers to life.")) + break /obj/machinery/microwave/examine(mob/user) . = ..() + if(vampire_charging_capable) + . += span_info("This model features Wave™: a Nanotrasen exclusive. Our latest and greatest, Wave™ allows your PDA to be charged wirelessly through microwave frequencies! You can Wave-charge your device by placing it inside and selecting the charge mode.") + . += span_info("Because nothing says 'future' like charging your PDA while overcooking your leftovers. Nanotrasen Wave™ - Multitasking, redefined.") + + if(cell_powered) + . += span_notice("This model is wireless, powered by portable cells. [isnull(cell) ? "The cell slot is empty." : "[EXAMINE_HINT("Ctrl-click")] to remove the power cell."]") + if(!operating) - . += span_notice("Right-click [src] to turn it on.") + if(!operating && vampire_charging_capable) + . += span_notice("[EXAMINE_HINT("Alt-click")] to change default mode.") + + . += span_notice("[EXAMINE_HINT("Right-click")] to start [vampire_charging_enabled ? "charging" : "cooking"] cycle.") if(!in_range(user, src) && !issilicon(user) && !isobserver(user)) . += span_warning("You're too far away to examine [src]'s contents and display!") @@ -106,46 +191,37 @@ var/list/items_counts = new for(var/i in ingredients) if(isstack(i)) - var/obj/item/stack/S = i - items_counts[S.name] += S.amount + var/obj/item/stack/item_stack = i + items_counts[item_stack.name] += item_stack.amount else - var/atom/movable/AM = i - items_counts[AM.name]++ - for(var/O in items_counts) - . += span_notice("- [items_counts[O]]x [O].") + var/atom/movable/single_item = i + items_counts[single_item.name]++ + for(var/item in items_counts) + . += span_notice("- [items_counts[item]]x [item].") else . += span_notice("\The [src] is empty.") if(!(machine_stat & (NOPOWER|BROKEN))) . += "[span_notice("The status display reads:")]\n"+\ + "[span_notice("- Mode: [vampire_charging_enabled ? "Charge" : "Cook"].")]\n"+\ "[span_notice("- Capacity: [max_n_of_items] items.")]\n"+\ - span_notice("- Cook time reduced by [(efficiency - 1) * 25]%.") + span_notice("- Power: [efficiency * TIER_1_CELL_CHARGE_RATE]W.") + + if(cell_powered) + . += span_notice("- Charge: [isnull(cell) ? "INSERT CELL" : "[round(cell.percent())]%"].") #define MICROWAVE_INGREDIENT_OVERLAY_SIZE 24 /obj/machinery/microwave/update_overlays() - // When this is the nth ingredient, whats its pixel_x? - var/static/list/ingredient_shifts = list( - // SKYRAT EDIT CHANGE START - All values offset by -3 from original - -3, - 0, - -6, - 1, - -7, - -1, - -5, - // SKYRAT EDIT CHANGE END - ) - . = ..() // All of these will use a full icon state instead - if (panel_open || dirty == MAX_MICROWAVE_DIRTINESS || broken || dirty_anim_playing) + if(panel_open || dirty == MAX_MICROWAVE_DIRTINESS || broken || dirty_anim_playing) return . var/ingredient_count = 0 - for (var/atom/movable/ingredient as anything in ingredients) + for(var/atom/movable/ingredient as anything in ingredients) var/image/ingredient_overlay = image(ingredient, src) var/list/icon_dimensions = get_icon_dimensions(ingredient.icon) @@ -154,11 +230,11 @@ MICROWAVE_INGREDIENT_OVERLAY_SIZE / icon_dimensions["height"], ) - ingredient_overlay.pixel_y = -4 + ingredient_overlay.pixel_x = ingredient_shifts_x[(ingredient_count % ingredient_shifts_x.len) + 1] + ingredient_overlay.pixel_y = ingredient_shifts_y[(ingredient_count % ingredient_shifts_y.len) + 1] ingredient_overlay.layer = FLOAT_LAYER ingredient_overlay.plane = FLOAT_PLANE ingredient_overlay.blend_mode = BLEND_INSET_OVERLAY - ingredient_overlay.pixel_x = ingredient_shifts[(ingredient_count % ingredient_shifts.len) + 1] ingredient_count += 1 @@ -167,46 +243,67 @@ var/border_icon_state var/door_icon_state - if (open) - door_icon_state = "door_open" - border_icon_state = "mwo" - else if (operating) - door_icon_state = "door_on" - border_icon_state = "mw1" + if(open) + door_icon_state = "[base_icon_state]door_open" + border_icon_state = "[base_icon_state]mwo" + else if(operating) + if(vampire_charging_enabled) + door_icon_state = "[base_icon_state]door_charge" + else + door_icon_state = "[base_icon_state]door_on" + border_icon_state = "[base_icon_state]mw1" else - door_icon_state = "door_off" - border_icon_state = "mw" + door_icon_state = "[base_icon_state]door_off" + border_icon_state = "[base_icon_state]mw" + . += mutable_appearance( icon, door_icon_state, - alpha = ingredients.len > 0 ? 128 : 255, ) . += border_icon_state - if (!open) - . += "door_handle" + if(!open) + . += "[base_icon_state]door_handle" + + if(!(machine_stat & NOPOWER) || cell_powered) + . += emissive_appearance(icon, "emissive_[border_icon_state]", src, alpha = src.alpha) + + if(cell_powered && !isnull(cell)) + switch(cell.percent()) + if(75 to 100) + . += mutable_appearance(icon, "[base_icon_state]cell_100") + . += emissive_appearance(icon, "[base_icon_state]cell_100", src, alpha = src.alpha) + if(50 to 75) + . += mutable_appearance(icon, "[base_icon_state]cell_75") + . += emissive_appearance(icon, "[base_icon_state]cell_75", src, alpha = src.alpha) + if(25 to 50) + . += mutable_appearance(icon, "[base_icon_state]cell_25") + . += emissive_appearance(icon, "[base_icon_state]cell_25", src, alpha = src.alpha) + else + . += mutable_appearance(icon, "[base_icon_state]cell_0") + . += emissive_appearance(icon, "[base_icon_state]cell_0", src, alpha = src.alpha) return . #undef MICROWAVE_INGREDIENT_OVERLAY_SIZE /obj/machinery/microwave/update_icon_state() - if (broken) - icon_state = "mwb" - else if (dirty_anim_playing) - icon_state = "mwbloody1" - else if (dirty == MAX_MICROWAVE_DIRTINESS) - icon_state = open ? "mwbloodyo" : "mwbloody" + if(broken) + icon_state = "[base_icon_state]mwb" + else if(dirty_anim_playing) + icon_state = "[base_icon_state]mwbloody1" + else if(dirty == MAX_MICROWAVE_DIRTINESS) + icon_state = open ? "[base_icon_state]mwbloodyo" : "[base_icon_state]mwbloody" else if(operating) - icon_state = "back_on" + icon_state = "[base_icon_state]back_on" else if(open) - icon_state = "back_open" + icon_state = "[base_icon_state]back_open" else if(panel_open) - icon_state = "mw-o" + icon_state = "[base_icon_state]mw-o" else - icon_state = "back_off" + icon_state = "[base_icon_state]back_off" return ..() @@ -234,23 +331,23 @@ update_appearance() return TOOL_ACT_TOOLTYPE_SUCCESS -/obj/machinery/microwave/attackby(obj/item/O, mob/living/user, params) +/obj/machinery/microwave/attackby(obj/item/item, mob/living/user, params) if(operating) return - if(panel_open && is_wire_tool(O)) + if(panel_open && is_wire_tool(item)) wires.interact(user) return TRUE if(broken > NOT_BROKEN) - if(broken == REALLY_BROKEN && O.tool_behaviour == TOOL_WIRECUTTER) // If it's broken and they're using a TOOL_WIRECUTTER + if(broken == REALLY_BROKEN && item.tool_behaviour == TOOL_WIRECUTTER) // If it's broken and they're using a TOOL_WIRECUTTER user.visible_message(span_notice("[user] starts to fix part of \the [src]."), span_notice("You start to fix part of \the [src]...")) - if(O.use_tool(src, user, 20)) + if(item.use_tool(src, user, 20)) user.visible_message(span_notice("[user] fixes part of \the [src]."), span_notice("You fix part of \the [src].")) broken = KINDA_BROKEN // Fix it a bit - else if(broken == KINDA_BROKEN && O.tool_behaviour == TOOL_WELDER) // If it's broken and they're doing the wrench + else if(broken == KINDA_BROKEN && item.tool_behaviour == TOOL_WELDER) // If it's broken and they're doing the wrench user.visible_message(span_notice("[user] starts to fix part of \the [src]."), span_notice("You start to fix part of \the [src]...")) - if(O.use_tool(src, user, 20)) + if(item.use_tool(src, user, 20)) user.visible_message(span_notice("[user] fixes \the [src]."), span_notice("You fix \the [src].")) broken = NOT_BROKEN update_appearance() @@ -260,8 +357,9 @@ return TRUE return - if(istype(O, /obj/item/reagent_containers/spray)) - var/obj/item/reagent_containers/spray/clean_spray = O + if(istype(item, /obj/item/reagent_containers/spray)) + var/obj/item/reagent_containers/spray/clean_spray = item + open(autoclose = 2 SECONDS) if(clean_spray.reagents.has_reagent(/datum/reagent/space_cleaner, clean_spray.amount_per_transfer_from_this)) clean_spray.reagents.remove_reagent(/datum/reagent/space_cleaner, clean_spray.amount_per_transfer_from_this,1) playsound(loc, 'sound/effects/spray3.ogg', 50, TRUE, -6) @@ -272,56 +370,83 @@ to_chat(user, span_warning("You need more space cleaner!")) return TRUE - if(istype(O, /obj/item/soap) || istype(O, /obj/item/reagent_containers/cup/rag)) + if(istype(item, /obj/item/soap) || istype(item, /obj/item/reagent_containers/cup/rag)) var/cleanspeed = 50 - if(istype(O, /obj/item/soap)) - var/obj/item/soap/used_soap = O + if(istype(item, /obj/item/soap)) + var/obj/item/soap/used_soap = item cleanspeed = used_soap.cleanspeed user.visible_message(span_notice("[user] starts to clean \the [src]."), span_notice("You start to clean \the [src]...")) + open(autoclose = cleanspeed + 1 SECONDS) if(do_after(user, cleanspeed, target = src)) user.visible_message(span_notice("[user] cleans \the [src]."), span_notice("You clean \the [src].")) dirty = 0 update_appearance() return TRUE + if(istype(item, /obj/item/stock_parts/cell) && cell_powered) + var/swapped = FALSE + if(!isnull(cell)) + cell.forceMove(drop_location()) + if(!issilicon(user) && Adjacent(user)) + user.put_in_hands(cell) + cell = null + swapped = TRUE + if(!user.transferItemToLoc(item, src)) + update_appearance() + return TRUE + cell = item + balloon_alert(user, "[swapped ? "swapped" : "inserted"] cell") + update_appearance() + return TRUE + + if(!anchored) + balloon_alert(user, "not secured!") + return ..() + if(dirty >= MAX_MICROWAVE_DIRTINESS) // The microwave is all dirty so can't be used! balloon_alert(user, "it's too dirty!") return TRUE - if(istype(O, /obj/item/storage)) - var/obj/item/storage/T = O + if(vampire_charging_capable && istype(item, /obj/item/modular_computer/pda) && ingredients.len > 0) + balloon_alert(user, "max 1 pda!") + return FALSE + + if(istype(item, /obj/item/storage)) + var/obj/item/storage/tray = item var/loaded = 0 - if(!istype(O, /obj/item/storage/bag/tray)) + if(!istype(item, /obj/item/storage/bag/tray)) // Non-tray dumping requires a do_after - to_chat(user, span_notice("You start dumping out the contents of [O] into [src]...")) - if(!do_after(user, 2 SECONDS, target = T)) + to_chat(user, span_notice("You start dumping out the contents of [item] into [src]...")) + if(!do_after(user, 2 SECONDS, target = tray)) return - for(var/obj/S in T.contents) - if(!IS_EDIBLE(S)) + for(var/obj/tray_item in tray.contents) + if(!IS_EDIBLE(tray_item)) continue if(ingredients.len >= max_n_of_items) balloon_alert(user, "it's full!") return TRUE - if(T.atom_storage.attempt_remove(S, src)) + if(tray.atom_storage.attempt_remove(tray_item, src)) loaded++ - ingredients += S + ingredients += tray_item if(loaded) + open(autoclose = 0.6 SECONDS) to_chat(user, span_notice("You insert [loaded] items into \the [src].")) update_appearance() return - if(O.w_class <= WEIGHT_CLASS_NORMAL && !istype(O, /obj/item/storage) && !user.combat_mode) + if(item.w_class <= WEIGHT_CLASS_NORMAL && !istype(item, /obj/item/storage) && !user.combat_mode) if(ingredients.len >= max_n_of_items) balloon_alert(user, "it's full!") return TRUE - if(!user.transferItemToLoc(O, src)) + if(!user.transferItemToLoc(item, src)) balloon_alert(user, "it's stuck to your hand!") return FALSE - ingredients += O - user.visible_message(span_notice("[user] adds \a [O] to \the [src]."), span_notice("You add [O] to \the [src].")) + ingredients += item + open(autoclose = 0.6 SECONDS) + user.visible_message(span_notice("[user] adds \a [item] to \the [src]."), span_notice("You add [item] to \the [src].")) update_appearance() return @@ -332,13 +457,34 @@ if(!length(ingredients)) balloon_alert(user, "it's empty!") return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN - cook(user) + + start_cycle(user) + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN +/obj/machinery/microwave/AltClick(mob/user, list/modifiers) + if(user.can_perform_action(src, ALLOW_SILICON_REACH)) + if(!vampire_charging_capable) + return + + vampire_charging_enabled = !vampire_charging_enabled + balloon_alert(user, "set to [vampire_charging_enabled ? "charge" : "cook"]") + +/obj/machinery/microwave/CtrlClick(mob/user) + . = ..() + if(cell_powered && !isnull(cell) && anchored) + user.put_in_hands(cell) + balloon_alert(user, "removed cell") + cell = null + update_appearance() + /obj/machinery/microwave/ui_interact(mob/user) . = ..() - if(operating || panel_open || !anchored || !user.can_perform_action(src, ALLOW_SILICON_REACH)) + if(!anchored) + balloon_alert(user, "not secured!") + return + if(operating || panel_open || !user.can_perform_action(src, ALLOW_SILICON_REACH)) return if(isAI(user) && (machine_stat & NOPOWER)) return @@ -353,17 +499,21 @@ var/choice = show_radial_menu(user, src, isAI(user) ? ai_radial_options : radial_options, require_near = !issilicon(user)) // post choice verification - if(operating || panel_open || !anchored || !user.can_perform_action(src, ALLOW_SILICON_REACH)) + if(operating || panel_open || (!vampire_charging_capable && !anchored) || !user.can_perform_action(src, ALLOW_SILICON_REACH)) return if(isAI(user) && (machine_stat & NOPOWER)) return - usr.set_machine(src) + user.set_machine(src) switch(choice) if("eject") eject() - if("use") - cook(user) + if("cook") + vampire_charging_enabled = FALSE + start_cycle(user) + if("charge") + vampire_charging_enabled = TRUE + start_cycle(user) if("examine") examine(user) @@ -371,8 +521,20 @@ var/atom/drop_loc = drop_location() for(var/atom/movable/movable_ingredient as anything in ingredients) movable_ingredient.forceMove(drop_loc) - open() - playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) + open(autoclose = 1.4 SECONDS) + +/obj/machinery/microwave/proc/start_cycle(mob/user) + if(wire_mode_swap) + spark() + if(vampire_charging_enabled) + cook(user) + else + charge(user) + + else if(vampire_charging_enabled) + charge(user) + else + cook(user) /** * Begins the process of cooking the included ingredients. @@ -382,6 +544,7 @@ /obj/machinery/microwave/proc/cook(mob/cooker) if(machine_stat & (NOPOWER|BROKEN)) return + if(operating || broken > 0 || panel_open || !anchored || dirty >= MAX_MICROWAVE_DIRTINESS) return @@ -390,9 +553,15 @@ playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) return + if(cell_powered && cell?.charge < TIER_1_CELL_CHARGE_RATE * efficiency) + playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) + balloon_alert(cooker, "replace cell!") + return + if(cooker && HAS_TRAIT(cooker, TRAIT_CURSED) && prob(7)) muck() return + if(prob(max((5 / efficiency) - 5, dirty * 5))) //a clean unupgraded microwave has no risk of failure muck() return @@ -413,16 +582,18 @@ /obj/machinery/microwave/proc/wzhzhzh() visible_message(span_notice("\The [src] turns on."), null, span_hear("You hear a microwave humming.")) operating = TRUE + if(cell_powered && !isnull(cell)) + cell.use(TIER_1_CELL_CHARGE_RATE * efficiency) - set_light(1.5) + set_light(l_range = 1.5, l_power = 1.2, l_on = TRUE) soundloop.start() update_appearance() /obj/machinery/microwave/proc/spark() visible_message(span_warning("Sparks fly around [src]!")) - var/datum/effect_system/spark_spread/s = new - s.set_up(2, 1, src) - s.start() + var/datum/effect_system/spark_spread/sparks = new + sparks.set_up(2, 1, src) + sparks.start() /** * The start of the cook loop @@ -431,7 +602,7 @@ */ /obj/machinery/microwave/proc/start(mob/cooker) wzhzhzh() - loop(MICROWAVE_NORMAL, 10, cooker = cooker) + cook_loop(type = MICROWAVE_NORMAL, cycles = 10, cooker = cooker) /** * The start of the cook loop, but can fail (result in a splat / dirty microwave) @@ -440,29 +611,29 @@ */ /obj/machinery/microwave/proc/start_can_fail(mob/cooker) wzhzhzh() - loop(MICROWAVE_PRE, 4, cooker = cooker) + cook_loop(type = MICROWAVE_PRE, cycles = 4, cooker = cooker) /obj/machinery/microwave/proc/muck() wzhzhzh() playsound(loc, 'sound/effects/splat.ogg', 50, TRUE) dirty_anim_playing = TRUE update_appearance() - loop(MICROWAVE_MUCK, 4) + cook_loop(type = MICROWAVE_MUCK, cycles = 4) /** * The actual cook loop started via [proc/start] or [proc/start_can_fail] * - * * type - the type of cooking, determined via how this iteration of loop is called, and determines the result + * * type - the type of cooking, determined via how this iteration of cook_loop is called, and determines the result * * time - how many loops are left, base case for recursion * * wait - deciseconds between loops * * cooker - The mob that initiated the cook cycle, can be null if no apparent mob triggered it (such as via emp) */ -/obj/machinery/microwave/proc/loop(type, time, wait = max(12 - 2 * efficiency, 2), mob/cooker) // standard wait is 10 +/obj/machinery/microwave/proc/cook_loop(type, cycles, wait = max(12 - 2 * efficiency, 2), mob/cooker) // standard wait is 10 if((machine_stat & BROKEN) && type == MICROWAVE_PRE) pre_fail() return - if(time <= 0 || !length(ingredients)) + if(cycles <= 0 || !length(ingredients)) switch(type) if(MICROWAVE_NORMAL) loop_finish(cooker) @@ -471,18 +642,21 @@ if(MICROWAVE_PRE) pre_success(cooker) return - time-- + cycles-- use_power(active_power_usage) - addtimer(CALLBACK(src, PROC_REF(loop), type, time, wait, cooker), wait) + addtimer(CALLBACK(src, PROC_REF(cook_loop), type, cycles, wait, cooker), wait) /obj/machinery/microwave/power_change() . = ..() + if(cell_powered) + return + if((machine_stat & NOPOWER) && operating) pre_fail() eject() /** - * Called when the loop is done successfully, no dirty mess or whatever + * Called when the cook_loop is done successfully, no dirty mess or whatever * * * cooker - The mob that initiated the cook cycle, can be null if no apparent mob triggered it (such as via emp) */ @@ -492,6 +666,11 @@ var/cursed_chef = cooker && HAS_TRAIT(cooker, TRAIT_CURSED) var/metal_amount = 0 for(var/obj/item/cooked_item in ingredients) + if(istype(cooked_item, /obj/item/modular_computer/pda) && prob(75)) + spark() + broken = REALLY_BROKEN + explosion(src, heavy_impact_range = 1, light_impact_range = 2, flame_range = 1) + var/sigreturn = cooked_item.microwave_act(src, cooker, randomize_pixel_offset = ingredients.len) if(sigreturn & COMPONENT_MICROWAVE_SUCCESS) if(isstack(cooked_item)) @@ -502,7 +681,7 @@ metal_amount += (cooked_item.custom_materials?[GET_MATERIAL_REF(/datum/material/iron)] || 0) - if(cursed_chef && prob(5)) + if(cursed_chef && (metal_amount || prob(5))) // If we're unlucky and have metal, we're guaranteed to explode spark() broken = REALLY_BROKEN explosion(src, light_impact_range = 2, flame_range = 1) @@ -510,10 +689,8 @@ if(metal_amount) spark() broken = REALLY_BROKEN - if(cursed_chef || prob(max(metal_amount / 2, 33))) // If we're unlucky and have metal, we're guaranteed to explode + if(prob(max(metal_amount / 2, 33))) explosion(src, heavy_impact_range = 1, light_impact_range = 2) - else - dump_inventory_contents() after_finish_loop() @@ -524,7 +701,7 @@ after_finish_loop() /obj/machinery/microwave/proc/pre_success(mob/cooker) - loop(MICROWAVE_NORMAL, 10, cooker = cooker) + cook_loop(type = MICROWAVE_NORMAL, cycles = 10, cooker = cooker) /obj/machinery/microwave/proc/muck_finish() visible_message(span_warning("\The [src] gets covered in muck!")) @@ -536,19 +713,121 @@ after_finish_loop() /obj/machinery/microwave/proc/after_finish_loop() - set_light(0) + set_light(l_on = FALSE) soundloop.stop() - open() + eject() + open(autoclose = 2 SECONDS) -/obj/machinery/microwave/proc/open() +/obj/machinery/microwave/proc/open(autoclose = 2 SECONDS) open = TRUE + playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3) update_appearance() - addtimer(CALLBACK(src, PROC_REF(close)), 0.8 SECONDS) + addtimer(CALLBACK(src, PROC_REF(close)), autoclose) /obj/machinery/microwave/proc/close() open = FALSE update_appearance() +/** + * The start of the charge loop + * + * * cooker - The mob that initiated the cook cycle, can be null if no apparent mob triggered it (such as via emp) + */ +/obj/machinery/microwave/proc/vampire(mob/cooker) + wzhzhzh() + var/obj/item/modular_computer/pda/vampire_pda = LAZYACCESS(ingredients, 1) + if(isnull(vampire_pda)) + playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) + after_finish_loop() + return + + vampire_cell = vampire_pda.internal_cell + if(isnull(vampire_pda)) + playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) + after_finish_loop() + return + + var/vampire_charge_amount = vampire_cell.maxcharge - vampire_cell.charge + charge_loop(vampire_charge_amount, cooker = cooker) + +/obj/machinery/microwave/proc/charge(mob/cooker) + if(!vampire_charging_capable) + balloon_alert(cooker, "needs upgrade!") + playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) + return + + if(operating || broken > 0 || panel_open || dirty >= MAX_MICROWAVE_DIRTINESS) + return + + if(wire_disabled) + audible_message("[src] buzzes.") + playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) + return + + // We should only be charging PDAs + for(var/atom/movable/potential_item as anything in ingredients) + if(!istype(potential_item, /obj/item/modular_computer/pda)) + balloon_alert(cooker, "pda only!") + playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) + eject() + return + + vampire(cooker) + +/** + * The actual cook loop started via [proc/start] or [proc/start_can_fail] + * + * * type - the type of charging, determined via how this iteration of cook_loop is called, and determines the result + * * time - how many loops are left, base case for recursion + * * wait - deciseconds between loops + * * cooker - The mob that initiated the cook cycle, can be null if no apparent mob triggered it (such as via emp) + */ +/obj/machinery/microwave/proc/charge_loop(vampire_charge_amount, wait = max(12 - 2 * efficiency, 2), mob/cooker) // standard wait is 10 + if(machine_stat & BROKEN) + pre_fail() + return + + if(!vampire_charge_amount || !length(ingredients) || (!isnull(cell) && !cell.charge) || vampire_charge_amount < 25) + vampire_cell = null + charge_loop_finish(cooker) + return + + var/charge_rate = vampire_cell.chargerate * (1 + ((efficiency - 1) * 0.25)) + if(charge_rate > vampire_charge_amount) + charge_rate = vampire_charge_amount + + if(cell_powered && !cell.use(charge_rate)) + charge_loop_finish(cooker) + + vampire_cell.give(charge_rate * (0.85 + (efficiency * 0.5))) // we lose a tiny bit of power in the transfer as heat + use_power(charge_rate) + + vampire_charge_amount = vampire_cell.maxcharge - vampire_cell.charge + + addtimer(CALLBACK(src, PROC_REF(charge_loop), vampire_charge_amount, wait, cooker), wait) + +/obj/machinery/microwave/power_change() + . = ..() + if((machine_stat & NOPOWER) && operating) + pre_fail() + eject() + +/** + * Called when the charge_loop is done successfully, no dirty mess or whatever + * + * * cooker - The mob that initiated the cook cycle, can be null if no apparent mob triggered it (such as via emp) + */ +/obj/machinery/microwave/proc/charge_loop_finish(mob/cooker) + operating = FALSE + var/cursed_chef = cooker && HAS_TRAIT(cooker, TRAIT_CURSED) + if(cursed_chef && prob(5)) + spark() + broken = REALLY_BROKEN + explosion(src, light_impact_range = 2, flame_range = 1) + + // playsound(src, 'sound/machines/chime.ogg', 50, FALSE) + after_finish_loop() + /// Type of microwave that automatically turns it self on erratically. Probably don't use this outside of the holodeck program "Microwave Paradise". /// You could also live your life with a microwave that will continously run in the background of everything while also not having any power draw. I think the former makes more sense. /obj/machinery/microwave/hell @@ -564,13 +843,48 @@ //The microwave should turn off asynchronously from any other microwaves that initialize at the same time. Keep in mind this will not turn off, since there is nothing to call the proc that ends this microwave's looping addtimer(CALLBACK(src, PROC_REF(wzhzhzh)), rand(0.5 SECONDS, 3 SECONDS)) +/obj/machinery/microwave/engineering + name = "wireless microwave oven" + desc = "For the hard-working tradesperson who's in the middle of nowhere and just wants to warm up their pastry-based savoury item from an overpriced vending machine." + base_icon_state = "engi_" + icon_state = "engi_mw_complete" + circuit = /obj/item/circuitboard/machine/microwave/engineering + light_color = LIGHT_COLOR_BABY_BLUE + // We don't use area power, we always use the cell + use_power = NO_POWER_USE + cell_powered = TRUE + vampire_charging_capable = TRUE + ingredient_shifts_x = list( + 0, + 5, + -5, + 3, + -3, + ) + ingredient_shifts_y = list( + 0, + 2, + -2, + ) + +/obj/machinery/microwave/engineering/Initialize(mapload) + . = ..() + if(mapload) + cell = new /obj/item/stock_parts/cell/upgraded/plus + update_appearance() + +/obj/machinery/microwave/engineering/cell_included/Initialize(mapload) + . = ..() + cell = new /obj/item/stock_parts/cell/upgraded/plus + update_appearance() + #undef MICROWAVE_NORMAL #undef MICROWAVE_MUCK #undef MICROWAVE_PRE - #undef NOT_BROKEN #undef KINDA_BROKEN #undef REALLY_BROKEN #undef MAX_MICROWAVE_DIRTINESS +#undef TIER_1_CELL_CHARGE_RATE diff --git a/code/modules/research/designs/machine_designs.dm b/code/modules/research/designs/machine_designs.dm index 0a2c96dddd5..3b0bf62c267 100644 --- a/code/modules/research/designs/machine_designs.dm +++ b/code/modules/research/designs/machine_designs.dm @@ -532,6 +532,16 @@ ) departmental_flags = DEPARTMENT_BITFLAG_SERVICE +/datum/design/board/microwave_engineering + name = "Wireless Microwave Board" + desc = "The circuit board for a cell-powered microwave." + id = "microwave_engineering" + build_path = /obj/item/circuitboard/machine/microwave/engineering + category = list( + RND_CATEGORY_MACHINE + RND_SUBCATEGORY_MACHINE_KITCHEN + ) + departmental_flags = DEPARTMENT_BITFLAG_SERVICE | DEPARTMENT_BITFLAG_ENGINEERING + /datum/design/board/gibber name = "Gibber Board" desc = "The circuit board for a gibber." diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm index 7852bdb367e..441e6f0038b 100644 --- a/code/modules/research/techweb/all_nodes.dm +++ b/code/modules/research/techweb/all_nodes.dm @@ -476,6 +476,7 @@ "gibber", "griddle", "microwave", + "microwave_engineering", "monkey_recycler", "oven", "processor", diff --git a/icons/hud/radial.dmi b/icons/hud/radial.dmi index 447003a3584f1bceb89ed0af1efb4cfc89e9dd57..42d5c451018aecfb114474f3f823187a2181bb5c 100644 GIT binary patch literal 32103 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 z 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 VKmXiu0tM7TZ{$_ws$@)p{ui<`>>2<7 literal 32672 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 diff --git a/icons/obj/machines/microwave.dmi b/icons/obj/machines/microwave.dmi index 427a5d9daaee6cb67e6543bdea0cb0395eebdac6..7a72ba5d3dca3a4d62c07e4ea2b639fafdf70163 100644 GIT binary patch literal 9948 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 literal 2053 zcmV+g2>SPlP)005u}0{{R3yb+fl0001iP)t-sz`($P zb7`fMgTcDBD=RA%6ciyKA}=m6LP10iGaMwLR~A`M9CTA)U|@M5B)54noG2_vj6fe* zEZ(*~6-{*{a+WD_E_(m~GY%47000~d4MzzHWDE?m6%~;Y5$fB6x_vO{92~udP>2u^a6c))z`*~`TW>eY5dZ)H0d!JMQvg8b*k%9#0M2?;Sad{Xb7OL8 zaCB*JZU6vyoSl+E3WG2ZMc2tGf^Kc8tuDJMN^w!IAkoAoR2|V!@%9a7p#{aXWbHB^F2jjIK>gqGDb1|9{{;2_ob{LK+m>m7TWJ)lI@TCxOCV zspD8#O+ap!CgMBpOe}XI{^$S}&;ri>h&7vt?|2-}if*-|@QC$M?uZ@O{6>`3>c9 zYfR67f>Z#b13IenkIiRg_3PDfBY$H4C-I0sg=~gBsEs%YKp?vPlzi*9vZILrVl=lV zb=&?_0I9=VcY1)G{^+E*)?04mZL;Dd3-hOIdksm6vkpX-re~eabz#zo& z8a~GNMfs%Y1k2@%6kxHG=X-R##^sOeP4t%nyrJDFak{ppU)*`XrS!#G*Jsi*6m1y5 z3hkcoM%##fahF#>~HbyUl3jcRhS2 ze_ZVlGsPHhj_oQVUjd->Hlvl__3)YeakJeq6~raRf{Pqia237!-c#2goj-0j+dCl1 zZmRW%MSAiVi8P-Z-rsKT7l|-GblLmh2#-@VV5^hpamyqh{I1^sD)YmUR9{&W$PZPT zJfO`Ft*lJd@r%IjAN)O=%f<$4{dSpEDE2zb*0b}XfZTD=60_Y`M%ii z5ik@*-ot122Of^lPSDQKz<*)#L)NGA$tu4~!!%5w#ZbW{W%vK(C_@FpAE?Yf)IPgE z@NhUDkC)TsbUZ_apg)rzN`3NTorW>cVagPyI8K=gl_i`S&tVA+eSBtr;Nf^aosZ|^ z3EF|}ukx!G>$-v|zXrp3SfUKhyf07z-|6~z3J=HA`9uf=Yf#}6z@)ApsUWxi4`y(m z!$N}s6-d{|0H@;-f1J;xLV7;F%!2^)ky#F0Sfp`E?_MiW2{Txh#l9%B4^1D&KL7!o z9YY+r@m0R#CH|c+!TDXv?f=WmbqQLRSytxnnm&wwI9*_soq*!PkFWBpHCW9s5PGhc z#IH$APvKWqmRXq(5?Dp#^yi2q{QSQt0y(Yi=_{0wcAAZ;VK(VhHzlUGvcS#z<*O+h%F4>>(K38wA3#+8$J@;QLhb%f0HpptSkV7ptBnFk{dKFT|G&$v zja9++U$+YS-}x@Kf>VX(5Y`kDG4FPJ(gYts+n00000NkvXXu0mjflWp>E diff --git a/modular_skyrat/modules/aesthetics/kitchen/microwave.dmi b/modular_skyrat/modules/aesthetics/kitchen/microwave.dmi index d5560e1bc077a19f86f0a47c7b215d6166a19007..e1c2860da6e1dd67267be894865ad76ca2143fb5 100644 GIT binary patch literal 10914 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 Nih_oGrL1}I{{hOPM{fWC literal 2102 zcmV-62+8+}P)V=- z0C=30l1&POFc5{;$ti+vZK?g+byJk$qFzCwiA|_FqM_pL8w^xS6;o#OCVVe%hQuY; z@D{}+xJUTKn^rcgl-Odj0Betp-j^%s<@U;N$W&rP&pVe*|hq|$0%=T z$&DVt&H{mXMu#(A&|b@vcbXdfdBb@$_}-_c#?3<17nIsC1pw={1 z2!toY(P63HUw~gYD-F~}=LPtuCqM$8od5|~{ilK2xOxG8vFw?qmM_4=4sILX(uEy7 zfC`{FcQkp=wd1k)2+sw0Ei4_ra4CHOD&F%wD;|rF@j}45xhMfa&>vv45xiqcaI@{_ zx10X>yB+fRyHbD$6~urc`=A}74ZH3K_q!|g2Q+$KF*6l+?q$#G+MQQVGxa0f!_Ey zZ#~urdDErDE6qYS7gHiZ3x14?xjx`L@8dSS?dRJ=*F_%TpARg* zx#v$H5D0|VhVD{hUjDz1=a)#OfSG%r&gyOt*c8Ai&Z3dBQny#VQ=NBb z1p>$Yh4}xKfZqE9Jv`?BSG?An{mp~`;VU)zSlNYsQ zAw(B?$39>z{~qVH6$svifaOAET@L}*6J3ap@=^SGdtP6GgAgE$G1v1sJU$rsn3e(# z!Qn85KX1?L$H2Z8;QQ;fFG!!i`5@pOb~t#W`1AI>_Wr~Ns|9#G{dJlCnpfb!cj)gz zWBK5t<`Sr) z1DXT*whtA+(x0D>7ZotvUnmc|ukP$H|N9FVUOj&Tfj}Tk3*Dv2obC@`{7k*i;r!DR zAOX)#fCMNjK1BTc+4Aa7x+vC7Q_C0N7t2udM|ITt{{Jxnq$y+U$YAZr9^$e1mi%HF z-`g5t6j!c+=X+Ut%+f47vg46u$24P)@DTshLMOg0FMOF8mI#&*mPq(Au^ZOU2c#@v zY0fgne_)jfev9zc{R8(@z;cEc{JNaV_&ZB}(|mp)_G3SSC4@Eg)#JwV0eKF+gC}?7 z?|Gg(?dJoue0~1_TCgaJYjM4tujk^d;@8gy82DX3zimE05c?ryAB!bYJ2ajT$XSvl zEYEm;Vx>;N%-7EcKnq^Zm*QL${MWTBz`$=Ye%I(iRR!X@0*!CpLbrg<&7gOuISf;l z4d-PSI2C6|;c^xk+&!OQ$MaF{MRog&3WQ51jO*|J=M367&!DFqGg!@!!+8<^1dS(t z&XC2m72lqhvrr^*55;f3L)7~Ad7AI@G*9+92dpN;c{Pjh9&my7D`X!YlNWJnhQt8ismB-@S^OZjz>HYi4pZ_9{#kb~B z(DMNV0)apvObJJaG5!0=1x)Q-k^mAw0;a{}{{7UL+`pe(z|{VI7hd;^nC>0ge0qnr zfT{iayB6ziwiST*??!$*j2}q=Q_u)7`R|Cozr%Qw0N@`Mz#6y{VDR7T=K~Bp=KpWT z6TnzoL0iDo{=Kz;J?miK7BIDcKe>RZ{d;=>-ASk;U~2!~UcjwgfLlkv)c$=J4^N}} z{q2^rn*d91w|z&z)c*Yl0;B{!0rB+j1++1?f8WK!mlFHEl)xd^I|9VT*mVB=)Ofmo zPaqHo1OkCTAP@+Ie;2)fanAy$4mxz_Ynj;b-;#1)0vZ9W|No;o{%>>nmXtdQpcQET z?-1Sbf3NlOEh%>sz$(!E-zS>moB2}(z5uEKRlpJhD$rPT$2aHEZ%MhE048AOCo%-{ gzmy;l2!vMD9i~s-t diff --git a/strings/tips.txt b/strings/tips.txt index 12248bb4124..75d0e4d1851 100644 --- a/strings/tips.txt +++ b/strings/tips.txt @@ -266,5 +266,6 @@ You can screwdriver any non-chemical grenade to shorten fuses from 5 seconds, to You can spray a fire extinguisher, throw items or fire a gun while floating through space to change your direction. Simply fire opposite to where you want to go. You can swap floor tiles by holding a crowbar in one hand and a stack of tiles in the other. You can use a machine in the vault to deposit cash or rob Cargo's department funds. +You can use an upgraded microwave to charge your PDA! You'll quickly lose your interest in the game if you play to win and kill. If you find yourself doing this, take a step back and talk to people - it's a much better experience! -Some areas of the station use simple nautical directions to indicate their respective locations, like Fore (Front of the ship), Aft (Back), Port (Left side), Starboard (Right), Quarter and Bow (Either sides of Aft and Fore, respectively). You can review these terms on the Notepad App of your PDA. \ No newline at end of file +Some areas of the station use simple nautical directions to indicate their respective locations, like Fore (Front of the ship), Aft (Back), Port (Left side), Starboard (Right), Quarter and Bow (Either sides of Aft and Fore, respectively). You can review these terms on the Notepad App of your PDA.