From b60cdfe1d7099233727b0df3e97d9c5accc37a5e Mon Sep 17 00:00:00 2001 From: Anthony Wamsley Date: Sun, 8 Mar 2020 19:31:12 -0400 Subject: [PATCH 1/2] Add Button Panel mechanics component --- code/WorkInProgress/MechanicMadness.dm | 86 +++++++++++++++++++++++++ code/modules/vending/vending.dm | 1 + icons/misc/mechanicsExpansion.dmi | Bin 22921 -> 23559 bytes 3 files changed, 87 insertions(+) diff --git a/code/WorkInProgress/MechanicMadness.dm b/code/WorkInProgress/MechanicMadness.dm index 9a1c6c9c..e8f5d3a8 100644 --- a/code/WorkInProgress/MechanicMadness.dm +++ b/code/WorkInProgress/MechanicMadness.dm @@ -2528,6 +2528,92 @@ var/list/mechanics_telepads = new/list() icon_state = icon_up return +/obj/item/mechanics/trigger/buttonPanel + name = "Button Panel" + desc = "" + icon_state = "comp_buttpanel" + var/icon_pressed = "comp_buttpanel1" + var/list/active_buttons = list() + + New() + ..() + verbs -= /obj/item/mechanics/verb/setvalue + + get_desc() + . += "
Buttons:" + for (var/button in src.active_buttons) + . += "
Label: [button], Value: [src.active_buttons[button]]" + + attack_hand(mob/user as mob) + if (level == 1) + if (src.active_buttons.len) + var/selected_button = input(usr, "Press a button", "Button Panel") in src.active_buttons + "*CANCEL*" + if (!selected_button || selected_button == "*CANCEL*" || !in_range(src, usr)) return + flick(icon_pressed, src) + mechanics.fireOutgoing(mechanics.newSignal(src.active_buttons[selected_button])) + else + boutput(usr, "[src] has no active buttons - there's nothing to press!") + else return ..(user) + + afterattack(atom/target as mob|obj|turf|area, mob/user as mob) + if(level == 2 && get_dist(src, target) == 1) + if(isturf(target)) + user.drop_item() + src.loc = target + return + + verb/add_button() + set src in view(1) + set name = "\[Add Button\]" + set desc = "Adds a button" + + if (!isliving(usr)) + return + if (usr.stat) + return + if (!mechanics.allowChange(usr)) + boutput(usr, "[MECHFAILSTRING]") + return + + if (src.active_buttons.len >= 10) + boutput(usr, "There's no room to add another button - the panel is full") + return + + var/new_label = input(usr, "Button label", "Button Panel") as text + var/new_signal = input(usr, "Button signal", "Button Panel") as text + if (length(new_label) && length(new_signal)) + new_label = adminscrub(new_label) + new_signal = adminscrub(new_signal) + if (src.active_buttons.Find(new_label)) + boutput(usr, "There's already a button with that label.") + return + src.active_buttons.Add(new_label) + src.active_buttons[new_label] = new_signal + boutput(usr, "Added button with label: [new_label] and value: [new_signal]") + return + + verb/remove_button() + set src in view(1) + set name = "\[Remove Button\]" + set desc = "Removes a button" + + if (!isliving(usr)) + return + if (usr.stat) + return + if (!mechanics.allowChange(usr)) + boutput(usr, "[MECHFAILSTRING]") + return + + if (!src.active_buttons.len) + boutput(usr, "[src] has no active buttons - there's nothing to remove!") + else + var/to_remove = input(usr, "Choose button to remove", "Button Panel") in src.active_buttons + "*CANCEL*" + if (!to_remove || to_remove == "*CANCEL*") return + src.active_buttons.Remove(to_remove) + boutput(usr, "Removed button labeled [to_remove]") + return + // Updated these things for pixel bullets. Also improved user feedback and added log entries here and there (Convair880). diff --git a/code/modules/vending/vending.dm b/code/modules/vending/vending.dm index 387c3994..84b90795 100644 --- a/code/modules/vending/vending.dm +++ b/code/modules/vending/vending.dm @@ -477,6 +477,7 @@ product_list += new/datum/data/vending_product(/obj/item/mechanics/instrumentPlayer, 10) product_list += new/datum/data/vending_product(/obj/item/mechanics/trigger/pressureSensor, 30) product_list += new/datum/data/vending_product(/obj/item/mechanics/trigger/button, 30) + product_list += new/datum/data/vending_product(/obj/item/mechanics/trigger/buttonPanel, 30) product_list += new/datum/data/vending_product(/obj/item/mechanics/gunholder, 30) product_list += new/datum/data/vending_product(/obj/item/mechanics/gunholder/recharging, 30) product_list += new/datum/data/vending_product(/obj/item/mechanics/ledcomp, 30) diff --git a/icons/misc/mechanicsExpansion.dmi b/icons/misc/mechanicsExpansion.dmi index cd8eb672ae3fff6dabfcf1fa68e4729d697e43ee..a9b82375bf352b85a84a1ff98feaeb0f4f33de06 100644 GIT binary patch literal 23559 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 literal 22921 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 From e5e9b6d09fc88304b0486214ce767f7467cd81a8 Mon Sep 17 00:00:00 2001 From: Anthony Wamsley Date: Sun, 8 Mar 2020 19:58:20 -0400 Subject: [PATCH 2/2] Add updateIcon proc to buttonPanel --- code/WorkInProgress/MechanicMadness.dm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/code/WorkInProgress/MechanicMadness.dm b/code/WorkInProgress/MechanicMadness.dm index e8f5d3a8..df068704 100644 --- a/code/WorkInProgress/MechanicMadness.dm +++ b/code/WorkInProgress/MechanicMadness.dm @@ -2532,7 +2532,8 @@ var/list/mechanics_telepads = new/list() name = "Button Panel" desc = "" icon_state = "comp_buttpanel" - var/icon_pressed = "comp_buttpanel1" + var/icon_up = "comp_buttpanel" + var/icon_down = "comp_buttpanel1" var/list/active_buttons = list() New() @@ -2549,7 +2550,7 @@ var/list/mechanics_telepads = new/list() if (src.active_buttons.len) var/selected_button = input(usr, "Press a button", "Button Panel") in src.active_buttons + "*CANCEL*" if (!selected_button || selected_button == "*CANCEL*" || !in_range(src, usr)) return - flick(icon_pressed, src) + flick(icon_down, src) mechanics.fireOutgoing(mechanics.newSignal(src.active_buttons[selected_button])) else boutput(usr, "[src] has no active buttons - there's nothing to press!") @@ -2614,6 +2615,10 @@ var/list/mechanics_telepads = new/list() boutput(usr, "Removed button labeled [to_remove]") return + updateIcon() + icon_state = icon_up + return + // Updated these things for pixel bullets. Also improved user feedback and added log entries here and there (Convair880).