|
本帖最后由 百里_飞柳 于 2025-6-30 01:25 编辑
你直接自己改下 rpg_objects.js 里的敌人掉落物处理方法就好
- Game_Enemy.prototype.makeDropItems = function() {
- return this.enemy().dropItems.reduce(function(r, di) {
- if (di.kind > 0 && Math.random() * di.denominator < this.dropItemRate()) {
- return r.concat(this.itemObject(di.kind, di.dataId));
- } else {
- return r;
- }
- }.bind(this), []);
- };
- Game_Enemy.prototype.dropItemRate = function() {
- return $gameParty.hasDropItemDouble() ? 2 : 1;
- };
复制代码
其中 di.denominator 是编辑器里设置的掉落概率分母
本质是 Math.random() 计算出一个0~1之间的小数,然后它比 dropItemRate() / di.denominator 小,就认定为成功掉落。
你自己改下,先计算 $gameParty.members() 全队的幸运值之和,再除以系数,再改下判定方式为
Math.random() < this.dropItemRate() * 1.0 / di.denominator + 幸运值之和*1.0/系数
就相当于增加了 幸运值之和/系数 的概率
(乘以1.0是为了保证计算结果为小数,不然整数除以整数,结果可能是整数,当然,我太久没看js了,可能js不需要这一个操作) |
|