Along with NPCs, kits seem to be one of the more popular ideas that folks have for mods. The other day I realized that, despite rarely playing kitted characters, I've become involved with a lot of kit mods and kit-making is becoming more or less second nature. This is part one in a series that will hopefully cover kit creation, from A to Z.
Part One: Engine Limitations
I've seen a lot of ideas for kits across the forums I visit. Every so often, someone has taken a lot of care and thought and come up with a really great idea for a kit. My interest is piqued and I browse through the advantages/disadvantages and I see "Can not use [insert item]" or "Requires 17 Dexterity" and I get that sinking feeling. Unfortunately, the IE was never designed as a modder-friendly engine and we have to deal with many hardcoded limitations and engine quirks. As a result, seemingly innocuous requirements such as these can kill a kit by making it near-impossible to implement or balance. I'll try and cover the broadest limitations.
Item restrictions suck - One of the more common balancing techniques I see in kit proposals are "Can Not Use X" in a kit disadvantages section. Unfortunately item restrictions run into many, many problems.
Item files themselves only have 32 available usability "flags" that restrict them to a particular kit, and these are all used by the existing kits. This means there is no way to implement a unique set of restrictions for a new kit without restructuring usability for other kits.
Even re-using another kit's item usability flags can run into troubles. Using a fighter kit usability flag for a cleric kit could mean that your kit loses access to some cleric items. Some flags also have hardcoded features attached--for example, creating a thief kit that uses Bounty Hunter usability restrictions will also mean your kit will receive fewer thieving points at level-up, just like a Bounty Hunter.
High minimums are an advantage, not a disadvantage - This is another aspect of the engine that tends to surprise folks. In Pen and Paper, a kit with high requirements is difficult to attain since you need to actually roll dice and get the numbers. With the IE, the game will cheat on the rolls and always guarantee that you meet those requirements. A kit that requires 18 in every stat will mean you'll always roll straight 18s. If you're going to use stat minimums as a balancing aspect of your kit, keep this in mind.
Interface buttons are hardcoded - The buttons available to a character (turn undead, stealth, bard song, spellcasting, etc) are set by their class, not their kit. So if you wanted a paladin with a bard song, you can't do it--the bard song button is not available to paladins and there is no way to add it. On the flipside, though, disabling buttons are generally pretty easy--a cleric that can't turn undead or a ranger with no stealth are both pretty easy.
Spellbooks are available only to spellcasters - Any kit can use innate abilities. However, the spellbooks are tied directly to the spellcasting classes so there is no way to allow a thief kit to memorize spells and cast them using the spellbook interface. The spellbooks are also not interchangeable, meaning tht cleric kits can not access the mage spellbook and vice-versa.
Some classes can not be kitted - Sorcerers, monks, barbarians, and wild mages can not be kitted.
Only nine kits for a given class will be shown at character creation - When the player is creating their character, only nine kits can be displayed on the screen. Mages already have nine kits, so to create a mage kit that is selectable by the player you'll need to replace or disable one of the existing kits. This does not mean that you can not create a mage kit for an NPC; this is a restriction purely for PC-selectable kits.
Some of the above limitations have workarounds, but they are either non-intuitive for the player, introduce compatibility problems, are difficult to code, or a combination thereof.
Part Two will cover the files used by kits, what they do, and what you need to modify. Please post discussion and comments to the kit creation series discussion thread here at The Gibberlings Three and we will do our best to answer your questions.
- Part One: Limitations of the Engine
- Part Two: Game Files Involved
- Part Three: Installing with WeiDU
- Part Four: Additional WeiDU Functions