表概述

lfg_dungeon_rewards表定义了随机地下城系统的奖励机制。每条记录按副本ID和等级上限区分,firstQuestId为当天首次完成随机副本的奖励任务,otherQuestId为后续完成的奖励任务。

主键为 (dungeonId, maxLevel),奖励通过任务系统的隐藏任务实现。玩家不会在任务日志中看到,但会收到奖励弹窗。

表结构

字段名数据类型默认值说明
dungeonIdINT UNSIGNED0副本ID(主键,来自LFGDungeons.dbc)
maxLevelTINYINT UNSIGNED0等级上限(主键,≤此等级可获得奖励)
firstQuestIdINT UNSIGNED0当天首次完成随机副本的奖励任务ID
otherQuestIdINT UNSIGNED0同一天后续完成随机副本的奖励任务ID

重要字段详解

dungeonId (副本类型)

来自LFGDungeons.dbc的ID,标识副本类型。常见值:

  • 258 - 随机巫妖王经典5人本
  • 259 - 随机巫妖王英雄5人本
  • 261 - 随机大地的裂变5人本
firstQuestId vs otherQuestId

firstQuestId提供丰厚奖励(金币+勇气点数/英雄纹章),每天仅一次。otherQuestId提供少量奖励,可多次获得。两者都是隐藏任务,通过quest_template配置具体奖励物品。

实战案例

为巫妖王英雄本配置奖励
INSERT INTO lfg_dungeon_rewards (dungeonId, maxLevel, firstQuestId, otherQuestId)
VALUES (259, 80, 65001, 65002);
-- 65001: 当天首次完成获得2个凯旋纹章 + 金币
-- 65002: 后续完成获得金币
查询所有副本类型的奖励配置
SELECT lr.dungeonId, ld.name AS dungeon_name,
       lr.maxLevel, lr.firstQuestId, lr.otherQuestId
FROM lfg_dungeon_rewards lr
LEFT JOIN lfgdungeons_dbc ld ON lr.dungeonId = ld.ID
ORDER BY lr.dungeonId, lr.maxLevel;

常见问题

Q: 随机副本完成后没有奖励?

A: 检查lfg_dungeon_rewards表中该副本类型和玩家等级范围是否匹配。firstQuestId/otherQuestId对应的任务必须在quest_template中正确配置奖励。同时确认instance_encounters中lastEncounterDungeon已标记最终Boss。

Q: maxLevel如何工作?

A: 玩家等级<=maxLevel的记录才会参与匹配。如果同一个dungeonId有多条记录对应不同maxLevel,系统选择maxLevel最小但>=玩家等级的那一条。这允许不同等级范围获得不同奖励。