Войти на сайт

Авторизация, ждите ...
×
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.

ТЕМА: YanFly Compatible Customisable ATB/Stami

YanFly Compatible Customisable ATB/Stami 3 года 1 мес. назад #124866

  • Valmer2003
  • Valmer2003 аватар
  • Вне сайта
  • Познающий
  • Сообщений: 16
  • Спасибо получено: 2
Версия мэйкера: VX Ace
Здраствуйте, хочу добавить в свой проект ATB Battle System, и у меня возникла такая проблема, когда в бою у меня заполняется шкала, благодаря которой я могу выбрать действие, у меня просто выскакивает эта ошибка, указанная на скриншоте. Как быть? Сейчас прикреплю все скрипты, которые я использовал:

Yanfly Engine Ace - Ace Core Engine v1.09
#==============================================================================
# 
# ▼ Yanfly Engine Ace - Ace Core Engine v1.09
# -- Last Updated: 2012.02.19
# -- Level: Easy, Normal
# -- Requires: n/a
# 
#==============================================================================
 
$imported = {} if $imported.nil?
$imported["YEA-CoreEngine"] = true
 
#==============================================================================
# ▼ Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2012.02.19 - Bug Fixed: Parallax updating works properly with looping maps.
# 2012.02.10 - Bug Fixed: Forced actions no longer cancel out other actions
#              that have been queued up for later.
# 2012.01.08 - Font resets no longer reset bold and italic to off, but instead
#              to whatever default you've set.
# 2011.12.26 - New Bugfix: When using substitute, allies will no longer take
#              place of low HP allies for friendly skills.
# 2011.12.20 - New Bugfix: Force Action no longer cancels out an actor's queue.
#              Credits to Yami for finding and making the fix for!
#              Switch added for those who want removed forced action battlers.
# 2011.12.15 - Updated for better menu gauge appearance.
# 2011.12.10 - Bug Fixed: Right and bottom sides of the map would show
#              the left and top sides of the map.
#            - Bug Fixed: Viewport sizes didn't refresh from smaller maps.
# 2011.12.07 - New Bugfix: Dual weapon normal attacks will now play both
#              animations without one animation interrupting the other.
# 2011.12.04 - Updated certain GUI extensions for increased screen size.
#            - More efficient digit grouping method credits to TDS.
# 2011.12.01 - Started Script and Finished.
# 
#==============================================================================
# ▼ Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This is the core engine for Yanfly Engine Ace, made for RPG Maker VX Ace.
# This script provides various changes made to the main engine including bug
# fixes and GUI upgrades.
# 
# -----------------------------------------------------------------------------
# Bug Fix: Animation Overlay
# -----------------------------------------------------------------------------
# - It's the same bug from VX. When an all-screen animation is played against a
# group of enemies, the animation bitmap is actually made multiple times, thus
# causing a pretty extreme overlay when there are a lot of enemies on screen.
# This fix will cause the animation to play only once.
# 
# -----------------------------------------------------------------------------
# Bug Fix: Animation Interruption
# -----------------------------------------------------------------------------
# - A new bug. When a character dual wields and attacks a single target, if an
# animation lasts too long, it will interrupt and/or halt the next animation
# from occurring. This script will cause the first animation to finish playing
# and then continue forth.
# 
# -----------------------------------------------------------------------------
# Bug Fix: Battle Turn Order Fix
# -----------------------------------------------------------------------------
# - Same bug from VX. For those who use the default battle system, once a
# turn's started, the action order for the turn becomes set and unchanged for
# the remainder of that turn. Any changes to a battler's AGI will not be
# altered at all even if the battler were to receive an AGI buff or debuff.
# This fix will cause the speed to be updated properly upon each action.
# 
# -----------------------------------------------------------------------------
# Bug Fix: Forced Action Fix
# -----------------------------------------------------------------------------
# - A new bug. When a battler is forced to perform an action, the battler's
# queued action is removed and the battler loses its place in battle. This
# fix will resume queue after a forced action.
# 
# -----------------------------------------------------------------------------
# Bug Fix: Gauge Overlap Fix
# -----------------------------------------------------------------------------
# - Same bug from VX. When some values exceed certain amounts, gauges can
# overextend past the width they were originally designed to fit in. This fix
# will prevent any overextending from gauges.
# 
# -----------------------------------------------------------------------------
# Bug Fix: Held L and R Menu Scrolling
# -----------------------------------------------------------------------------
# - Before in VX, you can scroll through menus by holding down L and R buttons
# (Q and W on the keyboard) to scroll through menus quickly. This fix will
# re-enable the ability to scroll through menus in such a fashion. Disable it
# in the module if you wish to.
# 
# -----------------------------------------------------------------------------
# Bug Fix: Substitute Healing
# -----------------------------------------------------------------------------
# If an actor has the substitute (cover) flag on them, they will attempt to
# take the place of low HP allies when they're the target of attack. However,
# this is also the case for friendly skills such as heal. This script will fix
# it where if a battler targets an ally, no substitutes will take place.
# 
# -----------------------------------------------------------------------------
# New Feature: Screen Resolution Size
# -----------------------------------------------------------------------------
# - The screen can now be resized from 544x416 with ease and still support maps
# that are smaller than 544x416. Maps smaller than 544x416 will be centered on
# the screen without having sprites jumping all over the place.
# 
# -----------------------------------------------------------------------------
# New Feature: Adjust Animation Speed
# -----------------------------------------------------------------------------
# - RPG Maker VX Ace plays animations at a rate of 15 FPS by default. Speed up
# the animations by changing a simple constant in the module.
# 
# -----------------------------------------------------------------------------
# New Feature: GUI Modifications
# -----------------------------------------------------------------------------
# - There are quite a lot of different modifications you can do to the GUI.
# This includes placing outlines around your gauges, changing the colours of 
# each individual font aspect, and more. Also, you can change the default font
# setting for your games here.
# 
# -----------------------------------------------------------------------------
# New Feature: Numeric Digit Grouping
# -----------------------------------------------------------------------------
# This will change various scenes to display numbers in groups where they are
# separated by a comma every three digits. Thus, a number like 1234567 will
# show up as 1,234,567. This allows for players to read numbers quicker.
# 
# And that's all for the bug fixes and features!
# 
#==============================================================================
# ▼ Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.
# 
#==============================================================================
# ▼ Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
# it will run with RPG Maker VX without adjusting.
# 
#==============================================================================
 
module YEA
  module CORE
 
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Screen Resolution Size -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # RPG Maker VX Ace has the option of having larger width and height for
    # your games. Resizing the width and height will have these changes:
    # 
    #              Default   Resized   Min Tiles Default   Min Tiles New
    #    Width       544       640           17                 20
    #    Height      416       480           13                 15
    # 
    # * Note: Maximum width is 640 while maximum height is 480.
    #         Minimum width is 110 while maximum height is 10.
    #         These are limitations set by RPG Maker VX Ace's engine.
    # 
    # By selecting resize, all of the default menus will have their windows
    # adjusted, but scripts provided by non-Yanfly Engine sources may or may
    # not adjust themselves properly.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    RESIZE_WIDTH  = 640
    RESIZE_HEIGHT = 416
 
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Adjust Animation Speed -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # By default, the animation speed played in battles operates at 15 FPS
    # (frames per second). For those who would like to speed it up, change this
    # constant to one of these values:
    #   RATE   Speed
    #     4      15 fps
    #     3      20 fps
    #     2      30 fps
    #     1      60 fps
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    ANIMATION_RATE = 3
 
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Digit Grouping -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # Setting this to true will cause numbers to be grouped together when they
    # are larger than a thousand. For example, 12345 will appear as 12,345.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    GROUP_DIGITS = true
 
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Font Settings -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # Adjust the default font settings for your game here. The various settings
    # will be explained below.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    FONT_NAME = ["VL Gothic", "Verdana", "Arial", "Courier"]
    # This adjusts the fonts used for your game. If the font at the start of
    # the array doesn't exist on the player's computer, it'll use the next one.
    FONT_SIZE = 24       # Adjusts font size. Default: 24
    FONT_BOLD = false   # Makes font bold. Default: false
    FONT_ITALIC = false  # Makes font italic. Default: false
    FONT_SHADOW = false  # Gives font a shadow. Default: false
    FONT_OUTLINE = true  # Gives font an outline. Default: true
    FONT_COLOUR = Color.new(255, 255, 255, 255)   # Default: 255, 255, 255, 255
    FONT_OUTLINE_COLOUR = Color.new(0, 0, 0, 128) # Default:   0,   0,   0, 128
 
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Forced Action Settings -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # For those who would like to allow the game to remove a forced action
    # battler from the queue list, use the switch below. If you don't want to
    # use this option, set the switch ID to 0.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    FORCED_ACTION_REMOVE_SWITCH = 0
 
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Gauge Appearance Settings -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # You can modify the way your gauges appear in the game. If you wish for
    # them to have an outline, it's possible. You can also adjust the height
    # of the gauges, too.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    GAUGE_OUTLINE = true
    GAUGE_HEIGHT = 12
 
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - Held L and R Menu Scrolling -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # VX gave the ability to scroll through menus quickly through holding the
    # L and R buttons (Q and W on the keyboard). VX Ace disabled it. Now, you
    # can re-enable the ability to scroll faster by setting this constant to
    # true. To disable it, set this constant to false.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    QUICK_SCROLLING = true
 
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - System Text Colours -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # Sometimes the system text colours are boring as just orange for HP, blue
    # for MP, and green for TP. Change the values here. Each number corresponds
    # to the colour index of the Window.png skin found in Graphics\System.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    COLOURS ={
    # :text       => ID
      :normal     =>  0,   # Default:  0
      :system     => 16,   # Default: 16
      :crisis     => 17,   # Default: 17
      :knockout   => 18,   # Default: 18
      :gauge_back => 19,   # Default: 19
      :hp_gauge1  => 28,   # Default: 20
      :hp_gauge2  => 29,   # Default: 21
      :mp_gauge1  => 22,   # Default: 22
      :mp_gauge2  => 23,   # Default: 23
      :mp_cost    => 23,   # Default: 23
      :power_up   => 24,   # Default: 24
      :power_down => 25,   # Default: 25
      :tp_gauge1  => 10,   # Default: 28
      :tp_gauge2  =>  2,   # Default: 29
      :tp_cost    =>  2,   # Default: 29
    } # Do not remove this.
 
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # - System Text Options -
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    # Here, you can adjust the transparency used for disabled items, the %
    # needed for HP and MP to enter "crisis" mode.
    #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    TRANSPARENCY = 160   # Adjusts transparency of disabled items. Default: 160
    HP_CRISIS = 0.25     # When HP is considered critical. Default: 0.25
    MP_CRISIS = 0.25     # When MP is considered critical. Default: 0.25
    ITEM_AMOUNT = "×%s"  # The prefix used for item amounts.
 
  end # CORE
end # YEA
 
#==============================================================================
# ▼ Editting anything past this point may potentially result in causing
# computer damage, incontinence, explosion of user's head, coma, death, and/or
# halitosis so edit at your own risk.
#==============================================================================
 
Graphics.resize_screen(YEA::CORE::RESIZE_WIDTH, YEA::CORE::RESIZE_HEIGHT)
Font.default_name = YEA::CORE::FONT_NAME
Font.default_size = YEA::CORE::FONT_SIZE
Font.default_bold = YEA::CORE::FONT_BOLD
Font.default_italic = YEA::CORE::FONT_ITALIC
Font.default_shadow = YEA::CORE::FONT_SHADOW
Font.default_outline = YEA::CORE::FONT_OUTLINE
Font.default_color = YEA::CORE::FONT_COLOUR
Font.default_out_color = YEA::CORE::FONT_OUTLINE_COLOUR
 
#==============================================================================
# ■ Numeric
#==============================================================================
 
class Numeric  
 
  #--------------------------------------------------------------------------
  # new method: group_digits
  #--------------------------------------------------------------------------
  def group
    return self.to_s unless YEA::CORE::GROUP_DIGITS
    self.to_s.gsub(/(\d)(?=\d{3}+(?:\.|$))(\d{3}\..*)?/,'\1,\2')
  end
 
end # Numeric
 
#==============================================================================
# ■ Switch
#==============================================================================
 
module Switch
 
  #--------------------------------------------------------------------------
  # self.forced_action_remove
  #--------------------------------------------------------------------------
  def self.forced_action_remove
    return false if YEA::CORE::FORCED_ACTION_REMOVE_SWITCH <= 0
    return $game_switches[YEA::CORE::FORCED_ACTION_REMOVE_SWITCH]
  end
 
end # Switch
 
#==============================================================================
# ■ BattleManager
#==============================================================================
 
module BattleManager
 
  #--------------------------------------------------------------------------
  # overwrite method: turn_start
  #--------------------------------------------------------------------------
  def self.turn_start
    @phase = :turn
    clear_actor
    $game_troop.increase_turn
    @performed_battlers = []
    make_action_orders
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: next_subject
  #--------------------------------------------------------------------------
  def self.next_subject
    @performed_battlers = [] if @performed_battlers.nil?
    loop do
      @action_battlers -= @performed_battlers
      battler = @action_battlers.shift
      return nil unless battler
      next unless battler.index && battler.alive?
      @performed_battlers.push(battler)
      return battler
    end
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: force_action
  #--------------------------------------------------------------------------
  def self.force_action(battler)
    @action_forced = [] if @action_forced == nil
    @action_forced.push(battler)
    return unless Switch.forced_action_remove
    @action_battlers.delete(battler)
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: action_forced?
  #--------------------------------------------------------------------------
  def self.action_forced?
    @action_forced != nil
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: action_forced_battler
  #--------------------------------------------------------------------------
  def self.action_forced_battler
    @action_forced.shift
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: clear_action_force
  #--------------------------------------------------------------------------
  def self.clear_action_force
    @action_forced = nil if @action_forced.empty?
  end
 
end # BattleManager
 
#==============================================================================
# ■ Game_Battler
#==============================================================================
 
class Game_Battler < Game_BattlerBase
 
  #--------------------------------------------------------------------------
  # public instance variables
  #--------------------------------------------------------------------------
  attr_accessor :pseudo_ani_id
 
  #--------------------------------------------------------------------------
  # alias method: clear_sprite_effects
  #--------------------------------------------------------------------------
  alias game_battler_clear_sprite_effects_ace clear_sprite_effects
  def clear_sprite_effects
    game_battler_clear_sprite_effects_ace
    @pseudo_ani_id = 0
  end
 
  #--------------------------------------------------------------------------
  # alias method: force_action
  #--------------------------------------------------------------------------
  alias game_battler_force_action_ace force_action
  def force_action(skill_id, target_index)
    clone_current_actions
    game_battler_force_action_ace(skill_id, target_index)
  end
 
  #--------------------------------------------------------------------------
  # new method: clone_current_actions
  #--------------------------------------------------------------------------
  def clone_current_actions
    @cloned_actions = @actions.dup
  end
 
  #--------------------------------------------------------------------------
  # new method: restore_cloned_actions
  #--------------------------------------------------------------------------
  def restore_cloned_actions
    return if @cloned_actions.nil?
    @actions = @cloned_actions.dup
    @cloned_actions = nil
  end
 
  #--------------------------------------------------------------------------
  # alias method: on_action_end
  #--------------------------------------------------------------------------
  alias game_battler_on_action_end_ace on_action_end
  def on_action_end
    game_battler_on_action_end_ace
    restore_cloned_actions
  end
 
  #--------------------------------------------------------------------------
  # alias method: on_battle_end
  #--------------------------------------------------------------------------
  alias game_battler_on_battle_end_ace on_battle_end
  def on_battle_end
    game_battler_on_battle_end_ace
    @cloned_actions = nil
  end
 
end # Game_Battler
 
#==============================================================================
# ■ Game_Troop
#==============================================================================
 
class Game_Troop < Game_Unit
 
  #--------------------------------------------------------------------------
  # overwrite method: setup
  #--------------------------------------------------------------------------
  def setup(troop_id)
    clear
    @troop_id = troop_id
    @enemies = []
    troop.members.each do |member|
      next unless $data_enemies[member.enemy_id]
      enemy = Game_Enemy.new(@enemies.size, member.enemy_id)
      enemy.hide if member.hidden
      enemy.screen_x = member.x + (Graphics.width - 544)/2
      enemy.screen_y = member.y + (Graphics.height - 416)
      @enemies.push(enemy)
    end
    init_screen_tone
    make_unique_names
  end
 
end # Game_Troop
 
#==============================================================================
# ■ Game_Map
#==============================================================================
 
class Game_Map
 
  #--------------------------------------------------------------------------
  # overwrite method: scroll_down
  #--------------------------------------------------------------------------
  def scroll_down(distance)
    if loop_vertical?
      @display_y += distance
      @display_y %= @map.height * 256
      @parallax_y += distance if @parallax_loop_y
    else
      last_y = @display_y
      dh = Graphics.height > height * 32 ? height : screen_tile_y
      @display_y = [@display_y + distance, height - dh].min
      @parallax_y += @display_y - last_y
    end
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: scroll_right
  #--------------------------------------------------------------------------
  def scroll_right(distance)
    if loop_horizontal?
      @display_x += distance
      @display_x %= @map.width * 256
      @parallax_x += distance if @parallax_loop_x
    else
      last_x = @display_x
      dw = Graphics.width > width * 32 ? width : screen_tile_x
      @display_x = [@display_x + distance, width - dw].min
      @parallax_x += @display_x - last_x
    end
  end
 
end # Game_Map
 
#==============================================================================
# ■ Game_Event
#==============================================================================
 
class Game_Event < Game_Character
 
  #--------------------------------------------------------------------------
  # overwrite method: near_the_screen?
  #--------------------------------------------------------------------------
  def near_the_screen?(dx = nil, dy = nil)
    dx = [Graphics.width, $game_map.width * 256].min/32 - 5 if dx.nil?
    dy = [Graphics.height, $game_map.height * 256].min/32 - 5 if dy.nil?
    ax = $game_map.adjust_x(@real_x) - Graphics.width / 2 / 32
    ay = $game_map.adjust_y(@real_y) - Graphics.height / 2 / 32
    ax >= -dx && ax <= dx && ay >= -dy && ay <= dy
  end
 
end # Game_Event
 
#==============================================================================
# ■ Sprite_Base
#==============================================================================
 
class Sprite_Base < Sprite
 
  #--------------------------------------------------------------------------
  # overwrite method: set_animation_rate
  #--------------------------------------------------------------------------
  def set_animation_rate
    @ani_rate = YEA::CORE::ANIMATION_RATE
  end
 
  #--------------------------------------------------------------------------
  # new method: start_pseudo_animation
  #--------------------------------------------------------------------------
  def start_pseudo_animation(animation, mirror = false)
    dispose_animation
    @animation = animation
    return if @animation.nil?
    @ani_mirror = mirror
    set_animation_rate
    @ani_duration = @animation.frame_max * @ani_rate + 1
    @ani_sprites = []
  end
 
end # Sprite_Base
 
#==============================================================================
# ■ Sprite_Battler
#==============================================================================
 
class Sprite_Battler < Sprite_Base
 
  #--------------------------------------------------------------------------
  # alias method: setup_new_animation
  #--------------------------------------------------------------------------
  alias sprite_battler_setup_new_animation_ace setup_new_animation
  def setup_new_animation
    sprite_battler_setup_new_animation_ace
    return if @battler.nil?
    return if @battler.pseudo_ani_id.nil?
    return if @battler.pseudo_ani_id <= 0
    animation = $data_animations[@battler.pseudo_ani_id]
    mirror = @battler.animation_mirror
    start_pseudo_animation(animation, mirror)
    @battler.pseudo_ani_id = 0
  end
 
end # Sprite_Battler
 
#==============================================================================
# ■ Spriteset_Map
#==============================================================================
 
class Spriteset_Map
 
  #--------------------------------------------------------------------------
  # overwrite method: create_viewports
  #--------------------------------------------------------------------------
  def create_viewports
    if Graphics.width > $game_map.width * 32 && !$game_map.loop_horizontal?
      dx = (Graphics.width - $game_map.width * 32) / 2
    else
      dx = 0
    end
    dw = [Graphics.width, $game_map.width * 32].min
    dw = Graphics.width if $game_map.loop_horizontal?
    if Graphics.height > $game_map.height * 32 && !$game_map.loop_vertical?
      dy = (Graphics.height - $game_map.height * 32) / 2
    else
      dy = 0
    end
    dh = [Graphics.height, $game_map.height * 32].min
    dh = Graphics.height if $game_map.loop_vertical?
    @viewport1 = Viewport.new(dx, dy, dw, dh)
    @viewport2 = Viewport.new(dx, dy, dw, dh)
    @viewport3 = Viewport.new(dx, dy, dw, dh)
    @viewport2.z = 50
    @viewport3.z = 100
  end
 
  #--------------------------------------------------------------------------
  # new method: update_viewport_sizes
  #--------------------------------------------------------------------------
  def update_viewport_sizes
    if Graphics.width > $game_map.width * 32 && !$game_map.loop_horizontal?
      dx = (Graphics.width - $game_map.width * 32) / 2
    else
      dx = 0
    end
    dw = [Graphics.width, $game_map.width * 32].min
    dw = Graphics.width if $game_map.loop_horizontal?
    if Graphics.height > $game_map.height * 32 && !$game_map.loop_vertical?
      dy = (Graphics.height - $game_map.height * 32) / 2
    else
      dy = 0
    end
    dh = [Graphics.height, $game_map.height * 32].min
    dh = Graphics.height if $game_map.loop_vertical?
    rect = Rect.new(dx, dy, dw, dh)
    for viewport in [@viewport1, @viewport2, @viewport3]
      viewport.rect = rect
    end
  end
 
end # Spriteset_Map
 
#==============================================================================
# ■ Window_Base
#==============================================================================
 
class Window_Base < Window
 
  #--------------------------------------------------------------------------
  # overwrite method: reset_font_settings
  #--------------------------------------------------------------------------
  def reset_font_settings
    change_color(normal_color)
    contents.font.size = Font.default_size
    contents.font.bold = Font.default_bold
    contents.font.italic = Font.default_italic
    contents.font.out_color = Font.default_out_color
  end
 
  #--------------------------------------------------------------------------
  # overwrite methods: color
  #--------------------------------------------------------------------------
  def normal_color;      text_color(YEA::CORE::COLOURS[:normal]);      end;
  def system_color;      text_color(YEA::CORE::COLOURS[:system]);      end;
  def crisis_color;      text_color(YEA::CORE::COLOURS[:crisis]);      end;
  def knockout_color;    text_color(YEA::CORE::COLOURS[:knockout]);    end;
  def gauge_back_color;  text_color(YEA::CORE::COLOURS[:gauge_back]);  end;
  def hp_gauge_color1;   text_color(YEA::CORE::COLOURS[:hp_gauge1]);   end;
  def hp_gauge_color2;   text_color(YEA::CORE::COLOURS[:hp_gauge2]);   end;
  def mp_gauge_color1;   text_color(YEA::CORE::COLOURS[:mp_gauge1]);   end;
  def mp_gauge_color2;   text_color(YEA::CORE::COLOURS[:mp_gauge2]);   end;
  def mp_cost_color;     text_color(YEA::CORE::COLOURS[:mp_cost]);     end;
  def power_up_color;    text_color(YEA::CORE::COLOURS[:power_up]);    end;
  def power_down_color;  text_color(YEA::CORE::COLOURS[:power_down]);  end;
  def tp_gauge_color1;   text_color(YEA::CORE::COLOURS[:tp_gauge1]);   end;
  def tp_gauge_color2;   text_color(YEA::CORE::COLOURS[:tp_gauge2]);   end;
  def tp_cost_color;     text_color(YEA::CORE::COLOURS[:tp_cost]);     end;
 
  #--------------------------------------------------------------------------
  # overwrite method: translucent_alpha
  #--------------------------------------------------------------------------
  def translucent_alpha
    return YEA::CORE::TRANSPARENCY
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: hp_color
  #--------------------------------------------------------------------------
  def hp_color(actor)
    return knockout_color if actor.hp == 0
    return crisis_color if actor.hp < actor.mhp * YEA::CORE::HP_CRISIS
    return normal_color
  end
  #--------------------------------------------------------------------------
  # overwrite method: mp_color
  #--------------------------------------------------------------------------
  def mp_color(actor)
    return crisis_color if actor.mp < actor.mmp * YEA::CORE::MP_CRISIS
    return normal_color
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: draw_gauge
  #--------------------------------------------------------------------------
  def draw_gauge(dx, dy, dw, rate, color1, color2)
    dw -= 2 if YEA::CORE::GAUGE_OUTLINE
    fill_w = [(dw * rate).to_i, dw].min
    gauge_h = YEA::CORE::GAUGE_HEIGHT
    gauge_y = dy + line_height - 2 - gauge_h
    if YEA::CORE::GAUGE_OUTLINE
      outline_colour = gauge_back_color
      outline_colour.alpha = translucent_alpha
      contents.fill_rect(dx, gauge_y-1, dw+2, gauge_h+2, outline_colour)
      dx += 1
    end
    contents.fill_rect(dx, gauge_y, dw, gauge_h, gauge_back_color)
    contents.gradient_fill_rect(dx, gauge_y, fill_w, gauge_h, color1, color2)
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: draw_actor_level
  #--------------------------------------------------------------------------
  def draw_actor_level(actor, dx, dy)
    change_color(system_color)
    draw_text(dx, dy, 32, line_height, Vocab::level_a)
    change_color(normal_color)
    draw_text(dx + 32, dy, 24, line_height, actor.level.group, 2)
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: draw_current_and_max_values
  #--------------------------------------------------------------------------
  def draw_current_and_max_values(dx, dy, dw, current, max, color1, color2)
    total = current.group + "/" + max.group
    if dw < text_size(total).width + text_size(Vocab.hp_a).width
      change_color(color1)
      draw_text(dx, dy, dw, line_height, current.group, 2)
    else
      xr = dx + text_size(Vocab.hp_a).width
      dw -= text_size(Vocab.hp_a).width
      change_color(color2)
      text = "/" + max.group
      draw_text(xr, dy, dw, line_height, text, 2)
      dw -= text_size(text).width
      change_color(color1)
      draw_text(xr, dy, dw, line_height, current.group, 2)
    end
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: draw_actor_tp
  #--------------------------------------------------------------------------
  def draw_actor_tp(actor, x, y, width = 124)
    draw_gauge(x, y, width, actor.tp_rate, tp_gauge_color1, tp_gauge_color2)
    change_color(system_color)
    draw_text(x, y, 30, line_height, Vocab::tp_a)
    change_color(tp_color(actor))
    draw_text(x + width - 42, y, 42, line_height, actor.tp.to_i.group, 2)
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: draw_actor_param
  #--------------------------------------------------------------------------
  def draw_actor_param(actor, x, y, param_id)
    change_color(system_color)
    draw_text(x, y, 120, line_height, Vocab::param(param_id))
    change_color(normal_color)
    draw_text(x + 120, y, 36, line_height, actor.param(param_id).group, 2)
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: draw_currency_value
  #--------------------------------------------------------------------------
  def draw_currency_value(value, unit, x, y, width)
    cx = text_size(unit).width
    change_color(normal_color)
    draw_text(x, y, width - cx - 2, line_height, value.group, 2)
    change_color(system_color)
    draw_text(x, y, width, line_height, unit, 2)
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: draw_actor_simple_status
  #--------------------------------------------------------------------------
  def draw_actor_simple_status(actor, dx, dy)
    draw_actor_name(actor, dx, dy)
    draw_actor_level(actor, dx, dy + line_height * 1)
    draw_actor_icons(actor, dx, dy + line_height * 2)
    dw = contents.width - dx - 124
    draw_actor_class(actor, dx + 120, dy, dw)
    draw_actor_hp(actor, dx + 120, dy + line_height * 1, dw)
    draw_actor_mp(actor, dx + 120, dy + line_height * 2, dw)
  end
 
end # Window_Base
 
#==============================================================================
# ■ Window_Selectable
#==============================================================================
 
class Window_Selectable < Window_Base
 
  #--------------------------------------------------------------------------
  # overwrite method: process_cursor_move
  #--------------------------------------------------------------------------
  if YEA::CORE::QUICK_SCROLLING
  def process_cursor_move
    return unless cursor_movable?
    last_index = @index
    cursor_down (Input.trigger?(:DOWN))  if Input.repeat?(:DOWN)
    cursor_up   (Input.trigger?(:UP))    if Input.repeat?(:UP)
    cursor_right(Input.trigger?(:RIGHT)) if Input.repeat?(:RIGHT)
    cursor_left (Input.trigger?(:LEFT))  if Input.repeat?(:LEFT)
    cursor_pagedown   if !handle?(:pagedown) && Input.repeat?(:R)
    cursor_pageup     if !handle?(:pageup)   && Input.repeat?(:L)
    Sound.play_cursor if @index != last_index
  end
  end # YEA::CORE::QUICK_SCROLLING
 
end # Window_Selectable
 
#==============================================================================
# ■ Window_ItemList
#==============================================================================
 
class Window_ItemList < Window_Selectable
 
  #--------------------------------------------------------------------------
  # overwrite method: draw_item
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    return if item.nil?
    rect = item_rect(index)
    rect.width -= 4
    draw_item_name(item, rect.x, rect.y, enable?(item), rect.width - 24)
    draw_item_number(rect, item)
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: draw_item_number
  #--------------------------------------------------------------------------
  def draw_item_number(rect, item)
    text = sprintf(YEA::CORE::ITEM_AMOUNT, $game_party.item_number(item).group)
    draw_text(rect, text, 2)
  end
 
end # Window_ItemList
 
#==============================================================================
# ■ Window_SkillList
#==============================================================================
 
class Window_SkillList < Window_Selectable
 
  #--------------------------------------------------------------------------
  # draw_item
  #--------------------------------------------------------------------------
  def draw_item(index)
    skill = @data[index]
    return if skill.nil?
    rect = item_rect(index)
    rect.width -= 4
    draw_item_name(skill, rect.x, rect.y, enable?(skill), rect.width - 24)
    draw_skill_cost(rect, skill)
  end
 
end # Window_SkillList
 
#==============================================================================
# ■ Window_Status
#==============================================================================
 
class Window_Status < Window_Selectable
 
  #--------------------------------------------------------------------------
  # overwrite method: draw_exp_info
  #--------------------------------------------------------------------------
  def draw_exp_info(x, y)
    s1 = @actor.max_level? ? "-------" : @actor.exp
    s2 = @actor.max_level? ? "-------" : @actor.next_level_exp - @actor.exp
    s_next = sprintf(Vocab::ExpNext, Vocab::level)
    change_color(system_color)
    draw_text(x, y + line_height * 0, 180, line_height, Vocab::ExpTotal)
    draw_text(x, y + line_height * 2, 180, line_height, s_next)
    change_color(normal_color)
    s1 = s1.group if s1.is_a?(Integer)
    s2 = s2.group if s2.is_a?(Integer)
    draw_text(x, y + line_height * 1, 180, line_height, s1, 2)
    draw_text(x, y + line_height * 3, 180, line_height, s2, 2)
  end
 
end # Window_Status
 
#==============================================================================
# ■ Window_ShopBuy
#==============================================================================
 
class Window_ShopBuy < Window_Selectable
 
  #--------------------------------------------------------------------------
  # overwrite method: draw_item
  #--------------------------------------------------------------------------
  def draw_item(index)
    item = @data[index]
    rect = item_rect(index)
    draw_item_name(item, rect.x, rect.y, enable?(item))
    rect.width -= 4
    draw_text(rect, price(item).group, 2)
  end
 
end # Window_ShopBuy
 
#==============================================================================
# ■ Scene_Map
#==============================================================================
 
class Scene_Map < Scene_Base
 
  #--------------------------------------------------------------------------
  # alias method: post_transfer
  #--------------------------------------------------------------------------
  alias scene_map_post_transfer_ace post_transfer
  def post_transfer
    @spriteset.update_viewport_sizes
    scene_map_post_transfer_ace
  end
 
end # Scene_Map
 
#==============================================================================
# ■ Scene_Battle
#==============================================================================
 
class Scene_Battle < Scene_Base
 
  #--------------------------------------------------------------------------
  # alias method: check_substitute
  #--------------------------------------------------------------------------
  alias scene_battle_check_substitute_ace check_substitute
  def check_substitute(target, item)
    return false if @subject.actor? == target.actor?
    return scene_battle_check_substitute_ace(target, item)
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: process_forced_action
  #--------------------------------------------------------------------------
  def process_forced_action
    while BattleManager.action_forced?
      last_subject = @subject
      @subject = BattleManager.action_forced_battler
      process_action
      @subject = last_subject
      BattleManager.clear_action_force
    end
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: show_attack_animation
  #--------------------------------------------------------------------------
  def show_attack_animation(targets)
    if @subject.actor?
      show_normal_animation(targets, @subject.atk_animation_id1, false)
      wait_for_animation
      show_normal_animation(targets, @subject.atk_animation_id2, true)
    else
      Sound.play_enemy_attack
      abs_wait_short
    end
  end
 
  #--------------------------------------------------------------------------
  # overwrite method: show_normal_animation
  #--------------------------------------------------------------------------
  def show_normal_animation(targets, animation_id, mirror = false)
    animation = $data_animations[animation_id]
    return if animation.nil?
    ani_check = false
    targets.each do |target|
      if ani_check && target.animation_id <= 0
        target.pseudo_ani_id = animation_id
      else
        target.animation_id = animation_id
      end
      target.animation_mirror = mirror
      abs_wait_short unless animation.to_screen?
      ani_check = true if animation.to_screen?
    end
    abs_wait_short if animation.to_screen?
  end
 
end # Scene_Battle
 
#==============================================================================
# 
# ▼ End of File
# 
#==============================================================================

Yanfly Engine Ace - Ace Battle Engine v1.22
#============================================================================== # # �� Yanfly Engine Ace - Ace Battle Engine v1.22 # -- Last Updated: 2012.03.04 # -- Level: Normal, Hard # -- Requires: n/a # #============================================================================== $imported = {} if $imported.nil? $imported["YEA-BattleEngine"] = true #============================================================================== # �� Updates # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # 2012.03.04 - Bug fixed: Input crash bug. # 2012.02.13 - Bug fixed: Odd Victory game crash fixed. # 2012.02.12 - Bug fixed: Displayed damage in combat log is correct now. # 2012.01.29 - Visual Changes: Buff stacks now show one popup upon one skill. # 2012.01.24 - Compatibility Update: Enemy Levels # 2012.01.18 - Bug Fixed: Help Window clears text upon selecting nil items. # 2012.01.11 - Added <one animation> tag for multi-hit skills to play an # animation only once. # - Reduced lag from battle system constantly recreating bitmaps. # 2012.01.10 - Compatibility Update: Battle System FTB # 2012.01.09 - Anticrash methods implemented. # - Damage Popups are now separate for damage formulas and recovery. # 2012.01.05 - Bug fixed: Game no longer crashes with escape skills/items. # 2012.01.02 - Compatibility Update: Target Manager # - Added Option: AUTO_FAST # - Random hits now show animations individually. # 2011.12.30 - Compatibility Update: Enemy Levels # - Added Option to center the actors in the HUD. # 2011.12.27 - Bug fixed: TP Damage skills and items no longer crash game. # - Default battle system bug fixes are now included from YEA's Ace # Core Engine. # - Groundwork is also made to support future battle system types. # - Multi-hit actions no longer linger when a target dies during the # middle of one of the hits. # - Compatibility Update: Lunatic Objects v1.02 # 2011.12.26 - Bug fixed: Multi-hit popups occured even after an enemy's dead. # 2011.12.22 - Bug fixed: Elemental Resistance popup didn't show. # 2011.12.20 - Bug fixed: Death state popups against immortal states. # - Bug fixed: During State popup fix. # - Added HIDE_POPUP_SWITCH. # 2011.12.17 - Compatibiilty Update: Cast Animations # 2011.12.15 - Compatibility Update: Battle Command List # 2011.12.14 - Compatibility Update: Lunatic Objects # 2011.12.13 - Compatibility Update: Command Party # 2011.12.12 - Bug fixed: Turn stalling if no inputable members. # 2011.12.10 - Compatibility update for Automatic Party HUD. # - Popup graphical bug fixed. # - Bug fixed: Didn't wait for boss dead animations. # - Bug fixed: Surprise attacks that froze the game. # - Bug fixed: Popups didn't show for straight recovery effects. # 2011.12.08 - Finished Script. # 2011.12.04 - Started Script. # #============================================================================== # �� Introduction # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # Ace Battle Engine works as a foundation for future battle engine add-ons. It # allows for easier management of the battle engine without adding too many # features, allowing users to customize what they want as they see fit. While # the Ace Battle Engine isn't an entirely new engine, it gives users control # that RPG Maker VX Ace didn't originally give them. # # Furthermore, this script provides some new features. They are as follows: # # ----------------------------------------------------------------------------- # Animation Fixes # ----------------------------------------------------------------------------- # Though the Yanfly Engine Ace - Ace Core Engine script contains these fixes, # these fixes are included in this script as well to ensure it's working for # the battle script in the event someone chooses not to work with the Ace Core # Engine script. The animation fixes prevent excessive animation overlaying # (and making the screen look really ugly) and prevents animation clashing # between two dual wielding normal attack animations. # # ----------------------------------------------------------------------------- # Enemy Animations # ----------------------------------------------------------------------------- # Enemies now show battle animations when they deliver attacks and skills # against the player's party. Before in RPG Maker VX Ace, it was nothing more # than just sound effects and the screen shaking. Now, animations play where # the status window is and relative to the position of each party member. # # ----------------------------------------------------------------------------- # Left/Right Command Selection # ----------------------------------------------------------------------------- # While choosing actions, the player can press Left or Right to move freely # between (alive) actors to change their skills. Players no longer have to # cancel all the way back to change one person's skill and reselect everything. # On that note, there is now the option that when a battle starts or at the # end of a turn, players will start immediately at command selection rather # than needing to select "Fight" in the Party Command Window. # # ----------------------------------------------------------------------------- # Popups # ----------------------------------------------------------------------------- # Dealing damage, inflicting states, adding buffs, landing critical hits, # striking weaknesses, missing attacks, you name it, there's probably a popup # for it. Popups deliver information to the player in a quick or orderly # fashion without requiring the player to read lines of text. # # ----------------------------------------------------------------------------- # Targeting Window # ----------------------------------------------------------------------------- # When targeting enemies, the window is no longer displayed. Instead, the # targeted enemies are highlighted and their names are shown at the top of the # screen in a help window. Another thing that's changed is when skills that # target multiple targets are selected, there is a confirmation step that the # player must take before continuing. In this confirmation step, all of the # multiple targets are selected and in the help window would display the scope # of the skill (such as "All Foes" or "Random Foes"). RPG Maker VX Ace skipped # this step by default. # # ----------------------------------------------------------------------------- # Toggling On and Off Special Effects and Text # ----------------------------------------------------------------------------- # Not everybody likes having the screen shake or the enemies blink when they # take damage. These effects can now be toggled on and off. Certain text can # also be toggled on and off from appearing. A lot of the displayed text has # been rendered redundant through the use of popups. # # ----------------------------------------------------------------------------- # Visual Battle Status Window # ----------------------------------------------------------------------------- # Rather than just having rows of names with HP and MP bars next to them, the # Battle Status Window now displays actors' faces and their gauges aligned at # the bottom. More status effects can be shown in addition to showing more # members on screen at once. The Battle Status Window is also optimized to # refresh less (thus, removing potential lag from the system). # # ----------------------------------------------------------------------------- # Window Position Changes # ----------------------------------------------------------------------------- # Windows such as the Skill Window and Item Window have been rearranged to # always provide the player a clear view of the battlefield rather than opening # up and covering everything. As such, the window positions are placed at the # bottom of the screen and are repositioned. # #============================================================================== # �� Instructions # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # To install this script, open up your script editor and copy/paste this script # to an open slot below �� Materials/�f�� but above �� Main. Remember to save. # # ----------------------------------------------------------------------------- # Skill Notetags - These notetags go in the skills notebox in the database. # ----------------------------------------------------------------------------- # <one animation> # Causes the action to display the action animation only once, even if it's a # multi-hit action. This is used primarily for non-all scope targeting. # # ----------------------------------------------------------------------------- # Item Notetags - These notetags go in the items notebox in the database. # ----------------------------------------------------------------------------- # <one animation> # Causes the action to display the action animation only once, even if it's a # multi-hit action. This is used primarily for non-all scope targeting. # # ----------------------------------------------------------------------------- # Enemy Notetags - These notetags go in the enemy notebox in the database. # ----------------------------------------------------------------------------- # <atk ani 1: x> # <atk ani 2: x> # Changes the normal attack animation of the particular enemy to animation x. # Attack animation 1 is the first one that plays. If there's a second animation # then the second one will play after in mirrored form. # # ----------------------------------------------------------------------------- # State Notetags - These notetags go in the state notebox in the database. # ----------------------------------------------------------------------------- # <popup add: string> # <popup rem: string> # <popup dur: string> # Status effects now create popups whenever they're inflicted. However, if you # don't like that a certain status effect uses a particular colour setting, # change "string" to one of the rulesets below to cause that popup to use a # different ruleset. # # <popup hide add> # <popup hide rem> # <popup hide dur> # Not everybody wants status effects to show popups when inflicted. When this # is the case, insert the respective tag to hide popups from appearing when the # state is added, removed, or during the stand-by phases. # # ----------------------------------------------------------------------------- # Debug Tools - These tools only work during Test Play. # ----------------------------------------------------------------------------- # - F5 Key - # Recovers all actors. Restores their HP and MP to max. Does not affect TP. # All states and buffs are removed whether they are positive or negative. # # - F6 Key - # Sets all actors to have 1 HP, 0 MP, and 0 TP. States are unaffected. # # - F7 Key - # Sets all actors to have max TP. Everything else is unaffected. # # - F8 Key - # Kills all enemies in battle. Ends the battle quickly. # #============================================================================== # �� Compatibility # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= # This script is made strictly for RPG Maker VX Ace. It is highly unlikely that # it will run with RPG Maker VX without adjusting. # #============================================================================== module YEA module BATTLE #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # - General Battle Settings - #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # These settings are adjusted for the overall battle system. These are # various miscellaneous options to adjust. Each of the settings below will # explain what they do. Change default enemy battle animations here, too. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- BLINK_EFFECTS = false # Blink sprite when damaged? FLASH_WHITE_EFFECT = true # Flash enemy white when it starts an attack. SCREEN_SHAKE = false # Shake screen in battle? SKIP_PARTY_COMMAND = true # Skips the Fight/Escape menu. AUTO_FAST = true # Causes message windows to not wait. ENEMY_ATK_ANI = 36 # Sets default attack animation for enemies. # If this switch is ON, popups will be hidden. If OFF, the popups will be # shown. If you do not wish to use this switch, set it to 0. HIDE_POPUP_SWITCH = 0 #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # - Battle Status Window - #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # This sets the default battle system your game will use. If your game # doesn't have any other battle systems installed, it will use :dtb. # # Battle System Requirement # :dtb - Default Turn Battle. Default system. # :ftb - YEA Battle System Add-On: Free Turn Battle #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- DEFAULT_BATTLE_SYSTEM = :dtb # Default battle system set. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # - Battle Status Window - #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # Here, you can adjust the settings for the battle status window. The # battle status window, by default, will show the actor's face, HP, MP, TP # (if viable), and any inflicted status effects. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- BATTLESTATUS_NAME_FONT_SIZE = 20 # Font size used for name. BATTLESTATUS_TEXT_FONT_SIZE = 16 # Font size used for HP, MP, TP. BATTLESTATUS_NO_ACTION_ICON = 185 # No action icon. BATTLESTATUS_HPGAUGE_Y_PLUS = 11 # Y Location buffer used for HP gauge. BATTLESTATUS_CENTER_FACES = false # Center faces for the Battle Status. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # - Help Window Text - #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # When selecting a target to attack, this is the text that will be shown # in place of a target's name for special cases. These special cases are # for selections that were originally non-targetable battle scopes. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- HELP_TEXT_ALL_FOES = "All Foes" HELP_TEXT_ONE_RANDOM_FOE = "One Random Foe" HELP_TEXT_MANY_RANDOM_FOE = "%d Random Foes" HELP_TEXT_ALL_ALLIES = "All Allies" HELP_TEXT_ALL_DEAD_ALLIES = "All Dead Allies" HELP_TEXT_ONE_RANDOM_ALLY = "One Random Ally" HELP_TEXT_RANDOM_ALLIES = "%d Random Allies" #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # - Popup Settings - #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # These settings will adjust the popups that appear in battle. Popups # deliver information to your player as battlers deal damage, inflict # status effects, and more. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- ENABLE_POPUPS = true # Set this to false if you wish to disable them. FLASH_CRITICAL = true # Sets critical hits to flash. # This hash adjusts the popup settings that will govern how popups appear. # Adjust them accordingly. POPUP_SETTINGS ={ :offset => -24, # Height offset of a popup. :fade => 12, # Fade rate for each popup. :full => 60, # Frames before a popup fades. :hp_dmg => "-%s ", # SprintF for HP damage. :hp_heal => "+%s ", # SprintF for HP healing. :mp_dmg => "-%s MP", # SprintF for MP damage. :mp_heal => "+%s MP", # SprintF for MP healing. :tp_dmg => "-%s TP", # SprintF for MP damage. :tp_heal => "+%s TP", # SprintF for MP healing. :drained => "DRAIN", # Text display for draining HP/MP. :critical => "CRITICAL!", # Text display for critical hit. :missed => "MISS", # Text display for missed attack. :evaded => "EVADE!", # Text display for evaded attack. :nulled => "NULL", # Text display for nulled attack. :failed => "FAILED", # Text display for a failed attack. :add_state => "+%s", # SprintF for added states. :rem_state => "-%s", # SprintF for removed states. :dur_state => "%s", # SprintF for during states. :ele_rates => true, # This will display elemental affinities. :ele_wait => 20, # This is how many frames will wait. :weakpoint => "WEAKPOINT", # Appears if foe is weak to element. :resistant => "RESIST", # Appears if foe is resistant to element. :immune => "IMMUNE", # Appears if foe is immune to element. :absorbed => "ABSORB", # Appears if foe can absorb the element. :add_buff => "%s�{", # Appears when a positive buff is applied. :add_debuff => "%s�|", # Appears when a negative buff is applied. } # Do not remove this. # This is the default font used for the popups. Adjust them accordingly # or even add new ones. DEFAULT = ["VL Gothic", "Verdana", "Arial", "Courier"] # The following are the various rules that govern the individual popup # types that will appear. Adjust them accordingly. Here is a list of what # each category does. # Zoom1 The zoom the popup starts at. Values over 2.0 may cause lag. # Zoom2 The zoom the popup goes to. Values over 2.0 may cause lag. # Sz The font size used for the popup text. # Bold Applying bold for the popup text. # Italic Applying italic for the popup text. # Red The red value of the popup text. # Grn The green value of the popup text. # Blu The blue value of the popup text. # Font The font used for the popup text. POPUP_RULES ={ # Type => [ Zoom1, Zoom2, Sz, Bold, Italic, Red, Grn, Blu, Font] "DEFAULT" => [ 2.0, 1.0, 24, true, false, 255, 255, 255, DEFAULT], "CRITICAL" => [ 2.0, 1.0, 24, true, false, 255, 80, 80, DEFAULT], "HP_DMG" => [ 2.0, 1.0, 36, true, false, 255, 255, 255, DEFAULT], "HP_HEAL" => [ 2.0, 1.0, 36, true, false, 130, 250, 130, DEFAULT], "MP_DMG" => [ 2.0, 1.0, 36, true, false, 220, 180, 255, DEFAULT], "MP_HEAL" => [ 2.0, 1.0, 36, true, false, 160, 230, 255, DEFAULT], "TP_DMG" => [ 2.0, 1.0, 36, true, false, 242, 108, 78, DEFAULT], "TP_HEAL" => [ 2.0, 1.0, 36, true, false, 251, 175, 92, DEFAULT], "ADDSTATE" => [ 2.0, 1.0, 24, true, false, 240, 100, 100, DEFAULT], "REMSTATE" => [ 2.0, 1.0, 24, true, false, 125, 170, 225, DEFAULT], "DURSTATE" => [ 2.0, 1.0, 24, true, false, 255, 240, 150, DEFAULT], "DRAIN" => [ 2.0, 1.0, 36, true, false, 250, 190, 255, DEFAULT], "POSITIVE" => [ 2.0, 1.0, 24, true, false, 110, 210, 245, DEFAULT], "NEGATIVE" => [ 2.0, 1.0, 24, true, false, 245, 155, 195, DEFAULT], "WEAK_ELE" => [ 0.5, 1.0, 24, true, false, 240, 110, 80, DEFAULT], "IMMU_ELE" => [ 0.5, 1.0, 24, true, false, 185, 235, 255, DEFAULT], "REST_ELE" => [ 0.5, 1.0, 24, true, false, 145, 230, 180, DEFAULT], "ABSB_ELE" => [ 0.5, 1.0, 24, true, false, 250, 190, 255, DEFAULT], "BUFF" => [ 2.0, 1.0, 24, true, false, 255, 240, 100, DEFAULT], "DEBUFF" => [ 2.0, 1.0, 24, true, false, 160, 130, 200, DEFAULT], } # Do not remove this. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # - Streamlined Messages - #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # Want to remove some of those annoying messages that appear all the time? # Now you can! Select which messages you want to enable or disable. Some of # these messages will be rendered useless due to popups. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- MSG_ENEMY_APPEARS = false # Message when enemy appears start of battle. MSG_C[code type=ruby]#==============================================================================
#
# �� Yanfly Engine Ace - Ace Battle Engine v1.22
# -- Last Updated: 2012.03.04
# -- Level: Normal, Hard
# -- Requires: n/a
#
#==============================================================================

$imported = {} if $imported.nil?
$imported["YEA-BattleEngine"] = true

#==============================================================================
# �� Updates
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# 2012.03.04 - Bug fixed: Input crash bug.
# 2012.02.13 - Bug fixed: Odd Victory game crash fixed.
# 2012.02.12 - Bug fixed: Displayed damage in combat log is correct now.
# 2012.01.29 - Visual Changes: Buff stacks now show one popup upon one skill.
# 2012.01.24 - Compatibility Update: Enemy Levels
# 2012.01.18 - Bug Fixed: Help Window clears text upon selecting nil items.
# 2012.01.11 - Added <one animation> tag for multi-hit skills to play an
# animation only once.
# - Reduced lag from battle system constantly recreating bitmaps.
# 2012.01.10 - Compatibility Update: Battle System FTB
# 2012.01.09 - Anticrash methods implemented.
# - Damage Popups are now separate for damage formulas and recovery.
# 2012.01.05 - Bug fixed: Game no longer crashes with escape skills/items.
# 2012.01.02 - Compatibility Update: Target Manager
# - Added Option: AUTO_FAST
# - Random hits now show animations individually.
# 2011.12.30 - Compatibility Update: Enemy Levels
# - Added Option to center the actors in the HUD.
# 2011.12.27 - Bug fixed: TP Damage skills and items no longer crash game.
# - Default battle system bug fixes are now included from YEA's Ace
# Core Engine.
# - Groundwork is also made to support future battle system types.
# - Multi-hit actions no longer linger when a target dies during the
# middle of one of the hits.
# - Compatibility Update: Lunatic Objects v1.02
# 2011.12.26 - Bug fixed: Multi-hit popups occured even after an enemy's dead.
# 2011.12.22 - Bug fixed: Elemental Resistance popup didn't show.
# 2011.12.20 - Bug fixed: Death state popups against immortal states.
# - Bug fixed: During State popup fix.
# - Added HIDE_POPUP_SWITCH.
# 2011.12.17 - Compatibiilty Update: Cast Animations
# 2011.12.15 - Compatibility Update: Battle Command List
# 2011.12.14 - Compatibility Update: Lunatic Objects
# 2011.12.13 - Compatibility Update: Command Party
# 2011.12.12 - Bug fixed: Turn stalling if no inputable members.
# 2011.12.10 - Compatibility update for Automatic Party HUD.
# - Popup graphical bug fixed.
# - Bug fixed: Didn't wait for boss dead animations.
# - Bug fixed: Surprise attacks that froze the game.
# - Bug fixed: Popups didn't show for straight recovery effects.
# 2011.12.08 - Finished Script.
# 2011.12.04 - Started Script.
#
#==============================================================================
# �� Introduction
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# Ace Battle Engine works as a foundation for future battle engine add-ons. It
# allows for easier management of the battle engine without adding too many
# features, allowing users to customize what they want as they see fit. While
# the Ace Battle Engine isn't an entirely new engine, it gives users control
# that RPG Maker VX Ace didn't originally give them.
#
# Furthermore, this script provides some new features. They are as follows:
#
#
# Animation Fixes
#
# Though the Yanfly Engine Ace - Ace Core Engine script contains these fixes,
# these fixes are included in this script as well to ensure it's working for
# the battle script in the event someone chooses not to work with the Ace Core
# Engine script. The animation fixes prevent excessive animation overlaying
# (and making the screen look really ugly) and prevents animation clashing
# between two dual wielding normal attack animations.
#
#
# Enemy Animations
#
# Enemies now show battle animations when they deliver attacks and skills
# against the player's party. Before in RPG Maker VX Ace, it was nothing more
# than just sound effects and the screen shaking. Now, animations play where
# the status window is and relative to the position of each party member.
#
#
# Left/Right Command Selection
#
# While choosing actions, the player can press Left or Right to move freely
# between (alive) actors to change their skills. Players no longer have to
# cancel all the way back to change one person's skill and reselect everything.
# On that note, there is now the option that when a battle starts or at the
# end of a turn, players will start immediately at command selection rather
# than needing to select "Fight" in the Party Command Window.
#
#
# Popups
#
# Dealing damage, inflicting states, adding buffs, landing critical hits,
# striking weaknesses, missing attacks, you name it, there's probably a popup
# for it. Popups deliver information to the player in a quick or orderly
# fashion without requiring the player to read lines of text.
#
#
# Targeting Window
#
# When targeting enemies, the window is no longer displayed. Instead, the
# targeted enemies are highlighted and their names are shown at the top of the
# screen in a help window. Another thing that's changed is when skills that
# target multiple targets are selected, there is a confirmation step that the
# player must take before continuing. In this confirmation step, all of the
# multiple targets are selected and in the help window would display the scope
# of the skill (such as "All Foes" or "Random Foes"). RPG Maker VX Ace skipped
# this step by default.
#
#
# Toggling On and Off Special Effects and Text
#
# Not everybody likes having the screen shake or the enemies blink when they
# take damage. These effects can now be toggled on and off. Certain text can
# also be toggled on and off from appearing. A lot of the displayed text has
# been rendered redundant through the use of popups.
#
#
# Visual Battle Status Window
#
# Rather than just having rows of names with HP and MP bars next to them, the
# Battle Status Window now displays actors' faces and their gauges aligned at
# the bottom. More status effects can be shown in addition to showing more
# members on screen at once. The Battle Status Window is also optimized to
# refresh less (thus, removing potential lag from the system).
#
#
# Window Position Changes
#
# Windows such as the Skill Window and Item Window have been rearranged to
# always provide the player a clear view of the battlefield rather than opening
# up and covering everything. As such, the window positions are placed at the
# bottom of the screen and are repositioned.
#
#==============================================================================
# �� Instructions
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# To install this script, open up your script editor and copy/paste this script
# to an open slot below �� Materials/�f�� but above �� Main. Remember to save.
#
#
# Skill Notetags - These notetags go in the skills notebox in the database.
#
# <one animation>
# Causes the action to display the action animation only once, even if it's a
# multi-hit action. This is used primarily for non-all scope targeting.
#
#
# Item Notetags - These notetags go in the items notebox in the database.
#
# <one animation>
# Causes the action to display the action animation only once, even if it's a
# multi-hit action. This is used primarily for non-all scope targeting.
#
#
# Enemy Notetags - These notetags go in the enemy notebox in the database.
#
# <atk ani 1: x>
# <atk ani 2: x>
# Changes the normal attack animation of the particular enemy to animation x.
# Attack animation 1 is the first one that plays. If there's a second animation
# then the second one will play after in mirrored form.
#
#
# State Notetags - These notetags go in the state notebox in the database.
#
# <popup add: string>
# <popup rem: string>
# <popup dur: string>
# Status effects now create popups whenever they're inflicted. However, if you
# don't like that a certain status effect uses a particular colour setting,
# change "string" to one of the rulesets below to cause that popup to use a
# different ruleset.
#
# <popup hide add>
# <popup hide rem>
# <popup hide dur>
# Not everybody wants status effects to show popups when inflicted. When this
# is the case, insert the respective tag to hide popups from appearing when the
# state is added, removed, or during the stand-by phases.
#
#
# Debug Tools - These tools only work during Test Play.
#
# - F5 Key -
# Recovers all actors. Restores their HP and MP to max. Does not affect TP.
# All states and buffs are removed whether they are positive or negative.
#
# - F6 Key -
# Sets all actors to have 1 HP, 0 MP, and 0 TP. States are unaffected.
#
# - F7 Key -
# Sets all actors to have max TP. Everything else is unaffected.
#
# - F8 Key -
# Kills all enemies in battle. Ends the battle quickly.
#
#==============================================================================
# �� Compatibility
# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that
# it will run with RPG Maker VX without adjusting.
#
#==============================================================================

module YEA
module BATTLE

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - General Battle Settings -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# These settings are adjusted for the overall battle system. These are
# various miscellaneous options to adjust. Each of the settings below will
# explain what they do. Change default enemy battle animations here, too.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
BLINK_EFFECTS = false # Blink sprite when damaged?
FLASH_WHITE_EFFECT = true # Flash enemy white when it starts an attack.
SCREEN_SHAKE = false # Shake screen in battle?
SKIP_PARTY_COMMAND = true # Skips the Fight/Escape menu.
AUTO_FAST = true # Causes message windows to not wait.
ENEMY_ATK_ANI = 36 # Sets default attack animation for enemies.

# If this switch is ON, popups will be hidden. If OFF, the popups will be
# shown. If you do not wish to use this switch, set it to 0.
HIDE_POPUP_SWITCH = 0

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Battle Status Window -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# This sets the default battle system your game will use. If your game
# doesn't have any other battle systems installed, it will use :dtb.
#
# Battle System Requirement
# :dtb - Default Turn Battle. Default system.
# :ftb - YEA Battle System Add-On: Free Turn Battle
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DEFAULT_BATTLE_SYSTEM = :dtb # Default battle system set.

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Battle Status Window -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# Here, you can adjust the settings for the battle status window. The
# battle status window, by default, will show the actor's face, HP, MP, TP
# (if viable), and any inflicted status effects.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
BATTLESTATUS_NAME_FONT_SIZE = 20 # Font size used for name.
BATTLESTATUS_TEXT_FONT_SIZE = 16 # Font size used for HP, MP, TP.
BATTLESTATUS_NO_ACTION_ICON = 185 # No action icon.
BATTLESTATUS_HPGAUGE_Y_PLUS = 11 # Y Location buffer used for HP gauge.
BATTLESTATUS_CENTER_FACES = false # Center faces for the Battle Status.

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Help Window Text -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# When selecting a target to attack, this is the text that will be shown
# in place of a target's name for special cases. These special cases are
# for selections that were originally non-targetable battle scopes.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
HELP_TEXT_ALL_FOES = "All Foes"
HELP_TEXT_ONE_RANDOM_FOE = "One Random Foe"
HELP_TEXT_MANY_RANDOM_FOE = "%d Random Foes"
HELP_TEXT_ALL_ALLIES = "All Allies"
HELP_TEXT_ALL_DEAD_ALLIES = "All Dead Allies"
HELP_TEXT_ONE_RANDOM_ALLY = "One Random Ally"
HELP_TEXT_RANDOM_ALLIES = "%d Random Allies"

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Popup Settings -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# These settings will adjust the popups that appear in battle. Popups
# deliver information to your player as battlers deal damage, inflict
# status effects, and more.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
ENABLE_POPUPS = true # Set this to false if you wish to disable them.
FLASH_CRITICAL = true # Sets critical hits to flash.

# This hash adjusts the popup settings that will govern how popups appear.
# Adjust them accordingly.
POPUP_SETTINGS ={
:offset => -24, # Height offset of a popup.
:fade => 12, # Fade rate for each popup.
:full => 60, # Frames before a popup fades.
:hp_dmg => "-%s ", # SprintF for HP damage.
:hp_heal => "+%s ", # SprintF for HP healing.
:mp_dmg => "-%s MP", # SprintF for MP damage.
:mp_heal => "+%s MP", # SprintF for MP healing.
:tp_dmg => "-%s TP", # SprintF for MP damage.
:tp_heal => "+%s TP", # SprintF for MP healing.
:drained => "DRAIN", # Text display for draining HP/MP.
:critical => "CRITICAL!", # Text display for critical hit.
:missed => "MISS", # Text display for missed attack.
:evaded => "EVADE!", # Text display for evaded attack.
:nulled => "NULL", # Text display for nulled attack.
:failed => "FAILED", # Text display for a failed attack.
:add_state => "+%s", # SprintF for added states.
:rem_state => "-%s", # SprintF for removed states.
:dur_state => "%s", # SprintF for during states.
:ele_rates => true, # This will display elemental affinities.
:ele_wait => 20, # This is how many frames will wait.
:weakpoint => "WEAKPOINT", # Appears if foe is weak to element.
:resistant => "RESIST", # Appears if foe is resistant to element.
:immune => "IMMUNE", # Appears if foe is immune to element.
:absorbed => "ABSORB", # Appears if foe can absorb the element.
:add_buff => "%s�{", # Appears when a positive buff is applied.
:add_debuff => "%s�|", # Appears when a negative buff is applied.
} # Do not remove this.

# This is the default font used for the popups. Adjust them accordingly
# or even add new ones.
DEFAULT = ["VL Gothic", "Verdana", "Arial", "Courier"]

# The following are the various rules that govern the individual popup
# types that will appear. Adjust them accordingly. Here is a list of what
# each category does.
# Zoom1 The zoom the popup starts at. Values over 2.0 may cause lag.
# Zoom2 The zoom the popup goes to. Values over 2.0 may cause lag.
# Sz The font size used for the popup text.
# Bold Applying bold for the popup text.
# Italic Applying italic for the popup text.
# Red The red value of the popup text.
# Grn The green value of the popup text.
# Blu The blue value of the popup text.
# Font The font used for the popup text.
POPUP_RULES ={
# Type => [ Zoom1, Zoom2, Sz, Bold, Italic, Red, Grn, Blu, Font]
"DEFAULT" => [ 2.0, 1.0, 24, true, false, 255, 255, 255, DEFAULT],
"CRITICAL" => [ 2.0, 1.0, 24, true, false, 255, 80, 80, DEFAULT],
"HP_DMG" => [ 2.0, 1.0, 36, true, false, 255, 255, 255, DEFAULT],
"HP_HEAL" => [ 2.0, 1.0, 36, true, false, 130, 250, 130, DEFAULT],
"MP_DMG" => [ 2.0, 1.0, 36, true, false, 220, 180, 255, DEFAULT],
"MP_HEAL" => [ 2.0, 1.0, 36, true, false, 160, 230, 255, DEFAULT],
"TP_DMG" => [ 2.0, 1.0, 36, true, false, 242, 108, 78, DEFAULT],
"TP_HEAL" => [ 2.0, 1.0, 36, true, false, 251, 175, 92, DEFAULT],
"ADDSTATE" => [ 2.0, 1.0, 24, true, false, 240, 100, 100, DEFAULT],
"REMSTATE" => [ 2.0, 1.0, 24, true, false, 125, 170, 225, DEFAULT],
"DURSTATE" => [ 2.0, 1.0, 24, true, false, 255, 240, 150, DEFAULT],
"DRAIN" => [ 2.0, 1.0, 36, true, false, 250, 190, 255, DEFAULT],
"POSITIVE" => [ 2.0, 1.0, 24, true, false, 110, 210, 245, DEFAULT],
"NEGATIVE" => [ 2.0, 1.0, 24, true, false, 245, 155, 195, DEFAULT],
"WEAK_ELE" => [ 0.5, 1.0, 24, true, false, 240, 110, 80, DEFAULT],
"IMMU_ELE" => [ 0.5, 1.0, 24, true, false, 185, 235, 255, DEFAULT],
"REST_ELE" => [ 0.5, 1.0, 24, true, false, 145, 230, 180, DEFAULT],
"ABSB_ELE" => [ 0.5, 1.0, 24, true, false, 250, 190, 255, DEFAULT],
"BUFF" => [ 2.0, 1.0, 24, true, false, 255, 240, 100, DEFAULT],
"DEBUFF" => [ 2.0, 1.0, 24, true, false, 160, 130, 200, DEFAULT],
} # Do not remove this.

#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# - Streamlined Messages -
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# Want to remove some of those annoying messages that appear all the time?
# Now you can! Select which messages you want to enable or disable. Some of
# these messages will be rendered useless due to popups.
#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
MSG_ENEMY_APPEARS = false # Message when enemy appears start of battle.
MSG_C
Вложения:
Администратор запретил публиковать записи гостям.
Время создания страницы: 0.458 секунд