//============================================================================= // PANDA_ConvertDataName.js //============================================================================= // [Update History] // 2020-08-22 Ver.1.0.0 First Release for MV/MZ. // 2020-09-06 Ver.1.0.1 Added the Korean Description. /*: * @target MV MZ * @plugindesc show the name and icon of item, skill or enemy etc. in messages. * @author panda(werepanda.jp) * @url http://www.werepanda.jp/blog/20200822124150.html * * @help [How to Use] * Replace the following escape characters with their names in messages. * \class[n] : Class name of ID = n * \skill[n] : Skill name of ID = n * \item[n] : Item name of ID = n * \weapon[n] : Weapon name of ID = n * \armor[n] : Armor name of ID = n * \enemy[n] : Enemy name of ID = n * \troop[n] : Troop name of ID = n * \state[n] : State name of ID = n * * Such as \item[\V[1]], you can use a variable for n. * In this case, the name of the item ID 1 is displayed. * * Such as \*skill[n], you can display an icon for the skill by adding *. * item, weapon, armor, state as the same. * class, enemy, troop will not. * * [License] * this plugin is released under MIT license. * https://opensource.org/licenses/mit-license.php * * [Reference] * ItemNameMsg.js by Sasuke KANNAZUKI */ /*:ja * @target MV MZ * @plugindesc 文章中にアイテムやスキル、敵キャラ等の名前やアイコンを表示します。 * @author panda(werepanda.jp) * @url http://www.werepanda.jp/blog/20200822124150.html * * @help ■ 使い方 * 文章の表示や説明文等で、以下の制御文字をそれぞれの名前に置き換えます。 * \class[n] : n番の職業名 * \skill[n] : n番のスキル名 * \item[n] : n番のアイテム名 * \weapon[n] : n番の武器名 * \armor[n] : n番の防具名 * \enemy[n] : n番の敵キャラ名 * \troop[n] : n番の敵グループ名 * \state[n] : n番のステート名 * * \item[\V[1]] のように、nに変数を用いることも可能です。 * この場合、1番の変数に格納されているID番号のアイテム名が表示されます。 * * \*skill[n] のように*を付けると、そのスキルのアイコンを表示できます。 * item、weapon、armor、state も同様です。 * class、enemy、troop は、*を付けてもアイコンは表示されません。 * * ■ 利用規約 * このプラグインはMITライセンスで配布されます。 * ご自由にお使いください。 * https://opensource.org/licenses/mit-license.php * * ■ 参考 * ItemNameMsg.js by 神無月サスケ様 */ /*:ko * @target MV MZ * @plugindesc 텍스트중에 아이템이나 스킬, 적 캐릭터등의 이름과 아이콘을 표시합니다. * @author panda(werepanda.jp) * @url http://www.werepanda.jp/blog/20200822124150.html * * @help [사용법] * 텍스트 표시나 설명등에서 이하의 제어문자를 각자의 이름으로 치환합니다. * \class[n] : n번 직업명 * \skill[n] : n번 스킬명 * \item[n] : n번 아이템명 * \weapon[n] : n번 무기명 * \armor[n] : n번 방어구명 * \enemy[n] : n번 적 캐릭터명 * \troop[n] : n번 적 군단명 * \state[n] : n번 상태명 * * \item[\V[1]] 과 같이 n에 변수를 이용할 수도 있습니다. * 이 경우, 1번 변수에 저장되어 있는 ID번호를 가진 아이템명이 표시됩니다. * * \*skill[n] 과 같이 *를 붙이면 그 스킬의 아이콘을 표시시킬 수 있습니다. * item, weapon, armor, state 도 같습니다. * class, enemy, troop 는 *를 붙여도 아이콘은 표시되지 않습니다. * * [이용 약관] * 이 플러그인은 MIT 라이센스로 공개됩니다. * https://opensource.org/licenses/mit-license.php * * [참조] * ItemNameMsg.js by Sasuke KANNAZUKI 님 */ (() => { "use strict"; const _Window_Base_convertEscapeCharacters = Window_Base.prototype.convertEscapeCharacters; Window_Base.prototype.convertEscapeCharacters = function (text) { // Original Processing text = _Window_Base_convertEscapeCharacters.call(this, text); // Convert Data Name and Icon text = text.replace( /\x1b(\*)?(class|skill|item|weapon|armor|enemy|troop|state)\[(\d+)\]/gi, function () { var text = ""; var icon = arguments[1]; var type = arguments[2].toLowerCase(); var id = parseInt(arguments[3]); // get object var obj = null; if (id >= 1) { switch (type) { case "class": obj = $dataClasses[id]; break; case "skill": obj = $dataSkills[id]; break; case "item": obj = $dataItems[id]; break; case "weapon": obj = $dataWeapons[id]; break; case "armor": obj = $dataArmors[id]; break; case "enemy": obj = $dataEnemies[id]; break; case "troop": obj = $dataTroops[id]; break; case "state": obj = $dataStates[id]; break; } } if (obj) { // get object name text = obj.name; // get object icon if (icon === "*") { switch (type) { case "skill": case "item": case "weapon": case "armor": case "state": text = "\x1bI[" + obj.iconIndex + "]" + text; } } } return text; }.bind(this) ); return text; }; })();