/=============================================================================
// 複数のマップを繋げて1つの大きなマップにするプラグイン
// FTKR_ConnectingMapGenerator.js
// プラグインNo : 83
// 作成者 : フトコロ
// 作成日 : 2018/04/22
// 最終更新日 : 2018/04/28
// バージョン : v1.2.0
//=============================================================================
var Imported = Imported || {};
Imported.FTKR_CMG = true;
var FTKR = FTKR || {};
FTKR.CMG = FTKR.CMG || {};
//=============================================================================
/*:
* @plugindesc v1.2.0 将多个地图连接成一张大地图的插件
* @author フトコロ
*
* @param 連結マップの横サイズ
* @desc 横向连接的地图数量。 你可以在游戏中改变它。
* @default 2
* @type number
* @min 0
*
* @param 連結マップの縦サイズ
* @desc 垂直连接的地图数量。 你可以在游戏中改变它。
* @default 2
* @type number
* @min 0
*
* @help
*-----------------------------------------------------------------------------
* 概要
*-----------------------------------------------------------------------------
* 您可以连接多个地图并将其显示为一张大地图。
*
*在合并后的地图中,为每个地图设置的事件也可以单独执行。
*但是,需要注意,因为连接后事件的ID在映射中发生了变化。
*
*
*-----------------------------------------------------------------------------
* 設定方法
*-----------------------------------------------------------------------------
* 1.将此插件添加到“插件管理器(插件管理)”
*请。
*
*
*-----------------------------------------------------------------------------
* 如何连接地图
*-----------------------------------------------------------------------------
* 首先,您可以设置垂直和水平连接多少个地图来生成地图。
*
*有以下两种设定方法。
* - 垂直和水平件的初始值由插件参数设置。
*·执行以下插件命令并为每个位置移动进行设置。
*
*插件命令
* * []不用于实际输入
*
* CMG_级联地图大小[水平地图数量] [垂直地图数量]
* CMG_CONNECTING_MAP_SIZE [cols] [lines]
*
* 水平地图数量(cols)
*:更改要水平连接的地图数量。
你可以通过指定* \ v [n]来引用变量n的值。
*
* 垂直地图数量(线条)
*:更改垂直链接地图的数量。
你可以通过指定* \ v [n]来引用变量n的值。
*
*
* 接下来,执行下面的插件命令并指定要连接的地图ID。
*同时,可以多次输入相同的地图ID。
* ※[]は実際の入力に使用しません
*
*
* CMG_地图连接[地图1] [地图2] [地图3] [地图4] ...
* CMG_CONNECTING_MAP [map1] [map2] [map3] [map4] ...
*
* マップ1(map1)
* *:指定要在拼接后放置在地图左上角的地图的ID。
*合并后的地图设置将接管地图1的设置。
你可以通过指定* \ v [n]来引用变量n的值。
通过从为随机零件ID n设置的多个映射ID指定* \ R [n]
*随机选择并设定其值。
*
* 地图*(地图*)
*:根据要连接的地图数量指定地图ID。
*:4个地图则是2 * 2连接,3*3就需要9个地图。
你可以通过指定* \ v [n]来引用变量n的值。
通过从为随机零件ID n设置的多个映射ID指定* \ R [n]
*随机选择并设定其值。
*
* ※关于随机部分ID,
*
*
* 输入示例)连接2 * 2地图时输入
* CMG_地图连接2 3 4 5
* CMG_CONNECTING_MAP 2 3 4 5
*
*
* 输入示例)使用变量连接2 * 1映射时的输入
* CMG_マップ連結 \v[1] \v[2]
* CMG_CONNECTING_MAP \v[1] \v[2]
* ⇒变量ID 1中的值被视为地图1,变量ID 2中的值被视为地图2
*连接。
*
*
* 在安排地图时,
*将地图1拖到左上角,从那里到地图2,地图3,...向右。
*达到水平地图数量的上限时,下降一级,连接地图
*屏幕的右下角是最后一个地图。
*
* 简单的地图放置图像
*
* ・1*2の場合
* 1
* 2
*
* ・2*2の場合 ・3*2の場合
* 1 2 1 2 3
* 3 4 4 5 6
*
* ・3*3の場合
* 1 2 3
* 4 5 6
* 7 8 9
*
*
* 您也可以通过逐行分割来设置它。
* 4 * 4随着大小的数量变大,在数据库中很难看到
*在这里使用是很好的。
*
* CMG_地图连结分割[分割ID]地图[地图1] [地图2] [地图3] [地图4] ...
* CMG_CONNECTING_MAP SPLIT [splitId] MAP [map1] [map2] [map3] [map4] ...
*
* 分割ID(splitId)
* :指定从0到要连接的地图的行数的值 - 1。
*:所有行都需要设置。
*
* マップ*(map*)
* : 按照要连接的地图的列数指定地图ID。
*:地图2为垂直/水平2 * 2,地图3为垂直/水平3 * 3。
你可以通过指定* \ v [n]来引用变量n的值。
通过从为随机零件ID n设置的多个映射ID指定* \ R [n]
*随机选择并设定其值。
*
*
* 设置分区数据后,生成它。
*
* CMG_マップ連結 生成
* CMG_CONNECTING_MAP MAKE
*
*
* 输入示例)连接2 * 2地图时输入
* CMG_マップ連結 分割 0 マップ 2 3
* CMG_マップ連結 分割 1 マップ 4 5
* CMG_マップ連結 生成
*
* CMG_CONNECTING_MAP SPLIT 0 MAP 2 3
* CMG_CONNECTING_MAP SPLIT 1 MAP 4 5
* CMG_CONNECTING_MAP MAKE
*
*
* 设置拼接地图的大小和地图ID进行连接后
*请执行位置移动事件。
*
*如果您选择一个要链接的地图,请在移动地点时设置地图ID和坐标
*合并后移至该位置。
*
*请注意,如果多次链接了相同的地图ID,则表示首次展示位置
*在地图上移动。
*
*
*-----------------------------------------------------------------------------
* 从连接的地图移动时
*-----------------------------------------------------------------------------
* 移动到一个地方时务必执行以下命令。
*
* CMG_マップ連結解除
* CMG_CLEAR_CONNECTING_MAP
*
*
*-----------------------------------------------------------------------------
* 拼接地图的条件
*-----------------------------------------------------------------------------
* 有必要匹配要连接的地图的宽度和高度。
*
*例如,连接2 * 2地图时,
*
* 1.使地图1和地图2的高度相同。
* 2.使地图1和地图3具有相同的宽度。
* 3.制作地图2和地图4的宽度相同。
* 4.使地图3和地图4的高度相同。
*
*另外,所有地图都必须使用相同的拼贴集。
*
*
*-----------------------------------------------------------------------------
* 连接后的地图设置
*-----------------------------------------------------------------------------
* 合并后的地图设置(* 1)将继承“地图1”所用地图的设置。
*
*(* 1)地图设置接管
*·滚动类型
*·地图平铺
*·强调外观步数
*·BGM自动演奏
*·BGS自动演奏
*战斗背景设置
* - 禁止冲刺设置
*·远景设置
*·备忘录的内容
*
*例如,与以下命令连接时
* CMG_地图连接2 3 4 5
*连接后的地图设置与地图ID 2相同。
*
*
*请注意,以下设置在合并之前和之后发生变化。
*
*·遇到
*·事件ID
*
*
*-----------------------------------------------------------------------------
* 合并后遇到地图
*-----------------------------------------------------------------------------
* 在每个地图中设置拼接后地图的拼接
*它成为遭遇的综合设置。
*
*例如,在拼接前的地图中
*•敌人组ID 1包含在地图1的整个区域
* - 地图2的整个区域中的敌人组ID 2
如果*已设置,则在连接后
*•敌方组ID 1和敌方组ID 2
*将开始计数。
*
*
*同样在按地区设置的情况下
*例如,在拼接前的地图中
*·地图1的区域1中的敌方组ID 1
*·敌方组ID 2到地图2的地区1
*·地图3的区域2中的敌方组ID 3
如果*已设置,则在连接后
*•敌方组织ID 1和敌方组织ID 2
*•链接地图区域2中的敌方组ID 3
*将开始计数。
*
*这也适用于连接前在地图1中为区域2设置的区域
*连接后,敌人组ID 3将出现。
*
*
*-----------------------------------------------------------------------------
* 合并后的地图的事件ID
*-----------------------------------------------------------------------------
* 可以在下面的脚本来获得合并后的地图的事件ID。
*
* $gameMap.cmgEventId(mapId, eventId)
* mapId:创建事件的地图的ID(数据库上的地图)
* eventId:创建事件的地图上的事件ID
*
* 输入示例)
* $gameMap.cmgEventId(2, 3)
*
*
* 但是,在此活动中,您可以使用this._ eventId获取您的ID。
*即使合并后,这一点也不会改变。
*
*
*-----------------------------------------------------------------------------
* 关于随机部件ID
*-----------------------------------------------------------------------------
* 通过在设置拼接图时将其设置为\ R [n],我们将其设置为随机部件ID n
*从多个地图ID中选择一个随机数并设置该值。
*
*要设置随机部件ID,请执行以下插件命令
*可以设置。
*
* CMG_ランダムパーツセット [パーツID] マップ [マップID] [マップID] [マップID] ...
* CMG_SET_RANDOM_PARTS [partsId] MAP [mapId] [mapId] [mapId] ...
*
* パーツID(partsId)
* : 0 以上の任意の値を指定します。
* : 連結マップのマップIDを設定するときに\R[n]で指定する番号に相当します。
*
* マップID(mapId)
* : このセットで選ばれるマップのIDを設定します。
* : 設定可能な数に制限はありません。
* \v[n] と指定することで変数 n の値を参照できます。
*
*
*-----------------------------------------------------------------------------
* 本プラグインのライセンスについて(License)
*-----------------------------------------------------------------------------
* 本プラグインはMITライセンスのもとで公開しています。
* This plugin is released under the MIT License.
*
* Copyright (c) 2018 Futokoro
* [url]http://opensource.org/licenses/mit-license.php[/url]
*
*
* プラグイン公開元
* [url]https://github.com/futokoro/RPGMaker/blob/master/README.md[/url]
*
*
*-----------------------------------------------------------------------------
* 変更来歴
*-----------------------------------------------------------------------------
*
* v1.2.0 - 2018/04/28 : 不具合修正、機能追加
* 1. 場所移動先によって、アクターが表示されずゲームが動かなくなる不具合を修正。
* 2. 連結マップが正しく生成できない場合がある不具合を修正。
* 3. 連結マップの行ごとに分割して設定する機能を追加
* 4. ランダムに複数のマップIDから一つを設定する機能を追加。
*
* v1.1.1 - 2018/04/27 : ヘルプ修正
* 1. ヘルプの誤記修正
* 2. プラグインコマンドに変数を使用できることを追記。
*
* v1.1.0 - 2018/04/22 : 仕様変更
* 1. 連結する縦横のマップの数を設定する機能を追加。4つ以上のマップを連結可能。
* 2. マップ数の設定機能に合わせて、連結するマップIDを設定する
* プラグインコマンドの仕様を変更。
*
* v1.0.1 - 2018/04/22 : ヘルプの誤記修正
*
* v1.0.0 - 2018/04/22 : 初版作成
*
*-----------------------------------------------------------------------------
*/
//=============================================================================
var $dataCmgMaps = [];
function Game_CmgEvent() {
this.initialize.apply(this, arguments);
}
(function() {
var paramParse = function(obj) {
return JSON.parse(JSON.stringify(obj, paramReplace));
}
var paramReplace = function(key, value) {
try {
return JSON.parse(value || null);
} catch (e) {
return value;
}
};
var setArgStr = function(arg) {
return convertEscapeCharacters(arg);
};
var setArgNum = function(arg) {
try {
return Number(eval(setArgStr(arg)));
} catch (e) {
return 0;
}
};
var convertEscapeCharacters = function(text) {
text = text.replace(/\\/g, '\x1b');
text = text.replace(/\x1b\x1b/g, '\\');
text = text.replace(/\x1bV\[(\d+)\]/gi, function() {
return $gameVariables.value(parseInt(arguments[1]));
}.bind(this));
text = text.replace(/\x1bV\[(\d+)\]/gi, function() {
return $gameVariables.value(parseInt(arguments[1]));
}.bind(this));
text = text.replace(/\x1bR\[(\d+)\]/gi, function() {
return parseInt(randomGetArray(FTKR.CMG.rand[parseInt(arguments[1])]));
}.bind(this));
return text;
};
//objのメモ欄から <metacode: x> の値を読み取って返す
var readObjectMeta = function(obj, metacodes) {
if (!obj) return false;
var match = {};
metacodes.some(function(metacode){
var metaReg = new RegExp('<' + metacode + ':[ ]*(.+)>', 'i');
match = metaReg.exec(obj.note);
return match;
});
return match ? match[1] : '';
};
var randomGetArray = function(args) {
if (Array.isArray(args)) {
var arg = args[Math.randomInt(args.length)];
} else {
var arg = args;
}
return arg
};
//=============================================================================
// プラグイン パラメータ
//=============================================================================
var parameters = PluginManager.parameters('FTKR_ConnectingMapGenerator');
FTKR.CMG = {
mapW : paramParse(parameters['連結マップの横サイズ']),
mapH : paramParse(parameters['連結マップの縦サイズ']),
rand : [],
};
//=============================================================================
// DataManager
//=============================================================================
DataManager._mapLoaders = [];
DataManager._errorUrls = [];
DataManager.loadConnectingMapData = function(mapId, index) {
if (mapId > 0) {
var filename = 'Map%1.json'.format(mapId.padZero(3));
this._mapLoaders[index] = ResourceHandler.createLoader('data/' + filename, this.loadConnectingDataFile.bind(this, '$dataCmgMaps', filename, index));
this.loadConnectingDataFile('$dataCmgMaps', filename, index);
} else {
this.makeEmptyMap();
}
};
DataManager.loadConnectingDataFile = function(name, src, index) {
var xhr = new XMLHttpRequest();
var url = 'data/' + src;
xhr.open('GET', url);
xhr.overrideMimeType('application/json');
xhr.onload = function() {
if (xhr.status < 400) {
if (!window[name]) window[name] = [];
window[name][index] = JSON.parse(xhr.responseText);
DataManager.onConnectingLoad(window[name][index]);
}
};
xhr.onerror = this._mapLoaders[index] || function() {
DataManager._errorUrls[index] = DataManager._errorUrl || url;
};
window[name][index] = null;
xhr.send();
};
DataManager.onConnectingLoad = function(object) {
var array;
this.extractMetadata(object);
array = object.events;
if (Array.isArray(array)) {
for (var i = 0; i < array.length; i++) {
var data = array[i];
if (data && data.note !== undefined) {
this.extractMetadata(data);
}
}
}
};
DataManager.checkCmgError = function(index) {
if (DataManager._errorUrls[index]) {
throw new Error('Failed to load: ' + DataManager._errorUrls[index]);
}
};
DataManager.isConnectingMapsLoaded = function(arr) {
if (Array.isArray(arr)) {
return arr.every(function(ar, i){
if (!$gamePlayer._connectingMaps[i]) return true;
var result = this.isConnectingMapLoaded(i);
return result
},this);
}
return false;
};
DataManager.isConnectingMapLoaded = function(index) {
this.checkCmgError(index);
return this.dataMap(index);
};
DataManager.dataMap = function(cmgMapId) {
return $dataCmgMaps[cmgMapId];
};
DataManager.pushMapData = function(data, mapId, index) {
var dataMap = this.dataMap(mapId);
if (!!dataMap) {
var len = dataMap.width;
var newdata = dataMap.data.slice(index * len, (index + 1) * len);
Array.prototype.push.apply(data, newdata);
}
};
DataManager.cmgMapId = function(mapId) {
if (!$gamePlayer._connectingMaps) return -1;
var cmgMapId = -1;
$gamePlayer._connectingMaps.some(function(cMap, i){
if (cMap && cMap === mapId) {
cmgMapId = i;
return true;
}
});
return cmgMapId;
};
DataManager.cmgMapW = function() {
return this._cmgMapW || 0;
};
DataManager.cmgMapH = function() {
return this._cmgMapH || 0;
};
//=============================================================================
// Game_Interpreter
//=============================================================================
var _CMG_Game_Interpreter_pluginCommand = Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand = function(command, args) {
_CMG_Game_Interpreter_pluginCommand.call(this, command, args);
if (!command.match(/CMG_(.+)/i)) return;
command = (RegExp.$1 + '').toUpperCase();
switch (command) {
case '連結マップサイズ':
case 'CONNECTING_MAP_SIZE':
DataManager._cmgMapW = setArgNum(args[0]);
DataManager._cmgMapH = setArgNum(args[1]);
break;
case 'マップ連結':
case 'CONNECTING_MAP':
switch(args[0].toUpperCase()) {
case '分割':
case 'SPLIT':
if (!$gamePlayer._splitMaps) $gamePlayer._splitMaps = [];
var splitId = setArgNum(args[1]);
switch(args[2].toUpperCase()) {
case 'マップ':
case 'MAP':
args = args.slice(3);
$gamePlayer._splitMaps[splitId] = args.map(function(arg){
return setArgNum(arg);
});
break;
}
break;
case '生成':
case 'MAKE':
$gamePlayer._connectingMaps = [];
$gamePlayer._splitMaps.forEach( function(splitMap){
Array.prototype.push.apply($gamePlayer._connectingMaps, splitMap);
});
break;
break;
default:
$gamePlayer._connectingMaps = args.map(function(arg){
return setArgNum(arg);
});
break;
}
break;
case 'ランダムパーツセット':
case 'SET_RANDOM_PARTS':
var partsId = setArgNum(args[0]);
switch(args[1].toUpperCase()) {
case 'マップ':
case 'MAP':
args = args.slice(2);
FTKR.CMG.rand[partsId] = args.map(function(arg){
return setArgNum(arg);
});
break;
default:
FTKR.CMG.rand[partsId] = [];
break;
}
break;
case 'マップ連結解除':
case 'CLEAR_CONNECTING_MAP':
$gamePlayer._connectingMaps = null;
$gamePlayer._splitMaps = [];
$dataCmgMaps = [];
break;
}
};
//=============================================================================
// Game_Player
//=============================================================================
Game_Character.prototype.getCmgMapX = function(cmgMapId, mapX) {
for (var i = 0; i < cmgMapId % DataManager.cmgMapW(); i++) {
mapX += DataManager.dataMap(i).width;
}
return mapX;
};
Game_Character.prototype.getCmgMapY = function(cmgMapId, mapY) {
var m = 0;
if (cmgMapId >= DataManager.cmgMapW()){
for (var i = 0; i < Math.floor(cmgMapId / DataManager.cmgMapH()); i++) {
mapY += DataManager.dataMap(m).height;
m += DataManager.cmgMapW();
}
}
return mapY;
};
//=============================================================================
// Game_Player
//=============================================================================
var _CMG_Game_Player_initMembers = Game_Player.prototype.initMembers;
Game_Player.prototype.initMembers = function() {
_CMG_Game_Player_initMembers.call(this);
DataManager._cmgMapW = FTKR.CMG.mapW;
DataManager._cmgMapH = FTKR.CMG.mapH;
};
var _CMG_Game_Player_performTransfer = Game_Player.prototype.performTransfer;
Game_Player.prototype.performTransfer = function() {
if (this.isTransferring()) {
var maps = this._connectingMaps;
if (maps) {
var cmgMapId = DataManager.cmgMapId(this._newMapId);
this._newX = this.getCmgMapX(cmgMapId, this._newX);
this._newY = this.getCmgMapY(cmgMapId, this._newY);
this._newMapId = this._connectingMaps[0];
}
}
_CMG_Game_Player_performTransfer.call(this);
};
//=============================================================================
// Game_CmgEvent
//=============================================================================
Game_CmgEvent.prototype = Object.create(Game_Event.prototype);
Game_CmgEvent.prototype.constructor = Game_CmgEvent;
Game_CmgEvent.prototype.initialize = function(mapId, eventId, cmgMapId) {
this._cmgMapId = cmgMapId;
Game_Event.prototype.initialize.call(this, mapId, eventId);
var x = this.getCmgMapX(this._cmgMapId, this.event().x);
var y = this.getCmgMapY(this._cmgMapId, this.event().y);
this.locate(x, y);
this.refresh();
};
//=============================================================================
// Game_Map
//=============================================================================
var _CMG_Game_Map_setupEvents = Game_Map.prototype.setupEvents;
Game_Map.prototype.setupEvents = function() {
_CMG_Game_Map_setupEvents.call(this);
if ($gamePlayer._connectingMaps) {
this._events = [];
for (var i = 0; i < $dataMap.events.length; i++) {
if ($dataMap.events[i]) {
var cmgMapId = this.cmgMapId(i);
this._events[i] = new Game_CmgEvent(this._mapId, i, cmgMapId);
}
}
}
};
Game_Map.prototype.cmgMapId = function(index) {
if (!$gamePlayer._connectingMaps) return -1;
var cmgMapId = -1;
var len = 0;
$dataCmgMaps.some(function(dataMap, i){
if (dataMap) {
len += dataMap.events.length;
if (len > index) {
cmgMapId = i;
return true;
}
}
});
return cmgMapId;
};
Game_Map.prototype.cmgEventId = function(mapId, eventId) {
var cmgMapId = 0;
var num = 0;
$gamePlayer._connectingMaps.some( function(cmapId, i){
if (cmapId === mapId) {
cmgMapId = i;
return true;
}
});
$dataCmgMaps.forEach( function(dataMap, i){
if (i < $dataCmgMaps.length - 1) {
if (cmgMapId > i) num += dataMap.events.length;
}
});
return num + eventId;
};
//=============================================================================
// Scene_Map
//=============================================================================
var _CMG_Scene_Map_create = Scene_Map.prototype.create
Scene_Map.prototype.create = function() {
if ($gamePlayer._connectingMaps && $gamePlayer._connectingMaps.length) {
Scene_Base.prototype.create.call(this);
this._transfer = $gamePlayer.isTransferring();
$gamePlayer._connectingMaps.forEach(function(cmapId, i){
if (cmapId > 0) DataManager.loadConnectingMapData(cmapId, i);
});
this._cmgMapCreate = true;
} else {
_CMG_Scene_Map_create.call(this);
}
};
var _CMG_Scene_Map_isReady = Scene_Map.prototype.isReady;
Scene_Map.prototype.isReady = function() {
if ($gamePlayer._connectingMaps) {
if (!DataManager.isConnectingMapsLoaded($gamePlayer._connectingMaps)) {
return false;
} else {
if (this._cmgMapCreate) {
var mapId = $gamePlayer._connectingMaps[0];
DataManager.loadMapData(mapId);
this._cmgMapCreate = false;
}
if (!this._mapLoaded && DataManager.isMapLoaded()) {
if ($gamePlayer._connectingMaps) this.createConnectingMap();
this.onMapLoaded();
this._mapLoaded = true;
}
return this._mapLoaded && Scene_Base.prototype.isReady.call(this);
}
} else {
return _CMG_Scene_Map_isReady.call(this);
}
};
Scene_Map.prototype.createConnectingMap = function() {
this.setupConnectingMapData();
this.setupConnectingMapWidth();
this.setupConnectingMapHeight();
this.setupConnectingMapEvents();
this.setupConnectingMapEncounterList();
};
Scene_Map.prototype.setupConnectingMapData = function() {
var data = [];
var mapH = DataManager.cmgMapH();
var mapW = DataManager.cmgMapW();
var dataMap = null;
for (var i = 0; i < 6; i++) {
for (var m = 0; m < mapH; m++) {
dataMap = DataManager.dataMap(mapW * m);
if (!!dataMap) {
var num = dataMap.height;
for (var h = num * i; h < num * (i + 1); h++) {
for (var v = mapW * m; v < mapW * (m + 1); v++) {
DataManager.pushMapData(data, v, h);
}
}
}
}
}
$dataMap.data = data;
};
Scene_Map.prototype.setupConnectingMapWidth = function() {
var width = 0;
$dataCmgMaps.some( function(dataMap, i){
if (i >= DataManager.cmgMapW()) return true;
if (dataMap) {
width += dataMap.width;
}
});
$dataMap.width = width;
};
Scene_Map.prototype.setupConnectingMapHeight = function() {
var height = 0;
$dataCmgMaps.forEach( function(dataMap, i){
if (!(i % DataManager.cmgMapW())) {
if (dataMap) {
height += dataMap.height;
}
}
});
$dataMap.height = height;
};
Scene_Map.prototype.setupConnectingMapEvents = function() {
var events = [];
$gamePlayer._connectingMaps.forEach(function(map, i){
if (map) {
var cmgEvents = DataManager.dataMap(i).events;
Array.prototype.push.apply(events, cmgEvents);
}
});
$dataMap.events = events;
};
Scene_Map.prototype.setupConnectingMapEncounterList = function() {
var encounterList = [];
$gamePlayer._connectingMaps.forEach(function(map, i){
if (map) {
var list = DataManager.dataMap(i).encounterList;
Array.prototype.push.apply(encounterList, list);
}
});
$dataMap.encounterList = encounterList;
};
}());//EOF