Jump to content

Removing/replacing mage kits


StrixO

Recommended Posts

Unfortunately none of the usual ways work because the game lacks a few files that are essential for this to be even trial-able... me feeling based upon the Kit tutorials.

Now, a question, what exactly are you trying to achieve? You can re-name one of old Mage Kits, you can restrict and allow few items more for them to use... but that's about it I think.

The missing resources aren't there cause the Mages Kit table is already 'closed' because there is ten of them, so you cannot add anymore... well actually now the cap is limit has been removed, you could in theory, but as it stands, theory is not yet practical, plus you would need know how to make it all happen.

Link to comment

If you just want to script your own kit and use that in game, then it is not that difficult to circumvent the 10 kits bit for mages. Thing is, you have to know how to make kits.

 

Jarno, remember my work on the bardkit. Same thing can be done here.

 

I would just create 2 kits and add them to the game using weidu.

- One fighter kit (fix it such that it has the properties of a basic mage)

- Your alternate magekit (with every pro and con attached)

 

The magekit cannot be picked, but... you can pick the fighterkit. Now script a baf-file for your fighterkit that classchanges him into your magekit after you have created him and voila, problem circumvented. Note that in your fighterkit you have to put in a few fixes for things like HP, attacks/round, proficiencies, thac0, etc. But that should be doable.

 

Baf-bit:

 

IF

Kit(PLAYER1,"##yourfighterkit")

global("##became_a_mage","LOCALS",0)

THEN

RESPONSE #100

SetGlobal("##became_a_mage","GLOBAL",1)

ChangeClass(Player1,MAGE)

ActionOverride(Player1, AddKit(yourmagekit))

END

 

repeat for all players.

Link to comment

Thanks for the replies. This is my first kit, and I intended it to be a self-tutorial of sorts. My goal was to create a mage kit that would compete with Edwin. The only deviation from a vanilla mage would be adding a few AP_SPCLXXX into the kit CLAB using some permutation of:

http://iesdp.gibberlings3.net/opcodes/bg2tob.htm#op42

and specifying some harsh stat penalties to STR,DEX, and CON.

 

As I said, it's my first attempt, and I'm following CamDawg's tutorial at:

http://forums.gibberlings3.net/index.php?showtopic=584

and referencing the WeiDu readme, but my "talents" do not cross into writing code. As such, my eyes keep crossing and I look for a panic button. BAF files are beyond me at the moment...

 

I'll keep noodling, with an eye to a kit-switch mentioned by Iroumen. Any more thoughts/links/example code are most appreciated.

 

 

EDIT: After much noodling, I successfully created and installed a custom mage kit, and then assigned to the PC using a custom script. I received additional spells per level as I specified using opcode 42 in a custom set of SPLs, but I also received an extra spell per level like the standard speciliast - oops! No school restrictions, fun. Kisses for everyone. Now I need to nerf it a bit.

 

I thought about trying to TOB exe hack to make kits scrollable and selectable on creation, but I don't think it'd work anyway as I had to eliminate all K_M_# elements from my tp2.

 

Rather than bothering with the kit of a separate class as suggested above, I chose Mage as class, and then in game I applied the script:

IF

!Class(Myself,MAGE)

THEN

RESPONSE #100

ChangeClass(Myself,MAGE)

END

IF

!Kit(Myself,NEWMAGEKIT)

THEN

RESPONSE #100

AddKit(NEWMAGEKIT)

END

Link to comment

I would like to make a note that your method will work but you have the danger that uou change the class of almost every NPC into your kit.

 

Most of them are not mages so they will be turned into a mage. Then the second block will make them your magekit. I don't know about multi-class or dual-class, but I think they will be changed too.

 

A safer way to only trigger it for your protagonist is to use "Player1" instead of "Myself".

 

If you will start as a single class mage and do not intend your kit to work for other NPCs (such as custom NPCs that occupy any other slot than that of player 1), then you can simply use this block:

 

IF

Class(Player1,MAGE)

global("##became_a_mage","LOCALS",0)

THEN

RESPONSE #100

SetGlobal("##became_a_mage","GLOBAL",1)

ChangeClass(Player1,MAGE)

ActionOverride(Player1, AddKit(yourmagekit))

END

 

You don't really need the globals though since it's one-way, so this should also work.

 

IF

Class(Player1,MAGE)

THEN

RESPONSE #100

ChangeClass(Player1,MAGE)

ActionOverride(Player1, AddKit(yourmagekit))

END

 

 

You may also want to add a check to see whether you are a specialist mage (if you do not wish to change classes in case you are already a specialist).

!Kit(Player1,MAGESCHOOL_ABJURER)

Etc (http://iesdp.gibberlings3.net/files/ids/bg2/kit.htm).

 

 

In the same manner you can basically also overwrite a class I guess.

Simply add your kit using weidu and put in your baf the following lines if you want to override the abjurer school wth your new kit. This means all abjurers will be changed into your kit. Of course, things like ABCLASRQ are taken from the abjurer class, so if you want to add penalties, you need to put some into your clab file rather than the 2da files. Doing stuff like this is never really easy :).

Note that all the bonuses and penalties in the clab file of a lower level than your current level will be added to your character upon changing of the kit. So if you have a bonus of +1AC at level 6 in your clab, it will be added to your mage if his or her level is 6 or greater.

 

IF

Kit(Myself,MAGESCHOOL_ABJURER)

THEN

RESPONSE #100

ActionOverride(Myself, AddKit(yourmagekit))

END

Link to comment
I would like to make a note that your method will work but you have the danger that you change the class of almost every NPC into your kit.

Most of them are not mages so they will be turned into a mage. Then the second block will make them your magekit. I don't know about multi-class or dual-class, but I think they will be changed too.

Well, that depends entirely which .bcs or .bs is used to create the class... as in, you could put the script into to the baldur.bcs... but that will make all the mages, including the enemy mages into the kitted classes... :)

But if you isolate it into a self-made .bcs file and use kit installation WeiDU.exe to make it as a .bs file that has attached names in it to identify it as certain type of kitting script in the games character customizing feature, you can use classes as the restrictions if you wish. See Hidden Kits, and the Reaver Kit in Zyraen's Miscellany(readme).

 

If you just want to script your own kit and use that in game, then it is not that difficult to circumvent the 10 kits bit for mages. Thing is, you have to know how to make kits.

 

Jarno, remember my work on the bardkit. Same thing can be done here.

But it's not a Mage kit then. :D
Link to comment

I normally just patch the baldur.bcs file because then it runs in the background. That does require that it is compatible with everything.

 

I thought the Reaver kit required party AI to be on at all times since it puts it in one of the dplayer scripts? Not really sure about that, but okay... In the case of this personal magekit you indeed only need the script to change your class and then you can disable the script again. A custom bs file is indeed in essence much simpler. :)

Link to comment

I didn't make a BCS script - just a custom BS that I can assign to a single character in-game using "Customize>Script buttons. There isn't any danger of affecting other CRE/NPCs then, is there? I hadn't considered and didn't intend to create a script that would run in the background on all games. Only on demand.

Link to comment

Well, you should actually make the item create creature like in this example that runs the script and then is destroyed, and the script then can:

ActionOverride(LastSummonerOf(Myself), AddKit(¤yourmagekit¤)) switch the kit, the class etc. This frees up the effected creature to running the default scripts so yours is not always in use, as it shouldn't be overwriting any of them for compatibility.

Link to comment
Can anyone point me to a link or give me the skinny on removing or replacing one of the specialist mage kits with a new custom one?

 

Thanks!

 

Unfortunately none of the usual ways work because the game lacks a few files that are essential for this to be even trial-able... me feeling based upon the Kit tutorials.

Now, a question, what exactly are you trying to achieve? You can re-name one of old Mage Kits, you can restrict and allow few items more for them to use... but that's about it I think.

The missing resources aren't there cause the Mages Kit table is already 'closed' because there is ten of them, so you cannot add anymore... well actually now the cap is limit has been removed, you could in theory, but as it stands, theory is not yet practical, plus you would need know how to make it all happen.

 

I have made a "master of no-life" kit which replace the necromancer.

 

The weidu code i use is this one :

BEGIN @40

 

STRING_SET 12744 @41 //replace text

STRING_SET 9570 @42 //replace text

 

COPY_EXISTING ~LUABBR.2DA~ ~override/LUABBR.2DA~

SET_2DA_ENTRY 25 1 2 ~PXN~ //associate with my own hlas

 

COPY_EXISTING ~KITLIST.2DA~ ~override/KITLIST.2DA~

SET_2DA_ENTRY 29 7 8 ~0x00001200 ~ change unusables

 

COPY ~Derats_kits/Necro/LUPXN.2da~ ~override~ //personal hlas

~Derats_kits/Necro/CLABMA03.2da~ ~override~ //personal clab wich replace the original

 

It seems to work.

Link to comment

Archived

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

×
×
  • Create New...