# 效果范围是敌单体的情况下
if @item.scope == 1
# 开始选择敌人
start_enemy_select
# 效果范围是我方单体的情况下
elsif @item.scope == 3 or @item.scope == 5
# 开始选择角色
start_actor_select
# 效果范围不是单体的情况下
else
# 物品选择结束
@item_select_end = 1
end_item_select
# 转到下一位角色的指令输入
end_atk(@active_battler.index)
phase3_next_actor
end
return
end
end
end
#--------------------------------------------------------------------------
# ● 刷新画面画面 (角色命令回合 : 选择敌人)
#--------------------------------------------------------------------------
def update_phase3_enemy_select
if @throw_s == 1
$xuanzewupin = false
$xuanzeteji = false
# 刷新敌人箭头
@enemy_arrow.update
# 按下 B 键的情况下
if Input.trigger?(Input::B)
$game_party.gain_weapon(@item_window.item.id, 1) if @item_window != nil and @item_window.item.is_a?(RPG::Weapon)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 选择敌人结束
end_enemy_select
return
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.target_index = @enemy_arrow.index
# 选择敌人结束
end_enemy_select
# 显示特技窗口中的情况下
if @skill_window != nil
# 结束特技选择
end_skill_select
end
# 显示物品窗口的情况下
if @item_window != nil
@item_select_end = 1
# 结束物品选择
end_item_select
end
# 转到下一位角色的指令输入
end_atk(@active_battler.index)
phase3_next_actor
end
else
$xuanzewupin = false
$xuanzeteji = false
# 刷新敌人箭头
@enemy_arrow.update
# 按下 B 键的情况下
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 选择敌人结束
end_enemy_select
return
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.target_index = @enemy_arrow.index
# 选择敌人结束
end_enemy_select
# 显示特技窗口中的情况下
if @skill_window != nil
# 结束特技选择
end_skill_select
end
# 显示物品窗口的情况下
if @item_window != nil
# 结束物品选择
@item_select_end = 1
end_item_select
end
# 转到下一位角色的指令输入
end_atk(@active_battler.index)
phase3_next_actor
end
end
end
#--------------------------------------------------------------------------
# ● 画面更新 (角色指令回合 : 选择角色)
#--------------------------------------------------------------------------
def update_phase3_actor_select
$xuanzewupin = false
$xuanzeteji = false
# 刷新角色箭头
@actor_arrow.update
# 按下 B 键的情况下
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 选择角色结束
end_actor_select
return
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.target_index = @actor_arrow.index
# 选择角色结束
end_actor_select
# 显示特技窗口中的情况下
if @skill_window != nil
# 结束特技选择
end_skill_select
end
# 显示物品窗口的情况下
if @item_window != nil
# 结束物品选择
@item_select_end = 1
end_item_select
end
end_atk(@active_battler.index)# 转到下一位角色的指令输入
phase3_next_actor
end
end
#--------------------------------------------------------------------------
# ● 刷新画面 (角色命令回合 : 选择投掷)
#--------------------------------------------------------------------------
def update_phase3_throw_select
# 设置物品窗口为可视状态
@item_window.visible = true
# 刷新物品窗口
@item_window.update
# 按下 B 键的情况下
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 选择物品结束
end_item_select
end
# 转到下一位角色的指令输入
end_atk(@active_battler.index)
phase3_next_actor
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
# 获取物品窗口现在选择的物品资料
@item = @item_window.item
# 无法使用的情况下
if @item.is_a?(RPG::Item)
unless $game_party.item_can_use?(@item.id)
# 演奏冻结 SE
$game_system.se_play($data_system.buzzer_se)
return
end
elsif [email protected]_a?(RPG::Weapon)
# 演奏冻结 SE
$game_system.se_play($data_system.buzzer_se)
return
end
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 设置行动
@active_battler.current_action.item_id = [@item.is_a?(RPG::Item), @item.id]
# 设置物品窗口为不可见状态
@item_window.visible = false
# 效果范围是敌单体的情况下
if @item.is_a?(RPG::Weapon) or @item.scope == 1
$game_party.lose_weapon(@item.id, 1) if @item.is_a?(RPG::Weapon)
# 开始选择敌人
start_enemy_select
# 效果范围是我方单体的情况下
elsif @item.scope == 3 or @item.scope == 5
# 开始选择角色
start_actor_select
# 效果范围不是单体的情况下
else
# 物品选择结束
end_item_select
# 转到下一位角色的指令输入
end_atk(@active_battler.index)
phase3_next_actor
end
return
end
#--------------------------------------------------------------------------
# ● 画面更新 (角色指令回合 : 选择杂项)
#--------------------------------------------------------------------------
def update_phase3_bmenu
case @bmenu.index
when 0
@back_bmenu.contents = Bitmap.new("Graphics/System/battle_menu/bmenu_item.png")
when 1
@back_bmenu.contents = Bitmap.new("Graphics/System/battle_menu/bmenu_throw.png")
when 2
@back_bmenu.contents = Bitmap.new("Graphics/System/battle_menu/bmenu_run.png")
when 3
@back_bmenu.contents = Bitmap.new("Graphics/System/battle_menu/bmenu_status.png")
end
# 刷新杂项窗口
@bmenu.update
# 按下 B 键的情况下
if Input.trigger?(Input::B)
# 演奏取消 SE
$game_system.se_play($data_system.cancel_se)
# 结束杂项选择
end_bmenu
return
end
# 按下 C 键的情况下
if Input.trigger?(Input::C)
@throw_s = 0
case @bmenu.index
when 0
@bm = 0
@throw_s = 0
@active_battler.current_action.kind = 2
# 开始选择物品
start_item_select
when 1
@bm = 0
@throw_s = 1
@active_battler.current_action.kind = 11
# 开始选择投掷
start_item_select
when 2
end_bmenu
# 不能逃跑的情况下
if $game_temp.battle_can_escape == false
# 演奏冻结 SE
$game_system.se_play($data_system.buzzer_se)
return
end
# 演奏确定 SE
$game_system.se_play($data_system.decision_se)
# 逃走处理
update_phase2_escape
when 3
@bm = 0
start_battler_status
end
$game_system.se_play($data_system.decision_se)
# 演奏确定 SE
return
end
end
#--------------------------------------------------------------------------
# ● 开始选择杂项
#--------------------------------------------------------------------------