📖 表说明
钓鱼掉落模板表定义了在不同钓鱼区域可以钓到的物品及其概率。这个表控制着钓鱼系统的核心机制,决定了玩家在各个水域钓鱼时能够获得什么物品,包括鱼类、宝箱、垃圾物品等。
数据来源: 本文档基于AzerothCore官方Wiki和官方数据表借鉴.sql编写,确保字段定义的准确性和权威性。
📊 表结构
| 字段名 | 数据类型 | 属性 | 键 | 默认值 | 描述 |
|---|---|---|---|---|---|
| Entry | int UNSIGNED | 不为空 | 主键 | 0 | 区域ID,对应区域表 |
| 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)
注意: fishing_loot_template的GroupId不是主键
🔑 核心字段详解
🆔 Entry - 区域ID
详细说明:钓鱼掉落模板的区域标识ID,对应游戏中的区域ID。
取值范围:对应区域表中的区域ID
- 主键字段,标识钓鱼掉落模板
- 对应游戏中的区域ID(如艾尔文森林、西部荒野等)
- 不同区域可以配置不同的钓鱼掉落
- 用于定义特定区域的钓鱼产物
示例:
- Entry=12 - 艾尔文森林的钓鱼掉落配置
- Entry=40 - 西部荒野的钓鱼掉落配置
📦 Item - 物品ID
详细说明:钓鱼获得的物品ID,对应item_template表中的entry字段。
取值范围:对应item_template.entry
- 主键字段,标识钓鱼获得的物品
- 必须对应item_template表中存在的entry
- 通常是鱼类、宝箱、垃圾物品等
- 用于定义钓鱼产出的具体物品
示例:
- Item=652 - 长嘴泥鳅(常见鱼类)
- Item=6307 - 黑口鱼(中级鱼类)
其他字段说明
注意: 其他字段(Reference、Chance、QuestRequired、LootMode、GroupId、MinCount、MaxCount、Comment)的详细说明与creature_loot_template完全相同,请参考 creature_loot_template 的字段详解。
💡 实际案例
钓鱼 区域ID 12 - 艾尔文森林钓鱼
艾尔文森林区域的钓鱼掉落配置示例
-- 区域ID 12:艾尔文森林钓鱼
DELETE FROM fishing_loot_template WHERE Entry = 12;
INSERT INTO fishing_loot_template VALUES
(12, 652, 0, 60, 0, 1, 0, 1, 1, '长嘴泥鳅'),
(12, 6307, 0, 20, 0, 1, 0, 1, 1, '黑口鱼'),
(12, 6643, 0, 5, 0, 1, 0, 1, 1, '破损的箱子');
效果: 在艾尔文森林钓鱼有60%几率获得长嘴泥鳅,20%几率获得黑口鱼,5%几率获得破损的箱子。
钓鱼 区域ID 40 - 西部荒野钓鱼
西部荒野区域的钓鱼掉落配置示例
-- 区域ID 40:西部荒野钓鱼
DELETE FROM fishing_loot_template WHERE Entry = 40;
INSERT INTO fishing_loot_template VALUES
(40, 652, 0, 50, 0, 1, 0, 1, 1, '长嘴泥鳅'),
(40, 6307, 0, 30, 0, 1, 0, 1, 1, '黑口鱼'),
(40, 6643, 0, 10, 0, 1, 0, 1, 1, '破损的箱子');
效果: 在西部荒野钓鱼有50%几率获得长嘴泥鳅,30%几率获得黑口鱼,10%几率获得破损的箱子。
⚡ 快速参考
钓鱼掉落类型
| 物品类型 | 常见物品ID | 掉落几率范围 | 说明 |
|---|---|---|---|
| 常见鱼类 | 652, 653, 654 | 40-60% | 低级区域最常见的鱼类 |
| 中级鱼类 | 6307, 6308, 6309 | 20-30% | 中级区域的鱼类 |
| 宝箱 | 6643, 6644, 6645 | 5-10% | 钓鱼获得的宝箱 |
| 垃圾物品 | 6647, 6648, 6649 | 5-10% | 钓鱼获得的垃圾物品 |
表关系
- 主表: 区域表 - 定义游戏中的区域
- 关联字段: Entry → 区域表中的区域ID
- 物品表: item_template - 物品模板表
- 关联字段: Item → item_template.entry
- 引用表: reference_loot_template - 引用掉落模板表
- 关联字段: Reference → reference_loot_template.entry
🔗 相关表格
- item_template - 物品模板表
- creature_loot_template - 生物掉落模板表
- reference_loot_template - 引用掉落模板表
❓ 常见问题
Q1: 如何配置特定区域的钓鱼掉落?
在fishing_loot_template表中添加对应区域ID的条目。例如:Entry=12对应艾尔文森林,Entry=40对应西部荒野。每个区域可以配置不同的钓鱼掉落。
Q2: 钓鱼掉落可以设置多个物品吗?
可以。在fishing_loot_template表中添加多个条目,每个条目对应一个可能的钓鱼产物。使用Chance字段控制各产物的掉落几率。
Q3: 如何配置钓鱼任务物品?
设置QuestRequired=1,表示只有拥有对应任务的玩家才能钓到该物品。这样可以配置钓鱼任务的特殊物品。