Project1

标题: 求一个脚本,能让特定技能100%暴击 [打印本页]

作者: 造小梦    时间: 2019-1-23 18:49
标题: 求一个脚本,能让特定技能100%暴击
如题,望大佬指点
作者: KB.Driver    时间: 2019-1-23 20:07
默认战斗脚本下已测试通过。

[pre lang="ruby"]#==============================================================================
# ■ 必定暴击的技能/物品
#------------------------------------------------------------------------------
#  在技能/物品的备注中写<必定暴击>生效。
#  写了备注的话,“允许必杀”为否的技能也会造成必杀。
#==============================================================================

class RPG::UsableItem
  REG_ALWAYS_CRITICAL = /<必定暴击>/
  #--------------------------------------------------------------------------
  # ● [追加]必定暴击
  #--------------------------------------------------------------------------
  def always_critical?
    return false if self.damage.recover? # 回复系技能禁止暴击
    self.note =~ REG_ALWAYS_CRITICAL
  end
end

class Game_Battler
  #--------------------------------------------------------------------------
  # ● [别名修改]计算技能/物品的必杀几率
  #--------------------------------------------------------------------------
  alias :item_cri_always_critical :item_cri
  def item_cri(user, item)
    return 1 if item.always_critical?
    item_cri_always_critical(user, item)
  end
end[/pre]
作者: gqxastg    时间: 2019-1-23 20:10
https://rpg.blue/thread-379894-1-4.html
勤用搜索
作者: MCCF    时间: 2019-1-23 20:12
[pre lang="ruby"]#encoding:utf-8
# =============================================================================
# 特定技能必定暴击
# =============================================================================
=begin

  ----------------------------------------------------------------------------
  介绍:
  ----------------------------------------------------------------------------
  设定某些技能的暴击几率为100%。
  
  
  ----------------------------------------------------------------------------
  使用方法:
  ----------------------------------------------------------------------------
  插入到插件脚本之下,Main之上

=end

#==============================================================================
# ■ Game_Battler
#------------------------------------------------------------------------------
#  处理战斗者的类。Game_Actor 和 Game_Enemy 类的父类。
#==============================================================================

class Game_Battler < Game_BattlerBase
  #--------------------------------------------------------------------------
  # ● 计算技能/物品的必杀几率
  #--------------------------------------------------------------------------
  def item_cri(user, item)
    critical_skill = [80, 83, 84]    # 设定技能ID的数组
    if item.class == RPG::Skill && critical_skill.include?(item.id)
      1
    else
      item.damage.critical ? user.cri * (1 - cev) : 0
    end
  end
end
[/pre]
设定好ID就可以生效了,测试可用。
作者: 造小梦    时间: 2019-1-23 20:16
KB.Driver 发表于 2019-1-23 20:07
默认战斗脚本下已测试通过。

#======================================================================= ...

哇!谢谢大佬!
作者: 造小梦    时间: 2019-1-23 20:18
MCCF 发表于 2019-1-23 20:12
#encoding:utf-8
# =============================================================================
# 特 ...

那么如果我想让技能在XXX状态下才100%暴击呢?
作者: MCCF    时间: 2019-1-23 21:14
造小梦 发表于 2019-1-23 20:18
那么如果我想让技能在XXX状态下才100%暴击呢?

所以你的设定是:角色某状态下某些技能必定暴击,对吧?
作者: 造小梦    时间: 2019-1-23 21:25
MCCF 发表于 2019-1-23 20:12
#encoding:utf-8
# =============================================================================
# 特 ...

嗯嗯,就是这个意思
作者: Silentever    时间: 2019-1-25 06:56
造小梦 发表于 2019-1-23 14:25
嗯嗯,就是这个意思

如果不拘泥于暴击形式,可以在技能伤害公式里加入伤害补正。
比方说状态idX的场合该技能伤害提升50%,写成 *(a.state?(X) ? 1.5 : 1)




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