From 653fbdc8fbfc55ef2103db779ebd77a87ab03ca5 Mon Sep 17 00:00:00 2001 From: Contrabang <91113370+Contrabang@users.noreply.github.com> Date: Wed, 13 Sep 2023 16:11:34 -0400 Subject: [PATCH] Heads' door remotes and access tuners now have a radial menu (#22175) * radial stuff, wow * hotfix * unfuck this shit * test * aha, cool --- code/game/objects/items/control_wand.dm | 22 +++++++++++++--------- icons/mob/radial.dmi | Bin 3562 -> 4356 bytes 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm index 7c0a93737e6..5571328920a 100644 --- a/code/game/objects/items/control_wand.dm +++ b/code/game/objects/items/control_wand.dm @@ -29,15 +29,19 @@ return ..() /obj/item/door_remote/attack_self(mob/user) - switch(mode) - if(WAND_OPEN) - mode = WAND_BOLT - if(WAND_BOLT) - mode = WAND_EMERGENCY - if(WAND_EMERGENCY) - mode = WAND_SPEED - if(WAND_SPEED) - mode = WAND_OPEN + var/list/options = list(WAND_OPEN = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_open"), + WAND_BOLT = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_bolt"), + WAND_EMERGENCY = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_ea"), + WAND_SPEED = image(icon = 'icons/mob/radial.dmi', icon_state = "radial_speed")) + var/image/part_image = options[mode] + // scuffed, but allows you to easily show whats the currently selected one + part_image.underlays += image(icon = 'icons/mob/radial.dmi', icon_state = "radial_slice_focus") + var/choice = show_radial_menu(user, src, options) + if(!choice || user.stat || !in_range(user, src) || QDELETED(src)) + return + if(choice == mode) // they didn't change their choice, don't do the to_chat + return + mode = choice to_chat(user, "Now in mode: [mode].") diff --git a/icons/mob/radial.dmi b/icons/mob/radial.dmi index 3951523ebc1495dc313eb43385b13702b617034a..a723cf985819f6162223d4be53406939d00ef804 100644 GIT binary patch literal 4356 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 HkAwdMNtkD7 literal 3562 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