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 NameIcon NameIconDescription
Poisonisk_poison.tga

Poison isn't a 3E skill. However Craft Poison was introduced later, and the vial could have meant Craft Potion too.
Repairisk_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

ColumnExample ContentsValid ValuesDescription and Notes
LabelAnimalEmpathyAny textA 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 ( _ ).
Name269Dialog.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.

Description344Dialog.tlk referenceThe skills description, show in on the character sheet and at level up
Iconisk_aniempIcon texture resref
Untrained0

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.

KeyAbilityCHASTR, 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.

ArmorCheckPenalty0

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)

AllClassesCanUse0

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.

MaxCR1**** or integerWould 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.
ConstantSKILL_ANIMAL_EMPATHYAny textUnused 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.
HostileSkill11 or 0Only used by active skills (see section above).
HideFromLevelUp01 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
  • No labels