Advertisement
DrDhoom

[RGSS3] Manipulate State

Sep 27th, 2014
351
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 20.26 KB | None | 0 0
  1. #==============================================================================
  2. #
  3. # • Dhoom Manipulate State v1.04
  4. # -- Last Updated: 2014.11.02
  5. # -- Level: Easy, Normal
  6. # -- Requires: YEA - Ace Battle Engine v1.15+, YSA Battle System: Classical ATB
  7. #
  8. # Aditional Credit :
  9. #   - joeyjoejoe (Commission requester)
  10. #   - DoubleX (YSA Battle System: Classical ATB Bug Fix)
  11. #
  12. #==============================================================================
  13.  
  14. $imported = {} if $imported.nil?
  15. $imported["DHManipulate"] = true
  16.  
  17. #==============================================================================
  18. # ¥ Updates
  19. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  20. # 2015.01.18 - Fixed BattleStatus cursor not changing when manipulated enemies added
  21. # 2014.11.23 - Add compatibility with Hime - Skill Type Groups
  22. # 2014.11.20 - Fixed window actor command showing when selecting skills or items
  23. # 2014.11.02 - Fixed minor bug with get_index method
  24. # 2014.10.03 - Change control skill notetag to array
  25. # 2014.09.29 - Add DoubleX YSA Battle System: Classical ATB Bug Fix to
  26. #              process_catb method.
  27. # 2014.09.28 - Finished Script.
  28. # 2014.09.25 - Started Script.
  29. #
  30. #==============================================================================
  31. # ¥ Introduction
  32. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  33. # This script let you manipulate enemies with states. Manipulated enemies can
  34. # use skillset that you set in Enemy Note with notetags.
  35. #==============================================================================
  36. # ▼ Instructions
  37. # =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  38. # To install this script, open up your script editor and copy/paste this script
  39. # to an open slot below ▼ Materials and Required Scripts but above ▼ Main.
  40. # Place below DoubleX RMVXA Bug Fix to YSA Battle System: Classical ATB
  41. # if installed. Remember to save.
  42. #
  43. # -----------------------------------------------------------------------------
  44. # State Notetags - These notetags go in the state notebox in the database.
  45. # -----------------------------------------------------------------------------
  46. # <manipulate>
  47. # Enemies that affected with this state will be manipulated.
  48. #
  49. # -----------------------------------------------------------------------------
  50. # Enemy Notetags - These notetags go in the enemy notebox in the database.
  51. # -----------------------------------------------------------------------------
  52. # <control skill: x,x,..>
  53. # Manipulated Enemy's skillset. Change x with skill id.
  54. #
  55. #==============================================================================
  56.  
  57. module Dhoom
  58.   module REGEXP
  59.     module Enemy
  60.       Control_Skill = /<(?:CONTROL SKILL|control_skill|control skill):[ ]*(.*)>/i
  61.     end
  62.    
  63.     module State
  64.       Manipulate = /<(?:MANIPULATE|manipulate)>/i
  65.     end
  66.   end
  67. end
  68.  
  69. class RPG::Enemy < RPG::BaseItem
  70.  
  71.   attr_reader :skill_types
  72.   attr_reader :control_skill
  73.  
  74.   def load_notetags_dhms
  75.     @skill_types = []
  76.     @control_skill = []
  77.     self.note.split(/[\r\n]+/).each { |line|
  78.       case line
  79.       when Dhoom::REGEXP::Enemy::Control_Skill
  80.         r = $1.split(",")
  81.         r.each do |v|
  82.           @control_skill.push($data_skills[v.to_i])
  83.         end
  84.       end
  85.       }
  86.     @control_skill.each { |skill|
  87.       if !@skill_types.include?(skill.stype_id) and skill.stype_id != 0
  88.         @skill_types.push(skill.stype_id)
  89.       end
  90.     }
  91.     if $imported["TH_SkillTypeGroups"]
  92.       hash = TH::Skill_Type_Groups::Stype_Table.sort_by { |index, types| types.size }
  93.       hash.reverse!
  94.       hash.each do |type|
  95.         included = true
  96.         type[1].each_with_index { |t,i| included = false if !@skill_types.include?(t) and i < 1 }
  97.         if included
  98.           type[1].each { |t| @skill_types.delete(t) }
  99.           @skill_types.push(type[0])
  100.         end
  101.         @skill_types.compact!
  102.       end
  103.     end
  104.   end  
  105. end
  106.  
  107. class RPG::State < RPG::BaseItem
  108.  
  109.   attr_reader :manipulate
  110.  
  111.   def load_notetags_dhms
  112.     @manipulate = false
  113.     self.note.split(/[\r\n]+/).each { |line|
  114.       case line
  115.       when Dhoom::REGEXP::State::Manipulate
  116.         @manipulate = true
  117.       end
  118.     }
  119.   end
  120. end
  121.  
  122. module DataManager
  123.  
  124.   #--------------------------------------------------------------------------
  125.   # alias method: load_database
  126.   #--------------------------------------------------------------------------
  127.   class <<self; alias load_database_dhms load_database; end
  128.   def self.load_database
  129.     load_database_dhms
  130.     load_notetags_dhms
  131.   end
  132.  
  133.   #--------------------------------------------------------------------------
  134.   # new method: load_notetags_catb
  135.   #--------------------------------------------------------------------------
  136.   def self.load_notetags_dhms
  137.     groups = [$data_enemies, $data_states]
  138.     for group in groups
  139.       for obj in group
  140.         next if obj.nil?
  141.         obj.load_notetags_dhms
  142.       end
  143.     end
  144.   end
  145.  
  146. end
  147.  
  148. module BattleManager
  149.   def self.enemy_active(enemy=true)
  150.     @enemy_active = enemy
  151.   end
  152.  
  153.   def self.enemy_active?
  154.     @enemy_active
  155.   end
  156.    
  157.   def self.check_manipulated_enemies
  158.     @action_battlers.each { |battler|
  159.       if battler.enemy?
  160.         @action_enemies.push(battler) if !@action_enemies.include?(battler) && !battler.manipulated?
  161.         @action_enemies.delete(battler) if battler.manipulated?
  162.         @action_actors.push(battler) if !@action_actors.include?(battler) && battler.manipulated?
  163.         @action_actors.delete(battler) if !battler.manipulated?
  164.       end
  165.     }
  166.     for i in 0...@action_actors.size
  167.       @action_actors.delete_at(i) if !@action_battlers.include?(@action_actors[i])
  168.     end
  169.   end
  170.    
  171.   def self.actor
  172.     ($game_party.members+$game_troop.manipulates)[@actor_index] if @actor_index >= 0
  173.   end
  174. end
  175.  
  176. class Game_Action
  177.   alias dhoom_manipulate_gmaction_friends_unit friends_unit
  178.   def friends_unit
  179.     return subject.opponents_unit if subject.enemy? && subject.manipulated?
  180.     dhoom_manipulate_gmaction_friends_unit
  181.   end
  182.  
  183.   alias dhoom_manipulate_gmaction_opponents_unit opponents_unit
  184.   def opponents_unit
  185.     return subject.friends_unit if subject.enemy? && subject.manipulated?
  186.     dhoom_manipulate_gmaction_opponents_unit
  187.   end
  188. end
  189.  
  190. class Game_BattlerBase
  191.   def continuous_autobattle?
  192.     return false unless actor? || (enemy? && manipulated?)    
  193.     return $game_temp.continous_autobattle
  194.   end
  195.  
  196.   def secondary_auto_battle?
  197.     return false unless actor? || (enemy? && manipulated?)
  198.     return false if index == 0
  199.     return YEA::AUTOBATTLE::ENABLE_SECONDARY_AUTOBATTLE
  200.   end
  201.  
  202.   alias dhoom_manipulate_battlerbase_skill_gold_cost skill_gold_cost if $imported["YEA-SkillCostManager"]
  203.   def skill_gold_cost(skill)
  204.     return 0 if !self.actor?
  205.     dhoom_manipulate_battlerbase_skill_gold_cost(skill)
  206.   end
  207. end
  208.  
  209. class Game_Battler < Game_BattlerBase
  210.   if $imported[:ve_materia_system]
  211.   def apply_guard(damage)
  212.     result = apply_guard_ve_materia_system(damage)
  213.     return if !result
  214.     @materia_user.actor? ? materia_damage(@materia_user, result) : result
  215.   end
  216.   end
  217.  
  218.   alias dhoom_manipulate_gmbattler_make_ct_catb_update make_ct_catb_update
  219.   def make_ct_catb_update
  220.     return if self.enemy? && self.manipulated? && !self.current_action.nil? && !self.current_action.confirm
  221.     dhoom_manipulate_gmbattler_make_ct_catb_update
  222.   end
  223.  
  224.   if $imported[:ve_toggle_target]
  225.   alias dhoom_manipulate_gmbattler_set_target_size set_target_size
  226.   def set_target_size(item)
  227.     return opponents_unit.alive_members.size if item.for_friend? && enemy? && manipulated?
  228.     return opponents_unit.dead_members.size    if item.for_dead_friend? && enemy? && manipulated?
  229.     return friends_unit.alive_members.size   if item.for_opponent? && enemy? && manipulated?
  230.     dhoom_manipulate_gmbattler_set_target_size(item)
  231.   end
  232. end
  233. end
  234.  
  235. class Game_Enemy < Game_Battler
  236.   attr_accessor :last_skill
  237.   if $imported["TH_CursorMemory"]
  238.     attr_accessor :last_battle_command_index
  239.     attr_accessor :last_battle_target_actor    # last targeted actor in battle
  240.     attr_accessor :last_battle_target_enemy    # last targeted enemy in battle
  241.   end
  242.  
  243.   alias dhoom_manipulate_gmenemy_initialize initialize
  244.   def initialize(index, enemy_id)
  245.     dhoom_manipulate_gmenemy_initialize(index, enemy_id)
  246.     @last_skill = Game_BaseItem.new
  247.   end
  248.  
  249.   def manipulated?
  250.     @states.each { |id|    
  251.       return true if $data_states[id].manipulate
  252.     }
  253.     return false
  254.   end
  255.    
  256.   def clear_actions
  257.     super
  258.     @action_input_index = 0
  259.   end
  260.  
  261.   def input
  262.     @actions[@action_input_index]
  263.   end
  264.  
  265.   def skills
  266.     $data_enemies[@enemy_id].control_skill
  267.   end
  268.  
  269.   def skill_types
  270.     $data_enemies[@enemy_id].skill_types
  271.   end
  272.  
  273.   def for_all?(item)
  274.     return false
  275.   end
  276.  
  277.   def make_auto_battle_actions
  278.     @actions.size.times do |i|
  279.       @actions[i] = make_action_list.max_by {|action| action.value }
  280.     end
  281.   end
  282.  
  283.   alias dhoom_manipulate_gmenemy_make_actions make_actions
  284.   def make_actions
  285.     if manipulated?
  286.       super  
  287.     else
  288.       dhoom_manipulate_gmenemy_make_actions
  289.     end
  290.   end
  291.  
  292.   def make_action_list
  293.     list = []
  294.     list.push(Game_Action.new(self).set_attack.evaluate)
  295.     usable_skills.each do |skill|
  296.       list.push(Game_Action.new(self).set_skill(skill.id).evaluate)
  297.     end
  298.     list
  299.   end
  300.  
  301.   def usable_skills
  302.     skills.select {|skill| usable?(skill) }
  303.   end
  304. end
  305.  
  306. class Game_Troop < Game_Unit
  307.   attr_reader :manipulates
  308.   attr_accessor :last_battle_command_index if $imported["TH_CursorMemory"]
  309.   alias dhoom_manipulate_gmtroop_initialize initialize
  310.   def initialize
  311.     dhoom_manipulate_gmtroop_initialize
  312.     @manipulates = []
  313.   end
  314.  
  315.   def check_manipulated_battler
  316.     @enemies.each do |enemy|
  317.       @manipulates.delete(enemy) if !enemy.manipulated? && @manipulates.include?(enemy)
  318.       @manipulates.push(enemy) if enemy.manipulated? && !@manipulates.include?(enemy)
  319.     end
  320.   end  
  321. end
  322.  
  323. class Window_BattleStatus < Window_Selectable
  324.   attr_accessor :disable_enemy
  325.   alias dhoom_manipulate_wndbatstat_initialize initialize
  326.   def initialize
  327.     dhoom_manipulate_wndbatstat_initialize
  328.     @manipulated = $game_troop.manipulates.clone
  329.     @disable_enemy = false
  330.   end
  331.  
  332.   def item_rect(index)
  333.     rect = Rect.new
  334.     rect.width = [contents.width / ($game_party.battle_members.size+$game_troop.manipulates.size), contents.width / $game_party.max_battle_members].min
  335.     rect.height = contents.height
  336.     rect.x = index * rect.width
  337.     if YEA::BATTLE::BATTLESTATUS_CENTER_FACES
  338.       rect.x += (contents.width - $game_party.members.size * rect.width) / 2
  339.     end
  340.     rect.y = 0
  341.     return rect
  342.   end
  343.  
  344.   def update
  345.     super    
  346.     if @party != $game_party.battle_members or (!@disable_enemy && @manipulated != $game_troop.manipulates) or (@disable_enemy && @manipulated != [])
  347.       @party = $game_party.battle_members.clone
  348.       @manipulated = @disable_enemy ? [] : $game_troop.manipulates.clone
  349.       refresh
  350.       update_cursor
  351.     end
  352.   end
  353.  
  354.   alias dhoom_manipulate_windbatstat_draw_actor_catb draw_actor_catb
  355.   def draw_actor_catb(actor, dx, dy, width = 124)
  356.     return if actor.nil?
  357.     dhoom_manipulate_windbatstat_draw_actor_catb(actor, dx, dy, width)
  358.   end
  359.  
  360.   def item_max
  361.     if @disable_enemy
  362.       $game_party.battle_members.size
  363.     else
  364.       $game_party.battle_members.size+$game_troop.manipulates.size
  365.     end
  366.   end
  367.  
  368.   def col_max
  369.     return $game_party.max_battle_members+$game_troop.members.size
  370.   end
  371.  
  372.   def battle_members
  373.     return ($game_party.battle_members+$game_troop.manipulates)
  374.   end
  375.  
  376.   def draw_actor_face(actor, x, y, enabled = true)
  377.     if actor.actor?
  378.       draw_face(actor.face_name, actor.face_index, x, y, enabled)
  379.     elsif actor.enemy?
  380.       draw_battler(actor.enemy.battler_name, actor.enemy.battler_hue, x, y, enabled)
  381.     end
  382.   end
  383.  
  384.   def draw_battler(battler_name, battler_hue, x, y, enabled = true)
  385.     bitmap = Cache.battler(battler_name,battler_hue)
  386.     rect = Rect.new(0, 0, 96, 96)
  387.     contents.blt(x, y, bitmap, rect, enabled ? 255 : translucent_alpha)
  388.     bitmap.dispose
  389.   end  
  390. end
  391.  
  392. class Window_ActorCommand < Window_Command
  393.   alias dhoom_manipulate_wndactcom_add_item_command add_item_command
  394.   def add_item_command
  395.     return if @actor.enemy?
  396.     dhoom_manipulate_wndactcom_add_item_command
  397.   end
  398.  
  399.   alias dhoom_manipulate_wndactcom_add_skill_commands add_skill_commands
  400.   def add_skill_commands
  401.     if @actor.enemy?
  402.       @actor.skill_types.sort.each do |stype_id|
  403.         name = $data_system.skill_types[stype_id]
  404.         add_command(name, :skill, true, stype_id)
  405.       end
  406.     else
  407.       dhoom_manipulate_wndactcom_add_skill_commands
  408.     end    
  409.   end
  410. end
  411.  
  412. class Window_BattleHelp < Window_Help
  413.   def update_battler_name
  414.     return unless @actor_window.active || @enemy_window.active
  415.     if @actor_window.active
  416.       battler = ($game_party.battle_members+$game_troop.manipulates)[@actor_window.index]
  417.     elsif @enemy_window.active
  418.       battler = @enemy_window.enemy
  419.     end
  420.     if special_display?
  421.       refresh_special_case(battler)
  422.     else
  423.       refresh_battler_name(battler) if battler_name(battler) != @text
  424.     end
  425.   end
  426. end
  427.  
  428. class Scene_Battle < Scene_Base
  429.  
  430.   def process_catb
  431.     if @status_window.index >= 0 && (!($game_party.members+$game_troop.manipulates)[@status_window.index] || ($game_party.members+$game_troop.manipulates)[@status_window.index].dead? || !BattleManager.action_list(:actor).include?(($game_party.members+$game_troop.manipulates)[@status_window.index]))    
  432.       ($game_party.members+$game_troop.manipulates)[@status_window.index].clear_catb if ($game_party.members+$game_troop.manipulates)[@status_window.index]
  433.       if @skill_window.visible || @item_window.visible
  434.         @status_window.open
  435.         @status_window.show
  436.         @status_aid_window.hide
  437.       end
  438.       @actor_window.hide.deactivate
  439.       @enemy_window.hide.deactivate
  440.       @actor_command_window.deactivate
  441.       @actor_command_window.close
  442.       @skill_window.hide.deactivate
  443.       @item_window.hide.deactivate
  444.       @status_window.unselect
  445.     end
  446.     if BattleManager.action_list(:actor).size <= 0
  447.       @party_command_window.deactivate
  448.       @party_command_window.close
  449.     end
  450.     return unless SceneManager.scene_is?(Scene_Battle)
  451.     return if scene_changing?
  452.     return unless BattleManager.btype?(:catb)
  453.     return if catb_pause?
  454.     battler_hash = $game_party.members + $game_troop.members
  455.     battler_hash.each { |a|
  456.       a.clear_actions if $imported["DoubleX RMVXA Bug Fixes to YSA-CATB"] and a.catb_value == 0
  457.       a.make_catb_update
  458.       a.make_catb_action
  459.       a.make_ct_catb_update
  460.     }    
  461.     #--- Update Tick Turn
  462.     if $game_system.catb_turn_type == :tick
  463.       @tick_clock = 0 if !@tick_clock
  464.       @tick_clock += 1
  465.       if @tick_clock >= $game_system.catb_tick_count
  466.         @tick_clock = 0
  467.         all_battle_members.each { |battler|
  468.           battler.on_turn_end
  469.           battler.perform_collapse_effect if battler.enemy? && battler.can_collapse?
  470.         }
  471.         @status_window.refresh
  472.         $game_troop.increase_turn
  473.       end
  474.     end
  475.     #--- Fix make action
  476.     BattleManager.action_list(:actor).each { |battler|
  477.       battler.make_actions if battler.enemy? && battler.manipulated? && !battler.input
  478.       battler.make_auto_battle_actions if battler.auto_battle?
  479.     }
  480.     if @temp_manipulates != $game_troop.manipulates
  481.       @status_window.refresh
  482.       @temp_manipulates = $game_troop.manipulates.clone
  483.     end
  484.     #---
  485.     @status_window.refresh_catb
  486.     #--- Setup Actor
  487.     @f_actor_index = 0 if !@f_actor_index || @f_actor_index < 0 || @f_actor_index + 1 > BattleManager.action_list(:actor).size
  488.     f_actor = BattleManager.action_list(:actor)[@f_actor_index]    
  489.     if $imported["DoubleX RMVXA Bug Fixes to YSA-CATB"]
  490.       f_actor_count = 0
  491.       while f_actor_count < BattleManager.action_list(:actor).size && f_actor && (f_actor.input && f_actor.input.item && f_actor.input.confirm || f_actor.auto_battle? || f_actor.confusion? || !f_actor.max_catb_value? || f_actor.ct_catb_value > 0)
  492.         f_actor_count += 1
  493.         @f_actor_index + 1 < BattleManager.action_list(:actor).size ? @f_actor_index += 1 : @f_actor_index = 0
  494.         f_actor = BattleManager.action_list(:actor)[@f_actor_index]
  495.       end
  496.     else
  497.       @f_actor_index += 1 if (@f_actor_index + 1) < BattleManager.action_list(:actor).size && f_actor && f_actor.input && f_actor.input.item && f_actor.input.confirm
  498.       f_actor = BattleManager.action_list(:actor)[@f_actor_index]
  499.     end
  500.     @enemy_active = f_actor.enemy? if f_actor
  501.     index = get_index(f_actor)
  502.     if f_actor && f_actor.input && !f_actor.input.confirm && (!BattleManager.actor || @status_window.index != index) && !@party_command_window.active && !@actor_command_window.active && !@skill_window.active && !@item_window.active
  503.       BattleManager.set_actor(index)
  504.       @status_window.select(index)
  505.       @actor_command_window.setup(BattleManager.actor)
  506.       @actor_command_window.show
  507.       @temp_enemy = @enemy_active
  508.     end
  509.     BattleManager.action_list.each { |battler|
  510.       if $imported["DoubleX RMVXA Bug Fixes to YSA-CATB"]
  511.         battler.make_actions if (battler.enemy? || battler.input.confirm) && battler.max_catb_value? && battler.ct_catb_value <= 0
  512.       else
  513.         battler.make_actions if battler.enemy? && !battler.manipulated?
  514.       end
  515.       perform_catb_action(battler) if !@subject
  516.     }
  517.   end
  518.    
  519.   def prior_f_actor
  520.     if @f_actor_index && BattleManager.action_list(:actor).size > 0
  521.       @f_actor_index -= 1
  522.       @f_actor_index = BattleManager.action_list(:actor).size-1 if @f_actor_index < 0
  523.       f_actor = BattleManager.action_list(:actor)[@f_actor_index]
  524.       index = get_index(f_actor)
  525.       if f_actor
  526.         @enemy_active = f_actor.enemy?
  527.         @temp_enemy = @enemy_active
  528.         BattleManager.set_actor(index)
  529.         @status_window.select(index)
  530.         @actor_command_window.setup(BattleManager.actor)
  531.       end
  532.     end
  533.   end  
  534.  
  535.   def next_f_actor
  536.     if @f_actor_index && BattleManager.action_list(:actor).size > 0
  537.       @f_actor_index += 1
  538.       @f_actor_index = 0 if (@f_actor_index + 1) > BattleManager.action_list(:actor).size
  539.       f_actor = BattleManager.action_list(:actor)[@f_actor_index]
  540.       index = get_index(f_actor)
  541.       if f_actor
  542.         @enemy_active = f_actor.enemy?
  543.         @temp_enemy = @enemy_active
  544.         BattleManager.set_actor(index)
  545.         @status_window.select(index)
  546.         @actor_command_window.setup(BattleManager.actor)
  547.       end
  548.     end
  549.   end  
  550.  
  551.   def get_index(actor)
  552.     return unless actor
  553.     index = actor.index if actor.actor?    
  554.     index = $game_troop.manipulates.index(actor) + $game_party.members.size if actor.enemy? and $game_troop.manipulates.include?(actor)
  555.     return index
  556.   end
  557.  
  558.   alias dhoom_manipulate_scbattle_select_actor_selection select_actor_selection
  559.   def select_actor_selection
  560.     @actor_window.disable_enemy = BattleManager.actor.nil? ? false : BattleManager.actor.actor?
  561.     dhoom_manipulate_scbattle_select_actor_selection
  562.   end
  563.  
  564.   alias dhoom_manipulate_scbattle_perform_catb_action perform_catb_action
  565.   def perform_catb_action(subject, forced = false)
  566.     dhoom_manipulate_scbattle_perform_catb_action(subject, forced)
  567.     BattleManager.check_manipulated_enemies
  568.     $game_troop.check_manipulated_battler
  569.   end  
  570.  
  571.   alias dhoom_manipulate_scbattle_catb_on_enemy_ok catb_on_enemy_ok
  572.   def catb_on_enemy_ok
  573.     return if !BattleManager.actor
  574.     dhoom_manipulate_scbattle_catb_on_enemy_ok
  575.   end
  576.  
  577.   alias dhoom_manipulate_scbattle_command_pautobattle command_pautobattle if $imported["YEA-CommandAutobattle"]
  578.   def command_pautobattle
  579.     for member in $game_troop.manipulates
  580.       next unless member.inputable?      
  581.       member.make_auto_battle_actions
  582.     end
  583.     dhoom_manipulate_scbattle_command_pautobattle
  584.   end
  585.  
  586.   def command_aautobattle
  587.     BattleManager.actor.make_auto_battle_actions
  588.     BattleManager.actor.input.confirm = true
  589.     next_command
  590.   end
  591.  
  592.   alias dhoom_manipulate_scbattle_terminate terminate
  593.   def terminate
  594.     dhoom_manipulate_scbattle_terminate
  595.     $game_troop.manipulates.clear
  596.   end
  597. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement