Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

2da fileBrief DescriptionClient LoadedServer LoadedToolset LoadedLine LimitLine Limit Notes
actions.2daList of actions and associated icons / TLK strings used by the GUIYesYesNoHardcodedThis file cannot have alterations to lines made, the references are all hardcoded.
ambientmusic.2daAmbient music tracksYesNoYesUnknownNeeds testing. GFF field is stored as INT (-2147483648 to 2147483647).
ambientsound.2daAmbient sound tracksYesNoYesUnknownNeeds testing. GFF field is stored as INT (-2147483648 to 2147483647).
ammunitiontypes.2daFor the hardcoded ranged weapons, what models to use for certain ammo types (eg; Fire Arrows)YesNoNoUnknown / HardcodedLikely hardcoded, so no changes to line amounts allowed.
appearance.2daCreature appearances and base properties like size etc.YesYesYesUnknownGFF field is stored as WORD (0 to 65535).
appearancesndset.2daAppearance Sound Set eg what ambient sound they play, referenced by SOUNDAPPTYPE in appearance.2daYesNoYes?UnknownNeeds testing. More can be added but not sure about the line limit.
armor.2daList of armor values, although some of this is hardcoded.YesYesYesUnknownNeeds testing. New AC values can be added but only incrementally (so higher AC, eg: 8, 9, 10 could be added next).
armorparts.2daUsed for the toolset to set how many of each part of armor there are.NoNoYesHardcodedThere is a single line used by the toolset, no additional lines are even needed.
baseitems.2daAll the item types in the game (eg: longsword, torch, scroll)YesYesYes255Hardcoded due to network limitations; items may not function as intended.
bodybag.2daThe bodybag a creature will leave around.NoYesYesLikely 255Needs testing. GFF field is stored as BYTE (0 to 255)
chargenclothes.2daClothing available at character generation.YesYesNoUnknownNeeds testing. No GFF field, is purely loaded by the engine (at chargen client side and on the server side when the client sends over what clothing choice at the end of chargen for that item to load).
classes.2daCharacter classes and main class optionsYesYesYes254Hardcoded due to network limitations plus "255" number is reserved as "CLASS_TYPE_INVALID"
cloakmodel.2daCloaks model references and options for each model.YesYesYesUnknownNeeds testing.
cls_atk_xxx.2daStandard name for classes.2da "AttackBonusTable" 2da value, defining the Base Attack Bonus progressionYesYesYes60Classes are limited to 40 levels for PCs and 60 levels (mostly) for NPCs. In any case epic levels (21+) have static progression from epicattacks.2da
cls_bfeat_xxx.2daStandard name for classes.2da "BonusFeatsTable" 2da value, defining the bonus feats a class getsYesYesYesUnknownNeeds testing but likely the limit here is same as feat.2da
cls_feat_xxx.2daStandard name for classes.2da "FeatsTable" 2da value, defining the feat availability for a classYesYesYesUnknownNeeds testing but likely the limit here is same as feat.2da
cls_pres_xxx.2daStandard name for classes.2da "PreReqTable" 2da value, defining the prerequisits for taking this (Prestiege) classYesYesYesUnknownNeeds testing but this is hardly going to ever be the longest file.
cls_savthr_xxx.2daStandard name for classes.2da "SavingThrowTable" 2da value, defining the saving throw (Fortitude, Will, Reflex) progressionYesYesYes60Classes are limited to 40 levels for PCs and 60 levels (mostly) for NPCs. In any case epic levels (21+) have static progression from epicsaves.2da
cls_skill_xxx.2daStandard name for classes.2da "SkillsTable" 2da value, defining the skills the class has availableYesYesYesUnknown (likely 255)Needs testing but is likely limited to the same size as skills.2da (255 or 32 depending on bugs)
cls_spgn_xxx.2daStandard name for classes.2da "SpellGainTable" 2da value, defining the spells gained each level (How many can be cast per level). Every spellcaster needs this.YesYesYes60

Classes are limited to 40 levels for PCs and 60 levels (mostly) for NPCs.

Note in EE that spellcasters are typically limited to level 40 in the engine.

cls_spkn_xxx.2daStandard name for classes.2da "SpellKnownTable" 2da value, defining how many spells are known (Eg; for Bards and Sorcerers)YesYesYes60

Classes are limited to 40 levels for PCs and 60 levels (mostly) for NPCs.

Note in EE that spellcasters are typically limited to level 40 in the engine.

cls_stat_xxx.2daStandard name for classes.2da "StatGainTable" 2da value, defining the stat increases for the class (Eg; Dragon Disciple, Pale Master)YesYesYes60Classes are limited to 40 levels for PCs and 60 levels (mostly) for NPCs.
creaturesize.2daFile is hardcoded (engine values in ruleset.2da) and only used by the toolset for the names of sizesNoNoYesHardcodedNoted in description this is basically hardcoded and is for toolset only use.
creaturespeed.2daFile defining the speed of PCs and NPCsYesYesYesUnknownNeeds testing. This file can be extended but some lines are hardcoded. See creaturespeed.2da
crtemplates.2daThis defines some "creature templates" for NPCs such as "Half-Celestial" used in the toolset only. Links to ini files that load items and stat changes onto the creature blueprint.NoNoYesUnknownNeeds testing. Solely for Toolset usage.
cursors.2daNot a complete list of cursors, but used for trigger objects to define some mouse over cursors.YesNoYesLikely 255Needs testing. GFF field is stored as BYTE (0 - 255)
damagehitvisual.2daDamage VFX line sent to the client when a particular damage is inflicted by a weapon.NoYesNoHardcodedThe amount of damage types is hardcoded.
damagelevels.2daDamage levels, such as "Uninjured" or "Near Death". The amount of HP each level is for is hardcoded, this is purely for clientside TLK loading.YesNoNoHardcodedThe damage levels are set in the engine, this just displays the right localised TLK string.
defaultacsounds.2daThe sounds of each armor when hit, thus leather armour when hit by a sword has the impact effect sound like leather.YesNoNoUnknownNeeds testing. New AC values can be added but only incrementally (so higher AC, eg: 8, 9, 10 could be added next).
des_xxx.2daThese 2da files were used by Bioware designers to have custom systems that work with Get2DAString() in scripts, eg for crafting.NoYesNoN/ANo limits as such apart from what limits 2DA files have naturally
diffsettings.2daDifficulty Settings used by the game, at least the ones Bioware made editable.YesYesNoHardcodedThe amount of difficulty options and what options are editable is hardcoded.
disease.2daDiseases defined by the game for EffectDisease or On Hit: Disease item properties. Clients are sent completed effects, not the information loaded in this file, except the name used On Hit item properties most likely.YesYesYesUnknownNeeds testing.
domains.2daDomains that by default only Clerics use, but now in EE any spellcaster can be assigned if setup.YesYesNoLikely 255Needs testing. GFF field is stored as BYTE (0 - 255)
doortypes.2daList of doors tied to various tilesets. Clients will load it for most likely the sound reference.YesYesYesUnknown
effecticons.2daEffect icons used by the game, now extendable massively in EE with EffectIcon.YesYesNo255This 255 limit was set properly in EE for EffectIcon. Previously all effect icons were hardcoded.
encdifficulty.2daEncounter difficulty. Used by servers for a multiplier on the "difficulty", and in toolset to set the difficulty.NoYesYesUnknownNeeds testing. Not sure if more can be added.  GFF field is stored as INT (-2147483648 to 2147483647).
encumbrance.2daEncumberance levels for amount of strength a creature has. Client uses this to show the amount you can carry. Server it is used where the speed is worked out.YesYesNoUnknownNeeds testing. Rows go up to 100 but potentially could be extended.

environment.2da

Contains the area lighting environmental presets available in the toolset only.NoNoYesUnknownNeeds testing. May be hardcoded.
epicattacks.2daAttack progression for epic levels (21+). Clients and toolset is just for showing numbers.YesYesYes60Classes are limited to 40 levels for PCs and 60 levels (mostly) for NPCs. Note the epic levels are 21+ so first 20 lines would be ignored usually.
epicsaves.2daSave progression for epic levels (21+). Clients and toolset is just for showing numbers.YesYesYes60Classes are limited to 40 levels for PCs and 60 levels (mostly) for NPCs. Note the epic levels are 21+ so first 20 lines would be ignored usually.
excitedduration.2da"Excited" duration, ie; combat music time! Both options are the same, clients say it loads but is it used for anything? Probably not. It is also probably not worth altering this since...who knows what might happen in the engine. If you know maybe post it here!Yes but not used?YesNoHardcodedThe entries here are hardcoded.
exptable.2daUsed to figure out when the characters levelup.NoYesNo41Line 41 is actually making level 40 the highest. EE has some bugs if you go over 40 levels for PCs around spellcasting.
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.

footstepsounds.2da





fractionalcr.2da





gender.2da





genericdoors.2da





hen_companion.2da





hen_familiar.2da





inventorysnds.2da





iprp_abilities.2da
YesYesYes

iprp_damagecostacmodtype.2da127 (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.

skills.2da32Hardcoded 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
YesYesYes

iprp_addcost.2da
YesYesYes

iprp_additional.2da
YesYesYes

iprp_aligngrp.2da
YesYesYes

iprp_alignment.2da
YesYesYes

iprp_ammocost.2da
YesYesYes

iprp_ammotype.2da
YesYesYes

iprp_amount.2da
YesYesYes

iprp_arcspell.2da
YesYesYes

iprp_bonuscost.2da
YesYesYes

iprp_chargecost.2da
YesYesYes

iprp_color.2da
YesYesYes

iprp_combatdam.2da
YesYesYes

iprp_costtable.2da
YesYesYes

iprp_damagecost.2da
YesYesYes127 (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.

iprp_damagetype.2da
YesYesYes

iprp_damvulcost.2da
YesYesYes

iprp_feats.2da
YesYesYes

iprp_immuncost.2da
YesYesYes

iprp_immunity.2da
YesYesYes

iprp_kitcost.2da
YesYesYes

iprp_lightcost.2da
YesYesYes

iprp_matcost.2da
YesYesYes

iprp_material.2da
YesYesYes

iprp_meleecost.2da
YesYesYes

iprp_monstcost.2da
YesYesYes

iprp_monsterdam.2da
YesYesYes

iprp_monsterhit.2da
YesYesYes

iprp_neg10cost.2da
YesYesYes

iprp_neg5cost.2da
YesYesYes

iprp_onhit.2da
YesYesYes

iprp_onhitcost.2da
YesYesYes

iprp_onhitdur.2da
YesYesYes

iprp_onhitspell.2da
YesYesYes

iprp_paramtable.2da
YesYesYes

iprp_poison.2da
YesYesYes

iprp_protection.2da
YesYesYes

iprp_qualcost.2da
YesYesYes

iprp_quality.2da
YesYesYes

iprp_redcost.2da
YesYesYes

iprp_resistcost.2da
YesYesYes

iprp_saveelement.2da
YesYesYes

iprp_savingthrow.2da
YesYesYes

iprp_skillcost.2da
YesYesYes

iprp_slotscost.2da
YesYesYes

iprp_soakcost.2da
YesYesYes

iprp_spellcost.2da
YesYesYes

iprp_spellcstr.2da
YesYesYes

iprp_spelllvcost.2da
YesYesYes

iprp_spelllvlimm.2da
YesYesYes

iprp_spells.2da
YesYesYes

iprp_spellshl.2da
YesYesYes

iprp_srcost.2dai
YesYesYes

iprp_trapcost.2da
YesYesYes

iprp_traps.2daIs this used? to test, maybe just in toolset??????????

iprp_trapsize.2da
YesYesYes

iprp_visualfx.2da
YesYesYes

iprp_walk.2da
YesYesYes

iprp_weightcost.2da
YesYesYes

iprp_weightinc.2da
YesYesYes

itempropdef.2da
YesYesYes

itemprops.2da
YesYesYes

itemvalue.2da
YesYesYes

itmwizammo.2da

Toolset only; Item Wizard 2da filesNoNoYes

itmwizarmor.2daToolset only; Item Wizard 2da filesNoNoYes

itmwizhelmet.2daToolset only; Item Wizard 2da filesNoNoYes

itmwizmelee.2daToolset only; Item Wizard 2da filesNoNoYes

itmwizpotion.2daToolset only; Item Wizard 2da filesNoNoYes

itmwizranged.2daToolset only; Item Wizard 2da filesNoNoYes

itmwizrods.2daToolset only; Item Wizard 2da filesNoNoYes

itmwizscroll.2daToolset only; Item Wizard 2da filesNoNoYes

itmwizstaves.2daToolset only; Item Wizard 2da filesNoNoYes

itmwizthrow.2daToolset only; Item Wizard 2da filesNoNoYes

itmwiztrap.2daToolset only; Item Wizard 2da filesNoNoYes

itmwizwands.2daToolset only; Item Wizard 2da filesNoNoYes

keymap.2da





lightcolor.2da





loadhints.2da





loadscreens.2da





masterfeats.2da





namefilter.2da





packages.2da





packeqXXX.2da





packftXXX.2da





packskXXX.2da





packspXXX.2da





parts_belt.2da





parts_bicep.2da





parts_chest.2daArmor Chest parts. This is what really determines the AC of the appearance. The float values are floored.




parts_foot.2da





parts_forearm.2da





parts_hand.2da





parts_legs.2da





parts_neck.2da





parts_pelvis.2da





parts_robe.2da





parts_shin.2da





parts_shoulder.2da





phenotype.2da





placeableobjsnds.2da





placeables.2da





poison.2da





polymorph.2da





portraits.2da





pregen.2da





prioritygroups.2da





progfx.2da





pvpsettings.2daToolset only list of PvP settings




race_feat_xxx.2da





racialtypes.2da





ranges.2da





repadjust.2da





replacetexture.2daNot really sure what this does. Tiles related?




repute.2daToolset only defaults for the faction manager the game uses the modules settings.NoNoYesHardcodedHardcoded standard faction list
restduration.2daTime it takes at each level to rest with ActionRestNoYesNo60Classes are limited to 40 levels for PCs and 60 levels (mostly) for NPCs.
rrf_nss.2daThe dropdown in the toolset when opening a script has these categories and simple filters available.NoNoYesUnknownNeeds testing.
rrf_wav.2daThe dropdown in the toolset when opening a sound file has these categories and simple filters available.NoNoYesUnknownNeeds testing.
ruleset.2da





skills.2da



32Hardcoded 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
skillvsitemcost.2da





skyboxes.2da





sounddefaultspos.2daDefault values for toolset placeable sound typesNoNoYesHardcodedToolset uses this for the default values of the different placeable sound types.
sounddefaultstim.2daDefault values for toolset placeable sound typesNoNoYesHardcodedToolset uses this for the default values of the different placeable sound types.
soundeax.2daEAX values are still in the toolset mainly for compatibility, as of EE they are no longer used.NoNoYesHardcodedHardcoded but unused by the game so who cares.
soundset.2da





soundsettype.2daColumn "Type" in soundset.2da refers to this. The categories of soundset file in the toolset, unused out of the toolset however since only 0 matters for chargen (PC voicesets)NoNoYesUnknownNeeds testing.
spells.2da



4096Possibly 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.
spellschools.2da





statescripts.2da





stringtokens.2da
NoYesYesUnknownNeeds testing, can new ones be even added?
surfacemat.2da



640 through 63 are valid lines for this in patch 1.84.8193.29 and up.
swearfilter.2da





tailmodel.2da





tilecolor.2da





traps.2da





vfx_persistent.2da





visualeffects.2da





waypoint.2daToolset only waypoint definition file. Basically waypoints are not "real" so this defines the different types so they show properly in the toolset with a model.




weaponsounds.2da





wingmodel.2da





xptable.2daspells.2da4096Possibly 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.2da640 through 63 are valid lines for this in patch 1.84.8193.29 and up.tbctbc





Unused 2da files

Bioware left in some 2da files from early development (before game release). These files are not loaded by the game, toolset or Get2DAString at all and can be ignored. They do get confusing however.

  • areaeffects.2da - See vfx_persistent.2da instead
  • armourtypes.2da - This is unused and parts_NAME.2da is used instead for referencing the valid parts of armor.
  • caarmorclass.2da - remnants of armour system?
  • categories.2da - not loaded by the game, in fact not even a valid 2da file. The constants for TALENT_CATEGORY_XXX are just hardcoded in the engine.
  • catype.2da - remnants of creature parts system?
  • combatmodes.2da - Unused references to (a limited set) of combat action modes
  • doortype.2da - See doortypes.2da instead
  • effectanim.2da - See visualeffects.2da instead
  • gamespyrooms.2da - Gamespy no longer used / this isn't used
  • iprp_base1.2da - Unused IPRP file (blank)blank)
  • iprp_bladecost.2da - "Dancing_Scimitar" IPRP 2da file by the looks of it, alas an unusable item property
  • iprp_staminacost.2da - Blank, obviously no stamina in the game
  • iprp_bladecostterraintype.2da - "Dancing_Scimitar" IPRP 2da file by the looks of it, alas an unusable Blank, an unused "Restriction: Terrain" item property
  • metamagic.2da - Appears to be unused by the game making all of these hardcoded
  • nwconfig.2da - Unused as of NWN:EE since it removes the "settings" nwconfig program.
  • nwconfig2.2da - Was this ever used?
  • placeabletypes.2da - I think an old toolset 2da, now there are proper pallets for placeable types
  • resistancecost.2da - Blank
  • soundcatfilters.2da - Replaced probably by rrf_wav.2da and would be toolset specific anyway rrf_wav.2da and would be toolset specific anyway
  • soundgain.2da - Seems to be unused by the game and toolset
  • soundprovider.2da - As of EE this is no longer used, since it refers to Miles and EAX both of which were replaced with OpenAL
  • soundtypes.2da - Sounds are not tied to a 2da, but are done by resource name
  • treasurescale.2da - I don't think this is used anywhere of note. It'd be used in the toolset I'd guess but there isn't a treasure generation system there. Possibly was part of early Item Wizard generations (instead it gives a magic item range, None to Godly).
  • vfx_fire_forget.2da - See visualeffects.2da instead
  • videoquality.2da - No longer used in EE, was the old 1.69 video quality settings - in the launcher I think
  • xpbaseconst.2da - Seems to not be in use when file is altered

Designer 2da files

These are strictly used by Get2DAString and not used by the game inherently. However the systems they relate to are things like crafting, which is called by default game scripts and conversations the PCs can activate.

...