Advertisement
roninator2

Yami Order Battlers without PCTB

Nov 18th, 2024
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 8.58 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Order Battlers Fix                     ║  Version: 1.00     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║   Fix for Yanfly Battle with                  ╠════════════════════╣
  7. # ║   Yami Order Battlers without PCTB            ║    25 Nov 2021     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: Yanfly Battle Engine                                     ║
  11. # ║           Yami Order Battlers                                      ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║   Makes the Order Battlers work without PCTB script                ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║   Set the Switch to use for updating the gauge                     ║
  20. # ║   if you get an error under Order Battlers Line 679 put a # there  ║
  21. # ║     if @actor_command_window.current_symbol == :attack             ║
  22. # ║     #&& !BattleManager.actor.input.attack?                         ║
  23. # ╚════════════════════════════════════════════════════════════════════╝
  24. # ╔════════════════════════════════════════════════════════════════════╗
  25. # ║ Updates:                                                           ║
  26. # ║ 1.00 - 22 Nov 2024 - Script finished                               ║
  27. # ║                                                                    ║
  28. # ╚════════════════════════════════════════════════════════════════════╝
  29. # ╔════════════════════════════════════════════════════════════════════╗
  30. # ║ Credits and Thanks:                                                ║
  31. # ║   Roninator2                                                       ║
  32. # ║                                                                    ║
  33. # ╚════════════════════════════════════════════════════════════════════╝
  34. # ╔════════════════════════════════════════════════════════════════════╗
  35. # ║ Terms of use:                                                      ║
  36. # ║  Follow the original Authors terms of use where applicable         ║
  37. # ║    - When not made by me (Roninator2)                              ║
  38. # ║  Free for all uses in RPG Maker except nudity                      ║
  39. # ║  Anyone using this script in their project before these terms      ║
  40. # ║  were changed are allowed to use this script even if it conflicts  ║
  41. # ║  with these new terms. New terms effective 03 Apr 2024             ║
  42. # ║  No part of this code can be used with AI programs or tools        ║
  43. # ║  Credit must be given                                              ║
  44. # ╚════════════════════════════════════════════════════════════════════╝
  45.  
  46. module R2_Turn_Gauge_Display
  47.   SWITCH = 10
  48. end
  49.  
  50. # ╔════════════════════════════════════════════════════════════════════╗
  51. # ║                      End of editable region                        ║
  52. # ╚════════════════════════════════════════════════════════════════════╝
  53.  
  54. class Game_Interpreter
  55.   #--------------------------------------------------------------------------
  56.   # * Enemy Appear
  57.   #--------------------------------------------------------------------------
  58.   def command_335
  59.     iterate_enemy_index(@params[0]) do |enemy|
  60.       enemy.appear
  61.       $game_switches[R2_Turn_Gauge_Display::SWITCH] = true
  62.       $game_troop.make_unique_names
  63.     end
  64.   end
  65.   #--------------------------------------------------------------------------
  66.   # * Enemy Transform
  67.   #--------------------------------------------------------------------------
  68.   def command_336
  69.     iterate_enemy_index(@params[0]) do |enemy|
  70.       enemy.transform(@params[1])
  71.       $game_switches[R2_Turn_Gauge_Display::SWITCH] = true
  72.       $game_troop.make_unique_names
  73.     end
  74.   end
  75. end
  76. module BattleManager
  77.   #--------------------------------------------------------------------------
  78.   # alias method: turn_start
  79.   #--------------------------------------------------------------------------
  80.   def self.sort_battlers(cache = false)
  81.     battlers = []
  82.     for battler in ($game_party.members + $game_troop.members)
  83.       next if battler.dead? || battler.hidden?
  84.       battlers.push(battler)
  85.     end
  86.     battlers.sort! { |a,b|
  87.       if a.agi != b.agi
  88.         b.agi <=> a.agi
  89.       else
  90.         a.name <=> b.name
  91.       end
  92.     }
  93.     return battlers
  94.   end
  95. end
  96. class Scene_Battle < Scene_Base
  97.   alias r2_order_gauge_create_all_windows create_all_windows
  98.   def create_all_windows
  99.     r2_order_gauge_create_all_windows
  100.     update_spriteset
  101.   end
  102.   #--------------------------------------------------------------------------
  103.   # new method: update spriteset
  104.   #--------------------------------------------------------------------------
  105.   def update_spriteset
  106.     @spriteset_order = []
  107.     h = []
  108.     $game_troop.members.each do |enemy|
  109.       h << enemy if enemy.hidden?
  110.     end
  111.     for battler in $game_party.members + $game_troop.members
  112.       battle_type = :dtb
  113.       battle_type = :pctb if BattleManager.btype?(:pctb)
  114.       battle_type = :catb if BattleManager.btype?(:catb)
  115.       next if h.include?(battler)
  116.       order = Sprite_OrderBattler.new(@spriteset.viewportOrder, battler, battle_type)
  117.       @spriteset_order.push(order)
  118.     end
  119.   end
  120.   #--------------------------------------------------------------------------
  121.   # alias method: update
  122.   #--------------------------------------------------------------------------
  123.   alias update_order_guage update
  124.   def update
  125.     update_order_guage
  126.     update_spriteset if $game_switches[R2_Turn_Gauge_Display::SWITCH] == true
  127.     $game_switches[R2_Turn_Gauge_Display::SWITCH] = false
  128.   end
  129. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement