#============================================================================== # [ZTBS] -Zenith Tactical Battle System- タクティカルバトルシステム #  〜CP+:ZTBS CP 併用化〜   by 水夜 #  ver1.02  Zenith Creation (http://zenith.ifdef.jp/) #------------------------------------------------------------------------------ # マップ上での戦略的なバトルを実現。 #  ※「CP制御ターンシステム」・・・スクリプトシェルフ(桜雅在土氏) #                   http://scriptshelf.jpn.org/x/ #  ※「CP制御ターンシステム」より下に導入してください。 #============================================================================== module XRXS_CP_SYSTEM #---------------------------------------------------------------------------- # ● 合計 AGI の取得(再定義) #---------------------------------------------------------------------------- def self.total_agi total = 0 if !$game_system.in_tactics members = $game_party.actors + $game_troop.enemies else members = $game_system.tactics_actors.values + $game_system.tactics_enemies.values end for battler in members total += battler.agi end return total end end class Scene_Map #-------------------------------------------------------------------------- # ● フレーム更新 (CP 監視フェーズ) #-------------------------------------------------------------------------- def update_phase4 # ウィンドウ位置調整 move_window # 戦闘不能復活判定 battler_revival # エフェクト中の場合 if effect? return end # イベント実行中の場合 if $game_system.map_interpreter.running? return end # リザルトウィンドウ表示中の場合 if defined? result_window and result_window return end # CP フルのバトラーを検索 cp_full = search_cp_full # CP フルのバトラーがいる場合 if cp_full != nil n = cp_full # アクターの場合 if $game_system.tactics_actors.keys.include?(n) # 効果音の再生 $game_system.se_play(XRXS65::COMMAND_UP_SE) rescue nil @active_battler = $game_map.events[n] @active_battler.blink = true @attacker = $game_system.tactics_actors[n] start_phase1 return else @active_battler = $game_map.events[n] @active_battler.blink = true @attacker = $game_system.tactics_enemies[n] start_phase2 return end end # CP カウントアップ cp_update end #-------------------------------------------------------------------------- # ● CP フルのバトラーを検索 #-------------------------------------------------------------------------- def search_cp_full pre_battler = nil for i in $game_system.tactics_actors.keys battler = $game_system.tactics_actors[i] if battler.cp_full? and (pre_battler == nil or battler.agi > pre_battler.agi) cp_full = i pre_battler = battler end end for i in $game_system.tactics_enemies.keys battler = $game_system.tactics_enemies[i] if battler.cp_full? and (pre_battler == nil or battler.agi > pre_battler.agi) cp_full = i pre_battler = battler end end return cp_full end #-------------------------------------------------------------------------- # ● CP 初期設定 #-------------------------------------------------------------------------- def cp_preset for battler in $game_system.tactics_actors.values + $game_system.tactics_enemies.values battler.cp_preset end end #-------------------------------------------------------------------------- # ● CP カウントアップ #-------------------------------------------------------------------------- def cp_update for battler in $game_system.tactics_actors.values + $game_system.tactics_enemies.values battler.cp_update end end end