RMVX

SBS Battler Configuration으로 3연 스킬 만들기

by RMadrid posted Feb 16, 2011
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form

VX 강좌에 보면 무기 공격을 3번하는 1개의 스킬을 만드는 방법은 있는데,

 

일반 스킬이 1번에 3방씩 나가서   적 1명을 3번 공격하는  1개의 스킬을 어떻게 구현하는지는 나와있지 않은 것 같습니다.

 

어떻게 만들 수 있습니까?

 

 

 

 

스크립트는 다음과 같습니다.

 

 

 

 

#==============================================================================
# ■ Sideview Battle System Battler Configuration (Kaduki) [3.4d]
#------------------------------------------------------------------------------
#  Original Script by:
#               Enu ( http://rpgex.sakura.ne.jp/home/ )
#  English Localization:
#               Kylock, Mr. Bubble, Shu
#  Contributors & Special Thanks:
#               Shu, Moonlight, NightWalker, Enelvon, Atoa, AlphaWhelp,
#               blackmorning, Mithran, Kaduki, Enu
#               (See [Credits] for more information)
#==============================================================================

$imported = {} if $imported == nil
$imported["TankentaiSideview(Kaduki)"] = true

module N01
#==============================================================================
# ■ ANIME Hashes
#------------------------------------------------------------------------------
# ANIME hashes are utilized by ACTION sequences and have no utility alone.
#==============================================================================

  ANIME = { # <- Do not delete this line.
 
  #----------------------------------------------------------------------------
  # * About Anime Hashes
  #----------------------------------------------------------------------------
  # Think of Anime Hashes as predefined orders/commands that are given to a
  # battler to make it perform a single desired action/effect in battle. By
  # utilizing multiple Anime Hashes and listing their keys in an action
  # sequence, you are able create your own unique battler actions.
  # Anime Hashes are utilized by listing Anime Keys within an action sequence.
  #
  # Please read "About Action Sequences" for specific information on
  # how to use Anime Hashes in Action Sequences.
  #
  #----------------------------------------------------------------------------
  # * Creating Anime Hashes
  #----------------------------------------------------------------------------
  # ANIME Hashes in this section are defined with the following syntax:
 
  # ANIME Key             =>        Hash Array       Comma
   "EXAMPLE_ANIME_HASH"   =>  ["hash_array_contents"],
 
  # ANIME Key - Can be any name you want as long as it does not
  #             contain only numbers such as "5" or "42".
  #             Remember that ANIME Keys are case-sensitive
  #             when they are used. If an ANIME Key is not defined when
  #             used within an action sequence, the ANIME Key will simply
  #             be skipped and the action sequence will continue.
  #             When creating names for your Keys, do not use the
  #             same name as an existing Key.
  #
  # => - Must be between the ANIME Key and the Hash Array.
  #
  # Hash Array - Contents of the Hash Array differ depending on the type of
  #              battler action you want when the ANIME Key is used in an action
  #              sequence. Please read through the SBS Configuration script
  #              to learn the requirements for each type of Anime Hash.
  #
  # Comma - All Anime hashes must end with a comma after the
  #         closing square bracket. Forgetting to include the comma will
  #         result in a syntax error.

 #--------------------------------------------------------------------------
 # ● Battler Poses
 #--------------------------------------------------------------------------
  # Command a battler to display specific frames from the battler's
  # assigned character graphic file.
  #
  # File No. - File number of battler graphic file used.
  #             0: Walking Graphic. In the case of Actors, 0 refers to
  #                 default walking graphic as assigned in the Actors tab.
  #             n: "Character Name + _n", where n refers to the file number
  #                 extension.
  #                 Example: If Ralph has a character graphic of "$Ralph.png"
  #                 assigned to him in the Actors tab of the Database,
  #                 "$Ralph_1" can instead be used if File No. equals 1.
  #
  # Row    - Row to be used from the character graphic, where the value 0
  #          refers to the topmost row. (0~3)
  # Speed  - Frame change rate of battler graphic. Lower numbers are faster.
  # Loop   - [0: "Round-Trip" Loop]    Example: 1 2 3 2 1 2 3 2 1 ...
  #          [1: "One-Way" Loop]       Example: 1 2 3 1 2 3 1 2 3 ...
  #          [2: One Loop, no repeat]  Example: 1 2 3 .
  # Wait   - Time, in frames, before animation loops again.
  #          This value does not apply if Loop=2
  # Fixed  - Defines loop behavior or specific fixed frame display.
  #        [ -2: Reverse Loop Animation.  Also reverses weapon animation.]
  #        [ -1: Normal Loop Animation]
  #        [0~2: Fixed frame display. Refers to frame on character sprite
  #              sheet starting where 0 = left-most frame.]
  # Z      - Value added to battler's Z priority.
  # Shadow - true: Display battler shadow.
  #          false: Does not display battler shadow.
  # Weapon - Weapon Sprite Animation to be used with battler frame animation.
  #          For no weapon animation, use "".

  # ANIME Key         FileNo. Row Spd Loop Wait Fixed   Z Shadow  Weapon
  "STANDBY_POSE"      => [  1,  0,  15,  0,   0,  -1,   0, true,  "" ],
  "STAND_POSE"        => [  1,  0,  10,  2,   0,   1,   0, true,  "" ],
  "FACE_RIGHT_POSE"   => [  0,  2,  10,  1,   2,   1,   0, true,  "" ],
  "HURT_POSE"         => [  0,  2,  10,  1,   2,   1,   0, true,  "" ],
  "DEAD_POSE"         => [  2,  3,  10,  1,   8,   0,   0, true,  "" ],
  "MOVE_POSE"         => [  1,  3,  11,  2,   0,  -1,   0, true,  "" ],
  "MOVE_AWAY_POSE"    => [  1,  3,  11,  2,   0,  -1,   0, true,  "" ],
  "HIGH_PRIORITY"     => [  0,  1,   2,  1,   0,  -1, 600, true,  "" ],
  "WPN_SWING_V"       => [  3,  0,   4,  2,   0,  -1,   2, true,"VERT_SWING"],
  "WPN_SWING_VL"      => [  3,  0,   4,  2,   0,  -1,   2, true,"VERT_SWINGL"],
  "WPN_SWING_VS"      => [  3,  0,   8,  2,   0,  -1,   2, true,"VERT_SWING"],
  "WPN_SWING_UNDER"   => [  3,  1,   2,  2,   0,  -1,   2, false,"UNDER_SWING"],
  "WPN_SWING_OVER"    => [  0,  1,   2,  2,   0,  -1,   2, false,"OVER_SWING"],
  "WPN_RAISED"        => [  3,  1,   2,  2,  28,  -1,   2, true,"RAISED"],
  "CRITICAL_POSE"     => [  1,  2,  15,  0,   0,  -1,   0, true,  "" ],
  "SKILL_POSE"        => [  3,  3,   6,  0,   0,  -1,   0, true,  "" ],
  "VICTORY_POSE"      => [  2,  0,  29,  2,   0,  -1,   0, true,  "" ],
  "DEATH_POSE"        => [  2,  3,  10,  1,   0,  -1,   0, false, "" ],
  "EVADING_POSE"      => [  2,  1,   5,  2,   0,  -1,   0, true,  "" ],
  "ATTACK_MOVE_POSE"  => [  1,  3,   5,  0,   0,  -1,   0, true, "NO_SWING" ],
  "JUMP_ATTACK_POSE"  => [  3,  0,   5,  2,   0,   0,   0, true,  "" ],
  "INVISIBLE_POSE"    => [  0, -1,   1,  2,   0,   1,   0,false,  "" ],

 #--------------------------------------------------------------------------
 # ++ Weapon Sprite Animation
 #--------------------------------------------------------------------------
  # Weapon Sprite Animation keys are not to be used directly within action
  # sequences. Instead, they are utilized in Battler Frame Animation hash
  # arrays.
  #
  # The amount of frames a Weapon Sprite Animation has from start to finish
  # is equal to the number of frames in a row of a character graphic.
  #
  # Xa - Distance weapon sprite is moved on the X-axis.
  # Ya - Distance weapon sprite is moved on the Y-axis.  Please note that
  #      the Y-axis is inverted. This means negative values move up, positive
  #      values move down.
  # Za - true: Weapon sprite is displayed over battler sprite.
  #      false: Weapon sprite is displayed behind battler sprite.
  # A1 - Starting angle of weapon sprite rotation.  Negative numbers will
  #      result in counter-clockwise rotation.
  # A2 - Ending angle of weapon sprite.  Rotation will stop here.
  # Or - Rotation Origin - [0: Center] [1: Upper Left] [2: Upper Right]
  #                        [3:Bottom Left] [4:Bottom Right]
  # Inv - Invert - If true, horizontally inverts weapon sprite.
  # Xs - X scale - Stretches weapon sprite horizontally by a factor of X.
  #                Values may be decimals. (0.6, 0.9, etc.)
  # Ys - Y scale - Stretches weapon sprite vertically by a factor of Y.
  #                Values may be decimals. (0.6, 0.9, etc.)
  # Xp - X pitch - For adjusting the X axis. This number changes the initial
  #                X coordinate.
  # Yp - Y pitch - For adjusting the Y axis. This number changes the initial
  #                Y coordinate.
  # Weapon2 - If set to true, Two Weapon Style's Weapon 2 sprite will be used
  #           instead.
 
  # ANIME Key         Xa   Ya  Za    A1    A2  Or  Inv  Xs  Ys   Xp   Yp Weapon2
  "NO_SWING"     => [  0,  0, false, 260, 260,  4, false,  1,  1,  0,  0,false],
  "VERT_SWING"   => [  0,  0, false,-135,  45,  4, false,  1,  1,  0,  0,false],
  "VERT_SWINGL"  => [  0,  0, false,-135,  45,  4, false,  1,  1,  0,  0, true],
  "UNDER_SWING"  => [  6,  8, false, 270,  45,  4, false,  1,  1, -4, -6,false],
  "OVER_SWING"   => [  6,  8, false,  45,-100,  4, false,  1,  1, -4, -6,false],
  "RAISED"       => [  6, -4, false,  90, -45,  4, false,  1,  1, -4, -6,false],

 #--------------------------------------------------------------------------
 # ++ Battler Movement
 #--------------------------------------------------------------------------
  # Command a battler to move to a specified point on the battle field.
  #
  # Origin - Defines the origin of movement based on an (x,y) coordinate plane.
  #             [0: Battler's Current Position]
  #             [1: Center of Battler's Selected Target]
  #             [2: Screen; (0,0) is at upper-left of screen]
  #             [3: Battler's Start Position]
  #             [4: "Head" of Battler's Selected Target]
  #             [5: "Feet" of Battler's Selected Target]
  # X - X-axis pixels from origin.  1 unit = 1 pixel
  # Y - Y-axis pixels from origin.  Please note that the Y-axis is
  #     inverted. This means negative values move up, positive values
  #     move down.  1 unit = 1 pixel
  # Time - Total travel time from starting to end point. 
  #        Larger numbers are slower.
  # Accel - Positive values accelerates frames.  Negative values decelerates.
  # Jump - Negative values produce a jumping arc.  Positive values produce
  #        a reverse arc.  [0: No jump]
  # Animation - Battler Frame Animation utilized during moving.

  # ANIME Key                  Origin  X   Y  Time Accel Jump  Pose
  "NO_MOVE"                 => [  0,   0,   0,  1,   0,   0,  "STAND_POSE"],
  "BATTLE_ENTRANCE"         => [  0,  54,   0,  1,   0,   0,  "MOVE_POSE"],
  "STEP_FORWARD"            => [  3, -32,   0, 18,  -1,   0,  "MOVE_POSE"],
  "STEP_BACKWARD"           => [  0,  32,   0,  8,  -1,   0,  "MOVE_POSE"],
  "4_MAN_MOVE-RALPH"        => [  2, 444,  96, 18,  -1,   0,  "MOVE_POSE"],
  "4_MAN_MOVE-ULRIKA"       => [  2, 444, 212, 18,  -1,   0,  "MOVE_POSE"],
  "4_MAN_MOVE-BENNETT"      => [  2, 384,  64, 18,  -1,   0,  "MOVE_POSE"],
  "4_MAN_MOVE-YLVA"         => [  2, 384, 244, 18,  -1,   0,  "MOVE_POSE"],
  "KNOCKBACK"               => [  0,   2,   0,  4,  -1,   0,  "HURT_POSE"],
  "LIGHT_KNOCKBACK"         => [  0,  12,   0,  1,   1,   0,  "HURT_POSE"],
  "FLEE_SUCCESS"            => [  0, 300,   0,300,   1,   0,  "MOVE_AWAY_POSE"],
  "FLEE_FAIL"               => [  0,  48,   0, 16,   1,   0,  "MOVE_AWAY_POSE"],
  "VICTORY_JUMP"            => [  0,   0,   0, 20,   0,  -2,  "VICTORY_POSE"],
  "MOVE_ON_TARGET"          => [  1,   0,   0, 18,  -1,   0,  "MOVE_POSE"],
  "MOVE_ON_TARGET_FAST"     => [  1,   0, -12,  8,   0,  -2,  "MOVE_POSE"],
  "MOVE_TO_TARGET"          => [  1,  24,   0, 36,  -1,   0,  "ATTACK_MOVE_POSE"],
  "MOVE_TO_TARGET_FAST"     => [  1,  24,   0,  1,   0,   0,  "MOVE_POSE"],
  "MOVE_RIGHT_OF_TARGET"    => [  1,  96,  32, 16,  -1,   0,  "MOVE_POSE"],
  "MOVE_LEFT_OF_TARGET"     => [  1,  96, -32, 16,  -1,   0,  "MOVE_POSE"],
  "JUMP_FORWARD"            => [  0, -32,   0,  8,  -1,  -4,  "MOVE_POSE"],
  "JUMP_BACK"               => [  0,  32,   0,  8,  -1,  -4,  "MOVE_AWAY_POSE"],
  "JUMP_TO_TARGET"          => [  1,  12, -12, 12,  -1,  -6,  "MOVE_POSE"],
  "MOVE_THROWING_ALLY"      => [  0, -24,   0, 16,   0,  -2,  "MOVE_POSE"],
  "TRAMPLE"                 => [  1,  12, -32, 12,  -1,  -6,  "HIGH_PRIORITY"],
  "JUMP_ATTACK"             => [  0, -32,   0, 12,  -1,  -2,  "WPN_SWING_V"],
  "STEP_ATTACK"             => [  1,  12,   0, 12,  -1,  -5,  "WPN_SWING_VS"],
  "REAR_SWEEP_ATTACK"       => [  1,  12,   0, 16,   0,  -3,  "WPN_SWING_V"],
  "LONG_JUMP_ATTACK"        => [  1,   0,   0, 16,   0,  -5,  "WPN_SWING_V"],
  "DASH_ATTACK"             => [  1, -96,   0, 16,   2,   0,  "WPN_SWING_V"],
  "RIGHT_DASH_ATTACK"       => [  1, -96,  32, 16,   2,   0,  "WPN_SWING_V"],
  "LEFT_DASH_ATTACK"        => [  1, -96, -32, 16,   2,   0,  "WPN_SWING_V"],
  "RIGHT_DASH_ATTACK2"      => [  1,-128,  48, 16,   2,   0,  "WPN_SWING_V"],
  "LEFT_DASH_ATTACK2"       => [  1,-128, -48, 16,   2,   0,  "WPN_SWING_V"],
  "MOVE_TO_TARGET_HEAD"     => [  4,  24,   0, 36,  -1,   0,  "MOVE_POSE"],
  "MOVE_TO_TARGET_FEET"     => [  5,  24,   0, 36,  -1,   0,  "MOVE_POSE"],
  "EVADE_JUMP"              => [  0,  32,   0, 16,   0,  -4,  "EVADING_POSE"],

 #--------------------------------------------------------------------------
 # ++ Battler Float Movement
 #--------------------------------------------------------------------------
  # Battler Float Animation hashes define the movement of battlers from their
  # own shadows.  Note that it is not possible to move horizontally with
  # Battler Movements hashes while simultaneously floating from a shadow.
  #
  # Type - Always "float".
  # A - Starting float height. Negative values move up.
  #                            Positive values move down.
  # B - Ending float height.  This height is maintained until another action
  #                           is used.
  # Time - Total duration of movement from point A to point B
  # Animation - Specifies the Battler Frame Animation to be used.
 
  # ANIME Key         Type     A    B  Time  Animation
  "FLOAT_"      => ["float", -22, -20,  2, "STAND_POSE"],
  "FLOAT_2"     => ["float", -20, -18,  2, "STAND_POSE"],
  "FLOAT_3"     => ["float", -18, -20,  2, "STAND_POSE"],
  "FLOAT_4"     => ["float", -20, -22,  2, "STAND_POSE"],
  "FLOAT_STOP"  => ["float",   0, -80,  4, "STAND_POSE"],
  "FLOAT_LAND"  => ["float", -80,   0,  4, "STAND_POSE"],
  "LIFT_ALLY"   => ["float",   0, -30,  4, "STAND_POSE"],
 
 #--------------------------------------------------------------------------
 # ++ Battler Position Reset
 #--------------------------------------------------------------------------
  # Battler Position Reset hashes define when a battler's turn is over and
  # will reset the battler back to its starting coordinates.  This type of
  # ANIME hash is required in all sequences.
  #
  # Please note that after a sequence has used a Battler Position Reset hash,
  # no more damage can be done by the battler because its turn is over.
  #
  # Type - Always "reset"
  # Time - Total travel time from current location to start coordinates.
  #        Distance from start coordinates determines visual movement speed.
  # Accel - Positive values accelerate.  Negative values decelerate.
  # Jump - Negative values produce a jumping arc.  Positive values produce
  #        a reverse arc.  [0: No jump]
  # Animation Key - Specifies the Battler Frame Animation hash to be used.
 
  # ANIME Key         Type   Time Accel Jump   Pose Key
  "RESET"         => ["reset", 16,  0,   0,  "MOVE_POSE"],
  "FLEE_RESET"    => ["reset", 16,  0,   0,  "MOVE_AWAY_POSE"],
  "JUMP_RESET"    => ["reset", 16,  0,  -2,  "MOVE_TO"],
 
 #--------------------------------------------------------------------------
 # ++ Force Battler Action
 #--------------------------------------------------------------------------
  # These types of ANIME hash allow forced control of other battler objects
  # that you define.  This is particuarly used to control battlers when
  # it is not their turn.
  #
  # Type - Specifies action type.  "SINGLE" or "SEQUENCE"
  #
  # Object -    The battler(s) that will execute the specific action defined under
  #          ANIME/ACTION Key. 0 is for selected target.  Any other positive
  #          number is a State ID number (1~999) that will force all battlers
  #          with that State on them to execute the ANIME/ACTION Key.
  #             By adding a - (minus sign) followed by a Skill ID number (1~999),
  #          the actors that know that Skill ID will execute the defined
  #          ANIME/ACTION Key except the active battler.
  #             If you want to define a specific actor as the Object,
  #          add 1000 to their index ID number. If the system cannot designate
  #          the index number(such as if actor is dead or ran away), it will
  #          select the nearest one starting from 0.  If a response fails,
  #          the action will be cancelled. (Example: Ylva's actor ID is 4.  A
  #          value of 1004 would define Ylva as the Object.)
  #
  # Reset Type - Specifies method of returning the battler to its original
  #                 location.
  # ANIME/ACTION Key - Specifies action used.  If Type is SINGLE,
  #               must be an ANIME hash key.  If Type is SEQUENCE,
  #               must an ACTION sequence key.

  #  ANIME Key              Type   Object   Reset Type      ANIME/ACTION Key
  "FORCE_KNOCKBACK"    => ["SINGLE",     0,  "RESET",  "LIGHT_KNOCKBACK"],
  "FORCE_ROTATION"     => ["SINGLE",     0,  "RESET",  "CLOCKWISE_TURN"],
  "FORCE_SHRINK"       => ["SINGLE",     0,  "RESET",  "Y_SHRINK"],
  "IMPACT_1"           => ["SINGLE",     0,  "RESET",  "OBJ_TO_SELF"],
  "FORCE_LIFT_ALLY"    => ["SINGLE",     0,       "",  "LIFT_ALLY"],
  "ULRIKA_ATTACK"      => ["SEQUENCE",   18, "RESET",  "ULRIKA_ATTACK_1"],
  "FORCE_ULRIKA"       => ["SEQUENCE", -101, "RESET",  "4_MAN_ATK-ULRIKA"],
  "FORCE_BENNETT"      => ["SEQUENCE", -102, "RESET",  "4_MAN_ATK-BENNETT"],
  "FORCE_YLVA"         => ["SEQUENCE", -103, "RESET",  "4_MAN_ATK-YLVA"],
  "ALLY_FLING"         => ["SEQUENCE", 1000, "RESET",  "THROW"],
 
 #--------------------------------------------------------------------------
 # ++ Target Modification
 #--------------------------------------------------------------------------
  # Changes battler's target in battle. Original target will still be stored. 
  # Current battler is the only battler capable of causing damage.
  #
  # Type - Always "target"
  #
  # Object -    The battler that will have its target modified.  0 is selected
  #          target, any other number is a State ID number (1~999), and
  #          changes all battlers with that state on them to target the new
  #          designated target.
  #             If you want to designate an actor by their index ID number,
  #          add 1000 to their index ID number. If the system cannot designate
  #          the index number(such as if actor is dead or ran away), it will
  #          select the nearest one starting from 0.  If a response fails,
  #          the ACTION will be cancelled. (Example: Ylva's actor ID is 4.  A
  #          value of 1004 would define Ylva as the Object.)
  #
  # Target - New Target. [0=Self]  [1=Self's Target]
  #                      [2=Self's Target After Modification]
  #                      [3=Reset to Previous Target (if 2 was used)]
 
  # ANIME Key                  Type   Object  Target
  "REAL_TARGET"           => ["target",    0,  0],
  "TWO_UNIFIED_TARGETS"   => ["target",   18,  1],
  "FOUR_UNIFIED_TARGETS"  => ["target",   19,  1],
  "ALLY_TO_THROW"         => ["target", 1000,  2],
  "THROW_TARGET"          => ["target", 1000,  3],
 
 #--------------------------------------------------------------------------
 # ++ Skill Link (Derivating Skills)
 #--------------------------------------------------------------------------
  # Allows you use another skill directly from an action sequence.
  #
  # Linking to another skill will immediately terminate the action sequence
  # the Skill Link was used in.  Linking to the next skill will also
  # require and consume the MP/HP cost of that skill. 
  #
  # You can also define the probability of a successful Skill Link. If the
  # skill link is not successful, the link will be skipped and the sequence
  # will continue as normal.
  #
  # Type - Always "der"
  # Chance - Percentage chance for a successful skill link. (0~100)
  # Learned? - true: actor does not require Skill ID learned to link.
  #            false: actor requires Skill ID learned.
  # Skill ID - ID of the skill that will be linked to.
 
  # ANIME Key            Type  Chance Learned? Skill ID
  "LINK_SKILL_91"     => ["der", 100,  true,   91],
  "LINK_SKILL_92"     => ["der", 100,  true,   92],
 
 #--------------------------------------------------------------------------
 # ++ Action Sequence Conditions
 #--------------------------------------------------------------------------
  # Allows you to create a conditional statement within an action sequence.
  #
  # If the condition is met, the ACTION sequence will continue processing
  # normally.  If the condition is not met, the battler's turn will immediately
  # be ended and will reset to its start coordinate.
  #
  # A: Type - always "nece"
  # B: Object - Object(s) that Condition refers to. [0=Self] [1=Target]
  #                                           [2=All Enemies] [3=All Allies]
  # C: Content - [0=State] [1=Parameter] [2=Switch] [3=Variable] [4=Skill]
  #
  # D: Condition - Condition is determined by the value you set for Content.
  # [0] State: State ID Number
  # [1] Parameter: [0=Current HP] [1=Current MP] [2=ATK] [3=DEF] [4=SPI] [5=AGI]
  # [2] Switch: Game Switch Number
  # [3] Variable: Game Variable Number
  # [4] Skill: Skill ID Number
  #
  # E: Condition Value - Value required for the Condition as defined above.
  # [0] State: Exact amount of states required.  If number is positive, the
  #            condition is how many have the state, while a negative number
  #            are those who don't have the state.
  # [1] Parameter: If Object is more than one battler, average is used.
  #                Success if Parameter is greater than value.  If Value
  #                is negative, then success if lower than value.
  # [2] Switch: If Condition is 2, Condition Value must be true or false.
  #             [true: Switch ON succeeds] [false: Switch OFF succeeds]
  # [3] Variable: Game Variable value used to determine if condition is met. If
  #               Condition Value is positive, Game Variable must have more
  #               than the defined amount to succeed.  If Condition Value has a
  #               minus symbol (-) attached, Game Variable must have less than
  #               the defined amount to succeed.  (Ex: -250 means the Game
  #               Variable must have a value less than 250 to succeed.)
  # [4] Skill: Required amount of battlers that have the specified Skill
  #            ID learned.
 
  # ANIME Key                 Type  Obj  Cont  Cond  Cond Value
  #                             A     B   C    D    E
  "CONDITION_STATE_18"  => ["nece",   3,  0,  18,   1],
  "CONDITION_STATE_19"  => ["nece",   3,  0,  19,   3],
  "CONDITION_STATE_17"  => ["nece",   0,  0,  17,   1],
  "CONDITION_STATE_CAT" => ["nece",   0,  0,  20,   1],
 
 #--------------------------------------------------------------------------
 # ++ Battler Sprite Angle
 #--------------------------------------------------------------------------
  # Rotates battler sprite image. Weapon Animations do not automatically
  # rotate with the battler when used in conjunction with Battler Sprite
  # Rotation ANIME Keys.
  #
  # Type - always "angle"
  # Time - Duration duration of rotation animation in frames.
  # Start - Starting angle. 0-360 degrees.  Can be negative.
  # End - Ending Angle. 0-360 degress.  Can be negative.
  # Return - true: End of rotation is the same as end of duration.
  #          false: Rotation animation as defined.
 
  # ANIME Key                    Type   Time Start  End  Return
  "DEAD_ANGLE"                => ["angle",  1, -90, -90,false],
  "CLOCKWISE_TURN"            => ["angle", 48,   0,-360,false],
  "COUNTERCLOCKWISE_TURN"     => ["angle",  6,   0, 360,false],

 #--------------------------------------------------------------------------
 # ++ Battler Sprite Zoom
 #--------------------------------------------------------------------------
  # Stretch and shrink battler sprites.  Battler zoom is always temporary.
  #
  # Type - always "zoom"
  # Time - Duration of zoom animation in frames.
  # X - X scale - Stretches battler sprite horizontally by a factor of X.
  #               1.0 is normal size, 0.5 is half size.
  # Y - Y scale - Stretches battler sprite vertically by a factor of Y.
  #               1.0 would be normal size, 0.5 would be half size.
  # Return - true: End of rotation is the same as end of duration.
  #          false: Zoom animation as defined.
 
  # ANIME Key            Type  Time   X    Y   Return
  "X_SHRINK"         => ["zoom", 16, 0.5, 1.0, true],
  "Y_SHRINK"         => ["zoom", 16, 1.0, 0.5, true],
 
 #--------------------------------------------------------------------------
 # ++ Battle Animation (Damage)
 #--------------------------------------------------------------------------
  # These ANIME hashes deal with animations, particularly with those assigned
  # in the Database for Weapons, Skills and Items.  These are what causes
  # any damage/healing/state/etc. application from Weapons, Skills and Items.
  #
  # A difference between "anime" and "m_a" ANIME hashes is that
  # "anime" triggered animations will move with the Object on the screen.  The
  # Z-axis of animations will always be over battler sprites.
  #
  # If the "ID" variable is -1, -2, or -3 the ANIME hash will cause damage
  # and attempt to apply any states assigned to the weapon, skill, or item.
  #
  # If the "ID" variable is -3, it will only cause object damage with no
  # associated animation.
  #
  # If the "ID" variable is -4, it will only produce an animation (if any).
  #
  # Type - always "anime"
  # ID: [1~999: Database Animation ID.]
  #     [-1: Deal damage and uses item/skill/weapon animation in game Database.]
  #     [-2: Deal damage and uses equipped Weapon's animation.]
  #     [-3: Deal damage and not use any animation.]
  #     [-4: Uses item/skill/weapon assigned database animation. No damage.]
  # Object - [0=Self] [1=Target]
  # Invert - If set to true, the animation is inverted horizontally.
  # Wait - true: Sequence will not continue until animation is completed.
  #        false: Sequence will continue regardless of animation length.
  # Weapon2 - true: If wielding two weapons, animation is used from Weapon 2.
 
  # ANIME Key               Type     ID  Object Invert  Wait  Weapon2
  "DAMAGE_ANIM"         => ["anime",  -1,  1,   false,  false, false],
  "DAMAGE_ANIM_WAIT"    => ["anime",  -1,  1,   false,   true, false],
  "WEAPON_DAMAGE"       => ["anime",  -2,  1,   false,  false, false],
  "WEAPON2_DAMAGE"      => ["anime",  -2,  1,   false,  false,  true],
  "WEAPON_DAMAGE_WAIT"  => ["anime",  -2,  1,   false,   true, false],
  "WEAPON2_DAMAGE_WAIT" => ["anime",  -2,  1,   false,   true,  true],
  "DAMAGE"              => ["anime",  -3,  1,   false,  false, false],
  "ANIM"                => ["anime",  -4,  1,   false,  false, false],
  "ANIM_WAIT"           => ["anime",  -4,  1,   false,   true, false],
  "ANIM_ON_SELF"        => ["anime",  -4,  0,   false,  false, false],
  "ANIM_ON_SELF_WAIT"   => ["anime",  -4,  0,   false,   true, false],
  "ANIMATION_1"         => ["anime",   1,  1,   false,  false, false],
  "ANIMATION_11"        => ["anime",  11,  1,   false,  false, false],

  # It is best to explain what each anime key listed above does since
  # they are often used and are very important.
  # 'object animation' refers to what the defined database animation is as
  # assigned in the database (i.e. Item animation, Skill animation or
  # Weapon animation)
  #
  # "DAMAGE_ANIM"
  #   - Deal damage AND plays object animation.
  # "DAMAGE_ANIM_WAIT"
  #   - Deal damage AND plays object animation AND delays the sequence
  #     until animation is finished. This DOES NOT delay the damage.
  # "WEAPON_DAMAGE"
  #   - Deal damage AND plays equipped Weapon animation (even if a skill
  #     or item is used)
  # "WEAPON2_DAMAGE"
  #   - Deal damage AND plays equipped Weapon 2 animation (even if a skill
  #     or item is used)
  # "WEAPON_DAMAGE_WAIT"
  #   - Deal damage AND plays equipped Weapon animation (even if a skill
  #     or item is used). Delays sequence.
  # "WEAPON2_DAMAGE_WAIT"
  #   - Deal damage AND plays equipped Weapon 2 animation (even if a skill
  #     or item is used). Delays sequence.
  # "DAMAGE"
  #   - Deals damage ONLY. Does not play object animation.
  # "ANIM"
  #   - Only plays object animation. Does not delay sequence.
  #     DOES NOT deal damage.
  # "ANIM_WAIT"
  #   - Plays object animation AND delays the sequence until the animation
  #     is finished. DOES NOT deal damage.
  # "ANIM_ON_SELF_WAIT"
  #   - Always plays object animation on self AND delays the sequence
  #     until the animation is finished. DOES NOT deal damage.
  # Positive ID numbers
  #   - "anime" hashes with a positive ID number refers to the animation ID
  #     in the Animations tab in your Database. These will never cause damage.
 
 #--------------------------------------------------------------------------
 # ++ Moving Animations
 #--------------------------------------------------------------------------
  # Allows extended control of database animations when they are used in battle.
  #
  # Moving Animation keys provide motion options for animations made in the
  # database. Used for effects such as long-ranged attacks and projectiles. 
  # Weapon sprites can also substitute animations.
  #
  # A difference between Moving Animation and Battle Animation hashes is that
  # Moving Animations will stay where the Object was even if the Object moves
  # while the animation plays.
  #
  # Moving Animation hashes are the only way to utilize the flying graphics
  # assigned to skills, items, and weapons. If the Flying Graphic Angle
  # is left blank (i.e. "") then no flying graphic will be used.
  #
  # Type - always "m_a"
  # ID - 1~999: Database Animation ID
  #          0: No database animation used.
  # Object - Animation's target. [0=Target] [1=Enemy's Area]
  #                              [2=Party's Area] [4=Self]
  # Pass -  [0: Animation stops when it reaches the Object.]
  #         [1: Animation passes through the Object and continues.]
  # Time - Total travel time of animation from starting to end point.  Larger
  #        values slow down travel speed.  This value also determines the length
  #        of time the animation will display on screen.  It is possible for
  #        animations to get cut short before it completes.  Increase this value
  #        to ensure that animations don't get cut short.
  # Arc - Trajectory - Positive values produce a low arc.
  #                    Negative values produce a high arc.
  #                    [0: No Arc]
  # Xp - X Pitch - Adjusts the initial X coordinate of the animation.
  #                Enemy calculation will be automatically inverted.
  # Yp - Y Pitch - Adjusts the initial Y coordinate of the animation.
  # Start - Defines origin of animation movement.
  #              [0=Self] [1=Target] [2=No Movement]
  # Z-axis - true: Animation will be over the battler sprite.
  #          false: Animation will be behind battler sprite.
  # Flying Graphic Angle - Insert only "Flying Graphic Angle" and
  #                        "Flying Graphic Skill Angle" ANIME keys.
  #                        For no weapon sprite, use "".
 
  # ANIME Key               Type   ID Object Pass Time Arc  Xp Yp Start Z FlyGraphicAngle
  "CAST_ANIMATION"      => ["m_a", 86,   4,  0,  52,   0,  0,  0,  2,false,""],
  "OBJ_TO_SELF"         => ["m_a",  4,   0,  0,  24,   0,  0,  0,  1,false,""],
  "START_WEAPON_THROW"  => ["m_a",  0,   0,  0,  18, -24,  0,  0,  0,false,"WPN_ROTATION"],
  "END_WEAPON_THROW"    => ["m_a",  0,   0,  0,  18,  24,  0,  0,  1,false,"WPN_ROTATION"],
  "PLAY_AREA_ANIM"      => ["m_a", 80,   1,  0, 120,   0,  0,  0,  2, true,""],
 
 #--------------------------------------------------------------------------
 # ++ Flying Graphic Angle
 #--------------------------------------------------------------------------
  # Allows rotation of weapon sprites that are utilized within Animation
  # Movement hashes.
  #
  # You can assign a different weapon graphic to be thrown in this
  # configuration script under Throwing Weapon Graphic Settings.
  #
  # Start - Starting angle in degrees (0-360)
  # End - Ending angle in degrees. (0-360)
  # Time - Duration, in frames, of a single rotation.  Rotation will continue
  #        until the animation is complete.
 
  # ANIME Key           Start  Angle  Time
  "WPN_ROTATION"     => [   0, 360,  8],
 
 #--------------------------------------------------------------------------
 # ++ Flying Graphic Angle (Skill)
 #--------------------------------------------------------------------------
  # Different from Throwing Weapon Rotation. These ANIME hashes are used to
  # rotate weapon sprites that are "thrown" with Movement of Animation ANIME
  # objects. These are specifically used with skills. You may assign a different
  # weapon graphic to be thrown in this configuration script under
  # Throwing Weapon Graphic Settings. 
  #
  # Start - Starting angle in degrees (0-360)
  # End - Ending angle in degrees. (0-360)
  # Time - Duration, in frames, of a single rotation.  Rotation will continue
  #        until the animation is complete.
  # Type - Always "skill".
 
  # ANIME Key               Start  End Time  Type
  "WPN_ROTATION(SKILL)"  => [   0, 360,  8, "skill"],
 
 #--------------------------------------------------------------------------
 # ++ Emotion Balloon Animation
 #--------------------------------------------------------------------------
  # Uses Balloon.png in the System folder.
  #
  # Type - Always "balloon"
  # Row - Determines row from the Balloon.png (0~9)
  # Loop - Balloon loop behavior.  Balloon disappears when loop is
  #        complete. [0="One-Way" Loop] [1="Round-Trip" Loop]
 
  # ANIME Key          Type        Row  Loop
  "BALLOON-COBWEB" => ["balloon",   6,  1],
  "BALLOON-SWEAT"  => ["balloon",   5,  1],
  "BALLOON-SLEEP"  => ["balloon",   9,  1],
 
 #--------------------------------------------------------------------------
 # ++ Sound Effects
 #--------------------------------------------------------------------------
  # Provides use of sound effects, background music, and background
  # sounds directly through an ACTION sequence.
  #
  # Type1 - always "sound"
  # Type2 - ["se","bgm","bgs"]
  # Pitch - Value between 50 and 150.
  # Vol - Volume - Value between 0 and 100.
  # Filename - Name of the sound to be played.
 
  # ANIME Key         Type1   Type2  Pitch Vol   Filename
  "absorb1"       => ["sound", "se",  80, 100, "absorb1"],
 
 #--------------------------------------------------------------------------
 # ++ Game Speed Modifier
 #--------------------------------------------------------------------------
  # Change the frame rate of the game through an ACTION sequence.  Use with
  # care as this function modifies FPS directly and will conversly affect
  # any active timers or time systems.
  #
  # Type - always "fps"
  # Speed - Speed in Frames Per Second.  60 is normal frame rate.
 
  # ANIME Key       Type  Speed
  "FPS_SLOW"    => ["fps",  20],
  "FPS_NORMAL"  => ["fps",  60],
 
 #--------------------------------------------------------------------------
 # ++ State Granting Effects
 #--------------------------------------------------------------------------
  # Provides application of states on battlers directly through
  # an Action Sequence.
  #
  # Type - always "sta+"
  # Object - [0=Self] [1=Target] [2=All Enemies] [3=All Allies]
  #          [4=All Allies (excluding user)]
  # State ID - State ID to be granted.
 
  # ANIME Key              Type  Object  State ID
  "APPLY_STATE_18"     => ["sta+",  0,  18],
  "APPLY_STATE_19"     => ["sta+",  0,  19],
  "APPLY_CAT_STATE"    => ["sta+",  0,  20],
 
 #--------------------------------------------------------------------------
 # ++ State Removal Effects
 #--------------------------------------------------------------------------
  # Provides direct removal of states on battlers directly through
  # an Action Sequence.
  #
  # Type - always "sta-"
  # Object - [0=Self] [1=Target] [2=All Enemies] [3=All Allies]
  #          [4=All Allies (excluding user)]
  # State ID - State ID to be removed.
 
  # ANIME Key          Type  Object  State ID
  "REMOVE_STATE_18" => ["sta-",  3,  18],
  "REMOVE_STATE_19" => ["sta-",  3,  19],

 #--------------------------------------------------------------------------
 # ++ Change Actor Graphic
 #--------------------------------------------------------------------------
  # Type - always "change"
  # Reset - true: Battler sprite reverts back to previously used file after
  #               battle.
  #         false: Transformation is permanent after battle.
  # Filename - Battler graphics file that will be transformed to.
 
  # ANIME Key               Type   Reset  Filename
  "TRANSFORM_CAT"     => ["change", true,"$cat"],
  "TRANSFORM_YLVA"    => ["change", false,"$ylva"],
 
 #--------------------------------------------------------------------------
 # ++ Cut-In Image
 #--------------------------------------------------------------------------
  # Only one image can be displayed at a time.  Image can be removed by using
  # "Clear image" within a sequence.
  #
  # X1 - Image's starting X-coordinate.
  # Y1 - Starting Y-coordinate.
  # X2 - Ending X-coordinate.
  # Y2 - Ending Y-coordinate.
  # Time - Total duration of image movement from start to end point.
  #        Higher values are slower.
  # Z-axis - true: Image appears over BattleStatus Window.
  #          false: Image appears behind BattleStatus Window.
  # Filename - Filename from .Graphics/Pictures folder.
 
  # ANIME Key          Type    X1   Y1   X2   Y2 Time Z-axis  Filename
  "CUT_IN_START"   => ["pic", -280, 48,   0,  64, 12, false, "Actor2-3"],
  "CUT_IN_END"     => ["pic",   0,  48, 550,  64, 12, false, "Actor2-3"],
 
 #--------------------------------------------------------------------------
 # ++ Game Switch Control
 #--------------------------------------------------------------------------
  # Provides direct control of Game Switches directly through
  # an Action Sequence.
  #
  # Type - Always "switch"
  # Switch - Switch number from the game database.
  # ON/OFF - [true:Switch ON] [false:Switch OFF]
  #
  # ANIME Key              Type    Switch  ON/OFF
  "GAME_SWITCH_1_ON"    => ["switch",   1,  true],
 
 #--------------------------------------------------------------------------
 # ++ Game Variable Control
 #--------------------------------------------------------------------------
  # Provides direct control of Game Variables directly through
  # an Action Sequence.
  #
  # Type - Always "variable"
  # Var - Variable Number from the game database.
  # Operand - [0=Set] [1=Add] [2=Sub] [3=Mul] [4=Div] [5=Mod]
  # X - value of the operation.
  #
  # ANIME Key               Type       Var   Oper   X
  "GAME_VAR_1_+1"       => ["variable",   1,   1,    1],
 
 #--------------------------------------------------------------------------
 # ++ Script Operation
 #--------------------------------------------------------------------------
  # Type - Always "script"
  #
  # Inserts a simple script code into the Action Sequence utilizing the eval()
  # method. The sample, where it says p = 1, can be replaced with any script.
  # Character strings can work if the .to_s method is used rather than quotes. 
  # Anything else beyond functions will not work.
 
  # ANIME Key          Type 
  "TEST_SCRIPT"   => ["script", "
 
  p = 1
 
  "],

 #--------------------------------------------------------------------------
 # ++ Special Modifiers Keys - DO NOT CHANGE THESE NAMES
 #--------------------------------------------------------------------------
  # "Clear image" - Clears images such as Cut-in graphics.
  # "Afterimage ON" - Activates Afterimage of battler.
  # "Afterimage OFF" - Deactivates Afterimage.
  # "Invert" - Invert animation. Use Invert again in a sequence to cancel
  #          because "RESET" does not reset Invert.
  # "Don't Wait" - Any actions after Don't Wait is applied are done instantly. 
  #              Apply "Don't Wait" again in a sequence to trigger off.
  # "Can Collapse" - Triggers collapse of battler when HP is 0.
  #                Required in every damage sequence.
  # "Two Wpn Only" - The ANIME key following Two Wpn Only will only execute
  #                if the actor is wielding two weapons.  If the actor is not,
  #                the ANIME key will be skipped and will move on to the next.
  # "One Wpn Only" - The ANIME key following One Wpn Only will only execute
  #                if the actor is wielding one weapon.  If the actor is not,
  #                the ANIME key will be skipped and will move on to the next.
  # "Process Skill" - The Return marker for individual processing of a skill.
  # "Process Skill End" - The End marker for individual processing of a skill.
  # "Start Pos Change" - Changes the Start Position to wherever the battler
  #                    currently is on screen.
  # "Start Pos Return" - Returns battler to original Start Position.
  # "Cancel Action" - Trigger the "end" of battler's turn which will cause the
  #                 the next battler's turn to execute.
  #                 This includes the function of Can Collapse, and no
  #                 additional damage can be dealt by the battler after this.
  # "End" - This is used when no action is automatically recognized.
  #
  # Note: If you wish to understand the Process Skill and Process Skill End
  #       functions, please examine the "SKILL_ALL" sequence in this Config
  #       and use the Float All skill provided in the demo to see how it works.
 
  "Clear image"          => ["Clear image"],
  "Afterimage ON"        => ["Afterimage ON"],
  "Afterimage OFF"       => ["Afterimage OFF"],
  "Invert"               => ["Invert"],
  "Don't Wait"           => ["Don't Wait"],
  "Can Collapse"         => ["Can Collapse"],
  "Two Wpn Only"         => ["Two Wpn Only"],
  "One Wpn Only"         => ["One Wpn Only"],
  "Process Skill"        => ["Process Skill"],
  "Process Skill End"    => ["Process Skill End"],
  "Start Pos Change"     => ["Start Pos Change"],
  "Start Pos Return"     => ["Start Pos Return"],
  "Cancel Action"        => ["Cancel Action"],
  "End"                  => ["End"],
 
 #--------------------------------------------------------------------------
 # ++ Delay Sequence Processing
 #--------------------------------------------------------------------------
  # When there is only a numerical value as an ANIME key, it will be
  # considered a delay, in frames, before the Action Sequence continues.
  # (i.e. "10", "42")  Because of this, ANIME keys for the
  # effects defined above cannot be entirely numerical.  Any Battler
  # Frame Animations that have been prompted will persist when Waiting.
 
  } # <- Do not delete this line.

#==============================================================================
# * RPG Tankentai Sideview Battle System
#   [SBS]Action Sequences
#------------------------------------------------------------------------------
# Action Sequences consist of the ANIME keys defined in [.
#==============================================================================
 

  ACTION = { # <- Do not delete this line.
  #----------------------------------------------------------------------------
  # * About Action Sequences
  #----------------------------------------------------------------------------
  # Think of Action Sequences as a list of orders/commands given to a battler
  # in a given situation. Battlers are *always* using an Action Sequence even
  # when you think they are doing nothing. A battler can only process one
  # Action Sequence at a time.
  #
  # Action Sequences can be assigned to skills, items, weapons, and certain
  # types of actions in sections of the SBS Configuration script.
  #
  #----------------------------------------------------------------------------
  # * Defining Action Sequences
  #----------------------------------------------------------------------------
  # Action Sequences in this section are defined with the following syntax:
  #
  # Action Sequence Key        =>              Hash Array              Comma
   "EXAMPLE_ACTION_SEQUENCE"   =>  ["ANIME_KEY_1", "30", "ANIME_KEY_2"],
  #
  # Action Sequence Key - Can be any name you want as long as it does not
  #                       contain only numbers such as "5" or "42".
  #                       Remember that Action Sequence Keys are case-sensitive
  #                       when they are used. If an Action Sequence Key is
  #                       mispelled or does not exist when used, it will result
  #                       in an error.
  #
  # => - Must be between the Action Sequence Key and the Hash Array.
  #
  # Hash Array - Consists of the pre-defined ANIME Keys from the ANIME section
  #              of the SBS Configuration script. You can list as many
  #              ANIME Keys within a hash array as you like as long as they
  #              are separated by commas and are between the square brackets.
  #              When the Action Sequence Key is used, the script will process
  #              any keys in the hash array from left to right, in order.
  #              If an ANIME Key contains only an integer (such as "30"), it
  #              will delay the processing of the Action Sequence by
  #              1/60 second increments depending on the integer value of
  #              the key.
  #
  # Comma - All Action Sequences must end with a comma after the
  #         closing square bracket. Forgetting to include the comma will
  #         result in a syntax error.
  #----------------------------------------------------------------------------
  # TIP: I recommend that you copy an existing action sequence, change the
  # name of the Action Sequence Key and modify the sequence from there.
 
#------------ Create your own custom Action Sequences BELOW this line ---------


                         
#------------ Create your own custom Action Sequences ABOVE this line ---------


#--------------------------- Default Action Sequences -------------------------
# Default Action Sequences used when certain actions are not defined to
# another specific Action Sequence.
  #----------------------------------------------------------------------------
  # "ENEMY_UNARMED_ATK" is the most basic action sequence you can try to
  # understand. It is an action sequence used by enemies when they attack
  # without an equipped weapon. I have formatted the anime keys within the
  # action sequence as a vertical list. It does not matter how much whitespace
  # there is between each key as long as it is in the hash format as explained
  # above.
 
  # Action Sequence Key
  "ENEMY_UNARMED_ATK" => [ 
              # Anime Keys
              "MOVE_TO_TARGET",     # Move to the selected target
              "WPN_SWING_V",        # Swing weapon/play attack pose
              "DAMAGE_ANIM_WAIT",   # Do damage and wait for animation
              "Can Collapse",       # Allow targets to die if at 0 HP
              "FLEE_RESET"          # Return to original battle coordinates
              ], # <-- Don't forget the closing bracket and comma!
                       
  # Even though the use of "WPN_SWING_V" in this sequence is kind of strange
  # since this sequence is used for when enemies don't have weapons, it will
  # still play the battler's attack pose (if they are animated).
  #
  # When you go into battle with an unarmed enemy, examine their actions.
  # You will see that they will follow this exact sequence.
  #----------------------------------------------------------------------------
  # "NORMAL_ATTACK" is the action sequence used when an actor uses the attack
  # command. It is also the default sequence used when using a weapon that
  # does not have a specific action sequence assigned to it.
  # It is similar to "ENEMY_UNARMED_ATK" except that it also takes into
  # consideration if the actor is wielding two weapons.
 
  # Action Sequence Key
  "NORMAL_ATTACK" => [              # Remember the => and [
              # Anime Keys
              "MOVE_TO_TARGET",     # Move to selected target
              "WPN_SWING_V",        # Swing weapon & do attack pose
              "DAMAGE_ANIM_WAIT",   # Do damage/healing and wait for animation
              "12",                 # Delay sequence for 12 frames
              "WPN_SWING_VL",       # Swing Weapon 2 (if they have one)
              "WEAPON2_DAMAGE",     # Do damage and animation of Weapon 2
              "Two Wpn Only",       # Special sequence modifier
              "16",                 # Delay for 16 frames (if dual-wielding)
              "Can Collapse",       # Allow targets to die if at 0 HP
              "FLEE_RESET"          # Return to original battle coordinates
              ], # <-- Don't forget the closing bracket and comma!

  # "Two Wpn Only" is a special modifier that checks if the actor is holding
  # two weapons. If the actor is not holding two weapons, it will ignore the
  # NEXT immediate key and the sequence will continue normally.
  #----------------------------------------------------------------------------
  # "SKILL_USE" is the default action sequence used for skills that do not
  # have a specific action sequence assigned to it. It is very basic as it
  # only hits once. Damage is dealt at the end of the animation.

  # Action Sequence Key
  "SKILL_USE"  => [     # Remember the => and [
    # Anime Keys
    "STEP_FORWARD",     # Step forward from current position
    "SKILL_POSE",       # Play cast pose (replaces the pose "STEP_FORWARD" used)
    "24",               # Delay sequence for 24 frames
    "CAST_ANIMATION",   # Play cast animation on self
    "ANIM_WAIT",        # Play skill/weapon/item animation, wait until it's done
    "4",                # Delay sequence for 4 frames
    "DAMAGE",           # Deal damage
    "Can Collapse",     # Allow targets to die if at 0 HP
    "24",               # Delay sequence for 24 frames
    "RESET"       # Return to original battle coordinates
      ], # <-- Don't forget the closing bracket and comma!
                   
  # A problem many users have with "SKILL_USE" is that it is obviously a
  # ranged attack and does not take into account if you want the skill
  # to be close-ranged. To assign another action sequence to a skill, read the
  # section called Skill Action Sequence Settings.
  #----------------------------------------------------------------------------
  # "ITEM_USE" is the default action sequence for usable items in battle.
  # It is a very simple action sequence so there isn't much to say.
 
  # Action Sequence Key
  "ITEM_USE" => [                 # Remember the => and [
              # Anime Keys
              "MOVE_TO_TARGET",   # Move to selected target
              "STAND_POSE",       # Play wait pose
              "24",               # Delay sequence for 24 frames
              "DAMAGE_ANIM_WAIT", # Do damage/healing
              "Can Collapse",     # Allow targets to die if at 0 HP
              "RESET"             # Reset to original battle coordinates
              ], # <-- Don't forget the closing bracket and comma!
 
#------------------------------- Basic Actions --------------------------------
# These sequences that are used for various states and situations, but are
# not meant to be used directly such as by skills, items, and such.
#
# Basic Actions are grouped into two categories: looped sequences
# and non-looped sequences.
#
# Keep in mind that even though these are default sequences, you can freely
# edit them to suit your needs.
#
# The action sequences here are not formatted in a vertical list like the
# ones above, but will process their keys in the same exact way.

#--------------------- Looping Basic Action Sequences -------------------------

  # Standby action sequence
  "WAIT"              => ["STANDBY_POSE"],
                         
  # Used when battler is at 25% or less health.
  "WAIT-CRITICAL"        => ["CRITICAL_POSE"],
                         
  # Used when battler is inflicted with by certain debuffs.
  "WAIT-DEBUFF"      => ["NO_MOVE","STAND_POSE","BALLOON-COBWEB","22"],
                         
  # Used when battler is inflicted with Sleep.
  "WAIT-SLEEP"          => ["NO_MOVE","STAND_POSE","BALLOON-SLEEP","22"],
                         
  # Used when battler is inflicted with Float.
  "WAIT-FLOAT"          => ["STAND_POSE","6","FLOAT_","4",
                          "FLOAT_2","4","FLOAT_3","4",
                          "FLOAT_4","4"],

  # Used when battler uses the Guard command.
  "GUARDING"              => ["STAND_POSE","4","CONDITION_STATE_17","FLOAT_",
                          "2","FLOAT_2","2","FLOAT_3","2",
                          "FLOAT_4","2"],
                         
  # Kaduki charging action sequence for ATB use only.
 
  "CHARGING"          => ["SKILL_POSE"],

#------------------- Non-looping Basic Action Sequences -----------------------

  # "ENTER_BATTLE" - Used at the start of battle when battlers enter the
  # battlefield. They will start a small length away from their start position
  # before stepping forward. This sequence will also be used when battlers
  # join in the middle of battle.
  "BATTLE_START"          => ["BATTLE_ENTRANCE","RESET"],
 
  # Used when the battler is incapacitated and not immortal.
  "DEAD"              => ["DEAD_POSE"],
 
  # Used when a battler is hurt by damage
  "HURT"          => ["KNOCKBACK","RESET"],
 
  # Used when actors successfully escape battle.
  "FLEE"              => ["FLEE_SUCCESS"],
                         
  # Used when enemies successfully escape battle.
  "ENEMY_FLEE"      => ["FLEE_SUCCESS","RESET"],
                         
  # Used when actors fail to escape.
  "FLEE_FAIL"          => ["FLEE_FAIL","STAND_POSE","8","RESET"],
                         
  # Used when an actor is selecting a command
  "COMMAND_INPUT"      => ["STEP_FORWARD"],
                         
  # Used when an actor has selected a command
  "COMMAND_SELECT"    => ["RESET"],
                         
  # Used when an actor evades damage.
  "EVADE_ATTACK"              => ["EVADE_JUMP","EVADE_JUMP","STAND_POSE","16",
                          "RESET"],
                         
  # Used when an enemy evades damage.
  "ENEMY_EVADE_ATTACK"      => ["EVADE_JUMP","STAND_POSE","16","RESET"],
                         
  # Used by actors when they win a battle.
  # If the actor is inflicted with the cat state (state ID 20) at the end of
  # battle, they will revert to the graphic of Ylva.
  "VICTORY"  => ["VICTORY_JUMP", "Don't Wait","CAT_STATE","START_MAGIC_ANIM",
                        "TRANSFORM_CANCEL","WAIT(FIXED)","Don't Wait"],

  # Used by battlers when their action sequence is interrupted.
  "RESET_POSITION"          => ["RESET"],
                         
#----------------------- Force Battler Action Sequences -----------------------
# Sequences that are utilized through Force Battler Action ANIME keys.
 
  "THROW"    => ["CLOCKWISE_TURN","4","MOVE_ON_TARGET_FAST","JUMP_BACK","4",
                          "STAND_POSE","JUMP_BACK","STAND_POSE","32"],


#-------------------------- Advanced Action Sequences -------------------------
# Examples of advanced action sequences. You can use these as examples on how
# to create your own custom action sequences.
#
# The action sequences below are not formatted in a vertical list, but they
# are still processed from left to right, top to bottom.

  # "SKILL_ALL" - Example of how to use "Process Skill" and
  #              "Process Skill End" within Action Sequences. Used by the Float
  #              All spell in the demo.                         
  "SKILL_ALL"=> ["STEP_FORWARD","CAST_ANIMATION","WPN_SWING_UNDER","WPN_RAISED",
                          "Process Skill","WPN_SWING_V","DAMAGE_ANIM","24",
                          "Process Skill End","Can Collapse","RESET"],

  # "MULTI_ATTACK" - Example of a multi-attack Action Sequence that utilizes
  #                  effects such as afterimages and jumping. It is also
  #                  made to use Weapon 2 for Two Swords Style actors.
  #                  Damage is caused by "WEAPON_DAMAGE".
  "MULTI_ATTACK"  => ["Afterimage ON","STEP_ATTACK","WPN_SWING_VL",
                    "WEAPON_DAMAGE",
                    "STAND_POSE","16","WEAPON_DAMAGE","WPN_SWING_UNDER",
                    "WPN_SWING_OVER","4","LONG_JUMP_ATTACK","WPN_SWING_VL",
                    "WEAPON_DAMAGE","STAND_POSE","16","WEAPON_DAMAGE",
                    "Invert","WPN_SWING_V","WPN_SWING_VL","12","Invert",
                    "LONG_JUMP_ATTACK","WPN_SWING_VL","WEAPON_DAMAGE",
                    "JUMP_BACK","JUMP_BACK","STAND_POSE",
                    "WEAPON_DAMAGE","DASH_ATTACK","WPN_SWING_VL","Can Collapse",
                    "Afterimage OFF","16","FLEE_RESET"],
                         
  # "MULTI_ATTACK_RAND" - Example of a simple multi-hit skill using the
  #                       animation of the equipped weapon rather than
  #                       database assigned animation of the skill.
  "MULTI_ATTACK_RAND"=> ["STEP_ATTACK","WPN_SWING_VL","WEAPON_DAMAGE","STAND_POSE","16",
                          "STEP_ATTACK","WPN_SWING_VL","WEAPON_DAMAGE","STAND_POSE","16",
                          "STEP_ATTACK","WPN_SWING_VL","WEAPON_DAMAGE","STAND_POSE","16",
                          "STEP_ATTACK","WPN_SWING_VL","WEAPON_DAMAGE","Can Collapse","RESET"],
                         
  # "RAPID_MULTI_ATTACK" - A multi-hit Action Sequence that hits quickly.
  #                        "FORCE_KNOCKBACK" is used to
  "RAPID_MULTI_ATTACK"   => ["MOVE_TO_TARGET","WPN_SWING_V","FORCE_KNOCKBACK","WEAPON_DAMAGE",
                    "MOVE_TO_TARGET_FAST","WPN_SWING_V","FORCE_KNOCKBACK","WPN_SWING_VL","WEAPON_DAMAGE",
                    "MOVE_TO_TARGET_FAST","WPN_SWING_V","FORCE_KNOCKBACK","WPN_SWING_VL","WEAPON_DAMAGE",
                    "MOVE_TO_TARGET_FAST","WPN_SWING_V","FORCE_KNOCKBACK","WPN_SWING_VL","WEAPON_DAMAGE",
                    "MOVE_TO_TARGET_FAST","WPN_SWING_V","FORCE_KNOCKBACK","WPN_SWING_VL","WEAPON_DAMAGE",
                    "MOVE_TO_TARGET_FAST","WPN_SWING_V","FORCE_KNOCKBACK","WPN_SWING_VL","WEAPON_DAMAGE",
                    "Can Collapse","12","RESET"],
 
  # "THROW_WEAPON" - An Action Sequence that demonstrates the function to
  #                  'throw' a weapon sprite at an enemy.
  "THROW_WEAPON"          => ["STEP_FORWARD","WPN_SWING_V","absorb1","STAND_POSE",
                          "START_WEAPON_THROW","12","WEAPON_DAMAGE","Can Collapse",
                          "END_WEAPON_THROW","RESET"],

  # "MULTI_SHOCK" - An example of having animations travel from one battler
  #                 to another.  Also utilizes "Process Skill" and
  #                 "Process Skill End". "REAL_TARGET" is used to set
  #                 the origin of "IMPACT_1" to the user's targets.
  "MULTI_SHOCK"=> ["JUMP_FORWARD","FLOAT_STOP","Process Skill",
                          "REAL_TARGET","WPN_SWING_V","IMPACT_1","8",
                          "WEAPON_DAMAGE","Process Skill End","Can Collapse",
                          "FLOAT_LAND","RESET"],
                         
  # "SHOCK_WAVE" - A simple example of having animations travel from one point
  #                to another. Unlike "MULTI_SHOCK", this sequence makes
  #                multiple moving animations appear for each target.
  "SHOCK_WAVE"    => ["REAL_TARGET","WPN_SWING_V","IMPACT_1","20",
                          "DAMAGE_ANIM_WAIT","Can Collapse"],
                        
  # "SKILL_90_SEQUENCE" - Example of using Link Skills. When the sequence
  #                       processes to "LINK_SKILL_91", it will link to
  #                       the defined skill ID. In this case, it will link
  #                       to skill ID 91.
  "SKILL_90_SEQUENCE"   => ["MOVE_TO_TARGET","DAMAGE_ANIM","WPN_SWING_V",
                          "16","Can Collapse","LINK_SKILL_91","RESET"],
                         
  # "SKILL_91_SEQUENCE" - Another example of using Link Skills. When the
  #                       Action Sequence reaches "LINK_SKILL_92", it will
  #                       link to skill ID 92. This essentially makes
  #                       a chain of three linked skills used in succession.
  "SKILL_91_SEQUENCE"   => ["FLEE_FAIL","CAST_ANIMATION","WPN_SWING_UNDER","WPN_RAISED",
                          "8","DAMAGE_ANIM","Can Collapse","LINK_SKILL_92","RESET"],
                         
  # "CUT_IN" - Simple example of using a cut-in image during an Action Sequence.
  #           "Clear image" is used to remove the image from screen.
  "CUT_IN"        => ["STAND_POSE","CAST_ANIMATION","CUT_IN_START",
                          "75","CUT_IN_END","8","MOVE_TO_TARGET",
                          "WPN_SWING_V","DAMAGE_ANIM_WAIT","Can Collapse",
                          "Clear image","FLEE_RESET"],
                         
  # "STOMP" - An example of using "ANIMATION_1", a type of anime hash that uses a
  #           database animation that does not cause damage. Damage is only
  #           caused when the sequence reaches "DAMAGE_ANIM".
  "STOMP"          => ["JUMP_TO_TARGET","ANIMATION_1","FORCE_SHRINK","JUMP_BACK",
                          "TRAMPLE","ANIMATION_1","FORCE_SHRINK","JUMP_BACK",
                          "TRAMPLE","DAMAGE_ANIM","FORCE_SHRINK","JUMP_BACK",
                          "JUMP_BACK","Can Collapse","STAND_POSE","8","FLEE_RESET"],

  # "ALL_ATTACK_1" - Similar in structure to "SKILL_USE", but made to
  #                  demonstrate "PLAY_AREA_ANIM".
  "ALL_ATTACK_1"         => ["STEP_FORWARD","STAND_POSE","CAST_ANIMATION",
                          "WPN_SWING_UNDER","WPN_RAISED","PLAY_AREA_ANIM",
                          "WPN_SWING_V","48","DAMAGE_ANIM_WAIT","Can Collapse",
                          "RESET"],
                         
  # "TRANSFORM_CAT" - Made to demonstrate sprite transformation through
  #                   an action sequence.
  "TRANSFORM_CAT"        => ["JUMP_FORWARD","STAND_POSE","CAST_ANIMATION","32",
                          "TRANSFORM_CAT","STAND_POSE","APPLY_CAT_STATE","32","JUMP_BACK"],                    
                         
  # "THROW_FRIEND" - Demonstrates using a Force Battler Action key to
  #                  move another battler when it's not their turn.
  "THROW_FRIEND"      => ["ALLY_TO_THROW","MOVE_ON_TARGET","FORCE_LIFT_ALLY","4",
                          "absorb1","THROW_TARGET","ALLY_FLING",
                          "MOVE_THROWING_ALLY","STAND_POSE","DAMAGE_ANIM","RESET",
                          "STAND_POSE","32"],
                         
#------------------------- Union Skill Sequences (ATB) ------------------------
# There is a difference between how union skill sequences are made with the
# ATB compared to without the ATB.  ATB Union sequences do not require special
# states or "Action Conditions" hashes such as "CONDITION_STATE_19".  "Forced
# Battler Actions", such as "4_MAN_ATK_1", are also not required.  You must
# also go in your ATB Configurations script and define your union skills
# under "ATB Union Skills Settings".

  "2-MAN_UNION_RALPH"    => ["MOVE_RIGHT_OF_TARGET","STAND_POSE","CAST_ANIMATION",
                          "WPN_SWING_UNDER","WPN_RAISED","48","ANIMATION_11",
                          "LEFT_DASH_ATTACK","64","DAMAGE_ANIM",
                          "Can Collapse","FLEE_RESET"],
                         
  "2-MAN_UNION_ULRIKA"  => ["MOVE_LEFT_OF_TARGET","STAND_POSE","CAST_ANIMATION",
                         "WPN_SWING_UNDER","WPN_RAISED","48",
                         "RIGHT_DASH_ATTACK","64","FLEE_RESET"],

  "4-MAN_UNION_RALPH"    => ["4_MAN_MOVE-RALPH","STAND_POSE","CAST_ANIMATION",
                          "WPN_SWING_UNDER","WPN_RAISED","90","ANIMATION_11",
                          "RIGHT_DASH_ATTACK","64","RED_FLASH","DAMAGE_ANIM_WAIT","20",
                          "Can Collapse","FLEE_RESET"],
                         
  "4-MAN_UNION_ULRIKA"  => ["4_MAN_MOVE-ULRIKA","STAND_POSE","CAST_ANIMATION",
                          "WPN_SWING_UNDER","WPN_RAISED","90",
                          "LEFT_DASH_ATTACK","96","FLEE_RESET"],
                         
  "4-MAN_UNION_BENNETT"  => ["4_MAN_MOVE-BENNETT","STAND_POSE","CAST_ANIMATION",
                          "WPN_SWING_UNDER","WPN_RAISED","60","RIGHT_DASH_ATTACK2","FORCE_ROTATION",
                          "DAMAGE_ANIM","128","FLEE_RESET"],
                         
  "4-MAN_UNION_YLVA"  => ["4_MAN_MOVE-YLVA","STAND_POSE","CAST_ANIMATION",
                          "WPN_SWING_UNDER","WPN_RAISED","34","LEFT_DASH_ATTACK2","FORCE_ROTATION",
                          "DAMAGE_ANIM","144","FLEE_RESET"],

  # "End" - An important action sequence that works behind the scenes.
  #         Do not edit this action sequence key or its contents.
  "End"              => ["End"]}
 
end

#==============================================================================
# * Game_Actor
#------------------------------------------------------------------------------
# Actor Basic Action Settings
#------------------------------------------------------------------------------
# This page is used to define what Action Sequence Actors should use when
# specific conditions are met. Each actor can have their own unique action
# sequence that you can define in the appropriate section. For example,
# each actor can have its own unique Action Sequence when a battle is won.
#
# Since actors do not have a Notebox in the database, all customization
# for actors must be done manually in Ruby syntax.
#==============================================================================
class Game_Actor < Game_Battler
  #--------------------------------------------------------------------------
  # ++ Actor Unarmed Attack Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Actor is unarmed.
  #
  # If Actor is equipped with any weapon then this Action Sequence will
  # not be used.
  def non_weapon
    case @actor_id
    when 1 # Actor ID
      return "NORMAL_ATTACK" # Action Sequence Key
    end
    # Default Action Sequence for all unassigned Actor IDs.
    return "NORMAL_ATTACK"
  end
  #--------------------------------------------------------------------------
  # ++ Actor Wait/Idle Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Actor is doing nothing else in
  # battle and is not inflicted with special states.
  def normal
    case @actor_id
    when 1
      return "WAIT"
    end
    # Default Action Sequence for all unassigned Actor IDs.
    return "WAIT"
  end
  #--------------------------------------------------------------------------
  # ++ Actor Critical (1/4th HP) Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Actor is at 25% or lower HP.
  def pinch
    case @actor_id
    when 1
      return "WAIT-CRITICAL"
    end
    # Default Action Sequence for all unassigned Actor IDs.
    return "WAIT-CRITICAL"
  end
  #--------------------------------------------------------------------------
  # ++ Actor Guarding Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Actor uses the Guard command.
  def defence
    case @actor_id
    when 1
      return "GUARDING"
    end
    # Default Action Sequence for all unassigned Actor IDs.
    return "GUARDING"
  end
  #--------------------------------------------------------------------------
  # ++ Actor Damage Hit Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Actor is hit by damage.
  def damage_hit
    case @actor_id
    when 1
      return "HURT"
    end
    # Default Action Sequence for all unassigned Actor IDs.
    return "HURT"
  end 
  #--------------------------------------------------------------------------
  # ++ Actor Evasion Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Actor evades an attack.
  def evasion
    case @actor_id
    when 1
      return "EVADE_ATTACK"
    end
    # Default Action Sequence for all unassigned Actor IDs.
    return "EVADE_ATTACK"
  end 
  #--------------------------------------------------------------------------
  # ++ Actor Command Input Action Sequence
  #--------------------------------------------------------------------------
   # Define Action Sequence key used when an Actor is having a command
   # selected by the player, but has not selected a command yet.
  def command_b
    case @actor_id
    when 1
      return "COMMAND_INPUT"
    end
    # Default Action Sequence for all unassigned Actor IDs.
    return "COMMAND_INPUT"
  end
  #--------------------------------------------------------------------------
  # ++ Actor Command Selected Action Sequence
  #--------------------------------------------------------------------------
   # Define Action Sequence key used when an Actor has a command selected
   # the player.
  def command_a
    case @actor_id
    when 1
      return "COMMAND_SELECT"
    end
    # Default Action Sequence for all unassigned Actor IDs.
    return "COMMAND_SELECT"
  end
  #--------------------------------------------------------------------------
  # ++ Actor Flee Success Action Sequence
  #--------------------------------------------------------------------------
   # Define Action Sequence key used when an Actor successfully escapes battle.
  def run_success
    case @actor_id
    when 1
      return "FLEE"
    end
    # Default Action Sequence for all unassigned Actor IDs.
    return "FLEE"
  end
  #--------------------------------------------------------------------------
  # ++ Actor Flee Failure Action Sequence
  #--------------------------------------------------------------------------
   # Define Action Sequence key used when an Actor fails to escape battle.
  def run_ng
    case @actor_id
    when 1
      return "FLEE_FAIL"
    end
    # Default Action Sequence for all unassigned Actor IDs.
    return "FLEE_FAIL"
  end
  #--------------------------------------------------------------------------
  # ++ Actor Victory Action Sequence
  #--------------------------------------------------------------------------
   # Define Action Sequence key used when an Actor at the end of a
   # victorious battle.
  def win
    case @actor_id
    when 1
      return "VICTORY"
    end
    # Default Action Sequence for all unassigned Actor IDs.
    return "VICTORY"
  end
  #--------------------------------------------------------------------------
  # ++ Actor Battle Start Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Actor first enters the battlefield.
  def first_action
    case @actor_id
    when 1
      return "BATTLE_START"
    end
    # Default Action Sequence for all unassigned Actor IDs.
    return "BATTLE_START"
  end
  #--------------------------------------------------------------------------
  # ++ Actor Interrupt Reset Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Actor's Action Sequence is
  # somehow interrupted.
  def recover_action
    case @actor_id
    when 1
      return "RESET_POSITION"
    end
   # Default Action Sequence for all unassigned Actor IDs.
    return "RESET_POSITION"
  end
  #--------------------------------------------------------------------------
  # ++ Actor Incapacitated Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Actor is dead.
  def incapacitated
    case @actor_id
    when 1 # Actor ID
      return "DEAD" # Action Sequence Key
    end
    # Default Action Sequence for all unassigned Actor IDs.
    return "DEAD"
  end
  #--------------------------------------------------------------------------
  # ++ Actor Shadow
  #--------------------------------------------------------------------------
  # Define filename of shadow graphic used by an Actor.
  #
  # return "shadow01" <- Image file name in .Graphics/Characters
  # return "" <- No shadow used.
  def shadow
    case @actor_id
    when 1
      return "shadow00"
    end
    # Default shadow for all unassigned Actor IDs.
    return "shadow00"
  end
  #--------------------------------------------------------------------------
  # ++ Actor Shadow Adjustment
  #--------------------------------------------------------------------------
  # Adjusts the coordinates of Actor shadow graphics.
  #
  # return [ X-Coordinate, Y-Coordinate]
  def shadow_plus
    case @actor_id
    when 1
      return [ 0, 4] # [ X, Y]
    end
    # Default shadow positioning for all unassigned Actor IDs.
    return [ 0, 4]
  end
end
#==============================================================================
# * Game_Enemy
#------------------------------------------------------------------------------
#  Enemy Basic Action Settings
#------------------------------------------------------------------------------
# This section is used to define what Action Sequence enemies should use under
# specific conditions. Each enemy can have their own unique action
# sequence that you can define in the appropriate section.
#
# Notetags are available for use if using the Notetags for Tankentai Add-on.
#
# Terms:
#    key - Refers to the name of an action sequence key.
#          Do not use quotation marks for notetags.
#    value - A numerical value
#    value% - A numerical value used as a percentage of something, but
#             the percent sign is usually optional
#    id - ID number from the database
#    type - Differs depending on tag (see specific tag for information)
#    filename - A filename from the Graphics/Characters folder
#==============================================================================
class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # ++ Enemy Unarmed Attack Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Enemy is unarmed.
  #
  # If Enemy is equipped with any weapon then this Action Sequence will
  # not be used.
  #
  # Notetag: <unarmed: key>
  def base_action
    case @enemy_id
    when 1 # Enemy ID
      return "ENEMY_UNARMED_ATK" # Action Sequence Key
    end
    # Default Action Sequence for all unassigned Enemy IDs.
    return "ENEMY_UNARMED_ATK"
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Standby Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Enemy is doing nothing else in
  # battle and is not inflicted with special states.
  #
  # Notetag: <standby: key>
  def normal
    case @enemy_id
    when 1
      return "WAIT"
    end
    # Default Action Sequence for all unassigned Enemy IDs.
    return "WAIT"
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Critical (1/4th HP) Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Enemy is at 25% or lower HP.
  #
  # Notetag: <pinch: key>
  def pinch
    case @enemy_id
    when 1
      return "WAIT"
    end
    # Default Action Sequence for all unassigned Enemy IDs.
    return "WAIT"
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Guarding Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Enemy uses the Guard command.
  #
  # Notetag: <guard: key>
  def defence
    case @enemy_id
    when 1
      return "GUARDING"
    end
    # Default Action Sequence for all unassigned Enemy IDs.
    return "GUARDING"
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Hurt Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Enemy is hit by damage.
  #
  # Notetag: <hurt: key>
  def damage_hit
    case @enemy_id
    when 1
      return "HURT"
    end
    # Default Action Sequence for all unassigned Enemy IDs.
    return "HURT"
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Evasion Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Enemy evades an attack.
  #
  # Notetag: <evade: key>
  def evasion
    case @enemy_id
    when 1
      return "ENEMY_EVADE_ATTACK"
    end
    # Default Action Sequence for all unassigned Enemy IDs.
    return "ENEMY_EVADE_ATTACK"
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Escape Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Enemy runs away from battle.
  #
  # Notetag: <escape: key>
  def run_success
    case @enemy_id
    when 1
      return "ENEMY_FLEE"
    end
    # Default Action Sequence for all unassigned Enemy IDs.
    return "ENEMY_FLEE"
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Battle Start Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Enemy first enters the battlefield.
  #
  # Notetag: <start: key>
  def first_action
    case @enemy_id
    when 1
      return "BATTLE_START"
    end
    # Default Action Sequence for all unassigned Enemy IDs.
    return "BATTLE_START"
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Interrupt Reset Action Sequence
  #--------------------------------------------------------------------------
  # Define the Action Sequence key used when an enemy's action sequence is
  # somehow interrupted and cannot be completed normally.
  #
  # Notetag: <interrupt: key>
  def recover_action
    case @enemy_id
    when 1
      return "RESET_POSITION"
    end
    # Default Action Sequence for all unassigned Enemy IDs.
    return "RESET_POSITION"
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Incapacitated Action Sequence
  #--------------------------------------------------------------------------
  # Define Action Sequence key used when an Enemy is dead. If left blank ("")
  # then incapacitated sequence is not used.
  #
  # Notetag: <dead: key>
  def incapacitated
    case @enemy_id
    when 1 # Enemy ID
      return "DEAD" # Action Sequence Key
    end
    # Default Action Sequence for all unassigned Enemy IDs.
    return "DEAD"
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Shadow
  #--------------------------------------------------------------------------
  # Define the filename of the shadow graphic used by an Enemy.
  #
  # Filename must be in quotes, but does not need the file extension.
  #
  # Notetag: <shadow: filename>
  def shadow
    case @enemy_id
    when 1
      return "shadow01"
    when 30
      return ""
    end
    # Default shadow for all unassigned Enemy IDs.
    return "shadow01"
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Shadow Adjustment
  #--------------------------------------------------------------------------
  # return [ X-Coordinate, Y-Coordinate]
  #
  # Notetag: <move shadow: x, y>
  def shadow_plus
    case @enemy_id
    when 1
      return [ 0, -8]
    end
    # Default shadow positioning for all unassigned Enemy IDs.
    return [ 0, 0]
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Equipped Weapon
  #--------------------------------------------------------------------------
  # Equip a weapon on an enemy. Enemy receives any effects when equipped with
  # the weapon such as status increases. Enemy will also follow the action
  # sequence assigned to the weapon. Enemies can only equip one weapon.
  #
  # If Weapon ID is set to 0, enemy will be unarmed.
  #
  # Notetag: <weapon: id>
  def weapon
    case @enemy_id
    when 1 # Enemy ID
      return 0 # Weapon ID
    end
    # Default weapon for all unassigned Enemy IDs.
    return 0
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Screen Positioning Adjustment
  #--------------------------------------------------------------------------
  # Adjusts the position of enemies in battle.
  # Positive Y-values move the enemy down. Negative Y-values move the enemy up.
  #
  # return [ 0, 0]  <- [X-value、Y-value]
  #
  # Notetag: <position: x, y>
  def position_plus
    case @enemy_id
    when 1
      return [0, 0]
    end
    # Default positioning for all unassigned Enemy IDs.
    return [ 0, 0]
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Collapse Animation Settings
  #--------------------------------------------------------------------------
  # Define which collapse animation an enemy uses when killed. The collapse
  # type is defined by using a numerical value.
  #
  # 1 - Enemy sprite stays on screen after death.
  # 2 - Enemy fades from the battle normally
  # 3 - Special collapse animation. Good for bosses.
  #
  # Notetag: <collapse: type>
  def collapse_type
    case @enemy_id
    when 1
      return 2
    when 30
      return 3
    end
    # Default collapse for all unassigned Enemy IDs.
    return 2
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Multiple Actions Settings
  #--------------------------------------------------------------------------
  # Define how many times an enemy can attack in a single turn.
  #
  # Maximum Actions, Probability, Speed Adjustment
  # return [ 2, 100, 100]
  #
  # Maximum Actions - Maximum number of actions enemy may execute in a turn.
  # Probability - % value. Chance for enemy to do another action.
  # Speed Adjustment - % value that decreases enemy's bonus speed from skills
  #                    after each successive action.
  #
  # Notetag: <multiact: maximum actions, chance%, speed adjust>
  def action_time
    case @enemy_id
    when 1
      return [ 1, 100, 100]
    end
    # Default multi-action setting for all unassigned Enemy IDs.
    return [ 1, 100, 100]
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Animated Battler Settings
  #--------------------------------------------------------------------------
  # true: Enemy battler uses files from Graphics/Characters folder like actors.
  # false: Default enemy battler image from Graphics/Battlers folder.
  # [File Settings]
  # 1.Enemy animated battler file must be in .Graphics/Characters folder.
  # 2.Enemy battler file names must match between .Graphics/Characters and
  #   .Graphics/Battlers folders.
  #
  # Notetag: <animate> OR <-animate> OR <+animate>
  #          Prefixing animate with a minus sign will return false.
  def anime_on
    case @enemy_id
    when 1
      return false
    end
    # Default animation setting for all unassigned Enemy IDs.
    return false
  end
  #--------------------------------------------------------------------------
  # ++ Enemy Mirror Settings
  #--------------------------------------------------------------------------
  # Mirrors the enemy battler's graphic and any animations they produce.
  #
  # false: Normal
  # true: Mirrors enemy image and animations
  #
  # Notetag: <mirror> OR <-mirror> OR <+mirror>
  #          Prefixing mirror with a minus sign will return false.

  def action_mirror
    case @enemy_id
    when 1
      return false
    end
    # Default invert setting for all unassigned Enemy IDs.
    return false
  end
end

module RPG
#==============================================================================
# ■ module RPG
#------------------------------------------------------------------------------
# State Action Settings
#
# Notetags are available for use if using the Notetags for Tankentai Add-on.
#
# Terms:
#    key - Refers to the name of an action sequence key.
#          Do not use quotation marks for notetags.
#    value - A numerical value
#    value% - A numerical value used as a percentage of something, but
#             the percent sign is usually optional
#    id - ID number from the database
#    type - Differs depending on tag (see specific tag for information)
#    filename - A filename from the Graphics/Characters folder
#==============================================================================
class State
 #--------------------------------------------------------------------------
 # ++ State Affliction Wait Sequence Settings
 #--------------------------------------------------------------------------
 # When a battler is affected by a state, their Wait/Idle sequence will be
 # replaced by the Action Sequence defined for the State IDs below.  Only one
 # State Affliction Wait Animation can be active at a time.  The state with the
 # highest Priority rating will take precedence if affected by multiple states.
 #
 # when 1  <- State ID number
 #   return "DEAD"  <- Action Sequence when afflicted by specified state.
 #
 # Notetag: <action: key>
  def base_action
    case @id
    when 1  # Incapacitated(HP0). Has the highest priority.
      return "DEAD"
    end
    # Default Action Sequence for all unassigned State IDs.
    return "WAIT"
  end
 #--------------------------------------------------------------------------
 # ++ State Enhancement Extension Settings
 #--------------------------------------------------------------------------
 # Note about REFLECT and NULL states:
 #      An item/skill is considered physical if "Physical Attack" is
 #      checked under "Options" in your Database.  Otherwise, it is magical.
 #
 # "AUTOLIFE/50"      - Automatically revives when Incapacitated.
 #                      Value after "/" is % of MAXHP restored when revived.
 # "MAGREFLECT/39"    - Reflects magical skills to the original caster.
 #                      Value after "/" is Animation ID when triggered.
 # "MAGNULL/39"       - Nullify magical skills and effects.
 #                      Value after "/" is Animation ID when triggered.
 # "PHYREFLECT/39"    - Reflects physical skills to the original caster.
 #                      Value after "/" is Animation ID when triggered.
 # "PHYNULL/39"       - Nullify physical skills and effects.
 #                      Value after "/" is Animation ID when triggered.
 # "COSTABSORB"       - Absorbs the MP (or HP) cost of an incoming skill when
 #                      affected.  This will not appear as POP Damage.  This
 #                      function is similar to Celes' "Runic" from FF6.
 # "ZEROTURNLIFT"     - State is lifted at the end of turn regardless.
 # "EXCEPTENEMY"      - Enemies will not use Action Sequence assigned
 #                      under State Affliction Wait Animation Settings when
 #                      afflicted. (Actors still will.)
 # "NOPOP"            - State name will not appear as POP Window.
 # "NOSTATEANIME"     - State's caster and enemies will not use animation
 #                      sequence assigned under State Affliction Wait Sequence
 #                      Settings when afflicted.
 # "SLIPDAMAGE"       - Apply slip damage.  Assign values under Slip Damage Settings.
 # "NONE"             - No extension. Used as a default.
  def extension
    case @id
    when 1  # Incapacitated State.  Has highest priority.
      return ["NOPOP","EXCEPTENEMY"]
    when 18 # 2-Man Tech
      return ["ZEROTURNLIFT"]
    when 19 # 4-Man Tech
      return ["ZEROTURNLIFT"]
    when 20 # Cat Transformation
      return ["NOSTATEANIME"]
    end
    # Default extensions for all unassigned State IDs.
    return ["NONE"]
  end
 #--------------------------------------------------------------------------
 # ++ Slip Damage Settings
 #--------------------------------------------------------------------------
 # Also includes regeneration options.
 #
 # when 1 <- State ID. Slip Damage only applies if "SLIPDAMAGE" is assigned above.
 #      Multiple settings may be applied. Ex)[["hp",0,5,true],["mp",0,5,true]]
 #                          
 #        Type, Constant, %, POP?, Allow Death
 # return [["hp",    0,  10, true,  true]]
 #
 # Type       – "hp" or "mp".
 # Constant   – Set a constant value to apply each turn.
 #              Positive values are damage.  Negative values are recovery.
 # %          - Set a percentage value to apply each turn based on MAX HP/MP.
 #              Positive values are damage. Negative values are recovery.
 # POP?       - Determines whether or not you want slip damage value to
 #              appear as POP Damage.
 # Allow Death - This function is not working - true: Slip damage can kill.
 #               false: Slip damage will not kill. (Battler will be left at 1 HP)
 #
 # Notetags: <slip: hp/mp, value, value%>
 #           <cannot kill> (Optional)
 #           <cannot pop> (Optional)

  def slip_extension
    case @id
    when 2  # Poison
      return [["hp", 0, 10, true, true]]
    end
    return []
  end
end
#==============================================================================
# * module RPG
#------------------------------------------------------------------------------
# Weapon Action Settings
#
# Notetags are available for use if using the Notetags for Tankentai Add-on.
#
# Terms:
#    key - Refers to the name of an action sequence key.
#          Do not use quotation marks for notetags.
#    value - A numerical value
#    value% - A numerical value used as a percentage of something, but
#             the percent sign is usually optional
#    id - ID number from the database
#    type - Differs depending on tag (see specific tag for information)
#    filename - A filename from the Graphics/Characters folder
#==============================================================================
class Weapon
 #--------------------------------------------------------------------------
 # ++ Weapon Action Sequence Settings
 #--------------------------------------------------------------------------
 # Assigns a specific Action Sequence when using a weapon.
 #
 # when 1 <- Weapon ID number
 # return "NORMAL_ATTACK" <- Action Sequence for assigned Weapon ID.
 #
 # Notetag: <action: key>
  def base_action
    case @id
    when 1
      return "NORMAL_ATTACK"
    end
    # Default Action Sequence for unassigned Weapon IDs.
    return "NORMAL_ATTACK"
  end
 #--------------------------------------------------------------------------
 # ++ Weapon Graphic Settings
 #--------------------------------------------------------------------------
 # Allows use of a seperate weapon graphic besides the one assigned
 # from Iconset.png
 #
 # return "001-Weapon01" <- Weapon image file name.  If "", none is used.
 #                          File must be in the .Graphics/Characters folder
 #                          of your project.
 #
 # Notetag: <graphic: filename>
  def graphic
    case @id
    when 1
      return ""
    end
    # Default weapon graphic for unassigned Weapon IDs.
    return ""
  end
 #--------------------------------------------------------------------------
 # ++ Throwing Weapon Graphic Settings
 #--------------------------------------------------------------------------
 # Allows use of a seperate throwing weapon graphic besides the one assigned
 # from Iconset.png.  This is useful for arrows when you don't want the bow
 # to be thrown.
 #
 # Flying Graphics can only be utilized through use of Moving Animation
 # hashes.
 #
 # return "001-Weapon01" <- Weapon image file name.  If "", none is used.
 #                          File must be in the .Graphics/Characters folder
 #                          of your project.
 #
 # Notetags: <flygraphic: filename>
  def flying_graphic
    case @id
    when 1
      return ""
    end
    # Default throwing weapon graphic for unassigned Weapon IDs.
    return ""
  end
end
#==============================================================================
# * module RPG
#------------------------------------------------------------------------------
# Skill Settings
#
# Notetags are available for use if using the Notetags for Tankentai Add-on.
#
# Terms:
#    key - Refers to the name of an action sequence key.
#          Do not use quotation marks for notetags.
#    value - A numerical value
#    value% - A numerical value used as a percentage of something, but
#             the percent sign is usually optional
#    id - ID number from the database
#    type - Differs depending on tag (see specific tag for information)
#    filename - A filename from the Graphics/Characters folder
#==============================================================================
class Skill
 #--------------------------------------------------------------------------
 # ++ Skill Action Sequence Settings
 #--------------------------------------------------------------------------
  # Assign a Skill ID from the Database to execute a defined Action Sequence.
  # Only Action Sequence keys can be assigned.  ANIME keys cannot
  # be directly assigned here.
  #
  # Notetag: <action: key>
  def base_action
=begin
    case @id
    when 84 # Skill ID
      return "THROW_WEAPON" # Action Sequence Key
    when 85
      return "MULTI_ATTACK"
    when 86
      return "RAPID_MULTI_ATTACK" 
    when 87
      return "MULTI_SHOCK" 
    when 88
      return "SHOCK_WAVE"
    when 89
      return "MULTI_ATTACK_RAND" 
    when 90
      return "SKILL_90_SEQUENCE" 
    when 91
      return "SKILL_91_SEQUENCE" 
    when 92
      return "NORMAL_ATTACK" 
    when 93
      return "CUT_IN" 
    when 94
      return "STOMP"
    when 95
      return "ALL_ATTACK_1"
    when 96
      return "SKILL_ALL"
    when 97
      return "TRANSFORM_CAT"
    when 98
      return "2-MAN_UNION_RALPH"
    when 99
      return "2-MAN_UNION_ULRIKA"
    when 100
      return "4-MAN_UNION_RALPH"
    when 101
      return "4-MAN_UNION_ULRIKA"
    when 102
      return "4-MAN_UNION_BENNETT"
    when 103
      return "4-MAN_UNION_YLVA"
    when 104
      return "THROW_FRIEND"
    end
=end
    # Default Action Sequence for unassigned Skill IDs.
    return "SKILL_USE"
  end
 #--------------------------------------------------------------------------
 # ++ Skill Extension Settings
 #--------------------------------------------------------------------------
 # Allows you to add special effexts to skills.
 # Multiple extensions may be applied to a skill ID.
 #
 # "PERFECTHIT"       -Skill cannot miss or be evaded.
 # "IGNOREREFLECT"    -Ignores damage reflection states.
 # "HELPHIDE"         -Help window when casting will not appear.
 # "TARGETALL"        -Will affect all enemies and allies simultaneously.
 # "RANDOMTARGET"     -Target is chosen at random. Set "Scope" to All Enemies
 #                     or All Allies for this to work correctly.
 # "OTHERS"           -Skill will not affect caster.
 # "NOOVERKILL"       -Damage will not be applied after the target reaches zero HP.
 # "NOFLASH"          -Battler will not flash when taking action.
 # "NONE"             -Used as a default.
  def extension
    case @id
    when 86 # Skill ID
      return ["NOOVERKILL"] # Extensions
    when 94
      return ["NOOVERKILL"]
    when 98
      return ["NOOVERKILL"]
    when 100
      return ["NOOVERKILL"]
    end
    # Default extensions for unassigned Skill IDs.
    return ["NONE"]
  end
 #--------------------------------------------------------------------------
 # ++ Skill Flying Graphic Settings
 #--------------------------------------------------------------------------
 # Allows use of a seperate throwing weapon graphic besides the one assigned
 # from Iconset.png.
 #
 # Flying Graphics can only be utilized through use of Moving Animation
 # hashes.
 #
 # return "001-Weapon01" <- Weapon image file name.  If "", none is used.
 #                          File must be in the .Graphics/Characters folder
 #                          of your project.
 #
 # Notetag: <flygraphic: filename>
  def flying_graphic
    case @id
    when 1
      return ""
    end
    # Default throwing skill graphic for unassigned Weapon IDs.
    return ""
  end
end 
#==============================================================================
# * module RPG
#------------------------------------------------------------------------------
# Item Action Settings
#
# Notetags are available for use if using the Notetags for Tankentai Add-on.
#
# Terms:
#    key - Refers to the name of an action sequence key.
#          Do not use quotation marks for notetags.
#    value - A numerical value
#    value% - A numerical value used as a percentage of something, but
#             the percent sign is usually optional
#    id - ID number from the database
#    type - Differs depending on tag (see specific tag for information)
#    filename - A filename from the Graphics/Characters folder
#==============================================================================
class Item
 #--------------------------------------------------------------------------
 # ++ Item ID Sequence Assignment
 #--------------------------------------------------------------------------
  # Assign an Item ID from the Database to execute a defined Action Sequence.
  # Only Action Sequence keys can be assigned.  ANIME keys cannot
  # be directly assigned here.
  #
  # Notetag: <action: key>
  def base_action
    case @id
    when 1 # Item ID
      return "ITEM_USE" # Action Sequence Key
    end
    # Default Action Sequence for unassigned Item IDs.
    return "ITEM_USE"
  end
 #--------------------------------------------------------------------------
 # ++ Item Enhancement Extension Settings
 #--------------------------------------------------------------------------
 # Allows you to add special effexts to skills.
 # Multiple extensions may be applied to a skill ID.
 #
 # "PERFECTHIT"        -Item cannot miss or be evaded.
 # "IGNOREREFLECT"    -Ignores damage reflection states.
 # "HELPHIDE"         -Help window when casting will not appear.
 # "TARGETALL"        -Will affect all enemies and allies simultaneously.
 # "RANDOMTARGET"     -Target is chosen at random.  Set "Scope" to All Enemies
 #                     or All Allies for this to work correctly.
 # "OTHERS"           -Item will not affect caster.
 # "NOOVERKILL"       -Damage will not be applied after the target reaches zero HP.
 # "NOFLASH"          -Battler will not flash when taking action.
  def extension
    case @id
    when 1 # Item ID
      return ["IGNOREREFLECT"] # Extensions
    end
    # Default extensions for unassigned Item IDs.
    return ["IGNOREREFLECT"]
  end
 #--------------------------------------------------------------------------
 # ++ Item Flying Graphic Settings
 #--------------------------------------------------------------------------
 # Allows use of a seperate throwing weapon graphic besides the one assigned
 # from Iconset.png.
 #
 # Flying Graphics can only be utilized through use of Moving Animation
 # hashes.
 #
 # return "001-Weapon01" <- Weapon image file name.  If "", none is used.
 #                          File must be in the .Graphics/Characters folder
 #                          of your project.
 #
 # Notetag: <flygraphic: key>
  def flying_graphic
    case @id
    when 1
      return ""
    end
    # Default throwing skill graphic for unassigned Weapon IDs.
    return ""
  end
end
end