Project1

标题: 技能修改暴击率 [打印本页]

作者: KB.Driver    时间: 2019-4-15 14:17
标题: 技能修改暴击率
可以做出某个技能使用时额外增加20%暴击率这样的效果。

RUBY 代码复制
  1. #==============================================================================
  2. # ■ 重算暴击率的技能 By Calendar99
  3. #------------------------------------------------------------------------------
  4. #  使用方法:
  5. #     技能伤害公式中写 b.reapply_critical(0.05)
  6. #     则使用该技能时暴击率提升5%
  7. #==============================================================================
  8.  
  9. class Game_Battler
  10.   #--------------------------------------------------------------------------
  11.   # ● [别名修改]应用技能/物品的效果
  12.   #--------------------------------------------------------------------------
  13.   alias item_apply_cld99_20190415 item_apply
  14.   def item_apply(user, item)
  15.     @user_12805174, @item_12805174 = user, item # 破坏了封装性,不过影响不大
  16.     item_apply_cld99_20190415(user, item) # 调用原方法
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● [追加]重算暴击率
  20.   #--------------------------------------------------------------------------
  21.   def reapply_critical(increment, user = @user_12805174, item = @item_12805174)
  22.     rate = item_cri(user, item) + increment
  23.     @result.critical = (rand < rate)
  24.   end
  25. end


范例:
必定暴击的普通攻击

RUBY 代码复制
  1. b.reapply_critical(0.5);a.atk * 4 - b.def * 2

作者: guoxiaomi    时间: 2019-4-15 17:21
突发奇想可以让方法reapply_critical返回self,然后就可以写成:
  1. a.atk * 4 - b.reapply_critical(0.5).def * 2
复制代码

作者: larloses    时间: 2019-4-15 18:19
本帖最后由 larloses 于 2019-4-15 18:21 编辑

正好我下午研究了半天,总算是没用脚本实现了……

用无攻击假技能打出一个空的假状态(不作就会额外空砍一刀)再触发一个公共事件,然后用公共事件加暴击Buff然后再强制攻击上一个目标实现了…………
费死劲了!

早看到你的脚本就不用费劲了!!
作者: cjy5705075    时间: 2019-4-16 21:35

作者: 坏数据    时间: 2019-10-24 01:41
正好有角色需要用到变化的暴击率 虽然跟这个单个技能附加额外暴击率不一样 但是也提供了思路




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