从代码层面了解物品掉落率(个人思路)

精华更新时间2022/8/53 万浏览综合
由于老迈一直不出掉落率的计算公式,且四宝藏队对于掉落率的提升极其明显。我决定从代码上获取掉落率的计算[嗒啦啦2_累]
==============手动分割线===============
1.首先我们要知道掉落物是怎么产生的,第一步找到引擎的脚本rpg_object
TapTap
打开能找到生成掉落物的方法(别问为什么用记事本,问就是没有花里胡哨的颜色)
TapTap
两个方法,第一个生成掉落物,第二个是掉落率,一倍或是两倍掉落率
除此之外原版是没有其他改变掉落率的方法的,那么就从额外添加的插件中找
用过的我第一时间想到和掉落率有关的插件就是YEP_ExtraEnemyDrops(yanfly插件用过的都说好)
TapTap
但是里面只有条件改变掉率的方法,如敌人被某种元素技能击中几次时某些装备掉落率可以增加或是减少
例子:植物类敌人被火元素技能攻击后。即受到火元素技能伤害次数≥1时所有掉落物掉落率均变为0并100%掉落灰烬
还有死亡回合数、出战人数、死亡人数、击杀技能等许多条件
扯远了,回归主题[嗒啦啦2_DOGE]
默认老迈没用这种方法,每件装备单独设置确实挺折磨人的,吃力不讨好
想到出现改变掉落率的地方有套装效果和被动技能立马就找到被动技能插件和套装效果插件
TapTap
TapTap
首先是被动技能效果,在里面找到和掉落率有关的代码
TapTap
这里覆写了引擎产生掉落物的方法,原本以为是加算,通过测试发现是每个被动的概率都乘算
直接上图
TapTap
四人均为宝藏羁绊
TapTap
最后结果为797%
四宝藏可比你全身爆率装加的多的多[嗒啦啦2_DOGE]
让我们再加上再加上四女神套
TapTap
猜猜最后是多少
TapTap
是1945%龘
让我们再为我们的勇者四人组戴上权势头(实则绿帽子)
TapTap
TapTap
再来看一下掉落率
TapTap
直接来到4279%可能会有人好奇为什么比自己算的要小一点,下面就是我们要了解的装备加成效果了
来到套装效果这边
略过流程直接上图
TapTap
TapTap
套装效果这里则是另一个函数,套装效果加成掉落率有两种,加算和乘算,公式(1+plus)*rate
plus是上场角色套装加算加成的和
rate是上场角色套装乘算加成的积
返回的结果就是与被动技能总和rate相乘的dropItemRate
例子:四人头盔是掉落率*120%(一件装备也是可以单独成套装触发套装效果的)宝物是掉落率+20%,那最后的结果就是(1+0.2+0.2+0.2+0.2)*1.2*1.2*1.2*1.2=3.73248
到这里我们就知道上面戴上四顶绿帽子后的结果是19.45*(1+0.3+0.3+0.3+0.3)=42.79
而非19.45*1.3*1.3*1.3*1.3=55.55
个人认为老迈不会在这使用乘算,毕竟乘算提升实在是太大了
======================================
目前只有一个问题需要老迈来确定
女神套和幸运7这种会添加被动技能效果会有两种可能
1.效果在套装中生效,添加被动技能是让玩家知道触发了套装效果
2.效果在被动技能中生效,套装效果中除了添加被动技能只添加了套装描述文本
此问题已解决,采用第二种可能,被动中生效
======================================
最后的结论
最终掉落率=被动技能总掉落率*无被动装备效果总掉落率(实际上是一件装备单独成套装来触发增加掉率的套装效果)
156
105
89