diff --git a/html/changelogs/AutoChangeLog-pr-11543.yml b/html/changelogs/AutoChangeLog-pr-11543.yml new file mode 100644 index 000000000000..28449bc74856 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-11543.yml @@ -0,0 +1,4 @@ +author: "AnCopper" +delete-after: True +changes: + - qol: "Added a \"Copy Coordinates\" button to the Laser Designator/Binoculars UI" \ No newline at end of file diff --git a/maps/map_files/DesertDam/Desert_Dam.dmm b/maps/map_files/DesertDam/Desert_Dam.dmm index 8c2300fa8e79..48fc36104f2a 100644 --- a/maps/map_files/DesertDam/Desert_Dam.dmm +++ b/maps/map_files/DesertDam/Desert_Dam.dmm @@ -21918,6 +21918,11 @@ /obj/structure/prop/dam/gravestone, /turf/open/desert/dirt/desert_transition_corner1/west, /area/desert_dam/exterior/valley/valley_hydro) +"bpU" = ( +/obj/effect/decal/sand_overlay/sand1, +/obj/item/storage/box/flashbangs, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached12, +/area/desert_dam/exterior/valley/bar_valley_dam) "bpV" = ( /obj/structure/platform/metal/almayer/west, /obj/effect/decal/sand_overlay/sand2/corner2{ @@ -21941,6 +21946,33 @@ /obj/effect/decal/cleanable/dirt, /turf/open/asphalt/cement_sunbleached/cement_sunbleached13, /area/desert_dam/exterior/valley/valley_medical) +"bqa" = ( +/obj/effect/decal/sand_overlay/sand1, +/obj/effect/landmark/corpsespawner/trijent/nspa_constable, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached12, +/area/desert_dam/exterior/valley/bar_valley_dam) +"bqb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/sand_overlay/sand1{ + dir = 1 + }, +/obj/item/weapon/gun/launcher/grenade/m81{ + pixel_x = -4; + pixel_y = -1 + }, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached4, +/area/desert_dam/exterior/valley/bar_valley_dam) +"bqc" = ( +/obj/effect/decal/sand_overlay/sand1{ + dir = 1 + }, +/obj/effect/landmark/corpsespawner/trijent/nspa_constable, +/turf/open/asphalt/cement_sunbleached/cement_sunbleached4, +/area/desert_dam/exterior/valley/bar_valley_dam) +"bqe" = ( +/obj/structure/flora/tree/joshua, +/turf/open/desert/dirt, +/area/desert_dam/exterior/valley/bar_valley_dam) "bqf" = ( /obj/structure/disposalpipe/segment{ dir = 2; @@ -21948,10 +21980,29 @@ }, /turf/open/floor/wood, /area/desert_dam/building/warehouse/breakroom) +"bqi" = ( +/obj/structure/bed, +/obj/effect/landmark/corpsespawner/prisoner, +/turf/open/floor/whiteyellowfull/east, +/area/desert_dam/building/security/prison) "bqj" = ( /obj/structure/largecrate/empty/case/double, /turf/open/floor/prison/darkyellow2/east, /area/desert_dam/interior/dam_interior/engine_east_wing) +"bqk" = ( +/obj/item/explosive/plastic/hybrisa/mining{ + name = "large mining charge"; + icon_state = "custom_plastic_explosive_locked" + }, +/turf/closed/wall/prison, +/area/desert_dam/building/security/maint/east) +"bql" = ( +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqm" = ( +/obj/structure/prop/dam/wide_boulder/boulder1, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) "bqn" = ( /obj/structure/stairs{ dir = 8 @@ -21963,10 +22014,81 @@ /obj/effect/decal/cleanable/dirt, /turf/closed/wall, /area/desert_dam/building/medical/outgoing) +"bqp" = ( +/obj/structure/prop/colorable_rock/colorable/alt{ + dir = 4; + color = "#da822a" + }, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqq" = ( +/obj/item/tool/pickaxe, +/obj/item/explosive/plastic, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqr" = ( +/obj/item/explosive/plastic, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqs" = ( +/obj/item/tool/pickaxe/drill, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) "bqt" = ( /obj/structure/cargo_container/hd/mid/alt, /turf/open/floor/prison/southwest, /area/desert_dam/interior/dam_interior/hangar_storage) +"bqu" = ( +/obj/item/weapon/gun/pistol/holdout, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqv" = ( +/obj/item/restraint/handcuffs, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqw" = ( +/obj/structure/prop/colorable_rock/colorable/alt{ + color = "#da822a"; + dir = 8 + }, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqy" = ( +/obj/structure/prop/colorable_rock/colorable/alt{ + color = "#da822a" + }, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqz" = ( +/obj/structure/prop/hybrisa/misc/detonator{ + pixel_y = 7 + }, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqA" = ( +/obj/structure/platform/stone/kutjevo_colorable_immune{ + color = "#724119" + }, +/turf/open_space, +/area/sky) +"bqB" = ( +/obj/effect/bloodsplatter/human, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqC" = ( +/obj/effect/landmark/corpsespawner/miner, +/obj/effect/bloodsplatter/human, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqD" = ( +/obj/item/map/desert_dam, +/obj/structure/prop/dam/wide_boulder/boulder1{ + pixel_x = 8; + density = 0; + pixel_y = 4 + }, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) "bqF" = ( /obj/structure/platform/metal/almayer/north, /obj/structure/platform/metal/almayer/east, @@ -21981,6 +22103,65 @@ }, /turf/open/floor/prison/darkyellowcorners2/west, /area/desert_dam/interior/dam_interior/primary_tool_storage) +"bqH" = ( +/obj/structure/stairs/multiz/down{ + dir = 8 + }, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqI" = ( +/obj/effect/stairs/down, +/turf/open_space, +/area/sky) +"bqK" = ( +/obj/item/tool/pickaxe, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqL" = ( +/obj/item/explosive/grenade/flashbang, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqM" = ( +/obj/structure/platform/stone/kutjevo_colorable_immune/north{ + color = "#724119" + }, +/turf/open_space, +/area/sky) +"bqN" = ( +/obj/structure/prop/colorable_rock/colorable/alt{ + color = "#da822a"; + dir = 4 + }, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqO" = ( +/obj/item/storage/box/flashbangs, +/turf/open_space, +/area/sky) +"bqP" = ( +/obj/structure/stairs/multiz/up{ + dir = 8 + }, +/obj/structure/prop/dam/large_boulder{ + icon_state = "boulder_large1"; + pixel_x = -5; + pixel_y = -7; + density = 0 + }, +/turf/open/desert/dirt, +/area/desert_dam/exterior/valley/bar_valley_dam) +"bqQ" = ( +/obj/structure/stairs/multiz/up{ + dir = 8 + }, +/obj/structure/prop/dam/large_boulder/boulder2{ + pixel_x = -15; + pixel_y = sss; + density = 0 + }, +/obj/effect/stairs/up, +/turf/open/desert/dirt, +/area/desert_dam/exterior/valley/bar_valley_dam) "bqR" = ( /turf/open/gm/river/desert/shallow_corner, /area/desert_dam/exterior/valley/valley_labs) @@ -21997,6 +22178,49 @@ /obj/structure/disposalpipe/segment, /turf/open/asphalt, /area/desert_dam/interior/dam_interior/south_tunnel_entrance) +"bqU" = ( +/obj/structure/stairs/multiz/up{ + dir = 8 + }, +/obj/structure/prop/dam/large_boulder/boulder2{ + pixel_x = -8; + density = 0 + }, +/turf/open/desert/dirt, +/area/desert_dam/exterior/valley/bar_valley_dam) +"bqV" = ( +/turf/closed/wall/prison, +/area/desert_dam/building/security/maint/east) +"bqW" = ( +/obj/structure/prop/dam/large_boulder/boulder2{ + pixel_x = -15; + density = 0; + pixel_y = -5 + }, +/obj/structure/stairs/multiz/down{ + dir = 8; + alpha = 0 + }, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqX" = ( +/obj/effect/bloodsplatter/human, +/obj/structure/stairs/multiz/down{ + dir = 8 + }, +/obj/structure/prop/dam/large_boulder/boulder2{ + pixel_x = -15; + pixel_y = -12; + density = 0 + }, +/turf/open/desert/dirt, +/area/desert_dam/exterior/rock/level3) +"bqY" = ( +/obj/structure/platform_decoration/stone/kutjevo_colorable_immune/east{ + color = "#724119" + }, +/turf/open_space, +/area/sky) "brd" = ( /obj/structure/sink{ dir = 8; @@ -46002,6 +46226,7 @@ /obj/structure/machinery/light{ dir = 1 }, +/obj/effect/landmark/corpsespawner/prisoner, /turf/open/floor/whiteyellowfull/east, /area/desert_dam/building/security/prison) "kHg" = ( @@ -48670,10 +48895,6 @@ /obj/structure/machinery/portable_atmospherics/hydroponics, /turf/open/floor/whitegreen, /area/desert_dam/building/lab_northwest/west_lab_xenoflora) -"lJA" = ( -/obj/structure/flora/tree/joshua, -/turf/open/desert/dirt/desert_transition_edge1/northeast, -/area/desert_dam/exterior/valley/bar_valley_dam) "lJE" = ( /obj/effect/decal/sand_overlay/sand1{ dir = 9 @@ -155076,9 +155297,9 @@ iHV naW ovy sdg -qaR -qaR -qaR +bqU +bqQ +bqP qaR qaR qaR @@ -155312,7 +155533,7 @@ sdg sdg uqQ uqQ -lJA +epd qaR qaR qaR @@ -156247,8 +156468,8 @@ xCE vIW iNv uqQ -uqQ -vvh +bqe +bqb duL oIi qaR @@ -156482,8 +156703,8 @@ aNK dAH piN uqQ -aqN -duL +bqc +bpU oIi qaR qaR @@ -157185,7 +157406,7 @@ cyn uqQ uqQ aqN -duL +bqa uqQ fWE uqQ @@ -209152,7 +209373,7 @@ tbZ pTz kHf aEJ -tbZ +bqi pTz wnN wnN @@ -209501,7 +209722,7 @@ ipW ipW ipW ipW -ipW +bqO ipW ipW ipW @@ -210535,8 +210756,8 @@ wnN wnN wnN apw -apw -apw +bqk +bqV aru arc aqF @@ -210769,13 +210990,13 @@ wnN wnN wnN wnN -wnN -apw -apw -apw -apw -apw -apw +bqp +bqV +bqk +bqk +bqk +bqV +bqk wnN wnN wnN @@ -211003,13 +211224,13 @@ wnN wnN wnN wnN -wnN -wnN -wnN -wnN -wnN -wnN -wnN +bql +bql +bql +bql +bqp +bql +bql wnN wnN wnN @@ -211236,14 +211457,14 @@ wnN wnN wnN wnN -wnN -wnN -wnN -wnN -wnN -wnN -wnN -wnN +bql +bql +bql +bqy +bql +bql +bql +bqm wnN wnN wnN @@ -211470,14 +211691,14 @@ wnN wnN wnN wnN -wnN -wnN -wnN -wnN -wnN -wnN -wnN -wnN +bqm +bqK +bqB +bql +bqs +bql +bql +bql wnN wnN wnN @@ -211704,13 +211925,13 @@ wnN wnN wnN wnN -wnN -wnN -wnN -wnN -wnN -wnN -wnN +bql +bql +bqC +bql +bqu +bqq +bqp wnN wnN wnN @@ -211937,13 +212158,13 @@ wnN wnN wnN wnN -wnN -wnN -wnN -wnN -wnN -wnN -wnN +bql +bqu +bqL +bqD +bql +bqv +bqr wnN wnN wnN @@ -212171,12 +212392,12 @@ wnN wnN wnN wnN -wnN -wnN -wnN -wnN -wnN -wnN +bql +bqz +bqX +bqH +bqW +bqw wnN wnN wnN @@ -212404,13 +212625,13 @@ wnN wnN wnN wnN -wnN -wnN -wnN -wnN -wnN -wnN -wnN +bql +bql +bql +bqM +bqI +bqA +bqr wnN wnN wnN @@ -212638,10 +212859,10 @@ wnN wnN wnN wnN -wnN -wnN -wnN -ipW +bqN +bql +bql +bqM ipW ipW wnN @@ -212872,10 +213093,10 @@ wnN wnN wnN wnN -wnN -wnN +bql +bql jyV -ipW +bqY ipW ipW wnN @@ -213105,7 +213326,7 @@ wnN wnN wnN wnN -wnN +dsS dsS dsS jyV @@ -213339,7 +213560,7 @@ wnN wnN wnN wnN -wnN +dsS dsS dsS jyV diff --git a/tgui/packages/tgui/interfaces/Binoculars.tsx b/tgui/packages/tgui/interfaces/Binoculars.tsx index c3b59b60cfa5..54ec4bf06519 100644 --- a/tgui/packages/tgui/interfaces/Binoculars.tsx +++ b/tgui/packages/tgui/interfaces/Binoculars.tsx @@ -1,9 +1,22 @@ import { useBackend } from 'tgui/backend'; -import { Box, Section } from 'tgui/components'; +import { Box, Button, Section } from 'tgui/components'; import { Window } from 'tgui/layouts'; type Data = { xcoord: number; ycoord: number; zcoord: number }; +const copyToClipboard = (text) => { + const textArea = document.createElement('textarea'); + textArea.value = text; + document.body.appendChild(textArea); + textArea.select(); + try { + document.execCommand('copy'); + } catch (err) { + console.error('Failed to copy text', err); + } + document.body.removeChild(textArea); +}; + export const Binoculars = () => { const { data } = useBackend(); @@ -11,17 +24,29 @@ export const Binoculars = () => { const y_coord = data.ycoord; const z_coord = data.zcoord; + const coordinatesString = `LONGTITUDE: ${x_coord}, LATITUDE: ${y_coord}, HEIGHT: ${z_coord}`; + return ( - + + {' '}
- + LONGITUDE : {x_coord}, LATITUDE : {y_coord}, HEIGHT : {z_coord} + +