《哈迪斯》中房间通过后的奖励十分关键,直接决定了玩家角色的锤子及祝福选择等,那么房间奖励的机制及计算方法是怎样的呢?下面是一起游戏带来的《哈迪斯》房间奖励机制解析及计算方法,一起看看吧。
通俗地说,在进入一个房间之前,门口上方的那个门牌显示的就是这个房间的奖励。
以下的东西都不是房间奖励:
宝箱挑战的奖励,商店里买的东西,塔纳托斯认输时送你的人马之心,西西弗斯当面送你/在召唤巨石时带给你的东西。还有好多这里还没列出的场景。
以下房间的奖励是(相对)固定的,玩家要么无法去改动它们,要么只能在固有范围内reroll:
第一层的第一个房间,必然是祝福/锤子,没有机会reroll,第二/三/四层的第一个房间,完全没有奖励。
每一层的mini boss战,必然是祝福。玩家可以在不同的神祇间reroll,但总归是个祝福。
每一层的boss战,要么是这个boss在当前热度当前武器的首杀奖励,要么是黑暗。
boss战之后的回血房间,没有奖励。
混沌/商店/故事(例如西西弗斯与巨石房间,每层一个)这些房间也提供类型固定且无法reroll的奖励。
那么本文要探讨的也只剩下普通房间的奖励计算。
简单来说,分两类:
第一类是黑暗/宝石/钥匙/蜜露。这个类型的内部代码叫做MetaProgress。
第二类是金币/石榴/人马之心/祝福(非混沌祝福,下同)/两个神都给祝福但要惹怒一个(以下简称考验)/锤子。这个类型的代码是RunProgress。
MetaProgress推进的是整个存档的长期进度,RunProgress是本局游戏的成长。虽然某些承包商工单可以让MetaProgress对本局成长有贡献,但相比之下可能还是不如RunProgress贡献大(酒神的醇香美酒可以让蜜露对本局价值提升,是个例外。再就是钥匙送的reroll也很有价值(但那也得见到RunProgress才能用)。
如果当前的房间是第N个,那么第N+1个房间会出现MetaProgress的机率是:
metaProgressChance=targetMetaRewardsRatio+TargetMetaRewardsAdjustSpeed×(targetMetaRewardsRatio-currentMetaProgressRatio)
targetMetaRewardsRatio各层不同:第一层0.45,第二层0.4,第三层0.33,第四层这个值没有意义。因为第四层左侧的五条路肯定奖励RunProgress,而且不会是考验。肯定不会出MetaProgress。
TargetMetaRewardsAdjustSpeed是个固定的系数,用来让计算过程“加速”。固定是10。
currentMetaProgressRatio是用玩家当前已经拿到过的MetaProgress数目,除以当前房间的序数N。
在前三层,游戏希望玩家总能拿到一定比例的MetaProgress。每层的比例不同:45%/40%/33%。随本局游戏进度动态调整:每拿一个MetaProgress会降低它再次出现的机率,每进入一个房间会提升这个机率。
这里MetaProgress专指“进入房间之前在门牌上显示的黑暗/宝石/钥匙/蜜露之一”。从别的渠道拿到的这类资源不算。
不严谨地说:前10个房间几乎是1:1地交替出现MetaProgress和其它房间奖励。
第四层不会再出现MetaProgress。
第三层的第一个房间的两个出口几乎肯定是RunProgress奖励,因为从第二层到第三层的MetaProgress期望比例明显降低了(40%=>30%)。所以打完第二层boss之后,如果你换上了某个神的纪念物,很可能会在第三层立即见到这个神的祝福(或者立即见锤子),那么这时就不推荐再买那个强制开混沌门的道具,除非你实在很想要见混沌。
如果你经过混沌/无伤挑战/故事/商店房间绕过了一个MetaProgress房间,因为有这个动态调整的机制,后面还会给你补回来的。
进商店不买东西等于小亏,因为房间数+1,currentMetaProgressRatio下降,下次见MetaProgress的机率会增加。但在商店买东西不会影响上面的公式。
无伤挑战房间的奖励和第四层mini boss房间奖励一样:石榴/人马之心/金币的奖励数值会加倍,但在上面的公式里只算房间数+1,超值。但如果挑战失败了,也同样算房间数+1,血亏。
Boss的首杀奖励拿到之后,奖励会换成黑暗。这意味着如果你想挑战32热度,可以先拿到当前武器当前热度的前两层Boss首杀奖励,然后自杀回家,然后再挑战。这样到第2/3层时,第1/2层的Boss给的黑暗奖励会计入currentMetaProgressRatio,进而提升RunProgress的出现机率。
如果你不愿意为了利用这个机制而自杀,可以考虑把20个热度与0热度的奖励全都拿了,再去尝试32热度挑战。我自己也是这样计划的。
拿完高热度的奖励再回去低热度娱乐,也有同样的效果:第2/3层更容易出RunProgress。
按照上面的公式,在拿过第一个房间的奖励(固定RunProgress)之后,currentMetaProgressRatio为0/1=0.0,第二个房间的计算结果是0.45+10×(0.45-0.0)=4.95>100%,应该是必出MetaProgress才对。但实战中我自己就见过第二个房间提供祝福奖励。所以本文很可能有不完善的地方。
下面给出文中的逻辑与数据的出处:
*主要的计算逻辑在文件Scripts/RoomManager.lua里定义的ChooseNextRewardStore函数。它调用的函数CalcMetaProgressRatio在Scripts/RoomEvents.lua里。
*第一层的TargetMetaRewardsRatio并没有设置,而是fallback到Scripts/HeroData.lua里定义的0.45。
*二、三层的TargetMetaRewardsRatio分别见Scripts/RoomDataAsphodel.luaScripts/RoomDataElysium.lua。
*TargetMetaRewardsAdjustSpeed的定义有两处,Scripts/HeroData.lua定义了2.0,Scripts/RunManager.lua定义了10.0。后者是在一盘新游戏开时执行的,猜测应该会覆盖前者。
正式版镜子上的天赋多了一项暗之洞悉,字面效果就是可以增加RunProgress的出现几率。
上一个大版本的这个天赋的最大值是10%,1.0版给加强到了20%。
具体到公式计算里,非常简单:从当前房间所在的层的targetMetaRewardsRatio,减掉这项天赋的纸面数值,得到的结果再套回到公式里的targetMetaRewardsRatio去计算。
具体来说,如果你把这个天赋点到满,是20%。前三层的targetMetaRewardsRatio分别从0.45/0.4/0.33减到0.25/0.2/0.13。
实战的效果是:第二层和第三层的房间奖励几乎再见不到MetaProgress,全都是RunProgress。结合逆天改命,把非祝福门牌roll成祝福,可以比以前稳定拿到更多的祝福,各种套路更加容易成型,强度稳定上升,32热度不再难。