Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upGitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
| /* | |
| * =========================================================================== | |
| * KanjiPartyChange.js | |
| * --------------------------------------------------------------------------- | |
| * version 1.04 | |
| * Copyright (c) 2020 Kanji the Grass | |
| * This work is provided under the MTCM Blue License | |
| * - https://ja.materialcommons.org/mtcm-b-summary/ | |
| * Credits display: Kanji the Grass ordered by Munokura fungamemake.com | |
| * =========================================================================== | |
| */ | |
| /*: | |
| * @plugindesc Provides a scene for switching party actors between. | |
| * @author Kanji the Grass | |
| * | |
| * @param system | |
| * @text ---General--- | |
| * | |
| * @param addThisIntoMenuCommand | |
| * @parent system | |
| * @text Show Menu Command | |
| * @desc Show the 'Party Change' command in the Menu? | |
| * @type boolean | |
| * @on Show | |
| * @off Hide | |
| * @default true | |
| * | |
| * @param partyChangeCommand | |
| * @parent system | |
| * @text Command Party Change Text | |
| * @desc This is the text for the menu command. | |
| * @type string | |
| * @default Party Change | |
| * | |
| * @param maxBattleMembers | |
| * @parent system | |
| * @text Max Battle Members | |
| * @desc Maximum amount of actors that can participate in battle. Leave this at 0 to not use this function. | |
| * @type number | |
| * @default 0 | |
| * | |
| * @param maxAllParty | |
| * @parent system | |
| * @text Max Party Members | |
| * @desc Maximum amount of actors in party. | |
| * @type number | |
| * @min 1 | |
| * @default 8 | |
| * | |
| * @param lockIcon | |
| * @parent system | |
| * @text Locked Icon | |
| * @desc This sets what icon to be used when an actor is locked. | |
| * @type number | |
| * @default 195 | |
| * | |
| * @param layoutCW | |
| * @text ---Command Window--- | |
| * | |
| * @param CWpos | |
| * @parent layoutCW | |
| * @text Window Setting | |
| * @desc Window Setting. | |
| * format [x, y, width, height] | |
| * @type string[] | |
| * @default [0, 0, 270, 192] | |
| * | |
| * @param alignmentOfCommand | |
| * @parent layoutCW | |
| * @text Text Alignment | |
| * @desc The text alignment for the command window. | |
| * left / center / right | |
| * @type combo | |
| * @default center | |
| * @option left | |
| * @option center | |
| * @option right | |
| * | |
| * @param changeTerm | |
| * @parent layoutCW | |
| * @type string | |
| * @text Change Command | |
| * @desc How the 'Change' command appears on the command window. | |
| * Leave this blank to remove it. | |
| * @default Change | |
| * | |
| * @param removeTerm | |
| * @parent layoutCW | |
| * @type string | |
| * @text Remove Command | |
| * @desc How the 'Remove' command appears on the command window. | |
| * Leave this blank to remove it. | |
| * @default Remove | |
| * | |
| * @param revertTerm | |
| * @parent layoutCW | |
| * @type string | |
| * @text Revert Command | |
| * @desc How the 'Revert' command appears on the command window. | |
| * Leave this blank to remove it. | |
| * @default Revert | |
| * | |
| * @param finishTerm | |
| * @parent layoutCW | |
| * @type string | |
| * @text Finish Command | |
| * @desc How the 'Finish' command appears on the command window. | |
| * Leave this blank to remove it. | |
| * @default Finish | |
| * | |
| * @param layoutPW | |
| * @text ---Party Window--- | |
| * | |
| * @param PWpos | |
| * @parent layoutPW | |
| * @text Window Setting | |
| * @desc Window Setting. | |
| * format [x, y, width, height] | |
| * @type string[] | |
| * @default [270, 0, w-270, 192] | |
| * | |
| * @param pwFaceType | |
| * @parent layoutPW | |
| * @text Show Actor | |
| * @desc Show the actor's type. walk / face / sideV / none | |
| * @type combo | |
| * @default walk | |
| * @option walk | |
| * @option face | |
| * @option sideV | |
| * @option none | |
| * | |
| * @param actorListColMax | |
| * @parent layoutPW | |
| * @text Window columns | |
| * @desc Number of columns displayed. Member slots that exceed this number are listed below. 3 to 6 is recommended. | |
| * @type number | |
| * @default 4 | |
| * | |
| * @param emptyFrameTerm | |
| * @parent layoutPW | |
| * @text Empty Text | |
| * @desc What text to display in an empty party slot. | |
| * @type string | |
| * @default - Empty - | |
| * | |
| * @param layoutWW | |
| * @text ---Standby Actors Window--- | |
| * | |
| * @param WWpos | |
| * @parent layoutWW | |
| * @text Window Setting | |
| * @desc Window Setting. | |
| * format [x, y, width, height] | |
| * @type string[] | |
| * @default [0, 192, 250, h - 192] | |
| * | |
| * @param wwFaceType | |
| * @parent layoutWW | |
| * @text Show Actor | |
| * @desc Show the actor's type. walk / face / sideV / none | |
| * @type combo | |
| * @default walk | |
| * @option walk | |
| * @option face | |
| * @option sideV | |
| * @option none | |
| * | |
| * @param wwRowHeight | |
| * @parent layoutWW | |
| * @text Line Height | |
| * @desc The height used for each line actors. | |
| * @type number | |
| * @default 36 | |
| * | |
| * @param removeOnReserveTerm | |
| * @parent layoutWW | |
| * @text Remove Command | |
| * @desc How the 'Remove' command appears on the Standby window. | |
| * Leave this blank to remove it. | |
| * @type string | |
| * @default Remove | |
| * | |
| * @param layoutSW | |
| * @text ---Parameters Window--- | |
| * | |
| * @param SWpos | |
| * @parent layoutSW | |
| * @text Window Setting | |
| * @desc Window Setting. | |
| * format [x, y, width, height] | |
| * @type string[] | |
| * @default [250, 192, w - 250, h - 192] | |
| * | |
| * @param hpPos | |
| * @parent layoutSW | |
| * @text HP Position | |
| * @desc HP Position. If you wish to hide it, set the width to 0. | |
| * format [x, y, width] | |
| * @type string[] | |
| * @default [150, 72, 200] | |
| * | |
| * @param mpPos | |
| * @parent layoutSW | |
| * @text MP Position | |
| * @desc MP Position. If you wish to hide it, set the width to 0. | |
| * format [x, y, width] | |
| * @type string[] | |
| * @default [150, 108, 200] | |
| * | |
| * @param tpPos | |
| * @parent layoutSW | |
| * @text TP Position | |
| * @desc TP Position. If you wish to hide it, set the width to 0. | |
| * format [x, y, width] | |
| * @type string[] | |
| * @default [360, 72, 144] | |
| * | |
| * @param swFaceType | |
| * @parent layoutSW | |
| * @text Show Actor | |
| * @desc Show the actor's type. walk / face / sideV / none | |
| * @type combo | |
| * @default face | |
| * @option walk | |
| * @option face | |
| * @option sideV | |
| * @option none | |
| * | |
| * @param facePos | |
| * @parent layoutSW | |
| * @text Sprite Position | |
| * @desc Sprite for displaying parameters. | |
| * format [x, y] | |
| * @type string[] | |
| * @default [0, 0] | |
| * | |
| * @param nameShow | |
| * @parent layoutSW | |
| * @text Actor Name | |
| * @desc Show the actor's name? | |
| * @type boolean | |
| * @on Show | |
| * @off Hide | |
| * @default true | |
| * | |
| * @param namePos | |
| * @parent layoutSW | |
| * @text Name Position | |
| * @desc Name for displaying parameters. | |
| * format [x, y, width] | |
| * @type string[] | |
| * @default [150, 0, 180] | |
| * | |
| * @param classShow | |
| * @parent layoutSW | |
| * @text Actor Class | |
| * @desc Show the actor's class? | |
| * @type boolean | |
| * @on Show | |
| * @off Hide | |
| * @default true | |
| * | |
| * @param classPos | |
| * @parent layoutSW | |
| * @text Class Position | |
| * @desc Class for displaying parameters. | |
| * format [x, y, width] | |
| * @type string[] | |
| * @default [330, 0, 180] | |
| * | |
| * @param levelShow | |
| * @parent layoutSW | |
| * @text Actor Level | |
| * @desc Show the actor's level? | |
| * @type boolean | |
| * @on Show | |
| * @off Hide | |
| * @default true | |
| * | |
| * @param levelPos | |
| * @parent layoutSW | |
| * @text Level Position | |
| * @desc Level for displaying parameters. | |
| * format [x, y, width] | |
| * @type string[] | |
| * @default [150, 36, 120] | |
| * | |
| * @param iconsPos | |
| * @parent layoutSW | |
| * @text State Position | |
| * @desc State Icon for displaying parameters. If you wish to hide it, set the width to 0. | |
| * format [x, y, width] | |
| * @type string[] | |
| * @default [330, 36, 180] | |
| * | |
| * @param horzLineYPos | |
| * @parent layoutSW | |
| * @text Show Horizontal Line | |
| * @desc Set the Y position to display the horizontal line. | |
| * format [Y1, Y2, ...] | |
| * @type string[] | |
| * @default [148] | |
| * | |
| * @param equipShow | |
| * @parent layoutSW | |
| * @text Show Equip | |
| * @desc Show the actor's equip item list? | |
| * @type boolean | |
| * @on Show | |
| * @off Hide | |
| * @default true | |
| * | |
| * @param equipPos | |
| * @parent layoutSW | |
| * @text Equips Position | |
| * @desc Equips for displaying parameters. | |
| * format [x, y, width] | |
| * @type string[] | |
| * @default [0, 158, 320] | |
| * | |
| * @param equipRowHeight | |
| * @parent layoutSW | |
| * @text Equips Line Height | |
| * @desc The height used for each line equips. | |
| * @type number | |
| * @default 36 | |
| * | |
| * @param statusShow | |
| * @parent layoutSW | |
| * @text Show Actor Parameters | |
| * @desc Show the actor's Parameters? | |
| * @type boolean | |
| * @on Show | |
| * @off Hide | |
| * @default true | |
| * | |
| * @param statusPos | |
| * @parent layoutSW | |
| * @text Parameters Position | |
| * @desc Position for displaying parameters. | |
| * format [x, y, width] | |
| * @type string[] | |
| * @default [340, 158, 180] | |
| * | |
| * @param statusRowHeight | |
| * @parent layoutSW | |
| * @text Parameters Line Height | |
| * @desc The height used for each line parameters. | |
| * @type number | |
| * @default 36 | |
| * | |
| * @param paramListSW | |
| * @parent layoutSW | |
| * @text List of Parameters | |
| * @desc [ver.1.04]Display nml.param when you set just a number. | |
| * ADDparam's shown if input starting with X,or SPLparam with S. | |
| * @type string[] | |
| * @default ["2","3","4","5","X1","S1"] | |
| * | |
| * @param xParamNames | |
| * @parent layoutSW | |
| * @text Names Of Add. Params | |
| * @desc [ver.1.04]Names of Additional Params on Status Window. | |
| * Change them as necessary. | |
| * @type string[] | |
| * @default ["Hit Rate","Evade Rate","Critical","Crt.Evade","Mgc.Evade","Mgc.Reflect","CounterAtk.","HP Recovery","MP Recovery","TP Recovery"] | |
| * | |
| * @param sParamNames | |
| * @parent layoutSW | |
| * @text Names Of SPL. Params | |
| * @desc [ver.1.04]Names of Special Params on Status Window. | |
| * Change them as necessary. | |
| * @type string[] | |
| * @default ["Target Rate","Guard Effect","Recovery Effect","Pharmacology","MP CostRate","TP Charge","PHYS.Damage","MGC.Damage","FloorDamage","EXP Gain Rate"] | |
| * | |
| * @param parcentStr | |
| * @parent layoutSW | |
| * @text Rate Term of ADD or SPL params | |
| * @desc [ver.1.04]A term when displays Additional params or Special one. | |
| * @type string | |
| * @default % | |
| * | |
| * @help | |
| * - Already at a party: | |
| * "Party Actors" | |
| * - Scene called from this plugin: | |
| * "Party Change Scene" | |
| * - Members that can be called only from the "Party Change Scene": | |
| * "Standby Actors" | |
| * | |
| * An array of window positions and heights can be described by a formula. | |
| * Graphics.boxWidth is abbreviated as w. | |
| * boxHeight is abbreviated as h. | |
| * | |
| * Plugin Command: | |
| * kanjiPC start | |
| * Opens up the "Party Change Scene" from the field. | |
| * | |
| * kanjiPC add 3 | |
| * Add ID3 actor to the "Standby actors". | |
| * If actors are already "Party Actors" or "Standby Actors", do nothing. | |
| * | |
| * kanjiPC del 4 5-10 | |
| * Remove actors ID 4 and 5 from the "Standby Actors". | |
| * If actors are "Party Actors", do nothing. | |
| * | |
| * kanjiPC lock 1 3-5 | |
| * Locks actors 1, 3, 4, and 5 | |
| * | |
| * kanjiPC unlock 1 3-5 6 | |
| * Unlocks actors 1, 3, 4, 5, and 6. | |
| * *ex.1-100 : When specifying sequential numbers, be sure to make the | |
| * left number smaller than the right number. | |
| * | |
| * kanjiPC clear | |
| * Empty the waiting actors information. | |
| * | |
| * kanjiPC changeMaxParty 9 | |
| * Changes max party size to 9. | |
| * | |
| * * P.S. about after ver.1.04 | |
| * Added new function to parameters of Status Window. | |
| * You can display parameters as well as Additional parameters | |
| * and Special parameters as you want. | |
| * If you set just a number, displays a normal parameter. | |
| * Or setting a number starting with X(like "X0"), | |
| * displays the first of Additional parameter(Hit Rate in this case). | |
| * And set starting with S, displays a Special parameter. | |
| * If you set "null", The offset you set displays empty line. | |
| * | |
| * ■ID lists | |
| * ● Normal parameters | |
| * 0: Max HP | 1: Max MP | 2: Attack Power | |
| * 3: Defense Power | 4: Magic Attack | 5: Magic Defense | |
| * 6: Agility | 7: Luckness | | |
| * | |
| * ● Additional parameters | |
| * X0: Hit Rate | X1: Evasion Rate | X2: Critical Rate | |
| * X3: Critical Evadsion | X4: Magic Evasion | X5: Magic Reflection | |
| * X6: Counterattack Rate | X7: HP Regenerate | X8: MP Regenerate | |
| * X9: TP Regenerate | | | |
| * | |
| * ● Special parameters | |
| * S0: Target Rate | S1: x Guard Effect | S2: x Recover Effect | |
| * S3: Pharmacology | S4: x MP Consume | S5: x TP Charge | |
| * S6: x PhysicalDamage | S7: x MagicDamage | S8: x Floor Damage(when walk on like a poisonous swamp) | |
| * S9: x Gaining EXP | | | |
| * | |
| * --- Terms of use --- | |
| * This work is provided under the MTCM Blue License | |
| * - https://en.materialcommons.org/mtcm-b-summary | |
| * Credits:Kanji the Grass (Order by Munokura fungamemake.com ) | |
| * | |
| * Please use after confirming license contents. | |
| */ | |
| /*:ja | |
| * @plugindesc 待機メンバーと入れ替えるシーンを追加します | |
| * @author 莞爾の草 | |
| * | |
| * @param system | |
| * @text システム部 | |
| * | |
| * @param addThisIntoMenuCommand | |
| * @parent system | |
| * @text メニュー表示 | |
| * @desc メニュー画面に待機メンバーとの入れ替えコマンドを表示 | |
| * @type boolean | |
| * @on 表示 | |
| * @off 非表示 | |
| * @default true | |
| * | |
| * @param partyChangeCommand | |
| * @parent system | |
| * @text メニュー上の表示テキスト | |
| * @desc メニュー画面で待機メンバーとの入れ替えコマンドの表示テキスト | |
| * @type string | |
| * @default パーティ編成 | |
| * | |
| * @param maxBattleMembers | |
| * @parent system | |
| * @text 戦闘メンバーの最大数 | |
| * @desc 戦闘メンバーの最大数です。ここで指定しない場合は0 | |
| * @type number | |
| * @default 0 | |
| * | |
| * @param maxAllParty | |
| * @parent system | |
| * @text パーティ最大人数 | |
| * @desc パーティの最大人数です。 | |
| * 戦闘参加人数+戦闘控えメンバーの最大数を指定してください。 | |
| * @type number | |
| * @min 1 | |
| * @default 8 | |
| * | |
| * @param lockIcon | |
| * @parent system | |
| * @text ロックのアイコンID | |
| * @desc パーティにロックされたキャラに表示するアイコン画像のID。表示しない場合は0 | |
| * @type number | |
| * @default 195 | |
| * | |
| * @param layoutCW | |
| * @text コマンドウィンドウ | |
| * | |
| * @param CWpos | |
| * @parent layoutCW | |
| * @text 横・縦・幅・高さ | |
| * @type string[] | |
| * @desc ウィンドウの横・縦・幅・高さを指定。 | |
| * 書式 [X座標,Y座標,幅,高さ] | |
| * @default [0, 0, 270, 192] | |
| * | |
| * @param alignmentOfCommand | |
| * @parent layoutCW | |
| * @text テキストの行揃え | |
| * @desc コマンドウィンドウの行揃え | |
| * @type select | |
| * @default left | |
| * @option 左 | |
| * @value left | |
| * @option 中 | |
| * @value center | |
| * @option 右 | |
| * @value right | |
| * | |
| * @param changeTerm | |
| * @parent layoutCW | |
| * @type string | |
| * @text 「交代」表示テキスト | |
| * @desc 「交代」表示テキストを指定。空にするとコマンドが消えます。 | |
| * @default 交代 | |
| * | |
| * @param removeTerm | |
| * @parent layoutCW | |
| * @type string | |
| * @text 「外す」表示テキスト | |
| * @desc 「外す」表示テキストを指定。空にするとコマンドが消えます。 | |
| * @default 外す | |
| * | |
| * @param revertTerm | |
| * @parent layoutCW | |
| * @type string | |
| * @text 「元に戻す」表示テキスト | |
| * @desc 「元に戻す」表示テキストを指定。空にするとコマンドが消えます。 | |
| * @default 元に戻す | |
| * | |
| * @param finishTerm | |
| * @parent layoutCW | |
| * @type string | |
| * @text 「完了」表示テキスト | |
| * @desc 「完了」表示テキストを指定。空にするとコマンドが消えます。 | |
| * @default 完了 | |
| * | |
| * @param layoutPW | |
| * @text パーティ選択ウィンドウ | |
| * | |
| * @param PWpos | |
| * @parent layoutPW | |
| * @text 横・縦・幅・高さ | |
| * @desc ウィンドウの横・縦・幅・高さを指定 | |
| * 書式 [X座標,Y座標,幅,高さ] | |
| * @type string[] | |
| * @default [270, 0, w-270, 192] | |
| * | |
| * @param pwFaceType | |
| * @parent layoutPW | |
| * @text キャラ表示タイプ | |
| * @desc キャラの表示タイプです。歩行キャラ・顔画像・[SV]戦闘キャラから選べます。 | |
| * @type select | |
| * @default walk | |
| * @option 歩行キャラ | |
| * @value walk | |
| * @option 顔画像 | |
| * @value face | |
| * @option [SV]戦闘キャラ | |
| * @value sideV | |
| * @option 表示しない | |
| * @value none | |
| * | |
| * @param actorListColMax | |
| * @parent layoutPW | |
| * @text ウィンドウ列数 | |
| * @desc 表示される列数です。この人数を超えるメンバー枠は下にスクロールします。 3から6推奨。 | |
| * @type number | |
| * @default 4 | |
| * | |
| * @param emptyFrameTerm | |
| * @parent layoutPW | |
| * @text 空欄表示テキスト | |
| * @desc 空欄に表示するテキスト | |
| * @type string | |
| * @default - 空き - | |
| * | |
| * @param layoutWW | |
| * @text 待機メンバーウィンドウ | |
| * | |
| * @param WWpos | |
| * @parent layoutWW | |
| * @text 横・縦・幅・高さ | |
| * @desc ウィンドウの横・縦・幅・高さです。 | |
| * 書式 [X座標,Y座標,幅,高さ] | |
| * @type string[] | |
| * @default [0, 192, 250, h - 192] | |
| * | |
| * @param wwFaceType | |
| * @parent layoutWW | |
| * @text キャラ表示タイプ | |
| * @desc キャラの表示タイプです。歩行キャラ・顔画像・[SV]戦闘キャラから選べます。 | |
| * @type select | |
| * @default walk | |
| * @option 歩行キャラ | |
| * @value walk | |
| * @option 顔画像 | |
| * @value face | |
| * @option [SV]戦闘キャラ | |
| * @value sideV | |
| * @option 表示しない | |
| * @value none | |
| * | |
| * @param wwRowHeight | |
| * @parent layoutWW | |
| * @text 項目の高さ | |
| * @desc 選択項目の行の高さを指定します。 | |
| * @type number | |
| * @default 36 | |
| * | |
| * @param removeOnReserveTerm | |
| * @parent layoutWW | |
| * @text 「外す」表示テキスト | |
| * @desc 「外す」表示テキスト。空にするとコマンドが消えます。 | |
| * @type string | |
| * @default 外す | |
| * | |
| * @param layoutSW | |
| * @text 能力値ウィンドウ | |
| * | |
| * @param SWpos | |
| * @parent layoutSW | |
| * @text 横・縦・幅・高さ | |
| * @desc ウィンドウの横・縦・幅・高さを指定 | |
| * 書式 [X座標,Y座標,幅,高さ] | |
| * @type string[] | |
| * @default [250, 192, w - 250, h - 192] | |
| * | |
| * @param hpPos | |
| * @parent layoutSW | |
| * @text HP表示位置・横幅 | |
| * @desc HP表示位置と横幅。非表示にするには横幅を0に | |
| * 書式 [X座標,Y座標,幅] | |
| * @type string[] | |
| * @default [150, 72, 200] | |
| * | |
| * @param mpPos | |
| * @parent layoutSW | |
| * @text MP表示位置・横幅 | |
| * @desc MP表示位置と横幅。非表示にするには横幅を0に | |
| * 書式 [X座標,Y座標,幅] | |
| * @type string[] | |
| * @default [150, 108, 200] | |
| * | |
| * @param tpPos | |
| * @parent layoutSW | |
| * @text TP表示位置・横幅 | |
| * @desc TP表示位置と横幅。非表示にするには横幅を0に | |
| * 書式 [X座標,Y座標,幅] | |
| * @type string[] | |
| * @default [360, 72, 144] | |
| * | |
| * @param swFaceType | |
| * @parent layoutSW | |
| * @text キャラの表示タイプ | |
| * @desc キャラの表示タイプです。歩行キャラ・顔画像・[SV]戦闘キャラから選べます。 | |
| * @type select | |
| * @default face | |
| * @option 歩行キャラ | |
| * @value walk | |
| * @option 顔画像 | |
| * @value face | |
| * @option [SV]戦闘キャラ | |
| * @value sideV | |
| * @option 表示しない | |
| * @value none | |
| * | |
| * @param facePos | |
| * @parent layoutSW | |
| * @text キャラ表示位置 | |
| * @desc キャラを表示する位置 | |
| * 書式 [X座標,Y座標] | |
| * @type string[] | |
| * @default [0, 0] | |
| * | |
| * @param nameShow | |
| * @parent layoutSW | |
| * @text 名前表示 | |
| * @desc 名前を表示するか指定 | |
| * @type boolean | |
| * @on 表示 | |
| * @off 非表示 | |
| * @default true | |
| * | |
| * @param namePos | |
| * @parent layoutSW | |
| * @text 名前表示位置 | |
| * @desc 名前を表示する位置 | |
| * 書式 [X座標,Y座標,幅] | |
| * @type string[] | |
| * @default [150, 0, 180] | |
| * | |
| * @param classShow | |
| * @parent layoutSW | |
| * @text 職業表示 | |
| * @desc 職業を表示するか指定 | |
| * @type boolean | |
| * @on 表示 | |
| * @off 非表示 | |
| * @default true | |
| * | |
| * @param classPos | |
| * @parent layoutSW | |
| * @text 職業表示位置 | |
| * @desc 職業を表示する位置 | |
| * 書式 [X座標,Y座標,幅] | |
| * @type string[] | |
| * @default [330, 0, 180] | |
| * | |
| * @param levelShow | |
| * @parent layoutSW | |
| * @text レベル表示 | |
| * @desc レベルを表示するか指定 | |
| * @type boolean | |
| * @on 表示 | |
| * @off 非表示 | |
| * @default true | |
| * | |
| * @param levelPos | |
| * @parent layoutSW | |
| * @text レベル表示位置 | |
| * @desc レベルを表示する位置 | |
| * 書式 [X座標,Y座標, 幅] | |
| * @type string[] | |
| * @default [150, 36, 120] | |
| * | |
| * @param iconsPos | |
| * @parent layoutSW | |
| * @text ステート表示位置 | |
| * @desc ステートアイコンを表示する位置と幅。非表示は横幅を0に | |
| * 書式 [X座標,Y座標,横幅] | |
| * @type string[] | |
| * @default [330, 36, 180] | |
| * | |
| * @param horzLineYPos | |
| * @parent layoutSW | |
| * @text 水平線表示Y座標 | |
| * @desc 表示する水平線の縦位置(Y)。複数指定可能 | |
| * 書式 [Y1, Y2, ...] | |
| * @type string[] | |
| * @default [148] | |
| * | |
| * @param equipShow | |
| * @parent layoutSW | |
| * @text 装備表示 | |
| * @desc 装備を表示するか指定 | |
| * @type boolean | |
| * @on 表示 | |
| * @off 非表示 | |
| * @default true | |
| * | |
| * @param equipPos | |
| * @parent layoutSW | |
| * @text 装備表示位置 | |
| * @desc 装備を表示する位置 | |
| * 書式 [X座標,Y座標,幅] | |
| * @type string[] | |
| * @default [0, 158, 320] | |
| * | |
| * @param equipRowHeight | |
| * @parent layoutSW | |
| * @text 装備表示の行高 | |
| * @desc 装備を表示する行の高さを指定 | |
| * @type number | |
| * @default 36 | |
| * | |
| * @param statusShow | |
| * @parent layoutSW | |
| * @text 能力値表示 | |
| * @desc 能力値を表示するか指定 | |
| * @type boolean | |
| * @on 表示 | |
| * @off 非表示 | |
| * @default true | |
| * | |
| * @param statusPos | |
| * @parent layoutSW | |
| * @text 能力値表示位置 | |
| * @desc 能力値を表示する位置 | |
| * 書式 [X座標,Y座標,幅] | |
| * @type string[] | |
| * @default [340, 158, 180] | |
| * | |
| * @param statusRowHeight | |
| * @parent layoutSW | |
| * @text 能力値行高 | |
| * @desc 能力値を表示する行の高さを指定 | |
| * @type number | |
| * @default 36 | |
| * | |
| * @param paramListSW | |
| * @parent layoutSW | |
| * @text 能力値表示項目 | |
| * @desc [ver.1.04]表示する能力値一覧を変更できます。数字のみは | |
| * 通常(0:HP 2:攻撃等)、数字の前にXをつけると追加、Sで特殊能力値です。 | |
| * @type string[] | |
| * @default ["2","3","4","5","X1","S1"] | |
| * | |
| * @param xParamNames | |
| * @parent layoutSW | |
| * @text 追加能力値名 | |
| * @desc [ver.1.04]追加能力値の名称を設定します。 | |
| * 必要に応じて。 | |
| * @type string[] | |
| * @default ["命中率","回避率","会心率","会心回避率","魔法回避率","魔法反射率","反撃率","HP再生率","MP再生率","TP再生率"] | |
| * | |
| * @param sParamNames | |
| * @parent layoutSW | |
| * @text 特殊能力値名 | |
| * @desc [ver.1.04]特殊能力値の名称を設定します。 | |
| * 必要に応じて。 | |
| * @type string[] | |
| * @default ["狙われ率","防御効果率","回復効果率","薬の知識","MP消費率","TPチャージ率","物理ダメージ率","魔法ダメージ率","床ダメージ率","経験獲得率"] | |
| * | |
| * @param parcentStr | |
| * @parent layoutSW | |
| * @text 追加・特殊能力値割合表示 | |
| * @desc [ver.1.04]追加・特殊能力値の割合を表示する際、末尾につける%のテキストです。 | |
| * 一応変更可能にしました。 | |
| * @type string | |
| * @default % | |
| * | |
| * @help | |
| * このプラグインでは | |
| * - 既にパーティにいるメンバー : 『パーティメンバー』 | |
| * - このプラグインから呼び出す場面 : 『パーティ編成画面』 | |
| * - 『パーティ編成画面』からのみで呼び出せるメンバー : 『待機メンバー』 | |
| * と呼称しています。 | |
| * | |
| * ウィンドウの位置、高さの配列は計算式で記述できます。 | |
| * Graphics.boxWidth(画面幅)はw、boxHeightはhと省略できます。 | |
| * | |
| * ■プラグインコマンド | |
| * kanjiPC start | |
| * パーティ編成画面を開く。 | |
| * | |
| * kanjiPC add 3 | |
| * 待機メンバーにID3番のアクターを加える。 | |
| * 既にパーティや待機メンバーにいる場合は何もしません。 | |
| * | |
| * kanjiPC del 4 5-10 | |
| * 待機メンバーからID4と5から10番のアクターを外します。 | |
| * パーティにいる場合、何もしません。 | |
| * パーティにいるアクターを待機メンバーから外すには、 | |
| * 事前に「メンバーの入れ替え」等でパーティから外してください。 | |
| * | |
| * kanjiPC lock 1 3-4 | |
| * ID1、3から4番のアクターをパーティから外せないようにします。 | |
| * | |
| * kanjiPC unlock 1 3-4 5 | |
| * ID1、3から4、5番のアクターにかかったロックを解除します。 | |
| * ※1-100のように連番で指定する場合、 | |
| * 左の数字は右の数字より必ず小さくしてください。 | |
| * | |
| * kanjiPC clear | |
| * 待機メンバー情報を初期化(空に)します。 | |
| * | |
| * kanjiPC changeMaxParty 9 | |
| * パーティメンバーの最大数を9に変更します。 | |
| * | |
| * 【追記 ver.1.04以降】 | |
| * ステータスウィンドウに通常能力値だけでなく、追加能力値(命中率など)、 | |
| * 特別能力値(狙われ率など)を表示できるようになりました。 | |
| * パラメータ「paramListSW」に数字だけを設定すると通常能力値(最大HPなど) | |
| * が表示されます。 | |
| * | |
| * 「X0」のように、Xの後に数字を設定すると、追加能力値の1番目(この場合命中率) | |
| * が表示されます。 | |
| * | |
| * 「S0」のようにSから始まる場合は特別能力値(この場合狙われ率)が表示されます。 | |
| * また、数字を指定せず「null」とだけ設定するとその行は空白にすることができます。 | |
| * | |
| * ■通常能力値一覧表 | |
| * 0: 最大HP | 1: 最大MP | 2: 攻撃力 | |
| * 3: 防御力 | 4: 魔法攻撃力 | 5: 魔法防御力 | |
| * 6: 俊敏性 | 7: 運 | | |
| * | |
| * ■追加能力値一覧表 | |
| * X0: 命中率 | X1: 回避率 | X2: 会心率 | |
| * X3: 会心回避率 | X4: 魔法回避率 | X5: 魔法反射率 | |
| * X6: 反撃率 | X7: HP再生率 | X8: MP再生率 | |
| * X9: TP再生率 | | | |
| * | |
| * ■特別能力値一覧表 | |
| * S0: 狙われ率 | S1: 防御効果率 | S2: 回復効果率 | |
| * S3: 薬の知識 | S4: MP消費率 | S5: TPチャージ率 | |
| * S6: 物理ダメージ率 | S7: 魔法ダメージ率 | S8: 床ダメージ率 | |
| * S9: 経験獲得率 | | | |
| * | |
| * ■更新履歴 | |
| * ver.1.01(2020/02/16) | |
| * ・英語版のパラメータの文言を変更しました | |
| * ver.1.02(2020/03/10) | |
| * ・パラメータの文言・デフォルト設定を一部変更 | |
| * ver.1.03(2020/04/12) | |
| * ・statusPosの幅が設定できなかった不具合を修正しました | |
| * ver.1.04(2020/08/18) | |
| * ・ステータスウィンドウに表示する項目を変更できるようにしました。 | |
| * (追加・特殊能力値にも対応) | |
| * | |
| * ■利用規約 | |
| * この作品は マテリアル・コモンズ・ブルー・ライセンスの下に提供されています。 | |
| * - https://ja.materialcommons.org/mtcm-b-summary/ | |
| * クレジット表示:莞爾の草 (仕様作成:ムノクラ fungamemake.com ) | |
| * | |
| * ライセンス内容を確認の上、ご利用ください。 | |
| */ | |
| (function () { | |
| "use strict"; | |
| var param = PluginManager.parameters('KanjiPartyChange'); | |
| param.alignmentOfCommand = String(param['alignmentOfCommand'] || "center"), | |
| param.removeOnReserveTerm = String(param['removeOnReserveTerm']), | |
| param.actorListColMax = Number(param['actorListColMax'] || 4), | |
| param.maxBattleMembers = Number(param['maxBattleMembers'] || 0) | |
| param.addThisIntoMenuCommand = eval(param['addThisIntoMenuCommand'] || false), | |
| param.partyChangeCommand = String(param['partyChangeCommand'] || "パーティ編成"), | |
| param.cwPos = param['CWpos'] || "[0, 0, 250, 192]", | |
| param.pwPos = param['PWpos'] || "[250, 0, w - 250, 192]", | |
| param.wwPos = param['WWpos'] || "[0, 192, 250, h - 192]", | |
| param.swPos = param['SWpos'] || "[250, 192, w - 250, h - 192]", | |
| param.lockIcon = Number(param['lockIcon'] || 195), | |
| param.changeTerm = String(param['changeTerm']), | |
| param.removeTerm = String(param['removeTerm']), | |
| param.revertTerm = String(param['revertTerm']), | |
| param.finishTerm = String(param['finishTerm']), | |
| param.emptyFrame = String(param['emptyFrameTerm'] || "- EMPTY -"), | |
| param.swFaceType = String(param['swFaceType'] || "face"), | |
| param.pwFaceType = String(param['pwFaceType'] || "walk"), | |
| param.wwFaceType = String(param['wwFaceType'] || "walk"), | |
| param.equipShow = eval(param['equipShow']), | |
| param.levelShow = eval(param['levelShow']), | |
| param.statusShow = eval(param['statusShow']), | |
| param.nameShow = eval(param['nameShow']), | |
| param.classShow = eval(param['classShow']), | |
| param.levelPos = param['levelPos'] || "[150, 36, 120]", | |
| param.equipPos = param['equipPos'] || "[0, 158, 320]", | |
| param.statusPos = param['statusPos'] || "[340, 158, 180]", | |
| param.facePos = param['facePos'] || "[0, 0]", | |
| param.namePos = param['namePos'] || "[150, 0, 180]", | |
| param.classPos = param['classPos'] || "[330, 0, 180]", | |
| param.iconsPos = param['iconsPos'] || "[330, 36, 180]", | |
| param.hpPos = param['hpPos'] || "[150, 72, 200]", | |
| param.mpPos = param['mpPos'] || "[150, 108, 200]", | |
| param.tpPos = param['tpPos'] || "[360, 72, 144]", | |
| param.horzLineYPos= param['horzLineYPos'] || "[148]", | |
| param.wwRowHeight = Number(param['wwRowHeight'] || 48), | |
| param.equipRow = Number(param['equipRowHeight'] || 36), | |
| param.statusRow = Number(param['statusRowHeight'] || 36), | |
| param.maxAllParty = Number(param['maxAllParty'] || 8); | |
| // ver.1.04 ここから | |
| param.paramListSW = eval(param['paramListSW'] || ["2","3","4","5","X1","S1"]), | |
| param.xParamNames = eval(param['xParamNames'] || | |
| ["命中率","回避率","会心率","会心回避率","魔法回避率","魔法反射率", | |
| "反撃率","HP再生率","MP再生率","TP再生率"]), | |
| param.sParamNames = eval(param['sParamNames'] || | |
| ["狙われ率","防御効果率","回復効果率","薬の知識","MP消費率", | |
| "TPチャージ率","物理ダメージ率","魔法ダメージ率","床ダメージ率","経験獲得率"]); | |
| param.parcentStr = String(param.parcentStr || "%"); | |
| // ver.1.04 ここまで | |
| var $originalParty, $originalMembers, ssBitmap; | |
| const __maxBattleMembers_Game_Party = Game_Party.prototype.maxBattleMembers; | |
| Game_Party.prototype.maxBattleMembers = function() { | |
| return param.maxBattleMembers ? param.maxBattleMembers : | |
| __maxBattleMembers_Game_Party.call(this); | |
| }; | |
| function getIdList (data) { | |
| var list = data.match(/(\d+)(?:-(\d+))?/); | |
| if (list[2]) { | |
| var min = Number(list[1]), max = Number(list[2]); | |
| list = new Array(max - min + 1); | |
| for (var i = 0; i < list.length; i++) list[i] = i + min; | |
| }else{ | |
| list = [Number(list[1])]; | |
| } | |
| return list; | |
| } | |
| const __pluginCommand = Game_Interpreter.prototype.pluginCommand; | |
| Game_Interpreter.prototype.pluginCommand = function (command, args) { | |
| __pluginCommand.call(this, command, args); | |
| if (command === 'kanjiPC') { | |
| switch (args[0]) { | |
| case 'start': | |
| ssBitmap = Bitmap.snap(SceneManager._scene); | |
| SceneManager.push(Scene_LoadPCKanji); | |
| break; | |
| case 'add': | |
| var data, array = $gameSystem.waitingMembers(); | |
| for (var i = 1; args[i]; i++) { | |
| var m = getIdList(args[i]) | |
| for (var j = 0; data = m[j]; j++) { | |
| if (!array.includes(data) && !$gameParty._actors.includes(data)) { | |
| array.push(data); | |
| } | |
| } | |
| } | |
| break; | |
| case 'del': | |
| for (var i = 1; args[i]; i++) { | |
| var data, m = getIdList(args[i]) | |
| for (var j = 0; data = m[j]; j++) { | |
| $gameSystem._waitingMembers = | |
| $gameSystem._waitingMembers.filter(id => { return id !== data }); | |
| } | |
| } | |
| break; | |
| case 'lock': | |
| case 'unlock': | |
| for (var i = 1; args[i]; i++) { | |
| var m = getIdList(args[i]); | |
| for (var j = 0; m[j]; j++) { | |
| $gameActors.actor(m[j]).setKanjiPCLock(args[0] === 'lock'); | |
| } | |
| } | |
| break; | |
| case 'clear': | |
| $gameSystem.waitingMembers().length = 0; | |
| break; | |
| case 'changeMaxParty': | |
| $gameSystem._kanjiPCMaxParty = Number(args[1]); | |
| break; | |
| }; | |
| } | |
| }; | |
| Game_Actor.prototype.kanjiPCLock = function () { | |
| return this._kanjiPCLock; | |
| } | |
| Game_Actor.prototype.setKanjiPCLock = function (lock) { | |
| this._kanjiPCLock = lock; | |
| } | |
| Game_System.prototype.waitingMembers = function () { | |
| if (!this._waitingMembers) this._waitingMembers = [] | |
| return this._waitingMembers; | |
| } | |
| const __Window_MenuCommand_addMainCommands = Window_MenuCommand.prototype.addMainCommands; | |
| Window_MenuCommand.prototype.addMainCommands = function() { | |
| __Window_MenuCommand_addMainCommands.call(this); | |
| if (param.addThisIntoMenuCommand) this.addCommand(param.partyChangeCommand, 'partyChange'); | |
| }; | |
| const __Scene_Menu_createCommandWindow = Scene_Menu.prototype.createCommandWindow | |
| Scene_Menu.prototype.createCommandWindow = function () { | |
| __Scene_Menu_createCommandWindow.call(this); | |
| this._commandWindow.setHandler('partyChange', this.commandKNSPartyChange.bind(this)); | |
| } | |
| Scene_Menu.prototype.commandKNSPartyChange = function () { | |
| Bitmap.snap(SceneManager._scene); | |
| SceneManager.push(Scene_LoadPCKanji); | |
| } | |
| // Window_PCMainCommand | |
| function Window_PCMainCommand (){ | |
| return this.initialize.apply(this, arguments); | |
| } | |
| Window_PCMainCommand.prototype = Object.create(Window_Command.prototype); | |
| Window_PCMainCommand.prototype.constructor = Window_PCMainCommand; | |
| Window_PCMainCommand.prototype.initialize = function () { | |
| var w = Graphics.boxWidth, h = Graphics.boxHeight, | |
| a = eval(param.cwPos); | |
| this.__windowWidth = a[2], this.__windowHeight = a[3]; | |
| Window_Command.prototype.initialize.call(this, a[0], a[1]); | |
| } | |
| Window_PCMainCommand.prototype.windowWidth = function () { | |
| return this.__windowWidth; | |
| } | |
| Window_PCMainCommand.prototype.windowHeight = function () { | |
| return this.__windowHeight; | |
| } | |
| Window_PCMainCommand.prototype.makeCommandList = function (x, y) { | |
| if (param.changeTerm) this.addCommand(param.changeTerm, "change"); | |
| if (param.removeTerm) this.addCommand(param.removeTerm, "remove"); | |
| if (param.revertTerm) this.addCommand(param.revertTerm, "revert"); | |
| if (param.finishTerm) this.addCommand(param.finishTerm, "cancel"); | |
| } | |
| Window_PCMainCommand.prototype.itemTextAlign = function() { | |
| return param.alignmentOfCommand; | |
| }; | |
| // Window_PCActorList | |
| function Window_PCActorList (){ | |
| return this.initialize.apply(this, arguments); | |
| } | |
| Window_PCActorList.prototype = Object.create(Window_Selectable.prototype); | |
| Window_PCActorList.prototype.constructor = Window_PCActorList; | |
| Window_PCActorList.prototype.initialize = function () { | |
| var w = Graphics.boxWidth, h = Graphics.boxHeight, | |
| a = eval(param.pwPos); | |
| Window_Selectable.prototype.initialize.call(this, a[0], a[1], a[2], a[3]); | |
| this.refresh(); | |
| } | |
| Window_PCActorList.prototype.maxCols = function() { | |
| return param.actorListColMax; | |
| }; | |
| Window_PCActorList.prototype.itemHeight = function() { | |
| return this.contentsHeight(); | |
| }; | |
| Window_PCActorList.prototype.maxItems = function() { | |
| return $gameSystem._kanjiPCMaxParty || param.maxAllParty; | |
| }; | |
| Window_PCActorList.prototype.standardFontSize = function() { | |
| return 22; | |
| }; | |
| Window_PCActorList.prototype.drawItem = function (index) { | |
| var actor = $gameActors.actor($gameParty._actors[index]), rect = this.itemRect(index); | |
| if (actor) { | |
| if (param.pwFaceType !== "none") { | |
| switch (param.pwFaceType) { | |
| case "walk": | |
| this.drawActorCharacter(actor, rect.x + rect.width / 2, | |
| rect.y + rect.height - 30); | |
| break; | |
| case "face": | |
| this.drawActorFace(actor, rect.x, rect.y, rect.width, rect.height); | |
| break; | |
| case "sideV": | |
| var bitmap = ImageManager.loadSvActor(actor.battlerName()); | |
| var ww = bitmap.width / 9, hh = bitmap.height / 6 | |
| this.contents.blt(bitmap, 0, 0, ww, hh, rect.x + (rect.width - ww) / 2, | |
| rect.y + (rect.height - hh) / 2); | |
| break; | |
| } | |
| } | |
| this.drawText(actor.name(), rect.x, | |
| rect.y + rect.height - this.standardFontSize() - 14, rect.width, "center") | |
| if (actor.kanjiPCLock()) this.drawIcon(param.lockIcon, rect.x, rect.y) | |
| } else { | |
| this.contents.paintOpacity = 128; | |
| this.drawText(param.emptyFrame, rect.x, rect.y + (this.itemHeight() - this.standardFontSize()) / 2, | |
| rect.width, "center") | |
| this.contents.paintOpacity = 255; | |
| } | |
| } | |
| // Window_ReserveMember | |
| function Window_ReserveMember () { | |
| this.initialize.apply(this, arguments); | |
| } | |
| Window_ReserveMember.prototype = Object.create(Window_Selectable.prototype); | |
| Window_ReserveMember.prototype.constructor = Window_ReserveMember; | |
| Window_ReserveMember.prototype.initialize = function () { | |
| var w = Graphics.boxWidth, h = Graphics.boxHeight, | |
| a = eval(param.wwPos); | |
| Window_Selectable.prototype.initialize.call(this, a[0], a[1], a[2], a[3]); | |
| this.refresh(); | |
| } | |
| Window_ReserveMember.prototype.maxItems = function() { | |
| return $gameSystem.waitingMembers().length + (param.removeOnReserveTerm ? 1 : 0); | |
| }; | |
| Window_ReserveMember.prototype.drawItem = function (index) { | |
| var rect = this.itemRect(index); | |
| if (!param.removeOnReserveTerm || index > 0) { | |
| var actor = $gameActors.actor($gameSystem.waitingMembers()[index- | |
| (param.removeOnReserveTerm ? 1 : 0)]); | |
| if (param.wwFaceType !== "none") { | |
| switch (param.wwFaceType) { | |
| case "walk": | |
| this.drawActorCharacter(actor, rect.x + 20, rect.y,rect.width, rect.height); | |
| this.drawText(actor.name(), rect.x+42, rect.y,rect.width); | |
| break; | |
| case "face": | |
| this.drawActorFace(actor, rect.x + rect.width - Window_Base._faceWidth, | |
| rect.y, Window_Base._faceWidth, rect.height); | |
| this.drawText(actor.name(), rect.x, rect.y,rect.width); | |
| break; | |
| case "sideV": | |
| var bitmap = ImageManager.loadSvActor(actor.battlerName()); | |
| var ww = bitmap.width / 9, hh = bitmap.height / 6 | |
| this.contents.blt(bitmap, 0, 0, ww, Math.min(hh, rect.height), rect.x-10, rect.y); | |
| this.drawText(actor.name(), rect.x+42, rect.y,rect.width); | |
| break; | |
| } | |
| } | |
| }else{ | |
| this.drawText(param.removeOnReserveTerm, rect.x, rect.y,rect.width, "center"); | |
| } | |
| } | |
| Window_ReserveMember.prototype.drawCharacter = function(characterName, characterIndex, x, y) { | |
| var bitmap = ImageManager.loadCharacter(characterName); | |
| var big = ImageManager.isBigCharacter(characterName); | |
| var pw = bitmap.width / (big ? 3 : 12); | |
| var ph = bitmap.height / (big ? 4 : 8); | |
| var n = characterIndex; | |
| var sx = (n % 4 * 3 + 1) * pw; | |
| var sy = (Math.floor(n / 4) * 4) * ph; | |
| this.contents.blt(bitmap, sx, sy, pw, this.itemHeight(), x - pw / 2, y); | |
| }; | |
| Window_ReserveMember.prototype.lineHeight = function () { | |
| return param.wwRowHeight; | |
| } | |
| function refreshStatus(actor, window) { | |
| if (window) { | |
| window.contents.clear(); | |
| if (actor) { | |
| var w = Graphics.boxWidth, h = Graphics.boxHeight, a, x, y, width; | |
| window.contents.fontSize = 26; | |
| if (param.swFaceType !== "none") { | |
| a = eval(param.facePos); | |
| switch (param.swFaceType) { | |
| case "walk": | |
| window.drawActorCharacter(actor, a[0] + Window_Base._faceWidth / 2, | |
| a[1] + Window_Base._faceHeight - 8); | |
| break; | |
| case "face": | |
| window.drawActorFace(actor, a[0], a[1], | |
| Window_Base._faceWidth, Window_Base._faceHeight); | |
| break; | |
| case "sideV": | |
| var bitmap = ImageManager.loadSvActor(actor.battlerName()); | |
| var ww = bitmap.width / 9, hh = bitmap.height / 6 | |
| window.contents.blt(bitmap, 0, 0, ww, hh, | |
| a[0] + (Window_Base._faceWidth - ww) / 2, a[1] + (Window_Base._faceHeight - hh) / 2); | |
| break; | |
| } | |
| } | |
| if (param.nameShow) { | |
| a = eval(param.namePos); | |
| window.drawActorName(actor, a[0], a[1], a[2] || 180); | |
| } | |
| if (param.classShow) { | |
| a = eval(param.classPos); | |
| window.drawActorClass(actor, a[0], a[1], a[2] || 180); | |
| } | |
| if (param.levelShow) { | |
| a = eval(param.levelPos); | |
| x = a[0], y = a[1], width = a[2] || 120; | |
| window.changeTextColor(window.systemColor()); | |
| window.drawText(TextManager.levelA, x, y, 48); | |
| window.resetTextColor(); | |
| window.drawText(actor.level, x, y, width, 'right'); | |
| } | |
| a = eval(param.iconsPos); | |
| if (a[2]) window.drawActorIcons(actor, a[0], a[1], a[2]); | |
| a = eval(param.hpPos); | |
| if (a[2]) window.drawActorHp(actor, a[0], a[1], a[2]); | |
| a = eval(param.mpPos); | |
| if (a[2]) window.drawActorMp(actor, a[0], a[1], a[2]); | |
| a = eval(param.tpPos); | |
| if (a[2]) window.drawActorTp(actor, a[0], a[1], a[2]); | |
| window.contents.paintOpacity = 48; | |
| a = eval(param.horzLineYPos); | |
| for (var i = 0; i < a.length; i++) { | |
| window.contents.fillRect(0, a[i], window.contentsWidth(), 2, | |
| window.normalColor()); | |
| }; | |
| window.contents.paintOpacity = 255; | |
| if (param.equipShow) { | |
| a = eval(param.equipPos), x = a[0], y = a[1]; | |
| for (var index in actor.equipSlots()) { | |
| window.changeTextColor(window.systemColor()); | |
| window.drawText($dataSystem.equipTypes[actor.equipSlots()[index]], | |
| x, y, 100, window.lineHeight()); | |
| window.drawItemName(actor.equips()[index], x + 100, y, a[2] - 100); | |
| y += param.equipRow; | |
| } | |
| } | |
| if (param.statusShow) { | |
| a = eval(param.statusPos), x = a[0], y = a[1] - param.statusRow; | |
| // ver.1.04変更 | |
| var wid = Math.max(a[2] - 80, 68); | |
| const re = new RegExp("([XS]?)(\\d+)"); | |
| for (var index = 0; index < param.paramListSW.length; index++) { | |
| y += param.statusRow; | |
| if (!re.test(param.paramListSW[index])) continue; | |
| window.changeTextColor(window.systemColor()); | |
| var mode = RegExp.$1, num = parseInt(RegExp.$2), | |
| paramName, paramValue, xPad = 0, percWid = window.textWidth(param.parcentStr); | |
| if (mode == 'X') { | |
| paramName = param.xParamNames[num]; | |
| paramValue = actor.xparam(num); | |
| xPad = percWid; | |
| }else if (mode == 'S'){ | |
| paramName = param.sParamNames[num]; | |
| paramValue = actor.sparam(num); | |
| xPad = percWid; | |
| }else{ | |
| paramName = TextManager.param(num); | |
| paramValue = actor.param(num); | |
| } | |
| if (xPad) { | |
| paramValue = parseInt(paramValue * 100); | |
| window.drawText(param.parcentStr, x, y, a[2], 'right'); | |
| } | |
| window.drawText(paramName, x, y, wid); | |
| window.resetTextColor(); | |
| window.drawText(paramValue, x-xPad, y, a[2], 'right'); | |
| } | |
| // ver.1.04変更ここまで | |
| } | |
| } | |
| } | |
| } | |
| Window_PCActorList.prototype.updateHelp = function () { | |
| var actor = $gameActors.actor($gameParty._actors[this._index]); | |
| refreshStatus(actor, this._helpWindow); | |
| } | |
| Window_ReserveMember.prototype.updateHelp = function () { | |
| var actor = !param.removeOnReserveTerm || this._index ? | |
| $gameActors.actor($gameSystem.waitingMembers()[this._index - | |
| (param.removeOnReserveTerm ? 1 : 0)]) : null; | |
| refreshStatus(actor, this._helpWindow); | |
| } | |
| // Scene_KanjiPartyChange | |
| function Scene_KanjiPartyChange (){ | |
| return this.initialize.apply(this, arguments); | |
| } | |
| Scene_KanjiPartyChange.prototype = Object.create(Scene_MenuBase.prototype); | |
| Scene_KanjiPartyChange.prototype.constructor = Scene_KanjiPartyChange; | |
| Scene_KanjiPartyChange.prototype.create = function () { | |
| Scene_MenuBase.prototype.create.call(this); | |
| ssBitmap = null; | |
| this.createMainCommandsWindow(); | |
| this.createActorListWindow(); | |
| this.createReserveMemberWindow(); | |
| this.createStatusWindow(); | |
| } | |
| Scene_KanjiPartyChange.prototype.createMainCommandsWindow = function () { | |
| this.commandWindow = new Window_PCMainCommand(); | |
| this.commandWindow.setHandler('change', this.commandChange.bind(this)); | |
| this.commandWindow.setHandler('remove', this.commandRemove.bind(this)); | |
| this.commandWindow.setHandler('revert', this.commandRevert.bind(this)); | |
| this.commandWindow.setHandler('cancel', this.commandFinish.bind(this)); | |
| this.commandWindow.activate(); | |
| this.addWindow(this.commandWindow); | |
| } | |
| Scene_KanjiPartyChange.prototype.createActorListWindow = function () { | |
| this.actorListWindow = new Window_PCActorList(this.commandWindow.width, 0, | |
| Graphics.boxWidth - this.commandWindow.width, this.commandWindow.height); | |
| this.actorListWindow.setHandler('ok', this.commandChangeActor.bind(this)); | |
| this.actorListWindow.setHandler('cancel', this.commandCancelActor.bind(this)); | |
| this.addWindow(this.actorListWindow); | |
| } | |
| Scene_KanjiPartyChange.prototype.createReserveMemberWindow = function () { | |
| this.reserveMemberWindow = new Window_ReserveMember(); | |
| this.reserveMemberWindow.setHandler('ok', this.commandOkReserve.bind(this)); | |
| this.reserveMemberWindow.setHandler('cancel', this.commandCancelReserve.bind(this)); | |
| this.addWindow(this.reserveMemberWindow); | |
| } | |
| Scene_KanjiPartyChange.prototype.createStatusWindow = function () { | |
| var w = Graphics.boxWidth, h = Graphics.boxHeight, | |
| a = eval(param.swPos); | |
| this.statusWindow = new Window_Base(a[0], a[1], a[2], a[3]); | |
| this.actorListWindow.setHelpWindow(this.statusWindow); | |
| this.reserveMemberWindow.setHelpWindow(this.statusWindow); | |
| this.addWindow(this.statusWindow); | |
| } | |
| // Window_PCMainCommand | |
| Scene_KanjiPartyChange.prototype.commandChange = function () { | |
| this.actorListWindow.activate(); | |
| this.actorListWindow.select(0); | |
| } | |
| Scene_KanjiPartyChange.prototype.commandRemove = function () { | |
| this.actorListWindow.activate(); | |
| this.actorListWindow.select(0); | |
| } | |
| Scene_KanjiPartyChange.prototype.commandRevert = function () { | |
| $gameParty._actors = $originalParty.slice(); | |
| $gameSystem._waitingMembers = $originalMembers.slice(); | |
| this.actorListWindow.refresh(); | |
| this.reserveMemberWindow.refresh(); | |
| this.actorListWindow.select(-1); | |
| this.commandWindow.activate(); | |
| } | |
| Scene_KanjiPartyChange.prototype.commandFinish = function () { | |
| $originalParty = $originalMembers = null; | |
| $gamePlayer.refresh(); | |
| this.popScene(); | |
| } | |
| // Window_PCActorList | |
| Scene_KanjiPartyChange.prototype.commandChangeActor = function () { | |
| var id = $gameParty._actors[this.actorListWindow._index], | |
| actor = $gameActors.actor(id); | |
| if (actor && actor.kanjiPCLock()) { | |
| SoundManager.playBuzzer() | |
| this.actorListWindow.activate(); | |
| }else{ | |
| if (this.commandWindow._index == 1) { | |
| if ($gameParty._actors.length > 1 && id) { | |
| $gameParty._actors = $gameParty._actors.filter(actorId => id !== actorId); | |
| $gameSystem._waitingMembers.push(id) | |
| this.actorListWindow.refresh(); | |
| this.reserveMemberWindow.refresh(); | |
| }else{ | |
| SoundManager.playBuzzer() | |
| }; | |
| this.actorListWindow.activate(); | |
| } else { | |
| this.reserveMemberWindow.activate(); | |
| this.reserveMemberWindow.select(0); | |
| } | |
| } | |
| } | |
| Scene_KanjiPartyChange.prototype.commandCancelActor = function () { | |
| this.commandWindow.activate(); | |
| this.statusWindow.contents.clear(); | |
| this.actorListWindow.select(-1); | |
| } | |
| // Window_ReserveMember | |
| Scene_KanjiPartyChange.prototype.commandOkReserve = function () { | |
| var id = $gameParty._actors[this.actorListWindow._index], | |
| data = $gameSystem.waitingMembers(); | |
| if (param.removeOnReserveTerm && this.reserveMemberWindow._index == 0) { | |
| // 控えメンバーウィンドウからパーティを外した場合 | |
| if ($gameParty._actors.length > 1) { | |
| if (id) { | |
| $gameParty._actors = $gameParty._actors.filter(actorId => id !== actorId); | |
| data.push(id) | |
| } | |
| }else{ | |
| SoundManager.playBuzzer() | |
| }; | |
| }else{ | |
| // 控えメンバーウィンドウのアクターを選んだ場合 | |
| var index = this.reserveMemberWindow._index - (param.removeOnReserveTerm ? 1 : 0); | |
| if (id) { | |
| // パーティにアクターがいる。 | |
| $gameParty._actors[this.actorListWindow._index] = data[index]; | |
| data[index] = id; | |
| }else{ | |
| // パーティウィンドウで選んだところにアクターがいない | |
| $gameParty._actors.push(data[index]); | |
| id = data[index]; | |
| $gameSystem._waitingMembers = data.filter(actorId => actorId !== id); | |
| } | |
| } | |
| this.actorListWindow.refresh(); | |
| this.reserveMemberWindow.refresh(); | |
| this.actorListWindow.activate(); | |
| this.reserveMemberWindow.select(-1); | |
| } | |
| Scene_KanjiPartyChange.prototype.commandCancelReserve = function () { | |
| this.actorListWindow.activate(); | |
| this.reserveMemberWindow.select(-1); | |
| } | |
| Scene_KanjiPartyChange.prototype.popScene = function () { | |
| SceneManager.pop(); | |
| SceneManager.pop(); | |
| } | |
| // 画像の読み込み待ちのためのロード画面 | |
| function Scene_LoadPCKanji() { | |
| this.initialize.apply(this, arguments); | |
| } | |
| Scene_LoadPCKanji.prototype = Object.create(Scene_Base.prototype); | |
| Scene_LoadPCKanji.prototype.constructor = Scene_LoadPCKanji; | |
| Scene_LoadPCKanji.prototype.isReady = function() { | |
| return ImageManager.isReady(); | |
| }; | |
| Scene_LoadPCKanji.prototype.create = function() { | |
| Scene_Base.prototype.create.call(this); | |
| this._screenShot = new Sprite(ssBitmap || SceneManager.backgroundBitmap()); | |
| this.addChild(this._screenShot); | |
| var array = $gameSystem.waitingMembers(); | |
| for (var i = 0; i < array.length; i++) { | |
| if ($gameParty._actors.includes(array[i])) array[i] = null; | |
| } | |
| $gameSystem._waitingMembers = array.filter(id => { return id !== null } ); | |
| $originalParty = $gameParty._actors.slice(), | |
| $originalMembers = $gameSystem._waitingMembers.slice(); | |
| $gameSystem.waitingMembers().concat($gameParty._actors).forEach(id => { | |
| var actor = $gameActors.actor(id); | |
| ImageManager.reserveFace(actor.faceName()); | |
| ImageManager.reserveCharacter(actor.characterName()); | |
| ImageManager.reserveSvActor(actor.battlerName()); | |
| }); | |
| }; | |
| Scene_LoadPCKanji.prototype.start = function() { | |
| Scene_Base.prototype.start.call(this); | |
| SceneManager.push(Scene_KanjiPartyChange); | |
| }; | |
| })(); |