This is the custom editor I've set up for my dialogue system. Since my game is 100% procedural, standard dialogue editors wouldn't work.
Every line of dialogue exists in a vacuum and is independent of other lines. The parameters associated with it are used by the system to procedurally decide what happens. I'm using a bitmask with 32 tags like "introduction" and "greeting." The tags mostly determine how the conversation flows. So for example if an NPC says something that is tagged as both "information" and "insult," the player's conversation wheel gets filled with lines thanking the NPC, lines asking for more information, lines relevant to being insulted, and lines that are a mix.
The second bit of information is how the line of dialogue is presented. If the player/NPC is angry they are more likely to say lines with higher anger values for example. These values also affect emotions internally with NPCs, potentially causing them to go "off script" if something is extreme. An extremely formal line in a black market or an extremely casual line in front of royalty will not go unnoticed.
All of the data and parameters in the screenshot are placeholders. I'll potentially increase it to a 64 tag maximum to make conversations feel less structured and I'll definitely add more presentation variables. Translations will take a lot of work so I might have to have fully separate dialogue lists per language.
One minor but cool thing about this system is that it allows real time conversations. For example a player could directly pick a line tagged with "greeting" and "insult" or they could say a greeting and quickly follow it up with an insult before the NPC responds.