Jump to content
New account registrations are disabed. This website is now an archive. Read more here.

Sia

Member
  • Content Count

    1
  • Joined

  • Last visited

Everything posted by Sia

  1. Sia

    Side view battle problem

    im using the a side view battle script, i dont understand ruby very well so could someone modyfy this code to were it works exactly like the original but the health bar does slowely slide when you get hit it just instantly appears on the new value, just like take the animation off the healthbar, the reason i ask is cuz it lags bad at that time, heres the code: class Bitmap if not method_defined?('original_draw_text') alias original_draw_text draw_text def draw_text(*arg) original_color = self.font.color.dup self.font.color = Color.new(0, 0, 0, 128) if arg[0].is_a?(Rect) arg[0].x += 2 arg[0].y += 2 self.original_draw_text(*arg) arg[0].x -= 2 arg[0].y -= 2 else arg[0] += 2 arg[1] += 2 self.original_draw_text(*arg) arg[0] -= 2 arg[1] -= 2 end self.font.color = original_color self.original_draw_text(*arg) end end def gradation_rect(x, y, width, height, color1, color2, align = 0) if align == 0 for i in x...x + width red = color1.red + (color2.red - color1.red) * (i - x) / (width - 1) green = color1.green + (color2.green - color1.green) * (i - x) / (width - 1) blue = color1.blue + (color2.blue - color1.blue) * (i - x) / (width - 1) alpha = color1.alpha + (color2.alpha - color1.alpha) * (i - x) / (width - 1) color = Color.new(red, green, blue, alpha) fill_rect(i, y, 1, height, color) end elsif align == 1 for i in y...y + height red = color1.red + (color2.red - color1.red) * (i - y) / (height - 1) green = color1.green + (color2.green - color1.green) * (i - y) / (height - 1) blue = color1.blue + (color2.blue - color1.blue) * (i - y) / (height - 1) alpha = color1.alpha + (color2.alpha - color1.alpha) * (i - y) / (height - 1) color = Color.new(red, green, blue, alpha) fill_rect(x, i, width, 1, color) end elsif align == 2 for i in x...x + width for j in y...y + height red = color1.red + (color2.red - color1.red) * ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2 green = color1.green + (color2.green - color1.green) * ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2 blue = color1.blue + (color2.blue - color1.blue) * ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2 alpha = color1.alpha + (color2.alpha - color1.alpha) * ((i - x) / (width - 1.0) + (j - y) / (height - 1.0)) / 2 color = Color.new(red, green, blue, alpha) set_pixel(i, j, color) end end elsif align == 3 for i in x...x + width for j in y...y + height red = color1.red + (color2.red - color1.red) * ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2 green = color1.green + (color2.green - color1.green) * ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2 blue = color1.blue + (color2.blue - color1.blue) * ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2 alpha = color1.alpha + (color2.alpha - color1.alpha) * ((x + width - i) / (width - 1.0) + (j - y) / (height - 1.0)) / 2 color = Color.new(red, green, blue, alpha) set_pixel(i, j, color) end end end end end module RPG class Sprite < ::Sprite def damage(value, critical) dispose_damage if value.is_a?(Numeric) damage_string = value.abs.to_s else damage_string = value.to_s end bitmap = Bitmap.new(160, 48) bitmap.font.name = "Arial Black" bitmap.font.size = 32 bitmap.font.color.set(0, 0, 0) bitmap.draw_text(-1, 12-1, 160, 36, damage_string, 1) bitmap.draw_text(+1, 12-1, 160, 36, damage_string, 1) bitmap.draw_text(-1, 12+1, 160, 36, damage_string, 1) bitmap.draw_text(+1, 12+1, 160, 36, damage_string, 1) if value.is_a?(Numeric) and value < 0 bitmap.font.color.set(176, 255, 144) else bitmap.font.color.set(255, 255, 255) end bitmap.draw_text(0, 12, 160, 36, damage_string, 1) if critical bitmap.font.size = 20 bitmap.font.color.set(0, 0, 0) bitmap.draw_text(-1, -1, 160, 20, "CRITICAL", 1) bitmap.draw_text(+1, -1, 160, 20, "CRITICAL", 1) bitmap.draw_text(-1, +1, 160, 20, "CRITICAL", 1) bitmap.draw_text(+1, +1, 160, 20, "CRITICAL", 1) bitmap.font.color.set(255, 255, 255) bitmap.draw_text(0, 0, 160, 20, "CRITICAL", 1) end @_damage_sprite = ::Sprite.new @_damage_sprite.bitmap = bitmap @_damage_sprite.ox = 80 + self.viewport.ox @_damage_sprite.oy = 20 + self.viewport.oy @_damage_sprite.x = self.x + self.viewport.rect.x @_damage_sprite.y = self.y - self.oy / 2 + self.viewport.rect.y @_damage_sprite.z = 3000 @_damage_duration = 40 end def animation(animation, hit) dispose_animation @_animation = animation return if @_animation == nil @_animation_hit = hit @_animation_duration = @_animation.frame_max animation_name = @_animation.animation_name animation_hue = @_animation.animation_hue bitmap = RPG::Cache.animation(animation_name, animation_hue) if @@_reference_count.include?(bitmap) @@_reference_count[bitmap] += 1 else @@_reference_count[bitmap] = 1 end @_animation_sprites = [] if @_animation.position != 3 or not @@_animations.include?(animation) for i in 0..15 sprite = ::Sprite.new sprite.bitmap = bitmap sprite.visible = false @_animation_sprites.push(sprite) end unless @@_animations.include?(animation) @@_animations.push(animation) end end update_animation end def loop_animation(animation) return if animation == @_loop_animation dispose_loop_animation @_loop_animation = animation return if @_loop_animation == nil @_loop_animation_index = 0 animation_name = @_loop_animation.animation_name animation_hue = @_loop_animation.animation_hue bitmap = RPG::Cache.animation(animation_name, animation_hue) if @@_reference_count.include?(bitmap) @@_reference_count[bitmap] += 1 else @@_reference_count[bitmap] = 1 end @_loop_animation_sprites = [] for i in 0..15 sprite = ::Sprite.new sprite.bitmap = bitmap sprite.visible = false @_loop_animation_sprites.push(sprite) end update_loop_animation end def animation_set_sprites(sprites, cell_data, position) for i in 0..15 sprite = sprites[i] pattern = cell_data[i, 0] if sprite == nil or pattern == nil or pattern == -1 sprite.visible = false if sprite != nil next end sprite.visible = true sprite.src_rect.set(pattern % 5 * 192, pattern / 5 * 192, 192, 192) if position == 3 if self.viewport != nil sprite.x = self.viewport.rect.width / 2 sprite.y = self.viewport.rect.height - 160 else sprite.x = 320 sprite.y = 240 end else sprite.x = self.x + self.viewport.rect.x - self.ox + self.src_rect.width / 2 sprite.y = self.y + self.viewport.rect.y - self.oy + self.src_rect.height / 2 sprite.y -= self.src_rect.height / 4 if position == 0 sprite.y += self.src_rect.height / 4 if position == 2 end sprite.x += cell_data[i, 1] sprite.y += cell_data[i, 2] sprite.z = 2000 sprite.ox = 96 sprite.oy = 96 sprite.zoom_x = cell_data[i, 3] / 100.0 sprite.zoom_y = cell_data[i, 3] / 100.0 sprite.angle = cell_data[i, 4] sprite.mirror = (cell_data[i, 5] == 1) sprite.opacity = cell_data[i, 6] * self.opacity / 255.0 sprite.blend_type = cell_data[i, 7] end end end end class Game_Actor < Game_Battler def screen_x if self.index != nil n_split = [($game_party.actors.length * 0.5).ceil, 4].min case n_split when 1 n_index = self.index * 2 when 2 if self.index < ($game_party.actors.length - 2) n_index = 0.5 + (2 * self.index) else if $game_party.actors.length == 3 then n_index = (self.index * 2) + 2 elsif $game_party.actors.length == 4 then n_index = self.index * 2 end end when 3 n_index = self.index + (0.25 * (self.index + 1)) if $game_party.actors.length == 5 if self.index < 2 n_index = self.index + (0.25 * (self.index + 1)) else n_index = self.index + (0.25 * (self.index + 2)) + 1 end end when 4 n_index = self.index if $game_party.actors.length == 7 if self.index < 3 n_index = self.index else n_index = self.index + 1 end end end return (n_index - ((n_index / 4).floor) * 4) * ((160 / (4)) / 5) + 480 + ((n_index / 4).floor * 60) else return 0 end end #-------------------------------------------------------------------------- # ? ????? Y ????? #-------------------------------------------------------------------------- def screen_y n_split = [($game_party.actors.length * 0.5).ceil, 4].min case n_split when 1 n_index = self.index * 2 when 2 if self.index < ($game_party.actors.length - 2) n_index = 0.5 + (2 * self.index) else if $game_party.actors.length == 3 then n_index = (self.index * 2) + 2 elsif $game_party.actors.length == 4 then n_index = self.index * 2 end end when 3 n_index = self.index + (0.25 * (self.index + 1)) if $game_party.actors.length == 5 if self.index < 2 n_index = self.index + (0.25 * (self.index + 1)) else n_index = self.index + (0.25 * (self.index + 2)) + 1 end end when 4 n_index = self.index if $game_party.actors.length == 7 if self.index < 3 n_index = self.index else n_index = self.index + 1 end end end return (n_index - ((n_index / 4).floor) * 4) * ((160 / (4)) * 1.6) + 270 - ((n_index / 4).floor * (110 - (4 * 20))) end #-------------------------------------------------------------------------- # ? ????? Z ????? #-------------------------------------------------------------------------- def screen_z # ??????????? Z ????????? if self.index != nil return self.index else return 0 end end end class Game_Enemy < Game_Battler def screen_x n_split = [($game_troop.enemies.length * 0.5).ceil, 4].min case n_split when 1 n_index = self.index * 2 when 2 if self.index < ($game_troop.enemies.length - 2) n_index = 0.5 + (2 * self.index) else if $game_troop.enemies.length == 3 then n_index = (self.index * 2) + 2 elsif $game_troop.enemies.length == 4 then n_index = self.index * 2 end end when 3 n_index = self.index + (0.25 * (self.index + 1)) if $game_troop.enemies.length == 5 if self.index < 2 n_index = self.index + (0.25 * (self.index + 1)) else n_index = self.index + (0.25 * (self.index + 2)) + 2 end end when 4 n_index = self.index if $game_troop.enemies.length == 7 if self.index < 3 n_index = self.index else n_index = self.index + 1 end end end return (n_index - ((n_index / 4).floor) * 4) * ((-160 / (4)) / 5) + 160 - ((n_index / 4).floor * 60) end #-------------------------------------------------------------------------- # ? ????? Y ????? #-------------------------------------------------------------------------- def screen_y n_split = [($game_troop.enemies.length * 0.5).ceil, 4].min case n_split when 1 n_index = self.index * 2 when 2 if self.index < ($game_troop.enemies.length - 2) n_index = 0.5 + (2 * self.index) else if $game_troop.enemies.length == 3 then n_index = (self.index * 2) + 2 elsif $game_troop.enemies.length == 4 then n_index = self.index * 2 end end when 3 n_index = self.index + (0.25 * (self.index + 1)) if $game_troop.enemies.length == 5 if self.index < 2 n_index = self.index + (0.25 * (self.index + 1)) else n_index = self.index + (0.25 * (self.index + 2)) + 1 end end when 4 n_index = self.index if $game_troop.enemies.length == 7 if self.index < 3 n_index = self.index else n_index = self.index + 1 end end end return (n_index - ((n_index / 4).floor) * 4) * ((160 / (4)) * 1.6) + 270 - ((n_index / 4).floor * (110 - (4 * 20))) end #-------------------------------------------------------------------------- # ? ????? Z ????? #-------------------------------------------------------------------------- def screen_z return @member_index + 1 end end #============================================================================== # ¦ Sprite_Battler #------------------------------------------------------------------------------ # ????????????????Game_Battler ??????????????? # ???????????????????? #============================================================================== class Sprite_Battler < RPG::Sprite #-------------------------------------------------------------------------- # ? ?????????? #-------------------------------------------------------------------------- attr_accessor :battler # ???? attr_accessor :moving # Is the sprite moving? attr_reader :index attr_accessor :target_index attr_accessor :direction attr_accessor :pattern #-------------------------------------------------------------------------- # ? ????????? # viewport : ?????? # battler : ???? (Game_Battler) #-------------------------------------------------------------------------- def initialize(viewport, battler = nil) super(viewport) change @old = Graphics.frame_count # For the delay method @goingup = true # Increasing animation? (if @rm2k_mode is true) @once = false # Is the animation only played once? @animated = true # Used to stop animation when @once is true self.opacity = 0 @index = 0 @pattern_b = 0 @counter_b = 0 @trans_sprite = Sprite.new @trans_sprite.opacity = 0 @bar_hp_sprite = Sprite.new @bar_hp_sprite.bitmap = Bitmap.new(64, 10) @bar_sp_sprite = Sprite.new @bar_sp_sprite.bitmap = Bitmap.new(64, 10) @color1 = Color.new(0, 0, 0, 192) @color2 = Color.new(255, 255, 192, 192) @color3 = Color.new(0, 0, 0, 192) @color4 = Color.new(64, 0, 0, 192) @old_hp = -1 @old_sp = -1 @battler = battler @battler_visible = false @first = true @pattern = 0 if $target_index == nil $target_index = 0 end @battler.is_a?(Game_Enemy) ? enemy_pose(0, 1) : pose(0, 1) end #-------------------------------------------------------------------------- # ? ?? #-------------------------------------------------------------------------- def dispose if self.bitmap != nil self.bitmap.dispose end if @trans_sprite.bitmap != nil @trans_sprite.bitmap.dispose end @trans_sprite.dispose @bar_hp_sprite.bitmap.dispose @bar_hp_sprite.dispose @bar_sp_sprite.bitmap.dispose @bar_sp_sprite.dispose super end def change(frames = 0, delay = 0, offx = 0, offy = 0, startf = 0, once = false) @frames = frames @delay = delay @offset_x, @offset_y = offx, offy @current_frame = startf @once = once @goingup = true @animated = true end #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- def update bar_check = true if @_damage_duration == 1 super @trans_sprite.blend_type = self.blend_type @trans_sprite.color = self.color if @_collapse_duration > 0 @trans_sprite.opacity = self.opacity else @trans_sprite.opacity = [self.opacity, 160].min end if (@_damage_duration == 0 and bar_check == true) or @first == true @first = false if @first == true bar_check = false @bar_must_change = true end @bar_hp_sprite.opacity = self.opacity @bar_sp_sprite.opacity = self.opacity # ????? nil ??? if @battler == nil self.bitmap = nil @trans_sprite.bitmap = nil loop_animation(nil) return end # ???????????????????? if @battler.battler_name != @battler_name or @battler.battler_hue != @battler_hue # ???????????? @battler_name = @battler.battler_name @battler_hue = @battler.battler_hue if @battler.is_a?(Game_Actor) @battler_name = @battler.character_name @battler_hue = @battler.character_hue @direction = 4 else @direction = 6 end self.bitmap = RPG::Cache.character(@battler_name, @battler_hue) @width = bitmap.width / 4 @height = bitmap.height / 4 @frame_width = @width @frame_height = @height self.ox = @width / 2 self.oy = @height @pattern = @current_frame @direction = @offset_y sx = @pattern * @width sy = (@direction - 2) / 2 * @height self.src_rect.set(sx, sy, @width, @height) @current_frame = (@current_frame + 1) unless @frames == 0 @animated = false if @current_frame == @frames and @once @current_frame %= @frames @trans_sprite.bitmap = self.bitmap @trans_sprite.ox = self.ox @trans_sprite.oy = self.oy @trans_sprite.src_rect.set(sx, sy, @width, @height) # ?????????????????? 0 ??? if @battler.dead? or @battler.hidden self.opacity = 0 @trans_sprite.opacity = 0 @bar_hp_sprite.opacity = 0 @bar_sp_sprite.opacity = 0 end self.x = @battler.screen_x self.y = @battler.screen_y self.z = @battler.screen_z end change_sp_bar if @old_sp != @battler.sp if delay(@delay) and @animated @pattern = @current_frame @direction = @offset_y sx = @pattern * @width sy = (@direction - 2) / 2 * @height self.src_rect.set(sx, sy, @width, @height) @current_frame = (@current_frame + 1) unless @frames == 0 @animated = false if @current_frame == @frames and @once @current_frame %= @frames @trans_sprite.ox = self.ox @trans_sprite.oy = self.oy @trans_sprite.src_rect.set(sx, sy, @width, @height) end # ??????? ID ???????????? if @battler.damage == nil and @battler.state_animation_id != @state_animation_id @state_animation_id = @battler.state_animation_id loop_animation($data_animations[@state_animation_id]) end # ?????????????? #if @battler.is_a?(Game_Actor) and @battler_visible # ??????????????????????? #if $game_temp.battle_main_phase #self.opacity += 3 if self.opacity < 255 #else #self.opacity -= 3 if self.opacity > 207 #end #end # ?? if @battler.blink blink_on else blink_off end # ?????? unless @battler_visible # ?? if not @battler.hidden and not @battler.dead? and (@battler.damage == nil or @battler.damage_pop) appear @battler_visible = true end end # ????? if @battler_visible # ?? if @battler.hidden $game_system.se_play($data_system.escape_se) escape @trans_sprite.opacity = 0 @battler_visible = false end # ?????? if @battler.white_flash whiten @battler.white_flash = false end # ??????? if @battler.animation_id != 0 animation = $data_animations[@battler.animation_id] animation(animation, @battler.animation_hit) @battler.animation_id = 0 end # ???? if @battler.damage_pop damage(@battler.damage, @battler.critical) @battler.damage = nil @battler.critical = false @battler.damage_pop = false end if @bar_must_change == true @bar_must_change = false if @old_hp != @battler.hp change_hp_bar end if @battler.damage == nil and @battler.dead? if @battler.is_a?(Game_Enemy) $game_system.se_play($data_system.enemy_collapse_se) else $game_system.se_play($data_system.actor_collapse_se) end collapse @battler_visible = false end end end # ??????????? @trans_sprite.x = self.x @trans_sprite.y = self.y @trans_sprite.z = self.z @bar_hp_sprite.x = @battler.screen_x - 32 @bar_hp_sprite.y = @battler.screen_y - (@height +18) if @height != nil @bar_hp_sprite.z = 100 @bar_sp_sprite.x = @battler.screen_x - 32 @bar_sp_sprite.y = @battler.screen_y - (@height + 8) if @height != nil @bar_sp_sprite.z = 100 end #-------------------------------------------------------------------------- # - Move the sprite # x : X coordinate of the destination point # y : Y coordinate of the destination point # speed : Speed of movement (0 = delayed, 1+ = faster) # delay : Movement delay if speed is at 0 #-------------------------------------------------------------------------- def move(x, y, speed = 1, delay = 0) @destx = x @desty = y @move_speed = speed @move_delay = delay @move_old = Graphics.frame_count @moving = true end #-------------------------------------------------------------------------- # - Move sprite to destx and desty #-------------------------------------------------------------------------- def update_move return unless @moving movinc = @move_speed == 0 ? 1 : @move_speed if Graphics.frame_count - @move_old > @move_delay or @move_speed != 0 self.x += movinc if self.x < @destx self.x -= movinc if self.x > @destx self.y += movinc if self.y < @desty self.y -= movinc if self.y > @desty @move_old = Graphics.frame_count end if @move_speed > 1 # Check if sprite can't reach that point self.x = @destx if (@destx - self.x).abs % @move_speed != 0 and (@destx - self.x).abs <= @move_speed self.y = @desty if (@desty - self.y).abs % @move_speed != 0 and (@desty - self.y).abs <= @move_speed end if self.x == @destx and self.y == @desty @moving = false end end #-------------------------------------------------------------------------- # - Pause animation, but still updates movement # frames : Number of frames #-------------------------------------------------------------------------- def delay(frames) update_move if (Graphics.frame_count - @old >= frames) @old = Graphics.frame_count return true end return false end def change_hp_bar j = false @old_hp = @battler.hp if @old_hp == -1 i = @old_hp loop do i -= 10 if i < @battler.hp i = @battler.hp j = true end rate = i.to_f / @battler.maxhp @color5 = Color.new(80 - 24 * rate, 80 * rate, 14 * rate, 192) @color6 = Color.new(240 - 72 * rate, 240 * rate, 62 * rate, 192) @bar_hp_sprite.bitmap.clear @bar_hp_sprite.bitmap.fill_rect(0, 0, 64, 10, @color1) @bar_hp_sprite.bitmap.fill_rect(1, 1, 62, 8, @color2) @bar_hp_sprite.bitmap.gradation_rect(2, 2, 60, 6, @color3, @color4, 1) #@bar_hp_sprite.bitmap.fill_rect(2, 2, 60, 6, @color3) @bar_hp_sprite.bitmap.gradation_rect(2, 2, 64 * rate - 4, 6, @color5, @color6, 2) #@bar_hp_sprite.bitmap.fill_rect(2, 2, 64 * rate - 4, 6, @color5) @bar_hp_sprite.opacity = self.opacity Graphics.update if j == true j = false break end end @old_hp = @battler.hp end def change_sp_bar j = false @old_sp = @battler.sp if @old_sp == -1 i = @old_sp loop do i -= 10 if i < @battler.sp i = @battler.sp j = true end rate = i.to_f / @battler.maxsp @color7 = Color.new(14 * rate, 80 - 24 * rate, 80 * rate, 192) @color8 = Color.new(62 * rate, 240 - 72 * rate, 240 * rate, 192) @bar_sp_sprite.bitmap.clear @bar_sp_sprite.bitmap.fill_rect(0, 0, 64, 10, @color1) @bar_sp_sprite.bitmap.fill_rect(1, 1, 62, 8, @color2) @bar_sp_sprite.bitmap.gradation_rect(2, 2, 60, 6, @color3, @color4, 1) #@bar_hp_sprite.bitmap.fill_rect(2, 2, 60, 6, @color3) @bar_sp_sprite.bitmap.gradation_rect(2, 2, 64 * rate - 4, 6, @color7, @color8, 0) #@bar_hp_sprite.bitmap.fill_rect(2, 2, 64 * rate - 4, 6, @color5) @bar_sp_sprite.opacity = self.opacity Graphics.update if j == true j = false break end end @old_sp = @battler.sp end def enemy # $target_index += $game_troop.enemies.size $target_index %= $game_troop.enemies.size return $game_troop.enemies[$target_index] # end # def actor # $target_index += $game_party.actors.size $target_index %= $game_party.actors.size return $game_party.actors[$target_index] # end def index=(index) @index = index update end def pose(number, frames = 4) case number when 0 change(frames, 4, 0, 4, 0) when 1 change(frames, 4, 0, 4) when 2 change(frames, 4, 0, 6) else change(frames, 4, 0, 0, 0) end end def enemy_pose(number ,enemy_frames = 4) case number when 0 change(enemy_frames, 4, 0, 6, 0) when 1 change(enemy_frames, 4, 0, 4) when 2 change(enemy_frames, 4, 0, 6) else change(enemy_frames, 4, 0, 0, 0) end end def default_pose pose(0, 1) end end #============================================================================== # ¦ Spriteset_Battle #------------------------------------------------------------------------------ # ???????????????????????????? Scene_Battle ?? # ???????????? #============================================================================== class Spriteset_Battle #-------------------------------------------------------------------------- # ? ?????????? #-------------------------------------------------------------------------- attr_reader :viewport1 # ???????????? attr_reader :viewport2 # ???????????? attr_accessor :actor_sprites attr_accessor :enemy_sprites #-------------------------------------------------------------------------- # ? ????????? #-------------------------------------------------------------------------- def initialize # ????????? @viewport1 = Viewport.new(0, 0, 640, 480) @viewport2 = Viewport.new(0, 0, 640, 480) @viewport3 = Viewport.new(0, 0, 640, 480) @viewport4 = Viewport.new(0, 0, 640, 480) @viewport2.z = 101 @viewport3.z = 200 @viewport4.z = 5000 if $game_temp.battleback_name == "" @battleback_sprite = nil @tilemap = Tilemap.new(@viewport1) @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name) for i in 0..6 autotile_name = $game_map.autotile_names[i] @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name) end @tilemap.map_data = $game_map.data @tilemap.priorities = $game_map.priorities else # ?????????????? @tilemap = nil @battleback_sprite = Sprite.new(@viewport1) end # ???????????? @enemy_sprites = [] for enemy in $game_troop.enemies#.reverse @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy)) end # ???????????? @actor_sprites = [] for j in 0..7 # ƒAƒNƒ^[ƒXƒvƒ‰ƒCƒg‚ð’ljÁ @actor_sprites.push(Sprite_Battler.new(@viewport1, $game_party.actors[j])) end # ????? @weather = RPG::Weather.new(@viewport1) # ???????????? @picture_sprites = [] for i in 51..100 @picture_sprites.push(Sprite_Picture.new(@viewport3, $game_screen.pictures[i])) end # ???????????? @timer_sprite = Sprite_Timer.new # ?????? update end #-------------------------------------------------------------------------- # ? ?? #-------------------------------------------------------------------------- def dispose if @tilemap != nil # ????????? @tilemap.tileset.dispose for i in 0..6 @tilemap.autotiles[i].dispose end @tilemap.dispose end # ?????????????? if @battleback_sprite != nil # ?????????????????????? if @battleback_sprite.bitmap != nil @battleback_sprite.bitmap.dispose end @battleback_sprite.dispose end # ?????????????????????? for sprite in @enemy_sprites + @actor_sprites sprite.dispose end # ????? @weather.dispose # ???????????? for sprite in @picture_sprites sprite.dispose end # ???????????? @timer_sprite.dispose # ????????? @viewport1.dispose @viewport2.dispose @viewport3.dispose @viewport4.dispose end #-------------------------------------------------------------------------- # ? ?????????? #-------------------------------------------------------------------------- def effect? # ??????????????? true ??? for sprite in @enemy_sprites + @actor_sprites return true if sprite.effect? end return false end #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- def update # ??????????????????????? if @battleback_sprite != nil if @battleback_name != $game_temp.battleback_name @battleback_name = $game_temp.battleback_name if @battleback_sprite.bitmap != nil @battleback_sprite.bitmap.dispose end bg_bitmap = RPG::Cache.battleback(@battleback_name) bg_bitmap_stretch = Bitmap.new(640, 480) bg_bitmap_stretch.stretch_blt(Rect.new(0, 0, 640, 480), bg_bitmap, bg_bitmap.rect) @battleback_sprite.bitmap = bg_bitmap_stretch end end if @tilemap != nil @tilemap.ox = $game_map.display_x / 4 @tilemap.oy = $game_map.display_y / 4 @tilemap.update end # ???????????? for sprite in @enemy_sprites + @actor_sprites sprite.update end # ??????????? @weather.type = $game_screen.weather_type @weather.max = $game_screen.weather_max @weather.update # ???????????? for sprite in @picture_sprites sprite.update end # ???????????? @timer_sprite.update # ??????????????? @viewport1.tone = $game_screen.tone @viewport1.ox = $game_screen.shake # ???????????? @viewport4.color = $game_screen.flash_color # ????????? @viewport1.update @viewport2.update @viewport4.update end end #============================================================================== # ¦ Window_Command #------------------------------------------------------------------------------ # ????????????????????? #============================================================================== class Window_Command < Window_Selectable #-------------------------------------------------------------------------- # ? ????????? # width : ??????? # commands : ?????????? #-------------------------------------------------------------------------- def initialize(width, commands, column_max = 1, style = 0, inf_scroll = 1) # ???????????????????? super(0, 0, width, (commands.size * 1.0 / column_max).ceil * 32 + 32) @inf_scroll = inf_scroll @item_max = commands.size @commands = commands @column_max = column_max @style = style self.contents = Bitmap.new(width - 32, (@item_max * 1.0 / @column_max).ceil * 32) self.contents.font.name = "Tahoma" self.contents.font.size = 22 refresh self.index = 0 end #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- def refresh self.contents.clear for i in 0...@item_max draw_item(i, normal_color) end end #-------------------------------------------------------------------------- # ? ????? # index : ???? # color : ??? #-------------------------------------------------------------------------- def draw_item(index, color) self.contents.font.color = color rect = Rect.new(index%@column_max * (self.width / @column_max) + 4, 32 * (index/@column_max), self.width / @column_max - 40, 32) self.contents.fill_rect(rect, Color.new(0, 0, 0, 0)) self.contents.draw_text(rect, @commands[index], @style) end #-------------------------------------------------------------------------- # ? ?????? # index : ???? #-------------------------------------------------------------------------- def disable_item(index) draw_item(index, disabled_color) end def update_help @help_window.set_actor($game_party.actors[$scene.actor_index]) end end #============================================================================== # ¦ Arrow_Enemy #------------------------------------------------------------------------------ # ????????????????????????????? Arrow_Base ?? # ???????? #============================================================================== class Arrow_Enemy < Arrow_Base #-------------------------------------------------------------------------- # ? ????????????????? #-------------------------------------------------------------------------- def enemy return $game_troop.enemies[@index] end #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- def update super # ??????????????????? $game_troop.enemies.size.times do break if self.enemy.exist? @index += 1 @index %= $game_troop.enemies.size end # ????? if Input.repeat?(Input::DOWN) $game_system.se_play($data_system.cursor_se) $game_troop.enemies.size.times do @index += 1 @index %= $game_troop.enemies.size break if self.enemy.exist? end end # ????? if Input.repeat?(Input::UP) $game_system.se_play($data_system.cursor_se) $game_troop.enemies.size.times do @index += $game_troop.enemies.size - 1 @index %= $game_troop.enemies.size break if self.enemy.exist? end end if Input.repeat?(Input::RIGHT) $game_system.se_play($data_system.cursor_se) $game_troop.enemies.size.times do @index += ((($game_troop.enemies.length) * 0.5).ceil) @index %= $game_troop.enemies.size break if self.enemy.exist? end end if Input.repeat?(Input::LEFT) $game_system.se_play($data_system.cursor_se) $game_troop.enemies.size.times do @index += $game_troop.enemies.size - ((($game_troop.enemies.length) * 0.5).ceil) @index %= $game_troop.enemies.size break if self.enemy.exist? end end # ??????????? if self.enemy != nil self.x = self.enemy.screen_x + 4 self.y = self.enemy.screen_y + 36 self.z = self.enemy.screen_z + 1 end end #-------------------------------------------------------------------------- # ? ????????? #-------------------------------------------------------------------------- def update_help # ???????????????????????? @help_window.set_enemy(self.enemy) end end #============================================================================== # ¦ Arrow_Actor #------------------------------------------------------------------------------ # ????????????????????????????? Arrow_Base ?? # ???????? #============================================================================== class Arrow_Actor < Arrow_Base #-------------------------------------------------------------------------- # ? ????????????????? #-------------------------------------------------------------------------- def actor return $game_party.actors[@index] end #-------------------------------------------------------------------------- # ? ?????? #-------------------------------------------------------------------------- def update super # ????? if Input.repeat?(Input::DOWN) $game_system.se_play($data_system.cursor_se) @index += 1 @index %= $game_party.actors.size end # ????? if Input.repeat?(Input::UP) $game_system.se_play($data_system.cursor_se) @index += $game_party.actors.size - 1 @index %= $game_party.actors.size end if Input.repeat?(Input::RIGHT) $game_system.se_play($data_system.cursor_se) @index += ($game_party.actors.length * 0.5).ceil @index %= $game_party.actors.size end # ????? if Input.repeat?(Input::LEFT) $game_system.se_play($data_system.cursor_se) @index += $game_party.actors.size - (($game_party.actors.length * 0.5).ceil) @index %= $game_party.actors.size end # ??????????? if self.actor != nil self.x = self.actor.screen_x self.y = self.actor.screen_y + 36 self.z = self.actor.screen_z + 1 end end #-------------------------------------------------------------------------- # ? ????????? #-------------------------------------------------------------------------- def update_help # ?????????????????????? @help_window.set_actor(self.actor) end end class Scene_Battle attr_accessor :actor_index def main # ??????????????? $game_temp.in_battle = true $game_temp.battle_turn = 0 $game_temp.battle_event_flags.clear $game_temp.battle_abort = false $game_temp.battle_main_phase = false $game_temp.battleback_name = $game_map.battleback_name $game_temp.forcing_battler = nil # ?????????????????? $game_system.battle_interpreter.setup(nil, 0) # ??????? @troop_id = $game_temp.battle_troop_id $game_troop.setup(@troop_id) # ???????????????? s1 = $data_system.words.attack s1 = $data_system.words.attack s2 = $data_system.words.skill s3 = $data_system.words.guard s4 = $data_system.words.item @actor_command_window = Window_Command.new(640, [s1, s2, s3, s4], 4) @actor_command_window.y = 64 @actor_command_window.back_opacity = 160 @actor_command_window.active = false @actor_command_window.visible = false # ???????????? @party_command_window = Window_PartyCommand.new @help_window = Window_Help.new @help_window.back_opacity = 160 @help_window.visible = false #@status_window = Window_BattleStatus.new @message_window = Window_Message.new # ??????????? @spriteset = Spriteset_Battle.new # ???????????? @wait_count = 0 # ????????? if $data_system.battle_transition == "" Graphics.transition(20) else Graphics.transition(40, "Graphics/Transitions/" + $data_system.battle_transition) end # ??????????? start_phase1 # ?????? loop do # ???????? Graphics.update # ??????? Input.update # ?????? update # ???????????????? if $scene != self break end end # ?????????? $game_map.refresh # ????????? Graphics.freeze # ???????? @actor_command_window.dispose @party_command_window.dispose @help_window.dispose #@status_window.dispose @message_window.dispose if @skill_window != nil @skill_window.dispose end if @item_window != nil @item_window.dispose end if @result_window != nil @result_window.dispose end # ??????????? @spriteset.dispose # ??????????????? if $scene.is_a?(Scene_Title) # ?????????? Graphics.transition Graphics.freeze end # ??????????????????????????? if $BTEST and not $scene.is_a?(Scene_Gameover) $scene = nil end end def update # ????????????? if $game_system.battle_interpreter.running? # ????????? $game_system.battle_interpreter.update # ????????????????????????? if $game_temp.forcing_battler == nil # ????????????????? unless $game_system.battle_interpreter.running? # ?????????????????????????? unless judge setup_battle_event end end # ???????????????? if @phase != 5 # ????????????????? #@status_window.refresh end end end # ???? (????)?????? $game_system.update $game_screen.update # ????? 0 ?????? if $game_system.timer_working and $game_system.timer == 0 # ????? $game_temp.battle_abort = true end # ???????? @help_window.update @party_command_window.update @actor_command_window.update #@status_window.update @message_window.update # ??????????? @spriteset.update # ????????????? if $game_temp.transition_processing # ????????????????? $game_temp.transition_processing = false # ????????? if $game_temp.transition_name == "" Graphics.transition(20) else Graphics.transition(40, "Graphics/Transitions/" + $game_temp.transition_name) end end # ???????????????? if $game_temp.message_window_showing return end # ??????????? if @spriteset.effect? return end # ?????????? if $game_temp.gameover # ?????????????? $scene = Scene_Gameover.new return end # ??????????? if $game_temp.to_title # ??????????? $scene = Scene_Title.new return end # ???????? if $game_temp.battle_abort # ??????? BGM ??? $game_system.bgm_play($game_temp.map_bgm) # ????? battle_end(1) return end # ???????? if @wait_count > 0 # ???????????? @wait_count -= 1 return end # this one holds the battle while the player moves for actor in @spriteset.actor_sprites if actor.moving return end end # and this one is for the enemy... for enemy in @spriteset.enemy_sprites if enemy.moving# and $game_system.animated_enemy return end end # ??????????????????????? # ???????????????? if $game_temp.forcing_battler == nil and $game_system.battle_interpreter.running? return end # ?????????? case @phase when 1 # ????????? update_phase1 when 2 # ???????????? update_phase2 when 3 # ???????????? update_phase3 when 4 # ??????? update_phase4 when 5 # ??????????? update_phase5 end end def start_phase2 # ???? 2 ??? @phase = 2 # ????????????? @actor_index = -1 @active_battler = nil # ????????????????? @party_command_window.active = true @party_command_window.visible = true # ????????????????? @actor_command_window.active = false @actor_command_window.visible = false @help_window.visible = false # ?????????????? $game_temp.battle_main_phase = false # ???????????????? $game_party.clear_actions # ???????????? unless $game_party.inputable? # ????????? start_phase4 end end def update_phase2_escape # ?????????????? enemies_agi = 0 enemies_number = 0 for enemy in $game_troop.enemies if enemy.exist? enemies_agi += enemy.agi enemies_number += 1 end end if enemies_number > 0 enemies_agi /= enemies_number end # ?????????????? actors_agi = 0 actors_number = 0 for actor in $game_party.actors if actor.exist? actors_agi += actor.agi actors_number += 1 end end if actors_number > 0 actors_agi /= actors_number end # ?????? success = rand(100) < 50 * actors_agi / enemies_agi # ??????? if success # ?? SE ??? $game_system.se_play($data_system.escape_se) for actor in $game_party.actors @spriteset.actor_sprites[actor.index].pose(2) @spriteset.actor_sprites[actor.index].move(660, actor.screen_y, 10) end check = escape_move until check == false @spriteset.update Graphics.update check = escape_move end # ??????? BGM ??? $game_system.bgm_play($game_temp.map_bgm) # ????? battle_end(1) # ??????? else # ???????????????? $game_party.clear_actions # ????????? start_phase4 end end def escape_move for actor in @spriteset.actor_sprites if actor.moving return true end end return false end def start_phase5 # ???? 5 ??? @phase = 5 # ????? ME ??? $game_system.me_play($game_system.battle_end_me) # ??????? BGM ??? $game_system.bgm_play($game_temp.map_bgm) # EXP??????????????? exp = 0 gold = 0 treasures = [] # ??? for enemy in $game_troop.enemies # ?????????????? unless enemy.hidden # ?? EXP???????? exp += enemy.exp gold += enemy.gold # ????????? if rand(100) < enemy.treasure_prob if enemy.item_id > 0 treasures.push($data_items[enemy.item_id]) end if enemy.weapon_id > 0 treasures.push($data_weapons[enemy.weapon_id]) end if enemy.armor_id > 0 treasures.push($data_armors[enemy.armor_id]) end end end end # ???????? 6 ?????? treasures = treasures[0..5] # EXP ?? for i in 0...$game_party.actors.size actor = $game_party.actors[i] if actor.cant_get_exp? == false last_level = actor.level actor.exp += exp if actor.level > last_level #@status_window.level_up(i) end end end # ?????? $game_party.gain_gold(gold) # ??????? for item in treasures case item when RPG::Item $game_party.gain_item(item.id, 1) when RPG::Weapon $game_party.gain_weapon(item.id, 1) when RPG::Armor $game_party.gain_armor(item.id, 1) end end # ??????????????? @result_window = Window_BattleResult.new(exp, gold, treasures) # ??????????? @phase5_wait_count = 100 end #-------------------------------------------------------------------------- # ? ?????? (???????????) #-------------------------------------------------------------------------- def update_phase5 # ????????? 0 ??????? if @phase5_wait_count > 0 # ???????????? @phase5_wait_count -= 1 # ????????? 0 ?????? if @phase5_wait_count == 0 # ???????????? @result_window.visible = true # ?????????????? $game_temp.battle_main_phase = false # ????????????????? #@status_window.refresh end return end # C ?????????? if Input.trigger?(Input::C) # ????? battle_end(0) end end def phase3_setup_command_window # ????????????????? @party_command_window.active = false @party_command_window.visible = false # ????????????????? @actor_command_window.active = true @actor_command_window.visible = true @help_window.visible = true # ??????????????????? if @actor_command_window.help_window == nil @actor_command_window.help_window = @help_window end @actor_command_window.update_help #@actor_command_window.x = @actor_index * 160 # ??????? 0 ??? @actor_command_window.index = 0 end def start_enemy_select # ?????????? @enemy_arrow = Arrow_Enemy.new(@spriteset.viewport2) # ????????????? @enemy_arrow.help_window = @help_window # ????????????????? @actor_command_window.active = false @actor_command_window.visible = false end def update_phase4 case @phase4_step when 1 update_phase4_step1 when 2 update_phase4_step2 when 3 update_phase4_step3 when 4 update_phase4_step4 when 5 update_phase4_step5 when 6 update_phase4_step6 when 7 update_phase4_step7 end end def update_phase4_step1 # Change actor poses to default #if @active_battler.is_a?(Game_Actor) # @spriteset.actor_sprites[@active_battler.index].default_pose #end for i in 0...$game_party.actors.size actor = $game_party.actors[i] @spriteset.actor_sprites[i].default_pose end @help_window.visible = false if judge return end if $game_temp.forcing_battler == nil setup_battle_event if $game_system.battle_interpreter.running? return end end if $game_temp.forcing_battler != nil @action_battlers.delete($game_temp.forcing_battler) @action_battlers.unshift($game_temp.forcing_battler) end if @action_battlers.size == 0 start_phase2 return end @animation1_id = 0 @animation2_id = 0 @common_event_id = 0 @active_battler = @action_battlers.shift if @active_battler.index == nil return end if @active_battler.hp > 0 and @active_battler.slip_damage? @active_battler.slip_damage_effect @active_battler.damage_pop = true end @active_battler.remove_states_auto #@status_window.refresh @phase4_step = 2 end def make_basic_action_result if @active_battler.is_a?(Game_Actor) $actor_on_top = true elsif @active_battler.is_a?(Game_Enemy) $actor_on_top = false end if @active_battler.current_action.basic == 0 @animation1_id = @active_battler.animation1_id @animation2_id = @active_battler.animation2_id if @active_battler.is_a?(Game_Enemy) if @active_battler.restriction == 3 target = $game_troop.random_target_enemy elsif @active_battler.restriction == 2 target = $game_party.random_target_actor else index = @active_battler.current_action.target_index target = $game_party.smooth_target_actor(index) end #======== here is the setting for the movement & animation... x = target.screen_x - 32 @spriteset.enemy_sprites[@active_battler.index].enemy_pose(2) @spriteset.enemy_sprites[@active_battler.index].move(x, target.screen_y, 10) #========= here if you look at the RPG's movement settings you'll see #========= that he takes the number 40 for the speed of the animation... #========= i thing thats too fast so i settet it down to 10 so looks smoother... end if @active_battler.is_a?(Game_Actor) weapon = $data_weapons[@active_battler.weapon_id] range = false if weapon != nil for id in weapon.element_set if $data_system.elements[23] == "Range" range = true break end end end if @active_battler.restriction == 3 target = $game_party.random_target_actor elsif @active_battler.restriction == 2 target = $game_troop.random_target_enemy else index = @active_battler.current_action.target_index target = $game_troop.smooth_target_enemy(index) end #======= the same thing for the player... ^-^ x = target.screen_x + 32 @spriteset.actor_sprites[@active_battler.index].pose(1) @spriteset.actor_sprites[@active_battler.index].move(x * (range ? 2 : 1), target.screen_y, 10) range = false end @target_battlers = [target] for target in @target_battlers target.attack_effect(@active_battler) end return end if @active_battler.current_action.basic == 1 if @active_battler.is_a?(Game_Actor) @spriteset.actor_sprites[@active_battler.index].pose(0, 1) #defence else @spriteset.enemy_sprites[@active_battler.index].enemy_pose(0, 1) #defence end @help_window.set_text($data_system.words.guard, 1) return end if @active_battler.is_a?(Game_Enemy) and @active_battler.current_action.basic == 2 @help_window.set_text("Escape", 1) @active_battler.escape return end if @active_battler.current_action.basic == 3 $game_temp.forcing_battler = nil @phase4_step = 1 return end if @active_battler.current_action.basic == 4 if $game_temp.battle_can_escape == false $game_system.se_play($data_system.buzzer_se) return end $game_system.se_play($data_system.decision_se) update_phase2_escape return end end def make_skill_action_result @skill = $data_skills[@active_battler.current_action.skill_id] unless @active_battler.current_action.forcing unless @active_battler.skill_can_use?(@skill.id) $game_temp.forcing_battler = nil @phase4_step = 1 return end end @active_battler.sp -= @skill.sp_cost #@status_window.refresh @help_window.set_text(@skill.name, 1) @animation1_id = @skill.animation1_id @animation2_id = @skill.animation2_id if @active_battler.is_a?(Game_Enemy) #@spriteset.enemy_sprites[@active_battler.index].change_sp_bar x = @active_battler.screen_x + 48 @spriteset.enemy_sprites[@active_battler.index].enemy_pose(2) @spriteset.enemy_sprites[@active_battler.index].move(x, @active_battler.screen_y, 5) @spriteset.enemy_sprites[@active_battler.index].enemy_pose(0, 1) end if @active_battler.is_a?(Game_Actor) #@spriteset.actor_sprites[@active_battler.index].change_sp_bar x = @active_battler.screen_x - 48 @spriteset.actor_sprites[@active_battler.index].pose(1) @spriteset.actor_sprites[@active_battler.index].move(x, @active_battler.screen_y, 5) @spriteset.actor_sprites[@active_battler.index].pose(0, 1) end @common_event_id = @skill.common_event_id set_target_battlers(@skill.scope) for target in @target_battlers target.skill_effect(@active_battler, @skill) end end def make_item_action_result # sorry i didnt work on this... # couse i dont have a sprite that uses items.... # so i just added the standby sprite here... # when i get more time for this i'll try what i can do for this one... ^-^ # its the same as the ones above... if @active_battler.is_a?(Game_Actor) @spriteset.actor_sprites[@active_battler.index].pose(0, 1) else @spriteset.enemy_sprites[@active_battler.index].enemy_pose(0, 1) end @item = $data_items[@active_battler.current_action.item_id] unless $game_party.item_can_use?(@item.id) @phase4_step = 1 return end if @item.consumable $game_party.lose_item(@item.id, 1) end @help_window.set_text(@item.name, 1) @animation1_id = @item.animation1_id @animation2_id = @item.animation2_id @common_event_id = @item.common_event_id index = @active_battler.current_action.target_index target = $game_party.smooth_target_actor(index) set_target_battlers(@item.scope) for target in @target_battlers target.item_effect(@item) end end def update_phase4_step3 if @active_battler.current_action.kind == 0 and @active_battler.current_action.basic == 0 # in this one... we have our weapon animations... for player and monster if @active_battler.is_a?(Game_Actor) @spriteset.actor_sprites[@active_battler.index].pose(0,1) elsif @active_battler.is_a?(Game_Enemy) @spriteset.enemy_sprites[@active_battler.index].enemy_pose(0,1) end end if @animation1_id == 1 @active_battler.white_flash = true else @active_battler.animation_id = @animation1_id @active_battler.animation_hit = true end @phase4_step = 4 end def update_phase4_step4 # this here is for the hit animation... for target in @target_battlers target.animation_id = @animation2_id target.animation_hit = (target.damage != "Miss") end @wait_count = 8 @phase4_step = 5 end def update_phase4_step5 if @active_battler.hp > 0 and @active_battler.slip_damage? @active_battler.slip_damage_effect @active_battler.damage_pop = true end # ??????????? @help_window.visible = false # ????????????????? #@status_window.refresh # ?????? if @active_battler.is_a?(Game_Actor) @spriteset.actor_sprites[@active_battler.index].pose(0, 1) else @spriteset.enemy_sprites[@active_battler.index].enemy_pose(0, 1) end for target in @target_battlers if target.damage != nil target.damage_pop = true if @active_battler.is_a?(Game_Actor) @spriteset.actor_sprites[@active_battler.index].pose(0, 1) else @spriteset.enemy_sprites[@active_battler.index].enemy_pose(0, 1) end end end # ???? 6 ??? @phase4_step = 6 end def update_phase4_step6 # here we are asking if the player is dead and is a player or an enemy... # these lines are for the running back and standby animation.... if @active_battler.is_a?(Game_Actor) if @active_battler.current_action.basic == 1 @spriteset.actor_sprites[@active_battler.index].pose(0, 1) else @spriteset.actor_sprites[@active_battler.index].move(@active_battler.screen_x, @active_battler.screen_y, 20) @spriteset.actor_sprites[@active_battler.index].pose(2) end else if @active_battler.current_action.basic == 1 @spriteset.enemy_sprites[@active_battler.index].enemy_pose(0, 1) else @spriteset.enemy_sprites[@active_battler.index].move(@active_battler.screen_x, @active_battler.screen_y, 20) @spriteset.enemy_sprites[@active_battler.index].enemy_pose(1) end end for target in @target_battlers if target.is_a?(Game_Actor) @spriteset.actor_sprites[target.index].pose(0, 1) else @spriteset.enemy_sprites[target.index].enemy_pose(0, 1) end end $game_temp.forcing_battler = nil if @common_event_id > 0 common_event = $data_common_events[@common_event_id] $game_system.battle_interpreter.setup(common_event.list, 0) end @phase4_step = 7 end def update_phase4_step7 # here we are asking if the player is dead and is a player or an enemy... # these lines are for the running back and standby animation.... if @active_battler.is_a?(Game_Actor) @spriteset.actor_sprites[@active_battler.index].pose(0, 1) else @spriteset.enemy_sprites[@active_battler.index].enemy_pose(0, 1) end $game_temp.forcing_battler = nil if @common_event_id > 0 common_event = $data_common_events[@common_event_id] $game_system.battle_interpreter.setup(common_event.list, 0) end @phase4_step = 1 end end
×
×
  • Create New...