Jump to content

Discussion: BG2 Kit Creation Series


Recommended Posts

okay. thanks for your time. one last issue. I got it all to install. my items and spells work fine. However when i slect my kit in the character creation menu it just makes the character a normal thief instead of the kit I set up for it.

No obvious errors other than it not actually applying the kit when selected.

Hmm, I forget what sort of things might cause this. If you post the contents of your .tp2, there's a chance someone might spot something.

Link to post
Guest Guest

Well, because I didn't actually want to read 21 pages in dire hope the issue I'm having is addressed there, I'll just put out my question.

I'm in the process to make a few custom kits for me and a group of people who like to play together the mods we make ( mostly dungeon crawling mods with nothing but level after level filled with monsters )

Now, one player requested a Kit that makes it possible to have both arcane and divine magic. ( Basically, a Priest of a God that reigns over the arcane )

I thought he could as well just multi-class mage / cleric but he wanted it to be a single class character with a kit.

now the very question is, is it even possible to given a mage ( or cleric ) kit the ability to cast divine ( or arcane for cleric ) magic as a cleric ( or mage ) does.

I think I remember that the buttons itself are hardcoded, but spellcasting in itself is one button, so that shouldn't conflict with each other. the sheer possibility of arcane + divine is already given in the cleric / mage multi-class, but I'm not quite up to the task to look up how that one is done.

Link to post
Now, one player requested a Kit that makes it possible to have both arcane and divine magic. ( Basically, a Priest of a God that reigns over the arcane )

I thought he could as well just multi-class mage / cleric but he wanted it to be a single class character with a kit.

now the very question is, is it even possible to given a mage ( or cleric ) kit the ability to cast divine ( or arcane for cleric ) magic as a cleric ( or mage ) does.

Not in the normal sense, no - the mage/cleric and F/M/C multi-classes are the only way to give access to both spellbooks. You could do something like convert arcane or divine spells over to the other type, and make a kit that learns these spells, but you'd probably have to limit the number you give them because there's a fixed number of spell slots at each level. Another possibility is to convert specific spells into innate abilities usable a certain number of times per day.

Link to post
Guest Guest

Well, thats not quite was I was looking for but thanks for the help anyway.

I thought I could try to give mage/cleric a kit, but apparently that's really hardcoded and inpossible.

converting spells would probably cause a lot of problems and it'd be a major pain in the ass to actually do it.

I guess he'll have to play a mage/cleric then. He could always edit the character in SK to get the kit but I dunno if that's really all that useful. Question, do innate abillites ( such as the wizard slayer's 10% kumulative spell-failure chance upon hit ) work with a multi-classed character if you add the Kit in SK? ( or for that matter, things like natural resistences to fire or acid and the alike. )

Link to post

Yeah, I'm not sure why a cleric/mage multi-class wouldn't be desirable for this, unless it's relating to casting-in-armor or not wanting to lag behind single classes in levels.

 

Well, thats not quite was I was looking for but thanks for the help anyway.

I thought I could try to give mage/cleric a kit, but apparently that's really hardcoded and inpossible.

Question, do innate abillites ( such as the wizard slayer's 10% kumulative spell-failure chance upon hit ) work with a multi-classed character if you add the Kit in SK? ( or for that matter, things like natural resistences to fire or acid and the alike. )

Multi-class characters (and sorcerers/monks/mages) can have one kit, there's just no way to make kits for them show up at character creation, so to add it you either have to mess around with an editor or mod something in-game that will apply the kit via a script.

 

converting spells would probably cause a lot of problems and it'd be a major pain in the ass to actually do it.

Well, the conversion process can be 95% automated, the time consuming part would be choosing which spells to convert and making a kit that learned these spells. If you counted how many free slots are available at each level (I think a maximum of 24 spells can be shown, don't quote me on that), then you'd be able to only add that many spells at that level. Alternately, if it was done as a mage kit, the player would have the option to erase spells they don't need from their spellbook.

Edited by Mike1072
Link to post
Guest Guest

Well, I have to make quite a few more kits so I don't really want to convert so many spells and assign them all.

You actually didn't answer my question regarding innate passive abilities.

I saw that a wizard slayer gets the 10% magic fail on hit ability each level but it's a AP not a GA, so I think, if you assign that kit to another class and it levels up, it WOULD gain that ability, wouldn't it?

The same with other innate passive permanent abilities, like resistences and other things.

Link to post
You actually didn't answer my question regarding innate passive abilities.

I saw that a wizard slayer gets the 10% magic fail on hit ability each level but it's a AP not a GA, so I think, if you assign that kit to another class and it levels up, it WOULD gain that ability, wouldn't it?

The same with other innate passive permanent abilities, like resistences and other things.

Yes, if you give a multi-class character a kit like the Wizard Slayer, they will gain all AP_ and GA_ abilities per the character's level in the kit's parent class (Fighter).

Link to post
Guest Guest

This one might actually sound pretty stupid, but I want to restrict the schools of magic more than they are. ( example, right now, only one school opposes another, I want to raise that to each school opposing three others. )

If you happened to know where I might find the necessary file ( I looked in the 2da files but either I just didn't see it or it wasn't there ) I'd appreciate the help.

Link to post
This one might actually sound pretty stupid, but I want to restrict the schools of magic more than they are. ( example, right now, only one school opposes another, I want to raise that to each school opposing three others. )

If you happened to know where I might find the necessary file ( I looked in the 2da files but either I just didn't see it or it wasn't there ) I'd appreciate the help.

These are controlled by the usability field. Aside from managing item restrictions, there are a few hidden things the usability field decides for kits, like arcane spell school restrictions, thief skill point allotment, and the Inquisitor's restriction from spellcasting.

 

You'll want to combine the usabilities of 3 different kits for each of your mage specialists. Take the usability of the kit opposed to one of the schools, and add it to the usabilities of the kits opposed to the other 2 schools.

 

For example, if you wanted to restrict the Diviner from casting invocation or necromancy in addition to their normal restriction from conjuration, you'd do the following:

  • Find out which kits have opposing schools to invocation and necromancy: Enchanters and Illusionists.
  • Get the usabilities of these kits from kitlist.2da: 0x00000200 and 0x00000400.
  • Add the value of these usabilities to the Diviner's current usability value (0x00000100). These are hex numbers, indicated by the '0x' in front, and generally the easiest way to do operations on them is to use the Calculator program that comes with Windows. First make sure it is in scientific mode, then click the button in the top left called 'Hex' to change the number system to hexadecimal. Now you can copy the usability values you found earlier into here, and add them together. Make sure to leave out the '0x', though. If all goes well, adding 0x00000100 + 0x00000200 + 0x00000400 should give you 0x00000700. Note that it is possible that some of your combinations will produce a hex number that includes letters from A-F, so don't be worried if this happens.

Link to post
Guest Fairytale

I know the hex system good enough to handle that :) I do a lot of NDS and PSP hacking, but usually right to nothing with PC games where I have the files in such a format.

 

I totally forgot about the restrictions thing, it kind of makes sense, yes. ( I remember that 0x00004000 was the parentual class ( like mage. giving 0x0/44000 to all would nullfy the restrictions of a specialised school on spells )

 

another thing is, and I want to change that just slightly so I can't use the ease-of-use mod bei weimar to remove the weapon restrictions for clerics. ( I want to add halberds, great axes for talos, long, short and bastard sword for helm and bows / crossbows and daggers for lathander. ) but no matter how much I play with the restrictions, I can't get clerics to be able to wield those things. ( i tried changing the classweap.2da and weapprof.2da so that those weapons should be enabled for these classes, but for whatever reason, they aren't. very annoying )

Link to post
Oh god, I found the problem. the tag "not useable by cleric/ etc" in each item. christ, this is going to be a LOT of work...

Yeah, this stuff is controlled in .itm files. You may want to look at some mods that patch usabilities for all items. I think the 'no helmets for druids' component from Item Revisions should be a fairly straightforward example:

 

INCLUDE ~item_rev/lib/macros.tpa~
INCLUDE ~item_rev/lib/description_updates.tpa~

COPY_EXISTING_REGEXP GLOB ~^.+\.itm$~ ~override~
 PATCH_IF (SOURCE_SIZE > 0x71) BEGIN
READ_SHORT 0x1c item_type
READ_BYTE  0x21 usability4
PATCH_IF (item_type == 0x07) BEGIN // headgear
  PATCH_IF ((usability4 BAND 0b00100000) == 0b00100000) BEGIN // if unusable by monks (ie. only helmets, not ioun stones)
	WRITE_BYTE 0x21 (usability4 BOR 0b01000000) // make unusable by druids
	// update description
	PATCH_IF (~%LANGUAGE%~ STRING_COMPARE_CASE ~english~ == 0) BEGIN // if english
	  SPRINT text_update ~druids_cant_wear_helmets_english~
	  LAUNCH_PATCH_MACRO ~update_item_descriptions~
	END
  END
END
 END
 BUT_ONLY_IF_IT_CHANGES

The description updates rely on regular expressions and are done in an external macro.

Link to post
Guest Fairytale

I found it easier to manually edit the few halberds etc that there were than getting into the whole patching thing.

Another question, what exactly controls if a character can be exportet or not? I plan to play through SoA + ToB again and kind of want to keep the NPC's as they are. ( Sure I could just write down their stats, exp, and stuff but that would take a LONG time for all of them. )

and then, if it's possible to import ( in a mp session ) npc's that usually join you in the run of the game, will they act as custom character or act as the NPC they are?

Link to post
I found it easier to manually edit the few halberds etc that there were than getting into the whole patching thing.

There's nothing wrong with that, but if you're making systematic changes for a class/kit and run into unanticipated items from mods, things could look weird. (I'm not sure of what situations you're going to be using the kit in, whether it's for one targeted installation or if you might want to release it for more general use.)

 

Another question, what exactly controls if a character can be exportet or not? I plan to play through SoA + ToB again and kind of want to keep the NPC's as they are. ( Sure I could just write down their stats, exp, and stuff but that would take a LONG time for all of them. )

There's a flag on .cre files for 'export allowed' at offset 0x10. It sounds like you'll want to modify the .cre files stored within your savegame.

 

and then, if it's possible to import ( in a mp session ) npc's that usually join you in the run of the game, will they act as custom character or act as the NPC they are?

*shrug* Don't know what'll happen, never tried. It's possible some things might be wonky if it keeps their local variables (LoveTalk) - you may need to do some manual fixing after bringing them in to see if you need to deal with this or any script/dialogue changes.

Link to post
Guest Fairytale

Those kits are ridiculously unbalanced and for a normal BG2 game out of the question. Running through a level of monsters and hack 'n slash through everything is what we do with this, nothing else.

 

for the variables, I could just take a look at the npc after they just joined, keep a copy of that, and simply copy over the variables of that npc to the other one later, could i not? In some cases, I wouldn't miss the missing dialogue at all. ( who in their right mind would want to hear everything over and over )

 

the variables are all listed as "affect" or "global flags" ( probably later ) in shadowkeeper in the savegame/ cre file, aren't they?

Link to post
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...