[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

@@ -7,9 +7,17 @@
#define MAP_LEVEL_EMPTY 0x020 // Empty Z-levels that may be used for various things (currently used by bluespace jump)
#define MAP_LEVEL_CONSOLES 0x040 // Z-levels available to various consoles, such as the crew monitor (when that gets coded in). Defaults to station_levels if unset.
#define MAP_LEVEL_XENOARCH_EXEMPT 0x080 // Z-levels exempt from xenoarch digsite generation.
<<<<<<< HEAD
#define MAP_LEVEL_VORESPAWN 0x100 //CHOMPedit Z-levels players are allowed to late join to via vorish means. Usually non-dangerous locations.
#define MAP_LEVEL_PERSIST 0x200 // Z-levels where SSpersistence should persist between rounds //CHOMPedit bumped to 0x200 because vorespawn, hopefully this doesn't break things
#define MAP_LEVEL_MAPPABLE 0x400 // Z-levels where SSpersistence should persist between rounds //CHOMPedit bumped to 0x400, somethingsomething don't break
||||||| parent of 61dfa77962... Merge pull request #10637 from VOREStation/upstream-merge-8097
#define MAP_LEVEL_PERSIST 0x100 // Z-levels where SSpersistence should persist between rounds
#define MAP_LEVEL_MAPPABLE 0x200 // Z-levels where SSpersistence should persist between rounds
=======
#define MAP_LEVEL_PERSIST 0x100 // Z-levels where SSpersistence should persist between rounds
#define MAP_LEVEL_MAPPABLE 0x200 // Z-levels where mapping units will work fully
>>>>>>> 61dfa77962... Merge pull request #10637 from VOREStation/upstream-merge-8097
// Misc map defines.
#define SUBMAP_MAP_EDGE_PAD 8 // Automatically created submaps are forbidden from being this close to the main map's edge. //VOREStation Edit

View File

@@ -711,7 +711,7 @@
var/obj/item/device/mapping_unit/owner
var/obj/screen/mapper/extras_holder/extras_holder
/obj/screen/movable/mapper_holder/New(newloc, newowner)
/obj/screen/movable/mapper_holder/Initialize(mapload, newowner)
owner = newowner
mask_full = new(src) // Full white square mask
@@ -849,15 +849,15 @@
/obj/screen/mapper/powbutton/Click()
if(!usr.checkClickCooldown())
return 1
return TRUE
if(usr.stat || usr.paralysis || usr.stunned || usr.weakened)
return 1
return TRUE
if(istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech
return 1
return TRUE
parent.powerClick()
flick("powClick",src)
usr << get_sfx("button")
return 1
return TRUE
/obj/screen/mapper/mapbutton
icon = 'icons/effects/gpshud.dmi'
@@ -867,15 +867,15 @@
/obj/screen/mapper/mapbutton/Click()
if(!usr.checkClickCooldown())
return 1
return TRUE
if(usr.stat || usr.paralysis || usr.stunned || usr.weakened)
return 1
return TRUE
if(istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech
return 1
return TRUE
parent.mapClick()
flick("mapClick",src)
usr << get_sfx("button")
return 1
return TRUE
// Markers are 16x16, people have apparently settled on centering them on the 8,8 pixel
/obj/screen/mapper/marker

View File

@@ -286,11 +286,8 @@
continue
var/mob_indicator = HOLOMAP_ERROR
var/turf/TU = get_turf(HC)
if(TU.z != T_z)
continue
// Marker not on a turf
if(!TU)
// Mapper not on a turf or elsewhere
if(!TU || (TU.z != T_z))
continue
// We're the marker
@@ -349,7 +346,8 @@
continue
var/turf/TB = get_turf(HB)
if(TU.z != T_z)
// Marker beacon not on a turf or elsewhere
if(!TB || (TB.z != T_z))
continue
var/marker_cache_key = "\ref[HB]_marker"
@@ -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()

View File

@@ -147,6 +147,8 @@ var/list/all_maps = list()
mappable_levels = station_levels.Copy()
if(!persist_levels?.len)
persist_levels = station_levels.Copy()
if(!mappable_levels?.len)
mappable_levels = station_levels.Copy()
if(!allowed_jobs || !allowed_jobs.len)
allowed_jobs = subtypesof(/datum/job)
if(default_skybox) //Type was specified

File diff suppressed because it is too large Load Diff