Explosion Waves: Visual update and Backend rewrite - #12793
Draft
fira wants to merge 30 commits into
Draft
Conversation
fira
marked this pull request as draft
July 31, 2026 18:48
Contributor
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
added 10 commits
August 1, 2026 10:29
…o match cellauto behavior
Contributor
|
Conflicts have been resolved. A maintainer will review the pull request shortly. |
Contributor
Test merge deployment history:Test Merge Deployed @ 08/01/2026 11:01:46 +00:00:Server InstanceRevisionTest Merge Updated @ 08/01/2026 11:34:30 +00:00:Server InstanceCM13 Live RevisionTest Merge Removed @ 08/01/2026 11:35:42 +00:00:Server InstanceCM13 Live Test Merge Deployed @ 08/01/2026 11:55:30 +00:00:Server InstanceRevisionTest Merge Updated @ 08/01/2026 13:05:09 +00:00:Server InstanceRevisionTest Merge Removed @ 08/01/2026 13:15:53 +00:00:Server InstanceCM13 Live Test Merge Deployed @ 08/04/2026 17:21:42 +00:00:Server InstanceRevisionTest Merge Removed @ 08/04/2026 17:56:07 +00:00:Server InstanceCM13 Live Test Merge Deployed @ 08/13/2026 07:34:13 +00:00:Server InstanceRevisionTest Merge Removed @ 08/13/2026 19:46:55 +00:00:Server InstanceCM13 Live |
Member
Author
|
Should be all sorted out, though obviously the effects will need more work. I'm still not really satisfied by how prominent some of them are. Now the full effects should only show up on power > 400, which avoids having them all on cluster explosions. |
added 5 commits
August 2, 2026 11:27
fira
marked this pull request as ready for review
August 3, 2026 11:36
Member
Author
|
Held until i can reevaluate the spreading logic to be more like cellauto |
fira
marked this pull request as draft
August 3, 2026 18:10
added 7 commits
August 4, 2026 16:20
…factor directions in cell_explosion
Contributor
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
This was referenced Aug 13, 2026
Member
Author
|
Requires #12928 now I'll update TM Holder so it can be testmerged with both |
MPhonks
added a commit
to MPhonks/cmss13
that referenced
this pull request
Aug 15, 2026
…accordingly, reverts user balloon alert (hud should be enough)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
About the pull request
Yet another sweeping backend rework with absolutely No Consequences™ whatsover to gameplay or balance.
This time we're taking on the EXPLOSIONS, which have been a major thorn in our sides when it comes to Performance.
This PR replaces CellAuto based cellular automata explosions by "explosion waves", which are considered as a traveling cardinal wave in one go. This means no more objects littering the place, no more ending up with thousands of cells, no more to all that. The wave doesn't even exist in any one place, it just affects a traveling cone based on its inception turf.
It also makes human explosions delayed and handled by a subsystem in a deferred fashion to make sure they don't overtime. They previously could because throws were handled on sleep time and cause more explosion effects.
Oh also it ports and adds the relevant explosion particle effects from TGMC.
It also strengthens the displacement shockwave effect that we already had.
It changes the awful huge sparks we had on explosion by many more but smaller sparks.
Also fixes SHARP HE darts whose proximity explosion was not working properly and far less strong than intended.
The catch
For the sake of simplicity, explosion merging and explosion reflection are not a thing anymore.
For merging it's not a big deal because it wasn't even working properly and they would very rarely merge.
For reflection, this means that explosions are a little less strong within enclosed spaces.
The reflection can be readded but it'll come with a performance cost.
TODO
That being said it should already be reviewable and testable.
Explain why it's good for the game
Performance mainly and reactivity of the game.
Also eye candy from the explosion particle effects.
Testing Photographs and Procedure
Bunch of random ones on discord and you can see on TM.
Will probably add some more when sprites are done and effects adjusted.
Changelog
🆑
code: Completely rewrote the explosion backend.
add: Added toned down explosion particle effects from TGMC : fireball ring, smoke, dirt scatter, water splashes.
fix: SHARP HE dart explosion in mine mode is now properly handled. It was about 2x to 3x less strong than intended. Direct hit is unaffected.
code: Made explosion displacement shockwave more noticeable, and sparks smaller but more numerous.
del: Explosions will not rebound off walls anymore, making them slightly less threatening in very tight spaces.
fix: Because explosions don't get applied several times, some interactions of item destruction might change. For example, destroying a metal chair in an explosion might not also destroy the dropped metal sheet.
/:cl: