What, exactly, are you trying to achieve here?
For instance, as you describe it, it sounds like you intend to tie the content of conversations (the text) to the control-flow (which records what options lead to what other options).
It’s also not clear what problem you are proposing to solve by doing it on the client. You only say that you store maps on the client to save bandwidth / access-latency, and nothing about why you might want to do something similar with the conversations.
Is it just the same as with maps - you want to spare the latency of downloading conversations? (generally minimal, text compresses so well). Or…do you want to spare server bandwidth?
Or…more likely, I think…do you want to offload the whole processing, AND avoid the RTT latency, thereby increasing the responsiveness of conversations even on slow connections?
And once you’ve decided all that, what’s your threat-model - what are you afraid someone might try to do?
e.g.:
- reading the raw text of conversations would give away secret info about the game
- reading the chain of possible conversations would give away an in-game advantage (e.g. I’ve played RPG’s where you can only have certain parts of certain conversations once - you have to make an irreversible decision; being able to see the outcome before making the decision might be a cheat)
- …etc.
Depends on how you’re structuring the game, but each such threat may have a 100% secure solution (there are easy ones for hte two I just mentioned) so that you could have the best of all worlds.