Sunday, 25 June 2017

Battle Symphony Manual


The original manual for Battle Symphony is hard to follow, so I'm rewriting it here. This post only covers the default Symphony Engine and does not include any of the add ons.

Yami's Battle Symphony scripts v1.16 plus all add ons can be downloaded from https://github.com/suppayami/rmvxa-collection/tree/master/battle-symphony.

Installation

In RPG Maker, open the Script Editor (F11). Right click under the section titled Materials, but above Main, and choose Insert. Type "Battle Symphony" in the Name box. Copy all the text from the Battle Symphony script and paste it here in RPG Maker.

If using Yanfly's Battle Engine, put Battle Symphony below all Yanfly scripts.

Configuration

Find the section in the script titled: Section I. Basic Settings (S-01)

EMPTY_VIEW
Whether to show party battlers or not. Set to true or false.
Default: False

PARTY_DIRECTION
The direction the party will be facing. (down = 2, left = 4, right = 6, up = 8)
Default: 4

ACTORS_POSITION
An array of x, y coordinates of each battler

WEAPON_ICON_NON_CHARSET
?

DISABLE_AUTO_MOVE_POSE
?

BATTLER_SHADOW
Whether to draw shadows beneath each battler. Set to true or false.
Default: True

ENEMY_ATTACK_ANIMATION
Animation ID to use as the default enemy attack animation.
Default: 1
Can be changed for each individual enemy by adding the tag <atk ani 1: id> in the enemy's notebox, where id is the Animation ID in the database.

AUTO_IMMORTAL_OFF
Whether to automatically turn off the Immortal status after actions are finished. Set to true or false.
Default: True

ALWAYS_COUNTER
Whether battlers can always counter or reflect, even when stunned or paralysed. Set to true or false.
Default: True


SYMPHONY TAGS

Each command entered during battle (e.g. an attack, using a skill, or using an item) is made up of a multitude of simpler actions that are grouped together as follows:

Setup actions: Actions prior to making the attack/using the skill, e.g. moving forward, drawing a weapon, or pulling out an item.
Target actions: Actions that affect individual targets, e.g. attacking a single enemy, healing an ally, etc.
Whole actions: Actions that affect all targets simultaneously, e.g. casting fire on all enemies will display animations on all enemies. (These actions occur after skill and item costs are calculated.)
Follow actions: Follow up actions to clean up any Target Actions.
Finish actions: Actions that finalise the use of the skill, e.g. putting away the weapon or item, and returning to battler's original position.

The Battle Symphony Engine already has defaults for all of these in place. Setup actions, Follow actions, and Finish actions are generally always going to be the same for every attack/skill/item, so most of the time only the Target actions will need to be modified. 

This is done by adding the target action group tag in the note box of whichever Skill, Item, or Weapon you want to customise. 

The tags for each group are as follows:
<setup action> </setup action>
<target action> </target action>
<whole action> </whole action>
<follow action> </follow action>
<finish action> </finish action>

Note: You only need to add the group tag for the group you wish to modify. Most of the time, this will only be Target Actions.

Then, between those tags are placed any sequence of any number of Symphony Commands as specified in the Commands section below.

COMMANDS

These commands are the heart of the Battle Symphony Engine, and are what makes the magic happen. 

These commands can be done in any order, any number of times. Any subject or target tag should be one of the options in the TARGET / SUBJECT section at the end of this section.

MOVEMENT

move subject: movement, frames, wait
This will move the target to a specific location.
subject: The subject to move (see the TARGET / SUBJECT section for details)
movement: Direction or location to move to
- forward, x: Move forward by x pixels.
- backward, x: Move backward by x pixels.
- origin: Move back to subject's original location.
- target, position: Move to target’s location. position is position on target’s body: foot, body, center, head, back
frames (optional): Total Frames. Use to define moving speed.
wait (optional): Type wait here to wait until effect’s done before going on.


teleport subject: movement, frames, wait
This will teleport the subject to a specific location. Usage is the same as move subject.


jump arc X subject: movement, frames, wait
This will make the subject jump to a specific location.
X: Jump Arc. Integer.
subject: Jumping Subject (see the TARGET / SUBJECT section for details)
movement: Specific Location
- forward, x: Jump forward for x pixel.
- backward, x: Jump backward for x pixel.
- origin: Jump back to subject's original location.
- target, position: Jump to target’s location. position is position on target’s body: foot, body, center, head, back
frames (optional): Total Frames. Use to define jumping speed.
wait (optional): Type wait here to wait until effect’s done before going on.


ICONS

icon create: target, name, position, id
This will create an icon object from IconSet, often used for weapons and items.
target: The target (see the TARGET / SUBJECT section for details)
name: Icon name for reference with other tags e.g. icon delete. Can be:
- weapon, weapon1: Icon for equipped Weapon 1.
- weapon2: Icon for equipped Weapon 2.
- shield: Icon for equipped Shield.
- item: Icon for the Item being used.
- any custom name
position (optional): Where the icon should be displayed. Can be:
- hand: Create Icon on Character’s Hand.
- shield: Create Icon on Character’s Other Hand.
- item: Create Icon on item position.
- middle: Create Icon on middle body.
- top: Create Icon on top body.
- bottom: Create Icon on bottom body.
id (optional): Icon ID when using a custom name.


icon delete: target, name
This will delete an icon object created by tag icon create.
target: The target.
name: Icon name for reference


icon effect: target, name, effect, frames, wait
This will make an effect for an icon object created by tag icon create.
target: The target.
name: Icon name reference.
effect: Icon Effect. Can be:
- angle, x: Set Icon angle to x.
- rotate, x: Make Icon rotate to angle x.
- animation x: Start Animation ID x on Icon.
- move_x x: Make Icon move to X-coordinate x.
- move_y y: Make Icon move to Y-coordinate y.
- cur_x x: Make Icon move to X-coordinate: Current X + x.
- cur_y y: Make Icon move to Y-coordinate: Current Y + y.
- fade in: Make Icon fade in.
- fade out: Make Icon fade out.
- float: Make Icon float (Use for Item Using).
- swing: Swing Icon down (Use for Swing Attack).
- upswing: Swing Icon up (Use for Swing Attack).
- stab: Special Move for Spear Attack.
- claw: Special Move for Claw Attack.
frames (optional): Total Frames. Use to define effect speed.
wait (optional): Type wait here to wait until effect is done before going on.


icon throw owner: target, name, arc, frames, wait
This will throw an object created by tag icon create to target.
owner: Object Owner, or where the icon should be thrown from
target: The target, or where the icon should be thrown to.
name: Icon name reference.
arc: Throwing Arc. Negative Integer will make object be thrown downward.
frames (optional): Total Frames. Use to define throwing speed.
wait (optional): Type wait here to wait until effect is done before going on.


ANIMATIONS

animation id: target, option
This will play animation on the targets. By default, this animation will be played with non-mirror and no waiting.
id: Animation ID in Database.
target: The target to play the animation on.
option (optional):
- wait: Causes the animation to wait until it’s done before going on.
- mirror: Causes the animation to mirror itself.

attack animation: target, option
skill animation: target, option
last animation: target, option
This will play the normal attack animation, or the skill's animation, or the last used animation, respectively, on the targets. By default, this animation will be played with non-mirror and no waiting.
target: The target.
option (optional):
- wait: Causes the animation to wait until it’s done before going on.
- mirror: Causes the animation to mirror itself.



BATTLE DAMAGE

attack effect: option1, option2
skill effect: option1, option2
This will calculate all attack or skill effects, from damage to status effects. You will have to use this tag to make the skill do damage and cause status effects on targets.
option1 (optional):
- clear: This will clear any miss, or evade flags.
- counter check: This will check and calculate counter flags.
- reflect check: This will check and calculate reflect flags.
- dmg: This will calculate the damage for targets.
- effect: This will cause status effects, includes Gain TP.
- whole: This will include all three tunes: calc, dmg, effect.
option2 (optional):
- calc: This will recalculate miss and evade flags for current step.
- perfect: This will prevent missing or evading.


immortal: target, flag
This will change the immortal flag for targets, which is useful when making a multi-hit skill. Setting the flag to false will make targets collapse if they fulfill the death condition.
target: The target to make immortal.
flag: Immortal Flag, set to true or false.


WAIT

wait for animation
This will wait until all animations have done before going on. Often used last in an Action Sequence

wait for move
This will wait until all movement has finished before going on. Often used last in an Action Sequence

wait: x
This will wait for x frames before going on


MISC

message
This will display using skill/item on Battle Log

auto symphony: key
This will play the Action Set defined by Auto Symphony (Section III) in the script.
key: Refer to Auto Symphony key (Section III) in the script.


TARGET / SUBJECT

Any target or subject tag in the list of Symphony Commands above this section can be one of the following:

user The active battler.
target, or targets The active targets in question.
actors, party, or actors livingAll living actors.
all actorsAll actors including dead ones.
actors not userAll living actors except for the user.
enemies, troop, or enemies livingAll living enemies.
all enemiesAll enemies, even dead.
enemies not userAll enemies except for the user
actor xThe actor in slot x
enemy xThe enemy in slot x.
everythingAll living actors and enemies.
everything not userAll living battlers except the user
allies, or friendsThe battler’s allies
friends not userThe battler’s allies except himself
opponents, or rivalsThe battler’s opponents.
focusThe active battler and his targets
not focusEverything but the active battler and his targets
counter subjectThe countering battler
reflect subjectThe reflecting battler
substitute subjectThe substituting battler (for Cover skill)


BUGS

Battle Symphony 1.16 has the following bugs:

  • Substitute actions (for the Cover skill) are not implemented
  • The substitute subject is only set when item/skill effects are carried out, meaning any actions on the substitute subject prior to those effects will not happen


NOTES

  • Shield icons are placed on the hand position, rather than in a shield position in front of the battler.
  • All icons, battler positions, etc are reset at the end of every action, therefore it is not possible to hold an icon or position until the next turn, e.g. if guarding, and you want a shield icon in front of the player