ultimate-angel-zerachiel/www/js/plugins/MOG_FastTravel.js
2024-01-17 11:38:37 -06:00

1748 lines
49 KiB
JavaScript

//=============================================================================
// MOG_FastTravel.js
//=============================================================================
/*:
* @plugindesc (v1.1) Sistema de mapa de teleporte rápido.
* @author Moghunter
*
* @param Remember Last MapID
* @desc Lembrar da último mapa teleportado.
* @default true
*
* @param Play Bgm
* @desc Ativar música.
* @default false
*
* @param Bgm File Name
* @desc Definição do nome da música.
* @default Theme2
*
* @param Fade Bgm
* @desc Ativar fade na música durante a transição.
* @default true
*
* @param Map Move Speed
* @desc Definição da velocidade de movimento do mapa.
* @default 30
*
* @param Center X-axis
* @desc Definição do centro do tela (Para ajustes).
* @default 0
*
* @param Center Y-axis
* @desc Definição do centro do tela (Para ajustes).
* @default 0
*
* @param Fade Speed
* @desc Definição da velocidade da transição.
* @default 30
*
* @param Zoom Animation
* @desc Ativar o efeito de zoom.
* @default true
*
* @param Rotation Animation
* @desc Ativar o efeito de rotação.
* @default true
*
* @param New Map Color
* @desc Definição da cor dos mapas novos.
* @default 6
*
* @param Turn Back After Cancel
* @desc Virar para traz após cancelar a cena.
* @default true
*
* @param List Width
* @desc Definição da largura da janela da lista.
* @default 300
*
* @param List Height
* @desc Definição da altura da janela da lista.
* @default 290
*
* @param List X-axis
* @desc Definição X-axis da janela da lista.
* @default 516
*
* @param List Y-axis
* @desc Definição Y-axis da janela da lista.
* @default 145
*
* @param Slide List
* @desc Ativar o efeito de animação de deslize.
* @default true
*
* @param List Layout X-axis
* @desc Definição X-axis do layout da janela da lista.
* @default 0
*
* @param List Layout Y-axis
* @desc Definição Y-axis do layout da lista.
* @default -53
*
* @param Description X-axis
* @desc Definição X-axis da descrição.
* @default 160
*
* @param Description Y-axis
* @desc Definição Y-axis da descrição.
* @default 300
*
* @param Slide Description
* @desc Ativar o efeito de animação de deslize.
* @default true
*
* @param Com Town X-axis
* @desc Definição X-axis do comando Town.
* @default 470
*
* @param Com Town Y-axis
* @desc Definição Y-axis do comando Town.
* @default 7
*
* @param Com Dungeon X-axis
* @desc Definição X-axis do comando Dungeon.
* @default 575
*
* @param Com Dungeon Y-axis
* @desc Definição Y-axis do comando Dungeon.
* @default 7
*
* @param Com Other X-axis
* @desc Definição X-axis do comando Other.
* @default 710
*
* @param Com Other Y-axis
* @desc Definição Y-axis do comando Other.
* @default 7
*
* @param Com Cursor X-axis
* @desc Definição X-axis do cursor Command.
* @default 0
*
* @param Com Cursor Y-axis
* @desc Definição Y-axis do cursor Command.
* @default 0
*
* @param Com Cursor Animation
* @desc Ativar animação no cursor.
* @default true
*
* @param Next Cursor X-axis
* @desc Definição X-axis do cursor Next.
* @default 0
*
* @param Next Cursor Y-axis
* @desc Definição Y-axis do cursor Next.
* @default 0
*
* @param Next Cursor Animation
* @desc Ativar animação no cursor.
* @default true
*
* @param Show Completion
* @desc Apresentar a porcentagem de mapas descobertos.
* @default true
*
* @param Completion X-axis
* @desc Definição X-axis do Completion.
* @default 590
*
* @param Completion Y-axis
* @desc Definição Y-axis do Completion.
* @default 513
*
* @param Completion Font Size
* @desc Definição do tamanho da fonte.
* @default 22
*
* @help
* =============================================================================
* +++ MOG - Fast Travel (v1.1) +++
* By Moghunter
* https://atelierrgss.wordpress.com/
* =============================================================================
* Sistema de mapa de teleporte rápido.
*
* =============================================================================
* UTILIZAÇÃO
* =============================================================================
* Grave as imagens do sistema na pasta.
*
* /img/fasttravel/
*
* As imagens das descrições dos mapas deverão ser gravadas na pasta
*
* /img/fasttravel/stages/
*
* Os nomes dos arquivos deverão ter o mesmo nome do mapa definido através do
* plugin.
*
* =============================================================================
* PLUGIN COMMAND
* =============================================================================
* Para ativar a cena do Fast Travel use o comando abaixo.
*
* fast_travel
*
* Para ativar ou desativar um mapa utilize um dos códigos abaixo.
*
* enable_town : ID
* disable_town : ID
*
* enable_dungeon : ID
* disbale_dungeon : ID
*
* enable_other : ID
* disable_other : ID
*
* =============================================================================
* HISTÓRICO
* =============================================================================
* (v1.1) - Correção de não ativar o sistema quando o plugin é usado stand-alone.
*
*/
// ☢CAUTION!!☢ Don't Touch.^_^ ----------------------------------------
var Imported = Imported || {};
Imported.MOG_FastTravel = true;
var Moghunter = Moghunter || {};
Moghunter.fastTravel_Towns = [];
Moghunter.fastTravelDungeons = [];
Moghunter.fastTravelOther = [];
// ☢CAUTION!!☢ Don't Touch.^_^ ----------------------------------------
//*****************************************************************************
// ** SETUP *******************************************************************
//*****************************************************************************
// Para configurar um mapa siga o seguinte exemplo.
//
// Moghunter.fastTravel_Towns[A] = {B,C,D,E,F,G,H};
//
// A - ID do ponto
// B - Nome do Mapa
// C - X-axis do ponto do mapa.
// D - Y-axis do ponto do mapa.
// E - ID do mapa para ser telepotado.
// F - X-axis do mapa a ser teleportado.
// G - Y-axis do mapa a ser teleportado.
// H - Direção. (2 - Down / 4 - Left / 6 - Right / 8 - Up)
//
//*****************************************************************************
//=============================================================================
// ** TOWNS
//=============================================================================
Moghunter.fastTravel_Towns[1] = {
name: "港町グランフェリア",
x: 2422,
y: 785,
mapID: 100,
mapX: 17,
mapY: 1,
direction: 2,
};
Moghunter.fastTravel_Towns[2] = {
name: "魔都ヴァール",
x: 955,
y: 920,
mapID: 133,
mapX: 24,
mapY: 26,
direction: 8,
};
Moghunter.fastTravel_Towns[3] = {
name: "地下火山都市",
x: 1820,
y: 980,
mapID: 178,
mapX: 59,
mapY: 3,
direction: 2,
};
Moghunter.fastTravel_Towns[4] = {
name: "地下火山都市2",
x: 1820,
y: 980,
mapID: 178,
mapX: 59,
mapY: 3,
direction: 2,
};
//=============================================================================
// ** DUNGEONS
//=============================================================================
Moghunter.fastTravelDungeons[1] = {
name: "神護の森",
x: 1945,
y: 1090,
mapID: 159,
mapX: 40,
mapY: 1,
direction: 2,
};
Moghunter.fastTravelDungeons[2] = {
name: "幻獣の森",
x: 1642,
y: 750,
mapID: 129,
mapX: 23,
mapY: 25,
direction: 8,
};
Moghunter.fastTravelDungeons[3] = {
name: "熱砂の砂漠",
x: 680,
y: 578,
mapID: 161,
mapX: 49,
mapY: 60,
direction: 8,
};
Moghunter.fastTravelDungeons[4] = {
name: "星詠みの森",
x: 1064,
y: 565,
mapID: 121,
mapX: 20,
mapY: 78,
direction: 8,
};
Moghunter.fastTravelDungeons[5] = {
name: "魔鉱山",
x: 2478,
y: 1115,
mapID: 114,
mapX: 12,
mapY: 22,
direction: 8,
};
Moghunter.fastTravelDungeons[6] = {
name: "聖域へ続く道",
x: 925,
y: 480,
mapID: 140,
mapX: 38,
mapY: 31,
direction: 4,
};
//=============================================================================
// ** OTHER
//=============================================================================
Moghunter.fastTravelOther[1] = {
name: "記憶の断片",
x: 1304,
y: 1280,
mapID: 123,
mapX: 14,
mapY: 23,
direction: 8,
};
Moghunter.fastTravelOther[2] = {
name: "夢幻の大樹",
x: 1048,
y: 400,
mapID: 226,
mapX: 15,
mapY: 25,
direction: 8,
};
Moghunter.fastTravelOther[3] = {
name: "森林の秘境",
x: 1048,
y: 400,
mapID: 74,
mapX: 2,
mapY: 7,
direction: 6,
};
Moghunter.fastTravelOther[4] = {
name: "砂漠の秘境",
x: 1048,
y: 400,
mapID: 87,
mapX: 2,
mapY: 7,
direction: 6,
};
Moghunter.fastTravelOther[5] = {
name: "渓谷の秘境",
x: 1048,
y: 400,
mapID: 139,
mapX: 2,
mapY: 7,
direction: 6,
};
Moghunter.fastTravelOther[6] = {
name: "炎山の秘境",
x: 1048,
y: 400,
mapID: 222,
mapX: 2,
mapY: 7,
direction: 6,
};
Moghunter.fastTravelOther[7] = {
name: "雪原の秘境",
x: 1048,
y: 400,
mapID: 223,
mapX: 2,
mapY: 7,
direction: 6,
};
Moghunter.fastTravelOther[8] = {
name: "夢幻の秘境",
x: 1048,
y: 400,
mapID: 223,
mapX: 2,
mapY: 7,
direction: 6,
};
//=============================================================================
// ** PLUGIN PARAMETERS
//=============================================================================
Moghunter.parameters = PluginManager.parameters("MOG_FastTravel");
Moghunter.fastTravel_lastIndex = String(
Moghunter.parameters["Remember Last MapID"] || "true"
);
Moghunter.fastTravel_playBgm = String(
Moghunter.parameters["Play Bgm"] || "false"
);
Moghunter.fastTravel_BgmFileName = String(
Moghunter.parameters["Bgm File Name"] || "Theme2"
);
Moghunter.fastTravel_fadeBgm = String(
Moghunter.parameters["Fade Bgm"] || "true"
);
Moghunter.fastTravel_MapMoveSpeed = Number(
Moghunter.parameters["Map Move Speed"] || 30
);
Moghunter.fastTravel_fadeSpeed = Number(
Moghunter.parameters["Fade Speed"] || 30
);
Moghunter.fastTravel_zoomAnime = String(
Moghunter.parameters["Zoom Animation"] || "true"
);
Moghunter.fastTravel_rotationAnime = String(
Moghunter.parameters["Rotation Animation"] || "true"
);
Moghunter.fastTravel_CenterX = Number(
Moghunter.parameters["Center X-axis"] || 0
);
Moghunter.fastTravel_CenterY = Number(
Moghunter.parameters["Center Y-axis"] || 0
);
Moghunter.fastTravel_ListWidth = Number(
Moghunter.parameters["List Width"] || 300
);
Moghunter.fastTravel_ListHeight = Number(
Moghunter.parameters["List Height"] || 290
);
Moghunter.fastTravel_ListX = Number(Moghunter.parameters["List X-axis"] || 516);
Moghunter.fastTravel_ListY = Number(Moghunter.parameters["List Y-axis"] || 145);
Moghunter.fastTravel_ListSlide = String(
Moghunter.parameters["Slide List"] || "true"
);
Moghunter.fastTravel_ListLayoutX = Number(
Moghunter.parameters["List Layout X-axis"] || 0
);
Moghunter.fastTravel_ListLayoutY = Number(
Moghunter.parameters["List Layout Y-axis"] || -53
);
Moghunter.fastTravel_prevSlide = String(
Moghunter.parameters["Slide Description"] || "true"
);
Moghunter.fastTravel_Prev_X = Number(
Moghunter.parameters["Description X-axis"] || 160
);
Moghunter.fastTravel_Prev_Y = Number(
Moghunter.parameters["Description Y-axis"] || 300
);
Moghunter.fastTravel_ComA_X = Number(
Moghunter.parameters["Com Town X-axis"] || 470
);
Moghunter.fastTravel_ComA_Y = Number(
Moghunter.parameters["Com Town Y-axis"] || 7
);
Moghunter.fastTravel_ComB_X = Number(
Moghunter.parameters["Com Dungeon X-axis"] || 575
);
Moghunter.fastTravel_ComB_Y = Number(
Moghunter.parameters["Com Dungeon Y-axis"] || 7
);
Moghunter.fastTravel_ComC_X = Number(
Moghunter.parameters["Com Other X-axis"] || 710
);
Moghunter.fastTravel_ComC_Y = Number(
Moghunter.parameters["Com Other Y-axis"] || 7
);
Moghunter.fastTravel_CursorX = Number(
Moghunter.parameters["Com Cursor X-Axis"] || 0
);
Moghunter.fastTravel_CursorY = Number(
Moghunter.parameters["Com Cursor Y-Axis"] || 0
);
Moghunter.fastTravel_CursorFloat = String(
Moghunter.parameters["Com Cursor Animation"] || "true"
);
Moghunter.fastTravel_CursorBX = Number(
Moghunter.parameters["Next Cursor X-Axis"] || 0
);
Moghunter.fastTravel_CursorBY = Number(
Moghunter.parameters["Next Cursor Y-Axis"] || 0
);
Moghunter.fastTravel_CursorBFloat = String(
Moghunter.parameters["Next Cursor Animation"] || "true"
);
Moghunter.fastTravel_Comp_Show = String(
Moghunter.parameters["Show Completion"] || "true"
);
Moghunter.fastTravel_Comp_X = Number(
Moghunter.parameters["Completion X-Axis"] || 590
);
Moghunter.fastTravel_Comp_Y = Number(
Moghunter.parameters["Completion Y-Axis"] || 513
);
Moghunter.fastTravel_Comp_FontSize = Number(
Moghunter.parameters["Completion Font Size"] || 22
);
Moghunter.fastTravelNewColor = Number(
Moghunter.parameters["New Map Color"] || 6
);
Moghunter.fastTravel_directionCancel = String(
Moghunter.parameters["Turn Back After Cancel"] || "true"
);
//=============================================================================
// ** ImageManager
//=============================================================================
//==============================
// * Fast Travel
//==============================
ImageManager.loadfasttravel = function (filename) {
return this.loadBitmap("img/fasttravel/", filename, 0, true);
};
//==============================
// * Stages
//==============================
ImageManager.loadfasttravelstages = function (filename) {
return this.loadBitmap("img/fasttravel/stages/", filename, 0, true);
};
//=============================================================================
// ** Game_Interpreter
//=============================================================================
//==============================
// * PluginCommand
//==============================
var _mog_fastravel_pluginCommand = Game_Interpreter.prototype.pluginCommand;
Game_Interpreter.prototype.pluginCommand = function (command, args) {
_mog_fastravel_pluginCommand.call(this, command, args);
if (command === "fast_travel") {
SceneManager.push(SceneFastTravel);
this.wait(10);
} else if (command === "enable_town") {
if ($gameSystem._fastTravelTowns[Number(args[1])]) {
$gameSystem._fastTravelTowns[Number(args[1])][0] = true;
}
} else if (command === "disable_town") {
if ($gameSystem._fastTravelTowns[Number(args[1])]) {
$gameSystem._fastTravelTowns[Number(args[1])][0] = false;
}
} else if (command === "enable_dungeon") {
if ($gameSystem._fastTravelDungeons[Number(args[1])]) {
$gameSystem._fastTravelDungeons[Number(args[1])][0] = true;
}
} else if (command === "disable_dungeon") {
if ($gameSystem._fastTravelDungeons[Number(args[1])]) {
$gameSystem._fastTravelDungeons[Number(args[1])][0] = false;
}
} else if (command === "enable_other") {
if ($gameSystem._fastTravelOther[Number(args[1])]) {
$gameSystem._fastTravelOther[Number(args[1])][0] = true;
}
} else if (command === "disable_other") {
if ($gameSystem._fastTravelOther[Number(args[1])]) {
$gameSystem._fastTravelOther[Number(args[1])][0] = false;
}
} else if (command === "update_map") {
//koke add
this._pre_fastTravelTowns = [];
this._pre_fastTravelDungeons = [];
this._pre_fastTravelOther = [];
this._fastTravelData = null;
this._fastTravelSelection = [-1, ""];
this._fastTravelSelected = false;
for (var i = 0; i < Moghunter.fastTravel_Towns.length; i++) {
this._pre_fastTravelTowns[i] = [
false,
Moghunter.fastTravel_Towns[i],
false,
];
}
for (var i = 0; i < Moghunter.fastTravelDungeons.length; i++) {
this._pre_fastTravelDungeons[i] = [
false,
Moghunter.fastTravelDungeons[i],
false,
];
}
for (var i = 0; i < Moghunter.fastTravelOther.length; i++) {
this._pre_fastTravelOther[i] = [
false,
Moghunter.fastTravelOther[i],
false,
];
}
for (var i = 1; i < $gameSystem._fastTravelTowns.length; i++) {
for (var j = 1; j < this._pre_fastTravelTowns.length; j++) {
if (
$gameSystem._fastTravelTowns[i][1].name ==
this._pre_fastTravelTowns[i][1].name
) {
this._pre_fastTravelTowns[i][0] = $gameSystem._fastTravelTowns[i][0];
this._pre_fastTravelTowns[i][2] = $gameSystem._fastTravelTowns[i][2];
}
}
}
for (var i = 1; i < $gameSystem._fastTravelDungeons.length; i++) {
for (var j = 1; j < this._pre_fastTravelDungeons.length; j++) {
if (
$gameSystem._fastTravelDungeons[i][1].name ==
this._pre_fastTravelDungeons[i][1].name
) {
this._pre_fastTravelDungeons[i][0] =
$gameSystem._fastTravelDungeons[i][0];
this._pre_fastTravelDungeons[i][2] =
$gameSystem._fastTravelDungeons[i][2];
}
}
}
for (var i = 1; i < $gameSystem._fastTravelOther.length; i++) {
for (var j = 1; j < this._pre_fastTravelOther.length; j++) {
if (
$gameSystem._fastTravelOther[i][1].name ==
this._pre_fastTravelOther[j][1].name
) {
this._pre_fastTravelOther[i][0] = $gameSystem._fastTravelOther[j][0];
this._pre_fastTravelOther[i][2] = $gameSystem._fastTravelOther[j][2];
}
}
}
for (var i = 0; i < $gameSystem._fastTravelTowns.length; i++) {
$gameSystem._fastTravelTowns[i] = null;
}
for (var i = 0; i < $gameSystem._fastTravelDungeons.length; i++) {
$gameSystem._fastTravelDungeons[i] = null;
}
for (var i = 0; i < $gameSystem._fastTravelOther.length; i++) {
$gameSystem._fastTravelOther[i] = null;
}
for (var i = 0; i < this._pre_fastTravelTowns.length; i++) {
$gameSystem._fastTravelTowns[i] = this._pre_fastTravelTowns[i];
}
for (var i = 0; i < this._pre_fastTravelDungeons.length; i++) {
$gameSystem._fastTravelDungeons[i] = this._pre_fastTravelDungeons[i];
}
for (var i = 0; i < this._pre_fastTravelOther.length; i++) {
$gameSystem._fastTravelOther[i] = this._pre_fastTravelOther[i];
}
$gameSystem._fastTravelComp =
this._pre_fastTravelTowns.length +
this._pre_fastTravelDungeons.length +
this._pre_fastTravelOther.length -
3;
}
};
//=============================================================================
// ** Game_System
//=============================================================================
//==============================
// * Initialize
//==============================
var _mog_fastravel_gsys_initialize = Game_System.prototype.initialize;
Game_System.prototype.initialize = function () {
_mog_fastravel_gsys_initialize.call(this);
this._fastTravelTowns = [];
this._fastTravelDungeons = [];
this._fastTravelOther = [];
this._fastTravelData = null;
this._fastTravelSelection = [-1, ""];
this._fastTravelSelected = false;
for (var i = 0; i < Moghunter.fastTravel_Towns.length; i++) {
this._fastTravelTowns[i] = [false, Moghunter.fastTravel_Towns[i], false];
}
for (var i = 0; i < Moghunter.fastTravelDungeons.length; i++) {
this._fastTravelDungeons[i] = [
false,
Moghunter.fastTravelDungeons[i],
false,
];
}
for (var i = 0; i < Moghunter.fastTravelOther.length; i++) {
this._fastTravelOther[i] = [false, Moghunter.fastTravelOther[i], false];
}
this._fastTravelComp =
Moghunter.fastTravel_Towns.length +
Moghunter.fastTravelDungeons.length +
Moghunter.fastTravelOther.length -
3;
};
//=============================================================================
// ** Window Travel List
//=============================================================================
function Window_TravelList() {
this.initialize.apply(this, arguments);
}
Window_TravelList.prototype = Object.create(Window_Selectable.prototype);
Window_TravelList.prototype.constructor = Window_TravelList;
//==============================
// * Initialize
//==============================
Window_TravelList.prototype.initialize = function (x, y, width, height) {
Window_Selectable.prototype.initialize.call(this, x, y, width, height);
this._infoID = 0;
this.activate();
this.select(0);
this.opacity = 0;
this.refresh();
};
//==============================
// * data Is Avaliable
//==============================
Window_TravelList.prototype.dataIsAvailable = function (data) {
if (!data) {
return false;
}
if (!data[0] || (data[0] && data[0] === false)) {
return false;
}
if (!data[1]) {
return false;
}
return true;
};
//==============================
// * data Is Avaliable
//==============================
Window_TravelList.prototype.setID = function (id) {
this._infoID = id;
this.select(0);
this.refresh();
};
//==============================
// * Make Data
//==============================
Window_TravelList.prototype.makeData = function () {
this._data = [];
if (this._infoID === 0) {
var dataInfo = $gameSystem._fastTravelTowns;
} else if (this._infoID === 1) {
var dataInfo = $gameSystem._fastTravelDungeons;
} else {
var dataInfo = $gameSystem._fastTravelOther;
}
for (var i = 0; i < dataInfo.length; i++) {
var data = dataInfo[i + 1];
if (this.dataIsAvailable(data)) {
this._data.push(data);
}
}
};
//==============================
// * MaxCols
//==============================
Window_TravelList.prototype.maxCols = function () {
return 1;
};
//==============================
// * MaxItems
//==============================
Window_TravelList.prototype.maxItems = function () {
return this._data ? this._data.length : 1;
};
//==============================
// * IsCurrentItemEnabled
//==============================
Window_TravelList.prototype.item = function (i) {
return this._data[i + 1];
};
//==============================
// * Refresh
//==============================
Window_TravelList.prototype.refresh = function () {
this.makeData();
this.contents.clear();
this.createContents();
this.contents.fontItalic = true;
this.drawAllItems();
};
//==============================
// * DrawItem
//==============================
Window_TravelList.prototype.drawItem = function (i) {
var rect = this.itemRect(i);
rect.width -= this.textPadding();
this.changeTextColor(this.normalColor());
if (!this._data[i][2]) {
this.changeTextColor(this.textColor(Moghunter.fastTravelNewColor));
}
this.drawText(this._data[i][1].name, rect.x, rect.y, rect.width, "center");
};
//==============================
// * Process OK
//==============================
Window_TravelList.prototype.processOk = function () {
if (this._data.length === 0) {
return;
}
$gameSystem._fastTravelSelected = true;
this.deactivate();
this.visible = false;
if (String(Moghunter.fastTravel_fadeBgm) === "true") {
AudioManager.fadeOutBgm(2);
}
SoundManager.playOk();
this.enableMapColor();
};
//==============================
// * enable Map Color
//==============================
Window_TravelList.prototype.enableMapColor = function () {
var dataMap = [];
if (this._infoID === 0) {
var dataInfo = $gameSystem._fastTravelTowns;
} else if (this._infoID === 1) {
var dataInfo = $gameSystem._fastTravelDungeons;
} else {
var dataInfo = $gameSystem._fastTravelOther;
}
for (var i = 0; i < dataInfo.length; i++) {
var data = dataInfo[i];
if (data && data[1]) {
if (data[1].name === this._data[this._index][1].name) {
if (this._infoID === 0) {
$gameSystem._fastTravelTowns[i][2] = true;
} else if (this._infoID === 1) {
$gameSystem._fastTravelDungeons[i][2] = true;
} else {
$gameSystem._fastTravelOther[i][2] = true;
}
}
}
}
};
//==============================
// * isOKEnable
//==============================
Window_TravelList.prototype.isOkEnabled = function () {
return true;
};
//=============================================================================
// ** Scene Fast Travel
//=============================================================================
function SceneFastTravel() {
this.initialize.apply(this, arguments);
}
SceneFastTravel.prototype = Object.create(Scene_Base.prototype);
SceneFastTravel.prototype.constructor = SceneFastTravel;
//==============================
// * Initialize
//==============================
SceneFastTravel.prototype.initialize = function () {
Scene_Base.prototype.initialize.call(this);
this._Dataindex = 0;
this._DataindexOld = -1;
this._WidowindexOld = 0;
this._np = [-1, -1];
this._name = "";
this._mapPos = [];
this._needCenter = true;
this._mapMoving = false;
this._currentData = null;
this._fadeTime = Math.min(Math.max(Moghunter.fastTravel_fadeSpeed, 1), 255);
this._zoomFade =
String(Moghunter.fastTravel_zoomAnime) === "true" ? true : false;
this._rotationFade =
String(Moghunter.fastTravel_rotationAnime) === "true" ? true : false;
$gameSystem._fastTravelData = null;
$gameSystem._fastTravelSelected = false;
this._phase = 0;
this._mapPos[0] = Graphics.boxWidth / 2 + Moghunter.fastTravel_CenterX;
this._mapPos[1] = Graphics.boxHeight / 2 + Moghunter.fastTravel_CenterY;
this._DataTown = this.makeData(0);
this._DataDungeon = this.makeData(1);
this._DataOther = this.makeData(2);
if (String(Moghunter.fastTravel_playBgm) === "true") {
this.playBgm();
}
};
//==============================
// * Play Bgm
//==============================
SceneFastTravel.prototype.playBgm = function () {
BattleManager.saveBgmAndBgs();
var bgm = {};
bgm.name = String(Moghunter.fastTravel_BgmFileName);
bgm.pitch = 100;
bgm.volume = 100;
AudioManager.playBgm(bgm, 0);
};
//==============================
// * Create
//==============================
SceneFastTravel.prototype.create = function () {
this._field = new Sprite();
this.addChild(this._field);
this.createParallax();
this._Mapfield = new Sprite();
this._field.addChild(this._Mapfield);
this._field.opacity = 0;
this.createMap();
this.createStage();
this.createPoints();
this.createCursorNext();
this.createLayout();
this.createListLayout();
this.createListName();
this.createCursor();
this.createWindowList();
this.createCompleted();
if (String(Moghunter.fastTravel_lastIndex) === "true") {
if ($gameSystem._fastTravelSelection[0] >= 0) {
this.checkLastSelection();
}
}
};
//==============================
// * check Last Selection
//==============================
SceneFastTravel.prototype.checkLastSelection = function () {
if ($gameSystem._fastTravelSelection[0] === 0) {
var dataInfo = this._DataTown;
} else if ($gameSystem._fastTravelSelection[0] === 1) {
var dataInfo = this._DataDungeon;
} else {
var dataInfo = this._DataOther;
}
var index = -1;
for (var i = 0; i < dataInfo.length; i++) {
var data = dataInfo[i][1];
if (data.name === $gameSystem._fastTravelSelection[1].name) {
index = i;
}
}
if (index >= 0) {
this._Dataindex = $gameSystem._fastTravelSelection[0];
this._windowList.setID(this._Dataindex);
if (index >= this._windowList.maxItems()) {
index = 0;
}
this._windowList.select(index);
this.refreshPointData();
}
};
//==============================
// * update Fade In
//==============================
SceneFastTravel.prototype.updateFadeIn = function () {
this._fadeTime--;
if (this._sprite_mcursor) {
this._sprite_mcursor.visible = false;
}
if ($gameSystem._fastTravelSelected) {
if (this._zoomFade && !this._snapShot) {
this.createSnapShot();
}
if (this._fadeTime <= 0) {
this._field.opacity -= 4;
}
if (this._snapShot) {
this._snapShot.scale.x += 0.005;
this._snapShot.scale.y = this._snapShot.scale.x;
if (this._rotationFade) {
this._snapShot.rotation += 0.01;
}
this._snapShot.opacity = this._field.opacity;
}
if (this._field.opacity <= 0) {
$gameSystem._fastTravelSelected = false;
this.selectMap();
}
} else {
this._field.opacity -= 8;
if (this._field.opacity <= 0) {
SceneManager.pop();
}
}
this._parallax.opacity = this._field.opacity;
};
//==============================
// * Create Snap Shot
//==============================
SceneFastTravel.prototype.createSnapShot = function () {
this._stageprev.visible = false;
this._windowList.deactivate();
this._windowList.visible = false;
this._windowList.update();
this._snapShot = new Sprite();
this._snapShot.bitmap = SceneManager.snap();
this._snapShot.anchor.x = 0.5;
this._snapShot.anchor.y = 0.5;
this._snapShot.x = this._snapShot.bitmap.width / 2;
this._snapShot.y = this._snapShot.bitmap.height / 2;
this.addChild(this._snapShot);
this._field.visible = false;
};
//==============================
// * update Fade Out
//==============================
SceneFastTravel.prototype.updateFadeOut = function () {
this._field.opacity += 8;
if (this._field.opacity >= 255) {
this._phase = 1;
this._windowList.activate();
}
this._parallax.opacity = this._field.opacity;
};
//==============================
// * set Center Start
//==============================
SceneFastTravel.prototype.setCenterStart = function () {
this._needCenter = false;
this._Mapfield.x = -this._mapPos[0];
this._Mapfield.y = -this._mapPos[1];
if (!this._currentData) {
this._np = [this._map.bitmap.width / 2, this._map.bitmap.height / 2];
} else {
this._Mapfield.x = -this._np[0] + this._mapPos[0];
this._Mapfield.y = -this._np[1] + this._mapPos[1];
}
};
//==============================
// * Make Data
//==============================
SceneFastTravel.prototype.makeData = function (index) {
var dataMap = [];
if (index === 0) {
var dataInfo = $gameSystem._fastTravelTowns;
} else if (index === 1) {
var dataInfo = $gameSystem._fastTravelDungeons;
} else {
var dataInfo = $gameSystem._fastTravelOther;
}
for (var i = 0; i < dataInfo.length; i++) {
var data = dataInfo[i + 1];
if (this.dataIsAvailable(data)) {
dataMap.push(data);
}
}
return dataMap;
};
//==============================
// * data Is Avaliable
//==============================
SceneFastTravel.prototype.dataIsAvailable = function (data) {
if (!data) {
return false;
}
if (!data[0]) {
return false;
}
if (!data[1]) {
return false;
}
return true;
};
//==============================
// * Create Parallax
//==============================
SceneFastTravel.prototype.createParallax = function () {
this._parallax = new TilingSprite(ImageManager.loadfasttravel("Parallax"));
this._parallax.move(0, 0, Graphics.boxWidth, Graphics.boxHeight);
this._field.addChild(this._parallax);
};
//==============================
// * Create Map
//==============================
SceneFastTravel.prototype.createMap = function () {
this._map = new Sprite(ImageManager.loadfasttravel("Map"));
this._Mapfield.addChild(this._map);
};
//==============================
// * Create Layout
//==============================
SceneFastTravel.prototype.createLayout = function () {
this._layout = new Sprite(ImageManager.loadfasttravel("Layout"));
this._field.addChild(this._layout);
};
//==============================
// * Create Stage
//==============================
SceneFastTravel.prototype.createStage = function () {
this._stageprev = new Sprite();
this._stageprev.bitmap = new Bitmap(32, 32);
this._stageprev.x = Moghunter.fastTravel_Prev_X;
this._stageprev.y = Moghunter.fastTravel_Prev_Y;
this._stageprev.opacity = 255;
this._stageprev.anchor.x = 0.5;
this._stageprev.anchor.y = 0.5;
this._field.addChild(this._stageprev);
};
//==============================
// * refresh Stage
//==============================
SceneFastTravel.prototype.refreshStage = function () {
var name = String(this._currentData.name);
this._stageprev.bitmap = ImageManager.loadfasttravelstages(name);
if (String(Moghunter.fastTravel_prevSlide) === "true") {
this._stageprev.x = Moghunter.fastTravel_Prev_X - 100;
this._stageprev.opacity = 0;
}
};
//==============================
// * update Stage
//==============================
SceneFastTravel.prototype.updateStage = function () {
if (this._mapMoving) {
return;
}
if (this._stageprev.x < Moghunter.fastTravel_Prev_X) {
this._stageprev.x += 5;
this._stageprev.opacity += 15;
if (this._stageprev.x >= Moghunter.fastTravel_Prev_X) {
this._stageprev.x = Moghunter.fastTravel_Prev_X;
this._stageprev.opacity = 255;
}
}
this._stageprev.visible = !this._currentData ? false : true;
};
//==============================
// * Create Completed
//==============================
SceneFastTravel.prototype.createCompleted = function () {
this._comp = new Sprite(new Bitmap(200, 32));
this._comp.x = Moghunter.fastTravel_Comp_X;
this._comp.y = Moghunter.fastTravel_Comp_Y;
this._comp.bitmap.fontSize = Moghunter.fastTravel_Comp_FontSize;
var ct =
this._DataTown.length + this._DataDungeon.length + this._DataOther.length;
// var perc = Math.floor(ct / $gameSystem._fastTravelComp * 100)
// var total = ct + " / " + $gameSystem._fastTravelComp
var perc = Math.floor((ct / $gameSystem._fastTravelComp) * 100);
var total = ct + " / " + $gameSystem._fastTravelComp;
this._comp.bitmap.drawText(
total + " (" + perc + "%" + ")",
0,
0,
200,
32,
"center"
);
this._field.addChild(this._comp);
this._comp.visible =
String(Moghunter.fastTravel_Comp_Show) === "true" ? true : false;
};
//==============================
// * Create List Name
//==============================
SceneFastTravel.prototype.createListName = function () {
this._listName = [];
this._listName[0] = new Sprite(ImageManager.loadfasttravel("ListName_A"));
this._listName[0].x = Moghunter.fastTravel_ComA_X;
this._listName[0].y = Moghunter.fastTravel_ComA_Y;
this._field.addChild(this._listName[0]);
this._listName[1] = new Sprite(ImageManager.loadfasttravel("ListName_B"));
this._listName[1].x = Moghunter.fastTravel_ComB_X;
this._listName[1].y = Moghunter.fastTravel_ComB_Y;
this._field.addChild(this._listName[1]);
this._listName[2] = new Sprite(ImageManager.loadfasttravel("ListName_C"));
this._listName[2].x = Moghunter.fastTravel_ComC_X;
this._listName[2].y = Moghunter.fastTravel_ComC_Y;
this._field.addChild(this._listName[2]);
};
//==============================
// * update List Name
//==============================
SceneFastTravel.prototype.updateListName = function () {
this.slideDown(this._listName[0], 0, Moghunter.fastTravel_ComA_Y);
this.slideDown(this._listName[1], 1, Moghunter.fastTravel_ComB_Y);
this.slideDown(this._listName[2], 2, Moghunter.fastTravel_ComC_Y);
};
//==============================
// * update List Name
//==============================
SceneFastTravel.prototype.slideDown = function (sprite, index, y) {
if (this._Dataindex === index) {
if (sprite.y < y + 20) {
sprite.y += 4;
if (sprite.y > y + 20) {
sprite.y = y + 20;
}
}
} else {
if (sprite.y > y) {
sprite.y -= 4;
if (sprite.y < y) {
sprite.y = y;
}
}
}
};
//==============================
// * Create Cursor
//==============================
SceneFastTravel.prototype.createCursor = function () {
this._cursor = new Sprite(ImageManager.loadfasttravel("Cursor_A"));
this._cursor.anchor.x = 0.5;
this._cursorAni = [0, 0, 0];
this._cursorFloat =
String(Moghunter.fastTravel_CursorFloat) === "true" ? true : false;
this._field.addChild(this._cursor);
};
//==============================
// * Update Cursor
//==============================
SceneFastTravel.prototype.updateCursor = function () {
if (this._cursorFloat) {
this.updateCursorFloat();
}
if (this._Dataindex === 0) {
this._cursor.x =
this._listName[0].x +
this._listName[0].bitmap.width / 2 +
Moghunter.fastTravel_CursorX;
this._cursor.y =
this._listName[0].y +
this._listName[0].bitmap.height +
this._cursorAni[1] +
Moghunter.fastTravel_CursorY;
} else if (this._Dataindex === 1) {
this._cursor.x =
this._listName[1].x +
this._listName[1].bitmap.width / 2 +
Moghunter.fastTravel_CursorX;
this._cursor.y =
this._listName[1].y +
this._listName[1].bitmap.height +
this._cursorAni[1] +
Moghunter.fastTravel_CursorY;
} else {
this._cursor.x =
this._listName[2].x +
this._listName[2].bitmap.width / 2 +
Moghunter.fastTravel_CursorX;
this._cursor.y =
this._listName[2].y +
this._listName[2].bitmap.height +
this._cursorAni[1] +
Moghunter.fastTravel_CursorY;
}
};
//==============================
// * Update Cursor Float
//==============================
SceneFastTravel.prototype.updateCursorFloat = function () {
this._cursorAni[3]++;
if (this._cursorAni[3] < 3) {
return;
}
this._cursorAni[3] = 0;
this._cursorAni[0]++;
if (this._cursorAni[0] < 10) {
this._cursorAni[1]--;
} else if (this._cursorAni[0] < 20) {
this._cursorAni[1]++;
} else {
this._cursorAni[0] = 0;
this._cursorAni[1] = 0;
}
};
//==============================
// * Create Cursor Next
//==============================
SceneFastTravel.prototype.createCursorNext = function () {
this._cursorB = new Sprite(ImageManager.loadfasttravel("Cursor_B"));
this._cursorB.anchor.x = 0.5;
this._cursorB.anchor.y = 1.0;
this._cursorBAni = [0, 0, 0];
this._cursorBFloat =
String(Moghunter.fastTravel_CursorBFloat) === "true" ? true : false;
this._Mapfield.addChild(this._cursorB);
};
//==============================
// * Update CursorB
//==============================
SceneFastTravel.prototype.updateCursorB = function () {
if (this._cursorBFloat) {
this.updateCursorBFloat();
}
this._cursorB.x = this._np[0] + Moghunter.fastTravel_CursorBX;
this._cursorB.y =
this._np[1] + this._cursorBAni[1] + Moghunter.fastTravel_CursorBY - 10;
this._cursorB.visible = !this._currentData ? false : true;
};
//==============================
// * Update Cursor B Float
//==============================
SceneFastTravel.prototype.updateCursorBFloat = function () {
this._cursorBAni[3]++;
if (this._cursorBAni[3] < 3) {
return;
}
this._cursorBAni[3] = 0;
this._cursorBAni[0]++;
if (this._cursorBAni[0] < 10) {
this._cursorBAni[1]++;
} else if (this._cursorBAni[0] < 20) {
this._cursorBAni[1]--;
} else {
this._cursorBAni[0] = 0;
this._cursorBAni[1] = 0;
}
};
//==============================
// * Create Points
//==============================
SceneFastTravel.prototype.createPoints = function () {
this._pointTown = [];
this._pointDungeon = [];
this._pointOther = [];
this._pointImg = ImageManager.loadfasttravel("Points");
this._pointNeedRefresh = true;
for (var i = 0; i < this._DataTown.length; i++) {
this._pointTown[i] = new Sprite(this._pointImg);
this._pointTown[i].x = this._DataTown[i][1].x;
this._pointTown[i].y = this._DataTown[i][1].y;
this._pointTown[i].anchor.x = 0.5;
this._pointTown[i].anchor.y = 0.5;
this._Mapfield.addChild(this._pointTown[i]);
}
for (var i = 0; i < this._DataDungeon.length; i++) {
this._pointDungeon[i] = new Sprite(this._pointImg);
this._pointDungeon[i].x = this._DataDungeon[i][1].x;
this._pointDungeon[i].y = this._DataDungeon[i][1].y;
this._pointDungeon[i].anchor.x = 0.5;
this._pointDungeon[i].anchor.y = 0.5;
this._Mapfield.addChild(this._pointDungeon[i]);
}
for (var i = 0; i < this._DataOther.length; i++) {
this._pointOther[i] = new Sprite(this._pointImg);
this._pointOther[i].x = this._DataOther[i][1].x;
this._pointOther[i].y = this._DataOther[i][1].y;
this._pointOther[i].anchor.x = 0.5;
this._pointOther[i].anchor.y = 0.5;
this._Mapfield.addChild(this._pointOther[i]);
}
};
//==============================
// * refresh Points
//==============================
SceneFastTravel.prototype.refreshPoint = function () {
this._pointNeedRefresh = false;
this.setFramePoint(this._pointTown, 0);
this.setFramePoint(this._pointDungeon, 1);
this.setFramePoint(this._pointOther, 2);
};
//==============================
// * set Frame Point
//==============================
SceneFastTravel.prototype.setFramePoint = function (sprites, index) {
var cw = this._pointImg.width / 3;
var ch = this._pointImg.height;
var rg = cw * index;
for (var i = 0; i < sprites.length; i++) {
sprites[i].setFrame(rg, 0, cw, ch);
}
};
//==============================
// * update Points
//==============================
SceneFastTravel.prototype.updatePoints = function () {
if (this._pointNeedRefresh && this._pointImg.isReady()) {
this.refreshPoint();
}
};
//==============================
// * Create List Layout
//==============================
SceneFastTravel.prototype.createListLayout = function () {
this._listLayout = new Sprite(ImageManager.loadfasttravel("ListLayout"));
this._field.addChild(this._listLayout);
};
//==============================
// * update List Layout
//==============================
SceneFastTravel.prototype.updateListLayout = function () {
this._listLayout.x = this._windowList.x + Moghunter.fastTravel_ListLayoutX;
this._listLayout.y = this._windowList.y + Moghunter.fastTravel_ListLayoutY;
this._listLayout.opacity = this._windowList.contentsOpacity;
this._listLayout.visible = this._windowList.visible;
};
//==============================
// * Create Window List
//==============================
SceneFastTravel.prototype.createWindowList = function () {
var w = Moghunter.fastTravel_ListWidth;
var h = Moghunter.fastTravel_ListHeight;
var x = Moghunter.fastTravel_ListX;
var y = Moghunter.fastTravel_ListY;
this._windowList = new Window_TravelList(x, y, w, h);
this._windowList.deactivate();
if (String(Moghunter.fastTravel_ListSlide) === "true") {
this._windowList.x = Moghunter.fastTravel_ListX + 100;
this._windowList.contentsOpacity = 0;
}
this._field.addChild(this._windowList);
this.updateListLayout();
};
//==============================
// * update Window List
//==============================
SceneFastTravel.prototype.updateWindowList = function () {
if (this._windowList.x > Moghunter.fastTravel_ListX) {
this._windowList.x -= 5;
this._windowList.contentsOpacity += 15;
if (this._windowList.x <= Moghunter.fastTravel_ListX) {
this._windowList.x = Moghunter.fastTravel_ListX;
this._windowList.contentsOpacity = 255;
}
}
};
//==============================
// * Need Refresh Point DAta
//==============================
SceneFastTravel.prototype.needRefreshPointData = function () {
if (this._DataindexOld != this._Dataindex) {
return true;
}
if (this._WidowindexOld != this._windowList._index) {
return true;
}
return false;
};
//==============================
// * refresh Point Data
//==============================
SceneFastTravel.prototype.refreshPointData = function () {
this._currentData = null;
$gameSystem._fastTravelData = null;
this._DataindexOld = this._Dataindex;
this._WidowindexOld = this._windowList._index;
if (this._Dataindex === 0) {
var data = this._DataTown;
} else if (this._Dataindex === 1) {
var data = this._DataDungeon;
} else {
var data = this._DataOther;
}
if (!data || (data && data.length === 0) || !data[this._WidowindexOld]) {
return;
}
this._name = data[this._WidowindexOld][1].name;
this._currentData = data[this._WidowindexOld][1];
$gameSystem._fastTravelData = data[this._WidowindexOld][1];
this._np = [data[this._WidowindexOld][1].x, data[this._WidowindexOld][1].y];
this.refreshStage();
};
//==============================
// * update Command
//==============================
SceneFastTravel.prototype.updateCommand = function () {
if (Input.isRepeated("left") || Input.isRepeated("pagedown")) {
this.nextData(-1);
} else if (Input.isRepeated("right") || Input.isRepeated("pageup")) {
this.nextData(1);
} else if (Input.isTriggered("ok")) {
if (this._currentData) {
this._windowList.visible = false;
this._windowList.deactivate();
$gameSystem._fastTravelSelection = [this._Dataindex, this._currentData];
} else {
SoundManager.playBuzzer();
}
} else if (Input.isTriggered("cancel") || TouchInput.isCancelled()) {
this.executeCancel();
} else if (TouchInput.isTriggered()) {
this.checkTouchOnListCom();
}
};
//==============================
// * check Touch On List Com
//==============================
SceneFastTravel.prototype.checkTouchOnListCom = function () {
if (this.isOnSprite(this._listName[0])) {
this._Dataindex = 0;
this.nextData(0);
} else if (this.isOnSprite(this._listName[1])) {
this._Dataindex = 1;
this.nextData(0);
} else if (this.isOnSprite(this._listName[2])) {
this._Dataindex = 2;
this.nextData(0);
}
};
//==============================
// * is On Sprite
//==============================
SceneFastTravel.prototype.isOnSprite = function (sprite) {
var cw = sprite.bitmap.width;
var ch = sprite.bitmap.height;
if (TouchInput.x < sprite.x) {
return false;
}
if (TouchInput.x > sprite.x + cw) {
return false;
}
if (TouchInput.y < sprite.y) {
return false;
}
if (TouchInput.y > sprite.y + ch) {
return false;
}
return true;
};
//==============================
// * Select Stage
//==============================
SceneFastTravel.prototype.executeCancel = function () {
SoundManager.playCancel();
if (String(Moghunter.fastTravel_playBgm) === "true") {
AudioManager.stopBgm();
BattleManager.replayBgmAndBgs();
}
this._phase = 2;
this._windowList.deactivate();
if (String(Moghunter.fastTravel_directionCancel) === "true") {
this.setPlayerDirectionforCancel();
}
};
//==============================
// * Set Player Direction for
//==============================
SceneFastTravel.prototype.setPlayerDirectionforCancel = function () {
if ($gamePlayer._direction === 2) {
$gamePlayer.setDirection(8);
} else if ($gamePlayer._direction === 4) {
$gamePlayer.setDirection(6);
} else if ($gamePlayer._direction === 6) {
$gamePlayer.setDirection(4);
} else {
$gamePlayer.setDirection(2);
}
};
//==============================
// * Select Map
//==============================
SceneFastTravel.prototype.selectMap = function () {
if (this._currentData) {
$gameSystem._fastTravelSelection = [this._Dataindex, this._currentData];
}
$gameSystem._fastTravelSelected = false;
var dir = this.setDirection(this._currentData.direction);
$gamePlayer.reserveTransfer(
this._currentData.mapID,
this._currentData.mapX,
this._currentData.mapY,
dir,
false
);
SceneManager.goto(Scene_Map);
};
//==============================
// * set Direction
//==============================
SceneFastTravel.prototype.setDirection = function (dir) {
if (dir === 4 || dir === 6 || dir === 8) {
return dir;
}
return 2;
};
//==============================
// * next Data
//==============================
SceneFastTravel.prototype.nextData = function (value) {
this._Dataindex += value;
if (this._Dataindex > 2) {
this._Dataindex = 0;
}
if (this._Dataindex < 0) {
this._Dataindex = 2;
}
SoundManager.playCursor();
this._windowList.setID(this._Dataindex);
if (String(Moghunter.fastTravel_ListSlide) === "true") {
this._windowList.x = Moghunter.fastTravel_ListX + 100;
this._windowList.contentsOpacity = 0;
}
};
//==============================
// * Update Parallax
//==============================
SceneFastTravel.prototype.updateParallax = function () {
this._parallax.origin.x += 1;
this._parallax.origin.y += 1;
};
//==============================
// * Update Parallax
//==============================
SceneFastTravel.prototype.updateMapPosition = function () {
if (this.needRefreshPointData()) {
this.refreshPointData();
}
this._Mapfield.x = this.mapMoveTo(
this._Mapfield.x,
-this._np[0] + this._mapPos[0]
);
this._Mapfield.y = this.mapMoveTo(
this._Mapfield.y,
-this._np[1] + this._mapPos[1]
);
if (
this._Mapfield.x === -this._np[0] + this._mapPos[0] &&
this._Mapfield.y === -this._np[1] + this._mapPos[1]
) {
this._mapMoving = false;
} else {
this._mapMoving = true;
}
};
//==============================
// * Map Move To
//==============================
SceneFastTravel.prototype.mapMoveTo = function (value, real_value) {
if (value == real_value) {
return value;
}
var dnspeed =
3 + Math.abs(value - real_value) / Moghunter.fastTravel_MapMoveSpeed;
if (value > real_value) {
value -= dnspeed;
if (value < real_value) {
value = real_value;
}
} else if (value < real_value) {
value += dnspeed;
if (value > real_value) {
value = real_value;
}
}
return Math.floor(value);
};
//==============================
// * Update
//==============================
SceneFastTravel.prototype.update = function () {
Scene_Base.prototype.update.call(this);
if (this._needCenter) {
if (this._map.bitmap.isReady()) {
this.setCenterStart();
}
return;
}
if (this._phase === 1 && !$gameSystem._fastTravelSelected) {
this.updateCommand();
}
if (this._phase > 0) {
this.updateMapPosition();
this.updateWindowList();
this.updateListLayout();
}
this.updateParallax();
this.updatePoints();
this.updateCursor();
this.updateCursorB();
this.updateStage();
this.updateListName();
if (this._phase === 0) {
this.updateFadeOut();
} else if (
(!this._mapMoving && $gameSystem._fastTravelSelected) ||
this._phase === 2
) {
this.updateFadeIn();
}
};