Advertisement
roninator2

Neon Black - Victory Grade - KMS Generic Gauge

Nov 21st, 2024
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 8.33 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Generic Gauge for Victory Grade        ║  Version: 1.00     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║                                               ╠════════════════════╣
  7. # ║   Script Function                             ║    05 Oct 2020     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: Neon Black Victory Grade                                 ║
  11. # ║           KMS Generic Gauge                                        ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║       Provide Generic Gauges for Neon Black Victory Grade          ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║   Plug and play                                                    ║
  20. # ║                                                                    ║
  21. # ╚════════════════════════════════════════════════════════════════════╝
  22. # ╔════════════════════════════════════════════════════════════════════╗
  23. # ║ Updates:                                                           ║
  24. # ║ 1.00 - 22 Nov 2024 - Script finished                               ║
  25. # ║                                                                    ║
  26. # ╚════════════════════════════════════════════════════════════════════╝
  27. # ╔════════════════════════════════════════════════════════════════════╗
  28. # ║ Credits and Thanks:                                                ║
  29. # ║   Roninator2                                                       ║
  30. # ║   Mr. Bubble                                                       ║
  31. # ╚════════════════════════════════════════════════════════════════════╝
  32. # ╔════════════════════════════════════════════════════════════════════╗
  33. # ║ Terms of use:                                                      ║
  34. # ║  Follow the original Authors terms of use where applicable         ║
  35. # ║    - When not made by me (Roninator2)                              ║
  36. # ║  Free for all uses in RPG Maker except nudity                      ║
  37. # ║  Anyone using this script in their project before these terms      ║
  38. # ║  were changed are allowed to use this script even if it conflicts  ║
  39. # ║  with these new terms. New terms effective 03 Apr 2024             ║
  40. # ║  No part of this code can be used with AI programs or tools        ║
  41. # ║  Credit must be given                                              ║
  42. # ╚════════════════════════════════════════════════════════════════════╝
  43.  
  44. module Bubs
  45.   module GGPatch
  46.     # * Gauge File Names
  47.     #  Images must be placed in the "Graphics/System" folder of your project
  48.     GRADE_EXP_IMAGE = "GaugeHP"
  49.  
  50.     # * Gauge Position Offset [x, y]
  51.     GRADE_EXP_OFFSET = [-25, -2]
  52.  
  53.     # * Gauge Length Adjustment
  54.     GRADE_EXP_LENGTH = -40
  55.  
  56.     # * Gauge Slope
  57.     #   Must be between -89 ~ 89 degrees
  58.     GRADE_EXP_SLOPE = 30
  59.   end
  60. end
  61.  
  62. # ╔════════════════════════════════════════════════════════════════════╗
  63. # ║                      End of editable region                        ║
  64. # ╚════════════════════════════════════════════════════════════════════╝
  65.  
  66. $imported ||= {}
  67. $kms_imported ||= {}
  68.  
  69. if $imported['CP_VICTORY'] && $kms_imported["GenericGauge"]
  70. class Window_VictoryMain < Window_Selectable
  71.  
  72.   def draw_actor_exp_info(actor, x, y, width, aexp = 0)
  73.     x += (width - 96) / 2
  74.     width = [width, 96].min
  75.     aexr = aexp * actor.exr
  76.     cexp = actor.exp - actor.current_level_exp
  77.     nexp = actor.next_level_exp - actor.current_level_exp
  78.     if cexp - aexr >= 0
  79.       rate = cexp.to_f / nexp
  80.       rate = 1.0 if rate > 1.0
  81.       gc1 = text_color(CP::VICTORY::EXP_ADDED)
  82.       gc2 = text_color(CP::VICTORY::EXP_ADDED)
  83.       draw_actor_exp_gauge(actor, x, y, width)
  84.       cexp -= aexr
  85.       rate = cexp.to_f / nexp
  86.       rate = 1.0 if rate > 1.0
  87.       rate = 1.0 if actor.level == actor.max_level
  88.       gc1 = text_color(CP::VICTORY::EXP_GAUGE_1)
  89.       gc2 = text_color(CP::VICTORY::EXP_GAUGE_2)
  90.       draw_gauge_clear(x, y, width, rate, gc1, gc2)
  91.     else
  92.       rate = 1.0
  93.       gc1 = text_color(CP::VICTORY::EXP_ADDED)
  94.       gc2 = text_color(CP::VICTORY::EXP_ADDED)
  95.       draw_actor_exp_gauge(actor, x, y, width)
  96.       cexp = actor.exp - actor.last_level_exp - aexr
  97.       nexp = actor.current_level_exp - actor.last_level_exp
  98.       rate = cexp.to_f / nexp
  99.       gc1 = text_color(CP::VICTORY::EXP_GAUGE_1)
  100.       gc2 = text_color(CP::VICTORY::EXP_GAUGE_2)
  101.       draw_gauge_clear(x, y, width, rate, gc1, gc2)
  102.       change_color(normal_color)
  103.       draw_text(x, y, width, line_height, CP::VICTORY::LEVEL_UP, 1)
  104.       @leveled.push(actor)
  105.     end
  106.   end
  107.   def draw_top_exp_gauge(file, x, y, width, ratio, offset, len_offset, slope,
  108.                          gauge_type = :normal)
  109.     img    = Cache.system(file)
  110.     x     += offset[0]
  111.     y     += offset[1]
  112.     width += len_offset
  113.     gw = (width * ratio).to_i
  114.     draw_generic_gauge_bar(img, x, y, width, gw, slope, GAUGE_SRC_POS[gauge_type])
  115.   end
  116.   def draw_gauge_clear(x, y, width, rate, color1, color2)
  117.     file = Bubs::GGPatch::GRADE_EXP_IMAGE
  118.     offset = Bubs::GGPatch::GRADE_EXP_OFFSET
  119.     len_offset = Bubs::GGPatch::GRADE_EXP_LENGTH
  120.     slope = Bubs::GGPatch::GRADE_EXP_SLOPE
  121.     draw_top_exp_gauge(file, x, y, width, rate, offset, len_offset, slope)
  122.   end
  123.  
  124. end
  125. end # if $imported
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement