Skip to content

Rewards

奖励、宝箱与商店

这页把两类奖励拆开看:地图上生成的奖励建筑,以及战斗胜利后从怪物身上结算的经验、金币和宝箱。

每层奖励列表

这里说的是地牢地图上生成的奖励点。它们和“怪物击杀奖励”是两条不同流程:地图奖励先生成、再摆放;击杀奖励在战斗胜利后结算。

商店1. 固定商店每层先放入 3 个 Shop,作为基础经济入口。
治疗2. 治疗分支再决定是 HealingPool 加少量 HealthPack,还是直接生成更多 HealthPack。
服务建筑3. 服务建筑Monastery、Blacksmith、SmoothieShack 三选一。
普通奖励4. 普通奖励最后追加 RandomRange(2, 4) 个 GenerateRewardName 结果。
楼层组奖励名概率
第 1 层宝箱 / Treasure Chest40%
第 1 层治疗包 / Health Pack15%
第 1 层商店 / Shop15%
第 1 层地精囤积者 / Goblin Hoarder10%
第 1 层铁匠 / Blacksmith5%
第 1 层治疗池 / Healing Pool5%
第 1 层修道院 / Monastery5%
第 1 层果昔小屋 / Smoothie Shack5%
第 2 层以后宝箱 / Treasure Chest40%
第 2 层以后治疗包 / Health Pack15%
第 2 层以后商店 / Shop15%
第 2 层以后铁匠 / Blacksmith5%
第 2 层以后地精囤积者 / Goblin Hoarder5%
第 2 层以后治疗池 / Healing Pool5%
第 2 层以后拟态宝箱 / Mimic Chest5%
第 2 层以后修道院 / Monastery5%
第 2 层以后果昔小屋 / Smoothie Shack5%

怪物击杀奖励

这是战斗胜利后从怪物身上结算的奖励,不是地图上的 TreasureChest / Shop / Blacksmith 等地牢奖励建筑。当前恢复代码里,难度不会直接改怪物击杀金币或经验。

一句话规则杀怪一定结算经验;然后结算金币,或在满足条件时用怪物身上的宝箱替代金币。宝箱不是额外加一次金币奖励。
怪物等级1. 等级写入奖励字段Monster.LevelTo 把等级夹到 1-10,并写入基础经验和金币均值。
经验2. 先记录经验Monster.Defeated 调 ProcessKill;普通战斗会延迟到战斗结束后触发升级检查。
宝箱3. 判断是否出宝箱有 storedChest、goldMult 为 1.0,且 RandomFloat 小于 0.1 时,显示 a treasure chest!。
金币4. 否则掉金币普通金币按 RandomNormal(mean, mean * 0.1) 抽样并取整,低于 1 时按 1 结算。
经验经验Experience

普通怪物的基础经验等于怪物等级。等级会先夹到 1-10,再乘以怪物自己的 expMult。

金币金币Gold

先按等级得到金币均值,再经过 ModifyGoldDrops。实际掉落按均值上下小幅波动,最低为 1 金币。

宝箱替代金币宝箱替代金币Chest Roll

怪物身上已有 storedChest 且 goldMult 为 1.0 时,击杀有 10% 用宝箱替代普通金币。

怪物宝箱内容怪物宝箱内容Loot

怪物宝箱固定 1 件,调用 GenerateLoot(1)。这一件走 CardFinder 抽卡,不使用普通宝箱的 1/2/3 件数量表。

项目规则
经验经验EXPMonster.LevelTo 保存 exp = int(ExpValue(level) * expMult)。普通怪物的 ExpValue(level) 就是等级值,所以 1-10 级分别给 1-10 经验。
金币均值金币均值Gold Mean先保存 gold = int(GoldValue(level) * goldMult),击杀时再经过 DungeonPlayer.ModifyGoldDrops 修正。Miserly Minuet 等效果会在这里影响均值。
金币随机金币随机Gold Roll实际金币用 Game.RandomNormal(mean, mean * 0.1) 抽样并取整;低于 1 时按 1 金币结算。
宝箱替代金币宝箱替代金币10% RollMonster.Defeated 先掷 RandomFloat;若小于 0.1,且怪物身上已有 storedChest,且 goldMult 为 1.0,则显示“a treasure chest!”并用宝箱替代普通金币。经验仍照常获得。
怪物宝箱内容怪物宝箱内容GenerateLoot(1)GenerateMonsterChest 调用 TreasureChest.GenerateLoot(1),因此固定 1 件,第一件走 CardFinder 抽卡;它不是普通宝箱的 1/2/3 件掉落表。

金币和经验表

表里的金币是均值;最终金币还会走随机波动和 ModifyGoldDrops。宝箱触发时,这次普通金币会被宝箱替代。

怪物等级经验经验EXP金币均值金币均值Gold
113
226
339
4410
5511
6612
7714
8817
9920
101025

玩家升级经验

普通战斗在 Monster.Defeated 中先记录经验;随后 Dungeon.WinFight / SaveDungeon 之后再调用 GainExp(0),触发延迟升级检查。

目标玩家等级所需经验所需经验Required EXP
10
22
34
47
512
620
725
830
935
1045

成就和难度后处理

条件额外奖励说明
DRAGON1TreasureChest x1TreasureChest x1每层额外宝箱成就奖励:每层额外发现一个宝箱。
STEPS1HealthPack x1HealthPack x1每层额外治疗包成就奖励:每层额外发现一个治疗包。
Grizzly BearHealthPack x1HealthPack x1默认难度补充默认难度后处理。
KittenHealingPool x1HealingPool x1加 TreasureChest x1低难度补偿:额外 HealingPool 和 TreasureChest,但不能获得成就点。

宝箱

步骤规则
件数件数Item Count普通宝箱先决定数量:1 件约 85%,2 件约 13%,3 件约 2%。
第一件第一件First Item第一件必定调用 CardFinder 抽卡。
后续件后续件Extra Items第二、三件各自判断:45% 转金币,55% 再抽卡。
顺序生成完全部 loot 后,用 Utility.Shuffle 洗牌。

商店

项目规则
商品档位商品档位Slots商店固定构造 1、3、5 三个商品档位。
抽卡入口抽卡入口CardFinder每个档位调用 CardFinder,minAffinity 为 0。
重复处理重复商品会重抽;商品列表最后洗牌。
价格特殊Master Thief 天赋会让商店物品免费。

Dream Quest 中文玩家 Wiki