//============================================================================= // IM_RestrictionTargetSkill_GrayOut.js // ---------------------------------------------------------------------------- // author : Umu //============================================================================= /*: * @target MZ * @plugindesc [v1.0.0] Grays out skills when RestrictionTargetSkill determines there are no valid targets. * @author Umu * * @help RestrictionTargetSkill_GrayOut.js * * ◆概要 * Triacontane 氏の「RestrictionTargetSkill.js」と併用する * 軽量なアドオンです。対象となるバトラーが 0 人の場合、 * スキル選択ウィンドウ上で当該スキルを自動で非活性 * (グレーアウト)表示にします。 * * ◆使用方法 * 1. このプラグインを RestrictionTargetSkill.js より * 下の位置に導入してください。 * 2. パラメータやプラグインコマンドはありません。 * * ◆ライセンス * 2025 Umu */ (() => { 'use strict'; // 既存の isEnabled 判定を拡張 const _isEnabled = Window_SkillList.prototype.isEnabled; Window_SkillList.prototype.isEnabled = function(item) { // 元々の条件(MP不足・封印など)が false ならそのまま if (!_isEnabled.call(this, item)) return false; const actor = this._actor; // 戦闘中のスキル選択の場合 if (!!actor && BattleManager.isInputting()) { if ($gameTroop._enemies.some(enemy => { const data = enemy.enemy(); return !!data.meta['Boss']; })) { // Bossタグの付いた敵がいる if (item.id === 23) { // ボス相手に諦念は使用不可 return false; } } } // RestrictionTargetSkill のターゲット判定を流用 if (!!actor && typeof actor.isExistValidTarget === 'function') { return actor.isExistValidTarget(item); } return true; }; })();