#============================================================================== # ■ マップレイヤーシステムで経路探索 (VX Ace用) #------------------------------------------------------------------------------ # 製作者 : CanariAlternate # サイト名 : カルトの鳥篭 # サイトURL : http://canarialt.blog.fc2.com #------------------------------------------------------------------------------ # ■ 概要 : Libのツクールページ様製作の「マップレイヤーシステム」で # 「経路探索VXAce」を使用可能にする為のパッチ # # ■ 必須 : 「マップレイヤーシステム for Ace」 # 「経路探索VXAce」 # 「マップレイヤーシステムで経路探索」の順に配置 # # ■ 備考 : 「マップレイヤーシステム for Ace Ver1.22」で動作確認 #------------------------------------------------------------------------------ # ■ 更新履歴 : 2013/02/23 Ver1.00 修正パッチを作成 # 2013/08/18 Ver1.01 経路探索VXAceのアップデートに伴う変更を加えた。 #============================================================================== #============================================================================== # ■ Game_CharacterBase #------------------------------------------------------------------------------ #  キャラクターを扱う基本のクラスです。全てのキャラクターに共通する、座標やグ # ラフィックなどの基本的な情報を保持します。 #============================================================================== class Game_CharacterBase #-------------------------------------------------------------------------- # ● z 座標の取得 [◆再定義] #-------------------------------------------------------------------------- def z return active_layer end end #============================================================================== # ■ Route_Search #------------------------------------------------------------------------------ #  経路探索の処理を定義したクラスです。 #============================================================================== class Route_Search #-------------------------------------------------------------------------- # ● z 座標の変換 [◆再定義] #-------------------------------------------------------------------------- def xyz_to_z(x, y, z) return z if $game_map.get_layer_num == 1 id = $game_map.get_chip_id(x, y, z) if id == Game_Map::LAYER_UP return z + 1 elsif id == Game_Map::LAYER_DW return z - 1 end return z end #-------------------------------------------------------------------------- # ● 進入禁止のリージョンIDの座標か判定 [◆再定義] #-------------------------------------------------------------------------- def not_enter_coordinate?(x, y, z) return not_enter_region_id.include?($game_map.region_id(x, y, z)) end #-------------------------------------------------------------------------- # ● 通行可能判定の呼び出し [◆再定義] #-------------------------------------------------------------------------- def base_passable?(name, *d) temp = @character.active_layer @character.active_layer = @z result = @character.send(name, @x, @y, *d) @character.active_layer = temp return result end end