Equipment Upgrade system (classic/legacy)

1. General Information
The upgrade system allows players to improve their equipment by exchanging an item with a certain enhancement level, materials, and adena for a new item. Upgrades can be configured in two places:
  • On the server: Via the data/equipment_upgrade.xml file.
  • In the client: Via the GameClient/system_ru/UpgradeSystem_Classic.dat file, which determines how upgrades are displayed in the game.
Each upgrade includes:
  • Unique ID (upgrade_id).
  • Required item with a sharpening level (upgrade_item).
  • List of materials and their quantities (material_items).
  • Cost in Aden (commission).
  • Percentage chance of success.
  • The resulting item with a sharpening level (result_item).
  • Countries where the upgrade is available (applycountry). You can specify anything; it doesn't matter, only the value specified in the client is important.
2.Server configuration (equipment_upgrade.xml)
The file data/equipment_upgrade.xml.

XML format
Each upgrade is described by the <upgradesystem_begin> tag inside the root tag. Example:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE upgrades SYSTEM "equipment_upgrade.dtd">
<upgrades>
    <upgradesystem_begin
        upgrade_id="1"
        upgrade_item="91244;5"
        material_items="1459;200"
        chance="100"
        commission="2000000"
        result_item="91245;0"
        applycountry="all" />
</upgrades>

Field descriptions
  • upgrade_id: Unique upgrade number (e.g., 1, 10041). Do not repeat the ID!
  • upgrade_item: The item to be upgraded. Format: item_id;enchant_level. For example, 91244;5 - item with ID 91244 and +5 enchantment.
  • material_items: List of materials. Format: item_id;count. For example, 1459;200 - 200 units of item with ID 1459. If there are no materials, specify an empty string: material_items="".
  • chance: Upgrade success chance in percent (0–100). For example, 100 — always success, 20 - 20% chance. If not specified, defaults to 100.
  • commission: Upgrade cost in adena. For example, 2000000 - 2 million adena.
  • result_item: Resulting item. Format: item_id;enchant_level. For example, 91245;0 - item with ID 91245 without enchantment.
  • applycountry: Countries where the upgrade is available. Specify all for all countries or country codes separated by semicolons, for example, kr;j (for Korea and Japan). If not specified, defaults to all.
3. Client-side settings (UpgradeSystem_Classic.dat)

The file GameClient/system_ru/UpgradeSystem_Classic.dat is responsible for displaying upgrades in the game client. Its format differs from the server-side XML, but the data must match.

File format
Each upgrade is described in a block between upgradesystem_begin and upgradesystem_end. Example:

Code:
upgradesystem_begin    upgrade_id=10041    upgrade_item={70295;9}    material_items={{71752;70}}    commission=10000    result_item={71746;0}    applycountry={all}    upgradesystem_end

Field description
  • upgrade_id: The same ID as in equipment_upgrade.xml. Must match!
  • upgrade_item: Item to upgrade. Format: {item_id;enchant_level}. For example, {70295;9} — item ID 70295 with +9 enchantment.
  • material_items: Materials. Format: {{item_id;count}}. For example, {{71752;70}} — 70 units of item ID 71752. For multiple materials: {{71752;70}{71753;10}}. If there are no materials, specify {}.
  • commission: Cost in adena. For example, 10000. Must match the server.
  • result_item: Resulting item. Format: {item_id;enchant_level}. For example, {71746;0}.
  • applycountry: Countries. Format: {all} or {kr;j}. Must match the server.
  • chance: Not specified in the client file, as the chance is processed on the server.
How it looks in the game:
 
Back
Top