Was just thinking about a basic speech system using comic style speech bubbles, but the Spr/Til image spawned would need to be interactable and have some kind of effect when clicked. Ive done it before using the tactics scripting but it was an insane amount of scripting. Having the engine paused also while speech is happening would be handy, as in my version you could shoot the dialouge options lol.
I think the efforts needed are not so bad if you systematize your work a bit.
1. You first need to add a series of default dialog entries in generic_mission.txt :
Code:
Dialog_yess= {<Cg>"Yes"<C->}
Dialog_no= {<Co>"No"<C->}
Dialog_more= {<Cy>"Tell me more"<C->}
Dialog_violent= {<Cr>"Go fuck yourself!"<C->}
2. Then you add these 4 dialogues under the level tab in each and every mission map using mission editor, regardless of dialogues existing or not. You are preparing the groundwork for the creation of dialogues when you will need them.
3. Then you create 4 impossible to kill entities with 10000 AC and a sprite that look like a dialog icon, cheking the always friendly checkbox. You then change the color of the entities team to make it more easy to spot, like red for some violent dialog, for example. Don't forget to add as the default click dialog one of those already saved in each mission map.
4. Add the dialogs as character names in characters.txt between two "", making the dialog appear later when hovering the dialog icon with your mouse.
5. You pre-add those entitites to each of your maps, assigning them a friendly player and hiding them outside the map in a hidden location.
You are now ready to quickly create any given dialog with no time.
1. As soon as the character you are speaking to finish his.her sentence, using the script "speech occured", you move the 4 options (or only the ones you need) to that character using the script "move to [entity name]". You also assign a variable, like : speech = "super quest asked"
2. Once again, you use the script "speech occured" + variable speech = "super quest asked" to determine the outcome. As soon as "yess" speech occured, for example, you move all the dialog icons back to the hidden location (using a waypoint), and you apply the consequence. If the consequence is a response from the character you are speaking to, you use the "force speech" trigger, that could trigger a new set of choices.
If you need the dialog icons for another character, you simply call them again, including some other, uniques ones you might need. You can do this as many times as you need.
Of course, it is still a bunch of work, but you can achieve that quickly if you already have the dialog icons and their dialog nodes integrated to each map. And it has the advantage of using the same mechanic as clicking something to speak.