Add "animaltrap-reuse" tweak #5467
Merged
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.
Makes it so animal traps generate "Release Small Creature" jobs instead of "Destroy Building" jobs, so a dwarf will transfer the caught vermin into an empty stockpiled trap and leave the built trap ready to be automatically filled with new bait (similar to how standard Cage Traps work).
The only downside is that if you don't have any empty animal traps in your stockpiles, you will get an endless stream of "Release Small Creature" job cancellations, but the exact same thing happens if you unassign a vermin from a built cage so it's probably fine (and you can still schedule the animal trap for deconstruction).
In order to make the "Release Small Creature" job work correctly, the caught vermin needs to be simultaneously added to both the building inventory and the animal trap itself, but fortunately the game appears to handle this scenario gracefully - whether the "Release Small Creature" job finishes or the building gets deconstructed, all of the references get correctly cleaned up, and saving/loading does not appear to break any of the links either.