Advertisement
roninator2

Retain States on Death

Dec 10th, 2024
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 6.79 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Retain States                          ║  Version: 1.00     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║                                               ╠════════════════════╣
  7. # ║ Prevent states from being removed             ║    18 Aug 2023     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: nil                                                      ║
  11. # ║                                                                    ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║       Prevent death from removing all states                       ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║   Add <no recover> to the states you want to not be                ║
  20. # ║   removed when the actor is recovered.                             ║
  21. # ║                                                                    ║
  22. # ╚════════════════════════════════════════════════════════════════════╝
  23. # ╔════════════════════════════════════════════════════════════════════╗
  24. # ║ Updates:                                                           ║
  25. # ║ 1.00 - 18 Aug 2023 - Script finished                               ║
  26. # ║                                                                    ║
  27. # ╚════════════════════════════════════════════════════════════════════╝
  28. # ╔════════════════════════════════════════════════════════════════════╗
  29. # ║ Credits and Thanks:                                                ║
  30. # ║   Roninator2                                                       ║
  31. # ║                                                                    ║
  32. # ╚════════════════════════════════════════════════════════════════════╝
  33. # ╔════════════════════════════════════════════════════════════════════╗
  34. # ║ Terms of use:                                                      ║
  35. # ║  Follow the original Authors terms of use where applicable         ║
  36. # ║    - When not made by me (Roninator2)                              ║
  37. # ║  Free for all uses in RPG Maker except nudity                      ║
  38. # ║  Anyone using this script in their project before these terms      ║
  39. # ║  were changed are allowed to use this script even if it conflicts  ║
  40. # ║  with these new terms. New terms effective 03 Apr 2024             ║
  41. # ║  No part of this code can be used with AI programs or tools        ║
  42. # ║  Credit must be given                                              ║
  43. # ╚════════════════════════════════════════════════════════════════════╝
  44.  
  45. #==============================================================================
  46. # ** Game_BattlerBase
  47. #==============================================================================
  48.  
  49. class Game_BattlerBase
  50.   #--------------------------------------------------------------------------
  51.   # * Recover All
  52.   #--------------------------------------------------------------------------
  53.   def recover_all
  54.     clean_states
  55.     @hp = mhp
  56.     @mp = mmp
  57.   end
  58.   #--------------------------------------------------------------------------
  59.   # * Clear State Information
  60.   #--------------------------------------------------------------------------
  61.   def clean_states
  62.     if self.is_a?(Game_Actor) && @states != nil
  63.       @states.each_with_index do |st, i|
  64.         stnb = $data_states[st]
  65.         next if stnb.note.include?("<no recover>")
  66.         @states[i] = nil
  67.       end
  68.       @states.compact!
  69.     else
  70.       @states = []
  71.       @state_turns = {}
  72.       @state_steps = {}
  73.     end
  74.   end
  75. end
  76.  
  77. #==============================================================================
  78. # ** Game_Actor
  79. #==============================================================================
  80.  
  81. class Game_Actor < Game_Battler
  82.   #--------------------------------------------------------------------------
  83.   # * Setup
  84.   #--------------------------------------------------------------------------
  85.   alias r2_actor_setup  setup
  86.   def setup(actor_id)
  87.     r2_actor_setup(actor_id)
  88.     clear_states
  89.   end
  90. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement