Project1

标题: 如何设定更改技能命中率的状态 [打印本页]

作者: 无忧谷主幻    时间: 2015-3-1 15:00
标题: 如何设定更改技能命中率的状态
比如某技能命中率是10%,但加持这个状态后,技能命中率将上升到90%
作者: 正太君    时间: 2015-3-1 21:19
【数据库】-【特技】-【成功率】那里调成10%
打开脚本编辑器,找到【Game_Battler】类的定义def calc_hit(user, obj = nil)改成这样...
  1.   def calc_hit(user, obj = nil)
  2.     if obj == nil                           # 普通攻击
  3.       hit = user.hit                        # 获取命中率
  4.       physical = true
  5.     elsif obj.is_a?(RPG::Skill)             # 技能攻击
  6.       hit = obj.hit                         # 获取命中率
  7.       hit = 90 if obj.id == 技能ID and user.state?(状态ID) # 加上这一句,技能和状态的ID自己写...
  8.       physical = obj.physical_attack
  9.     else                                    # 物品攻击
  10.       hit = 100                             # 设命中率为100%
  11.       physical = obj.physical_attack
  12.     end
  13.     if physical                             # 物理攻击
  14.       hit /= 4 if user.reduce_hit_ratio?    # 中了暗黑状态时命中率降低为25%
  15.     end
  16.     return hit
  17.   end
复制代码

作者: 无忧谷主幻    时间: 2015-3-2 12:45
正太君 发表于 2015-3-1 21:19
【数据库】-【特技】-【成功率】那里调成10%
打开脚本编辑器,找到【Game_Battler】类的定义def calc_hit(u ...

如果需要添加多个这种类型的状态的话,是否复制一遍就可以了?
(就像这样)
def calc_hit(user, obj = nil)
    if obj == nil                           # 普通攻击
      hit = user.hit                        # 获取命中率
      physical = true
    elsif obj.is_a?(RPG::Skill)             # 技能攻击
      hit = obj.hit                         # 获取命中率
      hit = 90 if obj.id == 技能ID and user.state?(状态ID) # 加上这一句,技能和状态的ID自己写...     
      hit = 90 if obj.id == 技能ID and user.state?(状态ID) # 加上这一句,技能和状态的ID自己写...

      physical = obj.physical_attack
    else                                    # 物品攻击
      hit = 100                             # 设命中率为100%
      physical = obj.physical_attack
    end
    if physical                             # 物理攻击
      hit /= 4 if user.reduce_hit_ratio?    # 中了暗黑状态时命中率降低为25%
    end
    return hit
  end




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