From 847cbd1aa551045411e99e4d6b97e13ae093ec3b Mon Sep 17 00:00:00 2001 From: ElorgRHG <71735193+ElorgRHG@users.noreply.github.com> Date: Thu, 26 Feb 2026 19:37:21 +0100 Subject: [PATCH] Splits taking out the ID card and stored item out of modular computers into Alt clicking and Ctrl clicking respectively (#21901) Changes: > - rscadd: "Alt clicking a modular computer to first get the stored card and then the item has been split to Alt clicking to get the card, and Ctrl clicking to get the item." It always bothered me that to get the pen out of a PDA you needed to first take out the ID card. Well with this PR you can just Ctrl click it to get the pen. Really cool. --- .../computers/modular_computer/interaction.dm | 27 +++++++++++++------ ...want-to-ctrl-click-my-modular-computer.yml | 13 +++++++++ 2 files changed, 32 insertions(+), 8 deletions(-) create mode 100644 html/changelogs/ElorgRHG-me-when-I-want-to-ctrl-click-my-modular-computer.yml diff --git a/code/modules/modular_computers/computers/modular_computer/interaction.dm b/code/modules/modular_computers/computers/modular_computer/interaction.dm index 8e77e908877..012f9613cae 100644 --- a/code/modules/modular_computers/computers/modular_computer/interaction.dm +++ b/code/modules/modular_computers/computers/modular_computer/interaction.dm @@ -139,20 +139,31 @@ verbs -= /obj/item/modular_computer/proc/eject_personal_ai update_uis() -/obj/item/modular_computer/AltClick(var/mob/user) - if(use_check_and_message(user, 32)) +/obj/item/modular_computer/AltClick(mob/user) + if(use_check_and_message(user, USE_FORCE_SRC_IN_USER)) return if(!card_slot) to_chat(user, SPAN_WARNING("\The [src] does not have an ID card slot.")) return - if(card_slot.stored_card) - eject_id() - else if(card_slot.stored_item) - eject_item() - else - to_chat(user, SPAN_WARNING("\The [src] does not have a card or item stored in the card slot.")) + if(!card_slot.stored_card) + to_chat(user, SPAN_WARNING("\The [src] does not have a card stored in the card slot.")) + return + eject_id() + +/obj/item/modular_computer/CtrlClick(mob/user) + if(use_check_and_message(user, USE_FORCE_SRC_IN_USER)) + return + + if(!card_slot) + to_chat(user, SPAN_WARNING("\The [src] does not have an ID card slot.")) + return + + if(!card_slot.stored_item) + to_chat(user, SPAN_WARNING("\The [src] does not have an item stored in the card slot.")) + return + eject_item() /obj/item/modular_computer/attack(mob/living/target_mob, mob/living/user, target_zone) var/sound_scan = FALSE diff --git a/html/changelogs/ElorgRHG-me-when-I-want-to-ctrl-click-my-modular-computer.yml b/html/changelogs/ElorgRHG-me-when-I-want-to-ctrl-click-my-modular-computer.yml new file mode 100644 index 00000000000..c40bcb3a4f9 --- /dev/null +++ b/html/changelogs/ElorgRHG-me-when-I-want-to-ctrl-click-my-modular-computer.yml @@ -0,0 +1,13 @@ +# Your name. +author: ElorgRHG + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Alt clicking a modular computer to first get the stored card and then the item has been split to Alt clicking to get the card, and Ctrl clicking to get the item."