Rpg Maker VX Resources
It's always Christmas here - New sprites daily!
Download over 1037 RMVX resources!


Epic Battle Defeated

This was done as a script request over at the RPGRevolution community forums. I took the special monster death sequences out of Enu’s japanese RPG Tankentai Battle System (TBS).

Enu’s tankentai battlesystem flashes the screen a couple times when the selected epic or boss monsters die, then they fade down in a moving cloud. These epic monster deaths should work fine with any other sort of custom Rpg Maker VX battle system, or even the default. Click more to see the script from the RMVX Takentai BS:

Credit: Enu (japanese scripter)

Place the number IDs of any monsters you wish to have an “epic” death in the EpicBattleMonsters = [#] section. Like so: [1,2,3,8]

# Taken from Enu's Tankentai BS as a request

module GameBaker
  EpicBattleMonsters = [4]
end

class Sprite_Battler
  alias gb_nonepic_collapse update_collapse
  alias gb_epic_setupeffect setup_new_effect

  def setup_new_effect
    sg = @battler.collapse
    gb_epic_setupeffect
    if sg
      if @battler.is_a?(Game_Enemy) &&
      GameBaker::EpicBattleMonsters.include?(@battler.enemy_id)
        @effect_duration = 330
        @gb_epic_collapse = true
      end
    end
  end

  def update_collapse
    if !@gb_epic_collapse
      gb_nonepic_collapse
      return
    end
    if @effect_duration == 320
      Audio.se_play(”Audio/SE/Absorb1″)
      self.flash(Color.new(255,255,255),60)
      viewport.flash(Color.new(255,255,255),20)
    end
    if @effect_duration == 280
      Audio.se_play(”Audio/SE/Absorb1″)
      self.flash(Color.new(255,255,255),60)
      viewport.flash(Color.new(255,255,255),20)
    end
    if @effect_duration == 220
      Audio.se_play(”Audio/SE/Earth4″)
      #reset
      self.blend_type = 1
      self.color.set(255,128,128,128)
      self.wave_amp = 6
    end
    if @effect_duration < 220
      self.src_rect.set(0,@effect_duration/2 - 110,@width,@height)
      self.x += 8 if @effect_duration % 4 == 0
      self.x -= 8 if @effect_duration % 4 == 2
      self.wave_amp += 1 if @effect_duration % 10 == 0
      self.opacity = @effect_duration
      return if @effect_duration < 0
      Audio.se_play(”Audio/SE/Earth4″) if @effect_duration % 50 == 0
    end
  end
end

18 Responses to “Epic Battle Defeated”

  1. Mean1 Says:

    This one is not working properly. It runs and there is not any script errors but when you put the ID in, and you test battle, it doenst work . It’s just a regular death

  2. Rpg Maker VX Blog Says:

    You might be using a different RMVX battle system script that interferes with it. Worked great when we tested. Try putting it farther down the list, right above the Rpg Maker VX scripts main, if you can. Might fix your problem!

  3. Mean1 Says:

    It did not fix it…I was hoping for this to work…oh well. Thanks though for the help :)

  4. Mean1 Says:

    I like this one cause it is just the script I need but I did fin another script that is like this plus music and some other stuff just for the takentai battle system. and it works. But thank you though

  5. andy Says:

    yes, this excited me, but it unfortunately doesnt work…

  6. Conundrum Says:

    Semi-necro post, but I found this script using google and…

    It didn’t work right away, but I saw an error with the audio files and looked at the code. I noticed that when I pasted the script into RPG Maker, the quotations around the sounds were in some different ASCII notation, so once I deleted them and put in new quotation marks the script works great. Thanks.

  7. RayXDGreat Says:

    Yay! It worked.
    But no pause before the victory screen.

  8. PHLiM2 Says:

    I also noticed that the victory screen doesn’t wait until the animation is complete… There’s got to be another piece of code somewhere that’ll fix this…

  9. Fomar0153 Says:

    I made a little fix to make the battle wait until the enemy has died. The way it works is any battle with an enemy who is considered epic, waits for roughly the length of time it takes for them to die before showing the results. Sadly this means there will be an odd pause in battles with an epic monster and normal monsters where the normal monsters died last.

    Anyway the code:
    [code]class Scene_Battle < Scene_Base
    #————————————————————————–
    # * Determine Win/Loss Results
    #————————————————————————–
    def judge_win_loss
    if $game_temp.in_battle
    if $game_party.all_dead?
    process_defeat
    return true
    elsif $game_troop.all_dead?
    wait(300) if $game_troop.boss?
    process_victory
    return true
    else
    return false
    end
    else
    return true
    end
    end
    end

    class Game_Troop < Game_Unit

    def boss?
    for enemy in @enemies
    return true if GameBaker::EpicBattleMonsters.include?(enemy.enemy_id)
    end
    return false
    end

    end
    [/code]

  10. BLT Says:

    what does enter id mean?
    1,2,3? what is that?>

  11. Whirlwind57 Says:

    It means the ID number in the database. For example, when going into the “troops” tab, each monster has a number beside its name. You just pick the monsters you want to be epic, and simply enter their numbers in the code.

  12. ZeroBlade77 Says:

    I made a fix for this.
    Just removed the audio, whoever wants to take on putting that back in, you can. FOR YOUR CONVIENENCE!

    module GameBaker
    EpicBattleMonsters = [1]
    end

    class Sprite_Battler
    alias gb_nonepic_collapse update_collapse
    alias gb_epic_setupeffect setup_new_effect

    def setup_new_effect
    sg = @battler.collapse
    gb_epic_setupeffect
    if sg
    if @battler.is_a?(Game_Enemy) &&
    GameBaker::EpicBattleMonsters.include?(@battler.enemy_id)
    @effect_duration = 330
    @gb_epic_collapse = true
    end
    end
    end

    def update_collapse
    if !@gb_epic_collapse
    gb_nonepic_collapse
    return
    end
    if @effect_duration == 320
    self.flash(Color.new(255,255,255),60)
    viewport.flash(Color.new(255,255,255),20)
    end
    if @effect_duration == 280
    self.flash(Color.new(255,255,255),60)
    viewport.flash(Color.new(255,255,255),20)
    end
    if @effect_duration == 220
    #reset
    self.blend_type = 1
    self.color.set(255,128,128,128)
    self.wave_amp = 6
    end
    if @effect_duration < 220
    self.src_rect.set(0,@effect_duration/2 - 110,@width,@height)
    self.x += 8 if @effect_duration % 4 == 0
    self.x -= 8 if @effect_duration % 4 == 2
    self.wave_amp += 1 if @effect_duration % 10 == 0
    self.opacity = @effect_duration
    return if @effect_duration < 0
    end
    end
    end

  13. Rian P.P Says:

    Wooooooowwwwwwwwwwwwwwwwwwwwww
    Very coooooooooooooooool
    thank you,ZeroBlade77.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  14. CastorOnline Says:

    It doesnt work for me, im using the tankentai battle system, i put the screen farther down main and didnt work, then farther up and didnt work either, it has no error its just that dont work for me, i want it but i am not scripter, not know what to do… help anyone?

  15. Katayoku Says:

    If you want the sounds to work, substitute the

    Audio.se_play(”Audio/SE/Absorb1″)
    with:

    Audio.se_play(”Audio/SE/Absorb1″, 100, 100)

    And the

    Audio.se_play(”Audio/SE/Earth4″)
    with:

    Audio.se_play(”Audio/SE/Earth4″, 100, 100)

  16. Jackass Says:

    This sucks lol doesnt work.

  17. Dan Says:

    Please, the audio doesn’t work and I want some sound, and Katayoku’s solution doesn’t work… Ugh.

  18. Jayden Piercy Says:

    Do you believe that Syria spying on dissidents?

Leave a Reply


Part of the Rpg Maker System category.

Tags, Combat Maker, Eye candy, Japanese Art, Rpg Maker monster