Project1

标题: 技能怎么有暴击效果? [打印本页]

作者: awr110    时间: 2012-10-8 21:54
标题: 技能怎么有暴击效果?
几率如何设置 我把普通攻击的贴到技能计算里 没有效果 我想可能几率小 想知道怎么改几率
    @critical = (rand(100) < user.cri )        # 会心一击判断
      @critical = false if prevent_critical         # 防止会心一击判断
      damage *= 3 if @critical                      # 会心一击校正
作者: 怪蜀黍    时间: 2012-10-8 21:58
  1. @critical = (rand(100) < user.cri )
复制代码
改成
  1. @critical = true
复制代码
就是100%会心。
要么你就提高角色的cri属性吧。
作者: awr110    时间: 2012-10-8 22:02
protosssonny 发表于 2012-10-8 21:58
改成就是100%会心。
要么你就提高角色的cri属性吧。

@critical = true        # 会心一击判断
      @critical = false if prevent_critical         # 防止会心一击判断
      damage *= 3 if @critical                      # 会心一击校正
      end
依然没效果啊 难道不是这样农的 ?
作者: zhangbanxian    时间: 2012-10-9 09:14
本帖最后由 zhangbanxian 于 2012-10-9 09:15 编辑

看你贴哪里了- -b
作者: a364774426    时间: 2012-10-9 13:30
按照P叔的办法是可以100%技能暴击的,
加入的位置:
  1.   def make_obj_damage_value(user, obj)
  2.     damage = obj.base_damage                        # 基础计算
  3.     if damage > 0                                   # 若伤害为正
  4.       damage += user.atk * 4 * obj.atk_f / 100      # 使用者攻击力关系度
  5.       damage += user.spi * 2 * obj.spi_f / 100      # 使用者精神力关系度
  6.       unless obj.ignore_defense                     # 除非无视防御力
  7.         damage -= self.def * 2 * obj.atk_f / 100    # 目标攻击力关系度
  8.         damage -= self.spi * 1 * obj.spi_f / 100    # 目标精神力关系度
  9.       end
  10.       damage = 0 if damage < 0                      # 设负数伤害为0
  11.     elsif damage < 0                                # 若伤害为负
  12.       damage -= user.atk * 4 * obj.atk_f / 100      # 使用者攻击力关系度
  13.       damage -= user.spi * 2 * obj.spi_f / 100      # 使用者精神力关系度
  14.     end
  15.     damage *= elements_max_rate(obj.element_set)    # 属性校正
  16.     damage /= 100
  17.     damage = apply_variance(damage, obj.variance)   # 分散度
  18.     damage = apply_guard(damage)                    # 防御校正

  19.       @critical = true        # 会心一击判断
  20.       @critical = false if prevent_critical         # 防止会心一击判断
  21.       damage *= 3 if @critical                      # 会心一击校正
  22.     if obj.damage_to_mp  
  23.       @mp_damage = damage                           # 伤害魔力
  24.     else
  25.       @hp_damage = damage                           # 伤害体力
  26.     end
  27.   end
复制代码
此外,修改角色暴击率在Game_Actor脚本中,找到
  1. def cri
  2. n = 4  ########默认暴击率4%
  3. n += 4 if actor.critical_bonus
  4.     for weapon in weapons.compact
  5.       n += 4 if weapon.critical_bonus
  6.     end
  7. return n
  8. end
复制代码
将 n = 4 写成一个公式,
如:n = 4 + 96 * agi/(agi + 300)
就可以了。
PS:P叔,我抢了你的菜~




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