Configuration (Battle Engine Melody)

From PocketWiki

Jump to: navigation, search

This is one part of setting up that you must absolutely not neglect!

The configuration for Battle Engine Melody requires attention before working properly for any installation. It's best to devote a good amount of time towards the configuration to make sure that everything works the way you want it to for your game. Otherwise, you may find many undesirable effects produced by Battle Engine Melody that could have otherwise been prevented.

To briefly outline what's going to be done:

  • Bind various options to in-game variables.
  • Configure the default settings made for your game.
  • Set proper icons for various objects.

The configuration will also be divided into various parts. These include the Basic Settings, Battle View Settings, Battle Window Settings, Minor Mechanic Settings, and Major Mechanic Settings.

Contents

Basic Settings

Image:Warning.gif WARNING: This section includes all of the basic settings that require absolute attention. Should they be ignored, you can expect your game to fall apart midway and the only thing to fault is a lack of proper configuration.

Basic Variable Setup

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.

Options Menu Setup

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.

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.

If you don't set these properly, your game will blow up... twice!

Basic Variable Setup

    VIEW_TYPE_VARIABLE   = 91
    BATTLE_TYPE_VARIABLE = 92

These two constants determine which variables will determine what battle view type is being used and what battle system type is also being used at the time the battle starts. The reason behind binding them to variables instead of having them as set constants is in the event that the user wishes to change the battle system or view-type for whatever reason, a simple variable is all that's needed. An example of why a user would do this is if they're to suddenly change their environment from outside to a dungeon and switching from sideview to emptyview would make more sense.


    DEFAULT_VIEW = 3

This constant determines the default view type your game will show for your battle system. Use the following table below to determine the type.

0 - Emptyview. Frontview without any battlers.
1 - Frontview. Frontview with visible battlers.
2 - Sideview. Sideview with visible battlers.
3 - Angleview. Angleview with visible battlers.


    DEFAULT_TYPE = 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.

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.
Side effects of not setting these properly may result in unknown causes of suddenly losing volume and more.
In-battle options menu, as you see them in commercial RPG's everywhere now.

Options Menu Setup

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:

    OPTION_COMMANDS =[
      :skill_help,      # Displays skill descriptions during battle phase.
      :atb_active,      # ATB Active Type. Only with ATB.
      :atb_speeds,      # ATB Battle Speeds. Only with ATB.
      :animations,      # Displays/Hides animations.
      :autocursor,      # Sets memory cursor options.
      :next_actor,      # Automatically go to the next actor.
      :bgm_volume,      # Adjusts BGM volume.
      :bgs_volume,      # Adjusts BGS volume.
      :sfx_volume,      # Adjusts 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  => 21,  # Variable used to adjust BGM volume.
      :bgm_mute_sw   => 21,  # Switch used to mute/unmute the BGM.
        :bgm_volume  => "BGM Volume",
        :bgm_des     => "Adjusts BGM volume. Z to Mute and Unmute.",
      :bgs_variable  => 22,  # Variable used to adjust BGS volume.
      :bgs_mute_sw   => 22,  # Switch used to mute/unmute the BGS.
        :bgs_volume  => "BGS Volume",
        :bgs_des     => "Adjusts BGS volume. Z to Mute and Unmute.",
      :sfx_variable  => 23,  # Variable used to adjust SFX volume.
      :sfx_mute_sw   => 23,  # Switch used to mute/unmute the SFX.
        :sfx_volume  => "SFX Volume",
        :sfx_des     => "Adjusts SFX volume. Z to Mute and Unmute.",
        :mute        => "Mute",
        :audio       => "Audio %d%%",
      :atb_avariable => 24,  # 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 => 25,  # Variable used for ATB Speeds.
        :atb_sname   => "Turn Speed",
        :atb_s_des   => "Adjusts battle speed. Higher values are faster.",
      :animation_sw  => 24,  # Switch used to display/hide animations.
        :animations  => "Animations",
        :ani_des     => "Enables/Disables battle animations.",
        :ani_show    => "Show",
        :ani_hide    => "Hide",
      :autocursor_sw => 25,  # Switch used for autocursors.
        :autocursor  => "AutoCursor",
        :curmem_des  => "Enables/Disables cursor memory for actions.",
        :curmem_on   => "Memory",
        :curmem_off  => "Reset",
      :next_actor_sw => 26,  # Switch used for automatic next actor.
        :next_actor  => "Next Actor",
        :next_des    => "Move to next actor after selecting commands",
        :next_on     => "Auto",
        :next_off    => "Manual",
      :skill_help_sw => 27,  # Switch used to enable skill help.
        :skill_help  => "Skill Help",
        :help_des    => "Display skill descriptions during battle phase.",
        :help_on     => "Enabled",
        :help_off    => "Disable",
    } # Do not remove this.
Display numbers, weaknesses, states, and more using popups!
<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 to the right.

<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.

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. This hash adjusts the popup settings that will govern how popups appear. Adjust them accordingly.

    POPUP_SETTINGS ={
      :width      => 140,         # Maximum width of a popup.
      :offset     => -24,         # Height offset of a popup.
      :fade       => 12,          # Fade rate for each popup.
      :full       => 60,          # Frames before a popup fades.
      :hp_dmg     => "%s",        # SprintF for HP damage.
      :hp_heal    => "+%s",       # SprintF for HP healing.
      :mp_dmg     => "%s SP",     # SprintF for MP damage.
      :mp_heal    => "+%s SP",    # SprintF for MP healing.
      :drained    => "DRAIN",     # Text display for draining HP/MP.
      :critical   => "CRITICAL!", # Text display for critical hit.
      :flash      => true,        # Will flash different colours for criticals.
      :missed     => "MISS",      # Text display for missed attack.
      :evaded     => "EVADE!",    # Text display for evaded attack.
      :nulled     => "NULLED",    # Text display for nulled attack.
      :failed     => "FAILED",    # 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  => "WEAK!",     # Appears if foe is weak to element.
      :resistant  => "RESIST",    # Appears if foe is resistant to element.
      :immune     => "IMMUNE",    # Appears if foe is immune to element.
      :absorbed   => "ABSORB",    # Appears if foe can absorb the element.
    } # Do not remove this.


    DEFAULT = ["UmePlus Gothic", "Verdana", "Arial", "Courier New"]

This is the default font used for the popups. Adjust them accordingly or even add new ones.


    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.

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.

Battle View Settings

This section includes the majority of the settings that involve sprite positioning, turn order icons, animated battler setups for actions, and screen tone settings. Although you can leave these settings as default, if you're not using the standard IconSet that comes with Battle Engine Melody's demo, you will encounter some problems with the way the turn order gauges appear at the top of your screen.

Battler Positioning 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.

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.

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.

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.

These settings affect how your actors and enemies are positioned on the field. This one here is emptyview.
This one is frontview.
This one is sideview.
This one is angleview.

Battler Positioning Settings

    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 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. If you wish to change the values, know that the first number in each array is the X position and the second value in each array is the Y position.


    ACTOR_ASPECTS ={
      :width  => 32,
      :height => 32,
    } # Do not remove this.

This hash determines various technical aspects of your battlers that are used throughout the various views. Adjust them accordingly.


    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.

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.


    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.

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.


    AUTO_ENEMY_POSITIONS = true

If you would like to automatically shift enemy positions using the script and not need to adjust the battleview positions, enable this constant.


    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.

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.

Image:Notepad.gif NOTE: This will only have effect if AUTO_ENEMY_POSITIONS is set true.

These small icons at the top represent each individual actor and enemy. Make sure you have the proper icon placed inside your iconset to represent them with!
<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>
<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>
<charset: filename, index>
<cs: filename>
<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>
<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).

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.

    DEFAULT_ENEMY_ICON = 492

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_ACTOR_ICON = 368

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.


    BATTLER_ICON_BORDERS ={
    # Type   => [Back, Border, Press1, Press2, Press3, Arrow],
      :actor => [ 276,    280,    272,    274,    275,   260],
      :enemy => [ 277,    281,    273,    274,    275,   264],
      :misc  => [ 278,    282,    274,    274,    275,   268],
    } # Do not remove this.

For each battler, there will be a set of borders to indicate which team each battler belongs to. Adjust the settings here accordingly.


    BATTLER_ACTOR_ICONS ={
    # ID => Icon Index
       1 => 368,  # Icon for Ralph.
       2 => 371,  # Icon for Ulrika.
       3 => 378,  # Icon for Bennett.
       4 => 381,  # Icon for Ylva.
    } # 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_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.

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.

Image:Configuration005.jpg The turn order icons are constructed as such.


    TURNS_DEAD_BATTLERS = false

Setting this to true will show dead battlers inside of the order gauge and setting this to false will hide them.


    DEFAULT_ENEMY_ATTACK = 36

This adjusts the default enemy attack animation. If an enemy does not have the respective attack animation tag, it will use this instead.


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]],
      :piyori  => [[ 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.
      :piyori   => true,       # Pose for critical state.
      :victory  => true,       # Pose for victory.
    } # Do not remove this.


    SHOW_WEAPON_ICONS = true

Some games don't want to show weapon animations during attacks. Set this to false to disable them from appearing for weapons and shields.


    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.

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.
Animated battlers use animations rather than battler sheets. They can freely swap with each other by using "Stances" that can be set individually for each actor and enemy. This slime has entered the "Damage" stance that calls forth the damaged animation.
<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>
<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.


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.

Image:Notepad.gif NOTE: 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.

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.


    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.

These are the basic settings regarding animation battlers. Pay attention to them as there are some very specific rules regarding their work.


ANIMATION_BATTLER_MAX_CELLS = 4

This adjusts the maximum number of cells to show at a time.


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,
        "DAMAGE"  => 102,
        "PIYORI"  => 103,
        "VICTORY" => 104,
        "EVADE"   => 105,
        "DEAD"    => 106,
        "ATTACK1" => 107,
        "ATTACK2" => 108,
        "CHANNEL" => 109,
        "CAST"    => 110,
      }, # Do not remove this.
    #--- End Template 0 ---
    } # Do not remove this.
This section is made primarily for the Screen Melody.

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.

Battle Window Settings

This section generally does not need much attention, but still required unless you wish for your characters to possess some rather unique action commands in battle. Furthermore, the Status Windows have element ID's shifted around to draw out your attention to set them properly. Other than that, not much attention is needed elsewhere, although it's highly recommended that you do give everything a quick look to ensure they're what you want.

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.

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.

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.

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.

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.

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.

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).

Adjust what messages you want to appear in the battle message window and how you want them to appear.

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.
      :opacity   => 96,       # Opacity rate to show sprites.
      :alignment => 1,        # Default alignment. 0-Left, 1-Center, 2-Right.
    } # Do not remove this.


    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 => false, # Message when battler gains/loses states.
    } # Do not remove this.

This hash will determine which messages will be shown. Those set to false will be ignored and moved on.


    ICON_MESSAGE ={
      :use_icons => true,       # If true, icons are used for actions.
      :attack    => "Attack",   # Default attack message.
      :atk_icon  => 132,        # Default icon used with the attack message.
      :guard     => "Guard",    # Default guard message.
      :grd_icon  =>  52,        # Default icon used with the guard message.
      :flee      => "Escape",   # Default flee message.
      :flee_icon => 158,        # Default icon used with the flee message.
      :wait      => "Wait",     # Default wait message.
      :wait_icon =>  98,        # Default icon used for waiting.
    } # Do not remove this.

When using icons, different messages will display instead of the usual bit. This is as to


    DEFAULT_VICTORY_MESSAGE = true

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.

The party window (aka the Battle Status Window) displays all of the party's information for the player so adjust it properly in such a way where it actually looks presentable.
The combo window appears to display how many hits were performed in a single action and how much damage was dealt altogether.
The target window and battle cursors help provide the player a more accurate idea of who or what's being targeted and selected on screen.

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.

    PARTY_WINDOW ={
      :face_opacity  =>  160,  # Face opacity for inactive actor's faces.
      :name_size     =>   16,  # Font size for the name text.
      :max_states    =>    4,  # 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.

These are the various settings that adjust the party status window shown at the bottom of the screen. Adjust the various settings here.


    COMBO_WINDOW ={
      :requirehit => 1,            # Hits required to make combo window show.
      :combo_text => "%s Combo",   # Text format used for combo hits total.
      :total_text => "%s Total",   # Text format used for totals. Rarely used.
      :total_heal => "+%s Healed", # Text format used for combo heal total.
      :total_dmg  => "%s Damage",  # Text format used for combo damage total.
      :fadeframes => 120,          # Number of frames to wait before rising.
    } # 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.


    TARGET_WINDOW ={
      :user     => "User",          # Text used for only the user.
      :none     => "No Target",     # Text used for no target selection.
      :dead     => "Dead %s",       # Text used for dead targets.
      :actor    => "Ally",          # Text used for a single ally.
      :actors   => "Allies",        # Text used for multiple allies.
      :enemy    => "Foe",           # Text used for a single enemy.
      :enemies  => "Foes",          # Text used for multiple enemies.
      :all      => "All %s",        # Text used for targeting all of a unit.
      :random   => "%d Random %s",  # This adjusts the number of random enemies.
      :hidehelp => true,            # Hide help window during targeting.
    } # 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.


    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.

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.

It's nice having something other than "Fight" and "Escape" appear for a change.

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.

    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.
      :option,     # Opens up an in-battle options window.
      :escape,     # Allows the party to escape as a whole.
    ] # Do not remove this.

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_VOCAB ={
      :execute  => "Execute",
      :option   => "Option",
      :turnskip => "TurnSkip",
      :atb_t0   => "ATB:Full",
      :atb_t1   => "ATB:Semi",
      :atb_t2   => "ATB:Stop",
      :atb_t3   => "ATB:Wait",
      :atb_spd  => "Speed:%d",
    } # 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.

Give each class a different set of actions to set them apart from each other. No more of the same old four commands "Attack", "Skill", "Defend", and "Item"!

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.

 :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, :limit, :guard, :item, :equip, :escape],
      2  => [:attack, :skill, :tetra, :guard, :item, :equip, :escape],
      3  => [:attack, :skill, :smash, :guard, :item, :equip, :escape],
      4  => [:attack, :skill, :comet, :guard, :item, :equip, :escape],
    } # Do not remove.


    SKILL_COMMANDS ={
    #  Symbol   => [Skill, Vocab]
      :limit   => [   84, "Limit"],
      :tetra   => [   85, "Tetra"],
      :smash   => [   86, "Smash"],
      :comet   => [   87, "Comet"],
    } # Do not remove this.

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.


    DISABLE_EMPTY_COMMANDS = true

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.


    EQUIP_COOLDOWN = 2

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_VOCAB = "Equip"

This is the vocab used for the individual Equip command found in the actor selection window to separate it from menu term.

This newly added window provides some more options, too!

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.
 :option - Opens up any in-battle options.
 :escape - Allows the party to escape.
    CONFIRM_COMMANDS =[
      :confirm,    # Confirms currently selected actions and continues.
      :status,     # Opens up a small in-battle status window for the party.
      :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.
      :option,     # Opens up an in-battle options window.
      :escape,     # Allows the party to escape as a whole.
    ] # Do not remove this.

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_VOCAB ={
      :confirm  => "Confirm",
      :status   => "Status",
      :option   => "Option",
      :turnskip => "TurnSkip",
      :atb_t0   => "ATB:Full",
      :atb_t1   => "ATB:Semi",
      :atb_t2   => "ATB:Stop",
      :atb_t3   => "ATB:Wait",
      :atb_spd  => "Speed:%d",
    } # 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.

Players need more information than what the game normally provides them anyway.

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.

    ALLY_ELEMENTS = [3, 4, 5, 6..10]

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.


    ELEMENT_ICONS ={
      3 => 104,  # Fire element.
      4 => 105,  # Ice element.
      5 => 106,  # Volt element.
      6 => 108,  # Earth element.
      7 => 107,  # Water element.
      8 => 109,  # Air element.
      9 => 110,  # Light element.
     10 => 111,  # Dark element.
    } # Do not remove this.

Since elements do not have icons innately, use the following hash below adjust and apply icons to them.

Image:Warning.gif WARNING: This is not the default element list and has been made this way for a reason in the script. Please properly fill in the way your elements are supposed to appear for your game!


    ELEMENT_SPACING = 6

This is the number of pixels to place in between each element icon.


    ALLY_STATES = [1, 2, 3, 4..8]

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.


    STATE_SPACING = 6

This is the number of pixels to place in between each state icon.


    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.

Ranks will be displayed under elemental and state icons. These are the colours assigned to them.


    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.

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_RANK_SIZE = 16

This is the font size used to display ranked text shown.


    ALLY_STATS = [:atk, :def, :spi, :agi, :hit, :eva, :cri, :odds]

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.


    STAT_VOCAB ={
      :hit  => "HIT", # Stat that modifies hit rate.
      :eva  => "EVA", # Stat that modifies evasion rate.
      :cri  => "CRI", # Stat that modifies critical rate.
      :odds => "AGR", # Stat that modifies aggro rate.
    } # Do not remove this.

Some of the more unusual stats do not have defined vocabulary to go along with it. Adjust the following hash to give them names.


    TEXT_STAT_SIZE = 20

This is the font size used to display stats shown.


    TEXT_NORMAL_STATE = "Normal"

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.


    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.

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.

The enemy's HP, MP, Rage (if the enemy uses any Rage skills), and states will be shown when selected.

<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.

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).

    USE_QUICK_SCAN = true

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.


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.

Remember, the enemy HP and MP bars don't have to be present at all times. They can be changed by using the tags to the left to show or hide them, to change their colours, and to adjust their widths.

Minor Mechanic Settings

This section is geared towards damage settings, skill cost settings, item settings, target settings, and more. While not much attention is needed here, do heed some time this way to make your mechanics are how you want them set up.

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.

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.

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).

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.

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.

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.

Adjust any settings regarding your damage formulas.

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.

    MAXIMUM_DMG = nil   # Maximum damage possible.
    MINIMUM_DMG = 0     # Minimum damage possible.

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 recommended at all), set these values to nil.


    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.spi * 1 * obj.spi_f / 100", # Defender to SPI_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.

This hash allows you to adjust the damage variables applied to the normal skill and item damage formulas. Change their values here.


    APPLY_PHYSICAL_ELE = true  # Apply weapon elements to physical attacks.
    APPLY_MAGICAL_ELE  = false # Apply weapon elements to magical attacks.

The following allows you to adjust the rules for applying weapon elements to skills. This can be adjustable for physical and magical skills.


    CRITICAL_SKILLS ={
      :healing  => false,  # Allow critical hits for healing skills?
      :magical  => false,  # Allow critical hits for magical skills?
      :physical => true,   # Allow critical hits for physical skills?
    } # Do not remove this.

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.

More information will be explained in detail about the extra features in the Custom Damage Formulas page.

Change any information regarding casting animations, cost icons, and more for skills here in the configuration.

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.

    DEFAULT_CAST_ANIMATION = 43

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.


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.

    SKILL_SETTINGS ={
      :mp_icon   => 100,    # 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 => "%sSP", # 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   => 99,     # 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.
      :physical_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.

More information will be explained in detail about the extra features in the Custom Skill Effects page.

Items, while being very similar to skills, contain fewer settings to configure.

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). 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.

More information will be explained in detail about the extra features in the Custom Item Abilities page.

Most of the configuration items in this section just has to do with defaults.

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. 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.

More information will be explained in detail about the extra features in the Custom Target Options page.

It's about time for status effects to become useful.

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. 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.


    APPLY_PHYSICAL_STATE = true
    APPLY_MAGICAL_STATE = false

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.


    REMAINED_RULES = 1

When a state is being applied to a battler that already has the state applied, these settings below decide what to do with them.

0 - No changes are made.
1 - Turns are reset to normal.
2 - Turns are added to current amount.

More information will be explained in detail about the extra features in the Custom Status Properties page.

Configure how element and status rates will affect your game.

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.

    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.

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_CALCULATION = 4

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.

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.


    MAX_ELEMENT_RATE =  400
    MIN_ELEMENT_RATE = -400

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.


    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.

For those who would like different success rates for each status effect based on ranks, you may change their settings here.


    STATE_ELEMENT_APPLY = true

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.

More information will be explained in detail about the extra features in the Custom Affinity Settings page.

Major Mechanic Settings

This section is geared towards each of the individual battle systems. Although these can actually be left alone completely, they do require some attention if you wish to make use of regularly occurring common events that appear periodically in your battles.

Image:Notepad.gif NOTE: You only need to adjust the battle settings that apply to your game. You can ignore any battle systems that you don't plan on using.

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.

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.

Press Turn Battle Settings

This section allows you to adjust the extensive aspects regarding the Press Turn Battle System.

Active Turn Battle Settings

This section allows you to adjust the extensive aspects regarding the Active Turn Battle System.

Charge Turn Battle Settings

This section allows you to adjust the extensive aspects regarding the Charge Turn Battle System.

For even more control over your battle system, have common events that can run regularly for each of your battles at regular intervals.

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.

    ALL_COMMON_EVENTS ={
      :battle_start  => 1,  # Run common event at start of each battle.
      :battle_finish => 2,  # Run common event at end of each battle.
    } # Do not remove this.

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.

Furthermore, there's a few settings you can apply to a troop's name in the database editor to give that troop group a unique battle setting. This feature is added in version 1.00h.

- 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.
There's a couple of settings you can change for the DTB, too.

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.

    DTB_COMMON_EVENTS ={
      :turn_start  => 3,  # Run common event at start of each turn.
      :turn_finish => 4,  # Run common event at end of each turn.
    } # Do not remove this.

This hash determines the common events that will run at the start and/or end of each turn for the default turn battle.

For more detail on the Battle Engine Melody changes to the DTB, visit the Default Turn Battle System page.


The ever increasingly popular MegaTen style Press Turn Battle System is now here!

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.

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.

    PTB_RULES ={
      :provided_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.
      :one_more_sfx => RPG::SE.new("Ice4", 80, 140), # SFX when gaining a turn.
      :one_less_sfx => RPG::SE.new("Down", 80, 150), # SFX when losing a turn.
    } # Do not remove.

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_COMMON_EVENTS ={
      :party_turn  => 5,  # Run common event at start of each party turn.
      :troop_turn  => 6,  # Run common event at start of each troop turn.
    } # Do not remove this.

This hash determines the common events that will run at the start of each turn for either the party or the enemy.

For more information on how this battle system works, visit the Press Turn Battle System page.

Active Turn Battle, not the Final Fantasy way, but the Grandia way.

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.

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.

    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.

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_GAUGE = "ATB_Bar"

This is the file used for the ATB Gauge. The image must be placed inside of the System folder. Dimensions required are 302x14 pixels.


    ATB_WAIT_SOUND = RPG::SE.new("Chime2", 80, 150)

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_COMMON_EVENTS ={
      :turn_update => 7,  # Run common event whenever turn updates.
      :end_action  => 8,  # Run common event whenever an action finishes.
    } # Do not remove this.

This hash determines the common events that will run at each clocktick period or at the end of each action.

For more information about this battle system, visit the Active Turn Battle System page.

Charge Turn Battle, one of the newer battle systems out there, but certainly one of the most powerful.

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.

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.

    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 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_COMMON_EVENTS ={
      :turn_update => 9,  # Run common event whenever turn updates.
      :end_action  => 10, # Run common event whenever an action finishes.
    } # Do not remove this.

This hash determines the common events that will run at each clocktick period or at the end of each action.

For more information about this battle system, visit the Charge Turn Battle System page.

Finished!

Good job on configuring Battle Engine Melody to suit you and your game. The majority of these settings probably won't ever have to be touched again for your game, but don't be reluctant to review over your settings periodically to ensure that you know how your own battles work. After all, knowing every step of how your battle system works is the key to making a great battle system that will be enjoyable for many others. Battle Engine Melody only exists to help you move a few steps upward. The rest is up to you to climb the remainder of the path to making your dream battle system.

See Also


Personal tools