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

Project1

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

【仿宝可梦】连续招式的命中机制

[复制链接]

Lv4.逐梦者

梦石
0
星屑
13813
在线时间
5699 小时
注册时间
2011-7-18
帖子
158

开拓者

1
发表于 2020-1-4 01:27:04 | 显示全部楼层
可以取消全部修改然后用这个
RUBY 代码复制
  1. # 岚风雷(论坛ID:gqxastg)制作
  2. #--------------------------------------------------------------------------
  3. # 技能/物品备注 <特殊连续攻击> 或 <repeat_hit> 即可
  4. # 第一次使用(命中)成功则后续次数均成功 否则立刻中断
  5.  
  6. #==============================================================================
  7. # ■ RPG::UsableItem
  8. #==============================================================================
  9.  
  10. class RPG::UsableItem < RPG::BaseItem
  11.   #--------------------------------------------------------------------------
  12.   # ● 返回是否特殊连续攻击
  13.   #--------------------------------------------------------------------------
  14.   def repeat_hit?
  15.     /<(?:特殊连续攻击|REPEAT_HIT)>/i =~ @note ? true : false
  16.   end
  17. end
  18. #==============================================================================
  19. # ■ Game_ActionResult
  20. #==============================================================================
  21.  
  22. class Game_ActionResult
  23.   #--------------------------------------------------------------------------
  24.   # ● 定义实例变量
  25.   #--------------------------------------------------------------------------
  26.   attr_accessor :force_hit_result                # 强制命中结果
  27.   #--------------------------------------------------------------------------
  28.   # ● 判定最后是否命中
  29.   #--------------------------------------------------------------------------
  30.   alias fixed_hit_repeat_hit? hit?
  31.   def hit?
  32.     if @force_hit_result.nil?
  33.       return fixed_hit_repeat_hit?
  34.     else
  35.       @missed = false if @force_hit_result
  36.       @evaded = false if @force_hit_result
  37.       return @force_hit_result
  38.     end
  39.   end
  40. end
  41. #==============================================================================
  42. # ■ Scene_Battle
  43. #==============================================================================
  44.  
  45. class Scene_Battle < Scene_Base
  46.   #--------------------------------------------------------------------------
  47.   # ● 使用技能/物品
  48.   #--------------------------------------------------------------------------
  49.   alias fixed_hit_repeat_use_item use_item
  50.   def use_item
  51.     @last_hit = nil
  52.     fixed_hit_repeat_use_item
  53.   end
  54.   #--------------------------------------------------------------------------
  55.   # ● 发动技能/物品
  56.   #--------------------------------------------------------------------------
  57.   alias fixed_hit_repeat_invoke_item invoke_item
  58.   def invoke_item(target, item)
  59.     return if item.repeat_hit? && @last_hit == false
  60.     target.result.force_hit_result = item.repeat_hit? ? @last_hit : nil
  61.     fixed_hit_repeat_invoke_item(target, item)
  62.     @last_hit = target.result.hit?
  63.   end
  64. end

点评

这个完美解决了我的问题!谢谢!  发表于 2020-1-4 02:10

评分

参与人数 3星屑 +50 +2 收起 理由
Cupidk爱呗茶 + 1 塞糖
VIPArcher + 50 认可答案
alexncf125 + 1 认可答案

查看全部评分

这里岚风·雷,任饭、PM理性粉、UT/DR原作粉、(Trans)Furry自萌,半吊子技术一枚_(:з」∠)_    游戏制作交流工(liao)作(tian)室欢迎来玩!
【无偿/有偿】RGSS3(VA)脚本定制 + 合作招募/同好交友    修正Firefox/火狐浏览器的代码框复制问题(油猴脚本)
Click→←Click
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-7 20:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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