Project1

标题: 战斗指令优化 [打印本页]

作者: taroxd    时间: 2015-1-10 11:35
标题: 战斗指令优化
本帖最后由 taroxd 于 2015-1-10 11:37 编辑

RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2. # ● require Taroxd基础设置
  3. #    战斗指令优化
  4. #--------------------------------------------------------------------------
  5. #    效果:
  6. #      攻击指令无需选择目标时,跳过目标选择。
  7. #      防御指令需要选择目标时,添加目标选择。
  8. #      攻击、防御的指令名变为对应的技能名。(“用语”中的设置将会无效)
  9. #--------------------------------------------------------------------------
  10.  
  11. Taroxd::BattleCommandExt = true
  12.  
  13. class Scene_Battle < Scene_Base
  14.  
  15.   # 普通攻击无需选择目标的情况
  16.   def_chain :command_attack do |old|
  17.     skill = $data_skills[BattleManager.actor.attack_skill_id]
  18.     if !skill.need_selection?
  19.       BattleManager.actor.input.set_attack
  20.       next_command
  21.     elsif skill.for_opponent?
  22.       old.call
  23.     else
  24.       BattleManager.actor.input.set_attack
  25.       select_actor_selection
  26.     end
  27.   end
  28.  
  29.   # 防御需要选择目标的情况
  30.   def_chain :command_guard do |old|
  31.     skill = $data_skills[BattleManager.actor.guard_skill_id]
  32.     if skill.need_selection?
  33.       BattleManager.actor.input.set_guard
  34.       skill.for_opponent? ? select_enemy_selection : select_actor_selection
  35.     else
  36.       old.call
  37.     end
  38.   end
  39. end
  40.  
  41. class Window_ActorCommand < Window_Command
  42.  
  43.   # 更改攻击指令名称
  44.   def add_attack_command
  45.     name = $data_skills[@actor.attack_skill_id].name
  46.     add_command(name, :attack, @actor.attack_usable?)
  47.   end
  48.  
  49.   # 更改防御指令名称
  50.   def add_guard_command
  51.     name = $data_skills[@actor.guard_skill_id].name
  52.     add_command(name, :guard, @actor.guard_usable?)
  53.   end
  54. end





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1