Advertisement
roninator2

Display Stats on actor command

Dec 17th, 2024
15
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 8.87 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Stat display on Actor Command          ║  Version: 1.00     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║         Provide display option                ╠════════════════════╣
  7. # ║                                               ║    03 Aug 2022     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: nil                                                      ║
  11. # ║                                                                    ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║      Display actor stats in window During actor command selection  ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║   Change Params below for the stats you want to display            ║
  20. # ║    0 = HP   ;   1 = MP                                             ║
  21. # ║    2 = ATK  ;   3 = DEF                                            ║
  22. # ║    4 = MAT  ;   5 = MDF                                            ║
  23. # ║    6 = AGI  ;   7 = LUK                                            ║
  24. # ║   Change window position and width                                 ║
  25. # ║   Change Actor Name colour                                         ║
  26. # ║   Change Stat Colours                                              ║
  27. # ║   Stat colours must correcpond to the stats in the array           ║
  28. # ║      e.g. Param = [2,3]                                            ║
  29. # ║           Stat_Colours = [15,29]                                   ║
  30. # ║  param 2 will be in colour 15, param 3 will be colour 29           ║
  31. # ║    All Colours come from the windowskin graphic                    ║
  32. # ╚════════════════════════════════════════════════════════════════════╝
  33. # ╔════════════════════════════════════════════════════════════════════╗
  34. # ║ Updates:                                                           ║
  35. # ║ 1.00 - 03 Aug 2022 - Script finished                               ║
  36. # ║                                                                    ║
  37. # ╚════════════════════════════════════════════════════════════════════╝
  38. # ╔════════════════════════════════════════════════════════════════════╗
  39. # ║ Credits and Thanks:                                                ║
  40. # ║   Roninator2                                                       ║
  41. # ║                                                                    ║
  42. # ╚════════════════════════════════════════════════════════════════════╝
  43. # ╔════════════════════════════════════════════════════════════════════╗
  44. # ║ Terms of use:                                                      ║
  45. # ║  Follow the original Authors terms of use where applicable         ║
  46. # ║    - When not made by me (Roninator2)                              ║
  47. # ║  Free for all uses in RPG Maker except nudity                      ║
  48. # ║  Anyone using this script in their project before these terms      ║
  49. # ║  were changed are allowed to use this script even if it conflicts  ║
  50. # ║  with these new terms. New terms effective 03 Apr 2024             ║
  51. # ║  No part of this code can be used with AI programs or tools        ║
  52. # ║  Credit must be given                                              ║
  53. # ╚════════════════════════════════════════════════════════════════════╝
  54.  
  55. module R2_List_Param_display
  56.   Params = [2,3,4,5]
  57.   Window_X = 0
  58.   Window_Y = 100
  59.   Window_Width = 100
  60.   Set_Actor_Name_Colour = true
  61.   Actor_Colour = 21
  62.   Set_Stat_Colour = false
  63.   Stat_Colours = [3,8,18,31]
  64. end
  65.  
  66. # ╔════════════════════════════════════════════════════════════════════╗
  67. # ║                      End of editable region                        ║
  68. # ╚════════════════════════════════════════════════════════════════════╝
  69.  
  70. class Window_Status_Blank < Window_Base
  71.   def initialize
  72.     x = R2_List_Param_display::Window_X
  73.     y = R2_List_Param_display::Window_Y
  74.     w = R2_List_Param_display::Window_Width + standard_padding
  75.     h = (R2_List_Param_display::Params.size + 1) * line_height + standard_padding * 2
  76.     super(x, y, w, h)
  77.     self.z = 20
  78.     hide
  79.     @actor = nil
  80.     @param_data = ["HP", "MP", "ATK", "DEF", "MAT", "MDF", "AGI", "LUK"]
  81.   end
  82.   def setup(actor)
  83.     @actor = actor
  84.     create_contents
  85.     show_data
  86.     open
  87.     show
  88.   end
  89.   def show_data
  90.     y = 0
  91.     x = 0
  92.     w = R2_List_Param_display::Window_Width - standard_padding
  93.     height = line_height
  94.     if R2_List_Param_display::Set_Actor_Name_Colour == true
  95.       change_color(text_color(R2_List_Param_display::Actor_Colour))
  96.       draw_text(x, y, w, height, @actor.name, 0)
  97.       change_color(normal_color)
  98.     else
  99.       draw_actor_name(@actor, x, y, w)
  100.     end
  101.     y += line_height# + standard_padding
  102.     R2_List_Param_display::Params.each_with_index do |pp, i|
  103.       stat = "#{@param_data[pp]}:"
  104.       value = "#{@actor.param(pp)}"
  105.       if R2_List_Param_display::Set_Stat_Colour == true
  106.         change_color(text_color(R2_List_Param_display::Stat_Colours[i]))
  107.       end
  108.       draw_text(x, y, w, height, stat, 0)
  109.       change_color(normal_color)
  110.       draw_text(x, y, w, height, value, 2)
  111.       y += line_height
  112.     end
  113.     change_color(normal_color)
  114.   end
  115. end
  116.  
  117. class Scene_Battle < Scene_Base
  118.   alias r2_create_status_back_all_windows create_all_windows
  119.   def create_all_windows
  120.     r2_create_status_back_all_windows
  121.     create_status_back_window
  122.   end
  123.   def create_status_back_window
  124.     @status_back_window = Window_Status_Blank.new
  125.   end
  126.   alias r2_actor_command_show_status  start_actor_command_selection
  127.   def start_actor_command_selection
  128.     r2_actor_command_show_status
  129.     @status_back_window.setup(BattleManager.actor)
  130.   end
  131.   alias r2_turn_start_display_actor_status_data turn_start
  132.   def turn_start
  133.     @status_back_window.close
  134.     r2_turn_start_display_actor_status_data
  135.   end
  136. end
  137.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement