赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 2110 |
最后登录 | 2015-5-31 |
在线时间 | 23 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 23 小时
- 注册时间
- 2010-9-6
- 帖子
- 7
|
5楼
楼主 |
发表于 2010-9-27 19:32:18
|
只看该作者
本帖最后由 mysl 于 2010-9-27 19:51 编辑
LS说到重点了。
原本game_actor和game_battler里的获取maxhp是这幺写的
###
def maxhp
n = [[base_maxhp + @maxhp_plus, 1].max, 999999].min
for i in @states
n *= $data_states.maxhp_rate / 100
end
n = [[Integer(n), 1].max, 999999].min
return n
end
###
中间我改成
n += $data_states.maxhp_rate
这样数据库状态的maxhp就能填什幺加多少MAXHP(原来的是乘,太可怕了)
像网游那样增加最大血量状态,自然是不能当补血用的
所以我想,让它只有在角色HP是满的时才有增减实际HP
举个例
血100/100时上个 +100MAXHP 的状态
就变200/200
血99/100时上同样状态
变 99/200
在99/200时状态消失
还是99/100
在99/200时被补满且状态消失
变回100/100 (这儿估计会被系统自动扣回)
感觉这只要加个条件分歧就好,只是不知该加在哪里,又该加些什幺。
|
|