// DarkPlasma_SetColorByCode 1.0.2 // Copyright (c) 2023 DarkPlasma // This software is released under the MIT license. // http://opensource.org/licenses/mit-license.php /** * 2023/09/21 1.0.2 TextLogと併用するとエラーになる不具合を修正 * 2023/06/29 1.0.1 色変更以外の制御文字を握り潰してしまう不具合を修正 * 2023/06/02 1.0.0 公開 */ /*: * @plugindesc 制御文字による色指定を#から始まるカラーコードで行う * @author DarkPlasma * @license MIT * * @target MZ * @url https://github.com/elleonard/DarkPlasma-MZ-Plugins/tree/release * * @help * version: 1.0.2 * 制御文字\Cによる色指定を、#から始まるカラーコードで行えるようにします。 * * 例: \C[#adff2f] * 黄緑色になります。 */ (() => { 'use strict'; function Window_ObtainEscapeParamTextMixIn(windowClass) { /** * [YYY]のYYYを取り出し、カンマ区切りで配列化して返す */ windowClass.obtainEscapeParamText = function (textState) { const arr = /^\[(.+?)\]/.exec(textState.text.slice(textState.index)); if (arr) { textState.index += arr[0].length; return arr[1].split(','); } else { return []; } }; } Window_ObtainEscapeParamTextMixIn(Window_Base.prototype); function Window_SetColorByCodeMixIn(windowClass) { const _processEscapeCharacter = windowClass.processEscapeCharacter; windowClass.processEscapeCharacter = function (code, textState) { if (code === 'C') { const color = this.obtainEscapeParamText(textState)[0]; if (color.startsWith('#')) { this.changeTextColor(color); } else { this.processColorChange(Number(color)); } } else { _processEscapeCharacter.call(this, code, textState); } }; } Window_SetColorByCodeMixIn(Window_Base.prototype); })();