From 2610f7b5534658bbf01a90fa74977357e5c8a949 Mon Sep 17 00:00:00 2001 From: Will <7099514+Willburd@users.noreply.github.com> Date: Mon, 16 Jun 2025 11:02:33 -0400 Subject: [PATCH] CI fix for component hose connector (#17873) * CI wanted component fix * moved to signal --- code/__defines/dcs/signals.dm | 3 +++ code/datums/components/reagent_hose/connector.dm | 3 +++ code/modules/power/fusion/core/_core.dm | 3 +-- code/modules/reagents/machinery/pump.dm | 3 +-- code/modules/reagents/reagent_containers/spray.dm | 11 ++++++----- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/code/__defines/dcs/signals.dm b/code/__defines/dcs/signals.dm index c4290a9456..873e6776ed 100644 --- a/code/__defines/dcs/signals.dm +++ b/code/__defines/dcs/signals.dm @@ -857,6 +857,9 @@ ///from /datum/species/xenochimera/handle_environment_special() #define COMSIG_XENOCHIMERA_COMPONENT "xenochimera_component" +// Hose Connector Component +#define COMSIG_HOSE_FORCEPUMP "hose_force_pump" + //Unittest data update #ifdef UNIT_TEST #define COMSIG_UNITTEST_DATA "unittest_send_data" diff --git a/code/datums/components/reagent_hose/connector.dm b/code/datums/components/reagent_hose/connector.dm index 749eac99b5..d909da9c0c 100644 --- a/code/datums/components/reagent_hose/connector.dm +++ b/code/datums/components/reagent_hose/connector.dm @@ -18,6 +18,7 @@ connector_number = CL.len + 1 RegisterSignal(carrier, COMSIG_PARENT_EXAMINE, PROC_REF(on_examine)) RegisterSignal(carrier, COMSIG_MOVABLE_MOVED, PROC_REF(move_react)) + RegisterSignal(carrier, COMSIG_HOSE_FORCEPUMP, PROC_REF(force_pump)) carrier.verbs |= /atom/proc/disconnect_hose START_PROCESSING(SSobj, src) @@ -26,6 +27,7 @@ STOP_PROCESSING(SSobj, src) UnregisterSignal(carrier, COMSIG_PARENT_EXAMINE) UnregisterSignal(carrier, COMSIG_MOVABLE_MOVED) + UnregisterSignal(carrier, COMSIG_HOSE_FORCEPUMP) carrier.verbs -= /atom/proc/disconnect_hose carrier = null if(my_hose) @@ -72,6 +74,7 @@ connected_to.trans_to_holder(reagents, rand(1,reagents.maximum_volume)) /datum/component/hose_connector/proc/force_pump() + SIGNAL_HANDLER process() if(prob(5)) carrier.visible_message(span_infoplain(span_bold("\The [carrier]") + " gurgles as it pumps fluid.")) diff --git a/code/modules/power/fusion/core/_core.dm b/code/modules/power/fusion/core/_core.dm index 8d3f415fb9..aab9561092 100644 --- a/code/modules/power/fusion/core/_core.dm +++ b/code/modules/power/fusion/core/_core.dm @@ -63,8 +63,7 @@ GLOBAL_LIST_EMPTY(fusion_cores) if((stat & BROKEN) || !powernet || !owned_field) Shutdown() - var/datum/component/hose_connector/HC = GetComponent(/datum/component/hose_connector) - HC.force_pump() + SEND_SIGNAL(src, COMSIG_HOSE_FORCEPUMP) if(owned_field) diff --git a/code/modules/reagents/machinery/pump.dm b/code/modules/reagents/machinery/pump.dm index 7e91cf4db9..e9e77f5548 100644 --- a/code/modules/reagents/machinery/pump.dm +++ b/code/modules/reagents/machinery/pump.dm @@ -92,8 +92,7 @@ T.pump_reagents(reagents, reagents_per_cycle) update_icon() - var/datum/component/hose_connector/HC = GetComponent(/datum/component/hose_connector) - HC.force_pump() + SEND_SIGNAL(src, COMSIG_HOSE_FORCEPUMP) // Sets the power state, if possible. // Returns TRUE/FALSE on power state changing diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm index fe52cf22e0..3470f9af4e 100644 --- a/code/modules/reagents/reagent_containers/spray.dm +++ b/code/modules/reagents/reagent_containers/spray.dm @@ -240,8 +240,8 @@ /obj/item/reagent_containers/spray/chemsprayer/hosed/proc/update_hose(atom/source, atom/oldloc, direction, forced, list/old_locs, momentum_change) SIGNAL_HANDLER - var/datum/component/hose_connector/HC = GetComponent(/datum/component/hose_connector) - HC.update_hose_beam() + for(var/datum/component/hose_connector/HC in GetComponents(/datum/component/hose_connector)) + HC.update_hose_beam() /obj/item/reagent_containers/spray/chemsprayer/hosed/update_icon() ..() @@ -251,9 +251,10 @@ if(!hose_overlay) hose_overlay = new/icon(icon, "[icon_state]+hose") - var/datum/component/hose_connector/HC = GetComponent(/datum/component/hose_connector) - if(HC.get_pairing()) - add_overlay(hose_overlay) + for(var/datum/component/hose_connector/HC in GetComponents(/datum/component/hose_connector)) + if(HC.get_pairing()) + add_overlay(hose_overlay) + break /obj/item/reagent_containers/spray/chemsprayer/hosed/AltClick(mob/living/carbon/user) if(++spray_particles > 3) spray_particles = 1