Attempts to fix runaway explosion recursion#12434
Conversation
Test merge deployment history:Test Merge Deployed @ 06/13/2026 02:31:40 +00:00:Server InstanceCM13 Live RevisionOrigin: 5aea0b8 Test Merge Updated @ 06/13/2026 04:25:52 +00:00:Server InstanceCM13 Live RevisionOrigin: 0b082b9 Test Merge Updated @ 06/13/2026 11:58:35 +00:00:Server InstanceCM13 Live RevisionOrigin: 3e926a4 Test Merge Updated @ 06/13/2026 12:29:29 +00:00:Server InstanceCM13 Live RevisionOrigin: 0363ebf Test Merge Updated @ 06/13/2026 16:03:10 +00:00:Server InstanceCM13 Live RevisionOrigin: 0363ebf Test Merge Updated @ 06/13/2026 16:50:47 +00:00:Server InstanceCM13 Live RevisionOrigin: 0363ebf Test Merge Updated @ 06/13/2026 17:13:54 +00:00:Server InstanceCM13 Live RevisionOrigin: 0363ebf Test Merge Updated @ 06/13/2026 17:34:18 +00:00:Server InstanceCM13 Live RevisionOrigin: 474372f Test Merge Updated @ 06/13/2026 18:05:10 +00:00:Server InstanceCM13 Live RevisionOrigin: b9acff5 Test Merge Updated @ 06/13/2026 20:36:35 +00:00:Server InstanceRevisionTest Merge Updated @ 06/13/2026 21:07:27 +00:00:Server InstanceCM13 Live RevisionOrigin: 78b3562 Test Merge Updated @ 06/13/2026 21:44:56 +00:00:Server InstanceCM13 Live RevisionOrigin: cda695e Test Merge Updated @ 06/14/2026 01:41:58 +00:00:Server InstanceCM13 Live RevisionOrigin: cda695e Test Merge Updated @ 06/14/2026 04:40:01 +00:00:Server InstanceCM13 Live RevisionOrigin: 12a894f Test Merge Updated @ 06/15/2026 14:50:14 +00:00:Server InstanceCM13 Live RevisionOrigin: 12a894f Test Merge Updated @ 06/15/2026 15:21:11 +00:00:Server InstanceCM13 Live RevisionOrigin: 12a894f Test Merge Updated @ 06/15/2026 19:06:48 +00:00:Server InstanceCM13 Live RevisionOrigin: 12a894f Test Merge Updated @ 06/15/2026 20:53:46 +00:00:Server InstanceCM13 Live RevisionOrigin: 12a894f Test Merge Updated @ 06/15/2026 21:54:55 +00:00:Server InstanceCM13 Live RevisionOrigin: 12a894f Test Merge Updated @ 06/16/2026 02:57:03 +00:00:Server InstanceCM13 Live RevisionOrigin: 12a894f Test Merge Updated @ 06/16/2026 06:28:48 +00:00:Server InstanceCM13 Live RevisionOrigin: a12608c Test Merge Updated @ 06/16/2026 06:57:08 +00:00:Server InstanceCM13 Live RevisionOrigin: a12608c Test Merge Updated @ 06/16/2026 08:00:01 +00:00:Server InstanceCM13 Live RevisionOrigin: 01ce6ff Test Merge Updated @ 06/16/2026 11:01:46 +00:00:Server InstanceCM13 Live RevisionOrigin: a9e95fe Test Merge Updated @ 06/16/2026 11:32:38 +00:00:Server InstanceCM13 Live RevisionOrigin: b0cd7e5 Test Merge Updated @ 06/16/2026 12:03:31 +00:00:Server InstanceCM13 Live RevisionOrigin: c24d75b Test Merge Updated @ 06/16/2026 16:37:49 +00:00:Server InstanceCM13 Live RevisionOrigin: c24d75b Test Merge Updated @ 06/16/2026 17:39:32 +00:00:Server InstanceCM13 Live RevisionOrigin: c24d75b Test Merge Updated @ 06/17/2026 04:46:21 +00:00:Server InstanceCM13 Live RevisionOrigin: 8f6a78a Test Merge Updated @ 06/17/2026 05:06:49 +00:00:Server InstanceCM13 Live RevisionOrigin: 8f6a78a Test Merge Updated @ 06/18/2026 04:00:21 +00:00:Server InstanceCM13 Live RevisionOrigin: 8f6a78a Test Merge Updated @ 06/18/2026 10:03:21 +00:00:Server InstanceCM13 Live RevisionOrigin: 1c841ba Test Merge Updated @ 06/18/2026 10:08:30 +00:00:Server InstanceRevisionTest Merge Updated @ 06/19/2026 05:14:06 +00:00:Server InstanceCM13 Live RevisionOrigin: 5bd69c2 Test Merge Updated @ 06/20/2026 01:22:09 +00:00:Server InstanceCM13 Live RevisionOrigin: 7b89fbf Test Merge Updated @ 06/20/2026 04:25:00 +00:00:Server InstanceCM13 Live RevisionOrigin: 01c8e07 Test Merge Updated @ 06/20/2026 19:16:25 +00:00:Server InstanceCM13 Live RevisionOrigin: 01c8e07 Test Merge Updated @ 06/20/2026 20:28:21 +00:00:Server InstanceCM13 Live RevisionOrigin: 01c8e07 Test Merge Updated @ 06/21/2026 14:37:05 +00:00:Server InstanceCM13 Live RevisionOrigin: 167d599 Test Merge Updated @ 06/21/2026 16:09:30 +00:00:Server InstanceCM13 Live RevisionOrigin: a23eb58 Test Merge Updated @ 06/21/2026 16:40:39 +00:00:Server InstanceCM13 Live RevisionOrigin: 3dc7108 Test Merge Updated @ 06/21/2026 21:04:11 +00:00:Server InstanceCM13 Live RevisionOrigin: 3dc7108 Test Merge Updated @ 06/22/2026 02:14:38 +00:00:Server InstanceCM13 Live RevisionOrigin: 1a8adc6 Test Merge Updated @ 06/22/2026 03:37:06 +00:00:Server InstanceCM13 Live RevisionOrigin: dad0a25 Test Merge Updated @ 06/22/2026 04:07:08 +00:00:Server InstanceCM13 Live RevisionOrigin: 79d17fe Test Merge Updated @ 06/22/2026 05:16:27 +00:00:Server InstanceCM13 Live RevisionOrigin: 1638a7a Test Merge Updated @ 06/22/2026 05:47:23 +00:00:Server InstanceCM13 Live RevisionOrigin: 54aeed9 Test Merge Updated @ 06/22/2026 06:18:18 +00:00:Server InstanceCM13 Live RevisionOrigin: be624c9 Test Merge Updated @ 06/22/2026 06:49:10 +00:00:Server InstanceCM13 Live RevisionOrigin: 9295194 Test Merge Updated @ 06/22/2026 07:20:02 +00:00:Server InstanceCM13 Live RevisionOrigin: 5ab4835 Test Merge Updated @ 06/22/2026 07:50:55 +00:00:Server InstanceCM13 Live RevisionOrigin: 400e97d Test Merge Updated @ 06/22/2026 08:21:47 +00:00:Server InstanceCM13 Live RevisionOrigin: c301ea1 Test Merge Updated @ 06/22/2026 08:52:46 +00:00:Server InstanceCM13 Live RevisionOrigin: fef4d8e Test Merge Updated @ 06/22/2026 09:23:40 +00:00:Server InstanceCM13 Live RevisionOrigin: 62595c6 Test Merge Updated @ 06/22/2026 10:24:43 +00:00:Server InstanceCM13 Live RevisionOrigin: 24d11d9 Test Merge Updated @ 06/22/2026 10:55:34 +00:00:Server InstanceCM13 Live RevisionOrigin: bdeb8b3 Test Merge Updated @ 06/22/2026 12:59:59 +00:00:Server InstanceCM13 Live RevisionOrigin: 75f73d5 Test Merge Updated @ 06/22/2026 13:39:48 +00:00:Server InstanceCM13 Live RevisionOrigin: 75f73d5 Test Merge Updated @ 06/22/2026 14:09:10 +00:00:Server InstanceRevisionTest Merge Updated @ 06/22/2026 14:57:38 +00:00:Server InstanceRevisionTest Merge Updated @ 06/22/2026 19:49:45 +00:00:Server InstanceRevisionTest Merge Updated @ 06/22/2026 23:01:12 +00:00:Server InstanceCM13 Live RevisionOrigin: ff751db Test Merge Updated @ 06/23/2026 00:51:19 +00:00:Server InstanceRevisionTest Merge Updated @ 06/23/2026 03:03:29 +00:00:Server InstanceCM13 Live RevisionOrigin: cd7d798 Test Merge Updated @ 06/23/2026 04:04:44 +00:00:Server InstanceCM13 Live RevisionOrigin: f4b7e26 Test Merge Updated @ 06/23/2026 04:26:30 +00:00:Server InstanceRevisionTest Merge Updated @ 06/23/2026 04:35:41 +00:00:Server InstanceCM13 Live RevisionOrigin: 38987b5 Test Merge Updated @ 06/23/2026 05:06:31 +00:00:Server InstanceCM13 Live RevisionOrigin: ac8db53 Test Merge Updated @ 06/23/2026 05:37:21 +00:00:Server InstanceCM13 Live RevisionOrigin: 1e2ad89 Test Merge Updated @ 06/23/2026 06:33:31 +00:00:Server InstanceRevisionTest Merge Updated @ 06/23/2026 12:52:01 +00:00:Server InstanceRevisionTest Merge Updated @ 06/23/2026 13:40:24 +00:00:Server InstanceRevisionTest Merge Updated @ 06/23/2026 14:41:58 +00:00:Server InstanceRevisionTest Merge Updated @ 06/24/2026 00:52:09 +00:00:Server InstanceRevisionTest Merge Updated @ 06/24/2026 02:15:57 +00:00:Server InstanceCM13 Live RevisionOrigin: 157e26b Test Merge Updated @ 06/24/2026 02:46:48 +00:00:Server InstanceCM13 Live RevisionOrigin: 38ef1cd Test Merge Updated @ 06/24/2026 03:18:07 +00:00:Server InstanceCM13 Live RevisionOrigin: f76a23e Test Merge Updated @ 06/24/2026 04:19:11 +00:00:Server InstanceCM13 Live RevisionOrigin: 8f697ab Test Merge Updated @ 06/24/2026 05:20:20 +00:00:Server InstanceCM13 Live RevisionOrigin: 92af28e Test Merge Updated @ 06/24/2026 05:25:22 +00:00:Server InstanceRevisionTest Merge Updated @ 06/24/2026 05:46:18 +00:00:Server InstanceRevisionTest Merge Updated @ 06/24/2026 06:51:24 +00:00:Server InstanceCM13 Live RevisionOrigin: 100a166 Test Merge Updated @ 06/24/2026 13:23:44 +00:00:Server InstanceRevisionTest Merge Updated @ 06/24/2026 14:24:57 +00:00:Server InstanceRevisionTest Merge Updated @ 06/24/2026 14:37:46 +00:00:Server InstanceRevisionTest Merge Updated @ 06/24/2026 15:07:53 +00:00:Server InstanceRevisionTest Merge Updated @ 06/24/2026 15:56:12 +00:00:Server InstanceRevisionTest Merge Updated @ 06/24/2026 16:57:13 +00:00:Server InstanceCM13 Live RevisionOrigin: d667102 Test Merge Updated @ 06/24/2026 17:37:54 +00:00:Server InstanceCM13 Live RevisionOrigin: d667102 Test Merge Updated @ 06/24/2026 21:45:12 +00:00:Server InstanceCM13 Live RevisionOrigin: 7fc39c0 Test Merge Updated @ 06/24/2026 22:26:02 +00:00:Server InstanceCM13 Live RevisionOrigin: 7fc39c0 Test Merge Removed @ 06/25/2026 01:43:34 +00:00:Server InstanceCM13 Live |
…tain signals for turfs)
|
DNM while testing commit is still present. |
|
#12519 is the direction I would prefer for this signal handling, and should fix the flaky issues in this PR. If moving forward with that PR just let me know what all should be reverted here (other than the obvious of the signal stuff) e.g. the invoke next tick stuff. |
About the pull request
This PR does a few things:
exploded_atomslistexploded_atomslist/datum/automata_cell/explosion/proc/on_turf_enteredhad an assumption that it was causing a directionlessex_actcall by passing null asdirectionbut this just randomized the direction. Now a direction < 0 is considered directionless and will preventcreate_shrapnelandexplosion_throwfrom doing anything on a directionless explosion.throw_atomif the src is qdeleted because it doesn't make sense to be chucking qdeleted things and just causes problemsExplain why it's good for the game
Hopefully no more occurrences of
Should also fix https://runtimes.cm-ss13.com/cm13/issues/196?query=is:unresolved%20null.z
Testing Photographs and Procedure
Screenshots & Videos
Heres a cluster bomb I guess?

Changelog
🆑 Drathek
fix: Hopefully fixed runtimes causing infinite explosion recursion (namely explosion entry should more properly be a directionless explosion, and more ways for explosions to merge)
fix: Explosion cells now merge even if the 2nd to spawn should be the survivor
fix: Corrected turf signal retaining behavior
/:cl: