51 lines
No EOL
1.5 KiB
JavaScript
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);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
};
|
|
})(); |