[MIRROR] Portable mapping devices

This commit is contained in:
Chompstation Bot
2021-06-14 18:37:53 +00:00
parent 7e0da20bae
commit 0f30402e40
5 changed files with 8114 additions and 36 deletions

View File

@@ -286,13 +286,10 @@
continue
var/mob_indicator = HOLOMAP_ERROR
var/turf/TU = get_turf(HC)
if(TU.z != T_z)
// Mapper not on a turf or elsewhere
if(!TU || (TU.z != T_z))
continue
// Marker not on a turf
if(!TU)
continue
// We're the marker
if(HC == src)
mob_indicator = HOLOMAP_YOU
@@ -342,26 +339,27 @@
handle_marker(mark,TU.x,TU.y)
extras += mark
// Marker beacon items
for(var/hb in mapping_beacons)
var/obj/item/device/holomap_beacon/HB = hb
if(HB.mapper_filter != mapper_filter)
continue
var/turf/TB = get_turf(HB)
if(TU.z != T_z)
continue
var/marker_cache_key = "\ref[HB]_marker"
if(!(marker_cache_key in icon_image_cache))
var/obj/screen/mapper/marker/mark = new()
mark.icon_state = "beacon"
mark.layer = 1
icon_image_cache[marker_cache_key] = mark
var/obj/screen/mapper/marker/mark = icon_image_cache[marker_cache_key]
handle_marker(mark,TB.x,TB.y)
extras += mark
// Marker beacon items
for(var/hb in mapping_beacons)
var/obj/item/device/holomap_beacon/HB = hb
if(HB.mapper_filter != mapper_filter)
continue
var/turf/TB = get_turf(HB)
// Marker beacon not on a turf or elsewhere
if(!TB || (TB.z != T_z))
continue
var/marker_cache_key = "\ref[HB]_marker"
if(!(marker_cache_key in icon_image_cache))
var/obj/screen/mapper/marker/mark = new()
mark.icon_state = "beacon"
mark.layer = 1
icon_image_cache[marker_cache_key] = mark
var/obj/screen/mapper/marker/mark = icon_image_cache[marker_cache_key]
handle_marker(mark,TB.x,TB.y)
extras += mark
if(badmap)
var/obj/O = icon_image_cache["bad"]
@@ -419,7 +417,7 @@
else
in_list = FALSE
mapping_beacons -= src
icon_state = initial(icon_state) + in_list ? "_on" : ""
icon_state = "[initial(icon_state)][in_list ? "_on" : ""]"
to_chat(user,SPAN_NOTICE("The [src] is now [in_list ? "broadcasting" : "disabled"]."))
/obj/item/device/holomap_beacon/Destroy()