From 646249c01d848c3d23c83fb1e9ddc7d30ac523ea Mon Sep 17 00:00:00 2001 From: Migratingcocofruit <69551563+Migratingcocofruit@users.noreply.github.com> Date: Tue, 22 Oct 2024 12:29:54 +0300 Subject: [PATCH] Modsuit pinned buttons now indicate whether the module is active (#27045) * Pinned buttons now register signals for activating or deactivating their respective module. * allows active modules like tether and firefighting tank --- code/modules/mod/mod_actions.dm | 7 +++++++ icons/mob/actions/actions_mod.dmi | Bin 1854 -> 3952 bytes 2 files changed, 7 insertions(+) diff --git a/code/modules/mod/mod_actions.dm b/code/modules/mod/mod_actions.dm index fc10b7448e0..9fbf636001c 100644 --- a/code/modules/mod/mod_actions.dm +++ b/code/modules/mod/mod_actions.dm @@ -102,10 +102,12 @@ ..() module = linked_module button_overlay_icon_state = module.icon_state + button_background_icon_state = ((module.module_type == MODULE_TOGGLE && module.active) ? "bg_mod_active" : "bg_mod") if(linked_module.allow_flags & MODULE_ALLOW_INCAPACITATED) // clears check hands check_flags = AB_CHECK_CONSCIOUS Grant(user) + RegisterSignals(module, list(COMSIG_MODULE_ACTIVATED, COMSIG_MODULE_DEACTIVATED), PROC_REF(linked_button_update)) /datum/action/item_action/mod/pinned_module/Destroy() UnregisterSignal(module, list(COMSIG_MODULE_ACTIVATED, COMSIG_MODULE_DEACTIVATED, COMSIG_MODULE_USED)) @@ -127,3 +129,8 @@ if(!.) return module.on_select() + +/datum/action/item_action/mod/pinned_module/proc/linked_button_update() + if(module.module_type != MODULE_PASSIVE) + button_background_icon_state = (module.active ? "bg_mod_active" : "bg_mod") + UpdateButtons() diff --git a/icons/mob/actions/actions_mod.dmi b/icons/mob/actions/actions_mod.dmi index faef21cd4c72ab90656d405f0510270da53bbfcb..f4217c872874c312880c5333b99c213c18640aba 100644 GIT binary patch literal 3952 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