#==============================================================================
# ** Limit Break VX (DVV's)
#------------------------------------------------------------------------------
# by DerVVulfman
# version 2.1
# 05-20-2008
# RGSS2
#------------------------------------------------------------------------------
#
# INTRODUCTION:
#
# This system is a revised & enhanced version of my Limit Break (DVV) script.
# and the feature it performs should be apparent to users new and old alike.
# Limit Break VX disables skills until the hero's limit break bar is filled.
# And once the 'limit break' skill is used, the skill becomes disabled again.
#
# Like before, the system has been designed 'menuless' by intent, and this is
# to prevent any possible conflicts with any custom menu system. As such, it
# is ready for plug-n-play use.
#
# The system, by itself, does not change the 'ATTACK' option in the Actor's
# command window either. Instead, this system enables/disables the skills
# in the skill menu for you to select.
#
# Unlike its RPGMaker XP counterpart, 'Limit Break VX (DVV)' does include a
# bar drawing system of its own. It still includes the 'flexible' positioning
# system as before as well as its own ringer system. For your convenience,
# the bar color schemes are editable in the system's configuration system. If
# you wish to create your own custom bars, please look towards replacing or
# overwriting the 'draw_actor_lb' method in Game_Actor.
#
#------------------------------------------------------------------------------
#
# SCRIPT CALLS:
#
# While you may set the constants in your configuration system (and I did try
# to explain each one in detail), it is possible to change a number of key
# values while the game is running. Please allow me to show you which ones
# may be altered:
#
#
# Limitbreak:
# The 'limitbreak' value is the variable that holds the points for each
# actor and is used to display the bar growth and signal when a limit-
# break skill is ready for use. Through script calls, you can obtain
# the total limitbreak points an actor has,or you can increase/decrease
# their limitbreak score.
#
# EX: $game_party.members[6].limitbreak += 20
# (Adds 20 points to the 6th actor in your database.)
#
# EX: print $game_party.members[3].limitbreak
# (Retrieves and prints the limitbreak total for the 3rd actor.)
#
#
# Limitbreak Type:
# The 'limitbreak type' value defines how any actor's gauge is filled.
# By default, the value starts off as configured with the LB_START
# value. But it can be changed in a script call so each actor's limit-
# break bar can fill in different ways. Please see 'Limitbreak Rates'
# further down for explanations of each gauge filling method.
#
# EX: $game_party.members[5].lb_type = 8
# (Sets the 5th actor to use the 8th fill type: Feared Enemy)
#
#
# Limitbreak Element Weakness:
# A requested feature was to have some way to have the limitbreak gauge
# increase if an attack used a special element or if an actor was to be
# succeptable to damage from an elemental attack. The result was the
# creation of the 'Element Weakness' value. Like the 'limitbreak type'
# value, it too starts off with a value set in the configuration system,
# that value being LB_WEAKNESS. But it too can be changed through a
# script call for each actor. Please note that this value only makes a
# difference if the actor's Limitbreak type (lb_type) is set to '5', or
# 'Hero takes Element Damage'. An example of the script call is as
# follows:
#
# EX: $game_party.members[2].lb_weakness = 11
# (Sets the 2nd actor to be weak against the 11th element: Thunder.)
#
#
# Limitbreak Feared Enemy:
# A little nuance I made is the 'Feared Enemy' value for limitbreak. I
# felt it balances out the system. If the limitbreak gauge can be filled
# by killing certain enemies, you may as well be able to fill the gauge
# by being struck by a certain enemy as well. Like the last two, this
# value starts off with a value in the configuration system, LB_FEARED,
# but it can be changed with a simple script call:
#
# EX: $game_party.members[8].lb_weakness = 5
# (Sets the 8th actor to gain more points if hit by the 5th enemy.)
#
# +--------------------------------------------------------------------+
# | It is important to note that after every one of these calls, it is |
# | recommended to use the $game_party.refresh call to ensure that the |
# | methods I have just described take effect. |
# +--------------------------------------------------------------------+
#
#
# Limitbreak Menu Bars:
# Not everyone wants their limitbreak gauges visible in their menus. As
# such, I made this switch so you can hide or reveal the bars at your
# whim. By default, it is set by the LB_BARS_ON value in the configura-
# tion section:
#
# EX: $game_system.lb_menu = false
# (This prevents the limit break bars from showing in the menu.)
#
#
# Flexible Positioning System: Menu & Battle Bar Positions
# Not every menu or battlestatus window is made the same. As such, I de-
# veloped the Flexible positioning system for both menu and battle bars.
# It allows you to move the bars where you want them to show. Linked to
# the 'actor name' method in Window_Base, the position of the bars are
# drawn based on the X & Y position of the Actor's name. And since the
# Actor's name is 'typically' the first method called in any menu, the
# bars will be drawn below/behind any other text on the screen.
#
# The menu and battle bar positions are controlled by an array that is
# configured with the LB_MENU_POS and LB_BATTLE_POS arrays in the confi-
# guration section. But they can be changed in-game as shown in the ex-
# ample below. Please note that the arrays have 3 arguments (x-position,
# y-position, and bar width):
#
# EX: $game_system.lb_menu_pos = [-5, 2, 20]
# (The bar is shown 5px higher, 2px to the right & with a 20px width.)
#
#
# Limitbreak Hidden Actors:
# The last little nuance I made is the 'Hidden Actor' array. It allows
# you to identify any actor or actors you want that do not display their
# limitbreak bars. It's very simple, and starts off as configured with
# the LB_HIDDEN_ACTORS array. To change the actors being hidden, you
# merely need to use a script call like the one below:
#
# EX: $game_system.lb_hidden_actors = [2, 7]
# (This makes the 2nd and 7th actor's bars invisible)
#
#
#------------------------------------------------------------------------------
#
# LIMITBREAK RATES:
#
# The last little nuance I made is the 'Hidden Actor' array. It allows
# Rather than go into a long diatribe for each and every limitbreak fill
# rate, I will merely present a chart with a small summary of the rates
# available and how they fill the actor's limitbreak gauges:
#
# Rate Name Manner the Limitbreak Gauge is Filled
# 0) Attack ... when the hero 'hits' an enemy.
# 1) Critical ... when the hero performs a 'critical hit' on an enemy.
# 2) Damage ... when the hero is struck by an enemy.
# 3) MP Attack ... when the hero hurts an enemy's mp score.
# 4) MP Damage ... when an enemy damage's/drains the hero's mp score.
# 5) Element ... when the hero is hurt by an element-based attack. *
# 6) Status ... when the hero is inflicted a status ailment.
# 7) Restore ... when the hero restores an ally's health.
#
Feared ... when the hero is hurt by a 'feared' enemy **
# 9) Enemy ... when the hero lands the killing blow on an enemy.
# 10) Boss ... when the hero lands the killing blow on a boss. ***
# 11) Killed ... when the hero is killed. ****
# 12) Victory ... when the party wins.
# 13) Escape ... when the party runs from combat.
# 14) Defending ... when the hero performs a defense/guard maneuver.
# 15) Lone Member ... when the hero is the only surviving member.
# 16) Action ... when any action is performed.
# 17) Crit Health ... when the hero has 25% or less health and in action.
#
#
# * The element must be specified by the LB_WEAKNESS value or subsequent
# script call explained earlier.
#
# ** The feared enemy must be specified by the LB_FEARED value or by the
# subsequent script call explained earlier.
#
# *** Bosses are defined in the LB_BOSSES array in the configuration section.
#
# **** While this allows you to gain limitbreak points on a character's death,
# the 'Death Wipe' feature erases all points for actors upon death if the
# LB_D_WIPE value is set to true.
#
#
#------------------------------------------------------------------------------
#
# CREDITS AND THANKS:
#
# Thanks still goes to Jaide for recommending the 'Death Wipe' feature.
#
#==============================================================================