| 
 
| 赞 | 6 |  
| VIP | 2 |  
| 好人卡 | 0 |  
| 积分 | 21 |  
| 经验 | 6348 |  
| 最后登录 | 2025-8-8 |  
| 在线时间 | 1081 小时 |  
 Lv3.寻梦者 
	梦石0 星屑2075 在线时间1081 小时注册时间2006-1-10帖子800 | 
| 本帖最后由 非常白菜 于 2011-11-29 07:58 编辑 
 这个在Game_Battler里,搜索critical可以找到相关的语句,把普通伤害的会心一击算法直接照搬到技能伤害中去就可以了,SRPG的系统可能有些改动,不过大体是一样的,Scene_Battle主要是处理战斗流程和战斗图像的,具体一些属性和公式不在这里。
 这是VX默认的计算技能伤害,稍加修改,只需添几句判定,8-10行,很简单
 复制代码    if damage > 0                                   # 若伤害为正
      damage += user.atk * 4 * obj.atk_f / 100      # 使用者攻击力关系度
      damage += user.spi * 2 * obj.spi_f / 100      # 使用者精神力关系度
      unless obj.ignore_defense                     # 除非无视防御力
        damage -= self.def * 2 * obj.atk_f / 100    # 目标攻击力关系度
        damage -= self.spi * 1 * obj.spi_f / 100    # 目标精神力关系度
      end
            @critical = (rand(100) < user.cri)            # 会心一击判断
       @critical = false if prevent_critical         # 防止会心一击判断
       damage *= 3 if @critical                      # 会心一击校正
       damage = 0 if damage < 0                      # 设负数伤害为0
    elsif damage < 0                                # 若伤害为负
      damage -= user.atk * 4 * obj.atk_f / 100      # 使用者攻击力关系度
      damage -= user.spi * 2 * obj.spi_f / 100      # 使用者精神力关系度
    end
 | 
 |