Fix explosions delayed on special monster death effects #2190
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.
Summary
SUMMARY: Bugfixes "Fix explosions delayed on special monster death effects"
Purpose of change
Fixes #2189
The problem is linked to #2092 , on top of the fact that explosions from monster deaths are delayed by one turn, when they should happen instantly.
A quick explanation:
PR 2092 added the tracking of the source of an explosion (the caster of the spell, the thrower of a grenade, a monster that triggers a special attacks etc.).
This allowed kills from explosives to be added to the player's list.
Before that, explosions were supposed to have no origin/source.
Problem: explosions from monsters death are assumed to happen instantly, not 1 turn after.
Describe the solution
Trigger the explosion just after a monster death, for monsters with on_death effects:
Testing
Additional context
This PR does fix the delay problem, which also solves the crash problem, but a monster using some kind of delayed explosion attack could produce the same crash if it dies before the explosion.