Advertisement
roninator2

Mirror Battler sprite

Dec 15th, 2024
26
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 8.05 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Mirror sprite                          ║  Version: 1.01     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║    Flip battler image if inflicted            ╠════════════════════╣
  7. # ║    with a specific state                      ║    26 Nov 2021     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: nil                                                      ║
  11. # ║                                                                    ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║     Flip battler sprite while inflicted with a state               ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║   Add the states that will flip the battler image                  ║
  20. # ║                                                                    ║
  21. # ╚════════════════════════════════════════════════════════════════════╝
  22. # ╔════════════════════════════════════════════════════════════════════╗
  23. # ║ Updates:                                                           ║
  24. # ║ 1.00 - 26 Nov 2021 - Script finished                               ║
  25. # ║ 1.00 - 26 Nov 2021 - Added check for multiple states               ║
  26. # ║                                                                    ║
  27. # ╚════════════════════════════════════════════════════════════════════╝
  28. # ╔════════════════════════════════════════════════════════════════════╗
  29. # ║ Credits and Thanks:                                                ║
  30. # ║   Roninator2                                                       ║
  31. # ║                                                                    ║
  32. # ╚════════════════════════════════════════════════════════════════════╝
  33. # ╔════════════════════════════════════════════════════════════════════╗
  34. # ║ Terms of use:                                                      ║
  35. # ║  Follow the original Authors terms of use where applicable         ║
  36. # ║    - When not made by me (Roninator2)                              ║
  37. # ║  Free for all uses in RPG Maker except nudity                      ║
  38. # ║  Anyone using this script in their project before these terms      ║
  39. # ║  were changed are allowed to use this script even if it conflicts  ║
  40. # ║  with these new terms. New terms effective 03 Apr 2024             ║
  41. # ║  No part of this code can be used with AI programs or tools        ║
  42. # ║  Credit must be given                                              ║
  43. # ╚════════════════════════════════════════════════════════════════════╝
  44.  
  45. module R2_Mirror_State
  46.   # enter the states that will cause the battler image to reverse
  47.     # can be multiple [5,9,14]
  48.   STATES = [5,9]
  49. end
  50.  
  51. # ╔════════════════════════════════════════════════════════════════════╗
  52. # ║                      End of editable region                        ║
  53. # ╚════════════════════════════════════════════════════════════════════╝
  54.  
  55. class Game_Battler < Game_BattlerBase
  56.   attr_accessor :mirror        # flip horizontal flag
  57.   #--------------------------------------------------------------------------
  58.   # * Alias Add State
  59.   #--------------------------------------------------------------------------
  60.   alias r2_state_mirror_add  add_state
  61.   def add_state(state_id)
  62.     r2_state_mirror_add(state_id)
  63.     if state_addable?(state_id)
  64.       if R2_Mirror_State::STATES.include?(state_id)
  65.         @mirror = true
  66.       end
  67.     end
  68.   end
  69.   #--------------------------------------------------------------------------
  70.   # * alias Remove State
  71.   #--------------------------------------------------------------------------
  72.   alias r2_remove_mirror_state  remove_state
  73.   def remove_state(state_id)
  74.     if state?(state_id)
  75.       if R2_Mirror_State::STATES.include?(state_id)
  76.         clear = true
  77.         @states.each do |st|
  78.           next if st == state_id
  79.           if R2_Mirror_State::STATES.include?(st)
  80.             clear = false
  81.           end
  82.         end
  83.         @mirror = false if clear == true
  84.       end
  85.     end
  86.     r2_remove_mirror_state(state_id)
  87.   end
  88. end
  89. class Sprite_Battler < Sprite_Base
  90.   #--------------------------------------------------------------------------
  91.   # * alias Start Effect
  92.   #--------------------------------------------------------------------------
  93.   alias r2_start_effect_mirror  start_effect
  94.   def start_effect(effect_type)
  95.     update_mirror
  96.     r2_start_effect_mirror(effect_type)
  97.   end
  98.   #--------------------------------------------------------------------------
  99.   # * Update Effect
  100.   #--------------------------------------------------------------------------
  101.   alias r2_update_mirror_effect   update_effect
  102.   def update_effect
  103.     update_mirror
  104.     r2_update_mirror_effect
  105.   end
  106.   #--------------------------------------------------------------------------
  107.   # * Update Mirror
  108.   #--------------------------------------------------------------------------
  109.   def update_mirror
  110.     if @battler.mirror == true
  111.       self.mirror = true
  112.     else
  113.       self.mirror = false
  114.     end
  115.   end
  116. end
  117.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement