Jump to content

BG2 NPC Project?


Zireael07

Recommended Posts

Because BG2 NPCs already have banters of their own. Duh.

 

Check out Banter Pack and NPC:IEP if you want additional banters with the default NPCs.

 

I mean, BG1... adds not only banters, and PIDs. We have a wealth of mods offering additional banters, but the PIDs are neglected.

Someone here, on these forums, has commented that there is an unbalance between mod and original NPCs regarding the amount of the content. Since most people want PID in mods...

Link to comment

PIDs are nice, but very likely to cause problems with other mods: if I add a PID to Minsc, mods that try to add new dialogues to Minsc (without using the WEIGHT command) will display my PID instead of the intended dialogue; this is fine for mod NPCs (if I try to add a dialogue to somebody else's mod, I will immediately notice the issue), but not for Bioware NPCs (somebody might have added a new dialogue to Minsc, and I will end up breaking his mod by installing my PID).

Link to comment
PIDs are nice, but very likely to cause problems with other mods: if I add a PID to Minsc, mods that try to add new dialogues to Minsc (without using the WEIGHT command) will display my PID instead of the intended dialogue; this is fine for mod NPCs (if I try to add a dialogue to somebody else's mod, I will immediately notice the issue), but not for Bioware NPCs (somebody might have added a new dialogue to Minsc, and I will end up breaking his mod by installing my PID).

 

Wouldn't it be fixed by installing our hypothetical mod last and using EXTEND_BOTTOM? That way our PID would always be last...

Link to comment

The only way you could be sure of that working as intended (given the difficulty of not being able to guess in what order players will install the mods) is to add it to the Crossmod mod, which is specifically designed to go last (after all NPC mods) in the install order. But Crossmod is usuall Author works with Author mod added content, not Author Ajdusts BioWare content.

 

There is a bigger difficulty, though - not just the fact that your PID may never fire because other mods (who particularly like Jahiera and Aerie and Viconia, given that they are the canonical male<>female romances) may introduce always-true conditions. Disabling the Jaheira Flirtpack content is a good idea for you, because it makes no sense to be flirting with Jaheira when her husband is three feet away (hey, elves might be kinky, but they probably wouldn't do that in public). But how are you going to do that without enforced install order (FlirtPack, Banterpack, then Khalid-in-BG2)? The only thing I can think of is to set a block that looks for the globals expected in the other mods, then "hijack" them (set them to a huge value, like 80, so nothing ever fires). The only example of this kind of "mess with someone else's mod" are the romance shutdown blocks. In this case, I don't think JCompton would mind shutting his stuff off, given that you are trying to make your mod work alongside his and you are only targeting Jaheira; for less enlightened/experienced modders, someone might take offence. But you probably want to ask him if it is ok with him, just to be sure.

 

Wait a sec - thinking about it, perhaps this wouldn't be as hard as envisioned...

The biggest hassle in adding PID content is figuring out Jaheira's added dialog and weights from other mods. There may be ones that are already always-true conditions, whether they are intended to be or not. In most of the BioWare Romance participants, though, the PID option has been proved "ok", because otherwise FlirtPack would be flooded with "this doesn't work"... so you could raid the FlirtPack thread at PPG and identify mods where FlirtPack has had bug reports. That might make it easier to figure it out.

 

But all the flirtpack stuff is predicated on romance, and lovetalk progression. So, kill the romance, kill the other PID and the other flirts - they won't fire.

 

So, now that all that thinking-out-loud got typed, synopsis of suggestions:

  • Determine what players have troubles with when they install Flirtpack; if mods need to be installed before or after FlirtPack in order to work, then these should be the ones with things that will block your mod PID from working.
  • Add your PID as an EXTEND_BOTTOM with added conditions (like not having Jaheira's romance running, and having Khalid in the party)
  • add a script block to Jaheira's script that continuously checks and hijacks the romance variable...
     
    (this must be in Jaheira's script, so that you don't have to do all sorts of running around with TriggerObject and ToBEX, etc.)
     
    (note: you can try this, but hopefully other folks will come along and give you more efficient ways - I would want to see in testing if it created any in-game stutter... you do this continuously because all sorts of mods have added to Jaheira, and some of them have probably set up things that influence the romance variable. You don't want happy K and J suddenly having to explain away an affair...)
    /* looks for anything that sets the romance up to continue and obliterates it... an auto-immune system for slugs hitting on the Harper when her man is standing right next to her.  */
    IF
    InParty("<<prefix>>Khalid")
    GlobalGT("Lovetalk","LOCALS",0)
    GlobalGT("JaheiraRomanceActive","GLOBAL",0)
    THEN
    RESPONSE #100
    	SetGlobal("Lovetalk","LOCALS",0)
    	SetGlobal("JaheiraRomanceActive","GLOBAL",0)
    END


(note - FWDisableFlirts = 1 will not work - it disables ALL of the content for all of the added flirts, instead of just Jaheira's).

 

You would want to check to make sure that shouldn't be SetGlobal("JaheiraRomanceActive","GLOBAL",3) - I am not sure if setting everything to 0 will create a script-stutter. I don't think so, as those values never get set for female PCs - you would want to check through the BioWare material and make sure. And as a caveat, you have to be careful. Some players may drop Khalid from the party. You are going to want to make sure Jaheira is the script-runner for what happens, or else the first time you drop Khalid, she might start her romance with you.... then he rejoins, everything gets set back to 0, then he leaves, and she starts the same sequence... you might decide to change the Match variable, or put everything out of range instead of zeroing it out.

 

Now, hopefully someone will come along and tell you under what conditions this suggestion will fail, because often it is suggestion 2, 3, or 4 that is the cleanest and most elegant :)

 

(p.s. Now you are finding out why no one has trued to do this before!! It is a real challenge. Don't get discouragged, just keep pegging at the challenges and soultions will probably present themselves).

Link to comment

Well, if you're that desperate, you could just assign a hotkey to your PIDs - click on Jaheira, a cutscene triggers, a variable PIDActive gets set, and a PID menu appears(after the first line, PIDActive=0, so when the dialogue ends, it's no longer "visible" unless you press that hotkey again) - that's what I intended to do for IWD NPC at first.

Link to comment
Well, if you're that desperate, you could just assign a hotkey to your PIDs - click on Jaheira, a cutscene triggers, a variable PIDActive gets set, and a PID menu appears(after the first line, PIDActive=0, so when the dialogue ends, it's no longer "visible" unless you press that hotkey again) - that's what I intended to do for IWD NPC at first.

 

Good idea for this mod.

 

*giggles* Thanks for the advice concerning Jaheira and Khalid, but in this thread I was thinking about evening the situation regarding Bioware NPCs. As someone mentioned here, J&A&V get the PIDs in some mods but virtually no one else does. Why don't add PIDs for say, Keldorn, Annoymen, Imoen, Haerdalis... not necessarily in that order?

Link to comment
Annoymen
What do I see here. I hope you don't attempt on adding a (hate) PID to "Annoymen", as it would turn out to be something horrible, I guess. And do I have to expect the standard mod-NPC "My NPC wins over Anomen the (arrogant) dumbass" banters in the Khalid-mod? It would be a real pity.
Link to comment
Annoymen
What do I see here. I hope you don't attempt on adding a (hate) PID to "Annoymen", as it would turn out to be something horrible, I guess. And do I have to expect the standard mod-NPC "My NPC wins over Anomen the (arrogant) dumbass" banters in the Khalid-mod? It would be a real pity.

 

No, I don't. In fact, I'd like PIDs that do him credit and don't make him into the annoying buffoon. I just read the moniker on the internet and I like it (he does annoy me).

 

For reference, Khalid's banters with Anomen go like this:

No 1.

A: Why didn't you join the Order....?

K: Because I don't love Amn and its citizens too much.

A: Why?

K: Let's say I don't like Shadow Thieves.

A: The Order is fighting them. And you could be a fine knight in the Order, you've got the necessary ideals.

K: I'm terribly sorry, but I don't think I can be a paladin

 

No 2

K: Why did you join the Order? You had family...

A: My father was not the best. He could not understand my calling.

K: Mine wasn't ideal either. Preferred my brothers.

A: You're talking in the past tense. My sister...

K: What do you mean?

A: I did think about coming back for her. Did you - for your brothers?

K: No. Achmed was a spoilt kid. Nabil was his father's son. But if I could, I'd have saved my mother.

 

So I don't think they look like 'my NPC wins over Annoymen', rather 'talking about Order and family'.

Link to comment

Reading the stultification of his name people use to ridicule the character made an alarm go "ring" in my head but that's cool then. Thank you! I didn't mean to sound rude. Well, maybe a lttle bit. :)

 

And to add something on-topic: I like the idea of PIDs for the BioWare NPCs very much. I don't think it's a problem that such a mod would have to be installed last, it works with CMB, too.

Link to comment
And to add something on-topic: I like the idea of PIDs for the BioWare NPCs very much. I don't think it's a problem that such a mod would have to be installed last, it works with CMB, too.

 

Yay, so it's doable! I hope we see this mod published sometime in the future...

Link to comment
And to add something on-topic: I like the idea of PIDs for the BioWare NPCs very much. I don't think it's a problem that such a mod would have to be installed last, it works with CMB, too.

 

Yay, so it's doable! I hope we see this mod published sometime in the future...

 

BUMP and to say that WEIGHT #99 IsGabber (Player1) should prevent any conflicts, I think...

Link to comment

It won't help: first, if you have, say, 35 different states, the last one is marked 34th, whatever you do. Second, if a mod is installed afterwards, it still extends its non-weighted states to the bottom. Third, some NPC mods already have over 100 states(Xan's crossmod banters are marked 100-something), and Jaheira is hardly an exception.

 

Your best bet would be installing this after all NPC/quest mods(because quest mods add NPC reactions), and adding RomanceActive<>1,2 to prevent incompatibility with NPC flirtpack.

 

But consider this carefully: you'll have to replicate all Bioware NPC personalities closely(since it's not just two banters, it's a whole PID pack). For example, take Khalid from BG1, with or without BG1 NPC installed. His manner is soft and gentle; he is kind; he stutters. In your BG2 banters posted here, he doesn't stutter at all and his manner is quite different. Hence, some might say it's a different Khalid, and would want his lines to sound closer to an original. Same might be true for a PID pack, especially since it's such a big(potentially) and unique mod.

Link to comment

Archived

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

×
×
  • Create New...