文件概述

ItemExtendedCost.dbc 是商人系统的核心扩展文件。在 NPC 商人的出售列表中,每个物品可以关联一个扩展费用 ID (ExtendedCost),使购买该物品不仅需要金币,还需要荣誉点、竞技场点、竞技场等级或其他物品作为交换。根据 CHM 详解,第1列的编号填在数据库 npc_vendor 表里的 ExtendedCost 字段中,作为物品的非金钱出售单位。这是实现 PvP 装备、牌子兑换装备等功能的关键机制。

数据库对应表:world.itemextendedcost_dbc。在 npc_vendor 表的 ExtendedCost 字段中引用此 ID。

列结构

序号字段名类型说明
1IDint编号(CHM:编号,填在数据库 npc_vendor 表里的 ExtendedCost 字段里)。扩展费用唯一ID (主键),作为物品的非金钱出售单位
2HonorPointsint需要荣誉点数(CHM:需要荣誉点数)
3ArenaPointsint需要竞技场点数(CHM:需要竞技场点数)
4ArenaBracketint竞技场槽约束(CHM:竞技场槽约束,最小竞技场点数)。竞技场段位限制
5-9ItemID_1 ~ ItemID_5int需要物品(CHM:需要物品,参考 item_template 表的 entry 字段)。需要消耗的物品ID(1-5种)
10-15ItemCount_1 ~ ItemCount_5int需要物品数量(CHM:需要物品数量,共6个数量字段)。对应每种物品需要的数量
16RequiredArenaRatingint需要个人竞技场胜率(CHM:需要个人竞技场胜率)。所需的竞技场个人等级

重要字段详解

典型费用组合示例
费用类型示例IDHonorPointsArenaPoints物品Rating
纯荣誉装1196000-0
荣誉+牌子285000征服纹章x10
竞技场装(低段)30700-0
竞技场装(肩膀)401350-2200
竞技场装(武器)503400-1800
纯物品兑换600勇气纹章x500
竞技场槽约束 (ArenaBracket)
CHM 说明该列为"最小竞技场点数",限制只有在特定竞技场等级中达标的玩家才能购买:
  • 0 无限制 - 可从任何段位获得
  • 1 2v2 - 需要2v2竞技场达到条件
  • 2 3v3 - 需要3v3竞技场达到条件
  • 3 5v5 - 需要5v5竞技场达到条件
需要物品(ItemID_1~5)和数量(ItemCount_1~5)
CHM 详解指出需要物品参照 item_template 表的 entry 字段,数量字段有6个(对应5种物品的额外一个计数维度)。最多支持5种不同的物品消耗,可组合使用实现复杂的兑换条件。
需要个人竞技场胜率 (RequiredArenaRating)
CHM 将该列描述为"需要个人竞技场胜率",控制竞技场等级门槛。常见阈值:
  • 1250 - 低阶装备 (手套/项链)
  • 1600 - 中阶装备 (头盔/腿部/戒指)
  • 1800 - 高阶装备 (武器)
  • 2000-2200 - 顶级装备 (肩膀) 及赛季称号奖励

使用技巧

查询某个商人的所有扩展费用:
SELECT nv.item, nv.ExtendedCost, iec.HonorPoints, iec.ArenaPoints,
       iec.ItemID_1, iec.ItemCount_1
FROM npc_vendor nv
JOIN itemextendedcost_dbc iec ON nv.ExtendedCost = iec.ID
WHERE nv.entry = 12795;  -- 某商人NPC的entry
创建新的牌子兑换费用:
INSERT INTO itemextendedcost_dbc (ID, HonorPoints, ArenaPoints, 
    ItemID_1, ItemCount_1)
VALUES (9999, 0, 0, 12345, 10);
-- 然后在 npc_vendor 中使用 ExtendedCost=9999