Advertisement
roninator2

Battle Overheal

Dec 17th, 2024
20
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 7.26 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Battle Overheal - no state             ║  Version: 1.00     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║                                               ╠════════════════════╣
  7. # ║  HP goes above max in battle                  ║    18 Sep 2023     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: nil                                                      ║
  11. # ║                                                                    ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║       Make Hp go above MHP in battle                               ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║                                                                    ║
  20. # ║   Plug and play                                                    ║
  21. # ║   Effects are temporary                                            ║
  22. # ║                                                                    ║
  23. # ╚════════════════════════════════════════════════════════════════════╝
  24. # ╔════════════════════════════════════════════════════════════════════╗
  25. # ║ Updates:                                                           ║
  26. # ║ 1.00 - 18 Sep 2023 - Script finished                               ║
  27. # ║                                                                    ║
  28. # ╚════════════════════════════════════════════════════════════════════╝
  29. # ╔════════════════════════════════════════════════════════════════════╗
  30. # ║ Credits and Thanks:                                                ║
  31. # ║   Roninator2                                                       ║
  32. # ║                                                                    ║
  33. # ╚════════════════════════════════════════════════════════════════════╝
  34. # ╔════════════════════════════════════════════════════════════════════╗
  35. # ║ Terms of use:                                                      ║
  36. # ║  Follow the original Authors terms of use where applicable         ║
  37. # ║    - When not made by me (Roninator2)                              ║
  38. # ║  Free for all uses in RPG Maker except nudity                      ║
  39. # ║  Anyone using this script in their project before these terms      ║
  40. # ║  were changed are allowed to use this script even if it conflicts  ║
  41. # ║  with these new terms. New terms effective 03 Apr 2024             ║
  42. # ║  No part of this code can be used with AI programs or tools        ║
  43. # ║  Credit must be given                                              ║
  44. # ╚════════════════════════════════════════════════════════════════════╝
  45.  
  46. module BattleManager
  47.   class << self
  48.     alias :pro_vic :process_victory
  49.     alias :pro_esp :process_escape
  50.     alias :pro_abt :process_abort
  51.   end
  52.  
  53.   #--------------------------------------------------------------------------
  54.   # * Victory Processing
  55.   #--------------------------------------------------------------------------
  56.   def self.process_victory
  57.     reset_hp
  58.     pro_vic
  59.   end
  60.   #--------------------------------------------------------------------------
  61.   # * Escape Processing
  62.   #--------------------------------------------------------------------------
  63.   def self.process_escape
  64.     reset_hp
  65.     pro_esp
  66.   end
  67.   #--------------------------------------------------------------------------
  68.   # * Abort Processing
  69.   #--------------------------------------------------------------------------
  70.   def self.process_abort
  71.     reset_hp
  72.     pro_abt
  73.   end
  74.   #--------------------------------------------------------------------------
  75.   # * Reset HP
  76.   #--------------------------------------------------------------------------
  77.   def self.reset_hp
  78.     $game_party.members.each do |act|
  79.       act.hp = act.mhp if act.hp > act.mhp
  80.     end
  81.   end
  82. end
  83.  
  84. class Game_BattlerBase
  85.   #--------------------------------------------------------------------------
  86.   # * Refresh
  87.   #--------------------------------------------------------------------------
  88.   def refresh
  89.     state_resist_set.each {|state_id| erase_state(state_id) }
  90.     if SceneManager.scene_is?(Scene_Battle)
  91.       if self.is_a?(Game_Actor)
  92.         if self.hp > self.mhp
  93.           @hp = [@hp, mhp].max
  94.         else
  95.           @hp = [[@hp, mhp].min, 0].max
  96.         end
  97.       else
  98.         @hp = [[@hp, mhp].min, 0].max
  99.       end
  100.     else
  101.       @hp = [[@hp, mhp].min, 0].max
  102.     end
  103.     @mp = [[@mp, mmp].min, 0].max
  104.     @hp == 0 ? add_state(death_state_id) : remove_state(death_state_id)
  105.   end
  106. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement