Advertisement
AngryPacman

[VXA] Battle Debug

Apr 21st, 2012
341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 5.43 KB | None | 0 0
  1. #===============================================================================
  2. #
  3. # Battle Debug
  4. # 16/4/2012
  5. # By Pacman
  6. # This script merely adds debug options to battles for testing purposes. Here
  7. # is a list of the things you can do with it:
  8. # Button - Function
  9. # F5 - HP and MP refilled
  10. # F5 + Alt - HP, MP and TP refilled
  11. # F5 + Shift - Recover all members (HP and MP filled, all stats cleared)
  12. # F5 + Shift + Alt - Recover all members (HP, MP and TP filled, all statuses
  13. #   cleared)
  14. # F6 - Damages all members (TP and MP to 0, HP to 1)
  15. # F7 - Fills all members' TP
  16. # F8 - Kill all enemies (insant win)
  17. # F9 - Clears all members' statuses
  18. #
  19. #===============================================================================
  20.  
  21. #==============================================================================
  22. # ** Game_Battler
  23. #------------------------------------------------------------------------------
  24. #  A battler class with methods for sprites and actions added. This class
  25. # is used as a super class of the Game_Actor class and Game_Enemy class.
  26. #==============================================================================
  27.  
  28. class Game_Battler < Game_BattlerBase
  29.   def refresh_hpmp
  30.     @hp = mhp
  31.     @mp = mmp
  32.   end
  33. end
  34.  
  35. #==============================================================================
  36. # ** Scene_Battle
  37. #------------------------------------------------------------------------------
  38. #  This class performs battle screen processing.
  39. #==============================================================================
  40.  
  41. class Scene_Battle < Scene_Base
  42.   #--------------------------------------------------------------------------
  43.   # Alias Listing
  44.   #--------------------------------------------------------------------------
  45.   alias pac_batdeb_update update_basic
  46.   #--------------------------------------------------------------------------
  47.   # * Update Frame (Basic)
  48.   #--------------------------------------------------------------------------
  49.   def update_basic(*args)
  50.     pac_batdeb_update(*args)
  51.     update_debug
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # * Update Frame (Debug)
  55.   #--------------------------------------------------------------------------
  56.   def update_debug
  57.     return unless $TEST || $BTEST
  58.     if Input.trigger?(:F5)
  59.       if Input.press?(:A)
  60.         debug_heal_party
  61.       else
  62.         debug_refresh_party
  63.       end
  64.     end
  65.     debug_damage_party if Input.trigger?(:F6)
  66.     debug_fill_tp if Input.trigger?(:F7)
  67.     debug_kill_all if Input.trigger?(:F8)
  68.     debug_recover_status if Input.trigger?(:F9)
  69.   end
  70.   #--------------------------------------------------------------------------
  71.   # * Heal Party
  72.   #--------------------------------------------------------------------------
  73.   def debug_heal_party
  74.     Sound.play_recovery
  75.     for member in $game_party.battle_members
  76.       member.recover_all
  77.       member.tp = member.max_tp
  78.     end
  79.     refresh_all_windows
  80.   end
  81.   #--------------------------------------------------------------------------
  82.   # * Damage Party
  83.   #--------------------------------------------------------------------------
  84.   def debug_damage_party
  85.     Sound.play_actor_damage
  86.     for member in $game_party.alive_members
  87.       member.hp = 1
  88.       member.mp = 0
  89.       member.tp = 0
  90.     end
  91.     refresh_all_windows
  92.   end
  93.   #--------------------------------------------------------------------------
  94.   # * Fill TP
  95.   #--------------------------------------------------------------------------
  96.   def debug_fill_tp
  97.     Sound.play_recovery
  98.     for member in $game_party.alive_members
  99.       member.tp = member.max_tp
  100.     end
  101.     refresh_all_windows
  102.   end
  103.   #--------------------------------------------------------------------------
  104.   # * Kill Enemies
  105.   #--------------------------------------------------------------------------
  106.   def debug_kill_all
  107.     for enemy in $game_troop.alive_members
  108.       enemy.hp = 0
  109.       enemy.perform_collapse_effect
  110.     end
  111.     BattleManager.judge_win_loss
  112.     @log_window.wait
  113.     @log_window.wait_for_effect
  114.   end
  115.   #--------------------------------------------------------------------------
  116.   # * Recover All
  117.   #--------------------------------------------------------------------------
  118.   def debug_refresh_party
  119.     Sound.play_recovery
  120.     for member in $game_party.battle_members
  121.       member.refresh_hpmp
  122.       if Input.press?(:ALT)
  123.         member.tp = member.max_tp
  124.       end
  125.     end
  126.     refresh_all_windows
  127.   end
  128.   #--------------------------------------------------------------------------
  129.   # * Recover Status
  130.   #--------------------------------------------------------------------------
  131.   def debug_recover_status
  132.     Sound.play_recovery
  133.     for member in $game_party.battle_members
  134.       member.clear_states
  135.     end
  136.     refresh_all_windows
  137.   end
  138.   #--------------------------------------------------------------------------
  139.   # * Refresh Scene Windows
  140.   #--------------------------------------------------------------------------
  141.   def refresh_all_windows
  142.     instance_variables.each do |varname|
  143.       ivar = instance_variable_get(varname)
  144.       ivar.refresh if ivar.is_a?(Window) && ivar.methods.include?(:refresh)
  145.     end
  146.   end
  147. end
  148.  
  149. ($pac ||= {})[:battle_debug] = true
  150.  
  151. #===============================================================================
  152. #
  153. # END OF SCRIPT
  154. #
  155. #===============================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement