ItemImplicit Configuration
An implicit is a bonus an item grants simply by being worn. It is not rolled, not stored on the item, and cannot be lost — it is derived from which item it is, who is wearing it, and where it is equipped.
This replaces the old hardcoded MagicDamageRate column in Item.xml, which could only express four fixed effects on four fixed item ranges.
File Location#
GameServer/Data/Plugins/Items/ItemImplicit.xml
Dependencies#
| Depends On | Purpose |
|---|---|
| Item.xml | Item indexes, equipment slots, and the DropLevel used by the Legacy scale profiles |
| OptionIndex Reference | Valid OptionIndex values (the shared the shared item option pool used by implicits, ancient set bonuses and item effects pool) |
| ItemOptionNames.xml | Optional display-name overrides for implicit effects |
Configuration Structure#
<ItemImplicitList Enabled="1">
<!-- Wizardry damage — section 5 -->
<Implicit OptionIndex="162" Value="94" Scale="Legacy" ChaosBonus="25"
ScaleByDurability="1" Class="DW" Slot="0"
Section="5" ItemMinIndex="7" ItemMaxIndex="7" />
<!-- A new implicit: +30 defence on an armour range, +2 per item level -->
<Implicit OptionIndex="83" Value="30" PerLevel="2" Scale="Linear"
Class="DK" Slot="3"
Section="8" ItemMinIndex="0" ItemMaxIndex="50" />
</ItemImplicitList>
Attributes#
| Attribute | Required | Description |
|---|---|---|
OptionIndex | yes | Effect id from the shared option pool. See OptionIndex Reference. Ids 162-165 are implicit-only (see below). |
Value | yes | Base magnitude, before any scaling. |
Scale | yes | Flat, Linear, Legacy or LegacyBook. See Scale Profiles. |
PerLevel | no | Linear only — amount added per item level. |
ChaosBonus | no | Legacy only — flat bonus replacing the excellent term. Used by the Chaos Lightning Staff. |
ScaleByDurability | no | 1 multiplies the applied value by the item's durability state, so a worn item grants less. Default 0. |
Class | no | A single class: DW, DK, ELF, MG, DL, SUM, RF. Omit or use ANY for every class. |
Slot | no | Equipment slot the item must occupy. 0 = right hand, 1 = left hand, 2 = helm, and so on. -1 (default) = any slot. |
Section | no | When present, ItemMinIndex/ItemMaxIndex are read as offsets inside that section rather than absolute indexes. |
ItemMinIndex | yes | First item in the range. |
ItemMaxIndex | yes | Last item in the range. Legacy profiles require this to equal ItemMinIndex. |
ItemLvlMin | no | Only apply at or above this item level (0-15). |
ItemLvlMax | no | Only apply at or below this item level. |
Excellent | no | 0 = only non-excellent items, 1 = only excellent items, -1 (default) = either. |
Ancient | no | 0 = only non-ancient, 1/2 = only that ancient tier, 3 = any ancient tier, -1 (default) = either. |
Set Enabled="0" on the root node to switch the whole system off.
The Three Rules#
One class per row. Class takes a single value. An item usable by two classes therefore needs two rows — which is exactly what lets you give the same staff a different implicit strength for each class.
First three matching rows win. An item can carry at most three implicits. When more than three rows match, the first three in file order apply. Row order is a balance lever, so keep related rows together and be deliberate when inserting new ones.
Both hands sum. If a character holds two items that each grant the same implicit, the values add together.
Scale Profiles#
Scale decides how Value grows with item level.
| Profile | Formula |
|---|---|
Flat | Value — never changes |
Linear | Value + PerLevel × itemLevel |
Legacy | The original MU curve, then ÷2 + itemLevel×2 |
LegacyBook | The original MU curve, then ÷6 |
Legacy and LegacyBook exist to reproduce the pre-plugin behaviour exactly and are used by every row the migration generated. Their curve applies an excellent or ancient bonus derived from the item's DropLevel, adds itemLevel × 3, and adds a further triangular bonus from +10 upward.
Implicit-only Effects#
Four effect ids exist only for implicits, because they are multiplicative rises applied during damage calculation rather than flat additions to a stat:
| OptionIndex | Effect |
|---|---|
| 162 | Wizardry damage % — raises magic damage |
| 163 | Curse damage % — raises curse damage |
| 164 | Scepter pet damage % — raises Dark Spirit (raven) damage |
| 165 | Book success rate — flat % added to Sleep, Innovation and Weakness |
Every other id in the OptionIndex Reference also works as an implicit, so an implicit can grant defence, HP, resistances, critical rate, or anything else the option pool already supports.
Display#
The client never calculates implicit values. The server resolves every possible value at load — each item level against each excellent/ancient combination — and sends the finished table to the client, which only looks it up and prints it.
Two consequences worth knowing:
- Tooltips show only the implicits that apply to your class, at full durability.
- The character and pet windows show the totals actually in effect, including durability loss and both hands.
Effects with no built-in wording are named from ItemOptionNames.xml, the same table that names every other item option.
Reloading#
The file is re-read by the standard plugin reload. Values shown to already-connected players refresh on their next login, since the resolved tables are sent at login.