Project1

标题: 如何在状态中制作这样的疾病效果? [打印本页]

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

作者: taroxd    时间: 2014-8-11 11:50
本帖最后由 taroxd 于 2014-8-11 20:22 编辑

RUBY 代码复制
  1. class Game_BattlerBase
  2.  
  3.   alias mhp_20140811 mhp
  4.   alias mmp_20140811 mmp
  5.   alias mtp_20140811 max_tp
  6.   alias assign_hp_20140811 hp=
  7.   alias assign_mp_20140811 mp=
  8.   alias assign_tp_20140811 tp=
  9.  
  10.   def state_note_include?(str)
  11.     states.any? {|state| state.note.include? str }
  12.   end
  13.  
  14.   def mhp
  15.     state_note_include?('<hp disease>') ? @hp : mhp_20140811
  16.   end
  17.  
  18.   def mmp
  19.     state_note_include?('<mp disease>') ? @mp : mmp_20140811
  20.   end
  21.  
  22.   def max_tp
  23.     state_note_include?('<tp disease>') ? @tp : mtp_20140811
  24.   end
  25.  
  26.   def hp=(hp)
  27.     assign_hp_20140811 [hp, mhp].min
  28.   end
  29.  
  30.   def mp=(mp)
  31.     assign_mp_20140811 [mp, mmp].min
  32.   end
  33.  
  34.   def tp=(tp)
  35.     assign_tp_20140811 [tp, max_tp].min
  36.   end
  37. end


作者: bloodyliao    时间: 2014-8-11 12:07
额……试了一下,使用药品后能加血……hp上限还提升了……希望去除这样的效果……




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