Announcement
Announcement
| 2nd Quarter Contest Announcement posted! See the Community Announcements section. |
New threads (complete scripts) here will go into a moderation queue. You will not see your thread appear when you create it. A moderator will decide if it will be approved or denied.
![]() ![]() |
Aug 7 2009, 08:11 PM
Post
#1
|
|
![]() The best BAKA ever ![]() Type: Undisclosed Alignment: True Neutral |
wltr3565's Burst Gauge v1.9b Made by wltr3565 Introduction This is a fulfillment of my dream. Burst Gauge of A8 (Atelier Iris 3) and A9(Mana Khemia 1). That feature is very fun. I wish to use it to in RGSS2, and this is the result. Features Spoiler: Screenies Spoiler: How to use: Place it below the used battle system and above main. Plug and play with some adjustments in there. And you need some gauge images in the Graphics/System folder. Read the script for more information. Well, you can manipulate the gauge by calling some script commands: Spoiler: Demo Ralph's Story: Curse and Blessing of Ability Crest The one that contained in the demo is v1.8a. You can take the gauge images from there. Script: [spoiler] CODE =begin [/spoiler]/////////=======================================================\\\\\\\\\\\\\\\\ ======== wltr3565's Burst Gauge v1.9b ================ ================================================================================ My favorite games in PS2, Atelier 8 and Atelier 9, has this system, burst gauge. Gust is the best! \(^-^)/ I wish this thing can be added in RGSS2, and making this, then after countless times of headache and hunger, this script is done! ================================================================================ Script effect: It varies. You can look below to see the instructions. General effect(suggested to use with Tankentai): - Give advantage by activating the hard-to-fill burst gauge! The burst gauge effect when it's full, it will power up the party's skills! It gives pleasure to inflict a lot of damage and more rating to win. - Controlable by setting! You can fulfill your dreams of controlling the gauge. How much will it increase, ... and things you like / don't like will be your control! - EXP and GOLD boost! The burst's another feature is to give the players a boost of their earnings except items. It won't be more than the total gettings * 2 though. And only happens if they use a skill. - MP cost 0 if in burst!? The mp cost can be 0 as you like. It's even not in the game :) - Gauged HUD! The gauge is gauged! It will be easier to indicate how much it is! - Changeable term! Feel free to change the name of this system, but you can't change fact that this is a burst gauge system of Gust's :) - More expandable features for this gauge Thanks for the RMVX.net communities's suggestions, this system even expanded and have features that mixed up with the other games. - Using images! And easy format for making the gauge image, unlike overdrive gauge that gives you headache! ================================================================================ #=============================================================================== #How to manipulate the gauge in events #=============================================================================== # Call a script command, and you can increase the gauge at your # liking, like this for example: # # $game_party.Burst_Gauge += n # # It will increase the gauge by n value. You can decrease it, # divide it, or anything else. # # If you want a conditional branch that activates as the burst # gauge full, use the conditional branch event command, click # the fourth tab, then click the lowermost option, and type this: # # $game_party.burst_activate? # # by then, the conditional branch will run when the gauge has # been activated or full. ================================================================================ FAQ: Q: I want things to be available by this system! A: Post at the forum where I posted this script / link! Q: I want to change the BGM mid-battle, but it doesn't change at all! It's happened when the burst gauge activates and I made the BGM to change as burst activates. A: This is not a glitch, but another function of this script. I do feel weird when you changed the song, then revert again after the burst ends. Isn't this annoying? So instead, the BGM that you want to use will be played after the burst ends. ================================================================================ Incompability: It's hard to tell. Please tell me the existing bugs when using with another script. ================================================================================ Install: Put it below a battle system (ATB, Sideview, etc) and above main. ================================================================================ Terms of use: Credit wltr3565. For commercial projects, PM me first so I can add your game into my free-to-get games list :). ================================================================================ =end #=============================================================================== # IMPORTING. In case of incompability. Things can be slightly easier by using # this stuff. #=============================================================================== $imported = {} if $imported == nil $imported["wltr3565's_Burst_Gauge"] = true #=============================================================================== # END IMPORT #=============================================================================== module WLTR module BURST_GAUGE_SETUP #=============================================================================== #What's the name of the burst? Name yourself! I do suggest to empty this if #you desire to use images as your gauge, and you've written the burst name in #the image. #=============================================================================== BURST_NAME = "Tension" #=============================================================================== #How many points till the gauge to be recognized as full? #=============================================================================== MAX_NUMBER = 1000 #=============================================================================== #For each hits inflicted, how many points it will increase? It will rise as #the players attack, but decreases as the players got a damage. #=============================================================================== BURST_INCREASE = 100 #=============================================================================== #While the burst gauge activates, how much do you want to divide the burst #increase? Only effects if the attacker is the player, though. Enter it 1 if #you want to disable this. #=============================================================================== BURST_DIVIDE = 2 #=============================================================================== #Determine if the gauge decreases as the players got hit. # True = The gauge will decrease as players got hit. # False = The gauge won't decrease. #=============================================================================== ABLE_DECREASE_BY_HIT = true #=============================================================================== #This controls the burst gauge decreasement as players got hit. This will cut #the decreasement amount by the assigned value below. So if a slime hits you, #and you've set the BURST_INCREASE to 50 and the thing below is 5, the burst #gauge will only decrease by 10. Just enter it 1 if you don't want it to be #divided. #=============================================================================== ENEMY_HITTING_CUT = 5 #=============================================================================== #Determine if you want the damage to not change when the target is guarding. # True = Don't make the gauge change while the target is guarding. # False = Make the gauge change while the target is guarding. #=============================================================================== GUARD_NULLS_GAUGE = false #=============================================================================== #How many points the gauge will decrease as you in a burst? Decrease per turn. #=============================================================================== BURST_DECREASE = 200 #=============================================================================== #Do you want the gauge to instantly drop to zero as the enemy inflicts a #critical hit? Only occurs when the burst gauge activates. # True = Make the gauge drop to 0 when got a critical hit. # False = Make the gauge to not drop to 0 when got a critical hit. #=============================================================================== CRITICAL_GAUGE_CUTTER = false #=============================================================================== # If one of the ally KOed, do you want to cut the gauge? # True = Gauge will cut. # False = Gauge will not cut. #=============================================================================== CUT_BURST_IF_KO = true #=============================================================================== # Do you want the burst gauge activate if the assigned button was pressed? # True = Burst activates when the button pressed. # False = Let the burst activate automatically. #=============================================================================== ACTIVATE_NEED_BUTTON = true #=============================================================================== # What is the button for triggering the burst gauge to activate? Don't forget # to put Input:: in the front and the buttons are joypad keys, not keyboard. #=============================================================================== ACTIVATE_BUTTON = Input::X #=============================================================================== #Ignore this if you set the CUT_BURST_IF_KO to false. The gauge will cut by #the added value. Calculation = Gauge / BURST_CUT #=============================================================================== BURST_CUT = 2 #=============================================================================== #As the gauge full, what SE will you play? #=============================================================================== SOUND_PLAY = "Saint7" #=============================================================================== #What BGM do you want to play while the burst activates? #Write this = RPG::BGM.new("song_name", volume, pitch) #Write this nil if you don't want the BGM to change. #=============================================================================== BGM_CHANGE = RPG::BGM.new("Battle7", 100, 100) #=============================================================================== #How much the gauge increasement to be multiplied as you inflict a weakness? #=============================================================================== ELE_WEAK_MULTIPLY = 5 #=============================================================================== #How much the gauge increasement to be divided as you inflict a resistance? #=============================================================================== ELE_RES_MULTIPLY = 2 #=============================================================================== #As the gauge fulls, do you want to give the enemies a state? All of them. # True = inflct the state. # False = do not inflict the state. #=============================================================================== GIVE_STATE = true #=============================================================================== #As the gauge fulls, do you want to give the players a state? All of them. # True = inflct the state. # False = do not inflict the state. #=============================================================================== GIVE_STATE_PLAYER = false #=============================================================================== #Ignore this if you set GIVE_STATE to false. Which states do you want to inflict? #enter the state id in array. #=============================================================================== STATE_INFLICT = [7] #=============================================================================== #Ignore this if you set GIVE_STATE_PLAYER to false. Which states do you want to #inflict? Enter the state id in array. #=============================================================================== STATE_INFLICT_PLAYER = [12] #=============================================================================== #Below will determine how many percent the hp and mp will heal as the burst #activates. You can set both to zero if you don't want to use this function. #Entering number bigger than 100 will result like as you input 100. #=============================================================================== HP_HEAL = 50 #healing party's HP MP_HEAL = 50 #healing party's MP #=============================================================================== #Do you want to keep the gauge? # true = keep the gauge like the last battle # false = reset the gauge at the start of the battle #=============================================================================== KEEP_GAUGE = true #=============================================================================== #As the burst activates, the players can get a bonus. Set up here. For exp: # True = give the bonus. # False = do not give the bonus. #=============================================================================== GIVE_EXP_BONUS = true #=============================================================================== #Ignore this if you set GIVE_EXP_BONUS = false. The bonus is based on the damage #inflicted. Bonus = damage(skill) * EXP_CALCULATE / 100 #=============================================================================== EXP_CALCULATE = 1 #=============================================================================== #As the burst activates, the players can get a bonus. Set up here. For gold: # True = give the bonus. # False = do not give the bonus. #=============================================================================== GIVE_GOLD_BONUS = true #=============================================================================== #Ignore this if you set GIVE_GOLD_BONUS = false. The bonus is based on the damage #inflicted. Bonus = damage(skill) * GOLD_CALCULATE / 100 #=============================================================================== GOLD_CALCULATE = 1 #=============================================================================== #Limit for a damage to give the bonus. #=============================================================================== EXP_BONUS_LIMIT = 100 GOLD_BONUS_LIMIT = 100 #=============================================================================== #The multiplier for powering up the skill while in a burst. #=============================================================================== POWER_UP_RATE = 2 #=============================================================================== #Do you want the skills to not require mp to use? Set up here: # true = will not use the mp as the burst activates # false = will use mp as the burst activates #=============================================================================== MP_COST_LESS = false #=============================================================================== #Gauge layout adjusting. #=============================================================================== TEXT_X = 306 #The text's x coordinate. Positive value moves the text to the #right, and negative value moves the text to the right. TEXT_Y = 0#The text's y coordinate. Positive value moves the text to the #bottom, and negative value moves the text to the top. GAUGE_X = 306#The gauge's x coordinate. Positive value moves the gauge to the #right, and negative value moves the gauge to the right. GAUGE_Y = 0#The gauge's y coordinate. Positive value moves the gauge to the #bottom, and negative value moves the gauge to the top. GAUGE_HEIGHT = 6#Size of the gauge's height. The bigger the number, the #bigger the gauge. 0 makes it shows nothing, really. And #only effects if you set IMAGE_BASED to false. If you have #set it to true, then the gauge's height depends on your #set image. GAUGE_ALTER_SPEED = 4 #The speed of gauge's altering. The more the number #the faster the gauge increase. #=============================================================================== # If you've set IMAGE_BASED to true... The image are picked from Graphics/System # folder. #=============================================================================== GAUGE_SKIN_NORMAL = "Burst1" #The gauge's skin's file name while the #burst has not activated yet. GAUGE_SKIN_BURST = "Burst1" #The gauge's skin's file name while the #burst is activating. GAUGE_FILL_NORMAL = "Burst2" #The gauge's gauge color's file name #while the burst has not activated yet. GAUGE_FILL_BURST = "Burst3" #The gauge's gauge color's file name #while the burst is activating. #=============================================================================== #Do you want the skills that needs the burst to activate for using #to consume the entire gauge? Skills that needing burst to activate is defined #by putting <Burst-need> in the note tag. The letters must match. # True = the gauge will be gone to zero as used. # False = the gauge won't be gone to zero as used. #=============================================================================== EAT_BURST = false end end #=============================================================================== #/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ #Edit below and you might die if you don't have a appropriate level of scripting. #\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ #=============================================================================== module RPG #=============================================================================== #Defining skills that will need the burst to be activated or not. #=============================================================================== class Skill < UsableItem def Burst_need self.note.each_line { |line| return true if line.include?('<Burst-need>') } return false end end end class Game_Party < Game_Unit #=============================================================================== # Defining the burst gotten. #=============================================================================== def Burst_Gauge @burst = 0 unless $game_temp.in_battle and @burst != nil return @burst end #=============================================================================== # Defining the burst max #=============================================================================== def Burst_Gauge=(value) @burst = [[value, total_burst].min, 0].max end #=============================================================================== # Defining the total for a burst to activate. #=============================================================================== def total_burst return WLTR::BURST_GAUGE_SETUP::MAX_NUMBER end #=============================================================================== # Defining if the burst has maxed or not #=============================================================================== def burst_max? @burst = 0 unless @burst != nil if @burst <= 0 #if the burst has ran out... @burst_flag = false #set burst_max? to false clear_states change_bgm_after_burst @burst_sound_play = false #as well the sound. end #@burst == 0 if @burst == total_burst or @burst_flag #if the burst has maxed or the burst #have been activated if WLTR::BURST_GAUGE_SETUP::ACTIVATE_NEED_BUTTON return @burst_flag unless Input.press?(WLTR::BURST_GAUGE_SETUP::ACTIVATE_BUTTON) end @burst_flag = true #set about the burst has been activated. if @burst_sound_play == false #did the sound has played? sound = RPG::SE.new(WLTR::BURST_GAUGE_SETUP::SOUND_PLAY) sound.play change_bgm_while_burst add_state_due_burst #give state to the enemies. heal_as_burst_active @burst_sound_play = true #flag so the burst has been played and the process #before has done. end #@burst_sound_play end #burst return @burst_flag #true or false is defined by this @burst_flag. end #burst_max? def heal_as_burst_active for recipient in $game_party.existing_members recipient.hp += (recipient.maxhp * WLTR::BURST_GAUGE_SETUP::HP_HEAL) / 100 recipient.mp += (recipient.maxmp * WLTR::BURST_GAUGE_SETUP::MP_HEAL) / 100 end end def change_bgm_after_burst $memorized_bgm.play unless $memorized_bgm == nil end def change_bgm_while_burst if WLTR::BURST_GAUGE_SETUP::BGM_CHANGE != nil $memorized_bgm = RPG::BGM.last unless RPG::BGM == nil bgm = WLTR::BURST_GAUGE_SETUP::BGM_CHANGE bgm.play end end #=============================================================================== #Defines the state infliction #=============================================================================== def add_state_due_burst if WLTR::BURST_GAUGE_SETUP::GIVE_STATE for victim in $game_troop.members for state in WLTR::BURST_GAUGE_SETUP::STATE_INFLICT victim.add_state(state) end end end if WLTR::BURST_GAUGE_SETUP::GIVE_STATE_PLAYER party_count = $game_party.existing_members for player in party_count for state in WLTR::BURST_GAUGE_SETUP::STATE_INFLICT player.add_state(state) end end end end def clear_states if WLTR::BURST_GAUGE_SETUP::GIVE_STATE for victim in $game_troop.members for state in WLTR::BURST_GAUGE_SETUP::STATE_INFLICT victim.remove_state(state) end end end if WLTR::BURST_GAUGE_SETUP::GIVE_STATE_PLAYER party_count = $game_party.existing_members for player in party_count for state in WLTR::BURST_GAUGE_SETUP::STATE_INFLICT player.remove_state(state) end end end end #=============================================================================== # Is the burst activating? Only go to false if the burst_max? are not true. #=============================================================================== def burst_activate? return true if burst_max? end def burst_activate=(value) @burst_flag = value end #=============================================================================== #EXP bonus #=============================================================================== def exp_extend @exp_extra = 0 if @exp_extra == nil return @exp_extra end def exp_extend=(value) @exp_extra = [[value, WLTR::BURST_GAUGE_SETUP::EXP_BONUS_LIMIT].min, 0].max end #=============================================================================== #GOLD bonus #=============================================================================== def gold_extend @gold_extra = 0 if @gold_extra == nil return @gold_extra end def gold_extend=(value) @gold_extra = [[value, WLTR::BURST_GAUGE_SETUP::GOLD_BONUS_LIMIT].min, 0].max end #=============================================================================== # Let's end defining the Burst. #=============================================================================== end class Game_Interpreter def command_241 unless $game_temp.in_battle @params[0].play else if $game_party.burst_activate? and WLTR::BURST_GAUGE_SETUP::BGM_CHANGE != nil $memorized_bgm = @params[0] else @params[0].play end end return true end end class Game_Troop alias burst_decrease increase_turn def increase_turn if $game_party.burst_activate? $game_party.Burst_Gauge -= WLTR::BURST_GAUGE_SETUP::BURST_DECREASE end burst_decrease end alias exp_with_burst exp_total def exp_total exp = exp_with_burst exp += [$game_party.exp_extend, exp].min if WLTR::BURST_GAUGE_SETUP::GIVE_EXP_BONUS return exp end #-------------------------------------------------------------------------- # * Calculate Total Gold #-------------------------------------------------------------------------- alias gold_with_burst gold_total def gold_total gold = gold_with_burst gold += [$game_party.gold_extend, gold].min if WLTR::BURST_GAUGE_SETUP::GIVE_GOLD_BONUS return gold end end class Scene_Battle < Scene_Base alias empty_gauge battle_end def battle_end(result) empty_gauge(result) $game_party.Burst_Gauge = 0 if !WLTR::BURST_GAUGE_SETUP::KEEP_GAUGE $game_party.burst_activate = false $game_party.gold_extend = 0 $game_party.exp_extend = 0 end end class Game_Battler def burst_multiply @burst_multi = 1 if @burst_multi == nil return @burst_multi end def burst_multiply=(value) @burst_multi = value end #=============================================================================== # Decreases the gauge if a member has KOed. #=============================================================================== def decrease_burst_on_ko $game_party.Burst_Gauge /= WLTR::BURST_GAUGE_SETUP::BURST_CUT if self.actor? and WLTR::BURST_GAUGE_SETUP::CUT_BURST_IF_KO end #=============================================================================== # Increase or decrease the multiply based on the elements. #=============================================================================== alias burst_count_ele elements_max_rate def elements_max_rate(element_set) @burst_multis = Array.new if @burst_multis == nil unless element_set.empty? rate_list = [] for i in element_set rate_list.push(element_rate(i)) end end unless element_set.empty? ele_count = rate_list.max else ele_count = 100 end @burst_multi = 1 if ele_count < 100 @burst_multi /= WLTR::BURST_GAUGE_SETUP::ELE_RES_MULTIPLY elsif ele_count > 100 @burst_multi *= WLTR::BURST_GAUGE_SETUP::ELE_WEAK_MULTIPLY else @burst_multi = 1 end @burst_multis.push(@burst_multi) burst_count_ele(element_set) end alias increase_gauge_or_decrease execute_damage def execute_damage(user) if $imported["GuardRecover"] and guarding? burst_gauge_increase(true) unless @hp_damage == 0 and @mp_damage == 0 else burst_gauge_increase(user.actor?) unless @hp_damage == 0 and @mp_damage == 0 end increase_gauge_or_decrease(user) end def burst_gauge_increase(check = true) burst_increase = WLTR::BURST_GAUGE_SETUP::BURST_INCREASE burst_increase /= WLTR::BURST_GAUGE_SETUP::BURST_DIVIDE if check == true and $game_party.burst_activate? burst_increase *= @burst_multis.max if !@burst_multis.empty? @burst_multis = nil @burst_multi = nil if check == true $game_party.Burst_Gauge += burst_increase unless guarding? and WLTR::BURST_GAUGE_SETUP::GUARD_NULLS_GAUGE else if WLTR::BURST_GAUGE_SETUP::ABLE_DECREASE_BY_HIT burst_increase /= WLTR::BURST_GAUGE_SETUP::ENEMY_HITTING_CUT $game_party.Burst_Gauge -= burst_increase unless guarding? and WLTR::BURST_GAUGE_SETUP::GUARD_NULLS_GAUGE end end @burst_multiply = 1 decrease_burst_on_ko if dead? end alias state_check add_state def add_state(state_id) state_check(state_id) decrease_burst_on_ko if dead? end def gold_and_exp_plus(damage) gold_plus = damage * WLTR::BURST_GAUGE_SETUP::GOLD_CALCULATE / 100.0 exp_plus = damage * WLTR::BURST_GAUGE_SETUP::EXP_CALCULATE / 100.0 $game_party.gold_extend += gold_plus.round $game_party.exp_extend += exp_plus.round end def critical_gauge_cutter(commander) if WLTR::BURST_GAUGE_SETUP::CRITICAL_GAUGE_CUTTER if commander.actor? == false and $game_party.burst_activate? $game_party.Burst_Gauge == 0 if @critical end end end alias attack_critical_count make_attack_damage_value def make_attack_damage_value(attacker) attack_critical_count(attacker) critical_gauge_cutter(attacker) end alias skill_power_up make_obj_damage_value def make_obj_damage_value(user, obj) skill_power_up(user, obj) @mp_damage *= WLTR::BURST_GAUGE_SETUP::POWER_UP_RATE if $game_party.burst_activate? and user.actor? # damage MP @hp_damage *= WLTR::BURST_GAUGE_SETUP::POWER_UP_RATE if $game_party.burst_activate? and user.actor? gold_and_exp_plus(@hp_damage) if $game_party.burst_activate? and user.actor? gold_and_exp_plus(@mp_damage) if $game_party.burst_activate? and user.actor? critical_gauge_cutter(user) end alias burst_consume skill_effect def skill_effect(user, skill) burst_consume(user, skill) if skill.Burst_need if WLTR::BURST_GAUGE_SETUP::EAT_BURST $game_party.Burst_Gauge = 1 if user.actor? and $game_party.burst_activate? end end end alias burst_only_skills skill_can_use? def skill_can_use?(skill) result = burst_only_skills(skill) return false if skill == nil if skill.Burst_need return false unless $game_party.burst_activate? and self.actor? end return result end alias casting_manipulation calc_mp_cost def calc_mp_cost(skill) if WLTR::BURST_GAUGE_SETUP::MP_COST_LESS return 0 if self.actor? and $game_party.burst_activate? end casting_manipulation(skill) end end class Window_Base < Window def draw_burst_gauge self.contents.clear width = 366 text = sprintf(WLTR::BURST_GAUGE_SETUP::BURST_NAME) gw = width * $game_party.Burst_Gauge / $game_party.total_burst if WLTR::BURST_GAUGE_SETUP::IMAGE_BASED if $game_party.burst_activate? gs = Cache.system(WLTR::BURST_GAUGE_SETUP::GAUGE_SKIN_BURST) gm = Cache.system(WLTR::BURST_GAUGE_SETUP::GAUGE_FILL_BURST) else gs = Cache.system(WLTR::BURST_GAUGE_SETUP::GAUGE_SKIN_NORMAL) gm = Cache.system(WLTR::BURST_GAUGE_SETUP::GAUGE_FILL_NORMAL) end cwn = gs.width cw = gm.width * gw / width ch1 = gs.height ch2 = gm.height src_rect1 = Rect.new(0,0,cwn,ch1) src_rect2 = Rect.new(0,0,cw,ch2) self.contents.blt(WLTR::BURST_GAUGE_SETUP::GAUGE_X,WLTR::BURST_GAUGE_SETUP::GAUGE_Y, gs, src_rect1) self.contents.blt(WLTR::BURST_GAUGE_SETUP::GAUGE_X,WLTR::BURST_GAUGE_SETUP::GAUGE_Y, gm, src_rect2) else if $game_party.burst_activate? gc1 = text_color(WLTR::BURST_GAUGE_SETUP::COLOR[0]) gc2 = text_color(WLTR::BURST_GAUGE_SETUP::COLOR[1]) else gc1 = text_color(WLTR::BURST_GAUGE_SETUP::COLOR[2]) gc2 = text_color(WLTR::BURST_GAUGE_SETUP::COLOR[3]) end self.contents.fill_rect(WLTR::BURST_GAUGE_SETUP::GAUGE_X, WLTR::BURST_GAUGE_SETUP::GAUGE_Y + WLH - 8, width, WLTR::BURST_GAUGE_SETUP::GAUGE_HEIGHT , gauge_back_color) self.contents.gradient_fill_rect(WLTR::BURST_GAUGE_SETUP::GAUGE_X,WLTR::BURST_GAUGE_SETUP::GAUGE_Y + WLH - 8, gw, WLTR::BURST_GAUGE_SETUP::GAUGE_HEIGHT , gc1, gc2) end self.contents.draw_text(WLTR::BURST_GAUGE_SETUP::TEXT_X,WLTR::BURST_GAUGE_SETUP::TEXT_Y,200,WLH-8, text) end end class Window_Burst < Sprite def initialize super(Viewport.new(0, 0, 544, 416)) @gauge_skin = Sprite.new @gauge_skin.bitmap = Cache.system(WLTR::BURST_GAUGE_SETUP::GAUGE_SKIN_BURST) @gauge_skin.viewport = Viewport.new(WLTR::BURST_GAUGE_SETUP::GAUGE_X,WLTR::BURST_GAUGE_SETUP::GAUGE_Y, @gauge_skin.width, @gauge_skin.height) @gauge_color = Sprite.new @gauge_color.bitmap = Cache.system(WLTR::BURST_GAUGE_SETUP::GAUGE_FILL_NORMAL) @gauge_color.viewport = Viewport.new(WLTR::BURST_GAUGE_SETUP::GAUGE_X,WLTR::BURST_GAUGE_SETUP::GAUGE_Y, @gauge_color.width, @gauge_color.height) gauge_width = @gauge_color.bitmap.width * $game_party.Burst_Gauge / $game_party.total_burst @gauge_color.src_rect.width = gauge_width @bursttext = Sprite.new @bursttext.bitmap = Bitmap.new(544, 416) @bursttext.bitmap.font.color.set(255, 255, 255) @bursttext.bitmap.draw_text(0, 0, 544, 416, WLTR::BURST_GAUGE_SETUP::BURST_NAME) @bursttext.viewport = Viewport.new(0, 0, 544, 416) @bursttext.x = WLTR::BURST_GAUGE_SETUP::TEXT_X @bursttext.y = WLTR::BURST_GAUGE_SETUP::TEXT_Y - 200 @bursttext.z = 300 @gauge_color.z = 200 @gauge_skin.z = 100 end def dispose @gauge_skin.dispose @gauge_color.dispose @bursttext.dispose super end def check_activation if $game_party.burst_activate? @gauge_skin.bitmap = Cache.system(WLTR::BURST_GAUGE_SETUP::GAUGE_SKIN_BURST) @gauge_color.bitmap = Cache.system(WLTR::BURST_GAUGE_SETUP::GAUGE_FILL_BURST) else @gauge_skin.bitmap = Cache.system(WLTR::BURST_GAUGE_SETUP::GAUGE_SKIN_NORMAL) @gauge_color.bitmap = Cache.system(WLTR::BURST_GAUGE_SETUP::GAUGE_FILL_NORMAL) end end def update gauge_width = @gauge_color.bitmap.width * $game_party.Burst_Gauge / $game_party.total_burst gauge_width.round if @gauge_color.width < gauge_width boost = WLTR::BURST_GAUGE_SETUP::GAUGE_ALTER_SPEED @gauge_color.src_rect.width += boost @gauge_color.src_rect.width = gauge_width.round if @gauge_color.src_rect.width > gauge_width.round elsif @gauge_color.width > gauge_width boost = WLTR::BURST_GAUGE_SETUP::GAUGE_ALTER_SPEED @gauge_color.src_rect.width -= boost @gauge_color.src_rect.width = gauge_width.round if @gauge_color.src_rect.width < gauge_width.round end check_activation end end class Scene_Battle < Scene_Base alias draw_burst create_info_viewport def create_info_viewport @burst_gauge = Window_Burst.new @burst = $game_party.Burst_Gauge @refreshed = false draw_burst end alias delete_burst dispose_info_viewport def dispose_info_viewport @burst_gauge.dispose delete_burst end alias gauge_burst_update update_info_viewport def update_info_viewport @burst_gauge.update gauge_burst_update end end #=============================================================================== # # END OF SCRIPT # #=============================================================================== Patch(es): Here's for making the gauge like the old one: [spoiler] CODE =begin [/spoiler]================================================================================ The patch for Burst Gauge to make the gauge drawn by script. Some people does still love the old one... ================================================================================ =end module WLTR module BURST_GAUGE_SETUP #=============================================================================== # Gauge's height. The bigger the number, the taller the gauge. #=============================================================================== GAUGE_HEIGHT = 10 COLOR = [] # Don't touch. #=============================================================================== # COLOR[0] and COLOR[1] is for the normal gauge's gradient, and COLOR[2] + # COLOR[3] is for the bursting gauge's gradient. COLOR[4] is for the skin's # color. The color used is based on text color. #=============================================================================== COLOR[0] = 1 COLOR[1] = 2 COLOR[2] = 3 COLOR[3] = 4 COLOR[4] = 7 end end "==============================================================================" " BELOW IS TOO DANGEROUS TO READ WITHOUT PROPER SCRIPTING SKILLS. THEREFOR, " " EDIT AT YOUR OWN RISK! " "==============================================================================" class Window_Burst < Sprite def text_color(n) x = 64 + (n % 8) * 8 y = 96 + (n / 8) * 8 return @windowskin.get_pixel(x, y) end def initialize @windowskin = Cache.system("Window") super(Viewport.new(0, 0, 544, 416)) width = 366 if $game_party.burst_activate? gc1 = text_color(WLTR::BURST_GAUGE_SETUP::COLOR[0]) gc2 = text_color(WLTR::BURST_GAUGE_SETUP::COLOR[1]) else gc1 = text_color(WLTR::BURST_GAUGE_SETUP::COLOR[2]) gc2 = text_color(WLTR::BURST_GAUGE_SETUP::COLOR[3]) end @gauge_skin = Sprite.new @gauge_skin.bitmap = Bitmap.new(width, WLTR::BURST_GAUGE_SETUP::GAUGE_HEIGHT) @gauge_skin.viewport = Viewport.new(WLTR::BURST_GAUGE_SETUP::GAUGE_X,WLTR::BURST_GAUGE_SETUP::GAUGE_Y, 544, 416) @gauge_skin.bitmap.fill_rect(0, 0, width, WLTR::BURST_GAUGE_SETUP::GAUGE_HEIGHT , text_color(WLTR::BURST_GAUGE_SETUP::COLOR[4])) @gauge_color = Sprite.new @gauge_color.bitmap = Bitmap.new(width, WLTR::BURST_GAUGE_SETUP::GAUGE_HEIGHT) @gauge_color.bitmap.gradient_fill_rect(0,0, width, WLTR::BURST_GAUGE_SETUP::GAUGE_HEIGHT , gc1, gc2) @gauge_color.viewport = Viewport.new(WLTR::BURST_GAUGE_SETUP::GAUGE_X,WLTR::BURST_GAUGE_SETUP::GAUGE_Y, 544, 416) gauge_width = @gauge_color.bitmap.width * $game_party.Burst_Gauge / $game_party.total_burst @gauge_color.src_rect.width = gauge_width @bursttext = Sprite.new @bursttext.bitmap = Bitmap.new(544, 416) @bursttext.bitmap.font.color.set(255, 255, 255) @bursttext.bitmap.draw_text(0, 0, 544, 416, WLTR::BURST_GAUGE_SETUP::BURST_NAME) @bursttext.viewport = Viewport.new(0, 0, 544, 416) @bursttext.x = WLTR::BURST_GAUGE_SETUP::TEXT_X @bursttext.y = WLTR::BURST_GAUGE_SETUP::TEXT_Y - 200 @bursttext.z = 300 @gauge_color.z = 200 @gauge_skin.z = 100 end def check_activation(width) if $game_party.burst_activate? gc1 = text_color(WLTR::BURST_GAUGE_SETUP::COLOR[0]) gc2 = text_color(WLTR::BURST_GAUGE_SETUP::COLOR[1]) @gauge_color.bitmap.clear @gauge_color.bitmap.gradient_fill_rect(0,0, width, WLTR::BURST_GAUGE_SETUP::GAUGE_HEIGHT , gc1, gc2) else gc1 = text_color(WLTR::BURST_GAUGE_SETUP::COLOR[2]) gc2 = text_color(WLTR::BURST_GAUGE_SETUP::COLOR[3]) @gauge_color.bitmap.clear @gauge_color.bitmap.gradient_fill_rect(0,0, width, WLTR::BURST_GAUGE_SETUP::GAUGE_HEIGHT , gc1, gc2) end end def update gauge_width = @gauge_color.bitmap.width * $game_party.Burst_Gauge / $game_party.total_burst gauge_width.round if @gauge_color.width < gauge_width boost = WLTR::BURST_GAUGE_SETUP::GAUGE_ALTER_SPEED @gauge_color.src_rect.width += boost @gauge_color.src_rect.width = gauge_width.round if @gauge_color.src_rect.width > gauge_width.round elsif @gauge_color.width > gauge_width boost = WLTR::BURST_GAUGE_SETUP::GAUGE_ALTER_SPEED @gauge_color.src_rect.width -= boost @gauge_color.src_rect.width = gauge_width.round if @gauge_color.src_rect.width < gauge_width.round end check_activation(gauge_width) end end #=============================================================================== # # END OF SCRIPT # #=============================================================================== Terms of use: It's okay to use it for both non-commercial and commercial games, but for commercial use, PM me so I can add your game into my free-to-play games Credits to give - me, wltr3565. Thanks to: - Gust, maker of A8 and A9. - NIS America, Gust's translator. Note: I suggest you to use this with Tankentai especially with ATB. Talk about hit numbers. I'll just wait till I can have my own PS3... Atelier Totori's too beautiful... This post has been edited by wltr3565: Jul 23 2010, 01:16 PM -------------------- This place is empty, just like I restarted myself.
|
|
|
|
Aug 8 2009, 05:22 AM
Post
#2
|
|
![]() Something coherent... Also Muscle Milk ![]() Type: Writer Alignment: Lawful Good |
@wltr3565:
So, is that somewhat similar to what could be called a "synchro-boost", meaning that once the gauge is full, you can increase all skills' power? Though I am not personally familiar with this type of system, I might as well put it in my game. By the way, is it compatible with SBS+ATB (the most recent version)? Does it have any compatibility issues with Ziifee's Spin Batlle Menu? Since, I am the first to comment this page, then I might as well say: CONGRATULATIONS! -------------------- |
|
|
|
Aug 8 2009, 06:04 AM
Post
#3
|
|
![]() The best BAKA ever ![]() Type: Undisclosed Alignment: True Neutral |
@wltr3565: So, is that somewhat similar to what could be called a "synchro-boost", meaning that once the gauge is full, you can increase all skills' power? Though I am not personally familiar with this type of system, I might as well put it in my game. By the way, is it compatible with SBS+ATB (the most recent version)? Does it have any compatibility issues with Ziifee's Spin Batlle Menu? Since, I am the first to comment this page, then I might as well say: CONGRATULATIONS! I made and tested this in the latest version of Tankentai SBS + ATB, then it's 100% fine. Spin menu? I doubt it will disturb this system, yeah, trust me. I do suggest to use with Tankentai + ATB because it's multi-hits feature that really supports this burst gauge system. What is this syncro boost anyway? PM? Okay. -------------------- This place is empty, just like I restarted myself.
|
|
|
|
Aug 8 2009, 06:20 AM
Post
#4
|
|
![]() Something coherent... Also Muscle Milk ![]() Type: Writer Alignment: Lawful Good |
@wltr3565:
Oh, Synchro-system? It's just a term I tend to use whenever there is one same party that must fill out a specific gauge together, almost like Star Ocean 3: 'Til the End of Time in which you get bonuses if the gauge is full, depending on how you fill it... Hope it makes it a little clear now... -------------------- |
|
|
|
Aug 8 2009, 07:49 AM
Post
#5
|
|
![]() Is a parody of himself ![]() Type: Designer |
Hey, no offense, meant, but I think a demo would actually be very helpful, since, not everyone (for example: not me
That aside, from what i could understand this is very similar to the force gauge in skies of arcadia, but much more limited and at the same time much more powerful. It looks very, very interesting, I'm starting to feel really tempted to chage to sideview. Great script. -------------------- |
|
|
|
Aug 8 2009, 08:06 AM
Post
#6
|
|
![]() Type: Undisclosed Alignment: Unaligned |
Hey, no offense, meant, but I think a demo would actually be very helpful, since, not everyone (for example: not me You don't need to have played those games to know how to read comments. I never played those games before either, but wtlr's customization module is detailed thoroughly and is very user friendly. I understood it just fine. Have you even tried to read it? Making a demo would be no different than creating a new project and pasting the script in the script editor. Sorry, but it really riles me up when people don't put in the effort to simply read and test the script themselves before anything else. Anyway, great job wltr. I hope to see more from you. -------------------- I no longer support Tankentai.
|
|
|
|
Aug 8 2009, 08:17 AM
Post
#7
|
|
![]() The best BAKA ever ![]() Type: Undisclosed Alignment: True Neutral |
@Mr.Bubble:
Thanks for the comment @Saekonungar: Demo? Even KGC's overdrive doesn't need a demo. Anyway uploading a demo will be a hell. More than that, am I allowed to repost the Tankentai? If I use the default battle system, You'll know one thing: the burst gauge will be never full unless I use Tankentai if the conditions like this: - The enemies total is more than party. - The attacks are resistant by the enemies. Feel free to use in the default battle system though. I don't force you to use Tankentai. I only suggesting. -------------------- This place is empty, just like I restarted myself.
|
|
|
|
Aug 8 2009, 08:21 AM
Post
#8
|
|
![]() Is a parody of himself ![]() Type: Designer |
Sorry, I was just making a suggestion, you're right: I should've looked at it throughly before posting.
-------------------- |
|
|
|
Aug 8 2009, 10:24 AM
Post
#9
|
|
![]() The best BAKA ever ![]() Type: Undisclosed Alignment: True Neutral |
Sorry, when I testing my project, seems there's some bug. The bug is fixed now. Check the first post.
-------------------- This place is empty, just like I restarted myself.
|
|
|
|
Aug 8 2009, 11:20 AM
Post
#10
|
|
![]() ![]() Type: Designer Alignment: Chaotic Evil |
NO FRIGGIN WAY!!!!!!!!! I've always wanted this feature but could never find it instead I was using Yanfly's Moral system. Thanks so much!
-------------------- Five things I would tell other RMers:
-Frankenspriting is really easy, anyone can have a go for great results. -What matters is not the script but how you use it -NEVER underestimate the power of events. -When using RTP remember Vibrato and recolours. -Use the wondereous substance know as paper (plan, note and sketch your work) My most epic IRC moment ever: Spoiler: I support: Spoiler: ![]() And lastly I made a blog, check it out here: Ryou's Work Reports (Blog last updated on 09/10/2010) |
|
|
|
Aug 8 2009, 11:51 AM
Post
#11
|
|
![]() ![]() Type: Writer Alignment: Neutral Good |
the game seems to crash on me whenever I use a skill that an enemy is weak against.
![]() I'm using a wait gauge battle system though, and i've progressed too far to switch to Tankentai. think you could help me? -------------------- Do most of our members just go to the Completed Scripts Section? ![]() |
|
|
|
Aug 8 2009, 12:17 PM
Post
#12
|
|
![]() The best BAKA ever ![]() Type: Undisclosed Alignment: True Neutral |
Fixed problem and should be multiplying with no problem. Sorry for the problem
-------------------- This place is empty, just like I restarted myself.
|
|
|
|
Aug 8 2009, 12:28 PM
Post
#13
|
|
![]() †Crîtîcâl Bréâkér† ![]() Type: Spriter |
can you make the gauge a pic so that we can change the syle of it instead mo creating thing using bars?
|
|
|
|
Aug 8 2009, 12:31 PM
Post
#14
|
|
![]() Type: Undisclosed Alignment: Unaligned |
![]() Here's an add-on script that makes the Burst Gauge work with woratana's Neo Gauge. You can customize the gradient for a full gauge as well. Spoiler: This was really easy since I just copied the Neo Gauge overdrive method and changed it to work for the burst gauge instead. This post has been edited by Mr. Bubble: Aug 13 2009, 02:19 PM -------------------- I no longer support Tankentai.
|
|
|
|
Aug 8 2009, 01:40 PM
Post
#15
|
|
![]() The best BAKA ever ![]() Type: Undisclosed Alignment: True Neutral |
@Mr.Bubble:
He means the burst gauge is using image like ATB gauge, not using wora's Neo Gauge system. I want to use that too, but it outlimits my skills I would like to post the link of your script at the first post. Can I? -------------------- This place is empty, just like I restarted myself.
|
|
|
|
Aug 8 2009, 01:42 PM
Post
#16
|
|
![]() ![]() Type: Writer Alignment: Neutral Good |
Fixed problem and should be multiplying with no problem. Sorry for the problem works like a charm now, thank you! you know, a cool feature would be if you enter Burst Mode, all of your skills consume 0 MP, so your party can go crazy on the enemy. just a thought ^^ -------------------- Do most of our members just go to the Completed Scripts Section? ![]() |
|
|
|
Aug 8 2009, 01:50 PM
Post
#17
|
|
![]() Type: Undisclosed Alignment: Unaligned |
@Mr.Bubble: He means the burst gauge is using image like ATB gauge, not using wora's Neo Gauge system. I want to use that too, but it outlimits my skills I would like to post the link of your script at the first post. Can I? Actually, that wasn't in response to him (I didn't even notice his post). I just wanted to share. You can post it up in your post if you want. Credit isn't required for it. This post has been edited by Mr. Bubble: Aug 8 2009, 01:50 PM -------------------- I no longer support Tankentai.
|
|
|
|
Aug 8 2009, 01:54 PM
Post
#18
|
|
![]() The best BAKA ever ![]() Type: Undisclosed Alignment: True Neutral |
works like a charm now, thank you! you know, a cool feature would be if you enter Burst Mode, all of your skills consume 0 MP, so your party can go crazy on the enemy. just a thought ^^ Great suggestion Done. Look at the first post. This post has been edited by wltr3565: Aug 8 2009, 02:42 PM -------------------- This place is empty, just like I restarted myself.
|
|
|
|
Aug 9 2009, 01:08 AM
Post
#19
|
|
![]() IM BACK! ![]() Type: Designer Alignment: Lawful Good |
Wow at first i didnt know what this script was cuz i never played those games.
then i read the comments and i was like- "WOW!" *copy and paste into game" thanks dude! -------------------- |
|
|
|
Aug 9 2009, 01:40 AM
Post
#20
|
|
![]() ![]() Type: Designer Alignment: Unaligned |
Hey this is a pretty neat looking script with some good potential!
Just a quick question since I can not test it out yet myself: After the burst gauge fills and your party goes hog wild with all of its spells/skills, does the burst gauge return to zero or does it stay filled for the entirety of battle? Also, does the gauge carry over from one battle to the next? In the future, do you plan on supporting script calls or anything for this? I think it would be awesome if there was a boss encounter or something that pretty much would rely on the player maxing out the burst guage but the boss has a unique ability that resets it to zero or cuts it in half or something like that. Anyway, just a thought. -------------------- Keep up-to-date with the greatest RPGs ever: Pioneer Valley Games
Need inexpensive art resources? Let me know! Need AMAZING game music? Note by Note Studios |
|
|
|
![]() ![]() |
| Lo-Fi Version | Time is now: 23rd May 2013 - 03:35 AM |
|
|