Sorted alphabetically (sort by order in the file)
Effect headers ('fx') occur either as top-level headers (on-equip effects) or as child headers of ability headers ('ab_fx'). Note that the spec for the itm_v1_fx header is hardcoded by SFO to clone the spl_v1_fx header spec.
For readability, 'unusable' flags are listed separately.
Special keys
| Key | Type |
|---|---|
| both_names | Sets these: unidentified_name,identified_name |
| both_names-strref | Sets these: unidentified_name-strref,identified_name-strref |
Standard keys
| Key | Type |
|---|---|
| adamantine | Boolean |
| category | Integer |
| cold_iron | Boolean |
| conversable | Boolean |
| critical_item | Boolean |
| cursed | Boolean |
| desc_image | String (8 bytes) |
| displayable | Boolean |
| droppable | Boolean |
| enchantment | Integer |
| equipped_appearance | String (2 bytes) |
| fake_two_handed | Boolean |
| forbid_offhand | Boolean |
| ground_icon | String (8 bytes) |
| icon | String (8 bytes) |
| identified_description | Strref |
| identified_name | Strref |
| left_handed | Boolean |
| lore_to_identify | Integer |
| magical | Boolean |
| max_in_stack | Integer |
| min_cha | Integer |
| min_con | Integer |
| min_dex | Integer |
| min_int | Integer |
| min_level | Integer |
| min_str | Integer |
| min_str_ex | Integer |
| min_wis | Integer |
| not_copyable | Boolean |
| off_handed | Boolean |
| price | Integer |
| proficiency | id lookup (stats) |
| silver | Boolean |
| toggle_critical_hits | Boolean |
| two_handed | Boolean |
| undispellable | Boolean |
| unidentified_description | Strref |
| unidentified_name | Strref |
| used_up_item | String (8 bytes) |
| weight | Integer |
Usability flags
| Key | Type |
|---|---|
| unusable_abjuration | Boolean |
| unusable_abjurer | Boolean |
| unusable_alteration | Boolean |
| unusable_archer | Boolean |
| unusable_assassin | Boolean |
| unusable_avenger | Boolean |
| unusable_barbarian | Boolean |
| unusable_bard | Boolean |
| unusable_beastmaster | Boolean |
| unusable_berserker | Boolean |
| unusable_blade | Boolean |
| unusable_bounty_hunter | Boolean |
| unusable_cavalier | Boolean |
| unusable_chaotic | Boolean |
| unusable_cleric | Boolean |
| unusable_cleric_mage | Boolean |
| unusable_cleric_of_helm | Boolean |
| unusable_cleric_of_lathander | Boolean |
| unusable_cleric_of_talos | Boolean |
| unusable_cleric_ranger | Boolean |
| unusable_cleric_thief | Boolean |
| unusable_conjuration | Boolean |
| unusable_conjurer | Boolean |
| unusable_divination | Boolean |
| unusable_diviner | Boolean |
| unusable_druid | Boolean |
| unusable_dwarf | Boolean |
| unusable_elf | Boolean |
| unusable_enchanter | Boolean |
| unusable_enchantment | Boolean |
| unusable_evil | Boolean |
| unusable_fighter | Boolean |
| unusable_fighter_cleric | Boolean |
| unusable_fighter_druid | Boolean |
| unusable_fighter_mage | Boolean |
| unusable_fighter_mage_cleric | Boolean |
| unusable_fighter_mage_thief | Boolean |
| unusable_fighter_thief | Boolean |
| unusable_generalist | Boolean |
| unusable_geneutral | Boolean |
| unusable_gnome | Boolean |
| unusable_good | Boolean |
| unusable_half_elf | Boolean |
| unusable_half_orc | Boolean |
| unusable_halfling | Boolean |
| unusable_human | Boolean |
| unusable_illusion | Boolean |
| unusable_illusionist | Boolean |
| unusable_inquisitor | Boolean |
| unusable_invocation | Boolean |
| unusable_invoker | Boolean |
| unusable_jester | Boolean |
| unusable_kensai | Boolean |
| unusable_lawful | Boolean |
| unusable_lcneutral | Boolean |
| unusable_mage | Boolean |
| unusable_mage_thief | Boolean |
| unusable_monk | Boolean |
| unusable_necromancer | Boolean |
| unusable_necromancy | Boolean |
| unusable_paladin | Boolean |
| unusable_ranger | Boolean |
| unusable_shapeshifter | Boolean |
| unusable_skald | Boolean |
| unusable_stalker | Boolean |
| unusable_swashbuckler | Boolean |
| unusable_thief | Boolean |
| unusable_totemic_druid | Boolean |
| unusable_transmutation | Boolean |
| unusable_transmuter | Boolean |
| unusable_undead_hunter | Boolean |
| unusable_wild_mage | Boolean |
| unusable_wizard_slayer | Boolean |
Standard keys
| Key | Type |
|---|---|
| add_strength_bonus | Boolean |
| alternate_damagebonus | Integer |
| alternate_dicenumber | Integer |
| alternate_dicesize | Integer |
| attack_bonus | Integer |
| attack_strength_bonus | Boolean |
| backhand | Integer |
| break_sanctuary | Boolean |
| breakable | Boolean |
| bypass_armor | Boolean |
| cannot_target_invisible | Boolean |
| damage_bonus | Integer |
| damage_strength_bonus | Boolean |
| damage_type | Lookup (0=None, 1=Piercing, 2=Crushing, 3=Slashing, 4=Missile, 5=Fist, 6=PiercingCrushing, 7=PiercingSlashing, 8=CrushingSlashing, 9=BluntMissile) |
| dicenumber | Integer |
| dicesize | Integer |
| exclusive_effects | Boolean |
| hostile | Boolean |
| icon | String (8 bytes) |
| is_arrow | Integer |
| is_bolt | Integer |
| is_bullet | Integer |
| keen_edge | Boolean |
| launcher | Lookup (0=None, 1=Bow, 2=Crossbow, 3=Sling, 40=Spear, 100=ThrowingAxe) |
| location | Lookup (0=None, 1=Weapon, 2=Spell, 3=Item, 4=Innate) |
| number_charges | Integer |
| overhand | Integer |
| primary_type | Integer |
| projectile[1] | id lookup (projectl) with off-by-one correction |
| range | Integer |
| recharge_after_resting | Boolean |
| secondary_type | Integer |
| speed | Integer |
| target | Lookup (0=Invalid, 1=LivingActor, 2=Inventory, 3=DeadActor, 4=PointWithinRange, 5=Caster, 6=Crash, 7=CasterSpecial) |
| target_count | Integer |
| thrust | Integer |
| toggle_backstab | Boolean |
| type | Lookup (0=None, 1=Melee, 2=Ranged, 3=Magical, 4=Launcher) |
| usable_after_id | Boolean |
| usable_before_id | Boolean |
| when_drained | Lookup (0=Remains, 1=Vanishes, 2=UsedUp, 3=Recharges) |
Effects can occur as top-level headers (casting effects) or as child headers of ability headers. Use the 'ab_fx' special type to edit child headers.
Standard keys
| Key | Type |
|---|---|
| blue | Integer |
| bypass_mirror_image | Boolean |
| damage_type | Lookup (0=Crushing, 1=Acid, 2=Cold, 4=Electricity, 8=Fire, 16=Piercing, 32=Poison, 64=Magic, 128=Missile, 256=Slashing, 512=MagicFire, 1024=MagicCold, 2048=Stunning) |
| damagetype | Lookup (0=Crushing, 1=Acid, 2=Cold, 4=Electricity, 8=Fire, 16=Piercing, 32=Poison, 64=Magic, 128=Missile, 256=Slashing, 512=MagicFire, 1024=MagicCold, 2048=Stunning) |
| dicenumber | Integer |
| dicesize | Integer |
| dispel_resist | Lookup (0=Nonmagical, 1=DispelResist, 2=NoDispelIgnoreResist, 3=DispelIgnoreResist) |
| drain_hp_to_caster | Boolean |
| duration | Integer |
| green | Integer |
| ignore_difficulty | Boolean |
| ignore_primary_target | Boolean |
| ignore_secondary_target | Boolean |
| opcode | Integer |
| parameter1 | Integer |
| parameter2 | Integer |
| parameter2a | Integer |
| parameter2b | Integer |
| power | Integer |
| probability1[100] | Integer |
| probability2 | Integer |
| red | Integer |
| resource | String (8 bytes) |
| save_for_half | Boolean |
| save_vs_breath | Boolean |
| save_vs_poison | Boolean |
| save_vs_polymorph | Boolean |
| save_vs_spell | Boolean |
| save_vs_wand | Boolean |
| savebonus | Integer |
| special | Integer |
| target | Lookup (0=None, 1=Self, 2=PresetTarget, 3=Party, 4=Everyone, 5=EveryoneExceptParty, 6=CasterGroup, 7=TargetGroup, 8=EveryoneExceptSelf, 9=OriginalCaster) |
| timing | Lookup (0=InstantLimited, 1=InstantPermanent, 2=Equipped, 3=DelayLimited, 4=DelayPermanent, 5=DelayEquipped, 6=LimitedAfterDuration, 7=PermanentAfterDuration, 9=InstantPermanentAfterDeath) |