I have a problem with a mission I'm working on, and I can't seem to solve it, despite watching many related tutorials.
My character "Talks to Klingon General", using branching dialog. I want to have the ability to talk his way out of a fight, depending on how he answers. If he speaks nicely, he can click on the door and go inside. If not, Klingon soldiers beam in and the fight is on.
I figured out that having both "Kill Klingons" and "Go Inside" as side-by-side options doesn't work, because he has to complete both before moving on to the next map (making the optional fight not so optional).
Right now, I have "Talk to General", then "Go Inside", then "Kill Klingons". I thought that maybe if I could get the Klingons to beam in during the "Talk to General" speech, but they were standing far enough away, the fight could be optional. However, I can't make them appear during the "Talk to General" speech. They will only appear when we get to the "Kill Klingons" portion.
What do I do?
Oh, I also saw a lot of options in the tutorials for adjusting the STATES section of characters, like at "Components Complete", "Dialog Complete", and such. None of these options appear on NPC enemy groups. My only STATES options are "Immediately" and "This Objective in Progress".
If you want to do anything that's optional you have to do it via triggers and completely leave out the story tab.
You need to create a map object dialog and in that dialog have the character select the option to 'fight' or 'not fight' in there. Once you have completed that you can use a 'Dialog Prompt reached' trigger to trigger an NPC group to appear - please note it triggers once that dialog prompt has been reached so it's better to set it at the last prompt box of the fight chain of prompts.
The issues with things like 'Component Complete' and such not appearing is because you have made the NPC an objective. If as I suggested you take away the objective to Kill the NPC group you can use the follow suggestions to determine a way to set the map dialog up.
The question now is how can you trigger themap dialog to appear there are 2 options that I have used in the past.
1. If you still want to use the Talk to NPC objective you can split the entire discussion dialog into 2 sections one to keep in the Objective dialog and another for the triggered map dialog. Set the map dialog to trigger on Objective Complete with the Talk to NPC objective done. However this process has the potential to bug out.
2. You can replace the talk to NPC objective with a reach objective. Put all the discusion in the map dialogue and trigger it to appear on Component Reached with the same reach item as the reach objective.
Adding on to what Bazag said. When you have the Klingons beam in triggered by dialogue prompt reached, you probably also should put an invisible wall in front of them triggered by that same dialogue prompt reached (or possibly have the invisible wall just appear immediately at map load, so the player can't accidentally get behind it). Have the invisible wall set to disappear when the dialogue is completed (component complete).
That way what you have is the player triggers the "fight" option and the Klingons beam in, but they still won't actually attack until they complete the dialogue. This prevents them from attacking prematurely and causing the dialogue to get minimized due to combat.
An alternative way to have the Klingons beam in is to have the last dialogue option activate a secondary invisible object the player can use to continue, which once that is activated would actually spawn the Klingons.
So instead of having the dialogue reached option trigger the beam in, make it trigger an invisible object to become active. Then this object uses a component complete trigger to spawn in the Klingons. You can make the interact button say something simple like "Continue..." or you can have it be deceptive if that is what the dialogue calls for, like "Open the door" which then actually beams in Klingons.
And to clear one thing up -- you'll get more state options than "Immediately" and "This Objective in Progress", if the encounter is *NOT* used inside the Story tab. Encounters and Objects used in the Story tab have a limited set of states to prevent the guys from getting killed before the objective is available or objects turning invisible while the objective is in progress. Both of those would create an uncompletable mission.
Sure enough, when I removed the Klingon forces from the story tab, I was able to look at many more STATES actions for them. I had access to the Dialog Complete choice, but I just couldn't get it to work. I kept getting "There are no dialogs to choose from" when I tried to tie in the STATES of these squads to the General's dialog tree. I couldn't figure out how to link the dialog in the Story tab to the STATES of the Klingon squads on the Maps tab.
Here's what I ended up doing (so far, anyway):
The General goes into his branching dialog where you can either be nice or you can challenge and insult him. At the end of his dialog, 3 squads of Klingons beam in behind him, far enough away so that they don't attack, they just stand there, looking mean.
At the same time, I have 2 doors right on top of each other on the side of a building. The first door is the objective of "Go back inside". You can fight the Klingons or not. When you click on the door, the General asks if you'd like to see his best soldiers. At that time, 2 things happen. 6 more Klingon squads appear in a semi-circle behind the General (again, far enough away so they don't attack), and the second door (in the same exact place as the first), with the objective "Go back inside", is triggered. You can fight the Klingons or not.
This time, when you click on the door, you actually go back inside the building.
It seems to work. I'm just playing around with enemy placement. I want them as close as possible, but sometimes my BOffs on Test are a little stupid and run directly into danger.