diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 44c4959cef1..47fef46e725 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -101,6 +101,7 @@ req_one_access = board.accesses else req_access = board.accesses + balloon_alert(user, "electronics added") to_chat(user, span_notice("You add [W] to the button.")) if(!device && !board && W.tool_behaviour == TOOL_WRENCH) @@ -142,6 +143,17 @@ /obj/machinery/button/attack_robot(mob/user) return attack_ai(user) +/obj/machinery/button/examine(mob/user) + . = ..() + if(!panel_open) + return + if(device) + . += span_notice("There is \a [device] inside, which could be removed with an empty hand.") + if(board) + . += span_notice("There is \a [board] inside, which could be removed with an empty hand.") + if(!board && !device) + . += span_notice("There is nothing currently installed in \the [src].") + /obj/machinery/button/proc/setup_device() if(id && istype(device, /obj/item/assembly/control)) var/obj/item/assembly/control/A = device @@ -163,14 +175,15 @@ if(panel_open) if(device || board) if(device) - device.forceMove(drop_location()) + user.put_in_hands(device) device = null if(board) - board.forceMove(drop_location()) + user.put_in_hands(board) req_access = list() req_one_access = list() board = null update_appearance() + balloon_alert(user, "electronics removed") to_chat(user, span_notice("You remove electronics from the button frame.")) else @@ -178,6 +191,7 @@ skin = "launcher" else skin = "doorctrl" + balloon_alert(user, "swapped button style") to_chat(user, span_notice("You change the button frame's front panel.")) return diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm index c2cce25f0fd..ab8b3df2d46 100644 --- a/code/game/machinery/doors/poddoor.dm +++ b/code/game/machinery/doors/poddoor.dm @@ -113,6 +113,7 @@ if(panel_open) if(deconstruction == BLASTDOOR_FINISHED) . += span_notice("The maintenance panel is opened and the electronics could be pried out.") + . += span_notice("\The [src] could be calibrated to a blast door controller ID with a multitool.") else if(deconstruction == BLASTDOOR_NEEDS_ELECTRONICS) . += span_notice("The electronics are missing and there are some wires sticking out.") else if(deconstruction == BLASTDOOR_NEEDS_WIRES) diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm index bd73086643c..c034597b00f 100644 --- a/code/modules/assembly/doorcontrol.dm +++ b/code/modules/assembly/doorcontrol.dm @@ -3,9 +3,10 @@ desc = "A small electronic device able to control a blast door remotely." icon_state = "control" attachable = TRUE + /// The ID of the blast door electronics to match to the ID of the blast door being used. var/id = null - var/can_change_id = 0 - var/cooldown = FALSE //Door cooldowns + /// Cooldown of the door's controller. Updates when pressed (activate()) + var/cooldown = FALSE var/sync_doors = TRUE /obj/item/assembly/control/examine(mob/user) @@ -18,6 +19,7 @@ if(!change_id || QDELETED(user) || QDELETED(src) || !usr.canUseTopic(src, be_close = TRUE, no_dexterity = FALSE, no_tk = TRUE)) return id = change_id + balloon_alert(user, "id changed") to_chat(user, span_notice("You change the ID to [id].")) /obj/item/assembly/control/activate()