Submit Your Article


 
RPG Maker

Welcome Guest ( Log In | Register )


  Games Resources RPG Maker VX RPG Maker XP Scripts Tutorials Downloads

> ASCIIgod's Universal Patch System
ASCIIgod
post Oct 5 2011, 02:34 AM
Post #1


Demonic God of Snippets of Doom +10
Group Icon

Group: Revolutionary
Posts: 271
Type: Scripter
RM Skill: Intermediate




have you ever wanted a patch for yanfly's YEZ: custom skill effects issues with tankentai? like the one that renders the tankentai action sequence useless. or tired of the hard configuration the KH ability system for the AP gaining? or how about having a ring like in RIBS? well all that for one super patch script. and whats more you can request your patch needed.. and now without further ado

Lvl 2: i now add a built in patch for tankentai m/ ATB vs KGC large party.
Lvl.3: now the ever wait tankentai w/ ATB custom action command patch is ready
Lvl.4: now a little fix for ICY's inventory system issues againts tankentai w/ ATB(non ATB works well with this)
Lvl.5: now presenting Auto-Patches. Patches that dont have specific configs.
Lvl.6: by request i made a little tweak on Wora's Neo gauge and all of yanfly's VAM(victory aftermath)
Lv.7: added to RubyCrystal's victory aftermath request he also added including it to menu redux as well
*new*
Lv.8: I added a new nece config for tankentai in effect of ability system. this allow to check if ability is equipped
Lv.9: Added a feature that creates a conflicting abilities. examples is autolife 1 cannot activate with autolife 2 so only one of them is active.
CODE
################################################################################
#                                                                              #
#                                                                              #
#                 ASCIIgod's Universal Script Pacthes                          #
#                                Lvl -9-                                       #
#                                                                              #
#                                                                              #
################################################################################
=begin

                              -Introduction-
  
  Before i begin my introduction first i must thank RRR and RMVX community
  for providing me the scripts for my daily task on RPG making. And to all
  of the author of those codes i salute you for your marvelous work. And to
  honor your greatness i shall dedicate myself into making a single script
  containing everything i patched with your works. For that i will add
  your name here in the credit section for your script. As for my own motto
  of "Credit isnt needed but appreciated", you, the auth0r of the script,
  feel free to credit me for my work but as i said, i dont take credit.
  
  Now for the intro. As i said in the name, This will be a single coded,
  universal script patch where i add the specific code i implemented with the
  specific script within this code. You might as well as say this will be a big
  project ahead of me... I am aware of what im gonna do for as my work are all
  patches and some whole code.
  
  now without further ado, I shall give you ASCIIgod's USP..
  
  Config: The config section will control how my USP will work. Each option has
          its own description so read it well.
          
  Changelog.
      -Lvl.1 : Initial Coding. First ever patches(AP raised when level)
               YEZ: Custom Skill Effect(fix the tankentai anim issue)
               Boneless R.I.B.S. by OriginalWij(allows ring for tankentai)
      -Lvl.2 : Adding a patch for tankentai with ATB and KGC Large party.
      
      -Lvl.3 : Adding a patch for tankentai w/ ATB and YERD Custom Battle Action
      
      -Lvl.4 : Adding a patch fir tankentai w/ ATB and ICY's Inventory system
      
      -Lvl.5 : introducing Auto-Patches. Patches that dont need configurations...
               AP01 -Adding a fix for tankentai w/ or w/o ATB vs YERD/YEM Victory Aftermath
               AP02 -Adds a little tweak on OECS Durablity system that changes how durablity
                     decreases. Instead of each use of Attack command, now it depends on how
                     many hits you do... tankentai compliant
               AP03 -Adding a very cool addon so if you have Walking Sprites Menu v2.0
                     by wltr3565 that enables changing actor pose when HP is low or dead...
      
      -Lvl.6 : requested by RubyCrystal, he want YEZ or YERD Victory aftermath to inherit
               the gauges from woratana NEO gauge.
      
      -Lvl.7 : requested by RubyCrystal, Yanfly Menu Redux is now recompatible
               w/ Neo Gauge of wora
              
      -Lvl.8 :Added new nece for tankentai related for Ability system.
              Now you can nece abilities as well.
              
      -Lvl.9 :Added a feature that creates incompatible Abilities with
              KH styled ability system. Example is Autolife 1 cannot
              activate with Autolife 2... only 1 will be on. It will
              save players AP when equipping abilities.
              
      
              
  Credits:
      -wltr3565 for Ability System AKA Kingdom Hearts Abilities
      -Yanfly for YEZ: Custom Skill Effect
      -Yanfly for YERD: CustomBattleAction
      -Yanfly for Victory aftermath
      -OriginalWij for Boneless R.I.B.S.
      -whoever made KGC... the only pips in the credit in the code is the
       translators which is mr. bubbles and mr. anonnimous
      -ICY for his Inventory System
      -Woratana for the Neo Gauge

  Request Credits
      -RubyCrystal(Lvl.6 & Lvl.7)
=end

module CONFIG
=begin
  This is where all the controlling happens
=end
################################################################################

  #This Triggers the activation of Auto-Patches... It has an Auto Detect system
  #which prevent missing errors.
  
  AUTO_PATCH_ON = false

################################################################################




################################################################################

  #do you have wltr3565's Ability System??? if you do then turn it true
  HAS_AP_SYSTEM = false
  #if the above is true, would you like a static AP gaining system?
  #this will render the code inside the ability system itself.(i find it
  #harder to use)
  ALLOW_LEVEL_AP = false
  #when ALLOW_LEVEL_AP is true, how much per level?
  AP_GAIN_LEVEL = 1
  #when ALLOW_LEVEL_AP is false, set how you liked the AP is increased
  #note that all equation must be inside the "". the code eval() will do the
  #rest. use your imagination
  #use this items, level, maxhp, maxmp, atk, def, spi, agi
  #for the operators, you can use +, -, *, /, %, **, ()
  #example: (level * 2) - 1 meaning.
  #at level 3. you gain 5. (3 * 2 = 6),(6) - 1 = 5
  AP_GAIN_FALSE = "level - 3"
  
################################################################################




################################################################################
  
=begin

here is the instruction for tankentai action when using
the new nece [5 = Ability]

Ex.
"NECE_SATORI" => ["nece",0,5,270,1]

or

"NECE_SATORI" => ["nece",B,C,D,E]
where the B indicating the target is self
the C means it calls the new nece
the D is the skill id turned into ability
and E means how many must be active...

=end

  # A single action you can perform when ability isnt equipped and it returned
  # false
  ABILITY_NECE_CHANGE = "FLEE_RESET"


################################################################################




################################################################################

  #List Ability that has an incompatibililty issues
  CONFLICT_ABILITY =
  {
    270 => 271,
    271 => 270,
  }

################################################################################




################################################################################

  #Do you both have tankentai w/ ATB and ICY's Inventory system
  HAS_ATB_ICY_INVENT = false
  
################################################################################




################################################################################
  
  #do you have both tankentai ATB and the new KGC party form?
  HAS_TANKENTAIATB_PARTYFORM = false

################################################################################




################################################################################

  #do you have YEZ: Custom Skill effect? This mark also the patching process
  #for both scripts
  HAS_YEZ_SKILL = true

################################################################################




################################################################################

  #do you have Woratana's Neo gauge?
  HAS_WORA_GAUGE = false
  #what kind of yanfly series you got?
  #can be YERD, YEZ or BEM/YEM
  YANFLY_SERIES = "YEZ"
  #same as above but currently i cant support BEM yet or YEZ
  YANFLY_MENU = "YERD"

################################################################################




################################################################################
  
  #do you have both tankentai ATB and YERD: CustomBattleAction?
  HAS_YERD_CUSTOMACTION = false

################################################################################




################################################################################

  #do you have OriginalWij's Boneless RIBS?
  HAS_RIBS_RING = false
  #do you want it for attacks?
  RIBS_ATTACK = true
  #do you want it for skills?
  RIBS_SKILLS = true
  #do you want it for items?
  RIBS_ITEMS = true
  #are you gonna use it with tankentai as well?
  RIBS_TANKENTAI = true
  
=begin
  to set up your ring, follow this steps
  "do_ring( x_loc,y_loc,[hit_start,hit_end(add as many as you liked)],start_angle )"
  where x_loc is the X location of the ring
  where y_loc is the Y Location of the ring
  hit_start is where the starting line of the hit range
  hit_end is where the hit range terminates.
  as i said, you can add as many hit_start and hit_ends. but my estimates says
  is you can only make up to 10 to prevent over lappings
  start_angle is where the spinning line start.
  
  dont worry the detail much as it will be eval().
  btw i will left everything editable blank as for you can edit it as first
=end
  
  #if RIBS_ATTACK is true, would you like it fix configured or actor configured?
  #true = fixed configured
  #false = actor configured
  RIBS_ATTACK_STATE = true
  #when RIBS_ATTACK_STATE is true, how does the ring act?
  RIBS_ATTACK_RING_FIX = "do_ring(150,150,[15,30,60,75,90,105],-90)"
  #when RIBS_ATTACK_STATE is false who does the ring act?
  RIBS_ATTACK_RING_ACTOR = {} #do not delete this. this is an important hash
  RIBS_ATTACK_RING_ACTOR[1] = "do_ring(150,150,[15,30,60,75,90,105],-90)"
  #if RIBS_SKILL is true, would you like it fix configured or actor configured?
  #true = fixed configured
  #false = actor configured
  RIBS_SKILLS_STATE = true
  #when RIBS_SKILLS_STATE is true, how does the ring act?
  RIBS_SKILLS_RING_FIX = "do_ring(150,150,[15,30,60,75,90,105],-90)"
  #when RIBS_SKILLS_STATE is false, how does the ring act?
  RIBS_SKILLS_RING_ACTOR = {} #do not delete this. this is an important hash
  RIBS_SKILLS_RING_ACTOR[1] = "do_ring(150,150,[15,30,60,75,90,105],-90)"

  #if RIBS_ITEMS is true, would you like it fix configured or actor configured?
  #true = fixed configured
  #false = actor configured
  RIBS_ITEMS_STATE = true
  #when RIBS_ITEMS_STATE is true, how does the ring act?
  RIBS_ITEMS_RING_FIX = "do_ring(150,150,[15,30,60,75,90,105],-90)"
  #when RIBS_ITEMS_STATE is false, how does the ring act?
  RIBS_ITEMS_RING_ACTOR = {} #do not delete this. this is an important hash
  RIBS_ITEMS_RING_ACTOR[1] = "do_ring(150,150,[15,30,60,75,90,105],-90)"
  
  #you can use this stuffs.
=begin
  attacker = the one producing the damage
  self = the one being targetted
  
  atk
  def
  spi
  agi
  maxhp
  hp
  maxmp
  mp
  damage
  
  $game_system.press_count
    thats how many successful hit you done
    
  unless attacker.is_a?(Game_Enemy)
    add that to the end of your calculation to prevent bug when enemy attack
=end
  #Adjust damages here
  RIBS_ATTACK_ADJUSTMENT = "
  if $game_system.press_count > 0
    damage *= ($game_system.press_count) unless attacker.is_a?(Game_Enemy)
  else
    damage /= 2
  end
  "
  
  RIBS_SKILLS_ADJUSTMENT = ""
  
  RIBS_ITEMS_ADJUSTMENT = ""
################################################################################
end

=begin
  This is where you back off. anything editted here will cause my patch to fail
=end

if CONFIG::HAS_WORA_GAUGE == true
if CONFIG::YANFLY_MENU == "YERD"
class Window_ReDuxMenuStatus < Window_MenuStatus
  def refresh
    @item_max = $game_party.members.size
    create_contents
    fill_stand_by_background if $imported["LargeParty"]
    for actor in $game_party.members
      draw_rd_menu_actor(actor)
      x = 104
      y = actor.index * 96
      draw_actor_name(actor, x, y)
      draw_actor_class(actor, x + 120, y)
      draw_actor_level(actor, x, y + WLH * 1)
      draw_actor_state(actor, x, y + WLH * 2)
      draw_actor_hp(actor, x + 120, y + WLH * 1, 120)
      draw_actor_mp(actor, x + 120, y + WLH * 2, 120)
      draw_rd_menu_exp(actor, x + 120, y + WLH * 3, 120)
    end
  end
  
  def draw_rd_menu_exp(actor, x, y, size = 120)
    if actor.next_exp != 0
      gw = size * actor.now_exp
      gw /= actor.next_exp
    else
      gw = size
    end
    gc1 = text_color(YE::REDUX::MENU::EXP_GAUGE_1)
    gc2 = text_color(YE::REDUX::MENU::EXP_GAUGE_2)
    draw_neo_gauge(x, y + WLH - 8, size, 9, gauge_back_color, gauge_back_color, gauge_back_color, false,
    true, size, 50)
    draw_neo_gauge(x, y + WLH - 8, size, 9, gc1, gc2, gauge_back_color, false,
    true, gw, 50)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 40, WLH, YE::REDUX::MENU::EXP_TEXT)
    self.contents.font.color = normal_color
    if actor.next_exp != 0
      expercent = actor.now_exp * 100.000
      expercent /= actor.next_exp
    else
      expercent = 100.000
    end
    expercent = 100.000 if expercent > 100.000
    text = sprintf(YE::REDUX::MENU::PERCENT_EXP, expercent)
    self.contents.draw_text(x, y, size, WLH, text, 2)
  end
end
end
  
  
if CONFIG::YANFLY_SERIES == "YERD"
class Window_Party_Exp_Front < Window_Base
  
  def refresh(extraper = 0)
    self.contents.clear
    px = (self.width - 32) / 2 - ($game_party.members.size * 120) / 2
    @full_actors = 0
    for actor in $game_party.members
      #---
      self.contents.font.color = normal_color
      self.contents.font.size = Font.default_size
      py = WLH * 4
      #---
      pw = 96
      gc1 = text_color(YE::BATTLE::DISPLAY::VA_EXP_GAUGE_COLOUR1)
      gc2 = text_color(YE::BATTLE::DISPLAY::VA_EXP_GAUGE_COLOUR2)
      if actor.level > $old_level[actor.id]
        gw = pw
        gc1 = text_color(YE::BATTLE::DISPLAY::VA_LVL_UP_GAUGE1)
        gc2 = text_color(YE::BATTLE::DISPLAY::VA_LVL_UP_GAUGE2)
      elsif actor.next_exp != 0
        gw = pw * (actor.now_exp + exp_gained(extraper, actor))
        gw /= actor.next_exp
        gw = pw if gw > pw
      else
        gw = pw
      end
      
      draw_neo_gauge(px + 12, py - 6, 96, 10, gauge_back_color, gauge_back_color, gauge_back_color, false,
      true, 96, 50)
      draw_neo_gauge(px + 12, py - 6, 96, 10, gc1, gc2, gauge_back_color, false,
      true, gw, 50)

      #---
      self.contents.font.size = YE::BATTLE::DISPLAY::VA_FONT_SIZE
      if actor.level > $old_level[actor.id]
        colour = text_color(YE::BATTLE::DISPLAY::VA_LVL_UP_TEXT_COLOUR)
        self.contents.font.color = colour
        text = YE::BATTLE::DISPLAY::VA_LVL_UP_TEXT
      elsif actor.next_exp != 0
        text = sprintf(YE::BATTLE::DISPLAY::VA_MSG_NEXT_LVL, actor.level + 1)
      else
        text = YE::BATTLE::DISPLAY::VA_MSG_MAX_LVL
      end
      self.contents.draw_text(px, py, 120, WLH, text, 1)
      self.contents.font.color = normal_color
      #---
      py += WLH
      if actor.level > $old_level[actor.id]
        expercent = 100.000
        text = sprintf(YE::BATTLE::DISPLAY::VA_PERCENT_EXP, expercent)
        self.contents.draw_text(px, py - WLH * 2, 120, WLH, text, 1)
        text = sprintf(YE::BATTLE::DISPLAY::VA_LVL_UP_LEVEL, actor.level)
        self.contents.draw_text(px, py, 120, WLH, text, 1)
      else
        if actor.next_exp != 0
          expercent = (actor.now_exp + exp_gained(extraper, actor))* 100.000
          expercent /= actor.next_exp
          if expercent > 100.000
            expercent = 100.000
            @full_actors += 1
          end
          value = actor.next_rest_exp_s - exp_gained(extraper, actor)
          value = 0 if value < 0
        else
          expercent = 100.000
          @full_actors += 1
        end
        text = sprintf(YE::BATTLE::DISPLAY::VA_PERCENT_EXP, expercent)
        self.contents.draw_text(px, py - WLH * 2, 120, WLH, text, 1)
        if actor.next_exp != 0
          text = sprintf(YE::BATTLE::DISPLAY::VA_NEXT_LV_EXP, value)
        else
          text = ""
        end
        self.contents.draw_text(px, py, 120, WLH, text, 1)
      end
      #---
      px += 120
    end
  end
  
  
end
end
if CONFIG::YANFLY_MENU == "YEZ"
  
end
if CONFIG::YANFLY_SERIES == "YEZ"
class Window_Party_Exp_Front < Window_Base
  
  def draw_exp_gauge(actor, dx, dy, extra_per)
    self.contents.font.size = YEZ::VICTORY::EXP_FONT_SIZE
    gc1 = text_color(YEZ::VICTORY::EXP_GAUGE_1)
    gc2 = text_color(YEZ::VICTORY::EXP_GAUGE_2)
    if actor.level > $game_temp.victory_clone[actor.id].level
      gc1 = text_color(YEZ::VICTORY::LVL_GAUGE_1)
      gc2 = text_color(YEZ::VICTORY::LVL_GAUGE_2)
      gw = 96
      self.contents.font.color = text_color(YEZ::VICTORY::LVL_COLOUR)
      text = YEZ::VICTORY::VOCAB[:level_up]
    elsif actor.next_exp != 0
      gw = 96 * (actor.now_exp + exp_gained(extra_per, actor))
      gw /= actor.next_exp
      gw = [[gw, 96].min, 0].max
      text = sprintf(YEZ::VICTORY::VOCAB[:next_level], actor.level + 1)
      if gw == 96
        self.contents.font.color = text_color(YEZ::VICTORY::LVL_COLOUR)
        gc1 = text_color(YEZ::VICTORY::LVL_GAUGE_1)
        gc2 = text_color(YEZ::VICTORY::LVL_GAUGE_2)
        text = YEZ::VICTORY::VOCAB[:level_up]
      end
    else
      gw = 96
      text = YEZ::VICTORY::VOCAB[:max_level]
    end
    
    draw_neo_gauge(dx + 12, dy - 6, 96, 10, gauge_back_color, gauge_back_color, gauge_back_color, false,
    true, 96, 50)
    draw_neo_gauge(dx + 12, dy - 6, 96, 10, gc1, gc2, gauge_back_color, false,
    true, gw, 50)
      
    self.contents.draw_text(dx, dy, 120, WLH, text, 1)
    self.contents.font.color = normal_color
  end
  
end
end
if CONFIG::YANFLY_SERIES == "BEM"
class Window_Party_Exp_Front < Window_Base
  
  def draw_exp_gauge(actor, dx, dy, extra_per)
    self.contents.font.size = YEM::VICTORY::EXP_FONT_SIZE
    gc1 = text_color(YEM::VICTORY::EXP_GAUGE_1)
    gc2 = text_color(YEM::VICTORY::EXP_GAUGE_2)
    if actor.level > $game_temp.victory_clone[actor.id].level
      gc1 = text_color(YEM::VICTORY::LVL_GAUGE_1)
      gc2 = text_color(YEM::VICTORY::LVL_GAUGE_2)
      gw = 96
      self.contents.font.color = text_color(YEM::VICTORY::LVL_COLOUR)
      text = YEM::VICTORY::VOCAB[:level_up]
    elsif actor.next_exp != 0
      gw = 96 * (actor.now_exp + exp_gained(extra_per, actor))
      gw /= actor.next_exp
      gw = [[gw, 96].min, 0].max
      text = sprintf(YEM::VICTORY::VOCAB[:next_level], actor.level + 1)
      if gw == 96
        self.contents.font.color = text_color(YEM::VICTORY::LVL_COLOUR)
        gc1 = text_color(YEM::VICTORY::LVL_GAUGE_1)
        gc2 = text_color(YEM::VICTORY::LVL_GAUGE_2)
        text = YEM::VICTORY::VOCAB[:level_up]
      end
    else
      gw = 96
      text = YEM::VICTORY::VOCAB[:max_level]
    end
    if $imported["CoreFixesUpgradesMelody"] and YEM::UPGRADE::OUTLINE
      draw_neo_gauge(dx + 12, dy - 8, 96, 10, gc1, gc2, gauge_back_color, false,
      true, 96, 50)
      draw_neo_gauge(dx + 12, dy - 8, 96, 10, gc1, gc2, gauge_back_color, false,
      true, gw, 50)
    else
      draw_neo_gauge(dx + 12, dy - 6, 96, 10, gc1, gc2, gauge_back_color, false,
      true, 96, 50)
      draw_neo_gauge(dx + 12, dy - 6, 96, 10, gc1, gc2, gauge_back_color, false,
      true, gw, 50)
    end
    self.contents.draw_text(dx, dy, 120, WLH, text, 1)
    self.contents.font.color = normal_color
  end
  
end
end
end

if CONFIG::AUTO_PATCH_ON == true
#AP01
#Patches Victory Aftermath for Tankentai ATB or no ATB
if $imported["TankentaiSideview"] == true && $imported["VictoryAftermath"] == true
class Scene_Battle < Scene_Base
  def process_victory
    if $imported["TankentaiATB"] == true
      @spriteset.atb_dispose
      $game_troop.clear_actions
      $game_party.clear_actions
    end
    for actor in $game_party.members
      unless actor.restriction >= 4
        @spriteset.set_action(true, actor.index,actor.win)
      end
    end
    wait(YEZ::VICTORY::WAIT, true)
    @info_viewport.visible = false
    if $imported["BattleEngineZealous"]
      @message_window.dispose
      @message_window = Window_BattleMessage.new
    elsif $imported["VictoryCompatibility"]
      @message_window.dispose
      @message_window = Window_BattleMessageCompatible.new
    end
    @message_window.visible = true
    unless $game_switches[YEZ::VICTORY::BYPASS_BGM_SWITCH]
      RPG::BGM.stop
      $game_system.battle_end_me.play
      YEZ::VICTORY::BGM.play unless YEZ::VICTORY::BGM == nil
    end
    create_victory_clones
    create_victory_actor
    display_exp_and_gold
    display_level_up
    display_drop_items
    battle_end(0)
    $game_temp.victory_actor = nil
    $game_temp.victory_clone = nil
    if $imported["BattleEngineZealous"] and
    YEZ::BATTLE::ZEALOUS::COMMON_EVENTS[:battle_end] != nil
      common_event = YEZ::BATTLE::ZEALOUS::COMMON_EVENTS[:battle_end]
      $game_temp.common_event_id = common_event
    end
    victory_me = Thread.new {
      time = YEZ::VICTORY::FANFARE_FADE
      RPG::ME.fade(time)
      sleep(time / 1000.0)
      RPG::ME.stop }
    battle_end(0)
  end
end
#AP02
#Make it so durablity lost happen each attack
if $imported["TankentaiSideview"] == true
class Game_Battler
  alias asciigod_make_attack_damage_value make_attack_damage_value
  def make_attack_damage_value(attacker)
    asciigod_make_attack_damage_value
    if rand(100) < OECS::Durability::ChancePerAttackToDecreaseDur
      $data_weapons[@active_battler.weapon_id].durability -= 1 unless self.is_a?(Game_Enemy)
    end
  end
end
end
#AP03
#A tweak for the walking sprite
if WLTR::SPRITE_RANDOM_DIR == false
class Window_Base < Window
  
  def draw_actor_graphic_extreme(actor, x, y, anim, step)
    percent = 100 * actor.hp / actor.maxhp
    if percent > 25
      draw_character_1(actor.character_name, 0, x, y, anim,step)
    elsif percent < 25
      draw_character_1(actor.character_name, 0, x, y, anim,2)
    else
      draw_character_1(actor.character_name, 0, x, y, anim,step)
    end
  end

  def draw_character_1(character_name, character_index, x, y,anim,step)
    return if character_name == nil
    bitmap = Cache.character(character_name+"_1")
    sign = character_name[/^[\!\$]./]
    if sign != nil and sign.include?('$')
      cw = bitmap.width / 3
      ch = bitmap.height / 4
    else
      cw = bitmap.width / 12
      ch = bitmap.height / 8
    end
    n = character_index
    a = anim
    b = step
    src_rect = Rect.new((n%4*3+a)*cw, (n/4*4+b)*ch, cw, ch) unless b == nil
    self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) unless b == nil
  end
  
  def draw_character_2(character_name, character_index, x, y,anim,step)
    return if character_name == nil
    bitmap = Cache.character(character_name+"_2")
    sign = character_name[/^[\!\$]./]
    if sign != nil and sign.include?('$')
      cw = bitmap.width / 3
      ch = bitmap.height / 4
    else
      cw = bitmap.width / 12
      ch = bitmap.height / 8
    end
    n = character_index
    a = anim
    b = step
    src_rect = Rect.new((n%4*3+a)*cw, (n/4*4+b)*ch, cw, ch) unless b == nil
    self.contents.blt(x - cw / 2, y - ch, bitmap, src_rect) unless b == nil
  end
  
end
end
end
end

if CONFIG::HAS_ATB_ICY_INVENT == true
class Scene_Battle < Scene_Base
  def start_item_selection
    @help_window = Window_Help.new
    @item_window = IEX_Window_Actor_Inventory.new(@commander, 0, 56, 544, 232)
    @item_window.help_window = @help_window
    @actor_command_window.active = false
  end
end
end

if CONFIG::HAS_YERD_CUSTOMACTION == true

class Scene_Battle < Scene_Base
  def update_actor_command_selection
    @commander.custom_action_flag = false
    commands = @actor_command_window.command
    return reset_command unless commanding?
    if Input.trigger?(Input::B)
      Input.update
      Sound.play_decision
      start_party_command
    elsif Input.trigger?(Input::C)
      Input.update
      case commands
      when "-Attack"
        Sound.play_decision
        @commander.action.set_attack
        start_target_enemy_selection
      when "-Skill"
        Sound.play_decision
        start_skill_selection
      when "-Guard"
        Sound.play_decision
        @commander.action.set_guard
        end_command
      when "-Item"
        Sound.play_decision
        $in_select = true
        start_item_selection
      when "-Wait"
        Sound.play_decision
        @commander.action.kind = 0
        @commander.action.basic = 3
        end_commander
      when "-Soul Crush"
        if @commander.rage < 100
          Sound.play_buzzer
        else
          Sound.play_decision
         @commander.action.set_attack2
          start_target_enemy_selection
        end
      else
      unless YE::BATTLE::COMMANDS::CUSTOM_COMMANDS.include?(command)
        Sound.play_buzzer
      else
        @active_battler.custom_action_flag = true
        @skill = $data_skills[YE::BATTLE::COMMANDS::CUSTOM_COMMANDS[command]]
        if @commander.skill_can_use?(@skill)
          Sound.play_decision
          if $imported["CustomSkillEffects"] and @skill.mix_items
            start_skill_selection
            create_mix_item_windows
          elsif $imported["CustomSkillEffects"] and @skill.subskills != []
            start_skill_selection
            create_subskill_windows
          elsif $imported["CustomSkillEffects"] and @skill.chain_type > 0
            start_skill_selection
            create_chain_windows
          elsif $imported["CustomSkillEffects"] and @skill.throw_skill
            start_skill_selection
            create_throw_windows
          else
            determine_custom_action
          end
        else
          Sound.play_buzzer
        end
      end
    end
    elsif Input.trigger?(Input::RIGHT)
      next_commander
    # ←キーでコマンドキャラ戻し
    elsif Input.trigger?(Input::LEFT)
      back_commander
    end
  end
end

def determine_custom_action
    @commmander.action.set_skill(@skill.id)
    if @skill.need_selection?
      if @skill.for_opponent?
        start_target_enemy_selection
      else
        start_target_actor_selection
      end
    else
      next_commander
    end
end
  
end

if CONFIG::HAS_TANKENTAIATB_PARTYFORM == true

class Window_PartyCommand2 < Window_Selectable
  def initialize
    super(0, 234, 544, 56)
    @item_max = 3
    @column_max = 3
    self.contents.draw_text(12, 0, 96, WLH, "#{Vocab.fight}", 2) # 1.1b
    self.contents.draw_text(180, 0, 96, WLH, "#{Vocab.escape}", 2) if $game_troop.can_escape # 1.1b
    self.contents.draw_text(360, 0, 96, WLH, "#{Vocab.partyform_battle}", 2) if $game_switches[KGC::LargeParty::BATTLE_PARTYFORM_SWITCH] == true
    self.contents.font.color.alpha = 128
    self.contents.draw_text(310, 0, 96, WLH, "#{Vocab.escape}", 2) if !$game_troop.can_escape # 1.1b
    self.active = false
  end
end

class Scene_Battle < Scene_Base
  def create_info_viewport
    @command_members = []
    @action_battlers = []
    @info_viewport = Viewport.new(0, 288, 544, 128)
    @info_viewport.z = 100
    @status_window = Window_BattleStatus.new
    @party_command_window = Window_PartyCommand2.new
    @actor_command_window = Window_ActorCommand.new
    @status_window.viewport = @info_viewport
    @actor_command_window.viewport = @info_viewport
    @status_window.x = 128
    @actor_command_window.x = 672
    @info_viewport.visible = false
    @party_command_window.visible = false
    @info_viewport.ox = 128
  end
  
  alias update_party_command_selection_ASCIIGOD_patch update_party_command_selection
  def update_party_command_selection
    if Input.trigger?(Input::C)
      case @party_command_window.index
      when 2  # パーティ編成
        unless $game_party.battle_partyform_enable?
          Sound.play_buzzer
          return
        end
        Sound.play_decision
        process_partyform
        return
      end
    end

    update_party_command_selection_ASCIIGOD_patch
  end
end

end

if CONFIG::HAS_AP_SYSTEM == true
class Game_Actor < Game_Battler
  include(CONFIG)
  if ALLOW_LEVEL_AP == true
    def maxap
      result = @maxap + @maxap_plus
      for item in equips.compact
        result += item.ap_boost
        result -= item.ap_deboost
      end
      for level in 0...@level
        result += AP_GAIN_LEVEL
      end
      return [[result, WLTR::ABILITY_SETUP::AP_LIMIT_MAX].min, WLTR::ABILITY_SETUP::AP_LIMIT_MIN].max
    end
  else
    def maxap
      result = @maxap + @maxap_plus
      for item in equips.compact
        result += item.ap_boost
        result -= item.ap_deboost
      end
      for level in 0...@level
        result += eval(AP_GAIN_FALSE)
      end
      return [[result, WLTR::ABILITY_SETUP::AP_LIMIT_MAX].min, WLTR::ABILITY_SETUP::AP_LIMIT_MIN].max
    end
  end
  
  def maxap=(value)
    @maxap += value
  end
end
end #Check if has AP system

if CONFIG::HAS_YEZ_SKILL == true
class Scene_Battle < Scene_Base
  def perform_skill(skill)
    custom_skill_effects(skill, "BEFORE") unless skill.custom_before.empty?
    skill = @active_battler.action.skill
    return unless @active_battler.action.valid? # 3.3d, Force action bug fix
    if skill.plus_state_set.include?(1)
      for member in $game_party.members + $game_troop.members
        next if member.immortal
        next if member.dead?
        member.dying = true
      end
    else
      immortaling
    end
    target_decision(skill)
    if CONFIG::HAS_RIBS_RING == true
    if CONFIG::RIBS_TANKENTAI == true
      if RIBS_SKILLS_STATE == true
        eval(RIBS_SKILLS_RING_FIX)
      else
        eval(RIBS_SKILLS_RING_ACTOR[@active_battler.id])
      end
    end
    end
    @spriteset.set_action(@active_battler.actor?, @active_battler.index, skill.base_action)
    pop_help(skill)
    playing_action
    @active_battler.perform_skill_cost(skill)
    @status_window.refresh
    $game_temp.common_event_id = skill.common_event_id
    custom_skill_effects(skill, "AFTER") unless skill.custom_after.empty?
    #time_apply(skill) if !skill.time_skills.empty?
    #charge_apply(skill) if skill.charge_id != 0
  end
end
end #check if has YEZ::Custom Skill Effect

if CONFIG::HAS_RIBS_RING == true
if CONFIG::RIBS_TANKENTAI == true #tankentai
class Scene_Battle < Scene_Base
  include(CONFIG)
  
    def execute_action_attack
    if @active_battler.actor?
      if @active_battler.weapon_id == 0
        if RIBS_ATTACK_STATE == true
          eval(RIBS_ATTACK_RING_FIX)
        else
          eval(RIBS_ATTACK_RING_ACTOR[@active_battler.id])
        end
        action = @active_battler.non_weapon
        immortaling
      else
        if RIBS_ATTACK_STATE == true
          eval(RIBS_ATTACK_RING_FIX)
        else
          eval(RIBS_ATTACK_RING_ACTOR[@active_battler.id])
        end        
        action = $data_weapons[@active_battler.weapon_id].base_action
        if $data_weapons[@active_battler.weapon_id].state_set.include?(1)
          for member in $game_party.members + $game_troop.members
            next if member.immortal
            next if member.dead?
            member.dying = true
          end
        else
          immortaling
        end
      end  
    else
      if @active_battler.weapon == 0
        action = @active_battler.base_action
        immortaling
      else
        action = $data_weapons[@active_battler.weapon].base_action
        if $data_weapons[@active_battler.weapon].state_set.include?(1)
          for member in $game_party.members + $game_troop.members
            next if member.immortal
            next if member.dead?
            member.dying = true
          end
        else
          immortaling
        end
      end  
    end
    target_decision
    @spriteset.set_action(@active_battler.actor?, @active_battler.index, action)
    playing_action
  end
  
  def execute_action_item
    item = @active_battler.action.item
    # 戦闘不能付与のアイテムで不死身設定を分岐
    if item.plus_state_set.include?(1)
      for member in $game_party.members + $game_troop.members
        next if member.immortal
        next if member.dead?
        member.dying = true
      end
    else
      # 行動中に死なないようメンバー全員を不死身化
      immortaling
    end
    $game_party.consume_item(item)
    target_decision(item)
    if RIBS_ITEMS_STATE == true
      eval(RIBS_ITEMS_RING_FIX)
    else
      eval(RIBS_ITEMS_RING_ACTOR[@active_battler.id])
    end
    @spriteset.set_action(@active_battler.actor?, @active_battler.index, item.base_action)
    pop_help(item)
    playing_action
    $game_temp.common_event_id = item.common_event_id
  end
  
end
else #default
class Scene_Battle < Scene_Base
  include(CONFIG)
  
  if RIBS_ATTACK == true
    def execute_action_attack
      text = sprintf(Vocab::DoAttack, @active_battler.name)
      @message_window.add_instant_text(text)
      targets = @active_battler.action.make_targets
      if RIBS_ATTACK_STATE == true
        do_ring(eval(RIBS_ATTACK_RING_FIX))
      else
        do_ring(eval(RIBS_ATTACK_RING_ACTOR[@active_battler.id]))
      end
      display_attack_animation(targets)
      wait(20)
      for target in targets
        target.attack_effect(@active_battler)
        display_action_effects(target)
      end
    end
  end
  
  if RIBS_SKILLS == true
    def execute_action_skill
    skill = @active_battler.action.skill
    text = @active_battler.name + skill.message1
    @message_window.add_instant_text(text)
    unless skill.message2.empty?
      wait(10)
      @message_window.add_instant_text(skill.message2)
    end
    targets = @active_battler.action.make_targets
    if RIBS_SKILLS_STATE == true
      do_ring(eval(RIBS_SKILLS_RING_FIX))
    else
      do_ring(eval(RIBS_SKILLS_RING_ACTOR[@active_battler.id]))
    end
    display_animation(targets, skill.animation_id)
    @active_battler.mp -= @active_battler.calc_mp_cost(skill)
    $game_temp.common_event_id = skill.common_event_id
    for target in targets
      target.skill_effect(@active_battler, skill)
      display_action_effects(target, skill)
    end
  end
  end
  
  if RIBS_ITEMS == true
    def execute_action_item
    item = @active_battler.action.item
    text = sprintf(Vocab::UseItem, @active_battler.name, item.name)
    @message_window.add_instant_text(text)
    targets = @active_battler.action.make_targets
    if RIBS_ITEMS_STATE == true
      do_ring(eval(RIBS_ITEMS_RING_FIX))
    else
      do_ring(eval(RIBS_ITEMS_RING_ACTOR[@active_battler.id]))
    end
    display_animation(targets, item.animation_id)
    $game_party.consume_item(item)
    $game_temp.common_event_id = item.common_event_id
    for target in targets
      target.item_effect(@active_battler, item)
      display_action_effects(target, item)
    end
  end
  end
  
end

end #check if has tankentai or not

class Game_Battler
  
  include(CONFIG)
  def make_attack_damage_value(attacker)
    damage = attacker.atk - self.def        # base calculation
    damage = 0 if damage < 0                        # if negative, make 0
    damage *= elements_max_rate(attacker.element_set)   # elemental adjustment
    damage /= 100
    if damage == 0                                  # if damage is 0,
      damage = rand(2)                              # half of the time, 1 dmg
    elsif damage > 0                                # a positive number?
      @critical = (rand(100) < attacker.cri)        # critical hit?
      @critical = false if prevent_critical         # criticals prevented?
      damage *= 3 if @critical                      # critical adjustment
    end
    eval(RIBS_ATTACK_ADJUSTMENT)
    #damage = apply_variance(damage, 20)             # variance
    damage = apply_guard(damage)                    # guard adjustment
    @hp_damage = damage                             # damage HP
  end
  
  def make_obj_damage_value(user, obj)
    damage = obj.base_damage                        # get base damage
    if damage > 0                                   # a positive number?
      damage += user.atk * 4 * obj.atk_f / 100      # Attack F of the user
      damage += user.spi * 2 * obj.spi_f / 100      # Spirit F of the user
      unless obj.ignore_defense                     # Except for ignore defense
        damage -= self.def * 2 * obj.atk_f / 100    # Attack F of the target
        damage -= self.spi * 1 * obj.spi_f / 100    # Spirit F of the target
      end
      damage = 0 if damage < 0                      # If negative, make 0
    elsif damage < 0                                # a negative number?
      damage -= user.atk * 4 * obj.atk_f / 100      # Attack F of the user
      damage -= user.spi * 2 * obj.spi_f / 100      # Spirit F of the user
    end
    eval(RIBS_SKILLS_ADJUSTMENT)
    damage *= elements_max_rate(obj.element_set)    # elemental adjustment
    damage /= 100
    damage = apply_variance(damage, obj.variance)   # variance
    damage = apply_guard(damage)                    # guard adjustment
    if obj.damage_to_mp  
      @mp_damage = damage                           # damage MP
    else
      @hp_damage = damage                           # damage HP
    end
  end
  
   def calc_hp_recovery(user, item)
    result = maxhp * item.hp_recovery_rate / 100 + item.hp_recovery
    result *= 2 if user.pharmacology    # Pharmacology doubles the effect
    eval(RIBS_ITEMS_ADJUSTMENT)
    return result
  end
  
end

end #check if has RIBS

if $imported["wltr3565's_Ability_System"] == true
class Scene_Ability < Scene_Base
  def equip_the_ability(ability)
    if ability = CONFIG::CONFLICT_ABILITY[ability]#CONFIG::CONFLICT_ABILITY.include?(ability)
      @actor.equip_ability(CONFIG::CONFLICT_ABILITY[ability])
      @actor.unequip_ability(ability)
    else
      @actor.equip_ability(ability)
    end
    Sound.play_equip
    @ability_status.refresh
    @ability_window.refresh
  end
end

  
class Sprite_Battler < Sprite_Base #for tankentai
  alias asciigod_necessary necessary
  def necessary
    asciigod_necessary
    case @active_action[2]
    when 5
      # スキル条件人数を出す
      skill_member = nece2.abs
      for member in target
        skill_member -= 1 if member.ability_equiped?(nece1, true)#skill_learn?(nece1)
        # 条件確認
        return @action = [CONFIG::ABILITY_NECE_CHANGE] if skill_member == 0
      end
    end
  end
end
end


as of now i now permit of this script to be added to this following sites

-www.rpgmakervx.net

the poster must add this line as proof i get the credit for my own script

"ASCIIgod/Tamahome_zitser Ownership seal. 2012"

This post has been edited by ASCIIgod: Aug 1 2012, 03:46 AM


__________________________

Go to the top of the page
 
+Quote Post
   
 
Start new topic
Replies
RubyCrystal
post Oct 23 2011, 03:48 AM
Post #2


Level 3
Group Icon

Group: Member
Posts: 42
Type: Artist
RM Skill: Beginner




This one should be real simple enough, but is it possible to have Yanfly's Display Victory Aftermath to be compatible with Wortana's Neo Gauge script?
Go to the top of the page
 
+Quote Post
   
ASCIIgod
post Oct 23 2011, 05:52 AM
Post #3


Demonic God of Snippets of Doom +10
Group Icon

Group: Revolutionary
Posts: 271
Type: Scripter
RM Skill: Intermediate




QUOTE (RubyCrystal @ Oct 23 2011, 08:48 PM) *
This one should be real simple enough, but is it possible to have Yanfly's Display Victory Aftermath to be compatible with Wortana's Neo Gauge script?


hmmm, you mean the gauge for EXP and such eh? well it is waaay too easy and consider it done on Lv.6


__________________________

Go to the top of the page
 
+Quote Post
   
RubyCrystal
post Oct 23 2011, 10:38 PM
Post #4


Level 3
Group Icon

Group: Member
Posts: 42
Type: Artist
RM Skill: Beginner




QUOTE (ASCIIgod @ Oct 23 2011, 06:52 AM) *
QUOTE (RubyCrystal @ Oct 23 2011, 08:48 PM) *
This one should be real simple enough, but is it possible to have Yanfly's Display Victory Aftermath to be compatible with Wortana's Neo Gauge script?


hmmm, you mean the gauge for EXP and such eh? well it is waaay too easy and consider it done on Lv.6


Well it works, but a few things that you may want to fix:

*On the display screen when the Victory Aftermath appears, the gauge bars are very thin, and are not the same dimensions as Wortana's gauges.

*When the EXP bar increases on the display screen, it doesn't show any increase at all. The bar is basically one whole gradient color and shows no changes at all.

I think if these 2 points are addressed, the patch will be perfect.

And on that note, I seem to have forgotten certain scripts I have that are going together, so is it possible to have Yanfly's Scene Menu Redux compatible too? On my game, it goes together perfectly with Victory Aftermath.

This post has been edited by RubyCrystal: Oct 23 2011, 10:54 PM
Go to the top of the page
 
+Quote Post
   
ASCIIgod
post Oct 23 2011, 11:53 PM
Post #5


Demonic God of Snippets of Doom +10
Group Icon

Group: Revolutionary
Posts: 271
Type: Scripter
RM Skill: Intermediate




QUOTE (RubyCrystal @ Oct 24 2011, 03:38 PM) *
QUOTE (ASCIIgod @ Oct 23 2011, 06:52 AM) *
QUOTE (RubyCrystal @ Oct 23 2011, 08:48 PM) *
This one should be real simple enough, but is it possible to have Yanfly's Display Victory Aftermath to be compatible with Wortana's Neo Gauge script?


hmmm, you mean the gauge for EXP and such eh? well it is waaay too easy and consider it done on Lv.6


Well it works, but a few things that you may want to fix:

*On the display screen when the Victory Aftermath appears, the gauge bars are very thin, and are not the same dimensions as Wortana's gauges.

*When the EXP bar increases on the display screen, it doesn't show any increase at all. The bar is basically one whole gradient color and shows no changes at all.

I think if these 2 points are addressed, the patch will be perfect.

And on that note, I seem to have forgotten certain scripts I have that are going together, so is it possible to have Yanfly's Scene Menu Redux compatible too? On my game, it goes together perfectly with Victory Aftermath.


those are a little mishaps due to the fact that i made it in a very haste... a redone will be present and consider the menu redux done... ill make it lvl 7

-not the same dimensions as Wortana's gauges. the gauge is almost closely related to the gauge of the yerd. i use the same variables used in the old gauge for the neo gauge

This post has been edited by ASCIIgod: Oct 24 2011, 12:34 AM


__________________________

Go to the top of the page
 
+Quote Post
   

Posts in this topic
- ASCIIgod   ASCIIgod's Universal Patch System   Oct 5 2011, 02:34 AM
- - ASCIIgod   BUMPing man....   Oct 15 2011, 03:07 AM
- - rayvales   thats a nice script you got there   Oct 15 2011, 05:08 AM
- - RubyCrystal   Wait, so you are taking requests you say? I don...   Oct 15 2011, 06:08 PM
|- - ASCIIgod   QUOTE (RubyCrystal @ Oct 16 2011, 11:08 A...   Oct 15 2011, 07:19 PM
- - ASCIIgod   Bumpers BUMP   Oct 20 2011, 01:32 AM
|- - RubyCrystal   QUOTE (ASCIIgod @ Oct 24 2011, 12:53 AM) ...   Oct 24 2011, 02:19 AM
|- - ASCIIgod   QUOTE (RubyCrystal @ Oct 24 2011, 07:19 P...   Oct 24 2011, 07:03 AM
- - RubyCrystal   I worked with the script a little and I found some...   Oct 24 2011, 04:12 PM
|- - ASCIIgod   QUOTE (RubyCrystal @ Oct 25 2011, 09:12 A...   Oct 24 2011, 11:07 PM
|- - RubyCrystal   QUOTE (ASCIIgod @ Oct 25 2011, 12:07 AM) ...   Oct 25 2011, 01:34 AM
- - ASCIIgod   ill just clean the code later... i still brainstor...   Oct 25 2011, 06:13 AM
|- - RubyCrystal   QUOTE (ASCIIgod @ Oct 25 2011, 07:13 AM) ...   Oct 25 2011, 04:37 PM
|- - ASCIIgod   QUOTE (RubyCrystal @ Oct 26 2011, 09:37 A...   Oct 26 2011, 01:25 AM
|- - RubyCrystal   QUOTE (ASCIIgod @ Oct 26 2011, 02:25 AM) ...   Oct 26 2011, 03:03 AM
|- - ASCIIgod   QUOTE (RubyCrystal @ Oct 26 2011, 08:03 P...   Oct 26 2011, 03:51 AM
- - ASCIIgod   what the? this post is getting old.... lemme bump....   Nov 8 2011, 11:29 PM
- - shaddowval   I apologize if this isn't in the heart of the ...   Dec 21 2011, 01:01 PM
- - ASCIIgod   okay lemme answer it here... depending on your scr...   Dec 21 2011, 09:59 PM
- - ASCIIgod   BUMP-eth   Aug 1 2012, 02:19 AM
- - Sparrowsmith   wow, this is pretty darned impressive My knowle...   Aug 1 2012, 04:43 AM
- - Truth   Hi, I'm new to RPG maker Vx, I'm making a ...   Dec 19 2012, 06:56 PM


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 

Lo-Fi Version Time is now: 23rd May 2013 - 09:57 PM
RPG RPG Revolution is an Privacy Policy and Legal
eXTReMe Tracker