设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1964|回复: 4
打印 上一主题 下一主题

[已经解决] 关于设置技能暴击

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
12 小时
注册时间
2013-7-11
帖子
15
跳转到指定楼层
1
发表于 2013-8-6 19:05:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 HeRo_SKY 于 2013-8-6 22:52 编辑

问一下。。。 如何设置某个技能100%打出暴击

Lv3.寻梦者

梦石
0
星屑
1556
在线时间
626 小时
注册时间
2010-8-5
帖子
451
2
发表于 2013-8-6 21:39:10 | 只看该作者
  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)
就可以了。

此答案来源于http://rpg.blue/forum.php?mod=viewthread&tid=251163

评分

参与人数 1星屑 +140 收起 理由
弗雷德 + 140 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
12 小时
注册时间
2013-7-11
帖子
15
3
 楼主| 发表于 2013-8-6 22:21:52 | 只看该作者
本帖最后由 HeRo_SKY 于 2013-8-6 22:39 编辑
jiahui5592986 发表于 2013-8-6 21:39
此外,修改角色暴击率在Game_Actor脚本中,找到将 n = 4 写成一个公式,
如:n = 4 + 96 * agi/(agi + 300) ...


那个。。。我想要的是某个特定技能有100%暴击。。。其他的没有,,,,。。。还有你说的段我找不到额。。。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
12 小时
注册时间
2013-7-11
帖子
15
4
 楼主| 发表于 2013-8-6 22:50:44 | 只看该作者
  1. # 增加会心一击百分比
  2.        if rand(100) < 10 * user.dex / self.dex or \
  3.          (skill.id == x ) or \
  4.           \
  5.          (rand(100) < 10 + 10 * user.dex / self.dex and user.state?(61))
  6.         self.damage *= 2
  7.         self.critical = true
  8.        end
  9.       end
复制代码
我发现了。。。只要加上 (skill.id == x ) or \     再把X换成要暴击的的ID就能100%暴击了
  好像在x后再加 && rand(100) < N 就能设置者个技能有多少几率暴击了。。。。
   还有谢谢2楼的。。。。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
7 小时
注册时间
2013-8-7
帖子
32
5
发表于 2013-8-21 17:45:17 | 只看该作者
我草,给我积分。

评分

参与人数 1星屑 -500 收起 理由
myownroc -500 人身攻击

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-9-21 17:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表