// DarkPlasma_Promise_Fei_Shield 1.0.0
// Copyright (c) 2021 DarkPlasma

/**
 * 2021/06/27 1.0.0 初版
 */

/*:ja
 * @plugindesc 指定スイッチONの時、フェイが盾装備可能にする
 * @author DarkPlasma
 * @license No License
 *
 * @target MZ
 *
 * @param actorId
 * @desc フェイのアクターIDを指定します。
 * @text フェイ
 * @type actor
 * @default 1
 *
 * @param switchId
 * @desc このスイッチがONの時、フェイは装備封印を無視して盾を装備可能になります。
 * @text スイッチ
 * @type switch
 * @default 0
 *
 * @param equipType
 * @desc 盾の装備タイプを指定します。
 * @text 装備タイプ
 * @type number
 * @default 2
 *
 * @help
 * version: 1.0.0
 * 指定スイッチがONの時、フェイが盾を装備できるようになります。
 */

(() => {
  'use strict';

  const pluginName = decodeURIComponent(document.currentScript.src.match(/^.*\/plugins\/(.*)\.js$/)[1]);

  const pluginParameters = PluginManager.parameters(pluginName);

  const settings = {
    actorId: Number(pluginParameters.actorId || 1),
    switchId: Number(pluginParameters.switchId || 0),
    equipType: Number(pluginParameters.equipType || 2),
  };

  const _Game_Actor_isEquipTypeSealed = Game_Actor.prototype.isEquipTypeSealed;
  Game_Actor.prototype.isEquipTypeSealed = function (etypeId) {
    if (
      this.actorId() === settings.actorId &&
      etypeId === settings.equipType &&
      $gameSwitches.value(settings.switchId)
    ) {
      return false;
    }
    return _Game_Actor_isEquipTypeSealed.call(this, etypeId);
  };
})();
