module KGC
module Commands
module_function
#--------------------------------------------------------------------------
# ○ 指定座標の地形タグ取得
# x : マップの X 座標
# y : マップの Y 座標
# variable_id : 取得した地形タグを代入する変数の ID
#--------------------------------------------------------------------------
def get_terrain_tag(x, y, variable_id = 0)
tag = $game_map.terrain_tag(x, y) # 指定位置のタグを取得
if variable_id > 0
$game_variables[variable_id] = tag # 指定された変数に代入
end
return tag
end
#--------------------------------------------------------------------------
# ○ 指定イベント ID の位置の地形タグ取得
# event_id : イベント ID
# variable_id : 取得した地形タグを代入する変数の ID
#--------------------------------------------------------------------------
def get_event_terrain_tag(event_id, variable_id = 0)
event = $game_map.events.values.find { |e| e.id == event_id }
if event == nil
# 該当するイベントが無ければ 0
tag = 0
else
tag = $game_map.terrain_tag(event.x, event.y)
end
# 指定された変数に代入
if variable_id > 0
$game_variables[variable_id] = tag
end
return tag
end
#--------------------------------------------------------------------------
# ○ プレイヤーの位置の地形タグ取得
# variable_id : 取得した地形タグを代入する変数の ID
#--------------------------------------------------------------------------
def get_player_terrain_tag(variable_id = 0)
tag = $game_map.terrain_tag($game_player.x, $game_player.y)
# 指定された変数に代入
if variable_id > 0
$game_variables[variable_id] = tag
end
return tag
end
end
end
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# ○ マップ通行可能判定
# x : X 座標
# y : Y 座標
# d : 移動方向
# 指定座標の指定した方向が通行可能かを取得する。
#--------------------------------------------------------------------------
alias map_passable_KGC_TilesetExtension? map_passable?
def map_passable?(x, y, d)
return false unless map_passable_KGC_TilesetExtension?(x, y)
return $game_map.passable_dir?(x, y, d)
end
if $TEST && KGC::TilesetExtension::DEBUG_INFO_BUTTON != nil
#--------------------------------------------------------------------------
# ● フレーム更新
#--------------------------------------------------------------------------
alias update_KGC_TilesetExtension update
def update
update_KGC_TilesetExtension
if Input.trigger?(KGC::TilesetExtension::DEBUG_INFO_BUTTON)
show_passage_and_terrain_tag
end
end
#--------------------------------------------------------------------------
# ○ プレイヤー位置の通行フラグ・地形タグを表示
#--------------------------------------------------------------------------
def show_passage_and_terrain_tag
passage = $game_map.passage(x, y)
tag = $game_map.terrain_tag(x, y)
# デバッグ情報作成
s = "通行可能: "
s += "↓" if passage & DirectionFlag::DOWN == 0x00
s += "←" if passage & DirectionFlag::LEFT == 0x00
s += "→" if passage & DirectionFlag::RIGHT == 0x00
s += "↑" if passage & DirectionFlag::UP == 0x00
s += " 地形タグ: #{tag}"
class Scene_Title < Scene_Base
#--------------------------------------------------------------------------
# ● データベースのロード
#--------------------------------------------------------------------------
alias load_database_KGC_TilesetExtension load_database
def load_database
load_database_KGC_TilesetExtension
load_tileset
end
#--------------------------------------------------------------------------
# ○ タイルセット付加情報のロード
#--------------------------------------------------------------------------
def load_tileset
begin
$data_tileset = load_data("Data/#{KGC::TilesetExtension::EX_RVDATA}")
rescue
$data_tileset = RPG::Tileset.new
end
end
end