Import NWN creatures to NWN2

Table of contents 1. Preparation ...... 2 1.1. Naming conventions ...... 2 1.2. Import the model ...... 3 1.3. Clean the model ...... 4 2. Creating the NWN2 model ...... 7 2.1. Clone ...... 7 2.2. In two steps ...... 8 2.3. Upgrade for NWN2 ...... 9 3. Adding the skeleton ...... 12 3.1. Collision spheres ...... 12 3.2. Attachment Points ...... 14 3.3. « skin » modifier ...... 16 4. Save the skeleton ...... 20 4.1. Expotron settings ...... 20 4.2. Export the skeleton ...... 20 5. Save the model ...... 21 6. Save the animations...... 22 6.1. Stances ...... 22 6.2. Matching NWN / NWN2...... 22 6.3. Animations NWN missing? ...... 27 6.4. Expotron settings ...... 27 7. Addition into 2...... 29

Thierry Petitjean (4760)

27th February 2015

Page 1 of 30

1. Preparation To be able to convert NWN creatures for use with NWN2, the following is required : • 3ds max 6, 7 or 8 • Expotron • Plug-in to import MDL files (format used by NWN 1)

You will also need to extract the .mdl and the texture files (.tga ou .dds) from the NWN files (which obviously means you’ll also need to own NWN!). I personally use NWN Explorer for this. Then, the normal map has to be created (xNormal is the software I use). Without giving details, the normal map is what tells the game where the bumps and holes in the diffuse map are located:

1.1. Naming conventions Creatures in NWN2 comprise two kinds of elements : a skeleton, which deals with animations, and a model (mesh) which gives them their appearances.

Skeleton and mesh are linked through Appearance.2da (there’s consequently no need for them to bear the same name). For instance, all the spiders in NWN2 (c_spiddire, c_spidgiant, c_spidwrai, etc.) use the same skeleton c_spid_skel, and therefore the same animations.

However, the skeleton name has to end by _skel and defined in the Expotron settings (see section 5. Save the model for details), and the name of the mesh in 3ds max and the name of the NWN2 model must be identical and end with _**_Bodynn where ** is an armor type existing in armorvisualdata.2da and nn a number between 01 and 255 (or 512 ? Plus ? I admit I didn’t check what the limit actually is).

In any case, the CL version must exist by default (in other words, before creating an armored spider c_spid_PF_Body12, a c_spid_CL_Body01 has to exist first).

Page 2 of 30

Finally, conventionally the prefix c_ is added to show that the model is a creature.

For this tutorial, we’ll convert the adamantine golem (named c_golada in NWN), so our model for NWN2 will be named c_golada_cl_body01 and its skeleton will be c_golada_skel.

1.2. Import the model With the preliminary information now given, let’s start the real conversion.

To import the .mdl, File then Import…, and Neverwinter Nights Model (*.MDL) :

This option will of course only be available if the corresponding plug-in has been installed priorly!

As we decided to go with the adamantine golem, let’s select c_golada.mdl :

Page 3 of 30

We’ll keep the default settings (make sure that « Don’t import animations » is not ticked!):

1.3. Clean the model Electron (NWN2) and Aurora (NWN) using different configurations, we need to remove the Aurora references for Electron to be able to use the model.

But, first, let’s select the Aurora base (the large hexagon under the creature) and write down the list of animations:

Page 4 of 30

For instance, the animation for the death mort (ckdbckdie in NWN, c_golada_UNA_death01 in NWN2) is located between frames 1032 and 1062.

Once all animations (or rather, the ones we want to keep) are written down, delete the base (normally it has the same name as the .mdl : here, it’s indeed c_golada).

We now need to rename the NWN root (usually dummyroot ou rootdummy, in the present case however it’s stone_root):

Page 5 of 30

The name cannot be chosen randomly1 : it must be the same as the creature’s, followed by « _skel ». In our case, let’s stick to c_golada (c_ to show it’s a creature, golada because it’s what NWN used to show it’s a golem made of adamantine we’re working on, but we could have opted to golem_nwn).

Therefore, stone__root now becomes c_golada_skel (or golem_nwn_skel if we prefer the other version, but it is not recommended not to follow the conventions…)

Let’s continuons the cleaning : remove all attachment points, we’ll recreate them (otherwise, in NWN2 the objects in hand will be subject to scaling2 and orientation issues).

In this case, there are only two : impact et head.

Tip : save your work right now, or even just before the renaming of the root (in general, 3ds max crashes at the following step).

1 See the reminders in 1.1. Naming conventions. 2 As a matter of fact, importing NWN model at 100% scale gives in 3ds max a mesh at 10 000% scale. And if we reduce the Scaling Factor (cf. MDL Import settings) to 1%, the creature will be one hundred times too small in NWN2.

Page 6 of 30

2. Creating the NWN2 model Contrary to NWN, NWN2 only uses single-mesh models (well, this is oversimplified. Actually, it can be made of several parts: head, body, wings, tail, but this is out of the scope of this tutorial3).

Let’s then join all the NWN parts into a single NWN2 object.

There are two ways of achieving this:

2.1. Clone Select all the parts and clone them as a copy:

Pick any part of the cloned NWN model, rename it according to the naming conventions4 NWN2, namely c_xxxx_cl_body01 where xxxx is the name of the creature. Surprisingly, we’ll use c_golada_cl_body01.

Attach all the other cloned parts to it (simple to recognize, they are the ones with the names ending with 01) :

3 Nevertheless, this article provides the necessary information to create new creatures for NWN2. 4 See 1.1. Naming conventions.

Page 7 of 30

click on this button

2.2. In two steps It sometimes happens (and that’s actually the case in our example) that some parts of the model already have a number. We thus see stone__Ltoe2 or Object01 which have become stone__Ltoe03 and Object02 after the clone operation.

The simplest way is then to not clone the model and convert it right away into a single mesh: select the highest ranking part in the hierarchy, rename it as it should (here, c_golada_cl_body01), the select everything. After that, click on the "collapse" then “collapse selected” buttons:

Page 8 of 30

In this case however, the initial .mdl will have to be imported once again, and cleaned another time, as explained previously in 1.1. Import the model and 1.2. Clean the model.

2.3. Upgrade for NWN2 Now that our NWN2 compatible mesh is created, let’s relocate its pivot point to the origin:

Page 9 of 30

Here for example, the pivot point is at the center of the golem, however NWN2 expects it at (0 ; 0 ; 0). To relocate it, that’s easy:

Don’t forget to click on « Align to world » too:

Page 10 of 30

Otherwise, we have the pivot (the 3D axis) and the model (x,y,z axis) unaligned, that may create issues for the animations.

When everything is realigned and recentered, we should get a screen similar to the one below:

The mesh is now ready for use by NWN2, but it still needs a skeleton to be animated.

Page 11 of 30

3. Adding the skeleton At this stage, we have a mesh (c_golada_cl_body01) and the various elements that were used to create it: they will be the bones of our skeleton.

For NWN2, we will now create attachment points, (all the ap_ elements) and the collision spheres COLSnn which tell the game where to display the objects held in hand, where the spells casted at the creature land, to where the camera aims (that’s the reason for the ap_) but also determine if the creature is slim enough to pass between walls or if it has to find another way (which is what the COLSnn are for).

3.1. Collision spheres Let’s start with COLSnn : there are no rules, except that the first is named COLS00 (two zeros) and that a compromise between number of spheres and volume has to be found. For the adamantine golem I chose six spheres: one for the head, one for the body, one for each limb. But we could also double this number by reducing the sphere around the chest and adding a sphere at each arm and at each thigh…

Page 12 of 30

These spheres are not supposed to be visible in game, so in their properties make sure « See through » is ticked and « renderable » is not:

Page 13 of 30

Given their relative positions, let’s link them to stone__head, stone__chest, stone__L4arm, stone__R4arm, stone__Lbtleg et stone_Rbtleg :

3.2. Attachment Points Creatures wielding weapons and shields need to tell the game where they have to be displayed, consequently dummies ap_hand_right, ap_hand_left, ap_shield_left attached to the right hand, the left hand, the left forearm, etc…5 are providing the required information.

For the golem though, we only need to know where the spells will land and where to orient the camera (after all, it may not be hostile as soon as it sees the player, it might tell him to turn around first).

5 See this article for details.

Page 14 of 30

For this tutorial, we will therefore only need: ap_halo : location where the status icon shows (slowness, rapidity, confusion, etc…, even though in principle a golem is not subject to any of this). ap_camera : target of the camera for the dialogs ap_torso : target for the spells (this is the equivalent of « impact » in NWN).

Regarding the orientation, in the local coordinate system, y is aiming forward and z upward:

Once created, let’s link the attachment points to the concerned parts of the bodies, that is to say the head (stone__head) for ap_halo and ap_camera and the chest (stone__chest) for ap_torso.

Below is a summary of the skeleton now ready for use:

Page 15 of 30

3.3. « skin » modifier We have now reached the final step : add a skin modifier to the mesh.

Contrary to the monsters created for NWN2 (for which the skeleton is made with the use of the Bones objects of 3ds max, and which consequently don’t include any attachment points nor collision spheres), for the conversion of NWN creatures we need to include everything (skeleton, COLS, ap_):

One final verification still awaits us however: make sure the c_golada_cl_body01 mesh moves in accordance with the “bones” of its c_golada_skel skeleton.

As the preliminary comment hints, collision spheres and attachment points must not have any influence on the mesh. The more direct way to see this is with the « weight table », selecting « selected bone » in the dropdown list and pick the bones one after another.

Here’s what I got for the adamantine golem:

Page 16 of 30

Not too good: la sphere COLS01 does influence quite a lot of the vertices. To fix this, we will reduce its envelope (which is composed of the red and brown volumes – the red envelope comprises all the vertices which are influenced at 100%, while those in the brown envelope are influenced by the brown envelope of other bones as well).

Initially:

What we wanted:

Page 17 of 30

This works has to be done for COLS00, COLS02, etc… and all the ap_... attachment points.

When this step is complete, let’s check that the influences of the « real bones » are correct (moving the head shouldn’t move the foot, right?) Speaking of bones influence, it’s best to avoid the root has any influence (again, this rule is only applicable for imported NWN creatures: in the case of multipart models, like tail plus body, to avoid clipping issues the vertices common to both parts – and those only – need to be 100% under the influence of the root bone of the tail).

The two following screenshots show for instance the status before and after envelopes corrections (the pictures show exactly the same frame!):

Page 18 of 30

Page 19 of 30

4. Save the skeleton

4.1. Expotron settings Last check:

- Select all collision spheres, and make sure they are defined as « No Type » in the Expotron settings; - Select all attachment points, and make sure they are defined as « Attachments (hook) » in the Expotron settings; - Select the mesh c_golada_cl_body01, and make sure it’s defined as « Character (skin) » in the Expotron settings.

Contrary to what is usual for the creatures for NWN2, we will not select every « bone » of the skeleton, but the mesh c_golada_cl_body01 instead. Yes, exactly, I confirm, we will from now on only use the mesh, as if we were dealing with a placeable.

4.2. Export the skeleton Once the settings are checked, and after selecting c_golada_cl_body01 only, we will save c_golada_skel.gr2

Make sure the checkbox Move to Origin isn’t ticked, and that only Models is selected:

Page 20 of 30

5. Save the model No surprise this time, we’ll do as usual for NWN2 when it comes to saving mdb files (here c_golada_cl_body01. mdb).

Except we don’t need in this case to include the collision spheres, they’re already part of the skeleton.

Additionally, NWN models have less faces than those of NWN2, it is consequently not necessary to create _L01 et _L02 versions (unless of course the original model was smoothened, but this is out of the scope of this tutorial).

Page 21 of 30

6. Save the animations. Export the various gr2 files in accordance with the list written down at the beginning, keeping in mind the naming conventions for NWN2 animation files.

6.1. Stances The different combat stances are reminded here after:

Dual weapon D2h Two-handed slashing weapons O2hS Slicing only, like axes Two-handed swords C2h Slashing and thrusting Polearms O2hT Thrusting only, like spears Unarmed UnA Bow bow Crossbow cbow Throwing thrw Slings or projectiles (like grenades) Sword and shield 1hSS One-handed weapon 1hS One-handed « weapon » behave like swords though.

6.2. Matching NWN / NWN2 The table below should help finding with NWN animation corresponds to NWN2. Do not forget to add the prefix corresponding to the creature. Thus, the unarmed attacked of our golem will be exported under the name c_golada_UNA_1attack01.

Name Description NWN2 equivalent conjure1 Conjuration pty_cast , gen_cast, atk_cast , def_cast conjure2 Conjuration mjr_conjure castout Cast out, beginning gen_conjure , atk_conjure, def_conjure castoutlp Cast out, looping gen_conjureloop, atk_conjureloop, def_conjureloop castself Cast on self, beginning gen_conjure , def_conjure castselflp Cast on self, looping gen_conjureloop, def_conjureloop castup Cast up, beginning castuplp Cast up, looping castarea Cast area effect, beginning gen_conjure, pty_conjure castarealp Cast area effect, looping gen_conjureloop, pty_conjureloop victoryfr Victory victory victorymg Victory victory victoryth Victory victory castpoint Cast by pointing, beginning point castpointlp Cast by pointing, looping appear Drop from above disappear Leap upward, beginning disappearlp Leap upward, looping 1hreadyr 1-handed ready, right 1hS_FidgetM01 1hreadyl 1-handed ready, left 2wreadyr 2-weapon ready, right D2h_ FidgetM01 2wreadyl 2-weapon ready, left nwreadyl No weapon ready, left nwreadyr No weapon ready, right UNA_ FidgetM01

Page 22 of 30

1hslashl 1-handed slash, left 1hS_1attack01 1hslashr 1-handed slash, right 1hS_1attack02 1hstab 1-handed stab 1hS_1attack03 1hcloseh 1-handed close, high 1hclosel 1-handed close, low 1hreach 1-handed reach for target 1hS_1attack04 1hparryr 1-handed parry, right 1hS_parry01 1hparryl 1-handed parry, left 1hS_parry02 dodgelr Dodge, lower or duck D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_dodge01 dodges Dodge, sidestep D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_dodge02 damages Hit, from stab d D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_damage01 cwalkf Combat walk, forward D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_walk cwalkb Combat walk, backward D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_walkback cwalkl Combat walk, left D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_walkleft cwalkr Combat walk, right D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_walkright 2wslash 2-weapon slash, left D2h_1attack01 2wslashr 2-weapon slash, right D2h_1attack02 2wstab 2-weapon stab D2h_1attack03 2wcloseh 2-weapon close, high 2wclosel 2-weapon close, low 2wreach 2-weapon reach for target D2h_1attack04 nwslashlo weapon slash, left UNA_1attack01 nwstab No Weapon stab UNA_1attack02 throwr Throw, right hand thrw_1attack01 2wparryl 2-weapon parry, left D2h_parry01 2wparryr 2-weapon parry, right D2h_parry02 Shield Shield block, low 1hSS_deflect kdbck Knockdown back, beginning knockdownB kdbckps Knockdown back, looping proneB kdbckdmg Knockdown back, hit kdbckdie Knockdown back, die death01 gutokdb Get up, to knockdown back gustandb Get up, from gutokdb standupB kdfnt Knockdown forward, beginning kdfntps Knockdown forward, looping kdfntdmg Knockdown forward, hit pronedamageB kdfntdie Knockdown forward, die pronedeathB gutokdf Get up, to knockdown forward gustandf Get up, from gutokdf damagel Hit, from left damage01 damager Hit, from right damage02 nwcloseh No weapon close, high nwclosel No weapon close, low (kick) UNA_kickcircle spasm Spasm

Page 23 of 30 deadfnt Dead, forward, looping death02 deadbck Dead, back, looping nwreach No weapon, reach nwkickl No weapon, kick left nwkickr No weapon, kick right nwslashr No weapon, slash right UNA_1attack01 nwkicks No weapon, kick stab UNA_1attack01 bowrdy Hold bow at ready bow_ FidgetM01 xbowrdy Hold crossbow at ready cbow_ FidgetM01 bowshot Shoot bow bow_1attack01 xbowshot Shoot crossbow cbow_1attack01 2wslasho 2-weapon slash, only upper body nwslasho No weapon slash, only upper body UNA_kickflying 1hslasho 1-weapon slash, only upper body 2hslasho 2-handed slash, only upper body cturnr Combat turn, right damageb Hit, back walk Walk walk pause1 Pause, looping idle, D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_idle hturnl Head turn, left turnL hturnr Head turn, right turnR pausesh Pause, scratch head scratchhead pausebr Pause, bored bored pausetrd Pause, tired tired pausepsn Pause, poisoned or drunk drunk listen Listen, looping listen, listeninjured salute Salute salute bow Bow bow drink Drink drink, drinkbeer read Read read, scrollrecite tlknorm Talk, normal talknormal, talknormal02 tlkplead Talk, Pleading talkplead tlkforce Talk, forceful talkforce01, talkforce02, talkforce03 tlklaugh Talk, laughing talklaugh greeting Greeting talkcheer run Run run, runafraid, runinjured getlow Get low, beginning getground getmid Get middle, beginning gethigh torchl Lift torch torchidle, torchwalk, torchrun sitdown Sit down, beginning walkdead Walk as if dead kneel Kneel kneeldown, kneelidle meditate Meditate, looping meditate worship Worship, looping worship walkinj Walk with injured leg walkinj pause2 Pause, looping getmidlp Get middle, looping getlowlp Get low, looping lookfar Look far away sit Sit in chair, looping sitidle, siteat, sidfidget, sittalk01, sittalk02

Page 24 of 30 sitcross Sit crosslegged, beginning sitgrounddown sitcrossps Sit crosslegged, looping sitgroundidle drwright Draw weapon, right hand D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_EquipW drwleft Draw weapon, left hand taunt Taunt taunt steal Steal sleightofhand pauseturn Pause and turn in place pausewalkl Pause and walk left pausewalkr Pause and walk right xbowr Hold crossbow at rest cbow_FidgetM01 pausewalkfl Pause and walk forward left pausewalkfr Pause and walk forward right runfl Pause and run forward left runfr Pause and run forward right plpause1 Hold polearm at rest O2hT_idle 2hreadyr 2-handed ready, right C2h_idle, O2hS_ FidgetM01 2hreadyl 2-handed ready, left plreadyr Polearm ready, right O2hT_ FidgetM01 plreadyl Polearm ready, left 2hslashl 2-handed slash, left C2h_1attack01, O2hS_1attack 01 2hslashr 2-handed slash, right C2h_1attack 02, O2hS_1attack 02 2hstab 2-handed stab C2h_1attack 03, O2hS_1attack 03 2hcloseh 2-handed close, high 2hclosel 2-handed close, low 2hreach 2-handed reach for target C2h_1attack 04, O2hS_1attack 04 2hparryl 2-handed parry, left C2h_parry01, O2hS_parry01 2hparryr 2-handed parry, right C2h_parry02, O2hS_parry02 plslashl Polearm slash, left plslashr Polearm slash, right plstab Polearm stab O2hT_1attack 01 plcloseh Polearm close, high plclosel Polearm close, low plreach Polearm reach for target plparryl Polearm parry, left O2hT_parry01 plparryr Polearm parry, right O2hT_parry01 plslasho Polearm slash, only upper body creadyr Ready, right Una_FidgetM01 creadyl Ready, left cdamagel Hit, from left D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_damage01 cdamager Hit, from right D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_damage02 cdamages Hit, stabbed cpause1 Pause, looping D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_FidgetM01 ca1slash Creature attack, slash left D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_1attack01 cwalk Walk D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_walk cclosel Attack close, low

Page 25 of 30 ca1slashr Creature attack, slash right D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_1attack02 ca1stab Creature attack, stab D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_1attack03 ccloseh Attack close, high creach Attach reach for target D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_1attack04 cparryr Parry, right D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_parry01 cparryl Parry, left D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_parry02 cdodgelr Dodge, lower or duck D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_dodge01 cdodges Dodge, sidestep D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_dodge02 ckdbck Knockdown back, beginning D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_knockdownB ckdbckps Knockdown back, looping D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_proneB ckdbckdmg Knockdown back, hit ckdbckdie Knockdown back, die D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_death01, 02, 03 cdead Dead, looping cguptokdb Get up, to knockdown back cgustandb Get up, from gutokdb D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_standupB ccwalkf Combat walk, forward D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_walk ccwalkb Combat walk, backward D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_walkback ccwalkl Combat walk, left D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_walkleft ccwalkr Combat walk, right D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_walkright cgetmid Get middle, beginning chturnl Head turn, left chturnr Head turn, right ctaunt Taunt D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_taunt cconjure1 Conjuration ccastoutlp Cast out, looping cappear Drop from above cdisappear Leap upward, beginning ccastout Cast out, beginning cgetmidlp Get middle, looping cspasm Spasm crun Run D2h_, O2hS_, C2h_, O2hT_, UnA_, bow_, cbow_, thrw_, 1hSS_, 1hS_run ccturnr Combat turn, right cdisappearl Leap upward, looping

Page 26 of 30

6.3. Animations NWN missing? Some animations may not be present in the mdl file, but that doesn’t necessarily mean they don’t exist: they could also have been created for another model but be compatible with the one we’re looking at. In this case, the Aurora base will show a Super model (in the example below, it’s a_ba for instance).

If you look at the pictures on page 5, you’ll see that the adamantine golem also uses animation from the stone golem (c_golstone being its super model).

6.4. Expotron settings We will also need to specify the timeframe (for the death of the golem for instance, we noted that it

was between frames 1032 and 1062: ).

Page 27 of 30

For the default animation (cpause1 in NWN, c_golada_idle in NWN2), it was between frames 1315 and 1375, so let’s choose this interval:

Use the usual NWN2 settings, namely Oversampling to the maximum and 0.15 for Position curve tolerance.

Again, Move to Origin must not be ticked, and this time it’s the Animations parameter that needs to be active:

Page 28 of 30

7. Addition into . And now, the instant of truth...

Copy the .mdb, .tga/.dds et .gr2 files into the Override directory of My Documents\Neverwinter Nights 2.

Add a line in appearance.2da to tell NWN2 that a new creature needs to be loaded:

Page 29 of 30

All we’ve got to do now is to launch the toolset and see if our new golem is available:

Page 30 of 30