[MIRROR] Attempts to put out the CI fires (#28636)

* Attempts to put out the CI fires (#84277)

## About The Pull Request

![image](https://github.com/tgstation/tgstation/assets/13398309/d58de3f2-5adc-48f0-b207-608499f04250)

A lot of this all of a sudden, I am going to assume it's related to the
recent spark changes, which are most likely causing (literal) fires in
the testing area.

Fixes https://github.com/tgstation/tgstation/issues/84161
Fixes https://github.com/NovaSector/NovaSector/issues/3123

I'm still testing this one with a few CI runs but the timelines match up
with roughly around the time of the spark PR; it's most likely the
culprit.

EDIT: 8 CI runs so far and the issue has not come up, I am fairly
confident it was the sparks + fuel puddle combination that was the
problem.
EDIT EDIT: Found one more issue with /datum/material/plasma that needs
to be dealt with.
EDIT EDIT EDIT: Issue resolved

## Why It's Good For The Game

Save the burninating for in-game please!

## Changelog

Not player facing

* Attempts to put out the CI fires

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
This commit is contained in:
SkyratBot
2024-07-05 10:42:42 +05:30
committed by GitHub
co-authored by Bloop
parent 8788fcace3
commit 7be884c1dc
3 changed files with 17 additions and 1 deletions
@@ -11,6 +11,9 @@
src.gas_amount = initialize_gas_amount
src.temp_amount = initialize_temp_amount
// Any item made of plasma is going to have this component, making it extremely difficult to blacklist fire hazards during create_and_destroy.
// So let's just completely neuter them during unit tests so we don't burn down the testing area and cause spurious runtimes.
#ifndef UNIT_TESTS
RegisterSignal(parent, COMSIG_ATOM_ATTACKBY, PROC_REF(attackby_react))
RegisterSignal(parent, COMSIG_ATOM_FIRE_ACT, PROC_REF(flame_react))
RegisterSignal(parent, COMSIG_ATOM_TOUCHED_SPARKS, PROC_REF(sparks_react))
@@ -18,6 +21,7 @@
RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_WELDER), PROC_REF(welder_react))
if(isturf(parent))
RegisterSignal(parent, COMSIG_TURF_EXPOSE, PROC_REF(hotspots_react))
#endif
/datum/component/combustible_flooder/UnregisterFromParent()
UnregisterSignal(parent, COMSIG_ATOM_ATTACKBY)
@@ -458,7 +458,6 @@
COMSIG_TURF_MOVABLE_THROW_LANDED = PROC_REF(ignition_trigger),
)
AddElement(/datum/element/connect_loc, ignition_trigger_connections)
RegisterSignal(src, COMSIG_ATOM_TOUCHED_SPARKS, PROC_REF(ignition_trigger))
for(var/obj/effect/decal/cleanable/fuel_pool/pool in get_turf(src)) //Can't use locate because we also belong to that turf
if(pool == src)
continue
@@ -468,6 +467,15 @@
if(burn_stacks)
burn_amount = max(min(burn_stacks, 10), 1)
return INITIALIZE_HINT_LATELOAD
// Just in case of fires, do this after mapload.
/obj/effect/decal/cleanable/fuel_pool/LateInitialize()
// We don't want to burn down the create_and_destroy test area
#ifndef UNIT_TESTS
RegisterSignal(src, COMSIG_ATOM_TOUCHED_SPARKS, PROC_REF(ignition_trigger))
#endif
/obj/effect/decal/cleanable/fuel_pool/fire_act(exposed_temperature, exposed_volume)
. = ..()
ignite()
+4
View File
@@ -286,6 +286,10 @@ GLOBAL_VAR_INIT(focused_tests, focused_tests())
returnable_list += typesof(/obj/effect/anomaly/grav/high)
//See above
returnable_list += typesof(/obj/effect/timestop)
//Sparks can ignite a number of things, causing a fire to burn the floor away. Only you can prevent CI fires
returnable_list += typesof(/obj/effect/particle_effect/sparks)
//See above - These are one of those things.
returnable_list += typesof(/obj/effect/decal/cleanable/fuel_pool)
//Invoke async in init, skippppp
returnable_list += typesof(/mob/living/silicon/robot/model)
//This lad also sleeps