Open ghost opened 5 years ago
it did explode the bomb trigger was there, it sent an adminwarn (also I saw all the strongblobs and core get weakened)
Nope, those were welder tanks. The TTVs didn't even generate a sound/shake and not even a bhangmeter report.
[17:12:23]DEBUG: Runtime in <b>transfer_valve.dm</b>, line <b>160</b>: <b>Cannot read null.volume</b> <a href='?_src_=holder;viewruntime=[0x21046b2f]'>[view]</a>
Something very fucked up must have happened for that runtime to occur
One of the tanks had a null air_contents
This is a really bizarre runtime. What that's saying is that one of the tanks or its air_contents ceased to exist before it blew up. But transfer_valve doesn't even have a /Destroy that clears its references for the garbage collector so even if it was getting deleted, it shouldn't be causing that. Additionally, it shouldn't even be calling merge_gases() unless both tanks exist due to a sanity check in toggle_valve.
Oh, I get it
The TTV is, in fact, getting deleted, and /atom/movable/Destroy()
qdels all contents
The TTV lacks a Destroy()
so the tanks don't get dereferenced, but the tanks do delete their air_contents
So yes, the bug is just that the bomb is getting deleted before it attempts to explode
EDIT: Which is presumably caused by the bomb getting blob_act()
ed multiple times due to being near the core
Doesn't explain why it didn't explode, then
Oh
I'm a dumbass
The bomb doesn't explode immediately when the tanks mix. The tanks just mix. It doesn't explode until the next process()
tick. So the tanks mix and the bomb is immediately deleted, before it has a chance to go off.
Could we make an immediate call to update that gas mixture from the blob_act?
The gas_mixture
is updated immediately, but the tank doesn't give a shit until it checks the mixture's pressure
I was thinking about doing some tweaks to gas_mixture
s that would make this cleaner but as a temporary measure you could just do something silly like call tank_two.process()
before deleting the TTV
Contrary to https://github.com/vgstation-coders/vgstation13/pull/21550
Blobs delete TTVs without triggering them.