59 lines
1.9 KiB
JavaScript
59 lines
1.9 KiB
JavaScript
/*:
|
||
* @target MZ
|
||
* @plugindesc 変数55が4以上 または 変数40が0 のとき、スキル336を使用不可(灰色表示) v1.1
|
||
* @author You
|
||
* @help
|
||
* ■仕様
|
||
* - 戦闘中・メニュー画面どちらでも有効です。
|
||
* - 条件を満たさない場合(=使用不可条件を満たす場合)は、
|
||
* スキル336はスキルリストに表示されますが灰色で選択不可になります。
|
||
* - 通常のMP/TP/ステート判定は引き続き有効です。
|
||
*
|
||
* @param SkillId
|
||
* @text 対象スキルID
|
||
* @type number
|
||
* @default 336
|
||
*
|
||
* @param VarA
|
||
* @text 変数A(しきい値以上で使用不可)
|
||
* @type variable
|
||
* @default 55
|
||
*
|
||
* @param VarA_Min
|
||
* @text 変数Aのしきい値
|
||
* @type number
|
||
* @default 4
|
||
*
|
||
* @param VarB
|
||
* @text 変数B(特定値で使用不可)
|
||
* @type variable
|
||
* @default 40
|
||
*
|
||
* @param VarB_DisableValue
|
||
* @text 変数Bがこの値のとき使用不可
|
||
* @type number
|
||
* @default 0
|
||
*/
|
||
|
||
(() => {
|
||
"use strict";
|
||
const P = PluginManager.parameters(document.currentScript.src.match(/([^\/]+)\.js$/)?.[1] || "");
|
||
const SKILL_ID = Number(P.SkillId || 336);
|
||
const VAR_A = Number(P.VarA || 55);
|
||
const VAR_A_MIN = Number(P.VarA_Min || 4);
|
||
const VAR_B = Number(P.VarB || 40);
|
||
const VAR_B_DISABLE = Number(P.VarB_DisableValue || 0);
|
||
|
||
const _Game_BattlerBase_canUse = Game_BattlerBase.prototype.canUse;
|
||
Game_BattlerBase.prototype.canUse = function(item) {
|
||
if (DataManager.isSkill(item) && item.id === SKILL_ID && this.isActor && this.isActor()) {
|
||
const a = $gameVariables.value(VAR_A);
|
||
const b = $gameVariables.value(VAR_B);
|
||
// 条件:変数55が4以上 または 変数40が0
|
||
if (a >= VAR_A_MIN || b === VAR_B_DISABLE) {
|
||
return false; // 灰色で選択不可
|
||
}
|
||
}
|
||
return _Game_BattlerBase_canUse.call(this, item);
|
||
};
|
||
})();
|