Polymorphs created with EffectPolymorph are referencing lines in this 2da file. This includes shapechangers (Eg; Wererats, Werewolves) shapeshifters (a Druid's Wild Shape), and spells (Polymorph Self of course, Shapechange, and even Tenser's Transformation).

Note: The game engine for some reason doesn't limit AI actions (ie; things like ActionCastSpellAtObject) when polymorphed. Use this on bosses. The default Bioware AI tends to not polymorph and anything that does (such as Werewolves) tend not to have spells assigned.

polymorph.2da

Column NameExampleValid ValuesDescription / Notes
ID (no actual name)89Line NumberRow numbers for the benefit of human readers. The game engine ignores the value in this field, instead generating sequential row numbers as the file is read. It is good practice to keep the entries in this field sequentially numbered to avoid confusion.
NamePOLYMORPH_TYPE_RAKSHASA_FEMALETextThe name of this polymorph, for the benefit of human readers. Commonly the nwscript constant name. The game ignores this value.
AppearanceType290appearance.2da ID line

An index into appearance.2da, indicating the appearance gained while this polymorph is active.

Make sure you set this if you don't Bad Things(TM) may happen (use a blank line with EffectPolymorph doesn't apply usual restrictions but they still have the effect and associated VFX).

If not set most polymorph changes (polymorph items, abilities, AC, HP, item use restrictions, etc.) will not be applied.

RacialType20racialtypes.2da ID lineAn index into racialtypes.2da, indicating the racial type gained while this polymorph is active.
PortraitId565portraits.2da ID lineAn index into portraits.2da, indicating the portrait used while this polymorph is active.
Portraitpo_Rakshasa_fPortrait resref minus "po_" prefix

The ResRef – minus the "po_" prefix, and minus the suffix consisting of an underscore and a letter indicating portrait size – of the portrait used while this polymorph is active. This column is ignored if PortraitId is supplied. (In fact, no standard polymorphs have a valid value in this column; they instead rely on the PortraitId column.)

The correct value for this example is actually "Rakshasa_f" instead of "po_Rakshasa_f", but since PortraitId is set this example value doesn't matter anyway.

CreatureWeapon1****UTI item resref

The ResRefs of items to be equipped as creature weapons while this polymorph is active.

It does not require any creature feats to have these equipped and used effectively. In fact the game adds a temporary FEAT_WEAPON_PROFICIENCY_CREATURE when a polymorph occurs (presumably this is to stop attacks of opportunity for unarmed attacks if none are defined, the feat won't be needed to equip the actual weapons here).

If EQUIPPED is filled in all 3 of these are ignored.

Check here for how creature weapons are used (essentially it picks one at random each attack): https://nwn.fandom.com/wiki/Creature_weaponhttps://nwn.fandom.com/wiki/Natural_weapon.

This value corresponds to the Creature Weapon Left (INVENTORY_SLOT_CWEAPON_L) of the polymorph form. It is listed as "Attack 1" on the character sheet.

CreatureWeapon2****UTI item resrefThis value corresponds to the Creature Weapon Right (INVENTORY_SLOT_CWEAPON_R) of the polymorph form. It is listed as "Attack 2" on the character sheet.
CreatureWeapon3nw_it_crewps005UTI item resrefThis value corresponds to the Creature Weapon Bite (INVENTORY_SLOT_CWEAPON_B) of the polymorph form. It is listed as "Attack 3" on the character sheet.
HideItemx2_it_shrakspropUTI item resrefThe ResRef of an item to be equipped as the skin item while this polymorph is active. This is the usual method for giving special defenses (like damage reduction) to a polymorph form.
EQUIPPEDx2_it_rakstaffUTI item resref

The ResRef of an item to be equipped in the main hand slot while this polymorph is active. Unlike creature weapons, this item will be displayed in the game, both as a 3D model in the creature's hand and as a 2D image on the character sheet. (While players can examine this item to see its properties, they cannot unequip it.)

The weapon can not be disarmed if AppearanceType is set, even if the weapon is not cursed (cursed weapons can not be disarmed).

It does not require the relevant feats - these requirements are bypassed. In fact even the size of the weapon is bypassed - a dagger armed Giant or a halberd wielding Halfling are possible.

If set then CreatureWeapon1, CreatureWeapon2, and CreatureWeapon3 columns are ignored.

STR17Integer

The base strength acquired while this polymorph is active (set to this value, whether the target has a higher or lower value). If blank (value of ****) the target's un-polymorphed strength will be used, however the racial modifiers of the polymorphed form are applied instead of the un-polymorphed racial modifiers. (eg; Half-Orcs go down by 2 strength).

See below for more details regarding polymorph and racial modifiers (for EE v8193.16 and earlier).

CON****Integer

The base constitution acquired while this polymorph is active (set to this value, whether the target has a higher or lower value). If blank (value of ****) the target's un-polymorphed constitution will be used, however the racial modifiers of the polymorphed form are applied instead of the un-polymorphed racial modifiers. (eg; Dwarves go down by 2 constitution).

See below for more details regarding polymorph and racial modifiers (for EE v8193.16 and earlier).

DEX20Integer

The base dexterity acquired while this polymorph is active (set to this value, whether the target has a higher or lower value).  If blank (value of ****) the target's un-polymorphed dexterity will be used, however the racial modifiers of the polymorphed form are applied instead of the un-polymorphed racial modifiers. (eg; Elves go down by 2 dexterity).

See below for more details regarding polymorph and racial modifiers (for EE v8193.16 and earlier).

NATURALACBONUS12Integer

The bonus to armor class gained while this polymorph is active. Despite the column name, this is a dodge bonus.

Negative values are invalid, and have the same effect as a value of 0 or ****.

HPBONUS30Integer

The temporary hit points gained when this polymorph is applied (and lost when the polymorph ends, if not lost earlier due to damage received).

Negative values are valid, and effectively reduce the target's max HP (although GetMaxHitPoints still returns the actual max HP). This negative temporary HP is not removed by damage, but it is removed when the polymorph ends.

SoundSet****
Unused by the game. It would usually be an index into soundset.2da, indicating the soundset used while this polymorph is active but appears not to be used by the engine. Instead the appearance.2da soundset line is used.
SPELL141spells.2da ID line

Indices into spells.2da, indicating which spells are acquired as special abilities while this polymorph is active. These will appear under "Spells" in the radial menu instead of whatever spellcasting classes the creature might have.

They have unlimited uses unless otherwise limited in the spell scripts themselves. Shifters tend to use local variables to track the uses.

SPELL2368spells.2da ID line
SPELL3523spells.2da ID line
MergeW11, 0Scripted only. If set to 1, then this polymorph's weapon will be given the item properties of whatever weapon was equipped in the main hand slot just before the polymorph takes effect. However, this only applies when there is scripting support, and is primarily only used for shifter abilities.
MergeI11, 0Scripted only. If set to 1, then this polymorph's creature skin will be given the item properties of whatever items were equipped in the ring slots, amulet slot, cloak slot, boots slot, and belt slot just before the polymorph takes effect. However, this only applies when there is scripting support, and is primarily only used for shifter abilities.
MergeA11, 0Scripted only. If set to 1, then this polymorph's creature skin will be given the item properties of whatever items were equipped in the armor and helmet slots, as well as whatever shield was equipped, just before the polymorph takes effect. However, this only applies when there is scripting support, as is found for druid and shifter feats.

Polymorph & Racial Modifiers (EE v8193.16 and earlier)

This issue is fixed in EE v8193.20.1.

If the value of STR/DEX/CON in polymorph.2da is left blank then the creature's base STR/DEX/CON will be used while polymorphed. The caveat is that while polymorphed the racial modifiers (StrAdjust/DexAdjust/ConAdjust in racialtypes.2da) of the polymorphed race (RacialType in polymorph.2da) are used, replacing any racial modifiers of the polymorphed creature's base race. This caveat also applies to WIS/INT/CHA (WisAdjust/IntAdjust/ChaAdjust in racialtypes.2da) for all polymorph forms. However, the replaced racial modifiers will only be used in game calculations if the ability is modified in some way (eg. by an ability increase item property) after the polymorph effect has been applied. CON changes are particularly important since the loss of HP when CON ability scores update can potentially kill (or "kill") polymorphed creatures. Once the polymorph effect is removed, game calculations will accurately use the STR/DEX/CON racial modifiers of the creature's base race automatically, even if the racial modifiers were updated while polymorphed. However, if any WIS/INT/CHA racial modifiers were updated while polymorphed then the game calculations will continue to use the racial modifiers of the polymorphed race rather than the creature's base race. These inaccurate racial modifiers will continue to be used until the WIS/INT/CHA ability scores are modified in some way while in the creature's base form.

For example, consider a naked unbuffed dwarf with 16 CON and 6 CHA (including racial modifiers) polymorphing into a drow (row 59/70 in polymorph.2da). The dwarf has +2 racial CON and -2 racial CHA. The race of the drow polymorph form is elf, which has +2 racial DEX and -2 racial CON. Drow polymorph form has 18 STR, 19 DEX, and blank CON.

After polymorphing the drow will have 18 STR (from polymorph form), 19 DEX (from polymorph form), 12 CON (16 base CON, -2 from losing +2 dwarf CON, -2 from -2 elf CON) and 8 CHA (6 base CHA, +2 from losing -2 dwarf CHA). Both the character sheet and GetAbilityScore will reflect the correct ability scores (12 CON, 8 CHA). However, since the CON and CHA ability scores have not been modified the game uses the original ability scores (16 CON, 6 CHA) for most calculations. The drow will have (2 * HD) more HP than it should have, an extra 2 Fortitude, 1 Bluff/Intimidate/Persuade less than it should have, etc.

If CON and CHA are modified in some way (Endurance / Eagle's Splendor, CON/CHA decrease/increase item properties, etc.) AFTER the polymorph effect has been applied then the game calculations will use the updated CON/CHA ability scores. If the dwarf gets +2 CON from Endurance BEFORE polymorphing then the game calculations will inaccurately use 18 CON (instead of 14 CON). If the dwarf gets +2 CON from Endurance AFTER polymorphing then the game calculations will accurately use 14 CON.

When the polymorph effect is removed and the drow deshifts back into a dwarf it will again have 16 CON and 6 CHA. The 16 CON will be used accurately in all game calculations (HP, Fortitude, Concentration, etc) automatically, even if the CON ability score was modified after polymorphing. If CHA was not modified after polymorphing then game calculations will accurately use 6 CHA (although any game calculations involving CHA would have been inaccurate while polymorphed). If CHA was modified after polymorphing then game calculations will inaccurately use 8 CHA after deshifting until the CHA ability score is modified in some way. Once the CHA ability score has been modified after deshifting then the game calculations will accurately use 6 CHA.

  • No labels