Project1

标题: 关于buff叠加问题【已解决】 [打印本页]

作者: 间桐樱    时间: 2019-5-30 19:24
标题: 关于buff叠加问题【已解决】
本帖最后由 间桐樱 于 2019-6-5 12:34 编辑

软件里默认buff每一层是在基础属性上增加25%,举例就是atk100,一层buff后atk是125,两层buff后是150,三层buff后是175
我想请问怎么能更改这个数值,能够实现在buff的基础上再强化,而不是基础属性上强化
还是拿atk100举例,第一层buff后atk是125,第二层则在第一层基础上提升25%,125加25%,到达atk156,第三层buff就是156加25%=195
作者: KB.Driver    时间: 2019-5-30 19:51
乘算不是不可以,但乘算很容易导致属性失衡。

RUBY 代码复制
  1. class Game_BattlerBase
  2.   #--------------------------------------------------------------------------
  3.   # ● [覆盖]获取普通能力的强化/弱化变化率
  4.   #--------------------------------------------------------------------------
  5.   def param_buff_rate(param_id)
  6.     1.25 ** @buffs[param_id]
  7.   end
  8. end

作者: hyrious    时间: 2019-5-30 20:03
  1. class Game_BattlerBase
  2.   def param_buff_rate(param_id)
  3.     n = @buffs[param_id]
  4.     [0.75, 1.0, 1.25][(n <=> 0) + 1] ** n.abs
  5.   end
  6. end
复制代码
插入 Main 前

【编辑】糟了,迟了一步(x
作者: 间桐樱    时间: 2019-5-30 20:15
KB.Driver 发表于 2019-5-30 19:51
乘算不是不可以,但乘算很容易导致属性失衡。

class Game_BattlerBase

这个我试过了,强化buff递减,弱化buff报错
作者: 间桐樱    时间: 2019-5-30 20:15
hyrious 发表于 2019-5-30 20:03
插入 Main 前

【编辑】糟了,迟了一步(x

没迟没迟,搞定了,感谢前辈
作者: 安河桥北    时间: 2019-6-22 21:21
新人表示这个代码怎么用23333
作者: 安河桥北    时间: 2019-6-23 20:01
可以加我QQ指导一下我嘛   感激不尽   1979787120




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1