#===============================================================================
#
# Yanfly Engine Melody - Battle Engine Melody - Part I - Configuration
# Last Date Updated: 2011.12.09
# Level: Normal, Hard, Lunatic, Phantasm
#
# Welcome to Battle Engine Melody. This script is actually a compilation of
# many Yanfly Engine scripts pieced together to form a battle melody of many
# sorts and to create an extremely versatile battle engine that is almost
# completely modifiable by the user. This script will be divided up into five
# parts for easier updates and better arrangement. They are as follows:
#
# Part I - Configuration -
# This is what you're seeing right here. The configuration section will allow
# you to adjust all of the various Battle Engine Melody settings all in one big
# part. Be sure to take your time to browse through the configuration to see
# what things you would like changed and altered.
#
# Part II - Melody Manual -
# Battle Engine Melody comes with its own language to allow for extremely
# adjustable battle commands from the notebox alone. To understand how to make
# your own Melodies, view Part II for the manual. Because Part II includes
# actual Battle Engine Melody base coding to save room, it's highly recommended
# that you do not edit or modify anything you see on Part II unless you know
# what you're doing.
#
# Part III - Lunatic Methods -
# For the Lunatics who would like more control out of their battle system or for
# those who would like to use materials that have been created by others for
# Battle Engine Melody, this section is dedicated to allow add-ons without need
# to adjust the base code and to reduce the fear of breaking the entire battle
# engine by a few typos.
#
# Part IV - Visual Base Code -
# This is the base code for Battle Engine Melody regarding the visual aspects
# installed with the engine. This section is bound to be updated frequently and
# separated from the first three to reduce the need to re-adjust configuration
# and re-import materials. Just plop in the whole updated Part IV here whenever
# updates appear. Highly recommended that you don't edit this.
#
# Part V - Mechanical Base Code -
# Similar to Part IV, this is the base code for Battle Engine Melody in regards
# to the mechanical aspects. This section, like Part IV, is bound to be updated
# frequently and thus, separated from the first three to reduce the need to
# re-adjust configuration and re-import materials. Whenever an update appears,
# all you would have to do is just replace Part V and you're good to go. Highly
# recommended that you don't edit this part.
#
# Battle Engine Melody's focus is to provide the user as much control and power
# at the same time without sacrificing efficiency all while maintaining ease of
# use and delivering quality visual presentation. While Battle Engine Melody is
# not a limitless engine, it will provide vast ability to perform many battle
# related functions such as damage control, skill effects, item effects, target
# options, element and status affinity, status effects, and more. Battle Engine
# Melody also gears itself towards decent visual presentation through as little
# difficulty as possible. And finally, Battle Engine Melody is created in a way
# where small modifications, add-ons, Lunatic mode snips, etc. can easily be
# added in to increase its capabilities.
#
#===============================================================================
# Updates
# -----------------------------------------------------------------------------
# o 2010.02.12 to 2010.05.01 - Started and Finished Script.
# o 2011.12.09 - Update Melody 1.01.
#===============================================================================
# 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.
#
# Note: All five parts of the script must be present. If even one piece is
# missing, then the script will not work.
#
#===============================================================================
# Credits
# -----------------------------------------------------------------------------
# Beta-Testers: Archeia Nessiah, Craze, Jace Raifel, Rukaroa, SFLaValle,
# Shanghai, Twilight, Wulfpsade
#===============================================================================
$imported = {} if $imported == nil
$imported["BattleEngineMelody"] = true
module YEM
module BATTLE_ENGINE
#===========================================================================
# Section I.A. Basic Settings
# -------------------------------------------------------------------------
# These are the basic settings regarding Battle Engine Melody that is
# absolutely REQUIRED to be set before you can use the script without any
# problems at all. Please take your time to adjust the settings properly.
#===========================================================================
# These two constants will bind the view type and battle type to each of
# the individual variable ID's set below. They will determine the kind of
# view type and battle system it is and run them accordingly.
VIEW_TYPE_VARIABLE = 92
BATTLE_TYPE_VARIABLE = 93
# This constant determines the default view type your game will show for
# your battle system. Use the following table below to determine the type.
# ID Type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# 0 - Default Frontview without any battlers.
# 1 - Visible Frontview battlers.
# 2 - Visible sideview battlers.
# 3 - Visible angleview battlers.
DEFAULT_VIEW = 0
# This constant determines the default battle type your game will use for
# your battle system. use the following table to determine the type used.
# ID Type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# 0 - Default Battle System. Turn based.
# 1 - Press Turn Battle. MegaTen type system.
# 2 - Active Time Battle. Typical ATB.
# 3 - Charge Turn Battle. Individual CTB system.
DEFAULT_TYPE = 0
#===========================================================================
# Section I.B. Option Settings
# -------------------------------------------------------------------------
# Battle options are provided to the player to allow them to customize
# the battle system to their liking with some degree of control. This
# allows them to have speedier battles, more detailed battles, and/or more.
#===========================================================================
# In battle, there exists an options menu to allow you to adjust various
# battle related options such as enabling skill help, disabling animations,
# and more. The appliable options are as follows:
# ID - - - - - Type - - - - - - - - - - - - - - - - - - - - - - - - - - -
# :bgm_volume - Adjusts BGM volume.
# :bgs_volume - Adjusts BGS volume.
# :sfx_volume - Adjusts SFX volume.
# :animations - Displays/Hides animations.
# :autocursor - Sets memory cursor options.
# :next_actor - Automatically go to the next actor.
# :skill_help - Displays skill descriptions during battle phase.
# :atb_active - ATB Active Type. Only with ATB.
# :atb_speeds - ATB Battle Speeds. Only with ATB.
OPTION_COMMANDS =[
:skill_help,
:atb_active,
:atb_speeds,
:animations,
:autocursor,
:next_actor,
:bgm_volume,
:bgs_volume,
:sfx_volume,
] # Do not remove this.
# The following hash determines what variables and switches are used to
# adjust the battle options menu. It's very important that you bind the
# values to the proper variables and switches in order for your game to
# run properly. In addition to adjusting the switches, you also apply
# text descriptions of each of the items here, too.
OPTIONS ={
# Option => Value
:bgm_variable => 55, # Variable used to adjust BGM volume.
:bgm_mute_sw => 256, # Switch used to mute/unmute the BGM.
:bgm_volume => "BGM Lautstärke",
:bgm_des => "Links: leiser, Rechts: lauter, Z: Ton aus/an.",
:bgs_variable => 56, # Variable used to adjust BGS volume.
:bgs_mute_sw => 257, # Switch used to mute/unmute the BGS.
:bgs_volume => "BGS Lautstärke",
:bgs_des => "Links: leiser, Rechts: lauter, Z: Ton aus/an.",
:sfx_variable => 57, # Variable used to adjust SFX volume.
:sfx_mute_sw => 258, # Switch used to mute/unmute the SFX.
:sfx_volume => "SFX Lautstärke",
:sfx_des => "Links: leiser, Rechts: lauter, Z: Ton aus/an.",
:mute => "Ton aus",
:audio => "Audio %d%%",
:atb_avariable => 58, # Variable used for ATB Active Type.
:atb_aname => "ActiveType",
:wait_0 => "Full",
:wait_0_des => "ATB Gauge does not stop with battle menus open.",
:wait_1 => "Semi",
:wait_1_des => "ATB Gauge stops during target selection.",
:wait_2 => "Stop",
:wait_2_des => "ATB Gauge stops with battle menus open.",
:wait_3 => "Wait",
:wait_3_des => "ATB Gauge stops with any member ready for action.",
:atb_svariable => 59, # Variable used for ATB Speeds.
:atb_sname => "Turn Speed",
:atb_s_des => "Adjusts battle speed. Higher values are faster.",
:animation_sw => 251, # Switch used to display/hide animations.
:animations => "Kampfanimationen",
:ani_des => "Regelt die gezeigten Animationen.",
:ani_show => "Anzeigen",
:ani_hide => "Ausblenden",
:autocursor_sw => 252, # Switch used for autocursors.
:autocursor => "Cursor-Anzeige",
:curmem_des => "Verhalten des Cursors im Kampfmenu.",
:curmem_on => "Position merken",
:curmem_off => "Zurücksetzen",
:next_actor_sw => 253, # Switch used for automatic next actor.
:next_actor => "Steuerung",
:next_des => "Charakterwahl nach Angriffsauswahl festlegen",
:next_on => "Automatisch",
:next_off => "Manuell",
:skill_help_sw => 254, # Switch used to enable skill help.
:skill_help => "Hilfe",
:help_des => "Beschreibungen während dem Kampf.",
:help_on => "Anzeigen",
:help_off => "Ausblenden",
} # Do not remove this.
#===========================================================================
# Section I.C. Popup Settings
# -------------------------------------------------------------------------
# Popups will occur during many situations: when battlers take damage, when
# they receive new states, critical hits occur, weakpoints struck, etc.
# Adjust these settings to control the popups in your battle system better.
#
# These a few tags you can insert into the noteboxes of status effects to
# allow for some specific and custom changes.
#
# -------------------------------------------------------------------------
# State Tags - For Status Effects only.
# -------------------------------------------------------------------------
# <popup add: phrase> <popup rem: phrase> <popup dur: phrase>
# This changes the ruleset applied for newly added states, removed states,
# or during (remained) states. This means that not all added states will
# need to have the same colour. You can use this to distinguish positive
# and negative states using different rulesets. Replace "phrase" with a key
# from the POPUP_RULES hash below.
#
# <popup hide add> <popup hide rem> <popup hide dur>
# This will hide the popups for adding the particular state, removing the
# particular state, or showing the state is remaining on the character. This
# is mostly used to hide unique states that are used for effect purposes and
# not actual gameplay purposes. This will cancel out the tag above.
#===========================================================================
# This hash adjusts the popup settings that will govern how popups appear.
# Adjust them accordingly.
# If you use number image, please copy the number file into Graphics/System
# then config the option below.
POPUP_SETTINGS ={
:width => 160, # Maximum width of a popup.

ffset => -24, # Height offset of a popup.
:fade => 16, # Fade rate for each popup.
:full => 44, # Frames before a popup fades.
:number_img => true, # Determine on using Image for Number.
:move_up => true, # This will make popup move up and fade out.
:hp_dmg_img => "hp_dmg", # Number filename for HP Damage.
:hp_heal_img => "hp_heal", # Number filename for HP Heal.
:mp_dmg_img => "mp_dmg", # Number filename for HP Damage.
:mp_heal_img => "mp_heal", # Number filename for HP Damage.
:hp_dmg => "%s", # SprintF for HP damage.
:hp_heal => "+%s", # SprintF for HP healing.
:mp_dmg => "%s SP", # SprintF for MP damage.
:mp_heal => "+%s SP", # SprintF for MP healing.
:drained => "Absorbiert", # Text display for draining HP/MP.
:critical => "Kritisch!", # Text display for critical hit.
:flash => true, # Will flash different colours for criticals.
:missed => "Verfehlt!", # Text display for missed attack.
:evaded => "Ausgewichen!!", # Text display for evaded attack.
:nulled => "Kein Schaden", # Text display for nulled attack.
:failed => "Daneben!", # Text display for a failed attack.
:show_fail => false, # Display failed popups?
: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 => "Schwäche erkannt!", # Appears if foe is weak to element.
:resistant => "Ist resistent!", # Appears if foe is resistant to element.
:immune => "Ist immun", # Appears if foe is immune to element.
:absorbed => "Attacke absorbiert", # Appears if foe can absorb the element.
} # Do not remove this.
# This is the default font used for the popups. Adjust them accordingly
# or even add new ones.
DEFAULT = ["Verdana", "Verdana", "Verdana", "Verdana"]
# 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, 20, true, false, 255, 255, 255, DEFAULT],
"CRITICAL" => [ 2.0, 1.0, 20, true, false, 255, 80, 80, DEFAULT],
"HP_DMG" => [ 2.0, 1.0, 28, true, false, 255, 255, 255, DEFAULT],
"HP_HEAL" => [ 2.0, 1.0, 28, true, false, 130, 250, 130, DEFAULT],
"MP_DMG" => [ 2.0, 1.0, 28, true, false, 220, 180, 255, DEFAULT],
"MP_HEAL" => [ 2.0, 1.0, 28, true, false, 160, 230, 255, DEFAULT],
"ADDSTATE" => [ 2.0, 1.0, 20, true, false, 240, 100, 100, DEFAULT],
"REMSTATE" => [ 2.0, 1.0, 20, true, false, 125, 170, 225, DEFAULT],
"DURSTATE" => [ 2.0, 1.0, 20, true, false, 255, 240, 150, DEFAULT],
"DRAIN" => [ 2.0, 1.0, 28, true, false, 250, 190, 255, DEFAULT],
"POSITIVE" => [ 2.0, 1.0, 20, true, false, 110, 210, 245, DEFAULT],
"NEGATIVE" => [ 2.0, 1.0, 20, true, false, 245, 155, 195, DEFAULT],
"WEAK_ELE" => [ 0.5, 1.0, 20, true, false, 240, 110, 80, DEFAULT],
"IMMU_ELE" => [ 0.5, 1.0, 20, true, false, 185, 235, 255, DEFAULT],
"REST_ELE" => [ 0.5, 1.0, 20, true, false, 145, 230, 180, DEFAULT],
"ABSB_ELE" => [ 0.5, 1.0, 20, true, false, 250, 190, 255, DEFAULT],
} # Do not remove this.
#===========================================================================
# Section II.A. Battle View Settings
# -------------------------------------------------------------------------
# These are the various settings that adjust your battle view settings. The
# settings made here are applied throughout the entire script so configure
# them properly.
#===========================================================================
# This sets the actor coordinates for each view type. You don't need to
# adjust these, but it'd be great if you paid attention to them. Empty
# view coordinates are automatically calculated.
ACTOR_COORDINATES ={
# ID => [[Emptyview], [Frontview], [ Sideview], [Angleview]],
0 => [[ 0, 0], [ 128, 280], [ 408, 136], [ 336, 280]],
1 => [[ 0, 0], [ 224, 280], [ 432, 168], [ 384, 264]],
2 => [[ 0, 0], [ 320, 280], [ 456, 200], [ 432, 248]],
3 => [[ 0, 0], [ 416, 280], [ 480, 232], [ 480, 232]],
} # Do not remove this.
# This hash determines various technical aspects of your battlers that
# are used throughout the various views. Adjust them accordingly.
ACTOR_ASPECTS ={
:width => 32,
:height => 32,
} # Do not remove this.
# This hash determines various offsets used for each view type. Adjust
# them accordingly to set actor positions properly. Here's a small
# reference guide for what some abbreviations mean.
# Face Start facing direction.
# FrtX Front Row Class X offset.
# FrtY Front Row Class Y offset.
# MidX Middle Row Class X offset.
# MidY Middle Row Class Y offset.
# BacX Back Row Class X offset.
# BacY Back Row Class Y offset.
ACTOR_OFFSETS ={
# View => [Face, FrtX, FrtY, MidX, MidY, BacX, BacY],
:front => [ 8, 0, -4, 0, 0, 0, 4],
:side => [ 4, -4, 0, 0, 0, 4, 0],
:angle => [ 7, -2, -2, 0, 0, 2, 2],
} # Do not remove this.
# When making battlers move forward or backward, they have to move a
# certain direction and degree. Adjust the following to properly adjust
# movement control to steer their direction. This is the direction they
# must travel when walking forward. Backward will just be reverse.
MOVEMENT_ALIGN ={
# View => [ActorX, ActorY, EnemyX, EnemyY],
:front => [ 0.0, -2.0, 0.0, 2.0],
:side => [ -2.0, 0.0, 2.0, 0.0],
:angle => [ -1.6, -0.8, 1.6, 0.8],
} # Do not remove this.
# If you would like to automatically shift enemy positions using the script
# and not need to adjust the battleview positions, enable this constant.
AUTO_ENEMY_POSITIONS = false
# These are the variables used to calculate where the enemies will position
# themselves on the screen. Here's what the various table items mean:
# offx - X Offset, constant value.
# offy - Y Offset, constant value.
# x_rate_x - X rate of X position.
# x_rate_y - X rate of Y position.
# y_rate_x - Y rate of X position.
# y_rate_y - Y rate of Y position.
AUTO_POSITION_ADJUSTMENTS ={
# View => [offx, offy, x_rate_x, x_rate_y, y_rate_x, y_rate_y],
:empty => [ 0, -48, 1.000, 0.000, 0.000, 1.000],
:front => [ 0, -96, 1.000, 0.000, 0.000, 1.000],
:side => [-408, 128, 0.300, -0.250, 1.600, 0.500],
:angle => [-440, 104, 0.667, -0.167, 1.600, 0.500],
} # Do not remove this.
#===========================================================================
# Section II.B. Visual Battler Settings
# -------------------------------------------------------------------------
# These settings determine the various rules that govern your actors. If
# these settings aren't filled out correctly, the battle system may not
# function correctly as desired.
#
# Here are a few notebox tags you may add to your enemy database entries
# to provide custom changed setting.
# -------------------------------------------------------------------------
# Enemy Tags - For Enemies Only
# -------------------------------------------------------------------------
# <attack animation: x>
# By default, enemies will use DEFAULT_ENEMY_ATTACK as their default attack
# animation. To change it for a different enemy, set x as the animation
# id to be played.
#
# <enemy icon: x>
# In Default Turn Battle, Active Turn Battle, and Charge Turn Battle, your
# enemies will use icons to represent themselves in the turn gauge in the
# upper left corner of the screen. To give your enemies a more unique icon,
# change x to the icon ID for the enemy.
#
# <enemy icon hue: +x> or <enemy icon hue: -x>
# This adjusts the enemy icon's hue by x value. This prevents the need to
# create multiple icons of only hue differences to indicate different
# enemies and to save space.
#
# <phrase mirror>
# Replace "phrase" with "emptyview", "frontview", "sideview", or "angleview"
# without the quotes. This will cause the enemy's battler image to flip to
# fit the battleview properly if they happen to be facing the wrong way.
#
# <phrase zoom: x%>
# Replace "phrase" with "emptyview", "frontview", "sideview", or "angleview"
# without the quotes. This will cause the enemy's battler image to be zoomed
# at x%. If a battler image is too big, use a percent smaller than 100%. If
# it is too small, use a percent larger than 100%. This is to adjust for
# visual battler image sizes.
#
# <unmoving>
# Enemies who need to stay stationary (like plants, statues, and buildings)
# will not visibly move with this tag applied to their noteboxes. These
# enemies cannot be knocked backwards, move forward, and any wait commands
# applied to movement Melodies will ignore these characters.
#
# <charset: filename> or <cs: filename>
# <charset: filename, index> or <cs: filename, index>
# If you wish for the enemies to use a character set instead of a battler
# image, use this tag. Replace filename with the character set's filename
# and the index being the number of the proper fileset to be applied.
#
# <weapon: x> or <weapons: x, x>
# For enemies with character sets, they can equip weapons as an added image
# (although the weapons will do nothing for their stats or performance).
#
# <shield: x>
# For enemies with character sets, they can equip shields as an added image
# (although the shields will do nothing for their stats or performance).
#===========================================================================
# This is the default enemy icon used universally for all enemies that do
# not have an icon defined for them. To define an icon for each enemy, use
# a <enemy icon x> tag in their notebox.
DEFAULT_ENEMY_ICON = 492
# This is the default actor icon that's used for undefined actor and class
# icons. If you're using unique icons for each, actor icons will then take
# priority over the class icons.
DEFAULT_ACTOR_ICON = 368
# For each battler, there will be a set of borders to indicate which team
# each battler belongs to. Adjust the settings here accordingly.
BATTLER_ICON_BORDERS ={
# Type => [Back, Border, Press1, Press2, Press3, Arrow],
:actor => [ 138, 27, 0, 0, 0, 2],
:enemy => [ 139, 28, 0, 0, 0, 2],
:misc => [ 140, 29, 0, 0, 0, 2],
} # Do not remove this.
# These are the icons given priority to actors that exist in this hash. If
# an actor exists here, but has a class that exists in the class icons hash,
# priority will still be given to this hash.
BATTLER_ACTOR_ICONS ={
# ID => Icon Index
8 => 250, # Icon for Noxus.
7 => 249, # Icon for Palmeo.
9 => 251, # Icon for Ryuko.
11 => 248, # Icon for Skyler.
4 => 252, # Icon for Mola.
3 => 253, # Icon for Makiro.
} # Do not remove this.
# These are the icons given priority to battlers that have classes that
# exist in this hash. If an actor exists in the actor icons hash and this
# one, priority will be given to the actor icons hash instead.
BATTLER_CLASS_ICONS ={
# ID => Icon Index
5 => 372, # Icon for Paladin class.
6 => 396, # Icon for Dark Knight class.
7 => 385, # Icon for Brawler class.
8 => 386, # Icon for Rogue class.
} # Do not remove this.
# Setting this to true will show dead battlers inside of the order gauge
# and setting this to false will hide them.
TURNS_DEAD_BATTLERS = false
# This adjusts the default enemy attack animation. If an enemy does not
# have the respective attack animation tag, it will use this instead.
DEFAULT_ENEMY_ATTACK = 36
# The following settings require the Yanfly Engine Extended Movement script
# to be installed (and using fully functional poses). Here, you will adjust
# the rulesets regarding each pose. Directions relative to NumPad keys.
# Mirrored Direction - These are the directions set to mirror the pose.
# Ignored Direction - These are the directions set to ignore the pose.
POSE_SETTINGS ={
# Pose => [[Mirrored], [Ignored]],
:normal => [[ ], [ ]],
:ready => [[ 9, 6, 3], [7, 8, 9]],
:damage => [[ 9, 6, 3], [ 8]],

iyori => [[ 9, 6, 3], [ 8]],
:march => [[ 9, 6, 3], [7, 8, 9]],
:victory => [[ ], [ ]],
:evade => [[ 9, 6, 3], [ 8]],
:dead1 => [[ ], [ ]],
:dead2 => [[ ], [ ]],
:dead3 => [[ ], [ ]],
:fallen => [[ ], [ ]],
:swing2h => [[ 9, 6, 3], [ 8]],
:swing1h => [[ 9, 6, 3], [ 8]],
:rever2h => [[ 9, 6, 3], [ 8]],
:rever1h => [[ 9, 6, 3], [ 8]],
:cast => [[ 9, 6, 3], [ 8]],
:channel => [[ 9, 6, 3], [ 8]],
} # Do not remove this.
# The following settings require the Yanfly Engine Extended Movement script
# to be installed (and using fully functional poses). Here are the various
# settings to set automatic poses whenever changes are made. If you don't
# want them to strike a pose during the such state, just set it to false.
# The poses outside of victory will take on the pose settings above.
AUTO_POSES ={
# Condition => Pose
:ready => true, # Pose for ready.

iyori => true, # Pose for critical state.
:victory => true, # Pose for victory.
} # Do not remove this.
# Some games don't want to show weapon animations during attacks. Set this
# to false to disable them from appearing for weapons and shields.
SHOW_WEAPON_ICONS = true
# These settings can be done to adjust misc aspects such as target cursor
# sorting, mirroring battle animations, and others.
# A.Mirror - Mirror animations on actors?
# E.Mirror - Mirror animations on enemies?
# L -> R - Select enemies from left to right.
MISC_VIEW_ADJUSTMENTS ={
# View => [A.Mirror, E.Mirror, L -> R],
:empty => [ false, false, true],
:front => [ false, false, true],
:side => [ true, false, false],
:angle => [ true, false, true],
} # Do not remove this.
#===========================================================================
# Section II.C. Animation Battlers
# -------------------------------------------------------------------------
# If you decide to use animated battlers for either enemies or actors, they
# can be produced from using animations within the database. The battler's
# image will be replaced with whatever animation is currently playing over
# it and will move accordingly to the battler's actual position on screen.
# This section is completely optional and can be overlooked should you
# decide to use the standard character set format instead.
#
# Note that battler animations will not mirror themselves based on the
# direction they're moving. To simulate direction changing, there's a
# "MOVE" stance and a "RETURN" stance where "MOVE" heads towards the target
# destination and "RETURN" moves back to the origin.
#
# -------------------------------------------------------------------------
# Common Animation Battler Stances
# -------------------------------------------------------------------------
# These "stances" are actually the keywords to telling your game which
# animations to play on your battlers. They're used both for the script
# itself and the Melodies you'll use in conjunction with it. The following
# are the common stances you'll see throughout.
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Stance Description
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# IDLE When the battler is not doing anything. Automatic.
# MOVE When the battler is moving. Automatic.
# RETURN When the battler is returning. Automatic.
# DAMAGE When the battler takes damage. Automatic.
# PIYORI When the battler is in critical condition. Automatic.
# VICTORY When the battler wins. Automatic.
# EVADE When the battler dodges an attack. Automatic.
# STASIS When the battler is frozen in place. Automatic.
# DEAD When the battler dies. Automatic.
# ATTACK1 When the battler attacks with a single-handed weapon.
# ATTACK2 When the battler attacks with a two-handed weapon.
# CHANNEL When the battler is channeling the spell.
# CAST When the battler casts the spell.
#
# -------------------------------------------------------------------------
# Enemy Tags - For Enemies Only
# -------------------------------------------------------------------------
# <phrase stance: x>
# Replace "phrase" with a stance name. This will make the stance valid to
# use with the enemy battler. x is the integer ID used for the animation
# the stance will refer to. Note that enemies MUST have an "IDLE" stance
# in order for them to function.
#
# <stance hue: +x> or <stance hue: -x>
# To save the need to use multiple animations for recolours, this tag can
# be used to adjust the hue change for the animations by x amount. Use the
# + tag for a positive hue change and the - tag for a negative hue change.
#
# If you wish to turn your actors in battle to animation battlers, edit the
# following settings below as they do not innately have noteboxes to edit
# unlike the enemies themselves.
#===========================================================================
# These are the basic settings regarding animation battlers. Pay attention
# to them as there are some very specific rules regarding their work.
ANIMATION_BATTLER_SETTINGS ={
:mirror_actor => false, # Mirror the animations on actors?
:mirror_enemy => true, # Mirror the animations on enemies?
:allow_sound => false, # Produce sounds if the animations permit?
:allow_flash => false, # Flash the screen if the animations permit?
} # Do not remove this.
# This adjusts the maximum number of cells to show at a time.
ANIMATION_BATTLER_MAX_CELLS = 4
# The following hash is used for actors since they do not have noteboxes.
# Edit all of the valid stance information for them here using the following
# format for your actors. Remember, you can add more stances if you plan on
# using more animations for your actors.
ANIMATION_BATTLER_ACTORS ={
#---
# [CharacterSet, Index] => {
# Stance Name => Animation ID,
# Stance Name => Animation ID,
# Stance Name => Animation ID,
# },
#--- Template 0 Layout ---
["Template", 0] => {
"IDLE" => 100,
"MOVE" => 101,
"RETURN" => 102,
"DAMAGE" => 103,
"PIYORI" => 104,
"VICTORY" => 105,
"EVADE" => 106,
"DEAD" => 107,
"ATTACK1" => 108,
"ATTACK2" => 109,
"CHANNEL" => 110,
"CAST" => 111,
}, # Do not remove this.
#--- End Template 0 ---
#--- CharsetName 3 Layout ---
["CharsetName", 3] => {
"IDLE" => 200,
"MOVE" => 201,
"RETURN" => 202,
"DAMAGE" => 203,
"PIYORI" => 204,
"VICTORY" => 205,
"EVADE" => 206,
"DEAD" => 207,
"ATTACK1" => 208,
"ATTACK2" => 209,
"CHANNEL" => 210,
"CAST" => 211,
}, # Do not remove this.
#--- End CharsetName 3 ---
} # Do not remove this.
#===========================================================================
# Section II.D. Screen Effects
# -------------------------------------------------------------------------
# This section is dedicated towards the screen effects and adjusts the
# presets used for them in order to save headache and/or confusion. This is
# used with the following commands:
#
# screen: tone, colour, duration
# screen: flash, colour, power, duration
#===========================================================================
# This is used for the "screen: tone" Melody for some quick and easy
# access to some of the more popular tones. Note that tones work from a
# number range of -255 to 255.
SCREEN_TONES ={
# Colour => [ Red, Grn, Blue, Grey]
"NORMAL" => [ 0, 0, 0, 0],
"WHITE" => [ 255, 255, 255, 0],
"BLACK" => [-255, -255, -255, 0],
"GREY" => [ 0, 0, 0, 255],
"SEPIA" => [ 96, 64, 0, 255],
"RED" => [ 128, 0, 0, 128],
"ORANGE" => [ 128, 64, 0, 128],
"YELLOW" => [ 128, 128, 0, 128],
"LIME" => [ 64, 128, 0, 128],
"GREEN" => [ 0, 128, 0, 128],
"MINT" => [ 0, 128, 64, 128],
"CYAN" => [ 0, 128, 128, 128],
"AQUA" => [ 0, 64, 128, 128],
"BLUE" => [ 0, 0, 128, 128],
"VIOLET" => [ 64, 0, 128, 128],
"PURPLE" => [ 128, 0, 128, 128],
"MAGENTA" => [ 128, 0, 64, 128],
} # Do not remove this.
# This is used for the "screen: flash" Melody for some quick and easy
# access to some of the more popular flash colours. Note that the flash
# colours work from a number range of 0 to 255.
FLASH_TONES ={
# Colour => [ Red, Grn, Blu]
"WHITE" => [ 255, 255, 255],
"BLACK" => [ 0, 0, 0],
"GREY" => [ 128, 128, 128],
"RED" => [ 255, 0, 0],
"ORANGE" => [ 255, 170, 0],
"YELLOW" => [ 255, 255, 0],
"LIME" => [ 128, 255, 0],
"GREEN" => [ 0, 255, 0],
"MINT" => [ 0, 255, 128],
"CYAN" => [ 0, 255, 255],
"AQUA" => [ 0, 128, 255],
"BLUE" => [ 0, 0, 255],
"VIOLET" => [ 128, 0, 255],
"PURPLE" => [ 170, 0, 255],
"MAGENTA" => [ 255, 0, 255],
} # Do not remove this.
#===========================================================================
# Section III.A. Battle Message Window
# -------------------------------------------------------------------------
# This section lets you adjust the various settings used for the Battle
# Message Window. The new Battle Message Window will house many more
# improvements over the old one and allows for more ways to be used.
#===========================================================================
# This hash will adjust the various visual properties shown for the battle
# message. Change things from the gradient to width to more.
MESSAGE_SETTINGS ={
:gradient1 => Color.new(0,0,0,196), # Darker colour used for gradient.
:gradient2 => Color.new(0,0,0, 96), # Lighter colour used for gradient.

pacity => 0, # Opacity rate to show sprites.
:alignment => 0, # Default alignment. 0-Left, 1-Center, 2-Right.
} # Do not remove this.
# This hash will determine which messages will be shown. Those set to false
# will be ignored and moved on.
DISPLAY_MESSAGE ={
:enemy_appear => false, # Start message of which enemies appeared.
:advantage => true, # Whether or not party has advantage.
:currentstate => false, # Display active battler's current state.
:action_atk => true, # Message when battler attacks.
:action_guard => true, # Message when battler guards.
:action_esc => true, # Message when battler escapes.
:action_wait => true, # Message when battler waits.
:action_skill => true, # Message when battler uses a skill.
:action_item => true, # Message when battler uses an item.
:critical_hit => false, # Display critical action message.
:display_miss => false, # Display missed action message.
:display_eva => false, # Display evaded action message.
:display_fail => false, # Display failed action message.
:damage_hp => false, # Message when battler is HP damage/healed.
:damage_mp => false, # Message when battler is MP damage/healed.
:state_change => true, # Message when battler gains/loses states.
} # Do not remove this.
# When using icons, different messages will display instead of the usual
# bit. This is as to
ICON_MESSAGE ={
:use_icons => false, # If true, icons are used for actions.
:attack => "Angreifen", # Default attack message.
:atk_icon => 132, # Default icon used with the attack message.
:guard => "Schützen", # Default guard message.
:grd_icon => 52, # Default icon used with the guard message.
:flee => "Fliehen", # Default flee message.
:flee_icon => 158, # Default icon used with the flee message.
:wait => "Warten", # Default wait message.
:wait_icon => 98, # Default icon used for waiting.
} # Do not remove this.
# This setting will remove the battle message window and return it to a
# regular battle message window (at the bottom of the screen) if true.
DEFAULT_VICTORY_MESSAGE = true
#===========================================================================
# Section III.B. Battle Window Settings
# -------------------------------------------------------------------------
# These are all of the windows you can adjust the settings for inside of
# the battle scene. Each one is unique but provides various battle-related
# information so be sure to adjust them properly.
#===========================================================================
# These are the various settings that adjust the party status window shown
# at the bottom of the screen. Adjust the various settings here.
PARTY_WINDOW ={
:face_opacity => 160, # Face opacity for inactive actor's faces.
:name_size => 18, # Font size for the name text.
:max_states => 6, # Maximum number of states shown.
:stat_size => 16, # Font size used for HP/MP/Rage.
:hp_dmg_gauge => 10, # Text colour used for damaged HP gauge.
:hp_heal_gauge => 24, # Text colour used for healing HP gauge.
:mp_dmg_gauge => 13, # Text colour used for damaged MP gauge.
:mp_heal_gauge => 4, # Text colour used for healing MP gauge.
:rg_dmg_gauge => 18, # Text colour used for damaged Rage gauge.
:rg_heal_gauge => 18, # Text colour used for healing Rage gauge.
:exhaust_gauge => 7, # Text colour used for lowered HP/MP maxes.
:action_icons => true, # Show action icons for each actor.
} # Do not remove this.
# This hash adjusts the settings for the combo window. This window will
# tally up total damage and total healing done for each battler during
# their turn.
COMBO_WINDOW ={
:requirehit => 2, # Hits required to make combo window show.
:combo_text => "%s Kombo", # Text format used for combo hits total.
:total_text => "%s Total", # Text format used for totals. Rarely used.
:total_heal => "+%s Geheilt", # Text format used for combo heal total.
:total_dmg => "%s Schaden", # Text format used for combo damage total.
:fadeframes => 120, # Number of frames to wait before rising.
} # Do not remove this.
# This is the little window hat appears at the top when targeting an actor
# or ally with an attack, skill, or item. Adjust the settings here properly
# to make it display the way you want.
TARGET_WINDOW ={
:user => "Anwender", # Text used for only the user.
:none => "Kein Ziel", # Text used for no target selection.
:dead => "Tot - %s", # Text used for dead targets.
:actor => "Mitglied", # Text used for a single ally.
:actors => "Mitglieder", # Text used for multiple allies.
:enemy => "Gegner", # Text used for a single enemy.
:enemies => "Gegner", # Text used for multiple enemies.
:all => "Alle %s", # Text used for targeting all of a unit.
:random => "%d zufällige %s", # This adjusts the number of random enemies.
:hidehelp => false, # Hide help window during targeting.
} # Do not remove this.
# The battle cursor hovers over the selected battler and target units while
# selecting actions. Its main purpose is to provide a clearer understanding
# of which unit is currently under focus.
BATTLE_CURSOR ={
:enable => true, # Enables cursor usage or not.
:filename => "Battle_Cursor", # Filename used for the cursor's image.
:x_offset => 0, # X offset for battle cursor.
:y_offset => 0, # Y offset for battle cursor.
:actor_x => 0, # Extra x offset for actors.
:actor_y => 16, # Extra y offset for actors.
} # Do not remove this.
#===========================================================================
# Section III.C. Party Command Window
# -------------------------------------------------------------------------
# The party command window, by default, contains "Fight" and "Escape" which
# are the two options you usually see. This section lets you adjust what
# options appear inside of that window.
# :fight Brings party towards the action selection process.
# :execute If DTB, then it'll take the player to the confirm process.
# :turnskip If PTB, then this will end the player's current turn.
# :atb_type If ATB, this quickly changes the ATB type.
# :atb_speed If ATB, this quickly changes the ATB speed.
#

ption Opens up the options menu for the player.
# :escape Allows the party to escape.
#===========================================================================
# This array will determine what commands the party window will show
# and what order they will appear in. Some options will only appear for
# certain battle types.
PARTY_COMMANDS =[
:fight, # Starts the action selection process for the player.
:execute, # Sends the player directly to the confirm window.
:turnskip, # Skip all of your turns when playing PTB.
:atb_type, # A quick shortcut to change the ATB type if using ATB.
:atb_speed, # A quick shortcut to change the ATB speed if using ATB.

ption, # Opens up an in-battle options window.
:escape, # Allows the party to escape as a whole.
] # Do not remove this.
# This hash adjusts the vocabulary used for the party window's new options.
# Adjust them accordingly to display the text you wish to show in-game.
PARTY_VOCAB ={
:execute => "Letzter Zug",

ption => "Option",
:turnskip => "Überspringen",
:atb_t0 => "ATB:Full",
:atb_t1 => "ATB:Semi",
:atb_t2 => "ATB:Stop",
:atb_t3 => "ATB:Wait",
:atb_spd => "Speed

d",
} # Do not remove this.
#===========================================================================
# Section III.D. Actor Command Window
# -------------------------------------------------------------------------
# Here, you can adjust the commands that appear for each class if you wish
# to set them up that way. Using the following format, adjust the main hash
# below to allow for different command sets. Here are the generic commands.
# :attack Your typical attack command.
# :skill Opens up the actor's skill menu.
# :guard Sets the actor to guard.
# :item Opens up the party's item menu.
# :equip Allows actor to change equipment.
# :escape Individual escape command.
#===========================================================================
# The following array will determine what commands each class will have for
# their action commands. Adjust them accordingly. Class 0 will be the class
# used for unlisted classes.
CLASS_COMMANDS ={ # DO NOT REMOVE CLASS 0!
# ID => [Commands],
0 => [:attack, :skill, :guard, :item, :equip, :escape],
1 => [:attack, :skill, :guard, :item, :equip],
2 => [:attack, :skill, :guard, :item, :equip],
3 => [:attack, :skill, :guard, :item, :equip],
4 => [:attack, :skill, :guard, :item, :equip],
} # Do not remove.
# This is the hash that will let you insert in your own custom actions.
# Follow the examples shown to get a general idea of how to make them.
# Whatever new commands you make here, you can use in the class command
# arrays above for newer actions.
SKILL_COMMANDS ={
# Symbol => [Skill, Vocab]
:limit => [ 84, "Limit"],
:tetra => [ 85, "Tetra"],
:smash => [ 86, "Smash"],
:comet => [ 87, "Comet"],
} # Do not remove this.
# This will disable the Skill and Item commands if the actor has no skills
# in their skill list and there are no items the party has in possession.
DISABLE_EMPTY_COMMANDS = true
# This is how many turns a character must wait after using the equip option
# in the commands before the equip option becomes available again.
EQUIP_COOLDOWN = 2
# This is the vocab used for the individual Equip command found in the actor
# selection window to separate it from menu term.
EQUIP_VOCAB = "Ausrüstung"
#===========================================================================
# Section III.E. Confirm Command Window
# -------------------------------------------------------------------------
# The confirm command window appears once you've finished confirming the
# actions for all of your party members or decided to press right at the
# last battler. Here are the various settings you can apply for the window.
# :confirm Confirms and starts the battle phase.
# :status Views the party's individual status.
# :atb_type If ATB, this quickly changes the ATB type.
# :atb_speed If ATB, this quickly changes the ATB speed.
# :turnskip If PTB, then this will end the player's current turn.
#

ption Opens up any in-battle options.
# :escape Allows the party to escape.
#===========================================================================
# This array determines the order the commands appear inside of the confirm
# command window. Removing an option will remove it from appearing. Some
# options will only appear for certain battle types.
CONFIRM_COMMANDS =[
:confirm, # Confirms currently selected actions and continues.
:turnskip, # Skip all of your turns when playing PTB.
:atb_type, # A quick shortcut to change the ATB type if using ATB.
:atb_speed, # A quick shortcut to change the ATB speed if using ATB.
:escape, # Allows the party to escape as a whole.
] # Do not remove this.
# This is the vocabulary used for the confirm command window. Also note
# that changing the option command here will not affect the option text
# in the PARTY_VOCAB hash so be sure to synch the two if you plan to
# change them.
CONFIRM_VOCAB ={
:confirm => "Bestätigen",
:status => "Status",
:turnskip => "Überspringen",

ption => "Option",
:atb_t0 => "ATB:Full",
:atb_t1 => "ATB:Semi",
:atb_t2 => "ATB:Stop",
:atb_t3 => "ATB:Wait",
:atb_spd => "Speed

d",
} # Do not remove this.
#===========================================================================
# Section III.F. Actor Query Window
# -------------------------------------------------------------------------
# When choosing status, a query of the actors will appear to display each
# actor's individual battle-related information. This information includes
# element rates, status rates, and the actor's parameters.
#===========================================================================
# This array contains all of the elements you want displayed and in which
# order to display them in. You can display them as individual integers or
# as number ranges.
ALLY_ELEMENTS = [9, 10, 11, 12..16]
# Since elements do not have icons innately, use the following hash below
# adjust and apply icons to them.
ELEMENT_ICONS ={
9 => 104, # Fire element.
10 => 105, # Ice element.
11 => 106, # Volt element.
13 => 108, # Earth element.
12 => 107, # Water element.
14 => 109, # Air element.
15 => 110, # Light element.
16 => 111, # Dark element.
} # Do not remove this.
# This is the number of pixels to place in between each element icon.
ELEMENT_SPACING = 6
# This array contains all of the states you want displayed and in which
# order to display them in. You can display them as individual integers or
# as number ranges.
ALLY_STATES = [1, 2, 3, 4..8]
# This is the number of pixels to place in between each state icon.
STATE_SPACING = 6
# Ranks will be displayed under elemental and state icons. These are
# the colours assigned to them.
RANK_COLOURS ={
:rank_s => 2, # Element over 200%. State at 100% or more.
:rank_a => 2, # Element 200%~150%. State at 99%~81%.
:rank_b => 14, # Element 150%~100%. State at 80%~61%.
:rank_c => 0, # Element at 100%. State at 60%~41~.
:rank_d => 3, # Element 100%~50%. State at 40%~21%.
:rank_e => 4, # Element 50%~0%. State at 20%~1%.
:rank_f => 5, # Element under 0%. State at 0% or less.
} # Do not remove this.
# If you wish to display text instead of percents, adjust this hash to
# configure the way you want the text to appear. Note that they will still
# use the rank colours from hash above.
TEXT_RANKS ={
:enable => false, # Set to true if you wish to use letters instead.
:rank_s => "S", # Element over 200%. State at 100% or more.
:rank_a => "A", # Element 200%~150%. State at 99%~81%.
:rank_b => "B", # Element 150%~100%. State at 80%~61%.
:rank_c => "C", # Element at 100%. State at 60%~41~.
:rank_d => "D", # Element 100%~50%. State at 40%~21%.
:rank_e => "E", # Element 50%~0%. State at 20%~1%.
:rank_f => "F", # Element under 0%. State at 0% or less.
} # Do not remove this.
# This is the font size used to display ranked text shown.
TEXT_RANK_SIZE = 16
# Below the elements and state ranks are the actor's various parameters.
# These are displayed to allow the player to know where the actor's stats
# currently stand as they change during battle.
# Usable Stats:
# :atk :def :spi :res :dex :agi
# :hit :eva :cri

dds
ALLY_STATS = [:atk, :def, :spi, :res, :dex, :agi, :hit, :eva, :cri,

dds]
# Some of the more unusual stats do not have defined vocabulary to go
# along with it. Adjust the following hash to give them names.
STAT_VOCAB ={
:hit => "HIT", # Stat that modifies hit rate.
:eva => "EVA", # Stat that modifies evasion rate.
:cri => "CRI", # Stat that modifies critical rate.

dds => "AGR", # Stat that modifies aggro rate.
} # Do not remove this.
# This is the font size used to display stats shown.
TEXT_STAT_SIZE = 20
# When there are no status effects on the actor, this will appear in place
# for the status effects list as a place holder to indicate to the player
# that the actor is in normal condition.
TEXT_NORMAL_STATE = "Normal"
# This are the icons used associated with the battle scene. They will only
# appear if a stat is higher or lower than its base value.
STAT_ICONS = {
# Stat => Icon
:stat_up => 142, # Icon used for higher than base stat.
:stat_dn => 143, # Icon used for lower than base stat.
:normal => 137, # Icon used for having no status.
} # Do not remove this.
#===========================================================================
# Section III.G. Enemy Quick Query
# -------------------------------------------------------------------------
# The enemy quick query windows appear when targeting an enemy during the
# target selection bit of the battle system. This feature is entirely
# optional, but is highly useful for players in helping them determine an
# enemy's current status (HP, MP, Rage, and status effects).
#
# -------------------------------------------------------------------------
# Enemy Tags - For enemies only.
# -------------------------------------------------------------------------
# <gauge width: x>
# Sometimes bigger enemies need bigger gauges for their HP and MP. So those
# bigger enemies can use bigger numbers for x to make their big gauges as
# big as they are.
#
# <hide hp gauge> or <show hp gauge>
# <hide mp gauge> or <show mp gauge>
# <hide state gauge> or <show state gauge>
# Sometimes you don't want gauges shown for different enemies. For example,
# enemies that don't use MP skills shouldn't need to have their MP gauge
# shown. And sometimes, you want to hide how much HP a boss has. These tags
# will allow for that.
#
# <hp gauge: x, y>
# <mp gauge: x, y>
# This changes the colours of the HP and MP gauges for the specific enemy.
# x is the first colour of the gauge gradient (the one on the left) and y
# is the second colour of the gauge gradient (the one on the right). Both
# numbers are needed.
#===========================================================================
# Set this to true to make use of the quick scan bars. The quick scan will
# show a gauge-only representation of the enemy's HP/MP status. If this is
# set to false, none of the settings used below will matter.
USE_QUICK_SCAN = false
# The following will determine what are the default settings in regards to
# the quick scan bars.
QUICK_QUERY_SETTINGS = {
# Method => Text Colour
:width => 96, # Automatically, +32 added to the width.
:states => true, # How many states shown depends on the width.
:show_hp => true, # Show the HP gauge by default?
:hp_gauge1 => 20, # HP colour 1 for gauge gradient.
:hp_gauge2 => 21, # HP colour 2 for gauge gradient.
:show_mp => true, # Show the MP gauge (and rage) by default?
:mp_gauge1 => 22, # MP colour 1 for gauge gradient.
:mp_gauge2 => 23, # MP colour 2 for gauge gradient.
} # Do not remove this.
#===========================================================================
# Section IV.A. Custom Damage Settings
# -------------------------------------------------------------------------
# This section is used to apply various rules regarding damage for the base
# battle system. Note that while you can adjust the values manually in Part
# III of Battle Engine Melody, it's highly recommended that you do it here
# avoid accidentally breaking the script.
#
# There are a couple of tags related to various damage settings. Insert
# them into the noteboxes within the database editor.
#
# -------------------------------------------------------------------------
# Skill and Item Tags - Both Skills and Items applicable.
# -------------------------------------------------------------------------
# <stat_f: x%>
# Replace "stat" with either "atk", "def", "spi", or "agi" and the skill
# multiplier rate will equal x%. This allows you to use stats other than
# atk and spi to apply damage and allows you to go above 200% with x%.
#
# <critical: x%>
# This causes the skill or item to have an x% critical hit rate. This is a
# set rate and will cause the skill to perform a critical hit x% whenever
# it hits.
#
# -------------------------------------------------------------------------
# State Tags - For Status Effects only.
# -------------------------------------------------------------------------
# <hp dmg taken: x%> <hp heal taken: x%>
# <mp dmg taken: x%> <mp heal taken: x%>
# This adjusts the HP/MP damage the battler receives from attacks, items,
# and skills and inflates/deflates them by x%. Stackable.
#
# <hp dmg bonus: x%> <hp heal bonus: x%>
# <mp dmg bonus: x%> <mp heal bonus: x%>
# This adjusts the HP/MP damage the battler deals to the targets using
# attacks, skills, and items and inflates/deflates them by x%. Stackable.
#
# <hp dmg wall: -x> <hp dmg boost: +x>
# <mp dmg wall: -x> <mp dmg boost: +x>
# This will increase or decrease damage dealt to an target by a set amount.
# Using a wall will reduce the damage dealt by x and using a boost will
# increase the damage dealt by x. Stackable.
#
# <hp heal wall: +x> <hp heal boost: -x>
# <mp heal wall: +x> <mp heal boost: -x>
# This will increase or decrease healing dealt to a target by a set amount.
# Using a wall will decrease healing by x amount while using a boost will
# increase healing by x amount. Note that the signs are reversed from the
# damage counterparts. Stackable.
#
# -------------------------------------------------------------------------
# Battle Damage Module Settings
# -------------------------------------------------------------------------
# Edit the settings below to scope how you want the damage multipliers and
# such to occur in your battle system.
#===========================================================================
# You may set maximum and minimum damage values for the damage in your game.
# If you don't wish to have a maximum (that's fine) or minimum (not recom-
# mended at all), set these values to nil.
MAXIMUM_DMG = nil # Maximum damage possible.
MINIMUM_DMG = 0 # Minimum damage possible.
# This hash allows you to adjust the damage variables applied to the normal
# skill and item damage formulas. Change their values here.
DAMAGE_HASH ={
:normal_atk => "atkstat * 4 - defstat * 2", # Used for normal attacks.
:atk_caster => "caster.atk * 4 * obj.atk_f / 100", # Attacker to ATK_F
:atk_target => "target.def * 2 * obj.atk_f / 100", # Defender to ATK_F
:def_caster => "caster.def * 2 * obj.def_f / 100", # Attacker to DEF_F
:def_target => "target.def * 1 * obj.def_f / 100", # Defender to DEF_F
:spi_caster => "caster.spi * 2 * obj.spi_f / 100", # Attacker to SPI_F
:spi_target => "target.res * 1 * obj.spi_f / 100", # Defender to SPI_F
:res_caster => "caster.res * 2 * obj.res_f / 100", # Attacker to RES_F
:res_target => "target.res * 1 * obj.res_f / 100", # Defender to RES_F
:dex_caster => "caster.dex * 2 * obj.dex_f / 100", # Attacker to DEX_F
:dex_target => "target.dex * 1 * obj.dex_f / 100", # Defender to DEX_F
:agi_caster => "caster.agi * 2 * obj.agi_f / 100", # Attacker to AGI_F
:agi_target => "target.agi * 1 * obj.agi_f / 100", # Defender to AGI_F
} # Do not remove this.
# The following allows you to adjust the rules for applying weapon elements
# to skills. This can be adjustable for physical and magical skills.
APPLY_PHYSICAL_ELE = true # Apply weapon elements to physical attacks.
APPLY_MAGICAL_ELE = false # Apply weapon elements to magical attacks.
# This is the multiplier to the damage/healing applied whenever the
# attacker strikes with a critical effect.
CRITICAL_MOD = 3.0
# This hash allows you to determine what skills you would allow to contain
# the ability to perform critical hits. If the settings allow it, then the
# skills will base their default critical hit rates off of the battler's
# actual cri stat.
CRITICAL_SKILLS ={
:healing => false, # Allow critical hits for healing skills?
:magical => false, # Allow critical hits for magical skills?

hysical => true, # Allow critical hits for physical skills?
} # Do not remove this.
#===========================================================================
# Section IV.B. Custom Skill Settings
# -------------------------------------------------------------------------
# This section allows you to apply extra rules for your skills such as cast
# animations, cost settings, and more. Considering the vast amount of unique
# effects you can create, they will be covered in detail per their notetag
# descriptions.
#
# -------------------------------------------------------------------------
# Skill Tags - For Skills only.
# -------------------------------------------------------------------------
# <skill type: phrase>
# This designates a unique type flag for the skill and is mostly used for
# identification purposes within the script. All skills have the "ALL" type
# associated with them.
#
# <cast animation: x>
# This allows skills to have a cast animation prior to usage. Using cast
# animations allow the player to quickly identify which unit is acting on
# the screen in addition to providing decent visual effects. Replace x with
# the animation ID you wish for the skill to use. If x is replaced with 0,
# then no animation will be played. To set a default cast animation, scroll
# to the module and modify DEFAULT_CAST_ANIMATION as the desired animation.
#
# <instant cast>
# This will cause the skill to be used instantly or quickly depending on
# the battle system in play. Instant skills will not consume turns and will
# generally return the user back to an action-appliable state once it's
# finished being used.
#
# <hit rate: x%>
# For those who plan on modifying calculations and would desire for the hit
# rate to exceed past 100%, use this tag and replace x with the percentage
# you wish to adjust the skill's hit rate with.
#
# <speed: +x> or <speed: -x>
# For those who want more than 999 initiative or less than -999 initiative,
# place this tag in the skill's notebox and replace x with the value you
# wish to change the skill's initiative speed to.
#
# <require any state: x> or <require any states: x,x>
# <require all state: x> or <require all states: x,x>
# The tags above will make the skill require the state(s) x to be applied
# to the user before the skill is usable. If the "any" tag is used, only
# one of the states need to be present. If the "all" tag is used, then all
# of the states need to be present.
#
# <require any element: x> or <require any elements: x,x>
# <require all element: x> or <require all elements: x,x>
# The tags above will make the skill require the element(s) x to be present
# in the user's weapon elements before the skill is usable. If the "any" tag
# is used, only one of the elements need to be present. If the "all" tag is
# used, then all of the elements need to be present. This tag has no effect
# on monsters and only applies to actors.
#
# <require any switch: x> or <require any switches: x,x>
# <require all switch: x> or <require all switches: x,x>
# The tags above will make the skill require the switch(es) x to be set ON
# before the skill is usable. If the "any" tag is used, only one of the
# switches need to be on. If the "all" tag is used, then all of the switches
# need to be on.
#
# <cost: x mp> or <cost: x% maxmp>
# To allow MP cost to exceed 999 in cost or to have skills cost a percent
# of maximum MP instead of a set amount, use the tags above. Replace x with
# an integer to designate the amount of MP to be consumed. To adjust more
# options regarding MP costs, scroll to SKILL_EFFECTS and modify the MP
# related keys to apply desired settings.
#
# <cost: x hp> or <cost: x% maxhp>
# To make skills cost HP instead of MP, use these tags inside of the skill
# noteboxes. Unlike MP, there must be at least 1 HP remaining in order for
# the skill to be usable. Replace x with an integer to designate the amount
# of HP to be consumed. To adjust more options regarding HP costs, scroll to
# SKILL_EFFECTS and modify the HP related keys to apply desired settings.
#
# <cost: x gold> or <cost: x% gold>
# Skills can cost gold instead of MP. To make skills cost a set amount of
# gold, use the first tag. To make skills cost a percentage of the party's
# total gold, use the second tag. Note that if enemies are to use gold cost
# skills, no gold will be consumed and those skills will always be usable
# for the aforementioned enemies. Replace x with an integer to designate the
# amount of gold to be used. To adjust more options regarding gold, scroll
# to SKILL_EFFECTS and modify gold related keys to apply desired settings.
#
# <cost: x rage>
# Rage is a unique stat that functions as another form of skill currency.
# Whenever a battler is struck, takes damage, or deals damage, its rage can
# raise depending on the rage settings made in SKILL_EFFECTS. This tag will
# make the skills cost x rage before they can be used. This functions as a
# mini overdrive gauge.
#
# <rage boost: +x> or <rage boost: -x>
# This will raise/lower the amount of accumulated rage for the user by x
# value. Rage boost will be affected by any potential states that will
# affect the user's rage gain.
#
# <target rage: +x> or <target rage: -x>
# This will raise/lower the amount of accumulated rage for the target by x
# value. Targeting a unit's rage will be affected by any potential states
# that will affect the target's rage gain.
#
# <cooldown: x>
# To prevent a skill from being used again until after an amount of turns,
# use the tag above where x is replaced by an Integer value designating the
# number of turns the unit is required to wait. To adjust skill cooldown
# settings further, modify them under SKILL_SETTINGS.
#
# <limited use: x>
# This will prevent a skill from being used after x times, be it for one
# battle or the whole game depending on the settings made in SKILL_SETTINGS.
# Skills with limited usage will be disabled until the limit is removed.
#
# <hide in battle>
# This causes the skill to be hidden in battle. Great for use with passive
# skills and/or hidden skills.
#===========================================================================
# This is the default cast animation used for magical skills. Magical skills
# are skills that do not have the "physical attack" property checked. If
# you don't wish to have a default cast animation, set this value to 0. To
# have a skill use a different cast animation than the rest, give it a
# <cast animation: x> tag where x is the animation ID to be used.
DEFAULT_CAST_ANIMATION = 0
# This hash determines the varioius settings applied to skills by default.
# The settings are as follows:
# Setting Description
# _icon Icon ID used with the skill. To not use an icon, set to 0.
# _colour Font colour associated with cost type. Default is 0.
# _size Font size associated with cost type. Default is 16.
# _suffix Suffix associated with cost type. Appears if no icon used.
SKILL_SETTINGS ={
# The following settings are used for MP cost skills. To alter the MP cost
# of a skill to exceed 999, use <cost: x mp>. To alter MP cost to use a
# percentile, use <cost: x% mp>. x is the cost value for both tags.
:mp_icon => 0, # Icon used for MP cost skills.
:mp_colour => 0, # Colour used for MP cost skills.
:mp_size => 16, # Font size used for MP cost skills.
:mp_suffix => "%sMP", # Suffix used for MP cost skills.
# The following settings are used for HP cost skills. To make skills cost
# HP instead of MP, use the <cost: x hp> tag inside the notebox. To make
# the skill cost a percentage of HP, use <cost: x% hp>.
:hp_icon => 0, # Icon used for HP cost skills.
:hp_colour => 0, # Colour used for HP cost skills.
:hp_size => 16, # Font size used for HP cost skills.
:hp_suffix => "%sHP", # Suffix used for HP cost skills.
# The following settings are used for Gold cost skills. To make skills cost
# gold, use the <cost: x gold> or <cost: x% gold> tags inside of the
# skill's notebox.
:gold_icon => 205, # Icon used for gold cost skills.
:gold_colour => 0, # Colour used for gold cost skills.
:gold_size => 16, # Font size used for gold cost skills.
:gold_suffix => "%sG", # Suffix used for set gold cost skills.
:gold_suffixp => "%s%%G", # Suffix used for percentile gold cost skills.
# The following settings are used for the rage stat. Rage is a unique stat
# that functions as skill currency. Rage rises upon battlers taking damage,
# physically attacking, and more. To make a skill cost rage, use the tag
# <cost: x rage> where x is the amount of rage required to use the skill.
:rage_icon => 135, # Icon used for rage cost skills.
:rage_colour => 0, # Colour used for rage cost skills.
:rage_size => 16, # Font size used for rage cost skills.
:rage_suffix => "%sRage", # Suffix used for rage cost skills.
:rage_gauge1 => 10, # Gauge colour 1 for Rage.
:rage_gauge2 => 2, # Gauge colour 2 for Rage.
:rage_vocab => "Rage", # Vocabulary used for Rage.
:rage_abbrev => "RG", # Abbreviation used for Rage.
:rage_reset => false, # Reset rage after each battle?
:rage_decay => 8, # Rage drops by 1 after x steps on map.
:max_rage => 20, # This is the maximum rage a battler can have.
:hit_rage_gain => 1, # Rage gained from being struck.
:attack_rage_gain => 2, # Rage gained from using physical attacks.

hysical_rage_gain => 1, # Rage gained from using physical skills.
:magical_rage_gain => 0, # Rage gained from using magical skills.
# Skill cooldowns are a new stat that dictate how often a skill can be used
# by a battler. Cooldowns update once at the start of every turn for DTB
# and PTB systems and they update individually based on clockticks for ATB
# and CTB systems. To give skills cooldowns, place the <cooldown: x> tag
# inside their noteboxes where x is the number of turns for cooldown.
:cooldown_icon => 142, # Icon used for cooldown.
:cooldown_colour => 0, # Colour used for cooldown text.
:cooldown_size => 16, # Font size used for cooldown text.
:cooldown_suffix => "%sT", # Suffix used for cooldown text.
:cooldown_reset => false, # Reset cooldown after each battle?
:cooldown_decay => 8, # Cooldowns reduce after x steps on map.
# Skills can have limited use per battle. Skills with limited usage can
# only be used a number of times before they are completely disabled for
# the remainder of battle. Use the <limited use: x> tag where x is the
# number of times the skill can be used before it is disabled.
:limited_icon => 143, # Icon used for limit reach.
:limited_colour => 0, # Colour used for limit reach.
:limited_size => 16, # Text size used for limit reach.
:limited_text => "Used", # Text phrase used for limit reach.
:limited_reset => true, # Reset limited usage after battle?
} # Do not remove this.
#===========================================================================
# Section IV.C. Custom Item Settings
# -------------------------------------------------------------------------
# This section allows you to adjust the various item settings for your
# battle system. These settings are rather basic, but do visually alter
# the way item windows work (including the equipment windows).
#
# -------------------------------------------------------------------------
# Item Tags - For Items only.
# -------------------------------------------------------------------------
# <item type: phrase>
# This designates a unique type flag for the item and is mostly used for
# identification purposes within the script itself. All items have the "ALL"
# type associated with them.
#
# <instant use>
# This will cause the used to be used instantly or quickly depending on
# the battle system in play. Instant items will not consume turns and will
# generally return the user back to an action-appliable state once it's
# finished being used.
#
# <hit rate: x%>
# For those who plan on modifying calculations and would desire for the hit
# rate to exceed past 100%, use this tag and replace x with the percentage
# you wish to adjust the item's hit rate with.
#
# <speed: +x> or <speed: -x>
# For those who want more than 999 initiative or less than -999 initiative,
# place this tag in the item's notebox and replace x with the value you
# wish to change the item's initiative speed to.
#
# <charges: x>
# A feature taken away from RPG Maker 2000 and RPG Maker 2003 was items
# can possess a number of charges before they were finally consumed. When
# the item with a charge is consumed, it will lower the charge instead of
# the total amount until the charge drops to 0. Once it does, the game will
# then cause the party to fully consume the item.
#
# <variable x: +y> or <variable x: -y>
# This causes the item to change variable x by y amount. This variable
# change occurs both inside and outside battle and does not force the player
# to leave the item menu. Insert multiple of these tags to change multiple
# variables with one item.
#
# <switch x: on> or <switch x: off> or <switch x: toggle>
# This causes the item to change switch x to on, off, or to toggle between
# on and off. This switch change occurs both inside and outside battle and
# does not force the player to leave the item menu. Insert multiple of
# these tags to change multiple switches with one item.
#
# <pharmacology only>
# This makes it so that the item used requires the actor to have the
# pharmacology trait in order for the item to be usable. This restriction
# only takes effect inside battle.
#
# <restrict actor: x> or <restrict actors: x,x>
# <restrict class: x> or <restrict classes: x,x>
# This prevents actor(s) or class(es) x from using the item. This unique
# restriction only takes effect inside battle. Having pharmacology does
# not remove restriction.
#
# <nullify actor: x> or <nullify actors: x,x>
# <nullify class: x> or <nullify classes: x,x>
# <nullify enemy: x> or <nullify enemies: x,x>
# This tag nullifies any effects the item may have when used on actor(s),
# class(es), or enemy(ies) x. The target will simply be skipped and act
# as though nothing happened. This effect occurs both inside and outside
# of battle.
#
# <pharmacology effect: x>
# If the actor has the pharmacology trait and uses an item that contains a
# unique pharmacology effect, the effects of the item will be based off of
# item x in the database instead. The original item will be consumed instead
# of the new item. Takes priority over actor and class specific effects.
# Will only have effect in battle.
#
# <actor x effect: y> or <class x effect: y>
# This prompts the item to reserve unique effects for specific actors and/or
# classes. Multiple of these tags can be used to assign unique effects for
# a variety of actors. When used, the effect y will recall the database item
# for actor/class x instead of the original item. The original item is still
# consumed. If there is a pharmacology effect and the actor possesses the
# pharmacology trait, that will take priority over this. However, actor
# unique effects will take priority over class unique effects. Will only
# have effect in battle.
#===========================================================================
# This hash adjusts the default settings applied to items by default. They
# do not need to be altered, but should you wish for customized effects,
# edit them by all means.
ITEM_SETTINGS ={
:text => "×%2d", # Text prefix used for item totals.
:size => 16, # Font size used for item totals.
:colour => 0, # Colour used for item totals.
:charge => 12, # Font size used for item charges.
# The following settings adjust the pharmacology bonuses.
:hp_pharma_rate => 2.0, # HP Recovery Pharmacology rate.
:mp_pharma_rate => 2.0, # MP Recovery Pharmacology rate.
} # Do not remove this.
#===========================================================================
# Section IV.D. Custom Target Settings
# -------------------------------------------------------------------------
# Skills and items have unique targeting options that aren't available for
# states, classes, etc. While innately sufficient, there can always be more
# done for it and that's what this section is for.
#
# -------------------------------------------------------------------------
# Skill and Item Tags - For Skills and Items.
# -------------------------------------------------------------------------
# <target: phrase>
# By replacing "phrase" with one of the following scopes, you can determine
# any unique scopes for your skill or item.
# phrase scope
# - all allies x3 - Targets all allies 3 times (3 replaceable).
# - all foes x3 - Targets all enemies 3 times (3 replaceable).
# - all but user - Targets all party members except the user.
# - everybody - Targets all party members and all enemies.
# - x hits ally - Targets ally x times. Replace x with integer.
# - x hits foe - Targets foe x times. Replace x with integer.
# - pick x random allies - Select first ally. Rest are random allies.
# - pick x random foes - Select first enemy. Rest are random targets.
# - x random allies - Targets x random allies.
# - x random foes - Targets x random foes.
# If you wish to create more scopes, visit Part III of Battle Engine Melody
# and under Lunatic Mode - Custom Battle Targets.
#
# <target text>
# Random target description
# </target text>
# When selecting your targets, a description appears above the enemies in
# a new window to display what targets are being highlighted. If you would
# like to change it for a particular skill, make use of these two tags.
# Note that both tags have to be present in order for no problems to occur.
#
# <area radius: x>
# For those who want their skills to have AoE effects but not target
# everything, you can set the pixel radius with x and the skill will target
# units within that marked area. Note that area of effect targeting does
# not apply to Lunatic Mode to maintain custom control. You'll have to
# manually enter it in if you wish for area of effect targeting. Selection
# typical is elliptical.
#
# <area height: x%>
# By default, x is 33% allowing for a small height radius when selecting
# your targets. However, some skills can target higher than normal so use
# this to adjust it accordingly. For elliptical selection type.
#
# <area image: phrase>
# Those that want to change the area of effect image, change the phrase name
# to the name of a file within your Graphics\Pictures folder. Leave out the
# file name extension out of phrase. For elliptical selection type.
#
# <area blend: x>
# If you want your area image to use a different blend type, change x to the
# proper blend value. 0 for normal. 1 for additive. 2 for subtractive. For
# elliptical selection type.
#
# <area column: x>
# For those who want an entire column (vertical) of enemies to be selected,
# use this tag. x will determine the amount of pixels both ways to offer
# targets for selection. Note that area of effect targeting does not apply
# to Lunatic Mode to maintain custom control. You'll have to manually enter
# it in if you wish for area of effect targeting. Selection typical is
# rectangular.
#
# <area row: x>
# For those who want an entire row (horizontal) of enemies to be selected,
# use this tag. x will determine the amount of pixels both ways to offer
# targets for selection. Note that area of effect targeting does not apply
# to Lunatic Mode to maintain custom control. You'll have to manually enter
# it in if you wish for area of effect targeting. Selection typical is
# rectangular.
#
# <area map>
# This will select the entire map area for valid enemies. This is pretty
# much the same thing as selecting all enemies or all allies, but offers a
# visual representation of the selection area instead. Note that area of
# effect targeting does not apply to Lunatic Mode to maintain custom
# control. You'll have to manually enter it in if you wish for area of
# effect targeting. Selection typical is rectangular.
#
# <rect image: phrase>
# Those that want to change the area of effect image, change the phrase name
# to the name of a file within your Graphics\Pictures folder. Leave out the
# file name extension out of phrase. For rectangular selection type.
#
# <rect blend: x>
# If you want your rectangle image to use a different blend type, change x
# to the proper blend value. 0 for normal. 1 for additive. 2 for subtract-
# ive. For rectangular selection type.
#===========================================================================
# Most of the settings below are used for Area of Effect skills and items.
# These settings do not need to be altered unless you wish for a truly
# customized battle system.
TARGET_SETTINGS ={
:target_off_x => 0, # Default Enemy X Offset for AoE.
:target_off_y => -16, # Default Enemy Y Offset for AoE.
# The following settings are applied to Circular AoE skills/items.
:circ_name => "MagicCircleFull", # Filename used for AoE Circle.
:circ_height => 0.33, # Percent smaller than the height for AoE Circle.
:circ_blend => 1, # Image blend. 0-Normal, 1-Additive, 2-Subtract
# The following settings are applied to Rectangular AoE skills/items.
:rect_name => "MagicSquareFull", # Filename used for AoE Rectangle.
:rect_blend => 1, # Image blend. 0-Normal, 1-Additive, 2-Subtract
} # Do not remove this.
#===========================================================================
# Section IV.E. Custom State Settings
# -------------------------------------------------------------------------
# This section allows you to adjust the various status effects and the way
# they behave. Although there isn't much to change, these settings will
# impact the way states work across the entire battle system so please
# configure them properly.
#
# -------------------------------------------------------------------------
# State Tags - For Status Effects only.
# -------------------------------------------------------------------------
# <state type: phrase>
# This designates a unique type flag for the state and is mostly used for
# identification purposes within the script itself. All states have the
# "ALL" type associated with them.
#
# <state animation: x>
# This gives the state a looping animation portrayed by x. If the state is
# active upon the battler, then it will loop until the state is either
# removed or a state with higher priority overtakes it. To change the zoom
# rate on monsters, use <state zoom: x%> where x is the zoom percentage.
#
# <max stack: x>
# States can stack upon themselves when applied multiple times. When they
# do stack, the effects will be applied that many times. By default, all
# states have a maximum stack of 1 (it can never be 0) and if changed for
# higher, the state will increase effects multiple times until its maximum
# limit is reached.
#
# <stat: x%> or <stat: +x> or <stat: -x>
# Replacing stat with "maxhp", "maxmp", "atk", "def", "spi", "agi", "hit",
# "eva", "cri", or "odds" will allow the state to modify the respective stat
# value by x% or x value depending on which tag you've used. This tag allows
# status effects to modify stats outside of the ADSA stats, including MaxHP,
# MaxMP, and the HECO stats. Stackable.
#
# <rage boost: x%> or <rage boost: +x> or <rage boost: -x>
# This causes the actor to gain rage at an accelerated or decreased rate
# depending on the tag used and the values used. This tag affects every
# mechanically-driven instance of raising rage.
#
# <hp regen: x> or <hp regen: x%>
# <hp degen: x> or <hp degen: x%>
# This causes the state to have HP regeneration or degeneration properties.
# If the percent sign is used, the amount of HP regenerated each time this
# state's effect occurs will recover/damage HP by a percentage of MaxHP. If
# it is used without, then the recovered/damaged HP will be altered by a set
# amount instead. Stackable.
#
# <mp regen: x> or <mp regen: x%>
# <mp degen: x> or <mp degen: x%>
# This causes the state to have MP regeneration or degeneration properties.
# If the percent sign is used, the amount of MP regenerated each time this
# state's effect occurs will recover/damage MP by a percentage of MaxMP. If
# it is used without, then the recovered/damaged MP will be altered by a set
# amount instead. Stackable.
#
# <phrase cost: x%> or <phrase cost: +x> or <phrase cost: -x>
# Replace phrase with "HP", "MP", "Rage", etc. to have the state alter the
# costs of all skills with those costs. Using the percentage tag, the costs
# will be cut within a percentage of their default cost. Using the + or -
# tags will result in the costs being affected by a set amount. This can be
# used with custom costs as well, so long as the custom costs are applied
# properly. Stackable.
#
# <restrict skill: phrase> or <restrict item: phrase>
# This tag will restrict skills or items of the "phrase" type from being
# usable by the affected battler. Used in conjunction with these two tags:
# <skill type: phrase> and <item type: phrase> to create restrictions.
#
# <trait: phrase>
# To give your actors and enemies unique traits through status effects,
# insert the tag above into the state's notebox and replace "phrase" with
# one of the following traits below.
# super guard - Guarding reduces damage by 4x instead of 2x.
# pharmacology - Items used will have double effect.
# fast attack - Early turn initiative.
# dual attack - Normal attacks hit twice.
# prevent critical - Criticals cannot occur on battler.
# half mp cost - MP skills cost only half.
# double exp gain - Inflicted actor gains double exp.
# auto hp recover - Inflicted actor gains HP each turn and step.
# anti hp degen - HP degen cannot occur on battler.
# anti hp regen - HP regen cannot occur on battler.
# anti mp degen - MP degen cannot occur on battler.
# anti mp regen - MP regen cannot occur on battler.
# Inserting multiple <trait: phrase> tags will prompt multiple traits to be
# applied through the same status effect.
#===========================================================================
# This hash determines the rules associated with applying, removing, and
# stacking states. Although they do not need to be changed, it's highly
# recommended that you go over them to ensure that what's applied meets
# the battle system settings you wish for your game to have.
STATE_SETTINGS ={
:stack_display => "%s(%s)", # The way stacks display in status window.
:actor_ani_zoom => 50, # Zoom used for actors.
:enemy_ani_zoom => 100, # Default zoom used for enemies.
# The following rules adjust whether or not to heal/damage HP and/or MP
# differences when adding or removing states from a battler.
:apply_heal_hp => true, # Heal HP difference when adding a state.
:apply_heal_mp => true, # Heal MP difference when adding a state.
:apply_dmg_hp => false, # Damage HP difference when adding a state.
:apply_dmg_mp => false, # Damage MP difference when adding a state.
:erase_heal_hp => true, # Heal HP difference when removing a state.
:erase_heal_mp => false, # Heal MP difference when removing a state.
:erase_dmg_hp => false, # Damage HP difference when removing a state.
:erase_dmg_mp => false, # Damage MP difference when removing a state.
} # Do not remove this.
# When applying states to skills and items, the status effects will always
# only come from the skill's status effect list regardless of it being a
# physical attack or not (and regardless of whether the weapons have states
# that would otherwise apply). These two settings will allow applying the
# extra bonus states to the skill or item's effect.
APPLY_PHYSICAL_STATE = true
APPLY_MAGICAL_STATE = false
# When a state is being applied to a battler that already has the state
# applied, these settings below decide what to do with them.
# Type Description
# 0 - No changes are made.
# 1 - Turns are reset to normal.
# 2 - Turns are added to current amount.
REMAINED_RULES = 1
#===========================================================================
# Section IV.F. Custom Affinity Settings
# -------------------------------------------------------------------------
# Elements and States have a percentage to work throughout. However, from
# the database, these values cannot be changed without the aid of scripts.
# These settings here will allow you to adjust their individual success
# rates and the priorities associated with coordinating multiple rates.
#
# -------------------------------------------------------------------------
# Item Tags - For Items only.
# -------------------------------------------------------------------------
# <element rate x: +y%> or <state rate x: +y%>
# <element rate x: -y%> or <state rate x: -y%>
# This raises the individual element and status weakness and resistance
# rates for the actor by y amount for element/state x. Note that +y% makes
# the actor take more elemental damage and more likely to fall under the
# status effect while -y% makes the actor more immune.
#
# -------------------------------------------------------------------------
# Equip and State Tags - For Weapons, Armours, and Status Effects.
# -------------------------------------------------------------------------
# <element rank x:y> or <state rank x:y>
# This will set the element or state's rank for X to Y rank. X has to be the
# integer ID of the element/state while Y has to be a letter: S,A,B,C,D,E,F.
# Use multiple of these tags to include multiple effects. You can also
# replace x with "ALL" to affect all elements or states. For both states and
# equips.
#
# <element rank x: +y> or <state rank x: +y>
# <element rank x: -y> or <state rank x: -y>
# This will raise or lower the element/state x's rank by y. Note that when a
# rank is lowered, the target becomes more vulnerable to it. Increasing the
# rank will make the target more immune towards it. Stackable. For both
# states and equips.
#
# <element rate x: y%> or <state rate x: y%>
# This will set the element/state rate of x to y% of what it used to be.
# This is a value is calculated before the extra percentages are added.
# Stackable. For both states and equips.
#
# <element rate x: +y%> or <state rate x: +y%>
# <element rate x: -y%> or <state rate x: -y%>
# Note that this is rate and not rank. Rate is different as this is a
# numeric value associated with the actual affinity rather than the rank
# value. So with this, you can cause the afflicted battler to be +5% weaker
# or -5% more immune towards an element or state. Stackable. For both states
# and equips.
#
# <attack element: x> or <attack element: x,x>
# <attack state: x> or <attack state: x,x>
# This will apply the element or state to the actor's physical attacks. This
# will add on top of the default weapon attack set. For both states and
# equips. If placed inside of an enemy's notebox, that enemy will have the
# attack element or state applying trait.
#
# -------------------------------------------------------------------------
# State Tags - For Status Effects only.
# -------------------------------------------------------------------------
# <element reverse: x> or <element reverse: x,x>
# <state reverse: x> or <state reverse: x,x>
# This will reverse the element rates of the target. S rank will swap to F
# rank, A rank will swap to E rank, and so on. This is calculated after all
# of the other rank effects have taken place, but before the rates will take
# effect. For states only.
#
# <weapon icon: x>
# This makes the state change the attacking weapon icon to x and signify a
# new change in elemental or status attributes. The state with the highest
# priority and changes the weapon icon will take effect.
#
# <attack animation: x>
# This changes the default attack animation to x and signify a new change
# in elemental or status properties. The state with the highest priority
# and has a change in attack animation will take effect.
#===========================================================================
# For those who would like different elements to have different rates based
# on their ranks, change the settings here. This way, you can prevent some
# elements from being absorbed or whatnot.
ELEMENT_RATE ={
# ID => [RankS, RankA, RankB, RankC, RankD, RankE, RankF],
0 => [ 300, 200, 150, 100, 50, 0, -100], # Common
1 => [ 300, 200, 150, 100, 50, 25, 0], # Melee
} # Do not remove this.
# This determines the way element rates are calculated when more than one
# element is present on an attack. Note that resist is anything under 100%
# while immunity is at 0% to avoid confusion.
# Type Method
# 0 Highest of the rates (default)
# 1 Lowest of the rates
# 2 Average of the rates without absorb, then apply absorb
# 3 Average of the rates with absorb
# 4 Priority to absorb, resist, find maximum for the rest.
# 5 Priority to absorb, resist, find average for the rest.
# 6 Priority to absorb, immune, find maximum for the rest.
# 7 Priority to absorb, immune, find average for the rest.
# 8 Stacking multipliers through multiplication.
# 9 Absorb and resist priority, apply multiplication for rest.
# 10 Absorb and immune priority, apply multiplication for rest.
ELEMENT_RATE_CALCULATION = 4
# This determines the maximum and minimum rates adjustable for element
# rates so that damage doesn't suddenly shoot through the roof from just
# element state stacking.
MAX_ELEMENT_RATE = 400
MIN_ELEMENT_RATE = -400
# For those who would like different success rates for each status effect
# based on ranks, you may change their settings here.
STATE_RATE ={ # Do not remove status ID 0.
# ID => [RankS, RankA, RankB, RankC, RankD, RankE, RankF],
0 => [ 120, 100, 80, 60, 40, 20, 0], # Common
13 => [ 130, 100, 90, 70, 50, 30, 0], # ATK Down
14 => [ 130, 100, 90, 70, 50, 30, 0], # DEF Down
15 => [ 130, 100, 90, 70, 50, 30, 0], # SPI Down
16 => [ 130, 100, 90, 70, 50, 30, 0], # AGI Down
} # Do not remove this.
# If the skill or item applying the state has an element attribute, it
# can affect the state's success rate depending on whether or not the
# target unit has a resistance or weakness to the state.
STATE_ELEMENT_APPLY = true
#===========================================================================
# Section V.0. Common Battle Settings
# -------------------------------------------------------------------------
# The following are settings applied across all battle systems. Most of
# these common settings are common events that you may apply and launch
# for every battle. In addition to common events that you can add to each
# battle, you can set certain troops to always have a preemptive strike or
# a surprise attack.
#
# - Add [preemptive] to a troop's name to make the battle always a first
# strike opportunity.
# - Add [surprise] to a troop's name to make the battle always start with
# a surprise attack.
# - Add [normal] to a troop's name to prevent it from having either surprise
# attacks or preemptive strikes.
#===========================================================================
# This hash determines the common events that will run for all of the
# battle systems regardless of which battle system it is. Set the value(s)
# to nil if you don't want to associate a common event with it.
ALL_COMMON_EVENTS ={
:battle_start => 29, # Run common event at start of each battle.
:battle_finish => 30, # Run common event at end of each battle.
} # Do not remove this.
# Since a lot of users have party switching scripts, there's bound to be
# some compatibility problems with the maximum party members so this
# constant will adjust maximum number of party members that can existing
# in your party at a time.
MAXIMUM_PARTY_MEMBERS = 4
#===========================================================================
# Section V.A. Default Turn Battle Settings
# -------------------------------------------------------------------------
# This section allows you to adjust a few aspects regarding the default
# battle system. Although there isn't much, there's a few extra bits you
# can add here and there to spice things up a little bit.
#===========================================================================
# This hash determines the common events that will run at the start and/or
# end of each turn for the default turn battle.
DTB_COMMON_EVENTS ={
:turn_start => 27, # Run common event at start of each turn.
:turn_finish => 28, # Run common event at end of each turn.
} # Do not remove this.
#===========================================================================
# Section V.B. Press Turn Battle Settings
# -------------------------------------------------------------------------
# The Press Turn Battle System is the signature battle system of the Shin
# Megami Tensei series. Although there is no standard PTB system for the
# series, they do follow some very set basic principles. Skillful playing
# will reward the player. Poor playing will punish the player. Likewise,
# the same goes for the enemy party. This reward/punishment system comes in
# the form of turns available for the party to use. Hitting an enemy's
# weakspot will provide an extra turn while hitting a resistance will lose
# one of the available turns. Once all turns are spent, the enemy party
# will have its go and the same process happens over again.
#
# There's a few notebox special effects you can apply for your various
# database items. Simply add these tags into the notebox and you're set.
#
# -------------------------------------------------------------------------
# Skill and Item Tags - Both Skills and Items applicable.
# -------------------------------------------------------------------------
# <ptb turn cost: x>
# By default, using a skill and item costs 1 turn. However, by changing x,
# you can adjust the cost of the skill/item to whatever amount plausible.
#
# <ptb turn gain: x>
# This will provide the party x bonus turns for using the skill/item. The
# resulted turn gain will be a bonus turn.
#
# <ptb turn loss: x>
# This will cause the party to lose x turns for using the skill/item. The
# resulted turn lost will be a canceled turn.
#
# -------------------------------------------------------------------------
# Equipment and State Tags - For Weapons, Armours, and States
# -------------------------------------------------------------------------
# <ptb bonus: +x> or <ptb bonus: -x>
# Simply wearing the piece of equipment or having the status effect will
# provide +x extra turns in battle for the player's party. The result turn
# will be a normal turn.
#
# <ptb max cancel: +x> or <ptb max cancel: -x>
# This increases the number of times the player can lose turns. This is a
# negative effect. Having more states and/or equips with this effect will
# cause this effect to stack.
#
# <ptb max regain: +x> or <ptb max regain: -x>
# This increases the number of times the player can regain turns. This is a
# positive effect. Having more states and/or equips with this effect will
# cause this effect to stack.
#
# -------------------------------------------------------------------------
# Enemy Tags - For Enemies Only
# -------------------------------------------------------------------------
# <ptb turns: x>
# This will make the particular enemy unit provide x turns instead of the
# usual default amount set in the PTB_RULES hash below.
#
# <ptb max cancel: x>
# This will set the maximum number of times the enemy can lose turns for
# the enemy party instead of the default amount set in PTB_RULES.
#
# <ptb max regain: x>
# This will set the maximum number of times the enemy can regain turns for
# the enemy party instead of the default amount set in PTB_RULES.
#
# -------------------------------------------------------------------------
# Press Turn Battle Settings
# -------------------------------------------------------------------------
# This section lets you adjust the settings made for the Press Turn Battle
# system should you decide to use it. Although most of the rules are pretty
# standard and do not need adjusting, change them if you see fit.
#===========================================================================
# These are the various rules used to govern the way Press Turn Battles act
# in battle. Although most of these are the standard settings and do not
# need adjusting, change them if you see fit.
PTB_RULES ={

rovided_turns => 1, # This is the number of turns provided per actor.
:max_actor_regain => 1, # Maximum turns regained per actor.
:max_actor_cancel => 1, # Maximum turns cancelled per actor.
:regain_weakpoint => 1, # Turns regained when striking a weakpoint.
:regain_critical => 1, # Turns regained when performing a critical hit.
:cancel_resisted => 1, # Turns cancelled when striking a resistance.
:cancel_immunity => 2, # Turns cancelled when striking an immunity.
:cancel_absorbed => 8, # Turns cancelled when opponent absorbs.
:cancel_evasion => 1, # Turns cancelled when target evades the attack.
:cancel_missed => 1, # Turns cancelled when the attack misses.
# The follow settings are optional. If you don't want to use them, leave
# their values as "nil" without the quotes.

ne_more_sfx => RPG::SE.new("Ice4", 80, 140), # SFX when gaining a turn.

ne_less_sfx => RPG::SE.new("Down", 80, 150), # SFX when losing a turn.
} # Do not remove.
# This hash determines the common events that will run at the start of each
# turn for either the party or the enemy.
PTB_COMMON_EVENTS ={

arty_turn => 23, # Run common event at start of each party turn.
:troop_turn => 24, # Run common event at start of each troop turn.
} # Do not remove this.
#===========================================================================
# Section V.C. Active Turn Battle Settings
# -------------------------------------------------------------------------
# Active Turn Battle will have actions constantly updating and battlers
# pitting their speed against one another. Once a battler reaches full
# speed, their selected actions will take effect and execute. The Melody
# version of the ATB makes a few changes to the standard ATB system. First,
# actions and inputs can be entered in before the turns are filled. This
# allows the player to not rush upon turns materializing. Second, there's
# a gauge threshold system to prevent battlers from being punished for
# picking delay skills. This system causes battlers to operate at normal
# speed until they reach 80% (default value), where they then swap over to
# their delayed (or boosted) speeds. Third and fourth, turns will be ruled
# by clockticks. These updates are done to provide steadier constant turn
# values, rather than abrupt changes whenever a battler gets a turn. And
# finally, enemy AI for turn conditions are adjusted to match how many
# turns they've taken themselves and not the turns applied to the battle.
#
# There's a few notebox special effects you can apply for your various
# database items. Simply add these tags into the notebox and you're set.
#
# -------------------------------------------------------------------------
# Skill and Item Tags - Both Skills and Items applicable.
# -------------------------------------------------------------------------
# <atb change: +x> or <atb change: +x%>
# <atb change: -x> or <atb change: -x%>
# Changes the target's current ATB by x value or x%. If it's just the normal
# x value, then the value will be a set amount. If it's a percent, then it
# will be affected by the gauge's percentile value. Both can be used, but
# calculations will tally up the percentage changes before the set changes.
#
# <atb reset: x%>
# This will push the user's ATB gauge back to x% after usage instead of 0%.
# x is the percentage of the maximum ATB bar gauge and not a set value.
# If the value exceeds the threshold value, it will reset back to whatever
# the threshold value is for an actor unless the actor has an action queued.
#
# -------------------------------------------------------------------------
# Weapon and Enemy Tags - Both Weapon and Enemies applicable.
# -------------------------------------------------------------------------
# <atb change: +x> or <atb change: +x%>
# <atb change: -x> or <atb change: -x%>
# Changes the regular attack produced by the weapon or enemy to push the
# target's ATB by x value or x%. If it's just the normal x value, then the
# value will be a set amount. If it's a percent, then it will be affected by
# the gauge's percentile value. Both can be used, but calculations will
# tally up the percentage changes before the set changes.
#
# <atb reset: x%>
# This will push the user's ATB gauge back to x% after usage instead of 0%.
# x is the percentage of the maximum ATB bar gauge and not a set value.
# If the value exceeds the threshold value, it will reset back to whatever
# the threshold value is for an actor unless the actor has an action queued.
#
# -------------------------------------------------------------------------
# State Tags - Status Effects Only
# -------------------------------------------------------------------------
# <atb reset: +x%> or <atb reset: -x%>
# This will cause the battler to have more or less ATB speed in preparation
# for the battler's next action. The effects are cumulative and all of the
# stats added together will affect the upcoming ATB reset amount.
#
# -------------------------------------------------------------------------
# Active Turn Battle Settings
# -------------------------------------------------------------------------
# The following are various settings you may adjust to meet and match the
# ATB system to your demands. The current settings are pretty standard, but
# may require attention if you wish for a more custom ATB.
#===========================================================================
# This hash contains the basic rules regarding the structure of the Active
# Turn Battle system. These settings adjust individual properties such as
# the max offset, the speed apply percentage, and more.
ATB_RULES ={
:threshold => 0.80, # Threshold for waited actions.
:max_offset => 1000, # Offset added to maximum gauge calculations.
:max_rate => 8.00, # Maximum gauge multiplied gauge rate.
:max_low => 2000, # Lowest the ATB Max calculator can be.
:min_speed => 0.30, # Minimum speed of base AGI the battler can move at.
# This adjusts the ATB speed applied for battlers at the start of battle.
:initial => 0.10, # Initial % of the gauge filled.
:surprise => 0.50, # Bonus % for surprise attacks.
:random => 16, # Applies random AGI this many times.
# The ATB uses a system called the clocktick system. The clocktick system
# determines when events occur and how often.
:turns_ctr => 64, # How many ticks per turn.
# The following two items adjust the default settings for the ATB system.
# Change them if you wish for a different default setting.
:default_type => 2, # 0:Full, 1:Semi, 2:Passive, 3:Wait
:default_speed => 7, # Default speed for the ATB gauge.
} # Do not remove this.
# The following is the file used for the ATB Gauge. The image must be placed
# inside of the System folder. Dimensions required are 302x14 pixels.
ATB_GAUGE = "ATB_Bar" # File name used for gauge without extension.
# When using Full-Wait type ATB, this will be the sound effect that will
# play whenever an actor's gauge fills up and can have their actions
# inputted by the player.
ATB_WAIT_SOUND = RPG::SE.new("Chime2", 80, 150)
# This hash determines the common events that will run at each clocktick
# period or at the end of each action.
ATB_COMMON_EVENTS ={
:turn_update => 23, # Run common event whenever turn updates.
:end_action => 24, # Run common event whenever an action finishes.
} # Do not remove this.
#===========================================================================
# Section V.D. Charge Turn Battle Settings
# -------------------------------------------------------------------------
# The Charge Turn Battle removes the wait in between actions and pauses the
# battle while an action is to be decided. Battlers will reach their turns
# in order of their speeds based on the clockticks until resolution value,
# a unique value to the CTB that decides the order of the battlers. The CTB
# makes use of the skill speed values by either cutting the amount needed
# for the next turn action or pushing the skill value back some more to
# require the battler to wait a bit before the skill will activate.
#
# There's a few notebox special effects you can apply for your various
# database items. Simply add these tags into the notebox and you're set.
#
# -------------------------------------------------------------------------
# Skill and Item Tags - Both Skills and Items applicable.
# -------------------------------------------------------------------------
# <ctb change: +x> or <ctb change: +x%>
# <ctb change: -x> or <ctb change: -x%>
# Changes the target's current CTB by x value or x%. If it's just the normal
# x value, then the value will be a set amount. If it's a percent, then it
# will be affected by the gauge's percentile value. Both can be used, but
# calculations will tally up the percentage changes before the set changes.
#
# <ctb reset: x%>
# This will push the user's CTB gauge back to x% after usage instead of 0%.
# x is the percentage of the maximum CTB resolution and not a set value.
#
# -------------------------------------------------------------------------
# Weapon and Enemy Tags - Both Weapon and Enemies applicable.
# -------------------------------------------------------------------------
# <ctb change: +x> or <ctb change: +x%>
# <ctb change: -x> or <ctb change: -x%>
# Changes the regular attack produced by the weapon or enemy to push the
# target's CTB by x value or x%. If it's just the normal x value, then the
# value will be a set amount. If it's a percent, then it will be affected by
# the gauge's percentile value. Both can be used, but calculations will
# tally up the percentage changes before the set changes.
#
# <ctb reset: x%>
# This will push the user's CTB gauge back to x% after usage instead of 0%.
# x is the percentage of the maximum CTB resolution and not a set value.
#
# -------------------------------------------------------------------------
# State Tags - Status Effects Only
# -------------------------------------------------------------------------
# <ctb reset: +x%> or <ctb reset: -x%>
# This will cause the battler to have more or less CTB speed in preparation
# for the battler's next action. The effects are cumulative and all of the
# stats added together will affect the upcoming CTB reset amount.
#
# -------------------------------------------------------------------------
# Active Turn Battle Settings
# -------------------------------------------------------------------------
# The following are various settings you may adjust to meet and match the
# ATB system to your demands. The current settings are pretty standard, but
# may require attention if you wish for a more custom CTB.
#===========================================================================
# This hash contains the basic rules that govern the Charge Turn Battle
# system. Adjust the settings as you see fit. Although the current settings
# are pretty standard, they will require fine tuning for a more customized
# battle system for your game.
CTB_RULES ={
:max_offset => 400, # Offset added to Resolution calculations.
:max_rate => 4.0, # Clocktick Resolution Multiplier Rate.
:max_low => 800, # Lowest the Resolution calculation can be.
:speed_rate => 16.0, # Multiplier for speed bonuses.
:chargeicon => 188, # The icon used for skill charging.
:chargesize => 0.60, # The zoom rate of the charge icon.
# This adjusts the CTB speed applied for battlers at the start of battle.
:initial => 0.10, # Initial % of the Resolution met.
:surprise => 0.50, # Bonus % for surprise attacks.
:random => 16, # Applies random AGI this many times.
# The CTB uses a system called the clocktick system. The clocktick system
# determines when events occur and how often.
:turns_ctr => 32, # How many ticks per turn.
} # Do not remove this.
# This hash determines the common events that will run at each clocktick
# period or at the end of each action.
CTB_COMMON_EVENTS ={
:turn_update => 23, # Run common event whenever turn updates.
:end_action => 24, # Run common event whenever an action finishes.
} # Do not remove this.
end # BATTLE_ENGINE
end # YEM
#===============================================================================
#
# END OF FILE
#
#===============================================================================