从代码层面了解物品掉落率(个人思路)|再刷一把


3楼猫 发布时间:2022-08-04 14:43:58 作者:念无心 Language

由于老迈一直不出掉落率的计算公式,且四宝藏队对于掉落率的提升极其明显。我决定从代码上获取掉落率的计算从代码层面了解物品掉落率(个人思路)|再刷一把 - 第1张

==============手动分割线===============
1.首先我们要知道掉落物是怎么产生的,第一步找到引擎的脚本rpg_object
从代码层面了解物品掉落率(个人思路)|再刷一把 - 第2张打开能找到生成掉落物的方法(别问为什么用记事本,问就是没有花里胡哨的颜色)
从代码层面了解物品掉落率(个人思路)|再刷一把 - 第3张两个方法,第一个生成掉落物,第二个是掉落率,一倍或是两倍掉落率
除此之外原版是没有其他改变掉落率的方法的,那么就从额外添加的插件中找
用过的我第一时间想到和掉落率有关的插件就是YEP_ExtraEnemyDrops(yanfly插件用过的都说好)
从代码层面了解物品掉落率(个人思路)|再刷一把 - 第4张但是里面只有条件改变掉率的方法,如敌人被某种元素技能击中几次时某些装备掉落率可以增加或是减少
例子:植物类敌人被火元素技能攻击后。即受到火元素技能伤害次数≥1时所有掉落物掉落率均变为0并100%掉落灰烬
还有死亡回合数、出战人数、死亡人数、击杀技能等许多条件

扯远了,回归主题从代码层面了解物品掉落率(个人思路)|再刷一把 - 第5张
默认老迈没用这种方法,每件装备单独设置确实挺折磨人的,吃力不讨好
想到出现改变掉落率的地方有套装效果和被动技能立马就找到被动技能插件和套装效果插件
从代码层面了解物品掉落率(个人思路)|再刷一把 - 第6张从代码层面了解物品掉落率(个人思路)|再刷一把 - 第7张

首先是被动技能效果,在里面找到和掉落率有关的代码
从代码层面了解物品掉落率(个人思路)|再刷一把 - 第8张这里覆写了引擎产生掉落物的方法,这里的算法可以看出被动技能的掉落率是加法计算的,对比发现在原概率基础上*
raterate就是所有被动加成的和再加上基本都1,只算四宝藏就是3.4倍

来到套装效果这边
略过流程直接上图从代码层面了解物品掉落率(个人思路)|再刷一把 - 第9张从代码层面了解物品掉落率(个人思路)|再刷一把 - 第10张

套装效果这里则是另一个函数,套装效果加成掉落率有两种,加算和乘算,公式(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


个人认为老迈没有使用乘算,毕竟乘算提升实在是太大了


目前只有一个问题需要老迈来确定
女神套和幸运7这种会添加被动技能效果会有两种可能
1.效果在套装中生效,添加被动技能是让玩家知道触发了套装效果
2.效果在被动技能中生效,套装效果中除了添加被动技能只添加了套装描述文本

最后的结论
最终掉落率=被动技能总掉落率*套装效果总掉落率
例子:常见套装
忽略除宝藏羁绊加成的其他被动
四权势之冠
四女神套
1.女神套算套装效果,掉落率=(1+0.3+0.3+0.3+0.3+0.25+0.25+0.25+0.25)*(1+0.6+0.6+0.6+0.6)=10.88倍
2女神套算被动效果,掉落率=
(1+0.6+0.6+0.6+0.6+0.25+0.25+0.25+0.25)*(1+0.3+0.3+0.3+0.3)=9.68倍


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com