Allow filling containers directly from blood draw kit #3262
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: Interface "Using blood draw kit now asks what container to fill, only defaults to filling the item if you cancel"
Purpose of change
Whenever I find myself needing to draw blood (usually for alchemical stuff in Arcana), I always have to unload the blood draw kit again and again, every single time I want to reuse it. This fixes it by having the iuse skip right to that step.
Describe the solution
In iuse.cpp, changed
iuse::blood_draw
so that the blood being drawn up gets ran throughliquid_handler::handle_liquid
instead of immediately defaultin to filling the blood draw kit, so you can opt to fill another container with it immediately and go back to sucking blood.Also means that if drawing acid blood destroys the item, it'll just not produce any acid for you instead of giving you a container of acid that's immediately destroyed.
Lastly, it uses some if function stuff so that if you just hit escape, instead of the liquid ceasing to exist it will go in the blood draw kit by default like normal.
Describe alternatives you've considered
Testing
Additional context