From b4ada86f1f236b9f8541d4e9163eec4a72cae22c Mon Sep 17 00:00:00 2001 From: Dennok Date: Tue, 10 Mar 2020 10:38:57 +0200 Subject: [PATCH] Ladder radial menu. (#49800) * ladder radial menu * arrows --- code/game/objects/structures/ladders.dm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm index 9e572c4c57d..0984d94f2c5 100644 --- a/code/game/objects/structures/ladders.dm +++ b/code/game/objects/structures/ladders.dm @@ -88,8 +88,13 @@ if (!is_ghost && !in_range(src, user)) return + var/list/tool_list = list( + "Up" = image(icon = 'icons/testing/turf_analysis.dmi', icon_state = "arrow", dir = NORTH), + "Down" = image(icon = 'icons/testing/turf_analysis.dmi', icon_state = "arrow", dir = SOUTH) + ) + if (up && down) - var/result = alert("Go up or down [src]?", "Ladder", "Up", "Down", "Cancel") + var/result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) if (!is_ghost && !in_range(src, user)) return // nice try switch(result) @@ -109,6 +114,11 @@ if(!is_ghost) add_fingerprint(user) +/obj/structure/ladder/proc/check_menu(mob/user) + if(user.incapacitated() || !user.Adjacent(src)) + return FALSE + return TRUE + /obj/structure/ladder/attack_hand(mob/user) . = ..() if(.)