赞 | 0 |
VIP | 0 |
好人卡 | 0 |
积分 | 1 |
经验 | 20879 |
最后登录 | 2022-8-7 |
在线时间 | 696 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 61
- 在线时间
- 696 小时
- 注册时间
- 2011-1-4
- 帖子
- 208
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 cjlzbb 于 2015-2-12 21:10 编辑
自己解决了……随便瞎搞搞定了
方法:先把第一个脚本里所有的party替换成actor,Party替换成Actor,然后对着第二个脚本里Window_PartyCommand里涉及到CombatLog的在Window_ActorCommand里仿写一遍
@taroxd ,麻烦改下帖子前缀
发现这两个脚本用起来挺好玩的,
战斗信息窗口就是额外加了个窗口显示出从战斗开始到现在的所有战斗信息
战斗指令的脚本是用来修改队伍指令和角色战斗指令的
想问的是,
脚本中的打开信息窗口的指令是在PartyCommand里面的,
怎样才能在ActorCommand里添加这个指令呢
第一个是信息窗口的脚本
第二个是战斗指令的
效果截图在最后面
PS:为毛别人发脚本都可以折叠起来的?这样子好长呀- #==============================================================================
- #
- # ▼ Yanfly Engine Ace - Combat Log Display v1.02
- # -- Last Updated: 2012.01.24
- # -- Level: Easy
- # -- Requires: n/a
- #
- #==============================================================================
- $imported = {} if $imported.nil?
- $imported["YEA-CombatLogDisplay"] = true
- #==============================================================================
- # ▼ Updates
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- # 2012.01.24 - Bug Fixed: Confirm window crash with Battle Command List.
- # 2012.01.16 - Prevented subsequent line inserts.
- # 2011.12.10 - Started Script and Finished.
- #
- #==============================================================================
- # ▼ Introduction
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- # Sometimes text appears way too fast in the battle system or sometimes players
- # may miss what kind of information was delivered on-screen. For times like
- # that, being able to access the combat log would be important. The combat log
- # records all of the text that appears in the battle log window at the top.
- # The player can access the combat log display any time during action selection
- # phase. Sometimes, players can even review over the combat log to try and
- # figure out any kinds of patterns enemies may even have.
- #
- #==============================================================================
- # ▼ Instructions
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- # To install this script, open up your script editor and copy/paste this script
- # to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
- #
- #==============================================================================
- # ▼ Compatibility
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
- # it will run with RPG Maker VX without adjusting.
- #
- #==============================================================================
- module YEA
- module COMBAT_LOG
-
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # - Combat Log Settings -
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # Adjust the settings here to modify how the combat log works for your
- # game. You can change the command name and extra text that gets fitted
- # into the combat log over time. If you don't want specific text to appear,
- # just set the text to "" and nothing will show.
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- COMMAND_NAME = "CombatLog" # Command list name.
- LINE_COLOUR = 0 # Line colour for separators.
- LINE_COLOUR_ALPHA = 48 # Opacity of the line colour.
- TEXT_BATTLE_START = "\\c[4]Battle Start!" # Battle start text.
- TEXT_TURN_NUMBER = "\\c[4]Turn Number: \\c[6]%d" # Turn number text.
-
- end # COMBAT_LOG
- end # YEA
- #==============================================================================
- # ▼ Editting anything past this point may potentially result in causing
- # computer damage, incontinence, explosion of user's head, coma, death, and/or
- # halitosis so edit at your own risk.
- #==============================================================================
- #==============================================================================
- # ■ Window_BattleLog
- #==============================================================================
- class Window_BattleLog < Window_Selectable
-
- #--------------------------------------------------------------------------
- # new method: combatlog_window=
- #--------------------------------------------------------------------------
- def combatlog_window=(window)
- @combatlog_window = window
- end
-
- #--------------------------------------------------------------------------
- # new method: combatlog
- #--------------------------------------------------------------------------
- def combatlog(text)
- return if @combatlog_window.nil?
- return if text == ""
- @combatlog_window.add_line(text)
- end
-
- #--------------------------------------------------------------------------
- # alias method: add_text
- #--------------------------------------------------------------------------
- alias window_battlelog_add_text_cld add_text
- def add_text(text)
- combatlog(text)
- window_battlelog_add_text_cld(text)
- end
-
- #--------------------------------------------------------------------------
- # alias method: replace_text
- #--------------------------------------------------------------------------
- alias window_battlelog_replace_text_cld replace_text
- def replace_text(text)
- combatlog(text)
- window_battlelog_replace_text_cld(text)
- end
-
- #--------------------------------------------------------------------------
- # Start Ace Battle Engine Compatibility
- #--------------------------------------------------------------------------
- if $imported["YEA-BattleEngine"]
-
- #--------------------------------------------------------------------------
- # alias method: display_current_state
- #--------------------------------------------------------------------------
- alias window_battlelog_display_current_state_cld display_current_state
- def display_current_state(subject)
- window_battlelog_display_current_state_cld(subject)
- return if YEA::BATTLE::MSG_CURRENT_STATE
- return if subject.most_important_state_text.empty?
- combatlog(subject.name + subject.most_important_state_text)
- end
-
- #--------------------------------------------------------------------------
- # alias method: display_use_item
- #--------------------------------------------------------------------------
- alias window_battlelog_display_use_item_cld display_use_item
- def display_use_item(subject, item)
- window_battlelog_display_use_item_cld(subject, item)
- return if YEA::BATTLE::MSG_CURRENT_ACTION
- if item.is_a?(RPG::Skill)
- combatlog(subject.name + item.message1)
- unless item.message2.empty?
- combatlog(item.message2)
- end
- else
- combatlog(sprintf(Vocab::UseItem, subject.name, item.name))
- end
- end
-
- #--------------------------------------------------------------------------
- # alias method: display_counter
- #--------------------------------------------------------------------------
- alias window_battlelog_display_counter_cld display_counter
- def display_counter(target, item)
- window_battlelog_display_counter_cld(target, item)
- return if YEA::BATTLE::MSG_COUNTERATTACK
- combatlog(sprintf(Vocab::CounterAttack, target.name))
- end
-
- #--------------------------------------------------------------------------
- # alias method: display_reflection
- #--------------------------------------------------------------------------
- alias window_battlelog_display_reflection_cld display_reflection
- def display_reflection(target, item)
- window_battlelog_display_reflection_cld(target, item)
- return if YEA::BATTLE::MSG_REFLECT_MAGIC
- combatlog(sprintf(Vocab::MagicReflection, target.name))
- end
-
- #--------------------------------------------------------------------------
- # alias method: display_substitute
- #--------------------------------------------------------------------------
- alias window_battlelog_display_substitute_cld display_substitute
- def display_substitute(substitute, target)
- window_battlelog_display_substitute_cld(substitute, target)
- return if YEA::BATTLE::MSG_SUBSTITUTE_HIT
- combatlog(sprintf(Vocab::Substitute, substitute.name, target.name))
- end
-
- #--------------------------------------------------------------------------
- # alias method: display_failure
- #--------------------------------------------------------------------------
- alias window_battlelog_display_failure_cld display_failure
- def display_failure(target, item)
- window_battlelog_display_failure_cld(target, item)
- return if YEA::BATTLE::MSG_FAILURE_HIT
- if target.result.hit? && !target.result.success
- combatlog(sprintf(Vocab::ActionFailure, target.name))
- end
- end
-
- #--------------------------------------------------------------------------
- # alias method: display_critical
- #--------------------------------------------------------------------------
- alias window_battlelog_display_critical_cld display_critical
- def display_critical(target, item)
- window_battlelog_display_critical_cld(target, item)
- return if YEA::BATTLE::MSG_CRITICAL_HIT
- if target.result.critical
- text = target.actor? ? Vocab::CriticalToActor : Vocab::CriticalToEnemy
- combatlog(text)
- end
- end
-
- #--------------------------------------------------------------------------
- # alias method: display_miss
- #--------------------------------------------------------------------------
- alias window_battlelog_display_miss_cld display_miss
- def display_miss(target, item)
- window_battlelog_display_miss_cld(target, item)
- return if YEA::BATTLE::MSG_HIT_MISSED
- if !item || item.physical?
- fmt = target.actor? ? Vocab::ActorNoHit : Vocab::EnemyNoHit
- else
- fmt = Vocab::ActionFailure
- end
- combatlog(sprintf(fmt, target.name))
- end
-
- #--------------------------------------------------------------------------
- # alias method: display_evasion
- #--------------------------------------------------------------------------
- alias window_battlelog_display_evasion_cld display_evasion
- def display_evasion(target, item)
- window_battlelog_display_evasion_cld(target, item)
- return if YEA::BATTLE::MSG_EVASION
- if !item || item.physical?
- fmt = Vocab::Evasion
- else
- fmt = Vocab::MagicEvasion
- end
- combatlog(sprintf(fmt, target.name))
- end
-
- #--------------------------------------------------------------------------
- # alias method: display_hp_damage
- #--------------------------------------------------------------------------
- alias window_battlelog_display_hp_damage_cld display_hp_damage
- def display_hp_damage(target, item)
- window_battlelog_display_hp_damage_cld(target, item)
- return if YEA::BATTLE::MSG_HP_DAMAGE
- return if target.result.hp_damage == 0 && item && !item.damage.to_hp?
- combatlog(target.result.hp_damage_text)
- end
-
- #--------------------------------------------------------------------------
- # alias method: display_mp_damage
- #--------------------------------------------------------------------------
- alias window_battlelog_display_mp_damage_cld display_mp_damage
- def display_mp_damage(target, item)
- window_battlelog_display_mp_damage_cld(target, item)
- return if YEA::BATTLE::MSG_MP_DAMAGE
- combatlog(target.result.mp_damage_text)
- end
-
- #--------------------------------------------------------------------------
- # alias method: display_tp_damage
- #--------------------------------------------------------------------------
- alias window_battlelog_display_tp_damage_cld display_tp_damage
- def display_tp_damage(target, item)
- window_battlelog_display_tp_damage_cld(target, item)
- return if YEA::BATTLE::MSG_TP_DAMAGE
- combatlog(target.result.tp_damage_text)
- end
-
- #--------------------------------------------------------------------------
- # alias method: display_added_states
- #--------------------------------------------------------------------------
- alias window_battlelog_display_added_states_cld display_added_states
- def display_added_states(target)
- window_battlelog_display_added_states_cld(target)
- return if YEA::BATTLE::MSG_ADDED_STATES
- target.result.added_state_objects.each do |state|
- state_msg = target.actor? ? state.message1 : state.message2
- next if state_msg.empty?
- combatlog(target.name + state_msg)
- end
- end
-
- #--------------------------------------------------------------------------
- # alias method: display_removed_states
- #--------------------------------------------------------------------------
- alias window_battlelog_display_removed_states_cld display_removed_states
- def display_removed_states(target)
- window_battlelog_display_removed_states_cld(target)
- return if YEA::BATTLE::MSG_REMOVED_STATES
- target.result.removed_state_objects.each do |state|
- next if state.message4.empty?
- combatlog(target.name + state.message4)
- end
- end
-
- #--------------------------------------------------------------------------
- # alias method: display_buffs
- #--------------------------------------------------------------------------
- alias window_battlelog_display_buffs_cld display_buffs
- def display_buffs(target, buffs, fmt)
- window_battlelog_display_buffs_cld(target, buffs, fmt)
- return if YEA::BATTLE::MSG_CHANGED_BUFFS
- buffs.each do |param_id|
- combatlog(sprintf(fmt, target.name, Vocab::param(param_id)))
- end
- end
-
- #--------------------------------------------------------------------------
- # End Ace Battle Engine Compatibility
- #--------------------------------------------------------------------------
- end # $imported["YEA-BattleEngine"]
-
- end # Window_BattleLog
- #==============================================================================
- # ■ Window_CombatLog
- #==============================================================================
- class Window_CombatLog < Window_Selectable
-
- #--------------------------------------------------------------------------
- # initialize
- #--------------------------------------------------------------------------
- def initialize
- @data = []
- super(0, 0, Graphics.width, Graphics.height-120)
- deactivate
- hide
- end
-
- #--------------------------------------------------------------------------
- # add_line
- #--------------------------------------------------------------------------
- def add_line(text)
- return if text == "-" && @data[@data.size - 1] == "-"
- @data.push(text)
- end
-
- #--------------------------------------------------------------------------
- # refresh
- #--------------------------------------------------------------------------
- def refresh
- create_contents
- draw_all_items
- end
-
- #--------------------------------------------------------------------------
- # item_max
- #--------------------------------------------------------------------------
- def item_max; return @data.size; end
-
- #--------------------------------------------------------------------------
- # draw_item
- #--------------------------------------------------------------------------
- def draw_item(index)
- text = @data[index]
- return if text.nil?
- rect = item_rect_for_text(index)
- if text == "-"
- draw_horz_line(rect.y)
- else
- draw_text_ex(rect.x, rect.y, text)
- end
- end
-
- #--------------------------------------------------------------------------
- # draw_horz_line
- #--------------------------------------------------------------------------
- def draw_horz_line(y)
- line_y = y + line_height / 2 - 1
- contents.fill_rect(4, line_y, contents_width-8, 2, line_colour)
- end
-
- #--------------------------------------------------------------------------
- # line_colour
- #--------------------------------------------------------------------------
- def line_colour
- colour = text_color(YEA::COMBAT_LOG::LINE_COLOUR)
- colour.alpha = YEA::COMBAT_LOG::LINE_COLOUR_ALPHA
- return colour
- end
-
- #--------------------------------------------------------------------------
- # show
- #--------------------------------------------------------------------------
- def show
- super
- refresh
- activate
- select([item_max-1, 0].max)
- end
-
- #--------------------------------------------------------------------------
- # hide
- #--------------------------------------------------------------------------
- def hide
- deactivate
- super
- end
-
- end # Window_CombatLog
- #==============================================================================
- # ■ Window_PartyCommand
- #==============================================================================
- class Window_PartyCommand < Window_Command
-
- #--------------------------------------------------------------------------
- # alias method: make_command_list
- #--------------------------------------------------------------------------
- alias window_partycommand_make_command_list_cld make_command_list
- def make_command_list
- window_partycommand_make_command_list_cld
- return if $imported["YEA-BattleCommandList"]
- add_command(YEA::COMBAT_LOG::COMMAND_NAME, :combatlog)
- end
-
- end # Window_PartyCommand
- #==============================================================================
- # ■ Scene_Battle
- #==============================================================================
- class Scene_Battle < Scene_Base
-
- #--------------------------------------------------------------------------
- # alias method: create_log_window
- #--------------------------------------------------------------------------
- alias scene_battle_create_log_window_cld create_log_window
- def create_log_window
- scene_battle_create_log_window_cld
- create_combatlog_window
- end
-
- #--------------------------------------------------------------------------
- # new method: create_combatlog_window
- #--------------------------------------------------------------------------
- def create_combatlog_window
- @combatlog_window = Window_CombatLog.new
- @log_window.combatlog_window = @combatlog_window
- @combatlog_window.set_handler(:cancel, method(:close_combatlog))
- @combatlog_window.add_line("-")
- @combatlog_window.add_line(YEA::COMBAT_LOG::TEXT_BATTLE_START)
- @combatlog_window.add_line("-")
- end
-
- #--------------------------------------------------------------------------
- # new method: open_combatlog
- #--------------------------------------------------------------------------
- def open_combatlog
- @combatlog_window.show
- end
-
- #--------------------------------------------------------------------------
- # new method: close_combatlog
- #--------------------------------------------------------------------------
- def close_combatlog
- @combatlog_window.hide
- if $imported["YEA-BattleCommandList"]
- if !@confirm_command_window.nil? && @confirm_command_window.visible
- @confirm_command_window.activate
- else
- @party_command_window.activate
- end
- else
- @party_command_window.activate
- end
- end
-
- #--------------------------------------------------------------------------
- # alias method: create_party_command_window
- #--------------------------------------------------------------------------
- alias create_party_command_window_cld create_party_command_window
- def create_party_command_window
- create_party_command_window_cld
- @party_command_window.set_handler(:combatlog, method(:open_combatlog))
- end
-
- #--------------------------------------------------------------------------
- # alias method: turn_start
- #--------------------------------------------------------------------------
- alias scene_battle_turn_start_cld turn_start
- def turn_start
- scene_battle_turn_start_cld
- @combatlog_window.add_line("-")
- text = sprintf(YEA::COMBAT_LOG::TEXT_TURN_NUMBER, $game_troop.turn_count)
- @combatlog_window.add_line(text)
- @combatlog_window.add_line("-")
- end
-
- #--------------------------------------------------------------------------
- # alias method: execute_action
- #--------------------------------------------------------------------------
- alias scene_battle_execute_action_cld execute_action
- def execute_action
- @combatlog_window.add_line("-")
- scene_battle_execute_action_cld
- @combatlog_window.add_line("-")
- end
-
- #--------------------------------------------------------------------------
- # alias method: turn_end
- #--------------------------------------------------------------------------
- alias scene_battle_turn_end_cld turn_end
- def turn_end
- scene_battle_turn_end_cld
- @combatlog_window.add_line("-")
- end
-
- end # Scene_Battle
- #==============================================================================
- #
- # ▼ End of File
- #
- #==============================================================================
复制代码- #==============================================================================
- #
- # 仴 Yanfly Engine Ace - Battle Command List v1.09b
- # -- Last Updated: 2012.12.18
- # -- Level: Normal
- # -- Requires: n/a
- #
- #==============================================================================
- $imported = {} if $imported.nil?
- $imported["YEA-BattleCommandList"] = true
- #==============================================================================
- # 仴 Updates
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- # 2012.12.18 - Completely fixed the command hide switch bug.
- # 2012.12.17 - Fixed Bug with command hide until switch.
- # 2012.01.10 - Compatibility Update: Battle System FTB
- # 2011.12.30 - Bug Fixed: Disappearing windows when no confirm window is used.
- # 2011.12.26 - Bug Fixed: Actor Command Window disappears without Battle Engine
- # Ace installed.
- # 2011.12.19 - Compatibility Update: Class System
- # - New Actor Command: Subclass List
- # 2011.12.17 - Bug Fixed: Item command from Actor Command Window fixed.
- # 2011.12.15 - Bug Fixed: Prevented multiple actions per battler.
- # 2011.12.13 - Compatibility Update: Command Equip
- # Compatibility Update: Add-On: Command Party
- # 2011.12.12 - Compatibility Update: Command Autobattle
- # 2011.12.10 - Started Script and Finished.
- # - Compatibility Update: Combat Log Display
- #
- #==============================================================================
- # 仴 Introduction
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- # This script allows you to change the order to commands that appear in battle
- # for the Party Command Window and Actor Command Window. In addition to the
- # ability to change the order commands appear, you may also add commands to the
- # Actor Command Window that can trigger the usage of skills and/or items. The
- # Confirm Command Window is also a new addition that appears at the end of the
- # action select phase (after the last actor has made a choice) before entering
- # the battle phase.
- #
- #==============================================================================
- # 仴 Instructions
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- # To install this script, open up your script editor and copy/paste this script
- # to an open slot below 仴 Materials/慺嵽 but above 仴 Main. Remember to save.
- #
- # -----------------------------------------------------------------------------
- # Actor Notetags - These notetags go in the actors notebox in the database.
- # -----------------------------------------------------------------------------
- # <command list>
- # string
- # string
- # </command list>
- # These lines go inside of an actor's notebox to adjust the battle commands
- # that appear in the actor's Actor Command Window. Refer to the module as to
- # what to use for the strings. If a custom command list is used for an actor,
- # it will take priority over its class's custom command list, which takes place
- # over the default command list.
- #
- # -----------------------------------------------------------------------------
- # Class Notetags - These notetags go in the class notebox in the database.
- # -----------------------------------------------------------------------------
- # <command list>
- # string
- # string
- # </command list>
- # These lines go inside of a class's notebox to adjust the battle commands
- # that appear in the actor's Actor Command Window. Refer to the module as to
- # what to use for the strings. A custom command list for a class does not take
- # priority over an actor's custom command list, but it does take priority over
- # the default command list.
- #
- # -----------------------------------------------------------------------------
- # Skill Notetags - These notetags go in the skill notebox in the database.
- # -----------------------------------------------------------------------------
- # <command name: string>
- # If this skill is being used as a command, it will use "string" to replace the
- # skill's name in the command list window.
- #
- # <command hide until learn>
- # This hides the command until the actor has learned the respective skill for
- # the command to appear in the actor's command list.
- #
- # <command hide until usable>
- # This hides the command until the actor is capable of using the command by
- # meeting TP costs or MP costs.
- #
- # <command hide until switch: x>
- # This switch x is OFF, then the command remains hidden. If the switch is ON,
- # then the command becomes enabled and appears in the command list.
- #
- # -----------------------------------------------------------------------------
- # Item Notetags - These notetags go in the item notebox in the database.
- # -----------------------------------------------------------------------------
- # <command name: string>
- # If this item is being used as a command, it will use "string" to replace the
- # item's name in the command list window.
- #
- # <command hide until usable>
- # This hides the command until the actor is capable of using the command as
- # long as that item is usable normally.
- #
- # <command hide until switch: x>
- # This switch x is OFF, then the command remains hidden. If the switch is ON,
- # then the command becomes enabled and appears in the command list.
- #
- #==============================================================================
- # 仴 Compatibility
- # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
- # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
- # it will run with RPG Maker VX without adjusting.
- #
- # For maximum compatibility with Yanfly Engine Ace - Ace Battle Engine, place
- # this script under Ace Battle Engine.
- #
- #==============================================================================
- module YEA
- module BATTLE_COMMANDS
-
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # - Party Command Window Settings -
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # This section adjusts the commands for the Party Command Window. Rearrange
- # commands as you see fit or add in new ones. Here's a list of which
- # command does what:
- #
- # -------------------------------------------------------------------------
- # :command Description
- # -------------------------------------------------------------------------
- # :fight Enters the command selection phase for actors. Default.
- # :escape Party attempts to escape from battle. Default.
- #
- # :combatlog Requires YEA - Combat Log Display.
- # :autobattle Requires YEA - Command Autobattle.
- # :party Requires YEA - Party System Add-On: Command Party.
- #
- # And that's all of the currently available commands. This list will be
- # updated as more scripts become available.
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # This array arranges the order of which the commands appear in the Party
- # Command window.
- PARTY_COMMANDS =[
- :fight,
- :autobattle,
- :party,
- :combatlog,
- # :custom1,
- # :custom2,
- :escape,
- ] # Do not remove this.
-
- #--------------------------------------------------------------------------
- # - Party Command Custom Commands -
- # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- # For those who use scripts to that may produce unique effects in battle,
- # use this hash to manage the custom commands for the Party Command Window.
- # You can disable certain commands or prevent them from appearing by using
- # switches. If you don't wish to bind them to a switch, set the proper
- # switch to 0 for it to have no impact.
- #--------------------------------------------------------------------------
- CUSTOM_PARTY_COMMANDS ={
- # :command => ["Display Name", EnableSwitch, ShowSwitch, Handler Method],
- :custom1 => [ "Custom Name", 0, 0, :command_name1],
- :custom2 => [ "Custom Name", 13, 0, :command_name2],
- } # Do not remove this.
-
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # - Actor Command Window Settings -
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # This section only adjusts the default commands for actors. If you wish
- # for an actor to have a unique command list, use the notetags listed in
- # the instructions to apply them. The custom command lists for actors will
- # override this command list.
- #
- # Here's a list of which command does what:
- #
- # -------------------------------------------------------------------------
- # :command Description
- # -------------------------------------------------------------------------
- # "ATTACK" Normal attack for actor. Default.
- # "SKILL LIST" All of the skill types the actor can use. Default.
- # "DEFEND" Set defend action for actor. Default.
- # "ITEMS" Opens up the item menu for the actor. Default.
- #
- # "SKILL TYPE X" Specifically puts in skill type X if actor has it.
- # "SKILL X" Uses Skill X in that slot.
- # "ITEM X" Uses Item X in that slot.
- #
- # "AUTOBATTLE" Requires YEA - Command Autobattle.
- # "EQUIP" Requires YEA - Command Equip
- # "SUBCLASS LIST" Requires YEA - Class System. Adds subclass skill types.
- #
- # And that's all of the currently available commands. This list will be
- # updated as more scripts become available.
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # This array arranges the order of which the commands appear in the Actor
- # Command window if the actor does not have a custom command list.
- DEFAULT_ACTOR_COMMANDS =[
- # "AUTOBATTLE",
- "ATTACK",
- "SKILL LIST",
- "SUBCLASS LIST",
- "DEFEND",
- "ITEMS",
- "EQUIP",
- ] # Do not remove this.
-
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # - Confirm Command Window Settings -
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- # The confirm window is something new that's been added. It shows after the
- # last actor has made a decision as to what actions the player wishes to
- # take for the turn Here's a list of which command does what:
- #
- # -------------------------------------------------------------------------
- # :command Description
- # -------------------------------------------------------------------------
- # :execute Start the battle turn. Comes with this script.
- #
- # :combatlog Requires YEA - Combat Log Display.
- #
- # And that's all of the currently available commands. This list will be
- # updated as more scripts become available.
- #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
- USE_CONFIRM_WINDOW = true # Set to false if you don't wish to use it.
-
- # This array arranges the order of which the commands appear in the Party
- # Command window.
- CONFIRM_COMMANDS =[
- :execute,
- :combatlog,
- # :custom1,
- # :custom2,
- ] # Do not remove this.
-
- # This sets what text appears for the execute command.
- EXECUTE_VOCAB = "Execute"
-
- #--------------------------------------------------------------------------
- # - Confirm Command Custom Commands -
- # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- # For those who use scripts to that may produce unique effects in battle,
- # use this hash to manage the custom commands for the Confirm Command
- # Window. You can disable certain commands or prevent them from appearing
- # by using switches. If you don't wish to bind them to a switch, set the
- # proper switch to 0 for it to have no impact.
- #--------------------------------------------------------------------------
- CUSTOM_CONFIRM_COMMANDS ={
- # :command => ["Display Name", EnableSwitch, ShowSwitch, Handler Method],
- :custom1 => [ "Custom Name", 0, 0, :command_name1],
- :custom2 => [ "Custom Text", 13, 0, :command_name2],
- } # Do not remove this.
-
- end # BATTLE_COMMANDS
- end # YEA
- #==============================================================================
- # 仴 Editting anything past this point may potentially result in causing
- # computer damage, incontinence, explosion of user's head, coma, death, and/or
- # halitosis so edit at your own risk.
- #==============================================================================
- module YEA
- module REGEXP
- module BASEITEM
-
- COMMAND_LIST_ON = /<(?:COMMAND_LIST|command list)>/i
- COMMAND_LIST_OFF = /<\/(?:COMMAND_LIST|command list)>/i
-
- end # BASEITEM
- module USABLEITEM
-
- COMMAND_NAME = /<(?:COMMAND NAME|command name):[ ](.*)>/i
- COMMAND_HIDE_LEARN =
- /<(?:COMMAND_HIDE_UNTIL_LEARN|command hide until learn)>/i
- COMMAND_HIDE_USABLE =
- /<(?:COMMAND_HIDE_UNTIL_USABLE|command hide until usable)>/i
- COMMAND_HIDE_SWITCH =
- /<(?:COMMAND_HIDE_UNTIL_SWITCH|command hide until switch):[ ](\d+)>/i
-
- end # USABLEITEM
- end # REGEXP
- end # YEA
- #==============================================================================
- # 仭 DataManager
- #==============================================================================
- module DataManager
-
- #--------------------------------------------------------------------------
- # alias method: load_database
- #--------------------------------------------------------------------------
- class <<self; alias load_database_bcl load_database; end
- def self.load_database
- load_database_bcl
- load_notetags_bcl
- end
-
- #--------------------------------------------------------------------------
- # new method: load_notetags_bcl
- #--------------------------------------------------------------------------
- def self.load_notetags_bcl
- groups = [$data_actors, $data_classes, $data_skills, $data_items]
- for group in groups
- for obj in group
- next if obj.nil?
- obj.load_notetags_bcl
- end
- end
- end
-
- end # DataManager
- #==============================================================================
- # 仭 RPG::BaseItem
- #==============================================================================
- class RPG::BaseItem
-
- #--------------------------------------------------------------------------
- # public instance variables
- #--------------------------------------------------------------------------
- attr_accessor :battle_commands
-
- #--------------------------------------------------------------------------
- # common cache: load_notetags_bcl
- #--------------------------------------------------------------------------
- def load_notetags_bcl
- @battle_commands = []
- @command_list = false
- #---
- self.note.split(/[\r\n]+/).each { |line|
- case line
- #---
- when YEA::REGEXP::BASEITEM::COMMAND_LIST_ON
- @command_list = true
- when YEA::REGEXP::BASEITEM::COMMAND_LIST_OFF
- @command_list = false
- else
- next unless @command_list
- @battle_commands.push(line.to_s.upcase)
- #---
- end
- } # self.note.split
- #---
- if @battle_commands == [] and self.is_a?(RPG::Class)
- @battle_commands = YEA::BATTLE_COMMANDS::DEFAULT_ACTOR_COMMANDS
- end
- end
-
- end # RPG::BaseItem
- #==============================================================================
- # 仭 RPG::UsableItem
- #==============================================================================
- class RPG::UsableItem < RPG::BaseItem
-
- #--------------------------------------------------------------------------
- # public instance variables
- #--------------------------------------------------------------------------
- attr_accessor :command_name
- attr_accessor :command_hide_until_learn
- attr_accessor :command_hide_until_usable
- attr_accessor :command_hide_until_switch
-
- #--------------------------------------------------------------------------
- # common cache: load_notetags_bcl
- #--------------------------------------------------------------------------
- def load_notetags_bcl
- @command_name = @name.clone
- @command_hide_until_switch = 0
- #---
- self.note.split(/[\r\n]+/).each { |line|
- case line
- #---
- when YEA::REGEXP::USABLEITEM::COMMAND_NAME
- @command_name = $1.to_s
- when YEA::REGEXP::USABLEITEM::COMMAND_HIDE_LEARN
- @command_hide_until_learn = true
- when YEA::REGEXP::USABLEITEM::COMMAND_HIDE_USABLE
- @command_hide_until_usable = true
- when YEA::REGEXP::USABLEITEM::COMMAND_HIDE_SWITCH
- @command_hide_until_switch = $1.to_i
- #---
- end
- } # self.note.split
- #---
- end
-
- end # RPG::UsableItem
- #==============================================================================
- # 仭 Game_Actor
- #==============================================================================
- class Game_Actor < Game_Battler
-
- #--------------------------------------------------------------------------
- # new method: battle_commands
- #--------------------------------------------------------------------------
- def battle_commands
- return self.actor.battle_commands unless actor.battle_commands == []
- return self.class.battle_commands
- end
-
- #--------------------------------------------------------------------------
- # new method: next_command_valid?
- #--------------------------------------------------------------------------
- def next_command_valid?
- if $imported["YEA-BattleSystem-FTB"] && BattleManager.btype?(:ftb)
- return false
- end
- return false if @action_input_index >= @actions.size - 1
- return true
- end
-
- end # Game_Actor
- #==============================================================================
- # 仭 Window_PartyCommand
- #==============================================================================
- class Window_PartyCommand < Window_Command
-
- #--------------------------------------------------------------------------
- # overwrite method: make_command_list
- #--------------------------------------------------------------------------
- def make_command_list
- for command in YEA::BATTLE_COMMANDS::PARTY_COMMANDS
- case command
- when :fight
- add_command(Vocab::fight, :fight)
- when :escape
- add_command(Vocab::escape, :escape, BattleManager.can_escape?)
- when :combatlog
- next unless $imported["YEA-CombatLogDisplay"]
- add_command(YEA::COMBAT_LOG::COMMAND_NAME, :combatlog)
- when :autobattle
- next unless $imported["YEA-CommandAutobattle"]
- add_autobattle_command
- when :party
- next unless $imported["YEA-PartySystem"]
- next unless $imported["YEA-CommandParty"]
- add_party_command
- else
- process_custom_command(command)
- end
- end
- end
-
- #--------------------------------------------------------------------------
- # new method: process_custom_command
- #--------------------------------------------------------------------------
- def process_custom_command(command)
- return unless YEA::BATTLE_COMMANDS::CUSTOM_PARTY_COMMANDS.include?(command)
- show = YEA::BATTLE_COMMANDS::CUSTOM_PARTY_COMMANDS[command][2]
- continue = show <= 0 ? true : $game_switches[show]
- return unless continue
- text = YEA::BATTLE_COMMANDS::CUSTOM_PARTY_COMMANDS[command][0]
- switch = YEA::BATTLE_COMMANDS::CUSTOM_PARTY_COMMANDS[command][1]
- enabled = switch <= 0 ? true : $game_switches[switch]
- add_command(text, command, enabled)
- end
-
- end # Window_PartyCommand
- #==============================================================================
- # 仭 Window_ConfirmCommand
- #==============================================================================
- class Window_ConfirmCommand < Window_Command
-
- #--------------------------------------------------------------------------
- # initialize
- #--------------------------------------------------------------------------
- def initialize
- super(0, 0)
- deactivate
- hide
- end
-
- #--------------------------------------------------------------------------
- # window_width
- #--------------------------------------------------------------------------
- def window_width; return 128; end
-
- #--------------------------------------------------------------------------
- # visible_line_number
- #--------------------------------------------------------------------------
- def visible_line_number; return 4; end
-
- #--------------------------------------------------------------------------
- # overwrite method: make_command_list
- #--------------------------------------------------------------------------
- def make_command_list
- for command in YEA::BATTLE_COMMANDS::CONFIRM_COMMANDS
- case command
- when :execute
- text = YEA::BATTLE_COMMANDS::EXECUTE_VOCAB
- add_command(text, :execute)
- when :combatlog
- next unless $imported["YEA-CombatLogDisplay"]
- add_command(YEA::COMBAT_LOG::COMMAND_NAME, :combatlog)
- else
- process_custom_command(command)
- end
- end
- end
-
- #--------------------------------------------------------------------------
- # new method: process_custom_command
- #--------------------------------------------------------------------------
- def process_custom_command(command)
- return unless YEA::BATTLE_COMMANDS::CUSTOM_CONFIRM_COMMANDS.include?(command)
- show = YEA::BATTLE_COMMANDS::CUSTOM_CONFIRM_COMMANDS[command][2]
- continue = show <= 0 ? true : $game_switches[show]
- return unless continue
- text = YEA::BATTLE_COMMANDS::CUSTOM_CONFIRM_COMMANDS[command][0]
- switch = YEA::BATTLE_COMMANDS::CUSTOM_CONFIRM_COMMANDS[command][1]
- enabled = switch <= 0 ? true : $game_switches[switch]
- add_command(text, command, enabled)
- end
-
- #--------------------------------------------------------------------------
- # setup
- #--------------------------------------------------------------------------
- def setup
- clear_command_list
- make_command_list
- refresh
- select(0)
- activate
- self.openness = 255
- show
- end
-
- #--------------------------------------------------------------------------
- # process_handling
- #--------------------------------------------------------------------------
- if $imported["YEA-BattleEngine"]
- def process_handling
- return unless open? && active
- return process_dir4 if Input.repeat?(:LEFT)
- return super
- end
-
- #--------------------------------------------------------------------------
- # process_dir4
- #--------------------------------------------------------------------------
- def process_dir4
- Sound.play_cursor
- Input.update
- deactivate
- call_handler(:dir4)
- end
- end # $imported["YEA-BattleEngine"]
-
- end # Window_ConfirmCommand
- #==============================================================================
- # 仭 Window_ActorCommand
- #==============================================================================
- class Window_ActorCommand < Window_Command
-
- #--------------------------------------------------------------------------
- # alias method: setup
- #--------------------------------------------------------------------------
- alias window_actorcommand_setup_bcl setup
- def setup(actor)
- window_actorcommand_setup_bcl(actor)
- show
- end
-
- #--------------------------------------------------------------------------
- # overwrite method: make_command_list
- #--------------------------------------------------------------------------
- def make_command_list
- return if @actor.nil?
- @stype_list = []
- for command in @actor.battle_commands
- case command.upcase
- #---
- when /ATTACK/i
- add_attack_command
- when /SKILL LIST/i
- add_skill_commands
- when /DEFEND/i
- add_guard_command
- when /ITEMS/i
- add_item_command
- #---
- when /SKILL TYPE[ ](\d+)/i
- add_skill_type_command($1.to_i)
- when /SKILL[ ](\d+)/i
- add_skill_id_command($1.to_i)
- when /ITEM[ ](\d+)/i
- add_item_id_command($1.to_i)
- #---
- when /AUTOBATTLE/i
- next unless $imported["YEA-CommandAutobattle"]
- add_autobattle_command
- when /EQUIP/i
- next unless $imported["YEA-CommandEquip"]
- add_equip_command
- when /SUBCLASS LIST/i
- add_subclass_skill_types
- #---
- else; next
- end
- end
- end
-
- #--------------------------------------------------------------------------
- # overwrite method: add_skill_commands
- #--------------------------------------------------------------------------
- def add_skill_commands
- @actor.added_skill_types.each do |stype_id|
- next if @stype_list.include?(stype_id)
- next if include_subclass_type?(stype_id)
- add_skill_type_command(stype_id)
- end
- end
-
- #--------------------------------------------------------------------------
- # new method: include_subclass_type?
- #--------------------------------------------------------------------------
- def include_subclass_type?(stype_id)
- return false unless $imported["YEA-ClassSystem"]
- return @actor.subclass_skill_types.include?(stype_id)
- end
-
- #--------------------------------------------------------------------------
- # new method: add_subclass_skill_types
- #--------------------------------------------------------------------------
- def add_subclass_skill_types
- return unless $imported["YEA-ClassSystem"]
- return if @actor.subclass.nil?
- @actor.subclass_skill_types.sort.each do |stype_id|
- next if @stype_list.include?(stype_id)
- add_skill_type_command(stype_id)
- end
- end
-
- #--------------------------------------------------------------------------
- # new method: add_skill_type_command
- #--------------------------------------------------------------------------
- def add_skill_type_command(stype_id)
- return unless @actor.added_skill_types.include?(stype_id)
- return if @stype_list.include?(stype_id)
- @stype_list.push(stype_id)
- name = $data_system.skill_types[stype_id]
- add_command(name, :skill, true, stype_id)
- end
-
- #--------------------------------------------------------------------------
- # new method: add_skill_id_command
- #--------------------------------------------------------------------------
- def add_skill_id_command(skill_id)
- return if $data_skills[skill_id].nil?
- return unless add_use_skill?(skill_id)
- name = $data_skills[skill_id].command_name
- add_command(name, :use_skill, use_skill_valid?(skill_id), skill_id)
- end
-
- #--------------------------------------------------------------------------
- # new method: add_use_skill?
- #--------------------------------------------------------------------------
- def add_use_skill?(skill_id)
- skill = $data_skills[skill_id]
- return false if hide_until_learn?(skill)
- return false if hide_until_usable?(skill)
- return false if hide_until_switch?(skill)
- return true
- end
-
- #--------------------------------------------------------------------------
- # new method: hide_until_learn?
- #--------------------------------------------------------------------------
- def hide_until_learn?(skill)
- return false unless skill.command_hide_until_learn
- return false if @actor.skill_learn?(skill)
- return false if @actor.added_skills.include?(skill.id)
- return true
- end
-
- #--------------------------------------------------------------------------
- # new method: hide_until_usable?
- #--------------------------------------------------------------------------
- def hide_until_usable?(skill)
- return false unless skill.command_hide_until_usable
- return false if @actor.usable?(skill)
- return true
- end
-
- #--------------------------------------------------------------------------
- # new method: hide_until_switch?
- #--------------------------------------------------------------------------
- def hide_until_switch?(skill)
- return false unless skill.command_hide_until_switch > 0
- return false if $game_switches[skill.command_hide_until_switch]
- return true
- end
-
- #--------------------------------------------------------------------------
- # new method: use_skill_valid?
- #--------------------------------------------------------------------------
- def use_skill_valid?(skill_id)
- skill = $data_skills[skill_id]
- return false unless @actor.skill_conditions_met?(skill)
- return true
- end
-
- #--------------------------------------------------------------------------
- # new method: add_item_id_command
- #--------------------------------------------------------------------------
- def add_item_id_command(item_id)
- return if $data_items[item_id].nil?
- return unless add_use_item?(item_id)
- name = $data_items[item_id].command_name
- add_command(name, :use_item, use_item_valid?(item_id), item_id)
- end
-
- #--------------------------------------------------------------------------
- # new method: add_use_item?
- #--------------------------------------------------------------------------
- def add_use_item?(item_id)
- item = $data_items[item_id]
- return false if hide_until_usable?(item)
- return false if hide_until_switch?(item)
- return true
- end
-
- #--------------------------------------------------------------------------
- # new method: use_item_valid?
- #--------------------------------------------------------------------------
- def use_item_valid?(item_id)
- item = $data_items[item_id]
- return false unless @actor.item_conditions_met?(item)
- return true
- end
-
- end # Window_ActorCommand
- #==============================================================================
- # 仭 Scene_Battle
- #==============================================================================
- class Scene_Battle < Scene_Base
-
- #--------------------------------------------------------------------------
- # alias method: create_all_windows
- #--------------------------------------------------------------------------
- alias scene_battle_create_all_windows_bcl create_all_windows
- def create_all_windows
- scene_battle_create_all_windows_bcl
- create_confirm_command_window
- end
-
- #--------------------------------------------------------------------------
- # alias method: create_party_command_window
- #--------------------------------------------------------------------------
- alias create_party_command_window_bcl create_party_command_window
- def create_party_command_window
- create_party_command_window_bcl
- process_custom_party_commands
- end
-
- #--------------------------------------------------------------------------
- # new method: process_custom_party_commands
- #--------------------------------------------------------------------------
- def process_custom_party_commands
- for command in YEA::BATTLE_COMMANDS::PARTY_COMMANDS
- next unless YEA::BATTLE_COMMANDS::CUSTOM_PARTY_COMMANDS.include?(command)
- called_method = YEA::BATTLE_COMMANDS::CUSTOM_PARTY_COMMANDS[command][3]
- @party_command_window.set_handler(command, method(called_method))
- end
- end
-
- #--------------------------------------------------------------------------
- # alias method: create_actor_command_window
- #--------------------------------------------------------------------------
- alias create_actor_command_window_bcl create_actor_command_window
- def create_actor_command_window
- create_actor_command_window_bcl
- @actor_command_window.set_handler(:use_skill, method(:command_use_skill))
- @actor_command_window.set_handler(:use_item, method(:command_use_item))
- end
-
- #--------------------------------------------------------------------------
- # alias method: start_actor_command_selection
- #--------------------------------------------------------------------------
- alias start_actor_command_selection_bcl start_actor_command_selection
- def start_actor_command_selection
- @confirm_command_window.hide unless @confirm_command_window.nil?
- start_actor_command_selection_bcl
- @actor_command_window.show
- end
-
- #--------------------------------------------------------------------------
- # new method: command_use_skill
- #--------------------------------------------------------------------------
- def command_use_skill
- @skill = $data_skills[@actor_command_window.current_ext]
- BattleManager.actor.input.set_skill(@skill.id)
- BattleManager.actor.last_skill.object = @skill
- status_redraw_target(BattleManager.actor)
- if $imported["YEA-BattleEngine"]
- $game_temp.battle_aid = @skill
- if @skill.for_opponent?
- select_enemy_selection
- elsif @skill.for_friend?
- select_actor_selection
- else
- next_command
- $game_temp.battle_aid = nil
- end
- else
- if [email protected]_selection?
- next_command
- elsif @skill.for_opponent?
- select_enemy_selection
- else
- select_actor_selection
- end
- end
- end
-
- #--------------------------------------------------------------------------
- # new method: command_use_item
- #--------------------------------------------------------------------------
- def command_use_item
- @item = $data_items[@actor_command_window.current_ext]
- BattleManager.actor.input.set_item(@item.id)
- status_redraw_target(BattleManager.actor)
- if $imported["YEA-BattleEngine"]
- $game_temp.battle_aid = @item
- if @item.for_opponent?
- select_enemy_selection
- elsif @item.for_friend?
- select_actor_selection
- else
- next_command
- $game_temp.battle_aid = nil
- end
- else
- if [email protected]_selection?
- next_command
- elsif @item.for_opponent?
- select_enemy_selection
- else
- select_actor_selection
- end
- end
- end
-
- #--------------------------------------------------------------------------
- # alias method: on_actor_ok
- #--------------------------------------------------------------------------
- alias scene_battle_on_actor_ok_bcl on_actor_ok
- def on_actor_ok
- scene_battle_on_actor_ok_bcl
- return if !@confirm_command_window.nil? && @confirm_command_window.visible
- @actor_command_window.show
- end
-
- #--------------------------------------------------------------------------
- # alias method: on_actor_cancel
- #--------------------------------------------------------------------------
- alias scene_battle_on_actor_cancel_bcl on_actor_cancel
- def on_actor_cancel
- scene_battle_on_actor_cancel_bcl
- case @actor_command_window.current_symbol
- when :use_skill, :use_item
- @help_window.hide
- @status_window.show
- @actor_command_window.activate
- status_redraw_target(BattleManager.actor)
- end
- end
-
- #--------------------------------------------------------------------------
- # alias method: on_enemy_ok
- #--------------------------------------------------------------------------
- alias scene_battle_on_enemy_ok_bcl on_enemy_ok
- def on_enemy_ok
- scene_battle_on_enemy_ok_bcl
- return if !@confirm_command_window.nil? && @confirm_command_window.visible
- @actor_command_window.show
- end
-
- #--------------------------------------------------------------------------
- # alias method: on_enemy_cancel
- #--------------------------------------------------------------------------
- alias scene_battle_on_enemy_cancel_bcl on_enemy_cancel
- def on_enemy_cancel
- scene_battle_on_enemy_cancel_bcl
- case @actor_command_window.current_symbol
- when :use_skill, :use_item
- @help_window.hide
- @status_window.show
- @actor_command_window.activate
- status_redraw_target(BattleManager.actor)
- end
- end
-
- #--------------------------------------------------------------------------
- # new method: status_redraw_target
- #--------------------------------------------------------------------------
- def status_redraw_target(target)
- return unless target.actor?
- @status_window.draw_item($game_party.battle_members.index(target))
- end
-
- #--------------------------------------------------------------------------
- # new method: create_confirm_command_window
- #--------------------------------------------------------------------------
- def create_confirm_command_window
- return unless YEA::BATTLE_COMMANDS::USE_CONFIRM_WINDOW
- @confirm_command_window = Window_ConfirmCommand.new
- @confirm_command_window.viewport = @info_viewport
- @confirm_command_window.set_handler(:execute, method(:command_execute))
- @confirm_command_window.set_handler(:cancel, method(:on_confirm_cancel))
- @confirm_command_window.set_handler(:dir4, method(:on_confirm_cancel))
- @confirm_command_window.unselect
- @confirm_command_window.x = Graphics.width
- process_custom_confirm_commands
- process_confirm_compatibility_commands
- end
-
- #--------------------------------------------------------------------------
- # new method: process_custom_confirm_commands
- #--------------------------------------------------------------------------
- def process_custom_confirm_commands
- for command in YEA::BATTLE_COMMANDS::CONFIRM_COMMANDS
- next unless YEA::BATTLE_COMMANDS::CUSTOM_CONFIRM_COMMANDS.include?(command)
- called_method = YEA::BATTLE_COMMANDS::CUSTOM_CONFIRM_COMMANDS[command][3]
- @party_command_window.set_handler(command, method(called_method))
- end
- end
-
- #--------------------------------------------------------------------------
- # new method: process_confirm_compatibility_commands
- #--------------------------------------------------------------------------
- def process_confirm_compatibility_commands
- #---
- if $imported["YEA-CombatLogDisplay"]
- @confirm_command_window.set_handler(:combatlog, method(:open_combatlog))
- end
- #---
- end
-
- #--------------------------------------------------------------------------
- # new method: start_confirm_command_selection
- #--------------------------------------------------------------------------
- def start_confirm_command_selection
- if $imported["YEA-BattleEngine"]
- @status_window.show
- redraw_current_status
- @status_aid_window.hide
- end
- @status_window.unselect
- @actor_command_window.hide
- @confirm_command_window.setup
- end
-
- #--------------------------------------------------------------------------
- # new method: on_confirm_cancel
- #--------------------------------------------------------------------------
- def on_confirm_cancel
- @confirm_command_window.hide unless @confirm_command_window.nil?
- @actor_command_window.show
- @actor_command_window.setup(BattleManager.actor)
- @status_window.select(BattleManager.actor.index)
- prior_command unless BattleManager.actor.inputable?
- end
-
- #--------------------------------------------------------------------------
- # alias method: next_command
- #--------------------------------------------------------------------------
- alias scene_battle_next_command_bcl next_command
- def next_command
- if prompt_next_actor?
- scene_battle_next_command_bcl
- elsif YEA::BATTLE_COMMANDS::USE_CONFIRM_WINDOW
- start_confirm_command_selection
- else
- turn_start
- end
- end
-
- #--------------------------------------------------------------------------
- # new method: prompt_next_actor?
- #--------------------------------------------------------------------------
- def prompt_next_actor?
- index = @status_window.index
- last_index = $game_party.battle_members.size - 1
- for member in $game_party.battle_members.reverse
- break if member.inputable?
- last_index -= 1
- end
- if index >= last_index
- actor = $game_party.battle_members[index]
- return true if prompt_ftb_action?(actor)
- return true if actor.next_command_valid?
- return false if YEA::BATTLE_COMMANDS::USE_CONFIRM_WINDOW
- end
- return true
- end
-
- #--------------------------------------------------------------------------
- # new method: prompt_ftb_action?
- #--------------------------------------------------------------------------
- def prompt_ftb_action?(actor)
- return false unless $imported["YEA-BattleEngine"]
- return false unless $imported["YEA-BattleSystem-FTB"]
- return false unless BattleManager.btype?(:ftb)
- return actor.current_action.valid?
- end
-
- #--------------------------------------------------------------------------
- # new method: command_execute
- #--------------------------------------------------------------------------
- def command_execute
- @confirm_command_window.close
- turn_start
- end
-
- #--------------------------------------------------------------------------
- # new method: command_name1
- #--------------------------------------------------------------------------
- def command_name1
- # Do nothing.
- end
-
- #--------------------------------------------------------------------------
- # new method: command_name2
- #--------------------------------------------------------------------------
- def command_name2
- # Do nothing.
- end
-
- end # Scene_Battle
- #==============================================================================
- #
- # 仴 End of File
- #
- #==============================================================================
复制代码 |
|