Dispatches From Neverwinter

A journal of my progress as I (attempt to) learn how to build modules for Neverwinter Nights.

Name:
Location: United States

Started playing Neverwinter Nights back in November '05 and got hooked. Tried to write my own module, but I just didn't have the time. Maybe I'll try again someday.

Wednesday, May 23, 2007

Conversation Complications

Working on the Cup sidequest last night, I began to see that the conversation with Father Bertram is going to end up being much more complicated than I thought. Initially, it seemed pretty straightforward: The PC talks to Bertram and is offered the quest. If he takes it, Brother Thaddeus offers to go with him as a henchmen. So the conversation nodes have to cover the following:

1) The PC meets Father Bertram for the first time.
2) The PC has taken the quest, but doesn't have the cup.
3) The PC has the cup, but hasn't finished the quest.
4) The PC has finished the quest.

All of these, except for the first, need to be tracked with a variable. 'The variable is called "cupquest," and right now the values assigned to it work out like this:

1 = The PC has taken the quest, but doesn't have the cup.
2 = The PC has the cup, but hasn't finished the quest.
3 = The PC has the cup, but hasn't finished the quest, and Thaddeus is dead.
4 = The PC has finished the quest.

Number 3 is where the complications start to creep in. Thaddeus is only meant to be a henchman for the duration of this one sidequest. I don't want the PC to be able to hire him, then ignore the sidequest and carry on with the main quest. So I set up a trigger similar to the one I set up for Jocen & Crissa, where if the PC makes like he's going to leave the area by following the road north, Thaddeus will interject and then leave. This itself isn't complex, except for the fact that I had to learn how to set up a non-random interjection trigger for the henchman, and I don't fully understand the instructions. What gets complex is if the PC recovers the cup and then decides to run off with it instead of returning it. Actually, this wouldn't be a big deal, except that he might have Thaddeus as a henchman. Not only will Thaddeus have to interject, but it'll have to be a different interjection than the one that comes up if the PC decides to bugger off before he gets the cup.

Now, if the PC tries to leave without the cup, then Thaddeus will simply return to the monastery. The variable won't change, and if the PC changes his mind, he can go back and rehire him, and there's no problem. However, if he tries to leave with the cup, Thaddeus will actually try to stop him, and may get killed. If the player does the logical thing and moves on, no problem. However, I have to allow for the fact that the PC might kill Thaddeus, then change his mind and go to the monastery and talk to Bertram anyway. This wouldn't make much sense, and in fact, I'm not sure how to write the dialogue for it, but a player could concievably do this, so I have to allow for it. And, in order to maintain some kind of realism, I have to allow that the PC might talk to Bertram after killing Thaddeus and then decide not to return the cup (if they kill Thaddeus, that is; if he just goes straight to the monastery to return it, I'm not going to allow for the option of the PC not returning it in this case, because if they wanted to keep it, there's no reason for them to go back to the monastery at all). In fact, since they'll only kill Thaddeus if they were planning to bugger off with the cup, there's no reason to assume they'd then give the cup back. In fact, it makes no sense that they'd go to the monastery at all, but again, I have to allow for this. My only other option is to simply not let them go back into the monastery after killing Thaddeus, but that isn't realistic either.

Anyway, I was simply going to add a bit of script to Thaddeus OnDeath event that would change the value of cupquest to 3 when Thaddeus was killed. Then I remembered that Thaddeus might very well be killed by an NPC. Obviously, I don't want dialogue to come up suggesting that the PC killed Thaddeus if they didn't, but I do want Bertram to ask about Thaddeus if he's dead, so in fact, I'm going to have to write a couple of scripts that essentially say the following:

1) If the PC tries to leave (i.e. follow the road north), but doesn't have the cup, Thaddeus will return to the monastery (if he's been hired as a henchman).
2) If Thaddeus is killed, set the value of cupquest to 3.
3) If the PC tries to leave, and has the cup, Thaddeus will attack the PC.
4) If the PC kills Thaddeus (which can only happen if #3 happens first), set the value of cupquest to 5.

Numbers 1 & 3 when the PC steps into a trigger, and I've already begun working on that. To handle this, the PC will be assigned the variable "quitter" with a value of 1 (if they try to leave without the cup), or 2 (if they try to leave with the cup) Numbers 2 & 4 will have to be written into Thaddeus OnDeath script, which will end up looking something like this.

If
Thaddeus is killed,
and the value of quitter is not 2
set the value of cupquest to 3.
Else
set the value of cupquest to 5.


This means I need the following conversation nodes for Bertram:

1) The PC meets Father Bertram for the first time.2) The PC has taken the quest, but doesn't have the cup. (cupquest = 1)3) The PC has the cup, but hasn't finished the quest, and Thaddeus is alive. (cupquest = 2)
4) The PC has the cup, but hasn't finished the quest, and Thaddeus was killed by an NPC. (cupquest = 3)4) The PC has finished the quest. (cupquest=4)
5) The PC has the cup, but hasn't finished the quest, and the PC killed Thaddeus. (cupquest = 5)

The last option is extremely annoying, because it might very well lead to the PC getting into a fight with Bertram, which means that now I have to recreate Bertram as an actual cleric, rather than as just a commoner.

Now, aside from all this, I just realized there's another possibility: the PC could wander into the area, and then decide to head west, toward the bandits, without going into the monastery first. That means the PC could get the cup without ever recieving the quest, and then they might decide to go to the monastery and talk to Bertram. At the moment, I have a script that triggers a journal entry for the quest when the PC acquires the cup. If the PC never got the quest, this won't make sense, so I'm going to have to rewrite it so that it looks like this:

If
the PC has the value of cupquest set to 1
set the value of cupquest to 2
and add the journal entry
Else
Set the value of cupquest to 6

Then, I have to add a sixth conversation node to Bertram to cover the PC having acquired the cup without ever recieving the quest. In this case, the PC might decide to mention the cup, or not. If they do, then they might decide to give the cup to Bertram, or not. If they don't, then I need a script which makes everyone in the monastery attack the PC.

And finally, theres the matter of the reward: a holy symbol which only works if the PC is one of the faithful or is favored by Naamar. I wrote it this way because the PC could concievably kill Thaddeus and take his holy symbol, and it didn't seem right to me that Naamar would offer his protection to the PC after the PC just killed one of his servants. If the PC takes the quest and returns the cup (without killing Thaddeus), he gets this boon. If he kills Thaddeus... well, I might not put in the option to return the cup. Or maybe the PC feels remorse and does have the option to return the cup, but if he does, the holy symbol won't work (I think I'll need a journal entry to explain this, since the PC could lie to Bertram about killing Thaddeus). If the PC brings back the cup without ever having taken the quest, he doesn't get the holy symbol at all.

Oh, and on top of all that, I need to make a custom faction for Bertram, Thaddeus, and the monks, so that they can all go hostile if need be.

So to sum up, I need to include scripts and/or conversation nodes to handle all of the following:

The PC has Thaddeus as a henchman and tries to leave before acquiring the cup.
(req: henchman trigger, conversation node)
The PC has Thaddeus as a henchman and tries to leave after acquiring the cup.
(req: henchman trigger, conversation node, Thaddeus turns hostile, set variable "quitter" to 2)
The PC kills Thaddeus.
(OnDeath script, set variable "cupquest" to 5)
Thaddeus is killed by an NPC.
(OnDeath script, set variable "cupquest"to 3)
The PC talks to Bertram after he has the cup, and Thaddeus is alive.
(Conversation node, set variable "cupquest"to 4)
The PC talks to Bertram after he has the cup, and Thaddeus was killed by an NPC.
(Conversation node, set variable "cupqest" to 4)
The PC kills Thaddeus and refuses to return the cup, and Bertram turns hostile.
(Conversation node, set variable "cupquest" to 7)
The PC kills Thaddeus, but then decides to return the cup anyway.
(Conversation node, set variable "cupqest" to 4 (?))
The PC acquires the cup after recieving the quest.
(OnAcquire script, set Journal entry, set variable "cupquest"to 2)
The PC acquires the cup without recieving the quest.
(OnAcquire script, set variable "cupquest"to 6)
The PC returns the cup without recieving the quest.
(Conversation node, set variable "cupqest" to 4 (?))
The PC refuses to return the cup, and has never recieved the quest, which makes Bertram and everyone else in the monastery turn hostile.
(Conversation node, set variable "cupqest" to 7 (?))
The PC acquires a holy symbol without accepting and finishing the quest, so it doesn't work.
(On acquire script, journal entry)
The PC acquires a holy symbol, having accepted the quest, but then having killed Thaddeus, so it doesn't work.
(On acquire script, journal entry)
The PC acquires a holy symbol, having accepted and finished the quest, and it does work.
(On acquire script, journal entry, set variable "favored" to 1)
(There is no way for the PC to get a holy symbol if they returned the cup without having accepted the quest first).

I think that about covers it.

0 Comments:

Post a Comment

<< Home