Jump to content

PC reactions regarding to alignment


jastey

Recommended Posts

So I am writing my NPC-PC friendship path. I know that the answer option "Well, yes, I enjoyed killing the ogre-illusion knights in the Windspear Hills. I would have enjoyed it even more if I had known whom I am killing, though" is fitting for an "MASK_EVIL" aligned PC. And definitely not for a good one. So I put a trigger "Alignment(Player1,MASK_EVIL)" on that answer option.

 

But what about all those neutral alignments I have no idea of? TN for example. Would a sadistic / evil tendency by appropriate for neutral aligned PCs, too? If yes, should I restrict it to some only, and which one? Or is neutral a case of "it is OK either way, I don't care anyway"?

 

Please let me know your opinion. I only have experience with good alignend PCs, always playing one. I can come up with wicked reply options for evil ones, my imagination goes that far. But how to handle neutral ones so the playing experience is deep enough I am not really sure.

Link to comment

I would suggest that you open it to as many alignments as you can stand opening it to, to be honest, and let the PC decide if it is appropriate for him or her to take it. :( After all a chaotic good PC might see the Order as the root of all evil or something, though it's stratching it a biiiiig way (but I have seen players who played good characters that had this attitude, or at least claimed to).... so, I'd persoanlly open it to all non-lawful + all evil.

 

P.S: you can't also dismiss a case when a non-evil PC wants to push Ajantis' buttons by saying something like this.

Link to comment
P.S: you can't also dismiss a case when a non-evil PC wants to push Ajantis' buttons by saying something like this.
Yes, and pushing his buttons it would be.

I agree to what you said. It's the hundrets of needed Ajantis' reactions I am afraid of, though. It's an awful lot of work to reflect reactions to all these possible PC intentions. Maybe I am overdoing it a bit, but restricting an answer option sometimes for me is because of self-protection. ("Do I want to add a whole dialogue tree for a good-aligned PC who answered this? No, I don't. OK, MASK_EVIL it is"). :(

 

But that's why I am asking. Maybe I just don't see the forest due to all the trees, as we say in German.

Link to comment

Are you doing any sort of Interest/Influence indexing on Ajantis? For myself, I handle the stuff like that this way: NPC most often will take an insult as an insult, his liking of the PC diminishes, and romance/friendship eventually breaks. Or you can just split it by the character's reputation, ie Ajantis will doubt that PC is sincere if her rep is pushing 20, but knows that s/he is if her rep is below 12.... After all, do you really need a whole tree for Ajantis to just exclaim something in apparent disbelief if a good PC drops something like that? I am pretty positive any player knows that saying this will make Ajantis angry.

Link to comment

I only do indexing for a new beginning romance possibility. Friendship path will depend on overall things like reputation and PCs alignment.

 

Not a whole tree, that was exaggerated.

But the thing could look like this:

 

+ ~Class(Player1,PALADIN) ReputationGT(Player,18)~ + ~Well, yes, I enjoyed...~

+ ~Class(Player1,PALADIN) ReputationGT(Player,11) ReputationLT(Player,19)~ + ~Well, yes, I enjoyed...~

+ ~Class(Player1,PALADIN) ReputationLT(Player,12)~ + ~Well, yes, I enjoyed...~

+ ~!Class(Player1,PALADIN) ReputationGT(Player,18) Alignment(Player1,LAWFUL_GOOD)~ + ~Well, yes, I enjoyed...~

+ ~!Class(Player1,PALADIN) ReputationGT(Player,11) ReputationLT(Player,19) Alignment(Player1,LAWFUL_GOOD)~ + ~Well, yes, I enjoyed...~

+ ~!Class(Player1,PALADIN) ReputationLT(Player,12) Alignment(Player1,LAWFUL_GOOD)~ + ~Well, yes, I enjoyed...~

+ ~!Class(Player1,PALADIN) !Alignment(Player1,LAWFUL_GOOD) !Alignment(Player1, MASLK_EVIL) ReputationGT(Player,18)~ + ~Well, yes, I enjoyed...~

 

etc

etc

 

+ ~Global("C#AjantisRomanceMatch","GLOBAL",1) ReputationGT(Player,18)~ + ~Well, yes, I enjoyed...~

 

etc

 

And, just to think about it gives me horrors.

 

The situation in question I solved like this, btw.:

 

(...)

+ ~Class(Player1,PALADIN)~ + ~Well, yes, I enjoyed killing the ogre-illusion knights in the Windspear Hills. I would have enjoyed it even more if I had known whom I am killing, though~ + talk_3_11a

+ ~!Class(Player1,PALADIN) !Alignment(Player1, MASLK_EVIL)~ + ~Well, yes, I enjoyed killing the ogre-illusion knights in the Windspear Hills. I would have enjoyed it even more if I had known whom I am killing, though~ + talk_3_11b

+ ~Alignment(Player1, MASLK_EVIL)~ + ~Well, yes, I enjoyed killing the ogre-illusion knights in the Windspear Hills. I would have enjoyed it even more if I had known whom I am killing, though~ + talk_3_11

 

(...)

 

IF ~~ THEN talk_3_11

SAY ~You evil creature! This answer shows once again what I can expect from you. (...)~

IF ~~ THEN EXIT

END

 

IF ~~ THEN talk_3_11a

SAY ~You... What?!~

++ ~Forgive me, my friend. I was only trying to push your buttons.~ + talk_3_12

++ ~Do you think I really meant what I just said?~ + talk_3_13

END

 

IF ~~ THEN talk_3_11b

SAY ~You... What?!~

++ ~Forgive me, my friend. I was only trying to push your buttons.~ + talk_3_12

++ ~Do you think I really meant what I just said?~ + talk_3_13

++ ~Well I *do* loath the Order, although wishing them death is a bit too much, I concur. My apologies.~ + talk_3_14

END

 

IF ~~ THEN talk_3_12

SAY ~And that you did well. Be careful with remarks of that sort in the future!~

++ ~...

END

 

IF ~~ THEN talk_3_13

SAY ~No, I don't. Not after thinking about it. Because if you did, I would have to challenge you right here and now. Be careful with remarks of that sort in the future!~

++ ~...

END

 

 

I think that's convenient, for this case. But it can happen again in any dialogue... anytime... :(

 

My original question concerning reply options for neutral aligned PCs still stands, btw. If you ever felt that those where not enough available, this is your chance! ;)

Link to comment

Adding more neutral options is always a good thing imo :( The problem with neutrals, is that only the extremes seem to rip some kind of benefits, so neutral or funny replies that are not really evil or good is a good thing I think! ;) And I am sure a TN can be sadistically inclined...

 

But the thing could look like this:

 

Oh, yeah, it could, but what I meant is using Reputation over the Alignment, ie giving Ajantis' reactions based on Rep alone. :) But I think it works great the way you did it right now. It's always great when an NPC is reacting as a lving person, instead of an atomated responce no matter what and who PC is in extreme situations.

Link to comment

Short answer: depends on what is right for the NPC.

 

Long answer: same thing, but more detail.

 

Ajantis is a paladin of Helm, with a clearly defined code of conduct. Having his reaction to the PC's words differ relative to her alignment makes sense. Gavin is a relatively easy-going cleric of Lathander. He can *afford* to react to the PC's words as she says them, not based on her alignment.

 

For BG1, Gavin's romance wouldn't start unless the PC was good, because he didn't know she was a Bhaalspawn. For BG2, he already knows what she is, so he can allow her to have a little time to overcome the taint.

 

This makes it easier to write, and to code, because I don't have to worry about her inner motives, or her alignment, but it doesn't work for every NPC. I do keep track of the effect her responses have on him, though.

 

Example (entirely hypothetical):

 

Gavin: What do you think we should do with Risa?

PC (only one path shown): A pretty, maleable child like that could fetch quite a price. DO ~IncrementGlobal("B!GavinLove","GLOBAL",-1)~

Gavin: You can't be serious!

PC1: No, I'm not. We do need to help her, but I don't know how quite yet. GOTO OhAllRight

PC2: Actually, I am. We need the money. DO ~IncrementGlobal("B!GavinLove","GLOBAL",-5)~ GOTO OverMyDeadBody

 

But Gavin isn't a paladin, and that makes a difference.

Link to comment

The cool thing about what you do, berelinde, is that Player1's actual responses can change what dialogue responses are available, based on

"B!GavinLove"=X, so there is a direct link between what a player says ingame and what happens - a more direct link than either alignment, reputation, or even the "Virtue" mod approach allows. Gavin can be tailored directly to what a player says.

 

The incredibly bad thing about what you do is how many responses need to be built into an NPC CHAIN in order to cover basics. Way, way, way huge amounts of dialogue compared to a standard mod.

 

Luckily, Jastey is Queen of tailored dialogues; Ajantis' PID options alone are intricate enough to be extremely responsive. Domi is Goddess of gender/class/race/alignment/reputation driven alternatives. My bet would be that if Ajantis is to carry on from BG1, he might very well begin to lighten up and use berelinde's more flexible approach for some key decisionmaking points.

 

I think this holds true for the Friendship *and* romance paths - having more neutral or not so nice options gives the player a much more interactive experience. It can also create cool "chokepoints" for either romance or friendship pathes - here is what I am thinking coded out, using a Romance path because it is easier to demo:

 

If you want to go crazy, you could even build the conflict between the two, where if on the one hand the Reputation and the Alignment driven responses run into a situation where Rep=fine, Alignment-fine, but AjantisLove=bad. At that point, a dialogue could trigger to try to reolve the situation, with the results being someting like this.

 

[baf]
IF
Alignment(Player1,MASK_GOOD) //or match
ReputationGT(Player1,16)
GlobalLT("AjantisLove","GLOBAL",2) //starts higher than 0
THEN
RESPONSE #100
SetGlobal("AjantisDecision","GLOBAL",1)
StartDialogueNoSet(Player1)
END
[/baf]

[dlg]
CHAIN IF WEIGHT #-2 ~Global("AjantisDecision","GLOBAL",1)~ THEN ~AJANTJ~ CrisisofConscience
~My lady <CHARNAME~, I see I must discuss with you your behavior as of late.~
= ~Your actions do not match your words, <CHARNAME>, and I find myself torn between my love for you and the way you present yourself.~
= ~A Paladin must show his virtue in both deed and word. Our deeds are just, but your words are not. Are you able to behave as my Order requires?~
=~I wish our future together to be happy, but I forsee problems with the Order.~
END
++ ~Ajantis, love, shut up.~ DO ~SetGlobal("AjantisDecision","GLOBAL",2)~ + AjantisReactsBadly

++ ~Ajantis, go away. We need no empty platitudes, only strong action.~ DO ~SetGlobal("AjantisDecision","GLOBAL",2)~ + AjantisQuitsParty

+ ~Class(Player1,PALADIN_ALL)~ + ~My Order is accepting of deeds over words, Ajantis. Is yours so closed that it cannot make the distinction?~ DO ~SetGlobal("AjantisDecision","GLOBAL",2)~ + AjantisDiscussesOrders

+ ~Class(Player1,PALADIN_ALL)~ + ~My Order is accepting of deeds over words, Ajantis. Have you considered that your words deny the power of my god, and come between my Order, your Order, and our happiness together?~ DO ~SetGlobal("AjantisDecision","GLOBAL",2)~ + AjantisDiscussesOrders
++ ~Ajantis, my love, I understand. I will be more moderate in the future~ DO ~SetGlobal("AjantisDecision","GLOBAL",2)~ + AjantisReactsGladly

++ ~Ajantis, if you truly loved me, you would abandon the Order. Deeds are more important than words, my love.~ DO ~SetGlobal("AjantisDecision","GLOBAL",2)~ + AjantisBecomesFallenPaladin

++ ~Ajantis, my sense of humor is strong, and I cannot change my nature. You must decide whether I am worth the trouble.~ DO ~SetGlobal("AjantisDecision","GLOBAL",2)~ + AjantisBecomesFallenPaladin

++ ~Look, I do not need your condescending words or attitude. I will not become a token wife, to please your Order. I love you, but if they cannot handle a strong and independent woman as your partner, then tough. Go on, run back crying to their iron skirts, tin can... your words have hurt me deeply. I do not want to see you again. Perhaps your precious "Order" can supply your needs better than a mere woman.~ DO ~SetGlobal("AjantisDecision","GLOBAL",2)~ + AjantisAbjectlyApologisesAndBegsForPC

 

 

 

 

 

Of course, I don't have to write it, only play it...

Link to comment

Thank you for your examples! Although it was most probably not meant funny, your last reply option made me laugh, cmorgan. :(

 

Well, good thing about Ajantis is that he is a paladin: It's either right or wrong. If it's wrong, he doesn't have to torture himself with thoughts about "what if" or "does she really mean it", he will stand to his duties and end the romance. He has no other choice; PC behaving evil means she is evil - "Yes, but look, I know she didn't want to murder those innocents, she just had one of her bad days" doesn't work for a paladin. (Different situation in a dialogue: He will tolerate far more verbal attackings while the PC has lost her soul.)

 

I mostly started this thread to get feedback on reply options people would like to see, and the reactions they expect. The example I used above: If spoken by a CE, I would assume it is meant serious, or, at least, the PC wouldn't be surprised if Ajantis takes it seriously (some jokes don't work on some people). For a LG, if the answer option was ever chosen, I assume the player expects to find a way out (and not a sudden drop of rep by 5 and Ajantis attacking).

 

But I have the slight feeling the thread is running OT (without offending anyone).

 

My question concerning the neutral reply options stands. Give me examples as to what you would like to see as a choice, for any made-up situation you can think of. I don't know why, but it is hard for me to see what an appropriate "neutral" reply option looks like in a normal dialogue.

Link to comment

Apologies for any off-topicness. Didn't understand the question.

 

Neutral reply options would vary with the reason for neutrality, and all might be expressed at one point or another, even by a good character.

 

Using the Risa example:

PC1: I am sorry Ajantis, but I just do not know what to do. (Neutral by reason of indecision.)

PC2: Ajantis, I am sorry for the girl, but we do not have time to find a home for every orphan in Athkatla. (Neutral by reason of divergent priorities.)

PC3: Ajantis, I do not think we need take any action. Life in the orphanage will not be easy for her, but she will grow stronger for the experience. (Serving the Balance.)

PC4: Am I supposed to solve all your problems for you? (Neutrality through disinterest.)

Link to comment
My question concerning the neutral reply options stands. Give me examples as to what you would like to see as a choice, for any made-up situation you can think of. I don't know why, but it is hard for me to see what an appropriate "neutral" reply option looks like in a normal dialogue.

 

I like Berelinde's options, but I would also add the various non-commital wittisisms and quips as neutral options. I can't for the life of me to come up with any at the moment, but neutrality through exercising various types of humor from cutting to friendly is my fav type of neutrality!

Link to comment

That's why I work with berelinde now -- I can't get the right balance between riteous fervor and riteous frivolity :(

 

 

extensions of berelinde's idea -

+ ~ReputationGT(Player1,16)~ + ~Ajantis, love, shut up.~ DO ~SetGlobal("AjantisDecision","GLOBAL",2)~ + AjantisReactsWithHumor

+ ~ReputationLT(Player1,17)  ReputationGT(Player1,7)~ + ~Ajantis, love, shut up.~ DO ~SetGlobal("AjantisDecision","GLOBAL",2)~ + AjantisReactsWithSuspicion

+ ~ReputationLT(Player1,8)~ + ~Ajantis, love, shut up.~ DO ~SetGlobal("AjantisDecision","GLOBAL",2)~ + AjantisReactsWithAnger

+ ~Alignment(Player1,LAWFUL_GOOD)~ + ~You know, I hear Calimport sells orphans for a percentage...~ DO ~SetGlobal("AjantisDecision","GLOBAL",2)~ + AjantisReactsCalimportHumor

+ ~Alignment(Player1,LAWFUL_NEUTRAL)~ + ~You know, I hear Calimport sells orphans for a percentage...~ DO ~SetGlobal("AjantisDecision","GLOBAL",2)~ + AjantisReactsCalimportDisgust

+ ~Alignment(Player1,LAWFUL_EVIL)~ + ~You know, I hear Calimport sells orphans for a percentage...~ DO ~SetGlobal("AjantisDecision","GLOBAL",2)~ + AjantisReactsCalimportAttacksPC

+ ~Class(Player1,PALADIN_ALL)~ + ~Do we have time for this, Ajantis? The Order requires our actions be focused on resolving greater issues. If we stop for this, then a much greater evil will befall many more people. Perhaps she must be sacrificed for the greater good. ~ DO ~SetGlobal("AjantisDecision","GLOBAL",2)~ + AjantisDiscussOrder

++ ~Feed her to the birds for all I care, Ajantis. I am concerned with Irenicus right now.~ + AjantisCommentsOnSelfInterestButStaysWithParty

 

 

In some of the materials all three of you ladies use, the same statement is cast in different ways. You may or may not remember the specific ideas/code, but remember I am just parroting back to you three what I have learned form your mods, just kinda synthesized. The first time I saw Ajantis' PID, I literally shut down the computer and left the room, sure I was just not cut out for this at all, Domi's kind guidance notwithstanding. The level of customization to PC actions was incredible. I think that you just need to write the same words, but send the dialogue down different paths based on how you think Ajantis would react directly to the past actions of the party - the ultimate is a little too close to real life, as all of us know from our various Significant Others:

 

CHAIN IF ~Global("WakeUp","GLOBAL",1)~ THEN BEGIN ~Player1~ MorningTalk
~Well, good morning, sunshine!~
== ~Spouse~ IF ~Global("HadFight","GLOBAL"1)~ THEN ~(rolls over silently and coldly)~
== ~Spouse~ IF ~Global("HadFun","GLOBAL"1)~ THEN ~ Heya! ~
== ~Spouse~ IF ~Global("BotheredLastNight","GLOBAL"1)~ THEN ~ What do you want now? ~
== ~Spouse~ IF ~Global("GreatDate","GLOBAL"1)~ THEN ~ Mmmmm.... good morning, gorgeous... ~
== ~Spouse~ IF ~Global("NotEnoughSleep","GLOBAL"1)~ THEN ~ Hmpphrhhgh. *snort*	*snore*  ~
END
++ ~Sheesh!~ EXIT
Link to comment

Adding a condition to the option is restrictive: it diminishes the number of options you already have. Besides, a universal conclusion on what is good, what is evil and what is neutral in FR hasn't been reached. I'd refrain from it whenever possible.

 

My template might be something like this:

 

NPC: "Question. Do you agree?"

PC: "Well, yes, actually." -> PC_NiceAgrees

PC: "What? Screw you, psycho!" -> PC_Insult

PC: "I cannot say I agree. What about that?" -> PC_Discussion

PC: "You look really handsome when you gesticulate, like that." -> PC_Flirt

Link to comment
I think that you just need to write the same words, but send the dialogue down different paths based on how you think Ajantis would react directly to the past actions of the party - the ultimate is a little too close to real life, as all of us know from our various Significant Others:

 

These examples are of some really complicated people who possess both a rich vocabulary and a multidimensional personality.

 

Real life goes like this:

 

CHAIN IF ~Global("WakeUp","GLOBAL",1)~ THEN BEGIN ~Anyone~ MorningTalk
~Well, good morning, sunshine!~
== ~Kulyok~ IF ~True~ THEN ~GRRRRRRRRR!~
*EXIT*

Link to comment

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...