TEMPLATE

parameters: \i[14]上映バトルでは敵はダメージを与えてこない

parameters: バトルを離脱したい場合は

parameters: 相手を倒すか逃亡を選択する

parameters: シズマはもはや体力が残っていない！

parameters: なすすべなくメルフィの戦いを見つめる！

parameters: -拘束dummyはターン中にbind状態になったとき

parameters: ターン前のアクターコマンドを

parameters: 実行しないための隠しステート

parameters: 戦闘不能になったのち復活したターンの最後に発動

parameters: メルフィを襲っている敵を倒した！

parameters: メルフィを襲っている敵を倒した！

parameters: メルフィを襲っている敵を倒した！

クイーンナイトOP

parameters: \N[2]は\N[1]にポーションを使った！

parameters: a = $dataActors[1].name + 'のＨＰが 500 回復した！'

parameters: \N[2]はポーションを使った！

parameters: a = $dataActors[2].name + 'のＨＰが 500 回復した！'

マツナガ伯爵初戦

parameters: \n<マツナガ伯爵>「その程度で

parameters: 俺に勝てると思ってんのか？\.\|

parameters: \n<マツナガ伯爵>「さあ……

parameters: 苦しむがいい……！！\.\|

parameters: \n<マツナガ伯爵>「そう～……♪

parameters: 苦しめ……苦しめ…………♪

parameters: 苦しみぬいて……\.\|

parameters: \n<マツナガ伯爵>「地獄へ堕ちろ……ッ！！！

parameters: \n<マツナガ伯爵>「あ、そうそう……

parameters: 手に入れたんですけれどね……\.\|

parameters: \n<マツナガ伯爵>「人間て

parameters: こんな道具ですぐ死ぬそうですよ♥\.\|

parameters: \n<マツナガ伯爵>「コラコラ

parameters: \n<マツナガ伯爵>「俺にでけー口叩いたんだ……

parameters: 簡単には死ねネーぞ……？\.\|

parameters: \n<マツナガ伯爵>「もっと楽しもうじゃねぇか

parameters: ダクリマハンターさんよ！\.\|

parameters: \N[1]にポーションを使った！\.\|

parameters: マツナガ伯爵に無理やり引き起こされる！\.\|

parameters: \N[1]はボロボロになった体を

parameters: マツナガ伯爵に無理やり引き起こされる！\.\|

parameters: \N[1]は全身砕け落ちそうな体を

parameters: 無理やり引き起こされる！\.\|

parameters: \n<マツナガ伯爵>「おや？　変ですね……

parameters: 誰かさんが仰っていたのとは

parameters: 様子が違いませんかねえ……？\.\|

parameters: \n<マツナガ伯爵>「可哀相に……

parameters: メルフィちゃんは頼りないですね！

parameters: 助けて差し上げましょう\.\|

parameters: \n<マツナガ伯爵>「オラ

parameters: 寝てんじゃねーぞ……人間！！\.\|

parameters: \N[2]にポーションを使った！\.\|

parameters: マツナガ伯爵に無理やり引き起こされる！\.\|

parameters: \N[2]はボロボロになった体を

parameters: マツナガ伯爵に無理やり引き起こされる！\.\|

parameters: \N[2]は全身砕け落ちそうな体を

parameters: 無理やり引き起こされる！\.\|

parameters: \n<マツナガ伯爵>「ちょっと待て\|\|

parameters: \n<マツナガ伯爵>「お前ら、なんかへんなモン

parameters: \n<マツナガ伯爵>「やってられねえ

parameters: これで決着をつけてやるぜぇ……？

parameters: \n<マツナガ伯爵>「ホッホッホ

parameters: マックスポーションを使った！

parameters: \n<マツナガ伯爵>「さっ

モータルギア１

parameters: \N[2]は\N[1]にポーションを使った！

parameters: \N[2]はポーションを使った！

ヘルバイカー１

parameters: \n<レイコ>「そいつらは侵入者じゃない

parameters: 一刻も早く倒して燃料にしてやれ

parameters: \n<レイコ>「ダクリマは高い魔力の持ち主だ

parameters: 倒せばエネルギーも補充されるし

parameters: 侵入者到達までの時間も短縮されるぞ

parameters: \N[2]は\N[1]にポーションを使った！

parameters: \N[2]はポーションを使った！

ヘルバイカー２

parameters: \n<レイコ>「そいつらは侵入者じゃない

parameters: 一刻も早く倒して燃料にしてやれ

parameters: \n<レイコ>「ダクリマは高い魔力の持ち主だ

parameters: 倒せばエネルギーも補充されるし

parameters: 侵入者到達までの時間も短縮されるぞ

parameters: \N[2]は\N[1]にポーションを使った！

parameters: \N[2]はポーションを使った！

ヘルバイカー３

parameters: \n<レイコ>「そいつらは侵入者じゃない

parameters: 一刻も早く倒して燃料にしてやれ

parameters: \n<レイコ>「ダクリマは高い魔力の持ち主だ

parameters: 倒せばエネルギーも補充されるし

parameters: 侵入者到達までの時間も短縮されるぞ

parameters: \N[2]は\N[1]にポーションを使った！

parameters: \N[2]はポーションを使った！

サイコトロン

parameters: サイコトロンは拘束をしてこないが

parameters: 凌辱時の攻撃停止ステートは

parameters: コモンイベント79で名前で判別して付与する

parameters: \n<レイコ>「対空兵装『サイコトロン』！

parameters: 銃撃でも容易には崩せん！

parameters: \n<ハカセ>「はわわわわわ……

parameters: \n<レイコ>「その上ハカセは

parameters: お前のＰＳＩ攻撃が頼りだ！！

parameters: \n<レイコ>「メルフィ！

parameters: ヘリの自動修復装置を使えっ！\|

parameters: \N[1]は修復装置のレバーを引いた！

parameters: レイコは修復装置のレバーを引いた！

parameters: ハカセの乗るヘリのパイロットは

parameters: 修復装置のレバーを引いた！

ゼルビュート

parameters: ゼルビュートが正体を現した！

parameters: \n<\N[2]>「……いくよメルフィ

parameters: \n<\N[1]>「狩りを始めましょう……！

parameters: 全力で倒さなければならない！

ベリス

parameters: \n<ベリス>「逃げ惑うのはもう終わりか

parameters: \n<ベリス>「私が聞いていたメルフィとは

parameters: 殺戮の凶戦士だったのだがな

parameters: \n<ベリス>「奴隷……？

parameters: \n<\N[1]>「彼のためなら何でもする

parameters: \n<ベリス>「笑止……！

parameters: \n<ベリス>「私は貴様と刃を交えるこの瞬間を

parameters: このオメガナイト・ベリスの剣

parameters: 躱せるものなら躱してみよ！

parameters: \n<ベリス>「とどめだ……！

parameters: \n<ベリス>「ああっ……！！

parameters: ベリスの鎧が破壊された！

parameters: \n<ベリス>「貴様ァ！

parameters: 総長から賜った鎧をよくも！

parameters: \n<\N[1]>「あなたは私と違って

parameters: \n<ベリス>「そんなことはない！

parameters: \n<ベリス>「おのれえッ！！

サイコ研究員２

parameters: \n<サイコ研究者>「ひええ　待ってくれ！

parameters: 頼みたいことがあるんだけど……

サイコ研究員（列車内）

parameters: \n<サイコ研究員>「なんてこった！

parameters: 増強剤持ってきとらんぞっ

parameters: \n<サイコ研究員>「うわ～～　増強剤さえあれば！

parameters: \n<サイコ研究員>「侵入者がいるなんて聞いとらんぞっ

parameters: \n<サイコ研究員>「くそう

parameters: お前たちなどアレさえあればっ

ダクリマクイーン

parameters: そして魔動炉に忌まわしきクイーンが降り立った……！

parameters: \n<\N[2]>「き、きみなのか……

parameters: \n<\N[2]>「アレはクイーンの

parameters: \n<マツナガ伯爵>「ククク……

parameters: 死ね…………マツナガ…………

parameters: \n<マツナガ伯爵>「ご命令とあらば……

parameters: \n<マツナガ伯爵>「しかし！

parameters: \n<マツナガ伯爵>「あの悪意を討ち滅ぼせば

parameters: 帰ってきますよ、シズマ？

parameters: \n<マツナガ伯爵>「昔の想い人が……ね

parameters: \n<\N[1]>「悪意が消えれば……彼女は戻る

parameters: 憎悪も魔力も失って……人間に

parameters: \n<マツナガ伯爵>「『力』を！

parameters: \n<マツナガ伯爵>「しかし討たなければ

parameters: \n<マツナガ伯爵>「このマツナガは陛下のしもべゆえ

parameters: \n<マツナガ伯爵>「このくらいはして差し上げましょう！

parameters: クイーンを覆っていた闇のオーラが取り払われた！

parameters: シズマたちの攻撃が通るようになった！

parameters: 戦ってくれるかいメルフィ

parameters: \n<\N[1]>「……そのためにここにいる

parameters: \n<\N[2]>「じゃあ……いくよ！！

サイコトロン【なし】

parameters: サイコトロンはステートnorecallで対応

ベリス

parameters: \n<ベリス>「逃げ惑うのはもう終わりか

parameters: \n<ベリス>「私が聞いていたメルフィとは

parameters: 殺戮の凶戦士だったのだがな

parameters: \n<ベリス>「奴隷……？

parameters: \n<\N[1]>「彼のためなら何でもする

parameters: \n<ベリス>「笑止……！

parameters: \n<ベリス>「私は貴様と刃を交えるこの瞬間を

parameters: このオメガナイト・ベリスの剣

parameters: 躱せるものなら躱してみよ！

parameters: \n<ベリス>「ああっ……！！

parameters: ベリスの鎧が破壊された！

parameters: \n<ベリス>「貴様ァ！

parameters: 総長から賜った鎧をよくも！

parameters: \n<\N[1]>「あなたは私と違って

parameters: \n<ベリス>「そんなことはない！

parameters: \n<ベリス>「おのれえッ！！

repo_name: onms/melphias

license: unknown


description:
PSIのパワーを増幅して剣型に形成する魔動器
敵に斬りかかることができる

description:
PSIのパワーを増幅して剣型に形成する魔動器
Lv2では敵2体にランダムで襲いかかる

note:
<mat1:I60*1>
<matKey:1>
<skill_id:4>

description:
PSIのパワーを増幅して剣型に形成する魔動器
敵に斬りかかることができる

note:
<mat1:I61*1>
<matKey:1>
<skill_id:5>

description:
PSIのパワーを増幅して剣型に形成する魔動器
敵に斬りかかることができる

note:
<mat1:I62*1>
<matKey:1>
<skill_id:6>

PSIアクセラLvMAX

description:
PSIのパワーを増幅して剣型に形成する魔動器
敵に斬りかかることができる

note:
<mat1:I63*1>
<matKey:1>
<skill_id:7>

description: ファイアブーストが装着されたPSIアクセラLv1

description:
ファイアブーストが装着されたPSIアクセラLv2
Lv2では敵2体にランダムで襲いかかる

description: ファイアブーストが装着されたPSIアクセラLv3

description: ファイアブーストが装着されたPSIアクセラLv4

PSIアクセラLvMAX[炎]

description: ファイアブーストが装着されたPSIアクセラLvMAX

description: アイスブーストが装着されたPSIアクセラLv1

description:
アイスブーストが装着されたPSIアクセラLv2
Lv2では敵2体にランダムで襲いかかる

description: アイスブーストが装着されたPSIアクセラLv3

description: アイスブーストが装着されたPSIアクセラLv4

PSIアクセラLvMAX[氷]

description: アイスブーストが装着されたPSIアクセラLvMAX

アタックナイフ

description: コンパクトながら確かな切れ味

アタックナイフ[炎]

description:
コンパクトながら確かな切れ味
炎上ブースト改造済み

アタックナイフ[氷]

description:
コンパクトながら確かな切れ味
氷結ブースト改造済み

ジャッカーズ

description: 折り畳み式のいかついナイフ

ジャッカーズ[炎]

description:
折り畳み式のいかついナイフ
炎上ブースト改造済み

ジャッカーズ[氷]

description:
折り畳み式のいかついナイフ
氷結ブースト改造済み

アーシングソード

description: 強化鉄の刃を持つ剣

アーシングソード[炎]

description:
強化鉄の刃を持つ剣
炎上ブースト改造済み

アーシングソード[氷]

description:
強化鉄の刃を持つ剣
氷結ブースト改造済み

ソレイル

description: 細身の刀身であらゆるものを切り裂く剣

ソレイル[炎]

description:
細身の刀身であらゆるものを切り裂く剣
炎上ブースト改造済み

ソレイル[氷]

description:
細身の刀身であらゆるものを切り裂く剣
氷結ブースト改造済み

ラピッドレイズ

description: 柄の部分に組み込まれた加速装置で連続2回攻撃可能

ラピッドレイズ[炎]

description:
幅広の刃を持った古代の剣
炎上ブースト改造済み

ラピッドレイズ[氷]

description:
幅広の刃を持った古代の剣
氷結ブースト改造済み

グラディア

description: 幅広の刃を持った古代の剣

グラディア[炎]

description:
幅広の刃を持った古代の剣
炎上ブースト改造済み

グラディア[氷]

description:
幅広の刃を持った古代の剣
氷結ブースト改造済み

クレイルファング

description: そこそこの体力がないと扱えない両手持ちの大剣

クレイルファング[炎]

description:
そこそこの体力がないと扱えない両手持ちの大剣
炎上ブースト改造済み

クレイルファング[氷]

description:
そこそこの体力がないと扱えない両手持ちの大剣
氷結ブースト改造済み

デランジャイル

description: 鈍色に光る小型の拳銃

デランジャイル[炎]

description:
鈍色に光る小型の拳銃
炎上ブースト改造済み

デランジャイル[氷]

description:
鈍色に光る小型の拳銃
氷結ブースト改造済み

ゴースガバメント

description: もともと軍で採用されていた破壊力の高い拳銃

ゴースガバメント[炎]

description:
もともと軍で採用されていた破壊力の高い拳銃
炎上ブースト改造済み

ゴースガバメント[氷]

description:
もともと軍で採用されていた破壊力の高い拳銃
氷結ブースト改造済み

description: 弾丸を連続発射できる高い攻撃力をもつ機械の銃

description:
弾丸を連続発射できる高い攻撃力をもつ機械の銃
炎上ブースト改造済み

description:
弾丸を連続発射できる高い攻撃力をもつ機械の銃
氷結ブースト改造済み

天叢雲

description:
神剣アメノムラクモをモチーフに開発された剣
この世で最も鋭い切れ味をもつ

天叢雲[炎]

description:
神剣アメノムラクモをモチーフに開発された剣
この世で最も鋭い切れ味をもつ

天叢雲[氷]

description:
神剣アメノムラクモをモチーフに開発された剣
この世で最も鋭い切れ味をもつ

ナイトサーベル

description: クイーン騎士団の剣

ダークコーダ

description: 騎士団騎士長だけに授けられる漆黒の魔剣


code:
var PIXI;
(function (PIXI) {
    var tilemap;
    (function (tilemap) {
        var CanvasTileRenderer = (function () {
            function CanvasTileRenderer(renderer) {
                this.tileAnim = [0, 0];
                this.dontUseTransform = false;
                this.renderer = renderer;
                this.tileAnim = [0, 0];
            }
            return CanvasTileRenderer;
        }());
        tilemap.CanvasTileRenderer = CanvasTileRenderer;
        PIXI.CanvasRenderer.registerPlugin('tilemap', CanvasTileRenderer);
    })(tilemap = PIXI.tilemap || (PIXI.tilemap = {}));
})(PIXI || (PIXI = {}));
var __extends = (this && this.__extends) || (function () {
    var extendStatics = Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var PIXI;
(function (PIXI) {
    var tilemap;
    (function (tilemap) {
        var CompositeRectTileLayer = (function (_super) {
            __extends(CompositeRectTileLayer, _super);
            function CompositeRectTileLayer(zIndex, bitmaps, useSquare, texPerChild) {
                var _this = _super.call(this) || this;
                _this.shadowColor = new Float32Array([0.0, 0.0, 0.0, 0.5]);
                _this.modificationMarker = 0;
                _this._globalMat = null;
                _this._tempScale = null;
                _this.initialize.apply(_this, arguments);
                return _this;
            }
            CompositeRectTileLayer.prototype.updateTransform = function () {
                _super.prototype.displayObjectUpdateTransform.call(this);
            };
            CompositeRectTileLayer.prototype.initialize = function (zIndex, bitmaps, useSquare, texPerChild) {
                this.z = this.zIndex = zIndex;
                this.useSquare = useSquare;
                this.texPerChild = texPerChild || 16;
                if (bitmaps) {
                    this.setBitmaps(bitmaps);
                }
            };
            CompositeRectTileLayer.prototype.setBitmaps = function (bitmaps) {
                var texPerChild = this.texPerChild;
                var len1 = this.children.length;
                var len2 = Math.ceil(bitmaps.length / texPerChild);
                var i;
                for (i = 0; i < len1; i++) {
                    this.children[i].textures = bitmaps.slice(i * texPerChild, (i + 1) * texPerChild);
                }
                for (i = len1; i < len2; i++) {
                    this.addChild(new tilemap.RectTileLayer(this.zIndex, bitmaps.slice(i * texPerChild, (i + 1) * texPerChild)));
                }
            };
            CompositeRectTileLayer.prototype.clear = function () {
                for (var i = 0; i < this.children.length; i++)
                    this.children[i].clear();
                this.modificationMarker = 0;
            };
            CompositeRectTileLayer.prototype.addRect = function (num, u, v, x, y, tileWidth, tileHeight) {
                if (this.children[num] && this.children[num].textures)
                    this.children[num].addRect(0, u, v, x, y, tileWidth, tileHeight);
            };
            CompositeRectTileLayer.prototype.addFrame = function (texture_, x, y, animX, animY) {
                var texture;
                var layer = null, ind = 0;
                var children = this.children;
                if (typeof texture_ === "number") {
                    var childIndex = texture_ / this.texPerChild >> 0;
                    layer = children[childIndex];
                    if (!layer) {
                        layer = children[0];
                        if (!layer) {
                            return false;
                        }
                        ind = 0;
                    }
                    else {
                        ind = texture_ % this.texPerChild;
                    }
                    texture = layer.textures[ind];
                }
                else if (typeof texture_ === "string") {
                    texture = PIXI.Texture.fromImage(texture_);
                }
                else {
                    texture = texture_;
                    for (var i = 0; i < children.length; i++) {
                        var child = children[i];
                        var tex = child.textures;
                        for (var j = 0; j < tex.length; j++) {
                            if (tex[j].baseTexture == texture.baseTexture) {
                                layer = child;
                                ind = j;
                                break;
                            }
                        }
                        if (layer) {
                            break;
                        }
                    }
                    if (!layer) {
                        for (i = 0; i < children.length; i++) {
                            var child = children[i];
                            if (child.textures.length < this.texPerChild) {
                                layer = child;
                                ind = child.textures.length;
                                child.textures.push(texture);
                                break;
                            }
                        }
                        if (!layer) {
                            children.push(layer = new tilemap.RectTileLayer(this.zIndex, texture));
                            ind = 0;
                        }
                    }
                }
                layer.addRect(ind, texture.frame.x, texture.frame.y, x, y, texture.frame.width, texture.frame.height, animX, animY);
                return true;
            };
            ;
            CompositeRectTileLayer.prototype.renderCanvas = function (renderer) {
                if (!renderer.plugins.tilemap.dontUseTransform) {
                    var wt = this.worldTransform;
                    renderer.context.setTransform(wt.a, wt.b, wt.c, wt.d, wt.tx * renderer.resolution, wt.ty * renderer.resolution);
                }
                var layers = this.children;
                for (var i = 0; i < layers.length; i++)
                    layers[i].renderCanvas(renderer);
            };
            ;
            CompositeRectTileLayer.prototype.renderWebGL = function (renderer) {
                var gl = renderer.gl;
                var shader = renderer.plugins.tilemap.getShader(this.useSquare);
                renderer.setObjectRenderer(renderer.plugins.tilemap);
                renderer.bindShader(shader);
                this._globalMat = this._globalMat || new PIXI.Matrix();
                renderer._activeRenderTarget.projectionMatrix.copy(this._globalMat).append(this.worldTransform);
                shader.uniforms.projectionMatrix = this._globalMat.toArray(true);
                shader.uniforms.shadowColor = this.shadowColor;
                if (this.useSquare) {
                    var tempScale = this._tempScale = (this._tempScale || [0, 0]);
                    tempScale[0] = this._globalMat.a >= 0 ? 1 : -1;
                    tempScale[1] = this._globalMat.d < 0 ? 1 : -1;
                    var ps = shader.uniforms.pointScale = tempScale;
                    shader.uniforms.projectionScale = Math.abs(this.worldTransform.a) * renderer.resolution;
                }
                var af = shader.uniforms.animationFrame = renderer.plugins.tilemap.tileAnim;
                var layers = this.children;
                for (var i = 0; i < layers.length; i++)
                    layers[i].renderWebGL(renderer, this.useSquare);
            };
            CompositeRectTileLayer.prototype.isModified = function (anim) {
                var layers = this.children;
                if (this.modificationMarker != layers.length) {
                    return true;
                }
                for (var i = 0; i < layers.length; i++) {
                    var layer = layers[i];
                    if (layer.modificationMarker != layer.pointsBuf.length ||
                        anim && layer.hasAnim) {
                        return true;
                    }
                }
                return false;
            };
            CompositeRectTileLayer.prototype.clearModify = function () {
                var layers = this.children;
                this.modificationMarker = layers.length;
                for (var i = 0; i < layers.length; i++) {
                    var layer = layers[i];
                    layer.modificationMarker = layer.pointsBuf.length;
                }
            };
            return CompositeRectTileLayer;
        }(PIXI.Container));
        tilemap.CompositeRectTileLayer = CompositeRectTileLayer;
    })(tilemap = PIXI.tilemap || (PIXI.tilemap = {}));
})(PIXI || (PIXI = {}));
var PIXI;
(function (PIXI) {
    var tilemap;
    (function (tilemap) {
        var GraphicsLayer = (function (_super) {
            __extends(GraphicsLayer, _super);
            function GraphicsLayer(zIndex) {
                var _this = _super.call(this) || this;
                _this.z = _this.zIndex = zIndex;
                return _this;
            }
            GraphicsLayer.prototype.renderCanvas = function (renderer) {
                var wt = null;
                if (renderer.plugins.tilemap.dontUseTransform) {
                    wt = this.transform.worldTransform;
                    this.transform.worldTransform = PIXI.Matrix.IDENTITY;
                }
                renderer.plugins.graphics.render(this);
                if (renderer.plugins.tilemap.dontUseTransform) {
                    this.transform.worldTransform = wt;
                }
                renderer.context.globalAlpha = 1.0;
            };
            GraphicsLayer.prototype.renderWebGL = function (renderer) {
                if (!this._webGL[renderer.CONTEXT_UID])
                    this.dirty = true;
                _super.prototype.renderWebGL.call(this, renderer);
            };
            GraphicsLayer.prototype.isModified = function (anim) {
                return false;
            };
            GraphicsLayer.prototype.clearModify = function () {
            };
            return GraphicsLayer;
        }(PIXI.Graphics));
    })(tilemap = PIXI.tilemap || (PIXI.tilemap = {}));
})(PIXI || (PIXI = {}));
var PIXI;
(function (PIXI) {
    var tilemap;
    (function (tilemap) {
        var RectTileLayer = (function (_super) {
            __extends(RectTileLayer, _super);
            function RectTileLayer(zIndex, texture) {
                var _this = _super.call(this) || this;
                _this.z = 0;
                _this.zIndex = 0;
                _this.pointsBuf = [];
                _this._tempSize = new Float32Array([0, 0]);
                _this._tempTexSize = 1;
                _this.modificationMarker = 0;
                _this.hasAnim = false;
                _this.vbId = 0;
                _this.vbBuffer = null;
                _this.vbArray = null;
                _this.vbInts = null;
                _this.initialize(zIndex, texture);
                return _this;
            }
            RectTileLayer.prototype.initialize = function (zIndex, textures) {
                if (!textures) {
                    textures = [];
                }
                else if (!(textures instanceof Array) && textures.baseTexture) {
                    textures = [textures];
                }
                this.textures = textures;
                this.z = this.zIndex = zIndex;
                this.visible = false;
            };
            RectTileLayer.prototype.clear = function () {
                this.pointsBuf.length = 0;
                this.modificationMarker = 0;
                this.hasAnim = false;
            };
            RectTileLayer.prototype.renderCanvas = function (renderer) {
                if (this.textures.length === 0)
                    return;
                var points = this.pointsBuf;
                renderer.context.fillStyle = '#000000';
                for (var i = 0, n = points.length; i < n; i += 9) {
                    var x1 = points[i], y1 = points[i + 1];
                    var x2 = points[i + 2], y2 = points[i + 3];
                    var w = points[i + 4];
                    var h = points[i + 5];
                    x1 += points[i + 6] * renderer.plugins.tilemap.tileAnim[0];
                    y1 += points[i + 7] * renderer.plugins.tilemap.tileAnim[1];
                    var textureId = points[i + 8];
                    if (textureId >= 0) {
                        renderer.context.drawImage(this.textures[textureId].baseTexture.source, x1, y1, w, h, x2, y2, w, h);
                    }
                    else {
                        renderer.context.globalAlpha = 0.5;
                        renderer.context.fillRect(x2, y2, w, h);
                        renderer.context.globalAlpha = 1;
                    }
                }
            };
            RectTileLayer.prototype.addRect = function (textureId, u, v, x, y, tileWidth, tileHeight, animX, animY) {
                if (animX === void 0) { animX = 0; }
                if (animY === void 0) { animY = 0; }
                var pb = this.pointsBuf;
                this.hasAnim = this.hasAnim || animX > 0 || animY > 0;
                if (tileWidth == tileHeight) {
                    pb.push(u);
                    pb.push(v);
                    pb.push(x);
                    pb.push(y);
                    pb.push(tileWidth);
                    pb.push(tileHeight);
                    pb.push(animX | 0);
                    pb.push(animY | 0);
                    pb.push(textureId);
                }
                else {
                    var i;
                    if (tileWidth % tileHeight === 0) {
                        for (i = 0; i < tileWidth / tileHeight; i++) {
                            pb.push(u + i * tileHeight);
                            pb.push(v);
                            pb.push(x + i * tileHeight);
                            pb.push(y);
                            pb.push(tileHeight);
                            pb.push(tileHeight);
                            pb.push(animX | 0);
                            pb.push(animY | 0);
                            pb.push(textureId);
                        }
                    }
                    else if (tileHeight % tileWidth === 0) {
                        for (i = 0; i < tileHeight / tileWidth; i++) {
                            pb.push(u);
                            pb.push(v + i * tileWidth);
                            pb.push(x);
                            pb.push(y + i * tileWidth);
                            pb.push(tileWidth);
                            pb.push(tileWidth);
                            pb.push(animX | 0);
                            pb.push(animY | 0);
                            pb.push(textureId);
                        }
                    }
                    else {
                        pb.push(u);
                        pb.push(v);
                        pb.push(x);
                        pb.push(y);
                        pb.push(tileWidth);
                        pb.push(tileHeight);
                        pb.push(animX | 0);
                        pb.push(animY | 0);
                        pb.push(textureId);
                    }
                }
            };
            ;
            RectTileLayer.prototype.renderWebGL = function (renderer, useSquare) {
                if (useSquare === void 0) { useSquare = false; }
                var points = this.pointsBuf;
                if (points.length === 0)
                    return;
                var rectsCount = points.length / 9;
                var tile = renderer.plugins.tilemap;
                var gl = renderer.gl;
                if (!useSquare) {
                    tile.checkIndexBuffer(rectsCount);
                }
                var shader = tile.getShader(useSquare);
                var textures = this.textures;
                if (textures.length === 0)
                    return;
                var len = textures.length;
                if (this._tempTexSize < shader.maxTextures) {
                    this._tempTexSize = shader.maxTextures;
                    this._tempSize = new Float32Array(2 * shader.maxTextures);
                }
                for (var i = 0; i < len; i++) {
                    if (!textures[i] || !textures[i].valid)
                        return;
                    var texture = textures[i].baseTexture;
                }
                tile.bindTextures(renderer, shader, textures);
                var vb = tile.getVb(this.vbId);
                if (!vb) {
                    vb = tile.createVb(useSquare);
                    this.vbId = vb.id;
                    this.vbBuffer = null;
                    this.modificationMarker = 0;
                }
                var vao = vb.vao;
                renderer.bindVao(vao);
                var vertexBuf = vb.vb;
                vertexBuf.bind();
                var vertices = rectsCount * shader.vertPerQuad;
                if (vertices === 0)
                    return;
                if (this.modificationMarker != vertices) {
                    this.modificationMarker = vertices;
                    var vs = shader.stride * vertices;
                    if (!this.vbBuffer || this.vbBuffer.byteLength < vs) {
                        var bk = shader.stride;
                        while (bk < vs) {
                            bk *= 2;
                        }
                        this.vbBuffer = new ArrayBuffer(bk);
                        this.vbArray = new Float32Array(this.vbBuffer);
                        this.vbInts = new Uint32Array(this.vbBuffer);
                        vertexBuf.upload(this.vbBuffer, 0, true);
                    }
                    var arr = this.vbArray, ints = this.vbInts;
                    var sz = 0;
                    var textureId, shiftU, shiftV;
                    if (useSquare) {
                        for (i = 0; i < points.length; i += 9) {
                            textureId = (points[i + 8] >> 2);
                            shiftU = 1024 * (points[i + 8] & 1);
                            shiftV = 1024 * ((points[i + 8] >> 1) & 1);
                            arr[sz++] = points[i + 2];
                            arr[sz++] = points[i + 3];
                            arr[sz++] = points[i + 0] + shiftU;
                            arr[sz++] = points[i + 1] + shiftV;
                            arr[sz++] = points[i + 4];
                            arr[sz++] = points[i + 6];
                            arr[sz++] = points[i + 7];
                            arr[sz++] = textureId;
                        }
                    }
                    else {
                        var tint = -1;
                        for (i = 0; i < points.length; i += 9) {
                            var eps = 0.5;
                            textureId = (points[i + 8] >> 2);
                            shiftU = 1024 * (points[i + 8] & 1);
                            shiftV = 1024 * ((points[i + 8] >> 1) & 1);
                            var x = points[i + 2], y = points[i + 3];
                            var w = points[i + 4], h = points[i + 5];
                            var u = points[i] + shiftU, v = points[i + 1] + shiftV;
                            var animX = points[i + 6], animY = points[i + 7];
                            arr[sz++] = x;
                            arr[sz++] = y;
                            arr[sz++] = u;
                            arr[sz++] = v;
                            arr[sz++] = u + eps;
                            arr[sz++] = v + eps;
                            arr[sz++] = u + w - eps;
                            arr[sz++] = v + h - eps;
                            arr[sz++] = animX;
                            arr[sz++] = animY;
                            arr[sz++] = textureId;
                            arr[sz++] = x + w;
                            arr[sz++] = y;
                            arr[sz++] = u + w;
                            arr[sz++] = v;
                            arr[sz++] = u + eps;
                            arr[sz++] = v + eps;
                            arr[sz++] = u + w - eps;
                            arr[sz++] = v + h - eps;
                            arr[sz++] = animX;
                            arr[sz++] = animY;
                            arr[sz++] = textureId;
                            arr[sz++] = x + w;
                            arr[sz++] = y + h;
                            arr[sz++] = u + w;
                            arr[sz++] = v + h;
                            arr[sz++] = u + eps;
                            arr[sz++] = v + eps;
                            arr[sz++] = u + w - eps;
                            arr[sz++] = v + h - eps;
                            arr[sz++] = animX;
                            arr[sz++] = animY;
                            arr[sz++] = textureId;
                            arr[sz++] = x;
                            arr[sz++] = y + h;
                            arr[sz++] = u;
                            arr[sz++] = v + h;
                            arr[sz++] = u + eps;
                            arr[sz++] = v + eps;
                            arr[sz++] = u + w - eps;
                            arr[sz++] = v + h - eps;
                            arr[sz++] = animX;
                            arr[sz++] = animY;
                            arr[sz++] = textureId;
                        }
                    }
                    vertexBuf.upload(arr, 0, true);
                }
                if (useSquare)
                    gl.drawArrays(gl.POINTS, 0, vertices);
                else
                    gl.drawElements(gl.TRIANGLES, rectsCount * 6, gl.UNSIGNED_SHORT, 0);
            };
            return RectTileLayer;
        }(PIXI.Container));
        tilemap.RectTileLayer = RectTileLayer;
    })(tilemap = PIXI.tilemap || (PIXI.tilemap = {}));
})(PIXI || (PIXI = {}));
var PIXI;
(function (PIXI) {
    var tilemap;
    (function (tilemap) {
        var rectShaderFrag = "varying vec2 vTextureCoord;\nvarying vec4 vFrame;\nvarying float vTextureId;\nuniform vec4 shadowColor;\nuniform sampler2D uSamplers[%count%];\nuniform vec2 uSamplerSize[%count%];\n\nvoid main(void){\n   vec2 textureCoord = clamp(vTextureCoord, vFrame.xy, vFrame.zw);\n   float textureId = floor(vTextureId + 0.5);\n\n   vec4 color;\n   %forloop%\n   gl_FragColor = color;\n}";
        var rectShaderVert = "\nattribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\nattribute vec4 aFrame;\nattribute vec2 aAnim;\nattribute float aTextureId;\n\nuniform mat3 projectionMatrix;\nuniform vec2 animationFrame;\n\nvarying vec2 vTextureCoord;\nvarying float vTextureId;\nvarying vec4 vFrame;\n\nvoid main(void){\n   gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n   vec2 anim = aAnim * animationFrame;\n   vTextureCoord = aTextureCoord + anim;\n   vFrame = aFrame + vec4(anim, anim);\n   vTextureId = aTextureId;\n}\n";
        var TilemapShader = (function (_super) {
            __extends(TilemapShader, _super);
            function TilemapShader(gl, maxTextures, shaderVert, shaderFrag) {
                var _this = _super.call(this, gl, shaderVert, shaderFrag) || this;
                _this.maxTextures = 0;
                _this.maxTextures = maxTextures;
                tilemap.shaderGenerator.fillSamplers(_this, _this.maxTextures);
                return _this;
            }
            return TilemapShader;
        }(PIXI.Shader));
        tilemap.TilemapShader = TilemapShader;
        var RectTileShader = (function (_super) {
            __extends(RectTileShader, _super);
            function RectTileShader(gl, maxTextures) {
                var _this = _super.call(this, gl, maxTextures, rectShaderVert, tilemap.shaderGenerator.generateFragmentSrc(maxTextures, rectShaderFrag)) || this;
                _this.vertSize = 11;
                _this.vertPerQuad = 4;
                _this.stride = _this.vertSize * 4;
                tilemap.shaderGenerator.fillSamplers(_this, _this.maxTextures);
                return _this;
            }
            RectTileShader.prototype.createVao = function (renderer, vb) {
                var gl = renderer.gl;
                return renderer.createVao()
                    .addIndex(this.indexBuffer)
                    .addAttribute(vb, this.attributes.aVertexPosition, gl.FLOAT, false, this.stride, 0)
                    .addAttribute(vb, this.attributes.aTextureCoord, gl.FLOAT, false, this.stride, 2 * 4)
                    .addAttribute(vb, this.attributes.aFrame, gl.FLOAT, false, this.stride, 4 * 4)
                    .addAttribute(vb, this.attributes.aAnim, gl.FLOAT, false, this.stride, 8 * 4)
                    .addAttribute(vb, this.attributes.aTextureId, gl.FLOAT, false, this.stride, 10 * 4);
            };
            return RectTileShader;
        }(TilemapShader));
        tilemap.RectTileShader = RectTileShader;
    })(tilemap = PIXI.tilemap || (PIXI.tilemap = {}));
})(PIXI || (PIXI = {}));
var PIXI;
(function (PIXI) {
    var tilemap;
    (function (tilemap) {
        var shaderGenerator;
        (function (shaderGenerator) {
            function fillSamplers(shader, maxTextures) {
                var sampleValues = [];
                for (var i = 0; i < maxTextures; i++) {
                    sampleValues[i] = i;
                }
                shader.bind();
                shader.uniforms.uSamplers = sampleValues;
                var samplerSize = [];
                for (i = 0; i < maxTextures; i++) {
                    samplerSize.push(1.0 / 2048);
                    samplerSize.push(1.0 / 2048);
                }
                shader.uniforms.uSamplerSize = samplerSize;
            }
            shaderGenerator.fillSamplers = fillSamplers;
            function generateFragmentSrc(maxTextures, fragmentSrc) {
                return fragmentSrc.replace(/%count%/gi, maxTextures + "")
                    .replace(/%forloop%/gi, this.generateSampleSrc(maxTextures));
            }
            shaderGenerator.generateFragmentSrc = generateFragmentSrc;
            function generateSampleSrc(maxTextures) {
                var src = '';
                src += '\n';
                src += '\n';
                src += 'if(vTextureId <= -1.0) {';
                src += '\n\tcolor = shadowColor;';
                src += '\n}';
                for (var i = 0; i < maxTextures; i++) {
                    src += '\nelse ';
                    if (i < maxTextures - 1) {
                        src += 'if(textureId == ' + i + '.0)';
                    }
                    src += '\n{';
                    src += '\n\tcolor = texture2D(uSamplers[' + i + '], textureCoord * uSamplerSize[' + i + ']);';
                    src += '\n}';
                }
                src += '\n';
                src += '\n';
                return src;
            }
            shaderGenerator.generateSampleSrc = generateSampleSrc;
        })(shaderGenerator = tilemap.shaderGenerator || (tilemap.shaderGenerator = {}));
    })(tilemap = PIXI.tilemap || (PIXI.tilemap = {}));
})(PIXI || (PIXI = {}));
var PIXI;
(function (PIXI) {
    var tilemap;
    (function (tilemap) {
        var squareShaderVert = "\nattribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\nattribute vec2 aAnim;\nattribute float aTextureId;\nattribute float aSize;\n\nuniform mat3 projectionMatrix;\nuniform vec2 samplerSize;\nuniform vec2 animationFrame;\nuniform float projectionScale;\n\nvarying vec2 vTextureCoord;\nvarying float vSize;\nvarying float vTextureId;\n\nvoid main(void){\n   gl_Position = vec4((projectionMatrix * vec3(aVertexPosition + aSize * 0.5, 1.0)).xy, 0.0, 1.0);\n   gl_PointSize = aSize * projectionScale;\n   vTextureCoord = aTextureCoord + aAnim * animationFrame;\n   vTextureId = aTextureId;\n   vSize = aSize;\n}\n";
        var squareShaderFrag = "\nvarying vec2 vTextureCoord;\nvarying float vSize;\nvarying float vTextureId;\n\nuniform vec4 shadowColor;\nuniform sampler2D uSamplers[%count%];\nuniform vec2 uSamplerSize[%count%];\nuniform vec2 pointScale;\n\nvoid main(void){\n   float margin = 0.5 / vSize;\n   vec2 pointCoord = (gl_PointCoord - 0.5) * pointScale + 0.5;\n   vec2 clamped = vec2(clamp(pointCoord.x, margin, 1.0 - margin), clamp(pointCoord.y, margin, 1.0 - margin));\n   vec2 textureCoord = pointCoord * vSize + vTextureCoord;\n   float textureId = vTextureId;\n   vec4 color;\n   %forloop%\n   gl_FragColor = color;\n}\n\n";
        var SquareTileShader = (function (_super) {
            __extends(SquareTileShader, _super);
            function SquareTileShader(gl, maxTextures) {
                var _this = _super.call(this, gl, maxTextures, squareShaderVert, tilemap.shaderGenerator.generateFragmentSrc(maxTextures, squareShaderFrag)) || this;
                _this.vertSize = 8;
                _this.vertPerQuad = 1;
                _this.stride = _this.vertSize * 4;
                _this.maxTextures = maxTextures;
                tilemap.shaderGenerator.fillSamplers(_this, _this.maxTextures);
                return _this;
            }
            SquareTileShader.prototype.createVao = function (renderer, vb) {
                var gl = renderer.gl;
                return renderer.createVao()
                    .addIndex(this.indexBuffer)
                    .addAttribute(vb, this.attributes.aVertexPosition, gl.FLOAT, false, this.stride, 0)
                    .addAttribute(vb, this.attributes.aTextureCoord, gl.FLOAT, false, this.stride, 2 * 4)
                    .addAttribute(vb, this.attributes.aSize, gl.FLOAT, false, this.stride, 4 * 4)
                    .addAttribute(vb, this.attributes.aAnim, gl.FLOAT, false, this.stride, 5 * 4)
                    .addAttribute(vb, this.attributes.aTextureId, gl.FLOAT, false, this.stride, 7 * 4);
            };
            ;
            return SquareTileShader;
        }(tilemap.TilemapShader));
        tilemap.SquareTileShader = SquareTileShader;
    })(tilemap = PIXI.tilemap || (PIXI.tilemap = {}));
})(PIXI || (PIXI = {}));
var PIXI;
(function (PIXI) {
    var tilemap;
    (function (tilemap) {
        var glCore = PIXI.glCore;
        function _hackSubImage(tex, sprite, clearBuffer, clearWidth, clearHeight) {
            var gl = tex.gl;
            var baseTex = sprite.texture.baseTexture;
            if (clearBuffer && clearWidth > 0 && clearHeight > 0) {
                gl.texSubImage2D(gl.TEXTURE_2D, 0, sprite.position.x, sprite.position.y, clearWidth, clearHeight, tex.format, tex.type, clearBuffer);
            }
            gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1);
            gl.texSubImage2D(gl.TEXTURE_2D, 0, sprite.position.x, sprite.position.y, tex.format, tex.type, baseTex.source);
        }
        var TileRenderer = (function (_super) {
            __extends(TileRenderer, _super);
            function TileRenderer(renderer) {
                var _this = _super.call(this, renderer) || this;
                _this.vbs = {};
                _this.indices = new Uint16Array(0);
                _this.lastTimeCheck = 0;
                _this.tileAnim = [0, 0];
                _this.maxTextures = 4;
                _this.texLoc = [];
                return _this;
            }
            TileRenderer.prototype.onContextChange = function () {
                var gl = this.renderer.gl;
                var maxTextures = this.maxTextures;
                this.rectShader = new tilemap.RectTileShader(gl, maxTextures);
                this.squareShader = new tilemap.SquareTileShader(gl, maxTextures);
                this.checkIndexBuffer(2000);
                this.rectShader.indexBuffer = this.indexBuffer;
                this.squareShader.indexBuffer = this.indexBuffer;
                this.vbs = {};
                this.glTextures = [];
                this.boundSprites = [];
                this.initBounds();
            };
            TileRenderer.prototype.initBounds = function () {
                var gl = this.renderer.gl;
                var tempCanvas = document.createElement('canvas');
                tempCanvas.width = 2048;
                tempCanvas.height = 2048;
                for (var i = 0; i < this.maxTextures; i++) {
                    var rt = PIXI.RenderTexture.create(2048, 2048);
                    rt.baseTexture.premultipliedAlpha = true;
                    rt.baseTexture.scaleMode = TileRenderer.SCALE_MODE;
                    rt.baseTexture.wrapMode = PIXI.WRAP_MODES.CLAMP;
                    this.renderer.textureManager.updateTexture(rt);
                    this.glTextures.push(rt);
                    var bs = [];
                    for (var j = 0; j < 4; j++) {
                        var spr = new PIXI.Sprite();
                        spr.position.x = 1024 * (j & 1);
                        spr.position.y = 1024 * (j >> 1);
                        bs.push(spr);
                    }
                    this.boundSprites.push(bs);
                }
            };
            TileRenderer.prototype.bindTextures = function (renderer, shader, textures) {
                var bounds = this.boundSprites;
                var glts = this.glTextures;
                var len = textures.length;
                var maxTextures = this.maxTextures;
                if (len > 4 * maxTextures) {
                    return;
                }
                var doClear = TileRenderer.DO_CLEAR;
                if (doClear && !this._clearBuffer) {
                    this._clearBuffer = new Uint8Array(1024 * 1024 * 4);
                }
                var i;
                for (i = 0; i < len; i++) {
                    var texture = textures[i];
                    if (!texture || !textures[i].valid)
                        continue;
                    var bs = bounds[i >> 2][i & 3];
                    if (!bs.texture ||
                        bs.texture.baseTexture !== texture.baseTexture) {
                        bs.texture = texture;
                        var glt = glts[i >> 2];
                        renderer.bindTexture(glt, 0, true);
                        if (doClear) {
                            _hackSubImage(glt.baseTexture._glTextures[renderer.CONTEXT_UID], bs, this._clearBuffer, 1024, 1024);
                        }
                        else {
                            _hackSubImage(glt.baseTexture._glTextures[renderer.CONTEXT_UID], bs);
                        }
                    }
                }
                this.texLoc.length = 0;
                for (i = 0; i < maxTextures; i++) {
                    this.texLoc.push(renderer.bindTexture(glts[i], i, true));
                }
                shader.uniforms.uSamplers = this.texLoc;
            };
            TileRenderer.prototype.checkLeaks = function () {
                var now = Date.now();
                var old = now - 10000;
                if (this.lastTimeCheck < old ||
                    this.lastTimeCheck > now) {
                    this.lastTimeCheck = now;
                    var vbs = this.vbs;
                    for (var key in vbs) {
                        if (vbs[key].lastTimeAccess < old) {
                            this.removeVb(key);
                        }
                    }
                }
            };
            ;
            TileRenderer.prototype.start = function () {
                this.renderer.state.setBlendMode(PIXI.BLEND_MODES.NORMAL);
            };
            TileRenderer.prototype.getVb = function (id) {
                this.checkLeaks();
                var vb = this.vbs[id];
                if (vb) {
                    vb.lastAccessTime = Date.now();
                    return vb;
                }
                return null;
            };
            TileRenderer.prototype.createVb = function (useSquare) {
                var id = ++TileRenderer.vbAutoincrement;
                var shader = this.getShader(useSquare);
                var gl = this.renderer.gl;
                var vb = PIXI.glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW);
                var stuff = {
                    id: id,
                    vb: vb,
                    vao: shader.createVao(this.renderer, vb),
                    lastTimeAccess: Date.now(),
                    useSquare: useSquare,
                    shader: shader
                };
                this.vbs[id] = stuff;
                return stuff;
            };
            TileRenderer.prototype.removeVb = function (id) {
                if (this.vbs[id]) {
                    this.vbs[id].vb.destroy();
                    this.vbs[id].vao.destroy();
                    delete this.vbs[id];
                }
            };
            TileRenderer.prototype.checkIndexBuffer = function (size) {
                var totalIndices = size * 6;
                var indices = this.indices;
                if (totalIndices <= indices.length) {
                    return;
                }
                var len = indices.length || totalIndices;
                while (len < totalIndices) {
                    len <<= 1;
                }
                indices = new Uint16Array(len);
                this.indices = indices;
                for (var i = 0, j = 0; i + 5 < indices.length; i += 6, j += 4) {
                    indices[i + 0] = j + 0;
                    indices[i + 1] = j + 1;
                    indices[i + 2] = j + 2;
                    indices[i + 3] = j + 0;
                    indices[i + 4] = j + 2;
                    indices[i + 5] = j + 3;
                }
                if (this.indexBuffer) {
                    this.indexBuffer.upload(indices);
                }
                else {
                    var gl = this.renderer.gl;
                    this.indexBuffer = glCore.GLBuffer.createIndexBuffer(gl, this.indices, gl.STATIC_DRAW);
                }
            };
            TileRenderer.prototype.getShader = function (useSquare) {
                return useSquare ? this.squareShader : this.rectShader;
            };
            TileRenderer.prototype.destroy = function () {
                _super.prototype.destroy.call(this);
                this.rectShader.destroy();
                this.squareShader.destroy();
                this.rectShader = null;
                this.squareShader = null;
            };
            ;
            return TileRenderer;
        }(PIXI.ObjectRenderer));
        TileRenderer.vbAutoincrement = 0;
        TileRenderer.SCALE_MODE = PIXI.SCALE_MODES.LINEAR;
        TileRenderer.DO_CLEAR = false;
        tilemap.TileRenderer = TileRenderer;
        PIXI.WebGLRenderer.registerPlugin('tilemap', TileRenderer);
    })(tilemap = PIXI.tilemap || (PIXI.tilemap = {}));
})(PIXI || (PIXI = {}));
var PIXI;
(function (PIXI) {
    var tilemap;
    (function (tilemap_1) {
        var ZLayer = (function (_super) {
            __extends(ZLayer, _super);
            function ZLayer(tilemap, zIndex) {
                var _this = _super.call(this) || this;
                _this._lastAnimationFrame = -1;
                _this.tilemap = tilemap;
                _this.z = zIndex;
                return _this;
            }
            ZLayer.prototype.clear = function () {
                var layers = this.children;
                for (var i = 0; i < layers.length; i++)
                    layers[i].clear();
                this._previousLayers = 0;
            };
            ZLayer.prototype.cacheIfDirty = function () {
                var tilemap = this.tilemap;
                var layers = this.children;
                var modified = this._previousLayers != layers.length;
                this._previousLayers = layers.length;
                var buf = this.canvasBuffer;
                var tempRender = this._tempRender;
                if (!buf) {
                    buf = this.canvasBuffer = document.createElement('canvas');
                    tempRender = this._tempRender = new PIXI.CanvasRenderer(100, 100, { view: buf });
                    tempRender.context = tempRender.rootContext;
                    tempRender.plugins.tilemap.dontUseTransform = true;
                }
                if (buf.width != tilemap._layerWidth ||
                    buf.height != tilemap._layerHeight) {
                    buf.width = tilemap._layerWidth;
                    buf.height = tilemap._layerHeight;
                    modified = true;
                }
                var i;
                if (!modified) {
                    for (i = 0; i < layers.length; i++) {
                        if (layers[i].isModified(this._lastAnimationFrame != tilemap.animationFrame)) {
                            modified = true;
                            break;
                        }
                    }
                }
                this._lastAnimationFrame = tilemap.animationFrame;
                if (modified) {
                    if (tilemap._hackRenderer) {
                        tilemap._hackRenderer(tempRender);
                    }
                    tempRender.context.clearRect(0, 0, buf.width, buf.height);
                    for (i = 0; i < layers.length; i++) {
                        layers[i].clearModify();
                        layers[i].renderCanvas(tempRender);
                    }
                }
                this.layerTransform = this.worldTransform;
                for (i = 0; i < layers.length; i++) {
                    this.layerTransform = layers[i].worldTransform;
                    break;
                }
            };
            ;
            ZLayer.prototype.renderCanvas = function (renderer) {
                this.cacheIfDirty();
                var wt = this.layerTransform;
                renderer.context.setTransform(wt.a, wt.b, wt.c, wt.d, wt.tx * renderer.resolution, wt.ty * renderer.resolution);
                var tilemap = this.tilemap;
                renderer.context.drawImage(this.canvasBuffer, 0, 0);
            };
            ;
            return ZLayer;
        }(PIXI.Container));
        tilemap_1.ZLayer = ZLayer;
    })(tilemap = PIXI.tilemap || (PIXI.tilemap = {}));
})(PIXI || (PIXI = {}));
//# sourceMappingURL=pixi-tilemap.js.map


code:
// Generated by RPG Maker.
// Do not edit this file directly.
var $plugins = [
  { name: "------", status: false, description: "", parameters: {} },
  {
    name: "__Setting and Bugfix",
    status: false,
    description: "",
    parameters: {},
  },
  { name: "------", status: false, description: "", parameters: {} },
  {
    name: "Community_Basic",
    status: true,
    description: "基本的なパラメーターを設定するプラグインです。",
    parameters: {
      cacheLimit: "100",
      screenWidth: "1024",
      screenHeight: "640",
      changeWindowWidthTo: "",
      changeWindowHeightTo: "",
      renderingMode: "auto",
      alwaysDash: "on",
    },
  },
  {
    name: "YEP_MessageCore",
    status: true,
    description: "メッセージの表示方法や機能をカスタマイズすることができます。",
    parameters: {
      "---一般---": "",
      "Default Rows": "4",
      "Default Width": "Graphics.boxWidth*0.7",
      "Face Indent": "Window_Base._faceWidth + 24",
      "Fast Forward": "Input.isPressed('control')",
      "Word Wrapping": "false",
      "Description Wrap": "false",
      "---フォント---": "",
      "Font Name": "GameFont",
      "Font Size": "28",
      "Font Size Change": "12",
      "Font Changed Max": "96",
      "Font Changed Min": "12",
      "---Name Box---": "",
      "Name Box Buffer X": "-28",
      "Name Box Buffer Y": "0",
      "Name Box Padding": "this.standardPadding() * 4",
      "Name Box Color": "0",
      "Name Box Clear": "false",
      "Name Box Added Text": "\\c[6]",
    },
  },
  {
    name: "BugFixImageOnLoad",
    status: true,
    description: "画像ロード遅延時のエラー修正プラグイン",
    parameters: {},
  },
  {
    name: "BugFixParallelEventAndCharacter",
    status: true,
    description: "並列処理イベントのセーブ失敗バグ修正プラグイン",
    parameters: {},
  },
  {
    name: "BugFixPictureRotation",
    status: true,
    description: "ピクチャの回転バグ修正プラグイン",
    parameters: {},
  },
  {
    name: "GraphicsRenderFix",
    status: true,
    description: "放置していると画面がフリーズするのを修正",
    parameters: {},
  },
  {
    name: "Yami_SkipTitle",
    status: false,
    description: "テストプレイ用にタイトルシーンを飛ばすことができます。",
    parameters: {},
  },
  {
    name: "Game_custom",
    status: true,
    description: "ゲーム用カスタムプラグイン",
    parameters: {},
  },
  {
    name: "BMSP",
    status: true,
    description: "BMSPベースプラグインです。",
    parameters: {},
  },
  {
    name: "GraphicalDesignMode",
    status: true,
    description:
      "GUI画面デザインプラグイン\nパラメータを変更したら「プロジェクトの保存」（Ctrl+S）",
    parameters: {
      デザインモード: "false",
      自動保存: "false",
      モバイル版作成: "false",
      モバイル偽装: "false",
      ウィンドウ透過: "false",
      グリッドサイズ: "48",
      パディング: "0",
      フォントサイズ: "0",
      行の高さ: "0",
      背景透明度: "0",
      アイコンサイズ調整: "true",
      背景表示可否固定: "false",
      右クリックで消去: "false",
      メッセージウィンドウを無視: "false",
    },
  },
  {
    name: "CustomizeConfigDefault",
    status: true,
    description: "オプションデフォルト値設定プラグイン",
    parameters: {
      常時ダッシュ: "ON",
      コマンド記憶: "ON",
      BGM音量: "100",
      BGS音量: "100",
      ME音量: "100",
      SE音量: "100",
      常時ダッシュ消去: "OFF",
      コマンド記憶消去: "OFF",
      BGM音量消去: "OFF",
      BGS音量消去: "OFF",
      ME音量消去: "OFF",
      SE音量消去: "OFF",
    },
  },
  {
    name: "CustomizeConfigItem",
    status: true,
    description: "オプション任意項目作成プラグイン",
    parameters: {
      数値項目: "[]",
      文字項目: "",
      スイッチ項目: "[]",
      音量項目: "",
    },
  },
  {
    name: "MNKR_TimerEX",
    status: true,
    description:
      "タイマーをカウントアップ・ダウン、表示・非表示を切り替えできるようにします。",
    parameters: { countUpSwitch: "119", hideSwitch: "0", countStopValue: "50" },
  },
  {
    name: "UTA_CommonSave",
    status: true,
    description:
      "共有のセーブデータを作成し、指定したスイッチ・変数の状態をセーブデータ間で共有します。",
    parameters: {
      "Target Switches": "194,195,435,494,495,500,503-600",
      "Target Variables": "",
      "Is Auto": "true",
      "Auto on Gameover": "false",
      "Show Trace": "true",
    },
  },
  {
    name: "KMS_DebugUtil",
    status: true,
    description:
      "[v0.1.1] 標準のデバッグ画面を差し替え、様々な機能を追加します。",
    parameters: {
      "Variable input digits": "9",
      "Map grid color": "rgba(255, 255, 255, 0.6)",
      "Watch window font size": "18",
      "Watch highlight color": "rgba(255, 224, 192, 0.6)",
      "Watch window width": "360",
      "Watch window position": "0",
    },
  },
  {
    name: "DevToolsManage",
    status: true,
    description: "総合開発支援プラグイン",
    parameters: {
      開始時に起動: "false",
      リロードキー: "F12",
      最前面に表示キー: "F11",
      高速化切替キー: "F1",
      強制戦闘勝利キー: "F2",
      強制戦闘敗北キー: "F3",
      強制戦闘中断キー: "",
      スクリプト実行キー: "",
      フリーズキー: "F10",
      Ctrl同時押し: "false",
      Alt同時押し: "false",
      FPS表示: "OFF",
      タイトルカット: "false",
      高速開始: "false",
      高速スピード: "10",
      メッセージスキップ無効: "false",
      モバイル偽装: "false",
      メニューバー表示: "false",
      クリックメニュー: "1",
      JSON形式セーブ: "false",
      起動時情報出力: "true",
      最前面で起動: "false",
      リロード機能を使う: "true",
      右寄せ座標: "640",
      挨拶非表示: "false",
      誕生月: "0",
      誕生日: "0",
    },
  },
  {
    name: "HzExState",
    status: true,
    description:
      "ステートの拡張（ステート解除時に別のステートを自動付与など）を行います。",
    parameters: {},
  },
  {
    name: "CommonInterceptor",
    status: true,
    description: "割り込みコモン：ロード時コモン呼出",
    parameters: {
      ニューゲームコモン: "",
      ロードコモン: "133",
      メニューコモン: "",
    },
  },
  { name: "------", status: false, description: "", parameters: {} },
  { name: "__Title", status: false, description: "", parameters: {} },
  { name: "------", status: false, description: "", parameters: {} },
  {
    name: "MOG_TitlePictureCom",
    status: true,
    description: "(v1.6 *) Adiciona comandos em imagens no lugar da janela.",
    parameters: {
      "-> Main <<<<<<<<<<<<<<<<<<<<<<<": "",
      "Animation Mode": "2",
      "Left & Right Input": "false",
      "Com Fade-In Duration": "0",
      "Slide X-Axis": "0",
      "Slide Y-Axis": "0",
      "": "",
      "-> Smart Background  <<<<<<<<<<<<<<<<<<<<<<<": "",
      "Smart Background": "false",
      "Background X-Axis": "0",
      "Background Y-Axis": "0",
      "Background Fade-In Duration": "90",
      "-> Title Sprite <<<<<<<<<<<<<<<<<<<<<<<": "",
      "Title Sprite": "false",
      "Title Sprite X-Axis": "300",
      "Title Sprite Y-Axis": "150",
      "Fade-In Duration": "40",
      "Zoom Effect": "true",
      "Zoom Speed": "40",
      "-> Cursor <<<<<<<<<<<<<<<<<<<<<<<": "",
      "Cursor X-Axis": "0",
      "Cursor Y-Axis": "27",
      "Cursor Visible": "true",
      "Cursor Wave Animation": "false",
      "Cursor Rotation Animation": "false",
      "Cursor Rotation Speed": "0.05",
      "-> Commands <<<<<<<<<<<<<<<<<<<<<<<": "",
      "Command Pos 1": "799,236",
      "Command Pos 2": "773,290",
      "Command Pos 3": "735,342",
      "Command Pos 4": "670,550",
      "Command Pos 5": "345,498",
      "Command Pos 6": "345,530",
      "Command Pos 7": "0,192",
      "Command Pos 8": "0,224",
      "Command Pos 9": "0,256",
      "Command Pos 10": "0,288",
    },
  },
  {
    name: "MOG_TitleParticles",
    status: true,
    description: "(v2.1 *) Adiciona partículas na tela de título.",
    parameters: {
      "-> Particles 1 <<<<<<<<<<<<<<<<<<<<<<<": "",
      "P1 Visible": "true",
      "P1 File Name": "Particles",
      "P1 Amount": "30",
      "P1 Z Index": "20",
      "P1 X Speed": "10",
      "P1 Y Speed": "-5",
      "P1 Rotation Speed": "0.02",
      "P1 Blend Mode": "1",
      "P1 Anchor": "0",
      "P1 Leaf Mode": "false",
      "P1 Transition Time": "0",
      "": "",
      "-> Particles 2 <<<<<<<<<<<<<<<<<<<<<<<": "",
      "P2 Visible": "false",
      "P2 File Name": "",
      "P2 Amount": "5",
      "P2 Z Index": "21",
      "P2 X Speed": "2",
      "P2 Y Speed": "2",
      "P2 Rotation Speed": "0.01",
      "P2 Blend Mode": "0",
      "P2 Anchor": "0",
      "P2 Leaf Mode": "false",
      "P2 Transition Time": "0",
      "-> Particles 3 <<<<<<<<<<<<<<<<<<<<<<<": "",
      "P3 Visible": "false",
      "P3 File Name": "",
      "P3 Amount": "5",
      "P3 Z Index": "22",
      "P3 X Speed": "0.5",
      "P3 Y Speed": "0.5",
      "P3 Rotation Speed": "0.006",
      "P3 Blend Mode": "0",
      "P3 Anchor": "0",
      "P3 Leaf Mode": "true",
      "P3 Transition Time": "0",
      "-> Particles 4 <<<<<<<<<<<<<<<<<<<<<<<": "",
      "P4 Visible": "false",
      "P4 File Name": "",
      "P4 Amount": "25",
      "P4 Z Index": "23",
      "P4 X Speed": "2",
      "P4 Y Speed": "0.3",
      "P4 Rotation Speed": "0.3",
      "P4 Blend Mode": "1",
      "P4 Anchor": "0",
      "P4 Leaf Mode": "true",
      "P4 Transition Time": "0",
      "-> Particles 5 <<<<<<<<<<<<<<<<<<<<<<<": "",
      "P5 Visible": "false",
      "P5 File Name": "",
      "P5 Amount": "25",
      "P5 Z Index": "24",
      "P5 X Speed": "4",
      "P5 Y Speed": "0",
      "P5 Rotation Speed": "0",
      "P5 Blend Mode": "1",
      "P5 Anchor": "0",
      "P5 Leaf Mode": "false",
      "P5 Transition Time": "0",
      "-> Particles 6 <<<<<<<<<<<<<<<<<<<<<<<": "",
      "P6 Visible": "false",
      "P6 File Name": "",
      "P6 Amount": "25",
      "P6 Z Index": "25",
      "P6 X Speed": "4",
      "P6 Y Speed": "0",
      "P6 Rotation Speed": "0",
      "P6 Blend Mode": "1",
      "P6 Anchor": "0",
      "P6 Leaf Mode": "false",
      "P6 Transition Time": "0",
    },
  },
  { name: "------", status: false, description: "", parameters: {} },
  { name: "__Menu", status: false, description: "", parameters: {} },
  { name: "------", status: false, description: "", parameters: {} },
  {
    name: "OriginMenuStatus",
    status: true,
    description:
      "メニュー画面にステータスコマンドを追加します。追加されたコマンドをクリックすると設定した名前と名前に紐づく値の一覧を表示します",
    parameters: {
      command_name: "\\I[91]ヴァージェ",
      param_name_1: "　,100",
      param_name_2: "　,200",
      param_name_3: "　,0",
      param_name_4: "　,0",
      param_name_5: "　,0",
      param_name_6: "　,0",
      param_name_7: "　,0",
      param_name_8: "　,0",
      param_name_9: "　,0",
      param_name_10: "　,0",
      paramName_pos_x: "",
      paramName_align: "right",
      parameter_pos_x: "",
      param_pos_y: "0",
      line_interval: "0",
      image_x: "0",
      image_y: "0",
    },
  },
  {
    name: "CommonEventBeforeAfterMenu",
    status: true,
    description:
      "メニューを開く直前、または閉じた直後に、指定したコモンイベントを実行します。",
    parameters: {
      "Common Event ID (before Menu)": "40",
      "Common Event ID (after Menu)": "49",
    },
  },
  {
    name: "CommandIcon",
    status: true,
    description: "アイコン付きコマンドプラグイン",
    parameters: {},
  },
  {
    name: "LoadComSim",
    status: true,
    description: "ver1.00 メニューコマンドにロードを追加します。",
    parameters: { loadtext: "\\i[28]ロード" },
  },
  {
    name: "SRD_MenuBackgrounds",
    status: true,
    description:
      "Allows you to add/customize backgrounds and change window opacity for all menu scenes.",
    parameters: {
      "Scale Background": "true",
      "== Main Menu ==": "",
      "Menu Background": "menuBG",
      "Menu Opacity": "255",
      "Menu Scale": "1",
      "Menu Motion": "",
      "== Item Menu ==": "",
      "Item Background": "menuBG",
      "Item Opacity": "255",
      "Item Scale": "1",
      "Item Motion": "",
      "== Skill Menu ==": "",
      "Skill Background": "menuBG",
      "Skill Opacity": "255",
      "Skill Scale": "1",
      "Skill Motion": "",
      "== Equip Menu ==": "",
      "Equip Background": "menuBG",
      "Equip Opacity": "255",
      "Equip Scale": "1",
      "Equip Motion": "",
      "== Status Menu ==": "",
      "Status Background": "menuBG",
      "Status Opacity": "255",
      "Status Scale": "1",
      "Status Motion": "",
      "== Save Menu ==": "",
      "Save Background": "menuBG",
      "Save Opacity": "255",
      "Save Scale": "1",
      "Save Motion": "",
      "== Options Menu ==": "",
      "Options Background": "menuBG",
      "Options Opacity": "255",
      "Options Scale": "1",
      "Options Motion": "",
      "== End Menu ==": "",
      "End Background": "menuBG",
      "End Opacity": "255",
      "End Scale": "1",
      "End Motion": "",
      "== Custom 1 ==": "",
      "Custom 1 Scene": "Scene_Load",
      "Custom 1 Background": "menuBG",
      "Custom 1 Opacity": "255",
      "Custom 1 Scale": "1",
      "Custom 1 Motion": "",
      "== Custom 2 ==": "",
      "Custom 2 Scene": "",
      "Custom 2 Background": "",
      "Custom 2 Opacity": "255",
      "Custom 2 Scale": "1",
      "Custom 2 Motion": "",
      "== Custom 3 ==": "",
      "Custom 3 Scene": "",
      "Custom 3 Background": "",
      "Custom 3 Opacity": "255",
      "Custom 3 Scale": "1",
      "Custom 3 Motion": "",
      "== Custom 4 ==": "",
      "Custom 4 Scene": "",
      "Custom 4 Background": "",
      "Custom 4 Opacity": "255",
      "Custom 4 Scale": "1",
      "Custom 4 Motion": "",
      "== Custom 5 ==": "",
      "Custom 5 Scene": "",
      "Custom 5 Background": "",
      "Custom 5 Opacity": "255",
      "Custom 5 Scale": "1",
      "Custom 5 Motion": "",
      "== Custom 6 ==": "",
      "Custom 6 Scene": "",
      "Custom 6 Background": "",
      "Custom 6 Opacity": "255",
      "Custom 6 Scale": "1",
      "Custom 6 Motion": "",
      "== Custom 7 ==": "",
      "Custom 7 Scene": "",
      "Custom 7 Background": "",
      "Custom 7 Opacity": "255",
      "Custom 7 Scale": "1",
      "Custom 7 Motion": "",
      "== Custom 8 ==": "",
      "Custom 8 Scene": "",
      "Custom 8 Background": "",
      "Custom 8 Opacity": "255",
      "Custom 8 Scale": "1",
      "Custom 8 Motion": "",
      "== Custom 9 ==": "",
      "Custom 9 Scene": "",
      "Custom 9 Background": "",
      "Custom 9 Opacity": "255",
      "Custom 9 Scale": "1",
      "Custom 9 Motion": "",
      "== Custom 10 ==": "",
      "Custom 10 Scene": "",
      "Custom 10 Background": "",
      "Custom 10 Opacity": "255",
      "Custom 10 Scale": "1",
      "Custom 10 Motion": "",
      "== Custom 11 ==": "",
      "Custom 11 Scene": "",
      "Custom 11 Background": "",
      "Custom 11 Opacity": "255",
      "Custom 11 Scale": "1",
      "Custom 11 Motion": "",
      "== Custom 12 ==": "",
      "Custom 12 Scene": "",
      "Custom 12 Background": "",
      "Custom 12 Opacity": "255",
      "Custom 12 Scale": "1",
      "Custom 12 Motion": "",
      "== Custom 13 ==": "",
      "Custom 13 Scene": "",
      "Custom 13 Background": "",
      "Custom 13 Opacity": "255",
      "Custom 13 Scale": "1",
      "Custom 13 Motion": "",
      "== Custom 14 ==": "",
      "Custom 14 Scene": "",
      "Custom 14 Background": "",
      "Custom 14 Opacity": "255",
      "Custom 14 Scale": "1",
      "Custom 14 Motion": "",
      "== Custom 15 ==": "",
      "Custom 15 Scene": "",
      "Custom 15 Background": "",
      "Custom 15 Opacity": "255",
      "Custom 15 Scale": "1",
      "Custom 15 Motion": "",
      "== Custom 16 ==": "",
      "Custom 16 Scene": "",
      "Custom 16 Background": "",
      "Custom 16 Opacity": "255",
      "Custom 16 Scale": "1",
      "Custom 16 Motion": "",
      "== Custom 17 ==": "",
      "Custom 17 Scene": "",
      "Custom 17 Background": "",
      "Custom 17 Opacity": "255",
      "Custom 17 Scale": "1",
      "Custom 17 Motion": "",
      "== Custom 18 ==": "",
      "Custom 18 Scene": "",
      "Custom 18 Background": "",
      "Custom 18 Opacity": "255",
      "Custom 18 Scale": "1",
      "Custom 18 Motion": "",
      "== Custom 19 ==": "",
      "Custom 19 Scene": "",
      "Custom 19 Background": "",
      "Custom 19 Opacity": "255",
      "Custom 19 Scale": "1",
      "Custom 19 Motion": "",
      "== Custom 20 ==": "",
      "Custom 20 Scene": "",
      "Custom 20 Background": "",
      "Custom 20 Opacity": "255",
      "Custom 20 Scale": "1",
      "Custom 20 Motion": "",
    },
  },
  {
    name: "BB_CustomSaveWindow",
    status: true,
    description: "セーブウインドウ改造プラグイン",
    parameters: {
      OutsideFrameColor: "0",
      OutsideFrameOpacity: "64",
      InsideFrameColor: "0",
      InsideFrameOpacity: "64",
      MaxItem: "4",
      Item0: "1",
      Item0Length: "300",
      Item1title: "プレイ時間",
      Item1: "2",
      Item2title: "現在地",
      Item2: "3",
      Item3title: "所持金",
      Item3: "4",
      Item4title: "月相",
      Item4: "6",
      Item5: "0",
      ItemValue1: "40",
      ItemValue2: "37",
      ItemValue3: "41",
      ItemValue4: "4",
      ItemValue5: "91",
      ItemValue1unit: "",
      ItemValue2unit: "",
      ItemValue3unit: "",
      ItemValue4unit: "",
      TitleFramelength1: "160",
      TitleFramelength2: "160",
      TitleFramelength3: "160",
      TitleFramelength4: "160",
      CharacterPositionY: "6",
      LevelPositionY: "23",
      LevelOnOff: "1",
    },
  },
  {
    name: "TMMenuLabel",
    status: true,
    description:
      "メニューシーンに変数の値を表示します。\n歩数や戦闘回数などを表示することもできます。",
    parameters: {
      labelAName: "",
      labelAId: "38",
      labelAMax: "9999",
      labelAFooter: "",
      labelBName: "ラベルＢ",
      labelBId: "0",
      labelBMax: "9999",
      labelBFooter: "",
      labelCName: "ラベルＣ",
      labelCId: "0",
      labelCMax: "9999",
      labelCFooter: "",
      labelDName: "ラベルＤ",
      labelDId: "0",
      labelDMax: "9999",
      labelDFooter: "",
      labelNameWidth: "128",
      labelValueWidth: "72",
      labelNameColorId: "16",
      labelValueColorId: "0",
      labelMaxColorId: "2",
      labelFooterColorId: "0",
      footerSpace: "0",
      reverseMenuWindow: "0",
      menuTextAlign: "left",
    },
  },
  {
    name: "CustomizeMaxSaveFile",
    status: true,
    description: "最大セーブファイル数変更プラグイン",
    parameters: { セーブファイル数: "50" },
  },
  {
    name: "SceneGlossary",
    status: true,
    description: "ゲーム内用語辞典プラグイン",
    parameters: {
      GlossaryInfo:
        '["{\\"GlossaryType\\":\\"1\\",\\"CommandName\\":\\"\\",\\"UseCategory\\":\\"true\\",\\"CommandSwitchId\\":\\"0\\",\\"BackPicture\\":\\"smaphoBG\\",\\"SelectAction\\":\\"0\\",\\"SelectSwitchId\\":\\"0\\",\\"SelectVariableId\\":\\"0\\",\\"ConfirmMessage\\":\\"false\\",\\"ConfirmUse\\":\\"使う\\",\\"ConfirmNoUse\\":\\"やめる\\",\\"GlossaryHelp\\":\\"用語を選択してください。\\",\\"CategoryHelp\\":\\"カテゴリを選択してください。\\",\\"ConfirmHelp\\":\\"\\",\\"UsingHelp\\":\\"\\",\\"CompleteView\\":\\"false\\",\\"CompleteMessage\\":\\"収集率 \\\\\\\\c[2]%1\\\\\\\\c[0] ％\\",\\"ShowingItemNumber\\":\\"false\\",\\"UsableDefault\\":\\"true\\",\\"UseItemHistory\\":\\"false\\",\\"GlossaryListWidth\\":\\"240\\",\\"VisibleItemNotYet\\":\\"\\"}"]',
      Layout: "",
      FontSize: "22",
      AutoResizePicture: "true",
      PicturePosition: "top",
      PictureAlign: "center",
      PicturePriority: "top",
      ThroughBackPicture: "false",
      NewGlossaryColor: "2",
      PageWrap: "true",
      TextPosition: "0",
      AutoAddition: "false",
      SwitchAutoAdd: "0",
      VariableAutoAdd: "0",
      AutoAdditionEnemy: "false",
      CategoryOrder: "",
      CategoryUnusable: "",
    },
  },
  { name: "------", status: false, description: "", parameters: {} },
  { name: "__Image", status: false, description: "", parameters: {} },
  { name: "------", status: false, description: "", parameters: {} },
  {
    name: "FixImageLoading",
    status: true,
    description: "画像ロード時のチラつき防止プラグイン",
    parameters: {},
  },
  {
    name: "PictureAnimetion",
    status: true,
    description: "ピクチャのアニメーションプラグイン",
    parameters: { 最初のセルに戻る: "true" },
  },
  {
    name: "MovieManager",
    status: true,
    description: "動画管理プラグイン",
    parameters: {},
  },
  {
    name: "PictureCallCommon",
    status: true,
    description: "ピクチャのボタン化プラグイン",
    parameters: {
      透明色を考慮: "true",
      ピクチャ番号の変数番号: "0",
      ポインタX座標の変数番号: "0",
      ポインタY座標の変数番号: "0",
      タッチ操作抑制: "false",
      タッチ操作抑制スイッチ: "0",
      戦闘中常にコモン実行: "false",
      並列処理として実行: "false",
      無効スイッチ: "0",
    },
  },
  {
    name: "MPI_AutoWaitForPicture",
    status: true,
    description:
      "ピクチャの表示実行時、画像読み込み完了まで自動でウェイトする機能を提供します。",
    parameters: { ピクチャの表示自動ウェイト切替スイッチ: "19" },
  },
  {
    name: "PictureVariableSetting",
    status: true,
    description: "ピクチャ関連のイベント機能拡張プラグイン",
    parameters: { 初期値: "OFF", ピクチャ表示最大数: "" },
  },
  {
    name: "MoviePicture",
    status: true,
    description: "動画のピクチャ表示プラグイン",
    parameters: {
      動画音量種別: "none",
      終了時自動削除: "false",
      動画取得フォルダ: "",
      webm偽装拡張子: "",
      mp4偽装拡張子: "",
    },
  },
  {
    name: "digitalNumber",
    status: true,
    description: "タイマーの文字をデジタル時計風のものに置換します。",
    parameters: {
      timerStringLength: "5",
      timerMarginRight: "8",
      timerMarginTop: "5",
    },
  },
  { name: "------", status: false, description: "", parameters: {} },
  { name: "__Sound", status: false, description: "", parameters: {} },
  { name: "------", status: false, description: "", parameters: {} },
  {
    name: "SystemSoundCustomize",
    status: true,
    description: "システム効果音変更プラグイン",
    parameters: {},
  },
  {
    name: "OggOnly",
    status: true,
    description: "音声ファイルの再生にoggファイルのみを使用します。",
    parameters: { deleteM4a: "false" },
  },
  { name: "------", status: false, description: "", parameters: {} },
  { name: "__Map", status: false, description: "", parameters: {} },
  { name: "------", status: false, description: "", parameters: {} },
  {
    name: "DP_MapZoom",
    status: true,
    description: "マップの拡大率を制御します。",
    parameters: {
      "Base Scale": "1",
      "Encount Effect": "true",
      "Camera Controll": "true",
      "Weather Patch": "true",
      "Picture Size Fixation": "true",
      "Old Focus": "false",
      "Easing Function": "t",
    },
  },
  {
    name: "ParallaxLayerMap",
    status: true,
    description: "多層レイヤー一枚絵マッププラグイン",
    parameters: {},
  },
  {
    name: "MOG_Weather_EX",
    status: true,
    description: "(v3.4 *) Adiciona novos efeitos de climas.",
    parameters: { "Battle Weather": "true" },
  },
  {
    name: "BMSP_MapFog",
    status: true,
    description: "マップにフォグを表示します。",
    parameters: { Label: "フォグ" },
  },
  {
    name: "MKR_MapScrollFix",
    status: true,
    description: "(v1.1.0) マップスクロール固定プラグイン",
    parameters: {
      Default_Scroll_Fix_Sw: "110",
      Is_Display_Out: "true",
      Is_Display_In: "true",
      Scroll_Fix_Type: "0",
      Enable_MapZoom: "true",
    },
  },
  {
    name: "MpiGetMapImage",
    status: true,
    description: "マップ全体を画像として出力します。",
    parameters: {
      GetImageTrigger1:
        "Input.isPressed('control') && Input.isTriggered('pageup')",
      GetImageTrigger2:
        "Input.isPressed('control') && Input.isTriggered('pagedown')",
      "Vertical Split": "1",
      "Horizontal Split": "1",
      OutputFolder: "output",
      TestModeOnly: "true",
    },
  },
  {
    name: "Foreground",
    status: true,
    description: "マップに合わせてスクロールする近景の設定(Ver1.0.1)",
    parameters: {},
  },
  {
    name: "ForegroundToParallax",
    status: true,
    description: "Foregroundの遠景化プラグイン",
    parameters: {},
  },
  {
    name: "LoopAnim",
    status: true,
    description: "マップ上のアニメーションループを可能にします。",
    parameters: {},
  },
  {
    name: "MPP_MapLight",
    status: true,
    description: "マップの明るさを設定できるようにします。",
    parameters: {
      "Light Colors": '["255,150,255","180,255,255","32,32,32"]',
      "Front Light":
        '{"Radius":"6","Angle":"90","Oy":"4","Turn Duration":"24"}',
      "Darkness Size": "3",
    },
  },
  { name: "------", status: false, description: "", parameters: {} },
  { name: "__Sprite", status: false, description: "", parameters: {} },
  { name: "------", status: false, description: "", parameters: {} },
  {
    name: "MPP_DeleteSelfSwitch",
    status: true,
    description: "場所移動した際に、指定したセルフスイッチをOFFにします。",
    parameters: {
      "Map IDs": "38,121,355,362,363",
      "Self Switches": "ABCD",
      "Self Variables": "",
    },
  },
  {
    name: "JumpSpeedCustomize",
    status: true,
    description: "ジャンプ速度調整プラグイン",
    parameters: {},
  },
  {
    name: "TemplateEvent",
    status: true,
    description: "テンプレートイベントプラグイン",
    parameters: {
      TemplateMapId: "4",
      KeepEventId: "false",
      OverrideTarget:
        '{"Image":"true","Direction":"true","Move":"false","Priority":"false","Trigger":"false","Option":"false"}',
      AutoOverride: "false",
      IntegrateNote: "0",
    },
  },
  {
    name: "TMAnimeLight",
    status: true,
    description: "イベントにアニメーション付きの明かりを表示します。",
    parameters: { range: "0.1", defaultZ: "4", frames: "200" },
  },
  {
    name: "VehiclePassable",
    status: true,
    description: "乗り物通行判定拡張プラグイン",
    parameters: {
      小型船通行リージョン: "20",
      小型船通行地形タグ: "",
      小型船不可リージョン: "",
      小型船不可地形タグ: "",
      小型船乗降地形タグ: "",
      小型船乗降リージョン: "",
      大型船通行リージョン: "1,2,3",
      大型船通行地形タグ: "1,2,3",
      大型船不可リージョン: "4,5,6",
      大型船不可地形タグ: "4,5,6",
      大型船乗降地形タグ: "",
      大型船乗降リージョン: "",
      飛行船不可リージョン: "4,5,6",
      飛行船不可地形タグ: "4,5,6",
      飛行船乗降地形タグ: "",
      飛行船乗降リージョン: "10",
    },
  },
  {
    name: "CharacterGraphicExtend",
    status: true,
    description: "キャラクターグラフィック表示拡張プラグイン",
    parameters: { イベント消去無効: "false" },
  },
  {
    name: "NearEventSensor",
    status: true,
    description: "周辺イベント感知プラグイン",
    parameters: {
      DefaultFlash: "false",
      DefaultBalloon: "0",
      DisableEmpty: "true",
      SensorDistance: "15",
      FlashColor: '{"Red":"255","Green":"255","Blue":"255","Alpha":"255"}',
      FlashDuration: "60",
      BalloonInterval: "15",
      WaitForBalloon: "true",
      ConsiderationDir: "false",
      ApplyPlayer: "false",
      EraseWhenAway: "true",
    },
  },
  {
    name: "NpcFollower",
    status: true,
    description: "NPCフォロワープラグイン",
    parameters: { 最大同時NPC数: "1", 通常フォロワーを表示しない: "false" },
  },
  {
    name: "OperateDearFollowers",
    status: true,
    description: "フォロワーを操作するプラグインです。",
    parameters: { "----基本的な設定----": "", 操作用スイッチ番号: "67" },
  },
  {
    name: "HalfMove",
    status: true,
    description: "半歩移動プラグイン",
    parameters: {
      "8方向移動": "true",
      "8方向移動スイッチ": "144",
      イベントすり抜け: "true",
      強制中無効: "false",
      角回避: "true",
      斜め移動中減速: "false",
      トリガー拡大: "false",
      実歩数調整: "false",
      上半分移動不可地形: '["0"]',
      上半分移動不可Region: '["0"]',
      下半分移動不可地形: '["0"]',
      下半分移動不可Region: '["0"]',
      右半分移動不可地形: '["0"]',
      右半分移動不可Region: '["0"]',
      左半分移動不可地形: '["0"]',
      左半分移動不可Region: '["0"]',
      右上移動不可地形: '["0"]',
      右上移動不可Region: '["0"]',
      右下移動不可地形: '["0"]',
      右下移動不可Region: '["0"]',
      左上移動不可地形: '["0"]',
      左上移動不可Region: '["0"]',
      左下移動不可地形: '["0"]',
      左下移動不可Region: '["0"]',
      全方向移動不可地形: '["0"]',
      全方向移動不可Region: '["0"]',
      イベント複数起動防止: "false",
      イベント位置重複OK: "false",
    },
  },
  {
    name: "StepSpeed",
    status: true,
    description: "ver1.00/イベントの足踏み速度を変更します。",
    parameters: {},
  },
  {
    name: "EventReSpawn",
    status: true,
    description: "イベント動的生成プラグイン",
    parameters: {
      keepSelfSwitch: "false",
      tryRandomCount: "1000",
      CertainSpawnSwitch: "0",
    },
  },
  {
    name: "StopSelfMovementWithPlayer",
    status: true,
    description: "イベント起動中にイベントの自律移動を停止します。",
    parameters: { "Varidate Switch ID": "352" },
  },
  { name: "------", status: false, description: "", parameters: {} },
  { name: "__Text", status: false, description: "", parameters: {} },
  { name: "------", status: false, description: "", parameters: {} },
  {
    name: "MessageWindowHidden",
    status: true,
    description: "メッセージウィンドウ一時消去プラグイン",
    parameters: {
      triggerButton: '["右クリック"]',
      linkPictureNumbers: "[]",
      linkShowPictureNumbers: "[]",
      disableSwitchId: "819",
      disableInBattle: "false",
    },
  },
  {
    name: "MPP_ChoiceEX",
    status: true,
    description: "【ver.3.11】選択肢の機能拡張",
    parameters: {
      maxPageRow: "6",
      "Disabled Index": "none",
      "=== Command ===": "",
      "Plugin Commands":
        '{"ChoicePos":"ChoicePos","ChoiceVariableId":"ChoiceVariableId","ChoiceRect":"ChoiceRect","ChoiceUnderMessage":"ChoiceUnderMessage"}',
      "Event Comment": '{"ChoiceHelp":"選択肢ヘルプ"}',
    },
  },
  {
    name: "TinyGetInfoWnd",
    status: true,
    description: "アイテムの入手/消失を小さなウィンドウで表示します。(Ver1.1)",
    parameters: {
      "Event Command Switch": "395",
      "Y position type": "0",
      "Y position offset": "0",
      "Display Loss": "1",
      "Display at Battle": "",
      textGainItem: "%1入手！",
      textLoseItem: "%1消失……。",
      wordMoney: "お金",
      iconMoney: "360",
      "Item SE filename": "Evasion1",
      "Item SE volume": "100",
      "Item SE pitch": "100",
      "Weapon SE filename": "Evasion1",
      "Weapon SE volume": "100",
      "Weapon SE pitch": "100",
      "Armor SE filename": "Evasion1",
      "Armor SE volume": "100",
      "Armor SE pitch": "100",
      "Money SE filename": "Coin",
      "Money SE volume": "100",
      "Money SE pitch": "100",
      "Ignore Escape Characters": "true",
    },
  },
  { name: "------", status: false, description: "", parameters: {} },
  { name: "__Battle", status: false, description: "", parameters: {} },
  { name: "------", status: false, description: "", parameters: {} },
  {
    name: "XPStyleBattleMV",
    status: true,
    description: "XPStyleBattle for MV Build200211",
    parameters: {
      "(string)hud.themeFileName": "",
      "(string)battlerGraphic.rootPath": "",
      "(boolean)battlerGraphic.enableAnimation": "true",
      "(boolean)battlerGraphic.enablePopup": "",
      "(integer)battlerGraphic.damageDuration": "",
      "(integer)animation.playRate": "3",
      "(integer)animation.forParty.adjustPosition.x": "-206",
      "(integer)animation.forParty.adjustPosition.y": "",
      "(string)targetCursor.fileName": "selection_cursor",
      "(integer)targetCursor.width": "",
      "(integer)targetCursor.animationSpeed": "",
      "(integer)targetCursor.moveSpeed": "",
      "(integer)targetCursor.adjustPositionOnActor.x": "0",
      "(integer)targetCursor.adjustPositionOnActor.y": "-32",
      "(integer)targetCursor.adjustPositionOnEnemy.x": "0",
      "(integer)targetCursor.adjustPositionOnEnemy.y": "0",
      "(integer)targetCursor.minY": "96",
      "(boolean)targetCursor.checkSelection": "",
      "(integer)targetInformation.gaugeWidth": "",
      "(string)targetInformation.scopeNotation.forParty": "",
      "(string)targetInformation.scopeNotation.forTroop": "",
      "(string)targetInformation.scopeNotation.forTroopRandom": "",
      "(boolean)targetInformation.actor.states": "",
      "(boolean)targetInformation.actor.hp": "",
      "(boolean)targetInformation.actor.mp": "",
      "(boolean)targetInformation.actor.tp": "",
      "(boolean)targetInformation.enemy.states": "",
      "(boolean)targetInformation.enemy.hp": "",
      "(boolean)targetInformation.enemy.mp": "",
      "(boolean)targetInformation.enemy.tp": "",
      "(boolean)battleMessage.enemyEmergeMessage": "false",
      "(boolean)battleMessage.simpleBattleLog.useSimpleBattleLog": "false",
      "(boolean)battleMessage.simpleBattleLog.displayAttack": "true",
      "(boolean)battleMessage.simpleBattleLog.displayGuard": "true",
      "(boolean)battleMessage.simpleBattleLog.drawIcon": "true",
      "(integer)battleMessage.simpleBattleLog.align": "1",
      "(string)battleMessage.simpleBattleLog.descriptionDelimiter": "",
      "(integer)battleMessage.simpleBattleLog.descriptionFontSize": "0",
      "(boolean)windowLayout.itemSkill.fitting": "",
      "(boolean)windowLayout.itemSkill.maxHeight": "",
      "(integer)windowLayout.actorCommand.absolutePosition.x": "",
      "(integer)windowLayout.actorCommand.absolutePosition.y": "",
      "(integer)windowLayout.actorCommand.adjustPosition.x": "",
      "(integer)windowLayout.actorCommand.adjustPosition.y": "0",
      "(integer)windowLayout.actorCommand.width": "",
      "(boolean)windowLayout.actorCommand.heightFitting": "",
      "(integer)windowLayout.actorCommand.visibleRows": "",
      "(boolean)windowLayout.actorCommand.isHorizontal": "",
      "(integer)windowLayout.actorCommand.maxCols": "",
      "(string)windowLayout.actorCommand.itemAlign": "",
      "(integer)windowLayout.partyCommand.position.x": "",
      "(integer)windowLayout.partyCommand.position.y": "",
      "(integer)windowLayout.partyCommand.width": "500",
      "(boolean)windowLayout.partyCommand.heightFitting": "",
      "(integer)windowLayout.partyCommand.visibleRows": "",
      "(boolean)windowLayout.partyCommand.isHorizontal": "",
      "(integer)windowLayout.partyCommand.maxCols": "",
      "(string)windowLayout.partyCommand.itemAlign": "",
      "(integer)battleSpeed.basicSpeed": "",
      "(boolean)battleSpeed.animationFastForward": "",
      "(boolean)battleSpeed.animationDelayFastForward": "",
      "(integer)battleSpeed.actorStepDuration": "",
      "(integer)battleSpeed.animationSkipDuration": "",
      "(boolean)battleSpeed.skipBlinkEffect": "",
      "(boolean)minorFixes.enableSelectionEffect": "",
    },
  },
  {
    name: "XPB-BricksTheme",
    status: true,
    description: "XPStyleBattle for MV Theme - Bricks Theme Ver. 0.1.0",
    parameters: {
      "(integer)root.x": "-103",
      "(integer)root.y": "",
      "(integer)hudBg.x": "0",
      "(integer)hudBg.y": "",
      "(boolean)hudBg.visible": "",
      "(string)hudBg.fileName": "",
      "(integer)general.x": "19",
      "(integer)general.y": "",
      "(integer)general.width": "1024",
      "(integer)general.height": "",
      "(integer)general.horizontalAlignment": "",
      "(integer)general.verticalAlignment": "",
      "(integer)general.actorStatusWidth": "",
      "(integer)general.actorStatusHeight": "",
      "(integer)general.horizontalSpacing": "20",
      "(integer)general.verticalSpacing": "",
      "(integer)general.orientation": "",
      "(integer)general.maxRows": "",
      "(integer)general.maxLines": "",
      "(boolean)general.isBricks": "",
      "(integer)bg.x": "-8",
      "(integer)bg.y": "",
      "(boolean)bg.visible": "",
      "(string)bg.fileName": "bd_bricks/bricks_bg",
      "(integer)battler.x": "",
      "(integer)battler.y": "",
      "(boolean)battler.visible": "",
      "(integer)battler.zoom": "",
      "(integer)battler.overlayOffsetX": "",
      "(integer)battler.overlayOffsetY": "",
      "(boolean)battler.isOverlayOnBottom": "",
      "(string)battler.maskImage": "bd_bricks/bricks_mask",
      "(integer)battler.maskImageX": "",
      "(integer)battler.maskImageY": "",
      "(integer)hp.x": "",
      "(integer)hp.y": "",
      "(boolean)hp.visible": "",
      "(integer)hp.bg.x": "",
      "(integer)hp.bg.y": "",
      "(boolean)hp.bg.visible": "",
      "(string)hp.bg.fileName": "bd_bricks/bricks_long_gauge_bg",
      "(integer)hp.symbol.x": "",
      "(integer)hp.symbol.y": "",
      "(boolean)hp.symbol.visible": "",
      "(string)hp.symbol.fileName": "bd_bricks/bricks_hp",
      "(integer)hp.slash.x": "",
      "(integer)hp.slash.y": "",
      "(boolean)hp.slash.visible": "",
      "(string)hp.slash.fileName": "bd_bricks/bricks_large_slash",
      "(integer)hp.gauge.x": "",
      "(integer)hp.gauge.y": "",
      "(boolean)hp.gauge.visible": "",
      "(string)hp.gauge.fileName": "bd_bricks/bricks_long_gauge",
      "(integer)hp.gauge.skewAngleX": "",
      "(integer)hp.gauge.skewAngleY": "",
      "(integer)hp.gauge.animationSpeed": "",
      "(integer)hp.number.x": "",
      "(integer)hp.number.y": "",
      "(boolean)hp.number.visible": "",
      "(string)hp.number.fileName": "bd_bricks/bricks_large_numbers",
      "(integer)hp.number.digits": "",
      "(boolean)hp.number.zeroSuppress": "",
      "(integer)hp.number.horizontalSpacing": "",
      "(integer)hp.number.horizontalAlignment": "",
      "(integer)hp.number.animationSpeed": "",
      "(integer)hp.maxNumber.x": "",
      "(integer)hp.maxNumber.y": "",
      "(boolean)hp.maxNumber.visible": "",
      "(string)hp.maxNumber.fileName": "bd_bricks/bricks_large_numbers",
      "(integer)hp.maxNumber.digits": "",
      "(boolean)hp.maxNumber.zeroSuppress": "",
      "(integer)hp.maxNumber.horizontalSpacing": "",
      "(integer)hp.maxNumber.horizontalAlignment": "",
      "(integer)hp.maxNumber.animationSpeed": "",
      "(integer)mp.x": "",
      "(integer)mp.y": "",
      "(boolean)mp.visible": "",
      "(integer)mp.bg.x": "",
      "(integer)mp.bg.y": "",
      "(boolean)mp.bg.visible": "",
      "(string)mp.bg.fileName": "bd_bricks/bricks_short_gauge_bg",
      "(integer)mp.symbol.x": "",
      "(integer)mp.symbol.y": "",
      "(boolean)mp.symbol.visible": "",
      "(string)mp.symbol.fileName": "bd_bricks/bricks_mp",
      "(integer)mp.gauge.x": "",
      "(integer)mp.gauge.y": "",
      "(boolean)mp.gauge.visible": "",
      "(string)mp.gauge.fileName": "bd_bricks/bricks_short_gauge",
      "(integer)mp.gauge.skewAngleX": "",
      "(integer)mp.gauge.skewAngleY": "",
      "(integer)mp.gauge.animationSpeed": "",
      "(integer)mp.number.x": "",
      "(integer)mp.number.y": "",
      "(boolean)mp.number.visible": "",
      "(string)mp.number.fileName": "bd_bricks/bricks_small_numbers",
      "(integer)mp.number.digits": "",
      "(boolean)mp.number.zeroSuppress": "",
      "(integer)mp.number.horizontalSpacing": "",
      "(integer)mp.number.horizontalAlignment": "",
      "(integer)mp.number.animationSpeed": "",
      "(integer)tp.x": "",
      "(integer)tp.y": "",
      "(boolean)tp.visible": "",
      "(integer)tp.bg.x": "",
      "(integer)tp.bg.y": "",
      "(boolean)tp.bg.visible": "",
      "(string)tp.bg.fileName": "bd_bricks/bricks_short_gauge_bg",
      "(integer)tp.symbol.x": "",
      "(integer)tp.symbol.y": "",
      "(boolean)tp.symbol.visible": "",
      "(string)tp.symbol.fileName": "bd_bricks/bricks_tp",
      "(integer)tp.gauge.x": "",
      "(integer)tp.gauge.y": "",
      "(boolean)tp.gauge.visible": "",
      "(string)tp.gauge.fileName": "bd_bricks/bricks_short_gauge",
      "(integer)tp.gauge.skewAngleX": "",
      "(integer)tp.gauge.skewAngleY": "",
      "(integer)tp.gauge.animationSpeed": "",
      "(integer)tp.number.x": "",
      "(integer)tp.number.y": "",
      "(boolean)tp.number.visible": "",
      "(string)tp.number.fileName": "bd_bricks/bricks_small_numbers",
      "(integer)tp.number.digits": "",
      "(boolean)tp.number.zeroSuppress": "",
      "(integer)tp.number.horizontalSpacing": "",
      "(integer)tp.number.horizontalAlignment": "",
      "(integer)tp.number.animationSpeed": "",
      "(integer)state.x": "",
      "(integer)state.y": "",
      "(boolean)state.visible": "",
      "(integer)state.bg.x": "",
      "(integer)state.bg.y": "",
      "(boolean)state.bg.visible": "",
      "(string)state.bg.fileName": "",
      "(integer)state.icon.x": "",
      "(integer)state.icon.y": "",
      "(boolean)state.icon.visible": "",
      "(integer)state.icon.stateIconSize": "",
      "(integer)state.icon.spacing": "",
      "(integer)state.icon.maxStates": "",
      "(integer)state.icon.animationSpeed": "",
      "(integer)name.x": "",
      "(integer)name.y": "",
      "(boolean)name.visible": "",
      "(integer)name.maxWidth": "",
      "(string)name.color": "",
      "(string)name.outlineColor": "",
      "(integer)name.outlineWidth": "",
      "(integer)name.fontSize": "",
      "(string)name.fontFace": "",
      "(boolean)name.fontItalic": "",
      "(integer)name.horizontalAlignment": "",
    },
  },
  {
    name: "TintBattleScreen",
    status: true,
    description: "バトルシーンの色調を設定します。",
    parameters: { "DEFAULT TONE": "0 0 0 0" },
  },
  {
    name: "TMBattleMist",
    status: true,
    description: "戦闘シーンにそれっぽい霧を表示します。",
    parameters: {
      mistImage: "mist",
      mistNumber: "32",
      mistTopSide: "200",
      mistRangeSide: "300",
      mistTopFront: "380",
      mistRangeFront: "340",
      mistScale: "1",
      mistOpacityMax: "224",
    },
  },
  {
    name: "YEP_BaseTroopEvents",
    status: true,
    description:
      "v1.01 Enabling this plugin will cause all troops to have\nevents occur in every fight.",
    parameters: { "Base Troop ID": "1" },
  },
  {
    name: "TMBattlerEx",
    status: true,
    description: "エネミーに遠近感や息づかいの表現を追加します。",
    parameters: {
      baseY: "430",
      breathH: "0.005",
      mirrorRate: "0.4",
      breathStop: "1",
      shakeEffect: "1",
      EmpY: "1.5",
    },
  },
  {
    name: "BB_EnemyPositionYMax",
    status: true,
    description:
      "戦闘時の敵グラフィック配置範囲を画面下端まで拡大or移動できるようにするプラグイン。",
    parameters: { Fit_or_Slide: "true" },
  },
  {
    name: "SealActorCommand",
    status: true,
    description: "アクターコマンド封印プラグイン",
    parameters: { commandDisable: "true", disableSign: "" },
  },
  {
    name: "MOG_HPGauge",
    status: true,
    description: "(v1.4 *) Apresenta um medidor de HP do alvo.",
    parameters: {
      "Gauge For Actors": "false",
      "Gauge For Enemies": "true",
      "Show HP On Selection": "true",
      "Fade Duration": "90",
      "Slide Animation": "true",
      "Show HP Number Actor": "false",
      "Show HP Number Enemy": "true",
      "Required to Kill": "false",
      "Actor Layout X-Axis": "0",
      "Actor Layout Y-Axis": "0",
      "Actor Meter X-Axis": "0",
      "Actor Meter Y-Axis": "3",
      "Actor HP Number X-Axis": "-25",
      "Actor HP Number Y-Axis": "-22",
      "Enemy Layout X-Axis": "0",
      "Enemy Layout Y-Axis": "0",
      "Enemy Meter X-Axis": "8",
      "Enemy Meter Y-Axis": "10",
      "Enemy HP Number X-Axis": "-25",
      "Enemy HP Number Y-Axis": "-19",
    },
  },
  {
    name: "BeforeCommon",
    status: true,
    description:
      "ver1.01/スキルやアイテムの発動前に、スキルやアイテムに設定されたコモンイベントを発生させます。",
    parameters: { IndexVariableID: "17", TargetIndexVariableID: "18" },
  },
  {
    name: "dsShowBattleCommand",
    status: true,
    description: "戦闘中のコマンド表示制御プラグイン ver1.00",
    parameters: {
      "Show Attack Command": "true",
      "Show Guard Command": "true",
      "Show Item Command": "true",
      "Show Skill Type 01": "false",
      "Show Skill Type 02": "false",
      "Show Skill Type 03": "false",
      "Show Skill Type 04": "true",
      "Show Skill Type 05": "true",
      "Show Skill Type 06": "true",
      "Show Skill Type 07": "true",
      "Show Skill Type 08": "true",
      "Show Skill Type 09": "true",
      "Show Skill Type 10": "true",
      "Show Skill Type 11": "true",
      "Show Skill Type 12": "true",
      "Show Skill Type 13": "true",
      "Show Skill Type 14": "true",
      "Show Skill Type 15": "true",
      "Show Skill Type 16": "true",
      "Show Skill Type 17": "true",
      "Show Skill Type 18": "true",
      "Show Skill Type 19": "true",
      "Show Skill Type 20": "true",
      "Show Skill Type 21": "true",
      "Show Skill Type 22": "true",
      "Show Skill Type 23": "true",
      "Show Skill Type 24": "true",
      "Show Skill Type 25": "true",
      "Show Skill Type 26": "true",
      "Show Skill Type 27": "true",
      "Show Skill Type 28": "true",
      "Show Skill Type 29": "true",
      "Show Skill Type 30": "true",
    },
  },
  {
    name: "BattleParallelEvent",
    status: true,
    description:
      "戦闘中でも「並列処理」のコモンイベントを実行する為のプラグインです。",
    parameters: {},
  },
  {
    name: "DependStateEscape",
    status: true,
    description:
      "パーティの誰かが特定ステート時にバトル中の逃げるコマンドを封印",
    parameters: { stateNo: "15" },
  },
  {
    name: "WeaponSkill",
    status: true,
    description: "武器ごとに通常攻撃のスキルIDを変更します。",
    parameters: {},
  },
  {
    name: "PermanentState",
    status: true,
    description:
      "ver1.00/戦闘不能や全回復で解除されないステートを設定できるようにします。",
    parameters: {},
  },
  {
    name: "LevelupRecover",
    status: true,
    description: "レベルアップの時に回復するプラグインです。",
    parameters: {},
  },
  { name: "------", status: false, description: "", parameters: {} },
  { name: "__Shop", status: false, description: "", parameters: {} },
  { name: "------", status: false, description: "", parameters: {} },
  {
    name: "TMGreedShop",
    status: true,
    description: "お金以外にアイテムも要求されるショップ機能を追加します。",
    parameters: {
      materialWindowPosition: "0",
      materialWindowWidth: "408",
      buyWindowWidth: "456",
      buyWindowHeight: "0",
      materialMax: "5",
      fontRate: "0.8",
      greedCommand: "購入する",
      needText: "必要なもの",
      showSellCommand: "true",
      showMaterialWindow: "true",
      overlaid: "true",
      backOpacity: "192",
      showMaterialFromNumberWindow: "true",
      showPrice: "true",
      seGreedBuy: '{"name":"Shop1","volume":"90","pitch":"100","pan":"0"}',
    },
  },
  {
    name: "YED_SkillShop",
    status: true,
    description: "v1.0.1 This plugin provides a skill shop for buying skills.",
    parameters: {
      "[Basic Setting]": "",
      "Default Price": "100",
      "[Visual Setting]": "",
      "Gold Cost Text": "購入価格",
      "Item Cost Text": "Requires",
      "Buy Command": "購入",
      "Cancel Command": "キャンセル",
      "Text Alignment": "center",
    },
  },
];


code:
//=============================================================================
// AltMenuScreen.js
//=============================================================================

/*:
 * @plugindesc Alternative menu screen layout.
 * @author Yoji Ojima
 *
 * @help This plugin does not provide plugin commands.
 */

/*:ja
 * @plugindesc メニュー画面のレイアウトを変更します。
 * @author Yoji Ojima
 *
 * @help このプラグインには、プラグインコマンドはありません。
 */

(function() {

    var _Scene_Menu_create = Scene_Menu.prototype.create;
    Scene_Menu.prototype.create = function() {
        _Scene_Menu_create.call(this);
        this._statusWindow.x = 0;
        this._statusWindow.y = this._commandWindow.height;
        this._goldWindow.x = Graphics.boxWidth - this._goldWindow.width;
    };

    Window_MenuCommand.prototype.windowWidth = function() {
        return Graphics.boxWidth;
    };

    Window_MenuCommand.prototype.maxCols = function() {
        return 4;
    };

    Window_MenuCommand.prototype.numVisibleRows = function() {
        return 2;
    };

    Window_MenuStatus.prototype.windowWidth = function() {
        return Graphics.boxWidth;
    };

    Window_MenuStatus.prototype.windowHeight = function() {
        var h1 = this.fittingHeight(1);
        var h2 = this.fittingHeight(2);
        return Graphics.boxHeight - h1 - h2;
    };

    Window_MenuStatus.prototype.maxCols = function() {
        return 4;
    };

    Window_MenuStatus.prototype.numVisibleRows = function() {
        return 1;
    };

    Window_MenuStatus.prototype.drawItemImage = function(index) {
        var actor = $gameParty.members()[index];
        var rect = this.itemRectForText(index);
        var w = Math.min(rect.width, 144);
        var h = Math.min(rect.height, 144);
        var lineHeight = this.lineHeight();
        this.changePaintOpacity(actor.isBattleMember());
        this.drawActorFace(actor, rect.x, rect.y + lineHeight * 2.5, w, h);
        this.changePaintOpacity(true);
    };

    Window_MenuStatus.prototype.drawItemStatus = function(index) {
        var actor = $gameParty.members()[index];
        var rect = this.itemRectForText(index);
        var x = rect.x;
        var y = rect.y;
        var width = rect.width;
        var bottom = y + rect.height;
        var lineHeight = this.lineHeight();
        this.drawActorName(actor, x, y + lineHeight * 0, width);
        this.drawActorLevel(actor, x, y + lineHeight * 1, width);
        this.drawActorClass(actor, x, bottom - lineHeight * 4, width);
        this.drawActorHp(actor, x, bottom - lineHeight * 3, width);
        this.drawActorMp(actor, x, bottom - lineHeight * 2, width);
        this.drawActorIcons(actor, x, bottom - lineHeight * 1, width);
    };

    var _Window_MenuActor_initialize = Window_MenuActor.prototype.initialize;
    Window_MenuActor.prototype.initialize = function() {
        _Window_MenuActor_initialize.call(this);
        this.y = this.fittingHeight(2);
    };

})();