Feat.2da
From NWN1 Custom Content Guide
Safe index line: 2000
This means your first line should be number 2000 (starting from 0). Remember the indexes must be consecutive. If line 43 has 2000 written in its first column it will still be considered line 43 by the engine. If necessary use blank lines (****) to pad the 2da up to the first safe line.
Pitfall: As of SoU, any feat placed into indices 490-943 will *not* show up in the chargen or levelup processes in-game. This will likely be changed again in... 4 days ast of this writing. One of the common problems customizers run into is to figure that they don't need to type in all the padding lines into this file because they just want to test it quick and dirty. They put their custom feat into line 490 or so, check the game, and wonder why it didn't show up. The next most common thinking is to place it at feat 944. Save yourself some effort and just download one of the pre-padded feat.2da files or use one of the padding utilities or the Custom Content Helper.
| <featID> | Index number | Feat subsystem: For the purposes of the game, the engine ignores the actual value here and only counts the number of rows from the start. Get2DAString(): This value _does_ matter when using the Get2DAString() function in order to read data. As usual, it's just good practice to index your 2DAs correctly.. |
| LABEL | for those humans | i.e. Alertness Ambidex ~ArmProfHvy ... |
| FEAT | STR_REF to the name of the feat referenced in dialog.tlk (See also TalkTables). | Strrefs (string references) are numbers that point to the text that is actually used to display the name of the feat in both the game and the toolset. |
| DESCRIPTION | STR_REF to the feat's description | Strref number |
| ICON | The icon you see in the game for the feat | This is the filename (without extension) of a 32x32 .[{TGA]] file used for the icon, i.e. ife_alertness |
| MINATTACKBONUS | Prerequisite: The minimum base attack bonus needed to qualify for the feat. | Number for the minimum bonus or **** if this is not a prerequisite. |
| MINSTR MINDEX MININT MINWIS MINCON MINCHA | Prerequisite: The minimum stat needed in this ability. Inherent (base + racialmod + inherent increase) count. Spell, item, and other temporary effects don't count. | Number, or ****. |
| MINSPELLLVL | Prerequisite: Minimum SPELL level you can cast in order to take this feat. (not caster level which would be a class level...) | 1 to 9, or ****. |
| PREREQFEAT1 PREREQFEAT2 | Prerequisite: (AND) Must have BOTH of these prereqfeats in order to take this feat | featID, or ****. |
| GAINMULTIPLE | Can this feat be gained multiple times? 1.32: doesn't seem to have any impact for feats implemented through spells.2da | 0 No 1 Yes (only Extra Turning) |
| EFFECTSSTACK | Do the effects of this feat stack with other feats? 1.32: Ditto | 0 No 1 Yes (Only Extra Turning, Toughness) |
| ALLCLASSESCANUSE | Can all classes use this feat? If not, it must be gained through alternate means such as cls_feat_<class>.2da In order for a feat to appear in the special ability radial of a PC, you will need to put it in cls_feat_<class>.2da, since the OnMenu is there. So for radial feats there is no gain to be made by putting 1 there. 1.32:Putting the feat in multiple cls_feat_<class>.2da will result in it appearing multiple times in the radial GUI of multiclassed characters I believe. | 0 No (Class-specific abilities, proficiencies) 1 Yes (General feats, Metamagic feats) Note: Some feats such as metamagic feats are set to "All Classes Can Use" because all of the necessary requirements are sufficiently configured in the feat entry and do not need to be specifically restricted by placing them only in certain cls_feat_<class>.2da files. |
| CATEGORY | This is the type of feat for use by the AI (refer to Category) so that NPCs and monsters use it properly. | Number, or ****. |
| MAXCR | This seems to be associated with the CATEGORY field possibly altering the CR rating of creatures who have these feats. | Number, or ****. |
| SPELLID | Index into spells.2da (column 0, the spellID) for the spell characteristics and script used to implement this feat. Most of your custom-created feats will be activateable (Feats: Radial Feats) and will typically have this reference. | spellID ([[Feats: Radial Feats |activated feats]) **** (non). |
| SUCCESSOR | These are for progressions of feats where the previous feat is replaced by the successor feat (mainly used for progressive class abilities made into feats, i.e. Barbarian Rage/Bard Song). Important note: Even if the successor feat replaces this feat when it is acquired, the character technically still has the feat as well (i.e. a GetHasFeat() check would return TRUE if you check for BardSong1, even if your charactersheet will show BardSong2, because you BardSong1 is still on your character) | FeatID (feat progressions) **** (normal standalone feats) |
| CRValue | Defines the impact this feat has on CR calculation when added to a creature | common values 1 (regular feats) 0.5 (class abilities & regular feats) 0.2 (racial abilities) |
| USESPERDAY | How many times the feat can be used between rest cycles. | number **** |
| MASTERFEAT | Index into masterfeats.2da. This setting is for feats that selected through a submenu instead of from the main feat menu, such as Improved Critical feats, Weapon Focus feats, Spell Focus feats, etc. It is mainly for organizational purposes and prevents cluttering of the main feat selection rollout. | masterfeatID **** |
| TARGETSELF | This appears to be used to either:
Until 1.32 included, it determines if you need a cursor after selecting the feat (in this case put 1). It will only be active on creatures. The spells.2da TargetType entry will determine if the "spell" casts properly. But all that will change with 1.59/1.60. | **** no 1 yes |
| OrReqFeat0] OrReqFeat1 OrReqFeat2 OrReqFeat3 OrReqFeat4 | A new set of feat prerequisites but those are alternatives, for exemple improve critical club has: 46 48 49 50 51 which means you need either one of the corresponding feats: weapon proficiency simple, druid, monk, rogue, or wizard. This of course in addition to the restricitons mentioned in other columns. | ID in this 2da |
| REQSKILL | Skill prerequisite Character must have at least ReqSkillMinRanks ranks of this skill. This refers to actual ranks, not taking into account ability or equipment bonusses. | ID in skills.2da **** |
| ReqSkillMinRanks | Ranks in skill prerequisite Character must have at this number of ranks in REQSKILL. This refers to actual ranks, not taking into account ability or equipment bonusses. | Number of ranks **** |
| REQSKILL2 | Skill prerequisite Character must have at least ReqSkillMinRanks2 ranks of this skill. This refers to actual ranks, not taking into account ability or equipment bonusses. | ID in skills.2da **** |
| ReqSkillMinRanks2 | Ranks in skill prerequisite Character must have at this number of ranks in REQSKILL. This refers to actual ranks, not taking into account ability or equipment bonusses. | Number of ranks **** |
| Constant | Name of the FEAT_* constant for this feat. This is for the human brain. If you use named constants in your scripts (and you should). Write the name of your const int here. | FEAT_WHATEVER |
| TOOLSCATEGORIES | The category the feat is set to in the toolset (i.e. Defensive, Offensive) | 1 Combat Feats 2 Active Combat Feats 3 Defensive Feats 4 Magical Feats 5 Class/Racial Feats 6 Other Feats |
| HostileFeat | Should the use of this feat on someone be considered an agression? This also affects if the feat can be used in PvP environments (hostile feats can't be used on friendly targets in non pvp environments)
_Note_: Setting a feat hostile and targetting self will not be allowed in non pvp) | **** for no 1 for yes. |
| MinLevel | Minimum total level to be able to take the feat | level... |
| MinLevelClass | The class that is required to have the minimum level indicated in MinLevel. If empty character level is used | row number from classes.2da, "****" for character level |
| MaxLevel | Maximum total level to be able to take that class (perks) | level... |
| MinFortSave | Minimum fortitude save (resistance feats) | value |
| PreReqEpic (HotU) | If set to 1 this feat requires the character to be EPIC (character level 21) to show up in the LevelUp selection | 0 or 1 |
| ReqAction (1.66) | If set to 0 this feat is triggered instantly without going via the action queue | 0 or 1 |
