Advertisement
TheSixth

Game Over when leader dies

Aug 30th, 2016
342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.87 KB | None | 0 0
  1. =begin
  2.  
  3. Game Over when leader dies
  4. Made by: Sixth
  5.  
  6. Description:
  7. Just a small snippet to trigger game over when the party leader dies instead of
  8. doing the same when the whole party dies.
  9. You can enable of disable the script with a switch during the game if youw want.
  10.  
  11. If you use Falcao's ABS, this will also disable the party leader switch when
  12. the player dies! This can also be disabled with the same switch you set up in
  13. this script!
  14.  
  15. Installation:
  16. Place this script between Materials and Main!
  17. If you are using Falcao's ABS, put this script below all of the ABS scripts!
  18.  
  19. =end
  20.  
  21. module LdrGmOver
  22.  
  23.   # Turn this switch ON in the game if you want to disable this script!
  24.   DisableSw = 60 # Disable Switch ID!
  25.  
  26. end
  27.  
  28. class Game_BattlerBase
  29.  
  30.   alias leader_ko_gmover6662 hp=
  31.   def hp=(hp)
  32.     leader_ko_gmover6662(hp)
  33.     return if $game_switches[LdrGmOver::DisableSw]
  34.     if self.is_a?(Game_Actor) && self.hp == 0 && self.index == 0
  35.       SceneManager.goto(Scene_Gameover)
  36.     end
  37.   end
  38.  
  39. end
  40.  
  41. if $imported && $imported["Falcao Pearl ABS Liquid"]
  42.  
  43. class Game_CharacterBase
  44.  
  45.   def update_battler_collapse
  46.     if @colapse_time > 0
  47.       @colapse_time -= 1
  48.       force_cancel_actions
  49.       if battler.is_a?(Game_Actor)
  50.         Sound.play_actor_collapse if @secollapse.nil?
  51.         @secollapse = true
  52.         if @colapse_time == 0
  53.           @secollapse = nil
  54.           for event in $game_map.event_enemies
  55.             event.agroto_f = nil if event.agroto_f == self
  56.           end
  57.           check_for_dead_four
  58.           member = $game_party.battle_members
  59.           # swap and reset player
  60.           if self.is_a?(Game_Player)
  61.             reset_knockdown_actors
  62.             battler.deadposing=$game_map.map_id if PearlKernel::FollowerDeadPose
  63.             if $game_switches[LdrGmOver::DisableSw]
  64.               $game_party.swap_order(0,3) if !member[3].nil? and !member[3].dead?
  65.               $game_party.swap_order(0,2) if !member[2].nil? and !member[2].dead?
  66.               $game_party.swap_order(0,1) if !member[1].nil? and !member[1].dead?
  67.             else
  68.               SceneManager.goto(Scene_Gameover)
  69.             end
  70.           else
  71.             if PearlKernel::FollowerDeadPose
  72.               battler.deadposing = $game_map.map_id
  73.               if !$game_player.follower_fighting? and member.size > 2
  74.                 swap_dead_follower
  75.               else
  76.                 $game_player.reserved_swap << battler.id if member.size > 2
  77.               end
  78.             end
  79.           end
  80.         end
  81.       elsif battler.is_a?(Game_Enemy)
  82.         @die_through = @through if @die_through.nil?
  83.         @through = true
  84.         apply_collapse_anime(battler.collapse_type)
  85.         @secollapse = true
  86.         battler.object ? @transparent = true : @opacity -= 2 if !@deadposee
  87.         self.kill_enemy if @colapse_time == 0
  88.       end
  89.     end
  90.   end
  91.  
  92. end
  93.  
  94. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement