Make map::add_spawn() accept a tripoint instead of a point #36608
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 monsters spawning on the player's level when intended for other levels."
Purpose of change
Fixes #36346
Spawn points placed by fields would sometimes appear on the player's level instead of the level the field was on. Specifically this affected tears in reality. From examining the code it looks like this could occur elsewhere as well, such as when an animal live birth occurred underground.
Describe the solution
Make map::add_spawn() accept a tripoint instead of a point, and update all of it's callers to supply an appropriate tripoint.
Testing
Locate an underground area with open ground over it, and ideally an upper building level that matches.
Place a tear in reality in various locations, place yourself above or below it, and wait for monsters to appear.
Monsters should appear on the level with the field, not the level with the player.