Sie sind auf Seite 1von 208

NeverwInter NIghts

Custom Content CuIde vJ.0














Wherein some of the mysteries of developing wondrous objects
for Neverwinter Nights are revealed.






Eligio Sacateca
eligio@cogeco.ca
http://home.cogeco.ca/~eligio/


NeverwInter NIghts Custom Content CuIde vJ.0

ElIgIo Sacateca Page 2 01/06/200J
Table of Contents
Introduction...................................................................................................................................... 4
The Tools......................................................................................................................................... 5
3D Modeling................................................................................................................................. 8
Weapons........................................................................................................................................ 10
Part 1: Understanding How NWN Represents Weapons .......................................................... 10
Part 2: A Rose by Any Other Name........................................................................................... 11
Part 3: Creating the 3D Model ................................................................................................... 16
Part 4: Creating the 2D Weapon Icon........................................................................................ 21
Part 5: Using a Hakpak .............................................................................................................. 24
Part 6: The Weapon Resource File............................................................................................ 28
Part 7: The Weapon Blueprint.................................................................................................... 36
Part 8: Special Touches............................................................................................................. 37
Part 9: Models that bend............................................................................................................ 39
Character Portraits......................................................................................................................... 40
Part 1: Understanding How NWN Represents Portraits ............................................................ 40
Part 2: Creating Your Portrait Files............................................................................................ 40
Part 3: Using Your Portrait for a PC........................................................................................... 42
Part 4: Using Your Portrait for a NPC........................................................................................ 43
Custom Voicesets.......................................................................................................................... 48
Part 1: Understanding How NWN Represents Voices............................................................... 48
Part 2: A Rose by any other Name............................................................................................ 52
Part 3: Updating Sound Files..................................................................................................... 55
Part 4: Creating a New Voiceset................................................................................................ 56
Items without Models..................................................................................................................... 60
Part 1: Understanding How NWN Represents Items................................................................. 60
Part 2: New Icons for Existing Items.......................................................................................... 61
Part 3: New Item Resources...................................................................................................... 63
Part 4: Other Items..................................................................................................................... 66
Spells ............................................................................................................................................. 67
Part 1: The Spell Icons............................................................................................................... 67
Part 2: The Spell Resource........................................................................................................ 68
Part 3: The Item Property Spells Resource ............................................................................... 75
Part 4: The Spell Script .............................................................................................................. 76
Part 5: Packaging it all up .......................................................................................................... 80
Custom Armor and Clothing .......................................................................................................... 81
Part 1: Understanding How NWN Represents Armor................................................................ 81
Part 2: That Rose Thing Again................................................................................................... 83
Part 3: Finding the Armor Model and Texture............................................................................ 86
Part 4: Creating a New Texture ................................................................................................. 89
Part 5: The Armor Resource Files ............................................................................................. 91
Part 6: NWNArmory ................................................................................................................... 92
Part 7: Additional Notes ............................................................................................................. 93
Part 8: A note on clothing........................................................................................................... 94
Part 9: Notes on heads and helmets ......................................................................................... 94
Creatures ....................................................................................................................................... 96
Part 1: Understanding How NWN Represents Creatures.......................................................... 96
Part 2: The Creature Resource File........................................................................................... 98
Part 3: Creating the 2D Portrait................................................................................................ 103
Part 4: Creating the 3D Model ................................................................................................. 105
Part 5: Animation...................................................................................................................... 109
Part 6: Soundsets..................................................................................................................... 125
Part 7: The Creature Blueprint ................................................................................................. 126
Part 8: Danglymesh ................................................................................................................. 127
Part 9: Skin and Bones ............................................................................................................ 128
NeverwInter NIghts Custom Content CuIde vJ.0

ElIgIo Sacateca Page J 01/06/200J
Custom Races ............................................................................................................................. 133
Part 1: Custom Race Resource Files....................................................................................... 133
Part 2: The Dynamic Character Model .................................................................................... 136
Visual Effects............................................................................................................................... 142
Part 1: The Model File.............................................................................................................. 142
Part 2: Emitters ........................................................................................................................ 143
Part 3: The Visual Effects Resource File ................................................................................. 151
Other Tutorials............................................................................................................................. 154
Ambient Music (BMU files)....................................................................................................... 154
Area Load Screens .................................................................................................................. 155
Doors........................................................................................................................................ 155
Introductory Movies.................................................................................................................. 155
Placeable Items........................................................................................................................ 155
Placeable Sounds (WAV files) ................................................................................................. 156
Texturing .................................................................................................................................. 156
Tilesets..................................................................................................................................... 156
Tilesets by Retexturing ............................................................................................................ 157
Other Content and Modeling Tutorials..................................................................................... 157
Notes on Other .2da Files............................................................................................................ 158
Feats.2da ................................................................................................................................. 158
Tools Guide ................................................................................................................................. 162
Zoligato's NWN Viewer ............................................................................................................ 162
Bioware's Hakpak Editor .......................................................................................................... 162
Modeling Tools......................................................................................................................... 165
Biowares DDS Compression Tool........................................................................................... 166
DDSTools................................................................................................................................. 167
Tlkedit....................................................................................................................................... 168
Special Effects Reference ........................................................................................................... 170
Spell Audio Effects................................................................................................................... 171
Spell Visual Effects .................................................................................................................. 180
Scripting Visual Effects ......................................................................................................... 191
Change History............................................................................................................................ 207


NeverwInter NIghts Custom Content CuIde vJ.0 ntroductIon

ElIgIo Sacateca Page 4 01/06/200J
ntroductIon
The Aurora Toolset for Neverwinter Nights (NWN) provides the building blocks for your custom
modules from tilesets to create your dungeons to creature templates for designing your
encounters. The toolset is both flexible and limiting at the same time. Flexible - because you
assemble the building blocks in whatever fashion you desire to create your world. Limiting -
because the blocks are not as varied as your imagination.
However, with the right add-on tools, those outer limits can be pushed as far as your time and
imagination will take you. Creating custom content for Neverwinter Nights can seem like a
daunting task but the rewards are great. And it is not as complex as it sounds not after you
understand how all the bits and pieces of the toolset fit together.
This tutorial attempts to show you how some of the pieces of the puzzle fit together. It does not
cover all types of custom content; there are already some good tutorials available that I reference
near the end of this document.

Notes: This tutorial is still under construction. I will cover additional tools and details for different
types of custom content in future versions. Any notes or quirks or bugs in the toolset that I
mention in this document exist at least as of version 1.29 of the NWN game.

Acknowledgements
This tutorial and what I have been able to piece together about developing custom content builds
upon what others have done: it is compiled from various sources on the Neverwinter boards, bits
and pieces of tutorials, and personal experimentation. Sources are varied and there are too many
to name them all. However, let me acknowledge now some of the key contributors:
Danmar, primarily for information on weapon modeling
Conjumen, for information on custom portraits
Ddraigcymraeg, for information on voicesets
Zoligato and his wondrous NWN Viewer.
Kaine, for detailed information about spells.
SamJones and Lisa, for explaining PLT files.
Haelix and Jupp for explaining creature creation and animation.
I will confess up front to having used portions of tutorials and sound bites from these people to as
a starting point and then sought to clarify and expand them for my own use and the general NWN
public. And there are more whose ideas and posts have influenced this tutorial. Forgive me in
advance for not being able to include all of you. Thanks to Jay Wataniumak and Bioware for filling
in some of the holes in previous versions of the document.
0IsclaImer
Please note that these tutorials are provided as-is, with no guarantees that they will be
particularly useful for what you wanted to accomplish. Also, the author(s) cannot be held
responsible for damages done to your computer, applications and/or game installation by
following these instructions. Caveat emptor.

NeverwInter NIghts Custom Content CuIde vJ.0 Tools

ElIgIo Sacateca Page 5 01/06/200J
The Tools
If you wish to create custom content you will need a few tools in addition to the Aurora toolset.
ZolIgato's NWN7Iewer
This viewer (http://nwvault.ign.com/Files/other/data/1026158289673.shtml) lets you
browse the NWN resource files (all of the model, textures, pictures, text, etc.) that make up
the content of the game. It also allows you to extract these files so that you can modify
them or use them as a base for making your own custom content.
8Ioware's Hakpak EdItor
A hakpak is a file (with the extension .hak) where
you add custom content files to either supplement
or override standard Bioware content. For
example, you can use a hakpak to make
Neverwinters standard goblin a different color
(overriding standard content) or to add a new
monster such as an Owlbear (adding new
content). To use your hakpak you must add it as a
resource to your module. For instructions on how
to do this, refer to the Hakpak Editor section at the
end of this guide.
Anybody who plays your module will need a copy
of your hakpak so be sure to distribute it along with
your module itself.
|odelIng Tools
The complexity and expense of the modeling tools
you use is completely up to you and what kind of
custom content you want to build. You have many
options:
a) Simple copying and retexturing. If all you want
is the ability to copy models, rename them and
retexture them, there is a simple utility you can
use. NWN can read either binary or ASCII
versions of the model files (most of the NWN
files are compiled into a binary format). The reason for turning them into ASCII files is
that you can edit the ASCII model file with a text editor and change simple things like
the texture file used and the model name
(make sure you change all instances).
NWNMdlComp
(http://www.torlack.com/index.html?topics=
nwnmdlcomp_readme) will take a binary
model file and turn it into an ASCII model
file and vice-versa.
Warning
Another way to override Bioware
content is to drop a file into the
/override folder of your game
directory. However, you should not do
this.
Hakpaks are much cleaner they can
group many overridden files into one
package and, more importantly, they
are specific to a module.
Putting a file into the /override
directory will override it for all modules
you play on that computer which may
have unintended consequences on
other peoples games.
In general, dont use the /override
directory. The only valid use of the
/override directory that I would
recommend is for temporarily and
quickly testing your content without
having to go through the process of
updating a hakpak, saving it, etc. Once
you have finished testing, dont forget
to load the new content into a hakpak
and take it out of the /override
directory.
Notes
I no longer reference c-tools because
NWNMdlComp is a more up-to-date
version of what the original program
could do.
NeverwInter NIghts Custom Content CuIde vJ.0 Tools

ElIgIo Sacateca Page 6 01/06/200J
b) If you want to try modeling work without an expensive modeling tool, try gmax
(http://www.discreet.com/products/gmax/). It is a subset of 3ds max for non-
commercial game designers and it is available free. To use it for NWN you also need
to pick up the Waylands GMax MDL import/export script
(http://nwvault.ign.com/Files/other/data/1029721132840.shtml) and NWNMdlComp
(above). Gmax and its tools do not support creation of emitters (an advanced topic for
NWN modeling so you may not care since most models do not use emitters).
c) There are low cost modeling tools available on the net. Milkshape 3D
(http://www.swissquake.ch/chumbalum-soft/) is a low polygon 3D modeler originally
made for Half Life. Milkshape import/export scripts
(http://www.augustweb.com/~anim8r/html/closet_tools.htm) are available to support
NWN and a host of other formats. I have read that the import/export plug-ins for
Milkshape3d appear to have been made for the beta toolset before the game was
released. They rotate body parts 90 degrees counter-clockwise so you have to either
rotate 90 degrees clockwise before exporting - that is rotate the model not the view -
or else import/export your model a total of 4 times to return it to original position.
Beggars cant be choosers.
d) Professional modeling. Buy 3ds max (http://www.discreet.com/products/3dsmax/).
Pawn your car. Mortgage your house. Sell
the rights to your firstborn child. Once you
have done that and have the 3ds software,
you need a set of MAX Scripts to export
and/or import model files. The MDL Plug-in
Suite 1.0
(http://www.bricksbuilder.com/nwn/utils/) by
scooterpb is the utility of choice here. This is
a set of tools developed by the community
that will let you import Biowares models into
3ds max 4 or 5, manipulate them, and export
them as ASCII mdl files. Bioware has also released their Export Scripts for 3ds max
(http://nwn.bioware.com/downloads/max_script.html). Grab them and Biowares
Export Scripts Documentation
(http://nwn.bioware.com/downloads/max_docs.html).
e) More professional modeling. Buy Lightwave 3D (http://www.lightwave3d.com/).
Joviex has released Import/Export scripts for Lightwave
(http://www.onarom.com/Plugins/nwnmdl.asp).
f) ObsidianSS
(http://nwvault.ign.com/Files/other/data/1030
162054010.shtml) is a tool for scaling and
skinning existing models (it does nothing that
cannot be done with gmax or the other
modeling tools but some people find it a
good tool if they just want to scale and skin
existing models without learning gmax). If
you are interested in ObsidianSS, here is a
tutorial on re-skinning an existing model
(http://nwvault.ign.com/dm/modeling/tutorials/
lllSnakeeyeslll/BlackBalorTutorial.htm) using
ObsidianSS.
Warning
Bioware has only released the export
scripts - no import scripts. This means
you cannot load their existing content
from a Bioware MDL file. You can only
export a model you create from scratch.
I believe most modellers make heavy
use of scooterpbs suite and more
limited use of Biowares scripts.
Notes
Note that ObsidianSS does not scale
animations properly creatures no
longer attack where they should. Small
ones swing in front of the target and
large ones well behind it.
I suspect this is because the motions
scale down or up but the game engine
does not know to change attack
distance between the creature and the
target. This may be fixable with
parameters in the appearance.2da file
(like HITDIST) but needs to be tested.
NeverwInter NIghts Custom Content CuIde vJ.0 Tools

ElIgIo Sacateca Page 7 01/06/200J
There are other 3D modeling tools but import/export scripts for these currently do not exist.
A number of people ask about Maya because there are free/low-cost educational versions
available and it is reportedly better at animation than 3ds max or gmax. However, there
are no import/export scripts for Maya directly from and to NWN. They could be written for
the professional version if somebody has the inclination the SDK exists for the full
version although the educational versions do not accept plug-ins and use a proprietary file
format so you are out of luck there.
mage EdItIng Tools
The complexity and expense of the image editing tools you use is also completely up to
you and what kind of custom content you want to build. You have many options:
a) Picture Publisher from Micrografx (now a Corel product). Moderately advanced
image editing, this is one of many packages bundled with common hardware like
scanners (thats how I got mine).
b) Photoshop (http://www.adobe.com/products/photoshop/main.html) from Adobe. Did
you sell your firstborn to get 3ds max? Put the second child up on the auction block
too. You wont get as much for the little rascal as you did for the first one but it should
be enough to get a copy of Photoshop.
c) Paint Shop Pro (http://www.jasc.com/products/psp/) from JASC. The poor-mans
Photoshop. You should be able to get it for the price of your dog.
d) GIMP (http://www.gimp.org/) is a freely distributed piece of software suitable for such
tasks as photo retouching, image composition and image authoring (open source,
natch). Contrary to popular belief, it runs on Mac and Windows in addition to Linux. If
you really are attached to your children and your pets, this is the way to go.
e) MSPaint from Microsoft. Wait, did I say that? Actually, MSPaint does not support the
Targa bitmap format so it will not work for NWN.
f) Your choice of 15,237 other image-editing programs.
00STools and/or 8Ioware's 00S CompressIon Tool
Either DDSTools (http://downloads.neverwinternights.de/tools/ddstools.zip) or Biowares
DDS Compression Tool (http://nwn.bioware.com/builders/texturetutorial.html) can be
used to compress your textures into DDS format for faster rendition on higher end 3d
video cards. While not absolutely necessary, it will give your objects that extra level of
professional shine. It allows your hardware to switch between very hi-res textures when
viewing an object close up while using low-res textures for the same object viewed at a
distance. These are only necessary if you create custom textures for your models.
NWNArmory
(http://nwvault.ign.com/Files/other/data/1053910703210.shtml) is used to duplicate armor
pieces when you are creating new armor for all the different PC races or creating new PC
races.
NeverwInter NIghts Custom Content CuIde vJ.0 Tools

ElIgIo Sacateca Page 8 01/06/200J
8Ioware's Photoshop PLT Exporter PlugIn
(http://nwdownloads.bioware.com/neverwinternights/misc/photoshop_plt_plugin.zip) is for
people who use Photoshop to edit their image files. This tool will allow you to export them
as PLT texture files for use in armor and head models.
Lord EmIl's pltcon
(http://www.lordemil.com/NWN/pltcon.exe) is used if you dont have Photoshop because it
changes PLT texture files into editable bitmaps and back again.
0draIgcymraeg's Soundset FIle (SSF) EdItor
(http://nwvault.ign.com/Files/other/data/1027785116370.shtml) is used to create or edit
NWN .ssf voiceset files. There are some bugs with this utility that may cause problems
although it is generally stable.
ChIllISkInner
(http://www.chilliweb.co.uk/chilliskinner/) is used to unwrap an object for texturing in 3ds
Max or gmax. Apparently 3ds max version 5 does not really require Chilliskinner; many of
the capabilities of that tool are building into the advanced unwrapping features of v5.
ChilliSkinner is really a set of Maxscripts.
Texporter
(http://www.texporter.com/) is used to unwrap an already textured object into a bitmap for
painting (after you have run ChilliSkinner, for example). This is not strictly necessary when
texturing because you can always do a printscreen when unwrapping objects and use the
printscreen as a template for your texture (which is good because Texporter is a plug-in
and can only run in 3ds max it does not work on Gmax).
CD0's Character Creator
(http://codicc.city-of-doors.com/) is used to generate custom races.
J0 |odelIng
This guide is not a 3d modeling course. Nor will it teach you in the ins and outs of texturing. If you
already know how to model, you have won half the battle. Pick up a copy of your favorite
modeling tool and dive right into this tutorial. If you dont, Discreets gmax is a good place to start
and it includes lots of tutorials.
If you dont know what a mesh is and need help with the real basics, there are other resources
that can help you:
http://www.polycount.com/ is a site for game modeling (Quake, UnReal, HalfLife, etc.).
http://www.quake3world.com/ubb/Forum11/HTML/001100.html (the Quakeworld resource
forum) has some great links and tutorials for 3d modeling.
http://www.3DTotal.com/ has a lot of tutorials, and a lot of samples. Check out the fancy
swords in the Models section under the Medieval/Historical section (unfortunately, they are too
high-poly to use directly in NWN). As another example, you can find a tutorial to model Joan of
Arcs sword (http://www.3dtotal.com/ffa/tutorials/max/joanofarc/sword1.asp) here.
http://www.computerarts.co.uk/tutorials/3d/ also has tutorials on basic modeling and animating.
NeverwInter NIghts Custom Content CuIde vJ.0 Tools

ElIgIo Sacateca Page 9 01/06/200J
http://www.cgtalk.com/ is a very active forum on modeling. There is a great tutorial on texturing
and others on general 3d modeling.
comp.graphics.packages.3dstudio the 3dstudio newsgroup. Tips, tricks, FAQs and
flamefests. What more could you ask for?
http://www.3dlinks.com/ includes discussion forums and other information that you may find
useful.
http://www.3dark.com/ was recommended in another post but I found the practical content to
be fairly low (unless you want to join the 3d animation industry).
http://www.3dcafe.com/ is, unfortunately, a subscription site. It does have a section with free
models that you may be able to use as a starting point.
http://mojo.gmaxsupport.com/Sections/MaxScripts.html has scripts that can be used with both
3ds max and gmax.
http://supadetail.gmaxsupport.com/ has gmax tutorials.
http://tdp.nu/cgi-bin/plugsearch_r4.pl?search=gmax has plug-ins and scripts for both 3ds Max
and gmax.
http://www.scriptspot.com/start.htm also has plug-ins and scripts for both 3ds Max and gmax.
http://maxres.cgworks.com/scripts/ has scripts for 3ds Max.
http://max3d.3dluvr.com/plugins.php has plug-ins for 3ds Max. This site also has some good
tutorials on subjects like animation.
http://www.maxplugins.de/ has more plug-ins for 3ds Max.
http://www.melax.com/polychop/plugin/index.html has polychop. This is a plug-in that reduces
the number of polys in your mesh (in case you got a little too excited making the ultimate hi-
resolution model and cant find a PC fast enough to run it)
Paul Steed (Quake II/III fame) apparently has a book called "Modeling a character in 3DS
Max". I have not used it myself but I am told it is a very good book that explains how to model
and skin a one piece character mesh for export to any game/application. It is 500-odd pages,
about USD $45.
I would recommend you get started by doing some of the basic tutorials that come with your
modeling package. Then move on to looking at the existing NWN models. Review them, modify
them, understand them, and finally make your own.


NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 10 01/06/200J

Weapons
Lets start by modeling a new weapon. I want to be able to create Wave, the trident from S2
White Plume Mountain. We will start by creating a simple trident head and test it out. Then, after
we have it working, we will tweak the content to add additional features.
Where do we begin? Well, it usually helps to start with something that at least vaguely resembles
the final product you want to create at least until you have done a few of these. We would start
with an existing Bioware model but NWN does not include a trident as a standard weapon. But
wait, a spear is similar to a trident (a pointy thing on the end of a long stick) and you attack with it
in a similar motion (by jabbing the sharp end at your opponent). So we will start with a spear as
our base model.
Part 1: UnderstandIng How NWN Fepresents Weapons
Lets look at how NWN represents the different components of a weapon by actually building an
existing one in the Aurora Toolset. Try this exercise:
1. Open up the Aurora Toolset.
2. Create a new Module (we will call it Weapon Tutorial for lack of a better name). Use the
Area Wizard to create at least one Area. Use the defaults to set up the area and choose
something simple like a Castle Interior.
3. Select Wizards | Item Wizard.
4. For Item Type select a Spear (we will talk about the standard weapon types later in this
section).
5. Click Next.
6. Enter a name (Trident).
7. Click Next.
8. Add to the Weapons, Polearms category (we will talk about the standard categories later in
this section).
9. Click Next.
10. Check the Launch Item Properties checkbox.
11. Click Finish.
12. Select the Appearances Tab.
You can now modify the appearance of the item. The options you choose correspond to the
different Model Ids and Position Codes.
Take a closer look at the Appearance tab. Note that there is both a 3D model (used in the game
engine to render a character actually wielding the weapon) and a 2D icon (used in the game
engine for the inventory functions).
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 11 01/06/200J





F|gure 1 - 3pear sroW|rg 30 Vode| ard 20 lcor
What you dont see directly is that each of these models is actually made up of three distinct
pieces (top, middle, and bottom). By mixing and matching these pieces, you can create a lot of
unique weapons with the basic items included in the game. In our example, the basic spear
consists of the spearhead (top), the shaft (middle), and an end cap (bottom). A sword consists of
the blade (top), the guard (middle) and the hilt (bottom).
While we are here, play with the Model and Color values. By changing the Model values, you can
change the shape of each component. By changing the Color values, the shape of each part
does not change but you can change the color of each component.
Now that you understand the different parts of a weapon model, lets get started.
Part 2: A Fose by Any Dther Name
would not work in NWN.
We are going to model our trident on the existing short spear weapon. Remember, it is generally
easier to start from something you know and build your content from there. Where do I get the
standard weapon models used in NWN? What about NWVault? Sorry. While you will find a few
models on the vault that are NWN-ready, most are in other model formats. So, while they may
look nice, they dont work directly in the game.
So where do I go? Thats what NWN Viewer is for. The content is already stored in the NWN
game, you just have to learn how to access it. Open up NWN Viewer and select File | BIF |
Neverwinter Nigths (sic). What you get is a listing of all of the core content files for NWN. Each
BIF file (not sure what BIF stands for maybe Binary Information File) is a packed file like the
hakpaks we talked about earlier. They contain standard NWN content.
If you look through these you will find that the core NWN models are stored in two files:
The 2D icon
The 3D
model
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 12 01/06/200J
data/models_01.bif contains the character
and creature models
data/models_02.bif contains the armor/model
pieces, placeable items,
and weapon models
We will use data/models_02.bif because we want
the weapon models.
|odel Type
Scroll down, way down. What you want are the models
that start with w.
Weapon models are named using the format:
wxxyy_z_nnn. The prefix represents the model type for
a weapon. The remainder of the name represents the
weapon class and name for the model.



F|gure 2 - NwN v|eWer sroW|rg lop porl|or ol 3pear 30 Vode| (spearread)
Weapon Class and Name
After the w, the next four characters (wxxyy) describe the class and name of the weapon:
xx Model class
yy Model name abbreviation
Hint
Check your /override directory and
patch.bif first they contain official
updates from Bioware (NWN Viewer
gets its data directly from the original
BIF files which may be out of date).
Only if Bioware has not updated these
files should you export a new version
from the original game installation. If
you don't follow these simple rules, you
risk undoing Bioware's bug fixes when
you distribute your custom content.
NWNViewer cant open patch.bif
directly. To have it recognize
patch.bif, rename the file
chitin.key to original.key.
Rename patch.key to chitin.key.
Now you can open it directly in the
viewer. To open the original BIF files,
reverse this process.
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 1J 01/06/200J

For example, wplss_t_011 equates to:
w for weapon
pl for polearm
ss for short spear
Well get to the _t_011 part in a moment. First, here are the standard weapon resources for
data/models_02.bif:

Type Class Name Maps to
W Weapon
AM Ammo
AR Arrow
BO Bolt
BU Bullet
DT Dart (I dont think this is really valid because
it does not appear in the baseitems.2da file).
AX Axe
BT Battle Axe (two-handed)
GR Great Axe
HN Hand Axe (one-handed)
BB ?
QS ?
BD ?
QS ?
BI ?
MI ?
BL Bludgeoning Weapons
CL Club
FH Flail, Heavy
FL Flail, Light
HL Hammer, Light
HW Hammer, War
ML Mace, Light
MS Morningstar
BW Bow
LC Longbow, Composite
LN Longbow
SC Shortbow, Composite
SL Sling
SH Shortbow
XH Crossbow, Heavy
XL Crossbow, Light
XR Crossbow, Repeating
DB Double-handed
AX Double Axe
MA Dire Mace
QS Quarterstaff
SW Two-bladed Sword
MG Magic
RD Rod
ST Staff
WN Wand
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 14 01/06/200J
PL Polearm
HB Halberd
SC Scythe
SS Short Spear
SP Special
GA Gauntlet? (I dont think this is really valid
because it does not appear in the
baseitems.2da file).
KA Kama
KA Kukri
NN Nunchuka (I dont think this is really valid
because it does not appear in the
baseitems.2da file).
SC Sickle
SP ? (I dont think this is really valid because it
does not appear in the baseitems.2da file).
SW Sword
BS Bastard Sword
DG Dagger
GS Great Sword
KA Katana
LS Longsword
RA Rapier
SC Scimitar
SS Shortsword
TH Throwing
AX Throwing Axe
DT Dart
SH Shuriken
WB ?
LC ?

PosItIon Code
Okay, sounds easy enough so far. But what are all those other numbers and letters I see in
data/models_02.bif (the _t_011 stuff)?
We have already looked at how NWN represents the different components of a model by looking
at the item properties under Appearance for a custom-created item. The options you choose
correspond to the different model types in the data/models_02.bif file.
First is the position code. We know there are three position codes for each weapon:
t top
m middle
b bottom

So in the earlier example, wplss_t_011 equates to the top piece (the head) of the short spear.
|odel 0
There is a specific format for the id as well: nnz. There are two characteristics:
nn Model (although Ive not seen the first character anything other than
zero and I have had trouble getting past 09)
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 15 01/06/200J
z Color/Texture (right now the ones typically supported are 1 = metal, 2
= brass, 3 = wood) but you can add your own

So in the earlier example, wplss_t_011 equates to the first model # and the initial color (usually
metal, followed by bronze/brass/gold, followed by wood) of the top piece of the short spear.
SpecIal |odels
Now you understand the weapon models and their naming conventions. Well, almost. What about
some of those other models with names like waxbt_fxacid? There are special purpose models
for special effects:
_mb The motion blur model
_fxacid,
etc.
special effects (acid, etc.) shows the game
engine where to render the colored mist or
flames that envelop different models
_blur Ignore this model type. This looks like it is
another type of motion blur model but it is not. It
is not used for anything and is a vestigial model
left from earlier game development days
_000 Ignore this model type as well. It looks like a
normal weapon model but it is not valid. It is a
vestigial model left from earlier game
development days as well

So waxbt_fxacid shows the model for a weapon, an axe, in fact a battle axe, corresponding to
the effect you would get if that battle axe were magically enchanted to drip acid.
There are a few weapons (e.g., the bullet) that do not have the full 3 parts. These are represented
with a format of wxxyy_nnn. Just exclude the Position Code.

NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 16 01/06/200J

Part J: CreatIng the J0 |odel
So with all of that in mind, I am going to create my models for a
trident. If I look at the spear models, the first thing I see is that
the standard shaft (m as in middle) and end (b as in bottom)
models for a spear work just fine for a trident. So Im just going
to create a new model for the head of the spear (t as in top).
Here are the basic steps using gmax. Directions may vary
according to your software.
1. Open the NWN Viewer.
2. Select data/models_02.bif.
3. Scroll down and select the model wplss_t_031.
4. Right click on the row and select Extract file(s) to.
5. Save the file to a new directory. This is a binary model file.
You cannot easily open or read it in binary format.
6. Open a command prompt window.
7. Run NWNMdlComp d wplss_t_031 on the binary
model file to convert it to an ASCII model file (it should
have the name wplss_t_031.mdl.ascii).

F|gure 3 - us|rg NwNrd|corp lo decorp||e a o|rary rode| l||e
8. Open gmax. The NWN MDL Tool pane should
automatically open on the left side. If it does not, load it
manually using Maxscripts | Run Script
9. Load the spear model into gmax by opening the Import
MDL sub-menu in this pane (not the File | Import
function) and using the Browse pushbutton to select the
ASCII file you created in step 6.
Hint
Start with a model you know works.
There are models for swords, spears,
even a flail with a chain linking head to
handle. Use this model to understand
how big to make your objects and
where to place them.
Complex models with lots of polygons
will slow down combat considerably.
How many is too many? Well, it varies.
I created Wave with 157 vertices. This
is pushing the high end of what you
want. Many of the standard NWN
models have less than 50 vertices. I
would aim for 30-40 per model file. The
CEP puts a ceiling of 300 polys for the
entire weapon (all three parts).
If you would like your object to have a
chrome finish, you do not have to
texture it. Otherwise, figure out UVW
mapping and do your own texturing.
The default weapon texture is
w_metal_tex.tga. The texture image
is comprised of blocks of textures,
some alpha masked, some not. If you
use an alpha mask texture on a
weapon then where it is transparent the
underlying shiny value will show
through.
The gmax and 3ds max export scripts
are a bit funky working directly with a
blocked texture file like
w_metal_tex.tga. You need a single
texture file for the entire object or you
need to do a proper UVW map.
If the NWN MDL Tool pane does not
come up and you cant find the scripts
to load, you probably dont have the
scripts installed. See the link at the end
of this document to get a copy. Put the
.ms files in your
gmax\scripts\startup folder.
You can only export editable mesh
objects. So if you model with shapes or
nurbs you must convert to an editable
mesh before exporting.
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 17 01/06/200J


F|gure 1 - Tre grax pop-up lor NwN
10. You can minimize the MDL window after you open the file. Take a close look at the model you
loaded. Note the relative size and position of the model. This is important because the relative
orientation and offset of your model now will be used when the game engine renders your
weapon in three pieces. The reason your spearhead is not centered at the origin (0, 0, 0) of the
gmax space is because it must be far enough out to rest comfortably on the tip of the spears
shaft model (the middle piece). You must keep it there; otherwise it will not appear to be
attached to the rest of the weapon when the game engine assembles the three models later.
11. Note the base item. This is used by the import/export scripts to link special attributes to models
(animations, etc.). The spearhead is a child mesh of the base. Dont change the name of the
model for now, or of the base (this is important for now we will change it for later models).
The spearhead model has a name of wplss_t_031.
12. Now modify the standard spearhead or replace it with your trident model (read the tutorials for
gmax to see how to actually create 3D models).





Hint
Collapse your objects to editable
meshes before applying any NWN
modifiers.
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 18 01/06/200J

F|gure 5 - Vy lr|derl |r grax
13. If you created a new model, be sure to link it to the base item as a child object.
14. Open the Export MDL sub-menu of the NWN MDL
Tools pane. Select Export MDL.
15. Wait? Where is my exported file? It didnt even ask for a
filename. The gmax import/export utility does not have
the ability to write files. What it does is dump an ASCII
version of your model to the MAXScript Listener. What
you need to do is open MAXScript | Listener and
then copy and paste the listing into a text file. Save it as
wplss_t_031.mdl and you are done.
Hint
Size matters.
1cm in game = 1 max unit. If this is too
confusing you can import another
model that is properly scaled.
Because NWN uses a tiny scale, the
import export tool lets you import at a
magnified scale of 100X magnification.
It will then export at -100X to get it back
to original size.
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 19 01/06/200J

F|gure - VAX3cr|pl L|slerer |r grax lo exporl rode|s
16. Copy your wplss_t_031.mdl file to the /override directory of your game installation. If
you used a .tga file as a texture, put it in the same
directory.
17. Open up the Aurora Toolset. If it was still open from
before, save and close the module and toolset first then
re-open it.
18. Open your Weapon Tutorial module.
19. Select the Area you created, and then the Item icon on
the right toolbar (it looks like a sword).
20. Choose the Custom tab.
21. Your original spear should be under the Weapons,
Polearms category.
22. Right click Trident and then select Edit from the pop-up menu.
23. Select the Appearance Tab.
24. Select Top model 3 if it was not already selected. I also chose the Bottom model 4 (one of the
default models) because I like the bladed end better than the rounded model #1. And I made
the shaft gold (color 2).
25. Click OK and then save your module.
Hint
This cutting and pasting thing from the
listener is a bit annoying. You can get a
utility from NWVault <STB: insert link
here> that does this for you
automagically.
You must close and re-open the Aurora
toolset whenever you add something to
the /override directory. The game
and toolset only look at and load files
from the /override directory once,
upon start-up. If you do not re-open the
toolset, it will not recognize any new
resources.
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 20 01/06/200J

F|gure Z - 30 Vode| ol 3pear W|lr |rcorrecl 20 lcor
This is what you get when you look at your spear. It is starting to shape up. There are a couple of
problems with this model that say we arent done.
Note the picture on the right side it still looks like a spear with a default spearhead! Where is
our trident? We need to create a 2D weapon icon to fix this.
Now all basic spears using model 3 will look like tridents because we have overridden the
default spear model. We need to change a few more things to fix this problem as well.
Our trident is actually a spear. It will work fine this way but we may want to actually add an
entirely new weapon, a trident, rather than piggy-backing on the spear forever.

Note on ResetXforms:
Have you ever opened up one of your creations in NWN and found it does not look like what you
saw in your modeling tool? Too big? Too small? Parts blown out of proportion or disappearing?
Sounds like you have a problem with advanced transforms. This subject is so frequently
discussed and so problematic I thought I would pull it out into its own flagged section. Let me start
by discussing why you need to care about resetting transforms.
Gmax and 3ds Max can hold information about your object (whether or not parts of it are
mirrored, which directions normals really point, how it is scaled and rotated, etc.) that is not
exported with your model in a way that NWN can understand or use. What this means is that
what you see in Max may not be the same as what you see in NWN.
For example, objects can be transformed (scaled, rotated or moved) either in world space or in
sub-object space. Transforms in sub-object space take place when you transform vertices,
edges, faces, polys or elements of an object (or all of them at the same time). Transforms in
world space take place by selecting your object at the highest level and transforming it.
What this means is that if you rotate an object in world space, it will not be rotated when you
export it to the game. Or moved (transformed).Let me repeat that in different words because this
part is key: Bioware's NWN engine does not read world space transforms!
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 21 01/06/200J
As you can imagine, this might be a huge problem. One way to fix this problem is to do all of your
transforms at the sub-object level. However, this is only a partial solution because the same
problem occurs with other operations as well (for example, mirroring objects often inverts the
direction of their normals or faces).
The good news is that there is a way around it. In Gmax or 3dsMax you can do a ResetXform
operation on all the pieces of your model and then collapse each of these modifiers onto your
editable mesh. By doing this, you are turning this complex transformation information into
something simpler that NWN can understand. In practical terms it means what you see in Max
and what you see in NWN are more likely to be the same.
ResetXform can be found on the Utilities panel. Use the ResetXform utility to push object
Rotation and Scale values onto the Modifier Stack display and align object pivot points and
bounding boxes with the World coordinate system. Reset Transform removes all Rotation and
Scale values from selected objects and places those transforms in an XForm modifier (no, really,
it will). You can then collapse the modifier into your object and away you go.
Some notes on ResetXform:
Sometimes after you do a ResetXform you may need to clean up parts of your model. For
example, often on mirrored objects doing a ResetXform will expose the fact that your
normals are really inverted. You will need to flip the normals on the mirrored part after
you are done. These aren't things that ResetXforms breaks - they are things that would
have been wonky in the game and it is showing them to you early.
You can also reset the transforms on the Pivot block of the Hierarchy panel. It will convert
your world space transform into a sub-object space level transform. However, it will not
fix problems like reversed normals so the Utility panel is generally the way to go.
You must do all of these things before linking your object to other objects (like the
Aurabase). Why? Because the ResetXform modifier affects child objects as well the
parent. If your objects are linked together they will inherit transforms and scaling. By
resetting you are only really resetting them relative to the parent objects.
So let me summarize: if your object appears differently in the game than it did in 3dsmax or
gmax you probably forgot to reset the transforms on it. Make sure your object is unlinked
and then use ResetXforms on the Utility Panel to clean it up before proceeding.


Part 4: CreatIng the 20 Weapon con
Lets start by fixing that picture. NWN 2D icons must be 32-bit Targa Bitmap (.tga) files (with an
alpha mask channel). Once you understand how the 3D weapon models are named, the 2D icons
are easy. Just add an i to the beginning of the 3D name. For example, iwplss_t_011 equates
to the 2D icon of the model # 1 and color # 1 (usually metal, followed by #2 bronze/brass/gold,
and #3 wood) of the top piece of the short spear.
There are two game files that contain all of the textures:
data/textures_01.bif
data/textures_02.bif

You may need to use both. Use data/textures_02.bif for axe and short sword icons. The
rest of the icons are in data/textures_01.bif.
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 22 01/06/200J

F|gure 8 - NwN v|eWer sroW|rg 20 lcor
How big do I make the icon file? Note that in this example the icon for the spear top is 32 x 128
pixels. But the different icons can be different sizes, just make sure they are a multiple of 32 and
that all the pieces for a specific weapon are the same size. In the case of our spear, we will use
the same 32 x 128. Why do we need to do this? We do it for the inventory management system of
NWN. Each box on the inventory grid is 32 pixels x 32 pixels. Our models have to align with this
grid perfectly. Again, I suggest using an existing model to start.
CreatIng a TrIdent con
I use the same basic process to create the 2D icon as I did for the 3D model:
1. Open the NWN Viewer.
2. Select data/textures_01.bif.
3. Scroll down and select the file iwplss_t_011.
4. Right click on the row and select Extract file(s) to.
5. Save the file to the directory with your 3D model.
6. Open the .tga file with an image manipulation program. I use Micrografx Picture Publisher
because it came with my scanner and does most of what I need. Modify the standard
spearhead or replace it with your trident model. Keep the name the same (this is still important
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 2J 01/06/200J
for now). Dont use any of that black space below the model when the game overlays the
middle and bottom pieces it will use that space. I chose to do a screen print of my 3D model as
it shows in the Aurora Toolset, shrink it down, paste it over top of the sample file I extracted
using NWN Viewer, and then tweak the image to get it to look cleaner and brighter.

F|gure 9 - Tre 20 lcor lor lre Weapor lop
7. Now, to do the overlays of the 3 model pieces, NWN uses a mask channel to know which
portions of the bitmap to lay down. What you need to do is create this mask channel for it
before you save your image. Details on how to do this will vary depending on the software you
use. Using Picture Publisher, it has a magic
wand for creating a mask. I start by creating the
mask of the black space surrounding the image
(magic wands work best if given a single color to
encapsulate). Then invert the mask so that it is a
mask of the trident head instead of one excluding
it. I could have done a mask directly of the trident
but it has many colors and I would probably have
needed to zoom in and select the mask area
manually.
8. Now save your image as a Targa Bitmap. Again,
be careful. I needed to select Options first and
explicitly tell Picture Publisher to save the mask
channel. Otherwise it just saves the image as a
24-bit Targa file instead of a 32-bit one with
mask.
9. Close and re-open your saved file in your image program. If the mask is still there you got it
right. If not, try again.
10. Copy the new iwplss_t_011.tga file into your /override directory.
11. Open up the Aurora Toolset. If it was still open from before, save and close your module first,
then close and re-open the toolset.
12. Open your Weapon Tutorial module.
13. Select the Area you created, and then the Item icon on the right toolbar (it looks like a sword).
14. Choose the Custom tab.
15. Your spear should be under the Weapons, Polearms category.
16. Right click Trident and then select Edit from the pop-up menu.
Hint
If you see the icon in the toolset but not
in-game then the dimensions are
probably wrong. In baseitems.2da
there is an icon height and width - this
is measured in squares on your
inventory screen in-game. Your icons
need to be (32 x height) x (32 x width)
.tga files. If they aren't they still display
in the toolset (it is just a .tga, after all)
but when the game engine tries to cram
your icon into the inventory squares
where it should fit it cannot and gives
up.
Since we are using the spear entry, we
are okay by copying the spear icon and
keeping its dimensions.

NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 24 01/06/200J
17. Select the Appearance Tab.
18. Your trident should now have a 3D model and a 2D icon. If you only have the head of your
trident in the 2D icon, your mask was probably not done properly and NWN is overlaying the
other two components with your entire image file. Check the mask again and repeat these
steps.

F|gure 10 - Tr|derl W|lr 30 Vode| ard 20 lcor
Part 5: UsIng a Hakpak
Up until now we have been using the /override directory to load our new model and icon. This
overrides the standard spear model 3 for any module you play. There are two shortcomings to
this approach:
Using the /override directory is the wrong
way to override content (except as a quick way to
test your changes).
You are replacing an existing model. This is a
common way of adding new custom content
(select an existing object that you do not plan to
use in your module and replace it with your
content). But it does not allow you to use the
overridden item in that module. And your new
model must behave exactly the same as what
you are replacing (same damage dice, etc.)
We will examine more sophisticated ways of adding new
weapons. We are going to introduce two new concepts
here:
Hint
Why didnt we do this from the
beginning instead of first replacing the
03 spear model? We could have but I
wanted to show you both methods
replace or adding custom content is
applicable to many different types of
content, not just weapons.
The /override directory can be faster for
testing models (without having to
update hakpaks all the time) although
personally I find the effort of starting
and stopping the toolset all the time
when you use the /override directory if
you do to be time-consuming itself.
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 25 01/06/200J
Using a hakpak to load the content into NWN for a specific module (instead of using
/override which affects all modules you play on your machine)
Adding a new spear model (instead of replacing an existing model).
Start by moving your files out of the /override directory. Dont forget this step! This is one of
the reasons I strongly recommend against using the /override directory it is too easy to
forget and leave things in it. A month from now you will be wondering why one of your spears
looks like a trident in spite of everything you do to change it.
1. Move wplss_t_031.mdl and iwplss_t_031.tga from the
/override directory. We will put them in a hakpak
instead.
2. Rename the icon file we just created as
iwplss_t_051.tga (dont put it in the /override
directory!). That way they will not override model 3.
3. Go back and resave your model file as
wplss_t_051.mdl. You should change the internal
model name to be wplss_t_051 as well. You can do
that either from within gmax (change the name of the
model from WPlSs_t_031). Or, open the .mdl file with
a text editor and changing all instances of wplss_t_031
to wplss_t_051.
4. Create a new hakpak (see appendix for instructions).
5. Add your model wplss_t_051.mdl and icon
iwplss_t_051.tga. If you used a .tga file as a
texture, add it as well (if you used the standard
w_metal_tex.tga, you do not need to include it again
because it is already in the game).
Hint
Important: you must have both the 3D
model file (.mdl) and the corresponding
2D icon (.tga) in your hakpak. If you
only have one or the other, NWN will
not recognize the available model.
Select the highest existing model
number for the weapon you are using
as a template (in this case the highest
spear model is 4) and add 1 to it for
your model.
The game works fine even if you do not
have all 3 colors or even the same # of
models for all parts of the weapon (e.g.,
it is okay to have 5 spear head models
and only 4 shafts and ends).
Having said that, you should provide all
three colors (otherwise it is too easy to
mis-select a model/color pair and
accidentally end up with characters
running around in-game with only two-
thirds of a weapon).
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 26 01/06/200J

F|gure 11 - la|pa| W|lr your Weapor rode| ard |cor
6. Save your hakpak.
7. Open up the Aurora Toolset. If it was still open from before, save and close the module and
toolset then re-open the toolset.
8. Open your Weapon Tutorial module.
9. Select Edit | Module Properties and click on the Custom Content tab.
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 27 01/06/200J

F|gure 12 - Add|rg a ra|pa| lo a rodu|e
10. From the drop-down for the Hak file, add your hakpak. If
it does not appear in the drop-down, your hakpak is
probably not in the /hak folder of your game directory.
11. Save and close the module and then reload it.
12. Select the Area you created, and then the Item icon on
the right toolbar (it looks like a sword).
13. Choose the Custom tab.
14. Your spear should be in the Weapons, Polearms category.
15. Right click Trident and then select Edit from the pop-up menu.
16. Select the Appearances Tab.
17. Switch the top model type to 5 and you are done. It should look the same as it did before. Now
I can use all four original spear models and the trident.

Hint
You can add more than one hakpak to
a module. If you do this, take care how
you order them the contents of the
higher priority hakpaks override the
lower priority ones. So, for example, if
you put two longswords with the same
weapon ID in two hakpaks, the topmost
one would be the one you get to play
with in the game.
Sometimes the Aurora toolset gets
confused about hakpaks. I have found
the best way to load or reload a hakpak
is to close and re-open your module.
So, to add a new hakpak to a module,
save and reload your module after
adding the hakpak in the Advanced
tab.
If you have modified a hakpak and want
to use the modifications, save and
reload your module again.
If all else fails, close and re-open the
toolset.
If that still doesnt work, check the
contents of your hakpak again for
completeness (remember, for a
weapon you need both the 3d model
and 2d image).
Remember that if you use a Hakpak in
your module, players must place the
same Hakpak in their 'hak' directory to
play the module be sure to bundle the
Hakpak with your module when offering
it for download!
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 28 01/06/200J

Part 6: The Weapon Fesource FIle
There is one major problem outstanding: our trident is actually
a spear. It looks like a trident. You fight with it like a trident.
But in its heart-of-hearts, it is a spear. We can fix that, too
sort of.
What we have to do is add a new weapon resource in the
baseitems.2da file (2da stands for 2 Dimensional Array
because each .2da file is a matrix of rows and columns).
This will allow us to define an entirely new type of weapon.
This is a similar procedure we will use for other custom
content as well.
I would suggest you open up Zoligatos NWN Viewer and
select the baseitems.2da file from the data/2da.bif file.
But dont do it. Bioware has made changes to the .2da files as
part of their patching process. Your best bet is to always get
2da files from \source\2dasource.zip. So, instead,
1. Copy the new baseitems.2da file from
\source\2dasource.zip to the directory with your
model and icons.
2. Open baseitems.2da using a text editor (Notepad
works fine although some people use Helios Software
Solutions' TextPad (http://www.textpad.com/). Turn
wrapping off so everything aligns nicely.
3. Go ahead and take a look at it. Scroll down until you get
to the shortspear entry. You should see this:
57 1551 towershield 2...
58 1552 shortspear 1...
59 1553 shuriken 1...

1. These different entries describe the many items in the
game. I dont show all of the columns here because
there are too many.
4. Copy the shortspear entry and paste it at the bottom.
5. Modify the entries as appropriate for your new weapon.
Column Description Values
ID An integer ID# identifying the
weapon internally.
I chose 2001. When choosing an ID
for a .2da file, make it much greater
than the highest id # in file so that if
Bioware adds a new resource later,
they do not overwrite yours.
Name A string reference to dialog.tlk My first thought is that this should be
**** (should tell the game engine to
Hint
In the last section I showed you can
add new weapon models to an existing
weapon (in that example, a spear) as
long as you provide both a 3D model
and a 2D image for it.
This is somewhat unique because
many other model types (for example,
see the section in this tutorial on NPC
portraits) require a resource declaration
as well (by modifying the .2da file as we
describe here).
You only need to create a new weapon
declaration if you are adding an entirely
new weapon type. If this is another
spear, another sword, etc., the existing
declarations will do you just fine and
you can satisfy yourself with just adding
a 3d model and 2D image.
Hint
When changing these entries, try not to
misalign the columns. Use spaces
where necessary to replace
unnecessary characters. For example,
when replacing the name shortspear
with trident, I actually replaced it with
trident<space><space><space>. This
may not be strictly necessary but better
safe than sorry. Spaces not tabs.
To test that you didnt break anything,
use the NWN Viewer to open your
modified .2da file and check that the
columns load properly.
Dont modify any of the other lines or
else those items may no longer work.
Thanks to Erzengel-des-lichtes and
Kinarr Greycloak for help on some of
the 2da entries.
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page 29 01/06/200J
Column Description Values
containing the name for your
weapon.
use the label for a name). However,
this does not work. Instead, I went for
a jog through dialog.tlk (it is a
big file) and found that some forward-
thinking individual at Bioware actually
included many of the unused weapon
names so I chose 67251 (Trident). If
you cant find the right name for your
weapon, re-use one of the other
weapon names. This will give it the
same name as that item in the Item
Wizard (more on this issue at the
end of this section).
Label The internal label for your weapon. I chose Trident. Use _ underscore
instead of spaces if necessary.
InvSlotWidth
InvSlotHeight
Inventory slot width and height. Make sure it matches the size of the
icon you created earlier (in our case
1 x 4 because our icon is 32 x 128).
EquipableSlots Identifies which slots you can equip
the item into. This is a hexadecimal
value. You must identify all of the
appropriate slots, add together the
values, and enter the corresponding
hex value into this column.
0x00000 Not equipable
0x00001 Helmet
0x00002 Armor
0x00004 Boots
0x00008 Gloves
0x00010 Expendable Weapon
(shuriken, etc.)
0x00020 Shield or other
offhand non-weapon
0x00030 Missile weapon
(bow, sling, etc.)
0x00040 Cloak
0x00180 Ring
0x00200 Amulet
0x00400 Belt
0x00800 Arrow
0x01000 Bullet
0x02000 Bolt
0x1C000 Creature Weapon
0x1C010 Two-handed Weapon
0x1C030 One-handed Weapon
0x20000 Creature Armor
CanRotateIcon Whether or not the icon in the
inventory can be rotated to fit if there
is not enough room otherwise (I
think).
0 if no
1 if yes
ModelType The type of model. 0 normal item
1 helmet
2 weapon
3 armor
ItemClass Name of the new model you have
created (without the _t_001
extension).
I used WPlTr to create a new class.
Refer to your naming standards for
the basics.
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page J0 01/06/200J
Column Description Values
GenderSpecific Are there gender specific versions of
this item? No for everything except
armor. I cant for the life of me
explain why arrows are gender
specific, the one exception to this
rule. Female characters get a
different kind of arrow? That just
seems politically incorrect.
0 if no
1 if yes
Part1EnvMap
Part2EnvMap
Part3EnvMap
Defines how the environment map is
applied to the alpha channel in the
model's textures.
There is one map for each of the
three weapon parts:
Part 1 bottom
Part 2 middle
Part 3 top
1 will apply the environment map,
giving you reflective surfaces. This is
used for metal surfaces.
0 will not apply the environment map.
This is for wood-like textures and is
typically used on the handle of a
mace, etc.
'****' not applicable. This is used for
items that do not have 3 pieces or
that do not have an actual model.
Default Model The default model for when the item
is laying on the ground.
Typically it_bag.
Default Icon Does not appear to be used for
anything
****
Container Is the item a container? 0 if no
1 if yes
This only true for one item, the large
box. This same item is also used to
create large bag items like the
magic bags of holding. Go figure.
WeaponWield Identifies the animations a character
uses to wield the item.
1 Non-wieldable/wearable
4 Two-handed items (e.g.
halberd)
5 Bows
6 Crossbows
7 Shields
8 Double-headed weapons
9 Creature weapons
10 Dart and sling
11 Shuriken and throwing axe
**** Standard weapons
WeaponType The type of weapon and type of
damage it does.
1 Piercing
2 Bludgeoning
3 Slashing
4 Slashing and Piercing
WeaponSize Size of the weapon. 1 Tiny
2 Small
3 Medium
4 Large
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page J1 01/06/200J
Column Description Values
RangedWeapon Index to the type of ammunition used
by a ranged weapon.
Note: it does not appear to be
possible, at least as of v1.29, to
create a new ranged weapon. It is
possible to replace an existing
ranged weapon with a new one.
This can point to either another item
(for items that are projectile weapons
- e.g., 20 for an arrow) or to the item
itself (for items that are thrown e.g.,
59 for a shuriken).
**** if this is not a ranged weapon.
PrefAttackDist The preferred distance for attacking
with this weapon.
Not sure how this is used. It could be
how far away the character stands in
combat or something.
MinRange The minimum number of weapon
models of this type.
The actual value to put in here is the
range you want x 10. It is hard to
check what this actually does
because it probably only allocates
space in an internal stack for weapon
models.
MaxRange The maximum allowed number of
weapon models of this type. Most
weapons have a limit of 10 models
(and 3 colors). The game will ignore
any models higher numbered than
this figure unless you change this
value.
For weapons, the actual value to put
in here is the range you want x 10.
So it is 100 for most weapons. If you
want 11 longswords instead of 10,
make it 110.
For other items this field is not
multiplied by 10. Go figure.
This field appears to have a limit of
255 (i.e., it is a one-byte integer) so
you cannot have more than 25
weapons of one type. Or 255 of other
items.
NumDice
DieToRole
Number of dice to roll of type E.g., for damage of 2d6 you would
put 2 in NumDice and 6 in DieToRole
CritThreat Chance out of 20 that you will get a
critical hit:
20 only 1
19-20 2
18-20 3, etc.
CritHitMult Damage multiplier if you get a critical
hit.
I chose 2 (if you look in the PHB, a
spear has a critical hit multiplier of 3
but a trident is only 2)
Category I havent quite figured this one out. It
appears to be related to the
Category definition in other tables
(like spells.2da) where it defines
what the item is used for. This is
used for the AI engine to allow NPCs
to properly use the item if equipped
with it.

BaseCost Basic cost in gold pieces for a non-
magical, standard item. For weapons
it maps back to the cost in the PHB.
As soon as you start adding magical
See ItemMultiplier for additional
information.
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page J2 01/06/200J
Column Description Values
properties to weapons, the cost goes
up accordingly. That is what the cost
line items in the item property
definition tables account for.
Stacking Number of identical items that can be
stacked together in your inventory
(this is why you get 99 arrows in a
bundle, 10 potions, etc.)

ItemMultiplier Multiplies the BaseCost to give the
actual item cost.
If you look at the BaseCost field for a
shortsword, for example, it is set to
10. The ItemMultiplier for shortsword
is set to 2. The in-game cost for
shortsword is 20.
Set the ItemMultiplier to 3, and the
shortsword costs 30 in-game. (tested
by Zimero)
Description String reference to dialog.tlk for
a description of this item.
Use 0 (this leaves the description
blank because there is no entry for a
trident description in dialog.tlk). In the
next section I will show you how to
use a blueprint to overcome this
problem in a different manner.
InvSoundType The sound made when clunking
items around in your inventory.
Refer to inventorysnds.2da for
detailed values.
MaxProps
MinProps
The maximum and minimum number
of spell properties that an item can
have. This can be seen in the item
properties page where scrolls,
wands, etc. can cast 1 spell and
most other items are able to hold up
to 8. Other properties are not
included in that max, only cast spells.
For some items, the min/max values
are 1/1, implying they must have one
property (like a scroll). For most
others it ranges from 0 to 8.
I don't know what would happen if
you tried to set something to have
more than 8 since there is only room
for that many around the radial menu
without have sub-menus.
PropColumn This column determines what
properties can be assigned to a
given item.
Refer to itemprops.2da. However,
this is not an index to the row in that
table, it is an index to the column. For
example, melee weapons at column
0 can have almost any property
assigned to them, but torches at
column 20 can only have light.
StorePanel The panel of the merchant inventory
that this item shows up in.
0 Armor and clothing
1 Weapon
2 Potions and Scrolls
3 Wands and Magic items
4 - Miscellaneous
ReqFeat0 to
ReqFeat4
The feats required to use this
weapon.
44 Exotic
45 Martial
46 Simple
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page JJ 01/06/200J
Column Description Values
48 Druid
49 Monk
50 Rogue
51 Wizard
AC_Enchant The type of AC bonus this item
provides.
0 Dodge
1 Natural
2 Armor
3 Shield
4 Deflection
BaseAC The standard or base AC bonus that
this item imparts.
AC1 (e.g., Small Shield)
AC2 (e.g., Large Shield)
AC3 (e.g., Tower Shield)
ArmorCheckPen The penalty to your skills that
equipping this item makes (refer to
skills.2da; skills affected are those
with a 1 in the column
ArmorCheckPenalty).
This is actually the penalty on a d20
roll. E.g., a 1 is a 5% penalty. 2 is a
10%, 10 is a 50%, etc.
BaseItemStatRef String reference to dialog.tlk for
a description of the statistics of this
item (e.g., required feats, critical hits,
etc.) in text form. This goes below
the weapon in the inventory when
you identify the item.
I use 59 (this leaves the description
blank because there is no entry for a
tridents statistics in dialog.tlk). If we
left in the description for a spear we
would be close (but no cigar). In the
next section I will show you how to
use a blueprint to overcome this
problem in a different manner. You
could also try 0 like we did for the
Description field but this causes a
problem in-game because the engine
interprets 0 in this field as an
erroneous reference.
ChargesStarting Starting # of charges 0 for most items. 50 for wands, etc.
RotateOnGround An indicator that tells you how to
rotate the model so it lays flat on the
ground (e.g., you dont want a sword
standing on its edge when you lay it
down).
0 Do not rotate (this is used for most
items without models)
1 Rotate 90 deg. about y axis (this is
used for most weapons)
2 Rotate 90 deg. about x axis (this is
used for crossbows and potions)
WeaponMatType Type of material the weapon is made
out of used to define the sound the
weapon makes against different
types of armor.
Refer to weaponsounds.2da for
detailed listings of the different items.
AmmunitionType Type of ammunition the weapon
uses.
I think this should map to
ammunitiontypes.2da but
everything seems offset by +1.
1 arrow (0 in ammunitiontypes.2da)
2 bolt (1)
3 bullet (2)
4 dart (3)
5 shuriken (4)
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page J4 01/06/200J
Column Description Values
6 throwing axe (5)
QBBehaviour No idea.
ArcaneSpellFailure Increased chance this item will cause
a spell failure.
Only values are used for shields.
TenthLBS Weight of the item in tenths of
pounds (take the weight from the
PHB and multiple by 10).
There is a bug with this field: 255 is
the maximum value for this field (a
weight of 25.5 lbs). Anything over
that becomes mod 255 (i.e., resets
back to 0 at 256 and goes up again).
It appears that this is only a one byte
integer value whose max value is FF
hex = 255 decimal.
An alternate solution, if you really
must have a heavier item, is to add
the Base Item Weight Increase
property in the toolset (depending on
the item you may have to open this
option up by adding the flag in
itemprops.2da).
%AnimSlashL
%AnimSlashR
%AnimSlashS
% of the time that your character will
use this animation type when
wielding this weapon.
Left, Right or Straight. For a piercing
weapon, set L and R to zero. For a
slashing or bludgeoning weapon, set
S to zero. For a slashing/piercing
weapon use a combination.
StorePanelSort Not sure. Looks like sorting order for
the merchant panels.

ILRStackSize No idea. It looks like a repeat of the
Stacking column. ILR typically refers
to Item Level Restriction but I dont
know how this applies here.


6. Back through the same routine. Save the .2da file, load it into your hakpak.
7. Rename the WPlSs_t_051 model to WPlTr_t_011 (WPlTr, remember, is the new ID for our
trident) and change all the internal references.
8. Wait, where are the rest of the WPlTr_x_nnz models and icons? Good point. We only have a
model for the tridents head. That worked fine when we are attaching the trident head onto a
spears body but now we are creating a new weapon and it needs all three components. Now,
remember that the spear shaft and end worked fine for us? Copy the WPlSs_m_011 and
WPlSs_b_011 files to make trident files as well (named WPlTr_m_011 and WPlTr_b_011
respectively) and change those internal references as well. Now it is starting to look better.
9. Do the same for your icon files.
10. Load all of these into your hakpak. You should have, at a minimum, the following:
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page J5 01/06/200J

F|gure 13 - Load|rg your Weapor rode|s |rlo a ra|pa|

11. Load up your module in the Aurora Toolset.
12. Now you can create a new trident using the Item Wizard.
13. If you follow these steps exactly, you dont get a lot of options for spear components to choose
from. Duplicate some of the color versions as well (_012, _013, etc.) and/or the other shaft
and end models so that you have a nice selection of components. You can make multiple
copies of the trident head as well, with different colors or shapes, if you desire.
For some weapons you wont find an entry in dialog.tlk. Chose another appropriate
name (I used Custom #1 for some items). This is annoying in the Aurora Toolset because
you need to remember that Custom #1 in the Item Wizard is your new weapon. But there
is a workaround for this that avoids the problem in game. In the next section we will talk
about creating a Weapon Blueprint. Once you have a blueprint, you will not need to
remember that Custom #1 is actually your new weapon because you can create new
items directly from the blueprint.


In the early days of content creation, people felt compelled to update the dialog.tlk file to
provide names for new objects (otherwise their item names had to re-use existing names so
you could not have a trident because there is no entry for Trident in dialog.tlk). As part of
their resolution to this problem, Biowares latest fixes are starting to allow you to use **** in the
.2da files for the dialog.tlk name references. When it sees ****, the game engine will use
your custom label or another field instead of looking for the text in dialog.tlk. This now works
for some objects. Unfortunately, they havent come through for the baseitems.2da file. Maybe
Bioware will get this fixed soon so stay tuned. Regardless, DONT USE dialog.tlk.

Hint
.2da files load in sequence. If you add
new entries to a .2da file, add them
after the last entry you used. If you add
them before, it will mess with the
internal references to items in your
modules.
The same applies if you need to delete
a reference. So, instead of physically
deleting a reference, simply set
everything after the ID to 0s and ****s.
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page J6 01/06/200J

Part 7: The Weapon 8lueprInt
The last thing you need to understand is how to create a
custom blueprint. A blue print goes into a specific
module. Take the spear we created earlier. Change its
name and tag on the General tab to Wave if you did not
already do so. Under the Properties tab, give Wave a +3
bonus, and whatever other characteristics you think are
appropriate. In this case, I will allow Wave to cast the
spell Elemental Shield to simulate the Cube of Force
effect it should have (maybe at some point I will
incorporate the cube of force script Solias wrote). I will
grant On Hit, Wounding as a special property to
simulate the dehydration property.


F|gure 11 - Your Weapor properl|es as a o|uepr|rl
Add a description to be used when the item has not been
identified and another when it has. Now save Wave by
exporting it as an .erf file (Exported Resource File). It can
now be packaged together with your hakpak and
distributed to others to use (do not load it into your hakpak
a .erf file is imported into the NWN Toolset separately
using File | Import)
By setting the item description you will find another way to
overcome that nasty dialog.tlk problem I mentioned earlier.
When you create a blueprint like this, you can override the
item name and the default descriptions with appropriate
Hint
The toolset does not have a
customizable On Hit event for
weapons. Without that ability, it will be
difficult to implement some of Waves
features. All is not lost though. Sekhmet
has come up with an elegant hak that
provides OnHit events for weapons.
You can find it on NWVault by
searching for OnHit in the Haks section.
I may add information on it to a later
version of this tutorial.
Hint
Be careful with blueprints. As long as
people use your hakpak intact, .erf files
are a great way to create blueprints
easily using your weapons. However, if
you mix and match 2da files, dont
import old .erf files into your modules
and expect them to work. The internal
references get mixed up.
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page J7 01/06/200J
fields for your weapon. This way, as long as module builders load in your .erf file, they wont have
to worry about what dialog.tlk thinks your file should be called because they can build right off the
blueprint instead.
You cannot override the BaseItemStatRef this way but you can do something just as good.
Remember where we put 59 in the BaseItemStatRef of baseitems.2da? This blanks out the item
statistics description a good first step. But now we are missing the stats. How do we get them
in? Put them at the end of the regular Description in the blueprint at the very end. This works in
the game engine because it always displays the item description followed by its statistics. Now
the inventory will look just like it does for any other weapon: a description, then the statistics, and
then any special items or properties. Youve tricked the game engine into looking the same as it
does if you had a real BaseItemStatRef entry.
Part 8: SpecIal Touches
When we created the resource declaration for our model, we separated our trident forevermore
from thinking it was some sort of poor third cousin of a spear. Unfortunately, it loses something in
the translation. We need to add back in some of the special
effects that a spear enjoys but are missing from our trident.
Pictured below is the Frost effect:


F|gure 15 - Frosl ellecl
There are seven magic effects that you need to account for:
_fxacid Acid
_fxelect Electric
_fxfire Fire
_fxfrost Frost
_fxholy Holy
_fxneg Negative
_fxsonic Sonic

Note
Biowares DDS Compression Tool
will not uncompress a DDS file into a
bitmap. It is one way only (.tga to .dds).
To uncompress a bitmap, use
DDSTools and then discard all but the
highest resolution bitmap.
DDSTools flips your image vertically
when creating the DDS from the bitmap
(which will usually mess up how it maps
to your model although you may not
notice it if it is a random pattern). Use
Biowares DDS Compression Tool
instead (which does not flip) or
manually flip your bitmap first. Also,
DDSTools will not work with 32-bit .tga
files (i.e., files with an alpha channel)
although Biowares will.
There. I will bet you were wondering
why I included both in the
recommended toolset. Now you know
Biowares tool is better but is only one-
way.
DDS is a lossy compression algorithm
but does a good job in most cases and
the file sizes are much smaller and they
run faster.
If you absolutely must have one texture
extremely high resolution, put just the
.tga in your hakpak for that file.
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page J8 01/06/200J
Each of these is a special emitter, generally placed somewhere along the blade of the weapon.
To recreate these, the simplest approach is to load in an existing model of this type and then
move the emitter to the appropriate spot for your models (remember, the positions of the different
components of the weapon models should be the same for a given weapon). For our trident, we
will just copy the spear effects models. We can even leave the emitters in the same place
because the tines of the spear are roughly in the same place as the head of the spear. If we
wanted, we could duplicate the emitters, one for each tine, but I dont think this adds anything to
the effect so I chose not to do this.
To test out the effect, create a weapon in the Aurora Toolset. Select the Properties tab and give
it a Damage Bonus, frost. Press Edit Property and then change the damage bonus to 5 (you
need to choose a damage value > 1 otherwise the toolset does not apply the effect). When you
close that pop-up, you will see the special effect from the emitter. If it is not in the right place you
may need to move the position of the emitter in the standard model. There is also a motion blur
model (_mb). This shows the standard arc of the weapon when being wielded in the game. Again,
because the spear is so similar to the trident we have built, I will not adjust the motion blur model.
We will just copy the spear model and rename it.
Textures
Let me start with a word about textures. If you include
no textures your model will take on a uniform chromed
finish. Textures are bitmaps (Targa bitmaps, 24-bit or
32-bit, RGB Color, uncompressed) used to introduce
things like the special gold and wood-grained models in
the game. The default weapon texture that almost all of
the Bioware weapon models use is w_metal_tex.tga
(it can be found in the data\templates.bif file using NWN viewer). This file is a matrix of
squares with different textures on it. If you use this texture you can get a good selection of metals
(plain, gold and bronze) plus wood, a few colors for
gems, etc. You do not need to include this file in your
hakpak it is already available in the game.
If you are going to include a custom texture, include a
high resolution one (512 x 512 or at least 256 x 256)
and pick up Biowares DDS Compression Tool or
DDSTools to run against your .tga file. Include both the
.dds and a lower resolution version of your .tga file into
your hakpak (say, 64 x 64). Higher-performance
graphics cards will use the dds for high detailing. Older
machines will use the .tga file with slower graphics
cards. If you leave out the .tga file, machines with lower
end graphic cards will see your models in plain white.
Not pretty.
While you are at it, you may want to turn your 2D icon
files into DDS files as well. Im not sure what this does,
exactly, but you will find DDS files for all of the icons in
the \texturepacks\GUI_32bit.erf directory, so it probably
makes sense to have them. My experience so far has been that the game works fine without
them but that may not be true for some hardware.
Normals
Faces (3d model faces, not your characters face) in NWN are two-dimensional. If viewed from
the backside (or inside), they have no existence and do not render. A normal is a unit vector that
is used to define which way a face is pointing. The direction in which the normal points indicates
Untested Note (from Revinor)
Try doubling the size of your .tga file
before compressing it to avoid
pixelization. You will convert every pixel
to 2x2 pixels (smooth it if you like);
THEN convert it to DDS - quality should
be better (and file size of course will be
bigger).
DDS compression works on 4x4 blocks
of pixels. If you have more than 2
distinct colors in the same 4x4 block,
you will have some pixelization (every
4x4 block is defined by 2 colors plus
transitions between them). For most
textures, it is really acceptable - you
can show smooth transitions (4 levels
of transition for 4 pixel space - ideal)
and you can show hard edges.
Notes
If it is going to have transparency your
texture will need an alpha channel and
should be saved as a 32-bit tga. There
are some more rules to follow when it
comes to textures: no bump-mapping,
no procedural textures, nothing but
your basic image channel and opacity
map (the alpha channel).
NeverwInter NIghts Custom Content CuIde vJ.0 Weapons

ElIgIo Sacateca Page J9 01/06/200J
the front of the face (more specifically, the normal points out from the front of the face). This is the
side of the surface that is normally displayed with its texture in the game.
This is important because you will sometimes find your polys dont render properly (some are
see-through, for example). You must manually flip or unify face normals to fix these types of
errors (they are typically caused by activities like mirroring objects). To do this, enable Face,
Polygon or Element sub-object mode on your editable mesh, and then use the buttons on the
Surface Properties rollout to change the directions in which normals point. Flip Normals will
reverse the direction of a normal vector. Unify Normals makes all of the selected normals point in
a consistent direction (if an object has normals that are inconsistent - some point outward and
others inward - it will appear to have holes in its surface).
Sometimes objects will look fine in the modeling tool but will not display correctly in the game or
the Aurora toolset. If this happens it may be necessary to ResetXforms and flip normals to fix this
issue (refer to part 3 of this Weapons tutorial for detail on ResetXforms).
SmoothIng Croups
Smoothing groups define whether a surface is rendered with sharp edges or smooth surfaces.
You create smoothing groups by assigning group numbers to the faces of an object. If two faces
share an edge and share the same smoothing group, they render as a smooth surface. If they
dont share the same smoothing group, the edge between them renders as a corner.
Smoothing does not affect geometry. It affects only the way geometry is colored when rendered;
it blends colors at the edges between faces to produce the appearance of a smooth curved
surface. You can control how smoothing is applied to a surface so your objects can have both
smooth surfaces and sharp faceted edges where you wish.
When Waylands and Scooterpbs scripts import NWN models, they automatically assign all faces
to the same smoothing group. To improve the way that they render in NWN, you should review
these objects and reassign smoothing groups as necessary to get the right mix of corners and
smoothed transitions.
Part 9: |odels that bend
When I started to make a Nunchaku model, I was faced with an interesting problem: Nunchaks
bend in the middle. How do we make this work? The answer lies in looking at the Morning Star,
Heavy Flail and Light Flail models. They use a special technique that we can emulate.
Take a look at the heavy flail model. Like other weapons, the flail is made up of several parts. The
bottom two parts are what you would expect: g_WBlFh_b_011 and g_WBlFh_m_011. But the top
is actually four different parts: g_WBlFh_t_011a, g_WBlFh_t_011b, g_WBlFh_t_011c, and
g_WBlFh_t_011d. The first three parts are links in a chain. The last is the flail head itself. At the
point where the chain links to the head there is an Fx_Node. The bottom two models work as you
would expect. The game engine has been built to treat the top four differently. It will string these
models together into a flexible chain, ending at the Fx_Node. This is what gives the Flail its
unusual behavior in melee.
To create my Nunchaku I built a similar model with the lower parts named according to what you
would expect (g_WBlNn_b_011 and g_WBlNn_m_011). For the upper parts I had to keep the
same names as the heavy flail (the g_WBlFh names) although I used Nn again on the Aurora
base item. I was even able to put two more links in the chain so that it looked more realistic. The
key is that the Aurora base links to the a model, the a model links to the b model, the b model
to the c model, etc. The final node in the top piece links to the Fx_Node. You could probably use
this approach to create a hooked chain, Manriki-Gusari or other flexible weapon (this is left as an
exercise to the reader).

NeverwInter NIghts Custom Content CuIde vJ.0 PortraIts

ElIgIo Sacateca Page 40 01/06/200J
Character PortraIts
This section covers the subject of portrait conversion and how
you add portraits for a Player Character (PC) and a Non-
Player Character (NPC) into NWN. Some of this material (at
least the basics on PC Portraits) can be found on Biowares
site (http://nwn.bioware.com/builders/portraits.html).
Part 1: UnderstandIng How NWN
Fepresents PortraIts
Start with the best resolution portrait you have. You will need
to make several versions of this image in different sizes. An image retains much better detail
when scaling down than you can get when trying to enlarge an image.
You are going to have to make some changes to your base image to make sure that it meets the
standards for NWN. It will have to be converted to an uncompressed, 24-bit, Targa Bitmap
(TGA) file if it is not already in that format. Also, you will need images of the correct sizes.
There are a total of 5 different portrait sizes.


Size


Suffix
Required Image
Dimensions
(width x height)
Used Image
Dimensions
(width x height)


Displayed on...
Huge _h 256X512 pixel 256X400 pixel During character creation on the
selection screen
Large _l 128X256 pixel 128X200 pixel Character sheet
Medium _m 64X128 pixel 64X100 pixel Your portrait on the main screen
Small _s 32X64 pixel 32X50 pixel Other party members on main
game screen
Tiny _t 16X32 pixel 16X25 pixel Pop-up dialogue screen

Note the difference between Required Image Dimensions
and Used Image Dimensions. The game requires that the
image file have certain exact dimensions. However, it doesnt
actually use all of that pixel space. The unused space needs
to be at the bottom of the image.
Part 2: CreatIng Your PortraIt FIles
Even though the game will only use 256X400 pixels instead
of the full 256X512 (it simply ignores the remaining 112 height
pixels), it is still important that you adhere to these 5 portrait
sizes. It is important to know that the game uses 256X400
pixels when you are cropping a portrait or picture.
I will use Micrografx Picture Publisher to resize my portrait.
There are lots of freeware and shareware image manipulation
programs available (see the listing at the beginning of this
document).
Here is the starting image (actually, this is a jpeg compressed
image to conserve space in this tutorial Ill do that with all
Notes
I have started with the introductory text
from version 1.0 of The Neverwinter
Nights NPC Portraits Tutorial by
Conjumen and clarified, updated, and
added relevant screenshots and detail
that I felt were lacking.
Any omissions or errors are mine and
not Conjumens.
Hints
If you choose to scan in your image,
please learn how to use your image
programs tone balancing features to
brighten the colors I have seen too
many dull, lifeless scans that could
have been easily fixed with a little
attention.
Also, after scanning, use a sharpening
filter or mask to tighten the images up
before you save them. Dont do this on
the original image, do it on each of the
resized images before saving (sharpen
works best as the last step because
image resizing will often re-blur edges).
What to do with that blank space at the
bottom? If it is original art, you can sign
and date it there. It wont show up in-
game but it will always be there for
future vanity sessions.
NeverwInter NIghts Custom Content CuIde vJ.0 PortraIts

ElIgIo Sacateca Page 41 01/06/200J
the photos I show here).

F|gure 1 - Tre or|g|ra| scarred |rage, c|eared ard lore oa|arced

Now, this image is too large (it is 400X492) for any of the portraits. We are going to resize it. It is
also not in the right aspect ratio (400X492 is not proportional to 256X400, for example). We
cannot fix this by resizing. We must crop as well. If we simply resize the picture to 256X400 in
one step, it will be distorted. Not pretty. Peoples faces get stretched or compressed and the
resulting portrait looks very awkward.
We start by resizing and then cropping again (to get the dimensions right). We will do this once
for each image size, starting with the largest. There are many ways to do this you wont use the
entire image and you can be creative about which pieces you keep. How much do I resize by? I
want to keep as much of the face in this photo as possible because it is already cropped so
tightly. So I will resize the image to get the height to 400 pixels for the huge image (not 512
pixels that is the final file size) while keeping the aspect ratio constant so there are no size
distortions. In Micrografx Picture Publisher I use Image | Size to do this and make sure that
Allow Size Distortion is not checked.
Why did I choose the height and not resize to get the width to 256 pixels first? If I resized to the
width first with no size distortions, my picture would only be 315 pixels high. This would be too
short for NWN. However, depending on the original dimensions of your portrait, you may need to
do the width first.
After I resized the height, I crop the width down to 256 pixels, giving me an even tighter crop on
the face. Now I add the extra 112 pixels to the bottom of the file. It does not matter what color this
extra data is. In Micrografx Picture Publisher I use Image | Expand to do this. I did not use Image
| Size like I did before because that will stretch the whole image.

Big Warning!
If custom portraits aren't saved in the
correct uncompressed tga format, the
game will crash when you try to save it
(this also occurs when the game auto-
saves for example, at the end of a
level).
If you are using custom portraits and
have this problem, it is because some
applications indicate that the tga is
being saved as uncompressed, but the
format isn't quite right (e.g. InfraView
indicates tga files are uncompressed
but goes ahead and compresses them).
Try either removing the custom
portraits to be able to save/load again,
or try saving the portraits again in
another application as an
uncompressed, 24-bit, Targa Bitmap
(TGA).
NeverwInter NIghts Custom Content CuIde vJ.0 PortraIts

ElIgIo Sacateca Page 42 01/06/200J

F|gure 1Z - Tre reW |rage - res|zed, cropped ard exparded
Save the file with the _h.tga suffix. And then do it again for each of the different sizes (if you
want to use these as NPC portraits, you might want to read the next section about more detailed
naming standards first, to save yourself trouble going back and doing it later).
Be creative. The smaller images do not need to show the entire portrait. You might choose to
crop differently as you move to the smaller image sizes, having a fuller figure portrait or head-
and-chest shot for the larger sizes but cropping down to a tight image of the face for the smaller
pictures. I would do this so you retain some detail in the smaller photos instead of cutting them
down to nothing more than an unrecognizable, tiny stick figure. I dont show that technique here
because my image is such a close crop on the face already.
Part J: UsIng Your PortraIt for a PC
Now that you have created your portraits, if you want to use them for a PC, just drop them into
your /portraits subfolder of your NWN game directory. Note: for other people in a multiplayer
game to see your character as you see it, they will also need a copy of your portrait files. Zip
them up and mail them off to the other players. I would suggest using at least some of the naming
standards that are applicable for an NPC below.
Hint
If you use GIMP, check out
http://NWNBuilders.com/. SamJones
has created a script that automatically
takes a portrait file and produces the
five file sizes you need for portraits.
NeverwInter NIghts Custom Content CuIde vJ.0 PortraIts

ElIgIo Sacateca Page 4J 01/06/200J
Part 4: UsIng Your PortraIt for a NPC
It is a little more complicated to use the new portraits for an NPC. You need to set them up as
resources available to your game. To do that, you need to follow certain naming standards. You
must declare your portraits as available resources to the game. You do that in a 2da file just like
we did for our trident in the previous tutorial. Then it is time to go back to the hakpak editor to
bring all of the pieces together.
A Fose by Any Dther Name
would not work for NPC Portraits either.
You need to change your portrait filenames to meet the NWN
standard. This is necessary because there are strict
requirements in the portraits.2da file for NPC portraits.
If you extract a portrait from one of the data files in your NWN
folder, you will see the NWN naming system. You should take
advantage of this system, although some variation is allowed.
The following is a description of this system.
The default or generic human male portrait in NWN is named
po_hu_m_99_X.tga. The components stand for:
po_ Portrait
hu_ Human
m_ male (_f for female)
99_ Id number
X Image size identifier
(h, l, m, s, or t)

You must keep at least two of these abbreviations: namely po_ and X. Say you have a portrait
called halfelf.tga and it was divided into the 5 different Bioware standard portrait sizes in the
previous step:
1. Halfelfmale_h.tga
2. Halfelfmale_l.tga
3. Halfelfmale_m.tga
4. Halfelfmale_s.tga, and
5. Halfelfmale_t.tga.

They could be named like this:
1. po_ha_m_37_h.tga
2. po_ha_m_37_l.tga
3. po_ha_m_37_m.tga
4. po_ha_m_37_s.tga
5. po_ha_m_37_t.tga

Hints
It is a good idea to keep the portrait
name under 10 characters.
Some add a portrait title in the file
name of their portrait like so:
po_hu_m_TITLE_X.tga. You can use
this naming system too, though it is
recommended that you keep the
characters to a maximum of 10.
Never add portraits to the /override
folder, in fact never add anything to
your /override folder.
You must keep the po_ and the _X
(where X is the size of the portrait)
extensions, when naming your portrait
file(s). Otherwise your portrait will not
work in NWN.
Hints
It is very important that the filenames
are absolutely correct. Also, the names
are CASE SENSITIVE. To make things
a lot easier, make portraits with no
capital letters.
JemyM
NeverwInter NIghts Custom Content CuIde vJ.0 PortraIts

ElIgIo Sacateca Page 44 01/06/200J
The PortraIts Fesource FIle
The resource file is where we indicate to NWN that our new portraits exist. Like we discussed in
the weapon tutorial, I would suggest you open up Zoligatos NWN Viewer and select the
2da.bif file - but dont do it. Use the portraits.2da file in your \source\2dasource.zip
(remember that note earlier about Bioware patches?). Go ahead and take a look at it. You should
see this:
2DA V2.0
BaseResRef Sex Race InanimateType Plot LowGore
0 **** 4 **** **** **** ****
1 dw_f_01_ 1 0 **** 0 ****
2 dw_f_02_ 1 0 **** 0 ****
3 dw_f_03_ 1 0 **** 0 ****
4 dw_f_04_ 1 0 **** 0 ****

These different entries are the resources available to the game as portraits. Every resource has
several columns attached to it. Check below to find out what the different columns represent:

Column Description Values
An integer ID# identifying the portrait
internally.
When choosing an ID for a .2da file,
use one of the User999 rows.
BaseResRef Refers to the base resource for the
model that this portrait represents.
Refer to Appearance.2da. They
are used in the Aurora Toolset filter
when adding a portrait file to an NPC.
Sex Gender, actually. The number comes from the first
column in the 2da file gender.2da
from the 2da.bif file (you can view
the contents of this file using the
NWN Viewer as well).
0 Male
1 Female
2 Both
3 Other
4 None
Race This number is used for the toolset
filter when selecting a portrait for
your NPC.
The number comes from the first
column in the 2da file
racialtypes.2da from the 2da.bif
file (you can view the contents of this
file using the NWN Viewer).
0 Dwarf
1 Elf
2 Gnome
3 Halfling
4 Half-Elf
5 Half-Orc
6 Human
Etc.
**** if it is a placeable and not a
creature
NeverwInter NIghts Custom Content CuIde vJ.0 PortraIts

ElIgIo Sacateca Page 45 01/06/200J
Column Description Values
InanimateType The type of placeable. Refers to placeabletypes.2da
0 Battlefield
1 Containers
2 Military
3 Misc
4 Misc_Interior
5 Parks_Nature
6 Penants_Signs
7 Trades_Academic
8 Visual_Effects
**** if it is a creature and not a
placeable
Plot Is this a plot portrait? Generally no. 0 if no
1 if yes
**** if it is really a placeable
anyway
(1 equates to TRUE if you know C or
C++)
LowGore The portrait to use in place of this
one if the game is set to low gore
mode. If you create a really messy
portrait, find or create a substitute,
low gore, portrait here.
Portrait name (generally **** for
creatures).

Your FIrst NPC Fesource
Begin editing the portraits.2da and adding a new
resource, so your portrait can be recognized by the game.
I have created an elven female portrait with the file names
po_el_f_50_X.tga, where X represents the size of the
portrait.
Add the last line you see below, under the resource ID 571
(the first User999 space)
570 kobb_ 4 15 **** 0 ****
571 koba_ 4 15 **** 0 ****
572 el_f_50_ 1 1 **** 0 ****

As you can see Ive omitted the po_ and the X (where X is
the size of the portrait) in the resource entry. This is why,
earlier, we told you that you had to start and end your
portraits with that prefix and suffix. Also the extension .tga is
not necessary either. The game already knows that the prefix
it should use is po_, the suffix is h, l, m, s or t, and the
extension required for all portraits is .tga.
So to conclude, you do not need to add po_ and _X (where X
is the size of the portrait) to the resource entry.
Hints
The reason that the number is 572 in
the PL entry is because in v1.26 or so,
Bioware added some reserved spots
for user portrait updates. Use them.
Hints
It is a good idea to copy a line similar to
the one you want to add and use it as a
starting point. As an example if you
want to add a new female elf, the
resource ID you would copy would be
entry number 30.
The reason for the extension _50_ in
the example above is that the last elven
female portrait number (that you can
use) is 14, so a new portrait would have
to start at > 14. I chose 50 for the same
reason we use 2001 in the 2da file.
NeverwInter NIghts Custom Content CuIde vJ.0 PortraIts

ElIgIo Sacateca Page 46 01/06/200J
Your New PortraIt(s) and The Toolset
Now that you have created your portrait TGA files in the standard formats and edited the
portraits.2da file, it is time to add them to a hakpak. Refer to the appendix for detailed instructions
on using the hakpak editor.
Open the hakpak utility. Now that it is opened, choose Resource | Add. Now you add your
modified portraits.2da file and your new portraits (with all its 5 sizes) to the hakpak. All the files
should now be displayed in the hakpak window. If youve only added one portrait, there should be
a total of 6 files in the hakpak now.
Add a title to your hakpak, and a description of the contents. Save the hakpak.

F|gure 18 - Add|rg lre l||es lo a ra|pa|

1. Open up the Aurora Toolset. If it was still open from
before, save and close the module and toolset then re-
open the toolset.
2. Create a new module or open an existing one.
3. Select Edit | Module Properties
4. Click on the Advanced tab.
Hint
Sometimes the Aurora toolset gets
confused about hakpaks. The best way
to load or reload a hakpak is to close
and re-open your module.
To add a new hakpak to a module,
save and reload your module after
adding the hakpak.
If you have modified a hakpak and want
to use the modifications, save and
reload your module again.
Sometimes you need to close the
Aurora toolset entirely and restart it.
NeverwInter NIghts Custom Content CuIde vJ.0 PortraIts

ElIgIo Sacateca Page 47 01/06/200J
5. From the drop-down for the Hak file, add your hakpak. If it does not appear in the drop-down,
your hakpak is probably not in the /hak folder of your game directory.
6. Save and close the module and then reload it.
7. Select the Area you created.
8. Create a new NPC using the Creature Wizard.
9. Select Next.
10. Select Elf and Next.
11. Select a Class and Next.
12. Select Female, and then press the Select Portrait button.

F|gure 19 - us|rg your porlra|l lor ar NPC

Done.
NeverwInter NIghts Custom Content CuIde vJ.0 7oIcesets

ElIgIo Sacateca Page 48 01/06/200J
Custom 7oIcesets
This tutorial covers creating a custom voiceset for NWN. A
voiceset is a package of standard voices that can be emitted
by PCs, NPCs, henchmen, and monsters. All of the different
voiceset types are similar but the number of expressions is
different for each. You will see these referred to in some
places as soundsets. The meaning is generally the same in
fact, Bioware seems to use the terms interchangeably. I will
use voiceset because it more clearly represents what these
are.
Before you delve too deeply into this, you may want to think
first about where you will get your voices. I can suggest two
sources:
I have seen some people load the soundtrack for a
movie/show onto their PC. Then use an audio mixing
program to select and edit out brief snippets from one of
the main characters.
Alternately, and more creatively, record your own. Does
your voice sound too thin and reedy in a straight
recording? If you have a good soundcard with editing
tools, you would be surprised at the types of filters that
are available for voices these days (male to female, low
to high, echo, etc.) that can take you and turn you into
somebody else. If you are going this route, pre-script all
of the phrases you want (they dont have to be the same
words as the ones in the official module as long as they
convey the same meaning).
Part 1: UnderstandIng How NWN Fepresents 7oIces
Lets look at how NWN uses current voicesets in the Aurora Toolset. Try this exercise:
1. Open up the Aurora Toolset.
2. Create a new Module (we will call it Voice Tutorial for lack of a better name). Use the
Area Wizard to create at least one Area. Use the defaults to set up the area and choose
something simple like a Castle Interior.
3. Select Wizards | Creature Wizard.
4. For Monster Type select a half-Elf (we will talk about the standard weapon types later in
this section).
5. Click Next.
6. Enter a class or two.
7. Click Next.
Notes
I have started with the introductory text
from Custom Soundsets by
Ddraigcymraeg and clarified, updated,
and added relevant screenshots and
detail that I felt were lacking.
Voicesets are specific to voices. NWN
includes other sound types (ambient
and environment sounds) as well. You
dont need to package these other
sounds into a voiceset to use them.
If you simply want to trigger a unique
sound for one of your characters from a
script, you do not need a soundset (see
the section on placeable sounds). Just
add the .wav file to your module and
trigger it from a script.
The original tutorial expressed some
confusion over whether or not to use
hakpaks for sounds I have tried to
clean up this confusion as best I can (in
short, use them).
Any omissions or errors are mine and
not Ddraigcymraegs.
NeverwInter NIghts Custom Content CuIde vJ.0 7oIcesets

ElIgIo Sacateca Page 49 01/06/200J
8. Verify that this is a male, half-elf. Select a portrait.
9. Click Next.
10. Choose a faction.
11. Click Next.
12. Choose a name.
13. Click Next.
14. Assign to the NPCs, Half-Elves category.
15. Click Next. Click Next.
16. Check the Launch Item Properties checkbox.
17. Click Finish.
18. Select the Advanced tab.

F|gure 20 - Cuslor|z|rg ar NPC
19. Now you can select a Sound Set (lower right side). Press
20. Use the filter to choose an NPC, male voiceset.
NeverwInter NIghts Custom Content CuIde vJ.0 7oIcesets

ElIgIo Sacateca Page 50 01/06/200J

F|gure 21 - 3e|ecl|rg a vo|cesel
What does this do, exactly? By assigning a voiceset to this NPC, the game engine will
automatically emit appropriate sounds from this set based on triggers within the game (for
example, the NPC will make one of several noises when attacking). I dont need to program this
individually for each NPC the game engine already knows which sounds to play when.
You can use also use wav files to play sounds during a characters dialog. This is an example of
using a wav file that does not have to be part of a voiceset. To do this, create a new conversation.
Add a line of text. Select the line of text. Find the Other Actions tab at the bottom right hand
corner of the conversation editor.
Type in the name of the wav file you created or page down on the list and select it. Now, when
that dialog is triggered, the sound file will accompany the text in the game.


F|gure 22 - Tr|gger|rg vo|ce l||es |r d|a|ogues

NeverwInter NIghts Custom Content CuIde vJ.0 7oIcesets

ElIgIo Sacateca Page 51 01/06/200J
Sound FIles (wav)
What you should see from all of this is that there are different levels of granularity in the way
NWN represents voices. The basic sound file has a .wav extension.
Where can I find the official sound files from Bioware? Through NWN Viewer, of course.
1. Open the NWN Viewer.
2. Select data/voicesets.bif (you can also find some in
data/sounds.bif and in data/convo.bif).
3. Scroll down and select VS_nAribetF_atk1.wav. Press
the Play button to listen to the sound Aribeth makes when
attacking. This is actually a proprietary mp3 sound file but
PCM wav files work as well.
7oIcesets (.ssf or .utw)
At the next level up is a voiceset file that defines what sound
files make up a complete group. This file includes a header and
a series of standard sounds (0 through 48). For each standard
sound there is a sound file name and corresponding string
reference (STRREF) values (pointing to dialog.tlk).
1. Open the NWN Viewer.
2. Select data/sounds.bif (you can also find some in
data/sounds.bif).
3. Scroll down and select VS_nAribetF. I dont know about
you but my copy of NWN Viewer coughs at this point. Not
good. Play around with it, you can probably extract an SSF
file and look at it outside of NWN Viewer (try turning auto-
preview off).
4. If that didnt work, open up an SSF directly. Use File | SSF
| Open instead (good luck finding one; they have been
moved to patch.bif now). Open one of them up to see
what it looks like:

F|gure 23 - Ar 33F F||e lor a 8rass 0ragor
Note that the last column, TLKREF, does not appear directly in the voiceset file. Instead, there is
a String Reference number (STRREF) number. NWN takes this STRREF in the voiceset file and
Notes
I have seen different claims as to what
format works for a sound file and what
doesnt. I did a quick test on my own
using the sound recorder in Windows.
8KHz, 8bit mono PCM wav files work
(but the sound quality is poor)
48KHz, 16 bit mono PCM wav files
work.
I would recommend something like a
44KHz, 16 bit mono wav file.
Stereo wav files do not work. This
intuitively makes sense because the
voice comes from a single source at a
single location (you can use stereo
sources for ambient sounds).
Interestingly, the .wav files that come
with NWN are actually proprietary mp3
files. It is not clear how to edit or work
with them though you cannot use
mp3 files directly as sound files (you
cant use BMU files either check the
Ambient Sound tutorial from Bioware if
you dont know what a BMU is).
Dont get too caught up in that though
it is probably easier for you to work with
.wav files anyway. The only real
advantage that mp3 files have is that
they are compressed; therefore
smaller.
NeverwInter NIghts Custom Content CuIde vJ.0 7oIcesets

ElIgIo Sacateca Page 52 01/06/200J
does a lookup of the text in the dialog.tlk. Why does NWN have the STRREF in the soundset
file? These STRREF entries point to the custom text strings that appear above the characters
head when the sound fires off (a SpeakString). Not all sounds have a SpeakString (they are
optional). No SpeakString, no text above the characters head.
Voiceset files are always 1,216 bytes long. The resource names can refer to the names of any
wav in data\voicesets.bif, data\sounds.bif, the /override directory or in a hakpak.
(Need I say what I think about using the /override directory?)
Part 2: A Fose by any other Name
works for voicesets. Almost.
There are up to 49 sounds in a voiceset. The order in which the sound name occurs in the
voiceset file defines what NWN expects the sound to be. For example, the first sound in the
voiceset file will always refer to a .wav that is fired off when your PC orders a familiar or
henchman to attack the nearest creature.
We should be experts at using the NWN Viewer by now. Lets take a look at the different voiceset
files.
1. Open the NWN Viewer.
2. Select data/soundsets.bif.
3. Scroll down and you can see all the sound files. They have names like
VS_nAribetF_attk.wav, c_goblinK_bat1.wav.
The suffixes like '_attk' are just labels to help you quickly identify what type of the 49 potential
sounds it is. You could give it any name you want but using these standard labels will make your
voiceset much easier for others to understand.
Oh-oh. Sounds like Im heading back to those pesky naming standards. Youre right.
7oIceset Type
The prefix helps to identify what type of voiceset it is. Use NWN Viewer to looking at the
soundsettypes.2da file. This shows you the 5 different types of voicesets. I have included in
the chart below the standard prefix, and the number of sounds typically in one of the voiceset
types.

Type

Target
Standard
Prefix
# of
Sounds
0 Player Character VS_f 49
1 Henchman VS_h 29
2 NPC Full VS_f 49
3 NPC Partial VS_n 21
4 Monster C_ 11

Sound Type
There are potentially a total of 49 sounds in a voiceset. The order in which the sound name
occurs in the voiceset file defines what the sound is in NWN. The first sound in the voiceset file
Notes
The official module in NWN only uses
the Player, NPC Partial and Monster
type codes. For example, if you look for
the henchman voices in the official
module they have the names
VS_FAVHEN1F, VS_FAVHEN2F,
VS_FAVHEN1M through
VS_FAVHEN4M. But they are of type 3
(NPC Partial), not henchman. Weird,
eh?
NeverwInter NIghts Custom Content CuIde vJ.0 7oIcesets

ElIgIo Sacateca Page 5J 01/06/200J
will always refer to a .wav that is fired off when your PC orders familiars/Henchman to attack
nearest creature.
The order of the sounds in the ssf files are:


ID

Extension

Phrase
0

PC
1
Hench
man
2
NPC
Full
3
NPC
Partial
4

Monster
0 *_attk Order to Attack

1 *_bat1 Battle Cry 1

2 *_bat2 Battle Cry 2

3 *_bat3 Battle Cry 3

4 *_heal Heal Me

5 *_help Help

6 *_enmy Enemies Spotted

7 *_flee Flee

8 *_tant Taunt

9 *_gard Guard Me

10 *_hold Hold Position

11 *_atk1 Attack 1

12 *_atk2 Attack 2

13 *_atk3 Attack 3

14 *_hit1 Hit 1

15 *_hit2 Hit 2

16 *_hit3 Hit 3

17 *_dyin Dyin

18 *_dead Dead

19 *_sick Sick

20 *_spel Spell Failure

21 *_inff Weapon Ineffective

22 *_foll Follow Me

23 *_look Look Here

24 *_grup Group Together

25 *_move Move Out Of Way

26 *_pick Pick Door/Trap

27 *_srch Search Here

28 *_hide Hide

NeverwInter NIghts Custom Content CuIde vJ.0 7oIcesets

ElIgIo Sacateca Page 54 01/06/200J
29 *_can Can

30 *_cant Cant

31 *_done Done

32 *_encm Encumbered

33 *_slct Selected

34 *_hi Hi

35 *_yes Yes

36 *_no No

37 *_stop Stop

38 *_rest Lets Rest

39 *_bore Bored

40 *_bye Goodbye

41 *_thnk Thanks

42 *_haha Laugh

43 *_cuss Cuss

44 *_vict Victory

45 *_say Say

46 *_good Good Idea

47 *_bad Bad Idea

48 *_warn Warn


It does not really matter if you dont have all sound files in a
voiceset for it to work. However, if a sound file is blank, it will
not get fired off in the game scripts (at least it wont crash the
game). You can also re-use sound files (e.g., make row 12 and
13 refer to the same _atk1.wav file as you can find in row
11).
Also, look around in the voiceset.bif file. You will find that
Aribeth has more sound files than you can account for from
this list (e.g., VS_nAribetF_468.wav) . This is because you
also dont have to limit your sound files to the list in a voiceset.
These other sound files for Aribeth are triggered by the
playsound() script command and other events in the game
engine including the Other Actions tab in the dialogue editor.

Notes
I dont have any examples of
Henchman or NPC Partial soundsets
so I cannot vouch for the contents as
indicated above (these definitions are
from the original tutorial by
Ddraigcymraeg).
The full name of your .wav file (minus
the .wav) must be 16 characters or
less.
Combat sounds like _atk1, _atk2, _hit1,
_hit2 etc do not display text in NWN
so you do not need a STRREF for
them.
NeverwInter NIghts Custom Content CuIde vJ.0 7oIcesets

ElIgIo Sacateca Page 55 01/06/200J

Part J: UpdatIng Sound FIles
Like the weapon tutorial, the easiest way to introduce your own voiceset into NWN is to replace
existing content. This does not require any real changes and just asks that you rename your wav
files to override existing content. We will look at more advanced techniques after this.
Lets find a voiceset to replace.
1. Open the NWN Viewer.
2. Select data/2da.bif.
3. Scroll down and select the file soundset.2da. This file identifies all of the different voicesets
in the game.
4. Locate a voiceset you will probably not use in your campaign. AribetF Aribeth seems to
be a popular choice. If you want to replace a males voice, try DestheM (Desther).
5. The column you need to have is the one titled RESREF. This is the voiceset identifier. In this
case, VS_nAribetF.
6. Name all your wav files VS_nAribetF_<suffix>.wav. For example, VS_nAribetF_atk1.wav,
VS_nAribetF_atk2.wav, etc.
7. Load these files into a hakpak. Remember, the VS_n prefix tells NWN that this is an NPC
Partial voiceset so you will need 21 wavs to fully replace the set.
8. Now when you open your module, associate the Aribeth voiceset with your NPC and you can
use your new sounds for this character.
This method only replaces an existing voiceset and it does have some shortcomings:
a) You cannot mix and match different voiceset sounds unless you want to copy the wav files
multiple times. So you could not mix one characters attack voice with anothers greeting.
b) The text that is displayed over a characters head when she talks still uses the strings from the
original voiceset.

If what you really wanted was a PC voiceset, stop here and use the technique I just showed you.
Replace a voiceset that you wont use. In the next section I will show you how to add an entirely
new voiceset. However, the next method does not work for PC voicesets unless you use the
/override directory. And by now you know how I feel about the /override directory. Ill
explain more at the end of that section as to why it doesnt work.



NeverwInter NIghts Custom Content CuIde vJ.0 7oIcesets

ElIgIo Sacateca Page 56 01/06/200J
Part 4: CreatIng a New 7oIceset
Lets address the concern with not being able to mix and match voiceset sounds. A better way to
define a voiceset is to give it a resource definition of its own. This is similar to the process we
used to give a weapon its own resource definition. What we want to do is define a new voiceset
resource and create a new voiceset file (.ssf) to go with it. Let me show you the relationship
between the different files we discussed earlier:









Lets start with the definition of the new resource. We are going to edit the soundset.2da file to
define a new resource. Here is what the first few lines of the file look like:
2DA V2.0

LABEL RESREF STRREF GENDER TYPE
0 Aasimar c_aasimar 8291 0 4
1 Archhound c_archhond 53091 0 4
2 Archlant c_archlant 53092 0 4

Copy a line similar to the one we are going to add. In this case, lets create an NPC voiceset.
Copy the second last NPC voiceset definition (currently line 241) and paste it into the first User99
slot.
241 GendM VS_nGENDM 53061 0 3
242 ffightf_PCV VS_ffightf 68489 1 0
243 fkiller_PCV VS_fkillerf 68490 1 0
244 fseductf_pCV VS_fseductf 68491 1 0
245 fthugf_pcv VS_fthugf 68492 1 0
246 Kobold c_kobold 2928 0 4
247 KoboldChf c_koboldchf 2929 0 4
248 KoboldWiz c_koboldwiz 2930 0 4
249 Rat c_rat 3022 0 4
250 DireRat c_direrat 3023 0 4
251 Reserved01 **** **** **** 4
252 Reserved02 **** **** **** 4
253 Reserved03 **** **** **** 4
254 Reserved04 **** **** **** 4
255 Reserved05 **** **** **** 4
256 McAul VS_fMcAulM 68492 0 3
257 User02 **** **** **** 4

Here is what the fields mean:

File: soundset.2da
Location: data\2da.bif
File: gender.2da
Location: data\2da.bif
File: soundsettype.2da
Location: data\2da.bif
File: <voiceset>.ssf
Location: sounds.bif
File: <voice>.wav
Location: sounds.bif or
voicesets.bif
NeverwInter NIghts Custom Content CuIde vJ.0 7oIcesets

ElIgIo Sacateca Page 57 01/06/200J
Column Description Values
An integer ID# identifying the portrait
internally.
When choosing an ID for a .2da file,
use one of the User99 rows.
LABEL The internal label for the voiceset.
RESREF Refers to the base voiceset name.
STRREF A reference to dialog.tlk giving the
name of this voiceset.
This is the name that will show up in
the Aurora toolset or the character
creation screen.
GENDER Uhm. Should be self-explanatory.
This is used in the filter screens
when selecting the voiceset (if you
choose a female character, you only
get female voices).
The number comes from the first
column in the 2da file gender.2da
from the 2da.bif file (you can view
the contents of this file using the
NWN Viewer as well).
0 Male
1 Female
2 Both
3 Other
4 None
TYPE The voiceset type that we described
earlier. Again, this is important
because it is used in the filters in
NWN when displaying the voiceset
selection screens. For example,
unless you have a voiceset type of
PC, you cannot select this voiceset
for one of your characters in the
character creation screens.
0 to 4.

Change the LABEL to McAul (our characters name,
who is male).
Change the RESREF to VS_nMcAulM according to our
naming standards earlier for the .wav files.
Leave 68492 in the STRREF.
Use 3 for the voiceset type because this is an NPC
Partial voiceset.
Well, that was easy enough. Now we have to create a VS_nMcAulM.ssf voiceset file.
1. Open the ssfEditor.
2. Type McAulMx into the Base Name field. This should be the name of the custom voiceset
RESREF minus the sound set type prefix (i.e. minus VS_n or C_). SsfEditor wants you to use
a 7 character name (NWN does not enforce this but go with the flow for now by adding an x at
the end).
3. Select NPC (vs_n) in the Soundset Type dropdown.
Notes
We would like to use **** for the
RESREF to force the game engine to
use the LABEL when displaying the
new voiceset in the Aurora Toolset. But
this does not work yet for
soundset.2da.
NeverwInter NIghts Custom Content CuIde vJ.0 7oIcesets

ElIgIo Sacateca Page 58 01/06/200J
4. Press New. ssfEditor enforces naming conventions for the NWN game engine by creating all
49 rows in the ssf file and appending the appropriate prefix and suffix to create each .wav file
definition.
5. Leaving the STRREF field blank for no SpeakString text. You can only update a row by
pressing Update Sound.
6. When you are finished, press Save. The name of the saved .ssf file MUST refer to the correct
RESREF you added to the soundset.2da earlier (VS_nMcAulM.ssf, without the additional
x).

F|gure 21 - 33F Ed|lor
7. Create or rename your 49 .wav files to
VS_fMcAulMx_<suffix>.wav.
8. Put your new soundsets.2da, VS_fMcAulM.ssf,
and .wav files into a hakpak.
9. Load the hakpak into your module.
10. Create a new NPC in that module. Your new voiceset
should be available as the voice for your character.
Your voiceset will have the title of Female,
Brutish Thug in the Aurora Toolset because of the
STRREF you used earlier. Not that it is a females
voice, just that this is what the STRREF points to in
dialog.tlk.
This new voiceset still isnt perfect. In the example above, we do not have any SpeakStrings tied
to any of our sounds. Personally, I dont find this a huge problem (if you look at the original game
Notes
When you close your module and
reload it to bring up the new hakpak
(remember we talked about this being
the most reliable way of reloading a
hakpak?), you wont find your new
soundset. Why not? For some reason
the Aurora Toolset does not seem to
reload the soundset.2da in this
situation. You have to completely shut
down the toolset and restart it.
Apparently a bug very similar to this
was fixed for baseitems.2da in version
1.26 but the same error seems to
persist for soundset.2da.
NeverwInter NIghts Custom Content CuIde vJ.0 7oIcesets

ElIgIo Sacateca Page 59 01/06/200J
module closely, you will see that many NPCs use strings close to but not exactly the same as
what they say). But if you want appropriate SpeakString text, look through the other voicesets and
duplicate the STRREF entries there in your .ssf file. There are nearly 69,000 strings in dialog.tlk
so at least one might come close.
You may be tempted to add your own SpeakStrings in the dialog.tlk file. Dont do it! You are
better off using a string similar to your dialog (even if not exactly the same) rather than distributing
a modified dialog.tlk.


Okay, I promised you an explanation as to why this doesnt quite work for PC voicesets. The
problem is that in the character creation screen NWN has not loaded the module yet. Until it loads
the module, NWN does not load any hakpaks from the module including your soundset.2da
file. Which means it does not know about the nifty new voiceset you added. Without this
information, you cannot select the new voice from the character creation screen. Erk.
Currently, the only way to get a brand new voiceset into the character creation screen is to put
the soundset.2da file in the /override directory. I really dont like this method. I heartily
recommend the previous method where you replace an existing voiceset.
An alternate method is coming soon: Half-Elf has developed an independent Character Creator
that builds character files outside of NWN. This allows you to do many things, including using new
voice files for your PC.



NeverwInter NIghts Custom Content CuIde vJ.0 tems wIthout |odels

ElIgIo Sacateca Page 60 01/06/200J

tems wIthout |odels
In the first section of this tutorial we looked at adding a specific type of item: a weapon. NWN
represents a wide variety of items with models, not just weapons. And it allows you to add new
miscellaneous items, not just modeled items. This mostly requires skills with 2d images to create
the icons that show up in your inventory. For example, take a look at the new FRCS gem icons
(http://nwvault.ign.com/Files/hakpacks/data/1037972170390.shtml) that Shade Shadowbane
created to replace the ones in the main game.
Part 1: UnderstandIng How NWN Fepresents tems
Lets look at how NWN represents an item like a gem, and how it is different than a weapon, by
actually building an existing one in the Aurora Toolset. Try this exercise:
1. Open up the Aurora Toolset.
2. Create a new Module (we will call it Item Tutorial for lack of a better name). Use the Area
Wizard to create at least one Area. Use the defaults to set up the area and choose something
simple like a Castle Interior.
3. Select Wizards | Item Wizard.
4. For Item Type select a Gem (we will talk about the standard types later in this section).
5. Click Next.
6. Enter a name (Soldiers Eye).
7. Click Next.
8. Add to the Miscellaneous, Gems category.
9. Click Next.
10. Check the Launch Item Properties checkbox.
11. Click Finish.
12. Select the Appearances Tab.
You can now modify the appearance of the item by
selecting the appropriate icon. Notice the names of the
icons yes, Virginia, naming standards do matter for these
items as well. In this case, all of the gem icon names have
the format iit_gem_001, iit_gem_002, etc.

Notes
Take a closer look at the Appearance
tab where did that 3D model come
from? Isnt the title of this section Items
without Models? Well, what I really
meant is that you do not need a unique
3D model for many items because the
game engine only has to render the
model if it is laying somewhere on the
floor, just waiting to be picked up. Most
of these items default to the it_bag
default model or the it_potion_000
model.
NeverwInter NIghts Custom Content CuIde vJ.0 tems wIthout |odels

ElIgIo Sacateca Page 61 01/06/200J






F|gure 25 - 0er sroW|rg 30 Vode| (delau|l) ard 20 lcor
Now, my 2D icons probably dont look the same as yours. Im using Shade Shadowbanes hak in
this example.
Now that you understand the different parts of a basic item, lets get started.
Part 2: New cons for ExIstIng tems
Probably the best place to start to understand all the different models you can add is through
baseitems.2da. So fire up NWNViewer and take a look. There are a series of items with
ItemClass = it_<whatever>. If you look in the models01.bif and models02.bif files, you
will not find item models with these names. Scroll a little to the right of baseitems.2da. You will
find another column named DefaultModel. Some of these items have a default model of
it_potion_000 or it_trap_001 but most are it_bag. These are the default models used
when the item is laying around in a scene.
The basics of adding new icons to an existing item type are very similar to the process for
creating a new weapon, without worrying about the model. Lets add an icon for a new ring. Find
the item in baseitems.2da (in the case of the ring, it is the item with ID # 52). Get the
ItemClass value (it_ring). The icon name will be this ItemClass value with a prefix of i and a
suffix of _0nn.tga where nn goes from 01 to 50 (existing ring icons have the names
iit_ring_001.tga to iit_ring_035.tga).
The 2D icon
The default
3D model
NeverwInter NIghts Custom Content CuIde vJ.0 tems wIthout |odels

ElIgIo Sacateca Page 62 01/06/200J
Look at the InvSlotWidth and InvSlotHeight values for this item. Remember from the weapon
section of this guide that icons must be InvSlotWidth x 32 pixels wide and InvSlotHeight x 32
pixels high. Sure enough, if we use NWNViewer to open the
Textures01.bif file we will see that an iit_ring_nnn.tga
item is, in fact, a 32 x 32 pixel tga file. If you want, you can
use an existing icon as a starting point.
Create your new icons using this naming standard and size.
If you want to replace existing icons with your new ones, use
the exact same name. If you want to add new selectable
icons, add them after the highest existing icon number (e.g.,
starting at iit_gem_016 for gems because the highest
existing value is iit_gem_015).
I am going to create a 3-stoned ring. Once I have done that, I put a mask around the
ring and stones, and save it. Now I put them in a new hakpak and create a
module that includes this hakpak:
13. Bundle up your new icons in a hakpak (refer to the section on hakpaks for details on how to do
this if you havent picked up on it yet).
14. Open up the Aurora Toolset.
15. Create a new Module (we will call it Item Tutorial for lack of a better name). Use the Area
Wizard to create at least one Area. Use the defaults to set up the area and choose something
simple like a Castle Interior.
16. Set the module to point to your new hakpak in Edit | Module Properties | Advanced. Save,
close and re-open your module to load the hakpak.
17. Select Wizards | Item Wizard.
18. For Item Type select your particular item. Click Next.
19. Enter a name. Click Next.
20. Add to an appropriate category. Click Next.
21. Check the Launch Item Properties checkbox. Click Finish.
22. Select the Appearances Tab.
23. Your new icons should now be available in the 2D icon view.
Notes
Some items (for example, gems)
appear to have a hard-coded limit on
how many unique items you can have
in the game (it is 50 for gems although
this number is higher for other items
because there are already 73 small,
miscellaneous items).
NeverwInter NIghts Custom Content CuIde vJ.0 tems wIthout |odels

ElIgIo Sacateca Page 6J 01/06/200J

F|gure 2 - NeW r|rg, |ler ||l_r|rg_03
Part J: New tem Fesources
You can also add brand new items through baseitems.2da. Before we do that, lets talk about
your alternatives. There are already miscellaneous items in baseitems.2da. You can create a
small item (1 x 1 inventory squares), a mid-sized one (2 x 2), a large one (2 x 3), or a thin one (1
x 2). My first suggestion would be to use these resources and only create a brand new item if you
these dont meet your needs. To do that, use one of the
existing icons or add a new one using the process I just
described.
Now, lets assume we really need to create a new item in
our case, we really want an item type for a musical
instrument for our bards. Lutes. Harps. Bagpipes. Tubas
(tubi?) You name it. The problem with the miscellaneous
items is that the weight and cost is all wrong for musical
instruments. So we are going to create our own entry in
baseitems.2da.
Get a copy of baseitems.2da out of \source\2dasource.zip. Copy an existing line item
similar to the one you are creating. I have several choices. If I wanted to create models for my
instruments and then have the character actually wield the model, I might use something like a
Magic Rod as a template (you cannot equip a rod but it does have a model and is used briefly
when activated). This animation probably does not fit a lute or harp well though, and I said this
section was for items without models, so I will use a book instead. Books only show up in your
inventory. Well start by making a copy of the book line and adding it in at the bottom. My new
item is not going to be like a book, but a book is a good item to start with when modifying this file
because it shares the same characteristics that we want.
1. Copy the new baseitems.2da file to the directory with your model and icons.
2. Open baseitems.2da using a text editor (Notepad works fine although some people use Helios
Software Solutions' TextPad). Turn wrapping off so everything aligns nicely.
Notes
Why use the existing miscellaneous
items where I can instead of creating
my own? Generally because it is easier
(and causes less trouble when Bioware
updates their game) if you do not have
to add new resources to a .2da file.
NeverwInter NIghts Custom Content CuIde vJ.0 tems wIthout |odels

ElIgIo Sacateca Page 64 01/06/200J
3. Go ahead and take a look at it. Scroll down until you get to the necklace entry. You should see
this:
74 531 book 2 2
75 532 spellscroll 1 1
76 535 gold 2 2
4. Copy the book entry and paste it at the bottom.
5. Modify the entries as appropriate for your new item. I wont go through all of the different
options (refer to the weapons tutorial for more detail) but here are the key ones:
Column Values
ID 2006
Name Same issues as for a weapon. This should be **** (should tell the game
engine to use the label for a name). However, this does not work. I could not
find the text Instrument in dialog.tlk. Im going to use 1592 which is
simply Miscellaneous for now.
Label Use _ underscore if you want spaces in the label.
InvSlotWidth
InvSlotHeight
Inventory slot width and height. Make sure it matches the size of the icon
you created earlier (in our case 2 x 4 because our icon is going to be 64 x
128).
EquipableSlots I probably want to leave this as 0x00000 (not equipable) because I dont
want it going into one of the pre-figured slots. For details, refer to the
weapons section where I explain the different types.
ItemClass it_musicin (add a new item type). The icons will be iit_musicin_001 to
_050.
WeaponType Leave the weapon columns alone
Stacking Number of identical items that can be stacked together in your inventory
(this is why you get 99 arrows in a bundle, 10 potions, etc.)
Description 1592 (this makes the description Miscellaneous as well because there is no
entry for an instrument description in dialog.tlk).

6. Back through the same routine. Save the .2da file, load it into your hakpak.
7. Make sure your icon files have the right names.
8. Load all of these into your hakpak. You should have, at a minimum, the following:
NeverwInter NIghts Custom Content CuIde vJ.0 tems wIthout |odels

ElIgIo Sacateca Page 65 01/06/200J

F|gure 2Z - Load|rg your reW |ler |rlo a ra|pa|
9. Load up your module in the Aurora Toolset.
10. Now you can create a new instrument using the Item Wizard. You will find the template under
Miscellaneous in the selection list.

F|gure 28 - Your reW |ler
11. Modify the Description of your new instrument to reflect the type of instrument it is.
NeverwInter NIghts Custom Content CuIde vJ.0 tems wIthout |odels

ElIgIo Sacateca Page 66 01/06/200J
Part 4: Dther tems
With the technique we have covered here, and in the section on weapons, you should have the
skills and tools to handle just about any other kind of item there is. Some are multi-part like
weapons (potions, keys, boots to name a few). And some are singular (rings, amulets, etc.). The
steps are simple:
1. Use the Item Wizard in the Aurora toolset to create a basic template and understand how it
goes together.
2. You can usually also get the naming standard from the Aurora toolset. If not, look in
baseitems.2da for the default and other model names.
3. Go to the source using NWNViewer to find the models and the textures.
4. Create!
With this basic set of tools I will cover only a few more types of item specifically in this tutorial
because their complexity begs separate treatment (I am referring to the armor models in the next
section).


NeverwInter NIghts Custom Content CuIde vJ.0 Spells

ElIgIo Sacateca Page 67 01/06/200J
Spells
Lets see what else we can do with .2da files. Maybe I want to create a new spell effect. Id like to
create the necromantic spell, Chill Touch. I get a huge combination of effects to build my new
spell from. I can add new icons similar to what we did for the weapons and other items. The only
real tricky part will be coding the effects I need.
To create a new spell, these are four basic steps:
1. Create two icons, one for the spell and one for the spell as a scroll.
2. Create a spell resource in spells.2da.
3. Create a spells item property resource in iprp_spells.2da.
4. Create a script that delivers the effect that you want for your spell.
Part 1: The Spell cons
Create one icon for the spell and another for it as a scroll. You could use the same icon for both
but Bioware uses a black, white and purple theme for the spell icon and a brown and white theme
for the scroll icon. The image on each is similar. I wont go into detail on the icons because we
have done so many already. They are 24 bit, 32 x 32 pixel Targa bitmaps (.tga files). The naming
standard is not critical for spell and scroll icons but if you want to follow the Bioware standard it is:
is_<name>.tga for spell icons
iss_<name>.tga for spell scroll icons
Where <name> is a maximum of 11 characters. You can find these using NWNViewer in
Textures02.bif. Use one as a sample of how to do it. Unlike the weapon icons, there is no
mask or other complication on these files.
Here are my two new spell icons. I used the Ghoul Touch icons as a template and did some
editing to make them more reminiscent of a shivering, cold hand. I actually put the spell name on
the spell icon. Why? With the current limitations on changing dialog.tlk, there is really no way to
get my new spell name into your spell book. So I want to make it explicit which spell you are
dealing with. This is not necessary for the scroll because, as an item, I can put whatever text
labels and descriptions I want on it in the Aurora Toolset.

F|gure 29 - |s_cr|||lcr.lga

F|gure 30 - |ss_cr|||lcr.lga

NeverwInter NIghts Custom Content CuIde vJ.0 Spells

ElIgIo Sacateca Page 68 01/06/200J
Part 2: The Spell Fesource
The spell resource file - spells.2da defines each of the spells (and spell-like abilities), how it
is cast, who can cast it, and a variety of other details. There are eight main parts to a spells.2da
record.
1. General information (spell name, school, range, etc.)
2. What classes can use the spell and what level it is
3. The Conjuration group which stores the sounds and animations that are played when the spell
is being cast. Refer to the spell effects reference near the end of this tutorial for details on
effects you can use.
4. The Cast group which stores the sounds and animations that are executed when the caster is
done chanting and the spell takes effect. This is not the effect on the recipient -- that is handled
in the ImpactScript -- but is, for example, the animation for the cone of frost between the caster
and target in a cone of cold spell. Cast effects take place after Conjuration effects. Refer to the
spell effects reference near the end of this tutorial for
details on effects you can use.
5. The Projectile group. This one designates any type of
model that moves between the caster and the target.
An example would be the ball of the fireball spell that
travels from the casters hand to the target and then
explodes.
6. A list of immunities.
7. Linked spells. This is where you can designate a spell
to have more than one type of end effect, similar to a
Polymorph spell where you can pick from several
options. Linked effects are used for radial menus.
8. Miscellaneous information.

The following are the columns from spells.2da:
Column Description Values
The ID number Start at 414, after Biowares last
spell. Normally I would tell you to
start much higher but currently In
order for spells to be used as scrolls,
they have to start at 414 and
continue. They also have to appear
in order after the last real spell in
spells.2DA
Label The name of the spell Any spaces should be replaced with
underscores '_'. Im not sure if it will
ever be possible to put **** in the
Name column for spells Bioware
has indicated that they dont really
consider rules changes (spells, feats,
Notes
This section builds on information first
posted to the NWN forums by Kaine.
Something to think about when making
these spells up. High-level spells
should be grand and animation packed,
while low-level spells should be fairly
simple. If you make your level 0 spell
loaded with all sorts of cool effects your
player won't be very impressed with the
meagre or similar effects on the
earthshaking level 9 spells.
NeverwInter NIghts Custom Content CuIde vJ.0 Spells

ElIgIo Sacateca Page 69 01/06/200J
Column Description Values
etc.) to be in the field of customizable
content.
Name The strref to the name of the spell in
dialog.tlk.
The same limitations apply that you
should be used to be now. The label
will not show up in the game engine.
I chose 4692 which points to a string
called Devil Chills. Close enough to
imply Chill Touch for now. I dont
want to use dialog.tlk.
IconResRef Name of the .tga file that will
represent the spell icon.

You can create your own icons and
put them in the hakpak. This is the
recommended method because
people want to be able to tell spells
apart visually.
Alternately, you can use generic
icons for the different spell school
classes:
Abjuration = is_abjure
Conjuration = is_conjure
Divination = is_divine
Enchantment = is_enchant
Evocation = is_evoke
Illusion = is_illusion
Necromancy = is_necromancy
Transmutation = is_transmut
School School of magic A = Abjuration
C = Conjuration
D = Divination
E = Enchantment
I = Illusion
N = Necromancy
T = Transmutation
V = Evocation
Range Range of the spell P = Personal (affects only the caster)
T = Touch (affects the person
touched)
S = Short (25 ft + 5 ft/2 levels,
according to standard 3e rules)
M = Medium (100 ft + 10 ft/level)
NeverwInter NIghts Custom Content CuIde vJ.0 Spells

ElIgIo Sacateca Page 70 01/06/200J
Column Description Values
L = Long (400 ft + 40 ft/level)
VS Verbal and somatic components of
the spell.
V = Verbal only (cannot cast this
spell if silenced)
S = Somatic (Spell suffers arcane
spell failure from armor)
VS = both
- = neither
Metamagic Defines which metamagic feats can
be used on the spell. The number is
a bit flag setting and must be in
hexadecimal format.
The numbers need to be added
together to get the final set of flags
for the spell.
Example:
I want a spell that can be Quickened,
Silent, Still, and Maximized. I would
have 8(Quicken) + 16(Silent) +
32(Still) + 4(Maximize) = 60 total.
Once you get the number you need
to convert it into hex format. The
easiest way if you use Windows is to
use the calculator.
Open up the Calculator program in
Windows and under the View menu
switch to scientific mode. Make sure
the round radio button is checked for
Dec. Enter in your number and then
change it from Dec to Hex; this is
your hexadecimal number. Enter this
number along with a 0x (just
programmers notation that a number
is in hexadecimal format) to the
column. That is a 'zero' and not the
letter Oh. So our example would be
0x3c.
0x01 = 1 = Empower
0x02 = 2 = Extend
0x04 = 4 = Maximize
0x08 = 8 = Quicken
0x10 = 16 = Silent
0x20 = 32 = Still
TargetType This is the type of target the spell
requires. Like the MetaMagic value,
this is actually a binary flag system.
You must enter the hex code after
adding up the values for all the
targets you want to be able to affect.
0x01 = 1 = Self
0x02 = 2 = Creature
0x04 = 4 = Area/Ground
0x08 = 8 = Items
0x10 = 16 = Doors
0x20 = 32 = Placeables
0x40 = 64 = Trap triggers (only when
detected) and area transition triggers
NeverwInter NIghts Custom Content CuIde vJ.0 Spells

ElIgIo Sacateca Page 71 01/06/200J
Column Description Values
(this does not work very well - the
cursor is active on the area transition,
but when clicking the PC is left
hanging before casting the spell and
the script doesn't fire). This value is
not currently used by Bioware.
ImpactScript The script that runs against the
target of the spell

Bard,
Cleric,
Druid,
Paladin,
Ranger,
Wiz_Sorc,
Innate
The level of the spell for each class,
if it can't be used by that class then it
is commented out with ****
Innate is for creatures that have it as
a spell like ability. A lot of creature
abilities are implemented as "innate
spells".

ConjTime Conjuration is the process of
invoking the spell. The conjuration
time in milliseconds.
Note: the Conjuration effects are
executed before the Cast effects.
For spells it is 1500 with only 1
exception - Phantasmal Killer - which
is at 900
ConjAnim This is for the character or creature
invoking the spell and calls the
appropriate animation so that the
caster goes through the right
motions.
The three possible values are:
hand = Casters hands are in front of
him.
head = Casters hands reach up to
above face level.
**** = No hand movement
ConjHeadVisual This is to add a visual effect over the
head of the caster when invoking the
spell.
Some sample head visuals and the
spells they are used on are:
Ice_Storm vco_mehancold03
Resurrection vco_mehanelec01
Premonition vco_mehanelec03
Meteor_Swarm vco_mehanevil03
There are a lot more. I have included
the visual effects reference at the
end of this tutorial.
ConjHandVisual This adds an effect to - or between -
the caster's hands when invoking the
spell.
Refer to the visual effects list.
ConjGrndVisual This adds an effect to the ground
around the caster when invoking the
spell.
Refer to the visual effects list.
ConjSoundVFX This is the sound effect that plays
when invoking the spell. It is not the
caster's voice but the energy
Refer to the visual effects list.
NeverwInter NIghts Custom Content CuIde vJ.0 Spells

ElIgIo Sacateca Page 72 01/06/200J
Column Description Values
crackles, moaning, etc. that plays in
the background
ConjSoundMale
ConjSoundFemale
These are the sound effects for the
chanting that the caster does while
invoking the spell
Refer to the visual effects list.
CastAnim The caster's pose after finishing the
spell conjuration.
Note: the Cast animations and
effects occur after the Conjuration
ones.
Possibilities are
Area
out
self
touch
up
****
CastTime This seems to be how long in
milliseconds the caster stays in the
CastAnim pose
There seem to be 2 settings
1000 = most spells
1700 = spells with ray or cone
shaped effects
CastHeadVisual Not currently used for any spells
CastHandVisual These effects happen to the caster
after the conjuration effects take
place. An example would be the
force rings that radiate from the
casters hand after a magic missile
spell or the cone of frost from a cone
of cold spell

CastGrndVisual Not currently used for any spells
CastSound The sound played after the
Conjuration

Proj Is there a projectile model that
moves between the caster and the
target in the spell
1 for yes
0 for no
ProjModel The model that moves between the
caster and the target
The currently used ones are:
vpr_aroacid
vpr_ectoacid01
vpr_ectocold01
vpr_ectoevil01
vpr_ectofire01
vpr_ectomind01
vpr_ectonatr01
vpr_ectoodd01
vpr_ectosonc01
vpr_fireball
vpr_ringsmal
vpr_wraith
ProjType The physics of the projectile accelerating
homing
linked
NeverwInter NIghts Custom Content CuIde vJ.0 Spells

ElIgIo Sacateca Page 7J 01/06/200J
Column Description Values
ProjSpwnPoint Where the projectile starts at from
the caster
hand
head
ProjSound The sound of the projectile
ProjOrientation Which direction to orient the
projectile in
Set to path if there is a projectile
ImmunityType Type of immunity needed to ignore
the effects of this spell.

Note there are three Mind Affecting
immunities and two Positive
immunities, I'm not sure if this a typo
or not - looks like one
Acid
Cold
Death
Disease
Divine
Electricity
Fear
Fire
Mind_Affecting
Mind_Effecting (Typo?)
Mind-Affecting (Typo?)
Negative
Poison
Positive
Postive (Typo?)
Sonic
ItemImmunity Are items immune to being affected
by this spell?
1 for yes
0 for no
SubRadSpell1 - 5 These are for spells that have
multiple ways of casting them. The
values in these columns are the
index value of "sub" spells that will
come up in another radial menu.
Spells like Polymorph Self or
Shapechange where you can pick a
type of creature to turn into or
Shadow Conjuration where you can
pick the spell to emulate. The
maximum number of choices you
have for a spell will be 5. The people
who are planning on implementing
radical new Polymorph spells where
you can turn into all sorts of animals
may want to look at this.
It has been reported that radials only
work if the new spells use ID
numbers directly consecutive to
those already in use.
Category These are equal to the various
TALENT_CATEGORY_* constants in
nwscript.nss.
These are used in various AI scripts
to select appropriate abilities for
The Category is related to the
categories.2da file in 2da.bif.
Here are the reported values:
(AoE = Area of Effect)
1 = Harmful AoE Discriminant (i.e.,
NeverwInter NIghts Custom Content CuIde vJ.0 Spells

ElIgIo Sacateca Page 74 01/06/200J
Column Description Values
creatures or NPCs to use. only affects enemies)
2 = Harmful Ranged
3 = Harmful Touch
4 = Beneficial Healing AoE
5 = Beneficial Healing Touch
6 = Beneficial Conditional AoE (e.g.,
See Invisible)
7 = Beneficial Conditional Single
8 = Beneficial Enhancement AoE
9 = Beneficial Enhancement Single
10 = Beneficial Enhancement Self
11 = Harmful AoE Indiscriminant
(affects all within AoE)
12 = Talent Beneficial Protection Self
13 = Talent Beneficial Protection
Single
14 = Talent Beneficial Protection AoE
15 = Talent Beneficial Summon
16 = Auras and Rages
17 = Special Monk Feat
19 = Dragon Attacks
Master Used in conjunction with the
SubRadSpell columns. For a sub
spell this is the parent spell that
called it.
The actual effect of this seems to be
that the uses-per-day of the master
spell is reduced by one when cast
instead of this spell's uses-per-day.
Generally all sub-spells will want this
and no others will.

UserType Always 1 for spells 1 = Spells
2 = Creature Power
3 = Feat
4 = Item Power
SpellDesc The strref for the description of the
spell in dialog.tlk
Here we go again. I use 59 which is a
blank string. It leaves the description
blank.
UseConcentration Determines if a Concentration check
is needed to successfully cast the
spell if interrupted (e.g., if hit during
1 for yes
NeverwInter NIghts Custom Content CuIde vJ.0 Spells

ElIgIo Sacateca Page 75 01/06/200J
Column Description Values
combat) 0 for no
For spells always 1. The only records
which have a 0 are uninterruptible
ones like constant creature powers
SpontaneouslyCast This is for the Clerics spontaneously
casting. Only Cure/Cause wounds
should have this
1 for yes
0 for no
AltMessage

This is the strref for the message in
dialog.tlk that is displayed to people
other than the caster, for example
"SoAndSo smites evil".

HostileSetting Will a NPC consider this an attack if
they are affected by the spell
1 for yes
0 for no
This actually is used in the
SignalEvent call. If it is 1, then it will
be a hostile act when the target gets
the event signaled to them.
FeatID The ID of the feat. There are a few
feats that are activated like spells,
and call scripts in a similar manner.
These use the FeatID to determine
when they show up, and what they
do.

380 Battle_Mastery_Spell (...) 306
381 Divine_Strength (...) 307
382 Divine_Protection (...) 308
383 Negative_Plane_Avatar (...) 310

Part J: The tem Property Spells Fesource
Technically, you only need a reference in iprp_spells.2da if you want an item to be able to
cast this spell. How does this work? Well, there is a list of item properties in itempropdef.2da
and these are the properties you can assign to items in the Aurora Toolset. Within each property
is the property sub-type. For spells, this sub-type points you to iprp_spells.2da. By adding a
resource in this 2da file, you can then tie your spell to an object like a scroll or another magic
item.

Column Description Values
The ID number Start at 336, after the last spell
Label The name of the spell Any spaces should be replaced with
underscores '_'. Some day it should
be possible to put **** in the Name
column and the game will use this
field to refer to your spell.
Name The strref to the name of the spell in
dialog.tlk.
One more instance where I cant get
it to do what I want. Hopefully this
will be fixed soon.
NeverwInter NIghts Custom Content CuIde vJ.0 Spells

ElIgIo Sacateca Page 76 01/06/200J
Column Description Values
CasterLvl The level at which the spell is cast
from this item.
1 to 20
InnateLvl Not sure. Need to investigate. 1 to 20
Cost Appears to be the cost increment
added to the minimum level required
for the item to be used. If you add too
many powers to an item, it becomes
unusable because it exceeds the
maximum character level of 20.

SpellIndex Reference back to the spell ID in
spells.2da
Use the ID you added for your spell
in spells.2da
PotionUse Can this item be used as a potion? 1 for yes
0 for no
Wanduse Can this item be used as a wand? 1 for yes
0 for no
GeneralUse Can this item be used for general
items?
1 for yes
0 for no
Icon Icon to be used for this item as a
scroll
It needs to be a typical 32 x 32 pixel
tga file. You can select one of the
existing icons with the format
iss_<name> where <name> is no
longer than 8 characters. They are
found in textures02.bif. Or you
can create your own, use a similar
naming standard.

The other 2da files iprp_spelllvlimm.2da (spell level limit), iprp_spelllvcost.2da
(spell level cost), iprp_spellshl.2da (spell school) do not need to be adjusted. I am not
sure what iprp_spellcost.2da is for.
Part 4: The Spell ScrIpt
Lets take a look at the new script for Chill Touch. This is not a scripting tutorial, but Ill try to give
you a basic flavor of how these work. You can look at existing scripts by opening up
scripts.bif using NWNViewer or from within the Aurora toolset (there is a radio button on the
File Open dialog that allows you to open any existing script file). The spells are all named
nw_s0_<spellname>.nss. The .ncs files are compiled spell files so you cant read them
directly.
Here is my new Chill Touch script.

//::///////////////////////////////////////////////
//:: [Chill Touch]
//:: [ES_S0_ChillTch.nss]
//:://////////////////////////////////////////////
//:: Causes 1d6 damage on each successful touch
//:: attack (1 attack per level). Reduces strength
NeverwInter NIghts Custom Content CuIde vJ.0 Spells

ElIgIo Sacateca Page 77 01/06/200J
//:: by one if target fails Fortitude save
//:: (duration of one minute / level).
//::
//:: If the target is undead it is not damaged but
//:: must save vs. Will or flee as if panicked for
//:: 1d4 rounds + 1 round per level.
//::
//:: NOTES: does not properly implement 1 attack
//:: per level and does not consider that undead
//:: are immune to mind affecting spells
//:://////////////////////////////////////////////
//:: Created By: Eligio Sacateca
//:: Created On: December 21, 2002
//:://////////////////////////////////////////////

#include "NW_I0_SPELLS"
void main()
{
//Declare major variables
//the object you were targetting
object oTarget = GetSpellTargetObject();
//check if you are using any Meta Magic feats
int nMetaMagic = GetMetaMagicFeat();

//check for a successful 'touch attack' on target
int nTouch = TouchAttackMelee(oTarget);
//if successful touch attack on a target that is not friendly
if (nTouch && !GetIsReactionTypeFriendly(oTarget))
{
//if the target is undead, use fear effect
if (GetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_FEAR));
//Make SR Check
if(!MyResistSpell(OBJECT_SELF, oTarget))
{
//calculation duration
int nDuration = GetCasterLevel(OBJECT_SELF) + d4(1);
float fDuration = RoundsToSeconds(nDuration);
//check metamagic
if (nMetaMagic == METAMAGIC_EXTEND)
{
fDuration = fDuration * 2.0; //Duration is +100%
}

//calculate and apply effects
//target is frightened
effect eFear = EffectFrightened();
//use fear visual effect
effect eMind = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR);
//until impact expires
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
//Link the fear and mind effects
effect eLink = EffectLinkEffects(eFear, eMind);
//Link the fear and mind effects to the duration
eLink = EffectLinkEffects(eLink, eDur);

//Make a will save
if(!MySavingThrow(SAVING_THROW_WILL, oTarget, GetSpellSaveDC(),
SAVING_THROW_TYPE_FEAR, OBJECT_SELF))
{
//Apply the linked effects
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink,
oTarget, fDuration));
}
}

}
else //target is not undead so apply damage and strength reduction
{
NeverwInter NIghts Custom Content CuIde vJ.0 Spells

ElIgIo Sacateca Page 78 01/06/200J
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_HARM));
//Make SR Check
if (!MyResistSpell(OBJECT_SELF, oTarget))
{
//Start with the 1d6 damage
//Calculate damage
int nDamage;
//Check Metamagic
if (nMetaMagic == METAMAGIC_MAXIMIZE)
{
nDamage = 6; // damage is maximum
} else
{
nDamage = d6(1);
}
// set the visual effect to show the character taking damage
effect eVis = EffectVisualEffect(VFX_IMP_HARM);
// implement the effect so the character takes damage
effect eDam = EffectDamage(nDamage,DAMAGE_TYPE_NEGATIVE);
//Apply the VFX impact and effects
DelayCommand(1.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam,
oTarget));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);

//Now apply the strength reduction
//Make a fortitude save
if(!MySavingThrow(SAVING_THROW_FORT, oTarget, GetSpellSaveDC(),
SAVING_THROW_TYPE_NEGATIVE))
{
//calculate duration
int nCasterLevel = GetCasterLevel(OBJECT_SELF);
float fDuration = IntToFloat(nCasterLevel) * 60; // 60 seconds per
level
//Check for metamagic extend
if (nMetaMagic == METAMAGIC_EXTEND)
{
fDuration = fDuration * 2.0; //Duration is +100%
}

//calculate effects
//target is weakened
effect eFeeb = EffectAbilityDecrease(ABILITY_STRENGTH, 1);
//use ability reduction visual effect
effect eVis = EffectVisualEffect(VFX_IMP_REDUCE_ABILITY_SCORE);
//until impact expires
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
//Set ability damage effect
effect eLink = EffectLinkEffects(eFeeb, eDur);
//Apply the ability effect and VFX impact
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget,
fDuration);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVis, oTarget);
}
}
}
}
}

I wont attempt to explain each line of this script but here is the overall outline:
1. First, we find out who you were targeting.
2. Next, before applying any effects, we check to make sure this is not a friendly target, and that
you can make a successful melee attack against the target.
NeverwInter NIghts Custom Content CuIde vJ.0 Spells

ElIgIo Sacateca Page 79 01/06/200J
3. Assuming that succeeds, we check if the target is undead. If it is, we apply an entirely different
effect frighten to what we would do if the target were alive damage and strength
reduction.
4. Assuming the target is undead, we notify them that
they are the target of a fear spell and then do a
spell resistance check (they will be notified that they
are a target even if they are successful at resisting
the spell). The notification will typically make them
counterattack if they were not planning on doing
that already. The spell resistance check takes into
account natural resistance as well as items like
cloaks, rings, etc.
5. We calculate the duration of the spell (doubling it if
the caster was using Metamagic) and then
calculate the actual effects. The effects are linked
together until the spell expires. This is how NWN
maintains integrity between the visual effect (the
icon you would get in the top right of your screen
plus the 3d effect of the whirling skulls) and the
actual effects (fear).
6. We give the undead creature one last chance at a Will saving throw. If they fail that, whammo,
all those effects are applied.
7. Now, what if the target was not undead? We actually go through similar steps. Again, we
notify the target they are the target of a spell (this time a harmful spell), and give them a spell
resistance check.
8. If the target fails that, we calculate the amount of damage they will take (1d6 or a full 6 if the
caster had maximized the spell), and apply it. Note we dont have to link any effects together
this time. That is because the duration is instant (you take the damage right away, the visual
effect fires and then we can forget about it).
9. We also give them a fortitude-save. If they fail that, they suffer a 1 penalty to strength. The
spell description in PHB does not specify for how long but I did a quick check and ray of
enfeeblement lasts for 1 minute/level so I will assume the same (I have not checked for errata
on the subject). The strength penalty is applied in a similar fashion to the fear effect although it
differs slightly in that the duration and effects are not linked together? Why not? Beats me. I
borrowed the code for the fear effect from nw_s0_fear and the code for the strength effect
from nw_s0_rayenfeeb and they were done slightly differently. I think either method does
the same thing.
I have seen it recommended that you add an entry in nwscript.nss for the integer
CONSTANT of your spell name. I would not recommend this. When you look through the scripts to
see where these constants are used, it is generally only in the
SignalEvent(EventSpellCastAt()) line. Unless you want to do more coding and code a
reaction for your specific spells in those events, it is not necessary to have your own CONSTANT
for your new spell.
Notes
Note that I did not implement Chill
Touch exactly as specified by the
books in my version you only get one
touch attack, not one per level. I need
to work on this because it is a serious
limitation.
There is one other problem with this
script: the undead are immune to mind-
affecting spells. What this means is that
they are essentially immune to the fear
effect as I have implemented it here.
More work is required to fix that as well.
I leave both of these as an exercise for
the reader (hey! I never said I was a
good scripter!)
NeverwInter NIghts Custom Content CuIde vJ.0 Spells

ElIgIo Sacateca Page 80 01/06/200J
Part 5: PackagIng It all up
Once you have done all of that, tidy it up and put your two spell icons and your two new .2da files
into a hakpak. What do you do with the script file? Compile it into your module, of course. If you
want to package your spell to send out for others to use, export your scripts as .erf files first.
There are currently some limitations with this approach, most having to do with labels. Let me
describe the spell process and I will point them out as I go.
1. Fire up the Aurora Toolset. Open your module.
2. Add a new item using the Item Wizard. Make a scroll.
3. Launch the Item Properties. On the Properties tab, I can add my new spell effect on the
scroll. Because of the dialog.tlk limitation, it will use whatever STRREF you put into
iprp_spells.2da so look for it there. This is not a huge limitation because you can rename your
scroll to be whatever you want. In this case I rename it Chill Touch and I add a description to
explain what the new spell does.
4. Drop a couple of copies of this blueprint into your module somewhere.
5. Save your module. Fire up the game.
6. As your character, fetch the scrolls you created. Now I can identify each scroll to see what is
on them. Works fine.
7. Use one of the scrolls to learn this new spell (assuming you are the right class and level, of
course). If you go to your spell book you will see the spell there using your new icon. Again,
because of the 2da limitation, you will find that the name in your spell book corresponds to the
STRREF you chose (in my case, Devil Chills). Click on the description. Again, it will
correspond to the STRREF for SpellDesc (in my case, blank).
8. Put the spell in one of your spell slots. Rest.
9. Now go track down a monster (you did put a monster in your module, didnt you?).
10. Fire the spell off at your new monster. Observe its beauteous effects. Makes you feel good,
eh?
11. Use the other scroll to fire off at your monster again. This is what it means to customize the
game.
Even if you find the naming limitation too annoying in-game, there are still uses for custom spells.
Put them on items as special properties (just not in scrolls). That way characters can use them for
as item powers but they cant learn them as spells for their characters. Better yet, give the spells
to enemy spell casters. They wont care that the spell uses funny names and all your players will
see is the effect of that nifty new spell which they cannot learn. Is that unfair, or what? Ah, the joy
of being a DM.


NeverwInter NIghts Custom Content CuIde vJ.0 Armor

ElIgIo Sacateca Page 81 01/06/200J

Custom Armor and ClothIng
Neverwinter nights provides a very customizable process for building armor for PCs and NPCs in
the Aurora toolset. If you find even this dizzying array of choices is not enough for you, this
tutorial will walk through the steps necessary to create armor more to your liking.
We will introduce one new skill to complete this tutorial: using .plt files. The bulk of the effort to
build custom armor is a variation of what you have already learned for custom weapons and other
items.
I have already created an oriental weapon pack. I want to create Samurai-style armor to go along
with this pack to give my module an Eastern flavour. In this tutorial we will start by creating a new
chest plate to test it out. We will take this tutorial in two steps. First, we will override an existing
model to make it look like a new type of armor. Then we will modify the models themselves and
the .2da files that stand behind them to create an entirely new piece of armor.
Part 1: UnderstandIng How NWN Fepresents Armor
Lets look at how NWN represents the different components of a weapon by actually building an
existing one in the Aurora Toolset. Try this exercise:
1. Open up the Aurora Toolset.
2. Create a new Module (we will call it Armor Tutorial for lack of a better name). Use the Area
Wizard to create at least one Area. Use the defaults to set up the area and choose something
simple like a Castle Interior.
3. Select Wizards | Item Wizard.
4. For Item Type select Armor. Click Next.
5. Enter a name (Yoroi). Click Next.
6. Add to the Armor, Heavy category. Click Next.
7. Check the Launch Item Properties checkbox.
8. Click Finish.
9. Select the Appearances Tab.
You can now modify the appearance of the item. The options you choose correspond to the
different Model Ids. Figure 27 is the closest I could get to Samurai armor without doing my own
customization. It will need some work.
Take a closer look at the Appearance tab. Note that there is both a 3D model (used in the game
engine to render a character wearing the armor) and a 2D icon (used in the game engine for the
inventory functions). There are some other unique features as well.

NeverwInter NIghts Custom Content CuIde vJ.0 Armor

ElIgIo Sacateca Page 82 01/06/200J



F|gure 31 - Arror sroW|rg 30 Vode| ard 20 lcor
A suit of armor in NWN is made up of eighteen (yes, 18 there are duplicate pieces for thighs,
shins and feet as well) distinct pieces from Neck down to Feet. It does not include the
head/helmet that is a separate item in the game. By mixing and matching the other 18 pieces,
you can create a vast array of unique armors with the
basic items included in the game.
While we are here, note the two other options:
Male/Female and Color Try changing these values. By
toggling back and forth between Male and Female you
get the same set of armor modeled for a male or female
character. Using the Color button, you can change the
basic color of the cloth, leather and metal components of
the armor (there are two types of each so you have a lot
of room to mix and match your wardrobe) this is what
the .plt files do for you.
Now that you understand the different parts of an armor
model, lets compare those to a typical set of Japanese Yoroi armor. There are seven major
pieces to a typical Yoroi armor. Before you bother to write in to me and tell me how you have
been studying Japanese armor since the age of 3, how there are actual 43 different major pieces,
how armor styles have evolved over the last 800 years, and that I have no idea what Im talking
about, let me say one thing. Youre probably right. Having said that, I want armor that reflects the
style. I want a reasonable model something neither too fantastical nor something that is so
historically accurate as to correctly include to the placement of the 11
th
stitch on the 3
rd
plate of
the Do in the period between 1494 and 1527A.D.
So with that behind us, well talk about those seven major pieces.
The 2D icon
The 3D
model
Notes
Harliquinn_Whiteshadow points out that
while the standard pallets show you 56
colors, there are actually 64. If you
draw your mouse down below the last
row of boxes on the regular palette in
the game or toolset, you can actually
access a hidden row of colors including
metallics, pure black and pure white.
NeverwInter NIghts Custom Content CuIde vJ.0 Armor

ElIgIo Sacateca Page 8J 01/06/200J

F|gure 32 - Japarese Arror (Yoro|)
These pieces correspond closely to some of the major parts of the Bioware model. The Kabuto
and Menpo are part of the helmet so we wont cover them in this section.
Part 2: That Fose ThIng AgaIn
We are going to base our armor pieces on existing models - fire up NWNViewer and select
data/models_02.bif which contains the armor pieces.
|odel Type
Scroll down, way down. What you want are the models that start with p. P represents player
model pieces.
The files that NWN uses for all player pieces follow a strict naming scheme. These items are
named pxyn_<type><id>. For example, the torso piece we will be working with is called
pmh0_chest004.
Face, Cender and Phenotype
After the p, the next three characters represent the race, gender and phenotype of the model.
The values of these characters are as follows:
Kabuto (Helmet)
Do (Torso
and Pelvis)
Kote (Biceps
and Forearms)
Menpo (face)
Haidate (Thighs)
Sode (Shoulders)
Suneate (Shins)
NeverwInter NIghts Custom Content CuIde vJ.0 Armor

ElIgIo Sacateca Page 84 01/06/200J
x Male (m) or female (f)
y Race
a=Halfling
d=Dwarf
e=Elf
g=Gnome
h=Human and half Elf
o=Half-Orc
n Phenotype of the model
0 is normal
2 is large

Armor 0escrIptIon and |odel 0
After these characters, the remainder of the name describes where the piece fits and its ID.
<type> Is the description of the piece
<id> Model #. All pieces use a three digit number.

For example, pmh0_chest004 equates to:
p for player
m for male
h for human
0 for regular size
chest for the torso piece
004 for the fourth torso piece
Here are the standard <type>s and the piece they correspond to in the Aurora toolset we looked
at earlier.

Type Maps to
neck Neck
chest Torso
belt Belt
pelvis Pelvis
shor Right Shoulder
shol Left Shoulder
bicepr Right Bicep
bicepl Left Bicep
forer Right Forearm
forel Left Forearm
handr Right Hand
handl Left Hand
NeverwInter NIghts Custom Content CuIde vJ.0 Armor

ElIgIo Sacateca Page 85 01/06/200J
legr
legl
Thighs
shinr
shinl
Shins
footr
footl
Feet

If you look closely at NWNViewer you will notice a head model as well using this same naming
standard. It is not part of the armor models though
because it is chosen once, at the beginning of the game,
and not changed later. The only way to change the head
model is to equip a helmet. I will talk more about making
new heads and helmets at the end of this section.
You might also ask at this point why the Aurora Toolset
gives you the choice of having different armor types for
the left and right arms and shoulders but not the thighs,
shins or feet. The answer is expediency. It would be rare
to see somebody with mismatched legs. But if you look
at historical armor it is not so rare a thing to see different
arm and shoulder plates. Samurai, for example, often
had different plates on the right side to allow them to fire
a bow without getting the string caught in the rivets and
ties of their armor. European jousting armor is similarly
asymmetrical.
The final observation to make would be that a simple
calculation tells you that you need an astounding 24
models just to make one new armor piece. That would
be 2 for gender x 6 for race x 2 for phenotype. To make
a completely new set of armor, multiply that by the 18
different pieces in one set. That is a lot of work! The
good news is that a program now exists to help you
create all of these extra parts look for NWNArmory on the vault at
http://nwvault.ign.com/Files/other/data/1053910703210.shtml. This program will cut down on the
amount of work you need to do considerably.
If you are making a new armor piece for player-
characters, I would suggest not scrimping on the 24
pieces you will need. The last thing you want is armor
that does not work for some characters because you did
not include their phenotype, race, or gender
combination. However, if you are making an armor piece
for an NPC, you can focus just on the models you need
for your NPC race and exclude the rest.
SpecIal |odels
There is only one special model type. It has the simple format pxyn. There is one for each
gender, race and phenotype armor model but it does not vary according to the armor pieces.
What is this model for? It is the template for how you assemble a PC from these component
parts. It contains one node for each of the PC parts we have described here. By replacing this
node with the corresponding armor piece you can build up a complete character. I will discuss
this more in the section of this tutorial on Custom Races.
Hints
Be innovative! Some folks have come
up with really novel ways to massage
the basic armor parts to get what they
want. Here are a few examples.
There are no cloaks in the game and
no inventory slot to put on a cloak.
What is a person to do? Kinarr
Greycloak created a cloak model that
attaches to the neck node of your
armor. Others have started to do this
with things like hats, etc.
Bioware did not include robes because
of clipping issues (on animation the
legs of your character fly right through
the material). Lisa included invisible
body parts to add to her robes and
dresses hak. You select the robe as
part of the armor, make the feet and
legs invisible so they dont clip, and
away you go.
Hints
I built NWNArmory to address this
exact problem of having to duplicate all
of the armor parts for all of the races.
Refer to the section at the end of this
tutorial for details on how to use this
program.
NeverwInter NIghts Custom Content CuIde vJ.0 Armor

ElIgIo Sacateca Page 86 01/06/200J
Dther FIles
In addition to the model files there are five other armor-specific files you will need for each armor
piece.
There is one texture file per gender for each armor part (but only one for both phenotypes and all
races). These two files have the same naming standard as the model for the default-sized,
human male and female models. This is not a .tga texture file. It is a PLT.
There is also one 2D icon file per gender for some of the armor parts. These are only needed for
the upper body armor parts. These two files have an abbreviated naming standard which is
ipx_<type><id>.plt.
i Icon
p Player
x Male (m) or female (f)

Finally, there is an item resource definition (.2da file) for each type of part. The .2da that needs to
be edited is parts_<type>.2da.
Part J: FIndIng the Armor |odel and Texture
Back to our tutorial we want to create a banded Do for our armor. Some of you may be jumping
ahead. Youve already exported the model piece (pmh0_chest042 from the diagram above for
my Yoroi), you fire up your modeling tool, import the model and what the? It is the wrong piece.
To model the piece Ive shown, you actually need to open pmh0_chest052. Unlike the weapons
where the model #s in the Aurora Toolset GUI mapped directly back to the model #s in the BIF
files, armor does not follow the niceties of this convention.
How do I get the right model file then? Here is a trick from Harliquinn_Whiteshadow. In the Aurora
toolset, create a set of armor using the piece or pieces that you want to take as a starting point for
your new armor. Then export the erf file. The erf file tells you the proper model #s. Here are the
steps:
1. Open up the Aurora Toolset.
2. Open the Armor Tutorial module we created earlier.
3. Select Wizards | Item Wizard.
4. For Item Type select Armor. Click Next.
5. Enter a name (test). Click Next.
6. Add to the Armor, Heavy category. Click Next.
7. Check the Launch Item Properties checkbox.
8. Click Finish.
9. Select the Appearances tab.
10. Using the drop-downs, modify the armor pieces that you want to use as a base for your
creation. In my case, all I care about is the Torso piece # 042 (refer to Figure 29).
NeverwInter NIghts Custom Content CuIde vJ.0 Armor

ElIgIo Sacateca Page 87 01/06/200J
11. Click OK to save the updated armor.
12. Right click on your new Template_Armor. Select Export.
13. Save the resource file (the .erf) as Template_Armor.erf.
14. Now close the Aurora toolset.
15. Open NWNViewer (I find you cannot use all of the features in NWNViewer when the Aurora
toolset is open I think it is because they share some common functions).
16. Select File | MOD HAK ERF. Navigate to your Template_Armor.erf file and open it.
17. There are two lines in the left pane: ExportInfo.GFF and a UTI file which is your actual
exported item. Select the UTI file. In the right pane, scroll down until you see the line
corresponding to your armor part (s). In this case I have circled the line I want in red pen.

F|gure 33 - us|rg NwN v|eWer lo lderl|ly lre arror rode|s
From this you can see that if I want to use my chosen model as a starting point I need chest052,
not chest042.
Fire up NWNViewer again; from within the data\textures02 directory look for the 24 instances
of p***_chest052.mdl files and extract them. These are the model files you need.
You also need the PLT files. As previously discussed, there are only two of them:
pmh0_chest052.plt and pfh0_chest052.plt. You will find them in
data\textures02.bif - sort of. The problem is that these are small files - very small. How
does Bioware get so much texture into your model from such small texture file?
The answer is that they dont. NWN is designed to scale the size and complexity of its textures to
what your PC (your Personal Computer, not your Player Character) can handle. The detailed
textures can be found outside of the usual bif files.
1. Open up NWN Viewer.
2. Use File | MOD HAK ERF and navigate to the \texturepaks sub directory.
NeverwInter NIghts Custom Content CuIde vJ.0 Armor

ElIgIo Sacateca Page 88 01/06/200J

3. Figure 34 - Texture Packs
4. Select Textures_Tpa.erf (the largest, highest resolution textures).
5. Jackpot. Now you can navigate to your PLT files.

6. Figure 35 - Torso PLT File for human, female, # 52
7. Extract it. Do not use the Export (BMP) feature. Right click on the PLT files and extract them.
8. Now you are ready to make changes.
NeverwInter NIghts Custom Content CuIde vJ.0 Armor

ElIgIo Sacateca Page 89 01/06/200J
Part 4: CreatIng a New Texture
Taking a close look at the torso model files you may notice that the 52 armor pieces in
NWNViewer are, in fact, only about a dozen unique models combined with different textures. We
will take a similar approach I dont need a new chest model for my Do. What I really need is a
new texture to make it looked like banded mail. For now, we will replace the existing chest model
piece 052. This means for now I do not need to actually change the 24 model files. I only need to
change the two PLT files. In the next section I will show you how to add my Do as a new armor in
its own right, including the model files.
The general process for each PLT will be to:
1. Convert the PLT to a bitmap. Use pltcon for this.
2. Edit the bitmap with your preferred image program. It must be a program that supports color
channels.
3. Convert the bitmap back to a PLT. Again, use pltcon.
EdItIng the 8Itmap
I mentioned that you needed an image program that handles color channels. After you have used
pltcon to extract the bitmap, load it into your image-editing program. It will be a mixture of odd
colors.

F|gure 3 - Tre PLT as a o|lrap
Convert the bitmap into its component Red, Green, and Blue color channels. Using Picture
Publisher I do this with Image | Channels | Split RGB. You will get three grayscale images:

Notes
A refresher on basic color theory. The
color you see in a 24-bit color image is
made up of three channels: Red, Green
and Blue (RGB). Each pixel has 3 bytes
of color information: a byte depicting
the intensity of the color Red with a
value between 0 (no red) and 255
(bright red), Green between 0 and 255,
and Blue between 0 and 255. By
combining these three channels into a
single pixel you see a single color in the
spectrum.
NeverwInter NIghts Custom Content CuIde vJ.0 Armor

ElIgIo Sacateca Page 90 01/06/200J


Note the areas of pure white and pure black. These are the keys to understanding which parts of
the PLT correspond to the different texture types in the
game engine. For example, there is a pure white patch in
the same section of the R and G images this
represents Leather 2. There is a pure black section only
in the Blue image this represents Metal2.
Why do we do it this way? Because it is much easier to
edit the grayscale channels and mask off the sections we
dont need for each texture type than it would be to try
and do this work in color and maintain the color
separation we need.
We will start with this base and edit our image from here.
Once we have created the texture we want, we map the
final image to the different textures we want for each
section. To do that, block out the color channels with
pure black (0) or pure white (255) according to the following chart:

Channel
Texture RED GREEN BLUE
Cloth1 255 Active Greyscale
Cloth2 Active 255 Greyscale
Leather1 Greyscale Active 255
Leather2 255 255 Active
Tattoo 1 255 Active 255
Tattoo 2 Active 255 255
Metal1 Active 0 Greyscale
Metal2 Active Greyscale 0
Hair 0 Active Greyscale
Skin Active Greyscale Greyscale

Notes
A bit more of a refresher. A 256-bit
greyscale image has a value between 0
(pure black) and 255 (pure white) in
each pixel. What your image edit
program does to get these three
separations is take the RGB color
image and break each channel into a
separate image. The pure black
through pure white value in the
greyscale image comes from the
intensity of the corresponding color in
the original channel.
Metal2
Leather2
Notes
This wonderful chart comes from
SamJones & Lisa at
http://nwnbuilders.com/
NeverwInter NIghts Custom Content CuIde vJ.0 Armor

ElIgIo Sacateca Page 91 01/06/200J
For example, to get Leather2, put pure white (255) in both the Red channel and the Green
channel. Put the edited image in the Blue channel (what I have shown as Active).
To get Metal1, put pure black (0) in the Green channel. Put the edited image in the Red channel
(what I have shown as Active). The Blue channel (what I have shown as Greyscale) can be
anything except pure white or pure black (the Bioware images seem to put a copy of the Red
channel in the Blue but this is not strictly necessary).
To get Skin, put the edited image in the Red channel. Again, Bioware tends to copy this same
image into the Green and Blue channels as well and this is fine. As long as they are not pure
white or pure black it should be fine.
Note when I indicate a greyscale image, I mean a value between 1 and 254.
When you have done all of this masking on each channel, recombine the greyscale images into a
color image. With Picture Publisher, you can do this using Image | Channels | Recombine. Then
use pltcon to turn the bitmap image back into a PLT file.
You dont have to start with a Bioware PLT file. You could also begin with your own texture.
Convert it to greyscale and make three copies. Mask out the areas I have indicated above with
white or pure black by hand and then recombine the images into a single color image.
0on't Forget the con
Lets not forget to update our 2D icon files as well. Again, you only need a male and female
version of these. They share a scaled-down version of the full model naming standard:
ipx_<type><id>.plt.
i Icon
p Player
x Male (m) or female (f)

Note the .plt extension. These are not Targa bitmaps like other icons. By making them PLT files,
the game engine can automatically apply your color selections to the icon as well as the model
itself. In our example the names of the icon files we need are ipf_chest052.plt and
ipm_chest052.plt. Note that you do not need icons for all pieces. They are only required for
belt, chest, pelvis, and left and right shoulder pieces (take a close look at a piece of armor in your
inventory it does not show the entire suit).
Extract your 2d icons. Convert them to bitmaps using pltcon. Separate the channels and edit
them. Recombine them. And finally convert them back to PLT files.
That is all there is too changing the texture of your armor (well, okay, I admit it is fairly complex).
Now all you need to do is load your new PLTs into a hakpak and import them into a module.
Done.
Part 5: The Armor Fesource FIles
Like our first example of creating a new weapon, the process I walked you through has some
limitations. The biggest one is that you have replaced an existing model. What if I want to add my
armor piece as a new model? There are a couple of steps I did not talk about. You need to edit
the model files themselves and the armor 2da files. Let me take you through an example of
turning the armor we just created into a separate item.
Crack open those pxyz_chest052 model files.
NeverwInter NIghts Custom Content CuIde vJ.0 Armor

ElIgIo Sacateca Page 92 01/06/200J
DptIon 1: EdItIng by Hand
I can actually get away without using a modeling tool if I do the editing by hand. Im going to
assume that I dont need to change the actual shape of the armor.
1. Use NWNMDLComp to decompile the binary model files into ASCII files (see the section on
Weapons for more detail on how to do this).
2. Edit each model file by hand. Change any instances of chest052 to chest054 (the next highest
model #). For the chest piece there are typically three places where you need to do this. If you
have a utility like BK ReplaceEm, this is a simple process.
DptIon 2: |odelIng
If you actually want to change the shape of the armor (adding
big nasty spikes, or a peacock-plumed tail, etc.) fire up your
modeling tool and go wild. Save the results of all 24 changes
as p<xyz>_chest054.mdl and dont forget to change those
internal references.
Rename your 2 PLT icons and your 2 PLT texture files as well.
Extract and open up the 2da file as well. In our example it is
parts_chest.2da:
Column Description Values
The ID number Start at 54, after Biowares last piece.
I would normally tell you to start
much higher but this figure must
match to the armor ID number and
we want it to be consecutive.
CostModifier Change to the cost figures for this
part.
Leave it as zero.
ACBonus The AC bonus you get for wearing
this armor.
Because Yoroi is like banded mail
(not a solid plate), I used 6.00.

The last few lines of my new 2da file now read:
52 0 7.00
53 0 8.00
54 0 6.00

That is it. Now package up your armor pieces, your 2da files,
and your textures and put them in a hakpak. Load everything
into your module and give it a try.
Part 6: NWNArmory
NWN Armory is a tool that performs renaming, scaling and
rotating on NWN PC model parts to generate other model
parts. Why would you ever want to do this? It is intended for
two main reasons although there may be other applications for
it as well
Notes
If you import your new model into the
existing module we created earlier, you
will get a better feel for why the
numbering scheme between the Aurora
toolset and your model number is
different. By adding this new model it
does not go at the end of the existing
list, it goes somewhere in the middle (#
38 to be precise)! Everything after it
gets pushed out by one.
Why? Because we gave it an AC
Bonus of 6. The toolset sorts armor
pieces by AC first and then model
second. So it puts our banded mail in
the list ahead of the original half plate.
Confusing? A bit. But it makes things
easier for a module creator because
they know the lower value armors are
the lower AC ones.
Notes
The only parts_<name>.2da file that
affects your armors AC bonus is
parts_chest.2da. The other files
have an AC Bonus column but it does
not appear to be used. It may have
been part of a scheme to allow other
armor pieces to impact the total AC
value of the final product that was
abandoned because the method was
too complicated.
NeverwInter NIghts Custom Content CuIde vJ.0 Armor

ElIgIo Sacateca Page 9J 01/06/200J
1. Creating all race models from a human template. Let's say you create this new chest piece
for our Yoroi. You need to model it for a human male and create another version for a human
female. There are also two phenotypes (phenotype = body size, standard and large) so you
need to create these as well. That part you need to do as Ive just shown. Now there are five
more race models (halfing, gnome, elf, dwarf and half-orc). You would need to make twenty
more of those armour pieces just to be able to have one for all the elves, halflings, etc.
NWNArmory will do most of that work for you based on your four starting models.
2. Creating all armour models for a new race. Let's say you want to create a brand new race.
Maybe it will be slightly taller and skinnier than an elf (a githerzai, say). There are hundreds of
model pieces out there if you want your new race to be able to wear all available types of
armor. But you can tell NWN Armory how your new race differs from one of the standard races
(say an elf) and it will transform those hundreds of pieces for you.
How do you make it work? Well talk about the first scenario above, creating all race models from
a human template. In the section of this tutorial on Custom Races well discuss the second
scenario.
1. Download NWNArmory.
2. Install it by unpacking all the files in the .zip into a single directory.
3. The NWNArmory.ini file contains the standard transforms when you first install the program
(the transforms were graciously provided by BearThing). This is the default although if you
have modified it you will need to copy standard.ini in place of NWNArmory.ini. I probably
should make a wizard to do this. Maybe next version.
4. Fire up NWN Armory and tell it which models to use as base models. These models must
follow the standard NWN naming conventions (e.g., pfh0_belt009.mdl). They must also be
ASCII model files. If they are not ASCII model files, use NWNMdlComp to make them into
ASCII model files if they are binary.
5. Tell NWN Armory which directory to put the transformed models into.
6. Go. What this program will do is compare each input file against the standard list of transform
groups. Where there is a match, it will rename the model and apply the racial transforms and
save the resulting model in the output directory.
7. Done.
Part 7: AddItIonal Notes
There are a couple of other 2da files that you may be interested in. The first is Armor.2da. This
file describes, by AC Bonus value, the characteristics of each set of armor. In general, you would
not need to edit this file unless you wanted to change some of the basic considerations for each
AC class. Why? Because the existing file already covers the 9 basic AC types. This table is not a
reference by piece or by armor type.

Column Description Values
The ID number
ACBonus The AC bonus you get for wearing This is not actually used to identify
the AC bonus for the armor the AC
NeverwInter NIghts Custom Content CuIde vJ.0 Armor

ElIgIo Sacateca Page 94 01/06/200J
Column Description Values
this armor. bonus value appears to come from
the parts_chest.2da file. This file,
armor.2da is used to identify the
other statistics of a piece of armor
with that AC.
DEXBonus The maximum dexterity bonus for
wearing this armor.

ACCheck The penalty to using some of your
skills when wearing this armor (e.g.,
Moving Silently in full plate).
Applied as a negative to your skill
success roll.
ArcaneFailure% The chance that a spell cast when
wearing the armor fails.
Rolled on a d20.
Weight Weight of the armor in pounds.
Cost Base cost of the armor.
Descriptions The STRREF for this type of armor in
dialog.tlk.

BaseItemStatRef The STRREF for the statistics of this
armor in dialog.tlk.


Armorparts.2da and armortypes.2da are the other two files although I have to admit I dont
know what the values in these files means. Armortypes, for example, only includes 42 different
types. Im not sure what these relate to.
Part 8: A note on clothIng
There is no difference between armor and clothing. Clothing in NWN is simply armor with an AC
of 0 (zero). The same applies to actual body parts (a bare arm, leg, etc.) The models work the
same way and follow the same standards. The biggest difference is in the modeling: clothing
typically includes a Flex modifier so that it moves somewhat independently of the wearer. I will
talk more about Flex modifiers in the Creatures section.
Part 9: Notes on heads and helmets
Earlier I mentioned that heads share the same naming standard as other armor components. In
most respects, heads and helmets are the same as other armor pieces. There are multiple head
models, for each race and phenotype. They use PLTs instead of .tga texture files. And so on.
There is one significant difference though: recall that armor models for the different races and
phenotypes all share one PLT file (based on the pmh0_ or pfh0_ PLT file). Head pieces are
different for each race (so there is one PLT file for the pma0 version, another for the pmh0
version, etc.) This is how NWN minimizes space with armor files but gives a wide array of unique
appearances for the different race types. The same PLT texture is stretched across the different
armor pieces but we get unique textures for heads and helmets to ensure that elf heads do not
look like skinny half-orc heads.
Let me talk for a moment about helmets as well to discuss some limitations with the NWN game
engine. When you don a helmet you replace your characters head model. NWN does not support
layering of multiple head models. This is why all of the NWN helmets are closed-face: it does not
matter which character head you have chosen, you get the same helmet plopped down on your
NeverwInter NIghts Custom Content CuIde vJ.0 Armor

ElIgIo Sacateca Page 95 01/06/200J
characters shoulders when you choose to wear a helmet. The helmet does not sit on top of your
characters head model instead, it completely replaces your characters head model.
Not surprisingly, this is annoying for people who play mages, monks, etc. It would be nice to have
a mage who can take advantage of the properties of special headgear while, at the same time,
not look like (s)he is wearing an upturned bucked over her/his head. There have been requests
for non-replacing headgear (for example, a headband that does not show up in-game at all but
can be placed in your characters helmet slot and can be given special powers). Dont hold your
breath waiting this does not seem to be a high priority request with Bioware.
Some modelers have tried innovative approaches to getting the same effect - including helmets
with partial face veils with varying degrees of success. One possible solution is to produce a
helmet model specific to each character head model but without GetAppearance() and
SetAppearance() to ensure the right model is put in place when your character dons a helmet,
these cannot be implemented today. And, to be honest, they are quite kludgy.


NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 96 01/06/200J
Creatures
Okay, here we go. This is what you have all been waiting for: creating new monsters. This is an
advanced tutorial. It requires you to understand almost everything we have done so far:
NWN Viewer
Hakpaks
3D Modeling
2D portraits
2da files
Voicesets
I want to build a giant crab. Ive done Wave, Whelm and Blackrazor for S3 White Plume
Mountain. I can find a gynosphinx and scorpions on NW Vault. But I dont have a crab. The
modules I have seen so far fake it with other creatures. I want a real giant crab.
Where do we begin? Well, lets find something that at least vaguely resembles the final product.
Crabs and spiders share a lot of features. There are a lot of spider models so I am going to use
one of them.
Part 1: UnderstandIng How NWN Fepresents Creatures
Lets look at how NWN represents a creature by actually building an existing one in the Aurora
Toolset. Try this exercise:
1. Open up the Aurora Toolset.
2. Create a new Module (we will call it Creature Tutorial for lack of a better name). Use the Area
Wizard to create at least one Area. Use the defaults to set up the area and choose something
simple like a Dungeon.
3. Select Wizards | Creature Wizard.
4. Click Next.
5. For Monster Type select Vermin.
6. Click Next.
7. Do not add any special classes.
8. Click Next.
9. Go with the default Gender, Appearance and Portrait.
10. Click Next.
11. Faction can be Hostile.
12. Click Next.
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 97 01/06/200J
13. Enter a name (Crab Wannabe).
14. Click Next.
15. Add to the Special, Custom1 category.
16. Click Next.
17. Check the Launch Creature Properties checkbox.
18. Click Finish.




F|gure 3Z - 3p|der sroW|rg rode|s ard vo|cesel
When you create a custom monster you can use whatever model you choose but you are limited,
of course, to models in the game. You can also choose your own Portrait and Voiceset. Check
out the Appearance tab. For a simple model like this you do not have the ability to change any of
the model pieces that make it up.
So there is our crab. The only problem is, it looks like a spider. But now that you have seen the
different parts of a creature model we will need to look at, lets get started on turning that spider
into a real crab.

The 2D icon
The 3D
model
The Voiceset
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 98 01/06/200J

Part 2: The Creature Fesource FIle
Ill bet you thought you knew how this worked by now and that the section after I showed you the
toolset would talk about naming standards. Well it isnt. The basic naming standards for creatures
are pretty arbitrary because you use the appearance.2da file to identify your new creature and
specify its model. Inside each model there are some naming standards and we will get to them
but we will do that later because they relate more to animation
than any specifics in the game itself.
Im going to step out of the usual flow I normally give you and
start with the resource file. I will show you how you can take an
existing creature, create a new version of it, texture that new
version and use it as a new model. In this case, we will make a
crab that looks just like a spider but is orange. Kind of a sorry-
looking crab but dont worry, it is just a starting point.
What we have to do is add a new creature resource in the
appearance.2da file. Again, we will get the
appearance.2da file from \source\2dasource.zip
(Bioware had to change it to add their Kobolds, Rats and Gnolls).
1. Copy the new appearances.2da file to the directory for your model and icons.
2. Open appearance.2da.
3. Go ahead and take a look at it. Scroll down until you get to the giant spider entry. You should
see this:
158 Spider_Dire 2128 Spider_Giant...
159 Spider_Giant 2129 Spider_Giant...
160 Spider_Phase 2130 Spider_Giant...

4. These different entries describe the many creatures in
the game. I dont show all of the columns here because
there are too many.
5. Copy the Spider_Giant entry and paste it at the bottom.
6. Modify the entries as appropriate for your new creature.

Column Description Values
The first column is the creatures ID
LABEL The name of the model as it appears
in the toolset list.
If you put it in quotes you can have
spaces and commas. Example: "Cat,
Domestic"
STRING_REF Name of the model referenced in
dialog.tlk.
If you put **** in this space it should
use your Label in place of the string
reference in dialog.tlk.
NAME The internal label for your creature. Use an underscore _ instead of
Notes
The appearance.2da file layout is
derived from a compilation by Kinarr
Greycloak.
Notes
When they added the new monsters,
Bioware created a lot of new lines in
the appearance.2da file for Reserved
and User slots. They did this to keep
from totally breaking any newly created
creatures. To update your 2da file, you
can simply put your new creatures into
the user slots in the same slots where
they were before.
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 99 01/06/200J
Column Description Values
spaces.
If this is for a custom character (i.e., a
real PC model), this needs to have
the value Character_model.
RACE The file name of the model without
the extension.
Example: c_crab
If this is for a custom, dynamic
character (i.e., a real PC model), this
needs to be a single character
corresponding to the race identifier
(e.g., h for human, e for elf, etc.).
ENVMAP That's the environment map applied
to the alpha channel in the model's
textures.
That's the environment map applied
to the alpha channel in the model's
textures. Default' is for PCs and any
other creature with reflective armor.
'evmap_irrid' is only used by Stag
Beetle and Umber Hulk and gives
them a rainbow hue effect.
'****' no map, this will give you
transparency on your model - black in
the alpha channel will be completely
transparent.
BLOODCOLR Color of the blood the creature spills
when hit.
R Red
W White
G Green
N - ?
Y Yellow
MODELTYPE The type of the model for determining
which animations to use.
P = player animation type
F = full animation (humanoid models,
generally). They use the same
animations as PCs like 'run' and
'walk'. They have a supermodel that's
an a_ba variant just like PCs.
Example: Succubus
S = simple animations (most animals
have this, meaning they really only
have their taunt animation plus
attacks). These models use only
creature animations like 'crun' and
'cwalk'. 'S' models cannot equip
weapons. Example: Wolf
L = large creature animations (Balor,
Giants, etc.). They use the same
animations as 'S' models (crun and
cwalk, etc.) but they CAN equip
weapons. These are for 'humanoid
monsters' but are not necessarily
large creatures. Dragons, for
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 100 01/06/200J
Column Description Values
example, are 'S' type because they
don't wield weapons.
WEAPONSCALE Amount to scale weapons so that they
are appropriately sized for use by this
model.
Human = 1 on all scaling -- adjust as
necessary for creature size
WING_TAIL_SCALE Amount to scale wings and tail so that
they are appropriately sized for this
model.
Human = 1. Model needs to have a
wings or tail node to use this.
HELMET_SCALE_M Helmet scaling for male. Human = 1
HELMET_SCALE_F Helmet scaling for female. Human = 1
MOVERATE Movement rate of the creature Defined in creaturespeed.2da
(NORM, FAST, etc.)
WALKDIST
RUNDIST
I am not sure on what values to use
for these two but I think they set the
speed of the walk and run animations.

PERSPACE Personal space: How much space the
model will allow around it.

CREPERSPACE I think this is Combat ready personal
space: Amount of space around the
model in combat.

HEIGHT 1 is the only value Bioware uses.
HITDIST
PREFATCKDIST
These next two values determine the
spacing between models during an
attack and maybe which animation is
used.

TARGETHEIGHT This model's impact point. This tells
characters where to aim at the model.
H high
L low
ABORTONPARRY Not sure what this means but most
animals are 0, everything else 1
RACIALTYPE This is the race of the model as
shown in the creature properties.
Appears to be from racialtypes.2da
but the order is wrong.
HASLEGS Does the model have legs? 0 for no
1 for yes
HASARMS Does the model have arms? 0 for no
1 for yes
PORTRAIT The portrait reference of the model. Refer to the NPC portrait tutorial
above.
SIZECATEGORY The size of the model. References creaturesize.2da
PERCEPTIONDIST The creatures perception range.
FOOTSTEPTYPE Which sounds to use for footsteps. References footstepsounds.2da
SOUNDAPPTYPE Some specific creature type sounds. References appearancesndset.2da
HEADTRACK Does the models head follow the 0 for no
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 101 01/06/200J
Column Description Values
current speaker? 1 for yes
HEAD_ARC_H Horizontal range of head tracking In degrees.
HEAD_ARC_V Vertical range of head tracking In degrees.
HEAD_NAME The name of the head node used in
the model.
Example: head_g (for PCs)
BODY_BAG What gets left on the ground after the
creature dies.
References bodybag.2da
TARGETABLE Can you target the creature for attack
or interact with it?
0 for no
1 for yes

7. Now, extract the model for the giant spider (c_spidgiant.mdl). It is in
data\models_01.bif.
8. Use NWNMdlComp to decompile the binary model file (see the directions in the Weapons
section of this tutorial). Rename the file ASCII model file to c_crab.mdl.
9. You need to rename the Aurora base item from c_spidgiant to c_crab. While you are at it,
rename the internal model reference for the texture that it uses from c_spidgiant to
c_crab. We will create a new texture in a moment. You can do this either by editing the ASCII
model file directly or by opening the model in your modeling tool and doing it there. This is not
a tutorial on modeling, per se, so I leave that as an exercise to the reader (well have lots of
opportunities to look at the model file later when we start to turn the spider into a real crab).
The simplest way is to open the .mdl file in a text editor and do a global rename.
10. Now, extract the texture file for the giant spider (c_spidgiant.tga). It is in
data\textures_01.bif.
11. Rename it to c_crab.tga.
12. Open it in your image program (Picture Publisher for me).
13. It is made up of variations of black and green. While it is too early to start repainting it to a crab
shell, lets at least make it orangish so that it does not look like a lime green, nuclear, glowing
crab. I did this by making it greyscale, turning it back into an RGB image, and then shifting the
hue of the greyscale image to orange/red. This is what it looks like. Still makes a pretty sad
looking crab but be patient.

F|gure 38 - Crao lexlure
14. Back through the same routine. Load the new 2da file, model, and texture into your hakpak.
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 102 01/06/200J
15. Load up your module in the Aurora Toolset.
16. Point it at your hakpak. Save, close and reopen your module.
17. Now you can create a new crab using the Creature Wizard. You no longer have to create a
vermin.


It looks a bit like a horseshoe crab now although it still has a spiders portrait. We will tackle the
portrait next and then we will get to actually turning our orange spider into a crab.

NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 10J 01/06/200J

Part J: CreatIng the 20 PortraIt
Lets make the creature portrait. There really isnt anything new to show you here. The format for
creature portraits is the same format as PC and NPC portraits. Go back and review that section if
you cannot remember it. Even the naming standards are the same. In our case, our portrait files
are po_crab_<size flag> where <size flag> is h, l, m, s and t.
I am not a big graphic artist with 2D images. But I can use Picture Publisher fairly well. Here is a
trick you might find useful (at least if you are modeling real-life animals). Find a photo that works
well for you. Rotate, crop and resize it as I showed you earlier to the Huge size. Dont forget to
leave the blank space at the bottom (the Huge portrait is 256 x 400 with another 112 pixels at the
bottom). Now, the problem is, the standard Bioware portraits are drawings. A photograph looks
out of place. But all is not lost. Many good drawing programs have filters. I applied a watercolor
filter to my photograph, play with the controls a bit, and it gives me something that looks like a
drawing. Here is mine:

F|gure 39 - Crao Porlra|l (luge)
Now create 4 more versions of this in different sizes. Edit portraits.2da to make the new
portrait available and appearance.2da (the PORTRAIT column I indicate above) to tie it to your
new creature. Then add all six files to your hakpak and bring it up in your module. Now you can
change the portrait for your creature to this one.

NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 104 01/06/200J

F|gure 10 - Crao W|lr 20 porlra|l
Seems like a lot of work just so I can call an orange spider a crab (dont make me have to tell you
to be patient again).

So why did I go through and show you all of this as a starting point? Because the steps I have
just gone through are what you need to do to retexture an existing model. Using this process, I
can create variations on the existing Orc, Kobold or Minotaur models to make Sarumans Orcs of
the White Hand, to make Kobolds dressed in princely garments, or Minotaurs with chain mail.
With good 2D texturing skills, you can make some very unique monsters without having to know
3D modeling. Maybe not the best approach for making a crab but it works well to create variations
on an existing monster.


NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 105 01/06/200J

Part 4: CreatIng the J0 |odel
While you can create a lot of different models with the basic
steps in Parts 2 and 3 of this tutorial, this isnt enough if you
want an entirely new creature that does not have the same
shape as an existing creature. I want a real crab, not an
orange spider. So now we have to tackle our model. To do
this, you need to know the basics of 3D modeling, including
a basic understanding of animation. If you dont have that
yet, go get it Ill explain what NWN needs in terms of
animation and nodes but you wont learn the details of how
to do animation, keyframes, or Inverse Kinematics here.
The |odel
Creature models for NWN are meshes, like other NWN
models. However, they are segmented:
1. Load the crab model into gmax by opening the Import MDL sub-menu in the NWN MDL Tool
pane (not the File | Import function) and using the Browse pushbutton to select the ASCII
file you created in Part 2.


F|gure 11 - Tre grax pop-up lor NwN
2. You can minimize the MDL window after you open
the file. Take a close look at the model you loaded.
Notes
Watch those polycounts (this is low-poly
modelling, remember?) The CEP
recommends the polygon limits be
assessed by the type of creature:
Herd/Swarm Creatures: 700
polygons
A herd/swarm creature is any creature
that will typically be deployed in
numbers greater than 12. Examples -
Kolbolds, Giant Rats, Goblins
Group Creatures - 1200 polygons
A group creature that will appear in
numbers greater than 4 but less than
12. Examples: Orcs, Ogres, Dire Bears
Single Creatures - 1500 polygons
A single creature is any creature that
will typically be deployed in numbers
less than 4. Examples: Elementals, Iron
Golems
Uniques/Rares - 3000 polygons
A unique creature is any creature that
will typically be deployed alone with
zero to very few attendant creatures.
Examples (figurative): a daemon
prince, a greater celestial, an ancient
dragon
Notes
If you reskin a creature, be sure to
remove its animations and set the
supermodel to the parent (original
creature model). More on this in the
section on animating but for now do
this:
In max or gmax, set the supermodel
parent on the base object and delete all
of the existing animations.
If you are editing the ASCII model file
by hand, delete all of the newanim
lines and insert the following:
supermodel <child> <parent>. In
our case <child> would be c_crab and
<parent> would be c_spidgiant.
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 106 01/06/200J
Note the base object this is used to link attributes to models (animations, etc.). The crab is a
child mesh of the base. If you completed Part 2 already, the name of the base should already be
c_crab. You will see that the model has one mesh object for each leg section (24 in all), one for
the main body, one for the thorax, etc. Anywhere you want a creature to be able to bend or move
independently, you need a separate mesh.
If you select these parts you will find their naming standards are not specific to the model. This is
how NWN re-uses animations. Parent animations refer
to part-names. In this case, the spiders legs are
Capsule01, Capsule02, etc. If we leave those names
alone, we could use some of the spider animations for
our crab without having to duplicate them ourselves.
Unfortunately, we will find after playing with the spider
animations that they are a little awkward to use for our
crab. But we will use them as a base for some of our
animations. More on this later.
So with that background, put those modeling skills that you learned elsewhere to use:
Shorten and fatten up those legs. You may find it easier to do just one set on one side and
clone them for the opposite side. It makes modeling and skinning go faster.
Clone and add an extra set of legs (crabs have 8 legs and 2 arms, spiders have 6+2).
Squash the bulbous body into a crab shell. Again, you may just want to do half the shell (make
sure you can cut it exactly in half on a plane straight through the body) and then clone/mirror it
to make the other half. This cuts down on texture space and on the actual work you have to
do.
Model a set of pincers for the front legs. Even though I made them different sizes, I used the
mirror/clone trick to duplicate them again.
When we are done it should look something like this:
Notes
This description of rigid, parts-based
models is not 100% correct you can also
do models based on a skin and bones
more on that in sub-section Part 9: Skin
and Bones.
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 107 01/06/200J

F|gure 12 - Vy crao |r grax

Now, before you proceed, I can guarantee you have a lot of world transforms in your model.
These dont export to NWN. So select your entire model, and break apart all of the pieces (unlink
them ). Then, with all of the sections still selected, reset the transforms and collapse the
new transform onto the stack for each of the pieces. This way you will not have messy problems
with your parts being exported in stretched shapes or partial rotations (if your creature explodes
when you export it and then import it into the game, you probably didnt ResetXforms properly).
Dont reset transforms on the Aurabase object! This will mess up your animations scaling when
you export your creature. For more information on ResetXforms, refer to the tutorial on Weapons.
At this point if you are using 3ds Max, it is a good idea to do an "STL Check" (sorry, this is not
available for Gmax). This will do a simple sanity check on your objects and faces and look for
things like unclosed edges, duplicate polys, or inverted polys, etc. This helps especially to track
down problems that show up only in the game.
TexturIng
Texturing and animation are actually more difficult than the 3d modeling itself (well, I find it to be
true although admittedly my 2d texturing skills are limited). If you have made it this far you are
less than one third done so dont get too excited by all the praise they will shower on you on the
Custom Content forum for your model at this stage. The process for texturing is the same as it is
for other models. Try to maximize your use of the space on the texture file. Try to avoid
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 108 01/06/200J
unnecessary work and unnecessary space in your texture file by mirroring parts of your creature,
etc. In my example, since the crab is almost
completely symmetrical, the texture only includes:
half the top shell
half the abdomen
one leg segment, top and bottom
one antenna
one eye stalk
one pincer
one main claw

Notes
I would suggest a 24-bit .tga file in
512x512 pixels.
You can create a DDS file from it when
you are done and a lower-resolution
.tga file for older video cards.
You should put all of the body parts into
one texture file although really large
and/or unique models (like the dragon)
actually use 2 or 3 texture files of this
size.
Not that using the alpha channel for
transparency only works sporadically
on creatures it appears to be a bug in
the game engine. Every 13th creature
of the same type in one area works.
Weird, eh?
However, you can set an alpha
transparency on any or all
objects/nodes within a model. In the
ASCII model file it looks like:
Alpha 1 # full opacity
Alpha 0 # full transparency
Alpha 0.5 # half transparency
Check the shadow creature for an
example. This does not allow for the
detail that an alpha mapped texture
would provide, but it will work for a
simple transparency/ghost-like
presence.
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 109 01/06/200J

Part 5: AnImatIon
Now it is time to animate our crab. Let me start by describing how animation works and then how
animation in NWN maps back to animation in 3dsMax and gmax (collectively, Max), the two
most common tools for this. This is not a tutorial on Max animation (use the references at the
beginning of this tutorial to build your knowledge in that area). What I will try to do is link common
animation concepts back to NWN as part of this background discussion. This should help you
map what you know to what you need to do in NWN.
AnImatIon
Think of an animated film of a crab raising one of its legs. Not an exciting film, but a film
nonetheless. It would consist of a series of still pictures where the crab moves its leg a small bit
in each successive picture until the leg is raised up into the air. Each picture is a frame. If you run
the frames back in quick succession, your eyes will
perceive a moving picture.
Keyframes
Most 3D tools (including the Max tools) support a single
animation sequence made up of keyframes. Keyframes
are similar to, but not quite the same, as the frames in this
animated film. Think of keyframes this way: to have your
crab raise its leg again with keyframes, create an initial
keyframe with the leg down and a second with the leg raised. Max knows how to interpolate all of
the points of motion between A and B to create the actual frames you need (the one you had to
do by hand in the previous paragraph). This is called tweening. So using keyframes is similar to -
but more efficient than - drawing every single animation frame in sequence you only need to
worry about the start and ending points.
Now, when you animate a scene in Max (this is what your creature - sitting there like a lump - is:
a scene), you are creating a single sequence of keyframes. As Max runs through your animation
sequence, it runs as a single, continuous animation or movie.
NWN is different: it supports a series of animation sets and does not want a continuous movie.
There are a limited number of sets available (about 154 for PCs and Full creatures and 42 for
Simple and Large creatures). You don't usually have to tell the game to use one set or another
(like run, walk, etc.) it will call the appropriate animation set on its own based on what is
happening in the game. Some are user-controllable through scripting (like greeting) so you can
force the animation to occur when you want it to (too bad they all weren't scriptable). What this
means is that to animate a creature in Max, you need to create the standard set of 42 or 154
animations depending on the type of creature.
So how do we reconcile Maxs movie with NWN sets? What we do is allocate a different block (or
range of keyframes) of the continuous Max movie to each of the NWN animation sets.






Hint
The best way to get a good feel for how
this all comes together is to import an
existing model and play around with it
until you get a feel for how the
animations are tied together.
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 110 01/06/200J




The import scripts do this translation: they load the NWN animations into the one big animation in
Max and put spacers of 10 frames between each adjacent set or block. Then they create a list of
the animations and tie it to the Aurabase object. This cross reference gives the NWN title of each
set, plus starting and ending keyframes for each set. Think of it as a big array of pointers into the
single Max animation. When you click on the Aurabase you will see this array in the Edit tab.
You can modify the Max animation independently of the Aurabase array. For example, you can
delete all of the array entries from the Aurabase. The Max keyframes will still be there, but they
would not get exported any longer because the export scripts dont know about them. But you
could still view them in Max. Vice-versa, you could delete the keyframes. The animation sets
would get exported but they would be empty so your creature would be motionless.
A final point before we move on: one frame before and after each animation set the import scripts
put a 'static' keyframe (the 'rest' position of the creature). This is to keep the last and next
animation set from impacting this one (Max interpolates animations assuming a transition from
the last populated keyframe to this one. Without these static keyframes you would have all sorts
of interesting little transition motions carried over from the last animation set).
8asIc KInematIcs
Before we reconnect the pieces of our crab and animate it, I want to talk about kinematics.
Kinematics and animation are not the same things. Weve talked about animation as the process
of generating frames/keyframes for your model so that it performs the actions you want it to
perform. You dont have to pose your character for every frame like they used to do in the golden
age of cartoons NWN can interpolate many of the intermediate frames from a reduced set
(hence the name key frames). But you need to set enough to firmly define the motion you want
your model to reproduce.
If that is animation, what is kinematics? Kinematics refers to the techniques you use to move the
parts of your model around to create the keyframe poses. There are two main types of
kinematics: Forward Kinematics (FK) and Inverse Kinematics (IK). You will typically use both FK
and IK when animating a model so you need to understand both.
Let me try an analogy: if you pick up your lunch box (you know, the Star Wars one with the
picture of Natalie Portman on it?) in your left hand and run down the street, what does your lunch
box do? Provided you dont drop it, it should follow you down the street. Why? Your lunch box is
attached to your hand, which is attached to your arm, which is attached to your body, which is
running down the street. That is FK you move the parent object (your body) and the chain of
relationships moves the lunch box (the child object) with it.
Now set your lunch box down and grab the door handle of
that passing car (youre still out on the street, arent you?)
What happens? In this case, the car moves your hand
along with it. This stretches out your arm, pulls your
shoulder forward, and eventually drags your body along
with it. At least until you smarten up enough to let go (dont
try this at home this test was conducted by professional
Run Walk Space Space Greeting
Notes
The Transform Controllers also need to
be set for each object before you start
to animate:
Position: Linear Position
Rotation: Linear Rotation (Smooth
should work too)
Scale: You dont really need this since
scaling is not supported in the game
engine
If you dont do this you get strange
behaviour like 360 degree rotations
even if you only move a body part a
small bit.
Max



NWN
Rest keyframes
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 111 01/06/200J
stunt people). That is IK you move the child object (your hand) and it moves its parent and so
on up the chain to try to accommodate that motion (until your entire body moves if necessary).
That is how kinematics works. IK and FK are two sides of the same coin.
Forward KInematIcs
By joining the pieces of our model together we create an FK setup automatically. To do this
properly, the pieces must be linked together in a specific order (from parent to child). In our case,
what FK does is allow us to move one of the main pieces (a parent object) - like the crabs body -
and have the other pieces move with it.
First, set the pivot points of each piece to represent where the joint of the piece sits, and where
you'd like the piece to angle from. You do this from the centre out (so the pivot points for the legs
are at the top of the leg, not the bottom). Also, dont forget to overlap adjoining limbs a bit so that
when they move you don't create gaps between them.
First, focus on the main body parts. Ignore the other nodes (like hand, hand_conjure, etc.) for
now more on those in a bit. Lets start by linking all of the main body parts together into chains
to the base object from the extremities (in this case the crabs legs inward to its abdomen). The
tip of one leg is linked to the middle piece. That middle piece is linked to the top, and the top
piece to the abdomen.

Test it by selecting the abdomen only and transforming it (rotate or move). The legs, claws, shell,
everything except the nodes should move with it. Note that this inheritance is only one-way; if you
select one of the tips of the claws you will find that it detaches and moves freely without affecting
its parent. That is because we have not turned IK on yet.
Before we turn on IK, lets talk about those other nodes (e.g., head, and head_conjure). The
nodes are not actual geometry they are used to indicate to the game where to place certain
items or visual effects. Different types of creatures have different nodes. Here is an example if
you were modeling a humanoid shape. The parts that contain actual geometry have a _g after
them. The parts that are used as place nodes (e.g., where to put a sword in a models hand) do
not have _g. You should be familiar with the geometry list from the tutorial on armor modeling:
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 112 01/06/200J
headconjure
(node)

head (node)
head_g
neck_g
rbicep_g torso_g
impact
lbicep_g
rforearm_g rootdummy lforearm_g
lforearm
(node)
rhand_g
rhand
(node)
Pelvis_g lhand_g
rhand
(node)
rthigh_g lthigh_g
rshin_g lshin_g
rfoot_g lfoot_g

How does the hierarchy work in this case?
Just as with our crab, the extremities must be linked upwards toward the parent which in this
case is the torso_g (for our crab it was the abdomen, GeoSphere01). To finish the linking, this
parent must be is linked to the rootdummy. For
example, the hand is linked to the forearm, the forearm
to the bicep, the bicep to the torso, the torso to the root
dummy.
The head node is parented to head_g. The
headconjure node is parented to the model base. So
is the handconjure node.
The lforearm node is used for placing a shield. It is
parented to lforearm_g.
The lhand and rhand nodes are for weapons. Simple
monsters do not have hand nodes and cannot wield
weapons. Large monsters do not have a lhand node
and as a result cannot dual wield (the rhand node works
fine though). These nodes are parented to lhand_g and
rhand_g respectively.
The impact node is for animations of being struck and
doing damage. It is parented to torso_g.
Rootdummy is parented directly to the model base.
As I mentioned, not all models have all of these nodes. Here is the list:
Name Description Player Full Simple Large
headconjure Used for casting animation

head Used for casting animation

Hints
How do I know where to start when
building my hierarchy? There are two
principle you should follow:
1. Follow a logical progression from
parent to child (e.g., torso to arm,
to forearm to hand, not torso to
hand to arm to forearm).
2. Arrange so that parent objects
typically move less than their
children. In this example, the
torso makes a better root object
than the hand.
As a final note, if you want to inherit
animation from another model (more
on this later), you must have the same
linking hierarchy as that model.
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 11J 01/06/200J
Name Description Player Full Simple Large
handconjure Used for casting animation

impact Combat animations/ damage

rootdummy Controls height/movement
relative to the ground. By
moving rootdummy up and
down, you will make your
creature move up and down
appropriately.

rhand Holding weapon

lhand Holding weapon

lforearm Holding shield


Make sure you have the appropriate nodes for your model and parent them accordingly.
nverse KInematIcs
Now let us turn our attention to IK. Inverse kinematics
(IK) is not absolutely necessary when animating but it
makes life a lot easier. It does the opposite of FK by
having child objects affect their parents. It allows you to
move an end body part and have it move the attached
parts back up the chain. For example, if you want to
raise a humanoid creatures hand into a salute with FK,
you would need to rotate the humanoids shoulder into
position, then the forearm, then the hand. With IK active
and the right constraints you can just drag the hand into
position and the rest of the arm will follow. In our
example, you can move the tip of one of the crabs legs
and it will bend and move the other leg segments to
make a realistic pose.
IK helps when animating the creature because it makes
posing much simpler. You will need to experiment with it
a bit while it may seem challenging to figure it out, I
would not recommend working without it. IK and
associated constraints are beyond the scope of this
tutorial (it is more general modeling stuff). But if you want
to use IK, now is a good time to set it up. Here is a good
tutorial on IK
(http://www.computerarts.co.uk/tutorials/type/tutorial.asp
?id=21544).
There are two ways to use IK in a modeling tool like
3dsmax: interactive IK or by using IK solvers. Interactive
IK is the most basic form and with it you use IK to move
body parts around as you go through the key frames of
your animation sequence hence the term interactive.
After you have set up your FK chain (linked your objects)
and set constraints on the joints, you can start Interactive
IK from the IK button on the Hierarchy tab. This allows
Notes
Sorry, Gmax doesnt do full IK. It does
include a limb-solver IK but you can
only link two objects together with it
(e.g., thigh and shin). Youll have to
make do with this and FK.
If you are going to inherit your models
animations from a supermodel, IK is not
required at all (more on inheritance in a
few paragraphs).
If you do set up IK, you can turn it on
and off (use the Interactive IK button)
to achieve the desired result.
Don't attempt to change the inheritance
settings of your geometry - they will
animate in max fine but won't export
(skewing them completely in-game).
Each part in a model has a specific
name. To use a supermodels
animations, you must use the naming
scheme of the parent. The animations
are not attached to parts of the model;
they are attached to the name of that
part.
A common mistake you will see with
creature hakpaks is incorrect or
duplicate usage of the animation
supermodel.
Some people dont use a supermodel
and include the same animations in
each variation of a creature (e.g.,
different horse models from Shetland
ponies to Draft horses can use the
same animation set with only a few
differences). This dramatically
increases the size of your models
because the animations are typically
70-80% of the bytes in a creature
model.
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 114 01/06/200J
you to move your pieces around using the IK mechanics. To use FK, I generally turn Interactive
IK off.
The alternate to Interactive IK is using IK solvers. With IK solvers you set the start position and
the goal and let the IK solver figure out how to move the scene objects from start to finish. It is
much more complicated to set up but it can be much easier to use when done properly. Look for
a good tutorial on bones and IK solvers for details.
Bioware used the Inverse Kinematics in 3dsMax version 3.1 to perform their animation. The v3.1
animation capabilities (also available in 4.x) can still be found in Gmax and higher versions of 3ds
max. This is limited to Interactive IK.
This technique is not as good as the HI-IK Solvers of 4.x+. By good I mean HI-IK solvers are
easy to use and produce natural results when set up properly (do not underestimate the work
required to set them up). However, the NWN engine only reads key frames while HI-IK solvers
minimize the number of keyframes in a scene. Consequently HI-IK solvers do not work directly
with the NWN engine. The HI-IK Solvers can be used but they require 'baking' the object to
calculate and embed the keyframes. Scooterpbs tool has the ability to do this now (although it
requires some tweaking after export to make it really look good).
nherItance
The simplest way to animate your creature is not to animate it at all (or to animate as few actions
as possible). What do I mean by that? NWN has the ability to inherit animations from a parent
object. If you construct your model with the same objects as a standard model, with the same
pivot points and object names, the same size and approximate shape, you can set that standard
model to be the supermodel for your creature (you set this feature on the base model object).
When you do this, NWN will use the supermodels pre-existing animations to control your model.
There are two main families of model type that define their allowed animations: Player (which
includes the Full type from appearance.2da) and Simple (which includes Large).
Player animations cover the full range from spell casting and weapon animations to non-combat
animation. There are 154 animations in a player model. Player animations are generally used for
humanoid creatures (refer to the description of appearance.2da which defines Model Types).
Simple animations are for creatures and they cover a much smaller range. Most are combat,
walking and running animations. There are 42 animations in a simple model. The basic models
are arranged in a hierarchy that looks like this:













a_ba_casts
a_ba_med_weap
a_ba_non_combat
a_ba a_fa
Player types Full types Simple types Large types
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 115 01/06/200J

F|gure 15 - Ar|ral|or l|erarcry
What does this hierarchy show me? The NWN inheritance model means each creature model
can have a superset that defines some or all of its basic animations. That superset can, in turn,
have its own superset that defines some or all of its basic animations. And so on.
The Player (P) model types are generally used for player characters. They have as a superset a
basic humanoid model (a_ba) that only defines special weapon animations (like 2-handed or 2-
weapon animations). This model, in turn, inherits
non-combat animations such as drinking and
saluting from another model (a_ba_non_combat).
Which inherits additional weapon and combat
animations from a third model (a_ba_med_weap).
This in turn inherits spell casting animations from the
final model (a_ba_casts).
A variation on the Player model type is the Full (F)
model type. This is generally used for humanoid
creatures such as the dryad, etc. They have their
own basic model that defines special weapon
animations (a_fa) but this file inherits the same non-
combat, medium weapon, and casting animations as
the player types.
Simple (S) types (e.g., cats) define their own unique set of 42 animations (there is no base
animation because they are too unique). Some Simple types inherit from another Simple model
although this is typically only found in families of creatures (e.g., the Lion inherits from the Dire
Cat).
Large (L) types are special as well (these are monsters like demons that have Simple animations
but can wield weapons). Like Simple types they usually define their own unique animations
although they, too, can do limited inheritance. But Large types can wield weapons? How does
that work? If you look at the table below there are no weapon animations specific to Large types.
The answer lies in a special rhand node you will find in these models. Armed Large type models
simply attach a weapon to that node and then go ahead and use the same combat animations as
a non-equipped character. So your Frost Giant attacks in the same way regardless of whether he
is using his fists, a club, a spear or a toothpick.
There are exceptions to this hierarchy. Some Full model types override some of the inherited
animations (e.g., the Dryad changes some of her animations from the normal human type). There
are a few other base models including a_da that are used for special models (a_da is used for the
dwarves because the human animations do not scale so well to such a small size).
Below is a table that includes the labels of all of the allowed animations and whether or not they
are applicable to certain model types. It also includes the flag which can be used to invoke this
animation as a scripted event.

Name Description Player Full Simple Large Flag
A_ba_casts


conjure1 Conjuration


conjure2 Conjuration


castout Cast out, beginning


Notes
Some people point their model at a
supermodel but forget to take their
animations out. To remove the
animations from a model you need to
remove the animations pointers from
the model base object (you delete
these by selecting the model base and
going to the rollup in the edit tab) and
you should delete the actual animation
keys (by selecting all objects in the
scene and deleting all the keys at the
bottom of the screen).
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 116 01/06/200J
Name Description Player Full Simple Large Flag
castoutlp Cast out, looping


castself Cast on self, beginning


castselflp Cast on self, looping


castup Cast up, beginning


castuplp Cast up, looping


castarea Cast area effect, beginning


castarealp Cast area effect, looping


victoryfr Victory

ANIMATION_FIREFORGET_VICTORY1
victorymg Victory

ANIMATION_FIREFORGET_VICTORY2
victoryth Victory

ANIMATION_FIREFORGET_VICTORY3
castpoint Cast by pointing,
beginning


castpointlp Cast by pointing, looping


appear Drop from above


disappear Leap upward, beginning


disappearlp Leap upward, looping


a_ba_med_weap


1hreadyr 1-handed ready, right


1hreadyl 1-handed ready, left


2wreadyr 2-weapon ready, right


2wreadyl 2-weapon ready, left


nwreadyl No weapon ready, left


nwreadyr No weapon ready, right


1hslashl 1-handed slash, left


1hslashr 1-handed slash, right


1hstab 1-handed stab


1hcloseh 1-handed close, high


1hclosel 1-handed close, low


1hreach 1-handed reach for target


1hparryr 1-handed parry, right


1hparryl 1-handed parry, left


dodgelr Dodge, lower or duck


dodges Dodge, sidestep


damages Hit, from stab


NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 117 01/06/200J
Name Description Player Full Simple Large Flag
cwalkf Combat walk, forward


cwalkb Combat walk, backward


cwalkl Combat walk, left


cwalkr Combat walk, right


2wslashl 2-weapon slash, left


2wslashr 2-weapon slash, right


2wstab 2-weapon stab


2wcloseh 2-weapon close, high


2wclosel 2-weapon close, low


2wreach 2-weapon reach for target


nwslashl No weapon slash, left


nwstab No Weapon stab


throwr Throw, right hand


2wparryl 2-weapon parry, left


2wparryr 2-weapon parry, right


shieldl Shield block, low


kdbck Knockdown back,
beginning


kdbckps Knockdown back, looping


kdbckdmg Knockdown back, hit


kdbckdie Knockdown back, die


gutokdb Get up, to knockdown
back


gustandb Get up, from gutokdb


kdfnt Knockdown forward,
beginning


kdfntps Knockdown forward,
looping


kdfntdmg Knockdown forward, hit


kdfntdie Knockdown forward, die


gutokdf Get up, to knockdown
forward


gustandf Get up, from gutokdf


damagel Hit, from left


damager Hit, from right


nwcloseh No weapon close, high


NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 118 01/06/200J
Name Description Player Full Simple Large Flag
nwclosel No weapon close, low
(kick)


spasm Spasm


deadfnt Dead, forward, looping


deadbck Dead, back, looping


nwreach No weapon, reach


nwkickl No weapon, kick left


nwkickr No weapon, kick right


nwslashr No weapon, slash right


nwkicks No weapon, kick stab


bowrdy Hold bow at ready


xbowrdy Hold crossbow at ready


bowshot Shoot bow


xbowshot Shoot crossbow


2wslasho 2-weapon slash, only
upper body


nwslasho No weapon slash, only
upper body


1hslasho 1-weapon slash, only
upper body


2hslasho 2-handed slash, only
upper body


cturnr Combat turn, right


damageb Hit, back


a_ba_non_combat


walk Walk


pause1 Pause, looping

ANIMATION_LOOPING_PAUSE
hturnl Head turn, left

ANIMATION_FIREFORGET_HEAD_TURN_LEFT
hturnr Head turn, right

ANIMATION_FIREFORGET_HEAD_TURN_RIGHT
pausesh Pause, scratch head

ANIMATION_FIREFORGET_PAUSE_SCRATCH_
HEAD
pausebrd Pause, bored

ANIMATION_FIREFORGET_PAUSE_BORED
pausetrd Pause, tired

ANIMATION_LOOPING_PAUSE_TIRED
pausepsn Pause, poisoned or drunk

ANIMATION_LOOPING_PAUSE_DRUNK
listen Listen, looping

ANIMATION_LOOPING_LISTEN
salute Salute

ANIMATION_FIREFORGET_SALUTE
bow Bow

ANIMATION_FIREFORGET_BOW
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 119 01/06/200J
Name Description Player Full Simple Large Flag
drink Drink

ANIMATION_FIREFORGET_DRINK
read Read

ANIMATION_FIREFORGET_READ
tlknorm Talk, normal

ANIMATION_LOOPING_TALK_NORMAL
tlkplead Talk, Pleading

ANIMATION_LOOPING_TALK_PLEADING
tlkforce Talk, forceful

ANIMATION_LOOPING_TALK_FORCEFUL
tlklaugh Talk, laughing

ANIMATION_LOOPING_TALK_LAUGHING
greeting Greeting

ANIMATION_FIREFORGET_GREETING
run Run


getlow Get low, beginning


getmid Get middle, beginning


torchl Lift torch


sitdown Sit down, beginning


walkdead Walk as if dead


kneel Kneel


meditate Meditate, looping

ANIMATION_LOOPING_MEDITATE
worship Worship, looping

ANIMATION_LOOPING_WORSHIP
walkinj Walk with injured leg


pause2 Pause, looping

ANIMATION_LOOPING_PAUSE2
getmidlp Get middle, looping

ANIMATION_LOOPING_GET_MID
getlowlp Get low, looping

ANIMATION_LOOPING_GET_LOW
lookfar Look far away

ANIMATION_LOOPING_LOOK_FAR
sit Sit in chair, looping

ANIMATION_LOOPING_SIT_CHAIR
sitcross Sit crosslegged, beginning


sitcrossps Sit crosslegged, looping

ANIMATION_LOOPING_SIT_CROSS
drwright Draw weapon, right hand


drwleft Draw weapon, left hand


taunt Taunt

ANIMATION_FIREFORGET_TAUNT
steal Steal

ANIMATION_FIREFORGET_STEAL
pauseturn Pause and turn in place


pausewalkl Pause and walk left


pausewalkr Pause and walk right


xbowr Hold crossbow at rest


pausewalkfl Pause and walk forward
left


NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 120 01/06/200J
Name Description Player Full Simple Large Flag
pausewalkfr Pause and walk forward
right


runfl Pause and run forward left


runfr Pause and run forward
right


plpause1 Hold polearm at rest


a_ba and a_fa


2hreadyr 2-handed ready, right


2hreadyl 2-handed ready, left


plreadyr Polearm ready, right


plreadyl Polearm ready, left


2hslashl 2-handed slash, left


2hslashr 2-handed slash, right


2hstab 2-handed stab


2hcloseh 2-handed close, high


2hclosel 2-handed close, low


2hreach 2-handed reach for target


2hparryl 2-handed parry, left


2hparryr 2-handed parry, right


plslashl Polearm slash, left


plslashr Polearm slash, right


plstab Polearm stab


plcloseh Polearm close, high


plclosel Polearm close, low


plreach Polearm reach for target


plparryl Polearm parry, left


plparryr Polearm parry, right


plslasho Polearm slash, only upper
body


Simple and Large


creadyr Ready, right

creadyl Ready, left

cdamagel Hit, from left

cdamager Hit, from right

cdamages Hit, stabbed

NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 121 01/06/200J
Name Description Player Full Simple Large Flag
cpause1 Pause, looping

ca1slashl Creature attack, slash left

cwalk Walk

cclosel Attack close, low

ca1slashr Creature attack, slash right

ca1stab Creature attack, stab

ccloseh Attack close, high

creach Attach reach for target

cparryr Parry, right

cparryl Parry, left

cdodgelr Dodge, lower or duck

cdodges Dodge, sidestep

ckdbck Knockdown back,
beginning


ckdbckps Knockdown back, looping

ckdbckdmg Knockdown back, hit

ckdbckdie Knockdown back, die

cdead Dead, looping

cguptokdb Get up, to knockdown
back


cgustandb Get up, from gutokdb

ccwalkf Combat walk, forward

ccwalkb Combat walk, backward

ccwalkl Combat walk, left

ccwalkr Combat walk, right

cgetmid Get middle, beginning

chturnl Head turn, left

chturnr Head turn, right

ctaunt Taunt

cconjure1 Conjuration

ccastoutlp Cast out, looping

cappear Drop from above

cdisappear Leap upward, beginning

ccastout Cast out, beginning

NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 122 01/06/200J
Name Description Player Full Simple Large Flag
cgetmidlp Get middle, looping

cspasm Spasm

crun Run

ccturnr Combat turn, right

cdisappearlp Leap upward, looping


Note one more exception: the a_fa model does not include a plslasho animation. I assume this is
an oversight.
You can accompany each animation with a list of events. These typically trigger sounds or other
effects to make the animation livelier.

Event Description
snd_footstep Footsteps (depends on tile surface)
hit Hit (depends on weapon type and armor hit)
cast Spell activates (depends on spell)
snd_hitground Creature knocked down
blur_start Start of attack, motion blur (may depend on the blur effect of the
weapon model)
blur_end End of attack, motion blur (may depend on the blur effect of the weapon
model)
draw_arrow Sound of arrow drawn
draw_weapon Sound of weapon drawn
parry Parry (depends on weapon types)

TIps and 8est PractIces
Those are the basics that you need to know about how NWN requires you to handle animations. I
dont cover animation in detail (walk cycles, etc.) What I will do is include a few hints and tips
(most of these come from Jupp who does a lot of work on the City of Doors Initiative and Haelix).
When choosing whether to use inheritance or to model from scratch, you really need to look at
the model and how well it maps to an existing model. If it is close (e.g., a humanoid), then you are
best to start with a supermodel and customize only those animations that truly lend a unique look
and feel to the creature. If it is not close, it still helps to see if you can map animations to specific
parts of your model. For example, scooterpbs 3ds Max plugin has facilities to load animations
from a second model file and attach them to parts of your model.
Alternately, you can import the creature whose animations you want to use in gmax alongside
your model. Then copy the base object over to your object. You now have a list of all of the
animations you need and starting timeframes.
As a third option, start with a blank slate. Import the creature whose animations you want to use.
Then import your customized model along side it. Attach the parts of your model to the
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 12J 01/06/200J
corresponding parts of the base creature. Delete the base creatures parts and you will have your
new model with the full animations intact to use as a starting point.
Once you have worked out your starting point, it is time to animate. Select the base helper object.
Select the edit tab and it should show the animation rollout. In that rollout you will see a list of all
the relative animations. This should be your starting point.
The basic pattern for animating a specific animation sequence is this:
1. Double click to select the animation sequence you want to work with. The times will be
advanced to the start and end of the animation sequence.
2. Copy the at-rest keyframe to the beginning of the
animation sequence. This is the keyframe of the
model in the default, at-rest position.
3. Copy the at-rest keyframe to the end of the animation
sequence. By putting the same keyframe in the first
and last positions your creature will animate smoothly
from rest, go through the motions, and then come to
rest in the same place again. All of this without jerky
transitions.
4. Move out to the first keyframe you want to animate.
5. Turn on the Animate button and move all the needed
parts to position the creature for that keyframe.
6. Go to the next key and repeat 5 until you are satisfied.
7. Go back to the start and play this sequence. If there
are anomalies in the movement correct them one
keyframe at a time
It helps if you take another model from NWN and import it
into your scene together with yours put them side-by-
side (obviously, choose a model that comes as close to
yours as possible in shape and movement). Now you can
watch the animations together to get an impression of what
each sequence is like.
Here are a few tips on creating clean, small animation files.
Check these after you have finished animating your
creature and delete invalid keys:
Some objects should have no animation keys
attached to them. These are:
The aura base object
Headconjure node
Handconjure node
Head node
Impact node
Any control objects you have created that are not part of the geometry
Notes
Using the at-rest key for the start and
end of the sequence does not work for
some instances (generally looping
animations) such as walk and run
animations where you dont want them
to start from rest. Similarly, the
knockdown animation starts with the
creature in one pose and ends with it
on its back.
Be sure to use non-deforming
animation (no skins or bones other than
basic FK and IK systems unless you
can strip the data out and be left with
basic geometry and keyframes before
exporting).
Dont forget to add events to your
animations (or use the ones in the base
animation you are borrowing from).
Notes
Control objects can make your creature
easier to pose. Under the Create tab
select Helpers and then the appropriate
type:
The Point helper is usually used to
create levers to pose your creatures
limbs. Create one of these objects,
place it near the end object of a limb
(say a hand or foot), and then make the
limb its parent. This gives you an extra
degree of freedom when moving using
IK.
The Dummy helper I use as a visual
reminder to create pegs to help me
ensure parts of my model arent moving
when I dont want them to (e.g.,
keeping your creatures feet from
sliding around on you).
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 124 01/06/200J
The other nodes (rhand, lhand, and lforearm) can rotate independently of the hands and
forearm if necessary to keep the attached weapon oriented properly.
Only certain key types are valid:
Rotation keys are valid and most objects use them (except for the previous list)
Movement keys are usually only valid for rootdummy. Since it is the parent of all of the
other objects, move rootdummy around to move your entire creature. Everything else is a
rotation around rootdummy. If you have a shrinking-expanding object that moves like an
accordion (well, only angry battle-attack accordions move on their own but you know what
I mean - where segments stretch and contract) you may be able to violate this rule (may
be able to I havent tested this).
Scale keys are invalid. The game engine does not use them.

NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 125 01/06/200J

Part 6: Soundsets
Now that we have our monster moving, it is time to get it talking. Review the section on voicesets.
Creature voicesets use the monster template and follow all of the rules in that tutorial. By adding
a custom voiceset we can create the clicking of the crabs claws in anger, distress, etc.
Before we close out on this section, let me make a distinction between creature appearance
soundsets and voicesets. We talked about voicesets earlier in this tutorial and that information
applies to creatures as well. Appearance soundsets are another beast entirely. They reflect the
ambient sounds a creature makes an example would be the sound a creature makes if you hit it
with a sword. For the sake of completeness, here is appearancesndset.2da. You only need to
modify this file if you want to add a new type of sounds to accompany a creature. Otherwise, pick
an appropriate row and use it for your creature in appearance.2da.

Column Description Values
The first column is the set ID
LABEL The label for the sound set.
ArmorType Material that the armor is made of,
reflecting the sound it makes when
struck.

WeapTypeL Left hand weapon sound. References weaponsounds.2da.
WeapTypeR Right hand weapon sound. References weaponsounds.2da.
WeapTypeS Slashing weapon sound. References weaponsounds.2da.
WeapTypeClSLW Claw (not sure which attack). References weaponsounds.2da.
WeapTypeClSH Claw (not sure which attack type). References weaponsounds.2da.
WeapTypeRch Reaching weapon sound. References weaponsounds.2da.
MissIndex Sound of weapon missing. References weaponsounds.2da.
Looping A looping sound that plays when the
creature is near.
If you point to an entry with a looping
sound you will get this sound
regardless of what other parameters
you set in the Aurora toolset. This is
mostly used for spooks.
FallFwd Sound that plays when the creature
falls forward.

FallBck Sound that plays when the creature
falls backward.


NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 126 01/06/200J

Part 7: The Creature 8lueprInt
To give your creature appropriate statistics, skills, feats and special abilities, you need to
understand how to create a custom blueprint. A blue print goes into a specific module. Take our
crab and all of the files we created (2da files, portraits,
etc.) and put them in a hakpak. Attach the hakpak to your
module. Create an instance of your creature in the
Aurora toolset (like we did in Part 1).
From here you can set the portrait (from Part 3), the
voiceset (from Part 6), the description, and the attributes
of the creature. Now save our crab by exporting it as an
.erf file (Exported Resource File). It can now be
packaged together with your hakpak and distributed to
others to use (do not load it into your hakpak a .erf file
is imported into the NWN Toolset separately using File |
Import)

Hint
Be careful with blueprints. As long as
people use your hakpak intact,
blueprints are a great way to create
blueprints easily using your weapons.
However, if you mix and match
hakpaks, dont import old .erf files into
your modules and expect them to work.
The internal references get mixed up.
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 127 01/06/200J

Part 8: 0anglymesh
Danglymesh is used to create neat effects like hair that sways when you move and flags that
blow in the wind (and Aribeths jigglyness but we wont talk about that here. Much.) You achieve it
by adding a Flex modifier to your editable mesh in 3dsMax or Gmax. Once you have added it,
select the Flex modifier. With it highlighted, you can adjust the flex parameters:
1. Period how quickly the object moves and how fast it comes to rest.
2. Tightness how much tension there is in the object restricting movement.
3. Displacement how far the object moves. This value corresponds to the Flex parameter in
Max. It represents the amount of the flexed animation that is used (the amount of motion and
factors like tightness determine the extent of the flexed animation. A setting of 1 causes the
flexed animation to occur unmodified; higher settings cause unnaturally high amounts of
stretching, and lower settings cause diminished stretching.
The next step is to paint the weights of the vertices of your mesh to indicate how much each
vertex is affected by these jiggly parameters. Drop down the detailed parameters of your Flex
modifier and choose the first one. Each of the vertices will appear in a different color. Red
vertices are not affected by the Flex modifier much if at all. Yellow vertices are strongly affected
and orange is somewhere in between. In the rollout menu you will see an option to paint the
weights to change these colors.
At this point there should be no weights associated with any part of the mesh so each vertex
painted should appear as pure red. Set the following in the Weight Properties section:
1. Paint Str: -0.1 - all vertices you paint will be start to turn orange or yellow
2. Radius: select a radius that is small enough for you to see the entire brush
3. Feather: 0
Now paint the vertices you want to move with the Flex modifier. Generally, vertices close to a
stationary object (say at the base of a ponytail) would be closer to red than those farther away
(say at the tip of a ponytail).
You have to export your model and import it into NWN to test these values. I would suggest
editing the ASCII model file directly when testing instead of continually going back into Max to
adjust and export. You can test danglymesh in the Aurora toolset (grab and shake the object to
see how much it responds to movement).

NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 128 01/06/200J

Part 9: SkIn and 8ones
Most of the NWN animations follow the simple rigid animation techniques we talked about in this
section. However, NWN also supports a skin and bone system. The difference between a skin
and bone system and rigid animation is simple: with rigid animation, we simply transform and
rotate the rigid mesh objects that make up our creature. With a skin and bone system, we move
the bones (a series of connected, invisible objects) and the bones actually stretch and deform
the connected skinmesh to reflect the movement. In the
case of rigid animation, all of the vertices in an object
rotate around the pivot point of that object. In the case of a
skin and bone system, the vertices of the skin rotate
around the bones that they are attached to instead.
Skin and bones systems are much more realistic if set up
properly but they are also more complex to produce,
more taxing on the performance of the game engine, and
skinmesh objects do not cast shadows in the game.
Scooterpbs export scripts for 3dsmax support bones and skin for your mesh models (sorry,
Gmax does not). Here is some sage advice from Scooterpb on using them properly:
You have to be careful to connect them to your model in a way that's going to be friendly to the
NWN game engine. Scooterpb has fixed bugs with skin object import and export in every version
of the plug-ins that released, and expect there to still be some set-ups that use skins that may not
export properly.
If you want to use bones, here are a few rules to follow:
1. Be sure you need bones. You can attach an HI-IK Solver directly to the component parts in
your model - so if you're not dealing with skins, you probably don't need bones (i.e., animate
the rigid parts of your model). Having said that, bones do behave slightly differently in the UI
than parented meshes do, so you might want them to be able to use some of the more
advanced properties (e.g., doing a full two-way character rigging with independently moveable
joints and controllers).
2. Do not use a skin to attach a bone to a mesh if the mesh is going to behave like a rigid-body
object. In other words, if it is not behaving like a skin (with multiple weights for different
vertices), don't make it a skin. If you just want to have the mesh match the movement of your
bones, parent the mesh directly to the bone.
3. Link the root bone of your hierarchy to the model helper object, just like any other part.
Otherwise, the bones in the chain won't export.
4. If you are using skins, parent them to the model
helper object ONLY. Don't parent them to any other
part in the hierarchy. Doing so can crash the model
viewer and probably will not work in the game either.
5. Pay careful attention to how you set up the hierarchy
for your model if you use bones. If you set up a
completely different hierarchy for your model because
of your bone structure, the game engine will find it difficult to match up a supermodel to your
model. This means you will not be able to parent your model to existing animations. Probably
not a big deal for entirely new creatures because they often need their own animations.
Warning
HI-IK-exported animations often look
totally wrong in the model viewer. The
reasons have to do with the math that
is used to represent rotation angles in
the viewer. In any case, it looks right in
the toolset and in the game.
Note
Do not confuse skinmesh with
danglymesh. Danglymeshes do cast
shadows. Skinmeshes do not. You get
a danglymesh by adding a Flex
modifier to an object. I covered
danglymesh in section 8.
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 129 01/06/200J
However, if you are creating a PC or Full type creature, those 150+ animations will be time-
consuming if you have to do them from scratch. If you are careful about how you match
invisible bones to your supermodels animations, you may be able to get away with re-using
the supermodel. Think it through beforehand.
6. If you make your creature from a skinmesh it will not cast shadows in and of itself. However,
you can add non-rendering geometry to the model that will cast their own shadows (although
they wont typically be animated and they wont match the skinmesh directly).
8atInthehat's Notes
Here are Batinthehats notes on using skinmesh in NWN. Bat claims the information is by no
means definitive, but Ive yet to see anybody do better or improve on it much.
1. Modeling the skinmesh
The sort of blending you are going to use for the skinmesh should affect the way you
model: If you are using Rigid vertices (vertices move with only one bone, looks less fluid
but less of an impact on CPU performance) then you need to define each skinmesh
'segment' clearly or it will lose its shape when it deforms. In an arm for example the bicep
should not sit straight on top of the forearm, you need some polygonal padding between
the two sections. This will do all the deforming, and the overall shape of the bicep and
forearm will be retained.
NWN also supports four bones per vertex blending - this takes more out of the CPU but
looks much more naturalistic - you can also be a little less stringent about modeling the
joints correctly). So far I've not noticed any real slowdown when comparing rigidly
weighted models with blended ones.
2. Chopping it all up
If the skinmesh part is going to be influenced by more than 10 bones split it up into
several chunks. I bisected the manticore at the waist and made the head, tail and wings
separate parts as well. I haven't been able to get Scooters plug to export a skinmesh with
15+ skin bones without errors, so I generally play safe and stick to around 10 bones per
part. Scooters plug probably supports more that this but I've not checked it out fully.
With the Bio scripts you have more leeway - larger, more complex skinmeshes with up to
17 bones are possible. Chopping the model up is still a good habit to get into however,
especially if you are creating variants. You don't want to spend ages re-weighting the
entire thing if you are just going to be altering the head.
3. How does max determine where on the skinmesh the bone pulls?
The size and shape of the bone is actually not that important - it only really affects the
way Max draws the initial envelopes of influence.
Basically any vertices on a skinmesh that are
attached or weighted to a bone transform around the
bones pivot point rather than the pivot of the
skinmesh. If the vertices of the skinmesh are
weighted to several bones they'll sort of average out
their rotations/movements etc between the bones
pivots, based on how heavily they are weighted to
each individual bone.
Think of the envelope as determining the "loyalty" of
Hint
You can temporarily turn off the
skinmesh/bone link by turning off the
Always Deform option in the Advanced
Rollout of the skin. This allows you to
shift the bones around or change the
vertices in the skin without changing
your entire model.
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 1J0 01/06/200J
the skin mesh to the bones movements. If you increase the concentration of the
envelope past the actual bone, it will move as if the bone where longer/wider than it really
is (depending on the concentration and the presence of other bones).
4. Prepping the mesh
Center the pivots. Each part that you'll apply skinmesh to should be ResetXformed.
Collapse the stacks on each skinmesh part & fix the direction of the normals. Everything
needs to pass an STL check so drop the STL modifier on top of each part and cap all
holes, make sure there are no loose vertices etc.
Once everything passes an STL check you should collapse and link each part to the
model base (or to another object that is ultimately linked to the base). Make sure that
each skinmesh part has an individual name, or it won't render properly in-game.
5. Apply Skin
Apply the Skin modifier to one of your skinmesh parts. Select Add Bone and add the
relevant mesh parts as bones. For a simple lower body robe this would be the legs,
shins, feet, pelvis. I usually add the nearest neighboring bones as well, i.e. the torso and
let it influence the edges of the skinmesh; it
makes the transition between individual parts
more seamless.
6. Weighting the mesh
There are two ways of weighting the skinmesh
- you can either alter the position, scale, falloff,
etc. of the envelopes to approximate each
bones influence or you can collapse the
envelopes entirely and paint the vertex
weights by hand. For low-poly NWN models I
find it easier to paint by hand it is a bit more
time consuming but it causes less problems
with blending. It also offers more control over
the way the mesh deforms.
Expand the Skin modifier and select
Envelopes. Clicking on one of the greyed out bones in the viewport or in the rollout will
display the envelope of influence. On an
unmodified model these will probably be
overlapping. If you switch your viewport to a
solid view and turn on edged faces you'll see
that each vertex within the envelope is given a
color. The color of a vertex is a visual
representation of the amount of influence the
selected bone has over it.
7. Collapse the envelopes
First thing to do is collapse the envelopes.
Click on one of the circular radius control
handles and either move it to the centre of the
bone or type 0 in the radius part of envelope
properties. Do this for the other envelope
radius and for all the other bones.

Hints
Okay now export the model to override
and check it in-game, not just the
toolset. Some common problems:
Problem: Some vertices remain in the
same position as the objects pivot-point
and do not deform with the bones
Solution: Could be several things but
most likely the skinmesh part has too
many controlling bones, try reducing it
to 10.
Problem: Skinmesh parts are all black,
but when a texture is added they
vanish.
Solution: one or more skinmesh parts
have the same name. Give them
unique names.
Hints
The colors are different in different Max
versions, but the closer to red the color
is the more influence the bone has. So
for example:
A red vertex means that it moves only
with the selected bone.
An orange vertex means that it is about
50% influenced by the selected bone.
A blue vertex means that it is only
barely influenced by the selected bone.
A vertex with no color means that the
bone has no influence over it.
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 1J1 01/06/200J
8. Painting weights - first pass
Select one of the bones and click on the Paint Weights button in the skin rollout. For the
first pass of the weighting process it is a good idea to block the model out with rigid
vertices (each vertex tied to only one bone) and check if it works without error in NWN.
Sometimes rigid weights are all that is needed, though you might need to blend the
weights if the model demands it or deforms badly.
At the moment there should be no weights associated with any part of the mesh so any
vertex painted will appear as pure red. But just to make sure for the next bone set the
following in the Weight Properties section:
a. Paint Str: 1.0 - all vertices you paint will be turned red
b. Radius: whatever is appropriate
c. Feather: 0
Now paint any vertices you want to move with the selected bone.
Select the next bone and repeat the process. If you're using a model with existing
animations you've got the luxury of checking out how the skinmesh deforms. The dusty
was based on the a_ba_non_combat super and needed quite a lot of edge turning under
the skin modifier before it looked alright.
Once you've done the same with any other skinmesh parts check it in-game.

9. Blending weights - second pass
Select a skinmesh part you've blocked out with rigid vertices, select Envelopes and in the
Weight Properties section:
Paint Str: 0.1
Radius: whatever is appropriate
Feather: 0
Now it is just a matter of over-painting neighboring vertices until the mesh deforms in the
way you want. Something to bear in mind with blended skins in NWN is that only 4 bone
weights per individual vertex are supported.
So tread carefully or horrible things will happen.
Finally, let me add my own observations about skinmesh:
10. PC Skinmesh
Refer to the tutorial on PC creatures for details on how to set up a PC model. If you want
to use a skinmesh as part of a PC model, there are some rules you must follow:
Parent the skinmesh(es) directly to the Aurabase object. The bones must follow the
usual hierarchy so that they animate properly but the skinmesh ties directly to the
Aurabase. This is because the skinmesh is not transformed directly by the animations
it is transformed by its dependency on how the bones move.
Any bones weighted into the skinmesh must appear before the PC nodes in the
model hierarchy (more specifically, before the geometry-based PC nodes it is okay if
the bones appear after pure nodes like headconjure, handconjure, and
rootdummy). Because of this, you cannot use a skinmesh in place of a PC
NeverwInter NIghts Custom Content CuIde vJ.0 Creatures

ElIgIo Sacateca Page 1J2 01/06/200J
component piece it must be part of the main model pfx0 or pmx0. The hierarchy
that works best for me is:
Base object
- Headconjure
- Handconjure
- Skinmesh(es)
- Rootdummy
- Bones
- PC model nodes
If you break this rule, you will get strange behavior where some nodes of the
skinmesh get caught up in your geometry nodes and stretch out of proportion.
How did I discover this? Blind luck. I happened to do my first model in this order
so it worked. I did my second in a different order and it did not work. It took some
detective work to figure out why. Here is the Wemic hierarchy chart:



NeverwInter NIghts Custom Content CuIde vJ.0 Custom Faces

ElIgIo Sacateca Page 1JJ 01/06/200J
Custom Faces
First let me define what I mean by a custom race: a custom race refers to a creature that you can
play as a PC or use as an NPC. Custom races were not really possible until recently. To be more
specific: you could create unique Non-Player Characters but not real custom races for Player
Characters.
For example, it has always been possible to create a custom monster model and use that model
in a module as an NPC. The problem occurs when you try to use that model for a PC. The issue
is that many of the features of the game engines character creation screens are hard-coded and
not accessible to the end user. Some people have worked around this problem by using the
SetAppearance() command from the counsole but this is kludgy at best.
Halfelf and CODI have now released the NWN Character Creator (CC)
(http://nwvault.ign.com/Files/other/data/1050041596353.shtml), a program that solves this
problem. This is a terrific utility that essentially duplicates the functions of NWN character creator
but it is fully driven by .2da files and features are not hard-coded. This allows you to add your own
races with their own special feats and abilities and their own model files.
Part 1: Custom Face Fesource FIles
I wont talk about how to use the Character Creator
any more than I discuss how to use the Aurora Toolset
you can find those details in the CC documentation
that Papermonk has written. But I will talk about the
files you need to make it work.
You can create custom races in several ways:
Races that use existing models (like a Drow elf
using the standard elf model),
Races that use entirely new models (like a
Wemic).
Start by defining your race in appearance.2da if it isnt
already there. All of the rules I discussed for creatures
in the previous section still apply. In our example, we are going to set up the giant crab as a
playable PC. I mean, cmon, everybody has dreamed of playing as a giant crab, havent they?
FacIaltypes
Next we set up the racialtypes.2da file to properly define our new race.

Column Description Values
The first column is the set ID This must be sequential; CC gets
upset if you skip numbers.
LABEL The label for the creature. Typically set to the creatures name.
Abrev This is a 2 letter abbreviation of the
name. It should be unique.

Name This refers to the proper name of the
creature (start with an uppercase
This is a dialog.tlk reference number.
Warning
You need to change dialog.tlk. I know -
this is a bad thing. But there is no
alternative until Bioware comes up with
a way to add new text strings into the
game some other way.
Sometimes you get odd behaviour in
the character selection screen if you
are using custom races in multiplayer
mode. This is an inconvenience but
does not affect the way the creature
works in-game.
NeverwInter NIghts Custom Content CuIde vJ.0 Custom Faces

ElIgIo Sacateca Page 1J4 01/06/200J
Column Description Values
letter). In our case Crab.
ConverName This is the conversation-name; how
would you refer to the race if
something was made by them? Turn
the name into an adjective. This
would be Dwarven if it was a dwarf.
But in the case of our crab, it remains
Crab (Crabbbish? Crabby? Crabben?
Crabilish?). It starts with an
uppercase letter.
This is a dialog.tlk reference number.
ConverNameLower This is an entirely lowercase version
of the previous.
This is a dialog.tlk reference number.
NamePlural

What do you call a group of your
creatures? In this case, Crabs. It
starts with an uppercase letter.
This is a dialog.tlk reference number.
Description

This is a description for the race. It
should describe what the race is like,
its feats and abilities.
This is a dialog.tlk reference number.
Appearance This refers to the line of their
appearance resource entry in
appearance.2da. This can refer to an
existing model or to a new one.

StrAdjust
DexAdjust
IntAdjust
ChaAdjust
WisAdjust
ConAdjust
These lines all define the statistic
modifications.
These can be positive, negative or
zero for no adjustment.
Endurance Racial endurance value. Medium critters get a base of 30,
small (e.g. Halflings) have 20.
Favored This is the favored class. I think most
crabs are closet monks.
This is an index into the classes.2da
resource file.
Feats Table This refers to the feats table for the
race.
You need to create a custom feats
table. The naming standard should be
RACE_FEAT_<a short abbreviation
for your race of 4-6 characters>. For
example, RACE_FEAT_WEMIC.
Biography This is a short blurb about why the
character left home to be an
adventurer, etc.
This is a dialog.tlk reference number.
PlayerRace Is this a player (PC) race. 0 for no
1 for yes
Constant This refers to the constant used in the
nwscript.nss file.
Format is typically
RACIAL_TYPE_<short abbreviation
of your race>
Age This is the starting age for the In years.
NeverwInter NIghts Custom Content CuIde vJ.0 Custom Faces

ElIgIo Sacateca Page 1J5 01/06/200J
Column Description Values
character.
ToolsetDefaultClass This is the default class when you hit
Recommended for a characters
class.
Interestingly in the default
racialtypes.2da, Bioware has set all
the races to fighter (value 4). In
CODIs version (the one that comes
with CODIs pcpack.hak, they make
this the same as the Favored Class).

0Ialog.tlk
Now that you have set up racialtypes.2da, go and create the corresponding entries in dialog.tlk
using a tlk editor. Yes, I know. Nasty business, that.
FacIal Feats
The next table you may need to set up is to specify any racial feats your character may have. You
can either re-use an existing table (for example, most elven sub-races have the same feats as a
standard elf) or create a new one. This is the Drow racial feats table:
FeatLabel FeatIndex
0 immunitysleep 235
1 hardinessenchantment 236
2 skillaffinitylisten 237
3 skillaffinitysearch 238
4 skillaffinityspot 239
5 keensense 240
6 darkvision 228

The one difference between the Drow and the standard elven races is that the Drow has
darkvision in place of low light vision. This is a new 2da file that you must create if you cant re-
use an existing one. The naming standard for these tables comes from the racialtypes.2da
file, the Feats Table column. There are three columns:
Column Description Values
The first column is the set ID This must be sequential; CC gets
upset if you skip numbers.
FeatLabel The label for the feat. Typically set to the feat label from
feats.2da although sometimes it is
different. It does not seem to matter.
FeatIndex The ID of the feat. From feats.2da.

To create this table, map the feats of your new race to the ones available in feats.2da. In some
cases the corresponding feat will not exist because it has not been implemented in the game
engine and you will have to do without. In other cases you may need to compromise and find a
similar feat.
FacIal SpecIal AbIlItIes
The last table represents special racial abilities. This allows your Drow to actually cast darkness
or your half-dragon to use a dragons breath weapon. Again, it is a new 2da file. The naming
NeverwInter NIghts Custom Content CuIde vJ.0 Custom Faces

ElIgIo Sacateca Page 1J6 01/06/200J
standard for this file is the same as the racial feats file with spec in place of feat:
race_spec_<short name for race>.2da. Again, here is the Drow:
SpecLabel SpellNumber SpellFlags SpellLevel
0 Darkness 36 1 3
1 FaerieFire 415 1 1

There are five columns:
Column Description Values
The first column is the set ID This must be sequential; CC gets
upset if you skip numbers.
SpecLabel The label for the special ability. Typically set to the spell label from
spells.2da.
SpellNumber The ID of the spell. From spells.2da.
SpellFlags If true, the spell is automatically
enabled for the character on spawn. If
set to false, the character must rest
first.
0 for false
1 for true
SpellLevel Effective level at which the spell is
cast.
Must be 0 for creature abilities.
Otherwise set it to the caster level at
which you want the spell to be cast.

To have a special ability that can be used multiple times before rest, add multiple entries to this
table. To create this table, map the special abilities of your new race to the ones available in
spells.2da. In some cases the corresponding spell will not exist because it has not been
implemented in the game engine and you will have to do without (or create it using the techniques
in this tutorial). In other cases you may need to compromise and find a similar spell.
EffectIve Character Level (ECL)
Refer to the Character Creator documentation for other information on specializing your race
including setting ECL, custom skins, etc.
Part 2: The 0ynamIc Character |odel
Now that we have defined our crab as a custom race, lets talk briefly about a special kind of
model: dynamic character models. A dynamic model is one where you can drop new armor,
helmets, and other items into the correct slots of a characters inventory and (s)he will
automatically don them. Contrast this to a static creature, like our crab, that cannot wear armour
at all. The crabs appearance does not change in the game.
Suppose I want to create a dynamic creature like a Wemic. Not everybody is happy playing as
a crab (personally I dont know why not!) What is different about a dynamic model? Lets start
with an experiment. Create an elven NPC using the Aurora toolset. Edit her properties and open
her inventory. Now change her armor by assigning a new set of clothes into the armor slot. Close
the inventory screen and notice her appearance has changed.
Now create an NPC using the Aribeth model in the Aurora toolset. Change her armor on the NPC
inventory screen. Notice that this time the armor does not change in her appearance.
NeverwInter NIghts Custom Content CuIde vJ.0 Custom Faces

ElIgIo Sacateca Page 1J7 01/06/200J

F|gure 13 - TWo e|ves (ore a PC ard ore ar NPC), W|lr lre sare arror equ|pped
Why do they behave differently? Lets open the model files directly and you will see why. Extract
aribeth.mdl using NWNViewer. Open it up and take a look. Aribeth is a creature like any other
creature (our crab, a demon, etc.). Some of the NPCs are created as static models (including
Aribeth and Sethos) while others use the PC model base.
So what is special about the PC model base?
Extract pmh0.mdl using NWNViewer. Open it up and take a look. It consists of a series of
dummy nodes, one for each armor piece (head, neck, torso, left bicep, right bicep, etc.). There is
no geometry in this file!
NeverwInter NIghts Custom Content CuIde vJ.0 Custom Faces

ElIgIo Sacateca Page 1J8 01/06/200J


In the Creatures section we talked about creatures as a hierarchy of linked objects that are
animated to build our final model. That is how Aribeth was built. However, in the section on
armor, we talked about PCs as individual parts (remember pmh0_chest001, etc.?). How do PC
models work when you contrast all of these individual parts with the single, linked model that
makes up a creature?
The answer is that they are one and the same. When NWN is building your character it takes the
nodes in the PC model file and substitutes in the armor
parts (corresponding to the type of armor you are
wearing). The nodes tell NWN where to put each part by
aligning the pivot point of your armor part with the origin
of the corresponding node. The nodes are linked into a
hierarchy just like the objects in a normal creature
model.
Think of these PC models as roadmaps that tell NWN
how to tie all of the PC model parts together into a single
creature - a template for where each piece must go. That
template has the name (oh-oh, here we go with naming standards again) pxy0.mdl where
x = m (male) or f (female),
y is the abbreviation for the race (e.g., h for human), and
0 represents the phenotype (standard). You dont need to create a 2 version (large phenotype)
because the game uses the same template for standard and large.
|ore than just nodes
Now for the fun part: you actually can put geometry in this file. I created a Wemic as a PC model
by deleting the lower leg nodes (pelvis, thighs, shins and feet) and then substituting into the
template the actual geometry for a lions body (minus the lions neck and head) and then linking
all of the parts together. When you change the Wemics armor it only changes the appearance of
Note
There actually is geometry in the
female human model pfh0.mdl. For
some reason the rootdummy node is
not a node but a small cube with a
texture and everything. I think this is an
oversight. But it still works the same.
Warning
You have to put a copy of your base
PC model in your /override directory.
There is currently a bug in NWN (as of
v1.29). If you dont do this, the game
will freeze whenever you save and then
try to reload a game using a custom
race.
NeverwInter NIghts Custom Content CuIde vJ.0 Custom Faces

ElIgIo Sacateca Page 1J9 01/06/200J
the upper body (the part where I left the nodes in place). In fact, the Aurora toolset is smart
enough to realize that there are no leg nodes so it does not even give you the option of changing
these.

F|gure 11 - Tre wer|c PC rode|
In the case of the Wemic, this is a little tricky: the Wemic uses a skinmesh and skinmesh models
are special when it comes to working in the game. The key is that the skinmesh bones must
appear in your models hierarchy before any PC nodes refer to the notes about skinmesh
models in the previous section for more on this. Also, it does not seem to be possible to use a
skinmesh as a dynamic part by definition a dynamic part is one of the PC nodes so your
skinmesh cannot satisfy that condition. In any case, the outcome when you break this rule is
clear: the skin becomes distorted and pulled around an inappropriate node in the model when
viewed in-game. You will know it when you see it.
8rIngIng It all together
Here is the process for building a dynamic model (a Wemic):
1. Create the model
In this example, start with the basic Lion model (cat_lion.mdl) and the individual parts for
a static human NPC model (in other words, create a static model either from scratch or
from existing models). Follow all the instructions in the Creatures tutorial to develop the
model, animations and textures on this base.
2. Make the model dynamic
Next make the model dynamic by swapping in the PC half-orc nodes for the models
upper body. This may seem counter-intuitive: the human and half-orc models are
interchangeable? They are! The biggest difference is that the the proportions are slightly
off but remember from the Creatures section that most of the animation keys are
rotations so the proportions of the model dont count. The one exception to this is
NeverwInter NIghts Custom Content CuIde vJ.0 Custom Faces

ElIgIo Sacateca Page 140 01/06/200J
rootdummy which includes translations. However, as long as the lions lower body does
not change, the rootdummy translations continue to work fine. I switched to a half-orc
because the Wemics lower body looked too big for the human. Save the PC model as
pmw0.mdl.
3. Create the armor components
Now you have a dynamic model but no armor parts to swap in and out for it. What to do?
Copy the half-orc armor parts. There are hundreds of them. I copied them and used the
NWN Tileset renaming utility but now you can use NWNArmory to rename them internally
and externally from pfo0_<partname>.mdl and pmo0_<partname>.mdl to
pfw0_<partname>.mdl and pmw0_<partname>.mdl. Normally you would make
these for the large phenotype as well. I chose not to do this though because the large
phenotype looked really wacked on the Wemic body.
You must create armor parts corresponding to each of the standard models if you dont
and somebody drops unsupported armor into the inventory of your new character, your
characters body parts will disappear.
4. Make the female version
When you have the male working, create a female version of the base PC model. In the
case of the Wemic, the primary difference is that the females nodes are closer together,
the lower body is smaller and of course it has a different tail. I used the female half-orc
PC model as a starting point for this again because it has all the nodes in the right place.
That is all that you have to do. You do not need new textures for each armor part (I only used one
new texture and that is for the lower body) because all of the armor pieces use the human,
standard phenotype PLTs as discussed in the section on armor.
A couple of final notes:
If you are creating a dynamic character model, you need to set NAME to Custom_model
and RACE to the single digit character of the race in your PC model name as it is set up in
appearance.2da (e.g., h for human, w for the Wemic).
If your model does not match the dimensions of one of the existing characters, you will need to
create entirely new models for the hundreds of armor parts. In some cases you can do this by
scaling existing armour parts (say, lengthening the elf model parts along the z-axis to make a
githerzai). Ive developed a scaling utility (NWNArmory) that automates much of this process.

If your model does not match an existing race at all (say a PC spider with customizable armor),
you will need to match the node names to the standard PC names as best you can (it is okay
to leave some out) and then provide custom armor parts for each of the standard armor
pieces. A tremendous amount of work. The good news is that many of the current armor parts
are not unique they are based on a common set of models with new PLTs. So instead of
having to do 1,000 new pieces, you may get away with only 200 new pieces (what, doesnt
having to do only 200 new models make you feel better?). Or something along those lines.
NWNArmory
In the section of this tutorial on armor I talked about my new tool, NWNArmory. This tool can be
used to take an armor piece for one race and create all of the other racial versions. Even better if
you want to create a PC race, it can take all of the standard Bioware models and create the
pieces you need for a new race.
Let's say you want to create a brand new race. Maybe it will be slightly taller and skinnier than an
elf (a githerzai, say). There are hundreds of model pieces out there if you want your new race to
be able to wear all available types of armor. But you can tell NWN Armory how your new race
NeverwInter NIghts Custom Content CuIde vJ.0 Custom Faces

ElIgIo Sacateca Page 141 01/06/200J
differs from one of the standard races (say an elf) and it will transform those hundreds of pieces
for you.
How do you make it work?
1. First, you need to decide how your new race will differ from an existing race. In the case of the
githerzai, extract all of the standard elf parts. Now choose the unclothed parts (the 001
models). Using your modeling tool, decide how much to stretch these parts across the x, y and
z axes to create your githerzais dimensions. Write those transforms down.
2. Now create a transform initialization (.ini) file and copy this into NWNArmory.ini. The .ini file
consists of a series of transform groups. Each group consists of a match string (you tell NWN
Armory which models this group applies to), a substitute string (you tell NWN Armory how to
rename the model based on the original name), and the definition of the transform for that
group. In the transform you essentially tell NWN Armory how to scale the original model (x, y
and z-axis scaling factors) and how to rotate it (about the x, y, and z-axis respectively). Refer to
the help file of NWNArmory for details on how to do this.
3. Then you fire up NWN Armory and tell it to use all of the elf part models as base models (you
may want to do this in several passes because there are lots of them).
4. Tell NWN Armory where to put the transformed models.
5. Go. What this program will do is compare each input file against the list of transform groups
you gave it. Where there is a match, it will rename the model and apply the transforms you
specify, and save the resulting model in the output directory.


NeverwInter NIghts Custom Content CuIde vJ.0 7Isual Effects

ElIgIo Sacateca Page 142 01/06/200J

7Isual Effects
So you want to create your own visual effects? I talked about innovative ways to get NWN to do
things it was never designed to do. Visual effects can be used to great success in this area. They
have already been used to give creatures wings, to provide a sort of horse-riding feature, and
other ideas. So lets talk about how we create visual effects.
Let me start by describing what a visual effect is. It is, like many other things in the game, a 3D
model. The interesting part is that it can be any type of 3D model. Many visual effects are
emitters representing a particle system in NWN. Emitters can be used to produce clouds,
smoke, fire, lighting and other special effects. Visual effects models can also be normally
rendered 3D models. This is what makes them so versatile.
You invoke a visual effect in the game in different ways.
You can place a visual effect directly in your module (used to create a dust plume, for
example).
Some are tied to spells (remember the audio and visual effects we discussed in
spells.2da?)
You can also call up visual effects through scripting, tying them to creatures or objects.
There are two main types of effects to keep in mind:
Duration Effects these last for a specified length of time (you specify the duration).
Fire and Forget Effects these are fired off, they run through their animation, and they go
away automatically (duration is specified in the model file).
So we want to create a new effect. It is going to be a waving seaweedy thing similar to the wavy
pseudopod namesake of Evards Black Tentacles. There are really two things we need:
1. a visual effect model file
2. an updated visualeffects.2da file to tell the game about the new effect
Where do we start? With something similar to what we already want, of course!
Part 1: The |odel FIle
There are, of course, naming standards for visual effects. These arent strict naming standards
but some effects look like this:
Duration Effects
VFX_DUR_* (Duration)
VFX_BEAM_* (Beam)
Fire and Forget Effects
VFX_COM_* (Combat)
VFX_FNF_* (Fire and Forget)
VFX_IMP_* (Impact)
NeverwInter NIghts Custom Content CuIde vJ.0 7Isual Effects

ElIgIo Sacateca Page 14J 01/06/200J
There are other naming standards for special effects tied to spells. Browse through the special
effects reference guide at the end of this tutorial for details on those.
Like most other models, the name of a VFX model should not have more than 16 characters. You
can find the Bioware VFX models in models01.bif. Open up NWNViewer and export the model
for Evards Black Tentacles (VPS_TENTACLE.mdl). Now open the model in gmax.
Note that VFX models have 3 and only 3 animations:
impact (plays at start of effect)
duration (looping)
cessation (plays at end)
They can have any of the components or features of a regular model (multiple parts, etc.) When
you create the Aurabase object, set the classification on the edit rollout to Effect.
Part 2: EmItters
In the case of our seaweedy thing, our model has a series
of emitters. However, emitters cannot be used directly in
Gmax Waylands scripts dont import or export emitters.
This is why the VPS_TENTACLES.mdl file looks pretty
empty.
However, there is a workaround for this and it is important to understand emitters because so
many visual effects use them. The key observation to make is that emitters are just custom
nodes. They are nodes in 3ds Max that have custom-defined attributes tied to them nothing
more, nothing less. The reason you cannot use them in Gmax is simply that Waylands scripts
were not written to import or export them. The 3ds max scripts can read and write emitter files.
However, because emitters are just custom nodes, you cannot actually view the effect in 3DS
Max. All you can do is change the parameters.
So lets open up the file in 3ds max. It looks like this:


If you select one of the arrows you will see that it is an emitter. The edit rollout looks like this:
Note
Much of this information on Emitters
was compiled by Danmar.
NeverwInter NIghts Custom Content CuIde vJ.0 7Isual Effects

ElIgIo Sacateca Page 144 01/06/200J

F|gure 15 - Tre pararelers lor ar er|ller

NeverwInter NIghts Custom Content CuIde vJ.0 7Isual Effects

ElIgIo Sacateca Page 145 01/06/200J
If you wanted to add a new emitter in 3DS Max you would go to Helpers, change the dropdown to
MDL Suite and select Emitter. On the edit rollout you can change the detailed characteristics of
the emitter. These are the characteristics that you can modify:

Attribute Meaning Values
Styles
Update
(update, update_sel)
How the emitter is updated with
new particles.
Fountain - a constant flow of
particles based on the other
settings. This is used for smoke,
flames, water and etc.
Explosion - occurs when an
animation has a detonate event set
on a frame. This is used mainly to
'blow something up to blow it up
real good'. An explosion emitter
generates one pulse of particles
based on the other settings every
time the detonate event occurs. To
add a detonate event skip over to
where you want it to occur in your
animation. Under the animation
settings on the model base, add an
event on the frame where you want
the pulse to happen. Use 'detonate
(not sure if CaSe matters but lower
works).
Single - creates a single particle at
the center of emitter instead of
spouting out multiple particles over
time.
Lightning - (assumption) generates
a lightning effect with the particles.
NeverwInter NIghts Custom Content CuIde vJ.0 7Isual Effects

ElIgIo Sacateca Page 146 01/06/200J
Render
(render, render_sel)
How to render the emitter.
Determines how the particles are
sent into the world.
Normal - a simple render of the
emitter effects.
Linked - rotates particle so the end
of each particle will touch the start
of previous particle. This can be
used for rope-like effects a very
good example of this is one of the
spells distributed with model
viewer, with dusty pit surrounded
by a few vines.
Billboard - means that the particles
are aligned with 'something'.
Usually in 3D animation this is
used so that you can get a good
effect without a lot of polygons.
Example rather than creating a
model for a particle, you map a
bitmap to a flat plane and set it to
always face the camera. You can
get the same effect as a modeled
particled but it saves on polys and
you don't have to worry about it
turning sideways and revealing its
2D status.
Aligned - I assume does what it
says, makes sure the particles
don't rotate or come out in the
same way. It is possible to use this
for something like a dart trap VFX
because you would want all the
darts to come out the same way.
Blend
(blend, blend_sel)
Describes how to blend the
particles with the rest of the
scene.
Normal does no blending.
Lighten - used with alpha masked
particles such as smoke or flame. If
you just put them as normal they
would appear like big, obvious
particles. Lighten takes the particle
and uses its colors and alpha to
XOR with the objects between it
and the camera and generally give
you a more realistic, ephemeral
effect.
Rule of thumb use Normal for
'chunk' emitters and Lighten for
smoke, mist, fog, water.
Spawn Type
(spawnType)
Describes how the particles are
spawned.
Normal does no blending.
Trail Presumably spawns with a
trail following the effect.
Parameters
Icon Size Affects the display size of the
NeverwInter NIghts Custom Content CuIde vJ.0 7Isual Effects

ElIgIo Sacateca Page 147 01/06/200J
emitter helper object. This has no
impact in-game.
Emitter Size
(xsize, ysize)
Yields the size of the area that
generates the particles.

Inherit properties
(inherit, inherit_local,
inherit_part, inheritvel)
This tells the particles to inherit or
assume certain properties of the
emitter.
If you check inherit, the particle
emitter should move with whatever
object it is parented to.
If you check velocity, if the particle
emitter is moving the particles will
inherit that velocity and add it to
their own velocity. This can be
used to create a trail of particles
left behind by something moving.
Note that for this to work it requires
a huge number of particles or you
get individual 'puffs' of particles.
Miscellaneous
(deadspace, threshold,
combinetime,
renderorder)
No idea.
Particles
Color
(colorStart and
colorEnd)
The color the particle starts out
as and ends as.
For example, to build a smoke
effect, you would set the Color from
white to gray, the alpha to start
high and go to 0, size to start low
and go high. This would have the
smoke come off the fire white and
small and as the particle aged it
would get darker, more transparent
and larger to simulate the cooling
off of the smoke and it being
spread out.
The RGB colour values of the
effect are decimal values in the
model file so divide each of the
RGB values by 256.
Alpha
(alphaStart and
alphaEnd)
How transparent the particle is at
start and end.

Size
(sizeStart, sizeEnd,
sizeStart_y and
sizeEnd_y)
How big the particle is at start
and end.

Birthrate
(birthrate)
How many particles are born in X
units of time.

Life expectancy How long the particle lasts in X
NeverwInter NIghts Custom Content CuIde vJ.0 7Isual Effects

ElIgIo Sacateca Page 148 01/06/200J
(lifeExp) units of time.
Mass
(mass)
Does it fall down and how fast. If the mass is positive gravity will
pull the particles down. If it is
negative they flow upwards.
Spread
(spread)
How far do the particles spread
or what's the range of their angle
of departure.
An angle of 10 means a very thin
cone. An angle of 180 means all
directions.
Particle Rotation
(particleRot)
Does the particle rotate as it
leaves and how much.
A high number for a chunky emitter
would have the chunks flipping end
over end.
Velocity
(velocity)
How fast does the particle leave
the emitter.

Random velocity
(randvel)
What is the variation range based
on the velocity.
A velocity of .5 and a random
velocity of .2 yields a particle that
will have a velocity of .3 to .7 when
it leaves the emitter.
Bounce Coefficient
(bounce_co)
How much does the particle
bounce. You wouldn't want your
smoke to bounce but a fountain
of superballs should bounce
rather well.

Blur length
(blurlength)
How much motion blur is created
for the particles.

Loop
(loop)
Not sure
Bounce
(bounce)
Makes particles bounce
Tinted
(m_isTinted)
Particles that are texture mapped
will be tinted the start and end
colors. Much like you change the
color of skin or armor. The
underlying texture will remain but
it will be shifted towards the start
end colors.

Splat
(Splat)
Not sure, at a guess means the
particle doesn't bounce period.

Affected by wind
(affectedbyWind)
The particles will inherit velocity
from wind speed in areas that
have wind.

Texture and Chunk
Texture
(texture)
What texture is mapped to the
particle or what model is used
instead?
A standard 32-bit tga file.
Two-Sided This would avoid the particle from
disappearing when it rotated

NeverwInter NIghts Custom Content CuIde vJ.0 7Isual Effects

ElIgIo Sacateca Page 149 01/06/200J
(twosidedtex) because there was nothing on
the back side. It allows you to
keep the particles simple.
Animation Grid Width
and Grid Height
(xgrid, ygrid)
The animation settings let you
create a texture image consisting
of a grid of multiple, equally-sized
frames. The width and height
numbers tell the emitter how the
grid is laid out.
These have interesting effects on
the particles and how they're
generated. For example, playing
around with this you can get a
circular whirlpool effect.
Animation Speed
(fps)
During a particle's lifetime, it will
animate through the frames of
the animation. The Speed setting
tells the emitter how quickly to
animate them.

Animation First
Frame, Last Frame
(frameStart
and frameEnd)
Tells the emitter which frame to
start and end on during the
animation cycle.

Animation Random
Playback
(random)
Will cause the emitter to choose
random frames during playback
instead of cycling through them in
order.

Chunk
(chunk)
The model or chunk that's used
for the particle rather than a flat
poly.

Advanced
Lightning properties
(lightningDelay,
lightningRadius
,
lightningScale)
No idea.
Blast properties
(blastRadius,
blastScale)
No idea.
P2P properties
(p2p, p2p_sel,
p2p_type,
p2p_bezier2,
p2p_bezier3,
drag, grav)
No idea.

You can animate some of these properties so that they change during the course of the animation
playing (e.g., birthrate). Youll have to play around with them to test which ones can be animated
and which cannot.
So what is the magic workaround I promised for Gmax users? It is this:
NeverwInter NIghts Custom Content CuIde vJ.0 7Isual Effects

ElIgIo Sacateca Page 150 01/06/200J
1. Open your model in Gmax.
2. Insert a simple node where you want the emitter to be (in the Create tab, select the Helpers
button and create a dummy node). Give it a unique name.
3. Make sure you have an Aurabase object. Link the dummy node to it or to an object that is
linked to the Aurabase (otherwise it will not export in the next step).
4. Save your model.
5. Select the Aurabase object and export the model.
6. Now open the resulting model file. Look for a line like this:
node dummy <whatever you called your dummy node>
parent vps_tentacle
position 0 0 -0.065378
orientation 0 1 0 -3.14159
wirecolor 0.425781 0.425781 0.425781
endnode

7. Replace the first line with:
node emitter <whatever you called your dummy node>

8. Insert the following text right before the endnode line:
colorStart 0 0 0
colorEnd 0 0 0
alphaStart 1
alphaEnd 1
sizeStart 0.1
sizeEnd 0.01
sizeStart_y 0
sizeEnd_y 0
frameStart 0
frameEnd 0
birthrate 0
spawnType 0
lifeExp 1
mass 0.1
spread 0
particleRot 0
velocity 3
randvel 0
fps 0
random 0
inherit 0
inherit_local 1
inherit_part 0
inheritvel 0
xsize 0
ysize 0
bounce 0
bounce_co 0
loop 0
NeverwInter NIghts Custom Content CuIde vJ.0 7Isual Effects

ElIgIo Sacateca Page 151 01/06/200J
update Fountain
render Linked
Blend Normal
update_sel 1
render_sel 2
blend_sel 1
deadspace 0
opacity 0.5
blurlength 10
lightningDelay 0
lightningRadius 0
lightningScale 0
blastRadius 0
blastLength 0
twosidedtex 0
p2p 1
p2p_sel 2
p2p_type Gravity
p2p_bezier2 0
p2p_bezier3 0
combinetime 0
drag 0.8
grav 3
threshold 0
texture fxpa_vine2
xgrid 1
ygrid 1
affectedByWind 0
m_isTinted 0
renderorder 0
Splat 0

9. Use the descriptions above and this template to set your own emitter values.
10. Save and close your model.
11. Keep your fingers crossed that you did it right.
For my example Im going to turn the emitter upside down and then change the texture to be
more like seaweed than a black tentacle. Im going to use this base and attach it to the upper
body of a dryad to make a Kelpie. More on that in the next version of this tutorial.
Part J: The 7Isual Effects Fesource FIle
Now that we have created an emitter, we need to get NWN to recognize it. Like other custom
content we do that with a resource file (.2da). VisualEffects.2da describes which visual
effects are available. This is a breakdown of all the column headings for visualeffects.2da.

Column Description Values
The first column is the ID of this entry
Label The internal name of the effect.
Type_FD The type of effect. F = Fire and forget
NeverwInter NIghts Custom Content CuIde vJ.0 7Isual Effects

ElIgIo Sacateca Page 152 01/06/200J
Column Description Values
D = Duration
OrientWithGround Orient the effect with the ground
plane
All Bioware effects are set to 0.
0 = False
1 = True
Imp_HeadCon_Node
Imp_Impact_Node
Imp_Root_S_Node
Imp_Root_M_Node
Imp_Root_L_Node
Imp_Root_H_Node
Name of the effect model that will be
animated at the appropriate node.
These effects will play respectively at
the Head node (just at the top of the
head on most models), the Impact
node (near the center of body in
front), or the rootdummy node for
different sizes of creatures. Bioware
does not use S but these are for
Small, Medium, Large, and Huge
models respectively.
ProgFX_Impact A number referencing an internal
programmed effect upon impact of
the spell with the creature. These are
effects for which there is no model
and they are used to create special
effects such as invisible, ethereal,
stoneskin, etc.

SoundImpact A sound file played at start of effect. From the soundset.2da file.
ProgFX_Duration Duration for which the programmed
effect plays.

SoundDuration A (usually different) sound file that
plays throughout the duration of the
effect.
From the soundset.2da file.
ProgFX_Cessation Programmed effect that is applied at
the end of the effect.

SoundCessastion
(sic)
A third sound file that plays at the end
of the effect.
From the soundset.2da file.
NeverwInter NIghts Custom Content CuIde vJ.0 7Isual Effects

ElIgIo Sacateca Page 15J 01/06/200J
Column Description Values
Ces_HeadCon_Node
Ces_Impact_Node
Ces_Root_S_Node
Ces_Root_M_Node
Ces_Root_L_Node
Ces_Root_H_Node
These appear to be effects that would
be played at the end (cessation) of
the effect. However, Bioware doesn't
use them and nothing appears to
happen when tested.
****
ShakeType Should the effect shake the screen? 0 = No
1 = A quick bump
2 = A timed effect using the next 3
parameters.
ShakeDelay Delay in seconds before start of the
screen shake

ShakeDuration Duration of the screen shake in
seconds.

LowViolence A programmed effect number is used
instead of the combat blood models
for Low Gore video settings.
These are only used by Bioware for
the combat blood spattering (all
colors).
LowQuality An alternate, less detailed effect
model for low quality video settings.
These are typically used for lower
quality explosions and other fancy,
CPU-intensive effects.

Now open up nwscript.nss. This is where the predefined constants are. Add a new constant for
your new visual effect by finding the list of effects and add your entry. For example, it typically
looks like this:
int VFX_DUR_DARKNESS = 1;

Just list the name and your entry number from visualeffects.2da.


NeverwInter NIghts Custom Content CuIde vJ.0 Dther TutorIals

ElIgIo Sacateca Page 154 01/06/200J
Dther TutorIals
The goal of this custom content guide is not to be a definitive reference for every conceivable
item and object that you might create in NWN. What I have attempted to do is address the objects
that were not covered in other tutorials, or were outdated or unclear in the ones I could find. In
other words, the objects that I struggled to understand. With that in mind, what I am including
here are references and links to tutorials that I think do quite a good job of explaining certain
mysteries of content creation. But dont take my word for it explore them yourself.
AmbIent |usIc (8|U fIles)
Ambient music applies to an entire Area of a Module. To add ambient music you must set up a
BMU (Bioware Music Unit) file and place it in the /music directory of your game installation.
Similar to a PC Portrait, you cannot put an ambient music file in a hakpak. Follow the instructions
on Biowares community site (http://nwn.bioware.com/builders/sounds_bmu.html).
Interestingly, you still need to update ambientmusic.2da so you still need to distribute at least
one file in a hakpak.
As of version 1.26 of NWN, Bioware added a new column to ambientmusic.2da
DisplayName. If the Description column contains ****, then the Toolset will use the text in
DisplayName for the name of the file. This is how labels in .2da files should work!
There is a utility for changing an MP3 file to a BMU
(http://nwvault.ign.com/Files/other/data/1032456985150.shtml) file on NWVault (it simply changes
the first 8 bites of the file). Drop the executable in a directory and double click on it. Use to set
the folder for your source mp3 files or .bmu files, and then select the files to convert. You can
convert them in either direction.

F|gure 1 - VP3 lo 8Vu corvers|or
If you are looking for information on how to score and record your own music, I am told that you
will need the following:
A good general midi keyboard/sampler and library of digital instruments
Protools on Mac (LE is free) or Acid Studio Pro on PC (for a cheaper alternative try
FruityLoops for the PC)
Sound Forge to fine tune your sound files when done (if you want a cheaper alternative
try CoolEdit).
NeverwInter NIghts Custom Content CuIde vJ.0 Dther TutorIals

ElIgIo Sacateca Page 155 01/06/200J
If you don't want to actually create your own sounds and want to just mix in music to create
something new then look for sound loops (sonicfoundry.com). You may find a lot of the unsigned
artists on www.mp3.com receptive to the idea of their music being used in a video game (dont
use their work without permission). On mp3.com there are a series of genres
(http://genres.mp3.com/music/genres.html) that you may want to look at (try medieval or Celtic
themes for example).
Area Load Screens
If you want to update the load screens between Areas of a module, try Pasus Naruans Area
Load Screen Creation Kit (http://nwvault.ign.com/Files/other/data/1031186858936.shtml). It
includes templates and a tutorial.
0oors
Here is a tutorial on creating custom doors
(http://nwvault.ign.com/modules/tutorials/MrX/door_tutorial_new.shtml). It explains the types of
animations you need, how to create DWK meshes (door walk meshes), and pretty much
everything you need to know. This is an advanced tutorial: it assumes you already know the
basics of modeling, animation, and texturing.
ntroductory |ovIes
A starting movie can really set the tone and feel for a module. To add an introductory movie to
your module, follow the instructions on Biowares community site
(http://nwn.bioware.com/builders/movie_tutorial.html).
The tutorial requires several different software packages than have been described in this
document:
1. Microsoft Powerpoint or another program that can display slideshows.
2. A screen capture program that can create .avi files.
3. A tool to convert .avi files to .bik files.
Placeable tems
This is a tutorial on Creating Simple Placeables
(http://nwvault.ign.com/Files/other/data/10328418
67324.shtml) that builds a tree model and explains
shadows, PWK meshes (placeable walk meshes
that keep people from walking through your
placeable like it doesnt exist) and other concepts.
This tutorial does not talk about animating a
placeable. Now that we have done animation for a
creature, placeable animations are a breeze.
There are 7 placeable animations:
Animation Name Description
Damage Plays when the object is struck and damaged. For most objects it
is a simple shiver.
Default The animation that occurs all the time unless turned off in the
toolset or through a script command. Normally there is nothing in
Warning
If you put an alpha texture on a
placeable, the texture itself will not cast
shadows. To get the placeable to cast
shadows, create an object (typically
with a simpler geometry corresponding
to the shadow you want), set it non-
renderable, and plunk it down over top
of your regular object.
NeverwInter NIghts Custom Content CuIde vJ.0 Dther TutorIals

ElIgIo Sacateca Page 156 01/06/200J
the default animation (reduces load on the CPU).
Dead Plays when the object is destroyed. Usually it is dropped below
ground level to get it out of sight while, at the same time, an
emitter throws chunks of stuff into the area and creates
explosions.
On Animation that plays when the object is on
Off Animation that plays when the object is off
On2Off Animation that plays when the object switches form on to off. For
example, levers go through this state when switching from on to
off.
Off2On Reverse of On2Off

Note that placeables do not usually move. What if you want a placeable that can (say, a cart)? It
is quite easy - you don't need any animations in the file at all. Take your cart and rename it as a
creature (c_cart). If it is a compiled model file you can just rename the file. Otherwise you will
need to change the internal model names as well. Edit the appearance.2da file to add the cart
as a creature (refer to the tutorial on creatures for details). Set the movement column to 0 (no
movement) or else the creature will jump around during combat when attacked.
Placeable Sounds (WA7 fIles)
A placeable sound is one you add to an area in your module. It can be set up so that it is only
noticeable within a certain range or it can apply to the entire area. To add a .wav file to your
module, follow these instructions on Biowares community site
(http://nwn.bioware.com/builders/sounds_wav.html).
It is not necessary to update ambientsound.2da file in NWN for your placeable sounds
because NWN lets you add sounds directly from a hakpak. I believe .mp3 files work for placeable
sounds as well although I have not tested them myself.
TexturIng
While I did say this is a tutorial on NWN content and not a general guide to modeling or texturing,
here are a few useful links on texturing. This first is from Martin E and is written specifically for
NWN. It consists of a series of tutorials that take you from basic information about image files
through to the details of Alpha channels and textures:
http://www.i.nation.btinternet.co.uk/tutorials/tutorial_00.htm
Here is a tutorial on texturing hair
(http://www.planetquake.com/polycount/cottages/bladekiller/hairtut.htm) from PlanetQuake
Qbranch (http://www.planetquake.com/polycount/cottages/qbranch/) is also from PlanetQuake
and has tutorials on texturing and making cloth, metal, etc.
TIlesets
Biowares has recently released the Neverwinter Tileset Construction Tutorial
(http://nwn.bioware.com/downloads/max_tileset.html). This gives detailed examples on tileset
creation. There is also a good tutorial on Creating Custom Tilesets From Scratch
(http://nwvault.ign.com/Files/other/data/1034000197879.shtml). Be forewarned: it is a long and
NeverwInter NIghts Custom Content CuIde vJ.0 Dther TutorIals

ElIgIo Sacateca Page 157 01/06/200J
arduous process to create an entirely new tileset. Most people have been content with adding a
few new tiles to an existing tileset.
Tilesets have a different set of animations (again, since we did creature animation in a tutorial,
this small number of animations should be a breeze):
Animation Name Description
Animloop01 One of two animations you can trigger through scripting. This is
used for smoke and swaying signs a lot.
Animloop02 Same
Day
Night
Animation that plays during the day or night, respectively
Day2Night Animation that plays when day turns to night. This is often used in
buildings to move a plane with a lit window into place so that it
looks like somebody inside has turned on a light.
Night2Day Reverse of above.
Tiledefault The default animation. Typically only used for waterfalls, fountains,
etc.

Not covered in this tutorial but in Biowares tileset documentation (see below) you can find
information on .txi files which provide for environment mapping. However, if you are trying to get
an environment map on a placeable, it will not work. This seams to be another bug in the Aurora
engine. If you want to see Bioware's failure to get environment mapping to work on a placeable
look at their treasure placeable (the pile of coins). They specified that this placeable should use
an environment map in its texture's .txi file, but in the game it renders transparent.
There are some workarounds depending on what you want to do. For example, if you are looking
for a reflectivity environmental map, rtrifts suggests make the object a creature. It can have its
animation speed set to SLOW (Read Zero), or have its 2da set so that it is noninteractive and
does not move its head to track players. Creaturizing placeables is also a way to make sliding
crates, moving boulders and all sort of interactive scenery.
TIlesets by FetexturIng
There is also Tileset Retexturing for Dummies
(http://nwvault.ign.com/Files/other/data/1030966672399.shtml) and Tileset Retexturing for
Dummies 2 (http://nwvault.ign.com/Files/other/data/1031166293059.shtml). Another tileset
resource can be found with this Tileset Retexturing Tutorial
(http://www.hypercubed.com/games/nwn).
Dther Content and |odelIng TutorIals
Danmars modeling tutorials
(http://nwvault.ign.com/Files/movies/categories/Modeling%20Tutorials2.shtml) cover custom
content for NWN. In my opinion, the best ones are on using the ChilliSkinner tool for texturing
(http://www.chilliweb.co.uk/chilliskinner/).


NeverwInter NIghts Custom Content CuIde vJ.0 2da FIles

ElIgIo Sacateca Page 158 01/06/200J
Notes on Dther .2da FIles
I am including in this section notes on the contents of other .2da files that may be of value to
custom content creators. These may fit into a currently-unwritten tutorial section to be addressed
later. Or not. These are generally untested (by me, anyway).
Feats.2da
The Feats.2da file is used to define new feats, their
requirements and how they show up in the game. Note
that this file does not actually include code for the new
feat.
There are three types of feats in NWN (I am classifying
them based on the way you activate the feats in NWN):
1. Automatic feats or what I call Combat feats because
they are active all the time and take effect when
appropriate (like Improved Critical xxx feats)
2. Special ability feats or Radial-type feats which appear in the radial menus (like Cleave)
3. Spell-like feats
You can only really add spell-like feats and even they will only be selectable or automatically
granted at level up but they dont show up in the GUI during the game. So players cannot use
them easily. So we need a workaround: create a custom item that has:
ActionUseFeat(<ID of your feat in feats.2da>);
as its OnActivate script.
You cannot add new combat feats because the combat engine is hidden from us in the internals
of the game. You cannot add new buttons to radial menus so those feats are not available either.

Column Description Values
The first column is the ID of the feat
LABEL The internal name of the feat.
FEAT STR_REF to the name of the feat
referenced in dialog.tlk.
If you put **** in this space it should
use your Label in place of the string
reference in dialog.tlk (but does not,
yet).
DESCRIPTION STR_REF to the name of the feat
referenced in dialog.tlk.

ICON The icon you see in the game for the
feat.

MINATTACKBONUS The minimum attack bonus needed
to qualify for the feat,

MINSTR
MINDEX
Minimum strength, dexterity,
intelligence or wisdom needed to

Hint
This is from a compilation by Roesone
and thallionstellani. I have not tested
feats myself.
The expansion, Shadows of Undretide,
may fix the radial feats problem. Keep
your fingers crossed.
NeverwInter NIghts Custom Content CuIde vJ.0 2da FIles

ElIgIo Sacateca Page 159 01/06/200J
Column Description Values
MININT
MINWIS
qualify for the feat.
MINSPELLLVL Minimum spell caster level needed
to qualify for the feat.

PREREQFEAT1
PREREQFEAT2
Prerequisite feats needed to qualify
for the feat (references back to
column 0, the ID)

GAINMULTIPLE Can the feat be gained multiple
times?
0 for no
1 for yes
EFFECTSSTACK Do the effects of the feat stack with
other feats?
0 for no
1 for yes
ALLCLASSESCANUSE Can all classes use this feat? If yes,
it is not necessary to put this feat in
the cls_feat_<class>.2da tables.
0 for no
1 for yes
CATEGORY This is the type of feat for use by the
AI (refer to spells) so that NPCs and
monsters use it properly.

MAXCR Not sure.
SPELLID Points to spells.2da (column 0, the
ID) for the spell characteristics and
script used to implement this feat. All
of your custom-created feats will
typically have this reference (it is the
only way you can implement a feat).

SUCCESSOR What feat comes next in the feat
progression (mainly used for class
abilities that were made into feats,
like Barb Rage/Bard Song, etc.)

CRValue I believe this is used to determine
the CR value of a creature when you
add this feat to the creature, part of
the behind the scenes work when
creating monsters

USESPERDAY How many times the feat can be
used between rests.

MASTERFEAT
TARGETSELF Does the feat work on only the
person using it? (bardsong no, most
others yes)
**** for no
1 for yes
OrReqFeat0
OrReqFeat1
OrReqFeat2
OrReqFeat3
OrReqFeat4
Feats needed as prerequisites(?) Uses column 0, the feat ID
REQSKILL Skills needed for the feat Uses column 0, the skill ID, from
NeverwInter NIghts Custom Content CuIde vJ.0 2da FIles

ElIgIo Sacateca Page 160 01/06/200J
Column Description Values
skills.2da.
Constant The constant the feat uses in the
scripting language (especially
nwscript.nss)

TOOLSCATEGORIES Represents the Type column in the
Aurora toolset, categorizing feats
when creating NPCs.
1 Combat Feats
2 Active Combat Feats
3 Defensive Feats
4 Magical Feats
5 Other Feats
6 Class/Racial Feats
HostileFeat Is the feat used on a hostile creature
(Called Shot is an example).
**** for no
1 for yes

There are two other 2da files you will need to know about.
Cls_Feat_<classname>.2da describes the feats that are allocated to a class and at what level.
You only need to put feats in this table if they are not available to all classes (see
ALLCLASSESCANUSE in feats.2da above).
Column Description Values
The first column is the ID of this entry
FeatLabel The internal name of the feat.
FeatIndex A reference back to column 0, the ID,
of feat.2da

List Which list of feat types the feat
appears in.
0 : means that the feat will have to be
selected at creation or level up.
1 : this is a pure guess, but a
reasonable one I think, this value is
only used for wizards and fighter to
specify the class related feats they
can get as bonus feats every two
(correct me if I'm wrong) levels.
2 : I won't even try to guess what that
one does: suffice to say it is only used
for the ranger favored enemy feats
(I.e. against dragon, against undead
etc), and for the high level rogues'
feats (crippling strike). So this would
be the "automatically granted but that
you still need to choose category".
3 : the feat will be automatically
granted for this class, at the level
specified in the GrantedOn column
GrantedOnLevel Defines which Level the Feat will be
automatically granted at.
-1 Only used if List does not have a
value of 3.
>= 1 is only used if List does have a
value of 3
NeverwInter NIghts Custom Content CuIde vJ.0 2da FIles

ElIgIo Sacateca Page 161 01/06/200J

Race_Feat_<racename>.2da describes which feats are automatically allocated to a particular
race.
Column Description Values
The first column is the ID of this entry
FeatLabel The internal name of the feat.
FeatIndex A reference to feat.2da indicating
which feats the race gets
automatically.
A reference back to column 0, the ID,
of feat.2da

If you want to check for the existence of a feat in a script, you will need to assign a CONSTANT
to it. Remember adding FEAT_<featname> to the CONSTANT column in feats.2da? Well now we
use it. Add to your script file the following line:
int FEAT_<featname> = <nnn>; //put the actual value from feats.2da in place of nnn
Make sure you use underscores "_" instead of spaces in name.


NeverwInter NIghts Custom Content CuIde vJ.0 Tools CuIde

Page 162 01/06/200J
Tools CuIde
This section provides a more detailed look at the available tools.
ZolIgato's NWN 7Iewer
This viewer
(http://nwvault.ign.com/Files/other/data/1026158289673.shtml)
lets you browse the NWN resource files (all of the models,
textures, pictures, text, etc. that makes up the content of the
game) and to extract them so that you can modify the files or
use them as a base for making your own custom content.
NWN Viewer does not come with an installer so unzip the files into a directory (maintaining the
sub-directories in the zip file) and drop a shortcut to it on your desktop or into your NWN menu.
8Ioware's Hakpak EdItor
A hakpak (a file with the extension .hak) is a package where you add custom files to either
supplement or override standard Bioware content. Anybody who plays your module will need a
copy of your hakpak so be sure to distribute it along with your
module itself. You can use a hakpak to make Neverwinters
standard goblin a different color (overriding standard content)
or to add a new monster such as an Owlbear (adding new
content).
Let me try to outline a few of the controversies surrounding
hakpaks and their use in customizing NWN content.
First, let me note that hakpaks are the official Bioware
method for distributing custom content. They are not free from issues or special considerations
but they are the best way of getting your content out to the gaming public. People have come up
with workarounds and lots of contradictory and nonsensical advice on what to do and what not to
do with hakpaks. Lets talk about a few of the issues.
1. The /override directory. First, you can also override Bioware content by dropping a file into
the /override folder of your game directory. However, this approach is not recommended.
Hakpaks are much cleaner they can group many overridden files into one package and,
more importantly, they are specific to a module. Putting a file into the /override directory will
override it for all modules you play on that computer which may have unintended
consequences on other peoples games. Dont do it. If you put custom content into the
/override directory of your computer and wonder why other peoples modules dont work on
your machine, you probably have created the problem yourself.
Also, putting things in the /override directory like new .2da files will break the ability of
the automatic installer to update your game to the latest release. To fix this you will need
to restore the old version to the /override directory. You can find the old versions of
these files in the /source directory of your game.
One .2da file per module is all that you are allowed. This means if you want to combine
resources from multiple hakpaks it becomes tricky when you put similar content together
from multiple sources because some of the model ids and 2da files may overlap.
Notes
WIP need to explain how this works
and where to go to get at the bif files.
Explain what each bif contains.
Notes
In release 1.28, Bioware added the
ability to specify multiple hakpaks for a
module. It will be interesting to see
what conventions arise around using
multiple hakpaks.
NeverwInter NIghts Custom Content CuIde vJ.0 Tools CuIde

Page 16J 01/06/200J
For example, you will need to re-edit and combine some of the files manually (specifically
the .2da file). Also, Because of a very strict naming scheme that you have to fulfill to
have the game recognize items and display them properly, there will never be a 'clean'
solution. For details on how to combine hakpaks, refer to this tutorial on combining
hakpaks: http://nwvault.ign.com/modules/tutorials/CombiningHakPaks.shtml. It is no
longer strictly necessary to combine the paks physically because NWN allows multiple
haks. However, the section on combining 2da files is still valid and required.
To give you an example, assume I create a bastard sword. I create it to fill the number 8
position. Not only do I have to name each file according to a set naming scheme I also
have to ensure that the internal references to that object match the name. It is not even
as simple as renaming the files. Internally there are references to my number 8 sword
that have to be changed in roughly 5 places in at least three files. Nine files if you've
include all three parts for all three colors. So roughly 45 to 54 internal references.
So say Poly creates a bastard sword. He has no idea I've done so and he picks the next
available number which is 8 and builds his as the 8th piece. To use his and mine in one
hakpak, one of us has to go back and change those references.
2. Official expansions may overlap with custom content. Similar to the issue above, if Bioware
creates a patch that includes additional content, there is a risk that it will interfere with your
content. This problem becomes even more insidious because your module may work fine
under version 1.22 and be broken under version 1.25. At least when merging other peoples
content into your hakpaks you can test for incompatibilities. When it happens as an official
update, anybody who has an old version of your module on their machine will be at risk. This is
why I recommend setting ID numbers in .2da files to be much higher than the official ID
numbers.
Expect even more of these issues when Bioware chooses to release expansion packs.
Again, the best way to avoid these issues is to stay well above the range of ID numbers
that Bioware uses or use the User ranges they set aside.
3. Official patches will not be in custom content released before the patch. To override some of
the files, like the .2da files, you take a copy of the entire file and add your own modifications to
it. There is a risk if Bioware issues an updated version of that file in a patch that you will not
have those updates in your file. For example, I dutifully used NWN Viewer to export the
baseitems.2da file to add a new weapon. But my game installation has a more recent copy
of baseitems.2da in the new patch.bif file already. I'm on v1.28 of the game.
If I run a diff between the patch.bif version and the version I exported from NWN
Viewer, there were two small changes (to the Heavy Crossbow and the Trapkit). Not
good. Not surprising, in retrospect, but not good anyway. Why does this happen?
Bioware has originally used the /override directory for its official version updates. As
of version 1.28 it moved most of that content to patch.bif. NWN Viewer gets its data
directly from the appropriate BIF files. It does not look in these other locations first. When
I distribute an older version of a .2da file in a hakpak, Biowares changes disappear
because my hakpak version takes precedence.
Practically speaking what this means is that when you are going to modify a current NWN
file (e.g., a .2da file), look in \source\2dasource.zip first, before you go and export a
file you want from NWN Viewer. Only if Bioware hasn't updated that file recently would
you use NWN Viewer to export a new version from the original game installation.
If you don't follow these simple rules, you risk undoing Bioware's bug fixes when you
distribute custom content. This same issue exists if Bioware distributes an update after
you distribute your content but we let's not exacerbate the problem.
NeverwInter NIghts Custom Content CuIde vJ.0 Tools CuIde

Page 164 01/06/200J
4. The dialog.tlk file cannot be put in a hakpak. See more in the section below on this file. In a
nutshell, Bioware has been making changes to overcome this issue by making it less and less
necessary to customize the dialog.tlk file. They have no intention of making it hakpak aware.
Get over it and stop using dialog.tlk for kludgy changes to custom content.
5. Renumbering .2da entries. If you delete rows from a .2da file in a hakpak, or even if you re-
number them, it will mess up an existing module that used the previous version of your
hakpak. The toolset put the entries into numerical order for you, but if you have used the hak in
that module before and delete an entry, everything after that entry will be one appearance off.
This is why you will notice entries in the standard .2da files that are not actually deleted, they
are just blanked out using **** and other meaningless values. Use the same method if you
are modifying a hakpak in the middle of developing your module. This also occurs quite
frequently when combining hakpaks. And it creates problems if you load a saved .erf file that
referenced a previous version of your hakpak. The only real solution other than leaving in
blank entries is to recreate your module from scratch or change all of your model entries by
hand.
Having said all of that, hakpaks are still the best way to manage custom content. The only way to
better manage some of these issues would be to create a central registry for reserving Ids, item
numbers, etc. to ensure that nobody ever created another item that overlapped with yours. Even
then the central registry would only be as good as the people maintaining it and registering their
changes with it.
So with that behind you, let me touch on the basics of how to install your content into a hakpak
and load that into a module. To create or modify a hakpak, launch the supplied nwhak.exe
program (it can be found in the /utils subdirectory where you installed NWN).
6. Select File | New to create a new hakpak. Enter the name and other information on the main
window (or use File | Open and choose the hakpak you want to modify). Do not modify any Do not modify any Do not modify any Do not modify any
standard Bioware HAK files. standard Bioware HAK files. standard Bioware HAK files. standard Bioware HAK files.
7. To add files select Resource | Add or simply drag the file into the list below.
8. To remove a resource from the hakpak, right click on it and select remove (you can multi select
to remove several at one time by holding down <shift> or <ctrl>).
9. Select File | Save to save your hakpak. Save it into the /hak subdirectory where you installed
NWN.
To use your hakpak you must add it as a resource to your module:
10. Launch the Aurora Toolset.
11. Open your module or create a new module.
12. Select Edit | Module Properties to modify the basic characteristics of your module.
13. Select the tab labeled Custom Content.
14. Using the drop-down combo box select your hakpak (if it does not appear in the combo box
you probably have not placed it in the /hak subdirectory where you installed NWN). You can
add multiple hakpaks this way with the topmost haks having higher priority (i.e., duplicate files
in the higher haks override those in lower haks).
NeverwInter NIghts Custom Content CuIde vJ.0 Tools CuIde

Page 165 01/06/200J

Add|rg a ra| pa|
15. Save, close and re-open the module. There seems to be a bug (at least in Release 1.26 of
NWN) where it does not always load a new hakpak properly while a module is open. The only
workaround I have been able to find for this is to close the module and then re-open it. This
properly loads the updated hakpak data for most content (but not all).
|odelIng Tools
If you really want to do modeling, go and download yourself a
copy of gmax (http://www.discreet.com/products/gmax/) from
Discreet Software. It is a subset of 3ds max for non-
commercial game designers and it is free. You also need to
pick up the GMax MDL import/export
(http://nwvault.ign.com/Files/other/data/1029721132840.shtml)
script to use it for NWN content and Torlacks NWNMdlComp
(http://www.torlack.com/index.html?topics=nwnmdlcomp_read
me) model compiler/decompiler if you want to edit existing
models.
The installation instructions are fairly simple:
1. Download and install gmax.
2. Download and unzip the import/export script.
3. Drop the nwn_mdl_v<version#>.ms script from the zip file into the /scripts/startup
directory of your gmax installation (not of your NWN installation).
Warning
Remember to do low polygon
modelling. For example,
weapons 150
placeables 200-300
tiles 350
walkmeshes 100
NeverwInter NIghts Custom Content CuIde vJ.0 Tools CuIde

Page 166 01/06/200J
4. Unzip the NWNMdlComp executable. Drop a copy in your C:\WINDOWS or C:\WINNT directory
(or put it in a directory and set your computers pathname to point to it).
5. If you have an existing model file to work with, run NWNMdlComp d <modelfile> to
decompile the binary model file from NWN. Dont use the .mdl suffix. The output file will be
named .mdl.ascii.
6. Start gmax. The NWN MDL Tools pane should start automatically.
7. Enter a filename and select Import. This should load the model.
8. Edit it to your hearts content.
9. Select the base object.
10. Select Export from the NWN MDL Tools pane.
11. Select MAXScripts | Listener to show the listener dialog.
12. Copy and paste the decompile ASCII model into a text file. Gmax will only copy 10KB at a time
so you may need to copy and paste multiple times.
13. Youre done!
8Ioware's 00S CompressIon Tool
NWN uses a scalable texture system to increase system performance, known as the DirectDraw
Surface (DDS) format. DDS files contain multiple versions of the same texture at different
resolutions, called mipmaps. Mipmapping is a technique that improves image quality and reduces
texture memory bandwidth by providing pre-filtered versions of the texture image at multiple
resolutions. DDS files are also compressed.
What does all of this gibberish mean? It means DDS files are smaller and render faster on high-
end 3d video cards. While not absolutely necessary, DDS files will give your objects that extra
level of professional shine. It allows your hardware to switch between very hi-res textures when
viewing an object close up while using low-res textures for faster rendering of the same object
viewed at a distance. Computers with a graphics card that cannot handle DDS files require a
copy of the .tga file instead (usually of a lower resolution so that they do not slow performance
significantly). So if you use DDS files, include one at a lower resolution like 64 x 64.
Bioware has tool called ProcessTextures.exe
(http://nwn.bioware.com/builders/texturetutorial.html). It is a free, unsupported Windows utility but
it will not work on all computers. It is dependant on your video card and drivers supporting the
required compression. Most DirectX 8 drivers should work it has been tested it on a GeForce3
and Radeon 8500, which worked fine, however the Matrox G550 cards do not work.
Biowares DDS Compression Tool will not uncompress a DDS file into a bitmap. It is one way only
(.tga to .dds). To uncompress a bitmap, use DDSTools (described in the next section) and then
discard all but the highest resolution bitmap.
A few things to be aware of:
Bioware uses a slightly modified version of the DDS standard so you cannot use standard
tools like Nvidias Photoshop plug-in to create them. You must use the Bioware tool (or
DDSTools although I dont recommend that program).
NeverwInter NIghts Custom Content CuIde vJ.0 Tools CuIde

Page 167 01/06/200J
DDS is a lossy compression algorithm but does a good job in most cases and the file sizes are
much smaller and they run faster so dont let that stop you from running them.
If you absolutely must have one texture of extremely high resolution, put just the .tga in your
hakpak for that file. This is generally not recommended though because those large .tga files
really slow down even high end machines.
Try doubling the size of your .tga file before compressing it to avoid pixelization. You will
convert every pixel to 2x2 pixels (smooth it if you like); THEN convert it to DDS - quality should
be better (although file size of course will be bigger).
DDS compression works on 4x4 blocks of pixels. If you have more than 2 distinct colors in the
same 4x4 block, you will have some pixelization (every 4x4 block is defined by 2 colors plus
transitions between them). For most textures, it is really acceptable - you can show smooth
transitions (4 level of transition for 4 pixel space - ideal) and you can show hard edges.
All textures should be a power of two: 2X2, 4X4, 8X8, 16X16, 32X32, 64X64, 128X128,
256X256, 512X512 (the practical maximum that makes a difference).
For really large models you may want to include several .tga and DDS files as textures (e.g.,
the Bioware dragon models use 3).
To use this tool:
1. Download the DDS Compression Tool (.zip, 262 KB), save it to a location where you can find
it, and unzip it (using a tool like WinZip).
2. After unzipping the tool, you will find 2 files in the 'dds' folder (processtextures.exe and
runme.bat) along with 2 directories labelled 'in' and 'out'.

3. Place the .tga you wish to compress into the 'in' folder.
4. Double-click the 'runme.bat' in the 'dds' folder. This will convert the texture from .tga format to
the compressed .dds format that is needed for the game. You will find the converted texture in
the 'out' folder. It will have the same filename as the original, but with the .dds file extension.
00STools
DDSTools (http://downloads.neverwinternights.de/tools/ddstools.zip) is a freeware utility that will
also compress and uncompress a DDS format file into a series of .tga files.
Biowares DDS Compression Tool will not uncompress a DDS file into a bitmap. It is one way only
(.tga to .dds). To uncompress a bitmap, use DDSTools and then discard all but the highest
resolution bitmap.
DDSTools flips your image vertically when creating the DDS from the bitmap (which will usually
mess up how it maps to your model although you may not notice it if it is a random pattern). Use
Biowares DDS Compression Tool instead (which does not flip) or manually flip your bitmap first.
Also, Desotos will not work with 32-bit .tga files (i.e., files with an alpha channel) although
Biowares will.
What all of this means is you need both if you want to use Biowares textures as a starting point
for any of your models.
NeverwInter NIghts Custom Content CuIde vJ.0 Tools CuIde

Page 168 01/06/200J
TlkedIt
Neverwinter Nights includes a data file called dialog.tlk. This
file contains a huge list of thousands of text resources: all of
the names of all of the objects in the dialog from the game.
This is a common technique used to make it easier to
internationalize a game with all of the text strings in one
place, translation to multiple languages is much easier.
Each resource in dialog.tlk has a number assigned to it called
the String Reference. Unfortunately, editing dialog.tlk is
fraught with issues:
5. It is a huge file (7 MB+) which makes for a big download.
6. It is not something you can override through a hakpak. So
for each module that you play with a new dialog.tlk file,
you have to manually swap in the new dialog.tlk before
loading the game.
7. If you update NWN through the automatic updater, it will
not work if you have changed dialog.tlk. You will have to
restore the old version first, then update the game. Of
course, any changes that Bioware makes to dialog.tlk for
an update will break your version.
These examples make changes to dialog.tlk very difficult. Most
users do not like messing around with their game installation
to run a module and will refuse to download modules with
modified dialog.tlk files. Many users have only a basic
understanding of computers and find issues like manually swapping dialog.tlk files back and forth
to be challenging.
Bioware is aware of this issue. Patch v1.25 of the game removed the need to modify dialog.tlk for
some objects. For example, in appearance.2da if you now leave the String Reference field blank
the toolset will use your label as the title for the object. This is a huge improvement and we
continue to lobby the Live Team to make more patches like this.
The summary message of this section is this: Modify dialog.tlk at your own risk. It will certainly
turn many people off from using your custom content. It is only necessary in a few circumstances
so ask yourself if it is worth it before producing custom content that requires these changes. Here
is my opinion on the subject, by section:
1. Weapons - it is unnecessary to modify dialog.tlk. You can edit the item name and description
and stats in the Aurora toolset and distribute custom .erf files.
2. Portraits not required.
3. Voicesets not required.
4. Items without Models - it is unnecessary to modify dialog.tlk. You can edit the item name and
description and stats in the Aurora toolset and distribute custom .erf files.
5. Armor and Clothing not required.
6. Spells required. Unless you want to use them only for NPCs. Again, if you are a module
builder, ask yourself whether those custom spells are really critical to your game.
Warning
Usually you can avoid editing the
dialog.tlk file for your custom content.
There are different techniques for doing
this:
a) For some .2da files you can put
**** in the string reference
column and it will use the
adjacent text column instead
(e.g., appearance.2da for
creatures).
b) For many objects, you can simply
override the object name in the
Aurora toolset. When you do this
the person who uses your
module will never notice (e.g.,
baseitems.2da).
Right now the only two sections of this
tutorial that require dialog.tlk editing are
for custom spells (which can be
avoided as long as they are NPC
spells) and custom races (using CODIs
Character Creator).
This warning bears repeating. Do not
edit dialog.tlk if you can avoid it.
NeverwInter NIghts Custom Content CuIde vJ.0 Tools CuIde

Page 169 01/06/200J
7. Creatures made unnecessary with patch v1.25 of the game.
8. Custom Races required. It is currently unavoidable for custom races. My only caution here if
you are a module builder is that I would evaluate whether or not a custom race is really critical
to the module before doing it. For the City of Doors Initiative (a Planescape mod) it is. For
many other modules it is probably not and it will limit your target audience.
9. Visual effects not required.


NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 170 01/06/200J
SpecIal Effects Feference
This section is a reference for the different spell and other effects available when creating your
own spells or scripting your own modules. This material was originally compiled by John Belinda
(Harlequin).
This reference covers three types of effects
Spell Audio Effects
Spell Visual Effects
Scriptable Visual Effects
The spell effect labels and categories make more sense when you understand the difference
between conjuration and casting. Conjuration is the term Bioware gives to the actual process of
invoking the spell. Casting is the term used to describe when the effects of the spell manifest
themselves. So conjuration is when the characters are waving their hands and saying mystical
things. Casting occurs after conjuration when the spell suddenly takes effect.

NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 171 01/06/200J

Spell AudIo Effects
These are the sound effects that are used in the spells.2da file for specifying the sounds
played when a spell is cast by a character or NPC. There are three types of sounds:
1. Conjuration voice sounds (the verbal sound of actual doing the spell conjuration)
2. Spell conjuration sounds (the sound the magic makes as the conjuration is taking place)
3. Spell casting sound effects (the sound the magic makes as a result of i.e., after the spell is
cast)
ConjSound|ale: Spell ConjuratIon 7oIce Set for |ale Characters
These effects are played while the spell is being invoked.
VS_ Voice Set
CHANT_ Chanting used during spell casting
<SCHOOL>_ School of magic most associated with the sounds
HM Hi-Fi Male Sound
LM Low-Fi Male Sound

VOICE SOUND NAME DESCRIPTION
VS_CHANT_CONJ_HM Hi-Fi Conjuration Obidaal Nabora Sesma Echoing voice
VS_CHANT_CONJ_LM Low-Fi Conjuration Obidie Midua Balkat Echoing voice
VS_CHANT_ENCH_HM Hi-Fi Enchantment Meeyo Tetrak Glash Vibrating voice
VS_CHANT_ENCH_LM Low-Fi Enchantment Gorak Vu Mokay Vibrating voice
VS_CHANT_EVOC_HM Hi-Fi Evocation Ebool Solayno Salatka Forceful
Crescendo voice
VS_CHANT_EVOC_LM Low-Fi Evocation Ortano Fordigyama Forceful
Crescendo voice
VS_CHANT_ILLU_HM Hi-Fi Illusion Kil Kufeem Safeem Reverberating
voice
VS_CHANT_ILLU_LM Low-Fi Illusion Faytas Vaydal Eska Reverberating
voice
VS_CHANT_NECR_HM Hi-Fi Necromancy Kral Sestu Bokor Deep Throaty
voice
VS_CHANT_NECR_LM Low-Fi Necromancy Naykul Matrak Aygola Deep Throaty
voice

NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 172 01/06/200J

ConjSoundFemale: Spell ConjuratIon 7oIce Set for Female Characters
These effects are played while the spell is being invoked.
VS_ Voice Set
CHANT_ Chanting used during spell casting
<SCHOOL>_ School of magic most associated with the sounds
HF Hi-Fi Female Sound
LF Low-Fi Female Sound

VOICE SOUND NAME DESCRIPTION
VS_CHANT_CONJ_HF Hi-Fi Conjuration Obidaal Nabora Sesma Echoing voice
VS_CHANT_CONJ_LF Low-Fi Conjuration Obidie Midua Balkat Echoing voice
VS_CHANT_ENCH_HF Hi-Fi Enchantment Meeyo Tetrak Glash Vibrating voice
VS_CHANT_ENCH_LF Low-Fi Enchantment Gorak Vu Mokay Vibrating voice
VS_CHANT_EVOC_HF Hi-Fi Evocation Ebool Solayno Salatka Forceful
Crescendo voice
VS_CHANT_EVOC_LF Low-Fi Evocation Ortano Fordigyama Forceful
Crescendo voice
VS_CHANT_ILLU _HF Hi-Fi Illusion Kil Kufeem Safeem Reverberating
voice
VS_CHANT_ILLU _LF Low-Fi Illusion Faytas Vaydal Eska Reverberating
voice
VS_CHANT_NECR_HF Hi-Fi Necromancy Kral Sestu Bokor Deep Throaty
voice
VS_CHANT_NECR_LF Low-Fi Necromancy Naykul Matrak Aygola Deep Throaty
voice

NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 17J 01/06/200J

ConjSound7FX: Spell ConjuratIon Sound Effects
These effects are played while the spell is being invoked.
SCO_ Sound played while conjuring a spell
GAZE Gaze Effect appropriate conjuration sounds
LGRIN Large Ring Effect appropriate conjuration sounds
LGSPR Large Spiral Effect appropriate conjuration sounds
LGUP Large Upwards Effect appropriate conjuration sounds
MEBAL Medium Globe Effect appropriate conjuration sounds
MEGRD Ground Effect appropriate conjuration sounds
MEHED Medium Head Effect appropriate conjuration sounds
MEHAN Medium Hands Effect appropriate conjuration sounds
<EFFECT> Effect Category for the sound
## Index number of the sound for similar names

GAZE SOUND NAME DESCRIPTION
SCO_GAZEEVIL Gaze Evil Groaning howl emanating out
SCO_GAZEMIND Gaze Mind Reverberating sound emanating out
SCO_GAZEODD Gaze Odd Deep howling sound emanating out

RING SOUND NAME DESCRIPTION
SCO_LGRINELEC01 Ring Large Electrical Electric charges surrounding
SCO_LGRINEVIL01 Ring Large Evil Groaning howl surrounding
SCO_LGRINFIRE01 Ring Large Fire Crackling fire surrounding
SCO_LGRINHEAL01 Ring Large Heal High pitched `ahh' surrounding
SCO_LGRINHOLY01 Ring Large Holy Soothing hum with chimes
surrounding
SCO_LGRINMIND01 Ring Large Mind Whistling wind surrounding
SCO_LGRINODD01 Ring Large Odd Howling wind surrounding

SPIRAL SOUND NAME Description
SCO_LGSPRELEC01 Spiral Large Electrical Electric charges circling around
SCO_LGSPREVIL01 Spiral Large Evil Groaning howl circling around
SCO_LGSPRFIRE01 Spiral Large Fire Crackling fire circling around
SCO_LGSPRHOLY01 Spiral Large Holy Soothing hum with chimes circling
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 174 01/06/200J
around
SCO_LGSPRMIND01 Spiral Large Mind Whistling wind circling around
SCO_LGSPRNATR01 Spiral Large Nature Bird whistles circling around
SCO_LGSPRODD01 Spiral Large Odd Howling wind circling around

UPWARD SOUND NAME DESCRIPTION
SCO_LGUPELEC01 Pillar Large Electrical Electric charges shooting upwards
SCO_LGUPEVIL01 Pillar Large Evil Groaning howl shooting upwards
SCO_LGUPFIRE01 Pillar Large Fire Crackling fire shooting upwards
SCO_LGUPHOLY01 Pillar Large Holy Soothing hum with chimes shooting
upwards
SCO_LGUPMIND01 Pillar Large Mind Whistling wind shooting upwards
SCO_LGUPNATR01 Pillar Large Nature Bird whistles shooting upwards
SCO_LGUPODD01 Pillar Large Odd Hollow howl shooting upwards
SCO_LGUPSONIC01 Pillar Large Sonic Strong wind shooting upwards

GLOBE SOUND NAME DESCRIPTION
SCO_MEBALACID01 Ball Medium Acid Howling sizzle expanding out
SCO_MEBALELEC01 Ball Medium Electrical Electric charges expanding out
SCO_MEBALFIRE01 Ball Medium Fire Crackling fire expanding out
SCO_MEBALODD01 Ball Medium Odd Sharp whistling expanding out
SCO_MEBALSONC01 Ball Medium Sonic Howling wind expanding out

OTHER SOUND NAME DESCRIPTION
SCO_POSITIVE Positive Energy High pitched chime sound
SCO_SWAR3BLUE Blue Sizzling sound
SCO_WRAITH Wraith Undead howling sound

GROUND SOUND NAME DESCRIPTION
SCO_GRNDSKUL Ground Skull Swirling ghostly howl
SCO_MEGRDEVIL01 Ground Medium Evil Swirling groaning howl
SCO_MEGRDFIRE01 Ground Medium Fire Swirling crackling fire
SCO_MEGRDHOLY01 Ground Medium Holy Swirling soothing hum
SCO_MEGRDMIND01 Ground Medium Mind Swirling whistling wind
SCO_MEGRDNATR01 Ground Medium Nature Swirling bird whistles
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 175 01/06/200J
SCO_MEGRDODD01 Ground Medium Oddl Swirling metal howl

HEAD SOUND NAME DESCRIPTION
SCO_MEHEDELEC01 Head Medium Electrical Electric charge rising and falling
SCO_MEHEDEVIL01 Head Medium Evil Groaning howl rising and falling
SCO_MEHEDHOLY01 Head Medium Holy Soothing hum rising and falling
SCO_MEHEDODD01 Head Medium Odd Hollow howl rising and falling
SCO_MEHEDSONC01 Head Medium Sonic Strong wind rising and falling

HAND SOUND NAME DESCRIPTION
SCO_MEHANACID03 Hand Medium Acid 3 High pitched sizzling
SCO_MEHANCOLD03 Hand Medium Cold 3 Chill wind with chimes
SCO_MEHANELEC01 Hand Medium Electrical 1 Electric charge fading out
SCO_MEHANELEC02 Hand Medium Electrical 2 Electric charge abruptly ends
SCO_MEHANELEC03 Hand Medium Electrical 3 Electric charge constant volume
SCO_MEHANEVIL01 Hand Medium Evil 1 Groaning howl fading out
SCO_MEHANEVIL02 Hand Medium Evil 2 Groaning howl fading out
SCO_MEHANEVIL03 Hand Medium Evil 3 Groaning howling fading out with
scream
SCO_MEHANFIRE01 Hand Medium Fire 1 Crackling fire fading out
SCO_MEHANFIRE03 Hand Medium Fire 3 Crackling fire fading out with wind
SCO_MEHANHEAL02 Hand Medium Heal 2 Hymn sound with static charge
fading out
SCO_MEHANHEAL03 Hand Medium Heal 3 Hymn sound with wind fading out
SCO_MEHANHOLY01 Hand Medium Holy 1 Soothing hum with wind fading
out
SCO_MEHANHOLY02 Hand Medium Holy 2 Soothing hum with static charge
fading out
SCO_MEHANHOLY03 Hand Medium Holy 3 Soothing hum fading out
SCO_MEHANMIND01 Hand Medium Mind 1 Vibrating wind fading out
SCO_MEHANMIND02 Hand Medium Mind 2 Vibrating wind with static charge
fading out
SCO_MEHANMIND03 Hand Medium Mind 3 Vibrating wind fading out
SCO_MEHANNATR01 Hand Medium Nature 1 Constant howling sound
SCO_MEHANNATR02 Hand Medium Nature 2 Constant howling sound with
birds
SCO_MEHANNATR03 Hand Medium Nature 3 Constant chiming sound with
birds
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 176 01/06/200J
SCO_MEHANODD01 Hand Medium Odd 1 Whistling wind fading out
SCO_MEHANODD02 Hand Medium Odd 2 Whistling wind with static charge
fading out
SCO_MEHANODD03 Hand Medium Odd 3 Hollow wind fading out
SCO_MEHANSONC01 Hand Medium Sonic 1 Strong wind fading out
SCO_MEHANSONC02 Hand Medium Sonic 2 Strong wind with static charge
fading out
SCO_MEHANSONC03 Hand Medium Sonic 3 Strong whistling wind fading out

NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 177 01/06/200J

CastSound: Spell CastIng Sound Effects
These effects are played after con]uration, while the spell is manifesting.
SAR_ Area sound played after conjuring a spell
SCA_ Casting sound played after conjuring a spell
SCE_ Energy casting sound played after conjuring a spell
SDR_
CONE Cone Effect appropriate casting sounds
OUT Outward Cast Effect appropriate casting sounds
<EFFECT> Effect Category for the sound
## Index number of the sound for similar names

CONE SOUND
NAME
DESCRIPTION
SAR_CONEACID01 Area Cone Acid Sizzling wind expanding
SAR_CONECOLD Area Cone Cold Freezing Ice wind expanding
SAR_CONEDISEA Area Cone Disease Flying insect wind expanding
SCA_CONEFIRE Area Cone Fire Crackling fire wind expanding
SAR_CONEFIRE Area Cone Fire Crackling fire wind expanding
SAR_CONEPOIS Area Cone Poison Sizzling/Dripping wind expanding
SAR_CONEPRIS Area Cone Prismatic Chime wind expanding
SCA_CONESONC01 Area Cone Sonic Vibrating wind expanding
SAR_CONESPAR Area Cone Sparkles Whistling wind chime expanding

DRAGON SOUND
NAME
DESCRIPTION
SCA_DRAGACID Dragon Breath Acid Dragon roar breathing burning
sizzle
SCA_DRAGCOLD Dragon Breath Cold Dragon roar breathing crackling
ice
SCA_DRAGELEC Dragon Breath Electricity Dragon roar breathing static
charge
SCA_DRAGFIRE Dragon Breath Fire Dragon roar breathing roaring fire
SCA_DRAGGAS Dragon Breath Gas Dragon roar breathing howling
wind
SCA_DRAGMIND Dragon Breath Mind Dragon roar breathing whistling
wind
SCA_DRAGODD Dragon Breath Odd Dragon roar breathing
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 178 01/06/200J
reverberating wind

OUTWARD SOUND
NAME
DESCRIPTION
SCA_OUTHOLY01 Casting Outward Holy Rush of wind with hymn sound
SCA_OUTMIND01 Casting Outward Mind Rush of wind with whistle sound
SCA_OUTNATR01 Casting Outward Nature Rush of wind with bird sound
SCA_OUTNEG Casting Outward Evil Rush of wind with scream sound
SCA_OUTSONIC Casting Outward Sonic Rush of wind with hollow wind
sound

ENERGY SOUND
NAME
DESCRIPTION
SCE_NEGATIVE Energy Negative Rush of wind with deep chime
SCE_NEUTRAL Energy Neutral Rush of wind with tinkling chimes
SCE_POSITIVE Energy Positive Rush of wind with high pitched
chime

EFFECTS SOUND NAME DESCRIPTION
SDR_BARDSONG Bardsong Lute strings playing
SDR_BLACKOUT Blackout Quick burst snuffed out
SDR_BLUR Blur Vibrating force field
SDR_DARKNESS Darkness Deep fading wind
SDR_ELESHIELD Elemental Shield Fire burning quickly fading
SDR_ELESHIELDLP Elemental Shield (Long Play) Fire burning longer
SDR_ENTANGLE Entangle Rustling leaves
SDR_ETHEREAL Ethereal Wispy wind with chimes
SDR_FREEMOVE Freedom of Movement Vibration
SDR_GHOSTLY Ghostly Ghostly howling wind
SDR_GLOBEMAX Globe Maximum Hollow sound expanding
SDR_GLOBEMAXLP Globe Maximum (Long Play) Hollow sound constant
SDR_INVISIBLE Invisible Swirling wind fading
SDR_MAGRESIST Magic Resist Shimmering force field
SDR_MAGSEE Magic Seeing Tinkling glass
SDR_MINDHELP Mind Helpful Whistling wind with flutter
SDR_MINDHIT Mind Hit 1 Swirling high pitched wind
SDR_MINDHIT02 Mind Hit 2 Echoing wind
SDR_MINDHIT03 Mind Hit 3 High pitched chimes wind
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 179 01/06/200J
SDR_MINDHIT04 Mind Hit 4 Deep growling wind
SDR_MOVPARAL Movement Paralysis Quick sound burst snuffed out
SDR_MOVPARALLP Movement Paralysis (Long
Play)
Hollow constant sound
SDR_PARALYZED Paralyzed Limbs locking up
SDR_PREMO Premonition Chimes playing in the wind
SDR_PROTELEM Protection from Elements High pitched bells and chimes
SDR_PROTEVIL02 Protection from Evil High pitched chimes
SDR_PROTGOOD02 Protection from Good Low pitched chimes
SDR_SANCTUARY Sanctuary Vibrating ray sound
SDR_SPELLTURN Spell Turning Short shock
SDR_SPELLTURNLP Spell Turning (Long Play) Crackling energy
SDR_WEB Web Crackling strands

NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 180 01/06/200J

Spell 7Isual Effects
These are the visual effects that are used in the spells.2da file for identifying the special
effects used when a spell is cast by a character.
ConjHead7Isual: Spell ConjuratIon 7Isual Effects above the Caster
These effects take place while invoking the spell.
VCO_ Visual effect displayed while conjuring a spell
MEHED Medium Head Effect appropriate conjuration visual
GAZE Gaze Effect appropriate conjuration visual
<EFFECT> School of magic most associated with the visuals
## Index number of the visual effect for similar names

HEAD VISUAL NAME DESCRIPTION
VCO_MEHEDACID01 Head Medium Acid Single Green/White Light
VCO_MEHEDCOLD01 Head Medium Cold Single Light Blue/White Light
VCO_MEHEDELEC01 Head Medium Electricity Single White Light
VCO_MEHEDEVIL01 Head Medium Evil Single Red Light
VCO_MEHEDFIRE01 Head Medium Fire Single Orange Light
VCO_MEHEDHEAL01 Head Medium Heal Single Yellow Light
VCO_MEHEDHOLY01 Head Medium Holy Single Yellow Light
VCO_MEHEDMIND01 Head Medium Mind Single Blue/Purple Light
VCO_MEHEDNATR01 Head Medium Nature Single Green Light
VCO_MEHEDODD01 Head Medium Odd Single Purple Light
VCO_MEHEDSONC01 Head Medium Sonic Single White Light

GAZE VISUAL NAME DESCRIPTION
VCO_GAZEEVIL Gaze Evil Radiating Red Spiral Cone with White Lights
VCO_GAZEHOLY Gaze Holy Radiating Yellow Spiral Cone with White Lights
VCO_GAZEMIND Gaze Mind Radiating Blue/Purple Spiral Cone with White Lights
VCO_GAZEODD Gaze Odd Radiating Purple Spiral Cone with White Lights
VCO_GAZESONC Gaze Sonic Radiating White Spiral Cone with White Lights
VCO_GAZEEVIL Gaze Evil Radiating Red Spiral Cone with White Lights
VCO_GAZEHOLY Gaze Holy Radiating Yellow Spiral Cone with White Lights
VCO_GAZEMIND Gaze Mind Radiating Blue/Purple Spiral Cone with White Lights
VCO_GAZEODD Gaze Odd Radiating Purple Spiral Cone with White Lights
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 181 01/06/200J
VCO_GAZESONC Gaze Sonic Radiating White Spiral Cone with White Lights
VCO_GAZEEVIL Gaze Evil Radiating Red Spiral Cone with White Lights
VCO_GAZEHOLY Gaze Holy Radiating Yellow Spiral Cone with White Lights

NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 182 01/06/200J

ConjHand7Isual: Spell ConjuratIon 7Isual Effects around the Caster's Hands
These effects take place while invoking the spell.
VCO_ Visual effect displayed while conjuring a spell
MEHAN Medium Hand Effect appropriate conjuration visual
SMHAN Small Hand Effect appropriate conjuration visual
<EFFECT> School of magic most associated with the visuals
## Index number of the visual effect for similar names

HAND VISUAL NAME DESCRIPTION
VCO_MEHANACID01 Hand Medium Acid Green/White Light with Outer Spiral
VCO_MEHANACID02 Hand Medium Acid Green/White Light with Tendrils
VCO_MEHANACID03 Hand Medium Acid Cloud of Tiny Green Lights
VCO_MEHANCOLD01 Hand Medium Cold Light Blue/White with Outer Spiral
VCO_MEHANCOLD02 Hand Medium Cold Light Blue/White Light with Tendrils
VCO_MEHANCOLD03 Hand Medium Cold Cloud of Tiny Light Blue Lights
VCO_MEHANELEC01 Hand Medium Electricity White Light with Outer Spiral
VCO_MEHANELEC02 Hand Medium Electricity White Light with Tendrils
VCO_MEHANELEC03 Hand Medium Electricity Cloud of Tiny White Lights
VCO_MEHANEVIL01 Hand Medium Evil Red Light with Outer Spiral
VCO_MEHANEVIL02 Hand Medium Evil Red Light with Tendrils
VCO_MEHANEVIL03 Hand Medium Evil Cloud of Tiny Red Lights
VCO_MEHANFIRE01 Hand Medium Fire Orange Light with Outer Spiral
VCO_MEHANFIRE02 Hand Medium Fire Orange Light with Tendrils
VCO_MEHANFIRE03 Hand Medium Fire Cloud of Tiny Orange Lights
VCO_MEHANHEAL01 Hand Medium Heal Yellow/Teal Light with Outer Spiral
VCO_MEHANHEAL02 Hand Medium Heal Yellow/Teal Light with Tendrils
VCO_MEHANHEAL03 Hand Medium Heal Cloud of Tiny Yellow/Teal Lights
VCO_MEHANHOLY01 Hand Medium Holy Yellow Light with Outer Spiral
VCO_MEHANHOLY02 Hand Medium Holy Yellow Light with Tendrils
VCO_MEHANHOLY03 Hand Medium Holy Cloud of Tiny Yellow Lights
VCO_MEHANMIND01 Hand Medium Mind Blue Light with Outer Spiral
VCO_MEHANMIND02 Hand Medium Mind Blue/Purple Light with Tendrils
VCO_MEHANMIND03 Hand Medium Mind Cloud of Tiny Blue/Purple Lights
VCO_MEHANNATR01 Hand Medium Nature Green/Yellow Light with Outer Spiral
VCO_MEHANNATR02 Hand Medium Nature Green/Yellow Light with Tendrils
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 18J 01/06/200J
VCO_MEHANNATR03 Hand Medium Nature Cloud of Tiny Green/Yellow Lights
VCO_MEHANODD01 Hand Medium Odd Purple Light with Outer Spiral
VCO_MEHANODD02 Hand Medium Odd Purple Light with Tendrils
VCO_MEHANODD03 Hand Medium Odd Cloud of Tiny Purple Lights
VCO_MEHANSONC01 Hand Medium Sonic White Light with Outer Spiral
VCO_MEHANSONC02 Hand Medium Sonic White Light with Tendrils
VCO_MEHANSONC03 Hand Medium Sonic Cloud of Tiny White Lights
VCO_SMHANACID01 Hand Small Acid Small Green/White Light
VCO_SMHANCOLD01 Hand Small Cold Small Light Blue/White Light
VCO_SMHANELEC01 Hand Small Electricity Small White Light
VCO_SMHANEVIL01 Hand Small Evil Small Red Light
VCO_SMHANFIRE01 Hand Small Fire Small Orange Light
VCO_SMHANHEAL01 Hand Small Heal Small Yellow/Teal Light
VCO_SMHANHOLY01 Hand Small Holy Small Yellow Light
VCO_SMHANMIND01 Hand Small Mind Small Blue/Purple Light
VCO_SMHANNATR01 Hand Small Nature Small Green/Yellow Light
VCO_SMHANODD01 Hand Small Odd Small Purple Light
VCO_SMHANSONC01 Hand Small Sonic Small White Light

NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 184 01/06/200J

ConjCrnd7Isual: Spell ConjuratIon 7Isual Effects at Cround around Caster
These effects take place while invoking the spell.
VCO_ Visual effect displayed while conjuring a spell
ATO Particle Effect appropriate conjuration visual
GRND Ground Effect appropriate conjuration visual
LGRIN Large Ring Effect appropriate conjuration sounds
LGSPR Large Spiral Effect appropriate conjuration sounds
LGUP Large Upwards Effect appropriate conjuration sounds
MEBAL Medium Globe Effect appropriate conjuration sounds
MEGRD Medium Ground Effect appropriate conjuration visual
<EFFECT> School of magic most associated with the visuals
## Index number of the visual effect for similar names

PARTICLE VISUAL NAME DESCRIPTION
VCO_ATO2BLUE Particle Blue Billowy Blue Cloud
VCO_ATO2GREEN Particle Green Billowy Green Cloud
VCO_ATO2PURP Particle Purple Billowy Purple Cloud
VCO_ATO2RED Particle Red Billowy Red Cloud
VCO_ATO2YELO Particle Yellow Billowy Yellow Cloud
VCO_ATO3BLUE Particle Blue Cloud of Small Blue Lights
VCO_ATO3ORANGE Particle Orange Cloud of Small Orange Lights
VCO_ATOMBLUE Particle Blue Flicking Blue Light
VCO_ATOMGREN Particle Green Flicking Green Light
VCO_ATOMPURP Particle Purple Flicking Purple Light
VCO_ATOMRED Particle Red Flicking Red Light
VCO_ATOMYELO Particle Yellow Flicking Yellow Light

GROUND VISUAL NAME DESCRIPTION
VCO_GRNDBLUE Ground Blue Blue Circle with White Lights
VCO_GRNDGREN Ground Green Green Circle with White Lights
VCO_GRNDLEAF Ground Leaf Floating Brown/Orange Leaves
VCO_GRNDPURP Ground Purple Purple Circle with White Lights
VCO_GRNDRED Ground Red Red Circle with White Lights
VCO_GRNDSKUL Ground Skulls Floating White Skulls
VCO_GRNDYELO Ground Yellow Yellow Circle with White Lights
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 185 01/06/200J
VCO_MEGRDACID01 Ground Medium
Acid
Ring of Green Fog with White Specks
VCO_MEGRDCOLD01 Ground Medium
Cold
Ring of Light Blue/White Fog
VCO_MEGRDELEC01 Ground Medium
Electricity
Ring of White/Blue Fog
VCO_MEGRDEVIL01 Ground Medium
Evil
Ring of Red Fog
VCO_MEGRDFIRE01 Ground Medium
Fire
Ring of Orange Fog
VCO_MEGRDHEAL01 Ground Medium
Heal
Ring of Yellow/Teal Sparkles
VCO_MEGRDHOLY01 Ground Medium
Holy
Ring of Yellow Fog
VCO_MEGRDMIND01 Ground Medium
Mind
Ring of Blue Fog
VCO_MEGRDNATR01 Ground Medium
Nature
Ring of Brown Fog with Leaves
VCO_MEGRDODD01 Ground Medium
Odd
Ring of Purple Fog
VCO_MEGRDSONC01 Ground Medium
Sonic
Ring of White Fog

OTHER VISUAL NAME DESCRIPTION
VCO_SWAR3BLUE Visual Blue Dense Blue fog
VCO_SWAR3YELO Visual Yellow Dense Yellow Fog
VCO_WRAITH Visual Wraith Gray Wraith Figure

RING VISUAL NAME DESCRIPTION
VCO_LGRINACID01 Ring Acid Ring of Green/White Light; Green Center
VCO_LGRINCOLD01 Ring Cold Ring of Light Blue/White Lights; Blue
Center
VCO_LGRINELEC01 Ring Electricity Ring of White Lights; Blue Center
VCO_LGRINEVIL01 Ring Evil Ring of Red Lights; Red Center
VCO_LGRINFIRE01 Ring Fire Ring of Orange Flames; Orange Center
VCO_LGRINHEAL01 Ring Heal Ring of Yellow/Teal Lights; Yellow Center
VCO_LGRINHOLY01 Ring Holy Ring of Yellow/White Lights; Yellow Center
VCO_LGRINMIND01 Ring Mind Ring of Blue/Purple Lights; Blue Center
VCO_LGRINNATR01 Ring Nature Ring of Yellow Leaves; Green Center
VCO_LGRINODD01 Ring Odd Ring of Purple/White Lights; Purple Center
VCO_LGRINSONC01 Ring Sonic Ring of White Lights; White Center
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 186 01/06/200J

SPIRAL VISUAL NAME DESCRIPTION
VCO_LGSPRACID01 Spiral Acid
Green
Spirals with White Lights
VCO_LGSPRCOLD01 Spiral Cold Light
Blue
Spirals with White Lights
VCO_LGSPRELEC01 Spiral Electricity
White
Spirals with White Lights
VCO_LGSPREVIL01 Spiral Evil Red Spirals with White Lights
VCO_LGSPRFIRE01 Spiral Fire
Orange
Spirals with Orange Lights
VCO_LGSPRHEAL01 Spiral Heal
Yellow/
Teal
Spirals with Yellow Lights
VCO_LGSPRHOLY01 Spiral Holy
Yellow
Spirals with Yellow Lights
VCO_LGSPRMIND01 Spiral Mind Blue Spirals with Blue Lights
VCO_LGSPRNATR01 Spiral Nature
Green
Spirals with Yellow Lights
VCO_LGSPRODD01 Spiral Odd
Purple
Spirals with White Lights
VCO_LGSPRSONC01 Spiral Sonic
White
Spirals with White Lights

UPWARDS VISUAL NAME DESCRIPTION
VCO_LGUPELEC01 Pillar Electricity Pillar of White/Blue Centers with White
Center
VCO_LGUPEVIL01 Pillar Evil Pillar of Red Centers with White Center
VCO_LGUPFIRE01 Pillar Fire Pillar of Orange Centers with White Center
VCO_LGUPHOLY01 Pillar Holy Pillar of Yellow Centers with White Center
VCO_LGUPMIND01 Pillar Mind Pillar of Blue Centers with White Center
VCO_LGUPNATR01 Pillar Nature Pillar of Green Centers with White Center
VCO_LGUPODD01 Pillar Odd Pillar of Purple Centers with White Center
VCO_LGUPSONC01 Pillar Sonic Pillar of White Centers with White Center

GLOBE VISUAL NAME DESCRIPTION
VCO_MEBALACID01 Ball Acid Ball of Swirling Green/White Trails
VCO_MEBALCOLD01 Ball Cold Ball of Swirling Light Blue/White Trails
VCO_MEBALELEC01 Ball Electricity Ball of Swirling White/Blue Trails
VCO_MEBALEVIL01 Ball Evil Ball of Swirling Red Trails
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 187 01/06/200J
VCO_MEBALFIRE01 Ball Fire Ball of Swirling Orange Trails
VCO_MEBALHEAL01 Ball Heal Ball of Swirling Yellow/Teal Trails
VCO_MEBALHOLY01 Ball Holy Ball of Swirling Yellow Trails
VCO_MEBALMIND01 Ball Mind Ball of Swirling Blue/Purple Trails
VCO_MEBALNATR01 Ball Nature Ball of Swirling Green/Yellow Trails
VCO_MEBALODD01 Ball Odd Ball of Swirling Purple Trails
VCO_MEBALSONC01 Ball Sonic Ball of Swirling White Trails

NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 188 01/06/200J

CastHead7Isual: Spell CastIng 7Isual Effects above the Caster
These effects are played after con]uration, while the spell is manifesting.
VCA_ Casting Visual effect displayed after conjuring a spell
VAR_ Area Visual effect displayed after conjuring a spell
DRAG Dragon Breath Effect appropriate casting visual
<EFFECT> School of magic most associated with the visuals

DRAGON VISUAL NAME DESCRIPTION
VCA_DRAGACID Dragon Breath Acid Downward Green Breath Cone
VAR_DRAGCOLD Dragon Breath Cold Downward Light Blue Breath Cone
VCA_DRAGELEC Dragon Breath Electricity Downward Grey Breath Cone
VCA_DRAGFIRE Dragon Breath Fire Downward Orange Breath Cone
VCA_DRAGGAS Dragon Breath Gas Downward Dull Green Breath Cone
VCA_DRAGMIND Dragon Breath Mind Downward Blue Breath Cone
VCA_DRAGODD Dragon Breath Odd Downward Purple Breath Cone
VCA_DRAGFIRE Dragon Breath Fire Downward Orange Breath Cone

NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 189 01/06/200J

CastHand7Isual: Spell CastIng 7Isual Effects around the Caster's Hands
These effects are played after con]uration, while the spell is manifesting.
VCA_ Casting Visual Effect displayed after conjuring a spell
VAR_ Area Visual Effect displayed after conjuring a spell
CONE Cone Shaped Effect appropriate casting visual
OUT Outward Shaped Effect appropriate casting visual
<EFFECT> School of magic most associated with the visuals
## Index number of the visual effect for similar names

CONE VISUAL NAME DESCRIPTION
VCA_CONEACID01 Area Cone Acid Green Cone Cloud
VAR_CONECOLD Area Cone Cold Light Blue/White Cone Cloud
VAR_CONEDISEASE Area Cone Disease Dull Green Cone Cloud with Green
Specks
VCA_CONEEVIL01 Area Cone Evil Red Cone Cloud
VAR_CONEFIRE Area Cone Fire Orange Cone Cloud
VCA_CONENATR01 Area Cone Nature Purple Cone Cloud
VAR_CONEPOISON Area Cone Poison Green/Black Cone Cloud
VAR_CONEPRIS Area Cone Prismatic Rainbow Cone Sparkles
VCA_CONESONC01 Area Cone Sonic White Cone Cloud
VAR_CONESPAR Area Cone Sparkles Rainbow Cone Cloud

OUTWARD VISUAL
NAME
DESCRIPTION
VCA_OUTACID01 Outward Acid Green/White Cloud Burst
VCA_OUTCOLD01 Outward Cold Light Blue Cloud Burst
VCA_OUTELEC01 Outward Electricity White Cloud Burst
VCA_OUTEVIL01 Outward Evil Red Cloud Burst
VCA_OUTFIRE01 Outward Fire Orange Cloud Burst
VCA_OUTHEAL01 Outward Heal Yellow/Teal Cloud Burst
VCA_OUTHOLY01 Outward Holy Yellow Cloud Burst
VCA_OUTMIND01 Outward Mind Blue/Purple Cloud Burst
VCA_OUTNATR01 Outward Nature Green Sparkles
VCA_OUTNEG Outward Negative Dark Purple/Black Cloud
VCA_OUTPOS Outward Positive White Cloud Burst
VCA_OUTSONIC Outward Sonic White Burst and Concentric White Rings
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 190 01/06/200J

CastCrnd7Isual: Spell CastIng 7Isual Effects at Cround around Caster
These effects are played after con]uration, while the spell is manifesting.
VCA_ Casting Visual Effect displayed after conjuring a spell
VAR_ Area Visual Effect displayed after conjuring a spell
VCE_ Energy Effect displayed after conjuring a spell
CONE Cone Shaped Effect appropriate casting visual
OUT Outward Shaped Effect appropriate casting visual
<EFFECT> School of magic most associated with the visuals
## Index number of the visual effect for similar names

UPWARD VISUAL
NAME
DESCRIPTION
VCA_UPHEXACID01 Pillar Acid Shaft of Green/White Light
VCA_UPHEXCOLD01 Pillar Cold Shaft of Light Blue/White Light
VCA_UPHEXELEC01 Pillar Electricity Shaft of White Light
VCA_UPHEXEVIL01 Pillar Evil Shaft of Red/White Light
VCA_UPHEXFIRE01 Pillar Fire Shaft of Orange/White Light
VCA_UPHEXHEAL01 Pillar Heal Shaft of Yellow/Teal/White Light
VCA_UPHEXHOLY01 Pillar Holy Shaft of Yellow/White Light
VCA_UPHEXMIND01 Pillar Mind Shaft of Blue/Purple/White Light
VCA_UPHEXNATR01 Pillar Nature Shaft of Green/Yellow/White Light
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 191 01/06/200J

ScrIptIng - 7Isual Effects
These are the visual effects that may be used in scripts to provide special effects for spell casting
and other actions. These are typically used with the EffectVisualEffect() or EffectBeam()
functions.
8eam Effects: 7Isual Effects that create a 8eam between Two Dbjects
VFX_ Visual Special Effect
BEAM_ Beam Effect
<EFFECT> Effect Category for the visual effect

BEAM VISUAL NAME DESCRIPTION
VFX_BEAM_COLD Light Blue Light Beam with crackling White Streaks around it
VFX_BEAM_EVIL Red Light Beam with crackling White Streaks around it
VFX_BEAM_FIRE Orange Light Beam with crackling White Streaks around it
VFX_BEAM_FIRE_LASH Two (2) Orange Fiery Whips that strike the Target
VFX_BEAM_HOLY Yellow Light Beam with crackling White Streaks around it
VFX_BEAM_LIGHTNING Three (3) White/Blue Lightning Streaks that strike the Target
VFX_BEAM_MIND Blue Light Beam with crackling White Streaks around it
VFX_BEAM_ODD Purple Light Beam with crackling White Streaks around it


Combat Effects: 7Isual Effects that are used for 0amage In Combat
VFX_ Visual Special Effect
COM_ Combat Effect
BLOOD_ Blood Spray effect
CHUNK_ Body Chunk effect
HIT_ On Hit effect
SPECIAL_ Special Purpose effect
<EFFECT> Effect Category for the visual effect

COMBAT VISUAL NAME DESCRIPTION
VFX_COM_
SPARKS_PARRY
UNLOAD_MODEL
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 192 01/06/200J
VFX_COM_BLOOD_
CRT_GREEN
CRT_RED
CRT_WIMP
CRT_YELLOW
LRG_GREEN
LRG _RED
LRG _WIMP
LRG _YELLOW
REG_GREEN
REG _RED
REG _WIMP
REG _YELLOW
SPARK_LARGE
SPARK_MEDIUM
SPARK_SMALL
VFX_COM_CHUNK_
BONE_MEDIUM
GREEN_MEDIUM
GREEN_SMALL
RED_LARGE
RED_MEDIUM
RED_SMALL
YELLOW_MEDIUM
YELLOW_SMALL
VFX_COM_HIT_
ACID
DIVINE
ELECTRICAL
FIRE
FROST
NEGATIVE
SONIC
VFX_COM_SPECIAL_
BLUE_RED
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 19J 01/06/200J
PINK_ORANGE
RED_ORANGE
RED_WHITE
WHITE_BLUE
WHITE_ORANGE

NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 194 01/06/200J

0uratIon Effects: 7Isual Effects that must be used wIth a 0uratIon
VFX_ Visual Special Effect
DUR_ Duration Effect
AURA_ Aura effect
LIGHT_ Illumination effect
MIND_AFFECTING_ Mind Affecting effect
PROT_ Protective effects that Cover the Target
PROTECTION_ Protection effects
<EFFECT> Effect Category for the visual effect

COMBAT VISUAL NAME DESCRIPTION
VFX_DUR_
ANTI_LIGHT_10
BARD_SONG White Notes Floating Up
BLACKOUT
BLIND
BLINDVISION
BLUR
CESSATE_NEGATIVE
CESSATE_NEUTRAL
CESSATE_POSITIVE
DARKNESS
DARKVISION
ELEMENTAL_SHIELD Ring of Outward Radiating Orange Flames on Ground
ENTANGLE
ETHEREAL_VISAGE Covers Object in Purple Glow
FREEDOM_OF_MOVEMENT Green Light on Ground Surrounded by Green Light Dots
GHOSTLY_PULSE
GHOSTLY_VISAGE Covers Object in Blue Glow
GLOBE_INVULNERABILITY Transparent Purple and Green Dense Smoky Globe
GLOBE_MINOR Transparent Purple Sparse Smoky Globe
INVISIBILITY Turns Object Transparent
LIGHT
LOWLIGHTVISION
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 195 01/06/200J
MAGIC_RESISTANCE Five (5) Teal Spinning Angled Rune Circles
MAGICAL_SIGHT
MIRV_ACID
PARALYZE_HOLD Four (4) Swirling Trails of White Lights moving in Opposite
Directions
PARALYZED Object is Covered by a White and Red Glow
SANCTUARY Two (2) Spirals of Blue Lights
SPELLTURNING Ring of Outward Radiating Blue Flames on Ground
ULTRAVISION Floating Light Blue and Purple Eyes that Appear and Disappear
WEB White Web Strands Attach to the Object
WEB_MASS
VFX_DUR_AURA_
COLD
DISEASE
DRAGON_FEAR
FIRE
ODD
POISON
SILENCE
VFX_DUR_LIGHT_
BLUE_10
BLUE_15
BLUE_20
BLUE_5
GREY_10
GREY _15
GREY _20
GREY _5
ORANGE_10
ORANGE _15
ORANGE _20
ORANGE _5
PURPLE_10
PURPLE _15
PURPLE _20
PURPLE _5
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 196 01/06/200J
RED_10
RED _15
RED _20
RED _5
WHITE_10
WHITE _15
WHITE _20
WHITE _5
YELLOW_10
YELLOW _15
YELLOW _20
YELLOW _5
BLUE_10
BLUE_15
BLUE_20
BLUE_5
GREY_10
GREY _15
GREY _20
GREY _5
VFX_DUR_MIND_AFFECTING_
DISABLED
DOMINATED Spinning Crown of Stacked White/Blue/Purple Lights
FEAR Floating Black Skulls surrounded by Orange Flames
NEGATIVE Cloud of Light Blue and White Spiraling Lights
POSITIVE Spinning Crown of Blue Streaks and White Lights
VFX_DUR_PROT_
BARKSKIN Object is Covered by Brown Bark Pattern
GREATER_STONESKIN Object is Covered by Gray Stone Pattern
PREMONITION Globe of Light Blue Swirling Fog with Floating Blinking Eyes
SHADOW_ARMOR Object is Covered by Black Cloudy Pattern
STONESKIN Object is Covered by Gray Stone Pattern
VFX_DUR_PROTECTION_
ELEMENTS Orange Streaks and White Lights Floating up from the Ground
EVIL_MAJOR Pillar of Red Streaks Floating up from the Ground
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 197 01/06/200J
EVIL_MINOR Small Cloud of Red Lights Floating Up
GOOD_MAJOR Pillar of Yellow Streaks Floating up from the Ground
GOOD_MINOR Small Cloud of Yellow Lights Floating up

NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 198 01/06/200J

FIre and Forget Effects: 7Isual Effects that are created and last a FIxed TIme
VFX_ Visual Special Effect
FNF_ Fire and Forget Effect
GAS_EXPLOSION_ Gas Explosion effect
HOWL_ Howling effect
LOS_ Line of Sight effect
<EFFECT> Effect Category for the visual effect

COMBAT VISUAL NAME DESCRIPTION
VFX_FNF_
BLINDDEAF Large White Light Flash and Smaller Light Blue Light Flashes
DISPEL Outward Spiraling White Cloudy Strands
DISJUNCTION Dense Outward Spiraling Light Blue Cloudy Strands
DISPEL_GREATER Dense Outward Radiating White Fog
FIREBALL
FIRESTORM Large Rain of Fire with Orange Fire Clouds on the Ground
HORRID_WILTING Dull Green Cloud with White Sparkles and Gas Spores
Spawning on Ground
ICESTORM Light Blue Icicles dropping from the Sky with Explosive
Impacst
IMPLOSION Spinning Yellow Fog Rings Converge on the Target, ending
with Black Smoke
MASS_HEAL
MASS_MIND_AFFECTING
METEOR_SWARM Black Rocks dropping from the Sky amidst Fire Clouds and
Explosive Impacts
NATURES_BALANCE Green Rune Disk on Ground with Green Streaks moving up
and Blue Lights moving down
PWKILL Red Rune Disk on Ground with Four (4) Lightning Bolts in
Pyramid Shape
PWSTUN Cloud of White Lights and Purple Streaks
SCREEN_BUMP
SCREEN_SHAKE
SMOKE_PUFF
SOUND_BURST Concentric White Circles moving down to Ground and
Emanating Outwards
STORM Black Shadows on Ground with Green Rain Falling
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 199 01/06/200J
STRIKE_HOLY Pillar of Yellow Light from the Sky
SUMMON_CELESTIAL Brown Fog with Three (3) Crystal Claw Pillars that Rise from
Ground
SUMMON_GATE Brown Fog with Three (3) Stone Claw Pillars that Rise from
Ground
SUMMON_MONSTER_1 Grey Fog Cloud with White Explosive Burst
SUMMON_MONSTER_2 White Rune Disk with White Cloud and White Ribbon Lights
SUMMON_MONSTER_3 White Rune Ring with Yellow/Teal Flame Clouds around Edge
SUMMON_UNDEAD Ghostly White Fountain of Light Clouds
SUNBEAM Angled Orange Pillar of Flames from the Sky
TIME_STOP Teal Rune Disk on Ground with Angled White Rune Circles in
Air above Caster
WAIL_O_BANSHEES White Clouds with Large Clear Blue Ghoul that Spawns in
Shafts of White Light
WEIRD Black Shadows with Large Two-Headed Tentacle Horror that
Spawns on Ground
WORD
VFX_FNF_GAS_EXPLOSION_
ACID Small Explosive Green Sparks and Green Puff of Smoke
EVIL Small Explosive Red Sparks and Green Puff of Smoke
FIRE Small Explosive Orange Sparks and Green Puff of Smoke
GREASE Small Explosive Black Sparks and Black Puff of Smoke
MIND Small Explosive Blue Sparks and Blue Puff of Smoke
NATURE Small Explosive Brown Sparks and Brown Puff of Smoke
ACID Small Explosive Green Sparks and Green Puff of Smoke
VFX_FNF_HOWL_
MIND
ODD
WAR_CRY
WAR_CRY_FEMALE
VFX_FNF_LOS_
EVIL_10
EVIL_20
EVIL_30
HOLY_10
HOLY_20
HOLY_30
NORMAL_10
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 200 01/06/200J
NORMAL_20
NORMAL_30

NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 201 01/06/200J

mpact Effects: 7Isual Effects that are used for mpact Effects
VFX_ Visual Special Effect
IMP_ Impact Effect
AURA_ Aura effect
HEAD_ Hovering Head effect
PULSE_ Pulsing effect
<EFFECT> Effect Category for the visual effect

COMBAT VISUAL NAME DESCRIPTION
VFX_IMP_
AC_BONUS Three (3) Stacked White Rings Form Around the Target (SFX:
Power Up)
ACID_L Large Green/Yellow Explosive Burst (SFX: Acid Sizzle)
ACID_S Small Green/Yellow Explosive Flash (SFX: Acid Sizzle)
BLIND_DEAF_M Thick White Ring Forms Around top of Target (SFX: Tinkling
Chimes)
BREACH White Cloud with Large White Sparkles
CHARM Cloud of Purple/Blue Lights
CONFUSION_S Small White Explosive Flash (SFX: Tinkling Glass)
DAZED_S Two (2) Spinning White Interwoven Rings with White Lights
DEATH White Flash of Light and Ghostly White Vapors Floating Up
DEATH_L White Flash of Light in a Red Cloud
DEATH_WARD Hollow Pillar of Swirling Purple Vapors
DESTRUCTION Purple Streaks Converge into Purple Cloud (SFX: Funneling
Wind)
DISEASE_S Small Brown Explosive Cloud with Black Insects (SFX: Insect
Sounds)
DISPEL Light Blue Cloud with Large White Sparkles
DISPEL_DISJUNCTION
DIVINE_STRIKE_FIRE Orange Pillar of Flame from Sky that Explodes on Strike
DIVINE_STRIKE_HOLY Yellow Pillar of Flame from Sky that Explodes on Strike
DOMINATE_S Four (4) Spinning White Interwoven Rings (SFX: Low
Vibration)
DOOM Black Cloud with Three (3) Lightning Strikes (SFX:
Thunder/Lightning)
ELEMENTAL_PROTECTION Green and Orange Flame Cloud
EVIL_HELP Red Rune Ring that Flies up from Ground to the Sky
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 202 01/06/200J
FEAR_S
FLAME_M Medium Orange and Black Explosive Burst (SFX: Fireburst)
FLAME_S Small Orange Explosive Flash (SFX: Fireburst)
FORTITUDE_SAVING_THROW
_USE

FROST_L Large Light Blue Explosive Burst (SFX: Crackling Ice)
FROST_S Small Light Blue Explosive Flash (SFX: Crackling Ice)
GLOBE_USE Transparent White Globe that Flashes Once
GOOD_HELP Yellow Rune Ring that Falls down from Sky to the Ground
GREASE Small Purple Circle with Spikes on Ground
HARM Pillar of Red Light from Sky Strikes Target (SFX: Searing)
HASTE Small Blue Circle with Spikes on Ground (SFX: Power Up)
HEALING_G Short Pillar of Yellow/Teal/White Vertical Streaks around
Target
HEALING_L Teal/White Sparkles Spiral Up around Target
HEALING_M Yellow Cloud Pours down into Yellow/Teal Cloud of Lights
HEALING_S Two (2) Teal / White Sparkle Trails Rotate around Target
HEALING_X Pillar of Teal Light from Sky Strikes Target
HOLY_AID White and Yellow Streaks Converge into White Cloud
IMPROVE_ABILITY_SCORE Purple and Yellow Lights Spiral around Target
KNOCK Light Blue Streaks Converge into White Cloud (SFX:
Lockpicks)
LIGHTNING_M Medium White Explosive Burst (SFX: Static Charge)
LIGHTNING_S Small White Explosive Burst (SFX: Static Charge)
MAGBLUE Blue/White Explosive Burst (SFX: Sizzle)
MAGIC_PROTECTION Blue Lights Floating Up to Form Cloud that Dissipates Toward
Ground (SFX: Wind)
MAGIC_RESISTANCE_USE
MAGICAL_VISION Blue/White Smoke Spirals with Floating Eyes
MIRV Wobbly Blue Cloud that Moves to Target (SFX: Accelerating
Wind)
MIRV_FLAME Flame Tipped Arrow
NEGATIVE_ENERGY Red/White Explosive Burst (SFX: Howling Sizzle)
POISON_L
POISON_S
POLYMORPH Pillar of Green Angled Shafts of Light Strike into White Cloud
RAISE_DEAD
REDUCE_ABILITY_SCORE Red Streaks Converge into Black Cloud
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 20J 01/06/200J
REFLEX_SAVE_THROW_USE
REMOVE_CONDITION Cloud of Yellow/Teal Sparkles
RESTORATION Three (3) Large Yellow and Teal Light Globes Dissolve into
Sparkles
RESTORATION_GREATER Cloud of Yellow/Teal Lights Spiral around Target
RESTORATION_LESSER Four (4) Small Yellow and Teal Light Globes around Target
SILENCE Three (3) White Concentric Ring Patterns on Ground (SFX:
Wobble)
SLEEP White Z's Floating up (SFX: Snoring)
SLOW Small Purple Circle with Spikes on Ground (SFX: Power
Down)
SONIC Small White Explosive Flash with Two (2) White Rings (SFX:
Whistling)
SPELL_MANTLE_USE
SPIKE_TRAP
STUN Medium White Explosive Burst
SUNSTRIKE Yellow/White Explosive Flash
SUPERHEROISM Creature turns into Large Skull Armored Warrior with Flaming
Sword
UNSUMMON Red Rune Ring Expands on Ground with Red Streaks
Shooting Up
WILL_SAVING_THROW_USE
VFX_IMP_AURA_
FEAR
HOLY
NEGATIVE_ENERGY
UNEARTHLY
VFX_IMP_HEAD_
ACID Four (4) Green/White Streaks Meet to form Green Sphere
COLD
ELECTRICITY
EVIL
FIRE
HEAL Two (2) Teal and Two (2) Yellow Streaks Meet to form White
Sphere
HOLY Yellow Expanding Cloud
MIND
NATURE Four (4) Yellow Streaks Meet to form Green Sphere
ODD Purple Explosive Cloud
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 204 01/06/200J
SONIC Four (4) White Streaks Meet to form White Sphere
VFX_IMP_PULSE_
COLD
FIRE
HOLY
NATURE
NEGATIVE
WATER
WIND

NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 205 01/06/200J

Area of Effect Effects: 7Isual Effects that occupy an Area of Effect
VFX_ Visual Special Effect
AOE_ Area of Effect
MOB_ Mobile effect
PER_ Persistent effect
<EFFECT> Effect Category for the visual effect

COMBAT VISUAL NAME DESCRIPTION
VFX_AOE_MOB_
BLINDING
CIRCCHAOS
CIRCEVIL Circle of Purple Lights on Ground Rotating in Opposite
Directions
CIRCGOOD Circle of Yellow Lights on Ground Rotating in Opposite
Directions
CIRCLAW
DRAGON_FEAR
ELECTRICAL
FEAR
FIRE
FROST
INVISIBILITY_PURGE
MENACE
PROTECTION
SILENCE Circle of White Lights on Ground Rotating in Opposite
Directions
STUN
TYRANT_FOG
UNEARTHLY
UNNATURAL
VFX_AOE_PER_
CREEPING_DOOM Swarm of Small Black Insect Dots
DARKNESS Large Inky Black Cloud
DELAY_BLAST_FIREBALL Orange Sparkling Lights on Ground
ENTANGLE Random Patches of Brown Clouds with Brown Tendrils
NeverwInter NIghts Custom Content CuIde vJ.0 SpecIal Effects

Page 206 01/06/200J
Reaching Out
EVARDS_BLACK_TENTACLES Random Patches of Black Smoke with Black Tendrils
Reaching Out
FOGACID Large Green Cloudy Patches on Ground
FOGFIRE Large Orange Fiery Cloud Patches on Ground
FOGGHOUL Large Brown Cloudy Patches on Ground
FOGKILL Large Red Cloudy Patches on Ground
FOGMIND Large Blue Cloudy Patches on Ground
FOGSTINK Large Greenish Yellow Cloudy Patches on Ground
GREASE Large Black Cloudy Patches on Ground
INVIS_SPHERE
STORM
WALLBLADE Line of Brown Cloud Patches with Sharp Blades Shooting
from Ground
WALLFIRE Line of Orange Fiery Clouds
WALLWIND
WEB White Overlapping Web Pattern on the Ground


NeverwInter NIghts Custom Content CuIde vJ.0 Change HIstory

Page 207 01/06/200J
Change HIstory
Primary changes to create version 3.0 include:
All new information on animation, bones, skins and meshes in the Creatures section.
All new section on Custom Races.
Added new sections on Visual Effects and a reference on Spell Effects
Updated the procedures for adding multiple hakpaks.
Updated the section on dialog.tlk.
Updates to baseitems.2da and iprp_spells.2da.
Added a section on Normals and on Smoothing Groups to the Weapons tutorial.
Primary changes to create version 2.01 include:
No content changes.
Turned all hyperlinks into clickable URLs (I am now using PDF995 instead of PDFCreator to
generate the PDF file).
Added bookmarks.
Primary changes to create version 2 include:
Added notes about the new patch.bif file in section 1.
Added more notes about DDS files in the weapons section.
Updated the section on voicesets, especially with regard to PC voicesets.
Added a full description of portraits.2da and soundset.2da.
Added a tutorial on Creatures.
Added Feats.2da.
Updated the tools section at the end of this tutorial with newer information.
Primary changes to create version 1.1 include:
Removed references to OpenFX. There do not seem to be import/export scripts for this
modeling tool anyway. Added a reference to Milkshape 3D instead.
Added a few more tools including pltcon.
Minor changes/additions to the Weapons tutorial, including info about textures, etc. Added a
pointer to the OnHit hak by Sekhmet. Greatly expanded the section on baseitems.2da. Added
notes on weapons that bend (like flails).
Few or no changes to Portraits or Sounds.
Added a new section on Items without Models
Added a new section on Armor
Added a new section on Spells
Reorganized and added material to the Other Tutorials section
Added a section on Appearance.2da to at least give the impression Im thinking about working
on creatures next. :-)
NeverwInter NIghts Custom Content CuIde vJ.0 Change HIstory

Page 208 01/06/200J