Project1

标题: 跳过撤退指令 [打印本页]

作者: taroxd    时间: 2015-1-18 18:28
标题: 跳过撤退指令
本帖最后由 taroxd 于 2015-1-18 18:48 编辑

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2. # ● 不可撤退时,跳过“战斗/撤退”指令的选择
  3. #--------------------------------------------------------------------------
  4.  
  5. module Taroxd
  6.   module SkipPartyCommand
  7.     # 满足此条件时,不跳过指令选择
  8.     def self.disabled?
  9.       BattleManager.can_escape?
  10.     end
  11.   end
  12. end
  13.  
  14. # 是否存在上一个指令。无副作用。
  15. def BattleManager.prior_command?
  16.   actors = $game_party.battle_members.first(@actor_index + 1)
  17.   actor = actors.pop
  18.   actor && (actor.prior_command? || actors.any?(&:inputable?))
  19. end
  20.  
  21. class Game_Actor < Game_Battler
  22.   # 是否已经输入过指令
  23.   def prior_command?
  24.     @action_input_index > 0
  25.   end
  26. end
  27.  
  28. class Scene_Battle < Scene_Base
  29.  
  30.   def start_party_command_selection
  31.     return if scene_changing?
  32.     refresh_status
  33.     @status_window.unselect
  34.     @status_window.open
  35.     if BattleManager.input_start
  36.       if Taroxd::SkipPartyCommand.disabled?
  37.         @actor_command_window.close
  38.         @party_command_window.setup
  39.       else
  40.         command_fight
  41.       end
  42.     else
  43.       @party_command_window.deactivate
  44.       turn_start
  45.     end
  46.   end
  47.  
  48. end
  49.  
  50. class Window_ActorCommand < Window_Command
  51.   def cancel_enabled?
  52.     Taroxd::SkipPartyCommand.disabled? || BattleManager.prior_command?
  53.   end
  54. end





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