楼主: 暴走杀神

[已经解决] 我想改一下技能的命中判定

[复制链接]
梦石
0
星屑
2782
在线时间
140 小时
注册时间
2018-6-29
回帖
19

R考场第七期纪念奖

发表于 2020-2-16 21:19:34 | 显示全部楼层
暴走杀神 发表于 2020-2-16 17:02
谢了,不过每个技能都可以分别这样设置吗?

可以,比如
[pre lang="ruby" line="1"]if skill.id == 57 and rand(100) < 100  #技能57号有100%的概率造成2倍伤害
         $技能暴击效果宝箱君 = (2.5).to_i #由于伤害不能有小数点因此2.5等价于2   3.8等价于3!
         self.damage *= $技能暴击效果宝箱君 #伤害乘以2
         self.critical = true #会心一击标志
       end
if skill.id == 58 and rand(100) < 100  #技能58号有100%的概率造成2倍伤害
         $技能暴击效果宝箱君 = (2.5).to_i #由于伤害不能有小数点因此2.5等价于2   3.8等价于3!
         self.damage *= $技能暴击效果宝箱君 #伤害乘以2
         self.critical = true #会心一击标志
       end[/pre]
但要想一步到位还有这个方法。
$技能暴击栏宝箱君 = [57,58,59] #将技能化为数组等价于skill.id == 57 skill.id == 58 skill.id == 59
      if $技能暴击栏宝箱君.include?(skill.id) and rand(100) < 100  #自定的技能有100%的概率造成2倍伤害
         $技能暴击效果宝箱君 = (2.5).to_i #由于伤害不能有小数点因此2.5等价于2   3.8等价于3!
         self.damage *= $技能暴击效果宝箱君 #伤害乘以2
         self.critical = true #会心一击标志
       end
回复

使用道具 举报

梦石
0
星屑
1433
在线时间
50 小时
注册时间
2020-2-16
回帖
85
发表于 2020-2-17 17:00:09 | 显示全部楼层
暴走杀神 发表于 2020-2-16 17:02
谢了,不过每个技能都可以分别这样设置吗?

可以,is_a判断对象,然后角色和敌人可以的分开设置。  技能就用id来判定或者其他什么的
流飘零半生,未逢明主。公若是不弃,流愿拜为义父
回复

使用道具 举报

梦石
0
星屑
2323
在线时间
207 小时
注册时间
2019-3-30
回帖
144
 楼主| 发表于 2020-2-17 21:17:03 | 显示全部楼层
1103123301 发表于 2020-2-16 21:19
可以,比如
if skill.id == 57 and rand(100) < 100  #技能57号有100%的概率造成2倍伤害
         $技能 ...

好的,谢了
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部