diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 94121f3b65..8ab75002e6 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -354,6 +354,13 @@ playsound(src, pickup_sound, 20, preference = /datum/client_preference/pickup_sounds) return +<<<<<<< HEAD +======= +// As above but for items being equipped to an active module on a robot. +/obj/item/proc/equipped_robot(var/mob/user) + return + +>>>>>>> 921ac67... Merge pull request #7980 from MistakeNot4892/gps //Defines which slots correspond to which slot flags var/list/global/slot_flags_enumeration = list( "[slot_wear_mask]" = SLOT_MASK, diff --git a/code/game/objects/items/devices/gps.dm b/code/game/objects/items/devices/gps.dm index 610ebbc26c..7621f09830 100644 --- a/code/game/objects/items/devices/gps.dm +++ b/code/game/objects/items/devices/gps.dm @@ -67,6 +67,10 @@ var/list/GPS_list = list() . = ..() update_holder() +/obj/item/device/gps/equipped_robot() + . = ..() + update_holder() + /obj/item/device/gps/equipped() . = ..() update_holder() @@ -107,6 +111,7 @@ var/list/GPS_list = list() /obj/item/device/gps/proc/update_compass(var/update_compass_icon) compass.hide_waypoints(FALSE) + var/turf/my_turf = get_turf(src) for(var/thing in tracking_devices) var/obj/item/device/gps/gps = locate(thing) if(!istype(gps) || QDELETED(gps)) @@ -119,7 +124,7 @@ var/list/GPS_list = list() compass.set_waypoint("\ref[gps]", gps_tag, gps_turf.x, gps_turf.y, gps_turf.z, LAZYACCESS(tracking_devices, "\ref[gps]")) else compass.set_waypoint("\ref[gps]", gps_tag, 0, 0, 0, LAZYACCESS(tracking_devices, "\ref[gps]")) - if(can_track(gps)) + if(can_track(gps) && gps_turf && my_turf && gps_turf.z == my_turf.z) compass.show_waypoint("\ref[gps]") compass.rebuild_overlay_lists(update_compass_icon) @@ -183,11 +188,11 @@ var/list/GPS_list = list() var/turf/curr = get_turf(src) var/area/my_area = get_area(src) - dat["my_area_name"] = my_area.name + dat["my_area_name"] = strip_improper(my_area.name) dat["curr_x"] = curr.x dat["curr_y"] = curr.y dat["curr_z"] = curr.z - dat["curr_z_name"] = using_map.get_zlevel_name(curr.z) + dat["curr_z_name"] = strip_improper(using_map.get_zlevel_name(curr.z)) dat["gps_list"] = list() dat["z_level_detection"] = using_map.get_map_levels(curr.z, long_range) @@ -201,10 +206,10 @@ var/list/GPS_list = list() gps_data["gps_tag"] = G.gps_tag var/area/A = get_area(G) - gps_data["area_name"] = A.get_name() + gps_data["area_name"] = strip_improper(A.get_name()) var/turf/T = get_turf(G) - gps_data["z_name"] = using_map.get_zlevel_name(T.z) + gps_data["z_name"] = strip_improper(using_map.get_zlevel_name(T.z)) gps_data["direction"] = get_adir(curr, T) gps_data["degrees"] = round(Get_Angle(curr,T)) gps_data["distX"] = T.x - curr.x @@ -221,7 +226,7 @@ var/list/GPS_list = list() /obj/item/device/gps/proc/display(mob/user) if(emped) - to_chat(user, "It's busted!") + to_chat(user, SPAN_WARNING("It's busted!")) return var/list/dat = list() @@ -229,9 +234,9 @@ var/list/GPS_list = list() dat += "" if(!tracking) - dat += "\[Switch On]\]" + dat += "\[Switch On\]" else - dat += "\[Switch Off]\]" + dat += "\[Switch Off\]" dat += "" dat += "" dat += "" @@ -244,13 +249,12 @@ var/list/GPS_list = list() dat += "" if(istype(gps_data["ref"], /obj/item/device/gps/internal/poi)) - dat += "" + dat += "" else dat += "" if(gps["local"]) - dat += "" - dat += "" + dat += "" else dat += "" @@ -471,9 +475,9 @@ var/list/GPS_list = list() dat += "
Current location[gps_data["my_area_name"]]([gps_data["curr_x"]], [gps_data["curr_y"]], [gps_data["curr_z_name"]])
[hide_signal ? "Tagged" : "Broadcasting"] as '[gps_tag]'.\[Change Tag\]\[Toggle Scan Range\][can_hide_signal ? "\[Toggle Signal Visibility\]":""]
[gps["gps_tag"]][gps["area_name"]][gps["local"] ? "[gps["direction"]] Dist: [round(gps["distance"], 10)]m" : "in \the [gps["z_name"]]"][gps["local"] ? "[gps["direction"]] Dist: [round(gps["distance"], 10)]m" : "[gps["z_name"]]"]([gps["x"]], [gps["y"]], [gps["z_name"]])[gps["distance"]]m[gps["degrees"]]° ([gps["direction"]])[gps["distance"]]m[gps["direction"]]Non-local signal.
" if(!tracking) - dat += "\[Switch On]\]" + dat += "\[Switch On\]" else - dat += "\[Switch Off]\]" + dat += "\[Switch Off\]" dat += "" dat += "" dat += "" @@ -485,8 +489,7 @@ var/list/GPS_list = list() var/gps_ref = "\ref[gps["ref"]]" dat += "" if(gps["local"]) - dat += "" - dat += "" + dat += "" else dat += "" if(LAZYACCESS(tracking_devices, gps_ref)) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 849696ea4c..73dcd6b2ae 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -906,18 +906,21 @@ if(!module_state_1) module_state_1 = O O.hud_layerise() + O.equipped_robot() contents += O if(istype(module_state_1,/obj/item/borg/sight)) sight_mode |= module_state_1:sight_mode else if(!module_state_2) module_state_2 = O O.hud_layerise() + O.equipped_robot() contents += O if(istype(module_state_2,/obj/item/borg/sight)) sight_mode |= module_state_2:sight_mode else if(!module_state_3) module_state_3 = O O.hud_layerise() + O.equipped_robot() contents += O if(istype(module_state_3,/obj/item/borg/sight)) sight_mode |= module_state_3:sight_mode
Current location[gps_data["my_area_name"]]([gps_data["curr_x"]], [gps_data["curr_y"]], [gps_data["curr_z_name"]])
[hide_signal ? "Tagged" : "Broadcasting"] as '[gps_tag]'.\[Change Tag\]\[Toggle Scan Range\][can_hide_signal ? "\[Toggle Signal Visibility\]":""]
[gps["gps_tag"]][gps["area_name"]] ([gps["x"]], [gps["y"]], [gps["z_name"]])[gps["distance"]]m[gps["degrees"]]° ([gps["direction"]])[gps["distance"]]m[gps["direction"]]Non-local signal.