#==============================================================================
# キラーズアトラクト By 貪藻矢射妥←
#------------------------------------------------------------------------------
# セブンスドラゴンシリーズにあるアレです。
#
# ※実質はマップでのエンカウント処理のパクリ・・・
#
#==============================================================================
# 変更点
#
# 2019:05:01
# ・キラーズアトラクト本体処理をVX Aceよりに修正
module KILLERS_ATTRACT
# キラーズアトラクト用スキルID
KA_SKILL_ID = 492
end
class Game_Map
#--------------------------------------------------------------------------
# ● エンカウントする敵グループの ID を作成(VX Ace参考)
#--------------------------------------------------------------------------
def make_encounter_troop_id
# エンカウントリスト空判定
if encounter_list == []
return 0
end
return encounter_list[rand(encounter_list.size)]
end
end
class Scene_Skill
#--------------------------------------------------------------------------
# ● フレーム更新 (スキルウィンドウがアクティブの場合)
#--------------------------------------------------------------------------
alias killers_attract_update_skill update_skill
def update_skill
# キラーズアトラクトの場合
if @skill.id == KILLERS_ATTRACT::KA_SKILL_ID
# C ボタンが押された場合
if Input.trigger?(Input::C)
# スキルウィンドウで現在選択されているデータを取得
@skill = @skill_window.skill
# 使用できない場合
if @skill == nil or not @actor.skill_can_use?(@skill.id)
# ブザー SE を演奏
Sound.play_buzzer
return
end
# キラーズアトラクト呼び出し
killers_attract
end
else
# もとの処理を実行
killers_attract_update_skill
end
end
#--------------------------------------------------------------------------
# ● キラーズアトラクト
#--------------------------------------------------------------------------
def killers_attract
bzz_flg = false
# トループを決定
troop_id = $game_map.make_encounter_troop_id
# トループ有効判定
if $data_troops[troop_id] == nil
bzz_flg = true
end
# イベント実行中判定
if $game_system.map_interpreter.running?
bzz_flg = true
end
# エンカウント禁止中判定
if $game_system.encounter_disabled
bzz_flg = true
end
if bzz_flg
# ブザー SE を演奏
Sound.play_buzzer
else
# バトル呼び出しフラグをセット
$game_temp.battle_calling = true
$game_temp.battle_troop_id = troop_id
$game_temp.battle_can_escape = true
$game_temp.battle_can_lose = false
$game_temp.battle_proc = nil
# マップ画面に切り替え
$scene = Scene_Map.new
return
end
end
end
|