📖 表说明
物品掉落模板表定义了物品(如容器、礼包等)被打开时可能掉落的物品及其概率。这个表控制着物品的核心掉落机制,决定了玩家打开容器类物品时能够获得什么物品。
数据来源: 本文档基于AzerothCore官方Wiki和官方数据表借鉴.sql编写,确保字段定义的准确性和权威性。
📊 表结构
| 字段名 | 数据类型 | 属性 | 键 | 默认值 | 描述 |
|---|---|---|---|---|---|
| Entry | int UNSIGNED | 不为空 | 主键 | 0 | 容器物品ID,对应item_template.entry |
| Item | int UNSIGNED | 不为空 | 主键 | 0 | 物品ID,对应item_template.entry |
| Reference | int | 不为空 | 0 | 引用ID,如果不为0则引用reference_loot_template | |
| Chance | float | 不为空 | 100 | 掉落几率(百分比) | |
| QuestRequired | tinyint | 不为空 | 0 | 是否需要任务(0=否,1=是) | |
| LootMode | smallint UNSIGNED | 不为空 | 1 | 掉落模式(位掩码) | |
| GroupId | tinyint UNSIGNED | 不为空 | 0 | 组ID,同一组中只会掉落一个物品 | |
| MinCount | tinyint UNSIGNED | 不为空 | 1 | 最小掉落数量 | |
| MaxCount | tinyint UNSIGNED | 不为空 | 1 | 最大掉落数量 | |
| Comment | varchar(255) | 可为空 | NULL | 注释说明 |
主键: (Entry, Item)
注意: item_loot_template的GroupId不是主键
🔑 核心字段详解
🆔 Entry - 容器物品ID
详细说明:物品掉落模板的唯一标识ID,对应item_template表中的entry字段。
取值范围:对应item_template.entry
- 主键字段,标识物品掉落模板
- 对应item_template.entry字段
- 只有容器类物品才会使用此表的掉落配置
- 用于关联容器物品和其包含的物品
示例:
- Entry=5342 - 小型礼包的掉落配置
- Entry=5343 - 大型礼包的掉落配置
📦 Item - 物品ID
详细说明:容器物品包含的物品ID,对应item_template表中的entry字段。
取值范围:对应item_template.entry
- 主键字段,标识容器物品包含的物品
- 必须对应item_template表中存在的entry
- 通常是各种物品、装备、材料等
- 用于定义容器物品包含的具体物品
示例:
- Item=117 - 硬面包(容器包含的食物)
- Item=159 - refreshing water(容器包含的水)
其他字段说明
注意: 其他字段(Reference、Chance、QuestRequired、LootMode、GroupId、MinCount、MaxCount、Comment)的详细说明与creature_loot_template完全相同,请参考 creature_loot_template 的字段详解。
💡 实际案例
物品 Entry 5342 - 小型礼包掉落
小型礼包的物品掉落配置示例
-- Entry 5342:小型礼包掉落
DELETE FROM item_loot_template WHERE Entry = 5342;
INSERT INTO item_loot_template VALUES
(5342, 117, 0, 50, 0, 1, 0, 1, 2, '硬面包'),
(5342, 159, 0, 30, 0, 1, 0, 1, 1, ' refreshing water'),
(5342, 1205, 0, 20, 0, 1, 0, 1, 1, '铜矿石');
效果: 打开小型礼包有50%几率获得1-2个硬面包,30%几率获得1个 refreshing water,20%几率获得1个铜矿石。
物品 Entry 5343 - 大型礼包掉落
大型礼包的物品掉落配置示例
-- Entry 5343:大型礼包掉落
DELETE FROM item_loot_template WHERE Entry = 5343;
INSERT INTO item_loot_template VALUES
(5343, 117, 0, 100, 0, 1, 0, 1, 5, '硬面包'),
(5343, 159, 0, 100, 0, 1, 0, 1, 3, ' refreshing water'),
(5343, 1205, 0, 50, 0, 1, 0, 1, 2, '铜矿石');
效果: 打开大型礼包必定获得1-5个硬面包和1-3个 refreshing water,50%几率获得1-2个铜矿石。
⚡ 快速参考
物品掉落类型
| 容器类型 | 常见Entry | 包含物品类型 | 说明 |
|---|---|---|---|
| 礼包 | 5342-5350 | 食物、水、材料等 | 各种礼包的掉落配置 |
| 任务容器 | 5351-5360 | 任务物品等 | 任务相关的容器物品 |
| 活动容器 | 5361+ | 活动物品等 | 活动相关的容器物品 |
表关系
- 主表: item_template - 物品模板表
- 关联字段: Entry → item_template.entry
- 物品表: item_template - 物品模板表
- 关联字段: Item → item_template.entry
- 引用表: reference_loot_template - 引用掉落模板表
- 关联字段: Reference → reference_loot_template.entry
🔗 相关表格
- item_template - 物品模板表
- creature_loot_template - 生物掉落模板表
- reference_loot_template - 引用掉落模板表
❓ 常见问题
Q1: 如何配置礼包的包含物品?
在item_template表中创建容器类物品,然后在item_loot_template表中添加对应的掉落配置。例如:Entry=5342的礼包会使用Entry=5342的掉落配置。
Q2: 容器物品可以包含多个物品吗?
可以。在item_loot_template表中添加多个条目,每个条目对应一个可能的包含物品。使用Chance字段控制各物品的出现几率。
Q3: 如何配置必定获得的物品?
设置Chance=100,表示该物品必定出现。可以配合MinCount和MaxCount字段控制物品的数量范围。