...
There are a limit to the amount of lines the engine will properly use for 2da files. This is restricted due to network traffic (even in SP there is a "server" running) since the game was made for dialup so Bioware coded in a lot of practical limits to lower packet sizes (presumably...)
| 2da file | Line Limit (assuming 0 start) | Notes |
|---|---|---|
| baseitems.2da | 255 | Hardcoded due to network limitations; items may not function as intended. |
| classes.2da | 254 | Hardcoded due to network limitations plus "255" number is reserved as "CLASS_TYPE_INVALID" |
| effecticons.2da | 255 | Now can use new lines with EffectIcon. |
| feat.2da | 32,768 | uint16 used in network however not recommended to go over 32K even if 65,536 is absolute maximum. There are likely problems with subdial feats if you do this. |
| skills.2da | 32 | Hardcoded due to network limitations to 255 but GUI issues make it a 32 skill limit. May only affect the "Untrained" column however? https://github.com/Beamdog/nwn-issues/issues/171 |
| spells.2da | 4096 | Possibly the limit - needs testing, but is to do with 12 bits available for the "spell radial" entry being sent over the network. May have been removed at some point but needs fully testing. |
| surfacemat.2da | 64 | 0 through 63 are valid lines for this in patch 1.84.8193.29 and up. |
| iprp_damagecost.2da | 127 (or possibly 128) | Certainly going to line 129 or higher works for the server end (damage is done correctly) but the client won't show it correctly in the character sheet because it looks up 2da line as a negative (impossible). Line 159 was tested which had the string "-97 Magical Damage" since 159 - 128 = 31, and 128 - 31 = 97. It shows correctly on items, and higher lines are safe for NPCs to use. |
...