157 lines
No EOL
5.6 KiB
JavaScript
157 lines
No EOL
5.6 KiB
JavaScript
//=============================================================================
|
||
// TMPlugin - アイテムカテゴリ拡張
|
||
// バージョン: 1.0.1
|
||
// 最終更新日: 2018/05/01
|
||
// 配布元 : http://hikimoki.sakura.ne.jp/
|
||
//-----------------------------------------------------------------------------
|
||
// Copyright (c) 2017 tomoaky
|
||
// Released under the MIT license.
|
||
// http://opensource.org/licenses/mit-license.php
|
||
//=============================================================================
|
||
|
||
/*:
|
||
* @target MZ MV
|
||
* @url https://raw.githubusercontent.com/munokura/tomoaky-MV-plugins/master/TMItemCategoryEx.js
|
||
* @author tomoaky (https://twitter.com/tomoaky/)
|
||
* @plugindesc アイテムカテゴリの追加、削除をおこないます。
|
||
*
|
||
* @param categoryList
|
||
* @text アイテムカテゴリ一覧
|
||
* @desc アイテムカテゴリの一覧 (詳しくはヘルプにて)
|
||
* 初期値: item weapon armor keyItem
|
||
* @default item weapon armor keyItem
|
||
*
|
||
* @help
|
||
* TMPlugin - アイテムカテゴリ拡張 ver1.0.1
|
||
*
|
||
* 使い方:
|
||
*
|
||
* プラグインパラメータでアイテムカテゴリを設定してください。
|
||
* item, weapon, armor, keyItem は アイテム, 武器, 防具, 大事なもの に
|
||
* 対応しています。
|
||
* たとえばアイテムと武器の間に 書物 というカテゴリを追加したい場合は
|
||
* item 書物 weapon armor keyItem
|
||
* というような設定になります。
|
||
*
|
||
* 追加したカテゴリは itemCategory タグを使ってアイテムに設定することが
|
||
* できます。タグを設定したアイテムは通常のアイテムカテゴリには
|
||
* 表示されなくなります。
|
||
*
|
||
* また、不要なカテゴリを削除することもできます。
|
||
* カテゴリが 1 個しかない場合はカテゴリ選択の処理自体が省略されます。
|
||
*
|
||
* プラグインコマンドはありません。
|
||
*
|
||
*
|
||
* メモ欄タグ(アイテム):
|
||
*
|
||
* <itemCategory:書物>
|
||
* このアイテムのカテゴリを 書物 に設定します。
|
||
* プラグインパラメータ categoryList に 書物 というカテゴリが
|
||
* あればそこに表示されます。
|
||
*
|
||
*
|
||
* 利用規約:
|
||
* MITライセンスです。
|
||
* https://ja.osdn.net/projects/opensource/wiki/licenses%2FMIT_license
|
||
* 作者に無断で改変、再配布が可能で、
|
||
* 利用形態(商用、18禁利用等)についても制限はありません。
|
||
*/
|
||
|
||
var Imported = Imported || {};
|
||
Imported.TMItemCategoryEx = true;
|
||
|
||
(function () {
|
||
'use strict';
|
||
|
||
var parameters = PluginManager.parameters('TMItemCategoryEx');
|
||
var categoryList = (parameters['categoryList'] || 'item weapon armor keyItem').split(' ');
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Window_ItemCategory
|
||
//
|
||
|
||
Window_ItemCategory.prototype.maxCols = function () {
|
||
return categoryList.length;
|
||
};
|
||
|
||
Window_ItemCategory.prototype.makeCommandList = function () {
|
||
var symbol;
|
||
for (var i = 0; i < this.maxCols(); i++) {
|
||
symbol = categoryList[i];
|
||
if (symbol === 'item') {
|
||
this.addCommand(TextManager.item, 'item');
|
||
} else if (symbol === 'weapon') {
|
||
this.addCommand(TextManager.weapon, 'weapon');
|
||
} else if (symbol === 'armor') {
|
||
this.addCommand(TextManager.armor, 'armor');
|
||
} else if (symbol === 'keyItem') {
|
||
this.addCommand(TextManager.keyItem, 'keyItem');
|
||
} else {
|
||
this.addCommand(symbol, symbol);
|
||
}
|
||
}
|
||
};
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Window_ItemList
|
||
//
|
||
|
||
var _Window_ItemList_includes = Window_ItemList.prototype.includes;
|
||
Window_ItemList.prototype.includes = function (item) {
|
||
if (item && item.meta.itemCategory) return this._category === item.meta.itemCategory;
|
||
return _Window_ItemList_includes.call(this, item);
|
||
};
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Scene_Item
|
||
//
|
||
|
||
var _Scene_Item_create = Scene_Item.prototype.create;
|
||
Scene_Item.prototype.create = function () {
|
||
_Scene_Item_create.call(this);
|
||
if (categoryList.length === 1) {
|
||
this._categoryWindow.deactivate();
|
||
this._categoryWindow.hide();
|
||
this._itemWindow.move(this._itemWindow.x, this._categoryWindow.y, this._itemWindow.width,
|
||
this._itemWindow.height + this._categoryWindow.height);
|
||
this._itemWindow.setHandler('cancel', this.popScene.bind(this));
|
||
this._itemWindow.setCategory(this._categoryWindow.currentSymbol());
|
||
this.onCategoryOk();
|
||
}
|
||
};
|
||
|
||
//-----------------------------------------------------------------------------
|
||
// Scene_Shop
|
||
//
|
||
|
||
var _Scene_Shop_create = Scene_Shop.prototype.create;
|
||
Scene_Shop.prototype.create = function () {
|
||
_Scene_Shop_create.call(this);
|
||
if (categoryList.length === 1) {
|
||
this._sellWindow.move(this._sellWindow.x, this._categoryWindow.y, this._sellWindow.width,
|
||
this._sellWindow.height + this._categoryWindow.height);
|
||
this._sellWindow.setCategory(this._categoryWindow.currentSymbol());
|
||
}
|
||
};
|
||
|
||
var _Scene_Shop_commandSell = Scene_Shop.prototype.commandSell;
|
||
Scene_Shop.prototype.commandSell = function () {
|
||
_Scene_Shop_commandSell.call(this);
|
||
if (categoryList.length === 1) {
|
||
this._sellWindow.activate();
|
||
this._statusWindow.hide();
|
||
this._sellWindow.select(0);
|
||
this._categoryWindow.hide();
|
||
}
|
||
};
|
||
|
||
var _Scene_Shop_onSellCancel = Scene_Shop.prototype.onSellCancel;
|
||
Scene_Shop.prototype.onSellCancel = function () {
|
||
_Scene_Shop_onSellCancel.call(this);
|
||
if (categoryList.length === 1) {
|
||
this.onCategoryCancel();
|
||
}
|
||
};
|
||
|
||
})(); |