查看: 1888|回复: 2

[已经解决] 如何在状态中制作这样的疾病效果?

[复制链接]
梦石
0
星屑
710
在线时间
663 小时
注册时间
2012-10-21
回帖
251
发表于 2014-8-11 11:43:30 | 显示全部楼层 |阅读模式

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

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

×
如果在状态注释里写上:
<hp disease>
<mp disease>
<tp disease>
则造成相应的疾病效果,并且这些效果可以共存。
在状态被移除之前,HP/MP/TP 的最大值变成当前值,这样任何伤害都能直接削减最大hp,并且治疗没用……因为血是满的
各位大神可以帮帮我吗?谢谢了!

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-8-11 11:50:00 | 显示全部楼层
本帖最后由 taroxd 于 2014-8-11 20:22 编辑

[pre lang="ruby" line="1"]

class Game_BattlerBase
  
  alias mhp_20140811 mhp
  alias mmp_20140811 mmp
  alias mtp_20140811 max_tp
  alias assign_hp_20140811 hp=
  alias assign_mp_20140811 mp=
  alias assign_tp_20140811 tp=
  
  def state_note_include?(str)
    states.any? {|state| state.note.include? str }
  end
  
  def mhp
    state_note_include?('<hp disease>') ? @hp : mhp_20140811
  end
  
  def mmp
    state_note_include?('<mp disease>') ? @mp : mmp_20140811
  end
  
  def max_tp
    state_note_include?('<tp disease>') ? @tp : mtp_20140811
  end
  
  def hp=(hp)
    assign_hp_20140811 [hp, mhp].min
  end
  
  def mp=(mp)
    assign_mp_20140811 [mp, mmp].min
  end
  
  def tp=(tp)
    assign_tp_20140811 [tp, max_tp].min
  end
end[/pre]

评分

参与人数 2星屑 +15 梦石 +1 收起 理由
VIPArcher + 1 你怎么能这么强大!
timiesea + 15 今天最后15分了,你怎么能这么强大!.

查看全部评分

回复

使用道具 举报

梦石
0
星屑
710
在线时间
663 小时
注册时间
2012-10-21
回帖
251
 楼主| 发表于 2014-8-11 12:07:39 | 显示全部楼层
额……试了一下,使用药品后能加血……hp上限还提升了……希望去除这样的效果……

点评

已修正……但是你知道吗……不回复的话我可收不到通知啊……  发表于 2014-8-11 20:22
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部