ItemOptionNames Override

This file overrides the display names for item option lines on tooltips. The server ships a built-in table of option display strings and sends them to every client at login, so no client edit is needed to rename an option. This file is server-only and optional. Entries you list override individual built-in strings; everything you leave out keeps its default. If the file is missing, all defaults are used.

File Location#

Data/Item/ItemOptionNames.xml

Dependencies#

RelatedPurpose
ItemOption.xmlDefines the option bonuses whose names this file relabels (Type 0)
SetItemOption.xmlAncient set bonuses - named from Type 0, same pool as item options
380ItemOption.xml380 option strings (Type 2), also editable there
SocketItemOption.xmlSocket seed / bonus / package strings (Types 3-5)

Structure#

<ItemOptionNames>
    <Option Type="0" Index="88" Text="Reflect Damage +%d%% [PVP]" />
</ItemOptionNames>

Each <Option> targets one entry in one option table and replaces its display string.

Attributes#

AttributeTypeDefaultEffect
Typeint0Which option table to override. See table below
Indexint0Option id inside that table
Categoryint0Only used for Socket Seed (Type 3) = element type 1-6. Leave 0 or omit otherwise
Textstring-The display format string, up to 63 characters. Required; an <Option> without a Text attribute is skipped

Type Values#

TypeTableIndex range
0Item Option80-161 - covers per-item options and ancient set bonuses
2380 Option1-8
3Socket SeedCategory = element type 1-6
4Socket Bonussocket bonus id
5Socket Packagesocket package id

Text Format Rules#

The Text string is a display format that the client fills in with the option's numeric value.

  • Keep the same single %d placeholder the default uses, for example Damage +%d or Reflect Damage +%d%%.
  • Use %% for a literal percent sign.
  • More than one %d is rejected and the built-in default is kept for that entry.
  • Maximum length is 63 characters; longer text is truncated.

Hiding a Line#

Set Text="" (empty) to hide that option line on the tooltip. The client skips the line with no blank gap.

Important Behavior#

  • The file only overrides. An entry that matches a built-in option replaces its name; an entry that does not match a built-in slot is added as a new record.
  • Overrides are applied at load and sent to clients at login. A player already logged in keeps the strings they received; changes take effect on their next login.
  • An <Option> with no Text attribute is skipped. An empty <ItemOptionNames> root (the shipped default) applies no overrides.
  • Attribute names are case-sensitive: write Type, Index, Category, Text. A lowercase type is not recognised, so the entry silently falls back to Type 0 (Item Option) instead of the table you intended.

Examples#

<?xml version="1.0" encoding="utf-8"?>
<ItemOptionNames>
    <!-- Tag reflect damage as PvP-relevant -->
    <Option Type="0" Index="88" Text="Reflect Damage +%d%% [PVP]" />

    <!-- Renaming index 136 changes it everywhere it appears - on items AND in set bonuses -->
    <Option Type="0" Index="136" Text="Strength +%d" />

    <!-- Hide an item-option line entirely (Type 0 only) -->
    <Option Type="0" Index="108" Text="" />
</ItemOptionNames>

Common Issues#

Last updated August 20, 2026