[code]#==============================================================================
# ¦ Sprite_Battler for Sideview Ver3.3
#------------------------------------------------------------------------------
#





?
#==============================================================================
class Sprite_Battler < Sprite_Base
#--------------------------------------------------------------------------
# ?



#--------------------------------------------------------------------------
def initialize(viewport, battler = nil)
super(viewport)
@battler = battler
@battler_visible = false
@effect_type = 0 #


??
@effect_duration = 0 #



?
@move_x = 0 #

?X?

?
@move_y = 0 #

?Y?

?
@move_z = 0 #

?Z?

?
@distanse_x = 0 # X?


@distanse_y = 0 # Y?


@moving_x = 0 #1?


?X?

??
@moving_y = 0 #1?


?Y?

??
@move_speed_x = 0 # X?


@move_speed_y = 0 # Y?


@move_speed_plus_x = 0 # X?




?
@move_speed_plus_y = 0 # Y?




?
@move_boost_x = 0 # X?

?
@move_boost_y = 0 # Y?

?
@jump_time = 0 #


@jump_time_plus = 0 #


??
@jump_up = 0 #


@jump_down = 0 #


@jump_size = 0 #


@float_time = 0 #

?
@float_up = 0 # 1?



??
@jump_plus = 0 #




?
@angle = 0 #

?
@angling = 0 # 1?



??
@angle_time = 0 #

?
@angle_reset = 0 #



?
@zoom_x = 0 #

??
@zoom_y = 0 #

??
@zooming_x = 0 # 1?



??
@zooming_y = 0 # 1?



??
@zoom_time = 0 #

?
@zoom_reset = 0 #



?
@target_battler = [] #



??
@now_targets = [] #



??
@pattern = 0 #

??(

?)
@pattern_back = false #


?
@wait = 0 #


??
@unloop_wait = 0 #





?
@action = [] # ??
@anime_kind = 0 #

??(


?)
@anime_speed = 0 #


@frame = 0 #



??
@anime_loop = 0 #

??
@anime_end = false #




??
@anime_freeze = false #


@anime_freeze_kind = false #



?
@anime_moving = false #


??
@base_width = N01::ANIME_PATTERN #


?
@base_height = N01::ANIME_KIND #


?
@width = 0 #

@height = 0 #

@picture_time = 0 #



@individual_targets = [] #




@balloon_duration = 65 #



@reverse = false #



?
#





?
return @battler_visible = false if @battler == nil
#









??
@anime_flug = true if @battler.actor?
@anime_flug = true if !@battler.actor? && @battler.anime_on
end
#--------------------------------------------------------------------------
# ?


#--------------------------------------------------------------------------
def make_battler
#


?
@battler.base_position
#




@battler_hue = @battler.battler_hue
#









??
if @anime_flug
#


??
@weapon_R = Sprite_Weapon.new(viewport,@battler)
#








@battler_name = @battler.character_name if @battler.actor?
@battler_name = @battler.battler_name unless @battler.actor?
#







self.mirror = true if !@battler.actor? && @battler.action_mirror
#











??
self.bitmap = Cache.character(@battler_name) if N01::WALK_ANIME
self.bitmap = Cache.character(@battler_name + "_1") unless N01::WALK_ANIME
#



@width = self.bitmap.width / @base_width
@height = self.bitmap.height / @base_height
#

??
@sx = @pattern * @width
@sy = @anime_kind * @height
#



self.src_rect.set(@sx, @sy, @width, @height)
#




?
else
#




@battler_name = @battler.battler_name
self.bitmap = Cache.battler(@battler_name, @battler_hue)
@width = bitmap.width
@height = bitmap.height
end
#






if $back_attack && @battler.actor?
self.mirror = true
elsif $back_attack && !@battler.actor?
self.mirror = true
self.mirror = false if @battler.action_mirror
else
self.mirror = false
self.mirror = true if !@battler.actor? && @battler.action_mirror
end
#


?
@weapon_R.mirroring if self.mirror && @weapon_R != nil
#


@battler.reset_coordinate
#

??
self.ox = @width / 2
self.oy = @height * 2 / 3
#



??
update_move
#





@move_anime = Sprite_MoveAnime.new(viewport,battler)
#




?
@picture = Sprite.new
#



??
@damage = Sprite_Damage.new(viewport,battler)
end
#--------------------------------------------------------------------------
# ?

#--------------------------------------------------------------------------
def make_shadow
@shadow.dispose if @shadow != nil
@battler_hue = @battler.battler_hue
@shadow = Sprite.new(viewport)
@shadow.z = self.z - 4
@shadow.visible = false
#






??
@shadow.bitmap = Cache.character(@battler.shadow)
@shadow_height = @shadow.bitmap.height
#




??
@shadow_plus_x = @battler.shadow_plus[0] - @width / 2
@shadow_plus_y = @battler.shadow_plus[1]
#







??
@shadow.zoom_x = @width * 1.0 / @shadow.bitmap.width
# ??
update_shadow
end
#--------------------------------------------------------------------------
# ? ??
#--------------------------------------------------------------------------
def dispose
self.bitmap.dispose if self.bitmap != nil
@weapon_R.dispose if @weapon_R != nil
@move_anime.dispose if @move_anime != nil
@picture.dispose if @picture != nil
@shadow.dispose if @shadow != nil
@damage.dispose if @damage != nil
@balloon.dispose if @balloon != nil
mirage_off
#


??
@battler.graphic_change(@before_graphic) if @before_graphic != nil
super
end
#--------------------------------------------------------------------------
# ?



action = [???ID,?

?,?


?]
#--------------------------------------------------------------------------
def damage_action(action)
damage = @battler.hp_damage
damage = @battler.mp_damage if @battler.mp_damage != 0
# HP?MP?




?
if @battler.hp_damage != 0 && @battler.mp_damage != 0
@battler.double_damage = true
damage = @battler.hp_damage
end
#

??HP0???
if action[0] == "absorb"
absorb = true
action[0] = nil
end
#





unless @battler.evaded or @battler.missed or action[0] == nil
@battler.animation_id = action[0]
@battler.animation_mirror = action[1]
end
#



??
start_action(@battler.damage_hit) if damage > 0 && action[2]
#







?
if @battler.evaded or @battler.missed
start_action(@battler.evasion) if action[2]
Sound.play_evasion
end
@damage.damage_pop unless absorb or action[3] != nil
end
#--------------------------------------------------------------------------
# ?

???POP
#--------------------------------------------------------------------------
def damage_pop(damage)
@damage.damage_pop(damage)
end
#--------------------------------------------------------------------------
# ?

#--------------------------------------------------------------------------
def first_action
#










??
action = @battler.first_action unless @battler.restriction >= 4
action = $data_states[@battler.state_id].base_action if @battler.states[0] != nil && @battler.restriction >= 4
start_action(action)
#



make_shadow if N01::SHADOW
end
#--------------------------------------------------------------------------
# ?


?
#--------------------------------------------------------------------------
def start_action(kind)
#


??
reset
#





??
stand_by
#




?
@action = N01::ACTION[kind].dup
#




active = @action.shift
#



@action.push("End")
#



??
@active_action = N01::ANIME[active]
#


@wait = active.to_i if @active_action == nil
#



action
end
#--------------------------------------------------------------------------
# ?



??
#--------------------------------------------------------------------------
def start_one_action(kind,back)
#


??
reset
#





??
stand_by
#






@action = [back]
#



@action.push("End")
#



??
@active_action = N01::ANIME[kind]
#



action
end
#--------------------------------------------------------------------------
# ?


??
#--------------------------------------------------------------------------
def next_action
#




?
return @wait -= 1 if @wait > 0
#







??
return if @anime_end == false
#




return @unloop_wait -= 1 if @unloop_wait > 0
#




active = @action.shift
#



??
@active_action = N01::ANIME[active]
#


@wait = active.to_i if @active_action == nil
#



action
end
#--------------------------------------------------------------------------
# ?


?
#--------------------------------------------------------------------------
def stand_by
#

??
@repeat_action = @battler.normal
# HP?1/4?



@repeat_action = @battler.pinch if @battler.hp <= @battler.maxhp / 4
#

@repeat_action = @battler.defence if @battler.guarding?
#




?
return if @battler.state_id == nil
for state in @battler.states.reverse
#






??
next if state.extension.include?("NOSTATEANIME")
#









??
next if @battler.is_a?(Game_Enemy) && state.extension.include?("EXCEPTENEMY")
#



??
@repeat_action = state.base_action
end
end
#--------------------------------------------------------------------------
# ?




#--------------------------------------------------------------------------
def push_stand_by
action = @battler.normal
action = @battler.pinch if @battler.hp <= @battler.maxhp / 4
action = @battler.defence if @battler.guarding?
for state in @battler.states.reverse
#






??
next if state.extension.include?("NOSTATEANIME")
#









??
next if @battler.is_a?(Game_Enemy) && state.extension.include?("EXCEPTENEMY")
#



??
action = state.base_action
end
@repeat_action = action
#

?
@action.delete("End")
act = N01::ACTION[action].dup
for i in 0...act.size
@action.push(act
)
end
@action.push("End")
@anime_end = true
end
#--------------------------------------------------------------------------
# ? 
??
#--------------------------------------------------------------------------
def reset
self.zoom_x = self.zoom_y = 1
self.oy = @height * 2 / 3
@angle = self.angle = 0
@anime_end = true
@non_repeat = false
@anime_freeze = false
@unloop_wait = 0
end
#--------------------------------------------------------------------------
# ? 
??
#--------------------------------------------------------------------------
def jump_reset
@battler.jump = @jump_time = @jump_time_plus = @jump_up = @jump_down = 0
@jump_size = @jump_plus = @float_time = @float_up = 0
end
#--------------------------------------------------------------------------
# ? 


#--------------------------------------------------------------------------
def get_target(target)
# 
??(







?)
return if @battler.individual
@target_battler = target
end
#--------------------------------------------------------------------------
# ? 




#--------------------------------------------------------------------------
def send_action(action)
@battler.play = 0
@battler.play = action if @battler.active
end
#--------------------------------------------------------------------------
# ? 

#--------------------------------------------------------------------------
def battler_join
if @battler.exist? && !@battler_visible
# 





if @battler.revival && @anime_flug
return @battler.revival = false
elsif @battler.revival && !@anime_flug
@battler.revival = false
self.visible = true
return
end
@anime_flug = true if @battler.actor?
@anime_flug = true if !@battler.actor? && @battler.anime_on
make_battler
first_action
end
end
#--------------------------------------------------------------------------
# ? 
?
#--------------------------------------------------------------------------
def update
super
# 


??
return self.bitmap = nil if @battler == nil
# 

battler_join
# 
??
next_action
# 


update_anime_pattern
# 
?
update_target
# 


update_force_action
#
?
update_move
# 
update_shadow if @shadow != nil
#
?
@weapon_R.update if @weapon_action
#
?
update_float if @float_time > 0
#
?
update_angle if @angle_time > 0
# 

update_zoom if @zoom_time > 0
#
?
update_mirage if @mirage_flug
# 

update_picture if @picture_time > 0
# 
??
update_move_anime if @anime_moving
# 


update_balloon if @balloon_duration <= 64
# 

??
@damage.update if @damage != nil
setup_new_effect
update_effect
update_battler_bitmap
end
#--------------------------------------------------------------------------
# ? 


#--------------------------------------------------------------------------
def update_anime_pattern
# 


?
return @frame -= 1 if @frame != 0
# 


?
@weapon_R.action if @weapon_action && @weapon_R != nil
# 








if @pattern_back
#
??
if @anime_loop == 0
#
?
if @reverse
@pattern += 1
if @pattern == @base_width - 1
@pattern_back = false
@anime_end = true
end
#
?
else
@pattern -= 1
if @pattern == 0
@pattern_back = false
@anime_end = true
end
end
# 




else
@anime_end = true
if @anime_loop == 1
@pattern = 0 if !@reverse
@pattern = @base_width - 1 if @reverse
@pattern_back = false
end
end
# 

?
else
if @reverse
@pattern -= 1
@pattern_back = true if @pattern == 0
else
@pattern += 1
@pattern_back = true if @pattern == @base_width - 1
end
end
# 
??
@frame = @anime_speed
# 




return if @anime_freeze
# 


return unless @anime_flug
@sx = @pattern * @width
@sy = @anime_kind * @height
self.src_rect.set(@sx, @sy, @width, @height)
end
#--------------------------------------------------------------------------
# ? 
? action = ["N01target_change",?
]
#--------------------------------------------------------------------------
def update_target
# 

return if @battler.force_target == 0
# 
??(







?)
return if @battler.individual
@target_battler = @battler.force_target[1]
@battler.force_target = 0
end
#--------------------------------------------------------------------------
# ? 

action = [??,??,?
??]
#--------------------------------------------------------------------------
def update_force_action
# 

??
action = @battler.force_action
return if action == 0
@battler.force_action = 0
# 


??
return if @battler.active
# 




return collapse_action if action[0] == "N01collapse"
# 


?
return start_one_action(action[2],action[1]) if action[0] == "SINGLE"
# 


?
start_action(action[2])
# 
?
return if action[1] == ""
# 






@action.delete("End")
@action.push(action[1])
@action.push("End")
end
#--------------------------------------------------------------------------
# ?
?
#--------------------------------------------------------------------------
def update_move
# 


??
if @move_speed_plus_x > 0
#
?
@move_x += @moving_x
#
??
@battler.move_x = @move_x
@move_speed_plus_x -= 1
elsif @move_speed_x > 0
#
??
if @move_boost_x != 0
@moving_x += @move_boost_x
end
#
?
@move_x += @moving_x
#
??
@battler.move_x = @move_x
@move_speed_x -= 1
end
# 


??
if @move_speed_plus_y > 0
#
?
@move_y += @moving_y
#
??
@battler.move_y = @move_y
@move_speed_plus_y -= 1
elsif @move_speed_y > 0
#
??
if @move_boost_y != 0
@moving_y += @move_boost_y
end
#
?
@move_y += @moving_y
#
??
@battler.move_y = @move_y
@move_speed_y -= 1
end
# 

if @jump_up != 0
#
?
@jump_plus += @jump_up
#
??
@battler.jump = @jump_plus
@jump_up = @jump_up / 2
@jump_time -= 1
# 



if @jump_time == 0 or @jump_up == @jump_sign
@jump_down = @jump_up * 2 * @jump_sign * @jump_sign2
@jump_time_plus += @jump_time * 2
@jump_up = 0
return
end
end
# 

if @jump_down != 0
if @jump_time_plus != 0
@jump_time_plus -= 1
elsif @jump_down != @jump_size
#
?
@jump_plus += @jump_down
#
??
@battler.jump = @jump_plus
@jump_down = @jump_down * 2
if @jump_down == @jump_size
if @jump_flug
@jump_flug = false
else
#
?
@jump_plus += @jump_down
#
??
@battler.jump = @jump_plus
@jump_down = @jump_size = 0
end
end
end
end
# 

??
self.x = @battler.position_x
self.y = @battler.position_y
self.z = @battler.position_z
end
#--------------------------------------------------------------------------
# ? 
#--------------------------------------------------------------------------
def update_shadow
@shadow.opacity = self.opacity
@shadow.x = @battler.position_x + @shadow_plus_x
@shadow.y = @battler.position_y + @shadow_plus_y - @jump_plus
@shadow.z = @battler.position_z - 4
end
#--------------------------------------------------------------------------
# ?
?
#--------------------------------------------------------------------------
def update_float
@float_time -= 1
@jump_plus += @float_up
@battler.jump = @jump_plus
end
#--------------------------------------------------------------------------
# ?
?
#--------------------------------------------------------------------------
def update_angle
#
?
@angle += @angling
self.angle = @angle
@angle_time -= 1
# 





return @angle = 0 if @angle_time == 0
# 

???0???
self.angle = 0 if @angle_reset
end
#--------------------------------------------------------------------------
# ? 

#--------------------------------------------------------------------------
def update_zoom
# 

@zoom_x += @zooming_x
@zoom_y += @zooming_y
self.zoom_x = @zoom_x
self.zoom_y = @zoom_y
@zoom_time -= 1
# 




??
return if @zoom_time != 0
@zoom_x = @zoom_y = 0
self.oy = @height * 2 / 3
# 

??
self.zoom_x = self.zoom_y = 1 if @zoom_reset
end
#--------------------------------------------------------------------------
# ?
?
#--------------------------------------------------------------------------
def update_mirage
#
??3?
???2?
??
mirage(@mirage0) if @mirage_count == 1
mirage(@mirage1) if @mirage_count == 3
mirage(@mirage2) if @mirage_count == 5
@mirage_count += 1
@mirage_count = 0 if @mirage_count == 6
end
#--------------------------------------------------------------------------
# ? 

#--------------------------------------------------------------------------
def update_picture
@picture_time -= 1
@picture.x += @moving_pic_x
@picture.y += @moving_pic_y
end
#--------------------------------------------------------------------------
# ? 
??
#--------------------------------------------------------------------------
def update_move_anime
@move_anime.update
@anime_moving = false if @move_anime.finish?
@move_anime.action_reset if @move_anime.finish?
end
#--------------------------------------------------------------------------
# ? 

?
?
#--------------------------------------------------------------------------
def update_collapse
normal_collapse if @collapse_type == 2
boss_collapse1 if @collapse_type == 3
end
#--------------------------------------------------------------------------
# ? 


#--------------------------------------------------------------------------
def update_balloon
@balloon_duration -= 1 if @balloon_duration > 0 && !@balloon_back
@balloon_duration += 1 if @balloon_back
if @balloon_duration == 64
@balloon_back = false
@balloon.visible = false
elsif @balloon_duration == 0
@balloon.visible = false if @balloon_loop == 0
@balloon_back = true if @balloon_loop == 1
end
@balloon.x = self.x
@balloon.y = self.y
@balloon.z = 10
@balloon.opacity = self.opacity
sx = 7 * 32 if @balloon_duration < 12
sx = (7 - (@balloon_duration - 12) /
* 32 unless @balloon_duration < 12
@balloon.src_rect.set(sx, @balloon_id * 32, 32, 32)
end
#--------------------------------------------------------------------------
# ? 


?
#--------------------------------------------------------------------------
def update_battler_bitmap
if @battler.actor?
if @battler.character_name != @battler_name or @battler.battler_hue != @battler_hue
@battler_name = @battler.character_name
@battler_hue = @battler.battler_hue
end
else
if @battler.battler_name != @battler_name or @battler.battler_hue != @battler_hue
@battler_name = @battler.battler_name
@battler_hue = @battler.battler_hue
end
if !@battler.exist?
self.opacity = 0 if @effect_duration == 0 && @battler.collapse_type != 1
end
end
end
#--------------------------------------------------------------------------
# ? 
?
#--------------------------------------------------------------------------
def action
return if @active_action == nil
action = @active_action[0]
#
??
return mirroring if action == "Invert"
#
??
return angling if action == "angle"
# 
?
return zooming if action == "zoom"
# ??ON???
return mirage_on if action == "Afterimage ON"
# ??OFF???
return mirage_off if action == "Afterimage OFF"
# 


return picture if action == "pic"
# 


return @picture.visible = false && @picture_time = 0 if action == "Clear image"
# 



return graphics_change if action == "change"
# 

?
return battle_anime if action == "anime"
# 


return balloon_anime if action == "balloon"
# BGM/BGS/SE?
?
return sound if action == "sound"
# 


return $game_switches[@active_action[1]] = @active_action[2] if action == "switch"
# 

?
return variable if action == "variable"
# 
?
return two_swords if action == "Two Wpn Only"
# 
??
return non_two_swords if action == "One Wpn Only"
# 

?
return necessary if action == "nece"
# 
??
return derivating if action == "der"
# 


return individual_action if action == "Process Skill"
# 


return individual_action_end if action == "Process Skill End"
# 

?
return non_repeat if action == "Don't Wait"
# 


return @battler.change_base_position(self.x, self.y) if action == "Start Pos Change"
# 

??
return @battler.base_position if action == "Start Pos Return"
# 

?
return change_target if action == "target"
# 



return send_action(action) if action == "Can Collapse"
# 
?
return send_action(action) if action == "Cancel Action"
# 

return state_on if action == "sta+"
# 

return state_off if action == "sta-"
# 




return Graphics.frame_rate = @active_action[1] if action == "fps"
#
??
return floating if action == "float"
# 

?
return eval(@active_action[1]) if action == "script"
# 

?
return force_action if @active_action.size == 4
# 

return reseting if @active_action.size == 5
#
??
return moving if @active_action.size == 7
# 

?
return battler_anime if @active_action.size == 9
# 


return moving_anime if @active_action.size == 11
#
??
return anime_finish if action == "End"
end
#--------------------------------------------------------------------------
# ?
?
#--------------------------------------------------------------------------
def mirroring
# 




if self.mirror
self.mirror = false
# 
??
@weapon_R.mirroring if @anime_flug
else
self.mirror = true
# 
??
@weapon_R.mirroring if @anime_flug
end
end
#--------------------------------------------------------------------------
# ?
?
#--------------------------------------------------------------------------
def angling
# 
??
jump_reset
#
?
@angle_time = @active_action[1]
start_angle = @active_action[2]
end_angle = @active_action[3]
@angle_reset = @active_action[4]
# 



start_angle *= -1 if $back_attack
end_angle *= -1 if $back_attack
# 
?
start_angle *= -1 if @battler.is_a?(Game_Enemy)
end_angle *= -1 if @battler.is_a?(Game_Enemy)
# ???0?

??
if @angle_time <= 0
self.angle = end_angle
return @angle_time = 0
end
#
???1?



@angling = (end_angle - start_angle) / @angle_time
# 


??
@angle = (end_angle - start_angle) % @angle_time + start_angle
end
#--------------------------------------------------------------------------
# ? 

#--------------------------------------------------------------------------
def zooming
# 
??
jump_reset
#
?
@zoom_time = @active_action[1]
zoom_x = @active_action[2] - 1
zoom_y = @active_action[3] - 1
@zoom_reset = @active_action[4]
@zoom_x = @zoom_y = 1
# ???0?
?
return @zoom_time = 0 if @zoom_time <= 0
#
???1?


?
@zooming_x = zoom_x / @zoom_time
@zooming_y = zoom_y / @zoom_time
end
#--------------------------------------------------------------------------
# ?
?
#--------------------------------------------------------------------------
def mirage_on
# 


?
return if @battler.dead?
@mirage0 = Sprite.new(self.viewport)
@mirage1 = Sprite.new(self.viewport)
@mirage2 = Sprite.new(self.viewport)
@mirage_flug = true
@mirage_count = 0
end
#--------------------------------------------------------------------------
# ?
?
#--------------------------------------------------------------------------
def mirage(body)
body.bitmap = self.bitmap.dup
body.x = self.x
body.y = self.y
body.ox = self.ox
body.oy = self.oy
body.z = self.z
body.mirror = self.mirror
body.angle = @angle
body.opacity = 160
body.zoom_x = self.zoom_x
body.zoom_y = self.zoom_y
body.src_rect.set(@sx, @sy, @width, @height) if @anime_flug
body.src_rect.set(0, 0, @width, @height) unless @anime_flug
end
#--------------------------------------------------------------------------
# ?
?
#--------------------------------------------------------------------------
def mirage_off
@mirage_flug = false
@mirage0.dispose if @mirage0 != nil
@mirage1.dispose if @mirage1 != nil
@mirage2.dispose if @mirage2 != nil
end
#--------------------------------------------------------------------------
# ? 

#--------------------------------------------------------------------------
def picture
# 


pic_x = @active_action[1]
pic_y = @active_action[2]
# 


pic_end_x = @active_action[3]
pic_end_y = @active_action[4]
@picture_time = @active_action[5]
#
???1?


??
@moving_pic_x = (pic_end_x - pic_x)/ @picture_time
@moving_pic_y = (pic_end_y - pic_y)/ @picture_time
# 


?
plus_x = (pic_end_x - pic_x)% @picture_time
plus_y = (pic_end_y - pic_y)% @picture_time
# 

@picture.bitmap = Cache.picture(@active_action[7])
@picture.x = pic_x + plus_x
@picture.y = pic_y + plus_y
# Z?
@picture.z = 1
@picture.z = 1000 if @active_action[6]
@picture.visible = true
end
#--------------------------------------------------------------------------
# ? 



#--------------------------------------------------------------------------
def graphics_change
# 

return if @battler.is_a?(Game_Enemy)
# 
??
@battler_name = @active_action[2]
# 









??
self.bitmap = Cache.character(@battler_name) if N01::WALK_ANIME
self.bitmap = Cache.character(@battler_name + "_1") unless N01::WALK_ANIME
# 


@width = self.bitmap.width / @base_width
@height = self.bitmap.height / @base_height
# 






@before_graphic = @battler.character_name if @active_action[1]
@battler.graphic_change(@active_action[2])
end
#--------------------------------------------------------------------------
# ? 
? [??,ID,??,??,?
,?
?]
#--------------------------------------------------------------------------
def battle_anime
# 






return if @active_action[5] && !@battler.actor?
# 








return if @active_action[5] && @battler.weapons[1] == nil
#
?(
?)
(
?)
??
if @battler.actor?
return if !@active_action[5] && @battler.weapons[0] == nil && @battler.weapons[1] != nil
end
anime_id = @active_action[1]
# 



??
if $back_attack
mirror = true if @active_action[3] == false
mirror = false if @active_action[3]
end
# 



if anime_id < 0
# 


?
if @battler.action.skill? && anime_id != -2
anime_id = @battler.action.skill.animation_id
elsif @battler.action.item? && anime_id != -2
anime_id = @battler.action.item.animation_id
else
# 




anime_id = N01::NO_WEAPON
if @battler.actor?
weapon_id = @battler.weapon_id
anime_id = $data_weapons[weapon_id].animation_id if weapon_id != 0
# 
??
anime_id = @battler.atk_animation_id2 if @active_action[5]
else
weapon_id = @battler.weapon
anime_id = $data_weapons[weapon_id].animation_id if weapon_id != 0
end
end
# 

@wait = $data_animations[anime_id].frame_max * 4 if $data_animations[anime_id] != nil && @active_action[4]
waitflug = true
# 










damage_action = [anime_id, mirror, true]
return @battler.play = ["OBJ_ANIM",damage_action] if @battler.active
end
#
??
if @active_action[2] == 0 && $data_animations[anime_id] != nil
@battler.animation_id = anime_id
@battler.animation_mirror = mirror
elsif $data_animations[anime_id] != nil
for target in @target_battler
target.animation_id = anime_id
target.animation_mirror = mirror
end
end
# 

@wait = $data_animations[anime_id].frame_max * 4 if $data_animations[anime_id] != nil && @active_action[4] && !waitflug
end
#--------------------------------------------------------------------------
# ? 

#--------------------------------------------------------------------------
def balloon_anime
return if self.opacity == 0
if @balloon == nil
@balloon = Sprite.new
@balloon.bitmap = Cache.system("Balloon")
@balloon.ox = @width / 16
@balloon.oy = @balloon.height / 10 + @height / 3
end
@balloon_id = @active_action[1]
@balloon_loop = @active_action[2]
@balloon_duration = 64
@balloon_back = false
update_balloon
@balloon.visible = true
end
#--------------------------------------------------------------------------
# ? BGM/BGS/SE??
#--------------------------------------------------------------------------
def sound
#
??
pitch = @active_action[2]
vol = @active_action[3]
name = @active_action[4]
# ??
case @active_action[1]
when "se"
Audio.se_play("Audio/SE/" + name, vol, pitch)
when "bgm"
# 


?BGM?
?
if @active_action[4] == ""
now_bgm = RPG::BGM.last
name = now_bgm.name
end
Audio.bgm_play("Audio/BGM/" + name, vol, pitch)
when "bgs"
# 


?BGS?
?
if @active_action[4] == ""
now_bgs = RPG::BGS.last
name = now_bgs.name
end
Audio.bgs_play("Audio/BGS/" + name, vol, pitch)
end
end
#--------------------------------------------------------------------------
# ? 
?
#--------------------------------------------------------------------------
def variable
# 


operand = @active_action[3]
# 
?
case @active_action[2]
when 0 # ??
$game_variables[@active_action[1]] = operand
when 1 # ??
$game_variables[@active_action[1]] += operand
when 2 # ??
$game_variables[@active_action[1]] -= operand
when 3 # ??
$game_variables[@active_action[1]] *= operand
when 4 # ??
$game_variables[@active_action[1]] /= operand
when 5 # ??
$game_variables[@active_action[1]] %= operand
end
end
#--------------------------------------------------------------------------
# ?
?
#--------------------------------------------------------------------------
def two_swords
# 

??
return @action.shift unless @battler.actor?
# ?(
?)




?
return @action.shift if @battler.weapons[1] == nil
# 



active = @action.shift
# 

??
@active_action = N01::ANIME[active]
# 

@wait = active.to_i if @active_action == nil
# 


action
end
#--------------------------------------------------------------------------
# ?
??
#--------------------------------------------------------------------------
def non_two_swords
# 

??
return unless @battler.actor?
# ?(
?)





return @action.shift if @battler.weapons[1] != nil
# 



active = @action.shift
# 

??
@active_action = N01::ANIME[active]
# 

@wait = active.to_i if @active_action == nil
# 


action
end
#--------------------------------------------------------------------------
# ? 
?
#--------------------------------------------------------------------------