Jump to content
DoubleX

DoubleX RMVXA Countdown Addon to YSA Battle System: Classical ATB

Recommended Posts

Note

You may want to use DoubleX RMVXA Bug Fixes for Yanfly Engine Ace - Buff & State Manager as well:

http://www.rpgmakervxace.net/topic/21201-doublex-rmvxa-bug-fixes-for-yanfly-engine-ace-buff-state-manager/

 

Prerequisites

DoubleX RMVXA Bug Fixes to YSA Battle System: Classical ATB

http://www.rpgmakervxace.net/topic/21110-doublex-rmvxa-bug-fixes-to-ysa-battle-system-classical-atb/

YSA Battle System: Classical ATB(Created by Yami)

http://www.rpgmakervxace.net/topic/865-ysa-battle-system-classical-atb/page-3?hl=+active%20+time%20+battle

Yanfly Engine Ace - Buff & State Manager

http://yanflychannel.wordpress.com/rmvxa/gameplay-scripts/buff-state-manager/

 

Script name

DoubleX RMVXA Countdown Addon to YSA Battle System: Classical ATB

 

Author

DoubleX:

- This script

Yami:

- YSA Battle System: Classical ATB

 

Terms of use

Same as those of

- YSA Battle System: Classical ATB

- Yanfly Engine Ace - Buff & State Manager

except that you must also give Yami and Yanfly credits(you should do this anyway) if you give DoubleX or his alias credit

 

Introduction

Lets users set up to 4 states with duration being 1-99 seconds

They can trigger actions under conditions checked every x seconds

 

 

#------------------------------------------------------------------------------|
#  * State Notetags: <custom catb cs: i, c, a>                                 |
#    Sets a state to use the "Duration In Turns" as the duration in seconds    |
#    "Auto Removal Timing" is ignored and duration ranges from 1 to 99 seconds |
#    Actions a will be triggered if condition c is met and c will be checked   |
#    every i seconds, where s ranges from 1 to 99 seconds                      |
#------------------------------------------------------------------------------|

#==============================================================================|
#  ** You only need to edit this part as it's about what this script does      |
#------------------------------------------------------------------------------|

module DoubleX_RMVXA
  module YSA_CATB_Countdown_Addon

#------------------------------------------------------------------------------|
#  * Custom catb countdown condition: c in <custom catb cs: i, c, a>           |
#    To make <custom catb cs: i, c, a> work, the requirements in c must be met.|
#    These requirements are ruby scripts like those in events.                 |
#    The below CATBCX are examples of writing such codes and abtracting them in|
#    random cast notetags to aid users in understanding and using c there.     |
#    To use CATBCX, set the value of c in random cast notetag as CATBCX.       |
#    Users can set their own CATBCX(or whatever name they set) to be used by c.|
#    CATBCX names must start with letters and only use alphanumeric characters.|
#    (Needs decent scripting knowledge)CATBCX is evaluated in the new method   |
#    update_state_catb_countdown(called every second) under class Game_Battler.|
#------------------------------------------------------------------------------|

    # CATBC1, default = "true"
    # c is always true
    CATBC1 = "true"

    # CATBC2, default = "state?(x)"
    # c is true if and only if the battler has state with id x
    CATBC2 = "state?(x)"

    # CATBC3, default = "rand(x) < y"
    # c is true if and only the random number is smaller than y
    CATBC3 = "rand(x) < y"

    # CATBC4, default = CATBC2 + " || " + CATBC3
    # c is true if and only CATBC2 or CATBC3 is true
    CATBC4 = CATBC2 + " || " + CATBC3

    # CATBC5, default = "!state_resist?(x)"
    # c is true if and only the battler isn't resistant to state with id x
    CATBC5 = "!state_resist?(state_id)"

    # CATBC6, default = "(" + CATBC4 + ") && " + CATBC5
    # c is true if and only CATBC4 and CATBC5 are true
    CATBC6 = "(" + CATBC4 + ") && " + CATBC5

    # CATBC7, default = "@ct_catb_value > 0 && !charge_skill_done?"
    # c is true if and only the battler started but not finished charging
    CATBC7 = "@ct_catb_value > 0 && !charge_skill_done?"

    # CATBC8, default = "@catb_action_times == x"
    # c is true if and only the battler has eactly x action points
    CATBC8 = "@catb_action_times == x"

    # CATBC9, default = "$game_system.catb_turn_type == :tick"
    # c is true if and only the battle system turn type is :tick
    CATBC9 = "$game_system.catb_turn_type == :tick"

#------------------------------------------------------------------------------|
#  * Custom catb countdown action: a in <custom catb cs: i, c, a>              |
#    To make <custom catb cs: i, c, a> work, the actions in a must be defined. |
#    These actions are ruby scripts like those in events.                      |
#    The below CATBAX are examples of writing such codes and abtracting them in|
#    random cast notetags to aid users in understanding and using a there.     |
#    To use CATBAX, set the value of a in random cast notetag as CATBAX.       |
#    Users can set their own CATBAX(or whatever name they set) to be used by a.|
#    CATBAX names must start with letters and only use alphanumeric characters.|
#    (Needs decent scripting knowledge)CATBAX is evaluated in the new method   |
#    update_state_catb_countdown(called every second) under class Game_Battler.|
#------------------------------------------------------------------------------|

    # CATBA1, default = "$game_temp.reserve_common_event(common_event_id)"
    # a calls common event with id common_event_id
    CATBA1 = "$game_temp.reserve_common_event(common_event_id)"

    # CATBA2, default =
    # "@result.clear; @result.make_damage(x, $data_skills[y]); execute_damage(self)"
    # a executes x damage to self with type equal to that of skill with id y
    CATBA2 = "@result.clear; @result.make_damage(x, $data_skills[y]); execute_damage(self)"

    # CATBA3, default = "add_state(x)"
    # a adds state with id x to self
    CATBA3 = "add_state(x)"

    # CATBA4, default = CATBA2 + "; " + CATBA3
    # a first does CATBA2 and then does CATBA3
    CATBA4 = CATBA2 + "; " + CATBA3

    # CATBA5, default =
    # "if rand(x) < y; " + CATBA2 + "; end; else; " + CATBA3 + "; end"
    # a does either CATBA2 or CATBA3 depending on the value of a random number
    CATBA5 = "if rand(x) < y; " + CATBA2 + "; end; else; " + CATBA3 + "; end"

    # CATBA6, default = "hide"
    # a does the same as what Special Effect Escape does
    CATBA6 = "hide"

    # CATBA7, default = "clear_catb"
    # a clears the battler's atb bar
    CATBA7 = "clear_catb"

    # CATBA8, default = "@state_turns[x] -= y"
    # a reduces the state's remaining turn by y
    CATBA8 = "@state_turns[x] -= y"

    # CATBA9, default = "@countdown_state_freeze[x] = true"
    # a freezes the countdown timer of a countdown state with id x
    CATBA9 = "@countdown_state_freeze[x] = true"

#==============================================================================|

 

 

 

Video

https://www.youtube.com/watch?v=blpLdsc9bGQ&feature=youtu.be

 

Features

Use of notetags(requires knowledge of notetag usage) to set specific states to have a duration in specific seconds and specific conditions checked every set seconds triggering specific actions
Use of module constants simplifying the condition and action strings in notetags
Decent knowledge and understanding to boolean logic, RGSS3 and YSA-CATB scripts are needed to use this script to its full potential

 

Instructions

Open the script editor and put this script into an open slot between scripts

- DoubleX RMVXA Bug Fixes to YSA Battle System: Classical ATB

- Yanfly Engine Ace - Buff & State Manager

and Main. Save to take effect.

 

Compatibility

Same as those of

- YSA Battle System: Classical ATB

- Yanfly Engine Ace - Buff & State Manager

 

FAQ

Q1: How to setup my own CATBCX and/or CATBAX without any scripting nor YSA-CATB scripts knowledge?

A1: You can ask me here for ways to setup your specific CATBCX and/or CATBAX but I'm afraid I'm still not proficient enough to be a scripting teacher(and I used an entire week just to briefly understand the original YSA-CATB script) :)

 

Changelog

v1.00a(GMT 0100 8-9-2014):

- 1st version of this script finished

 

(DoubleX)YSA CATB Countdown Addon v1.00a.txt

Edited by DoubleX

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
Top ArrowTop Arrow Highlighted