dsiver144

Dark's Custom GameOver

Feb 16th, 2016
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 5.14 KB | None | 0 0
  1. #===============================================================================
  2. # Dark Custom GameOver Script
  3. # Author: Nhat Nguyen ( Dark Sky )
  4. # Release Date: Feb 16th 2016
  5. #==============================================================================
  6. module CustomGameOver
  7.  
  8.   GameOver_Image = "GameOverScreen" # Graphics/System/[GameOver_Image]
  9.  
  10. end
  11. #==============================================================================
  12. # ** Scene_MenuBase
  13. #------------------------------------------------------------------------------
  14. #  This class performs basic processing related to the menu screen.
  15. #==============================================================================
  16.  
  17. class Scene_Gameover < Scene_Base
  18.   #--------------------------------------------------------------------------
  19.   # * Main
  20.   #--------------------------------------------------------------------------
  21.   def main
  22.     start
  23.     post_start
  24.     update until scene_changing?
  25.     pre_terminate
  26.     terminate
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # * Start Processing
  30.   #--------------------------------------------------------------------------
  31.   def start
  32.     super
  33.     create_background
  34.     create_gameover_sprite
  35.     play_gameover_music
  36.   end
  37.   #--------------------------------------------------------------------------
  38.   # * Termination Processing
  39.   #--------------------------------------------------------------------------
  40.   def terminate
  41.     super
  42.     dispose_background
  43.   end
  44.   #--------------------------------------------------------------------------
  45.   # * Create Background
  46.   #--------------------------------------------------------------------------
  47.   def create_background
  48.     @viewport.tone = Tone.new(0,0,0,255)
  49.     @background_sprite = Sprite.new
  50.     @background_sprite.bitmap = SceneManager.background_bitmap
  51.     @background_sprite.bitmap.blur
  52.   end
  53.  
  54.   def create_gameover_sprite
  55.     @win = Window_GameOverPlus.new
  56.   end
  57.  
  58.   #--------------------------------------------------------------------------
  59.   # * Free Background
  60.   #--------------------------------------------------------------------------
  61.   def dispose_background
  62.     @background_sprite.dispose
  63.   end
  64. end
  65. #==============================================================================
  66. # ** Window_GameOverPlus
  67. #==============================================================================
  68. class Window_GameOverPlus < Window_Base
  69.   #--------------------------------------------------------------------------
  70.   # * Initialize
  71.   #--------------------------------------------------------------------------
  72.   def initialize
  73.     super(0,0,544,416)
  74.     self.opacity = 0
  75.     self.back_opacity = 0
  76.     @sprite = Sprite.new
  77.     @sprite.bitmap = Cache.system(CustomGameOver::GameOver_Image)
  78.     @sprite.z = 999
  79.   end
  80.   #--------------------------------------------------------------------------
  81.   # * Dispose
  82.   #--------------------------------------------------------------------------
  83.   def dispose
  84.     super
  85.     @sprite.bitmap.dispose
  86.     @sprite.dispose
  87.   end
  88. end
  89.  
  90. module BattleManager
  91.   def self.process_defeat
  92.     $game_message.add(sprintf(Vocab::Defeat, $game_party.name))
  93.     wait_for_message
  94.     if @can_lose
  95.       revive_battle_members
  96.       replay_bgm_and_bgs
  97.       SceneManager.return
  98.     else
  99.       SceneManager.snapshot_for_background
  100.       SceneManager.goto(Scene_Gameover)
  101.     end
  102.     battle_end(2)
  103.     return true
  104.   end
  105. end
  106. #==============================================================================
  107. # ** Game_Interpreter
  108. #==============================================================================
  109. class Game_Interpreter
  110.   #--------------------------------------------------------------------------
  111.   # * Change HP
  112.   #--------------------------------------------------------------------------
  113.   def command_311
  114.     value = operate_value(@params[2], @params[3], @params[4])
  115.     iterate_actor_var(@params[0], @params[1]) do |actor|
  116.       next if actor.dead?
  117.       actor.change_hp(value, @params[5])
  118.       actor.perform_collapse_effect if actor.dead?
  119.     end
  120.     SceneManager.snapshot_for_background
  121.     SceneManager.goto(Scene_Gameover) if $game_party.all_dead?
  122.   end
  123.   #--------------------------------------------------------------------------
  124.   # * Game Over
  125.   #--------------------------------------------------------------------------
  126.   alias dark_gameover_command_353 command_353
  127.   def command_353
  128.     SceneManager.snapshot_for_background
  129.     dark_gameover_command_353
  130.   end
  131. end
  132. #==============================================================================
  133. # ** Scene_Base
  134. #==============================================================================
  135. class Scene_Base
  136.   #--------------------------------------------------------------------------
  137.   # * Determine if Game Is Over
  138.   #   Transition to the game over screen if the entire party is dead.
  139.   #--------------------------------------------------------------------------
  140.   def check_gameover
  141.     if $game_party.all_dead?
  142.       SceneManager.snapshot_for_background
  143.       SceneManager.goto(Scene_Gameover)
  144.     end
  145.   end
  146. end
Advertisement
Add Comment
Please, Sign In to add comment