Project1

标题: 如何实现特定技能的会心一击? [打印本页]

作者: 终极骑士    时间: 2012-9-10 13:46
标题: 如何实现特定技能的会心一击?
设置特定技能有高几率会心一击,但不是所有技能都是这样。dsu_plus_rewardpost_czw
作者: kangxi0109    时间: 2012-9-10 17:36
我想知道是技能自身伤害发生暴击,还是用了某技能后,加个在普通攻击时暴击率提高的状态。
作者: 终极骑士    时间: 2012-9-10 17:43
kangxi0109 发表于 2012-9-10 17:36
我想知道是技能自身伤害发生暴击,还是用了某技能后,加个在普通攻击时暴击率提高的状态。 ...

技能本身的爆击
作者: 终极骑士    时间: 2012-9-11 14:04
kangxi0109 发表于 2012-9-10 17:36
我想知道是技能自身伤害发生暴击,还是用了某技能后,加个在普通攻击时暴击率提高的状态。 ...

Game_Battler 3第146行插入:     
if skill.id == XX  
if rand(100) < 60 * attacker.dex / self.agi
          self.damage *= 2
          self.critical = true
        end
end
这样指定技能为什么就没有会心一击了?
作者: kangxi0109    时间: 2012-9-11 14:35
本帖最后由 kangxi0109 于 2012-9-11 22:29 编辑
终极骑士 发表于 2012-9-11 14:04
Game_Battler 3第146行插入:     
if skill.id == XX  
if rand(100) < 60 * attacker.dex / self.agi


嗯,这样做也是可以的。如果可能会发生暴击的技能有很多种,那我建议你用数组解决...当然如果你懂得通过设置技能属性来判断可以暴击的技能的话那就更方便了。两种方法各有各的好处,像你这样分别设置的话可以有不同技能对应不同的暴击率(可无视对方的灵巧和自己敏捷的关系,比如直接设置为80%暴击率),只是比较麻烦;如果用统一设置(比如数组或者属性判断)的话,在设置上会方便一些,但暴击率就会公式化。
另:
技能攻击的话是不能用“attacker”(攻击者)的,应该改为“user”(使用者)。
----------------------------------
不是定义的问题。
我的设置是这样的(固定几率20%):

  1.              if self.damage != 0
  2.                m = rand(5)
  3.                if m == 4
  4.                  self.damage *= 2
  5.                  self.critical = true#启动会心一击标志
  6.                end
  7.              end
复制代码
插入self.hp -= self.damage之前,经本人测试是完全有效的。

搜狗截图120911_1.png (5.26 KB, 下载次数: 9)

搜狗截图120911_1.png





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