#==============================================================================
# ■ Scene_Battle (分割定义 4)
#------------------------------------------------------------------------------
# 处理战斗画面的类。
#==============================================================================
class Scene_Battle
#======================================================
# 【捕捉系统】
# 生成提示窗口
alias bnzz main
def main
@tip_window = Window_Tip1.new
bnzz
@tip_window.dispose
end
alias tgbmj update
def update
@tip_window.update
tgbmj
end
def make_buzhuo_action_result # 捕捉
# 设置动画ID
@animation1_id = BUZHUO_BABY::ANI[@active_battler.id][0]
@animation2_id = BUZHUO_BABY::ANI[@active_battler.id][1]
# 法术值消耗
if @active_battler.sp - BUZHUO_BABY::COMP >= 0
@active_battler.sp -= BUZHUO_BABY::COMP
end
# 应用动画
index = @active_battler.current_action.target_index
en = $game_troop.smooth_target_enemy(index)
@target_battlers = [en]
# 帮助窗口显示"捕捉"
@help_window.set_text(@active_battler.name + "发动了捕捉", 1)
# 队伍中的宠物
acca = []
for i in $game_party.actors
acca += i.kds_baby
end
# 限制处理
if @active_battler.kds_baby.size >= 8 # 测试用,身上8只宠物【仓库满】
@active_battler.damage = "!c[4]" + @active_battler.name + "!c[6]携带的宠物已满!无法继续捕捉!c[2]" + en.name+"!c[6]!"
@phase4_step = 3
return
elsif @active_battler.sp < BUZHUO_BABY::COMP #【MP不足】
@active_battler.damage = "!c[4]" + @active_battler.name + "!c[6]的!c[1]MP!c[6]不足!无法捕捉!c[2]" + en.name+"!c[6]!"
@phase4_step = 3
return
elsif BUZHUO_BABY::LV[en.id] > @active_battler.level#【等级不够】
@active_battler.damage = "!c[4]" + @active_battler.name + "!c[6]的等级低于!c[2]"+BUZHUO_BABY::LV[en.id].to_s+"!c[6]无法捕捉!c[2]" + en.name+"!c[6]!"
@phase4_step = 3
return
elsif BUZHUO_BABY::UNENID.include?(en.id)#【无效目标】
@active_battler.damage = "!c[4]" + @active_battler.name + "!c[6]无法捕捉该目标!c[2]" + en.name+"!c[6]!"
@phase4_step = 3
return
elsif acca.include?(BUZHUO_BABY::ACID[en.id])#【无效目标】
@active_battler.damage = "!c[2]" + en.name + "!c[6]已经在队伍中的召唤兽!"
@phase4_step = 3
return
end
# 突破限制捕捉处理
if rand(10 + 100 * en.hp / en.maxhp) < BUZHUO_BABY::PC[@active_battler.id]
@active_battler.damage = "!c[6]恭喜!c[4]"+@active_battler.name+"!c[6]成功捕获了!c[2]"+en.name+"!c[6]作为召唤兽!"
#获得宠物
# @active_battler.kds_baby.push(BUZHUO_BABY::ACID[en.id])
# $game_actors[BUZHUO_BABY::ACID[en.id]].zhuren = @active_battler.id
#获得宠物
BUZHUO_BABY::ACID[en.id].each do |i|
unless @active_battler.kds_baby.include?(i)
@active_battler.kds_baby.push(i)
$game_actors[i].zhuren = @active_battler.id
break
end
end
# 在update_phase4_step5中让其死亡,被捕捉标志
en.damage = "捕捉"
else
@active_battler.damage = "!c[2]" + en.name+"!c[6]十分机智的逃脱了!c[4]"+@active_battler.name+"!c[6]的捕捉!"
end
end