Jump to content

BG1 NPC Conflicts


grogerson

Recommended Posts

Converting BG2 Tweak Pack's Happy Patch for my BG1 Tweak Pack, I noticed some patching of .dlg files for BGT installs. This has me wondering.

 

Who fights with whom? Jahera/Khalid v. Xzar/Montaron I know, but who else?

 

What triggers the fights? Is it dialogue triggered or a result of "reputation unhappiness?"

 

Patching the happy.2da to stop the complaining and leaving is simple, but I want to also stop the possible loss of party members when they try to kill each other. I've looked at several .dlg files and have only found one (Edwin) that actually has a fight trigger.

Link to comment

Well, we can guess from WizWom's Fight Fix...

 

The only BG1NPC Project added fights I know of are ones where the party does something really against NPC Characterization.

Off the top of my head, there are a set of banters with Ajantis/Viconia that if unresoplved escalate to fighting. Kivan and Viconia also at one point (if your banter cards play correctly, these are random) as well as Kagain vs Yeslick. If the party attacks Dynaheir or Drizzt instead of helping, Ajantis goes postal; I think Minsc does too. Vanilla behavior is Minsc/Dy vs Edwin, I think. The fixes that WW included were

 

  ACTION_IF FILE_EXISTS_IN_GAME ~FW0100.are~ THEN BEGIN
 /* WizWom's Tutu NPC Battle fix: TUTU only,  not compatible with BGT scripts */
 COPY_EXISTING ~%EDWIN_BCS%.bcs~ ~override~
			~%ELDOTH_BCS%.bcs~ ~override~
			~%SHARTEEL_BCS%.bcs~ ~override~
			~%JAHEIRA_BCS%.bcs~ ~override~
			~%KAGAIN_BCS%.bcs~ ~override~
			~%KHALID_BCS%.bcs~ ~override~
			~%KIVAN_BCS%.bcs~ ~override~
			~%MINSC_BCS%.bcs~ ~override~
			~%MONTARON_BCS%.bcs~ ~override~
			~%QUAYLE_BCS%.bcs~ ~override~
			~%TIAX_BCS%.bcs~ ~override~
			~%VICONIA_BCS%.bcs~ ~override~
			~%DYNAHEIR_BCS%.bcs~ ~override~
  DECOMPILE_BCS_TO_BAF
  REPLACE_TEXTUALLY ~MakeUnselectable(5000)~ ~MakeUnselectable(6) Continue()~
  COMPILE_BAF_TO_BCS
BUT_ONLY_IF_IT_CHANGES
 END

 

As far as I can remember, anything Project-added gives you multiple ways out - it is actually difficult to roleplay and trigger the fights, but certainly possible. Most are dialogue responses.

 

 

Quick example: Kivan finally has it out with Viconia, in X#VICONIA.D:

 

CHAIN IF WEIGHT #-1 ~CombatCounter(0)
%BGT_VAR%
InParty("kivan")
Global("P#KIVI5","GLOBAL",1)
Global("X#VIKI3","GLOBAL",0)
!See([ENEMY])
See("kivan")
InParty(Myself)
!StateCheck(Myself,CD_STATE_NOTVALID)
!StateCheck("kivan",CD_STATE_NOTVALID)~ THEN ~%VICONIA_BANTER%~ VIKI3
@219 
DO ~SetGlobal("X#VIKI3","GLOBAL",1)~
== ~%KIVAN_BANTER%~ @220
= @221
== ~%VICONIA_BANTER%~ @222 
== ~%KIVAN_BANTER%~ @223 
END ~%VICONIA_JOINED%~ VIKI3PC

 

This means it takes a number of random banters firing before the setup for the fight is complete; branches from here include reputation dependent leaving and joining for each party, an option to kickl them both out until they have resolved it, or even a shutdown so they don't fight (depending on how you respond).

Link to comment

Thanks, cmorgan. Though your references are for BGT, and I'm working vanilla BG1, you got me thinking there might be other .dlg files than the [NPC].dlg, [NPC]J.dlg and [NPC]P.dlg files. Found it. B[NPC].dlg.

 

Now all I need to do is find out who the fighters are, I can add Kivan and Viconia. Who else? I'll have to look at Kagain and Edwin as well...

 

Edit: After looking through the B*.dlg files, I've found the following:

Ajantis will attack (I assume) CHARNAME if reputation drops too far (Attack([0.0.0.0.0.0.MASK_EVIL])),

Dynaheir goes after Edwin,

Kagain tries to silence Yeslick,

Kivan wants to bury Viconia,

Montaron seeks Khalid's demise,

Shar-Teel wants to behead Eldoth,

Tiax seeks Branwen's Quayle's death, and

Xzar seeks the blood of Jahera.

All combats occur if the first hits state 5 in their B*.dlg, except for Dynaheir with Edwin. Seems she goes with both state 5 and 11...

 

Finally, in Edwin.dlg, state 20, he attacks Dynaheir.

Link to comment

Archived

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

×
×
  • Create New...