I am working on a mission and I want the option to the player to do away with an inefficient spy if they want. I have the two separate lines of dialog. One for letting them live one for killing them but I cant seem to actually get it to work. Is this even possible?
The only real option is to have the friendly npc on a platform. Choosing to save him, does nothing and he lives. Choosing to kill, the platform disappears, dropping the npc under the map, then triggers a new enemy to spawn, if you can pull it off.
There's another option, but it's trickier. Use an NPC group instead of a contact. So, your informant will have to have some back-up somewhere in the vicinity.
Wall off all the enemies behind invisible walls so they won't attack. Then place a map dialogue and trigger it via component reached or something like that. Set this set of invisible walls to disappear when that dialogue completes. Next, place a second set of invisible walls in the same location that appear via dialogue prompt reached on the "non-kill" option.
The result of this is that the invisible walls will keep the NPC from attacking until the dialogue is complete. And, if you choose not to kill them, another set of invisible walls will continue to keep them from attacking afterwards.
The reason to do it this way and not have the invisible walls disappear on component complete is that it prevents the enemies from attacking prematurely, causing the dialogue to minimize uncompleted.
One little tip: if possible, try to place the invisible walled enemies in areas where the player probably won't go too close to. Sometimes the stupid BOffs will "jump" invisible walls, so it's better if you have the dialogue trigger before the player is that close, and keep the other walled NPCs out of the way where the player probably won't go too close to.
What if you set the NPC contact to a state where it is visible until you finish talking to him, but have him set to hidden right after that. THEN set up a hostile NPC group, set the actor so he is in the exact spot the contact was in (using coordinates) and set the NPC hostile to appear when the objective is complete. Does that work?
No, because you can't hide contacts and enemy groups. We were told that it's because if we could hide contacts we could make missions which couldn't be completed, but that honestly makes no sense.
We can hide interacts and those could just as easily make a mission that couldn't be completed, but they don't because the only hide options available for them are Objective Complete. The same thing could easily be done with a contact or enemy group, and certainly hiding a contact/group that is not even part of the storyline wouldn't cause any danger of the mission being broken.
Therefore, I assume there is some sort of technical limitation that prevented that option in the past, and I very much hope that will change in the future. It would make these sorts of things much easier and prevent the need to use absurd work arounds like invisible walls or dropping the contact through the floor.