class Game_Actor < Game_Battler
attr_accessor :save_skill_id
#======================================================
# ☆ 初始化
#======================================================
alias :ori_ini :initialize
def initialize(actor_id)
ori_ini(actor_id)
@save_skill_id = 1
end
#======================================================
# ☆ 更新记录技能
#======================================================
def refresh_save_skill(skill_id = 1)
@save_skill_id = skill_id
end
#======================================================
# ☆ 记录了技能ID?
#======================================================
def saved?
return @save_skill_id != 1
end
#======================================================
# ☆ 大招设定
#======================================================
def save_skill
return $data_skills[@save_skill_id]
end
#======================================================
# ☆ 普攻ID判定
#======================================================
def attack_skill_id
return @save_skill_id.nil? ? 1 : @save_skill_id
end
end
class Scene_Battle < Scene_Base
#======================================================
# ☆ 技能:确定
#======================================================
def on_skill_ok
@skill = @skill_window.item
BattleManager.actor.input.set_skill(@skill.id)
BattleManager.actor.last_skill.object = @skill
BattleManager.actor.refresh_save_skill(@skill.id) # 更新记录技能
@skill_window.hide
next_command
elsif @skill.for_opponent?
select_enemy_selection
else
select_actor_selection
end
end
#======================================================
# ☆ 攻击指令
#======================================================
def command_attack
# 如果记录了技能就是用记录的技能
if BattleManager.actor.saved?
@skill = BattleManager.actor.save_skill
BattleManager.actor.input.set_skill(@skill.id)
BattleManager.actor.last_skill.object = @skill
next_command
elsif @skill.for_opponent?
select_enemy_selection
else
select_actor_selection
end
# 否则普攻
else
BattleManager.actor.input.set_attack
select_enemy_selection
end
end
end