Battle Symphony+Galv's Animated Battlers Help

Discussion in 'RGSSx Script Support' started by Jericho Swain, Oct 22, 2013.

  1. Jericho Swain

    Jericho Swain Noxus Tyrant Veteran

    Messages:
    91
    Likes Received:
    18
    First Language:
    English
    Hi I wanted a to merge these two together but its quite hard (for me). In Battle Symphony all I want from that engine is for the enemy characters to be able to come and hit your party instead of just sitting there. I want Galv's Animated Battlers as it is. Please Help and Thanks !

    PS: When I merge these two, the battlers from Galv disappears and needs Battle Symphony's Holders Battlers for them to show back up but its a disaster because the battlers are using wrong sprites for attacks and its just soooo bad :(

    Is there a way to only get what I need from Battle Symphony instead of having to redo a lot of hard work ?
     
    #1
  2. kerbonklin

    kerbonklin Hiatus King Veteran

    Messages:
    1,728
    Likes Received:
    281
    First Language:
    English
    Primarily Uses:
    RMMV
    I managed to make Rhyme's animated battlers (also holders) compatible with symphony through many edits.  However I tried doing so with Galvs but its really tough.

    Here's my version of Rhyme's if you wanna try it, but Galv's performance and processing is 10x better IMO. 

    Note that this is only for Enemy holders! (Enemy charsets and RTP-still battlers work as well)

    Place it above Symphony

    I haven't really tested it far so if anything goes wrong somewhere, like using special symphony tags, let me know.

    Maybe in the soon future i'll put this under a script release thread.

    By the way the symphony holders add-on is only for actor-holders. Symphony by itself only supports animated charset enemies with the add-on for it.

    Edit: sorry had to take out the =begin and =end that I had.

    Code:
    #==============================================================================# ■ Animated Enemy Sprites && Edited by kerbonklin for Battle Symphony compatibility# Merry Christmas and happy holidays!#==============================================================================# Notebox Tag:#	 Enemy: !Flip#==============================================================================# Spritesheet Data for referencing## 0. Idle# 1. Defend# 2. Weak# 3. Damaged# 4. Attack# 5. Item# 6. Skill# 7. Magic# 8. Advance (n/a)# 9. Retreat (n/a)# 10. Victory (n/a)# 11. Enter# 12. Dead# 13. Credits and/or etc (n/a)#==============================================================================#																	   ~rhyme#==============================================================================module Animated_Enemy_Sprites  Delay = 8  FrameSize = [4, 14]  DefaultBlink = trueend#==============================================================================# ■ Game_Battler#==============================================================================class Game_Battler < Game_BattlerBase  attr_accessor :epose  #--------------------------------------------------------------------------  # ● Flip  #--------------------------------------------------------------------------  def flip_sprite    return false  end  #--------------------------------------------------------------------------  # ● Reset Pose  #--------------------------------------------------------------------------  def reset_pose    @epose = 0    @epose = 2 if @hp < mhp / 4    if @states != nil	  @epose = 2 if @states.size > 0    end    @epose = 1 if guard?    @epose = 12 if dead?  end  #--------------------------------------------------------------------------  # ● Use Item  #--------------------------------------------------------------------------  alias use_item_ani use_item  def use_item(item)    if item.is_a?(RPG::Item)	  @epose = 4    else	  if item.is_a?(RPG::Skill)	    if item.id == attack_skill_id		  @epose = 4	    elsif item.physical?		  @epose = 6	    elsif item.magical?		  @epose = 7	    end	  end    end    use_item_ani(item)  end  #--------------------------------------------------------------------------  # ● Perform Damage  #--------------------------------------------------------------------------  alias perform_map_damage_effect_ani perform_map_damage_effect  def perform_map_damage_effect    perform_map_damage_effect_ani    @epose = 3 unless @guarding  end  #--------------------------------------------------------------------------  # ● Upon Damage  #--------------------------------------------------------------------------  alias on_damage_ani on_damage  def on_damage(value)    @epose = 3 unless @guarding    on_damage_ani(value)  endend#==============================================================================# ■ Game_Enemy#==============================================================================class Game_Enemy < Game_Battler  #--------------------------------------------------------------------------  # ● Flip  #--------------------------------------------------------------------------  def flip_sprite    return true if Scan::string($data_enemies[@enemy_id].note, "!Flip")    return super  endend#==============================================================================# ■ Sprite_Battler#==============================================================================class Sprite_Battler < Sprite_Base  attr_accessor :battler  attr_accessor :effect_type  attr_accessor :battler_visible  #--------------------------------------------------------------------------  # ● Initialize  #--------------------------------------------------------------------------  def initialize(viewport, battler = nil)    super(viewport)    @battler = battler    @battler_visible = false    @effect_type = nil    @effect_duration = 0    @spritesheet = true    @epose = 11    @counter = 0    @delay = Animated_Enemy_Sprites::Delay    @frame_size = Animated_Enemy_Sprites::FrameSize  end  #--------------------------------------------------------------------------  # ● フレーム更新  #--------------------------------------------------------------------------  def update    super    if @battler	  @battler.reset_pose if @battler.epose == nil	  self.mirror = @battler.flip_sprite	  @use_sprite = @battler.use_sprite?    if @spritesheet	    update_pose if @epose != 11	  end	  if Graphics.frame_count % @delay == 0	    @counter += 1	    if @counter >= @frame_size[0] && @epose != 12		  @counter = 0        if @epose == 11          update_pose        else          @battler.reset_pose        end	    end	  end    if @use_sprite    update_bitmap    update_origin    update_position    end	  setup_new_effect	  setup_new_animation	  update_effect    else	  self.bitmap = nil    @effect_type = nil    end  end  #--------------------------------------------------------------------------  # ● Update bitmap  #--------------------------------------------------------------------------  def update_bitmap    if @spritesheet && File.exist?('Graphics/Battlers/'+@battler.battler_name + " Animated"'.png')      @spritesheet_bitmap = Cache.battler(@battler.battler_name + " Animated", @battler.battler_hue)      ss_size = [@spritesheet_bitmap.width, @spritesheet_bitmap.height]      new_bitmap = Bitmap.new(ss_size[0] / @frame_size[0], ss_size[1] / @frame_size[1])      cx = @counter * (ss_size[0] / @frame_size[0])      cy = @epose * (ss_size[1] / @frame_size[1])      crop_rect = Rect.new(cx, cy, ss_size[0], ss_size[1])      new_bitmap.blt(0, 0, @spritesheet_bitmap, crop_rect)    else      new_bitmap = Cache.battler(@battler.battler_name, @battler.battler_hue)    end    if bitmap != new_bitmap      self.bitmap = new_bitmap      init_visibility    end    if self.mirror      self.opacity = 255      self.visible = true    end  end  #--------------------------------------------------------------------------  # ● Update Pose  #--------------------------------------------------------------------------  def update_pose    oldpose = @epose    newpose = @battler.epose    if newpose != oldpose	  @counter = 0	  @epose = newpose    end  end  #--------------------------------------------------------------------------  # ● Blink  #--------------------------------------------------------------------------  def update_blink    self.opacity = (@effect_duration % 10 < 5) ? 255 : 0 if Animated_Enemy_Sprites::DefaultBlink  endend#============================================================================# ▼ Scan#============================================================================module Scan  #--------------------------------------------------------------------------  # ● Scan.string(object, string)  #--------------------------------------------------------------------------  def self.string(object, string)    if object[/#{Regexp.quote string}/]	  return true    end    return false  endend
     
    Last edited by a moderator: Oct 22, 2013
    #2
  3. Engr. Adiktuzmiko

    Engr. Adiktuzmiko Chemical Engineer, Game Developer, Using BlinkBoy' Veteran

    Messages:
    14,640
    Likes Received:
    2,966
    Location:
    Philippines
    First Language:
    Tagalog
    actually it works on both enemy and actor holder... as long as you use the correct tags and put the files correctly... supposedly... XD

    though yeah Rhyme's was far easier to use and edit... btw, do you know the terms of usage for Rhyme's? I cannot seem to find it...

    @OP: I think you're better off using Kerbonklin's edit of ryhme's script... 

    and in case you also want to see the original script: http://rpgmaker.net/scripts/118/ 
     
    Last edited by a moderator: Oct 22, 2013
    #3
  4. Jericho Swain

    Jericho Swain Noxus Tyrant Veteran

    Messages:
    91
    Likes Received:
    18
    First Language:
    English
    Ok I have added in the script and it popped Yanfly Core+Battle Engine NoMethodOccured during a fight so im not sure if these are compatible with that script. Also I have put it above Battle Symphony and do I need to put for example <battler: blah> for the enemy characters ?
     
    #4
  5. Engr. Adiktuzmiko

    Engr. Adiktuzmiko Chemical Engineer, Game Developer, Using BlinkBoy' Veteran

    Messages:
    14,640
    Likes Received:
    2,966
    Location:
    Philippines
    First Language:
    Tagalog
    I'm using Rhyme's script with Yanfly's core and battle engine and I dont have that error... 

    nope... you need to put the file into your battler folder and name it BattlerNameAnimated

    where BattlerName is the name of the battler in the database...
     
    #5
  6. Jericho Swain

    Jericho Swain Noxus Tyrant Veteran

    Messages:
    91
    Likes Received:
    18
    First Language:
    English
    now did u use kerbonklin's version ? or did u use the regular one ? and btw ur link is broken :( can u please post the unbroken one ? thanx adiktuzmiko
     
    #6
  7. kerbonklin

    kerbonklin Hiatus King Veteran

    Messages:
    1,728
    Likes Received:
    281
    First Language:
    English
    Primarily Uses:
    RMMV
    For my edit, the battler image has to be named the same as the battler's name, and add " Animated" after it. Images belong in Graphics/Battlers.

    For example:

    Battler name is "Bat"

    Battler image is "Bat Animated"
     
    Last edited by a moderator: Oct 24, 2013
    #7
  8. Engr. Adiktuzmiko

    Engr. Adiktuzmiko Chemical Engineer, Game Developer, Using BlinkBoy' Veteran

    Messages:
    14,640
    Likes Received:
    2,966
    Location:
    Philippines
    First Language:
    Tagalog
    that's the only link I have as that was the one that I used to view the site I think 3 days ago...
     
    #8

Share This Page