Advertisement
roninator2

Adjust Stats on Party Size

Dec 21st, 2024 (edited)
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 9.98 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Adjust Stats on Party Size             ║  Version: 1.00     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║                                               ╠════════════════════╣
  7. # ║   Adjust params for actors                    ║    21 Dec 2024     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: nil                                                      ║
  11. # ║                                                                    ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║        More battle memebrs causes battlers to lose ATK             ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║   Turn Value below to true to have it get applied                  ║
  20. # ║      LOWER_ATK = true                                              ║
  21. # ║   Set value that will be changed for stat                          ║
  22. # ║                                                                    ║
  23. # ║   Add more ad you desire                                           ║
  24. # ╚════════════════════════════════════════════════════════════════════╝
  25. # ╔════════════════════════════════════════════════════════════════════╗
  26. # ║ Updates:                                                           ║
  27. # ║ 1.00 - 21 Dec 2024 - Script finished                               ║
  28. # ║                                                                    ║
  29. # ╚════════════════════════════════════════════════════════════════════╝
  30. # ╔════════════════════════════════════════════════════════════════════╗
  31. # ║ Credits and Thanks:                                                ║
  32. # ║   Roninator2                                                       ║
  33. # ║                                                                    ║
  34. # ╚════════════════════════════════════════════════════════════════════╝
  35. # ╔════════════════════════════════════════════════════════════════════╗
  36. # ║ Terms of use:                                                      ║
  37. # ║  Follow the original Authors terms of use where applicable         ║
  38. # ║    - When not made by me (Roninator2)                              ║
  39. # ║  Free for all uses in RPG Maker except nudity                      ║
  40. # ║  Anyone using this script in their project before these terms      ║
  41. # ║  were changed are allowed to use this script even if it conflicts  ║
  42. # ║  with these new terms. New terms effective 03 Apr 2024             ║
  43. # ║  No part of this code can be used with AI programs or tools        ║
  44. # ║  Credit must be given                                              ║
  45. # ╚════════════════════════════════════════════════════════════════════╝
  46.  
  47. module R2_Modify_Battle_Stats_Large_Party
  48.   LOWER_ATK = true
  49.   ATK_AMOUNT = 10
  50.   # add more here as you need
  51.   # LOWER_DEF = true
  52.   # DEF_AMOUNT = 5
  53. end
  54.  
  55. # ╔════════════════════════════════════════════════════════════════════╗
  56. # ║                      End of editable region                        ║
  57. # ╚════════════════════════════════════════════════════════════════════╝
  58.  
  59.  
  60. class Game_Party < Game_Unit
  61.   #--------------------------------------------------------------------------
  62.   # * Initial Party Setup
  63.   #--------------------------------------------------------------------------
  64.   def setup_starting_members
  65.     @actors = $data_system.party_members.clone
  66.     remove_actor_stats_by_member
  67.   end
  68.   #--------------------------------------------------------------------------
  69.   # * Add an Actor
  70.   #--------------------------------------------------------------------------
  71.   alias :r2_change_stats_add :add_actor
  72.   def add_actor(actor_id)
  73.     reset_actor_stats_by_member
  74.     r2_change_stats_add(actor_id)
  75.     remove_actor_stats_by_member
  76.   end
  77.   #--------------------------------------------------------------------------
  78.   # * remove stats
  79.   #--------------------------------------------------------------------------
  80.   def reset_actor_stats_by_member
  81.     battle_members.each do |act|
  82.       act.raise_battle_stat(2) if R2_Modify_Battle_Stats_Large_Party::LOWER_ATK
  83.       # add more here as you need
  84.       # act.raise_battle_stat(3) if R2_Modify_Battle_Stats_Large_Party::LOWER_DEF
  85.     end
  86.   end
  87.   #--------------------------------------------------------------------------
  88.   # * remove stats
  89.   #--------------------------------------------------------------------------
  90.   def remove_actor_stats_by_member
  91.     battle_members.each do |act|
  92.       act.lower_battle_stat(2) if R2_Modify_Battle_Stats_Large_Party::LOWER_ATK
  93.       # add more here as you need
  94.     end
  95.   end
  96.   #--------------------------------------------------------------------------
  97.   # * Remove Actor
  98.   #--------------------------------------------------------------------------
  99.   alias :r2_change_stats_remove :remove_actor
  100.   def remove_actor(actor_id)
  101.     add_actor_stats_by_member
  102.     r2_change_stats_remove(actor_id)
  103.   end
  104.   #--------------------------------------------------------------------------
  105.   # * add stats
  106.   #--------------------------------------------------------------------------
  107.   def add_actor_stats_by_member
  108.     battle_members.each do |act|
  109.       act.gain_battle_stat(2) if R2_Modify_Battle_Stats_Large_Party::LOWER_ATK
  110.       # add more here as you need
  111.       # act.gain_battle_stat(2) if R2_Modify_Battle_Stats_Large_Party::LOWER_DEF
  112.     end
  113.   end
  114. end
  115.  
  116. class Game_Actor < Game_Battler
  117.   #--------------------------------------------------------------------------
  118.   # * Change Param Plus Value
  119.   #--------------------------------------------------------------------------
  120.   def gain_battle_stat(param)
  121.     adj = R2_Modify_Battle_Stats_Large_Party::ATK_AMOUNT if param == 2
  122.     # add more here as you need
  123.     # params [mhp, mmp, atk, def, mat, mdf, agi, luk]
  124.     # params [ 0 ,  1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ]
  125.     # adj = R2_Modify_Battle_Stats_Large_Party::DEF_AMOUNT if param == 3
  126.     add_param(param, adj)
  127.   end
  128.   #--------------------------------------------------------------------------
  129.   # * Change Param Plus Value
  130.   #--------------------------------------------------------------------------
  131.   def lower_battle_stat(param)
  132.     adj = -(($game_party.battle_members.size - 1) *
  133.       R2_Modify_Battle_Stats_Large_Party::ATK_AMOUNT) if param == 2
  134.     # add more here as you need
  135.     # params [mhp, mmp, atk, def, mat, mdf, agi, luk]
  136.     # params [ 0 ,  1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ]
  137.     add_param(param, adj)
  138.   end
  139.   #--------------------------------------------------------------------------
  140.   # * Change Param Plus Value
  141.   #--------------------------------------------------------------------------
  142.   def raise_battle_stat(param)
  143.     adj = (($game_party.battle_members.size - 1) *
  144.       R2_Modify_Battle_Stats_Large_Party::ATK_AMOUNT) if param == 2
  145.     # add more here as you need
  146.     # params [mhp, mmp, atk, def, mat, mdf, agi, luk]
  147.     # params [ 0 ,  1 ,  2 ,  3 ,  4 ,  5 ,  6 ,  7 ]
  148.     add_param(param, adj)
  149.   end
  150. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement