Advertisement
Zetu

ExActExtAce v1.01

Dec 7th, 2011
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.90 KB | None | 0 0
  1. module Z04 #Executable Actions Extention (EXACTExt)
  2.     CMDS = [
  3.         :attack,
  4.         :exact,
  5.         :skill,
  6.         :guard,
  7.         :skillid, 5,
  8.         :item
  9.     ]
  10.     EXACTEXTSKILLS = {
  11.         #ID OF SKILL => ID OF SWITCH TO DEACTIVATE SKILL (Set to 0 to always allow)
  12.         3 => 0,
  13.         4 => 0,
  14.         5 => 1
  15.     }
  16. end
  17.  
  18. class Window_ActorCommand < Window_Command
  19.     attr_reader :skillsincmd
  20.     def make_command_list
  21.         return unless @actor
  22.         index=0
  23.         while index<Z04::CMDS.size
  24.             case Z04::CMDS[index]
  25.             when :attack;  add_attack_command
  26.             when :skill;   add_skill_commands
  27.             when :guard;   add_guard_command
  28.             when :item;    add_item_command
  29.             when :skillid; add_skill_command_by_id(Z04::CMDS[index+1])
  30.             when :exact;   add_noninclusive_skill_commands
  31.             end
  32.             index+=1
  33.         end
  34.     end
  35.    
  36.     def add_noninclusive_skill_commands
  37.         for skill in @actor.skills
  38.             add_skill_exact(skill) unless Z04::CMDS.include?(skill.id)
  39.         end
  40.     end
  41.    
  42.     def add_skill_command_by_id(id)
  43.         add_skill_exact($data_skills[id])
  44.     end
  45.  
  46.     def add_skill_exact(skill)
  47.         return unless Z04::EXACTEXTSKILLS.key?(skill.id)
  48.         return unless $game_switches[Z04::EXACTEXTSKILLS[skill.id]] unless 0==Z04::EXACTEXTSKILLS[skill.id]
  49.         add_command(skill.name, :exactskill, @actor.skill_conditions_met?(skill), skill.id)
  50.         print "Added Command: #{skill.name}\n"
  51.     end
  52.    
  53. end
  54.  
  55. class Scene_Battle < Scene_Base
  56.    
  57.     def skill_exact
  58.         print 1; print "\n"
  59.         @skill = $data_skills[@actor_command_window.current_ext]
  60.         print @actor_command_window.current_ext
  61.         BattleManager.actor.input.set_skill(@skill.id)
  62.         BattleManager.actor.last_skill.object = @skill
  63.         if !@skill.need_selection?
  64.             next_command
  65.         elsif @skill.for_opponent?
  66.             select_enemy_selection
  67.         else
  68.             select_actor_selection
  69.         end
  70.     end
  71.    
  72.     alias z04cacw create_actor_command_window unless $@
  73.     def create_actor_command_window
  74.         z04cacw
  75.         @actor_command_window.set_handler(:exactskill, method(:skill_exact))
  76.     end
  77.    
  78. end
  79.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement