從代碼層面瞭解物品掉落率(個人思路)|再刷一把


3樓貓 發佈時間:2022-08-04 06: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樓貓 站點地圖 購買域名:asmrly666@gmail.com