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}
+
+