private static final void dissolveClan(L2PcInstance player, int clanId) {
    if (!player.isClanLeader()) {
      player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
      return;
    }

    final L2Clan clan = player.getClan();
    if (clan.getAllyId() != 0) {
      player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISPERSE_THE_CLANS_IN_ALLY));
      return;
    }
    if (clan.isAtWar()) {
      player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_WAR));
      return;
    }
    if (clan.getHasCastle() != 0 || clan.getHasHideout() != 0 || clan.getHasFort() != 0) {
      player.sendPacket(
          new SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_OWNING_CLAN_HALL_OR_CASTLE));
      return;
    }

    for (Castle castle : CastleManager.getInstance().getCastles()) {
      if (SiegeManager.getInstance().checkIsRegistered(clan, castle.getCastleId())) {
        player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE));
        return;
      }
    }
    for (Fort fort : FortManager.getInstance().getForts()) {
      if (FortSiegeManager.getInstance().checkIsRegistered(clan, fort.getFortId())) {
        player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE));
        return;
      }
    }

    if (player.isInsideZone(L2PcInstance.ZONE_SIEGE)) {
      player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_SIEGE));
      return;
    }
    if (clan.getDissolvingExpiryTime() > System.currentTimeMillis()) {
      player.sendPacket(new SystemMessage(SystemMessageId.DISSOLUTION_IN_PROGRESS));
      return;
    }

    clan.setDissolvingExpiryTime(
        System.currentTimeMillis()
            + Config.ALT_CLAN_DISSOLVE_DAYS * 86400000L); // 24*60*60*1000 = 86400000
    clan.updateClanInDB();

    ClanTable.getInstance().scheduleRemoveClan(clan.getClanId());

    // The clan leader should take the XP penalty of a full death.
    player.deathPenalty(false, false, false);
  }
  private static final boolean validateGateCondition(L2PcInstance clanLeader, L2PcInstance player) {
    if (clanLeader.isAlikeDead()) {
      // Need retail message if there's one.
      player.sendMessage("Couldn't teleport to clan leader. The requirements was not meet.");
      return false;
    }

    if (clanLeader.isInStoreMode()) {
      // Need retail message if there's one.
      player.sendMessage("Couldn't teleport to clan leader. The requirements was not meet.");
      return false;
    }

    if (clanLeader.isRooted() || clanLeader.isInCombat()) {
      // Need retail message if there's one.
      player.sendMessage("Couldn't teleport to clan leader. The requirements was not meet.");
      return false;
    }

    if (clanLeader.isInOlympiadMode()) {
      // Need retail message if there's one.
      player.sendMessage("Couldn't teleport to clan leader. The requirements was not meet.");
      return false;
    }

    if (clanLeader.isFestivalParticipant()) {
      // Need retail message if there's one.
      player.sendMessage("Couldn't teleport to clan leader. The requirements was not meet.");
      return false;
    }

    if (clanLeader.inObserverMode()) {
      // Need retail message if there's one.
      player.sendMessage("Couldn't teleport to clan leader. The requirements was not meet.");
      return false;
    }

    if (clanLeader.isInsideZone(L2Character.ZONE_NOSUMMONFRIEND)) {
      // Need retail message if there's one.
      player.sendMessage("Couldn't teleport to clan leader. The requirements was not meet.");
      return false;
    }

    if (clanLeader.getInstanceId() > 0) {
      if (!Config.ALLOW_SUMMON_TO_INSTANCE
          || InstanceManager.getInstance().getInstance(player.getInstanceId()).isSummonAllowed()) {
        // Need retail message if there's one.
        player.sendMessage("Couldn't teleport to clan leader. The requirements was not meet.");
        return false;
      }
    }

    if (player.isIn7sDungeon()) {
      final int targetCabal = SevenSigns.getInstance().getPlayerCabal(clanLeader.getObjectId());
      if (SevenSigns.getInstance().isSealValidationPeriod()) {
        if (targetCabal != SevenSigns.getInstance().getCabalHighestScore()) {
          // Need retail message if there's one.
          player.sendMessage("Couldn't teleport to clan leader. The requirements was not meet.");
          return false;
        }
      } else {
        if (targetCabal == SevenSigns.CABAL_NULL) {
          // Need retail message if there's one.
          player.sendMessage("Couldn't teleport to clan leader. The requirements was not meet.");
          return false;
        }
      }
    }

    if (!TvTEvent.onEscapeUse(player.getObjectId())) {
      player.sendMessage("You on TvT Event, teleporting disabled.");
      return false;
    }

    if (!TvTEvent.onEscapeUse(clanLeader.getObjectId())) {
      // Need retail message if there's one.
      player.sendMessage("Couldn't teleport to clan leader. The requirements was not meet.");
      return false;
    }

    return true;
  }