Jump to content

Discussion: BG2 Kit Creation Series


Recommended Posts

Almost forgot about this: the kit I'm making is based on the Stalker, but I don't want backstab ability. How do I make sure that's not part of my kit? I already removed everything except for the Call Woodland Beings innnate from the .2DA file. I want to make sure this kit doesn't allow access to arcane spells.

 

So, what needs changing from the Stalker kit to remove backstab and mage spells?

 

Thanks,

Eric

Both the backstabbing and the mage spells should be granted by the Stalker CLAB file, so you needn't do anything since you are using a different CLAB file.

Link to comment
So, what needs changing from the Stalker kit to remove backstab and mage spells?
These:
Strengths

- +20% Stealth

- Backstab ability (at level 1-8: x1, at level 9-16: x2, at level 17+: x3)

- At level 12, acquires Mage spells: Haste, Protection From Normal Missiles, Minor Spell Deflection

The 3 mage spells are gained from the 12th levels GA_xxxx's, so GA_SPRA301, GA_SPRA302, GA_SPRA303.

The backstab is gained at levels 1, 9 and 17, by the AP_SPCL332

And the +20 to stealth is from AP_SPCL331 at level 1...

So basically everything but the charm animal that's the GA_SPCL311... just like the basic ranger. ???

Link to comment
So, what needs changing from the Stalker kit to remove backstab and mage spells?
These:
Strengths

- +20% Stealth

- Backstab ability (at level 1-8: x1, at level 9-16: x2, at level 17+: x3)

- At level 12, acquires Mage spells: Haste, Protection From Normal Missiles, Minor Spell Deflection

The 3 mage spells are gained from the 12th levels GA_xxxx's, so GA_SPRA301, GA_SPRA302, GA_SPRA303.

The backstab is gained at levels 1, 9 and 17, by the AP_SPCL332

And the +20 to stealth is from AP_SPCL331 at level 1...

So basically everything but the charm animal that's the GA_SPCL311... just like the basic ranger. ???

 

I guess I'm good to go, then, with the .2DA file the way I have it. On to the next step...

 

Thanks,

Eric

Link to comment

The tutorial doesn't say to COPY the CLAB-style .2DA file for a custom kit to the override folder. Is this not necessary? I'm wondering if that's why my mod fails to install (it's got a value set to 0, where there's supposed to be a different value).

 

Thanks,

Eric

Link to comment
The tutorial doesn't say to COPY the CLAB-style .2DA file for a custom kit to the override folder. Is this not necessary? I'm wondering if that's why my mod fails to install
Hmm, you mean this:
ADD_KIT ~x~
~xxxxxxx				1		   1		   1		   1		   1		   1		   1		   1~
~xxxxxxx 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 2 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5~
~xxxxxxx				9	   3	  3	   3	   3	   3~
~xxxxxxx				0	   0	  0	   0	   0	   0~
~xxxxxxx				0	   0	  0	   0	   0	   0~
~xxxxxxx				0	   0	  0	   0	   0	   0~
~xxxxxxx				1	   0	  0	   0	   0	   0	   0	   0	   0~
~xxxxxxx				0	   0	  0	   0	   0	   0~
~modfolder/CLABxxxx.2da~  // <-----this row
~K_P_H~
~0x00004000 6~							//Baseclass-Paladin
~******~ 								//so the actual HLA table in use is lu******.2da
...

Well, all I can say is that this works for PC.

Now, you can of course put this just before the ADD_KIT:

COPY ~modfolder/CLABxxxx.2da~ ~override~
ADD_KIT ~x~ 
...

And then of course use instead:

~override/clabxxxx.2da~  // <-----this row

Edited by Jarno Mikkola
Link to comment
The tutorial doesn't say to COPY the CLAB-style .2DA file for a custom kit to the override folder. Is this not necessary? I'm wondering if that's why my mod fails to install
Hmm, you mean this:
ADD_KIT ~x~
~xxxxxxx				1		   1		   1		   1		   1		   1		   1		   1~
~xxxxxxx 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 2 2 2 3 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5~
~xxxxxxx				9	   3	  3	   3	   3	   3~
~xxxxxxx				0	   0	  0	   0	   0	   0~
~xxxxxxx				0	   0	  0	   0	   0	   0~
~xxxxxxx				0	   0	  0	   0	   0	   0~
~xxxxxxx				1	   0	  0	   0	   0	   0	   0	   0	   0~
~xxxxxxx				0	   0	  0	   0	   0	   0~
~modfolder/CLABxxxx.2da~  // <-----this row
~K_P_H~
~0x00004000 6~							//Baseclass-Paladin
~******~ 								//so the actual HLA table in use is lu******.2da
...

Well, all I can say is that this works for PC.

Now, you can of course put this just before the ADD_KIT:

COPY ~modfolder/CLABxxxx.2da~ ~override~
ADD_KIT ~x~ 
...

And then of course use instead:

~override/clabxxxx.2da~  // <-----this row

 

I see. Well, apparently, the line you marked works as it should. The kit appears with my NPC, and functions properly.

 

Thanks,

Eric

Link to comment
Now, you can of course put this just before the ADD_KIT:
COPY ~modfolder/CLABxxxx.2da~ ~override~
ADD_KIT ~x~ 
...

And then of course use instead:

~override/clabxxxx.2da~  // <-----this row

Of course, that's completely unnecessary.

Link to comment
Now, you can of course put this just before the ADD_KIT:
COPY ~modfolder/CLABxxxx.2da~ ~override~
ADD_KIT ~x~ 
...

And then of course use instead:

~override/clabxxxx.2da~  // <-----this row

Of course, that's completely unnecessary.

 

I've seen it coded that way in at least one other mod. I suppose the same result is achieved, but I'll leave mine as it is.

 

Happy modding,

Eric

Link to comment

I'm currently playing through BG1 and planning on continuing on to BG2 and I was thinking it might be interesting to change BG2 Imoen from a thief/mage to a thief/sorcerer, which I initially assumed could be done fairly easily with Shadowkeeper, however that doesn't appear to be the case as sorcerers can't dual class.

 

So, I was wondering if it is possible to use a kit to essentially turn a mage into a sorcerer, and if so has anyone already done it? (I tried searching, but the closest I could find is a druidic sorcerer kit). I'd appreciate any advice you can give me on how to go about this as I don't have any experience modding Baldur's Gate 2.

Link to comment
I'm currently playing through BG1 and planning on continuing on to BG2 and I was thinking it might be interesting to change BG2 Imoen from a thief/mage to a thief/sorcerer, which I initially assumed could be done fairly easily with Shadowkeeper, however that doesn't appear to be the case as sorcerers can't dual class.

 

So, I was wondering if it is possible to use a kit to essentially turn a mage into a sorcerer, and if so has anyone already done it?

Well, those things are connected, you can make a kit that turns a solo-mage into a Sorcerer, but you cannot make a kit that is Sorcerer/Thief, unless you make and extra special slice from the Switch-Rogue kit so it's Thief->Sorcerer->Thief. As there is no such concept in the game that is required to have Sorcerer and Thief under the same banner(class), as the Sorcerer is it's own independent class, not a mage kit... just like the ShadowKeeper "tells you". Edited by Jarno Mikkola
Link to comment

Hi I have a small question with regards to changing kit names and descriptions.

 

After having installed some kit packages, I noticed some errors in the 'lower', 'mixed', and 'help' strings which are assigned to some kits:

 

For example, I would like to change the 'lower' name from 'Bladesinger' to 'bladesinger' so it appears correctly on the Kit Selection screen. Which file would I edit to do this?

 

Sometimes the 'help' descriptions list incorrect abilities or requirements, how would I change those descriptions so the help text appears correctly on the kit selection screen?

 

Thanks a lot, and great guide :blush:

 

PS. I want to edit the game files directly, rather than editing tp2 and reinstalling because I would have to redo a 6 hour BWP install, which hopefully I can avoid.

Edited by CajunAzn
Link to comment
I'm currently playing through BG1 and planning on continuing on to BG2 and I was thinking it might be interesting to change BG2 Imoen from a thief/mage to a thief/sorcerer, which I initially assumed could be done fairly easily with Shadowkeeper, however that doesn't appear to be the case as sorcerers can't dual class.

 

So, I was wondering if it is possible to use a kit to essentially turn a mage into a sorcerer, and if so has anyone already done it?

Well, those things are connected, you can make a kit that turns a solo-mage into a Sorcerer, but you cannot make a kit that is Sorcerer/Thief, unless you make and extra special slice from the Switch-Rogue kit so it's Thief->Sorcerer->Thief. As there is no such concept in the game that is required to have Sorcerer and Thief under the same banner(class), as the Sorcerer is it's own independent class, not a mage kit... just like the ShadowKeeper "tells you".

About the Switch-Rogue applied to other kits/classes. You only need two innates and a small bit of code to get the basics done. You will have to be careful with leveling up though since the XP gain is not linear (whereas between bard and rogue, it is linear).

 

1: Innate given to you when you are a thief. Sets a global to 2. Removes Innate 2.

2: Innate given to you when you are a sorcerer. Sets same global to 2. Removes Innate 1.

3: Spell to give innate 1 to your PC.

4: Spell to give innate 2 to your PC.

 

Code:

IF
 OnCreation()
THEN
 RESPONSE #100
SetGlobal("YOURGLOBAL","GLOBAL",1)
END

IF
 Global("YOURGLOBAL","GLOBAL",2)
 Kit(Player1,YOURTHIEFKITNAME)
THEN
 RESPONSE #100
SetGlobal("YOURGLOBAL","GLOBAL",1)
ChangeClass(Player1,SORCERER)
ActionOverride(Player1, ApplySpellRES("YOURSPELL4",Player1))
END

IF
 Global("YOURGLOBAL","GLOBAL",2)
 Kit(Player1,SORCERER)
THEN
 RESPONSE #100
SetGlobal("YOURGLOBAL","GLOBAL",1)
ChangeClass(Player1,THIEF)
ActionOverride(Player1, AddKit(YOURTHIEFKITNAME))
ActionOverride(Player1, ApplySpellRES("YOURSPELL3",Player1))
END

LOCALS instead of GLOBAL and Myself() instead of Player1 would probably work too.

 

It could requires some tampering, but you can always ask for more help in case I made a mistake.

Edited by lroumen
Link to comment
For example, I would like to change the 'lower' name from 'Bladesinger' to 'bladesinger' so it appears correctly on the Kit Selection screen. Which file would I edit to do this?
That would be the dialog.tlk ... be darn sure to make a backup, to not cheese your entire install. Edited by Jarno Mikkola
Link to comment
Hi I have a small question with regards to changing kit names and descriptions.

 

After having installed some kit packages, I noticed some errors in the 'lower', 'mixed', and 'help' strings which are assigned to some kits:

 

For example, I would like to change the 'lower' name from 'Bladesinger' to 'bladesinger' so it appears correctly on the Kit Selection screen. Which file would I edit to do this?

 

Sometimes the 'help' descriptions list incorrect abilities or requirements, how would I change those descriptions so the help text appears correctly on the kit selection screen?

 

Thanks a lot, and great guide :blush:

 

PS. I want to edit the game files directly, rather than editing tp2 and reinstalling because I would have to redo a 6 hour BWP install, which hopefully I can avoid.

The file that contains all this information is kitlist.2da. To familiarise yourself with some of the commands you might want to use, here's an example of how you could make sure all kit names in the LOWER column are in lowercase:

 

COPY_EXISTING ~kitlist.2da~ ~override~
 COUNT_2DA_COLS num_cols
 READ_2DA_ENTRIES_NOW ~r2en_kitlist~ num_cols
 FOR (i = 0; i < r2en_kitlist; i += 1) BEGIN // for each row
READ_2DA_ENTRY_FORMER ~r2en_kitlist~ i 2 lower_strref // read from LOWER column
PATCH_IF (IS_AN_INT lower_strref) BEGIN
  GET_STRREF lower_strref lower // get string associated with this strref
  TO_LOWER lower // make string lowercase
  INNER_PATCH ~0~ BEGIN // add our new string to dialog.tlk if it's not there already and retrieve its strref
	REPLACE ~0~ ~%lower%~
	READ_2DA_ENTRY 0 0 1 lower_strref
  END
  SET_2DA_ENTRY_LATER ~s2el_kitlist~ i 2 lower_strref // write new strref to file
END
 END
 SET_2DA_ENTRIES_NOW ~s2el_kitlist~ num_cols // finalise all of our S2EL
 // make the file look nice
 PRETTY_PRINT_2DA
 REPLACE_TEXTUALLY ~2DA +~ ~2DA ~
 BUT_ONLY

 

To correct the kit descriptions, you may wish to read from the ROWNAME column to determine the kit, then write a completely new description on top of the old HELP entry. It'd probably be safest to do this using the INNER_PATCH/REPLACE + S2EL method as above.

 

 

If you can determine which mods contain inaccuracies or inconsistencies, reporting these at the mods' forums would be appreciated by the community.

 

 

Edit: I should point out one case where a non-lowercase string is deliberately used in the LOWER column. The Holy Strategist of the Red Knight kit in DR uses a combination of uppercase and lowercase letters because otherwise it is too long to fit on the kit selection screen in character generation. (Using all uppercase or all lowercase causes the game to use all large letters.) I haven't heard of any other kits that have the same problem, but it is possible.

Edited by Mike1072
Link to comment
The file that contains all this information is kitlist.2da. To familiarise yourself with some of the commands you might want to use, here's an example of how you could make sure all kit names in the LOWER column are in lowercase:

 

COPY_EXISTING ~kitlist.2da~ ~override~
 COUNT_2DA_COLS num_cols
 READ_2DA_ENTRIES_NOW ~r2en_kitlist~ num_cols
 FOR (i = 0; i < r2en_kitlist; i += 1) BEGIN // for each row
READ_2DA_ENTRY_FORMER ~r2en_kitlist~ i 2 lower_strref // read from LOWER column
PATCH_IF (IS_AN_INT lower_strref) BEGIN
  GET_STRREF lower_strref lower // get string associated with this strref
  TO_LOWER lower // make string lowercase
  INNER_PATCH ~0~ BEGIN // add our new string to dialog.tlk if it's not there already and retrieve its strref
	REPLACE ~0~ ~%lower%~
	READ_2DA_ENTRY 0 0 1 lower_strref
  END
  SET_2DA_ENTRY_LATER ~s2el_kitlist~ i 2 lower_strref // write new strref to file
END
 END
 SET_2DA_ENTRIES_NOW ~s2el_kitlist~ num_cols // finalise all of our S2EL
 // make the file look nice
 PRETTY_PRINT_2DA
 REPLACE_TEXTUALLY ~2DA +~ ~2DA ~
 BUT_ONLY

 

To correct the kit descriptions, you may wish to read from the ROWNAME column to determine the kit, then write a completely new description on top of the old HELP entry. It'd probably be safest to do this using the INNER_PATCH/REPLACE + S2EL method as above.

 

Wow thanks a lot for writing that snippet of code! So if I that code block as a tp2 file and run it with WeiDU.exe it should replace all the relevant lines in the dialog.tlk? I'm guessing thats much cleaner than going into the dialog.tlk directly. Thanks a lot Mike!

Edited by CajunAzn
Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...