📊 表结构

字段名 数据类型 默认值 说明
entry INT UNSIGNED 0 模板ID (主键1)
ench INT UNSIGNED 0 附魔ID (主键2)
chance FLOAT 0 附魔几率

🔑 核心字段详解

🆔 entry - 模板ID

详细说明:附魔模板ID,对应item_template.RandomProperty。 取值范围:对应item_template.RandomProperty
  • 复合主键的一部分
  • 指定附魔模板的ID
  • 一个模板可以包含多个附魔
  • 物品生成时随机选择附魔

✨ ench - 附魔ID

详细说明:附魔效果ID,对应SpellItemEnchantment.dbc。 取值范围:对应SpellItemEnchantment.dbc
  • 复合主键的一部分
  • 指定附魔效果的ID
  • 对应SpellItemEnchantment.dbc中的附魔
  • 定义物品的附魔属性
  • 如+5力量、+5敏捷等

🎲 chance - 附魔几率

详细说明:附魔出现的几率。 取值范围:0 - 100
  • 0 - 不出现
  • 100 - 必定出现
  • 其他 - 按几率出现
  • 多个附魔时按相对几率选择
  • 用于随机附魔系统

💡 实际案例

官方说明 附魔模板机制 (来源: AZ官方Wiki)

每个entry的所有附魔chance总和必须等于100,否则物品可能无法获得随机附魔

-- 官方说明: chance总和必须等于100 -- entry关联item_template.RandomProperty或RandomSuffix -- ench指向ItemRandomProperties.dbc或ItemRandomSuffix.dbc INSERT INTO item_enchantment_template (entry, ench, chance) VALUES (100, 1, 100); -- 单一附魔,100%几率

多附魔 多个附魔随机选择 (来源: AZ官方Wiki)

entry=101, 配置多个附魔,chance总和=100

-- 多个附魔,按几率随机选择 INSERT INTO item_enchantment_template (entry, ench, chance) VALUES (101, 10, 50), -- 50%几率 (101, 11, 30), -- 30%几率 (101, 12, 20); -- 20%几率,总和=100

查询 查询附魔模板的所有附魔

查询entry=101的所有附魔配置

SELECT entry, ench, chance FROM item_enchantment_template WHERE entry = 101 ORDER BY chance DESC;

验证 验证chance总和是否为100

检查每个entry的chance总和

SELECT entry, SUM(chance) as total_chance FROM item_enchantment_template GROUP BY entry HAVING SUM(chance) != 100; -- 查找总和不为100的entry

⚡ 快速参考

附魔模板

entry模板ID
ench附魔ID
chance附魔几率
随机选择按几率

附魔几率

0不出现
100必定出现
相对几率多个附魔
随机选择物品生成

附魔效果

+属性力量/敏捷
+抗性火焰/冰霜
+技能武器技能
特殊效果触发效果

关联表

item_template物品模板
SpellItemEnchantment_dbc附魔数据
item_random_properties随机属性
RandomProperties字段关联

🔗 相关表格

❓ 常见问题

Q1: 附魔模板的作用?
附魔模板为物品提供随机附魔的配置,物品生成时根据模板随机选择附魔效果,实现随机属性系统。
Q2: chance如何计算?
chance为相对几率,多个附魔时按几率比例随机选择,如50%、30%、20%的附魔,实际几率按比例计算。
Q3: 一个模板可以有多少个附魔?
一个模板可以有多个附魔,每个附魔有不同的几率,物品生成时随机选择一个附魔。
Q4: ench对应什么数据?
ench对应SpellItemEnchantment.dbc中的附魔ID,定义具体的附魔效果,如+5力量、+5敏捷等。