[MIRROR] prevent out of index access on tgui spamming the rd console (#9404)

Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2024-11-04 03:33:58 -07:00
committed by GitHub
parent cb38cd05f5
commit 8d25228ed5
5 changed files with 17 additions and 9 deletions

View File

@@ -174,8 +174,9 @@
return return
/obj/machinery/partslathe/proc/removeFromQueue(var/index) /obj/machinery/partslathe/proc/removeFromQueue(var/index)
queue.Cut(index, index + 1) if(queue.len >= index)
return queue.Cut(index, index + 1)
return
/obj/machinery/partslathe/proc/canBuild(var/datum/category_item/partslathe/D) /obj/machinery/partslathe/proc/canBuild(var/datum/category_item/partslathe/D)
for(var/M in D.resources) for(var/M in D.resources)

View File

@@ -222,7 +222,7 @@
// Install // Install
if(W.has_tool_quality(TOOL_SCREWDRIVER)) if(W.has_tool_quality(TOOL_SCREWDRIVER))
user.visible_message(span_info(anchored ? span_bold("\The [user]") + " begins unscrewing \the [src]." : span_bold("\The [user]") + "begins fasten \the [src]." )) user.visible_message(span_info((anchored ? (span_bold("\The [user]") + " begins unscrewing \the [src].") : (span_bold("\The [user]") + "begins fasten \the [src]."))))
playsound(src, W.usesound, 75, 1) playsound(src, W.usesound, 75, 1)
if(do_after(user, 10, src)) if(do_after(user, 10, src))
to_chat(user, (anchored ? span_notice("You have unfastened \the [src] from the floor.") : span_notice("You have fastened \the [src] to the floor."))) to_chat(user, (anchored ? span_notice("You have unfastened \the [src] from the floor.") : span_notice("You have fastened \the [src] to the floor.")))

View File

@@ -175,8 +175,9 @@ using metal and glass, it uses glass and reagents (usually sulphuric acid).
return return
/obj/machinery/r_n_d/circuit_imprinter/proc/removeFromQueue(var/index) /obj/machinery/r_n_d/circuit_imprinter/proc/removeFromQueue(var/index)
queue.Cut(index, index + 1) if(queue.len >= index)
return queue.Cut(index, index + 1)
return
//CHOMPAdd Start, Locked Designs //CHOMPAdd Start, Locked Designs
/obj/machinery/r_n_d/circuit_imprinter/proc/allowedToBuild(var/datum/design/D) /obj/machinery/r_n_d/circuit_imprinter/proc/allowedToBuild(var/datum/design/D)

View File

@@ -198,8 +198,9 @@
return return
/obj/machinery/r_n_d/protolathe/proc/removeFromQueue(var/index) /obj/machinery/r_n_d/protolathe/proc/removeFromQueue(var/index)
queue.Cut(index, index + 1) if(queue.len >= index)
return queue.Cut(index, index + 1)
return
//CHOMPAdd Start, Locked Designs //CHOMPAdd Start, Locked Designs
/obj/machinery/r_n_d/protolathe/proc/allowedToBuild(var/datum/design/D) /obj/machinery/r_n_d/protolathe/proc/allowedToBuild(var/datum/design/D)

View File

@@ -2,6 +2,7 @@
var/obj/effect/overmap/visitable/ship/linked var/obj/effect/overmap/visitable/ship/linked
var/list/viewers var/list/viewers
var/extra_view = 0 var/extra_view = 0
var/map_view_used = FALSE
/datum/tgui_module/ship/New() /datum/tgui_module/ship/New()
. = ..() . = ..()
@@ -77,13 +78,17 @@
user.reset_view(linked) user.reset_view(linked)
user.set_viewsize(world.view + extra_view) user.set_viewsize(world.view + extra_view)
user.AddComponent(/datum/component/recursive_move) user.AddComponent(/datum/component/recursive_move)
RegisterSignal(user, COMSIG_OBSERVER_MOVED, /datum/tgui_module/ship/proc/unlook) if(!map_view_used)
RegisterSignal(user, COMSIG_OBSERVER_MOVED, /datum/tgui_module/ship/proc/unlook)
map_view_used = TRUE
LAZYDISTINCTADD(viewers, WEAKREF(user)) LAZYDISTINCTADD(viewers, WEAKREF(user))
/datum/tgui_module/ship/proc/unlook(var/mob/user) /datum/tgui_module/ship/proc/unlook(var/mob/user)
user.reset_view() user.reset_view()
user.set_viewsize() // reset to default user.set_viewsize() // reset to default
UnregisterSignal(user, COMSIG_OBSERVER_MOVED) if(map_view_used)
UnregisterSignal(user, COMSIG_OBSERVER_MOVED)
map_view_used = FALSE
LAZYREMOVE(viewers, WEAKREF(user)) LAZYREMOVE(viewers, WEAKREF(user))
/datum/tgui_module/ship/proc/viewing_overmap(mob/user) /datum/tgui_module/ship/proc/viewing_overmap(mob/user)