diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 9b6b4dbbb99..d3c4dd4addd 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -89,6 +89,7 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar if(has_light) light_butt = new(src) update_appearance() + register_context() Add_Messenger() /obj/item/modular_computer/Destroy() @@ -298,6 +299,14 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar . += get_modular_computer_parts_examine(user) +/obj/item/modular_computer/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = ..() + + context[SCREENTIP_CONTEXT_ALT_LMB] = "Remove ID" + context[SCREENTIP_CONTEXT_CTRL_SHIFT_LMB] = "Remove Job Disk" + + return CONTEXTUAL_SCREENTIP_SET + /obj/item/modular_computer/update_icon_state() if(!bypass_state) icon_state = enabled ? icon_state_powered : icon_state_unpowered @@ -326,6 +335,17 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar else turn_on(user) +/obj/item/modular_computer/CtrlShiftClick(mob/user) + . = ..() + if(.) + return + + var/obj/item/computer_hardware/hard_drive/role/ssd = all_components[MC_HDD_JOB] + if(!ssd) + return + if(uninstall_component(ssd, usr)) + user.put_in_hands(ssd) + /obj/item/modular_computer/proc/turn_on(mob/user) var/issynth = issilicon(user) // Robots and AIs get different activation messages. if(atom_integrity <= integrity_failure * max_integrity) @@ -624,6 +644,7 @@ GLOBAL_LIST_EMPTY(TabletMessengers) // a list of all active messengers, similar // Insert new hardware if(istype(W, /obj/item/computer_hardware) && upgradable) if(install_component(W, user)) + playsound(src, 'sound/machines/card_slide.ogg', 50) return if(W.tool_behaviour == TOOL_WRENCH) diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm index b11ec252de7..6a5aab72823 100644 --- a/code/modules/modular_computers/computers/item/tablet.dm +++ b/code/modules/modular_computers/computers/item/tablet.dm @@ -39,6 +39,13 @@ explode(usr, from_message_menu = TRUE) return +/obj/item/modular_computer/tablet/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = ..() + + context[SCREENTIP_CONTEXT_CTRL_LMB] = "Remove pen" + + return CONTEXTUAL_SCREENTIP_SET + /obj/item/modular_computer/tablet/attackby(obj/item/W, mob/user) . = ..() @@ -59,6 +66,13 @@ remove_pen(user) +/obj/item/modular_computer/tablet/CtrlClick(mob/user) + . = ..() + if(.) + return + + remove_pen(user) + /obj/item/modular_computer/tablet/proc/tab_no_detonate() SIGNAL_HANDLER return COMPONENT_TABLET_NO_DETONATE