+ dbchest 160 Posted October 23, 2014 (edited) #============================================================================== # ** dbchest's ATB v2.1 #============================================================================== # ** Credits (Freeware) #------------------------------------------------------------------------------ # a list of credits for those involved in the production of said script. # you are not required to credit special mentions; you are however, fully # responsible for proper accreditations of those directly involved in this # work's production as follows: #------------------------------------------------------------------------------ # programmer: dbchest (none required, always appreciated) # special thanks: lionheart_84 # special thanks: glasses # special thanks: luke_tanaka # special thanks: bruceleefan #============================================================================== # ** Details #------------------------------------------------------------------------------ # ATB is an acronym for "Active Time Battle." systems of this nature modify # the flow of battle, making it seem as though the battle takes place in "real # time," rather than the traditional turn based evolution of the default battle # system. the ATB invites a unique strategic approach to battle progression. #============================================================================== # ** Features #------------------------------------------------------------------------------ # battles takes place in "real time" # visually track ATB charge with active ATB gauge # individual colors indicate afflictions to ATB charge rate #============================================================================== # ** Settings #------------------------------------------------------------------------------ # users may define term used for ATB indication (optional) # users may define individual maximum atbs for battlers (optional) # users may apply variance to enemy max atbs (optional) #============================================================================== # ** Installation Instructions (Plug and Play) #------------------------------------------------------------------------------ # paste script in "Materials" section of the script editor. # may NOT work with foreign battle systems. # may NOT work with foreign battle system add-ons. # no foreign script requirements. #============================================================================== # ** Author's Notes #------------------------------------------------------------------------------ # for error reporting and / or suggestions, please post in the script's # official thread or contact me directly via personal message at # rpgmakervxace.net #============================================================================== DEMO: new demo on the way... Script: #============================================================================== # ** dbchest's ATB v2.1 #============================================================================== # ** Credits (Freeware) #------------------------------------------------------------------------------ # a list of credits for those involved in the production of said script. # you are not required to credit special mentions; you are however, fully # responsible for proper accreditations of those directly involved in this # work's production as follows: #------------------------------------------------------------------------------ # programmer: dbchest (none required, always appreciated) # special thanks: lionheart_84 # special thanks: glasses # special thanks: luke_tanaka # special thanks: bruceleefan #============================================================================== # ** Details #------------------------------------------------------------------------------ # ATB is an acronym for "Active Time Battle." systems of this nature modify # the flow of battle, making it seem as though the battle takes place in "real # time," rather than the traditional turn based evolution of the default battle # system. the ATB invites a unique strategic approach to battle progression. #============================================================================== # ** Features #------------------------------------------------------------------------------ # battles takes place in "real time" # visually track ATB charge with active ATB gauge # individual colors indicate afflictions to ATB charge rate # ATB will stop for actor command input (allowing player time to select action) #============================================================================== # ** Settings #------------------------------------------------------------------------------ # users may define term used for ATB indication (optional) # users may define individual maximum atbs for battlers (optional) # users may apply variance to enemy max atbs (optional) #============================================================================== # ** Installation Instructions (Plug and Play) #------------------------------------------------------------------------------ # paste script in "Materials" section of the script editor. # may NOT work with foreign battle systems. # may NOT work with foreign battle system add-ons. # no foreign script requirements. #============================================================================== # ** Author's Notes #------------------------------------------------------------------------------ # for error reporting and / or suggestions, please post in the script's # official thread or contact me directly via personal message at # rpgmakervxace.net #============================================================================== #============================================================================== # ** ATB #------------------------------------------------------------------------------ # This module configures the ATB for Scene_Battle. #============================================================================== module ATB #-------------------------------------------------------------------------- # * Constants (Configuration) #-------------------------------------------------------------------------- TERM = "ATB" ENEMY_MAX_ATB_VARIANCE = true #-------------------------------------------------------------------------- # * Hash Table (Maximum ATBs) #-------------------------------------------------------------------------- MAX_ATB = {} #-------------------------------------------------------------------------- # * Hash Table (Default Max ATB) #-------------------------------------------------------------------------- MAX_ATB[:default] = {:actor => 100, :enemy => 100} #-------------------------------------------------------------------------- # * Hash Table (Actor Max ATBs) #-------------------------------------------------------------------------- # where key is actor database id # where value is desired max atb #-------------------------------------------------------------------------- MAX_ATB[:actor] = {1 => 90, 3 => 120, 6 => 60} #-------------------------------------------------------------------------- # * Hash Table (Enemy Max ATBs) #-------------------------------------------------------------------------- # where key is enemy database id # where value is desired max atb #-------------------------------------------------------------------------- MAX_ATB[:enemy] = {1 => 75, 4 => 150} end #============================================================================== # ** BattleManager #------------------------------------------------------------------------------ # This module manages battle progress. #============================================================================== module BattleManager #-------------------------------------------------------------------------- # * Start Command Input #-------------------------------------------------------------------------- def self.input_start if @phase != :input @phase = :input clear_actor end return !@surprise && $game_party.inputable? end #-------------------------------------------------------------------------- # * Start Turn #-------------------------------------------------------------------------- def self.turn_start @phase = :turn clear_actor make_action_orders end end #============================================================================== # ** Game_BattlerBase #------------------------------------------------------------------------------ # This base class handles battlers. It mainly contains methods for calculating # parameters. It is used as a super class of the Game_Battler class. #============================================================================== class Game_BattlerBase #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_reader :atb # ATB attr_reader :charge_rate # ATB Charge Rate #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- alias init_battlerbase_atb initialize def initialize init_battlerbase_atb @atb = 0 @charge_rate = 1.0 end #-------------------------------------------------------------------------- # * Change ATB #-------------------------------------------------------------------------- def atb=(atb) @atb = [[atb, max_atb].min, 0].max end #-------------------------------------------------------------------------- # * Charge ATB #-------------------------------------------------------------------------- def charge_atb clear_atb if dead? unless atb_empty? return if atb_disabled? @charge_rate = calc_charge_rate @atb += @charge_rate end #-------------------------------------------------------------------------- # * Clear ATB #-------------------------------------------------------------------------- def clear_atb @atb = 0 end #-------------------------------------------------------------------------- # * Determine if ATB is Empty #-------------------------------------------------------------------------- def atb_empty? @atb == 0 end #-------------------------------------------------------------------------- # * Determine if ATB is Fully Charged #-------------------------------------------------------------------------- def atb_charged? @atb >= max_atb end #-------------------------------------------------------------------------- # * Calculate Charge Rate for ATB #-------------------------------------------------------------------------- def calc_charge_rate cr = 1.0 cr = cr * 2 if state?(29) # Haste cr = cr / 2 if state?(28) # Slow cr = 0 if state?(27) # Stop return cr end #-------------------------------------------------------------------------- # * Get Percentage of ATB Charged (ATB Gauge) #-------------------------------------------------------------------------- def atb_rate @atb.to_f / max_atb end #-------------------------------------------------------------------------- # * Determine if ATB Disabled #-------------------------------------------------------------------------- def atb_disabled? return true if hidden? return true if dead? return true if atb_charged? false end #-------------------------------------------------------------------------- # * Determine if Command is Inputable #-------------------------------------------------------------------------- def inputable? normal? && !auto_battle? && atb_charged? end end #============================================================================== # ** Game_Battler #------------------------------------------------------------------------------ # A battler class with methods for sprites and actions added. This class # is used as a super class of the Game_Actor class and Game_Enemy class. #============================================================================== class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # * Processing at Start of Battle #-------------------------------------------------------------------------- alias init_battler_atb on_battle_start def on_battle_start init_battler_atb init_atb end #-------------------------------------------------------------------------- # * Initialize ATB Gauge #-------------------------------------------------------------------------- def init_atb self.atb = rand(max_atb * 0.5) end #-------------------------------------------------------------------------- # * Processing at End of Action #-------------------------------------------------------------------------- alias clear_atb_count on_action_end def on_action_end clear_atb_count clear_atb if atb_charged? end #-------------------------------------------------------------------------- # * Processing at End of Turn #-------------------------------------------------------------------------- def on_turn_end @result.clear end #-------------------------------------------------------------------------- # * Turn Update Processing (ATB Turn Update) #-------------------------------------------------------------------------- def on_turn_update regenerate_all update_state_turns update_buff_turns remove_states_auto(2) end end #============================================================================== # ** Game_Actor #------------------------------------------------------------------------------ # This class handles actors. It is used within the Game_Actors class # ($game_actors) and is also referenced from the Game_Party class ($game_party). #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_reader :max_atb # Max ATB #-------------------------------------------------------------------------- # * Setup #-------------------------------------------------------------------------- alias setup_max_atb setup def setup(actor_id) setup_max_atb(actor_id) @max_atb = 0 set_max_atb(actor_id) end #-------------------------------------------------------------------------- # * Set Max ATB #-------------------------------------------------------------------------- def set_max_atb(actor_id) if ATB::MAX_ATB[:actor].include?(actor_id) @max_atb = ATB::MAX_ATB[:actor][actor_id] else @max_atb = ATB::MAX_ATB[:default][:actor] end end end #============================================================================== # ** Game_Enemy #------------------------------------------------------------------------------ # This class handles enemies. It used within the Game_Troop class # ($game_troop). #============================================================================== class Game_Enemy < Game_Battler #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_reader :max_atb # Max ATB #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- alias init_max_atb initialize def initialize(index, enemy_id) init_max_atb(index, enemy_id) @max_atb = 0 set_max_atb(enemy_id) end #-------------------------------------------------------------------------- # * Set Max ATB #-------------------------------------------------------------------------- def set_max_atb(enemy_id) if ATB::MAX_ATB[:enemy].include?(enemy_id) @max_atb = ATB::MAX_ATB[:enemy][enemy_id] else @max_atb = ATB::MAX_ATB[:default][:enemy] end apply_max_atb_variance end #-------------------------------------------------------------------------- # * Apply Variance to Max ATB #-------------------------------------------------------------------------- def apply_max_atb_variance return unless ATB::ENEMY_MAX_ATB_VARIANCE variance = rand(20) @max_atb += variance end end #============================================================================== # ** Window_BattleStatus #------------------------------------------------------------------------------ # This window is for displaying the status of party members on the battle # screen. #============================================================================== class Window_BattleStatus < Window_Selectable #-------------------------------------------------------------------------- # * Draw Gauge Area #-------------------------------------------------------------------------- def draw_gauge_area(rect, actor) draw_gauge_area_with_atb(rect, actor) end #-------------------------------------------------------------------------- # * Draw Gauge Area (with ATB) #-------------------------------------------------------------------------- def draw_gauge_area_with_atb(rect, actor) draw_actor_hp(actor, rect.x + 0, rect.y, 72) draw_actor_mp(actor, rect.x + 82, rect.y, 64) draw_actor_atb(actor, rect.x + 156, rect.y, 64) end #-------------------------------------------------------------------------- # * Draw ATB Gauge #-------------------------------------------------------------------------- def draw_actor_atb(actor, x, y, width = 124) if actor.atb_charged? draw_gauge(x, y, width, actor.atb_rate, text_color(11), text_color(3)) elsif actor.state?(27) draw_gauge(x, y, width, actor.atb_rate, text_color(8), text_color(0)) elsif actor.charge_rate < 1 draw_gauge(x, y, width, actor.atb_rate, text_color(13), text_color(5)) elsif actor.charge_rate > 1 draw_gauge(x, y, width, actor.atb_rate, text_color(10), text_color(2)) else draw_gauge(x, y, width, actor.atb_rate, text_color(14), text_color(6)) end change_color(system_color) draw_text(x, y, 30, line_height, ATB::TERM) end end #============================================================================== # ** Scene_Battle #------------------------------------------------------------------------------ # This class performs battle screen processing. #============================================================================== class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # * Post-Start Processing #-------------------------------------------------------------------------- alias start_atb post_start def post_start start_atb @turn_atb_count = 0 @active_atb = true end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super update_turn_atb update_all_battlers_atb refresh_status if BattleManager.in_turn? process_event process_action end BattleManager.judge_win_loss end #-------------------------------------------------------------------------- # * Frame Update (Turn ATB) #-------------------------------------------------------------------------- def update_turn_atb return if !active_atb? update_turn_atb_count update_turn if turn_update? end #-------------------------------------------------------------------------- # * Frame Update (Turn ATB Count) #-------------------------------------------------------------------------- def update_turn_atb_count @turn_atb_count += 1 end #-------------------------------------------------------------------------- # * Determine if Turn Update Needed #-------------------------------------------------------------------------- def turn_update? required_atb = calc_atb_for_turn_update return true if @turn_atb_count >= required_atb false end #-------------------------------------------------------------------------- # * Calculate ATB Required for Turn Update #-------------------------------------------------------------------------- def calc_atb_for_turn_update 100 end #-------------------------------------------------------------------------- # * Update Turn #-------------------------------------------------------------------------- def update_turn @turn_atb_count = 0 $game_troop.increase_turn all_battle_members.each do |battler| battler.on_turn_update end end #-------------------------------------------------------------------------- # * Frame Update (All Battle Members ATB) #-------------------------------------------------------------------------- def update_all_battlers_atb return if !active_atb? update_party_atb update_troop_atb end #-------------------------------------------------------------------------- # * Frame Update (Party ATB) #-------------------------------------------------------------------------- def update_party_atb $game_party.battle_members.each do |battler| next if battler.dead? battler.charge_atb refresh_status if battler.atb_charged? return process_battler_atb(battler) if battler.atb_charged? end end #-------------------------------------------------------------------------- # * Frame Update (Troop ATB) #-------------------------------------------------------------------------- def update_troop_atb $game_troop.members.each do |battler| next if battler.dead? battler.charge_atb return process_battler_atb(battler) if battler.atb_charged? end end #-------------------------------------------------------------------------- # * Process Battler ATB #-------------------------------------------------------------------------- def process_battler_atb(battler) deactivate_atb battler.make_actions if battler.actor? next_command if BattleManager.input_start elsif battler.enemy? next_command unless @actor_command_window.active end end #-------------------------------------------------------------------------- # * Frame Update (Update Status Window Information) #-------------------------------------------------------------------------- def refresh_status return if !active_atb? @status_window.refresh end #-------------------------------------------------------------------------- # * Start Actor Command Selection #-------------------------------------------------------------------------- def start_actor_command_selection Audio.se_play('Audio/SE/' + 'Flash1', 80, 100) @status_window.select(BattleManager.actor.index) @actor_command_window.setup(BattleManager.actor) end #-------------------------------------------------------------------------- # * Battle Start #-------------------------------------------------------------------------- def battle_start BattleManager.battle_start process_event refresh_status @status_window.unselect @status_window.open end #-------------------------------------------------------------------------- # * Start Turn #-------------------------------------------------------------------------- def turn_start @actor_command_window.close @status_window.unselect @subject = nil BattleManager.turn_start @log_window.wait @log_window.clear end #-------------------------------------------------------------------------- # * End Turn #-------------------------------------------------------------------------- def turn_end all_battle_members.each do |battler| battler.on_turn_end refresh_status @log_window.display_auto_affected_status(battler) @log_window.wait_and_clear end BattleManager.turn_end process_event activate_atb end #-------------------------------------------------------------------------- # * Activate ATB #-------------------------------------------------------------------------- def activate_atb @active_atb = true end #-------------------------------------------------------------------------- # * Deactivate ATB #-------------------------------------------------------------------------- def deactivate_atb @active_atb = false end #-------------------------------------------------------------------------- # * Determine if ATB is Active #-------------------------------------------------------------------------- def active_atb? return true if @active_atb end end Edited January 2, 2015 by dbchest 3 BruceLeeFan, DoubleX and Dymdez reacted to this Share this post Link to post Share on other sites
+ Glasses 606 Posted October 23, 2014 Well, next thing you'd want to do is make it work with more than first 4 actors and 30 enemies in the database. 1 dbchest reacted to this Share this post Link to post Share on other sites
+ dbchest 160 Posted October 23, 2014 (edited) i designed it that way in particular so individual atb specs could be assigned as individuals. it allows for a more diverse experience as a whole, preventing every actor and enemy from charging at the same rate. the user need only imitate the trend that exists and set the desired values for any additional actors/enemies. wouldn't take but a minute. that said, i suppose it would be just as easy to generate a formula for variance to incorporate also. Edited October 23, 2014 by dbchest Share this post Link to post Share on other sites
+ Glasses 606 Posted October 23, 2014 What I mean, you could simplify it and make it more dynamic. Instead of ENEMY1 = 180 # Slime ENEMY2 = 120 # Bat ENEMY3 = 90 # Hornet ENEMY4 = 210 # Spider ENEMY5 = 95 # Rat #etc.. You could make a Hash or an Array, and have values there. Then instead of having something like this for every single value: case enemy_id when 1 ; return @max_atb = ENEMY1 #etc You could simply use @max_atb = Module::EnemyHashOrArray[enemy_id] 2 Dymdez and dbchest reacted to this Share this post Link to post Share on other sites
Lionheart_84 3 Posted October 23, 2014 Interesting!!! You can make sure that the ATB bar change color depending on the status?!? EX: Red for Haste EX: Grey for Slow EX: White for Stop 1 dbchest reacted to this Share this post Link to post Share on other sites
+ dbchest 160 Posted October 23, 2014 (edited) right you are mr. trival! it is amazing how the little things slip by. i'm no stranger to hash arrays; i used them to create an instrument script that replicates the ocarina of time's ocarina system. this would definitely be a much cleaner way to approach the individuality of the atb gauge. thanks for the cliff note trival. that would be very easy to implement lionheart. i can certainly include that for the next release. Edited October 23, 2014 by dbchest Share this post Link to post Share on other sites
Lionheart_84 3 Posted October 24, 2014 Well!!! I'll wait the next release!!! 1 dbchest reacted to this Share this post Link to post Share on other sites
+ dbchest 160 Posted October 24, 2014 (edited) @lionheart: scratch that man; i went ahead and updated the gauges for you. v1.1. Edited October 24, 2014 by dbchest Share this post Link to post Share on other sites
+ Galdelonian 13 Posted October 25, 2014 Now if it worked with Tankentai 1 dbchest reacted to this Share this post Link to post Share on other sites
+ dbchest 160 Posted October 25, 2014 i'll be releasing my own side view battle system soon; like this atb, it is lightweight but effective. i don't know what all tankentai's script accomplishes, but my scripts will be compatible with one another. Share this post Link to post Share on other sites
+ Galdelonian 13 Posted October 26, 2014 The only reason I like Tankentai is because of the automatic functions (camera slides and such) and then the customization of moves making it possible to really make your character jump around to do moves. It gives them an awesome feel. (For instance having them move toward the enemy, past them, with a slice through the enemy as they go, and then it repeats it in different directions 3 or 4 times to do some neat little animation effect. 1 dbchest reacted to this Share this post Link to post Share on other sites
Lionheart_84 3 Posted October 26, 2014 Thank you so much!!! Someone who accepts my advice!!! :D Share this post Link to post Share on other sites
+ dbchest 160 Posted October 27, 2014 @Galdelonian: my side view battle system will feature very similar effects. i'm not telling you to switch by any means (i can only imagine how much time you put into individualizing the script to your project), but my systems will be compatible. it will be a Side View Active Time Battle system, complete with a Battle Camera. development will take some time yet, but i should make some serious headway during my next voyage out of the country. p.s. Tankentai looks like a very good battle system. @Lionheart: currently, you will experience issues with the colors when multiple charge ailments are inflicted on your party; i.e. if your character has haste afflicted on him, and an enemy inflicts slow, the gauge will update, but the new color will not reflect the actual speed of the ATB because there is no negation of these status ailments. i am going to have to create a priority / negation method to handle stacking the ailments. that will be only slightly more complicated than adding the gauges themselves, so that will have to wait until i'm finished working on my Day and Night Game Clock. Share this post Link to post Share on other sites
+ Glasses 606 Posted October 27, 2014 @dbchest, Instead of flat 0.5 haste/slow amount, you could have states quicken/slow the ATB by 0.X amount. add that value up, and if the total speed is < 1, color the bar is slowed color, if total speed is > 1, color the bar is hasted color and if total speed == 1, leave is as a default. This would allow for more haste/slow states also would solve the colors by default. 1 dbchest reacted to this Share this post Link to post Share on other sites
+ dbchest 160 Posted October 28, 2014 (edited) @Mr. Trival: that is a pretty intuitive way of approaching the issue. i'm torn between a traditional way of doing things (state cancellations, as in most currently inflicted state rules) and your way. i like your idea a lot though, and it would only take a min or two to arrange. perhaps i'll include methods for each and provide a toggle for those players who may prefer a more traditional game play experience. there is no doubt however, that your way is so much more dynamic and allows for unique progressions through individual battles, which is very appealing. thank you Mr. Trival. Edited October 28, 2014 by dbchest Share this post Link to post Share on other sites
Luke Tanaka 1 Posted December 19, 2014 Hopefully this isn't too much of a necropost, but I need some help with this script. For some reason enemies are affected by the Action Times+ Feature, but not actors. Has anyone found a workaround for this bug? It can be replicated in a totally clean new project, just try giving any actor and any enemy the Action Times+. The enemy will act multiple times without issue, but not actors. Share this post Link to post Share on other sites
+ dbchest 160 Posted December 19, 2014 hey Luke, i'll look into this. Share this post Link to post Share on other sites
Luke Tanaka 1 Posted December 20, 2014 Thank you! I've been breaking my brain on it for a few days now since I only just started picking up Ruby. My attempts were to either have a loop where ATB is set to max for x amount of turns (to keep the turn going) or stick the whole turn itself inside a while loop, but I couldn't figure out how to get either working correctly (and the former just sounds like a bad idea anyway because of state durations and such). Share this post Link to post Share on other sites
+ dbchest 160 Posted December 20, 2014 (edited) dbchest's ATB has been updated to v2.0. this script was put under heavy maintenance. while it will appear to function almost the same, the script has been integrated seamlessly into the default battle system and should have complete compatibility with all of the default features of the engine. please post any errors you find. Edited December 21, 2014 by dbchest Share this post Link to post Share on other sites
Luke Tanaka 1 Posted December 21, 2014 (edited) Thanks for updating this! Unfortunately, while the update looks like it works great with the default system as far as I can tell, it did break compatibility with other scripts which it was compatible with previously, particularly Victor's Map Battle/Animated Battlers and Yanfly's Instant Cast. HOWEVER, reading over it gave me some ideas on how to make the original script suit my needs, so everything worked out anyway My diff: https://www.diffchecker.com/89tyo0v3(init_tp is for Pacman's TP Overhaul and command_endturn is a custom actor menu command in Window_ActorCommand. MP resetting every turn was intentional)Suffice to say, I have no clue what I'm doing but I made it work somehow. Thanks again for the help Edited December 21, 2014 by Luke Tanaka 1 dbchest reacted to this Share this post Link to post Share on other sites
+ dbchest 160 Posted December 21, 2014 hey man, i'm no master of programming either, all that matters is that you got what you needed! i may or may not look into the compatibility issues the new version sparked. my guess is that victor and yanfly redefined some of the same methods i did, so there is a bit of a conflict. i was not able to alias everything like i would have liked to have in order to ensure compatibility amongst all scripts, hence my contribution to the installation instructions in version 2.0 that this may NOT work with foreign battle scripts or foreign battle script add-ons. i believe there are still a few things i can do to optimize the new version, so expect updates regularly. my main goal with this ATB is to allow for the continuation of the atb charge through the actual turn phase while actions are being taken. Share this post Link to post Share on other sites
BruceLeeFan 5 Posted January 2, 2015 (edited) Sorry to bother yourself Dbchest,i found a little issue related to monsters escaping. If you have more than one enemy in scene (tested with 2) and one runs,the gauge charges a little and then frezees without errors box. Excuse me for my bad english y feliz año nuevo! Edited January 2, 2015 by BruceLeeFan 1 dbchest reacted to this Share this post Link to post Share on other sites
+ dbchest 160 Posted January 2, 2015 (edited) thanks for finding this bug! i will look into it for you man. update: this was a very simple fix. thank you very much for using dbchest's ATB and finding this bug. the script has been updated within the first post with the optimized code. please let me know if you experience any other problems; i would be happy to look into them for you. Edited January 2, 2015 by dbchest 1 BruceLeeFan reacted to this Share this post Link to post Share on other sites
BruceLeeFan 5 Posted March 16, 2015 (edited) Sorry to bother yourself again dbchest,i have two issues to report. The battle frezees without errors box when you have a single actor in battle inflicted with a state that does not allows to make actions,for example parallize. And the other is minor,for some reason the atb battle slowdown when i use other script. It is not a performance problem,the slowdown only happens when the bar is charging. I love your atb,thanks you very much for sharing it with us. Edited March 16, 2015 by BruceLeeFan 1 dbchest reacted to this Share this post Link to post Share on other sites
+ Galdelonian 13 Posted March 16, 2015 What's the battle system it's made for? (What's foreign?) Share this post Link to post Share on other sites