Project1

标题: 如何制作状态效果的法力燃烧? [打印本页]

作者: bloodyliao    时间: 2014-8-9 22:35
标题: 如何制作状态效果的法力燃烧?
就是中了某个状态后,每当你施法或者受到MP伤害时,也会受到相应的HP伤害,伤害量为MP的减少量乘以一个系数,请问要怎么实现呢?想向各位大神了
作者: Mr.Jin    时间: 2014-8-9 23:32
给你思路,受到MP伤害的时候
在Game_Battler里面,找到计算技能伤害的方法,(RGSS2中为make_obj_damage_value(user, obj))
判断它是否伤害了MP,
如果是的话,再加状态判断,计算伤害即可
状态嘛,可以用self.states.include?(id)这样的语句(RGSS2)
作者: taroxd    时间: 2014-8-10 06:29
本帖最后由 taroxd 于 2014-8-10 06:33 编辑

RUBY 代码复制
  1. class Game_BattlerBase
  2.   alias mp_assign_20140810 mp=
  3.   def mp=(mp)
  4.     diff = @mp - mp
  5.    # 0.5 为系数,27 为状态ID
  6.     self.hp -= (diff * 0.5).round if state?(27) && diff > 0
  7.     mp_assign_20140810(mp)
  8.   end
  9. end





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