206 lines
4.6 KiB
JavaScript
206 lines
4.6 KiB
JavaScript
//=============================================================================
|
|
// YKP_Core.js
|
|
//
|
|
// Copyright (c) 2019 YukiKamijo
|
|
// This software is released under the MIT License.
|
|
// http://opensource.org/licenses/mit-license.php
|
|
//=============================================================================
|
|
|
|
var Imported = Imported || {};
|
|
Imported.YKP_Core = true;
|
|
|
|
var YukiKP = YukiKP || {};
|
|
YukiKP.Core = YukiKP.Core || {};
|
|
|
|
/*:
|
|
* @plugindesc YukiKamijoPluginの基底プラグイン。
|
|
* @target MZ
|
|
* @author YukiKamijo
|
|
*
|
|
* @help YKP_Core.js
|
|
* YukiKamijo 制作プラグインの基底プラグインです。
|
|
* 一部のプラグインを除いて、このプラグインが必要です。
|
|
* YKP_XxxxxXxxxx.jsの一番上に置いてください。
|
|
*
|
|
*
|
|
*
|
|
* plugin version 1.0.0
|
|
*/
|
|
|
|
(() => {
|
|
// プラグイン引数の設定
|
|
const pluginName = "YKP_Core";
|
|
})();
|
|
|
|
window.$gameYKPObjectData = window.$gameYKPObjectData || {};
|
|
|
|
YukiKP.Core.createGameObjects = DataManager.createGameObjects;
|
|
DataManager.createGameObjects = function () {
|
|
YukiKP.Core.createGameObjects.call(this);
|
|
$gameYKPObjectData = new Game_YKPObjectData();
|
|
};
|
|
|
|
YukiKP.Core.makeSaveContents = DataManager.makeSaveContents;
|
|
DataManager.makeSaveContents = function () {
|
|
var contents = YukiKP.Core.makeSaveContents.call(this);
|
|
contents.YKPObjectData = $gameYKPObjectData;
|
|
return contents;
|
|
};
|
|
YukiKP.Core.extractSaveContents = DataManager.extractSaveContents;
|
|
DataManager.extractSaveContents = function (contents) {
|
|
YukiKP.Core.extractSaveContents.call(this, contents);
|
|
$gameYKPObjectData = contents.YKPObjectData;
|
|
};
|
|
|
|
YukiKP.Core.processEscapeCharacter =
|
|
Window_Base.prototype.processEscapeCharacter;
|
|
Window_Base.prototype.processEscapeCharacter = function (code, textState) {
|
|
YukiKP.Core.processEscapeCharacter.apply(this, arguments);
|
|
switch (code) {
|
|
case "N":
|
|
this.processNewLine(textState);
|
|
textState.index--;
|
|
break;
|
|
}
|
|
};
|
|
|
|
function Game_YKPObjectData() {
|
|
this.initialize.apply(this, arguments);
|
|
}
|
|
|
|
Game_YKPObjectData.prototype.initialize = function () {};
|
|
|
|
// string command
|
|
YukiKP.Core.strCommand = function (str) {
|
|
return Function("return " + str)();
|
|
};
|
|
|
|
// string => boolean
|
|
YukiKP.Core.strBoolean = function (str) {
|
|
return Function("return " + str + " === true")();
|
|
};
|
|
|
|
// string lower
|
|
YukiKP.Core.strLower = function (str) {
|
|
if ("teststr" !== "TestStr".toLowerCase()) {
|
|
return str.replace(/[A-Z]/g, function (ch) {
|
|
return String.fromCharCode(ch.charCodeAt(0) | 32);
|
|
});
|
|
} else {
|
|
return str.toLowerCase();
|
|
}
|
|
};
|
|
|
|
// value search is key
|
|
YukiKP.Core.valueSearchKey = function (obj, value) {
|
|
return Object.keys(obj).filter(function (k) {
|
|
return obj[k] == value;
|
|
})[0];
|
|
};
|
|
|
|
// plugin command enable or disable
|
|
YukiKP.Core.checkEnable = function (state) {
|
|
return state === "enable";
|
|
};
|
|
|
|
// sort number ascending
|
|
YukiKP.Core.sortNumAsc = function (a, b) {
|
|
return a - b;
|
|
};
|
|
|
|
// sort number descending
|
|
YukiKP.Core.sortNumDesc = function (a, b) {
|
|
return b - a;
|
|
};
|
|
|
|
// sort boolean descending
|
|
YukiKP.Core.sortBoolDesc = function (a, b) {
|
|
return a && !b;
|
|
};
|
|
|
|
YukiKP.Core.drawIcon = function (index) {
|
|
return "\x1bI[" + index + "]";
|
|
};
|
|
|
|
// convert message
|
|
YukiKP.Core.convertMessage = function (str) {
|
|
switch (str) {
|
|
case "mhp":
|
|
return TextManager.param(0);
|
|
case "hp":
|
|
return TextManager.basic(2);
|
|
case "mmp":
|
|
return TextManager.param(1);
|
|
case "mp":
|
|
return TextManager.basic(4);
|
|
case "atk":
|
|
return TextManager.param(2);
|
|
case "def":
|
|
return TextManager.param(3);
|
|
case "mat":
|
|
return TextManager.param(4);
|
|
case "mdf":
|
|
return TextManager.param(5);
|
|
case "agi":
|
|
return TextManager.param(6);
|
|
case "luk":
|
|
return TextManager.param(7);
|
|
}
|
|
return null;
|
|
};
|
|
|
|
// convert paramer number
|
|
YukiKP.Core.convertParamNum = function (str) {
|
|
switch (str) {
|
|
case "mhp":
|
|
return 0;
|
|
case "mmp":
|
|
return 1;
|
|
case "atk":
|
|
return 2;
|
|
case "def":
|
|
return 3;
|
|
case "mat":
|
|
return 4;
|
|
case "mdf":
|
|
return 5;
|
|
case "agi":
|
|
return 6;
|
|
case "luk":
|
|
return 7;
|
|
}
|
|
return null;
|
|
};
|
|
|
|
YukiKP.Core.convertDatabase = function (type) {
|
|
switch (type) {
|
|
case 0:
|
|
case "0":
|
|
case "i":
|
|
return $dataItems;
|
|
case 1:
|
|
case "1":
|
|
case "w":
|
|
return $dataWeapons;
|
|
case 2:
|
|
case "2":
|
|
case "a":
|
|
return $dataArmors;
|
|
}
|
|
return null;
|
|
};
|
|
|
|
YukiKP.Core.convertItemtype = function (type) {
|
|
switch (type) {
|
|
case 0:
|
|
case "0":
|
|
return "items";
|
|
case 1:
|
|
case "1":
|
|
return "weapons";
|
|
case 2:
|
|
case "2":
|
|
return "armors";
|
|
}
|
|
return null;
|
|
};
|