Life RPG Maker 2.0
Bem vindo a LRM, forum de ajuda Maker
Registre-se em nosso forum e aproveite Very Happy
esperamos que você seja ajudado e esperamos que nos ajude Very Happy

Participe do fórum, é rápido e fácil

Life RPG Maker 2.0
Bem vindo a LRM, forum de ajuda Maker
Registre-se em nosso forum e aproveite Very Happy
esperamos que você seja ajudado e esperamos que nos ajude Very Happy
Life RPG Maker 2.0
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Life RPG Maker 2.0

2ª versão do forum life rpg maker

Os membros mais ativos do mês
Nenhum usuário

Últimos assuntos
» Kingdon 1.6
Bestiario De Inimigos EmptyTer Jun 09, 2015 3:02 pm por MasterKill

» Tempo dinâmico e Hora do Sistema
Bestiario De Inimigos EmptySeg Dez 09, 2013 5:42 pm por jonathas

» Sistema de Natação
Bestiario De Inimigos EmptySáb Dez 07, 2013 5:14 pm por jonathas

» Classificar Inventario
Bestiario De Inimigos EmptySáb Dez 07, 2013 12:07 pm por Samuka_Adm

» VOLTEI ALELUIA :D
Bestiario De Inimigos EmptySáb Dez 07, 2013 10:35 am por Samuka_Adm

» Netplay Master v4.0.7
Bestiario De Inimigos EmptyQua Jun 26, 2013 1:32 pm por xdario

» The League Of War [Season 1]
Bestiario De Inimigos EmptySex Jan 18, 2013 6:02 pm por Warrior

» Meu primeiro desenho que posto :D
Bestiario De Inimigos EmptyQua Jan 09, 2013 1:37 pm por PedroMatoso

» Window Configurações
Bestiario De Inimigos EmptyQua Jan 09, 2013 1:36 pm por PedroMatoso

Parceiros
Fórum grátis

Fórum grátis


Mundo RPG Maker
MMORPG BRASIL

Você não está conectado. Conecte-se ou registre-se

Bestiario De Inimigos

2 participantes

Ir para baixo  Mensagem [Página 1 de 1]

1Bestiario De Inimigos Empty Bestiario De Inimigos Qui Out 11, 2012 1:11 pm

Nikho S2

Nikho S2
Diva
Diva

Ola Galera Do Lrm Hoje Vim Disponibilizar esse Script De Bestiario Aprenda +
Sobre Seus Inimigos e Descubra o Seu Ponto Fraco

Script
Código:

#==============================================================================
# Beastairy System
#--------------------------------------------------------------------------
#  Created By SephirothSpawn (11.18.05)
#    Last Updated: 10.10.12 (Gab!)
#    10.10.12 - Correção do bug de save:
#      * Após continuar o jogo o bestiário resetava
#==============================================================================

#==============================================================================
# * Class Scene Title
#==============================================================================
class Scene_Title
  #--------------------------------------------------------------------------
  # * Alias' New Game Method
  #--------------------------------------------------------------------------
  alias new_game command_new_game
  #--------------------------------------------------------------------------
  # * Adds Beastairy Game Variables
  #--------------------------------------------------------------------------
  def command_new_game
    # Sets Up Smithery List
    $game_beastairy = Game_Beastairy.new
    new_game
  end
end

#==============================================================================
# * Scene_Load
#==============================================================================
class Scene_Load < Scene_File
  #--------------------------------------------------------------------------
  # * Alias Read Save Data
  #--------------------------------------------------------------------------
  alias new_load read_save_data
  #--------------------------------------------------------------------------
  # * Read Save Data
  #--------------------------------------------------------------------------
  def read_save_data(file)
    $game_beastairy = Game_Beastairy.new
    new_load(file)
    $game_beastairy = Marshal.load(file)
  end
end

#==============================================================================
# * Scene_Save
#==============================================================================
class Scene_Save < Scene_File
  #--------------------------------------------------------------------------
  # * Alias Save Data
  #--------------------------------------------------------------------------
  alias new_save write_save_data
  #--------------------------------------------------------------------------
  # * Write Save Data
  #--------------------------------------------------------------------------
  def write_save_data(file)
    new_save(file)
    Marshal.dump($game_beastairy, file)
  end
end


#==============================================================================
# * Game_Temp
#==============================================================================
class Game_Temp
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :beastairy_return
  #--------------------------------------------------------------------------
  # * Alias Initialization
  #--------------------------------------------------------------------------
  alias beastairy_initialize initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    beastairy_initialize
    @beastairy_return = false
  end
end

#==============================================================================
# * Class Game Beastairy
#==============================================================================
class Game_Beastairy
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :monster_groups
  attr_accessor :monsters
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    @monster_groups = []
    @monsters = [nil]
    for i in 1...$data_enemies.size
      $data_enemies[i].beastairy_setup
      unless @monster_groups.include?($data_enemies[i].group)
        @monster_groups.push($data_enemies[i].group)
      end
      @monsters.push($data_enemies[i]);
    end
  end
end

#==============================================================================
# * Module RPG
#==============================================================================
module RPG
  #=========================================================================
  # * Class Enemy
  #=========================================================================
  class Enemy
    #--------------------------------------------------------------------------
    # * Public Instance Variables
    #--------------------------------------------------------------------------
    # Detectors
    attr_accessor :seen, :defeated, :group
    # Counters
    attr_accessor :seen_times, :defeated_times
    #--------------------------------------------------------------------------
    # * Setup Beastairy
    #--------------------------------------------------------------------------
    def beastairy_setup
      if @seen_times == nil then
        @seen_times = 0
      end
      if @defeated_times == nil then
        @defeated_times = 0
      end
      if @seen == nil then
        @seen = false
      end
      if @defeated == nil then
        @defeated = false
      end     

      if @name.include?('(')
        a, b = @name.index('('), @name.index(')')
        @group = @name.slice!(a..b)
        @group.delete!('(')
        @group.delete!(')')
      else
        @group = "Unclassified"
      end
    end
    #--------------------------------------------------------------------------
    # * See Enemy
    #--------------------------------------------------------------------------
    def see
      @seen = true
      @seen_times += 1
    end
    #--------------------------------------------------------------------------
    # * Defeat Enemy
    #--------------------------------------------------------------------------
    def defeat
      @defeated = true
      @defeated_times += 1
    end
  end
end




#==============================================================================
# * Class Window Base
#==============================================================================
class Window_Base < Window
  #--------------------------------------------------------------------------
  # * Draw Enemy Sprite
  #--------------------------------------------------------------------------
  def draw_enemy_sprite(x, y, enemy_name, enemy_hue, pose, frame)
    bitmap = RPG::Cache.character(enemy_name, enemy_hue)
    cw = bitmap.width / 4
    ch = bitmap.height / 4
    # Facing Direction
    case pose
      when 0    ;a = 0            # Down
      when 1    ;a = ch          # Left
      when 2    ;a = ch * 3      # Up
      when 3    ;a = ch * 2      # Right
    end
    # Current Animation Slide
    case frame
      when 0    ;b = 0
      when 1    ;b = cw
      when 2    ;b = cw * 2
      when 3    ;b = cw * 3
    end
    # Bitmap Rectange
    src_rect = Rect.new(b, a, cw, ch)
    # Draws Bitmap
    self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect)
  end
end

#==============================================================================
# Window Monster Group Info
#==============================================================================
class Window_Monster_Group_Info < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(200, 0, 440, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh(0, 0, 0)
  end
  #--------------------------------------------------------------------------
  # * Refresh
  # index : Index of Group From Game_Beastairy.Groups
  # pose : Enemy Character Pose
  # frame : Frame of Pose
  #--------------------------------------------------------------------------
  def refresh(index, pose, frame)
    # Clears Window
    contents.clear
    # Sets Up Group Name
    group_name = $game_beastairy.monster_groups[index]
    # Sets Up Enemies In Group
    enemies = []
    for i in 1...$data_enemies.size
      if $data_enemies[i].group == group_name
        enemies.push($game_beastairy.monsters[i])
      end
    end
    group_name = "Exit" if index == $game_beastairy.monster_groups.size
    # Draws Enemy Group Name
    contents.font.color = system_color
    contents.draw_text(0, 0, self.width - 32, 32, group_name, 1)
    unless index == $game_beastairy.monster_groups.size
      # Offsets Graphics X Position
      graphics_offset = contents.width / (enemies.size + 1)
      # Draws Enemies Graphics
      for i in 0...enemies.size
        draw_enemy_sprite(graphics_offset * (i + 1), 124, enemies[i].battler_name , enemies[i].battler_hue , pose, frame)
      end
      # HP, SP, and Gold Word
      hp_word = $data_system.words.hp
      sp_word = $data_system.words.sp
      gold_word = $data_system.words.gold
      # Draws Table Headings
      contents.draw_text(4, 128, width, 24, "Name")
      contents.draw_text(0, 128, 200, 24, "Max #{hp_word}", 2)
      contents.draw_text(0, 128, 300, 24, "Max #{sp_word}", 2)
      contents.draw_text(-4, 128, contents.width, 24, "#{gold_word} Award", 2)
      # Draws Enemies Stats
      contents.font.color = normal_color
      for i in 0...enemies.size
        # Sets Enemy Stats
        name, hp, sp, gold = "?", "???", "???", "??"
        name, hp, sp = enemies[i].name, enemies[i].maxhp, enemies[i].maxsp if enemies[i].seen
        gold = enemies[i].gold if enemies[i].defeated
        # Draws Stats
        contents.draw_text(4, 152 + (i * 24), width, 24, name)
        contents.draw_text(0, 152 + (i * 24), 200, 24, "#{hp}", 2)
        contents.draw_text(0, 152 + (i * 24), 300, 24, "#{sp}", 2)
        contents.draw_text(-4, 152 + (i * 24), contents.width, 24, "#{gold}", 2)
      end
    end
  end
end

#==============================================================================
# Window Monster Info
#==============================================================================
class Window_Monster_Info < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(200, 0, 440, 480)
    self.contents = Bitmap.new(width - 32, height - 32)
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #    index  : Index of enemy From $data_enemies
  #    pose  : Enemy Character Pose
  #    frame  : Frame of Pose
  #--------------------------------------------------------------------------
  def refresh(index, pose, frame)
    # Clears Window
    contents.clear
    # Enemy
    enemy = $game_beastairy.monsters[index]#$data_enemies[index]
    # Graphic Image
    draw_enemy_sprite(52, 100, enemy.battler_name , enemy.battler_hue, pose, frame)
    # Default Stats Set
    name = "?"
    maxhp = maxsp = str = dex = agi = int = atk = pdef = mdef = eva = "???"
    exp = gold = item_id = weapon_id = armor_id = treasure_prob = "??"
    item_icon = weapon_icon = armor_icon = "049-Skill06"
    armor_type = 2
    # If the Enemy has been seen
    if enemy.seen
      name = enemy.name
      maxhp = enemy.maxhp.to_s
      maxsp = enemy.maxsp.to_s
      str = enemy.str.to_s
      dex = enemy.dex.to_s
      agi = enemy.agi.to_s
      int = enemy.int.to_s
      atk = enemy.atk.to_s
      pdef = enemy.pdef.to_s
      mdef = enemy.mdef.to_s
      eva = enemy.eva.to_s
    end
    # If the Enemy has been Defeated
    if enemy.defeated
      exp = enemy.exp.to_s
      gold = enemy.gold.to_s
      if enemy.item_id == 0
        item_id = "Nothing"
        item_icon = "032-Item01"
      else
        item_id = $data_items[enemy.item_id].name
        item_icon = $data_items[enemy.item_id].icon_name
      end
      if enemy.weapon_id == 0
        weapon_id = "Nothing"
        weapon_icon = "032-Item01"
      else
        weapon_id = $data_weapons[enemy.weapon_id].name
        weapon_icon = $data_weapons[enemy.weapon_id].icon_name
      end
      if enemy.armor_id == 0
        armor_id = "Nothing"
        armor_icon = "032-Item01"
      else
        armor_id = $data_armors[enemy.armor_id].name
        armor_icon = $data_armors[enemy.armor_id].icon_name
        armor_type = $data_armors[enemy.armor_id].type
      end
      treasure_prob = enemy.treasure_prob.to_s
    end
    # System Words
    g_word = $data_system.words.gold
    hp_word = $data_system.words.hp
    sp_word = $data_system.words.sp
    str_word = $data_system.words.str
    dex_word = $data_system.words.dex
    agi_word = $data_system.words.agi
    int_word = $data_system.words.int
    atk_word = $data_system.words.atk
    pdef_word = $data_system.words.pdef
    mdef_word = $data_system.words.mdef
    weapon_word = $data_system.words.weapon
    case armor_type
    when 0 ;armor_type = $data_system.words.armor1
    when 1 ;armor_type = $data_system.words.armor2
    when 2 ;armor_type = $data_system.words.armor3
    when 3 ;armor_type = $data_system.words.armor4
    end
   
    item_word = $data_system.words.item
    # Draws Name
    contents.font.color = normal_color
    contents.draw_text(116, 0, contents.width - 116, 32, name)
    # Draws Times Seen & Defeated
    contents.font.color = system_color
    contents.draw_text(116, 32, contents.width - 116, 32, "Times Seen:")
    contents.draw_text(116, 64, contents.width - 116, 32, "Times Defeated:")
    contents.font.color = normal_color
    contents.draw_text(0, 32, contents.width, 32, "#{enemy.seen_times}", 2)
    contents.draw_text(0, 64, contents.width, 32, "#{enemy.defeated_times}", 2)
    # Organizes Stats
    colomn_a_left = ["Max #{hp_word}", "Max #{sp_word}", str_word, dex_word,
    agi_word, int_word, atk_word, pdef_word, mdef_word, "Evasion"]
    colomn_a_right = [maxhp, maxsp, str,dex , agi, int, atk, pdef, mdef, eva]
    # Organized Victory Settings
    column_b_left = ["Experience Given:", "#{g_word} Dropped:", "#{item_word} Dropped:", "",
    "#{weapon_word} Dropped:", "", "#{armor_type} Dropped:", "", "Drop Pobabilty:"]
    column_b_right = [exp, gold, "", item_id, "", weapon_id, "", armor_id, treasure_prob]
    # Draws Stats
    for i in 0...colomn_a_left.size
      contents.font.color = system_color
      contents.draw_text(4, 160 + i * 32, 160, 32, colomn_a_left[i])
      contents.font.color = normal_color
      contents.draw_text(-4, 160 + i * 32, 160, 32, colomn_a_right[i], 2)
    end
    # Draws Victory Settings
    for i in 0...column_b_left.size
      contents.font.color = system_color
      contents.draw_text(168, 160 + i * 32, contents.width, 32, column_b_left[i])
      x = -4
      x = -30 if i == 3 or i == 5 or i == 7
      contents.font.color = normal_color
      contents.draw_text(x, 160 + i * 32, contents.width, 32, column_b_right[i], 2)
    end
    # Draws Item Icons
    bitmap = RPG::Cache.icon(item_icon)
    self.contents.blt(contents.width - 24, 260, bitmap, Rect.new(0, 0, 24, 24))
    bitmap = RPG::Cache.icon(weapon_icon)
    self.contents.blt(contents.width - 24, 324, bitmap, Rect.new(0, 0, 24, 24))
    bitmap = RPG::Cache.icon(armor_icon)
    self.contents.blt(contents.width - 24, 388, bitmap, Rect.new(0, 0, 24, 24))
  end
  #end
end
#==============================================================================
# Window Beastairy Controls
#==============================================================================
class Window_Beastairy_Controls < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 288, 200, 192)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.z = 999
    refresh(0)
  end

  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh(phase)
    # Clears Window
    contents.clear
    disabled_system_color = Color.new(192, 224, 255, 128)
    contents.font.color = normal_color
    contents.draw_text(0, 0, contents.width, 24, "L / R : Change Pose")
    # Main Phase Controls
    contents.font.color = phase == 0 ? system_color : disabled_system_color
    contents.draw_text(4, 24, contents.width, 24, "Main")
    contents.font.color = phase == 0 ? normal_color : disabled_color
    contents.draw_text(8, 48, contents.width, 24, "B : Return to Map")
    contents.draw_text(8, 72, contents.width, 24, "C : Select Group")
    # Enemy Select Controls
    contents.font.color = phase == 1 ? system_color : disabled_system_color
    contents.draw_text(4, 96, contents.width, 24, "Enemy Select")
    contents.font.color = phase == 1 ? normal_color : disabled_color
    contents.draw_text(8, 120, contents.width, 24, "B : Return to Main")
    contents.draw_text(8, 140, contents.width, 24, "C : Test Battle")
  end
end

#==============================================================================
# ** Class Scene Beastairy
#==============================================================================
class Scene_Beastairy
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    # Sets Main Phase
    @phase = 0
    # Enemies Graphic Animation
    @pose, @frame, @counting_frame= 0, 0, 0
    # Current Phase Window
    @phase_window = Window_Base.new(0, 0, width = 200, height = 64)
    @phase_window.contents = contents = Bitmap.new(width - 32, height - 32)
    @phase_window.contents.draw_text(0, 0, 168, 32, "Main Phase", 1)
    # Main Window (Enemy Groups)
    commands = $game_beastairy.monster_groups.dup
    commands.push("Exit")
    @enemy_groups = Window_Command.new(200, commands)
    @enemy_groups.y = 64
    @enemy_groups.height = 224
    # Controls Window
    @controls = Window_Beastairy_Controls.new
    # Monster Group Information Window
    @monster_window = Window_Monster_Group_Info.new
    @monster_window.refresh(0, 0, 0)
    # Enemy Information Window
    @enemy_window = Window_Monster_Info.new
    @enemy_window.visible = false
    # Scene Objects
    @objects = [@phase_window, @enemy_groups, @controls, @monster_window, @enemy_window]
    # Execute transition
    Graphics.transition
    # Main loop
    loop do
      # Update game screen
      Graphics.update
      # Update input information
      Input.update
      # Update Objects Information
      @objects.each {|x| x.update}
      # Frame update
      update
      # Abort loop if screen is changed
      break if $scene != self
    end
    # Prepare for transition
    Graphics.freeze
    # Dispose of Objects
    @objects.each {|x| x.dispose unless x.disposed?}
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Visiblity Changes Between Methods
    case @phase  # Main Phase
    when 0
      [@enemy_window].each {|x| x.visible = false if x.visible}
      [@enemy_groups, @monster_window].each {|x| x.visible = true unless x.visible}
      @enemy_groups.active = true
    when 1
      [@enemy_window].each {|x| x.visible = true unless x.visible}
      [@enemy_groups, @monster_window].each {|x| x.visible = false if x.visible}
      @enemy_groups.active = false
    end
     
    # Updates Enemy Animation
    @counting_frame += 1
    if @counting_frame == 8
      @counting_frame = 0
      @frame += 1
      @frame = 0 if @frame == 4
      if @phase == 0
        @monster_window.refresh(@enemy_groups.index, @pose, @frame)
      else
        enemy_id = @enemies[@groups_enemies.index].id
        @enemy_window.refresh(enemy_id, @pose, @frame)
      end
    end
    # Current Phase Update
    case @phase
    when 0; main_update
    when 1; enemy_select
    end
  end
  #--------------------------------------------------------------------------
  # * Main Frame Update
  #--------------------------------------------------------------------------
  def main_update
    # Exit Scene
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      $game_temp.beastairy_return = false
      $scene = Scene_Map.new
    # Enemy Select
    elsif Input.trigger?(Input::C)
      $game_system.se_play($data_system.decision_se)
      if @enemy_groups.index == $game_beastairy.monster_groups.size
        $game_temp.beastairy_return = false
        $scene = Scene_Map.new
      else
        commands, @enemies = [], []
        group = $game_beastairy.monster_groups[@enemy_groups.index]
        for i in 1...$data_enemies.size
          if $data_enemies[i].group == group
            commands.push($game_beastairy.monsters[i].seen ? $game_beastairy.monsters[i].name : "?")
            @enemies.push($game_beastairy.monsters[i])
          end
        end
        @groups_enemies = Window_Command.new(200, commands)
        @groups_enemies.y = 64
        @groups_enemies.height = 224
        # Phase Window Update
        @phase_window.contents.clear
        @phase_window.contents.draw_text(0, 0, 168, 32, "Enemy Select", 1)
        # Adds Object (For Updating)
        @objects.push(@groups_enemies)
        # Updates Controls Window
        @controls.refresh(1)
        enemy_id = @enemies[@groups_enemies.index].id
        @enemy_window.refresh(enemy_id, @pose, @frame)
        # Changes Phase
        @phase = 1
      end
      # Changes Pose
    elsif Input.trigger?(Input::LEFT)
      $game_system.se_play($data_system.cursor_se)
      @pose == 0 ? @pose = 3 : @pose -= 1
    elsif Input.trigger?(Input::RIGHT)
      $game_system.se_play($data_system.cursor_se)
      @pose == 3 ? @pose = 0 : @pose += 1
    end
  end
  #--------------------------------------------------------------------------
  # * Enemy Frame Update
  #--------------------------------------------------------------------------
  def enemy_select
    # Exit Phase
    if Input.trigger?(Input::B)
      $game_system.se_play($data_system.cancel_se)
      @groups_enemies.dispose
      @objects.delete(@groups_enemies)
      # Phase Window Update
      @phase_window.contents.clear
      @phase_window.contents.draw_text(0, 0, 168, 32, "Main Phase", 1)
      # Updates Controls Window
      @controls.refresh(0)
      # Changes Phase
      @phase = 0
    # Enemy Select
    elsif Input.trigger?(Input::C)
      enemy = @enemies[@groups_enemies.index]
      if enemy.seen
        $game_system.se_play($data_system.decision_se)
        enemy_name = enemy.name
        for i in 1...$data_troops.size
          if $data_troops[i].name == enemy_name
            $game_temp.beastairy_return = true
            $game_temp.battle_troop_id = i
            $game_temp.battle_can_escape = true
            $game_temp.battle_can_lose = false
            $game_temp.battle_proc = nil
            # Memorize map BGM and stop BGM
            $game_temp.map_bgm = $game_system.playing_bgm
            $game_system.bgm_stop
            # Play battle start SE
            $game_system.se_play($data_system.battle_start_se)
            # Play battle BGM
            $game_system.bgm_play($game_system.battle_bgm)
            # Straighten player position
            $game_player.straighten
            # Switch to battle screen
            $scene = Scene_Battle.new
          end
        end
      else
        $game_system.se_play($data_system.buzzer_se)
      end
    elsif Input.trigger?(Input::LEFT)
      $game_system.se_play($data_system.cursor_se)
      @pose == 0 ? @pose = 3 : @pose -= 1
    elsif Input.trigger?(Input::RIGHT)
      $game_system.se_play($data_system.cursor_se)
      @pose == 3 ? @pose = 0 : @pose += 1
    end
  end
end

#==============================================================================
# ** Scene_Battle
#==============================================================================
class Scene_Battle
  #--------------------------------------------------------------------------
  # * Alias Main Processing
  #--------------------------------------------------------------------------
  alias beastairy_main main
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------

  def main
    unless $game_temp.beastairy_return
      @beastairy_troop = []
      troop = $data_troops[$game_temp.battle_troop_id]
      for i in 0...troop.members.size
        enemy = $data_enemies[troop.members[i].enemy_id]
        @beastairy_troop.push(enemy)
        enemy.see
      end
    else
      @beastairy_troop = []
    end
    beastairy_main
  end
 
  #--------------------------------------------------------------------------
  # * Battle Ends
  # result : results (0:win 1:lose 2:escape)
  #--------------------------------------------------------------------------
  def battle_end(result)
    # Clear in battle flag
    $game_temp.in_battle = false
    # Clear entire party actions flag
    $game_party.clear_actions
    # Remove battle states
    for actor in $game_party.actors
      actor.remove_states_battle
    end
    # Clear enemies
    $game_troop.enemies.clear
    # Call battle callback
    if $game_temp.battle_proc != nil
      $game_temp.battle_proc.call(result)
      $game_temp.battle_proc = nil
    end
    if $game_temp.beastairy_return
      $scene = Scene_Beastairy.new
    else
      if result == 0
        for enemy in @beastairy_troop
          enemy.defeat
        end
      end
      $scene = Scene_Map.new
    end
  end

  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # If battle event is running
    if $game_system.battle_interpreter.running?
      # Update interpreter
      $game_system.battle_interpreter.update
      # If a battler which is forcing actions doesn't exist
      if $game_temp.forcing_battler == nil
        # If battle event has finished running
        unless $game_system.battle_interpreter.running?
          # Rerun battle event set up if battle continues
          unless judge
            setup_battle_event
          end
        end
        # If not after battle phase
        if @phase != 5
          # Refresh status window
          @status_window.refresh
        end
      end
    end
    # Update system (timer) and screen
    $game_system.update
    $game_screen.update
    # If timer has reached 0
    if $game_system.timer_working and $game_system.timer == 0
      # Abort battle
      $game_temp.battle_abort = true
    end
    # Update windows
    @help_window.update
    @party_command_window.update
    @actor_command_window.update
    @status_window.update
    @message_window.update
    # Update sprite set
    @spriteset.update
    # If transition is processing
    if $game_temp.transition_processing
      # Clear transition processing flag
      $game_temp.transition_processing = false
      # Execute transition
      if $game_temp.transition_name == ""
        Graphics.transition(20)
      else
        Graphics.transition(40, "Graphics/Transitions/" +
                            $game_temp.transition_name)
      end
    end
    # If message window is showing
    if $game_temp.message_window_showing
      return
    end
    # If effect is showing
    if @spriteset.effect?
      return
    end
    # If game over
    if $game_temp.gameover
      # Switch to game over screen
      if $game_temp.beastairy_return
        $scene = Scene_Beastairy.new
      else
        $scene = Scene_Gameover.new
      end
    end

    # If returning to title screen
    if $game_temp.to_title
      # Switch to title screen
      $scene = Scene_Title.new
      return
    end
    # If battle is aborted
    if $game_temp.battle_abort
      # Return to BGM used before battle started
      $game_system.bgm_play($game_temp.map_bgm)
      # Battle ends
      battle_end(1)
      return
    end
    # If waiting
    if @wait_count > 0
      # Decrease wait count
      @wait_count -= 1
      return
    end
    # If battler forcing an action doesn't exist,
    # and battle event is running
    if $game_temp.forcing_battler == nil and
      $game_system.battle_interpreter.running?
      return
    end
    # Branch according to phase
    case @phase
    when 1 # pre-battle phase
      update_phase1
    when 2 # party command phase
      update_phase2
    when 3 # actor command phase
      update_phase3
    when 4 # main phase
      update_phase4
    when 5 # after battle phase
      update_phase5
    end
  end
  #--------------------------------------------------------------------------
  # * Start After Battle Phase
  #--------------------------------------------------------------------------
  def start_phase5
    # Shift to phase 5
    @phase = 5
    # Play battle end ME
    $game_system.me_play($game_system.battle_end_me)
    # Return to BGM before battle started
    $game_system.bgm_play($game_temp.map_bgm)
    # Initialize EXP, amount of gold, and treasure
    exp = 0
    gold = 0
    treasures = []
    # Loop
    for enemy in $game_troop.enemies
      # If enemy is not hidden
      unless enemy.hidden
        unless $game_temp.beastairy_return
          # Add EXP and amount of gold obtained
          exp += enemy.exp
          gold += enemy.gold
          # Determine if treasure appears
          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
    end
    # Treasure is limited to a maximum of 6 items
    treasures = treasures[0..5]
    # Obtaining 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
    # Obtaining gold
    $game_party.gain_gold(gold)
    # Obtaining treasure
    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
    # Make battle result window
    @result_window = Window_BattleResult.new(exp, gold, treasures)
    # Set wait count
    @phase5_wait_count = 100
  end
end

Imagens
Bestiario De Inimigos Bestiario

Demo
Não necessária

Creditos

Criado por SephirothSpawn
Modificado por Marcelo Cavaco
Disponibilizar Nikho S2

Obrigado Por Ter Visto Meu 1°Topico ^^ Xaauu

2Bestiario De Inimigos Empty Re: Bestiario De Inimigos Qui Out 11, 2012 1:20 pm

Samuka_Adm

Samuka_Adm
Admin
Admin

vlw *-*, vlw pela disponibilisaçao ^^, acho ke usarei esse sistema no meu jogo ^^
+1 cred

https://liferpgmakerv2.forumeiros.com

3Bestiario De Inimigos Empty Re: Bestiario De Inimigos Qui Out 11, 2012 1:38 pm

Nikho S2

Nikho S2
Diva
Diva

Samuka_Adm escreveu:vlw *-*, vlw pela disponibilisaçao ^^, acho ke usarei esse sistema no meu jogo ^^
+1 cred
Vlw Pelo Credito ^^

Conteúdo patrocinado



Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos