Advertisement
roninator2

Enemy Target Flash

Dec 16th, 2024
13
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 9.90 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Enemy Target Flash                     ║  Version: 1.00     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║                                               ╠════════════════════╣
  7. # ║   Alter spriteset effect on enemy             ║    07 Jan 2024     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: nil                                                      ║
  11. # ║                                                                    ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║       Flash Enemy sprite when selecting the enemy                  ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║   Plug and play                                                    ║
  20. # ║                                                                    ║
  21. # ╚════════════════════════════════════════════════════════════════════╝
  22. # ╔════════════════════════════════════════════════════════════════════╗
  23. # ║ Updates:                                                           ║
  24. # ║ 1.00 - 07 Jan 2024 - Script finished                               ║
  25. # ║                                                                    ║
  26. # ╚════════════════════════════════════════════════════════════════════╝
  27. # ╔════════════════════════════════════════════════════════════════════╗
  28. # ║ Credits and Thanks:                                                ║
  29. # ║   Roninator2                                                       ║
  30. # ║                                                                    ║
  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. #==============================================================================
  45. # ■ Window_BattleEnemy
  46. #------------------------------------------------------------------------------
  47. #  This is the window where you select the enemy character
  48. #    to act on on the battle screen.
  49. #==============================================================================
  50.  
  51. class Window_BattleEnemy < Window_Selectable
  52.  
  53.   #--------------------------------------------------------------------------
  54.   # ● window display
  55.   #--------------------------------------------------------------------------
  56.   alias show2 show
  57.   def show
  58.     @target_anim_on = true
  59.     @old_index = nil
  60.     show2
  61.   end
  62.   #--------------------------------------------------------------------------
  63.   # ● Hiding a window
  64.   #--------------------------------------------------------------------------
  65.   alias hide2 hide
  66.   def hide
  67.     old_enemy.sprite_effect_type = :whiten_loop_stop if @old_index != nil
  68.     enemy.sprite_effect_type = :whiten_loop_stop
  69.     @target_anim_on = false
  70.     @old_index = nil
  71.     hide2
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● Window update
  75.   #--------------------------------------------------------------------------
  76.   def update
  77.     super
  78.     update_target_anim
  79.   end
  80.   #--------------------------------------------------------------------------
  81.   # ● Target anime update
  82.   #--------------------------------------------------------------------------
  83.   def update_target_anim
  84.     return if @target_anim_on == nil
  85.     if @target_anim_on && @index != @old_index
  86.       old_enemy.sprite_effect_type = :whiten_loop_stop if @old_index != nil
  87.       enemy.sprite_effect_type = :whiten_loop
  88.     end
  89.     @old_index = @index    
  90.   end
  91.   #--------------------------------------------------------------------------
  92.   # ● Get previous enemy character object
  93.   #--------------------------------------------------------------------------
  94.   def old_enemy
  95.     $game_troop.alive_members[@old_index]
  96.   end
  97.  
  98. end
  99.  
  100. #==============================================================================
  101. # ■ Sprite_Battler
  102. #------------------------------------------------------------------------------
  103. # This is a sprite for displaying a battler.
  104. # Game_Battler monitor instances of a class,
  105. # Automatically change the sprite's state.
  106. #==============================================================================
  107. class Sprite_Battler < Sprite_Base
  108.  
  109.   #--------------------------------------------------------------------------
  110.   # ● Start of effect
  111.   #--------------------------------------------------------------------------
  112.   def start_effect(effect_type)
  113.     @effect_type = effect_type
  114.     case @effect_type
  115.     when :appear
  116.       @effect_duration = 16
  117.       @battler_visible = true
  118.     when :disappear
  119.       @effect_duration = 32
  120.       @battler_visible = false
  121.     when :whiten
  122.       @effect_duration = 16
  123.       @battler_visible = true
  124.     when :blink
  125.       @effect_duration = 20
  126.       @battler_visible = true
  127.     when :collapse
  128.       @effect_duration = 48
  129.       @battler_visible = false
  130.     when :boss_collapse
  131.       @effect_duration = bitmap.height
  132.       @battler_visible = false
  133.     when :instant_collapse
  134.       @effect_duration = 16
  135.       @battler_visible = false
  136.     when :whiten_loop
  137.       @whiten_cnt = 0.0
  138.       @effect_duration = -1
  139.       @battler_visible = true
  140.     when :whiten_loop_stop
  141.       @effect_duration = -1
  142.     end
  143.     revert_to_normal
  144.   end
  145.   #--------------------------------------------------------------------------
  146.   # ● Effect update
  147.   #--------------------------------------------------------------------------
  148.   alias update_effect2 update_effect
  149.   def update_effect
  150.     update_effect2
  151.     if @effect_duration < 0
  152.       case @effect_type
  153.       when :whiten_loop
  154.         update_whiten_loop
  155.       when :whiten_loop_stop
  156.         update_whiten_loop_stop
  157.       end
  158.     end
  159.   end
  160.   #--------------------------------------------------------------------------
  161.   # ● Effect on selection
  162.   #--------------------------------------------------------------------------
  163.   def update_whiten_loop
  164.     d=(-90+@whiten_cnt/180)*Math::PI
  165.     col = 255 * Math.sin(d)
  166.     @whiten_cnt += 6
  167.     @whiten_cnt %= 180        
  168.     self.color.set(col, col, col, col)
  169.   end
  170.   #--------------------------------------------------------------------------
  171.   # ● Effect ends when selected
  172.   #--------------------------------------------------------------------------
  173.   def update_whiten_loop_stop
  174.     @whiten_cnt = 0.0
  175.     self.color.set(0, 0, 0, 0)
  176.     @effect_duration = 0
  177.     @effect_type = nil
  178.   end
  179.  
  180. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement