do-disciplinary-committee-m.../www/js/plugins/MW_ItemVariables.js
2025-05-04 14:43:03 -05:00

51 lines
No EOL
1.5 KiB
JavaScript

/*:
* @plugindesc 指定したアイテム使用時に変数を加算するプラグイン
* @author みるきーうぇい
*
* @param ItemVariableMap
* @type struct<ItemVariable>[]
* @desc アイテムIDごとに加算する変数と値を指定します。
*
* @help
* このプラグインは、指定したアイテムを使用した際に、
* 指定したゲーム変数を加算します。
*/
/*~struct~ItemVariable:
* @param ItemID
* @type item
* @desc 対象のアイテムID。
*
* @param VariableID
* @type variable
* @desc 加算するゲーム変数のID。
*
* @param Value
* @type number
* @min 1
* @desc 変数に加算する値。
*/
(function() {
var parameters = PluginManager.parameters('MW_ItemVariables');
var itemVariableMap = JSON.parse(parameters["ItemVariableMap"] || "[]").map(e => JSON.parse(e));
var _Game_Battler_useItem = Game_Battler.prototype.useItem;
Game_Battler.prototype.useItem = function(item) {
_Game_Battler_useItem.call(this, item);
if (DataManager.isItem(item)) {
itemVariableMap.forEach(entry => {
if (Number(entry.ItemID) === item.id) {
console.log(item.id,Number(entry.ItemID))
if(item.id==36){
$gameActors.actor(1).changeExp($gameActors.actor(1).currentExp()+300, false)
}else{
var variableId = Number(entry.VariableID);
var value = Number(entry.Value);
$gameVariables.setValue(variableId, $gameVariables.value(variableId) + value);
}
}
});
}
};
})();