diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 7ceaca8e5a1..b027316a3e1 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -402,6 +402,13 @@ RegisterSignal(src, COMSIG_TRANSFORMING_ON_TRANSFORM, .proc/on_transform) AddElement(/datum/element/update_icon_updates_onmob) + var/static/list/tool_behaviors = list( + TOOL_SCREWDRIVER = list( + SCREENTIP_CONTEXT_LMB = "Change blade color" + ), + ) + AddElement(/datum/element/contextual_screentip_tools, tool_behaviors) + /* * Signal proc for [COMSIG_TRANSFORMING_ON_TRANSFORM]. * @@ -414,6 +421,26 @@ update_appearance(UPDATE_ICON) return COMPONENT_NO_DEFAULT_MESSAGE +/obj/item/toy/sword/examine(mob/user) + . = ..() + . += span_notice("It has a lighting dial currently set to [saber_color] which looks like it can be turned with a screwdriver.") + +/obj/item/toy/sword/screwdriver_act(mob/living/user, obj/item/tool) + switch(saber_color) + if("red") + saber_color = "blue" + if("blue") + saber_color = "green" + if("green") + saber_color = "purple" + if("purple") + saber_color = "red" + else + return TOOL_ACT_TOOLTYPE_SUCCESS + balloon_alert(user, "changed to [saber_color]") + update_appearance(UPDATE_ICON) + return TOOL_ACT_TOOLTYPE_SUCCESS + /obj/item/toy/sword/vv_edit_var(vname, vval) . = ..() if(vname == NAMEOF(src, saber_color))