设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1416|回复: 1
打印 上一主题 下一主题

[已经解决] 有没有什么办法增加体力值上限后当前体力值按百分比增加

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3298
在线时间
1120 小时
注册时间
2009-4-15
帖子
815
跳转到指定楼层
1
发表于 2015-11-6 17:19:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
有没有什么办法增加体力值上限后当前体力值按百分比增加?
举个例子,人物当前HP100,最大HP100
附加状态:体力值上限增加20%
结果状态附加后变成:人物当前HP100,最大HP120,换句话说,本来满血的,变成不是满血了……

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

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

同样的,我希望不止在HP上限增加时有效,当这个状态消失后,HP也跟着变化成原先的比例

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2015-11-6 18:58:07 | 只看该作者
楼主也是懂代码的,我就大概给个思路吧 (未测试)
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

点评

结贴自己点就行了  发表于 2015-11-7 07:58
嗯,其实我要的就是大概放什么地方写这段逻辑,本来想放状态里的,状态触发,但不太好写,一时没想到放refresh里,结贴吧。  发表于 2015-11-6 22:55

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 23:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表