Advertisement
roninator2

Hime Rotate Formation Addon Block state

Dec 10th, 2024
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 4.00 KB | None | 0 0
  1. # ╔═════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Rotate Lock on State         ║  Version: 1.01     ║
  3. # ║ Author: Roninator2                  ║                    ║
  4. # ╠═════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                           ║   Date Created     ║
  6. # ║   Block rotation when inflicted     ╠════════════════════╣
  7. # ║   with a specific state on actor    ║    06 Sep 2022     ║
  8. # ╚═════════════════════════════════════╩════════════════════╝
  9. # ╔══════════════════════════════════════════════════════════╗
  10. # ║ Instructions:                                            ║
  11. # ║                                                          ║
  12. # ║   Specify the states to block rotation function          ║
  13. # ╚══════════════════════════════════════════════════════════╝
  14. # ╔══════════════════════════════════════════════════════════╗
  15. # ║ Updates:                                                 ║
  16. # ║   2022-Sep-06 - Initial publish                          ║
  17. # ║   2022-Sep-06 - Reversed script function                 ║
  18. # ╚══════════════════════════════════════════════════════════╝
  19. # ╔══════════════════════════════════════════════════════════╗
  20. # ║ Terms of use:                                            ║
  21. # ║ Free for all uses in RPG Maker VX Ace - except nudity    ║
  22. # ╚══════════════════════════════════════════════════════════╝
  23.  
  24. module R2_Rotate_Formation_Blocked_States
  25.   States = [3,4]
  26. end
  27. # ╔══════════════════════════════════════════════════════════╗
  28. # ║          End of Editable Region                          ║
  29. # ╚══════════════════════════════════════════════════════════╝
  30.  
  31. class Game_Party < Game_Unit
  32.  
  33.   def rotate_formation_left
  34.     j = [@actors.size, max_battle_members].min
  35.     loop do
  36.       actor = $game_actors[@actors[0]]
  37.       clean = true
  38.       actor.states.each do |st|
  39.         clean = false if R2_Rotate_Formation_Blocked_States::States.include?(st.id)
  40.       end
  41.       if clean == true
  42.         @actors = @actors[0...j].rotate.concat((@actors[j..-1] || []))
  43.         break
  44.       end
  45.       break if clean == false
  46.     end
  47.     $game_player.refresh
  48.   end
  49.  
  50.   def rotate_formation_right
  51.     j = [@actors.size, max_battle_members].min
  52.     loop do
  53.       actor = $game_actors[@actors[0]]
  54.       clean = true
  55.       actor.states.each do |st|
  56.         clean = false if R2_Rotate_Formation_Blocked_States::States.include?(st.id)
  57.       end
  58.       if clean == true
  59.         @actors = @actors[0...j].rotate(-1).concat((@actors[j..-1] || []))
  60.         break
  61.       end
  62.       break if clean == false
  63.     end
  64.     $game_player.refresh
  65.   end
  66. end
  67.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement