#==============================================================================
# ★ RGSS3_TurnWindowDisplayforBattle Ver1.01
#==============================================================================
=begin
Author:ぷり娘 (prico)
web site:Sister's Eternal 4th(Ancient)
URL:http://pricono.whitesnow.jp/
Permission to use: Not required, but please mention in the game, Readme, etc.
Displays the current amount of turns on the battle screen.
The number of turns is displayed up to 3 digits (limit 999 turns)
By default, it'll appear in semi-transparent window.
Position of Turn Window can be change through script setting.
Also, it will hidden during battle events.
2012.06.21 Ver1.00 Public release
2012.06.23 Ver1.01 Fixed a bug where an enemy action does not match # turn display.
=end
#==============================================================================
# Setting
#==============================================================================
module Prico
#X coordinate of Turn Window
WindowX = 440
#Y coordinate of Turn Window
WindowY = 0
#Turn Window width
WindowW = 104
end
#==============================================================================
# ■ BattleManager
#------------------------------------------------------------------------------
# Module that manages the battle progress
#==============================================================================
module BattleManager
#--------------------------------------------------------------------------
# ● Turn start(redefinition, just delete $game_troop.increase_turn)
#--------------------------------------------------------------------------
def self.turn_start
@phase = :turn
clear_actor
make_action_orders
end
#--------------------------------------------------------------------------
# ● Command input start(redefinition, just delete $game_troop.make_actions)
#--------------------------------------------------------------------------
def self.input_start
if @phase != :input
@phase = :input
$game_party.make_actions
clear_actor
end
return !@surprise && $game_party.inputable?
end
end
#==============================================================================
# ■ Scene_Battle
#------------------------------------------------------------------------------
# Class that performs battle screen processing
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● Create all windows(alias)
#--------------------------------------------------------------------------
alias create_all_windows_org create_all_windows
def create_all_windows
create_all_windows_org
create_turn_window
end
#--------------------------------------------------------------------------
# ● Creating turn number window(new)
#--------------------------------------------------------------------------
def create_turn_window
@turn_window = Window_Turn.new
@turn_window.visible = false
end
#--------------------------------------------------------------------------
# ● Battle start(alias)
#--------------------------------------------------------------------------
alias battle_start_org battle_start
def battle_start
battle_start_org
$game_troop.increase_turn
$game_troop.make_actions
@turn_window.opacity = 127
@turn_window.visible = true
@turn_window.refresh
end
#--------------------------------------------------------------------------
# ● Turn start(alias)
#--------------------------------------------------------------------------
alias turn_start_org turn_start
def turn_start
turn_start_org
@turn_window.visible = true
@turn_window.refresh
end
#--------------------------------------------------------------------------
# ● Turn end(alias)
#--------------------------------------------------------------------------
alias turn_end_org turn_end
def turn_end
turn_end_org
$game_troop.increase_turn
$game_troop.make_actions
@turn_window.visible = true
@turn_window.refresh
end
#--------------------------------------------------------------------------
# ● Event processing(redefinition)
#--------------------------------------------------------------------------
def process_event
while !scene_changing?
@turn_window.visible = false if $game_troop.interpreter.running?
$game_troop.interpreter.update
$game_troop.setup_battle_event
wait_for_message
wait_for_effect if $game_troop.all_dead?
process_forced_action
BattleManager.judge_win_loss
break unless $game_troop.interpreter.running?
update_for_wait
end
end
end
#==============================================================================
# ■ Window_Turn
# Window that displays the current number of turns
#==============================================================================
class Window_Turn < Window_Base
#--------------------------------------------------------------------------
# ● Object initialization
#--------------------------------------------------------------------------
def initialize
super(Prico::WindowX,Prico::WindowY,Prico::WindowW,line_height * 2)
self.contents = Bitmap.new(self.width - 24, self.height - 28)
refresh
end
#--------------------------------------------------------------------------
# ● Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.size = 23
@text = sprintf("%03d %s",$game_troop.turn_count,"TURN")
draw_text_ex(0, 0, @text)
reset_font_settings
end
end