Advertisement
roninator2

Yami Order Battler Patch - Enemy Appear

Nov 18th, 2024 (edited)
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 10.43 KB | None | 0 0
  1. # ╔═══════════════════════════════════════════════╦════════════════════╗
  2. # ║ Title: Order Battler Patch - Enemy Appear     ║  Version: 1.01     ║
  3. # ║ Author: Roninator2                            ║                    ║
  4. # ╠═══════════════════════════════════════════════╬════════════════════╣
  5. # ║ Function:                                     ║   Date Created     ║
  6. # ║                                               ╠════════════════════╣
  7. # ║   Patch for Yami order battlers enemy appear  ║    13 Sep 2022     ║
  8. # ╚═══════════════════════════════════════════════╩════════════════════╝
  9. # ╔════════════════════════════════════════════════════════════════════╗
  10. # ║ Requires: Yanfly Battle Engine                                     ║
  11. # ║           Yami Order Battlers                                      ║
  12. # ╚════════════════════════════════════════════════════════════════════╝
  13. # ╔════════════════════════════════════════════════════════════════════╗
  14. # ║ Brief Description:                                                 ║
  15. # ║     Order Battlers - Enemy Appear/Transform fix                    ║
  16. # ╚════════════════════════════════════════════════════════════════════╝
  17. # ╔════════════════════════════════════════════════════════════════════╗
  18. # ║ Instructions:                                                      ║
  19. # ║   Detailed Processes                                               ║
  20. # ║   Place below Order Battlers                                       ║
  21. # ║                                                                    ║
  22. # ║   Fixes the issue that the gauge doesn't update when an            ║
  23. # ║   enemy is revealed, transformed, or revived                       ║
  24. # ║                                                                    ║
  25. # ║   if you get an error under Order Battlers Line 679                ║
  26. # ║      put a # as shown here                                         ║
  27. # ║    if @actor_command_window.current_symbol == :attack # &&         ║
  28. # ║       !BattleManager.actor.input.attack?                           ║
  29. # ╚════════════════════════════════════════════════════════════════════╝
  30. # ╔════════════════════════════════════════════════════════════════════╗
  31. # ║ Updates:                                                           ║
  32. # ║ 1.00 - 13 Sep 2022 - Script finished                               ║
  33. # ║ 1.01 - 13 Sep 2022 - added fix for memory leaks                    ║
  34. # ║                                                                    ║
  35. # ╚════════════════════════════════════════════════════════════════════╝
  36. # ╔════════════════════════════════════════════════════════════════════╗
  37. # ║ Credits and Thanks:                                                ║
  38. # ║   Roninator2                                                       ║
  39. # ║                                                                    ║
  40. # ╚════════════════════════════════════════════════════════════════════╝
  41. # ╔════════════════════════════════════════════════════════════════════╗
  42. # ║ Terms of use:                                                      ║
  43. # ║  Follow the original Authors terms of use where applicable         ║
  44. # ║    - When not made by me (Roninator2)                              ║
  45. # ║  Free for all uses in RPG Maker except nudity                      ║
  46. # ║  Anyone using this script in their project before these terms      ║
  47. # ║  were changed are allowed to use this script even if it conflicts  ║
  48. # ║  with these new terms. New terms effective 03 Apr 2024             ║
  49. # ║  No part of this code can be used with AI programs or tools        ║
  50. # ║  Credit must be given                                              ║
  51. # ╚════════════════════════════════════════════════════════════════════╝
  52.  
  53. module R2_Turn_Gauge_Display
  54.   SWITCH = 10 # Do not turn on. Used automatically to reset icons
  55. end
  56.  
  57. # ╔════════════════════════════════════════════════════════════════════╗
  58. # ║                      End of editable region                        ║
  59. # ╚════════════════════════════════════════════════════════════════════╝
  60.  
  61. class Game_Interpreter
  62.   #--------------------------------------------------------------------------
  63.   # * Enemy Appear
  64.   #--------------------------------------------------------------------------
  65.   def command_335
  66.     iterate_enemy_index(@params[0]) do |enemy|
  67.       enemy.appear
  68.       $game_switches[R2_Turn_Gauge_Display::SWITCH] = true
  69.       $game_troop.make_unique_names
  70.     end
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # * Enemy Transform
  74.   #--------------------------------------------------------------------------
  75.   def command_336
  76.     iterate_enemy_index(@params[0]) do |enemy|
  77.       enemy.transform(@params[1])
  78.       $game_switches[R2_Turn_Gauge_Display::SWITCH] = true
  79.       $game_troop.make_unique_names
  80.     end
  81.   end
  82. end
  83. class Scene_Battle < Scene_Base
  84.   #--------------------------------------------------------------------------
  85.   # overwrite method: create all windows
  86.   #--------------------------------------------------------------------------
  87.   def create_all_windows
  88.     order_gauge_create_all_windows
  89.     if @spriteset_order
  90.       for order in @spriteset_order
  91.         order.bitmap.dispose
  92.         order.dispose
  93.       end
  94.       @spriteset_order = nil
  95.     end
  96.     @spriteset_order = []
  97.     if $imported["YSA-PCTB"] && YSA::PCTB::CTB_MECHANIC[:predict] == 1
  98.       @active_order_sprite = Sprite_OrderBattler.new(@spriteset.viewportOrder, nil, :pctb2)
  99.     end
  100.     if $imported["YSA-PCTB"] && YSA::PCTB::CTB_MECHANIC[:predict] == 2
  101.       num = YSA::PCTB::CTB_MECHANIC[:pre_turns]
  102.       i = 0
  103.       num.times {
  104.         order = Sprite_OrderBattler.new(@spriteset.viewportOrder, nil, :pctb3, i)
  105.         @spriteset_order.push(order)
  106.         i += 1
  107.       }
  108.       return
  109.     end
  110.     for battler in $game_party.members + $game_troop.members
  111.       battle_type = :dtb
  112.       battle_type = :pctb if BattleManager.btype?(:pctb)
  113.       battle_type = :catb if BattleManager.btype?(:catb)
  114.       order = Sprite_OrderBattler.new(@spriteset.viewportOrder, battler, battle_type)
  115.       @spriteset_order.push(order)
  116.     end
  117.   end
  118.   #--------------------------------------------------------------------------
  119.   # new method: update spriteset
  120.   #--------------------------------------------------------------------------
  121.   def update_spriteset_order
  122.     if @spriteset_order
  123.       for order in @spriteset_order
  124.         order.bitmap.dispose
  125.         order.dispose
  126.       end
  127.       @spriteset_order = nil
  128.     end
  129.     @spriteset_order = []
  130.     if $imported["YSA-PCTB"] && YSA::PCTB::CTB_MECHANIC[:predict] == 1
  131.       @active_order_sprite = Sprite_OrderBattler.new(@spriteset.viewportOrder, nil, :pctb2)
  132.     end
  133.     if $imported["YSA-PCTB"] && YSA::PCTB::CTB_MECHANIC[:predict] == 2
  134.       num = YSA::PCTB::CTB_MECHANIC[:pre_turns]
  135.       i = 0
  136.       num.times {
  137.         order = Sprite_OrderBattler.new(@spriteset.viewportOrder, nil, :pctb3, i)
  138.         @spriteset_order.push(order)
  139.         i += 1
  140.       }
  141.       return
  142.     end
  143.     for battler in $game_party.members + $game_troop.members
  144.       battle_type = :dtb
  145.       battle_type = :pctb if BattleManager.btype?(:pctb)
  146.       battle_type = :catb if BattleManager.btype?(:catb)
  147.       order = Sprite_OrderBattler.new(@spriteset.viewportOrder, battler, battle_type)
  148.       @spriteset_order.push(order)
  149.     end
  150.   end
  151.   #--------------------------------------------------------------------------
  152.   # alias method: update
  153.   #--------------------------------------------------------------------------
  154.   alias update_order_guage update
  155.   def update
  156.     update_spriteset_order if $game_switches[R2_Turn_Gauge_Display::SWITCH] == true
  157.     $game_switches[R2_Turn_Gauge_Display::SWITCH] = false
  158.     update_order_guage
  159.   end
  160. end
  161. class Game_Battler < Game_BattlerBase
  162.   alias r2_enemy_revive_order_gauge   revive
  163.   def revive
  164.     r2_enemy_revive_order_gauge
  165.     $game_switches[R2_Turn_Gauge_Display::SWITCH] = true
  166.   end
  167. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement