mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
704 lines
25 KiB
Ruby
704 lines
25 KiB
Ruby
#==============================================================================
|
||
#
|
||
# <20>¥ Yanfly Engine Ace - Visual Battlers v1.01
|
||
# -- Last Updated: 2012.07.24
|
||
# -- Level: Easy
|
||
# -- Requires: n/a
|
||
#
|
||
# <20>¥ Modified by:
|
||
# -- Yami
|
||
# -- Kread-Ex
|
||
# -- Archeia_Nessiah
|
||
#==============================================================================
|
||
|
||
$imported = {} if $imported.nil?
|
||
$imported["YEA-VisualBattlers"] = true
|
||
|
||
#==============================================================================
|
||
# <20>¥ Updates
|
||
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||
# 2012.12.18 - Added preset views and able to change direction in-game.
|
||
# 2012.07.24 - Finished Script.
|
||
# 2012.01.05 - Started Script.
|
||
#
|
||
#==============================================================================
|
||
# <20>¥ Introduction
|
||
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||
# This script provides a visual for all actors by default charsets. The actions
|
||
# and movements are alike Final Fantasy 1, only move forward and backward when
|
||
# start and finish actions.
|
||
#
|
||
#==============================================================================
|
||
# <20>¥ Instructions
|
||
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||
# To change the player direction in-game, use the snippet below in a script
|
||
# call:
|
||
#
|
||
# $game_system.party_direction = n
|
||
#
|
||
# To install this script, open up your script editor and copy/paste this script
|
||
# to an open slot below <20>¥ Materials but above <20>¥ Main. Remember to save.
|
||
#
|
||
#==============================================================================
|
||
# <20>¥ 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 VISUAL_BATTLERS
|
||
|
||
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
||
# - Party Location Setting -
|
||
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
||
# These settings are adjusted for Party Location. Each Actor will have
|
||
# coordinates calculated by below formula. There are two samples coordinates
|
||
# below, change PARTY_DIRECTION to the base index you want to use.
|
||
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
||
PARTY_DIRECTION = 6 # This direction is opposite from actual direction.
|
||
|
||
PARTY_LOCATION_BASE_COORDINATES ={
|
||
# Index => [base_x, base_y, mod_x, mod_y],
|
||
2 => [ 250, 290, 40, 0], #UP
|
||
4 => [ 150, 280, 20, -20], #LEFT
|
||
3 => [ 460, 280, 30, -10], #RIGHT
|
||
6 => [ 460, 230, 20, 20], #DEFAULT RIGHT
|
||
8 => [ 260, 230, 40, 0], #DOWN
|
||
} # Do not remove this.
|
||
|
||
PARTY_LOCATION_FORMULA_X = "base_x + index * mod_x"
|
||
PARTY_LOCATION_FORMULA_Y = "base_y + index * mod_y"
|
||
|
||
end # VISUAL_BATTLERS
|
||
end # YEA
|
||
|
||
#==============================================================================
|
||
# <20>¥ 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.
|
||
#==============================================================================
|
||
|
||
#==============================================================================
|
||
# ? <20>¥ Direction
|
||
#==============================================================================
|
||
|
||
module Direction
|
||
|
||
#--------------------------------------------------------------------------
|
||
# self.correct
|
||
#--------------------------------------------------------------------------
|
||
def self.correct(direction)
|
||
case direction
|
||
when 1; return 4
|
||
when 3; return 6
|
||
when 7; return 4
|
||
when 9; return 6
|
||
else; return direction
|
||
end
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# self.opposite
|
||
#--------------------------------------------------------------------------
|
||
def self.opposite(direction)
|
||
case direction
|
||
when 1; return 6
|
||
when 2; return 8
|
||
when 3; return 4
|
||
when 4; return 6
|
||
when 6; return 4
|
||
when 7; return 6
|
||
when 8; return 2
|
||
when 9; return 4
|
||
else; return direction
|
||
end
|
||
end
|
||
|
||
end # Direction
|
||
|
||
#==============================================================================
|
||
# ? <20>¥ Game_System
|
||
#==============================================================================
|
||
|
||
class Game_System; attr_accessor :party_direction; end
|
||
|
||
#==============================================================================
|
||
# ? <20>¥ Game_BattleCharacter
|
||
#==============================================================================
|
||
|
||
class Game_BattleCharacter < Game_Character
|
||
|
||
#--------------------------------------------------------------------------
|
||
# initialize
|
||
#--------------------------------------------------------------------------
|
||
def initialize(actor)
|
||
super()
|
||
setup_actor(actor)
|
||
@move_x_rate = 0
|
||
@move_y_rate = 0
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# setup_actor
|
||
#--------------------------------------------------------------------------
|
||
def setup_actor(actor)
|
||
@actor = actor
|
||
@step_anime = true
|
||
set_graphic(@actor.character_name, @actor.character_index)
|
||
setup_coordinates
|
||
dr = $game_system.party_direction || YEA::VISUAL_BATTLERS::PARTY_DIRECTION
|
||
direction = Direction.opposite(dr)
|
||
set_direction(Direction.correct(direction))
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# sprite=
|
||
#--------------------------------------------------------------------------
|
||
def sprite=(sprite)
|
||
@sprite = sprite
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# setup_coordinates
|
||
#--------------------------------------------------------------------------
|
||
def setup_coordinates
|
||
location = ($game_system.party_direction ||
|
||
YEA::VISUAL_BATTLERS::PARTY_DIRECTION)
|
||
base_x = YEA::VISUAL_BATTLERS::PARTY_LOCATION_BASE_COORDINATES[location][0]
|
||
base_y = YEA::VISUAL_BATTLERS::PARTY_LOCATION_BASE_COORDINATES[location][1]
|
||
mod_x = YEA::VISUAL_BATTLERS::PARTY_LOCATION_BASE_COORDINATES[location][2]
|
||
mod_y = YEA::VISUAL_BATTLERS::PARTY_LOCATION_BASE_COORDINATES[location][3]
|
||
@actor.screen_x = eval(YEA::VISUAL_BATTLERS::PARTY_LOCATION_FORMULA_X)
|
||
@actor.screen_y = eval(YEA::VISUAL_BATTLERS::PARTY_LOCATION_FORMULA_Y)
|
||
@actor.origin_x = @actor.screen_x
|
||
@actor.origin_y = @actor.screen_y
|
||
@actor.create_move_to(screen_x, screen_y, 1)
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# index
|
||
#--------------------------------------------------------------------------
|
||
def index
|
||
return @actor.index
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# screen_x
|
||
#--------------------------------------------------------------------------
|
||
def screen_x
|
||
return @actor.screen_x
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# screen_y
|
||
#--------------------------------------------------------------------------
|
||
def screen_y
|
||
return @actor.screen_y
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# screen_z
|
||
#--------------------------------------------------------------------------
|
||
def screen_z
|
||
return @actor.screen_z
|
||
end
|
||
|
||
end # Game_BattleCharacter
|
||
|
||
#==============================================================================
|
||
# ? <20>¥ Game_Battler
|
||
#==============================================================================
|
||
|
||
class Game_Battler < Game_BattlerBase
|
||
|
||
#--------------------------------------------------------------------------
|
||
# public instance variables
|
||
#--------------------------------------------------------------------------
|
||
attr_accessor :moved_back
|
||
attr_accessor :origin_x
|
||
attr_accessor :origin_y
|
||
attr_accessor :screen_x
|
||
attr_accessor :screen_y
|
||
attr_accessor :started_turn
|
||
|
||
#--------------------------------------------------------------------------
|
||
# alias method: execute_damage
|
||
#--------------------------------------------------------------------------
|
||
alias game_battler_execute_damage_vb execute_damage
|
||
def execute_damage(user)
|
||
game_battler_execute_damage_vb(user)
|
||
if @result.hp_damage > 0
|
||
move_backward(24, 6) unless @moved_back
|
||
@moved_back = true
|
||
end
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# face_opposing_party
|
||
#--------------------------------------------------------------------------
|
||
def face_opposing_party
|
||
direction = ($game_system.party_direction ||
|
||
YEA::VISUAL_BATTLERS::PARTY_DIRECTION)
|
||
character.set_direction(Direction.correct(direction)) rescue 0
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: face_coordinate
|
||
#--------------------------------------------------------------------------
|
||
def face_coordinate(destination_x, destination_y)
|
||
x1 = Integer(@screen_x)
|
||
x2 = Integer(destination_x)
|
||
y1 = Graphics.height - Integer(@screen_y)
|
||
y2 = Graphics.height - Integer(destination_y)
|
||
return if x1 == x2 and y1 == y2
|
||
#---
|
||
angle = Integer(Math.atan2((y2-y1),(x2-x1)) * 1800 / Math::PI)
|
||
if (0..225) === angle or (-225..0) === angle
|
||
direction = 6
|
||
elsif (226..675) === angle
|
||
direction = 9
|
||
elsif (676..1125) === angle
|
||
direction = 8
|
||
elsif (1126..1575) === angle
|
||
direction = 7
|
||
elsif (1576..1800) === angle or (-1800..-1576) === angle
|
||
direction = 4
|
||
elsif (-1575..-1126) === angle
|
||
direction = 1
|
||
elsif (-1125..-676) === angle
|
||
direction = 2
|
||
elsif (-675..-226) === angle
|
||
direction = 3
|
||
end
|
||
#---
|
||
character.set_direction(Direction.correct(direction)) rescue 0
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# create_move_to
|
||
#--------------------------------------------------------------------------
|
||
def create_move_to(destination_x, destination_y, frames = 12)
|
||
@destination_x = destination_x
|
||
@destination_y = destination_y
|
||
frames = [frames, 1].max
|
||
@move_x_rate = [(@screen_x - @destination_x).abs / frames, 2].max
|
||
@move_y_rate = [(@screen_y - @destination_y).abs / frames, 2].max
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# update_move_to
|
||
#--------------------------------------------------------------------------
|
||
def update_move_to
|
||
@move_x_rate = 0 if @screen_x == @destination_x || @move_x_rate.nil?
|
||
@move_y_rate = 0 if @screen_y == @destination_y || @move_y_rate.nil?
|
||
value = [(@screen_x - @destination_x).abs, @move_x_rate].min
|
||
@screen_x += (@destination_x > @screen_x) ? value : -value
|
||
value = [(@screen_y - @destination_y).abs, @move_y_rate].min
|
||
@screen_y += (@destination_y > @screen_y) ? value : -value
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# move_forward
|
||
#--------------------------------------------------------------------------
|
||
def move_forward(distance = 24, frames = 12)
|
||
direction = forward_direction
|
||
move_direction(direction, distance, frames)
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# move_backward
|
||
#--------------------------------------------------------------------------
|
||
def move_backward(distance = 24, frames = 12)
|
||
direction = Direction.opposite(forward_direction)
|
||
move_direction(direction, distance, frames)
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# move_direction
|
||
#--------------------------------------------------------------------------
|
||
def move_direction(direction, distance = 24, frames = 12)
|
||
case direction
|
||
when 1; move_x = distance / -2; move_y = distance / 2
|
||
when 2; move_x = distance * 0; move_y = distance * 1
|
||
when 3; move_x = distance / -2; move_y = distance / 2
|
||
when 4; move_x = distance * -1; move_y = distance * 0
|
||
when 6; move_x = distance * 1; move_y = distance * 0
|
||
when 7; move_x = distance / -2; move_y = distance / -2
|
||
when 8; move_x = distance * 0; move_y = distance * -1
|
||
when 9; move_x = distance / 2; move_y = distance / -2
|
||
else; return
|
||
end
|
||
destination_x = @screen_x + move_x
|
||
destination_y = @screen_y + move_y
|
||
create_move_to(destination_x, destination_y, frames)
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# forward_direction
|
||
#--------------------------------------------------------------------------
|
||
def forward_direction
|
||
return ($game_system.party_direction ||
|
||
YEA::VISUAL_BATTLERS::PARTY_DIRECTION)
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# move_origin
|
||
#--------------------------------------------------------------------------
|
||
def move_origin
|
||
create_move_to(@origin_x, @origin_y)
|
||
face_coordinate(@origin_x, @origin_y)
|
||
@moved_back = false
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# moving?
|
||
#--------------------------------------------------------------------------
|
||
def moving?
|
||
return false if dead? || !exist?
|
||
return @move_x_rate != 0 || @move_y_rate != 0
|
||
end
|
||
|
||
end # Game_Battler
|
||
|
||
#==============================================================================
|
||
# ? <20>¥ Game_Actor
|
||
#==============================================================================
|
||
|
||
class Game_Actor < Game_Battler
|
||
|
||
#--------------------------------------------------------------------------
|
||
# overwrite method: use_sprite?
|
||
#--------------------------------------------------------------------------
|
||
def use_sprite?
|
||
return true
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: screen_x
|
||
#--------------------------------------------------------------------------
|
||
def screen_x
|
||
return @screen_x rescue 0
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: screen_y
|
||
#--------------------------------------------------------------------------
|
||
def screen_y
|
||
return @screen_y rescue 0
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: screen_z
|
||
#--------------------------------------------------------------------------
|
||
def screen_z
|
||
return 100
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: sprite
|
||
#--------------------------------------------------------------------------
|
||
def sprite
|
||
index = $game_party.battle_members.index(self)
|
||
return SceneManager.scene.spriteset.actor_sprites[index]
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: character
|
||
#--------------------------------------------------------------------------
|
||
def character
|
||
return sprite.character_base
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# face_opposing_party
|
||
#--------------------------------------------------------------------------
|
||
def face_opposing_party
|
||
dr = $game_system.party_direction || YEA::VISUAL_BATTLERS::PARTY_DIRECTION
|
||
direction = Direction.opposite(dr)
|
||
character.set_direction(Direction.correct(direction)) rescue 0
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# forward_direction
|
||
#--------------------------------------------------------------------------
|
||
def forward_direction
|
||
return Direction.opposite(($game_system.party_direction ||
|
||
YEA::VISUAL_BATTLERS::PARTY_DIRECTION))
|
||
end
|
||
|
||
end # Game_Actor
|
||
|
||
#==============================================================================
|
||
# ? <20>¥ Game_Enemy
|
||
#==============================================================================
|
||
|
||
class Game_Enemy < Game_Battler
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: sprite
|
||
#--------------------------------------------------------------------------
|
||
def sprite
|
||
return SceneManager.scene.spriteset.enemy_sprites.reverse[self.index]
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: character
|
||
#--------------------------------------------------------------------------
|
||
def character
|
||
return sprite
|
||
end
|
||
|
||
end # Game_Enemy
|
||
|
||
#==============================================================================
|
||
# ? <20>¥ Game_Troop
|
||
#==============================================================================
|
||
|
||
class Game_Troop < Game_Unit
|
||
|
||
#--------------------------------------------------------------------------
|
||
# alias method: setup
|
||
#--------------------------------------------------------------------------
|
||
alias game_troop_setup_vb setup
|
||
def setup(troop_id)
|
||
game_troop_setup_vb(troop_id)
|
||
set_coordinates
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: set_coordinates
|
||
#--------------------------------------------------------------------------
|
||
def set_coordinates
|
||
for member in members
|
||
member.origin_x = member.screen_x
|
||
member.origin_y = member.screen_y
|
||
member.create_move_to(member.screen_x, member.screen_y, 1)
|
||
end
|
||
end
|
||
|
||
end # Game_Troop
|
||
|
||
#==============================================================================
|
||
# ? <20>¥ Sprite_Battler
|
||
#==============================================================================
|
||
|
||
class Sprite_Battler < Sprite_Base
|
||
|
||
#--------------------------------------------------------------------------
|
||
# public instance_variable
|
||
#--------------------------------------------------------------------------
|
||
attr_accessor :character_base
|
||
attr_accessor :character_sprite
|
||
|
||
#--------------------------------------------------------------------------
|
||
# alias method: dispose
|
||
#--------------------------------------------------------------------------
|
||
alias sprite_battler_dispose_vb dispose
|
||
def dispose
|
||
dispose_character_sprite
|
||
sprite_battler_dispose_vb
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: dispose_character_sprite
|
||
#--------------------------------------------------------------------------
|
||
def dispose_character_sprite
|
||
@character_sprite.dispose unless @character_sprite.nil?
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# alias method: update
|
||
#--------------------------------------------------------------------------
|
||
alias sprite_battler_update_vb update
|
||
def update
|
||
sprite_battler_update_vb
|
||
return if @battler.nil?
|
||
update_move_to
|
||
update_character_base
|
||
update_character_sprite
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: update_character_base
|
||
#--------------------------------------------------------------------------
|
||
def update_character_base
|
||
return if @character_base.nil?
|
||
@character_base.update
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: update_character_sprite
|
||
#--------------------------------------------------------------------------
|
||
def update_character_sprite
|
||
return if @character_sprite.nil?
|
||
@character_sprite.update
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: update_move_to
|
||
#--------------------------------------------------------------------------
|
||
def update_move_to
|
||
@battler.update_move_to
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: moving?
|
||
#--------------------------------------------------------------------------
|
||
def moving?
|
||
return false if @battler.nil?
|
||
return @battler.moving?
|
||
end
|
||
|
||
end # Sprite_Battler
|
||
|
||
#==============================================================================
|
||
# ? <20>¥ Sprite_BattleCharacter
|
||
#==============================================================================
|
||
|
||
class Sprite_BattleCharacter < Sprite_Character
|
||
|
||
#--------------------------------------------------------------------------
|
||
# initialize
|
||
#--------------------------------------------------------------------------
|
||
def initialize(viewport, character = nil)
|
||
super(viewport, character)
|
||
character.sprite = self
|
||
end
|
||
|
||
end # Sprite_BattleCharacter
|
||
|
||
#==============================================================================
|
||
# ? <20>¥ Spriteset_Battle
|
||
#==============================================================================
|
||
|
||
class Spriteset_Battle
|
||
|
||
#--------------------------------------------------------------------------
|
||
# public instance_variable
|
||
#--------------------------------------------------------------------------
|
||
attr_accessor :actor_sprites
|
||
attr_accessor :enemy_sprites
|
||
|
||
#--------------------------------------------------------------------------
|
||
# overwrite method: create_actors
|
||
#--------------------------------------------------------------------------
|
||
def create_actors
|
||
total = $game_party.max_battle_members
|
||
@current_party = $game_party.battle_members.clone
|
||
@actor_sprites = Array.new(total) { Sprite_Battler.new(@viewport1) }
|
||
for actor in $game_party.battle_members
|
||
@actor_sprites[actor.index].battler = actor
|
||
create_actor_sprite(actor)
|
||
end
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: create_actor_sprite
|
||
#--------------------------------------------------------------------------
|
||
def create_actor_sprite(actor)
|
||
character = Game_BattleCharacter.new(actor)
|
||
character_sprite = Sprite_BattleCharacter.new(@viewport1, character)
|
||
@actor_sprites[actor.index].character_base = character
|
||
@actor_sprites[actor.index].character_sprite = character_sprite
|
||
actor.face_opposing_party
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# alias method: update_actors
|
||
#--------------------------------------------------------------------------
|
||
alias spriteset_battle_update_actors_vb update_actors
|
||
def update_actors
|
||
if @current_party != $game_party.battle_members
|
||
dispose_actors
|
||
create_actors
|
||
end
|
||
spriteset_battle_update_actors_vb
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: moving?
|
||
#--------------------------------------------------------------------------
|
||
def moving?
|
||
return battler_sprites.any? {|sprite| sprite.moving? }
|
||
end
|
||
|
||
end # Spriteset_Battle
|
||
|
||
#==============================================================================
|
||
# ? <20>¥ Scene_Battle
|
||
#==============================================================================
|
||
|
||
class Scene_Battle < Scene_Base
|
||
|
||
#--------------------------------------------------------------------------
|
||
# public instance variables
|
||
#--------------------------------------------------------------------------
|
||
attr_accessor :spriteset
|
||
|
||
#--------------------------------------------------------------------------
|
||
# alias method: process_action_end
|
||
#--------------------------------------------------------------------------
|
||
alias scene_battle_process_action_end_vb process_action_end
|
||
def process_action_end
|
||
start_battler_move_origin
|
||
scene_battle_process_action_end_vb
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# alias method: execute_action
|
||
#--------------------------------------------------------------------------
|
||
alias scene_battle_execute_action_vb execute_action
|
||
def execute_action
|
||
start_battler_move_forward
|
||
scene_battle_execute_action_vb
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: start_battler_move_forward
|
||
#--------------------------------------------------------------------------
|
||
def start_battler_move_forward
|
||
return if @subject.started_turn
|
||
@subject.started_turn = true
|
||
@subject.move_forward
|
||
wait_for_moving
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: start_battler_move_origin
|
||
#--------------------------------------------------------------------------
|
||
def start_battler_move_origin
|
||
@subject.started_turn = nil
|
||
move_battlers_origin
|
||
wait_for_moving
|
||
@subject.face_opposing_party rescue 0
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: move_battlers_origin
|
||
#--------------------------------------------------------------------------
|
||
def move_battlers_origin
|
||
for member in all_battle_members
|
||
next if member.dead?
|
||
next unless member.exist?
|
||
member.move_origin
|
||
end
|
||
end
|
||
|
||
#--------------------------------------------------------------------------
|
||
# new method: wait_for_moving
|
||
#--------------------------------------------------------------------------
|
||
def wait_for_moving
|
||
update_for_wait
|
||
update_for_wait while @spriteset.moving?
|
||
end
|
||
|
||
end # Scene_Battle
|
||
|
||
#==============================================================================
|
||
#
|
||
# <20>¥ End of File
|
||
#
|
||
#==============================================================================
|