Skip to content

Commit

Permalink
Minimaps now track targets within other atoms such as pods (#15267)
Browse files Browse the repository at this point in the history
  • Loading branch information
Sovexe committed Aug 6, 2023
1 parent 26301ad commit eb8290e
Showing 1 changed file with 7 additions and 11 deletions.
18 changes: 7 additions & 11 deletions code/modules/minimap/minimap_marker.dm
Original file line number Diff line number Diff line change
Expand Up @@ -35,27 +35,23 @@
src.name = name

if (target && istype(target, /atom/movable))
src.RegisterSignal(target, COMSIG_MOVABLE_SET_LOC, PROC_REF(handle_move))
src.RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(handle_move))
src.handle_move(target)
src.RegisterSignal(target, XSIG_MOVABLE_TURF_CHANGED, PROC_REF(handle_move))
// set initial marker position
src.handle_move(target, null, get_turf(target))

src.can_be_deleted_by_player = can_be_deleted_by_player
src.list_on_ui = list_on_ui
src.scale_marker(marker_scale)

disposing()
src.UnregisterSignal(target, COMSIG_MOVABLE_SET_LOC)
src.UnregisterSignal(target, COMSIG_MOVABLE_MOVED)
src.UnregisterSignal(target, XSIG_MOVABLE_TURF_CHANGED)
. = ..()

proc/handle_move(var/atom/movable/target)
if (!map || !target)
proc/handle_move(thing, turf/old_turf, turf/new_turf)
if (!map || !thing || !new_turf)
return

var/turf/T = get_turf(target)
if (!T)
return
map.set_marker_position(src, T.x, T.y, T.z)
map.set_marker_position(src, new_turf.x, new_turf.y, new_turf.z)

proc/scale_marker(var/scale)
var/scale_factor = (scale / src.marker_scale)
Expand Down

0 comments on commit eb8290e

Please sign in to comment.