Some basics on creature movement.
creaturespeed.2da
This defines the basic movement of a creature (PC or NPC) in meters per second. Notably the PC movement speed is always slightly faster or slower than NPC speeds. Sigh!
This is hardcoded in the toolset to only show certain options (primarily not line 0) and hardcoded as to how "Default" works. It might be modifiable in the creatures GFF itself to allow PC movement to be chosen. An easier route is to change "Normal" to match PC however.
PC movement is hardcoded to line 0.
Creatures added to a PCs party - eg; Henchmen, Summons, Animal Companions and Familiars - automatically get set to line 0 (via. GetMovementRate) if they are "Normal" speed or below, meaning henchmen get a little boost to speed to follow the PC, and doesn't seem to revert back if removed as a henchman either.
DM movement is hardcoded to line 8.
You can add additional lines or change existing ones, the highest values are around 30 else you end up crashing the server. Higher values may also have negative cases when passing triggers or even potentially obstacles and doors (and potentially causing other pathfinding issues), so only use it if you know what you are doing, especially if the increased speeds can also have speed altering effects applied to raise it even further.
ID | Name | Appearance.2da MOVERATE name | Walk Rate | Run Rate | Notes |
---|---|---|---|---|---|
0 | PC Movement | PLAYER | 2.00 | 4.00 | Applied if the object is a creature and "Normal" move speed is applied in the appearance. Not available in toolset. Notably it's easier to change "Normal" to be equivalent to this rate if creatures are falling behind (which they will be!). PCs who obtain associates (Henchmen, Summons, Animal Companions and Familiars) have their speed set to this if it is Normal or lower, and doesn't seem to revert back if removed as a henchman either. |
1 | Immobile | NOMOVE | 0.00 | 0.00 | Causes the creature to always be flat footed so be aware of this if using this for some kind of "Immobile boss" Also hardcoded to stop leg movement - so if applied to a PC (usually using NWNX) it will stop WASD movement from occurring (and even being sent to the server to process) |
2 | Very Slow | VSLOW | 0.75 | 1.50 | |
3 | Slow | SLOW | 1.25 | 2.50 | |
4 | Normal | NORM | 1.75 | 3.50 | Since this is still slower than a PC, it is recommended it match the PLAYER speed if the monsters (or henchmen) seem slow. |
5 | Fast | FAST | 2.25 | 4.50 | |
6 | Very Fast | VFAST | 2.75 | 5.50 | |
7 | Default | DEFAULT | Special | Special | appearance.2da - loads MOVERATE which relates to the 2DAName field in creaturespeed.2da (most are "NORM", eg player races) |
8 | DM Fast | DFAST | 5.50 | 11.00 | Applied to DM player characters on login |
SetAppearance
Setting a creatures appearance defaults it back to the entry used in appearance.2da. This means you can't have a nice shape changing super fast monster (unless what they polymorph to is the same appearance.2da speed).
This is probably the same with EffectPolymorph but needs testing, the original speed may be returned on cancelling at least.
Maximum Speed
You can try and get the numbers up to around 28 or so before it goes bonkers and the game starts really bugging out. It's not a great idea to have anything really use this speed however.
Movement Speed Changes and Caps
Movement speed caps are limited to 150% of movement speed (outside of NWNX changes).
Effects that change movement speed:
- Encumbrance
- EffectMovementSpeedIncrease
- EffectMovementSpeedDecrease
- EffectSlow
- EffectHaste and the Haste property on items
- Monk speed (hardcoded to the monk class line)
- Barbarian speed (hardcoded to the barbarian movement speed feat)
- Several effects that set the creature to be immobile:
- EffectEntangle - also allows some actions
- EffectStun, EffectParalyze, EffectSleep etc.
These all become a bit of a mess, it be crazy how they work.