Jump to content


Carinna

Member Since 06 Dec 2009
Offline Last Active Dec 27 2009 11:21 AM

Topics I've Started

Help with pacifist mod for Baldur's Gate II

13 December 2009 - 01:55 PM

I've moved this over from the "mod ideas" forum as it had turned into a request for help.

First:  I am a writer; I have no programming experience whatsoever and don't have time to learn something like C++ at the moment.  I believe I can learn .d with no problem.  

What I am trying to do with this mod is to remove all the places in the MAIN LINE QUEST ONLY where the game will not permit you to proceed until you have killed something (not including vampires, who are already dead, or IRENICUS).  It won't change your existing option to kill everything if you want to, but permits you to choose NOT to kill.  There really aren't a lot of these areas in the main line quest, so this is not much more than a mini-mod, perfect for a first time modder.

For SoA, at least, (I think) the only place that appears to require a dialogue change (there are script changes for other areas, but they don't require dialogue) is with the two defectors from the Shadow Thieves, whom Aran Linvail asks you to infiltrate in the Five Flagons Inn in Chapter 3.  As the game is written, the party must kill both defectors before the guild contact is spawned.  I am changing this so that the contact is spawned and the party has a chance to successfully fool the defectors and the contact into thinking they are also defectors.  Here is what I have written for this scene so far (the comments included in the code contain questions I have about it):

/* Altered dialogue for Jaylos/Caehan/Gracen scene in Five Flagons Inn Chapter 3 */
/* Scene progresses as in vanilla game until the conversation progresses to the following point:*/

/* Diverted from Caehan.dlg state 6, so the transition goes directly there. */
/* I've kept the options for the old behavior by copying the original replies as the first four in the reply list for the top-level dialogue below. */
/* Those first four replies are sent back to the original dialogue (Jaylos.dlg) */


ALTER_TRANS CAEHAN // CAEHAN.DLG
BEGIN 6 END // 6
/* Does this divert from ~CAEHAN~ 6 ?  It should be the only diversion away from the original. */
BEGIN 1 END // 1
/* There is only this one transition, so hopefully this is correct? */
BEGIN //
/* Not sure if the end of the transition should still go here or not.  Will it transition if so?  Or will putting it after the changes cause the dialogue to revert back to the original after it should have stopped altogether? */ 
 
APPEND ~JAYLOS~

IF ~~ nkJaylos
SAY ~[JAYLOS] All right, everyone, just calm down.~ /* copied from original */
++ ~[PC] You don't know the naa-aame, you don't know the naa-aame.~ EXTERN ~JAYLOS~ 13 /* copied from original */
+ ~Gender(Player1,FEMALE)~ + ~[PC] Maybe I know the name very, very well!  Maybe it's MY name!  Maybe I'm the contact!~ EXTERN ~JAYLOS~ 15 /* copied from original */
+ ~Gender(Player1,MALE)~ + ~[PC] Maybe I know the name very, very well!  Maybe it's MY name!  Maybe I'm the contact!~ EXTERN ~CAEHAN~ 7 /* copied from original */
++ ~[PC] Listen to your pal, friend.  You are in big trouble.~ EXTERN ~JAYLOS~ 2 /* copied from original */
++ ~[PC] How DO I know you really know the name?  You could just be trying to get me to talk.~ + nkJaylos1 /* single response going to new dialogue */
END

IF ~~ nkJaylos1
SAY ~[JAYLOS] I guess we'll find out soon enough.~
IF ~~ THEN DO ~SetGlobal("JaylosSpawn",AR0511",2)CreateCreature("BODFGT03",[652.814],10) EXTERN ~nkGracen~
END

IF ~~ nkJaylos2
SAY ~[JAYLOS] Now wait just a minute!  WE were here first!~
IF ~~ EXTERN ~nkGracen~ 2

IF ~~ nkJaylos3
SAY ~[JAYLOS] I knew you didn't know the name, SPY!~
++ ~[PC] No, you are the spies!  Let's get them, Gracen!~ EXTERN ~BODFGT03~ 2
END

END // of APPEND to JAYLOS.DLG

APPEND ~BODFGT03~

IF ~~ nkGracen
/* Can I call the file nkGracen if it gets appended to BODFGT03?  Or should it be nkBodfgt03? I'm trying to avoid having his variable end in a number because it gets confusing with the state numbers */
/* Not sure if Gracen should be called by his creature name, BODFGT03, or his actual name in [GRACEN] wherever he speaks */
SAY ~[GRACEN] What's going on here?  I'm Gracen.  Were all of you to meet me here?~
++ ~[PC] WE were.  I don't know what these two are doing.~ EXTERN ~nkJaylos~ 2
++ ~[PC] Actually, we're here to teach you a lesson for crossing the Shadow Thieves.~ + nkGracen1
++ ~[PC] What happened to using your name for the password?~ EXTERN ~nkJaylos~ 3
END

IF ~~ nkGracen1
SAY ~[GRACEN] I shall make sure you cannot report what you have seen!  Time to die, fools!~
IF ~~ JOURNAL ENTRY ~Aran's tasks to receive the Shadow Thieves' aid


The defectors from the Shadow Thieves have been killed and the contact who had come to collect them attacked me.  I discovered that the rival guild is based in the Graveyard District, but little else.  Hopefully, this is all the information that Aran Linvail requires.~ EXIT
END

IF ~~ nkGracen2
SAY ~[GRACEN] Keep your voices down!  We should not wait here long.  Your new berth is beneath the graveyard district, behind the blue stone doors.~
++ ~[PC] That's all we needed to know.  Now you shall feel the wrath of the Shadow Thieves.~ EXTERN ~BODFGT03~ 7
++ ~[PC] Might I ask what our reward was to be again?  I would like it clarified.~ EXTERN ~BODFGT03~ 8
++ ~[PC] Well, we shall be on our way, then.~
IF ~~ JOURNAL ENTRY ~Aran's tasks to receive the Shadow Thieves' aid


I have successfully posed as a defector from the Shadow Thieves and met the contact, although I have learned little beyond the fact that the rival guild is based in the Graveyard District.  Hopefully, this is all the information that Aran Linvail requires.~ EXIT
/* Gracen does not respond if he is fooled; he, Jaylos, and Caehan simply leave */
END

END // of APPEND to BODFGT03.DLG

END // of ALTER_TRANS CAEHAN

Will this work without in itself messing up the original game or others' mods (unless those mods directly affect this scene)?  If not, please help me to fix it so it will work.  

-- THANK YOU!