Package com.l2jfrozen.gameserver.model

Examples of com.l2jfrozen.gameserver.model.L2Clan


        {
                // Until the zone was a siege zone. Check also if victim was a player. Randomers aren't counted.
                if (target instanceof L2PcInstance && getSiegeState() > 0 && targetPlayer.getSiegeState() > 0 && getSiegeState() != targetPlayer.getSiegeState())
                {
                  // Now check clan relations.
                  final L2Clan killerClan = getClan();
                  if (killerClan != null)
                    killerClan.setSiegeKills(killerClan.getSiegeKills() + 1);
                 
                  final L2Clan targetClan = targetPlayer.getClan();
                  if (targetClan != null)
                    targetClan.setSiegeDeaths(targetClan.getSiegeDeaths() + 1);
                }
                 return;
              }
   
    // check anti-farm
View Full Code Here


    return _clans.values().toArray(new L2Clan[_clans.size()]);
  }

  public int getTopRate(int clan_id)
  {
    L2Clan clan = getClan(clan_id);
    if(clan.getLevel() < 3)
    {
      return 0;
    }
    int i = 1;
    for(L2Clan clans : getClans())
    {
      if(clan != clans)
      {
        if(clan.getLevel() < clans.getLevel())
        {
          i++;
        }
        else if(clan.getLevel() == clans.getLevel())
        {
          if(clan.getReputationScore() <= clans.getReputationScore())
          {
            i++;
          }
        }
      }
View Full Code Here

  }

  private ClanTable()
  {
    _clans = new FastMap<Integer, L2Clan>();
    L2Clan clan;
    Connection con = null;
    try
    {
      con = L2DatabaseFactory.getInstance().getConnection(false);
      final PreparedStatement statement = con.prepareStatement("SELECT clan_id FROM clan_data");
      final ResultSet result = statement.executeQuery();

      // Count the clans
      int clanCount = 0;

      while(result.next())
      {
        _clans.put(Integer.parseInt(result.getString("clan_id")), new L2Clan(Integer.parseInt(result.getString("clan_id"))));
        clan = getClan(Integer.parseInt(result.getString("clan_id")));
        if(clan.getDissolvingExpiryTime() != 0)
        {
          if(clan.getDissolvingExpiryTime() < System.currentTimeMillis())
          {
            destroyClan(clan.getClanId());
          }
          else
          {
            scheduleRemoveClan(clan.getClanId());
          }
        }
        clanCount++;
      }
      result.close();
View Full Code Here

    }

    if(!isValidCalnName(player, clanName))
      return null;

    L2Clan clan = new L2Clan(IdFactory.getInstance().getNextId(), clanName);
    L2ClanMember leader = new L2ClanMember(clan, player.getName(), player.getLevel(), player.getClassId().getId(), player.getObjectId(), player.getPledgeType(), player.getPowerGrade(), player.getTitle());

    clan.setLeader(leader);
    leader.setPlayerInstance(player);
    clan.store();
    player.setClan(clan);
    player.setPledgeClass(leader.calculatePledgeClass(player));
    player.setClanPrivileges(L2Clan.CP_ALL);

    _log.finest("New clan created: {} {}"+" "+ clan.getClanId()+" "+ clan.getName());

    _clans.put(new Integer(clan.getClanId()), clan);

    //should be update packet only
    player.sendPacket(new PledgeShowInfoUpdate(clan));
    player.sendPacket(new PledgeShowMemberListAll(clan, player));
    player.sendPacket(new UserInfo(player));
View Full Code Here

    return true;
  }

  public synchronized void destroyClan(int clanId)
  {
    L2Clan clan = getClan(clanId);

    if(clan == null)
      return;

    L2PcInstance leader = null;
    if(clan.getLeader()!=null && (leader = clan.getLeader().getPlayerInstance())!=null) {

      if(Config.CLAN_LEADER_COLOR_ENABLED && clan.getLevel() >= Config.CLAN_LEADER_COLOR_CLAN_LEVEL){
       
        if(Config.CLAN_LEADER_COLORED == 1)
        {
          leader.getAppearance().setNameColor(0x000000);
        }
        else
        {
          leader.getAppearance().setTitleColor(0xFFFF77);
        }
       
      }
     
      //remove clan leader skills
      leader.addClanLeaderSkills(false);
     
    }

    clan.broadcastToOnlineMembers(new SystemMessage(SystemMessageId.CLAN_HAS_DISPERSED));

    int castleId = clan.getHasCastle();

    if(castleId == 0)
    {
      for(Siege siege : SiegeManager.getInstance().getSieges())
      {
        siege.removeSiegeClan(clanId);
      }
    }

    int fortId = clan.getHasFort();

    if(fortId == 0)
    {
      for(FortSiege siege : FortSiegeManager.getInstance().getSieges())
      {
        siege.removeSiegeClan(clanId);
      }
    }

    L2ClanMember leaderMember = clan.getLeader();

    if(leaderMember == null)
    {
      clan.getWarehouse().destroyAllItems("ClanRemove", null, null);
    }
    else
    {
      clan.getWarehouse().destroyAllItems("ClanRemove", clan.getLeader().getPlayerInstance(), null);
    }

    for(L2ClanMember member : clan.getMembers())
    {
      clan.removeClanMember(member.getName(), 0);
    }

    int leaderId = clan.getLeaderId();
    int clanLvl = clan.getLevel();

    _clans.remove(clanId);
    IdFactory.getInstance().releaseId(clanId);

    Connection con = null;
    try
    {
      con = L2DatabaseFactory.getInstance().getConnection(false);
      PreparedStatement statement = con.prepareStatement("DELETE FROM clan_data WHERE clan_id=?");
      statement.setInt(1, clanId);
      statement.execute();

      statement = con.prepareStatement("DELETE FROM clan_privs WHERE clan_id=?");
      statement.setInt(1, clanId);
      statement.execute();

      statement = con.prepareStatement("DELETE FROM clan_skills WHERE clan_id=?");
      statement.setInt(1, clanId);
      statement.execute();

      statement = con.prepareStatement("DELETE FROM clan_subpledges WHERE clan_id=?");
      statement.setInt(1, clanId);
      statement.execute();

      statement = con.prepareStatement("DELETE FROM clan_wars WHERE clan1=? OR clan2=?");
      statement.setInt(1, clanId);
      statement.setInt(2, clanId);
      statement.execute();

      if(leader == null && leaderId != 0 && Config.CLAN_LEADER_COLOR_ENABLED && clanLvl >= Config.CLAN_LEADER_COLOR_CLAN_LEVEL)
      {
        String query;
        if(Config.CLAN_LEADER_COLORED == 1)
        {
          query = "UPDATE characters SET name_color = '000000' WHERE obj_Id = ?";
        }
        else
        {
          query = "UPDATE characters SET title_color = 'FFFF77' WHERE obj_Id = ?";
        }
        statement = con.prepareStatement(query);
        statement.setInt(1, leaderId);
        statement.execute();
      }

      if(castleId != 0)
      {
        statement = con.prepareStatement("UPDATE castle SET taxPercent = 0 WHERE id = ?");
        statement.setInt(1, castleId);
        statement.execute();
      }

      if(fortId != 0)
      {
        Fort fort = FortManager.getInstance().getFortById(fortId);
        if(fort != null)
        {
          L2Clan owner = fort.getOwnerClan();
          if(clan == owner)
          {
            fort.removeOwner(clan);
          }
        }
View Full Code Here

    return false;
  }

  public void storeclanswars(int clanId1, int clanId2)
  {
    L2Clan clan1 = ClanTable.getInstance().getClan(clanId1);
    L2Clan clan2 = ClanTable.getInstance().getClan(clanId2);

    clan1.setEnemyClan(clan2);
    clan2.setAttackerClan(clan1);
    clan1.broadcastClanStatus();
    clan2.broadcastClanStatus();

    Connection con = null;
    try
    {
      con = L2DatabaseFactory.getInstance().getConnection(false);
      final PreparedStatement statement = con.prepareStatement("REPLACE INTO clan_wars (clan1, clan2, wantspeace1, wantspeace2) VALUES(?,?,?,?)");
      statement.setInt(1, clanId1);
      statement.setInt(2, clanId2);
      statement.setInt(3, 0);
      statement.setInt(4, 0);
      statement.execute();
      statement.close();
    }
    catch(Exception e)
    {
      _log.severe("could not store clans wars data"+" "+ e);
    }
    finally
    {
      CloseUtil.close(con);
    }
    //SystemMessage msg = new SystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_BEGUN);

    SystemMessage msg = new SystemMessage(SystemMessageId.CLAN_WAR_DECLARED_AGAINST_S1_IF_KILLED_LOSE_LOW_EXP);
    msg.addString(clan2.getName());
    clan1.broadcastToOnlineMembers(msg);

    //msg = new SystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_BEGUN);
    //msg.addString(clan1.getName());
    //clan2.broadcastToOnlineMembers(msg);
    // clan1 declared clan war.

    msg = new SystemMessage(SystemMessageId.CLAN_S1_DECLARED_WAR);
    msg.addString(clan1.getName());
    clan2.broadcastToOnlineMembers(msg);
  }
View Full Code Here

    clan2.broadcastToOnlineMembers(msg);
  }

  public void deleteclanswars(int clanId1, int clanId2)
  {
    L2Clan clan1 = ClanTable.getInstance().getClan(clanId1);
    L2Clan clan2 = ClanTable.getInstance().getClan(clanId2);

    clan1.deleteEnemyClan(clan2);
    clan2.deleteAttackerClan(clan1);
    clan1.broadcastClanStatus();
    clan2.broadcastClanStatus();

    //for(L2ClanMember player: clan1.getMembers())
    //{
    //    if(player.getPlayerInstance()!=null)
    //      player.getPlayerInstance().setWantsPeace(0);
    //}
    //for(L2ClanMember player: clan2.getMembers())
    //{
    //    if(player.getPlayerInstance()!=null)
    //      player.getPlayerInstance().setWantsPeace(0);
    //}

    Connection con = null;
    try
    {
      con = L2DatabaseFactory.getInstance().getConnection(false);
      PreparedStatement statement = con.prepareStatement("DELETE FROM clan_wars WHERE clan1=? AND clan2=?");
      statement.setInt(1, clanId1);
      statement.setInt(2, clanId2);
      statement.execute();

      //statement = con.prepareStatement("DELETE FROM clan_wars WHERE clan1=? AND clan2=?");
      //statement.setInt(1,clanId2);
      //statement.setInt(2,clanId1);
      //statement.execute();

      statement.close();
    }
    catch(Exception e)
    {
      _log.severe("could not restore clans wars data"+" "+ e);
    }
    finally
    {
      CloseUtil.close(con);
    }
    //SystemMessage msg = new SystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_ENDED);

    SystemMessage msg = new SystemMessage(SystemMessageId.WAR_AGAINST_S1_HAS_STOPPED);
    msg.addString(clan2.getName());
    clan1.broadcastToOnlineMembers(msg);

    msg = new SystemMessage(SystemMessageId.CLAN_S1_HAS_DECIDED_TO_STOP);
    msg.addString(clan1.getName());
    clan2.broadcastToOnlineMembers(msg);

    //msg = new SystemMessage(SystemMessageId.WAR_WITH_THE_S1_CLAN_HAS_ENDED);
    //msg.addString(clan1.getName());
    //clan2.broadcastToOnlineMembers(msg);
    //msg = null;
View Full Code Here

        showQuestWindow(player, quest);
      }
    }
    else if(command.startsWith("Registration"))
    {
      L2Clan playerClan = player.getClan();
      NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
      String str;
      str = "<html><body>Newspaper!<br>";

      switch(getTemplate().getNpcId())
      {
        case 35437:
          if(!BanditStrongholdSiege.getInstance().isRegistrationPeriod())
          {
            showMessageWindow(player, 3);
            return;
          }
          if(playerClan == null || !playerClan.getLeaderName().equalsIgnoreCase(player.getName()) || playerClan.getLevel() < 4)
          {
            showMessageWindow(player, 1);
            return;
          }
          if(BanditStrongholdSiege.getInstance().clanhall.getOwnerClan() == playerClan)
          {
            str += "Your clan is already registered for the siege, what more do you want from me?<br>";
            str += "<a action=\"bypass -h npc_%objectId%_PlayerList\">Add / remove a member of the siege</a><br>";
          }
          else
          {
            if(BanditStrongholdSiege.getInstance().isClanOnSiege(playerClan))
            {
              str += "Your clan is already registered for the siege, what more do you want from me?<br>";
              str += "<a action=\"bypass -h npc_%objectId%_UnRegister\">Unsubscribe</a><br>";
              str += "<a action=\"bypass -h npc_%objectId%_PlayerList\">Add / remove a member of the siege</a><br>";
            }
            else
            {
              int res = BanditStrongholdSiege.getInstance().registerClanOnSiege(player, playerClan);
              if(res == 0)
              {
                str += "Your clan : <font color=\"LEVEL\">" + player.getClan().getName() + "</font>, successfully registered for the siege clan hall.<br>";
                str += "Now you need to select no more than 18 igokov who will take part in the siege, a member of your clan.<br>";
                str += "<a action=\"bypass -h npc_%objectId%_PlayerList\">Select members of the siege</a><br>";
              }
              else if(res == 1)
              {
                str += "You have not passed the test and did not qualify for participation in the siege of Robbers<br>";
                str += "Come back when you're done.";
              }
              else if(res == 2)
              {
                str += "Unfortunately, you are late. Five tribal leaders have already filed an application for registration.<br>";
                str += "Next time be more powerful";
              }
            }
          }
          break;
        case 35627:
          if(!WildBeastFarmSiege.getInstance().isRegistrationPeriod())
          {
            showMessageWindow(player, 3);
            return;
          }
          if(playerClan == null || !playerClan.getLeaderName().equalsIgnoreCase(player.getName()) || playerClan.getLevel() < 4)
          {
            showMessageWindow(player, 1);
            return;
          }
          if(WildBeastFarmSiege.getInstance().clanhall.getOwnerClan() == playerClan)
          {
            str += "Your clan is already registered for the siege, what more do you want from me?<br>";
            str += "<a action=\"bypass -h npc_%objectId%_PlayerList\">Add / remove a member of the siege</a><br>";
          }
          else
          {
            if(WildBeastFarmSiege.getInstance().isClanOnSiege(playerClan))
            {
              str += "Your clan is already registered for the siege, what more do you want from me?<br>";
              str += "<a action=\"bypass -h npc_%objectId%_UnRegister\">Unsubscribe</a><br>";
              str += "<a action=\"bypass -h npc_%objectId%_PlayerList\">Add / remove a member of the siege</a><br>";
            }
            else
            {
              int res = WildBeastFarmSiege.getInstance().registerClanOnSiege(player, playerClan);
              if(res == 0)
              {
                str += "Your clan : <font color=\"LEVEL\">" + player.getClan().getName() + "</font>, successfully registered for the siege clan hall.<br>";
                str += "Now you need to select no more than 18 igokov who will take part in the siege, a member of your clan.<br>";
                str += "<a action=\"bypass -h npc_%objectId%_PlayerList\">Select members of the siege</a><br>";
              }
              else if(res == 1)
              {
                str += "You have not passed the test and did not qualify for participation in the siege of Robbers<br>";
                str += "Come back when you're done.";
              }
              else if(res == 2)
              {
                str += "Unfortunately, you are late. Five tribal leaders have already filed an application for registration.<br>";
                str += "Next time be more raztoropny.";
              }
            }
          }
          break;
      }

      str += "</body></html>";
      html.setHtml(str);
      html.replace("%objectId%", String.valueOf(getObjectId()));
      player.sendPacket(html);
    }
    else if(command.startsWith("UnRegister"))
    {
      L2Clan playerClan = player.getClan();
      if(playerClan == null || !playerClan.getLeaderName().equalsIgnoreCase(player.getName()) || playerClan.getLevel() < 4)
      {
        _log.warning("Attention!!! player " + player.getName() + " use packet hack, try unregister clan.");
        return;
      }
      if(!BanditStrongholdSiege.getInstance().isRegistrationPeriod())
      {
        showMessageWindow(player, 3);
        return;
      }
      NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
      String str;
      if(BanditStrongholdSiege.getInstance().isClanOnSiege(playerClan))
      {
        if(BanditStrongholdSiege.getInstance().unRegisterClan(playerClan))
        {
          str = "<html><body>Newspaper!<br>";
          str += "Your clan : <font color=\"LEVEL\">" + player.getClan().getName() + "</font>, successfully removed from the register at the siege clan hall.<br>";
          str += "</body></html>";
          html.setHtml(str);
          html.replace("%objectId%", String.valueOf(getObjectId()));
          player.sendPacket(html);
        }
      }
      else
      {
        _log.warning("Attention!!! player " + player.getName() + " use packet hack, try unregister clan.");
      }
    }
    else if(command.startsWith("PlayerList"))
    {
      L2Clan playerClan = player.getClan();
      if(playerClan == null || !playerClan.getLeaderName().equalsIgnoreCase(player.getName()) || playerClan.getLevel() < 4)
        return;
      if(!BanditStrongholdSiege.getInstance().isRegistrationPeriod())
      {
        showMessageWindow(player, 3);
        return;
      }
      if(BanditStrongholdSiege.getInstance().isClanOnSiege(playerClan))
      {
        showPlayersList(playerClan, player);
      }
    }
    else if(command.startsWith("addPlayer"))
    {
      L2Clan playerClan = player.getClan();
      if(playerClan == null || !playerClan.getLeaderName().equalsIgnoreCase(player.getName()) || playerClan.getLevel() < 4)
        return;
      if(!BanditStrongholdSiege.getInstance().isRegistrationPeriod())
      {
        showMessageWindow(player, 3);
        return;
      }
      String val = command.substring(10);
      if(playerClan.getClanMember(val) == null)
        return;
      BanditStrongholdSiege.getInstance().addPlayer(playerClan, val);
      if(BanditStrongholdSiege.getInstance().isClanOnSiege(playerClan))
      {
        showPlayersList(playerClan, player);
      }
    }
    else if(command.startsWith("removePlayer"))
    {
      L2Clan playerClan = player.getClan();
      if(playerClan == null || !playerClan.getLeaderName().equalsIgnoreCase(player.getName()) || playerClan.getLevel() < 4)
        return;
      if(!BanditStrongholdSiege.getInstance().isRegistrationPeriod())
      {
        showMessageWindow(player, 3);
        return;
      }
      String val = command.substring(13);
      if(playerClan.getClanMember(val) != null)
      {
        BanditStrongholdSiege.getInstance().removePlayer(playerClan, val);
      }
      if(BanditStrongholdSiege.getInstance().isClanOnSiege(playerClan))
      {
View Full Code Here

        clans += "<tr><td><font color=\"LEVEL\">**Not logged**</font>  (Quantity : people.)</td></tr>";
        clanCount++;
      }
      clans += "</table>";
      html.replace("%clan%", String.valueOf(clans));
      L2Clan clan = clanhall == null ? null : clanhall.getOwnerClan();
      String clanName;
      if(clan == null)
      {
        clanName = "NPC";
      }
      else
      {
        clanName = clan.getName();
      }
      html.replace("%clanname%", String.valueOf(clanName));
    }

    SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm");
View Full Code Here

    {
      player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT));
      return;
    }

    L2Clan clan = player.getClan();
    if(clan.getAllyId() != 0)
    {
      player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISPERSE_THE_CLANS_IN_ALLY));
      return;
    }

    if(clan.isAtWar() != 0)
    {
      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_CAUSE_CLAN_WILL_PARTICIPATE_IN_CASTLE_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(L2Character.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);

    clan = null;
View Full Code Here

TOP

Related Classes of com.l2jfrozen.gameserver.model.L2Clan

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.