📖 表说明
邮件掉落模板表定义了系统自动发送邮件时可以附带的物品及其概率。这个表主要用于配置系统奖励邮件、活动邮件、补偿邮件等自动邮件系统的附件内容。
数据来源: 本文档基于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)
注意: mail_loot_template的GroupId不是主键
🔑 核心字段详解
🆔 Entry - 邮件模板ID
详细说明:邮件掉落模板的唯一标识ID,对应邮件模板系统中的邮件模板ID。
取值范围:邮件模板ID
- 主键字段,标识邮件掉落模板
- 对应邮件模板系统中的邮件模板ID
- 用于关联邮件模板和其附件物品
- 系统发送邮件时会使用此表的掉落配置
示例:
- Entry=1 - 基础奖励邮件的附件配置
- Entry=10 - 活动奖励邮件的附件配置
📦 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 1 - 基础奖励邮件附件
基础奖励邮件的附件配置示例
-- Entry 1:基础奖励邮件附件
DELETE FROM mail_loot_template WHERE Entry = 1;
INSERT INTO mail_loot_template VALUES
(1, 117, 0, 100, 0, 1, 0, 1, 5, '硬面包'),
(1, 159, 0, 100, 0, 1, 0, 1, 3, ' refreshing water');
效果: 基础奖励邮件必定包含1-5个硬面包和1-3个 refreshing water。
邮件 Entry 10 - 活动奖励邮件附件
活动奖励邮件的附件配置示例
-- Entry 10:活动奖励邮件附件
DELETE FROM mail_loot_template WHERE Entry = 10;
INSERT INTO mail_loot_template VALUES
(10, 117, 0, 100, 0, 1, 0, 1, 10, '硬面包'),
(10, 159, 0, 100, 0, 1, 0, 1, 5, ' refreshing water'),
(10, 1205, 0, 50, 0, 1, 0, 1, 2, '铜矿石');
效果: 活动奖励邮件必定包含1-10个硬面包和1-5个 refreshing water,50%几率包含1-2个铜矿石。
⚡ 快速参考
邮件附件类型
| 邮件类型 | 常见Entry | 附件物品类型 | 说明 |
|---|---|---|---|
| 基础奖励邮件 | 1-10 | 食物、水等 | 基础奖励邮件的附件配置 |
| 活动奖励邮件 | 11-20 | 活动物品等 | 活动奖励邮件的附件配置 |
| 补偿邮件 | 21-30 | 补偿物品等 | 补偿邮件的附件配置 |
| 系统邮件 | 31+ | 系统物品等 | 系统邮件的附件配置 |
表关系
- 主表: 邮件模板系统 - 定义邮件模板
- 关联字段: 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: 如何配置邮件的附件物品?
在邮件模板系统中创建邮件模板,然后在mail_loot_template表中添加对应的附件配置。例如:邮件模板ID=1的邮件会使用Entry=1的附件配置。
Q2: 邮件附件可以包含多个物品吗?
可以。在mail_loot_template表中添加多个条目,每个条目对应一个可能的附件物品。使用Chance字段控制各物品的出现几率。
Q3: 如何配置必定包含的附件物品?
设置Chance=100,表示该物品必定包含在邮件中。可以配合MinCount和MaxCount字段控制物品的数量范围。