Project1

标题: 有没有什么办法增加体力值上限后当前体力值按百分比增加 [打印本页]

作者: tan12345    时间: 2015-11-6 17:19
标题: 有没有什么办法增加体力值上限后当前体力值按百分比增加
有没有什么办法增加体力值上限后当前体力值按百分比增加?
举个例子,人物当前HP100,最大HP100
附加状态:体力值上限增加20%
结果状态附加后变成:人物当前HP100,最大HP120,换句话说,本来满血的,变成不是满血了……

有没有什么办法或者思路,使得人物在增加体力值上限时,当前体力值跟着变化?(按照原先HP的百分比来变化)

还是举个例子吧,我希望达到如下效果:
人物当前HP100,最大HP200(就是说,当前HP是50%)
附加状态:体力值上限增加20%
附加状态后:人物当前HP120,最大HP240(当前HP与MHP的比例还是50%)

同样的,我希望不止在HP上限增加时有效,当这个状态消失后,HP也跟着变化成原先的比例
作者: taroxd    时间: 2015-11-6 18:58
楼主也是懂代码的,我就大概给个思路吧 (未测试)
RUBY 代码复制
  1. class Game_BattlerBase
  2.   def refresh
  3.     @last_mhp ||= mhp
  4.     if @last_mhp != mhp
  5.       old_hp_rate = hp.fdiv @last_mhp
  6.       @last_mhp = mhp
  7.       self.hp = (old_hp_rate * @last_mhp).to_i
  8.     end
  9.  
  10.     # invoke original method `refresh'
  11.   end
  12. end





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