Jump to content

Kitting Sorcerers


Mike1072

Recommended Posts

I've been tossing around a few ideas in my head lately regarding some new classes, and decided that I wanted to use the method of spellcasting sorcerers use. My problem lies in figuring out the best way to implement this. As it seems impossible to make a sorcerer kit, my only options seem to be to:

  • Modify the existing sorcerer class (changing things such as which and how many spells can be chosen on level-up)
  • Set up some sort of spell system for a kit where they use an ability/spell that allows them to pick from their actual spells to cast
  • Do something complicated like the Druidic Sorcerer kit does (kit a different class and then change it into a sorcerer)

What do you guys think would be the easiest or best option? Do you have any other suggestions as to how to go about this?

 

 

Edit: Updated title to better reflect the delicious modding information now contained within the thread. :)

Link to comment
Sorcerers are perfectly kittable, you just can't select sorcerer kits at chargen for a PC.

 

I recommend not using Druidic Sorcerer as a model for anything :)

I'll try not to, heh... it took me a bit of time to try to figure out what exactly it was doing, even. The HLA selection is interestingly set up, though.

 

Hmm, this should save a bit of work... so, I can use the ADD_KIT feature of Weidu to add the kit (I actually had already done this), then switch the character's kit in-game, once they've been created as a normal sorcerer? Would I be able to modify what spells they can choose upon levelling without affecting the base class? I'd prefer to either be able to specify a custom list of spells to be chosen at level-up without affecting the normal sorcerer, or if that can't be done, skip that stage and add the spells via CLAB.

Link to comment
so, I can use the ADD_KIT feature of Weidu to add the kit (I actually had already done this), then switch the character's kit in-game, once they've been created as a normal sorcerer?

 

Yep. Works fine, with one caveat - when you start in BG2 a PC would be taking their first seven levels as Sorcerer rather than as your kit, so you may need to do some surgery.

 

Would I be able to modify what spells they can choose upon levelling without affecting the base class? I'd prefer to either be able to specify a custom list of spells to be chosen at level-up without affecting the normal sorcerer, or if that can't be done, skip that stage and add the spells via CLAB.

 

Restricting spells by school is no problem (makes them work like a specialist mage). Other restrictions are a lot more difficult. In order to offer new spells, they have to be in the spwi[1-9][0-4][0-9] namespace. That means no prefix, no room on the spell selection menu (you can have only 25 per level, several levels are already full), and ordinary Sorcerers would also qualify to select them. Adding them by clab is likely to be the best solution (if the spell that's added by clab opens up a menu, you can even allow choice as to which spells you get :) )

Link to comment
Works fine, with one caveat - when you start in BG2 a PC would be taking their first seven levels as Sorcerer rather than as your kit, so you may need to do some surgery.

Hmm, almost forgot about this. Should be able to fix it fairly easily when I do the kit changing, though.

 

Restricting spells by school is no problem (makes them work like a specialist mage). Other restrictions are a lot more difficult. In order to offer new spells, they have to be in the spwi[1-9][0-4][0-9] namespace. That means no prefix, no room on the spell selection menu (you can have only 25 per level, several levels are already full), and ordinary Sorcerers would also qualify to select them. Adding them by clab is likely to be the best solution (if the spell that's added by clab opens up a menu, you can even allow choice as to which spells you get :) )

Yeah, CLAB sounds like the way to go. Do you know if there'd be any way to skip the normal sorcerer spell-picking then, or should I just accept they're going to pick some stuff and fix their spellbook afterwards?

Link to comment

I believe if you just hit every school exclusion flag (usability 0x00003fc0, or something like that) you should be able to skip any further spell selections and just drop the rest off in the clab.

 

Cleaning the spellbook out shouldn't require much more than opcode 172 (repeated many times) for sorcerers.

Link to comment
I believe if you just hit every school exclusion flag (usability 0x00003fc0, or something like that) you should be able to skip any further spell selections and just drop the rest off in the clab.

 

Cleaning the spellbook out shouldn't require much more than opcode 172 (repeated many times) for sorcerers.

Gave the usability combo a try... doesn't look like it will work very smoothly. The choose spells box comes up and everything is disabled, but it won't let you choose Done until you pick something. Hitting Esc will back you out of it and still give other level-up abilities, but an annoying message saying that you need to pick your spells pops up every time you click on the Character page. I think letting someone pick a spell that will be erased after they finish levelling up would probably not be any more disruptive than this, and it has the plus of allowing more usability options. Time to make some .spl files!

Link to comment

If I have a CLAB file which applies all the assorted spell changes (additions), and I use the AddKit(I:Kit*Kit) scripting function through a dialogue in-game, will it apply the entire CLAB file from level 1 to the current level, or will it just switch the targeted CLAB file for the next level up?

 

Also, is AddKit(I:Kit*Kit) even the right method of applying a kit via a dialogue, or is there another method out there (how much can I use scripting features in a dialogue?)

 

And another question, what's the deal with the (I:Kit*Kit) syntax? I understand that I means its an interger, but have no clue what value I'd put here. And I'm fairly certain that I want to put my Kit's name in there somewhere (CA#KIT) that I added using ADD_KIT in weidu, but not sure what the Kit*Kit is doing either.

Link to comment
If I have a CLAB file which applies all the assorted spell changes (additions), and I use the AddKit(I:Kit*Kit) scripting function through a dialogue in-game, will it apply the entire CLAB file from level 1 to the current level, or will it just switch the targeted CLAB file for the next level up?

 

Also, is AddKit(I:Kit*Kit) even the right method of applying a kit via a dialogue, or is there another method out there (how much can I use scripting features in a dialogue?)

It seems to remove all the old kit features and apply all the new ones instantly. AddKit is the method to apply a kit, and to target it on the player in dialogue, you pair it with ActionOverride.

 

And another question, what's the deal with the (I:Kit*Kit) syntax? I understand that I means its an interger, but have no clue what value I'd put here. And I'm fairly certain that I want to put my Kit's name in there somewhere (CA#KIT) that I added using ADD_KIT in weidu, but not sure what the Kit*Kit is doing either.

The (I:Kit*Kit) means the value is an integer, but you can use the text equivalent from KIT.IDS in its place. When using ADD_KIT, your kit will be added to this file.

Link to comment
So a simple AddKit(CA#MYKIT) will suffice to add the kit to the character and include all the abilities it would have gained from level 1 to current? Provided of course that I've already used the Weidu function ADD_KIT ~CA#MYKIT~.

Yep.

Link to comment
Restricting spells by school is no problem (makes them work like a specialist mage). Other restrictions are a lot more difficult. In order to offer new spells, they have to be in the spwi[1-9][0-4][0-9] namespace. That means no prefix, no room on the spell selection menu (you can have only 25 per level, several levels are already full), and ordinary Sorcerers would also qualify to select them. Adding them by clab is likely to be the best solution (if the spell that's added by clab opens up a menu, you can even allow choice as to which spells you get :) )

 

Would it be possible to create a list of spells that are not selectable if a player has a certain sorcerer kit?

Link to comment

Digging into the IESDP,

 

Exclusion Flags 


bit 0: Exclude Chaotic priests. (BG2 & HoW)
bit 1: Exclude Evil priests. (BG2 & HoW)
bit 2: Exclude Good priests. (BG2 & HoW)
bit 3: Exclude GENeutral priests. (BG2 & HoW)
bit 4: Exclude Lawful priests. (BG2 & HoW)
bit 5: Exclude LCNeutral priests. (BG2 & HoW)
bit 6: Exclude Abjurers
bit 7: Exclude Conjurers
bit 8: Exclude Diviners
bit 9: Exclude Enchanters
bit 10: Exclude Illusionists
bit 11: Exclude Invokers
bit 12: Exclude Necromancers
bit 13: Exclude Transmuters
bit 14: Wild Magic (exclude Generalists) (BG2)
bit 15: Unused

 

Would there be any way to use bit 15 for my kit, in order to prevent certain spells from being selectable by the kit? Ugly and not very open to any further use of the trick by other mods.. but it might work. Of course, I'd be happy of hearing of a more expandable/reusable trick to do the same thing.

Link to comment
Would there be any way to use bit 15 for my kit, in order to prevent certain spells from being selectable by the kit? Ugly and not very open to any further use of the trick by other mods.. but it might work. Of course, I'd be happy of hearing of a more expandable/reusable trick to do the same thing.

I don't think you'd be able to use this, because the kit would need to have a usability flag that disallowed spells which have that bit set.

 

I think the solution that's most convenient for your kit would be to cannibalize a specialist mage school, changing the exclusion flags for each spell so that the specialist could use everything except the ones you wanted to disallow. People may or may not be cool with this.

Link to comment

Archived

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

×
×
  • Create New...