Editing YSA Battle Scripts To Resemble FFX More

Chronicle2

Warper
Member
Joined
Mar 20, 2015
Messages
1
Reaction score
0
First Language
English
Primarily Uses
Hello,

I need help editing one or two battle scripts to create a battle system similar to FFX. The battle system scripts currently involved are:

1) Yanfly's Ace Battle Engine

2) YSA Predicted Charge Turn Battle and Turn Fix

#==============================================================================# # ▼ YSA Battle System: Predicted Charge Turn Battle# -- Last Updated: 2012.03.17# -- Level: Easy, Normal# -- Requires: n/a# #============================================================================== $imported = {} if $imported.nil?$imported["YSA-PCTB"] = true #==============================================================================# ▼ Updates# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# 2012.03.17 - Compatible Issue: YEA - Battle Engine Ace.# - Stand Alone fixed.# 2012.02.20 - Reduced lag a little.# 2012.02.19 - Fixed: Press Left/Right when choose action for actor.# - Script now can work alone, without YEA - Battle Engine Ace.# 2012.02.16 - Finished Script.# 2012.02.07 - Started Script.# #==============================================================================# ▼ Introduction# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# Battle Type: Predicted CTB.# #==============================================================================# ▼ Instructions# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# To install this script, open up your script editor and copy/paste this script# to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.## To get this work with YEA - Ace Battle Engine, set the default battle system # for your game to be :pctb by either going to the Ace Battle Engine script and # setting DEFAULT_BATTLE_SYSTEM as :pctb or by using the following script call: # # $game_system:set_battle_system:)pctb)## -----------------------------------------------------------------------------# Skill and Item Database# -----------------------------------------------------------------------------# SPEED FIX# ~ When set SPEED FIX to a number larger than 0, battler's Speed will be reseted# by value, equal to SPEED_FIX * :speed_rate.# ~ When set SPEED FIX to a number smaller than 0, battler's Speed will be# reduced by value, equal to SPEED_FIX * :speed_rate. This Skill/Item will be# counted as a charging skill/item.## -----------------------------------------------------------------------------# Skill and Item Notetags# -----------------------------------------------------------------------------# <charge rate: x%># Change battler's speed rate when charging a skill or item.## <ctb cost: x%> or <ctb cost: x># Decide how much Speed will be reduced after an action.# If it's a percent, Battler's Speed will be reduced x percents of Max Threshold.# If it's a normal value, Battler's Speed will be reduced by x.# Default: CTB COST 100% in percent and 0 in value## <ctb change: +x%> or <ctb change: +x># <ctb change: -x%> or <ctb change: -x># Change target's Speed when use this skill/item.# If it's a percent, Battler's Speed will be increase or decrease x percents of # Max Threshold.# If it's a normal value, Battler's Speed will be increase or decrease by x.##==============================================================================# ▼ Compatibility# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that# it will run with RPG Maker VX without adjusting.# # This script is compatible with Yanfly Engine Ace - Ace Battle Engine v1.15+ # and the script must be placed under Ace Battle Engine in the script listing.# #============================================================================== #==============================================================================# ▼ Configuration#============================================================================== module YSAmodule PCTB#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-# - Mechanic Configuration -#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-CTB_MECHANIC = { # Start:dyn_threshold => true,# Threshold Offset. If Dynamic Threshold is set to false, this will be# threshold:threshold_offset => 400,# For Dynamic Threshold:threshold_min => 800,:threshold_rate => 4.0,# Ticks per turn:turn_ctr => 32,:wait_after_turn => 5, # Frames# Predict Type# Type 0: Show Battlers Order only.# Type 1: Show Battlers Order and Re-order when active battler chooses# an action.# Type 2: Show Battlers Order in X Turns (FFX Style).:predict => 2,:pre_turns => 5,} # Do not remove this. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-# - Battler Configuration -#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-BATTLER_RULES = { # Start# Speed offset when reset, multiply with Skill/Item speed:speed_rate => 16.0,:speed_limit => 0.75, # Set to 0 to disable limit.# Initialize speed:initial => 0.10,:surprise => 0.75,:random_rate => 8.0, # Multiply with AGI.# Charging Term:charge_text => "%s is charging %s!",:charge_text_dur => 4,# Can't take action Term:cant_text => "%s cannot take an action!",:cant_text_dur => 4,:show_cant_text => true,} # Do not remove this. #=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-# - Event Configuration -#=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-CTB_COMMON_EVENT = { # Start# Set to 0 to disable this.:turn_update => 0, # Run common event whenever turn updates.:end_action => 0, # Run common event whenever an action finishes.} # Do not remove this. endend #==============================================================================# ▼ Editting anything past this point may potentially result in causing# computer damage, incontinence, explosion of user's head, coma, death, and/or# halitosis so edit at your own risk.#============================================================================== module YSAmodule REGEXPmodule USABLEITEM CHARGE_RATE = /<(?:CHARGE_RATE|charge rate):[ ](\d+)?([%%])>/iCTB_COST_PER = /<(?:CTB_COST|ctb cost):[ ](\d+)?([%%])>/iCTB_COST_VAL = /<(?:CTB_COST|ctb cost):[ ](\d+)?>/i CHANGE_CTB_PER = /<(?:CTB_CHANGE|ctb change):[ ]([\+\-]\d+)([%%])?>/iCHANGE_CTB_VAL = /<(?:CTB_CHANGE|ctb change):[ ]([\+\-]\d+)?>/i end # USABLEITEMend # REGEXPend # YSA #==============================================================================# ■ DataManager#============================================================================== module DataManager #--------------------------------------------------------------------------# alias method: load_database#--------------------------------------------------------------------------class <<self; alias load_database_pctb load_database; enddef self.load_databaseload_database_pctbload_notetags_pctbend #--------------------------------------------------------------------------# new method: load_notetags_pctb#--------------------------------------------------------------------------def self.load_notetags_pctbgroups = [$data_skills, $data_items]for group in groupsfor obj in groupnext if obj.nil?obj.load_notetags_pctbendendend end # DataManager #==============================================================================# ■ RPG::UsableItem#============================================================================== class RPG::UsableItem < RPG::BaseItem #--------------------------------------------------------------------------# public instance variables#--------------------------------------------------------------------------attr_accessor :charge_rateattr_accessor :ctb_costattr_accessor :ctb_cost_valattr_accessor :ctb_changeattr_accessor :ctb_change_val #--------------------------------------------------------------------------# common cache: load_notetags_pctb#--------------------------------------------------------------------------def load_notetags_pctb@charge_rate = 100@ctb_cost = 100@ctb_cost_val = 0@ctb_change = 0@ctb_change_val = 0#---self.note.split(/[\r\n]+/).each { |line|case line#---when YSA::REGEXP::USABLEITEM::CHARGE_RATE@charge_rate = $1.to_iwhen YSA::REGEXP::USABLEITEM::CTB_COST_PER@ctb_cost = $1.to_iwhen YSA::REGEXP::USABLEITEM::CTB_COST_VAL@ctb_cost_val = $1.to_iwhen YSA::REGEXP::USABLEITEM::CHANGE_CTB_PER@ctb_change = $1.to_iwhen YSA::REGEXP::USABLEITEM::CHANGE_CTB_VAL@ctb_change_val = $1.to_i#---end} # self.note.split#---@charge_rate = 100 if @charge_rate <= 0@ctb_cost = 100 if @ctb_cost > 100end end # RPG::UsableItem #==============================================================================# ■ BattleManager#============================================================================== module BattleManager #--------------------------------------------------------------------------# alias method:# - make_action_orders# - prior_command# - next_command# - in_turn?# - battle_start#--------------------------------------------------------------------------class <<selfalias pctb_make_action_orders make_action_ordersalias pctb_prior_command prior_commandalias pctb_next_command next_commandalias pctb_next_subject next_subjectalias pctb_battle_start battle_startalias pctb_input_start input_startalias pctb_turn_start turn_startend #--------------------------------------------------------------------------# battle_start#--------------------------------------------------------------------------def self.battle_startpctb_battle_startif btype?:)pctb)make_pctb_action_orders make_pctb_thresholdmake_pctb_first_speedendend #--------------------------------------------------------------------------# make_action_orders#--------------------------------------------------------------------------def self.make_action_ordersreturn if btype?:)pctb)pctb_make_action_orders unless btype?:)pctb)end #--------------------------------------------------------------------------# next_command#--------------------------------------------------------------------------def self.next_commandreturn false if btype?:)pctb)pctb_next_commandend #--------------------------------------------------------------------------# prior_command#--------------------------------------------------------------------------def self.prior_commandreturn false if btype?:)pctb)pctb_prior_commandend #--------------------------------------------------------------------------# new method: make_pctb_action_orders#--------------------------------------------------------------------------def self.make_pctb_action_orders@action_battlers = []end #--------------------------------------------------------------------------# new method: make_pctb_threshold#--------------------------------------------------------------------------def self.make_pctb_threshold@threshold = YSA::pCTB::CTB_MECHANIC[:threshold_offset]return unless YSA::pCTB::CTB_MECHANIC[:dyn_threshold]offset = 0battlers = $game_party.members + $game_troop.membersbattlers.each { |battler| offset += battler.agi}@threshold += offset * YSA::pCTB::CTB_MECHANIC[:threshold_rate]@threshold = @threshold >= YSA::pCTB::CTB_MECHANIC[:threshold_min] ? @threshold : YSA::pCTB::CTB_MECHANIC[:threshold_min]end #--------------------------------------------------------------------------# new method: make_pctb_first_speed#--------------------------------------------------------------------------def self.make_pctb_first_speedinit_value = YSA::pCTB::BATTLER_RULES[:initial] * pctb_thresholdsurprise_value = YSA::pCTB::BATTLER_RULES[:surprise] * pctb_thresholdbattlers = $game_party.members + $game_troop.membersbattlers.each { |battler|check = (battler.actor? && @preemptive) || (battler.enemy? && @surprise)battler.pctb_speed = init_valuebattler.pctb_speed = surprise_value if checkrandom = YSA::pCTB::BATTLER_RULES[:random_rate] * battler.agi + 1battler.pctb_speed += rand(random)}end #--------------------------------------------------------------------------# new method: pctb_threshold#--------------------------------------------------------------------------def self.pctb_thresholdreturn @thresholdend #--------------------------------------------------------------------------# new method: set_actor#--------------------------------------------------------------------------def self.set_actor(actor_index)@actor_index = actor_indexend #--------------------------------------------------------------------------# new method: action_list_ctb#--------------------------------------------------------------------------def self.action_list_ctbreturn @action_battlersend #--------------------------------------------------------------------------# alias method: next_subject#--------------------------------------------------------------------------def self.next_subjectreturn pctb_next_subject unless btype?:)pctb)loop dobattler = @action_battlers[0]return nil unless battlerunless battler.index && battler.alive?@action_battlers.shiftnextendreturn battlerendend #--------------------------------------------------------------------------# alias method: input_start#--------------------------------------------------------------------------def self.input_startreturn pctb_input_start unless btype?:)pctb)@phase = :inputreturn falseend #--------------------------------------------------------------------------# alias method: turn_start#--------------------------------------------------------------------------def self.turn_startreturn pctb_turn_start unless btype?:)pctb)@phase = :turnclear_actorend #--------------------------------------------------------------------------# alias method: turn_start#--------------------------------------------------------------------------def self.sort_battlers(cache = false)if btype?:)pctb)battlers = []for battler in ($game_party.members + $game_troop.members)next if battler.dead?battlers.push(battler)endbattlers.sort! { |a,b|if a.pctb_ctr(cache) != b.pctb_ctr(cache)a.pctb_ctr(cache) <=> b.pctb_ctr(cache)elsif a.pctb_prediction != b.pctb_predictionb.pctb_prediction <=> a.pctb_predictionelsif a.agi != b.agib.agi <=> a.agielsif a.screen_x != b.screen_xa.screen_x <=> b.screen_xelsea.name <=> b.nameend}return battlersendend #--------------------------------------------------------------------------# new method: btype?#--------------------------------------------------------------------------unless $imported["YEA-BattleEngine"]def self.btype?(btype)return true if btype == :pctbendend end # BattleManager #==============================================================================# ■ Game_System#============================================================================== class Game_System if $imported["YEA-BattleEngine"]#--------------------------------------------------------------------------# alias method: set_battle_system#--------------------------------------------------------------------------alias pctb_set_battle_system set_battle_systemdef set_battle_system(type)case typewhen :pctb; @battle_system = :pctbelse; pctb_set_battle_system(type)endend #--------------------------------------------------------------------------# alias method: battle_system_corrected#--------------------------------------------------------------------------alias pctb_battle_system_corrected battle_system_correcteddef battle_system_corrected(type)case typewhen :pctb; return :pctbelse; return pctb_battle_system_corrected(type)endendend end # Game_System #==============================================================================# ■ Game_Battler#============================================================================== class Game_Battler < Game_BattlerBase #--------------------------------------------------------------------------# public instance variables#--------------------------------------------------------------------------attr_accessor :pctb_speedattr_accessor :pctb_predictionattr_accessor :last_objattr_accessor :pctb_forcedattr_accessor :pctb_speed_cache #--------------------------------------------------------------------------# alias method: initialize#--------------------------------------------------------------------------alias pctb_initialize initializedef initializepctb_initialize@pctb_speed = 0@pctb_prediction = 0@pctb_speed_cache = 0end #--------------------------------------------------------------------------# new method: base_gain_pctb#--------------------------------------------------------------------------def base_gain_pctbreturn self.agiend #--------------------------------------------------------------------------# new method: real_gain_pctb#--------------------------------------------------------------------------def real_gain_pctbobj = current_action.item if current_actionvalue = base_gain_pctbvalue = value * obj.charge_rate / 100 if obj && @charging_pctbreturn valueend #--------------------------------------------------------------------------# new method: pctb_ctr#--------------------------------------------------------------------------def pctb_ctr(cache = false)@pctb_prediction = @pctb_speed unless cache@pctb_prediction = @pctb_speed_cache if cachereturn 0 if @pctb_prediction >= BattleManager.pctb_thresholdvalue = (BattleManager.pctb_threshold.to_f - @pctb_prediction.to_f) / real_gain_pctb.to_fvalue = value.ceil@pctb_prediction += value * real_gain_pctbreturn valueend #--------------------------------------------------------------------------# new method: reset_pctb_speed#--------------------------------------------------------------------------def reset_pctb_speed(cache = false)return @pctb_forced = false if @pctb_forcedif actor?obj = input ? input.item : @last_objelseobj = @last_objendreal_cache = @pctb_speedif objlimit_rate = YSA::pCTB::BATTLER_RULES[:speed_limit]limit = BattleManager.pctb_threshold * limit_ratereal_cache -= obj.ctb_cost * BattleManager.pctb_threshold / 100real_cache -= obj.ctb_cost_valvalue = YSA::pCTB::BATTLER_RULES[:speed_rate] * obj.speedvalue = [value, 0].maxvalue = [value, limit].min if limit > 0real_cache += valueelsereal_cache -= BattleManager.pctb_thresholdendreal_cache = [real_cache, 0].max@pctb_speed = real_cache if cache == false@pctb_speed_cache = real_cache if cache@charging_pctb = false unless cache@last_obj = nil unless cacheend #--------------------------------------------------------------------------# new method: charging_start#--------------------------------------------------------------------------def charging_startreturn false unless BattleManager.btype?:)pctb)return false if @charging_pctbreturn false unless current_actionobj = current_action.itemreturn false unless objreturn false if obj.speed >= 0value = obj.speed * YSA::pCTB::BATTLER_RULES[:speed_rate]@pctb_speed += value@pctb_speed = [@pctb_speed, 0].maxBattleManager.action_list_ctb.shift@charging_pctb = trueSceneManager.scene.charging_start(self)SceneManager.scene.update_pctb_speedreturn trueend #--------------------------------------------------------------------------# new method: pctb_active?#--------------------------------------------------------------------------def pctb_active?return @pctb_speed >= BattleManager.pctb_threshold && movable?end #--------------------------------------------------------------------------# new method: storage_speed#--------------------------------------------------------------------------def storage_speedreturn if @cache_speed@cache_speed = @pctb_speedend #--------------------------------------------------------------------------# new method: restore_speed#--------------------------------------------------------------------------def restore_speedreturn unless @cache_speed@pctb_speed = @cache_speed@cache_speed = nilend #--------------------------------------------------------------------------# alias method: update_state_turns#--------------------------------------------------------------------------alias pctb_update_state_turns update_state_turnsdef update_state_turnsif BattleManager.btype?:)pctb)states.each do |state|@state_turns[state.id] -= 1 if @state_turns[state.id] > 0 && state.auto_removal_timing == 2endelsepctb_update_state_turnsendend #--------------------------------------------------------------------------# new method: update_state_actions#--------------------------------------------------------------------------def update_state_actionsreturn unless BattleManager.btype?:)pctb)states.each do |state|@state_turns[state.id] -= 1 if @state_turns[state.id] > 0 && state.auto_removal_timing == 1endend #--------------------------------------------------------------------------# alias method: on_action_end#--------------------------------------------------------------------------alias pctb_on_action_end on_action_enddef on_action_endpctb_on_action_endupdate_state_actionsend #--------------------------------------------------------------------------# alias method: force_action#--------------------------------------------------------------------------alias pctb_force_action force_actiondef force_action(skill_id, target_index)if BattleManager.btype?:)pctb)action = Game_Action.new(self, true)action.set_skill(skill_id)if target_index == -2action.target_index = last_target_indexelsif target_index == -1action.decide_random_targetelseaction.target_index = target_indexend@actions = [action] + @actions@pctb_forced = trueendpctb_force_action(skill_id, target_index) unless BattleManager.btype?:)pctb)end #--------------------------------------------------------------------------# alias method: make_action_times#--------------------------------------------------------------------------alias pctb_make_action_times make_action_timesdef make_action_timesBattleManager.btype?:)pctb) ? 1 : pctb_make_action_timesend end # Game_Battler #==============================================================================# ■ Game_Actor#============================================================================== class Game_Actor < Game_Battler #--------------------------------------------------------------------------# overwrite method: input#--------------------------------------------------------------------------if $imported["YEA-BattleEngine"]def inputgame_actor_input_abeendend #--------------------------------------------------------------------------# new method: screen_x | screen_y#--------------------------------------------------------------------------unless $imported["YEA-BattleEngine"]def screen_x0end def screen_y0endend end # Game_Actor #==============================================================================# ■ Scene_Battle#============================================================================== class Scene_Battle < Scene_Base #--------------------------------------------------------------------------# new method: battle_start#--------------------------------------------------------------------------alias pctb_battle_start battle_startdef battle_startpctb_battle_startupdate_pctb_speed if BattleManager.btype?:)pctb)end #--------------------------------------------------------------------------# new method: charging_start#--------------------------------------------------------------------------def charging_start(battler)@status_window.show@status_window.openif $imported["YEA-BattleEngine"]redraw_current_status@status_aid_window.hideelserefresh_statusend@actor_command_window.showstring = YSA::pCTB::BATTLER_RULES[:charge_text]skill = battler.current_action.itemskill_text = sprintf("\\i[%d]%s", skill.icon_index, skill.name)text = sprintf(string, battler.name, skill_text)@log_window.add_text(text)YSA::pCTB::BATTLER_RULES[:charge_text_dur].times do @log_window.wait end@log_window.back_oneend #--------------------------------------------------------------------------# new method: update_pctb_speed#--------------------------------------------------------------------------def update_pctb_speedreturn if scene_changing?@clocktick = 0 if @clocktick.nil?ctr = YSA::pCTB::CTB_MECHANIC[:turn_ctr]#---battlers = BattleManager.sort_battlersfirst_battler = battlers[0]tick = first_battler.pctb_ctr#---battlers.each { |battler|battler.pctb_speed += tick * battler.real_gain_pctb}#---@clocktick = @clocktick + tickpass_turn = @clocktick / ctrpass_turn = pass_turn.floor.to_ipass_turn.times {$game_temp.reserve_common_event(YSA::pCTB::CTB_COMMON_EVENT[:turn_update]) if YSA::pCTB::CTB_COMMON_EVENT[:turn_update] > 0 && $data_common_events[YSA::pCTB::CTB_COMMON_EVENT[:turn_update]]process_event$game_troop.increase_turnturn_endwait(YSA::pCTB::CTB_MECHANIC[:wait_after_turn])}@clocktick = @clocktick % ctr#---if first_battler.movable?BattleManager.action_list_ctb.push(first_battler)elsestring = YSA::pCTB::BATTLER_RULES[:cant_text]text = sprintf(string, first_battler.name)@log_window.add_text(text)YSA::pCTB::BATTLER_RULES[:cant_text_dur].times do @log_window.wait end@log_window.back_onefirst_battler.clear_actionsfirst_battler.reset_pctb_speedreturn update_pctb_speed && update_order_gaugeend#---update_order_gauge#---start_pctb_actionend #--------------------------------------------------------------------------# new method: start_pctb_action#--------------------------------------------------------------------------def start_pctb_actionbattler = BattleManager.action_list_ctb[0]battler.make_actions if battler.actions.size == 0return if battler.charging_start && battler.enemy?if battler.actor? && battler.input && battler.input.item.nil?BattleManager.input_startBattleManager.set_actor(battler.index) start_actor_command_selectionif $imported["YEA-BattleEngine"]redraw_current_status@status_aid_window.hideelserefresh_statusend@status_window.show@status_window.openendturn_start if battler.enemy?turn_start if battler.actor? && battler.input && battler.input.itemend #--------------------------------------------------------------------------# new method: update_order_gauge#--------------------------------------------------------------------------def update_order_gaugebattler = BattleManager.action_list_ctb[0]return unless $imported["YSA-OrderBattler"]BattleManager.make_ctb_battler_order@active_order_sprite.battler = battler if @active_order_spritefor order in @spriteset_orderorder.make_destinationendend #--------------------------------------------------------------------------# alias method: execute_action#--------------------------------------------------------------------------alias scene_battle_execute_action_pctb execute_actiondef execute_actionscene_battle_execute_action_pctbunless BattleManager.action_forced?@subject.last_obj = @subject.current_action.item unless @subject.last_obj endend #--------------------------------------------------------------------------# alias method: execute_action#--------------------------------------------------------------------------alias scene_battle_invoke_item_pctb invoke_itemdef invoke_item(target, item)scene_battle_invoke_item_pctb(target, item)#---change_per = item.ctb_change * BattleManager.pctb_threshold / 100change_val = item.ctb_change_valtarget.pctb_speed += change_pertarget.pctb_speed = 0 if target.pctb_speed < 0target.pctb_speed += change_valtarget.pctb_speed = 0 if target.pctb_speed < 0#---end #--------------------------------------------------------------------------# alias method: process_action_end#--------------------------------------------------------------------------alias scene_battle_process_action_end_pctb process_action_enddef process_action_endscene_battle_process_action_end_pctbunless BattleManager.action_forced?$game_temp.reserve_common_event(YSA::pCTB::CTB_COMMON_EVENT[:end_action]) if YSA::pCTB::CTB_COMMON_EVENT[:end_action] > 0 && $data_common_events[YSA::pCTB::CTB_COMMON_EVENT[:end_action]]process_event@subject.restore_speed@subject.reset_pctb_speedreturn start_pctb_action if @subject.pctb_active?BattleManager.action_list_ctb.shiftupdate_pctb_speedendend #--------------------------------------------------------------------------# alias method: next_command#--------------------------------------------------------------------------alias pctb_next_command next_commanddef next_commandif BattleManager.actorif BattleManager.actor != BattleManager.action_list_ctb[0]BattleManager.action_list_ctb[0].make_actionsstart_pctb_actionreturnendendreturn @subject = nil if BattleManager.actor && BattleManager.actor.charging_startpctb_next_commandend #--------------------------------------------------------------------------# alias method: create_actor_command_window#--------------------------------------------------------------------------alias yctb_create_actor_command_window create_actor_command_windowdef create_actor_command_windowyctb_create_actor_command_window@actor_command_window.set_handler:)cancel, method:)ctb_prior_actor))@actor_command_window.set_handler:)dir4, method:)ctb_prior_actor))@actor_command_window.set_handler:)dir6, method:)ctb_next_command))end #--------------------------------------------------------------------------# new method: ctb_prior_actor#--------------------------------------------------------------------------def ctb_prior_actorBattleManager.actor.make_actionslast_index = BattleManager.actor.indexprior_index = last_index - 1if prior_index < 0@actor_command_window.close@party_command_window.setupelsereturn ctb_prior_actor if !$game_party.members[prior_index].movable?$game_party.members[prior_index].make_actionsBattleManager.input_startBattleManager.set_actor(prior_index) start_actor_command_selectionif $imported["YEA-BattleEngine"]redraw_current_status@status_aid_window.hideelserefresh_statusend@status_window.show@status_window.openendend #--------------------------------------------------------------------------# new method: ctb_next_command#--------------------------------------------------------------------------def ctb_next_commandBattleManager.actor.make_actionslast_index = BattleManager.actor.indexnext_index = last_index + 1if next_index > ($game_party.members.size - 1)return start_confirm_command_selection if $imported["YEA-BattleCommandList"] && YEA::BATTLE_COMMANDS::USE_CONFIRM_WINDOWBattleManager.action_list_ctb[0].make_actionsstart_pctb_actionelsereturn ctb_next_command if !$game_party.members[next_index].movable?$game_party.members[next_index].make_actionsBattleManager.input_startBattleManager.set_actor(next_index) start_actor_command_selectionif $imported["YEA-BattleEngine"]redraw_current_status@status_aid_window.hideelserefresh_statusend@status_window.show@status_window.openendend #--------------------------------------------------------------------------# alias method: command_fight#--------------------------------------------------------------------------alias command_fight_pctb command_fightdef command_fightreturn command_fight_pctb unless BattleManager.btype?:)pctb)if BattleManager.action_list_ctb[0].nil? update_pctb_speed elseBattleManager.action_list_ctb[0].make_actionsstart_pctb_actionendend #--------------------------------------------------------------------------# alias method: turn_start#--------------------------------------------------------------------------alias pctb_turn_start turn_startdef turn_startlast_subject = @subject if BattleManager.btype?:)pctb)pctb_turn_start@subject = last_subject if BattleManager.btype?:)pctb)end end # Scene_Battle #==============================================================================# # ▼ End of File# #==============================================================================
Code:
class Game_Actor < Game_Battler  #--------------------------------------------------------------------------  # * Get Action Being Input  #--------------------------------------------------------------------------  def input    if @action_input_index != nil      game_actor_input_abe    end  endend 
3) YSA Order Gauge

#==============================================================================# # ▼ YSA Battle Add-On: Order Battlers# -- Last Updated: 2012.02.20# -- Level: Easy# -- Requires: n/a# #==============================================================================$imported = {} if $imported.nil?$imported["YSA-OrderBattler"] = true#==============================================================================# ▼ Updates# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# 2012.02.20 - Reduced lag a little.# - Hide Gauge when victory.# 2012.02.16 - Compatible with: Yami's PCTB.# 2012.01.01 - Bug fixed: No-skill/item issue.# 2011.12.28 - Bug fixed: Speed Fix issue.# - Groundwork is also made to support future battle system types.# - Can show/hide by a switch.# 2011.12.27 - Started Script and Finished.# #==============================================================================# ▼ Instructions# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# To install this script, open up your script editor and copy/paste this script# to an open slot below ▼ Materials/素材 but above ▼ Main. Remember to save.# # -----------------------------------------------------------------------------# Actor Notetags - These notetags go in the actor notebox in the database.# -----------------------------------------------------------------------------# <battler icon: x># Change actor's icon into x.## <icon hue: x># Change icon hue.# # -----------------------------------------------------------------------------# Enemy Notetags - These notetags go in the enemy notebox in the database.# -----------------------------------------------------------------------------# <battler icon: x># Change enemy's icon into x.## <icon hue: x># Change icon hue.##==============================================================================# ▼ Compatibility# =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=# This script is made strictly for RPG Maker VX Ace. It is highly unlikely that# it will run with RPG Maker VX without adjusting.# #==============================================================================module YSA module ORDER_GAUGE # Default Icon for actor and enemy DEFAULT_ENEMY_ICON = 1 DEFAULT_ACTOR_ICON = 128 # Order Sprite Visual. Decide Order's Background and Border. BATTLER_ICON_BORDERS = { # Do not remove this. # Type => [Back, Border, ], :actor => [ 528, 532, ], :enemy => [ 529, 533, ], } # Do not remove this. # Turn this to true if you want to show death battlers. # SHOW_DEATH = false # Coordinate-X of order gauge GAUGE_X = 32 # Coordinate-Y of order gauge GAUGE_Y = 48 # Show Switch. Turn this switch on to show it. If you want to disable, set this # to 0. SHOW_SWITCH = 0 endend#==============================================================================# ▼ Editting anything past this point may potentially result in causing# computer damage, incontinence, explosion of user's head, coma, death, and/or# halitosis so edit at your own risk.#==============================================================================#==============================================================================# ■ Regular Expression#==============================================================================module YSA module REGEXP module ACTOR BATTLER_ICON = /<(?:BATTLER_ICON|battler icon):[ ](\d+)?>/i ICON_HUE = /<(?:ICON_HUE|icon hue):[ ](\d+)?>/i end # ACTOR module ENEMY BATTLER_ICON = /<(?:BATTLER_ICON|battler icon):[ ](\d+)?>/i ICON_HUE = /<(?:ICON_HUE|icon hue):[ ](\d+)?>/i end # ENEMY end # REGEXPend # YSA#==============================================================================# ■ DataManager#==============================================================================module DataManager #-------------------------------------------------------------------------- # alias method: load_database #-------------------------------------------------------------------------- class <<self; alias load_database_orbt load_database; end def self.load_database load_database_orbt load_notetags_orbt end #-------------------------------------------------------------------------- # new method: load_notetags_orbt #-------------------------------------------------------------------------- def self.load_notetags_orbt groups = [$data_enemies + $data_actors] for group in groups for obj in group next if obj.nil? obj.load_notetags_orbt end end end end # DataManager#==============================================================================# ■ BattleManager#==============================================================================module BattleManager #-------------------------------------------------------------------------- # public instance variables #-------------------------------------------------------------------------- class <<self attr_accessor :action_battlers attr_accessor :performed_battlers attr_accessor :ctb_battlers alias order_gauge_make_action_orders make_action_orders end #-------------------------------------------------------------------------- # new method: make_ctb_battler_order #-------------------------------------------------------------------------- def self.make_ctb_battler_order @ctb_battlers = [] if $imported["YSA-PCTB"] && YSA::pCTB::CTB_MECHANIC[:predict] == 2 battlers = self.sort_battlers battlers.each { |battler| battler.pctb_speed_cache = battler.pctb_speed } number = YSA::pCTB::CTB_MECHANIC[:pre_turns] i = 0 number.times { add_ctb_battler_order(i) i += 1 } return end ctb_battlers_dummy = self.sort_battlers ctb_battlers_dummy.each { |battler| @ctb_battlers.push(battler) unless battler.dead? } end #-------------------------------------------------------------------------- # new method: add_ctb_battler_order #-------------------------------------------------------------------------- def self.add_ctb_battler_order(i) battlers = self.sort_battlers(true) first_battler = battlers[0] tick = first_battler.pctb_ctr(true) battlers.each { |battler| battler.pctb_speed_cache += tick * battler.real_gain_pctb } first_battler.reset_pctb_speed(true) if i == 0 first_battler.pctb_speed_cache -= self.pctb_threshold if i != 0 @ctb_battlers.push(first_battler) end #-------------------------------------------------------------------------- # alias method: make_action_orders #-------------------------------------------------------------------------- def self.make_action_orders return if btype?:)pctb) order_gauge_make_action_orders end end # BattleManager#==============================================================================# ■ RPG::Actor#==============================================================================class RPG::Actor < RPG::BaseItem #-------------------------------------------------------------------------- # public instance variables #-------------------------------------------------------------------------- attr_accessor :battler_icon attr_accessor :icon_hue #-------------------------------------------------------------------------- # common cache: load_notetags_orbt #-------------------------------------------------------------------------- def load_notetags_orbt @battler_icon = YSA::oRDER_GAUGE::DEFAULT_ACTOR_ICON #--- self.note.split(/[\r\n]+/).each { |line| case line #--- when YSA::REGEXP::ACTOR::BATTLER_ICON @battler_icon = $1.to_i when YSA::REGEXP::ACTOR::ICON_HUE @icon_hue = $1.to_i end } # self.note.split #--- end end # RPG::Actor#==============================================================================# ■ RPG::Enemy#==============================================================================class RPG::Enemy < RPG::BaseItem #-------------------------------------------------------------------------- # public instance variables #-------------------------------------------------------------------------- attr_accessor :battler_icon attr_accessor :icon_hue #-------------------------------------------------------------------------- # common cache: load_notetags_orbt #-------------------------------------------------------------------------- def load_notetags_orbt @battler_icon = YSA::oRDER_GAUGE::DEFAULT_ENEMY_ICON #--- self.note.split(/[\r\n]+/).each { |line| case line #--- when YSA::REGEXP::ENEMY::BATTLER_ICON @battler_icon = $1.to_i when YSA::REGEXP::ENEMY::ICON_HUE @icon_hue = $1.to_i end } # self.note.split #--- end end # RPG::Enemy#==============================================================================# ■ Game_Battler#==============================================================================class Game_Battler < Game_BattlerBase #-------------------------------------------------------------------------- # new method: battler_icon #-------------------------------------------------------------------------- def battler_icon actor? ? actor.battler_icon : enemy.battler_icon end #-------------------------------------------------------------------------- # new method: battler_icon_hue #-------------------------------------------------------------------------- def battler_icon_hue actor? ? actor.icon_hue : enemy.icon_hue end end # Game_Battler #==============================================================================# ■ Sprite_OrderBattler#==============================================================================class Sprite_OrderBattler < Sprite_Base #-------------------------------------------------------------------------- # initialize #-------------------------------------------------------------------------- def initialize(viewport, battler, battle = :dtb, number = 0) super(viewport) @battler = battler @battle = battle @move_rate_x = 1 @move_rate_y = 1 @move_x = nil @move_y = nil @first_time = true @update_wait = 0 @show_dead = false @number = number if $imported["YSA-PCTB"] type = YSA::pCTB::CTB_MECHANIC[:predict] num = YSA::pCTB::CTB_MECHANIC[:pre_turns] end self.y = num * 24 + 36 if @battle == :pctb2 && type && type == 2 create_battler_bitmap end #-------------------------------------------------------------------------- # create_battler_bitmap #-------------------------------------------------------------------------- def create_battler_bitmap return unless @battler create_dtb_style if @battle == :dtb || @battle == :pctb end #-------------------------------------------------------------------------- # create_dtb_style #-------------------------------------------------------------------------- def create_dtb_style bitmap = Bitmap.new(24, 24) if $imported["YEA-BattleEngine"] icon_bitmap = $game_temp.iconset else icon_bitmap = Cache.system("IconSet") end #--- Create Battler Background --- icon_index = @battler.actor? ? YSA::oRDER_GAUGE::BATTLER_ICON_BORDERS[:actor][0] : YSA::oRDER_GAUGE::BATTLER_ICON_BORDERS[:enemy][0] rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24) bitmap.blt(0, 0, icon_bitmap, rect) #--- Create Battler Icon --- icon_index = @battler.battler_icon rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24) temp_bitmap = Bitmap.new(24, 24) temp_bitmap.blt(0, 0, icon_bitmap, rect) temp_bitmap.hue_change(@battler.battler_icon_hue) if @battler.battler_icon_hue bitmap.blt(0, 0, temp_bitmap, Rect.new(0, 0, 24, 24)) temp_bitmap.dispose #--- Create Battler Border --- icon_index = @battler.actor? ? YSA::oRDER_GAUGE::BATTLER_ICON_BORDERS[:actor][1] : YSA::oRDER_GAUGE::BATTLER_ICON_BORDERS[:enemy][1] rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24) bitmap.blt(0, 0, icon_bitmap, rect) #--- self.bitmap.dispose if self.bitmap != nil self.bitmap = bitmap return if @created_icon @created_icon = true self.ox = 12; self.oy = 12 self.x = 24 if @battle != :pctb2 && @battle != :pctb3 self.y = 24 self.z = 8000 end #-------------------------------------------------------------------------- # update #-------------------------------------------------------------------------- def update super return unless SceneManager.scene_is?(Scene_Battle) if $imported["YSA-PCTB"] type = YSA::pCTB::CTB_MECHANIC[:predict] num = YSA::pCTB::CTB_MECHANIC[:pre_turns] end self.y = BattleManager.ctb_battlers.size * 24 + 36 if BattleManager.ctb_battlers && @battle == :pctb2 && type && type == 1 return if @battle == :pctb2 || @battle == :pctb3 #--- update_dtb_style if @battle == :dtb || @battle == :pctb self.opacity = 0 if @battle == :catb end #-------------------------------------------------------------------------- # battler= #-------------------------------------------------------------------------- def battler=(battler) @battler = battler return unless @battler create_dtb_style end #-------------------------------------------------------------------------- # update_dtb_style #-------------------------------------------------------------------------- def update_dtb_style #--- actor_window = SceneManager.scene.actor_window enemy_window = SceneManager.scene.enemy_window if actor_window.active if $game_party.members[actor_window.index] == @battler @move_y = 12 else @move_y = 24 end end if enemy_window.active if $game_troop.members[enemy_window.index] == @battler @move_y = 12 else @move_y = 24 end end if !actor_window.active && !enemy_window.active @move_y = 24 end #--- return if !@move_x && !@move_y if @battler.hidden? || (!@show_dead && @battler.dead?) self.opacity -= 20 end if self.x != @move_x && @move_x if @move_x > self.x @move_y = 30 elsif @move_x < self.x @move_y = 16 else @move_y = 20 end self.z = (@move_x < self.x) ? 7500 : 8500 if @move_x >= self.x self.x += [@move_rate_x, @move_x - self.x].min else self.x -= [@move_rate_x, - @move_x + self.x].min end end if self.y != @move_y && @move_y self.y += (self.y > @move_y) ? -@move_rate_y : @move_rate_y end if self.x == @move_x && @move_x @first_time = false if @first_time @move_x = nil end if self.y == @move_y && @move_y @move_y = nil end end #-------------------------------------------------------------------------- # make_destination #-------------------------------------------------------------------------- def make_destination make_dtb_destination if @battle == :dtb make_pctb_destination if @battle == :pctb make_pctb2_image if @battle == :pctb3 end #-------------------------------------------------------------------------- # make_dtb_destination #-------------------------------------------------------------------------- def make_dtb_destination #--- BattleManager.performed_battlers = [] if !BattleManager.performed_battlers array = BattleManager.performed_battlers.reverse action = BattleManager.action_battlers.reverse - BattleManager.performed_battlers.reverse array += action action.uniq! array.uniq! #--- result = [] for member in array next if member.hidden? result.push(member) unless member.dead? action.delete(member) if member.dead? and !@show_dead end if @show_dead for member in array next if member.hidden? result.push(member) if member.dead? end end #--- index = result.index(@battler).to_i @move_x = 24 + index * 24 if BattleManager.in_turn? @move_x += 6 if action.include?(@battler) @move_x += 6 if (index + 1 == result.size) and action.size > 1 end den = @first_time ? 12 : 24 @move_rate_x = [((@move_x - self.x)/den).abs, 1].max end #-------------------------------------------------------------------------- # make_pctb_destination #-------------------------------------------------------------------------- def make_pctb_destination return unless BattleManager.ctb_battlers #--- array = BattleManager.ctb_battlers.reverse #--- result = [] for member in array next if member.hidden? result.push(member) unless member.dead? end if @show_dead for member in array next if member.hidden? result.push(member) if member.dead? end end #--- index = result.index(@battler).to_i @move_x = 24 + index * 24 den = @first_time ? 12 : 24 @move_rate_x = [((@move_x - self.x)/den).abs, 1].max end #-------------------------------------------------------------------------- # make_pctb2_image #-------------------------------------------------------------------------- def make_pctb2_image return unless BattleManager.ctb_battlers num = YSA::pCTB::CTB_MECHANIC[:pre_turns] - 1 array = BattleManager.ctb_battlers self.battler = array[@number] self.y = 24 + (num - @number) * 24 end end # Sprite_OrderBattler#==============================================================================# ■ Spriteset_Battle#==============================================================================class Spriteset_Battle #-------------------------------------------------------------------------- # public instance variables #-------------------------------------------------------------------------- attr_accessor :viewportOrder #-------------------------------------------------------------------------- # alias method: create_viewports #-------------------------------------------------------------------------- alias order_gauge_create_viewports create_viewports def create_viewports order_gauge_create_viewports @viewportOrder = Viewport.new @viewportOrder.z = 1000 if YSA::oRDER_GAUGE::SHOW_SWITCH == 0 || $game_switches[YSA::oRDER_GAUGE::SHOW_SWITCH] @viewportOrder.ox = -YSA::oRDER_GAUGE::GAUGE_X @viewportOrder.oy = -YSA::oRDER_GAUGE::GAUGE_Y else @viewportOrder.ox = Graphics.width @viewportOrder.oy = Graphics.height end end end # Spriteset_Battle#==============================================================================# ■ Scene_Battle#==============================================================================class Scene_Battle < Scene_Base #-------------------------------------------------------------------------- # public instance variables #-------------------------------------------------------------------------- attr_accessor :actor_window attr_accessor :enemy_window #-------------------------------------------------------------------------- # alias method: create_all_windows #-------------------------------------------------------------------------- alias order_gauge_create_all_windows create_all_windows def create_all_windows order_gauge_create_all_windows @spriteset_order = [] if $imported["YSA-PCTB"] && YSA::pCTB::CTB_MECHANIC[:predict] == 1 @active_order_sprite = Sprite_OrderBattler.new(@spriteset.viewportOrder, nil, :pctb2) end if $imported["YSA-PCTB"] && YSA::pCTB::CTB_MECHANIC[:predict] == 2 num = YSA::pCTB::CTB_MECHANIC[:pre_turns] i = 0 num.times { order = Sprite_OrderBattler.new(@spriteset.viewportOrder, nil, :pctb3, i) @spriteset_order.push(order) i += 1 } return end for battler in $game_party.members + $game_troop.members battle_type = :dtb battle_type = :pctb if BattleManager.btype?:)pctb) battle_type = :catb if BattleManager.btype?:)catb) order = Sprite_OrderBattler.new(@spriteset.viewportOrder, battler, battle_type) @spriteset_order.push(order) end end #-------------------------------------------------------------------------- # alias method: battle_start #-------------------------------------------------------------------------- alias order_gauge_battle_start battle_start def battle_start order_gauge_battle_start unless BattleManager.btype?:)pctb) BattleManager.make_action_orders for order in @spriteset_order order.make_destination end end end #-------------------------------------------------------------------------- # alias method: dispose_spriteset #-------------------------------------------------------------------------- alias order_gauge_dispose_spriteset dispose_spriteset def dispose_spriteset for order in @spriteset_order order.bitmap.dispose order.dispose end order_gauge_dispose_spriteset end #-------------------------------------------------------------------------- # alias method: update_basic #-------------------------------------------------------------------------- alias order_gauge_update_basic update_basic def update_basic order_gauge_update_basic for order in @spriteset_order order.update end @active_order_sprite.update if @active_order_sprite if $imported["YSA-PCTB"] type = YSA::pCTB::CTB_MECHANIC[:predict] end if @update_ordergauge if type && type == 1 BattleManager.actor.restore_speed BattleManager.actor.storage_speed BattleManager.actor.reset_pctb_speed end BattleManager.make_action_orders BattleManager.make_ctb_battler_order if BattleManager.btype?:)pctb) for order in @spriteset_order order.make_destination end @update_ordergauge = false end if YSA::oRDER_GAUGE::SHOW_SWITCH == 0 || $game_switches[YSA::oRDER_GAUGE::SHOW_SWITCH] @spriteset.viewportOrder.ox = -YSA::oRDER_GAUGE::GAUGE_X if @spriteset.viewportOrder.ox != -YSA::oRDER_GAUGE::GAUGE_X @spriteset.viewportOrder.oy = -YSA::oRDER_GAUGE::GAUGE_Y if @spriteset.viewportOrder.oy != -YSA::oRDER_GAUGE::GAUGE_Y else @spriteset.viewportOrder.ox = Graphics.height if @spriteset.viewportOrder.ox != Graphics.width @spriteset.viewportOrder.oy = Graphics.width if @spriteset.viewportOrder.oy != Graphics.height end if $game_party.all_dead? || $game_troop.all_dead? @spriteset.viewportOrder.ox = Graphics.height if @spriteset.viewportOrder.ox != Graphics.width @spriteset.viewportOrder.oy = Graphics.width if @spriteset.viewportOrder.oy != Graphics.height end end #-------------------------------------------------------------------------- # alias method: update #-------------------------------------------------------------------------- alias order_gauge_update update def update order_gauge_update #return if YSA::pCTB::CTB_MECHANIC[:predict] == 2 if @actor_command_window.active return if BattleManager.actor.input.nil? if @actor_command_window.current_symbol == :attack && !BattleManager.actor.input.attack? BattleManager.actor.input.set_attack if BattleManager.actor.usable?($data_skills[BattleManager.actor.attack_skill_id]) @update_ordergauge = true end if @actor_command_window.current_symbol == :guard && BattleManager.actor.input.item != $data_skills[BattleManager.actor.guard_skill_id] BattleManager.actor.input.set_guard if BattleManager.actor.usable?($data_skills[BattleManager.actor.guard_skill_id]) @update_ordergauge = true end if $imported["YEA-BattleCommandList"] if @actor_command_window.current_symbol == :use_skill && BattleManager.actor.input.item != $data_skills[@actor_command_window.current_ext] BattleManager.actor.input.set_skill(@actor_command_window.current_ext) if BattleManager.actor.usable?($data_skills[@actor_command_window.current_ext]) @update_ordergauge = true end end end if @skill_window.active && BattleManager.actor && BattleManager.actor.input.item != @skill_window.item && @skill_window.current_item_enabled? BattleManager.actor.input.set_skill(@skill_window.item.id) if BattleManager.actor.usable?(@skill_window.item) @update_ordergauge = true end if @item_window.active && BattleManager.actor && BattleManager.actor.input.item != @item_window.item && @item_window.current_item_enabled? BattleManager.actor.input.set_item(@item_window.item.id) if BattleManager.actor.usable?(@item_window.item) @update_ordergauge = true end end #-------------------------------------------------------------------------- # alias method: on_skill_cancel #-------------------------------------------------------------------------- alias order_gauge_on_skill_cancel on_skill_cancel def on_skill_cancel order_gauge_on_skill_cancel BattleManager.actor.input.clear @update_ordergauge = true end #-------------------------------------------------------------------------- # alias method: on_item_cancel #-------------------------------------------------------------------------- alias order_gauge_on_item_cancel on_item_cancel def on_item_cancel order_gauge_on_item_cancel BattleManager.actor.input.clear @update_ordergauge = true end #-------------------------------------------------------------------------- # alias method: turn_start #-------------------------------------------------------------------------- alias order_gauge_turn_start turn_start def turn_start order_gauge_turn_start for order in @spriteset_order order.make_destination end end #-------------------------------------------------------------------------- # alias method: process_action_end #-------------------------------------------------------------------------- alias order_gauge_process_action_end process_action_end def process_action_end order_gauge_process_action_end for order in @spriteset_order order.make_destination end end end # Scene_Battle#==============================================================================# # ▼ End of File# #============================================================================== 

What it currently does is that it goes from top to bottom, with bottom-most icon being the current action. So it looks like this:

If possible, I would like to have it so that the gauge is instead going from bottom to top, with a different background around the current action like this:

I'm using 5 numbers as a base for now. I will probably have 7 as the maximum, so the space between the graphics would be little to non-existent.

Please and thank you.
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??

Forum statistics

Threads
105,859
Messages
1,017,037
Members
137,566
Latest member
Fl0shVS
Top