/*:
 * @target MZ
 * @plugindesc 敵112が出現している場合、戦闘中アイテムコマンドを使用不可にする
 * @author you
 * 
 * @help
 * 敵ID112が戦闘中に存在する間、アクターコマンドの「アイテム」が
 * グレーアウトして選択できなくなります。
 * 
 * ・敵ID112がいない戦闘では通常通りアイテム使用可
 * ・敵ID112を倒していなくなった時点で、以降の行動ではアイテム使用可
 *   （そのターン以降のコマンド入力時に有効になります）
 */

(() => {
  const TARGET_ENEMY_ID = 112; // アイテム封印の対象となる敵ID

  const _addItemCommand = Window_ActorCommand.prototype.addItemCommand;
  Window_ActorCommand.prototype.addItemCommand = function() {
    // 戦闘中かつ、敵112が生存状態で1体以上いるかどうか
    const existsTargetEnemy =
      $gameParty.inBattle() &&
      $gameTroop.members().some(enemy =>
        enemy && enemy.isAlive() && enemy.enemyId() === TARGET_ENEMY_ID
      );

    if (existsTargetEnemy) {
      // コマンド自体は表示するが選択不可（グレーアウト）
      this.addCommand(TextManager.item, "item", false);
    } else {
      // 通常の挙動
      _addItemCommand.call(this);
    }
  };
})();
