Advertisement
roninator2

Actor Blink Eyes in Menu

Dec 13th, 2024
34
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 7.56 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Blink graphic in Menu                  ║  Version: 1.00     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║     Use alternate graphic file                ╠════════════════════╣
  7. # ║     to perform a blink of eyes                ║    10 Mar 2022     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: nil                                                      ║
  11. # ║                                                                    ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║        Animated face graphic in menu                               ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║   Using face graphics, have the blink graphic                      ║
  20. # ║   called "face graphic name[blink]"                                ║
  21. # ║                                                                    ║
  22. # ║  Change the numbers below to adjust the length of blink            ║
  23. # ║  [40, 120] = [time between blinks, + random time (0-120)]          ║
  24. # ╚════════════════════════════════════════════════════════════════════╝
  25. # ╔════════════════════════════════════════════════════════════════════╗
  26. # ║ Updates:                                                           ║
  27. # ║ 1.00 - 10 Mar 2022 - 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_Blink_Menu_Graphic
  48.   Blink_Ext = "[blink]"
  49.   # [time in between blinks, plus random 0-value (120)]
  50.   Blink_Timing = [40, 120]
  51.     Blink_Hold = 20 # frames to hold the blink graphic
  52. end
  53.  
  54. # ╔════════════════════════════════════════════════════════════════════╗
  55. # ║                      End of editable region                        ║
  56. # ╚════════════════════════════════════════════════════════════════════╝
  57.  
  58. class Window_MenuStatus < Window_Selectable
  59.   alias r2_menu_blink_eyes_init initialize
  60.   def initialize(x, y)
  61.     r2_menu_blink_eyes_init(x, y)
  62.     @blink = false
  63.     @pause_time = 0
  64.     @blink_time = 0
  65.   end
  66.   def draw_item(index)
  67.     actor = $game_party.members[index]
  68.     enabled = $game_party.battle_members.include?(actor)
  69.     rect = item_rect(index)
  70.     draw_item_background(index)
  71.     draw_actor_blink(actor, rect.x + 1, rect.y + 1, enabled)
  72.     if @blink == true
  73.       if @pause_time < Graphics.frame_count
  74.         @blink = false
  75.       end
  76.       draw_actor_face(actor, rect.x + 1, rect.y + 1, enabled) if @blink == false
  77.     end
  78.     draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 2)
  79.   end
  80.   def draw_actor_blink(actor, x, y, enabled = true)
  81.     graphic = actor.face_name + R2_Blink_Menu_Graphic::Blink_Ext
  82.     draw_face(graphic, actor.face_index, x, y, enabled)
  83.   end
  84.   alias r2_update_blink_menu_face  update
  85.   def update
  86.     r2_update_blink_menu_face
  87.     process_blinking
  88.   end
  89.   def process_blinking
  90.     if @blink_time < Graphics.frame_count
  91.       t1 = R2_Blink_Menu_Graphic::Blink_Timing[0]
  92.       t2 = R2_Blink_Menu_Graphic::Blink_Timing[1]
  93.       t3 = rand(t2)
  94.       @blink_time = Graphics.frame_count + t1 + t3
  95.       @pause_time = Graphics.frame_count + R2_Blink_Menu_Graphic::Blink_Hold
  96.       @blink = true
  97.     end
  98.     refresh if @blink == true
  99.   end
  100. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement