Advertisement
roninator2

HP increase on MHP gain

Dec 15th, 2024
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 8.03 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: HP increase on MHP Gain                ║  Version: 1.02     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║                                               ╠════════════════════╣
  7. # ║  HP goes up when level goes up                ║    18 Sep 2023     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: nil                                                      ║
  11. # ║                                                                    ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║       Keep Hp in line with MHP growth                              ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║                                                                    ║
  20. # ║   Plug and play                                                    ║
  21. # ║   When MHP goes up 50 points, so will HP                           ║
  22. # ║   Same for MP                                                      ║
  23. # ║                                                                    ║
  24. # ║   Also includes states                                             ║
  25. # ║   State should be set to expire                                    ║
  26. # ║                                                                    ║
  27. # ║   Now supports buffs causing HP & MP increase                      ║
  28. # ║                                                                    ║
  29. # ╚════════════════════════════════════════════════════════════════════╝
  30. # ╔════════════════════════════════════════════════════════════════════╗
  31. # ║ Updates:                                                           ║
  32. # ║ 1.00 - 22 Nov 2024 - Script finished                               ║
  33. # ║                                                                    ║
  34. # ╚════════════════════════════════════════════════════════════════════╝
  35. # ╔════════════════════════════════════════════════════════════════════╗
  36. # ║ Credits and Thanks:                                                ║
  37. # ║   Roninator2                                                       ║
  38. # ║                                                                    ║
  39. # ╚════════════════════════════════════════════════════════════════════╝
  40. # ╔════════════════════════════════════════════════════════════════════╗
  41. # ║ Terms of use:                                                      ║
  42. # ║  Follow the original Authors terms of use where applicable         ║
  43. # ║    - When not made by me (Roninator2)                              ║
  44. # ║  Free for all uses in RPG Maker except nudity                      ║
  45. # ║  Anyone using this script in their project before these terms      ║
  46. # ║  were changed are allowed to use this script even if it conflicts  ║
  47. # ║  with these new terms. New terms effective 03 Apr 2024             ║
  48. # ║  No part of this code can be used with AI programs or tools        ║
  49. # ║  Credit must be given                                              ║
  50. # ╚════════════════════════════════════════════════════════════════════╝
  51.  
  52. class Game_Actor < Game_Battler
  53.   #--------------------------------------------------------------------------
  54.   # * Level Up
  55.   #--------------------------------------------------------------------------
  56.   alias r2_hp_up_on_level level_up
  57.   def level_up
  58.     old_hp = self.mhp
  59.     old_mp = self.mmp
  60.     r2_hp_up_on_level
  61.     new_hp = self.mhp
  62.     new_mp = self.mmp
  63.     hp_up = new_hp - old_hp
  64.     mp_up = new_mp - old_mp
  65.     self.hp += hp_up
  66.     self.mp += mp_up
  67.   end
  68. end
  69.  
  70. class Game_Battler < Game_BattlerBase
  71.   alias r2_add_new_state_hp_up  add_new_state
  72.   #--------------------------------------------------------------------------
  73.   # * Add New State
  74.   #--------------------------------------------------------------------------
  75.   def add_new_state(state_id)
  76.     old_hp = self.mhp
  77.     old_mp = self.mmp
  78.     r2_add_new_state_hp_up(state_id)
  79.     if self.is_a?(Game_Actor)
  80.       st = $data_states[state_id]
  81.       st.features.each do |ft|
  82.         if ft.code == 21
  83.           if ft.data_id == 0 && ft.value > 1
  84.             new_hp = self.mhp
  85.             chg_hp = new_hp - old_hp
  86.             self.hp += chg_hp
  87.           end
  88.           if ft.data_id == 1 && ft.value > 1
  89.             new_mp = self.mmp
  90.             chg_mp = new_mp - old_mp
  91.             self.mp += chg_mp
  92.           end
  93.         end
  94.       end
  95.     end
  96.   end
  97.   #--------------------------------------------------------------------------
  98.   # * Add Buff
  99.   #--------------------------------------------------------------------------
  100.   alias r2_add_buff_hp_gain   add_buff
  101.   def add_buff(param_id, turns)
  102.     return unless alive?
  103.     old_hp = self.mhp if self.is_a?(Game_Actor)
  104.     old_mp = self.mmp if self.is_a?(Game_Actor)
  105.     hp_buff = @buffs[0] if self.is_a?(Game_Actor)
  106.     mp_buff = @buffs[1] if self.is_a?(Game_Actor)
  107.     r2_add_buff_hp_gain(param_id, turns)
  108.     if self.is_a?(Game_Actor)
  109.       hp_buff2 = @buffs[0]
  110.       mp_buff2 = @buffs[1]
  111.       if hp_buff2 > hp_buff
  112.         new_hp = self.mhp
  113.         chg_hp = new_hp - old_hp
  114.         self.hp += chg_hp
  115.       end
  116.       if mp_buff2 > mp_buff
  117.         new_mp = self.mmp
  118.         chg_mp = new_mp - old_mp
  119.         self.mp += chg_mp
  120.       end
  121.     end
  122.   end
  123. end
  124.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement