Animations are coded into models (although a model may reference another model for the animations to be copied from).
NWN's engine supports animation which are not just movement, rotation or other object transforms; you can also 'animate' some Trimesh properties such as Alpha and self-illumination colour (used for e.g. fading in/out a night-time glow in the windows of buildings).
Animations are used in the engine to time actions (eg casting a spell) as well as even make situational bonuses apply (eg; Knockdown is "they're in the knock down animation state" - the effect just plays the animation for a set duration).
This page is currently written just to list "these are animation names and durations" not about creating custom ones - that will hopefully follow!
Tutorials
A reasonably old tutorial on creature animations that still mainly applies today is available here: http://www.neverwinternights.info/cc_creatureanimation.htm
Full (Humanoid) versus Simple (Creature)
Most humanoid sized creatures use a full animation set - ie they can sit down, or whatever else. The super model for this is "a_ba" (which can also be edited to affect all things referencing it).
Many monster creatures use a limited animation set. These are usually more model-specific, eg; wolves would be very different to ogres.
The types of animation allowed are set by the appearance.2da line:
MODELTYPE ID | Type on Page | Description |
---|---|---|
P - Parts based | Full Animations | P = player animation type (Has all the options) - creature model is composed of multiple body parts each with their own MDL and textured with PLTs. Model changes when armor is worn, and colors are selectable. See note of model names in RACE column above. |
F - Full | Full Animations | F = full animation (humanoid models, generally). This is a single creature MDL rather than multiple parts. They use the same animations as PCs like 'run' and 'walk'. Same as simple in regards to model, and weapon items can appear when equipped in right or left hand inventory slots unlike S. They have a supermodel that's an a_ba variant just like PCs. Example: Succubus. Item nodes (rhand, lhand, lforearm) can be ommitted from the model and won't be shown/animated if so, for instance the Bodak shows no weapons while the Asabi Chieftain doesn't show shields but does show 2 weapons. |
S - Simple | Simple Animations | S = simple animations. Weapons do not appear when equipped even if the nodes are present (although said nodes can still be used for progfx.2da attachment points if added later). Most animals have this, meaning they really only have their taunt/spasm animation plus attacks. These models use only creature animations like 'crun' and 'cwalk' which are a very cut down version of the full animation set. Example: Wolf, Dragon, Badger. |
L - Large | Limited Animations | L = limited animations (Balor, Driders, Giants, etc.). They use mostly the same animations as 'S' models (crun and cwalk, etc.) except weapon nodes and even shields can appear. Additionally they also can use Bow or Crossbow ranged weapons with full animations, if the animations are coded for it. Not all models have animations for the ranged weapons though - primarily this seems to be done only for Formians and Driders. Weapons can be hidden by not having the correct nodes to attach to - excepting these items for some reason (even though the default animation used for them may be well suitable, and the toolset renders them):
You do need suitable animations for more than just a single weapon of course. EG the Ettin has a second hand but faces the weapon downwards - primarily it uses a spear in the offhand - meaning the animations match the weapon but only really that weapon. One other note: the WEAPONSCALE property in appearance.2da does scale the weapon visually but does not add any additional range to melee attacks - the game assumes you've sized the creatures combat distance accurately to the weapon they (usually) weild, eg a Balor with his Greatsword. See the Model Special Nodes page for more information on the dummy nodes used for the 3 points - they're named "rhand" (primary weapon), "lhand" (left hand weapon) and "lforearm" (shield). Example with single weapon only: Balor Example with 2 weapons but no shield: Ettin Example with bows and crossbows working plus 2 weapons: Drider Chieftain Example with bows, crossbows, shield point and 2 weapons: Formian Worker |
There are modifiers for these MODELTYPE which can be added but don't affect the animations available as such:
- W - Wings allowed (P assumes this)
- T - Tail allowed (P assumes this)
Animation Types
Loop - The animation is built to be looped. The first and last frames are the same pose. Often called "duration".
FNF - "Fire and forget" animations play once and include the start and end portions in the single animation. Most commonly used for emotes and actions. Many however can be looped just fine (especially useful for the talking ones for instance).
Start - The animation includes only the starting portion of the animation, which can also be called "impact". Some game animations are the same for start and end, and just reverse the start one.
End - The animation includes only the ending portion of the animation, often called "cessation".
Animation Root
The animroot parameter in the animation header tells which bone is the highest level bone controlling the animation. Multiple animations can be mixed within a timeframe. The animation with the deeper animroot takes precedence. Full body animations have their animroot set to the rootdummy, while partial body animations, like walking with a shield, only animate from the torso down to the hands.
Animation Length
The animations have a length parameter (a floating point number, in seconds) - this is set in MDL as the "length" parameter. This is in real seconds and orientationkey fields determine the progression of the animation over that time period. Each node affected can have different amounts of changes to the animation done, and the game interpolates between the times - although it is best to keep them frequent throughout the time period.
Some animations can be quite long - like 7 seconds for "worship" - while some are super short - 0.0333333015 for "deadfnt".
Example Animation Length is in frames based on 30 FPS below, so a length of "1" second would be 30 frames of animation, and a length of "0.5" would be 15. 0.033333 seems to be the lowest - which is about 1FPS - and probably should be a guideline on how a "static" and quick animation is done (in this case, being dead you don't move much!). The frames total is useful since Blender uses frames for it's animation timeline (in fact Biowares original max files tended to, thus some odd rounding errors sometimes).
Some animation are hardcoded to run for a predefined amount of time. If you make it longer or shorter the game compresses or expands the time. For instance walk animations have a set time loop and going beyond that makes the animation look sped up.
The transtime parameter (a floating point number, in seconds) is used to specify a time that transitions can be made into this animation from others. This should of course be shorter then the total animation time.
It's not clear which ones are hardcoded fully like this. This information should be listed below if known.
Custom Animations
The default a_ba etc. MDL files tend not to include custom animation definitions. These are for adding yourself as a modder. You have options of just using the looping animation or adding a start and end animation too.
Animations are named:
- customXstart - the starting animation, fired once when the animation starts
- customXlp - the looping animation, this can be the only one present if required
- customXend - the ending animation, fired once when the animation ends
With NWN:EE you can use custom1 up to custom70 with relevant constants for PlayAnimation available to use them.
Choice of Combat and Pause Animations based on Weapon
The weapon or items you have equipped in your left and right hands affect many animations. The main baseitems.2da WeaponWield column controls a lot of this although some is hardcoded slightly. Some rough notes on additional things that occur that are not combat animation related:
- **** = standard one-handed weapon (although may be two handed if small creature is wielding it)
- Torches have their animation coded to their baseitems.2da line
- 1 = not wieldable
- 4 = two-handed weapon (polearm)
- Has a special idle animation (over the shoulder at rest)
- 5 = bow
- Special walk animation overlay
- 6 = crossbow
- Has a special idle animation
- 7 = shield
- Special walk animation overlay
- 8 = double-sided weapon
- Has a special idle animation (over the shoulder at rest)
- 9 = creature weapon
- 10 = sling
- 11 = throwing weapon (dart, shuriken or throwing axe)
Weapon Animations
When attacks occur the weapon model itself can have animations. This is most easily seen on Bioware weapons with the Longbow, Flail and Morningstar weapons.
For an example eee the animation in wbwln_t_011.mdl for a "bowshot" animation for longbows:
Example of something that uses this, in wbwln_t_012.mdl where setsupermodel wbwln_t_012 wbwln_t_011 is used to inherit the animation an the parts are named g_wbwln_t_011a instead of referring to the parent model. This lets the animation inherit properly.
Other models with relevant animations you might want to be aware of (this might not be an exhaustive list):
- Flail, Heavy - wblfh_t_011.mdl
- Contains numerous animations for all kinds of stances and attacks, since it involves a chain and ball for Flail, Heavy Flail and Morningstar which reference it
- Sling - wbwsl_011.mdl (and other sling models)
- Animations for attacking, for some reason supermodels were not used for this
- Shortbow - wbwsh_t_011.mdl
- Bowshot similar to longbow
Projectile Weapons
- Projectile animations from weapons originate from the "rhand" node of a creature. If the "rhand" node is not available, the projectile will originate slightly higher than the root dummy.
- Arrows
- Bolts
- Bullets
- Throwing Axe
Animation Supermodels
The game can inherit animations - no need to have every MDL file have animations in it. A model may have a (super)model from which it inherits animations. The model may overwrite any animation from its supermodel. The structure of the two models must to match, i.e. the order of the objects in both files must be the same.
The most complex chain of supermodels is the ones used for player models. This section will be filled out with the hierarchy (and why you see slightly different animations for say, Half-Orcs compared to Humans) later.
As noted above supermodels can be used for weapons as well.
Animation Lists
These lists have been reordered from what is in the MDL files to be in a more sensible order where things related to each other are next to each other (eg sitdown and sit animations).
- Animation Name - the name used in the MDL file. Recommended to make it lowercase as the default files do.
- Title - What we're calling it here for clarity
- Length - The "length" field timing in seconds that the engine assumes. If the example FPS isn't matching up it'll just speed up or slow down the animation.
- Example Animation Length (30FPS) - since Blender and 3dsMax work in frames, not seconds, this is an example time frame for 30FPS
- Base/Overlay - Some animations are base animations, and some will overlay on top of an existing animation, for instance talking animations, over the pause or sit animation, or having a shield equipped when running.
- Type - See above for types.
- Animroot - The root node this animation is tied to, eg; torso_g - see notes about about animroot
- nwscript PlayAnimation constant - the constant to use in PlayAnimation to get this to play.
- Example picture - example picture if required
Full Animation List
Full models are "P" for parts-based player models and "F" for full animation set single-models.
Animation Name | Title | Engine assumed length | Example Animation Length (30FPS) | Transition time length | Transition time in frames | Base/Overlay | Type | Animroot | nwscript PlayAnimation constant or 2da entry option | Example Picture | Description / Notes |
---|---|---|---|---|---|---|---|---|---|---|---|
Idle | |||||||||||
pause1 | Pause 1 | 2 | 60 | Base | Loop | ANIMATION_LOOPING_PAUSE | Default pause animation, used when the creature is just standing around. | ||||
pause2 | Pause 2 | 2 | 60 | Base | Loop | ANIMATION_LOOPING_PAUSE2 | Second pause animation when standing around. Can be used by PlayAnimation or more commonly in conversations. It seems Bioware just made it change the hip the females were resting on, and for men | ||||
pausesh | Pause: Scratch Head | 2 | 60 | Overlay: Torso up | FNF | ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD | Unit scratches neck | ||||
pausebrd | Pause: Bored | 120 | Base | FNF | ANIMATION_FIREFORGET_PAUSE_BORED | Unit stretches and gives a big yawn | |||||
pausetrd | Pause: Tired | 85 | Base | Loop | ANIMATION_LOOPING_PAUSE_TIRED | Unit appears winded after running | |||||
pausepsn | Pause: Drunk | 130 | Base | Loop | ANIMATION_LOOPING_PAUSE_DRUNK | Unit appears disoriented or drunk | |||||
Walk and Run | |||||||||||
walk | Walk | 1 | 30 | Base | Loop | Main walk animation loop. Note overlays can be played on top of it - especially the walk_shieldl/walk_swordl/walk_swordr/walk_bowl animations. | |||||
walkinj | Walk: Injured | 1 | 30 | Base | Loop | Not used by the game by default but can be added with item property "Special Walk" in NWN:EE. Perhaps originally Bioware had a HP threshold where this walk would play (although there is no run equivalent). | |||||
walkdead | Walk: Undead | 1 | 30 | Base | Loop | Zombie walk, can be enabled with the "Special Walk" item property. | |||||
walk_shieldl | Walk overlay: Shield in left | 1 | 30 | Overlay: torso up | Loop | Overlay animation: moves arms as shield is in left hand. Can be combined with walk_swordr. | |||||
walk_swordl | Walk overlay: Weapon in left | 1 | 30 | Overlay: torso up | Loop | Overlay animation: moves arms as weapon is in left hand. Can be combined with walk_swordr. | |||||
walk_swordr | Walk overlay: Weapon in right | 1 | 30 | Overlay: torso up | Loop | Overlay animation: moves arms as weapon is in right hand. Can be combined with walk_shieldl or walk_swordl. | |||||
walk_bowl | Walk overlay: Bow left hand | 1 | 30 | Overlay: torso up | Loop | Overlay animation: moves arms as bow is in left hand. Won't combine with the others. | |||||
run | Run | 0.8 | 24 | Base | Loop | Main run animation loop. Note overlays can be played on top of it - especially the run_shieldl/run_swordl/run_swordr/run_bowl animations. | |||||
run_shieldl | Run overlay: Shield in left | 0.8 | 24 | Overlay: torso up | Loop | Overlay animation: moves arms as shield is in left hand. Can be combined with run_swordr. | |||||
run_swordl | Run overlay: Weapon in left | 0.8 | 24 | Overlay: torso up | Loop | Overlay animation: moves arms as weapon is in left hand. Can be combined with run_swordr. | |||||
run_swordr | Run overlay: Weapon in right | 0.8 | 24 | Overlay: torso up | Loop | Overlay animation: moves arms as weapon is in right hand. Can be combined with run_shieldl or run_swordl. | |||||
run_bowl | Run overlay: Bow left hand | 0.8 | 24 | Base (not an overlay as expected) | Loop | Overlay animation: moves arms as bow is in left hand. Won't combine with the others. | |||||
pauseturn | Turn on spot left/right | 15 | Base | Loop | PCs can drive with WASD, these extra animations are for slightly different directions then the usual "walk". Note this is going left, and it is just reversed for right. | ||||||
pausewalkl | Walk: Left | 15 | Base | Loop | PCs can drive with WASD, these extra animations are for slightly different directions then the usual "walk". | ||||||
pausewalkr | Walk: Right | 15 | Base | Loop | PCs can drive with WASD, these extra animations are for slightly different directions then the usual "walk". | ||||||
pausewalkfl | Walk: Forwards Left | 30 | Base | Loop | PCs can drive with WASD, these extra animations are for slightly different directions then the usual "walk". | ||||||
pausewalkfr | Walk: Forwards Right | 30 | Base | Loop | PCs can drive with WASD, these extra animations are for slightly different directions then the usual "walk". | ||||||
runfl | Run: Forwards left | 20 | Base | Loop | PCs can drive with WASD, these extra animations are for slightly different directions then the usual "run". | ||||||
runfr | Run: Forwards right | 20 | Base | Loop | PCs can drive with WASD, these extra animations are for slightly different directions then the usual "run". | ||||||
Emotes | |||||||||||
listen | Listen | 60 | Overlay | FNF | ANIMATION_LOOPING_LISTEN | ||||||
salute | Salute | 0.5 | 15 | Overlay | FNF | ANIMATION_FIREFORGET_SALUTE | |||||
bow | Bow | 2 | 60 | Base | FNF | ANIMATION_FIREFORGET_BOW | |||||
drink | Drink | 2 | 45 | Overlay | FNF | ANIMATION_FIREFORGET_DRINK | This uses a hardcoded "potion model" to drink from that appears out of nowhere, attached to hand. Name: it_potion_000.mdl if you want to replace it. Associated texture is GI_000. * You can replace the model or alpha-out the portion of the texture associated with the model to prevent seeing the potion/scroll. If combined with ProgFX Type 12 [see tutorial], you can then add a vfx potion/scroll of your choice to the creature before the animation is played, thereby changing the thing being drank/eaten/read. | ||||
read | Read | 2 | 60 | Overlay | FNF | ANIMATION_FIREFORGET_READ | This uses a hardcoded "scroll model" to read from that appears out of nowhere, attached to hand. Name: it_scrl_000.mdl if you want to replace it. Associated texture is W_METAL_TEX. * You can replace the model or alpha-out the portion of the texture associated with the model to prevent seeing the potion/scroll. If combined with ProgFX Type 12 [see tutorial], you can then add a vfx potion/scroll of your choice to the creature before the animation is played, thereby changing the thing being drank/eaten/read. | ||||
tlknorm | Talking: Normal | 2 | 60 | Overlay | Loop | ANIMATION_LOOPING_TALK_NORMAL | |||||
tlkplead | Talking: Pleading | 2 | 60 | Overlay | Loop | ANIMATION_LOOPING_TALK_PLEADING | |||||
tlkforce | Talking: Forceful | 2 | 80 | Overlay | Loop | ANIMATION_LOOPING_TALK_FORCEFUL | |||||
tlklaugh | Talking: Laughing | 2 | 60 | Overlay | Loop | ANIMATION_LOOPING_TALK_LAUGHING | |||||
greeting | Greeting | 2 | 60 | Overlay | FNF | ||||||
sitdown | Sit Down on chair: Transition Stand up from chair: Transition | 1 | 35 | Base | FNF | ANIMATION_LOOPING_SIT_CHAIR or ActionSit | Sit down "start" and "end" transitions. The animation is played in reverse for the "stand up" version. | ||||
sit | Sit on chair (Loop) | 2 | 60 | Base | Loop | ANIMATION_LOOPING_SIT_CHAIR or ActionSit | Sitting pose, see sitdown for transition animation. | ||||
kneel | Kneel (before Meditate or Worship) | 60 | Base | FNF | Plays the same animation in reverse for the end animation. | ||||||
meditate | Meditate | 60 | Base | FNF | ANIMATION_LOOPING_MEDITATE | ||||||
worship | Worship | 7 | 210 | Base | FNF | ANIMATION_LOOPING_WORSHIP | |||||
getmid | Get item not on ground start/end | 0.5 | 15 | Base | FNF | ANIMATION_LOOPING_GET_MID | Plays the same animation in reverse for the end animation. | ||||
getmidlp | Get item not on ground: Looping | n/a | 50 | Base | Loop | ANIMATION_LOOPING_GET_MID | |||||
getlow | Get item on ground start/end | 0.867 | 15 | Base | FNF | ANIMATION_LOOPING_GET_LOW | Plays the same animation in reverse for the end animation. | ||||
getlowlp | Get item on ground: Looping | 0.867 | 50 | Base | Loop | ANIMATION_LOOPING_GET_LOW | |||||
lookfar | Look Far | 90 | Base | FNF | ANIMATION_LOOPING_LOOK_FAR | ||||||
sitcross | Sit on ground cross legged: Tranistion | 1.5 | 45 | Base | FNF | ANIMATION_LOOPING_SIT_CROSS | Plays the same animation in reverse for the end animation. | ||||
sitcrossps | Sit on ground cross legged: Loop | 1.5 | 59 | Base | Loop | ANIMATION_LOOPING_SIT_CROSS | |||||
taunt | Taunt | 2 | 90 | Base | FNF | ANIMATION_FIREFORGET_TAUNT | |||||
steal | Steal | 2 | 60 | Base | FNF | ANIMATION_FIREFORGET_STEAL | Played when using SKILL_PICKPOCKET by PCs or NPCs. Since Steal can technically be used in combat it obviously fails to play there if also attacking. Can be played manually. | ||||
victorymg | Victory Cheer: Mage | 1.734 | 70 | Base | FNF | ANIMATION_FIREFORGET_VICTORY2 | One of the celebration animations. "Mage" one according to Bioware documentation. Played if "Cheer" player emote is used on a Wizard, Druid, Paladin, Sorcerer or Bard. | ||||
victoryth | Victory Cheer: Thief | 1 | 44 | Base | FNF | ANIMATION_FIREFORGET_VICTORY3 | One of the celebration animations. "Thief" one according to Bioware documentation. Played if "Cheer" player emote is used on a rogue. | ||||
victoryfr | Victory Cheer: Fighter | 1.734 | 52 | Base | FNF | ANIMATION_FIREFORGET_VICTORY1 | One of the celebration animations. "Fighter" one according to Bioware documentation. Is the default "Cheer" player emote for any class not mentioned in the "thief" or mage" one. | ||||
spasm | Spasm | 20 | Base | FNF and Looping | ANIMATION_FIREFORGET_SPASM ANIMATION_LOOPING_SPASM | FNF version just plays the loop for a specific length of time. | |||||
hturnl | Head turn: Left | 2 | 60 | Base | FNF | ANIMATION_FIREFORGET_HEAD_TURN_LEFT | |||||
hturnr | Head turn: Right | 2 | 60 | Base | FNF | ANIMATION_FIREFORGET_HEAD_TURN_RIGHT | |||||
Torch | |||||||||||
torchl | Holding Torch in Left Hand | 60 | Overlay | Plays a continual sound while equipped unlike any other item (on the PC only, probably only they can hear it). Hardcoded in the engine to the Torch item type in baseitems.2da | |||||||
Draw weapon | |||||||||||
drwright | Draw Weapon: Right hand | 20 | Overlay | Really any item that can be equipped not just weapons. Plays in reverse if putting away item. | |||||||
drwleft | Draw Weapon: Left hand | 20 | Overlay | Really any item that can be equipped not just weapons. Plays in reverse if putting away item. | |||||||
2 Handed | |||||||||||
2hreadyr | 2 Handed Weapon: Ready to attack right | 30 | Base | ||||||||
2hreadyl | 2 Handed Weapon: Ready to attack left | 30 | Base | ||||||||
2hslashl | 2 Handed Weapon: Slash Left | 30 | Base | ||||||||
2hslashr | 2 Handed Weapon: Slash Right | 30 | Base | ||||||||
2hstab | 2 Handed Weapon: Stab | 30 | Base | ||||||||
2hcloseh | 2 Handed Weapon: Close against "H" target | 30 | Base | ||||||||
2hclosel | 2 Handed Weapon: Close against "L" target (or prone target) | 30 | Base | ||||||||
2hreach | 2 Handed Weapon: Reach attack | 30 | Base | ||||||||
2hparryl | 2 Handed Weapon: Parry Left | 30 | Base | ||||||||
2hparryr | 2 Handed Weapon: Parry Right | 30 | Base | ||||||||
2hslasho | Two Handed Weapon: Slash Overlay | 30 | Overlay | Primarily used if in the middle of a combat step (moving closer or further away from the target) but can also occur when walking or running and an attack is being made (eg chasing something). | |||||||
Polearms | |||||||||||
plreadyr | Polearm: Ready to Attack right | 30 | Base | ||||||||
plreadyl | Polearm: Ready to Attack left | 30 | Base | ||||||||
plslashl | Polearm: Slash Left | 30 | Base | ||||||||
plslashr | Polearm: Slash Right | 30 | Base | ||||||||
plstab | Polearm: Stab | 30 | Base | ||||||||
plcloseh | Polearm: Close against "H" target | 30 | Base | ||||||||
plclosel | Polearm: Close against "L" target (or prone target) | 30 | Base | ||||||||
plreach | Polearm: Reach attack | 30 | Base | ||||||||
plparryl | Polearm: Parry Left | 30 | Base | ||||||||
plparryr | Polearm: Parry Right | 30 | Base | ||||||||
plpause1 | Polearm: Pause | 60 | Overlay: torso up | This is the "Polearm over the shoulder" animation added to pause1 when we're busy standing around doing nothing. Note that Light Flail, Heavy Flail and Morningstar do not use this animation even though they're classed as some kind of 2 handed weapon in many cases. This animation is also used as both Pause1 and while running/walking with a polearm over the shoulder. | |||||||
plslasho | Polearm/Double Ended Weapon: Slash Overlay | 30 | Overlay | Primarily used if in the middle of a combat step (moving closer or further away from the target) but can also occur when walking or running and an attack is being made (eg chasing something). | |||||||
1 Weapon | |||||||||||
1hreadyr | 1 Handed Weapon: Ready to attack right | 30 | Base | 1 handed weapons mean a single weapon in the right hand, the left hand having nothing or having a shield. Unarmed uses the "No Weapon" animations shield or no. | |||||||
1hreadyl | 1 Handed Weapon: Ready to attack left | 30 | Base | ||||||||
1hslashl | 1 Handed Weapon: Slash Left | 30 | Base | ||||||||
1hslashr | 1 Handed Weapon: Slash Right | 30 | Base | ||||||||
1hstab | 1 Handed Weapon: Stab | 30 | Base | ||||||||
1hcloseh | 1 Handed Weapon: Close against "H" target | 30 | Base | ||||||||
1hclosel | 1 Handed Weapon: Close against "L" target (or prone target) | 30 | Base | ||||||||
1hreach | 1 Handed Weapon: Reach attack | 30 | Base | ||||||||
1hparryr | 1 Handed Weapon: Parry Left | 30 | Base | ||||||||
1hparryl | 1 Handed Weapon: Parry Right | 30 | Base | ||||||||
1hslasho | 1 Handed Weapon: Slash Overlay | 30 | Overlay | Primarily used if in the middle of a combat step (moving closer or further away from the target) but can also occur when walking or running and an attack is being made (eg chasing something). | |||||||
2 Weapons | |||||||||||
2wreadyr | 2 Weapons: Ready to attack right | 30 | Base | This is when you have a weapon in each hand. Torches and shields don't count as weapons in this case. | |||||||
2wreadyl | 2 Weapons: Ready to attack right | 30 | Base | ||||||||
2wslashl | 2 Weapons: Slash Left | 30 | Base | ||||||||
2wslashr | 2 Weapons: Slash Right | 30 | Base | ||||||||
2wstab | 2 Weapons: Stab | 30 | Base | ||||||||
2wcloseh | 2 Weapons: Close against "H" target | 30 | Base | ||||||||
2wclosel | 2 Weapons: Close against "L" target (or prone target) | 30 | Base | ||||||||
2wreach | 2 Weapons: Reach attack | 30 | Base | ||||||||
2wparryl | 2 Weapons: Parry Left | 30 | Base | ||||||||
2wparryr | 2 Weapons: Parry Right | 30 | Base | ||||||||
2wslasho | 2 Weapons: Slash Overlay | 30 | Overlay | Primarily used if in the middle of a combat step (moving closer or further away from the target) but can also occur when walking or running and an attack is being made (eg chasing something). | |||||||
No weapon (fist) | |||||||||||
nwreadyl | No weapon: Ready to attack left | 30 | Base | No weapons means your fists or similar, ie no items in the right hand slot. If you have a shield these animations are still used give or take. Note instead of parrying attaacks (which would be silly) unarmed attacks react only with dodges, see below. | |||||||
nwreadyr | No weapon: Ready to attack right | 30 | Base | ||||||||
nwslashl | No weapon: Slash Left | 30 | Base | ||||||||
nwslashr | No weapon: Slash right | 30 | Base | ||||||||
nwstab | No weapon: Stab | 30 | Base | ||||||||
nwcloseh | No weapon: Close against "H" target | 30 | Base | ||||||||
nwclosel | No weapon: Close against "L" target (or if knocked down) | 30 | Base | ||||||||
nwreach | No weapon: Reach attack | 30 | Base | ||||||||
nwkickl | No weapon: Kick left | 30 | Base | Monks get access to kicks at random replacing the related animation sometimes. | |||||||
nwkickr | No weapon: Kick right | 30 | Base | Monks get access to kicks at random replacing the related animation sometimes. | |||||||
nwkicks | No weapon: Kick middle ("stab") | 30 | Base | Monks get access to kicks at random replacing the related animation sometimes. | |||||||
nwslasho | No weapon: Slash overlay | 30 | Overlay | Primarily used if in the middle of a combat step (moving closer or further away from the target) but can also occur when walking or running and an attack is being made (eg chasing something). | |||||||
Dodge | |||||||||||
dodgelr | Dodge: Large (Duck) | 30 | Base | ANIMATION_FIREFORGET_DODGE_DUCK | Used when unarmed, or have a ranged weapon equipped, versus what would usually be "Parry, Left" or "Parry, Right" | ||||||
dodges | Dodge: Side (and generally) | 30 | Base | ANIMATION_FIREFORGET_DODGE_SIDE | Used when unarmed, or have a ranged weapon equipped, versus what would usually be "Parry, Stab". | ||||||
Damage | |||||||||||
damages | Damaged from the front (stab) | 8 | Base | ||||||||
damagel | Damaged from the left | 8 | Base | ||||||||
damager | Damaged from the right | 8 | Base | ||||||||
damageb | Damaged from the back | 8 | Base | ||||||||
Combat Steps | |||||||||||
cwalkf | Combat step: Forwards | 15 | Base | ||||||||
cwalkb | Combat step: Backwards | 15 | Base | ||||||||
cwalkl | Combat step: Left | 15 | Base | ||||||||
cwalkr | Combat step: Right | 15 | Base | ||||||||
cturnr | Combat Turn: Right | 15 | Base | ||||||||
Shield specific | |||||||||||
shieldl | Shield equipped: Parry Left attack | 30 | Base | Also can "parry" ranged projectiles like arrows, I think if the attack roll would have hit if the shield wasn't equipped. | |||||||
Knockdown and Death | |||||||||||
kdbck | Knockdown: Back | 30 | Base | ||||||||
kdbckps | Knockdown: Back prone stance | 30 | Base | ||||||||
kdbckdmg | Knockdown: Back, damaged | 10 | Base | ||||||||
kdbckdie | Knockdown: Back, death Death: Back | 30 | Base | ||||||||
gutokdb | Knockdown: Back, Getting up, but immediately knocked down again | 30 | Base | ||||||||
gustandb | Knockdown: Back, Getting up to standing | 30 | Base | ||||||||
kdfnt | Knockdown: Front | 30 | Base | ||||||||
kdfntps | Knockdown: Front prone stance | 30 | Base | ||||||||
kdfntdmg | Knockdown: Front, damged | 10 | Base | ||||||||
kdfntdie | Knockdown: Front, death Death: Front | 30 | Base | ||||||||
gutokdf | Knockdown: Front, Getting up, but immediately knocked down again | 30 | Base | ||||||||
gustandf | Knockdown: Front, Getting up to standing | 30 | Base | ||||||||
deadfnt | Dead: Front | 1 | Base | ||||||||
deadbck | Dead: Back | 1 | Base | ||||||||
Ranged | |||||||||||
throwr | Sling / Grenade | 30 | Base | Sling equipped with when casting a spell - spells.2da column CastAnim value "attack" When the baseitems.2da line is line 81 - Grenade | Overarm throw for the sling and used for grenades (spellcasting animation in spells.2da) Single handed thrown weapons actually use the standard "1 handed attack" animation - like a sword would - which can sometimes look a bit odd (the first attack in the round is usually fine however). | ||||||
bowrdy | Bow equipped: Ready to attack | 30 | Base | Holding your bow ready. Only applies if it is a bow weapon. | |||||||
bowshot | Bow equipped: Attack | 30 | Base | Attacking with a bow. Only applies if it is a bow weapon. | |||||||
xbowrdy | Crossbow equipped: Ready to attack | 30 | Base | Holding your crossbow ready. Only applies if it is a crossbow weapon. | |||||||
xbowshot | Crossbow equipped: Attack | 30 | Base | Attacking with a crossbow. Only applies if it is a crossbow weapon. | |||||||
xbowr | Crossbow: Idle Overlay | 1 | 30 | Overlay | When standing around you hold your crossbow up using this overlay animation | ||||||
Spells | |||||||||||
conjure1 | Conjure: hand | 1 | 30 | Base | Loop | ANIMATION_LOOPING_CONJURE1 Used when conjuring a spell - spells.2da column ConjAnim value "hand" | Conjuring with hands forwards | ||||
conjure2 | Conjure: head | 1 | 30 | Base | Loop | ANIMATION_LOOPING_CONJURE2 Used when conjuring a spell - spells.2da column ConjAnim value "head" | |||||
castout | Cast: out | 0.5 | 15 | Base | FNF | Used when casting a spell - spells.2da column CastAnim value "out" | Used when casting a spell - spells.2da column CastAnim value "out" Hands outstretched. Commonly used for cone attacks. Example: Burning Hands, Sleep. | ||||
castoutlp | Cast: out looping | 1 | 30 | Base | Loop | Loop part of "Cast: out" | |||||
castself | Cast: self | 0.5 | 15 | Base | FNF | Used when casting a spell - spells.2da column CastAnim value "self" | Used when casting a spell - spells.2da column CastAnim value "self" Hands together on chest. Example: Aid, Magic Weapon. | ||||
castselflp | Cast: self looping | 1 | 30 | Base | Loop | Loop part of "Cast: self" | |||||
castup | Cast: up | 0.5 | 15 | Base | FNF | Used when casting a spell - spells.2da column CastAnim value "up" | Used when casting a spell - spells.2da column CastAnim value "up" Hands up and together. Example: Call Lightning | ||||
castuplp | Cast: up looping | 1 | 30 | Base | Loop | Loop part of "Cast: up" | |||||
castarea | Cast: area | 0.5 | 15 | Base | FNF | Used when casting a spell - spells.2da column CastAnim value "area" | Used when casting a spell - spells.2da column CastAnim value "area" Hands up but spread wide. Example: Bless, Cloudkill | ||||
castarealp | Cast: area looping | 1 | 30 | Base | Loop | Loop part of "Cast: Area" | |||||
castpoint | Cast: Point | 0.5 | 15 | Base | FNF | Used when casting a spell - spells.2da column CastAnim value "touch" or "point" | Used when casting a spell - spells.2da column CastAnim value "touch" or "point" | ||||
castpointlp | Cast: point looping | 1 | 30 | Base | Loop | Loop part of "Cast: Point" | |||||
special | Cast: Creature | Base | Loop | Used when casting a spell - spells.2da column CastAnim value "creature". | Used when casting a spell - spells.2da column CastAnim value "creature". Note used for Mindflayers so have no "windup" for this looping animation, and also not used with a conjuration animation. This may still be useful for Full animations even if the supermodels don't include it by default. | ||||||
VARIOUS see notes | Cast: Attack | Base | FNF | Used when casting a spell - spells.2da column CastAnim value "attack". | Used when casting a spell - spells.2da column CastAnim value "attack". Attack animation used based on primary weapon equipped and creature appearance type/animation set. If no animation matching the one needed then no animation will play. List of animations played:
As with the "creature" one there is no "ConjAnim" or "ConjTime" set so it immediately does this, although the projectile delays the ImpactScript. Example: Arcane Archer abilities. | ||||||
Effects and Abilities | |||||||||||
appear | Appear | 60 | Base | Loop | EffectAppear or EffectDisappearAppear | Appear animation, usually a flying down animation for birds/dragons. Used with EffectAppear or second part of EffectDisappearAppear | |||||
appear2 | Appear: 2 | Base | Loop | EffectAppear or EffectDisappearAppear | Used for Beholders in the base game but apparently this animation value is valid on Full creatures just named appear2 instead of cappear2 | ||||||
disappear | Disappear | 60 | Base | Loop | EffectDisappear or EffectDisappearAppear | Disappear animation, usually a flying directly up animation for birds/dragons. Used with EffectDisappear or the first part of EffectDisappearAppear | |||||
disappear2 | Disappear: 2 | Base | Loop | EffectDisappear or EffectDisappearAppear | Used for Beholders in the base game but apparently this animation value is valid on Full creatures just named disappear2 instead of cdisappear2 | ||||||
disappearlp | Disappear looping | 1 | Base | Loop | EffectDisappear or EffectDisappearAppear | Looping part of disappear animation - usually just hides the model | |||||
whirlwind | Whirlwind attack | 93 | Base | FNF | Feat: Whirlwind Attack activation animation | ||||||
Mount | |||||||||||
mount1start | Mount: Start | Base | FNF | ANIMATION_MOUNT1 ANIMATION_DISMOUNT1 | Dismount should reverse this | ||||||
mount1lp | Mount: Looping | Base | Loop | ANIMATION_MOUNT1 ANIMATION_DISMOUNT1 | Dismount should reverse this | ||||||
Custom | |||||||||||
custom1start | Custom animation 1 start | Base | Plays at the start of the custom animation - to get into position for the looping part. Is optional - may not be required. Example custom animation name. Valid numbers are 1 through 70. | ||||||||
custom1lp | Custom animation 1 loop | Base | Looping part of the custom animation. Is optional - may not be required. Example custom animation name. Valid numbers are 1 through 70. | ||||||||
custom1end | Custom animation 1 end | Base | Plays at the end of the custom animation - to get back to a "pause" state. Is optional - may not be required. Example custom animation name. Valid numbers are 1 through 70. |
Simple Animation List
Used when MODELTYPE is "S" and "L", although "L" has a few additions. These are generally used by the non-humanoid or simple models, generally with no weapons or one type of weapon. The "c" references "creature" - think dogs, trolls, beetles or the like who wield no weapons and are not humanoid enough to rely on the default animations.
Technically you can code up the animations to assume some form of weapons - for instance the Balor or Fire Giant who are L have a single large sword in their primary attacking hand. Driders have bows or one or two weapons, etc.
L additionally can have full animations for Bow and Crossbows - which appears useful for the "Drider" creatures who use a lot of bows. Most creatures which are not Driders will still be able to "weild" them but revert to default to the basic animations it seems. They could have them added though (eg a Fire Giant wielding a Crossbow would work with animations added). Note that slings are not available although they generally "look fine" and act as if the creature is just throwing a stone instead of using a sling if it generally swipes it's hands as it's attacking (ie Mephits are good, while Wolves may not be so good!).
You can have weapons (rhand/lhand) and shields (lforearm) with the appropraite nodes. However the base animations won't change.
One other note for "L" types: the WEAPONSCALE property in appearance.2da does scale the weapon visually but does not add any additional range to melee attacks - the game assumes you've sized the creatures combat distance accurately to the weapon they (usually) weild, eg a Balor with his Greatsword.
Actions that do not work:
- ActionSit will fail for S and L model types
Animations that do not play:
- Talking overlay animations won't ever play for S and L creatures
- Potion and Read Scroll animations when using items will just play creadyr - the "cast" part does work though (ie pointing outwards usually) utilising ccastout. Grenades do mostly work as intended though and use an attack animation ca1slashr and properly throw the projectile.
- Many emotes will default back to "cpause1" instead of playing
- There is only one knockdown/death animation
- You can only have 1 casting animation plus the creature special one
- And many many more limitations
but with these limitations comes a lot faster animation set to make.
Things that need testing:
- Animation names that are in the "Full" set and may work on the S or L sets if present.
- To test: more emotes, things like "whirlwind" and "drwright" (drawing weapons),
- Animations that automatically play, say, "cpause1" explicitly, even if the F animation is present
- Custom animations
Some notes from here: http://www.neverwinternights.info/cc_creatureanimation.htm
The "Equivalent Full Animation" may be a useful reference point if copying from a_ba and other supermodels. Every simple animation has a full equivalent.
Animation Name | Title | Equivalent Full Animation | Length | Example Animation Length (30FPS) | Transition time length | Transition time in frames | Base/ Overlay | Type | Animroot | nwscript PlayAnimation constant | Example Picture | Description / Notes |
---|---|---|---|---|---|---|---|---|---|---|---|---|
cpause1 | Pause | pause1 | 3 | 90 | Base | Loop | This is the animation a creature does when it its not actively engaged in combat or threatened. Generally the creature looks around a bit, shifts somewhat, wags it’s tail etc | |||||
Walk and Run | ||||||||||||
cwalk | Walk | walk | 1.9333 | 40 | Base | Loop | This is the animation of the creature walking | |||||
crun | Running | run | 1 | 30 | Base | Loop | This is the animation of the creature running | |||||
Emotes | ||||||||||||
ctaunt | Taunt | taunt | 1 | 30 | Base | FNF | ANIMATION_FIREFORGET_TAUNT | The creature taunts a foe. This can be laughing or doing something intimidating like growling going up on it’s haunches. | ||||
cgetmid | Get something - mid | 15 | ANIMATION_LOOPING_GET_MID ANIMATION_LOOPING_GET_LOW | There is no "get low" and this is used for all "get" animations | ||||||||
cgetmidlp | Get something - mid - loop | 1 | ANIMATION_LOOPING_GET_MID ANIMATION_LOOPING_GET_LOW | There is no "get low" and this is used for all "get" animations | ||||||||
chturnl | head turn left | hturnl | 30 | ANIMATION_FIREFORGET_HEAD_TURN_LEFT | ||||||||
chturnr | head turn right | hturnr | 30 | ANIMATION_FIREFORGET_HEAD_TURN_RIGHT | ||||||||
Attacks | ||||||||||||
creadyr | Ready to attack - right | Various "readyr" | 60 | The creature is in combat but not actively dodging or attacking at the moment. It’s a passive animation of sorts of the creature in a combat stance. Generally a bit of shifting about, head moving and arms raised defensively is appropriate. | ||||||||
creadyl | Ready to attack - left | Various "readyl" | 60 | The creature is in combat but not actively dodging or attacking at the moment. It’s a passive animation of sorts of the creature in a combat stance. Generally a bit of shifting about, head moving and arms raised defensively is appropriate. | ||||||||
ca1slashl | Attack: default claw attack, slash left | Various "readyr" | 45 | Also used for ranged bows on simple creatures (when doing a left stance), and replaces nwkickl. | ||||||||
ca1slashr | Attack: default claw attack, slash right | 45 | Also used for ranged bows on simple creatures (when doing a right stance), and thrown weapons (eg; shurikens), and replaces nwkickr. | |||||||||
ca1stab | Attack: default bite ("stab") attack | 45 | Also replaces nwkicks. | |||||||||
cclosel | Attack: Close - Low | 30 | If targets appearance.2da TARGETHEIGHT value is "L" uses this attack if "close". Also used if target is knocked down. Also used for ranged bows if required (if same situation). | |||||||||
ccloseh | Attack: Close - High | 30 | If targets appearance.2da TARGETHEIGHT value is "H" uses this attack if "close". Also used for ranged bows if required. | |||||||||
creach | Attack: Reach. Attack when target is far away | 30 | The creature lunges to attack a foe farther away then normal. | |||||||||
cparryr | Parry - incoming attack from right | 30 | The creature parries an attack form it’s right. | |||||||||
cparryl | Parry - incoming attack from left | 30 | The creature parries an attack form it’s left. Also used if "shield parry" would otherwise be used. | |||||||||
Dodge | ||||||||||||
cdodgelr | Dodge Large attack (duck down) | dodgelr | 30 | Creature dodges an attack by ducking to the ground, It’s not generally reasonable for creature that are larger than man sized of for those with shapes that are not conducive to ducking. In such case, do something similar to cdodges described below. | ||||||||
cdodges | Dodge Side attack (Sidestep) | dodges | 30 | reature evades an attack by stepping back and to the side. | ||||||||
Damage | ||||||||||||
cspasm | Combat spasm | spasm | 20 | Base | FNF and Looping | ANIMATION_FIREFORGET_SPASM ANIMATION_LOOPING_SPASM | Previous documentation suggests this is used as a damage animation unlike "Full" which doesn't. Needs further testing. Possibly just spell damage triggers it. | |||||
cdamagel | Damage from left | damagel | 10 | The creature has been struck from the left side of it’s body. A shrug from the impact is an appropriate animation. | ||||||||
cdamager | Damage from right | damager | 10 | the creature has been struck from the right side of it’s body. A shrug from the impact is an appropriate animation. | ||||||||
cdamages | Damage from middle (stab) | damages | 10 | Somebody has thrust a weapon at the creature straight into it’s chest. Animation should be a recoiling shrug. This is also used if damaged from the back (no equivalent to "damageb" from Full) | ||||||||
Combat Steps | ||||||||||||
ccwalkf | Combat Motion Forwards | cwalkf | 15 | A full forward step like a creature would do in the middle of combat. | ||||||||
ccwalkb | Combat Motion Backwards | cwalkb | 15 | A full backwards step like a creature would do in the middle of combat. | ||||||||
ccwalkl | Combat Motion Left | cwalkl | 15 | A combat move to the left. Often a hop or a jump. | ||||||||
ccwalkr | Combat Motion Right | cwalkr | 15 | A combat move to the right. Often a hop or a jump. | ||||||||
ccturnr | Combat Motion Turning | cturnr | 15 | Same animation for both right (default) or left (plays in reverse). | ||||||||
Knockdown and Death | ||||||||||||
ckdbck | Knockdown: Fall Back | kdbck | 30 | Creature is knocked down to a Prone position. animation should start at the normal ready position and end with the creature in a prone position. | ||||||||
ckdbckps | Knockdown: Prone stance | kdbckps | 10 | This is a looping animation of the creature laying prone. It should start with the prone pose and end with the prone pose with nothing in between. | ||||||||
ckdbckdmg | Knockdown: Back, Damaged | kdbckdmg | 20 | This animation is played when the prone creature is hit. It should start with the prone pose, end with the prone pose and someplace in the middle have a shrug. | ||||||||
cguptokdb | Knockdown: Getting up then knocked down again | guptokdb | 30 | This rarely used animation is for when a creature is knocked prone, begins to get back up and is again knocked prone. It needs to start and end with the prone pose. In the middle should be the poor beasts feeble attempt to stand back up. | ||||||||
cgustandb | Knockdown: Stand up | gustandb | 30 | This animation is simply the creature transition from starting Prone and going back up to Ready. Doing it well is among the most challenging animations. | ||||||||
ckdbckdie | Death: Back | kdbckdie | 30 | There is no "Dead: Front" for simple creatures, unlike Full creatures. This animation plays when a creature is killed. Please note that when a creature is killed, the knocked down animation in played prior to this one. This animation should take a creature from the Prone position to the Dead position, NOT from Ready to Dead. If you make this animation Ready to Dead, when the creature is killed, he will fall down, stand back up and than fall down dead. It looks bad, don’t do it. HOWEVER… many people do make the Prone pose and the Dead pose the same. If you want to do this, make sure this animation is Prone / Dead to Prone / Dead with nothing in between (no transition from prone to dead is needed if there are going to be the same). | ||||||||
cdead | Dead loop | dead | 1 | This is a looping animation of the creature being dead. Whenever you see a dead creature laying on the ground in NWN, it’s this animation over and over again. It should start with Dead pose and end with Dead pose EXACTLEY THE SAME. Noting in between. Nothing worse then a dead creature jerking and shaking as this animation loops. | ||||||||
Spells | ||||||||||||
cconjure1 | Conjuration | conjure1 | 43 | Base | Loop | Used for both "head" and "hand" animation choices in ConjAnim spells.2da | ||||||
ccastoutlp | Cast: outwards motion (loop) | castoutlp | 30 | Base | Loop | Used for all CastAnim except "creature" in spells.2da | ||||||
ccastout | Cast outwards motion | castout | 15 | Base | FNF | Used for all CastAnim except "creature" in spells.2da | ||||||
cspecial | Cast: Creature | special | c_mindflayer.mdl uses 3.1 seconds | Base | Loop | Used if Cast Animation is set to "creature". This is used for Mind Flayer special abilities and since there is no windup animation it is just a constant loop and hasn't got a conjuration time or animation set. | ||||||
VARIOUS | Cast: Attack | VARIOUS | VARIOUS | VARIOUS | Base | FNF | See full table for more information on this. Used for Arcane Archer abilities usually, and "L" get to use their bows so can also use this animation, else it uses ca1stab.
| |||||
cappear | Appear | appear | 60 | Base | EffectAppear and EffectDisappearAppear. | Most creatures use "pause" for this. Only Dragons, birds etc. use it properly. Used by EffectAppear and EffectDisappearAppear. | ||||||
cappear2 | Appear: 2 | appear2 | c_behold.mdl uses 1.333 seconds | Base | EffectAppear and EffectDisappearAppear. | Most creatures use "pause" for this, Beholders use this to float upwards rather than floating downwards, added in HotU and as a parameter the different effects. | ||||||
cdisappear | Disappear | disappear | 60 | Base | EffectDisappear and EffectDisappearAppear. | Most creatures use "pause" for this. Only Dragons, birds etc. use it properly. Used by EffectDisappear and EffectDisappearAppear. | ||||||
cdisappear2 | Disappear: 2 | disappear2 | c_behold.mdl uses 1.333 seconds | Base | EffectDisappear and EffectDisappearAppear. | Most creatures use "pause" for this, Beholders use this to float downwards rather than floating upwards, added in HotU and as a parameter the different effects. | ||||||
cdisappearlp | Disappear (loop) | disappearlp | 60 | Base | EffectDisappearAppear | Most creatures use "pause" for this. Only Dragons, birds etc. use it properly. Used by EffectDisappearAppear. | ||||||
Limited Only | ||||||||||||
cdodgelr | big dodge | dodgelr | 30 | It is also noted above as usual "Dodge" but this replaces some of the parry effects (like how having a bow usually does). | ||||||||
cdodges | small dodge | dodges | 30 | It is also noted above as usual "Dodge" but this replaces some of the parry effects (like how having a bow usually does). | ||||||||
bowrdy | Bow: ready to attack | bowrdy | 30 | Bow is ready to fire. Not all "L" animation sets include this, primarily Driders seem to. | ||||||||
bowshot | Bow: Attack shoot | bowshot | 30 | |||||||||
xbowrdy | Crossbow: ready to attack | xbowrdy | 30 | Crossbow is ready to fire. Not all "L" animation sets include this, primarily Driders seem to. | ||||||||
xbowshot | Crossbow: Attack shoot | xbowshot | 30 | |||||||||
xbowr | Crossbow: Idle Pause | xbowr | 60 |
Ambient and non-combat Animations
Used when PlayAnimation is played and for certain actions in the game.
Many are also used in Conversations - a hardcoded list according to the GFF documentation, although since the list there doesn't correspond to the nwscript there are other options - see below. Putting your own in via. a GFF editor may actually work fine it is likely not validated.
The default conversation editor only shows these options however as per above menus. There is nothing special that PlayAnimation cannot do, so you can also use the animations from that in a script.
The fact some say "overlay" probably means the head continues to bob as if talking when the animation is played but this needs testing. Not sure if PlayAnimation also does this or if you put in other values into this field in the GFF.
- 0 = default, talk normal
- 28 = taunt
- 29 = greeting
- 30 = listen
- 33 = worship
- 34 = overlay salute
- 35 = bow
- 37 = steal
- 38 = talk normal
- 39 = talk pleading
- 40 = talk forceful
- 41 = talk laugh
- 44 = victory fighter (note: interestingly not named 1/2/3...)
- 45 = victory mage
- 46 = victory thief
- 48 = look far
- 70 = overlay drink
- 71 = overlay read
- 88 = play no animation - A special one presumably stops talking (the 0 option or option 38)
For the Engine ID a list of these is available on the NWNX pages. Why Bioware didn't just link the constants to the engine ID values who knows. Maybe to protect the poor animation programmers from the toolset script editors...
There are also animations that might be usable in the conversations which are not available with PlayAnimation as per this NWNX page.
Note: If an Animation Name field is blank then it simply won't play an animation.
Animation Name (Full) | Animation Name (Limited) | Animation Name (Simple) | Example Animation Length (30FPS) | Animation Transition | PlayAnimation ID ANIMATION_* constant | Constant value | Conversation ID / Engine ID | Example Picture | Description / Notes |
---|---|---|---|---|---|---|---|---|---|
pause1 | cpause1 | cpause1 | ANIMATION_LOOPING_PAUSE | 0 | 0 | The looping animation of a creature standing around. | |||
pause2 | cpause2 | cpause2 | ANIMATION_LOOPING_PAUSE2 | 1 | 52 | The looping animation of a creature standing around. | |||
listen | ANIMATION_LOOPING_LISTEN | 2 | 30 = listen | The looping animation of a creature listening. | |||||
meditate | ANIMATION_LOOPING_MEDITATE | 3 | 32 | The looping animation of a creature meditating. | |||||
ANIMATION_LOOPING_WORSHIP | 4 | 33 = worship | The looping animation of the creature worshipping. | ||||||
ANIMATION_LOOPING_LOOK_FAR | 5 | 48 = look far | The looping animation of a creature looking at a distance. | ||||||
ANIMATION_LOOPING_SIT_CHAIR | 6 | 36 | The looping animation of a creature sitting on a chair. | ||||||
ANIMATION_LOOPING_SIT_CROSS | 7 | 47 | The looping animation of a creature sitting cross-legged. | ||||||
ANIMATION_LOOPING_TALK_NORMAL | 8 | 38 = talk normal | The looping animation of a creature talking. | ||||||
ANIMATION_LOOPING_TALK_PLEADING | 9 | 39 = talk pleading | The looping animation of a creature pleading. | ||||||
ANIMATION_LOOPING_TALK_FORCEFUL | 10 | 40 = talk forceful | The looping animation of a creature talking forcefully. | ||||||
ANIMATION_LOOPING_TALK_LAUGHING | 11 | 41 = talk laugh | The looping animation of a creature laughing. | ||||||
ANIMATION_LOOPING_GET_LOW | 12 | 59 | Causes the object to bend down low to retrieve something from the floor. | ||||||
ANIMATION_LOOPING_GET_MID | 13 | 60 | Causes the object to bend down to get something at about waist height. | ||||||
ANIMATION_LOOPING_PAUSE_TIRED | 14 | 57 | The looping animation of a tired creature standing around. | ||||||
ANIMATION_LOOPING_PAUSE_DRUNK | 15 | 58 | The looping animation of a drunk creature standing around. | ||||||
ANIMATION_LOOPING_DEAD_FRONT | 16 | 6 | Creates a feign death or sleep-like effect that ends when the player moves or clicks on himself. If attacked while down, the player will not get up if hit. | ||||||
ANIMATION_LOOPING_DEAD_BACK | 17 | 8 | Like ANIMATION_LOOPING_DEAD_FRONT, except the creature will lie face up instead of face down. | ||||||
conjure1 | ANIMATION_LOOPING_CONJURE1 | 18 | 15 | The looping animation of someone conjuring something by moving hands in a pattern in front of themself. | |||||
conjure2 | ANIMATION_LOOPING_CONJURE2 | 19 | 16 | The looping animation of someone conjuring something by waving their hands over their head. | |||||
ANIMATION_LOOPING_SPASM | 20 | 93 | The looping animation of someone having a spasm. Actually looks a little creepy in my opinion... | ||||||
ANIMATION_LOOPING_CUSTOM1 | 21 | 97 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM2 | 22 | 98 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM3 | 23 | 101 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM4 | 24 | 102 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM5 | 25 | 103 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM6 | 26 | 104 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM7 | 27 | 105 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM8 | 28 | 106 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM9 | 29 | 107 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM10 | 30 | 108 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM11 | 31 | 109 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM12 | 32 | 110 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM13 | 33 | 111 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM14 | 34 | 112 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM15 | 35 | 113 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM16 | 36 | 114 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM17 | 37 | 115 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM18 | 38 | 116 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM19 | 39 | 117 | Placeholder for custom content based animation. | ||||||
ANIMATION_LOOPING_CUSTOM20 | 40 | 118 | Placeholder for custom content based animation. | ||||||
ANIMATION_MOUNT1 | 41 | 119 | 1.69 "Horse Mount" animation | ||||||
ANIMATION_DISMOUNT1 | 42 | 120 | 1.69 "Horse Dismount" animation | ||||||
ANIMATION_LOOPING_CUSTOM21 | 43 | 121 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM22 | 44 | 122 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM23 | 45 | 123 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM24 | 46 | 124 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM25 | 47 | 125 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM26 | 48 | 126 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM27 | 49 | 127 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM28 | 50 | 128 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM29 | 51 | 129 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM30 | 52 | 130 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM31 | 53 | 131 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM32 | 54 | 132 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM33 | 55 | 133 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM34 | 56 | 134 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM35 | 57 | 135 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM36 | 58 | 136 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM37 | 59 | 137 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM38 | 60 | 138 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM39 | 61 | 139 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM40 | 62 | 140 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM41 | 63 | 141 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM42 | 64 | 142 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM43 | 65 | 143 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM44 | 66 | 144 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM45 | 67 | 145 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM46 | 68 | 146 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM47 | 69 | 147 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM48 | 70 | 148 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM49 | 71 | 149 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM50 | 72 | 150 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM51 | 73 | 151 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM52 | 74 | 152 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM53 | 75 | 153 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM54 | 76 | 154 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM55 | 77 | 155 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM56 | 78 | 156 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM57 | 79 | 157 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM58 | 80 | 158 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM59 | 81 | 159 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM60 | 82 | 160 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM61 | 83 | 161 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM62 | 84 | 162 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM63 | 85 | 163 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM64 | 86 | 164 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM65 | 87 | 165 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM66 | 88 | 166 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM67 | 89 | 167 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM68 | 90 | 168 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM69 | 91 | 169 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_LOOPING_CUSTOM70 | 92 | 170 | Placeholder for custom content based animation. NWN:EE only. | ||||||
ANIMATION_FIREFORGET_HEAD_TURN_LEFT | 100 | 53 | The animation of a creature turning its head left. | ||||||
ANIMATION_FIREFORGET_HEAD_TURN_RIGHT | 101 | 54 | The animation of a creature turning its head right. | ||||||
ANIMATION_FIREFORGET_PAUSE_SCRATCH_HEAD | 102 | 55 | The animation of a creature standing around scratching its head. | ||||||
ANIMATION_FIREFORGET_PAUSE_BORED | 103 | 56 | The animation of a creature standing around bored. | ||||||
ANIMATION_FIREFORGET_SALUTE | 104 | 34 = overlay salute | The animation of a creature saluting. | ||||||
ANIMATION_FIREFORGET_BOW | 105 | 35 = bow | The bow animation. | ||||||
ANIMATION_FIREFORGET_STEAL | 106 | 37 = steal | The stealing animation. | ||||||
ANIMATION_FIREFORGET_GREETING | 107 | 29 = greeting | The animation of a creature greeting someone. | ||||||
ANIMATION_FIREFORGET_TAUNT | 108 | 28 = taunt | The taunting animation. | ||||||
ANIMATION_FIREFORGET_VICTORY1 | 109 | 44 = victory fighter / "Victory 1" | One of the celebration animations. "Fighter" one according to Bioware documentation. Is the default "Cheer" player emote for any class not mentioned below. | ||||||
ANIMATION_FIREFORGET_VICTORY2 | 110 | 45 = victory mage | One of the celebration animations. "Mage" one according to Bioware documentation. Played if "Cheer" player emote is used on a Wizard, Druid, Paladin, Sorcerer or Bard. | ||||||
ANIMATION_FIREFORGET_VICTORY3 | 111 | 46 = victory thief | One of the celebration animations. "Thief" one according to Bioware documentation. Played if "Cheer" player emote is used on a rogue. | ||||||
ANIMATION_FIREFORGET_READ | 112 | 71 = overlay read | The reading animation. | ||||||
ANIMATION_FIREFORGET_DRINK | 113 | 70 = overlay drink | The drinking animation. | ||||||
ANIMATION_FIREFORGET_DODGE_SIDE | 114 | 90 | The animation of someone dodging something by taking a half-step to the side. | ||||||
ANIMATION_FIREFORGET_DODGE_DUCK | 115 | 91 | The animation of someone dodging something by ducking | ||||||
ANIMATION_FIREFORGET_SPASM | 116 | 23 | The animation of a creature having a spasm. Actually looks a little creepy in my opinion... |
Item Conjuration and Casting Animations
Note that spells cast from items come with their own pre-set animations. These appear to be hardcoded to different baseitems.2da lines.
Item Type | baseitems.2da Line | Animation Played | Notes |
---|---|---|---|
Potion | 49 | drink | Potions animation plus a gulping noise. This is ANIMATION_FIREFORGET_DRINK |
Scroll | 54 | read | Default spell scroll. This is ANIMATION_FIREFORGET_READ |
Spell Scroll | 75 | read | Crafted spell scroll added in HotU. This is ANIMATION_FIREFORGET_READ |
Grenade | 81 | throwr | Grenades added in HotU. This is not a nwscript playable animation - it's the same animation that slings use. |
Any other item | Anything else | out | Default "out" cast animation. Duration based on spells.2da "CastTime" so, for instance, a "Cone of Cold" spell operates correctly when used from a staff. |
Tile Animations
Notes:
- For at least the Day/Night/Nigh2Day/Day2Night animations, these animations will only run on objects that have an animation dummy; a dummy nested within the main dummy of the MDL, and with the exact same name as that main dummy but with 'a' appended to the end, e.g. if you have a tile called tno01_s01_02, the animation dummy must be called tno01_s01_02a. This is because by default all tile Trimesh geometry is static, but the engine checks for geometry that's linked to the animation dummy and checks for animations on that geometry only.
- The Day/Night animations are triggered on Dawn/Dusk. If a Script or DM changes the module time and skips Dawn/Dusk event, the tile will kepp playing the last animation until the players reload the map or the next Dawn/Dusk event.
Animation Name | Example Animation Length (30FPS) | Description / Notes |
---|---|---|
animloop1 | 50 | |
animloop2 | 50 | |
animloop3 | 50 | |
Day | 50 | The animation state during daytime |
Night | 50 | The animation state during nighttime |
Night2Day | 50 | Just like it sounds: this (and the below Day2Night) runs at the transition of night/day. Used for e.g. turning on night-time torches or lanterns, and for fading-in night time illuminated window meshes over ordinary daytime window meshes, using key'ing of alpha values on the night-time window mesh. |
Day2Night | 50 | See above |
tiledefault | 50 |
Example frames (taken from a night/day glowing window that works):
Animation Name | transition time (frame #) | start (frame #) | end (frame #) |
---|---|---|---|
animloop01 | 0 | 70 | 71 |
day | 7.5 | 140 | 149 |
night | 7.5 | 210 | 219 |
day2night | 7.5 | 280 | 281 |
night2day | 7.5 | 350 | 351 |
tiledefault | 0 | 420 | 420 |
VFX Animations
Animation Name | Example Animation Length (30FPS) | Description / Notes |
---|---|---|
impact | 50 | |
duration | 50 | |
cessation | 50 | |
default | ? |
Placeable Animations
Animations just for placeables. Animation times are examples there is no set limits.
Note if there are inventories some of the animations are disabled; on, off, on2off, off2on, default (used when set to static).
Note: Setting a placeable containing a skinmesh or animmesh to static will lead to a crash. There is a flag in the placeables.2da which prevents the user from setting it to static. Example: Ballista model from patch 1.69 (its bowstring uses a skinmesh).
Animation Name | Enabled when Static | Example Animation Length (30FPS) | PlayAnimation ID ANIMATION_* constant | Constant value | Example Picture | Description / Notes |
---|---|---|---|---|---|---|
on | No | 50 | ANIMATION_PLACEABLE_ACTIVATE | 200 | The animation of a placeable becoming activated. | |
on2off | No | ? | Change been on and off | |||
off | No | 1 | ANIMATION_PLACEABLE_DEACTIVATE | 201 | The animation of a placeable becoming deactivated. | |
off2on | No | ? | Change between off and on | |||
open | No | 1 | ANIMATION_PLACEABLE_OPEN | 202 | The opening of a placeable animation, played when it's got an inventory automatically. | |
open2close | 50 | |||||
close | No | 1 | ANIMATION_PLACEABLE_CLOSE | 203 | The closing animation of a placeable, played when it's got an inventory automatically. | |
close2open | 50 | |||||
die | Yes | 50 | Deal enough damage to kill it | Process of dying, usually some smoke using emitters and the placeables sinks into the ground The sinking into the ground is done because when a placeable is destroyed it takes a couple of seconds before NWN fades it away. | ||
dead | Yes | 1 | Usually single frame; keeps the placeable under ground = invisible | |||
damage | n/a | 2 | Deal damage | When damaged, usually make the placeable shake a little | ||
default | Yes | When set to static is the primary this is the animation used |
Animations for Doors
Animations just for door objects.
Animation Name | Example Animation Length (30FPS) (t_door01) | PlayAnimation ID ANIMATION_* constant | Constant value | Example Picture | Description / Notes |
---|---|---|---|---|---|
closing1 | 0.666667 | ANIMATION_DOOR_CLOSE | 204 | Close from "open position 1" | |
closing2 | 0.633333 | ANIMATION_DOOR_CLOSE | 204 | Close from "open position 2" | |
closed | 0.0333333 | ANIMATION_DOOR_CLOSE | 204 | When it's closed, which is most of the time, it plays this. | |
opening1 | 1.0 | ANIMATION_DOOR_OPEN1 | 205 | Causes a door object to play it's open way 1 animation | |
opened1 | 0.0333333 | ANIMATION_DOOR_OPEN1 | 205 | ||
opening2 | 1.0 | ANIMATION_DOOR_OPEN2 | 206 | Causes a door object to play it's open way 2 animation | |
opened2 | 0.0333333 | ANIMATION_DOOR_OPEN2 | 206 | ||
trans | 0.0333333 | Area transition overlay highlight for the player to see the doorway (especially when it's otherwise dead!) | |||
die | 0.666667 | When at 0 hit points | |||
dead | 0.0333333 | ||||
default | Not in t_door01 | This appears to be used if there is no visible model | |||
damage | Not in t_door01 | When damaged |