Scene_Battle 3
#============================================
# ¡ Scene_Battle (•ªŠ„’è‹` 3)
#----------------------------------------------
# @ƒoƒgƒ‹‰æ–ʂ̈—‚ðs‚¤ƒNƒ‰ƒX‚Å‚·B
#============================================
class Scene_Battle
#------------------------------------------
# œ ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒYŠJn
#------------------------------------------
def start_phase3
# ƒtƒF[ƒY 3 ‚ɈÚs
@phase = 3
# ƒAƒNƒ^[‚ð”ñ‘I‘ðó‘Ô‚ÉÝ’è
@actor_index = -1
@active_battler = nil
# Ÿ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
phase3_next_actor
end
#------------------------------------------
# œ Ÿ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
#------------------------------------------
def phase3_next_actor
# ƒ‹[ƒv
begin
# ƒAƒNƒ^[‚Ì–¾–ŃGƒtƒFƒNƒg OFF
if @active_battler != nil
@active_battler.blink = false
end
# ÅŒã‚̃AƒNƒ^[‚Ìê‡
if @actor_index == $game_party.actors.size-1
# ƒƒCƒ“ƒtƒF[ƒYŠJn
start_phase4
return
end
# ƒAƒNƒ^[‚̃Cƒ“ƒfƒbƒNƒX‚ði‚ß‚é
@actor_index += 1
@active_battler = $game_party.actors[@actor_index]
@active_battler.blink = true
# ƒAƒNƒ^[‚ªƒRƒ}ƒ“ƒh“ü—Í‚ð󂯕t‚¯‚È‚¢ó‘Ô‚È‚ç‚à‚¤ˆê“x
end until @active_battler.inputable?
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ðƒZƒbƒgƒAƒbƒv
phase3_setup_command_window
end
#------------------------------------------
# œ ‘O‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
#------------------------------------------
def phase3_prior_actor
# ƒ‹[ƒv
begin
# ƒAƒNƒ^[‚Ì–¾–ŃGƒtƒFƒNƒg OFF
if @active_battler != nil
@active_battler.blink = false
end
# ʼn‚̃AƒNƒ^[‚Ìê‡
if @actor_index == 0
# ƒp[ƒeƒBƒRƒ}ƒ“ƒhƒtƒF[ƒYŠJn
start_phase2
return
end
# ƒAƒNƒ^[‚̃Cƒ“ƒfƒbƒNƒX‚ð–ß‚·
@actor_index -= 1
@active_battler = $game_party.actors[@actor_index]
@active_battler.blink = true
# ƒAƒNƒ^[‚ªƒRƒ}ƒ“ƒh“ü—Í‚ð󂯕t‚¯‚È‚¢ó‘Ô‚È‚ç‚à‚¤ˆê“x
end until @active_battler.inputable?
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ðƒZƒbƒgƒAƒbƒv
phase3_setup_command_window
end
#------------------------------------------
# œ ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚̃ZƒbƒgƒAƒbƒv
#------------------------------------------
def phase3_setup_command_window
# ƒp[ƒeƒBƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚𖳌ø‰»
@party_command_window.active = false
@party_command_window.visible = false
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ð—LŒø‰»
@actor_command_window.active = true
@actor_command_window.visible = true
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚̈ʒu‚ðÝ’è
@actor_command_window.x = @actor_index * 160
# ƒCƒ“ƒfƒbƒNƒX‚ð 0 ‚ÉÝ’è
@actor_command_window.index = 0
end
#------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒY)
#------------------------------------------
def update_phase3
# ƒGƒlƒ~[ƒAƒ[‚ª—LŒø‚Ìê‡
if @enemy_arrow != nil
update_phase3_enemy_select
# ƒAƒNƒ^[ƒAƒ[‚ª—LŒø‚Ìê‡
elsif @actor_arrow != nil
update_phase3_actor_select
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE‚ª—LŒø‚Ìê‡
elsif @skill_window != nil
update_phase3_skill_select
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE‚ª—LŒø‚Ìê‡
elsif @item_window != nil
update_phase3_item_select
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ª—LŒø‚Ìê‡
elsif @actor_command_window.active
update_phase3_basic_command
end
end
#------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒY : Šî–{ƒRƒ}ƒ“ƒh)
#------------------------------------------
def update_phase3_basic_command
# B ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::B)
# ƒLƒƒƒ“ƒZƒ‹ SE ‚ð‰‰‘t
$game_system.se_play($data_system.cancel_se)
# ‘O‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
phase3_prior_actor
return
end
# C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::C)
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚̃J[ƒƒ‹ˆÊ’u‚Å•ªŠò
case @actor_command_window.index
when 0 # UŒ‚
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 0
# ƒGƒlƒ~[‚Ì‘I‘ð‚ðŠJn
start_enemy_select
when 1 # ƒXƒLƒ‹
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.kind = 1
# ƒXƒLƒ‹‚Ì‘I‘ð‚ðŠJn
start_skill_select
when 2 # –hŒä
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 1
# Ÿ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
phase3_next_actor
when 3 # ƒAƒCƒeƒ€
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.kind = 2
# ƒAƒCƒeƒ€‚Ì‘I‘ð‚ðŠJn
start_item_select
end
return
end
end
#------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒY : ƒXƒLƒ‹‘I‘ð)
#------------------------------------------
def update_phase3_skill_select
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE‚ð‰Â‹ó‘Ô‚É‚·‚é
@skill_window.visible = true
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE‚ðXV
@skill_window.update
# B ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::B)
# ƒLƒƒƒ“ƒZƒ‹ SE ‚ð‰‰‘t
$game_system.se_play($data_system.cancel_se)
# ƒXƒLƒ‹‚Ì‘I‘ð‚ðI—¹
end_skill_select
return
end
# C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::C)
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE‚ÅŒ»Ý‘I‘ð‚³‚ê‚Ä‚¢‚éƒf[ƒ^‚ð擾
@skill = @skill_window.skill
# g—p‚Å‚«‚È‚¢ê‡
if @skill == nil or not @active_battler.skill_can_use?(@skill.id)
# ƒuƒU[ SE ‚ð‰‰‘t
$game_system.se_play($data_system.buzzer_se)
return
end
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.skill_id = @skill.id
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE‚ð•s‰Â‹ó‘Ô‚É‚·‚é
@skill_window.visible = false
# Œø‰Ê”͈͂ª“G’P‘Ì‚Ìê‡
if @skill.scope == 1
# ƒGƒlƒ~[‚Ì‘I‘ð‚ðŠJn
start_enemy_select
# Œø‰Ê”͈͂ª–¡•û’P‘Ì‚Ìê‡
elsif @skill.scope == 3 or @skill.scope == 5
# ƒAƒNƒ^[‚Ì‘I‘ð‚ðŠJn
start_actor_select
# Œø‰Ê”͈͂ª’P‘Ì‚Å‚Í‚È‚¢ê‡
else
# ƒXƒLƒ‹‚Ì‘I‘ð‚ðI—¹
end_skill_select
# Ÿ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
phase3_next_actor
end
return
end
end
#------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒY : ƒAƒCƒeƒ€‘I‘ð)
#------------------------------------------
def update_phase3_item_select
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE‚ð‰Â‹ó‘Ô‚É‚·‚é
@item_window.visible = true
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE‚ðXV
@item_window.update
# B ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::B)
# ƒLƒƒƒ“ƒZƒ‹ SE ‚ð‰‰‘t
$game_system.se_play($data_system.cancel_se)
# ƒAƒCƒeƒ€‚Ì‘I‘ð‚ðI—¹
end_item_select
return
end
# C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::C)
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE‚ÅŒ»Ý‘I‘ð‚³‚ê‚Ä‚¢‚éƒf[ƒ^‚ð擾
@item = @item_window.item
# g—p‚Å‚«‚È‚¢ê‡
unless $game_party.item_can_use?(@item.id)
# ƒuƒU[ SE ‚ð‰‰‘t
$game_system.se_play($data_system.buzzer_se)
return
end
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.item_id = @item.id
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE‚ð•s‰Â‹ó‘Ô‚É‚·‚é
@item_window.visible = false
# Œø‰Ê”͈͂ª“G’P‘Ì‚Ìê‡
if @item.scope == 1
# ƒGƒlƒ~[‚Ì‘I‘ð‚ðŠJn
start_enemy_select
# Œø‰Ê”͈͂ª–¡•û’P‘Ì‚Ìê‡
elsif @item.scope == 3 or @item.scope == 5
# ƒAƒNƒ^[‚Ì‘I‘ð‚ðŠJn
start_actor_select
# Œø‰Ê”͈͂ª’P‘Ì‚Å‚Í‚È‚¢ê‡
else
# ƒAƒCƒeƒ€‚Ì‘I‘ð‚ðI—¹
end_item_select
# Ÿ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
phase3_next_actor
end
return
end
end
#------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒY : ƒGƒlƒ~[‘I‘ð)
#------------------------------------------
def update_phase3_enemy_select
# ƒGƒlƒ~[ƒAƒ[‚ðXV
@enemy_arrow.update
# B ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::B)
# ƒLƒƒƒ“ƒZƒ‹ SE ‚ð‰‰‘t
$game_system.se_play($data_system.cancel_se)
# ƒGƒlƒ~[‚Ì‘I‘ð‚ðI—¹
end_enemy_select
return
end
# C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::C)
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.target_index = @enemy_arrow.index
# ƒGƒlƒ~[‚Ì‘I‘ð‚ðI—¹
end_enemy_select
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE•¦’†‚Ìê‡
if @skill_window != nil
# ƒXƒLƒ‹‚Ì‘I‘ð‚ðI—¹
end_skill_select
end
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE•¦’†‚Ìê‡
if @item_window != nil
# ƒAƒCƒeƒ€‚Ì‘I‘ð‚ðI—¹
end_item_select
end
# Ÿ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
phase3_next_actor
end
end
#------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒY : ƒAƒNƒ^[‘I‘ð)
#------------------------------------------
def update_phase3_actor_select
# ƒAƒNƒ^[ƒAƒ[‚ðXV
@actor_arrow.update
# B ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::B)
# ƒLƒƒƒ“ƒZƒ‹ SE ‚ð‰‰‘t
$game_system.se_play($data_system.cancel_se)
# ƒAƒNƒ^[‚Ì‘I‘ð‚ðI—¹
end_actor_select
return
end
# C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::C)
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.target_index = @actor_arrow.index
# ƒAƒNƒ^[‚Ì‘I‘ð‚ðI—¹
end_actor_select
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE•¦’†‚Ìê‡
if @skill_window != nil
# ƒXƒLƒ‹‚Ì‘I‘ð‚ðI—¹
end_skill_select
end
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE•¦’†‚Ìê‡
if @item_window != nil
# ƒAƒCƒeƒ€‚Ì‘I‘ð‚ðI—¹
end_item_select
end
# Ÿ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
phase3_next_actor
end
end
#------------------------------------------
# œ ƒGƒlƒ~[‘I‘ðŠJn
#------------------------------------------
def start_enemy_select
# ƒGƒlƒ~[ƒAƒ[‚ðì¬
@enemy_arrow = Arrow_Enemy.new(@spriteset.viewport1)
# ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ðŠÖ˜A•t‚¯
@enemy_arrow.help_window = @help_window
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚𖳌ø‰»
@actor_command_window.active = false
@actor_command_window.visible = false
end
#------------------------------------------
# œ ƒGƒlƒ~[‘I‘ðI—¹
#------------------------------------------
def end_enemy_select
# ƒGƒlƒ~[ƒAƒ[‚ð‰ð•ú
@enemy_arrow.dispose
@enemy_arrow = nil
# ƒRƒ}ƒ“ƒh‚ª [키] ‚Ìê‡
if @actor_command_window.index == 0
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ð—LŒø‰»
@actor_command_window.active = true
@actor_command_window.visible = true
# ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ð‰B‚·
@help_window.visible = false
end
end
#------------------------------------------
# œ ƒAƒNƒ^[‘I‘ðŠJn
#------------------------------------------
def start_actor_select
# ƒAƒNƒ^[ƒAƒ[‚ðì¬
@actor_arrow = Arrow_Actor.new(@spriteset.viewport2)
@actor_arrow.index = @actor_index
# ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ðŠÖ˜A•t‚¯
@actor_arrow.help_window = @help_window
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚𖳌ø‰»
@actor_command_window.active = false
@actor_command_window.visible = false
end
#------------------------------------------
# œ ƒAƒNƒ^[‘I‘ðI—¹
#------------------------------------------
def end_actor_select
# ƒAƒNƒ^[ƒAƒ[‚ð‰ð•ú
@actor_arrow.dispose
@actor_arrow = nil
end
#------------------------------------------
# œ ƒXƒLƒ‹‘I‘ðŠJn
#------------------------------------------
def start_skill_select
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE‚ðì¬
@skill_window = Window_Skill.new(@active_battler)
# ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ðŠÖ˜A•t‚¯
@skill_window.help_window = @help_window
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚𖳌ø‰»
@actor_command_window.active = false
@actor_command_window.visible = false
end
#------------------------------------------
# œ ƒXƒLƒ‹‘I‘ðI—¹
#------------------------------------------
def end_skill_select
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE‚ð‰ð•ú
@skill_window.dispose
@skill_window = nil
# ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ð‰B‚·
@help_window.visible = false
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ð—LŒø‰»
@actor_command_window.active = true
@actor_command_window.visible = true
end
#------------------------------------------
# œ ƒAƒCƒeƒ€‘I‘ðŠJn
#------------------------------------------
def start_item_select
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE‚ðì¬
@item_window = Window_Item.new
# ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ðŠÖ˜A•t‚¯
@item_window.help_window = @help_window
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚𖳌ø‰»
@actor_command_window.active = false
@actor_command_window.visible = false
end
#------------------------------------------
# œ ƒAƒCƒeƒ€‘I‘ðI—¹
#------------------------------------------
def end_item_select
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE‚ð‰ð•ú
@item_window.dispose
@item_window = nil
# ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ð‰B‚·
@help_window.visible = false
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ð—LŒø‰»
@actor_command_window.active = true
@actor_command_window.visible = true
end
end
# ¡ Scene_Battle (•ªŠ„’è‹` 3)
#----------------------------------------------
# @ƒoƒgƒ‹‰æ–ʂ̈—‚ðs‚¤ƒNƒ‰ƒX‚Å‚·B
#============================================
class Scene_Battle
#------------------------------------------
# œ ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒYŠJn
#------------------------------------------
def start_phase3
# ƒtƒF[ƒY 3 ‚ɈÚs
@phase = 3
# ƒAƒNƒ^[‚ð”ñ‘I‘ðó‘Ô‚ÉÝ’è
@actor_index = -1
@active_battler = nil
# Ÿ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
phase3_next_actor
end
#------------------------------------------
# œ Ÿ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
#------------------------------------------
def phase3_next_actor
# ƒ‹[ƒv
begin
# ƒAƒNƒ^[‚Ì–¾–ŃGƒtƒFƒNƒg OFF
if @active_battler != nil
@active_battler.blink = false
end
# ÅŒã‚̃AƒNƒ^[‚Ìê‡
if @actor_index == $game_party.actors.size-1
# ƒƒCƒ“ƒtƒF[ƒYŠJn
start_phase4
return
end
# ƒAƒNƒ^[‚̃Cƒ“ƒfƒbƒNƒX‚ði‚ß‚é
@actor_index += 1
@active_battler = $game_party.actors[@actor_index]
@active_battler.blink = true
# ƒAƒNƒ^[‚ªƒRƒ}ƒ“ƒh“ü—Í‚ð󂯕t‚¯‚È‚¢ó‘Ô‚È‚ç‚à‚¤ˆê“x
end until @active_battler.inputable?
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ðƒZƒbƒgƒAƒbƒv
phase3_setup_command_window
end
#------------------------------------------
# œ ‘O‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
#------------------------------------------
def phase3_prior_actor
# ƒ‹[ƒv
begin
# ƒAƒNƒ^[‚Ì–¾–ŃGƒtƒFƒNƒg OFF
if @active_battler != nil
@active_battler.blink = false
end
# ʼn‚̃AƒNƒ^[‚Ìê‡
if @actor_index == 0
# ƒp[ƒeƒBƒRƒ}ƒ“ƒhƒtƒF[ƒYŠJn
start_phase2
return
end
# ƒAƒNƒ^[‚̃Cƒ“ƒfƒbƒNƒX‚ð–ß‚·
@actor_index -= 1
@active_battler = $game_party.actors[@actor_index]
@active_battler.blink = true
# ƒAƒNƒ^[‚ªƒRƒ}ƒ“ƒh“ü—Í‚ð󂯕t‚¯‚È‚¢ó‘Ô‚È‚ç‚à‚¤ˆê“x
end until @active_battler.inputable?
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ðƒZƒbƒgƒAƒbƒv
phase3_setup_command_window
end
#------------------------------------------
# œ ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚̃ZƒbƒgƒAƒbƒv
#------------------------------------------
def phase3_setup_command_window
# ƒp[ƒeƒBƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚𖳌ø‰»
@party_command_window.active = false
@party_command_window.visible = false
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ð—LŒø‰»
@actor_command_window.active = true
@actor_command_window.visible = true
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚̈ʒu‚ðÝ’è
@actor_command_window.x = @actor_index * 160
# ƒCƒ“ƒfƒbƒNƒX‚ð 0 ‚ÉÝ’è
@actor_command_window.index = 0
end
#------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒY)
#------------------------------------------
def update_phase3
# ƒGƒlƒ~[ƒAƒ[‚ª—LŒø‚Ìê‡
if @enemy_arrow != nil
update_phase3_enemy_select
# ƒAƒNƒ^[ƒAƒ[‚ª—LŒø‚Ìê‡
elsif @actor_arrow != nil
update_phase3_actor_select
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE‚ª—LŒø‚Ìê‡
elsif @skill_window != nil
update_phase3_skill_select
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE‚ª—LŒø‚Ìê‡
elsif @item_window != nil
update_phase3_item_select
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ª—LŒø‚Ìê‡
elsif @actor_command_window.active
update_phase3_basic_command
end
end
#------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒY : Šî–{ƒRƒ}ƒ“ƒh)
#------------------------------------------
def update_phase3_basic_command
# B ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::B)
# ƒLƒƒƒ“ƒZƒ‹ SE ‚ð‰‰‘t
$game_system.se_play($data_system.cancel_se)
# ‘O‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
phase3_prior_actor
return
end
# C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::C)
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚̃J[ƒƒ‹ˆÊ’u‚Å•ªŠò
case @actor_command_window.index
when 0 # UŒ‚
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 0
# ƒGƒlƒ~[‚Ì‘I‘ð‚ðŠJn
start_enemy_select
when 1 # ƒXƒLƒ‹
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.kind = 1
# ƒXƒLƒ‹‚Ì‘I‘ð‚ðŠJn
start_skill_select
when 2 # –hŒä
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.kind = 0
@active_battler.current_action.basic = 1
# Ÿ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
phase3_next_actor
when 3 # ƒAƒCƒeƒ€
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.kind = 2
# ƒAƒCƒeƒ€‚Ì‘I‘ð‚ðŠJn
start_item_select
end
return
end
end
#------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒY : ƒXƒLƒ‹‘I‘ð)
#------------------------------------------
def update_phase3_skill_select
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE‚ð‰Â‹ó‘Ô‚É‚·‚é
@skill_window.visible = true
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE‚ðXV
@skill_window.update
# B ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::B)
# ƒLƒƒƒ“ƒZƒ‹ SE ‚ð‰‰‘t
$game_system.se_play($data_system.cancel_se)
# ƒXƒLƒ‹‚Ì‘I‘ð‚ðI—¹
end_skill_select
return
end
# C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::C)
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE‚ÅŒ»Ý‘I‘ð‚³‚ê‚Ä‚¢‚éƒf[ƒ^‚ð擾
@skill = @skill_window.skill
# g—p‚Å‚«‚È‚¢ê‡
if @skill == nil or not @active_battler.skill_can_use?(@skill.id)
# ƒuƒU[ SE ‚ð‰‰‘t
$game_system.se_play($data_system.buzzer_se)
return
end
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.skill_id = @skill.id
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE‚ð•s‰Â‹ó‘Ô‚É‚·‚é
@skill_window.visible = false
# Œø‰Ê”͈͂ª“G’P‘Ì‚Ìê‡
if @skill.scope == 1
# ƒGƒlƒ~[‚Ì‘I‘ð‚ðŠJn
start_enemy_select
# Œø‰Ê”͈͂ª–¡•û’P‘Ì‚Ìê‡
elsif @skill.scope == 3 or @skill.scope == 5
# ƒAƒNƒ^[‚Ì‘I‘ð‚ðŠJn
start_actor_select
# Œø‰Ê”͈͂ª’P‘Ì‚Å‚Í‚È‚¢ê‡
else
# ƒXƒLƒ‹‚Ì‘I‘ð‚ðI—¹
end_skill_select
# Ÿ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
phase3_next_actor
end
return
end
end
#------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒY : ƒAƒCƒeƒ€‘I‘ð)
#------------------------------------------
def update_phase3_item_select
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE‚ð‰Â‹ó‘Ô‚É‚·‚é
@item_window.visible = true
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE‚ðXV
@item_window.update
# B ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::B)
# ƒLƒƒƒ“ƒZƒ‹ SE ‚ð‰‰‘t
$game_system.se_play($data_system.cancel_se)
# ƒAƒCƒeƒ€‚Ì‘I‘ð‚ðI—¹
end_item_select
return
end
# C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::C)
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE‚ÅŒ»Ý‘I‘ð‚³‚ê‚Ä‚¢‚éƒf[ƒ^‚ð擾
@item = @item_window.item
# g—p‚Å‚«‚È‚¢ê‡
unless $game_party.item_can_use?(@item.id)
# ƒuƒU[ SE ‚ð‰‰‘t
$game_system.se_play($data_system.buzzer_se)
return
end
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.item_id = @item.id
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE‚ð•s‰Â‹ó‘Ô‚É‚·‚é
@item_window.visible = false
# Œø‰Ê”͈͂ª“G’P‘Ì‚Ìê‡
if @item.scope == 1
# ƒGƒlƒ~[‚Ì‘I‘ð‚ðŠJn
start_enemy_select
# Œø‰Ê”͈͂ª–¡•û’P‘Ì‚Ìê‡
elsif @item.scope == 3 or @item.scope == 5
# ƒAƒNƒ^[‚Ì‘I‘ð‚ðŠJn
start_actor_select
# Œø‰Ê”͈͂ª’P‘Ì‚Å‚Í‚È‚¢ê‡
else
# ƒAƒCƒeƒ€‚Ì‘I‘ð‚ðI—¹
end_item_select
# Ÿ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
phase3_next_actor
end
return
end
end
#------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒY : ƒGƒlƒ~[‘I‘ð)
#------------------------------------------
def update_phase3_enemy_select
# ƒGƒlƒ~[ƒAƒ[‚ðXV
@enemy_arrow.update
# B ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::B)
# ƒLƒƒƒ“ƒZƒ‹ SE ‚ð‰‰‘t
$game_system.se_play($data_system.cancel_se)
# ƒGƒlƒ~[‚Ì‘I‘ð‚ðI—¹
end_enemy_select
return
end
# C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::C)
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.target_index = @enemy_arrow.index
# ƒGƒlƒ~[‚Ì‘I‘ð‚ðI—¹
end_enemy_select
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE•¦’†‚Ìê‡
if @skill_window != nil
# ƒXƒLƒ‹‚Ì‘I‘ð‚ðI—¹
end_skill_select
end
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE•¦’†‚Ìê‡
if @item_window != nil
# ƒAƒCƒeƒ€‚Ì‘I‘ð‚ðI—¹
end_item_select
end
# Ÿ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
phase3_next_actor
end
end
#------------------------------------------
# œ ƒtƒŒ[ƒ€XV (ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒtƒF[ƒY : ƒAƒNƒ^[‘I‘ð)
#------------------------------------------
def update_phase3_actor_select
# ƒAƒNƒ^[ƒAƒ[‚ðXV
@actor_arrow.update
# B ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::B)
# ƒLƒƒƒ“ƒZƒ‹ SE ‚ð‰‰‘t
$game_system.se_play($data_system.cancel_se)
# ƒAƒNƒ^[‚Ì‘I‘ð‚ðI—¹
end_actor_select
return
end
# C ƒ{ƒ^ƒ“‚ª‰Ÿ‚³‚ꂽê‡
if Input.trigger?(Input::C)
# Œˆ’è SE ‚ð‰‰‘t
$game_system.se_play($data_system.decision_se)
# ƒAƒNƒVƒ‡ƒ“‚ðÝ’è
@active_battler.current_action.target_index = @actor_arrow.index
# ƒAƒNƒ^[‚Ì‘I‘ð‚ðI—¹
end_actor_select
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE•¦’†‚Ìê‡
if @skill_window != nil
# ƒXƒLƒ‹‚Ì‘I‘ð‚ðI—¹
end_skill_select
end
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE•¦’†‚Ìê‡
if @item_window != nil
# ƒAƒCƒeƒ€‚Ì‘I‘ð‚ðI—¹
end_item_select
end
# Ÿ‚̃AƒNƒ^[‚̃Rƒ}ƒ“ƒh“ü—Í‚Ö
phase3_next_actor
end
end
#------------------------------------------
# œ ƒGƒlƒ~[‘I‘ðŠJn
#------------------------------------------
def start_enemy_select
# ƒGƒlƒ~[ƒAƒ[‚ðì¬
@enemy_arrow = Arrow_Enemy.new(@spriteset.viewport1)
# ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ðŠÖ˜A•t‚¯
@enemy_arrow.help_window = @help_window
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚𖳌ø‰»
@actor_command_window.active = false
@actor_command_window.visible = false
end
#------------------------------------------
# œ ƒGƒlƒ~[‘I‘ðI—¹
#------------------------------------------
def end_enemy_select
# ƒGƒlƒ~[ƒAƒ[‚ð‰ð•ú
@enemy_arrow.dispose
@enemy_arrow = nil
# ƒRƒ}ƒ“ƒh‚ª [키] ‚Ìê‡
if @actor_command_window.index == 0
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ð—LŒø‰»
@actor_command_window.active = true
@actor_command_window.visible = true
# ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ð‰B‚·
@help_window.visible = false
end
end
#------------------------------------------
# œ ƒAƒNƒ^[‘I‘ðŠJn
#------------------------------------------
def start_actor_select
# ƒAƒNƒ^[ƒAƒ[‚ðì¬
@actor_arrow = Arrow_Actor.new(@spriteset.viewport2)
@actor_arrow.index = @actor_index
# ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ðŠÖ˜A•t‚¯
@actor_arrow.help_window = @help_window
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚𖳌ø‰»
@actor_command_window.active = false
@actor_command_window.visible = false
end
#------------------------------------------
# œ ƒAƒNƒ^[‘I‘ðI—¹
#------------------------------------------
def end_actor_select
# ƒAƒNƒ^[ƒAƒ[‚ð‰ð•ú
@actor_arrow.dispose
@actor_arrow = nil
end
#------------------------------------------
# œ ƒXƒLƒ‹‘I‘ðŠJn
#------------------------------------------
def start_skill_select
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE‚ðì¬
@skill_window = Window_Skill.new(@active_battler)
# ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ðŠÖ˜A•t‚¯
@skill_window.help_window = @help_window
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚𖳌ø‰»
@actor_command_window.active = false
@actor_command_window.visible = false
end
#------------------------------------------
# œ ƒXƒLƒ‹‘I‘ðI—¹
#------------------------------------------
def end_skill_select
# ƒXƒLƒ‹ƒEƒBƒ“ƒhƒE‚ð‰ð•ú
@skill_window.dispose
@skill_window = nil
# ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ð‰B‚·
@help_window.visible = false
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ð—LŒø‰»
@actor_command_window.active = true
@actor_command_window.visible = true
end
#------------------------------------------
# œ ƒAƒCƒeƒ€‘I‘ðŠJn
#------------------------------------------
def start_item_select
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE‚ðì¬
@item_window = Window_Item.new
# ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ðŠÖ˜A•t‚¯
@item_window.help_window = @help_window
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚𖳌ø‰»
@actor_command_window.active = false
@actor_command_window.visible = false
end
#------------------------------------------
# œ ƒAƒCƒeƒ€‘I‘ðI—¹
#------------------------------------------
def end_item_select
# ƒAƒCƒeƒ€ƒEƒBƒ“ƒhƒE‚ð‰ð•ú
@item_window.dispose
@item_window = nil
# ƒwƒ‹ƒvƒEƒBƒ“ƒhƒE‚ð‰B‚·
@help_window.visible = false
# ƒAƒNƒ^[ƒRƒ}ƒ“ƒhƒEƒBƒ“ƒhƒE‚ð—LŒø‰»
@actor_command_window.active = true
@actor_command_window.visible = true
end
end