skills.2da defines the skills the game allows players to choose and use. Of course, apart from the in built ones, all of the additional skills content creators can add are not inherently usable, but can be checked with scripts.
Hardcoded Skills
Due to the fact that the Skill Focus feats, and other things such as starting level 1 skill-improving feats, are all hardcoded, essentially lines 0 through 26 are all hardcoded in some way even if the engine doesn't inherently do anything with them.
Ride, skill 27, was added in a patch and hasn't inherently got any "engine" support, ie; no Skill Focus: Ride or anything that isn't just scripted content.
There is also no way to specify skill synergies (outside of altering the hardcoded ones via. ruleset.2da)
Hardcoded Skills Information
See the information under Hardcoded Skills for a breakdown of each skill, how it operates (if it's active/passive), feats and ruleset.2da values that affect it, etc.
There's also some effects on skills that are hardcoded worth noting on the page.
Hardcoded Limits
You can have a maximum of 255 skills in the file due to network limitations.
GUI issues going over 32 skills can occur - may only affect the "Untrained" column however - https://github.com/Beamdog/nwn-issues/issues/171
There are also subskills for disable trap skill; these may make those lines odd, but this is untested. From nwscript.nss:
int SUBSKILL_FLAGTRAP = 100; int SUBSKILL_RECOVERTRAP = 101; int SUBSKILL_EXAMINETRAP = 102;
Unlike most 2da's, starring out the strref name doesn't hide it from the levelup/skills screens. For that, the row has to be removed entirely, and the skills displayed also can't use the name-conflict trick like in feat.2da (see Content Creation section at bottom). This means when creating/replacing skills, if you want to keep the discipline skill at rowid 3, then you'll have no choice but to also display rowid 0 to 2. Essentially, the only options you have are to append-only new skills to the file, to replace current skills with your own implementation, or to completely redesign the wheel for how the skill currently works (remove rowid 0 to 2, make discipline rowid 0, and rewrite rowid 0's skill logic to mimic that of the discipline skill) if you want to keep it and don't want to conform to it being on the same row.
Cut Skills
There are very few cut skills, only a few icons seem to be left over. Note since "Discipline" is a made up skill, it makes you wonder what else was attempted. The list of real 3E skills is available here.
These may also have been pre-release "beta 3E" skills WotC was testing since it was in development as 3E was.
Skill Name | Icon Name | Icon | Description |
---|---|---|---|
Poison | isk_poison.tga | Poison isn't a 3E skill. However Craft Poison was introduced later, and the vial could have meant Craft Potion too. | |
Repair | isk_repair.tga | Repair isn't a 3E skill but maybe at some point it there was going to be weapons breaking or other uses of it. |
2da Columns
Column | Example Contents | Valid Values | Description and Notes |
---|---|---|---|
Label | AnimalEmpathy | Any text | A text value identifying the feat associated with this row. It is not used by the game engine, but makes it easier to locate specific feats within the file. All spaces should be replaced with underscores ( _ ). |
Name | 269 | Dialog.tlk reference | The skills name, as shown in game and the toolset This column is what the character sheet uses to order skills. You can setup a custom order using Custom Tokens. |
Description | 344 | Dialog.tlk reference | The skills description, show in on the character sheet and at level up |
Icon | isk_aniemp | Icon texture resref | |
Untrained | 0 | 1 - Untrained - can be used with no skill ranks 0 - Trained - requires skill ranks | Skills such as "Open Lock" require training - this means using the skill at 0 ranks (the amount done at level up screens, not those bonuses from items/ability scores) cannot be used. |
KeyAbility | CHA | STR, DEX, CON, INT, WIS, CHA | Ability score that is associated with this skill and grants bonuses to it. There are hardcoded penalties applied to Strength and Dexterity based skills automatically when blinded; it is in ruleset.2da as BLIND_PENALTY_TO_SKILL_CHECK and is set to a default of 4. |
ArmorCheckPenalty | 0 | 1 - Has armor check penalty 0 - Has no armor check penalty | When armor is equipped it provides a penalty to skills with this set to 1, for instance Full Plate has -8. Usually it is only dexterity based skills (the exception being Open Lock and Ride in the default skills.2da) |
AllClassesCanUse | 0 | 1 - All classes can use this skill (put points into it during levelup) 0 - Only specific classes can put points into it | This does not determine what skills cost more, just what skills can absolutely not be chosen unless allowed by classes.2da. For instance Perform is strictly a Bard skill, no other class can pick points in it. |
Category | **** | categories.2da value or **** | The default game does not specify a category for any skill. It'd only make sense for hardcoded active-use skills such as Animal Empathy, Heal, Parry or Taunt. It is unlikely it works well or at all however if categories are assigned to them. If you want to make use of these skills by the NPC it is recommended to use ActionUseSkill or ActionUseItemOnObject. |
MaxCR | 1 | **** or integer | Would be, if the talent system wasn't an undocumented hardcoded mess, work with the Category. Since no skill has a category this is essentially ignored, and for custom skills is unusable anyway. |
Constant | SKILL_ANIMAL_EMPATHY | Any text | Unused by the game or toolset just a builder reference. Makes sense to have a constant name as per nwscript.nss or an include file however. |
HostileSkill | 1 | 1 or 0 | Only used by active skills (see section above). |
HideFromLevelUp | 0 | 1 or 0 | 87.8193.35 addition. If set to 1 hides it from chargen and level up, since base game skills being reused have unintended consequences this allows them to be fully hidden if otherwise blanked and removed. |
2da Contents
2DA V2.0 Label Name Description Icon Untrained KeyAbility ArmorCheckPenalty AllClassesCanUse Category MaxCR Constant HostileSkill HideFromLevelUp 0 AnimalEmpathy 269 344 isk_aniemp 0 CHA 0 0 **** 1 SKILL_ANIMAL_EMPATHY 1 0 1 Concentration 270 345 isk_concen 1 CON 0 1 **** **** SKILL_CONCENTRATION 0 0 2 DisableTrap 271 346 isk_distrap 0 INT 0 1 **** **** SKILL_DISABLE_TRAP 0 0 3 Discipline 343 347 isk_discipline 1 STR 0 1 **** **** SKILL_DISCIPLINE 0 0 4 Heal 273 349 isk_heal 1 WIS 0 1 **** 1 SKILL_HEAL 0 0 5 Hide 274 350 isk_hide 1 DEX 1 1 **** **** SKILL_HIDE 0 0 6 Listen 275 351 isk_listen 1 WIS 0 1 **** **** SKILL_LISTEN 0 0 7 Lore 276 352 isk_lore 1 INT 0 1 **** **** SKILL_LORE 0 0 8 MoveSilently 277 353 isk_movsilent 1 DEX 1 1 **** **** SKILL_MOVE_SILENTLY 0 0 9 OpenLock 278 354 isk_olock 0 DEX 0 1 **** **** SKILL_OPEN_LOCK 0 0 10 Parry 279 355 isk_parry 1 DEX 1 1 **** 1 SKILL_PARRY 0 0 11 Perform 280 356 isk_perform 1 CHA 0 0 **** **** SKILL_PERFORM 0 0 12 Persuade 281 357 isk_persuade 1 CHA 0 1 **** **** SKILL_PERSUADE 0 0 13 PickPocket 282 358 isk_pocket 0 DEX 1 1 **** **** SKILL_PICK_POCKET 1 0 14 Search 284 360 isk_search 1 INT 0 1 **** **** SKILL_SEARCH 0 0 15 SetTrap 285 361 isk_settrap 0 DEX 1 1 **** **** SKILL_SET_TRAP 0 0 16 Spellcraft 286 362 isk_spellcraft 0 INT 0 1 **** **** SKILL_SPELLCRAFT 0 0 17 Spot 287 364 isk_spot 1 WIS 0 1 **** **** SKILL_SPOT 0 0 18 Taunt 342 366 isk_taunt 1 CHA 0 1 **** 1 SKILL_TAUNT 1 0 19 UseMagicDevice 288 367 isk_magicdev 0 CHA 0 0 **** **** SKILL_USE_MAGIC_DEVICE 0 0 20 Appraise 2693 2694 ife_X1App 1 INT 0 1 **** **** SKILL_APPRAISE 0 0 21 Tumble 2695 2696 ife_X1Tum 0 DEX 1 1 **** **** SKILL_TUMBLE 0 0 22 CraftTrap 2697 2698 ife_X1CrTrap 1 INT 0 1 **** **** SKILL_CRAFT_TRAP 0 0 23 Bluff 8746 8757 isk_X2bluff 1 CHA 0 1 **** **** SKILL_BLUFF 0 0 24 Intimidate 8756 8786 isk_X2Inti 1 CHA 0 1 **** **** SKILL_INTIMIDATE 0 0 25 CraftArmor 8787 8788 isk_X2CArm 1 INT 0 1 **** **** SKILL_CRAFT_ARMOR 0 0 26 CraftWeapon 8789 8790 isk_X2CWeap 1 INT 0 1 **** **** SKILL_CRAFT_WEAPON 0 0 27 Ride 111889 111890 isk_x3_ride 1 DEX 0 1 **** **** SKILL_RIDE 0 0