/** Method reduceLevel. */
  public void reduceLevel() {
    Player player = getPlayer();

    if (player == null) {
      return;
    }

    for (Effect e : player.getEffectList().getAllEffects()) {
      if (e.getSkill().getId() == _skillId) {
        _level = e.getSkill().getLevel();
        e.exit();
      } else {
        return;
      }
    }

    _level--;

    if (getLevel(player) > 0) {
      player.broadcastPacket(new MagicSkillUse(player, player, _skillId, getLevel(player), 0, 0));
      player.sendPacket(
          new SystemMessage(SystemMessage.THE_LEVEL_S1_SHILENS_BREATH_WILL_BE_ASSESSED)
              .addNumber(getLevel(player)));
    } else {
      player.sendPacket(new SystemMessage(SystemMessage.THE_SHILENS_BREATH_HAS_BEEN_LIFTED));
    }

    player.updateStats();
  }
  /**
   * Method restore.
   *
   * @param player Player
   */
  void restore(Player player) {
    if (player.getEffectList().getEffectsBySkillId(_skillId) != null) {
      for (Effect e : player.getEffectList().getAllEffects()) {
        if (e.getSkill().getId() == _skillId) {
          _level = e.getSkill().getLevel();
          e.exit();
        }
      }
    }

    if (!Config.ALLOW_DEATH_PENALTY_C5) {
      return;
    }

    if (getLevel(player) > 0) {
      Skill skill = SkillTable.getInstance().getInfo(_skillId, _level);

      if (skill == null) {
        return;
      }

      skill.getEffects(player, player, false, false);
      player.sendPacket(
          new SystemMessage(SystemMessage.THE_LEVEL_S1_SHILENS_BREATH_WILL_BE_ASSESSED)
              .addNumber(getLevel(player)));
    }

    player.updateStats();
  }
  /** Method checkCharmOfLuck. */
  void checkCharmOfLuck() {
    Player player = getPlayer();

    if (player != null) {
      for (Effect e : player.getEffectList().getAllEffects()) {
        if ((e.getSkill().getId() == _charmOfLuckSkillId)
            || (e.getSkill().getId() == _fortuneOfNobleseSkillId)) {
          _hasCharmOfLuck = true;
          return;
        }
      }
    }

    _hasCharmOfLuck = false;
  }
  /** Method addLevel. */
  private void addLevel() {
    Player player = getPlayer();

    if ((player == null) || (getLevel(player) >= 5)) {
      return;
    }

    if (player.getEffectList().getEffectsBySkillId(_skillId) != null) {
      for (Effect e : player.getEffectList().getAllEffects()) {
        if (e.getSkill().getId() == _skillId) {
          _level = e.getSkill().getLevel();
          e.exit();
        }
      }
    }

    _level++;
  }