code:
//=============================================================================
// MOG_TitleLayers.js
//=============================================================================

/*:
 * @plugindesc (v1.1 *) Adiciona multiplas camadas na tela de título.
 * @author Moghunter
 *
 * @param -> Main <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Screen Movement
 * @desc Ativar animação de movimento da tela.
 * @default false
 * @type boolean
 * @parent -> Main <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Screen Move Speed
 * @desc Velocidade de movimento.
 * @default 1
 * @parent -> Main <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Screen Move Duration
 * @desc Tempo para mudar de direção.
 * @default 160
 * @parent -> Main <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Layer 1 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param L1 Visible
 * @desc Ativar Camada.
 * @default true
 * @type boolean
 * @parent -> Layer 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L1 File Name
 * @desc Definição do nome do arquivo.
 * @default Layer1
 * @parent -> Layer 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L1 X-axis / Scroll
 * @desc Mode 0 - Scroll X    Mode 1 - Position X-Axis.
 * @default 0
 * @parent -> Layer 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L1 Y-axis / Scroll
 * @desc Mode 0 - Scroll Y    Mode 1 - Position Y-Axis.
 * @default 0
 * @parent -> Layer 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L1 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 0
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Layer 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L1 Transition Time
 * @desc Definição de tempo de transição.
 * @default 0
 * @parent -> Layer 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L1 Animated
 * @desc Ativar animação de frames.
 * @default true
 * @type boolean
 * @parent -> Layer 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L1 Frames
 * @desc Numero de frames de animação.
 * @default 4
 * @parent -> Layer 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L1 Animation Speed
 * @desc Velocidade de animação.
 * @default 20
 * @parent -> Layer 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Layer 2 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param L2 Visible
 * @desc Ativar Camada.
 * @default true
 * @type boolean
 * @parent -> Layer 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L2 File Name
 * @desc Definição do nome do arquivo.
 * @default Layer2
 * @parent -> Layer 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L2 X-axis / Scroll
 * @desc Mode 0 - Scroll X    Mode 1 - Position X-Axis.
 * @default 0.5
 * @parent -> Layer 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L2 Y-axis / Scroll
 * @desc Mode 0 - Scroll Y    Mode 1 - Position Y-Axis.
 * @default 0
 * @parent -> Layer 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L2 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 0
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Layer 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L2 Transition Time
 * @desc Definição de tempo de transição.
 * @default 0
 * @parent -> Layer 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L2 Animated
 * @desc Ativar animação de frames.
 * @default false
 * @type boolean
 * @parent -> Layer 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L2 Frames
 * @desc Numero de frames de animação.
 * @default 4
 * @parent -> Layer 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L2 Animation Speed
 * @desc Velocidade de animação.
 * @default 20
 * @parent -> Layer 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Layer 3 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param L3 Visible
 * @desc Ativar Camada.
 * @default false
 * @type boolean
 * @parent -> Layer 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L3 File Name
 * @desc Definição do nome do arquivo.
 * @default Layer3
 * @parent -> Layer 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L3 X-axis / Scroll
 * @desc Mode 0 - Scroll X    Mode 1 - Position X-Axis.
 * @default 0
 * @parent -> Layer 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L3 Y-axis / Scroll
 * @desc Mode 0 - Scroll Y    Mode 1 - Position Y-Axis.
 * @default 0
 * @parent -> Layer 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L3 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 0
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Layer 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L3 Transition Time
 * @desc Definição de tempo de transição.
 * @default 0
 * @parent -> Layer 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L3 Animated
 * @desc Ativar animação de frames.
 * @default false
 * @type boolean
 * @parent -> Layer 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L3 Frames
 * @desc Numero de frames de animação.
 * @default 4
 * @parent -> Layer 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L3 Animation Speed
 * @desc Velocidade de animação.
 * @default 20
 * @parent -> Layer 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Layer 4 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param L4 Visible
 * @desc Ativar Camada.
 * @default false
 * @type boolean
 * @parent -> Layer 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L4 File Name
 * @desc Definição do nome do arquivo.
 * @default Layer4
 * @parent -> Layer 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L4 X-axis / Scroll
 * @desc Mode 0 - Scroll X    Mode 1 - Position X-Axis.
 * @default 0.9
 * @parent -> Layer 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L4 Y-axis / Scroll
 * @desc Mode 0 - Scroll Y    Mode 1 - Position Y-Axis.
 * @default 0
 * @parent -> Layer 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L4 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 0
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Layer 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L4 Transition Time
 * @desc Definição de tempo de transição.
 * @default 0
 * @parent -> Layer 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L4 Animated
 * @desc Ativar animação de frames.
 * @default false
 * @type boolean
 * @parent -> Layer 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L4 Frames
 * @desc Numero de frames de animação.
 * @default 4
 * @parent -> Layer 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L4 Animation Speed
 * @desc Velocidade de animação.
 * @default 20
 * @parent -> Layer 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Layer 5 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param L5 Visible
 * @desc Ativar Camada.
 * @default false
 * @type boolean
 * @parent -> Layer 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L5 File Name
 * @desc Definição do nome do arquivo.
 * @default Layer5
 * @parent -> Layer 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L5 X-axis / Scroll
 * @desc Mode 0 - Scroll X    Mode 1 - Position X-Axis.
 * @default 1.1
 * @parent -> Layer 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L5 Y-axis / Scroll
 * @desc Mode 0 - Scroll Y    Mode 1 - Position Y-Axis.
 * @default 0
 * @parent -> Layer 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L5 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 0
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Layer 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L5 Transition Time
 * @desc Definição de tempo de transição.
 * @default 0
 * @parent -> Layer 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L5 Animated
 * @desc Ativar animação de frames.
 * @default false
 * @type boolean
 * @parent -> Layer 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L5 Frames
 * @desc Numero de frames de animação.
 * @default 4
 * @parent -> Layer 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L5 Animation Speed
 * @desc Velocidade de animação.
 * @default 20
 * @parent -> Layer 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Layer 6 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param L6 Visible
 * @desc Ativar Camada.
 * @default false
 * @type boolean
 * @parent -> Layer 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L6 File Name
 * @desc Definição do nome do arquivo.
 * @default Layer6
 * @parent -> Layer 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L6 X-axis / Scroll
 * @desc Mode 0 - Scroll X    Mode 1 - Position X-Axis.
 * @default 1.3
 * @parent -> Layer 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L6 Y-axis / Scroll
 * @desc Mode 0 - Scroll Y    Mode 1 - Position Y-Axis.
 * @default 0
 * @parent -> Layer 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L6 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 0
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Layer 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L6 Transition Time
 * @desc Definição de tempo de transição.
 * @default 0
 * @parent -> Layer 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L6 Animated
 * @desc Ativar animação de frames.
 * @default false
 * @type boolean
 * @parent -> Layer 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L6 Frames
 * @desc Numero de frames de animação.
 * @default 4
 * @parent -> Layer 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L6 Animation Speed
 * @desc Velocidade de animação.
 * @default 20
 * @parent -> Layer 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Layer 7 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param L7 Visible
 * @desc Ativar Camada.
 * @default false
 * @type boolean
 * @parent -> Layer 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L7 File Name
 * @desc Definição do nome do arquivo.
 * @default Layer7
 * @parent -> Layer 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L7 X-axis / Scroll
 * @desc Mode 0 - Scroll X    Mode 1 - Position X-Axis.
 * @default 1.5
 * @parent -> Layer 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L7 Y-axis / Scroll
 * @desc Mode 0 - Scroll Y    Mode 1 - Position Y-Axis.
 * @default 0
 * @parent -> Layer 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L7 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 0
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Layer 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L7 Transition Time
 * @desc Definição de tempo de transição.
 * @default 0
 * @parent -> Layer 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L7 Animated
 * @desc Ativar animação de frames.
 * @default false
 * @type boolean
 * @parent -> Layer 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L7 Frames
 * @desc Numero de frames de animação.
 * @default 4
 * @parent -> Layer 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L7 Animation Speed
 * @desc Velocidade de animação.
 * @default 20
 * @parent -> Layer 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Layer 8 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param L8 Visible
 * @desc Ativar Camada.
 * @default false
 * @type boolean
 * @parent -> Layer 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L8 File Name
 * @desc Definição do nome do arquivo.
 * @default Layer8
 * @parent -> Layer 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L8 X-axis / Scroll
 * @desc Mode 0 - Scroll X    Mode 1 - Position X-Axis.
 * @default 1.7
 * @parent -> Layer 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L8 Y-axis / Scroll
 * @desc Mode 0 - Scroll Y    Mode 1 - Position Y-Axis.
 * @default 0
 * @parent -> Layer 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L8 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 0
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Layer 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L8 Transition Time
 * @desc Definição de tempo de transição.
 * @default 0
 * @parent -> Layer 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L8 Animated
 * @desc Ativar animação de frames.
 * @default false
 * @type boolean
 * @parent -> Layer 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L8 Frames
 * @desc Numero de frames de animação.
 * @default 4
 * @parent -> Layer 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L8 Animation Speed
 * @desc Velocidade de animação.
 * @default 20
 * @parent -> Layer 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Layer 9 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param L9 Visible
 * @desc Ativar Camada.
 * @default false
 * @type boolean
 * @parent -> Layer 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L9 File Name
 * @desc Definição do nome do arquivo.
 * @default Layer9
 * @parent -> Layer 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L9 X-axis / Scroll
 * @desc Mode 0 - Scroll X    Mode 1 - Position X-Axis.
 * @default 1.9
 * @parent -> Layer 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L9 Y-axis / Scroll
 * @desc Mode 0 - Scroll Y    Mode 1 - Position Y-Axis.
 * @default 0
 * @parent -> Layer 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L9 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 0
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Layer 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L9 Transition Time
 * @desc Definição de tempo de transição.
 * @default 0
 * @parent -> Layer 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L9 Animated
 * @desc Ativar animação de frames.
 * @default false
 * @type boolean
 * @parent -> Layer 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L9 Frames
 * @desc Numero de frames de animação.
 * @default 4
 * @parent -> Layer 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L9 Animation Speed
 * @desc Velocidade de animação.
 * @default 20
 * @parent -> Layer 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Layer 10 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param L10 Visible
 * @desc Ativar Camada.
 * @default false
 * @type boolean
 * @parent -> Layer 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L10 File Name
 * @desc Definição do nome do arquivo.
 * @default Layer10
 * @parent -> Layer 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L10 X-axis / Scroll
 * @desc Mode 0 - Scroll X    Mode 1 - Position X-Axis.
 * @default 2.1
 * @parent -> Layer 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L10 Y-axis / Scroll
 * @desc Mode 0 - Scroll Y    Mode 1 - Position Y-Axis.
 * @default 0
 * @parent -> Layer 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L10 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 0
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Layer 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L10 Transition Time
 * @desc Definição de tempo de transição.
 * @default 0
 * @parent -> Layer 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L10 Animated
 * @desc Ativar animação de frames.
 * @default false
 * @type boolean
 * @parent -> Layer 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L10 Frames
 * @desc Numero de frames de animação.
 * @default 4
 * @parent -> Layer 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param L10 Animation Speed
 * @desc Velocidade de animação.
 * @default 20
 * @parent -> Layer 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @help
 * =============================================================================
 * +++ MOG - Title Layers (v1.1) +++
 * By Moghunter
 * https://atelierrgss.wordpress.com/
 * =============================================================================
 * Adiciona multiplas camadas na tela de título.
 *
 * =============================================================================
 * UTILIZAÇÃO
 * =============================================================================
 * Graves as images na pasta /img/titles1/
 *
 * =============================================================================
 * ANIMATED (Frames)
 * =============================================================================
 * Para ativar a função animção por frames ative o plugin parameter
 *
 * LX Animated
 *
 * As imagens dos frames devem seguir a seguinte norma.
 *
 * FILE_NAME + _ID.png
 *
 * Exemplo
 *
 * Layer0.png
 * Layer1.png
 * Layer2.png
 * Layer3.png
 * ...
 *
 * ============================================================================
 * - WHAT'S  NEW (version 1.1)
 * ============================================================================
 * - (NEW) - Plugins parameters compatíveis com RM1.5+
 */

//=============================================================================
// ** PLUGIN PARAMETERS
//=============================================================================
var Imported = Imported || {};
Imported.MOG_TitleLayers = true;
var Moghunter = Moghunter || {};

Moghunter.parameters = PluginManager.parameters("MOG_TitleLayers");
Moghunter.titleBackM = 10;
Moghunter.titleBackV = [];
Moghunter.titleBackN = [];
Moghunter.titleBackX = [];
Moghunter.titleBackY = [];
Moghunter.titleBackZ = [];
Moghunter.titleBackT = [];
Moghunter.titleBackAN = [];
Moghunter.titleBackAF = [];
Moghunter.titleBackAS = [];
Moghunter.titleBackMode = [];
Moghunter.titleBackB = [];
Moghunter.titleBackW = String(
  Moghunter.parameters["Screen Movement"] || "false"
);
Moghunter.titleBackWS = Number(Moghunter.parameters["Screen Move Speed"] || 1);
Moghunter.titleBackWD = Number(
  Moghunter.parameters["Screen Move Duration"] || 160
);
for (var i = 0; i < Moghunter.titleBackM; i++) {
  Moghunter.titleBackV[i] = String(
    Moghunter.parameters["L" + String(i + 1) + " Visible"] || "false"
  );
  Moghunter.titleBackN[i] = String(
    Moghunter.parameters["L" + String(i + 1) + " File Name"] || "Layer"
  );
  Moghunter.titleBackMode[i] = Number(
    Moghunter.parameters["L" + String(i + 1) + " Mode"] || 0
  );
  Moghunter.titleBackZ[i] = Number(
    Moghunter.parameters["L" + String(i + 1) + " Z Index"] || 0
  );
  Moghunter.titleBackX[i] = Number(
    Moghunter.parameters["L" + String(i + 1) + " X-axis / Scroll"] || 1
  );
  Moghunter.titleBackY[i] = Number(
    Moghunter.parameters["L" + String(i + 1) + " Y-axis / Scroll"] || 1
  );
  Moghunter.titleBackT[i] = Number(
    Moghunter.parameters["L" + String(i + 1) + " Transition Time"] || 0
  );
  Moghunter.titleBackAN[i] = String(
    Moghunter.parameters["L" + String(i + 1) + " Animated"] || "false"
  );
  Moghunter.titleBackAF[i] = Number(
    Moghunter.parameters["L" + String(i + 1) + " Frames"] || 4
  );
  Moghunter.titleBackAS[i] = Number(
    Moghunter.parameters["L" + String(i + 1) + " Animation Speed"] || 20
  );
  Moghunter.titleBackB[i] = Number(
    Moghunter.parameters["L" + String(i + 1) + " Blend Mode"] || 0
  );
}

//=============================================================================
// ** Game_Temp
//=============================================================================

//==============================
// * Initialize
//==============================
var _mog_tbackround_gtemp_initialize = Game_Temp.prototype.initialize;
Game_Temp.prototype.initialize = function () {
  _mog_tbackround_gtemp_initialize.call(this);
  this._titlebaData = [0, 0, 0];
};

//=============================================================================
// ** Scene Title
//=============================================================================

//==============================
// * Create
//==============================
var _mog_backtitle_create = Scene_Title.prototype.create;
Scene_Title.prototype.create = function () {
  _mog_backtitle_create.call(this);
  if (this._titleField) {
    this._titleField.children.sort(function (a, b) {
      return a.zIndex - b.zIndex;
    });
  }
};

//==============================
// * Create Background
//==============================
var _mog_title_background_effects_createBackground =
  Scene_Title.prototype.createBackground;
Scene_Title.prototype.createBackground = function () {
  _mog_title_background_effects_createBackground.call(this);
  this._backSprite1.visible = false;
  this._backSprite2.visible = false;
  if (!this._titleField) {
    this.createTitleField();
  }
  this.createBackgroundEX();
};

//==============================
// * Create Title Field
//==============================
Scene_Title.prototype.createTitleField = function () {
  this._titleField = new Sprite();
  this.addChild(this._titleField);
};

//==============================
// * Create BackgroundEX
//==============================
Scene_Title.prototype.createBackgroundEX = function () {
  this._backgroundEX = [];
  this._backData = [];
  this._backData[0] = (Graphics.boxWidth * 10) / 100;
  this._backData[1] = (Graphics.boxHeight * 10) / 100;
  this._backData[2] = Graphics.boxWidth + this._backData[0] * 2;
  this._backData[3] = Graphics.boxHeight + this._backData[1] * 2;
  for (var i = 0; i < Moghunter.titleBackM; i++) {
    this._backgroundEX[i] = new TitleBackground(i, this._backData);
    this._backgroundEX[i].zIndex = i;
    this._titleField.addChild(this._backgroundEX[i]);
  }
  this._ba = [0, 0, 0, 0];
  this._backWave = String(Moghunter.titleBackW) == "true" ? true : false;
  this._backWaveSpd = Number(Moghunter.titleBackWS);
  this._backWaveDur = Number(Moghunter.titleBackWD);
};

//==============================
// * xl1
//==============================
Scene_Title.prototype.xl1 = function () {
  return -this._backData[0];
};

//==============================
// * xl2
//==============================
Scene_Title.prototype.xl2 = function () {
  return this._backData[0];
};

//==============================
// * yl1
//==============================
Scene_Title.prototype.yl1 = function () {
  return -this._backData[1];
};

//==============================
// * yl2
//==============================
Scene_Title.prototype.yl2 = function () {
  return this._backData[1];
};

//==============================
// * Refresh TFL
//==============================
Scene_Title.prototype.refreshTfl = function () {
  this._ba[2] = this._backWaveDur;
  var s1 = this._backWaveSpd * 0.01;
  var s2 = this._backWaveSpd * 0.1;
  var r = Math.randomInt(2);
  var x = s1 + Math.random() * s2;
  this._ba[0] = r === 0 ? x : -x;
  var r = Math.randomInt(2);
  var y = s1 + Math.random() * s2;
  this._ba[1] = r === 0 ? y : -y;
};

//==============================
// * Update Back Wave
//==============================
Scene_Title.prototype.updateBackWave = function () {
  this._titleField.x += this._ba[0];
  this._titleField.y += this._ba[1];
  this._ba[2]--;
  if (this.needRefreshTfl()) {
    this.refreshTfl();
  }
  this.checkTfl();
};

//==============================
// * need Refresh T
//==============================
Scene_Title.prototype.needRefreshTfl = function () {
  if (this._ba[2] <= 0) {
    return true;
  }
  return false;
};

//==============================
// * Check Tfl
//==============================
Scene_Title.prototype.checkTfl = function () {
  if (this._titleField.x < this.xl1()) {
    this.refreshTfl();
    this._titleField.x = this.xl1();
  }
  if (this._titleField.x > this.xl2()) {
    this.refreshTfl();
    this._titleField.x = this.xl2();
  }
  if (this._titleField.y < this.yl1()) {
    this.refreshTfl();
    this._titleField.y = this.yl1();
  }
  if (this._titleField.y > this.yl2()) {
    this.refreshTfl();
    this._titleField.y = this.yl2();
  }
  $gameTemp._titlebaData[0] = this._titleField.x;
  $gameTemp._titlebaData[1] = this._titleField.y;
};

//==============================
// * Create Background
//==============================
var _mog_title_background_update = Scene_Title.prototype.update;
Scene_Title.prototype.update = function () {
  _mog_title_background_update.call(this);
  if (this._backgroundEX && this._backWave) {
    this.updateBackWave();
  }
};

//=============================================================================
// ** Title Background
//=============================================================================
function TitleBackground() {
  this.initialize.apply(this, arguments);
}

TitleBackground.prototype = Object.create(Sprite.prototype);
TitleBackground.prototype.constructor = TitleBackground;

//==============================
// * Initialize
//==============================
TitleBackground.prototype.initialize = function (index, data) {
  Sprite.prototype.initialize.call(this);
  this._index = index;
  this._enable =
    String(Moghunter.titleBackV[this._index]) === "true" ? true : false;
  if (this._enable) {
    this._data = data;
    this._wave = String(Moghunter.titleBackW) == "true" ? true : false;
    this._mode =
      Number(Moghunter.titleBackX[this._index]) == 0 &&
      Number(Moghunter.titleBackY[this._index]) == 0
        ? 1
        : 0;
    this.createSprite();
  }
};

//==============================
// * Screen Width
//==============================
TitleBackground.prototype.screenWidth = function () {
  return this._data[2] + 4;
};

//==============================
// * Screen Height
//==============================
TitleBackground.prototype.screenHeight = function () {
  return this._data[3] + 4;
};

//==============================
// * Is Animated
//==============================
TitleBackground.prototype.isAnimated = function () {
  return this._anime[0];
};

//==============================
// * Frame Index
//==============================
TitleBackground.prototype.frameIndex = function () {
  return this._anime[1];
};

//==============================
// * max Frames
//==============================
TitleBackground.prototype.maxframes = function () {
  return this._anime[2];
};

//==============================
// * Frame Speed
//==============================
TitleBackground.prototype.frameSpeed = function () {
  return this._anime[3];
};

//==============================
// * Update Frames
//==============================
TitleBackground.prototype.updateFrames = function () {
  this._anime[4]++;
  if (this._anime[4] < this.frameSpeed()) {
    return;
  }
  this._anime[4] = 0;
  this.refreshFrames();
};

//==============================
// * refresh Frames
//==============================
TitleBackground.prototype.refreshFrames = function () {
  this._anime[1]++;
  if (this._anime[1] >= this.maxframes()) {
    this._anime[1] = 0;
  }
  this.setBitmap();
};

//==============================
// * Load Bitmap
//==============================
TitleBackground.prototype.loadBitmap = function () {
  this._anime = [];
  this._anime[0] =
    String(Moghunter.titleBackAN[this._index]) === "true" ? true : false;
  this._anime[1] = 0;
  this._anime[2] = this._anime[0] ? Moghunter.titleBackAF[this._index] : 1;
  this._anime[3] = Moghunter.titleBackAS[this._index];
  this._anime[4] = 0;
  this._imgs = [];
  if (!this.isAnimated()) {
    var name = String(Moghunter.titleBackN[this._index]);
    this._imgs[0] = ImageManager.loadTitle1(name);
  } else {
    for (var i = 0; i < Moghunter.titleBackAF[this._index]; i++) {
      var name = String(Moghunter.titleBackN[this._index]) + "_" + i;
      this._imgs[i] = ImageManager.loadTitle1(name);
    }
  }
};

//==============================
// * Set Bitmap
//==============================
TitleBackground.prototype.setBitmap = function () {
  this._back.bitmap = this._imgs[this.frameIndex()];
};

//==============================
// * Create Sprite
//==============================
TitleBackground.prototype.createSprite = function () {
  this.loadBitmap();
  if (this._mode == 0) {
    this._back = new TilingSprite();
    this.setBitmap();
    this._back.move(0, 0, Graphics.boxWidth, Graphics.boxHeight);
  } else {
    this._back = new Sprite();
    if (this._wave) {
      this._back.anchor.x = 0.5;
      this._back.anchor.y = 0.5;
    }
  }
  this.setBitmap();
  this._back._start = false;
  this._back.org = [0, 0];
  this._back.sx = Number(Moghunter.titleBackX[this._index]);
  this._back.sy = Number(Moghunter.titleBackY[this._index]);
  this._back.rt = 0;
  this._back.t = Number(Moghunter.titleBackT[this._index]);
  this._back.opacity = this._back.t > 0 ? 0 : 255;
  this._back.blendMode = Moghunter.titleBackB[this._index];
  this.addChild(this._back);
};

//==============================
// * load Bitmap B
//==============================
TitleBackground.prototype.getData = function () {
  this._back._start = true;
  this.setCenter();
};

//==============================
// * Set Center
//==============================
TitleBackground.prototype.setCenter = function () {
  this._back._start = true;
  if (this._wave) {
    this.setWave();
  } else {
    if (this._mode === 0) {
      this._back.move(0, 0, Graphics.boxWidth, Graphics.boxHeight);
    } else {
      this._back.x = this._back.sx;
      this._back.y = this._back.sy;
    }
  }
  this._back.org = [this._back.x, this._back.y];
};

//==============================
// * Set Center
//==============================
TitleBackground.prototype.setWave = function () {
  this.fitScreen();
  this.setWaveCenter();
};

//==============================
// * set Wave Center
//==============================
TitleBackground.prototype.setWaveCenter = function () {
  if (this._mode === 0) {
    var w = this.screenWidth();
    var h = this.screenHeight();
    var x = (this.screenWidth() - Graphics.boxWidth) / 2;
    var y = (this.screenHeight() - Graphics.boxHeight) / 2;
    this._back.move(-x, -y, w, h);
  } else {
    this._back.x = Graphics.boxWidth / 2;
    this._back.y = Graphics.boxHeight / 2;
  }
};

//==============================
// * Fit Screen
//==============================
TitleBackground.prototype.fitScreen = function () {
  this._back.scale.x = this.screenWidth() / this._back.bitmap.width;
  this._back.scale.y = this.screenHeight() / this._back.bitmap.height;
};

//==============================
// * Update Scroll
//==============================
TitleBackground.prototype.updateScroll = function () {
  this._back.origin.x += this._back.sx; //this._back.sx;
  this._back.origin.y += this._back.sy; //this._back.sy;
};

//==============================
// * Update Wave
//==============================
TitleBackground.prototype.updateWave = function () {
  this._back.x = this._back.org[0];
  this._back.y = this._back.org[1];
};

//==============================
// * Update Background
//==============================
TitleBackground.prototype.updateBackground = function () {
  if (this._back.t > 0) {
    this._back.t--;
    return;
  }
  this._back.opacity += 2;
  if (this._mode == 0) {
    this.updateScroll();
  } else {
    if (this._wave) {
      this.updateWave();
    }
  }
  if (this.isAnimated()) {
    this.updateFrames();
  }
};

//==============================
// * Update
//==============================
TitleBackground.prototype.update = function () {
  Sprite.prototype.update.call(this);
  if (this._enable) {
    if (!this._back._start) {
      if (this._back.bitmap.isReady()) {
        this.getData();
      }
    } else {
      this.updateBackground();
    }
  }
};


code:
//=============================================================================
// MOG_TitleMagicCircle.js
// Translate to Japanese : munokura.tk
//=============================================================================

/*:
 * @plugindesc (v1.1 *) Adiciona círculos mágicos na tela de título.
 * @author Moghunter
 *
 * @param -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 1 Visible
 * @desc Ativar a imagem.
 * @default true
 * @type boolean
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 File Name
 * @desc Nome da imagem.
 * @default MCircle1
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 Z-Index
 * @desc Prioridade Z da camada.
 * @default 10
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 X-Axis
 * @desc Posição X-Axis da imagem.
 * @default 790
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 Y-Axis
 * @desc Posição Y-Axis da imagem.
 * @default 600
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 Rotation
 * @desc Velocidade da rotação.
 * @default 0.01
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 1
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 Pulse Mode
 * @desc Ativar animação de pulse.
 * 0 - Disabled   1 - Zoom In Out  2 - Zoom Out
 * @default 2
 * @type select
 * @option Disabled
 * @value 0
 * @option Zoom In Out
 * @value 1
 * @option Zoom Out
 * @value 2
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 2 Visible
 * @desc Ativar a imagem.
 * @default true
 * @type boolean
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 File Name
 * @desc Nome da imagem.
 * @default MCircle2
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 Z-Index
 * @desc Prioridade Z da camada.
 * @default 11
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 X-Axis
 * @desc Posição X-Axis da imagem.
 * @default 790
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 Y-Axis
 * @desc Posição Y-Axis da imagem.
 * @default 600
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 Rotation
 * @desc Velocidade da rotação.
 * @default -0.01
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 0
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 Pulse Mode
 * @desc Ativar animação de pulse.
 * 0 - Disabled   1 - Zoom In Out  2 - Zoom Out
 * @default 0
 * @type select
 * @option Disabled
 * @value 0
 * @option Zoom In Out
 * @value 1
 * @option Zoom Out
 * @value 2
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 3 Visible
 * @desc Ativar a imagem.
 * @default false
 * @type boolean
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 File Name
 * @desc Nome da imagem.
 * @default MCircle3
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 Z-Index
 * @desc Prioridade Z da camada.
 * @default 12
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 X-Axis
 * @desc Posição X-Axis da imagem.
 * @default 200
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 Y-Axis
 * @desc Posição Y-Axis da imagem.
 * @default 200
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 Rotation
 * @desc Velocidade da rotação.
 * @default 0.01
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 1
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 Pulse Mode
 * @desc Ativar animação de pulse.
 * 0 - Disabled   1 - Zoom In Out  2 - Zoom Out
 * @default 0
 * @type select
 * @option Disabled
 * @value 0
 * @option Zoom In Out
 * @value 1
 * @option Zoom Out
 * @value 2
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 4 Visible
 * @desc Ativar a imagem.
 * @default false
 * @type boolean
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 File Name
 * @desc Nome da imagem.
 * @default MCircle4
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 Z-Index
 * @desc Prioridade Z da camada.
 * @default 13
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 X-Axis
 * @desc Posição X-Axis da imagem.
 * @default 300
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 Y-Axis
 * @desc Posição Y-Axis da imagem.
 * @default 300
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 Rotation
 * @desc Velocidade da rotação.
 * @default 0.01
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 1
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 Pulse Mode
 * @desc Ativar animação de pulse.
 * 0 - Disabled   1 - Zoom In Out  2 - Zoom Out
 * @default 0
 * @type select
 * @option Disabled
 * @value 0
 * @option Zoom In Out
 * @value 1
 * @option Zoom Out
 * @value 2
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 5 Visible
 * @desc Ativar a imagem.
 * @default false
 * @type boolean
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 File Name
 * @desc Nome da imagem.
 * @default MCircle5
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 Z-Index
 * @desc Prioridade Z da camada.
 * @default 14
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 X-Axis
 * @desc Posição X-Axis da imagem.
 * @default 400
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 Y-Axis
 * @desc Posição Y-Axis da imagem.
 * @default 400
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 Rotation
 * @desc Velocidade da rotação.
 * @default 0.01
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 1
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 Pulse Mode
 * @desc Ativar animação de pulse.
 * 0 - Disabled   1 - Zoom In Out  2 - Zoom Out
 * @default 0
 * @type select
 * @option Disabled
 * @value 0
 * @option Zoom In Out
 * @value 1
 * @option Zoom Out
 * @value 2
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 6 Visible
 * @desc Ativar a imagem.
 * @default false
 * @type boolean
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 File Name
 * @desc Nome da imagem.
 * @default MCircle6
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 Z-Index
 * @desc Prioridade Z da camada.
 * @default 15
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 X-Axis
 * @desc Posição X-Axis da imagem.
 * @default 500
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 Y-Axis
 * @desc Posição Y-Axis da imagem.
 * @default 500
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 Rotation
 * @desc Velocidade da rotação.
 * @default 0.01
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 1
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 Pulse Mode
 * @desc Ativar animação de pulse.
 * 0 - Disabled   1 - Zoom In Out  2 - Zoom Out
 * @default 0
 * @type select
 * @option Disabled
 * @value 0
 * @option Zoom In Out
 * @value 1
 * @option Zoom Out
 * @value 2
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 7 Visible
 * @desc Ativar a imagem.
 * @default false
 * @type boolean
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 File Name
 * @desc Nome da imagem.
 * @default MCircle7
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 Z-Index
 * @desc Prioridade Z da camada.
 * @default 16
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 X-Axis
 * @desc Posição X-Axis da imagem.
 * @default 550
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 Y-Axis
 * @desc Posição Y-Axis da imagem.
 * @default 550
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 Rotation
 * @desc Velocidade da rotação.
 * @default 0.01
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 1
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 Pulse Mode
 * @desc Ativar animação de pulse.
 * 0 - Disabled   1 - Zoom In Out  2 - Zoom Out
 * @default 0
 * @type select
 * @option Disabled
 * @value 0
 * @option Zoom In Out
 * @value 1
 * @option Zoom Out
 * @value 2
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 8 Visible
 * @desc Ativar a imagem.
 * @default false
 * @type boolean
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 File Name
 * @desc Nome da imagem.
 * @default MCircle8
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 Z-Index
 * @desc Prioridade Z da camada.
 * @default 17
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 X-Axis
 * @desc Posição X-Axis da imagem.
 * @default 600
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 Y-Axis
 * @desc Posição Y-Axis da imagem.
 * @default 600
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 Rotation
 * @desc Velocidade da rotação.
 * @default 0.01
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 1
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 Pulse Mode
 * @desc Ativar animação de pulse.
 * 0 - Disabled   1 - Zoom In Out  2 - Zoom Out
 * @default 0
 * @type select
 * @option Disabled
 * @value 0
 * @option Zoom In Out
 * @value 1
 * @option Zoom Out
 * @value 2
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 9 Visible
 * @desc Ativar a imagem.
 * @default false
 * @type boolean
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 File Name
 * @desc Nome da imagem.
 * @default MCircle9
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 Z-Index
 * @desc Prioridade Z da camada.
 * @default 18
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 X-Axis
 * @desc Posição X-Axis da imagem.
 * @default 620
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 Y-Axis
 * @desc Posição Y-Axis da imagem.
 * @default 620
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 Rotation
 * @desc Velocidade da rotação.
 * @default 0.01
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 1
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 Pulse Mode
 * @desc Ativar animação de pulse.
 * 0 - Disabled   1 - Zoom In Out  2 - Zoom Out
 * @default 0
 * @type select
 * @option Disabled
 * @value 0
 * @option Zoom In Out
 * @value 1
 * @option Zoom Out
 * @value 2
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 10 Visible
 * @desc Ativar a imagem.
 * @default false
 * @type boolean
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 File Name
 * @desc Nome da imagem.
 * @default MCircle10
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 Z-Index
 * @desc Prioridade Z da camada.
 * @default 19
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 X-Axis
 * @desc Posição X-Axis da imagem.
 * @default 650
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 Y-Axis
 * @desc Posição Y-Axis da imagem.
 * @default 600
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 Rotation
 * @desc Velocidade da rotação.
 * @default 0.01
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 Blend Mode
 * @desc Definição de blend.
 * 0 - Normal    1- Add    2 - Substract
 * @default 1
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 Pulse Mode
 * @desc Ativar animação de pulse.
 * 0 - Disabled   1 - Zoom In Out  2 - Zoom Out
 * @default 0
 * @type select
 * @option Disabled
 * @value 0
 * @option Zoom In Out
 * @value 1
 * @option Zoom Out
 * @value 2
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @help
 * ============================================================================
 * +++ MOG - Title Magic Circles (v1.0) +++
 * By Moghunter
 * https://atelierrgss.wordpress.com/
 * ============================================================================
 * Adiciona círculos mágicos na tela de título.
 *
 * Grave as imagens na pasta.
 *
 * img/titles2/
 *
 * ============================================================================
 * - WHAT'S  NEW (version 1.1)
 * ============================================================================
 * - (NEW) - Plugins parameters compatíveis com RM1.5+
 */
/*:ja
 * @plugindesc (v1.1 *) タイトル画面に魔法陣アニメーションを追加します。
 * @author Moghunter
 *
 * @param -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 1 Visible
 * @desc 画像の有効設定
 * @default true
 * @type boolean
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 File Name
 * @desc 画像のファイル名
 * @default MCircle1
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 Z-Index
 * @desc レイヤーのZ優先順位
 * @default 10
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 X-Axis
 * @desc 画像のX軸位置
 * @default 790
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 Y-Axis
 * @desc 画像のY軸位置
 * @default 600
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 Rotation
 * @desc 回転速度
 * @default 0.01
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 Blend Mode
 * @desc ブレンドの方法
 * 0 - 通常    1- 加算    2 - 減算
 * @default 1
 * @type select
 * @option 通常
 * @value 0
 * @option 加算
 * @value 1
 * @option 減算
 * @value 2
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 Transition Time
 * @desc 画像の表示時間
 * @default 0
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 1 Pulse Mode
 * @desc パルスアニメーションの設定
 * 0 - 無効   1 - ズームイン・アウト  2 - ズームアウト
 * @default 2
 * @type select
 * @option 無効
 * @value 0
 * @option ズームイン・アウト
 * @value 1
 * @option ズームアウト
 * @value 2
 * @parent -> Magic Circle 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 2 Visible
 * @desc 画像の有効設定
 * @default true
 * @type boolean
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 File Name
 * @desc 画像のファイル名
 * @default MCircle2
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 Z-Index
 * @desc レイヤーのZ優先順位
 * @default 11
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 X-Axis
 * @desc 画像のX軸位置
 * @default 790
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 Y-Axis
 * @desc 画像のY軸位置
 * @default 600
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 Rotation
 * @desc 回転速度
 * @default -0.01
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 Blend Mode
 * @desc ブレンドの方法
 * 0 - 通常    1- 加算    2 - 減算
 * @default 0
 * @type select
 * @option 通常
 * @value 0
 * @option 加算
 * @value 1
 * @option 減算
 * @value 2
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 Transition Time
 * @desc 画像の表示時間
 * @default 0
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 2 Pulse Mode
 * @desc パルスアニメーションの設定
 * 0 - 無効   1 - ズームイン・アウト  2 - ズームアウト
 * @default 0
 * @type select
 * @option 無効
 * @value 0
 * @option ズームイン・アウト
 * @value 1
 * @option ズームアウト
 * @value 2
 * @parent -> Magic Circle 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 3 Visible
 * @desc 画像の有効設定
 * @default false
 * @type boolean
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 File Name
 * @desc 画像のファイル名
 * @default MCircle3
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 Z-Index
 * @desc レイヤーのZ優先順位
 * @default 12
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 X-Axis
 * @desc 画像のX軸位置
 * @default 200
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 Y-Axis
 * @desc 画像のY軸位置
 * @default 200
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 Rotation
 * @desc 回転速度
 * @default 0.01
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 Blend Mode
 * @desc ブレンドの方法
 * 0 - 通常    1- 加算    2 - 減算
 * @default 1
 * @type select
 * @option 通常
 * @value 0
 * @option 加算
 * @value 1
 * @option 減算
 * @value 2
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 Transition Time
 * @desc 画像の表示時間
 * @default 0
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 3 Pulse Mode
 * @desc パルスアニメーションの設定
 * 0 - 無効   1 - ズームイン・アウト  2 - ズームアウト
 * @default 0
 * @type select
 * @option 無効
 * @value 0
 * @option ズームイン・アウト
 * @value 1
 * @option ズームアウト
 * @value 2
 * @parent -> Magic Circle 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 4 Visible
 * @desc 画像の有効設定
 * @default false
 * @type boolean
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 File Name
 * @desc 画像のファイル名
 * @default MCircle4
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 Z-Index
 * @desc レイヤーのZ優先順位
 * @default 13
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 X-Axis
 * @desc 画像のX軸位置
 * @default 300
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 Y-Axis
 * @desc 画像のY軸位置
 * @default 300
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 Rotation
 * @desc 回転速度
 * @default 0.01
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 Blend Mode
 * @desc ブレンドの方法
 * 0 - 通常    1- 加算    2 - 減算
 * @default 1
 * @type select
 * @option 通常
 * @value 0
 * @option 加算
 * @value 1
 * @option 減算
 * @value 2
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 Transition Time
 * @desc 画像の表示時間
 * @default 0
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 4 Pulse Mode
 * @desc パルスアニメーションの設定
 * 0 - 無効   1 - ズームイン・アウト  2 - ズームアウト
 * @default 0
 * @type select
 * @option 無効
 * @value 0
 * @option ズームイン・アウト
 * @value 1
 * @option ズームアウト
 * @value 2
 * @parent -> Magic Circle 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 5 Visible
 * @desc 画像の有効設定
 * @default false
 * @type boolean
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 File Name
 * @desc 画像のファイル名
 * @default MCircle5
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 Z-Index
 * @desc レイヤーのZ優先順位
 * @default 14
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 X-Axis
 * @desc 画像のX軸位置
 * @default 400
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 Y-Axis
 * @desc 画像のY軸位置
 * @default 400
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 Rotation
 * @desc 回転速度
 * @default 0.01
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 Blend Mode
 * @desc ブレンドの方法
 * 0 - 通常    1- 加算    2 - 減算
 * @default 1
 * @type select
 * @option 通常
 * @value 0
 * @option 加算
 * @value 1
 * @option 減算
 * @value 2
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 Transition Time
 * @desc 画像の表示時間
 * @default 0
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 5 Pulse Mode
 * @desc パルスアニメーションの設定
 * 0 - 無効   1 - ズームイン・アウト  2 - ズームアウト
 * @default 0
 * @type select
 * @option 無効
 * @value 0
 * @option ズームイン・アウト
 * @value 1
 * @option ズームアウト
 * @value 2
 * @parent -> Magic Circle 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 6 Visible
 * @desc 画像の有効設定
 * @default false
 * @type boolean
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 File Name
 * @desc 画像のファイル名
 * @default MCircle6
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 Z-Index
 * @desc レイヤーのZ優先順位
 * @default 15
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 X-Axis
 * @desc 画像のX軸位置
 * @default 500
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 Y-Axis
 * @desc 画像のY軸位置
 * @default 500
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 Rotation
 * @desc 回転速度
 * @default 0.01
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 Blend Mode
 * @desc ブレンドの方法
 * 0 - 通常    1- 加算    2 - 減算
 * @default 1
 * @type select
 * @option 通常
 * @value 0
 * @option 加算
 * @value 1
 * @option 減算
 * @value 2
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 Transition Time
 * @desc 画像の表示時間
 * @default 0
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 6 Pulse Mode
 * @desc パルスアニメーションの設定
 * 0 - 無効   1 - ズームイン・アウト  2 - ズームアウト
 * @default 0
 * @type select
 * @option 無効
 * @value 0
 * @option ズームイン・アウト
 * @value 1
 * @option ズームアウト
 * @value 2
 * @parent -> Magic Circle 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 7 Visible
 * @desc 画像の有効設定
 * @default false
 * @type boolean
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 File Name
 * @desc 画像のファイル名
 * @default MCircle7
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 Z-Index
 * @desc レイヤーのZ優先順位
 * @default 16
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 X-Axis
 * @desc 画像のX軸位置
 * @default 550
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 Y-Axis
 * @desc 画像のY軸位置
 * @default 550
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 Rotation
 * @desc 回転速度
 * @default 0.01
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 Blend Mode
 * @desc ブレンドの方法
 * 0 - 通常    1- 加算    2 - 減算
 * @default 1
 * @type select
 * @option 通常
 * @value 0
 * @option 加算
 * @value 1
 * @option 減算
 * @value 2
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 Transition Time
 * @desc 画像の表示時間
 * @default 0
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 7 Pulse Mode
 * @desc パルスアニメーションの設定
 * 0 - 無効   1 - ズームイン・アウト  2 - ズームアウト
 * @default 0
 * @type select
 * @option 無効
 * @value 0
 * @option ズームイン・アウト
 * @value 1
 * @option ズームアウト
 * @value 2
 * @parent -> Magic Circle 7 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 8 Visible
 * @desc 画像の有効設定
 * @default false
 * @type boolean
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 File Name
 * @desc 画像のファイル名
 * @default MCircle8
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 Z-Index
 * @desc レイヤーのZ優先順位
 * @default 17
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 X-Axis
 * @desc 画像のX軸位置
 * @default 600
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 Y-Axis
 * @desc 画像のY軸位置
 * @default 600
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 Rotation
 * @desc 回転速度
 * @default 0.01
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 Blend Mode
 * @desc ブレンドの方法
 * 0 - 通常    1- 加算    2 - 減算
 * @default 1
 * @type select
 * @option 通常
 * @value 0
 * @option 加算
 * @value 1
 * @option 減算
 * @value 2
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 Transition Time
 * @desc 画像の表示時間
 * @default 0
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 8 Pulse Mode
 * @desc パルスアニメーションの設定
 * 0 - 無効   1 - ズームイン・アウト  2 - ズームアウト
 * @default 0
 * @type select
 * @option 無効
 * @value 0
 * @option ズームイン・アウト
 * @value 1
 * @option ズームアウト
 * @value 2
 * @parent -> Magic Circle 8 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 9 Visible
 * @desc 画像の有効設定
 * @default false
 * @type boolean
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 File Name
 * @desc 画像のファイル名
 * @default MCircle9
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 Z-Index
 * @desc レイヤーのZ優先順位
 * @default 18
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 X-Axis
 * @desc 画像のX軸位置
 * @default 620
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 Y-Axis
 * @desc 画像のY軸位置
 * @default 620
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 Rotation
 * @desc 回転速度
 * @default 0.01
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 Blend Mode
 * @desc ブレンドの方法
 * 0 - 通常    1- 加算    2 - 減算
 * @default 1
 * @type select
 * @option 通常
 * @value 0
 * @option 加算
 * @value 1
 * @option 減算
 * @value 2
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 Transition Time
 * @desc 画像の表示時間
 * @default 0
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 9 Pulse Mode
 * @desc パルスアニメーションの設定
 * 0 - 無効   1 - ズームイン・アウト  2 - ズームアウト
 * @default 0
 * @type select
 * @option 無効
 * @value 0
 * @option ズームイン・アウト
 * @value 1
 * @option ズームアウト
 * @value 2
 * @parent -> Magic Circle 9 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param Circle 10 Visible
 * @desc 画像の有効設定
 * @default false
 * @type boolean
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 File Name
 * @desc 画像のファイル名
 * @default MCircle10
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 Z-Index
 * @desc レイヤーのZ優先順位
 * @default 19
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 X-Axis
 * @desc 画像のX軸位置
 * @default 650
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 Y-Axis
 * @desc 画像のY軸位置
 * @default 600
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 Rotation
 * @desc 回転速度
 * @default 0.01
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 Blend Mode
 * @desc ブレンドの方法
 * 0 - 通常    1- 加算    2 - 減算
 * @default 1
 * @type select
 * @option 通常
 * @value 0
 * @option 加算
 * @value 1
 * @option 減算
 * @value 2
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 Transition Time
 * @desc 画像の表示時間
 * @default 0
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param Circle 10 Pulse Mode
 * @desc パルスアニメーションの設定
 * 0 - 無効   1 - ズームイン・アウト  2 - ズームアウト
 * @default 0
 * @type select
 * @option 無効
 * @value 0
 * @option ズームイン・アウト
 * @value 1
 * @option ズームアウト
 * @value 2
 * @parent -> Magic Circle 10 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @help
 * 翻訳:ムノクラ
 * https://munokura.tk/
 * https://twitter.com/munokura/
 *
 * ============================================================================
 * +++ MOG - Title Magic Circles (v1.0) +++
 * By Moghunter
 * https://atelierrgss.wordpress.com/
 * ============================================================================
 * タイトル画面に魔法陣アニメーションを追加します。
 *
 * 下記フォルダに画像を保存してください。
 *
 * img/titles2/
 *
 * ============================================================================
 * - WHAT'S  NEW (version 1.1)
 * ============================================================================
 * - (NEW) - RM1.5 +と互換性のあるプラグインパラメータ
 */

//=============================================================================
// ** PLUGIN PARAMETERS
//=============================================================================
var Imported = Imported || {};
Imported.MOG_TitleMagicCircles = true;
var Moghunter = Moghunter || {};

Moghunter.parameters = PluginManager.parameters("MOG_TitleMagicCircles");
Moghunter.titleMcircles_M = 10;
Moghunter.titleMcircles_V = [];
Moghunter.titleMcircles_N = [];
Moghunter.titleMcircles_X = [];
Moghunter.titleMcircles_Y = [];
Moghunter.titleMcircles_R = [];
Moghunter.titleMcircles_T = [];
Moghunter.titleMcircles_P = [];
Moghunter.titleMcircles_Z = [];
Moghunter.titleMcircles_B = [];
for (var i = 0; i < Moghunter.titleMcircles_M; i++) {
  Moghunter.titleMcircles_V[i] = String(
    Moghunter.parameters["Circle " + String(i + 1) + " Visible"] || "true"
  );
  Moghunter.titleMcircles_N[i] = String(
    Moghunter.parameters["Circle " + String(i + 1) + " File Name"] ||
      "Magic_Circle"
  );
  Moghunter.titleMcircles_X[i] = Number(
    Moghunter.parameters["Circle " + String(i + 1) + " X-Axis"] || 0
  );
  Moghunter.titleMcircles_Y[i] = Number(
    Moghunter.parameters["Circle " + String(i + 1) + " Y-Axis"] || 0
  );
  Moghunter.titleMcircles_Z[i] = Number(
    Moghunter.parameters["Circle " + String(i + 1) + " Z-Index"] || 10
  );
  Moghunter.titleMcircles_R[i] = Number(
    Moghunter.parameters["Circle " + String(i + 1) + " Rotation"] || 0.01
  );
  Moghunter.titleMcircles_T[i] = Number(
    Moghunter.parameters["Circle " + String(i + 1) + " Transition Time"] || 60
  );
  Moghunter.titleMcircles_P[i] = Number(
    Moghunter.parameters["Circle " + String(i + 1) + " Pulse Mode"] || 0
  );
  Moghunter.titleMcircles_B[i] = Number(
    Moghunter.parameters["Circle " + String(i + 1) + " Blend Mode"] || 1
  );
}

//=============================================================================
// ** Scene Title
//=============================================================================

//==============================
// * Create
//==============================
var _mog_mcirclestitles_create = Scene_Title.prototype.create;
Scene_Title.prototype.create = function () {
  _mog_mcirclestitles_create.call(this);
  if (this._titleField) {
    this._titleField.children.sort(function (a, b) {
      return a.zIndex - b.zIndex;
    });
  }
};

//==============================
// * Create Background
//==============================
var _mog_mcirclestitles_createBackground =
  Scene_Title.prototype.createBackground;
Scene_Title.prototype.createBackground = function () {
  _mog_mcirclestitles_createBackground.call(this);
  if (!this._titleField) {
    this.createTitleField();
  }
};

//==============================
// * Create Title Field
//==============================
Scene_Title.prototype.createTitleField = function () {
  this._titleField = new Sprite();
  this.addChild(this._titleField);
};

//==============================
// * Create Background
//==============================
var _mog_mcirclestitles_createForeground =
  Scene_Title.prototype.createForeground;
Scene_Title.prototype.createForeground = function () {
  this.createMcircles();
  _mog_mcirclestitles_createForeground.call(this);
};

//==============================
// * Create M Circles
//==============================
Scene_Title.prototype.createMcircles = function () {
  if (!this._titleField) {
    this.createTitleField();
  }
  this._mcircles = [];
  for (var i = 0; i < Moghunter.titleMcircles_M; i++) {
    this._mcircles[i] = new TitleMCircles(i);
    this._mcircles[i].zIndex = Moghunter.titleMcircles_Z[i];
    this._titleField.addChild(this._mcircles[i]);
  }
};

//=============================================================================
// ** Title Magic Circle
//=============================================================================
function TitleMCircles() {
  this.initialize.apply(this, arguments);
}

TitleMCircles.prototype = Object.create(Sprite.prototype);
TitleMCircles.prototype.constructor = TitleMCircles;

//==============================
// * Initialize
//==============================
TitleMCircles.prototype.initialize = function (index) {
  Sprite.prototype.initialize.call(this);
  this._index = index;
  this._enabled =
    String(Moghunter.titleMcircles_V[this._index]) === "true" ? true : false;
  if (this._enabled) {
    this.create_mcircles();
  }
};

//==============================
// * Create M circles
//==============================
TitleMCircles.prototype.create_mcircles = function () {
  this.bitmap = ImageManager.loadTitle2(
    String(Moghunter.titleMcircles_N[this._index])
  );
  this.anchor.x = 0.5;
  this.anchor.y = 0.5;
  this.x = Number(Moghunter.titleMcircles_X[this._index]);
  this.y = Number(Moghunter.titleMcircles_Y[this._index]);
  this.r = Number(Moghunter.titleMcircles_R[this._index]);
  this.t = Number(Moghunter.titleMcircles_T[this._index]);
  this.p = [Number(Moghunter.titleMcircles_P[this._index]), 0, 0];
  this.blendMode = Number(Moghunter.titleMcircles_B[this._index]);
  this.opacity = this.t > 0 && this.p[0] < 2 ? 0 : 255;
};

//==============================
// * Update Mcircle Pulse
//==============================
TitleMCircles.prototype.updateMcirclePulse = function () {
  if (this.p[0] === 1) {
    this.updateMcirclePulseM1();
  } else {
    0;
    this.updateMcirclePulseM2();
  }
  this.scale.y = this.scale.x;
};

//==============================
// * Update Mcircle Pulse M1
//==============================
TitleMCircles.prototype.updateMcirclePulseM1 = function () {
  this.p[1]++;
  if (this.p[1] < 90) {
    this.scale.x += 0.002;
  } else if (this.p[1] < 180) {
    this.scale.x -= 0.002;
  } else {
    this.p[1] = 0;
    this.scale.x = 1.0;
  }
};

//==============================
// * Update Mcircle Pulse M2
//==============================
TitleMCircles.prototype.updateMcirclePulseM2 = function () {
  this.scale.x += 0.003;
  if (this.p[1] === 0) {
    this.opacity += 4;
    if (this.opacity >= 255) {
      this.p[1] = 1;
    }
  } else {
    this.opacity -= 2;
  }
  if (this.opacity <= 0) {
    this.p[1] = 0;
    this.scale.x = 1.0;
    this.opacity = 0;
  }
};

//==============================
// * Update M Circles
//==============================
TitleMCircles.prototype.update_magic_circle = function () {
  this.rotation += this.r;
  if (this.t > 0) {
    this.t--;
  } else {
    if (this.p[0] < 2) {
      this.opacity += 2;
    }
  }
  if (this.p[0] > 0) {
    this.updateMcirclePulse();
  }
};

//==============================
// * Update
//==============================
TitleMCircles.prototype.update = function () {
  Sprite.prototype.update.call(this);
  if (this._enabled) {
    this.update_magic_circle();
  }
};

repo_name: dazed/translations

license: unknown


code:
//=============================================================================
// MOG_TitleParticles.js
//=============================================================================

/*:
 * @plugindesc (v2.1 *) Adiciona partículas na tela de título.
 * @author Moghunter
 *
 * @param -> Particles 1 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param P1 Visible
 * @desc Ativar partícula.
 * @default true
 * @type boolean
 * @parent -> Particles 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P1 File Name
 * @desc Nome do arquivo.
 * @default Particles
 * @parent -> Particles 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P1 Amount
 * @desc Quantidade de partículas.
 * @default 25
 * @parent -> Particles 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P1 Z Index
 * @desc Prioridade Z do sprite.
 * @default 20
 * @parent -> Particles 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P1 X Speed
 * @desc Velocidade X-Axis.
 * @default -10
 * @parent -> Particles 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P1 Y Speed
 * @desc Velocidade Y-Axis.
 * @default -1
 * @parent -> Particles 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P1 Rotation Speed
 * @desc Velocidade de rotação.
 * @default 0.02
 * @parent -> Particles 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P1 Blend Mode
 * @desc Definição de blend.
 * @default 1
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Particles 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P1 Anchor
 * @desc Definição do anchor.
 * @default 0
 * @parent -> Particles 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P1 Leaf Mode
 * @desc Ativar animação de folha.
 * @default false
 * @type boolean
 * @parent -> Particles 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P1 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Particles 1 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Particles 2 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param P2 Visible
 * @desc Ativar partícula.
 * @default true
 * @type boolean
 * @parent -> Particles 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P2 File Name
 * @desc Nome do arquivo.
 * @default Particles2
 * @parent -> Particles 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P2 Amount
 * @desc Quantidade de partículas.
 * @default 5
 * @parent -> Particles 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P2 Z Index
 * @desc Prioridade Z do sprite.
 * @default 21
 * @parent -> Particles 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P2 X Speed
 * @desc Velocidade X-Axis.
 * @default 2
 * @parent -> Particles 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P2 Y Speed
 * @desc Velocidade Y-Axis.
 * @default 2
 * @parent -> Particles 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P2 Rotation Speed
 * @desc Velocidade de rotação.
 * @default 0.01
 * @parent -> Particles 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P2 Blend Mode
 * @desc Definição de blend.
 * @default 0
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Particles 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P2 Anchor
 * @desc Definição do anchor.
 * @default 0
 * @parent -> Particles 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P2 Leaf Mode
 * @desc Ativar animação de folha.
 * @default false
 * @type boolean
 * @parent -> Particles 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P2 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Particles 2 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Particles 3 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param P3 Visible
 * @desc Ativar partícula.
 * @default true
 * @type boolean
 * @parent -> Particles 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P3 File Name
 * @desc Nome do arquivo.
 * @default Particles3
 * @parent -> Particles 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P3 Amount
 * @desc Quantidade de partículas.
 * @default 5
 * @parent -> Particles 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P3 Z Index
 * @desc Prioridade Z do sprite.
 * @default 22
 * @parent -> Particles 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P3 X Speed
 * @desc Velocidade X-Axis.
 * @default 0.5
 * @parent -> Particles 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P3 Y Speed
 * @desc Velocidade Y-Axis.
 * @default 0.5
 * @parent -> Particles 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P3 Rotation Speed
 * @desc Velocidade de rotação.
 * @default 0.006
 * @parent -> Particles 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P3 Blend Mode
 * @desc Definição de blend.
 * @default 0
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Particles 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P3 Anchor
 * @desc Definição do anchor.
 * @default 0
 * @parent -> Particles 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P3 Leaf Mode
 * @desc Ativar animação de folha.
 * @default true
 * @type boolean
 * @parent -> Particles 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P3 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Particles 3 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Particles 4 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param P4 Visible
 * @desc Ativar partícula.
 * @default false
 * @type boolean
 * @parent -> Particles 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P4 File Name
 * @desc Nome do arquivo.
 * @default Particles4
 * @parent -> Particles 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P4 Amount
 * @desc Quantidade de partículas.
 * @default 25
 * @parent -> Particles 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P4 Z Index
 * @desc Prioridade Z do sprite.
 * @default 23
 * @parent -> Particles 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P4 X Speed
 * @desc Velocidade X-Axis.
 * @default 2
 * @parent -> Particles 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P4 Y Speed
 * @desc Velocidade Y-Axis.
 * @default 0.3
 * @parent -> Particles 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P4 Rotation Speed
 * @desc Velocidade de rotação.
 * @default 0.3
 * @parent -> Particles 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P4 Blend Mode
 * @desc Definição de blend.
 * @default 1
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Particles 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P4 Anchor
 * @desc Definição do anchor.
 * @default 0
 * @parent -> Particles 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P4 Leaf Mode
 * @desc Ativar animação de folha.
 * @default true
 * @type boolean
 * @parent -> Particles 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P4 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Particles 4 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Particles 5 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param P5 Visible
 * @desc Ativar partícula.
 * @default false
 * @type boolean
 * @parent -> Particles 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P5 File Name
 * @desc Nome do arquivo.
 * @default Particles5
 * @parent -> Particles 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P5 Amount
 * @desc Quantidade de partículas.
 * @default 25
 * @parent -> Particles 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P5 Z Index
 * @desc Prioridade Z do sprite.
 * @default 24
 * @parent -> Particles 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P5 X Speed
 * @desc Velocidade X-Axis.
 * @default 4
 * @parent -> Particles 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P5 Y Speed
 * @desc Velocidade Y-Axis.
 * @default 0
 * @parent -> Particles 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P5 Rotation Speed
 * @desc Velocidade de rotação.
 * @default 0
 * @parent -> Particles 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P5 Blend Mode
 * @desc Definição de blend.
 * @default 1
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Particles 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P5 Anchor
 * @desc Definição do anchor.
 * @default 0
 * @parent -> Particles 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P5 Leaf Mode
 * @desc Ativar animação de folha.
 * @default false
 * @type boolean
 * @parent -> Particles 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P5 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Particles 5 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param
 *
 * @param -> Particles 6 <<<<<<<<<<<<<<<<<<<<<<<
 * @desc
 *
 * @param P6 Visible
 * @desc Ativar partícula.
 * @default false
 * @type boolean
 * @parent -> Particles 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P6 File Name
 * @desc Nome do arquivo.
 * @default Particles6
 * @parent -> Particles 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P6 Amount
 * @desc Quantidade de partículas.
 * @default 25
 * @parent -> Particles 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P6 Z Index
 * @desc Prioridade Z do sprite.
 * @default 25
 * @parent -> Particles 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P6 X Speed
 * @desc Velocidade X-Axis.
 * @default 4
 * @parent -> Particles 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P6 Y Speed
 * @desc Velocidade Y-Axis.
 * @default 0
 * @parent -> Particles 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P6 Rotation Speed
 * @desc Velocidade de rotação.
 * @default 0
 * @parent -> Particles 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P6 Blend Mode
 * @desc Definição de blend.
 * @default 1
 * @type select
 * @option Normal
 * @value 0
 * @option Add
 * @value 1
 * @option Substract
 * @value 2
 * @parent -> Particles 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P6 Anchor
 * @desc Definição do anchor.
 * @default 0
 * @parent -> Particles 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P6 Leaf Mode
 * @desc Ativar animação de folha.
 * @default false
 * @type boolean
 * @parent -> Particles 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @param P6 Transition Time
 * @desc Tempo para apresentar a imagem.
 * @default 0
 * @parent -> Particles 6 <<<<<<<<<<<<<<<<<<<<<<<
 *
 * @help
 * =============================================================================
 * +++ MOG - Title Particles (v2.1) +++
 * By Moghunter
 * https://atelierrgss.wordpress.com/
 * =============================================================================
 * Adiciona partículas na tela de título.
 *
 * Grave as imagens na pasta.
 *
 * img/titles2/
 *
 * ============================================================================
 * - WHAT'S  NEW (version 2.1)
 * ============================================================================
 * - (NEW) - Plugins parameters compatíveis com RM1.5+
 */

//=============================================================================
// ** PLUGIN PARAMETERS
//=============================================================================
var Imported = Imported || {};
Imported.MOG_Title_Particles = true;
var Moghunter = Moghunter || {};

Moghunter.parameters = PluginManager.parameters("MOG_TitleParticles");
Moghunter.tparticles_M = 6;
Moghunter.tparticles_V = [];
Moghunter.tparticles_F = [];
Moghunter.tparticles_N = [];
Moghunter.tparticles_X = [];
Moghunter.tparticles_Y = [];
Moghunter.tparticles_R = [];
Moghunter.tparticles_B = [];
Moghunter.tparticles_A = [];
Moghunter.tparticles_L = [];
Moghunter.tparticles_Z = [];
Moghunter.tparticles_T = [];
for (var i = 0; i < Moghunter.tparticles_M; i++) {
  Moghunter.tparticles_V[i] = String(
    Moghunter.parameters["P" + String(i + 1) + " Visible"] || "true"
  );
  Moghunter.tparticles_F[i] = String(
    Moghunter.parameters["P" + String(i + 1) + " File Name"] || "Particles"
  );
  Moghunter.tparticles_N[i] = Number(
    Moghunter.parameters["P" + String(i + 1) + " Amount"] || 25
  );
  Moghunter.tparticles_X[i] = Number(
    Moghunter.parameters["P" + String(i + 1) + " X Speed"] || 0
  );
  Moghunter.tparticles_Y[i] = Number(
    Moghunter.parameters["P" + String(i + 1) + " Y Speed"] || -1
  );
  Moghunter.tparticles_Z[i] = Number(
    Moghunter.parameters["P" + String(i + 1) + " Z Index"] || 20
  );
  Moghunter.tparticles_R[i] = Number(
    Moghunter.parameters["P" + String(i + 1) + " Rotation Speed"] || 0.02
  );
  Moghunter.tparticles_B[i] = Number(
    Moghunter.parameters["P" + String(i + 1) + " Blend Mode"] || 1
  );
  Moghunter.tparticles_A[i] = Number(
    Moghunter.parameters["P" + String(i + 1) + " Anchor"] || 0
  );
  Moghunter.tparticles_L[i] = String(
    Moghunter.parameters["P" + String(i + 1) + " Leaf Mode"] || "false"
  );
  Moghunter.tparticles_T[i] = Number(
    Moghunter.parameters["P" + String(i + 1) + " Transition Time"] || 60
  );
}

//=============================================================================
// ** Scene Title
//=============================================================================

//==============================
// * Create
//==============================
var _mog_titleparticles_create = Scene_Title.prototype.create;
Scene_Title.prototype.create = function () {
  _mog_titleparticles_create.call(this);
  if (this._titleField) {
    this._titleField.children.sort(function (a, b) {
      return a.zIndex - b.zIndex;
    });
  }
};

//==============================
// * Create Background
//==============================
var _mog_title_particles_createBackground =
  Scene_Title.prototype.createBackground;
Scene_Title.prototype.createBackground = function () {
  _mog_title_particles_createBackground.call(this);
  if (!this._titleField) {
    this.createTitleField();
  }
};

//==============================
// * Create Title Field
//==============================
Scene_Title.prototype.createTitleField = function () {
  this._titleField = new Sprite();
  this.addChild(this._titleField);
};

//==============================
// * Create Background
//==============================
var _mog_titleparticles_createForeground =
  Scene_Title.prototype.createForeground;
Scene_Title.prototype.createForeground = function () {
  this.createParticles();
  _mog_titleparticles_createForeground.call(this);
};

//==============================
// * Create Particles
//==============================
Scene_Title.prototype.createParticles = function () {
  if (!this._titleField) {
    this.createTitleField();
  }
  this._tparticles = [];
  for (var i = 0; i < Moghunter.tparticles_M; i++) {
    this._tparticles[i] = new TitleParticles(i);
    this._tparticles[i].zIndex = Moghunter.tparticles_Z[i];
    this._titleField.addChild(this._tparticles[i]);
  }
};

//=============================================================================
// ** Title Particles
//=============================================================================
function TitleParticles() {
  this.initialize.apply(this, arguments);
}

TitleParticles.prototype = Object.create(Sprite.prototype);
TitleParticles.prototype.constructor = TitleParticles;

//==============================
// * Initialize
//==============================
TitleParticles.prototype.initialize = function (index) {
  Sprite.prototype.initialize.call(this);
  this._index = index;
  this._enabled =
    String(Moghunter.tparticles_V[this._index]) === "true" ? true : false;
  this._t = Number(Moghunter.tparticles_T[this._index]);
  if (this._enabled) {
    this._img = ImageManager.loadTitle2(Moghunter.tparticles_F[this._index]);
    this._start = false;
    this._img._cw = 0;
    this._img._ch = 0;
    this._img._cw2 = 0;
    this._img._ch2 = 0;
  }
};

//==============================
// * get Data
//==============================
TitleParticles.prototype.getData = function () {
  this._img._cw = this._img.width;
  this._img._cw2 = this._img._cw * 3;
  this._img._ch = this._img.height;
  this._img._ch2 = this._img._ch * 3;
  this.createParticles();
};

//==============================
// * create Particles
//==============================
TitleParticles.prototype.createParticles = function () {
  this._spriteP = [];
  for (var i = 0; i < Moghunter.tparticles_N[this._index]; i++) {
    this._spriteP[i] = new Sprite(this._img);
    this._spriteP[i].sx = [0, Number(Moghunter.tparticles_X[this._index])];
    this._spriteP[i].sy = [0, Number(Moghunter.tparticles_Y[this._index])];
    this._spriteP[i].rt = [0, Number(Moghunter.tparticles_R[this._index])];
    this._spriteP[i].blendMode = Number(Moghunter.tparticles_B[this._index]);
    this._spriteP[i].anchor.x = Number(Moghunter.tparticles_A[this._index]);
    this._spriteP[i].anchor.y = Number(Moghunter.tparticles_A[this._index]);
    this._spriteP[i].int = true;
    this._spriteP[i].lef = [
      String(Moghunter.tparticles_L[this._index]) === "true" ? true : false,
      0,
      1.0,
      0,
    ];
    this.addChild(this._spriteP[i]);
    this.refreshParticles(this._spriteP[i]);
  }
  this._start = true;
};

//==============================
// * refresh Particles
//==============================
TitleParticles.prototype.refreshParticles = function (sprite) {
  if (sprite.sx[1] != 0) {
    var r = 0.7 + Math.abs(Math.random() * sprite.sx[1]);
    sprite.sx[0] = sprite.sx[1] > 0 ? r : -r;
  }
  if (sprite.sy[1] != 0) {
    var r = 0.7 + Math.abs(Math.random() * sprite.sy[1]);
    sprite.sy[0] = sprite.sy[1] > 0 ? r : -r;
  }
  if (sprite.rt[1] != 0) {
    var r = 0.03 + Math.abs(Math.random() * sprite.rt[1]);
    sprite.rt[0] = sprite.rt[1] > 0 ? r : -r;
  }
  var r = Math.randomInt(360) * 0.01;
  sprite.rotation = r;
  var pz = Math.random() * 0.5 * 1;
  sprite.scale = new PIXI.Point(0.5 + Number(pz), 0.5 + Number(pz));
  sprite.lef[1] = 0;
  sprite.lef[2] = sprite.scale.x;
  sprite.lef[3] = 120 + Math.randomInt(180);
  sprite.opacity = 0;
  this.setPosition(sprite);
};

//==============================
// * set Position
//==============================
TitleParticles.prototype.setPosition = function (sprite) {
  if (sprite.int) {
    this.setStartPosition(sprite);
  } else {
    this.setPositionX(sprite);
    this.setPositionY(sprite);
  }
};

//==============================
// * set Start Position
//==============================
TitleParticles.prototype.setStartPosition = function (sprite) {
  var r = Math.randomInt(Graphics.boxWidth + this._img._cw2);
  sprite.x = -this._img._cw + r;
  var r = Math.randomInt(Graphics.boxHeight + this._img._ch2);
  sprite.y = -this._img._ch + r;
  sprite.int = false;
};

//==============================
// * set Position X
//==============================
TitleParticles.prototype.setPositionX = function (sprite) {
  if (sprite.sx[1] > 0) {
    var r = Math.randomInt(Graphics.boxWidth - this.lx1(sprite));
    sprite.x = this.lx1(sprite) + r;
  } else if (sprite.sx[1] < 0) {
    var r = Math.randomInt(Graphics.boxWidth - this.lx1(sprite));
    sprite.x = -this.lx1(sprite) + r;
  } else {
    var r = Math.randomInt(Graphics.boxWidth + this._img._cw * 2);
    sprite.x = -this._img._cw + r;
  }
};

//==============================
// * set Position Y
//==============================
TitleParticles.prototype.setPositionY = function (sprite) {
  if (sprite.sy[1] > 0) {
    sprite.y = this.ly1();
  } else if (sprite.sy[1] < 0) {
    sprite.y = this.ly2();
  } else {
    var r = Math.randomInt(Graphics.boxHeight + this._img._ch * 2);
    sprite.y = -this._img._ch + r;
  }
};

//==============================
// * lx1
//==============================
TitleParticles.prototype.lx1 = function (sprite) {
  if (sprite.sx[1] > 0) {
    return -Graphics.boxWidth / 2;
  } else {
    return -this._img._cw2;
  }
};

//==============================
// * lx2
//==============================
TitleParticles.prototype.lx2 = function (sprite) {
  if (sprite.sx[1] > 0) {
    return Graphics.boxWidth + this._img._cw2;
  } else {
    return Graphics.boxWidth + Graphics.boxWidth / 2;
  }
};

//==============================
// * ly1
//==============================
TitleParticles.prototype.ly1 = function (sprite) {
  return -this._img._ch2;
};

//==============================
// * ly2
//==============================
TitleParticles.prototype.ly2 = function (sprite) {
  return Graphics.boxHeight + this._img._ch2;
};

//==============================
// * update Move
//==============================
TitleParticles.prototype.updateMove = function (sprite) {
  sprite.x += sprite.sx[0];
  sprite.y += sprite.sy[0];
  sprite.rotation += sprite.rt[0];
  sprite.opacity += 15;
  if (sprite.lef[0]) {
    this.updateLeaf(sprite);
  }
};

//==============================
// * update Leaf
//==============================
TitleParticles.prototype.updateLeaf = function (sprite) {
  sprite.lef[3]--;
  if (sprite.lef[3] > 0) {
    return;
  }
  sprite.scale.x -= 0.01;
  if (sprite.scale.x < -sprite.lef[2]) {
    sprite.lef[1] = 1;
    sprite.scale.x = -sprite.lef[2];
  }
};

//==============================
// * Need Refresh
//==============================
TitleParticles.prototype.needRefresh = function (sprite) {
  if (sprite.x < this.lx1(sprite)) {
    return true;
  }
  if (sprite.x > this.lx2(sprite)) {
    return true;
  }
  if (sprite.y < this.ly1(sprite)) {
    return true;
  }
  if (sprite.y > this.ly2(sprite)) {
    return true;
  }
  return false;
};

//==============================
// * update Particles
//==============================
TitleParticles.prototype.updateParticles = function () {
  if (this._img.isReady() && !this._start) {
    this.getData();
  }
  if (!this._start) {
    return;
  }
  if (!this._spriteP) {
    return;
  }
  if (this._t > 0) {
    this._t--;
    return;
  }
  for (var i = 0; i < this._spriteP.length; i++) {
    this.updateMove(this._spriteP[i]);
    if (this.needRefresh(this._spriteP[i])) {
      this.refreshParticles(this._spriteP[i]);
    }
  }
};

//==============================
// * Update
//==============================
TitleParticles.prototype.update = function () {
  Sprite.prototype.update.call(this);
  if (this._enabled) {
    this.updateParticles();
  }
};