brainwashing-school/js/plugins/NUUN_ItemNameColor.js
2025-02-25 10:53:19 -06:00

137 lines
4.6 KiB
JavaScript

/*:-----------------------------------------------------------------------------------
* NUUN_ItemNameColor.js
*
* Copyright (C) 2021 NUUN
* This software is released under the MIT License.
* http://opensource.org/licenses/mit-license.php
* -------------------------------------------------------------------------------------
*/
/*:
* @target MZ
* @plugindesc Item/skill name color
* @author NUUN
* @version 1.1.2
*
* @help
* You can specify the color for item and skill text.
*
* Item/Skill notes
* <NameColor:[id]> Change the text color of item and skill names. [id]: color index
* Example:<NameColor:17> The text color of items and skills will be the 17th color of the color index.
* <NameColor:#RRGGBB> Specify a color code.
* Example:<NameColor:#00bfff>
*
*
* Terms of Use
* This plugin is distributed under the MIT license.
*
* Log
* 12/17/2022 Ver.1.1.2
* Changed the display in languages other than Japanese to English.
* Processing fixes.
* 5/10/2021 Ver.1.1.1
* Fixed the problem that an error occurs when selecting equipment on the equipment screen when using ”EquipScene_Extension” together.
* 3/10/2021 Ver.1.1.0
* Supports color code.
* 3/6/2021 Ver.1.0.2
* Changed not to process if the text color has already been changed by another plug-in.
* 2/7/2021 Ver.1.0.1
* Changed the timing of processing to return text color.
* 2/6/2021 Ver.1.0.0
* First edition.
*/
/*:
* @target MZ
* @plugindesc アイテム、スキルネームカラー
* @author NUUN
* @version 1.1.2
*
* @help
* アイテム、スキル欄の文字に色を指定できます。
*
* アイテム、スキルのメモ欄
* <NameColor:[id]> アイテム、スキル名の文字色を変更します。[id]:カラーインデックス
* 例:<NameColor:17> アイテム、スキルの文字色がカラーインデックス17番の色になります。
* <NameColor:#RRGGBB> カラーコードを指定します。
* 例:<NameColor:#00bfff>
*
*
* 利用規約
* このプラグインはMITライセンスで配布しています。
*
* 更新履歴
* 2022/12/17 Ver.1.1.2
* 日本語以外での表示を英語表示に変更。
* 処理の修正。
* 2021/5/10 Ver.1.1.1
* EquipScene_Extension併用時装備画面で装備を選択するとエラーが出る問題を修正。
* 2021/3/10 Ver.1.1.0
* カラーコードに対応。
* 2021/3/6 Ver.1.0.2
* すでに別プラグインでテキストカラーが変更していた場合は処理しないように変更。
* 2021/2/7 Ver.1.0.1
* テキストカラーを戻す処理のタイミングを変更。
* 2021/2/6 Ver.1.0.0
* 初版
*/
var Imported = Imported || {};
Imported.NUUN_ItemNameColor = true;
(() => {
const parameters = PluginManager.parameters("NUUN_ItemNameColor");
const _Window_Base_initialize = Window_Base.prototype.initialize;
Window_Base.prototype.initialize = function (rect) {
_Window_Base_initialize.call(this, rect);
this.nameColor = null;
};
const _Window_Base_drawItemName = Window_Base.prototype.drawItemName;
Window_Base.prototype.drawItemName = function (item, x, y, width) {
if (item && item.id > 0) {
if (this.nameColor === null) {
this.nameColor = this.changeNameColor(item);
}
_Window_Base_drawItemName.call(this, item, x, y, width);
this.nameColor = null;
}
};
const _Window_Base_drawText = Window_Base.prototype.drawText;
Window_Base.prototype.drawText = function (text, x, y, maxWidth, align) {
if (this.nameColor !== null) {
this.changeTextColor(this.nameColor);
}
_Window_Base_drawText.call(this, text, x, y, maxWidth, align);
if (this.nameColor !== null) {
this.resetNameColor();
}
};
Window_Base.prototype.changeNameColor = function (item) {
if (item.meta.NameColor) {
const color = item.meta.NameColor;
if (
typeof color === "string" &&
color.match(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/) !== null
) {
return color;
}
return ColorManager.textColor(Number(item.meta.NameColor));
}
return null;
};
Window_Base.prototype.resetNameColor = function () {
this.nameColor = null;
this.resetTextColor();
};
//const _ColorManager_textColor = ColorManager.textColor;
//ColorManager.textColor = function(n) {
// if (typeof(n) === "string" && n.match(/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/) !== null) {
// return n;
// }
// return _ColorManager_textColor.call(this, n);
//};
})();