npctalk: add dialogue effects to give items to NPCs #30044
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.
Summary
SUMMARY: Infrastructure "npctalk: add dialogue effects to give items to NPCs"
Purpose of change
Create dialogue effects that let the character give items to NPCs to hold or to use, and migrate the dialogue responses that used to implement giving items to NPCs into JSON.
This will hopefully resolve an issue reported by @A.Fulcrum where asking an NPC to train when the NPC was thirsty would be spawn the dialogue window to give the NPC something, but only under certain ill-defined circumstances.
Describe the solution
Add dialogue effects for
give_npc_item
andgive_npc_item_to_use
that allow the player to give an item to a NPC. If the NPC rejects the item, the NPC sets a reason which can be used in future dynamic lines by the NPC.Describe alternatives you've considered
I could debug A.Fulcrum's actual issue, but that sounds difficult and tedious, while doing this means there are even more dialogue options in JSON and less in C++.