📖 表说明
游戏对象掉落模板表定义了游戏对象(如宝箱、矿脉、草药等)被打开或采集时可能掉落的物品及其概率。这个表控制着游戏对象的核心掉落机制,决定了玩家打开宝箱或采集资源时能够获得什么物品。
数据来源: 本文档基于AzerothCore官方Wiki和官方数据表借鉴.sql编写,确保字段定义的准确性和权威性。
📊 表结构
| 字段名 | 数据类型 | 属性 | 键 | 默认值 | 描述 |
|---|---|---|---|---|---|
| Entry | int UNSIGNED | 不为空 | 主键 | 0 | 游戏对象掉落ID,对应gameobject_template.data1 |
| 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)
注意: gameobject_loot_template的GroupId不是主键
🔑 核心字段详解
🆔 Entry - 游戏对象掉落ID
详细说明:游戏对象掉落模板的唯一标识ID,对应gameobject_template表中的data1字段。
取值范围:对应gameobject_template.data1
- 主键字段,标识游戏对象掉落模板
- 对应gameobject_template.data1字段
- 只有设置了正确掉落ID的游戏对象才会使用此表的掉落配置
- 用于关联游戏对象和其掉落产物
示例:
- Entry=1 - 宝箱掉落配置
- Entry=10 - 矿脉掉落配置
📦 Item - 物品ID
详细说明:游戏对象掉落的物品ID,对应item_template表中的entry字段。
取值范围:对应item_template.entry
- 主键字段,标识游戏对象掉落的物品
- 必须对应item_template表中存在的entry
- 通常是矿石、草药、宝箱物品等
- 用于定义游戏对象掉落的具体物品
示例:
- Item=2770 - 铜矿石(矿脉掉落)
- Item=765 - 银叶草(草药掉落)
其他字段说明
注意: 其他字段(Reference、Chance、QuestRequired、LootMode、GroupId、MinCount、MaxCount、Comment)的详细说明与creature_loot_template完全相同,请参考 creature_loot_template 的字段详解。
💡 实际案例
游戏对象 Entry 1 - 宝箱掉落
宝箱的游戏对象掉落配置示例
-- Entry 1:宝箱掉落
DELETE FROM gameobject_loot_template WHERE Entry = 1;
INSERT INTO gameobject_loot_template VALUES
(1, 117, 0, 50, 0, 1, 0, 1, 1, '硬面包'),
(1, 159, 0, 30, 0, 1, 0, 1, 1, ' refreshing water'),
(1, 1205, 0, 20, 0, 1, 0, 1, 1, '铜矿石');
效果: 打开宝箱有50%几率获得硬面包,30%几率获得 refreshing water,20%几率获得铜矿石。
游戏对象 Entry 10 - 铜矿脉掉落
铜矿脉的游戏对象掉落配置示例
-- Entry 10:铜矿脉掉落
DELETE FROM gameobject_loot_template WHERE Entry = 10;
INSERT INTO gameobject_loot_template VALUES
(10, 2770, 0, 100, 0, 1, 0, 1, 3, '铜矿石'),
(10, 2835, 0, 5, 0, 1, 0, 1, 1, '劣质的石头');
效果: 采集铜矿脉必定获得1-3个铜矿石,5%几率获得1个劣质的石头。
⚡ 快速参考
游戏对象掉落类型
| 游戏对象类型 | 常见Entry | 掉落物品类型 | 说明 |
|---|---|---|---|
| 宝箱 | 1-100 | 食物、水、矿石等 | 各种宝箱的掉落配置 |
| 矿脉 | 101-200 | 矿石、石头等 | 各种矿脉的掉落配置 |
| 草药 | 201-300 | 草药等 | 各种草药的掉落配置 |
| 任务对象 | 301+ | 任务物品等 | 任务相关的游戏对象掉落 |
表关系
- 主表: gameobject_template - 游戏对象模板表
- 关联字段: Entry → gameobject_template.data1
- 物品表: item_template - 物品模板表
- 关联字段: Item → item_template.entry
- 引用表: reference_loot_template - 引用掉落模板表
- 关联字段: Reference → reference_loot_template.entry
🔗 相关表格
- gameobject_template - 游戏对象模板表
- item_template - 物品模板表
- creature_loot_template - 生物掉落模板表
- reference_loot_template - 引用掉落模板表
❓ 常见问题
Q1: 如何配置宝箱的掉落物品?
在gameobject_template表中设置data1字段,然后在gameobject_loot_template表中添加对应的掉落配置。例如:data1=1的宝箱会使用Entry=1的掉落配置。
Q2: 如何配置矿脉的掉落物品?
在gameobject_template表中设置data1字段,然后在gameobject_loot_template表中添加对应的掉落配置。矿脉通常掉落矿石和石头,可以设置Chance=100确保必定掉落矿石。
Q3: 游戏对象掉落可以设置多个物品吗?
可以。在gameobject_loot_template表中添加多个条目,每个条目对应一个可能的掉落物品。使用Chance字段控制各物品的掉落几率。