All pastes #998498 Raw Edit

Clan rework

public diff v1 · immutable
#998498 ·published 2008-04-26 16:21 UTC
rendered paste body
Index: java/net/sf/l2j/gameserver/clientpackets/RequestSetAllyCrest.java===================================================================--- java/net/sf/l2j/gameserver/clientpackets/RequestSetAllyCrest.java	(revision 2034)+++ java/net/sf/l2j/gameserver/clientpackets/RequestSetAllyCrest.java	(working copy)@@ -119,7 +119,7 @@                 if (clan.getAllyId() == activeChar.getAllyId())                 {                     clan.setAllyCrestId(newId);-                    for (L2PcInstance member : clan.getOnlineMembers(""))+                    for (L2PcInstance member : clan.getOnlineMembers(0))                         member.broadcastUserInfo();                 }             }Index: java/net/sf/l2j/gameserver/clientpackets/RequestWithdrawalPledge.java===================================================================--- java/net/sf/l2j/gameserver/clientpackets/RequestWithdrawalPledge.java	(revision 2034)+++ java/net/sf/l2j/gameserver/clientpackets/RequestWithdrawalPledge.java	(working copy)@@ -63,7 +63,7 @@  		L2Clan clan = activeChar.getClan(); -		clan.removeClanMember(activeChar.getName(), System.currentTimeMillis() + Config.ALT_CLAN_JOIN_DAYS * 86400000L); //24*60*60*1000 = 86400000+		clan.removeClanMember(activeChar.getObjectId(), System.currentTimeMillis() + Config.ALT_CLAN_JOIN_DAYS * 86400000L); //24*60*60*1000 = 86400000  		SystemMessage sm = new SystemMessage(SystemMessageId.S1_HAS_WITHDRAWN_FROM_THE_CLAN); 		sm.addString(activeChar.getName());Index: java/net/sf/l2j/gameserver/clientpackets/RequestExSetPledgeCrestLarge.java===================================================================--- java/net/sf/l2j/gameserver/clientpackets/RequestExSetPledgeCrestLarge.java	(revision 2034)+++ java/net/sf/l2j/gameserver/clientpackets/RequestExSetPledgeCrestLarge.java	(working copy)@@ -76,7 +76,7 @@             clan.setHasCrestLarge(false);             activeChar.sendMessage("The insignia has been removed."); -            for (L2PcInstance member : clan.getOnlineMembers(""))+            for (L2PcInstance member : clan.getOnlineMembers(0))                 member.broadcastUserInfo();              return;@@ -136,7 +136,7 @@              activeChar.sendPacket(new SystemMessage(SystemMessageId.CLAN_EMBLEM_WAS_SUCCESSFULLY_REGISTERED)); -            for (L2PcInstance member : clan.getOnlineMembers(""))+            for (L2PcInstance member : clan.getOnlineMembers(0))                 member.broadcastUserInfo();  		}Index: java/net/sf/l2j/gameserver/clientpackets/RequestOustPledgeMember.java===================================================================--- java/net/sf/l2j/gameserver/clientpackets/RequestOustPledgeMember.java	(revision 2034)+++ java/net/sf/l2j/gameserver/clientpackets/RequestOustPledgeMember.java	(working copy)@@ -81,7 +81,7 @@ 		}          // this also updates the database-		clan.removeClanMember(_target, System.currentTimeMillis() + Config.ALT_CLAN_JOIN_DAYS * 86400000L); //24*60*60*1000 = 86400000+		clan.removeClanMember(member.getObjectId(), System.currentTimeMillis() + Config.ALT_CLAN_JOIN_DAYS * 86400000L); //24*60*60*1000 = 86400000         clan.setCharPenaltyExpiryTime(System.currentTimeMillis() + Config.ALT_CLAN_JOIN_DAYS * 86400000L); //24*60*60*1000 = 86400000         clan.updateClanInDB(); Index: java/net/sf/l2j/gameserver/clientpackets/RequestAquireSkill.java===================================================================--- java/net/sf/l2j/gameserver/clientpackets/RequestAquireSkill.java	(revision 2034)+++ java/net/sf/l2j/gameserver/clientpackets/RequestAquireSkill.java	(working copy)@@ -338,7 +338,7 @@  				player.getClan().broadcastToOnlineMembers(new PledgeSkillList(player.getClan())); -				for(L2PcInstance member: player.getClan().getOnlineMembers("")) +				for(L2PcInstance member: player.getClan().getOnlineMembers(0))  	            { 					member.sendSkillList(); 	            }Index: java/net/sf/l2j/gameserver/clientpackets/RequestSetPledgeCrest.java===================================================================--- java/net/sf/l2j/gameserver/clientpackets/RequestSetPledgeCrest.java	(revision 2034)+++ java/net/sf/l2j/gameserver/clientpackets/RequestSetPledgeCrest.java	(working copy)@@ -86,7 +86,7 @@             clan.setHasCrest(false); 			activeChar.sendPacket(new SystemMessage(SystemMessageId.CLAN_CREST_HAS_BEEN_DELETED)); -            for (L2PcInstance member : clan.getOnlineMembers(""))+            for (L2PcInstance member : clan.getOnlineMembers(0))                 member.broadcastUserInfo();              return;@@ -139,7 +139,7 @@             clan.setCrestId(newId);             clan.setHasCrest(true); -            for (L2PcInstance member : clan.getOnlineMembers(""))+            for (L2PcInstance member : clan.getOnlineMembers(0))                 member.broadcastUserInfo();  		}Index: java/net/sf/l2j/gameserver/model/actor/instance/L2VillageMasterInstance.java===================================================================--- java/net/sf/l2j/gameserver/model/actor/instance/L2VillageMasterInstance.java	(revision 2034)+++ java/net/sf/l2j/gameserver/model/actor/instance/L2VillageMasterInstance.java	(working copy)@@ -481,7 +481,7 @@             player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISPERSE_THE_CLANS_IN_ALLY));             return;         }-        if (clan.isAtWar() != 0)+        if (clan.isAtWar())         {             player.sendPacket(new SystemMessage(SystemMessageId.CANNOT_DISSOLVE_WHILE_IN_WAR));             return;@@ -638,7 +638,9 @@                 return;             } -        if (clan.createSubPledge(player, pledgeType, leaderName, clanName) == null)+        int leaderId = clan.getClanMember(leaderName).getObjectId();+        +        if (clan.createSubPledge(player, pledgeType, leaderId, clanName) == null)             return;          SystemMessage sm;@@ -721,7 +723,9 @@             return;         } -        subPledge.setLeaderName(leaderName);+        int leaderId = clan.getClanMember(leaderName).getObjectId();+        +        subPledge.setLeaderId(leaderId);         clan.updateSubPledgeInDB(subPledge.getId());         L2ClanMember leaderSubPledge = clan.getClanMember(leaderName);         leaderSubPledge.getPlayerInstance().setPledgeClass(leaderSubPledge.calculatePledgeClass(leaderSubPledge.getPlayerInstance()));Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java===================================================================--- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(revision 2034)+++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(working copy)@@ -2008,7 +2008,7 @@             msg.addString(getName());             _clan.broadcastToOnlineMembers(msg);             _clan.broadcastToOnlineMembers(new PledgeShowMemberListDelete(getName()));-            _clan.removeClanMember(getName(), 0);+            _clan.removeClanMember(getObjectId(), 0);             sendPacket(new SystemMessage(SystemMessageId.ACADEMY_MEMBERSHIP_TERMINATED));              // receive graduation gift@@ -5542,7 +5542,7 @@ 			return; 		} -		if (!clan.isMember(getName()))+		if (!clan.isMember(getObjectId())) 		{ 			// char has been kicked from clan 			setClan(null);@@ -7452,7 +7452,7 @@ 		}  		// Check if the attacker is not in the same clan-		if (getClan() != null && attacker != null && getClan().isMember(attacker.getName()))+		if (getClan() != null && attacker != null && getClan().isMember(attacker.getObjectId())) 			return false;          if(attacker instanceof L2PlayableInstance && isInsideZone(ZONE_PEACE))Index: java/net/sf/l2j/gameserver/model/L2ClanMember.java===================================================================--- java/net/sf/l2j/gameserver/model/L2ClanMember.java	(revision 2034)+++ java/net/sf/l2j/gameserver/model/L2ClanMember.java	(working copy)@@ -42,6 +42,7 @@ 	private int _apprentice; 	private int _sponsor; +	 	public L2ClanMember(L2Clan clan, String name, int level, int classId, int objectId, int pledgeType, int powerGrade, String title, boolean sex, int raceOrdinal) 	{ 		if(clan == null)@@ -60,6 +61,22 @@         _raceOrdinal = raceOrdinal;  	}+	+	public L2ClanMember(L2Clan clan, L2PcInstance player)+	{+		_clan = clan;+		_name = player.getName();+		_level = player.getLevel();+		_classId = player.getClassId().getId();+		_objectId = player.getObjectId();+		_pledgeType = player.getPledgeType();+		_powerGrade = player.getPowerGrade();+		_title = player.getTitle();+		_sponsor =  0;+		_apprentice = 0;+		_sex = player.getAppearance().getSex();+		_raceOrdinal = player.getRace().ordinal();+	}  	public L2ClanMember(L2PcInstance player) 	{@@ -367,7 +384,7 @@                            if (player.isClanLeader())                                pledgeClass = 5;                            else-                               switch (clan.getLeaderSubPledge(player.getName()))+                               switch (clan.getLeaderSubPledge(player.getObjectId()))                                {                                    case 100:                                    case 200:@@ -401,7 +418,7 @@                            if (player.isClanLeader())                                pledgeClass = 7;                            else-                               switch (clan.getLeaderSubPledge(player.getName()))+                               switch (clan.getLeaderSubPledge(player.getObjectId()))                                {                                    case 100:                                    case 200:@@ -441,7 +458,7 @@                            if (player.isClanLeader())                                pledgeClass = 8;                            else-                               switch (clan.getLeaderSubPledge(player.getName()))+                               switch (clan.getLeaderSubPledge(player.getObjectId()))                                {                                    case 100:                                    case 200:Index: java/net/sf/l2j/gameserver/model/L2Clan.java===================================================================--- java/net/sf/l2j/gameserver/model/L2Clan.java	(revision 2034)+++ java/net/sf/l2j/gameserver/model/L2Clan.java	(working copy)@@ -57,7 +57,7 @@ 	private String _name; 	private int _clanId; 	private L2ClanMember _leader;-	private Map<String, L2ClanMember> _members = new FastMap<String, L2ClanMember>();+	private Map<Integer, L2ClanMember> _members = new FastMap<Integer, L2ClanMember>();  	private String _allyName; 	private int _allyId;@@ -214,7 +214,7 @@ 	public void setLeader(L2ClanMember leader) 	{ 		_leader = leader;-		_members.put(leader.getName(), leader);+		_members.put(leader.getObjectId(), leader); 	}  	public void setNewLeader(L2ClanMember member)@@ -265,7 +265,7 @@ 	 */ 	public String getLeaderName() 	{-		return (_leader != null ? _leader.getName() : "");+		return _members.get(new Integer(_leader.getObjectId())).getName(); 	}  	/**@@ -285,13 +285,17 @@  	private void addClanMember(L2ClanMember member) 	{-		_members.put(member.getName(), member);+		_members.put(member.getObjectId(), member); 	}  	public void addClanMember(L2PcInstance player) 	{-		L2ClanMember member = new L2ClanMember(this,player.getName(), player.getLevel(), player.getClassId().getId(), player.getObjectId(), player.getPledgeType(), player.getPowerGrade(), player.getTitle(), player.getAppearance().getSex(), player.getRace().ordinal());+		// Using a different constructor, to make it easier to read+		// L2ClanMember(L2Clan, L2PcInstance)+		// L2ClanMember member = new L2ClanMember(this,player.getName(), player.getLevel(), player.getClassId().getId(), player.getObjectId(), player.getPledgeType(), player.getPowerGrade(), player.getTitle(), player.getAppearance().getSex(), player.getRace().ordinal());+		L2ClanMember member = new L2ClanMember(this, player);         // store in memory+		// 		addClanMember(member); 		member.setPlayerInstance(player); 		player.setClan(this);@@ -309,32 +313,32 @@  	public L2ClanMember getClanMember(String name) 	{-		return _members.get(name);+		for (L2ClanMember temp : _members.values())+		{+			if (temp.getName().equals(name)) return temp;+		}+		return null; 	}      public L2ClanMember getClanMember(int objectID)     {-        for (L2ClanMember temp : _members.values())-        {-            if (temp.getObjectId() == objectID) return temp;-        }-        return null;+        return _members.get(objectID);     } -    public void removeClanMember(String name, long clanJoinExpiryTime)+    public void removeClanMember(int objectId, long clanJoinExpiryTime) 	{-		L2ClanMember exMember = _members.remove(name);+		L2ClanMember exMember = _members.remove(objectId); 		if(exMember == null) 		{-			_log.warning("Member "+name+" not found in clan while trying to remove");+			_log.warning("Member Object ID: "+objectId+" not found in clan while trying to remove"); 			return; 		}-		int leadssubpledge = getLeaderSubPledge(name);+		int leadssubpledge = getLeaderSubPledge(objectId); 		if (leadssubpledge != 0) 		{ 			// Sub-unit leader withdraws, position becomes vacant and leader 			// should appoint new via NPC-			getSubPledge(leadssubpledge).setLeaderName("");+			getSubPledge(leadssubpledge).setLeaderId(0); 			updateSubPledgeInDB(leadssubpledge); 		} @@ -393,7 +397,7 @@ 		else 		{ 			removeMemberInDatabase(exMember, clanJoinExpiryTime,-					getLeaderName().equalsIgnoreCase(name) ? System.currentTimeMillis() + Config.ALT_CLAN_CREATE_DAYS * 86400000L : 0);+					getLeaderId()==objectId ? System.currentTimeMillis() + Config.ALT_CLAN_CREATE_DAYS * 86400000L : 0); 		} 	} @@ -473,13 +477,13 @@         return limit; 	} -	public L2PcInstance[] getOnlineMembers(String exclude)+	public L2PcInstance[] getOnlineMembers(int exclude) 	{ 		List<L2PcInstance> result = new FastList<L2PcInstance>(); 		for (L2ClanMember temp : _members.values()) 		{ 			try	{-				if (temp.isOnline() && !temp.getName().equals(exclude))+				if (temp.isOnline() && !(temp.getObjectId()==exclude)) 					result.add(temp.getPlayerInstance()); 			} catch (NullPointerException e) {} 		}@@ -634,9 +638,9 @@ 	 * @param player name 	 * @return 	 */-	public boolean isMember(String name)+	public boolean isMember(int id) 	{-		return (name == null ? false :_members.containsKey(name));+		return (id == 0 ? false :_members.containsKey(id)); 	}  	public void updateClanInDB()@@ -1011,7 +1015,19 @@             	cm.addSkill(skill, false); // Skill is not saved to player DB         }     }-+/*+    public void broadcastToOnlineAllyMembers(L2GameServerPacket packet)+    {+		if (getAllyId() == 0)+		{+			return;+		}+		for (L2Clan clan : _allyList.values())+		{+			clan.broadcastToOnlineMembers(packet);+		}+    }+*/     	public void broadcastToOnlineAllyMembers(L2GameServerPacket packet) 	{ 		if (getAllyId() == 0)@@ -1125,11 +1141,11 @@     public int getHiredGuards(){ return _hiredGuards; }     public void incrementHiredGuards(){ _hiredGuards++; } -    public int isAtWar()+    public boolean isAtWar()     {        if ((_atWarWith != null)&&(_atWarWith.size() > 0))-           return 1;-       return 0;+           return true;+       return false;     }      public List<Integer> getWarList()@@ -1144,7 +1160,7 @@      public void broadcastClanStatus()     {-        for(L2PcInstance member: getOnlineMembers(""))+        for(L2PcInstance member: getOnlineMembers(0))         {         	member.sendPacket(new PledgeShowMemberListDeleteAll());         	member.sendPacket(new PledgeShowMemberListAll(this, member));@@ -1182,13 +1198,13 @@     {        private int _id;        private String _subPledgeName;-       private String _leaderName;+       private int _leaderId; -       public SubPledge(int id, String name, String leaderName)+       public SubPledge(int id, String name, int leaderId)        {            _id = id;            _subPledgeName = name;-           _leaderName = leaderName;+           _leaderId = leaderId;        }         public int getId()@@ -1199,14 +1215,14 @@        {            return _subPledgeName;        }-       public String getLeaderName()+       public int getLeaderId()        {-           return _leaderName;+           return _leaderId;        } -       public void setLeaderName(String leaderName)+       public void setLeaderId(int leaderId)        {-           _leaderName = leaderName;+           _leaderId = leaderId;        }     } @@ -1249,7 +1265,7 @@         {             // Retrieve all subpledges of this clan from the database             con = L2DatabaseFactory.getInstance().getConnection();-            PreparedStatement statement = con.prepareStatement("SELECT sub_pledge_id,name,leader_name FROM clan_subpledges WHERE clan_id=?");+            PreparedStatement statement = con.prepareStatement("SELECT sub_pledge_id,name,leader_id FROM clan_subpledges WHERE clan_id=?");             statement.setInt(1, getClanId());             ResultSet rset = statement.executeQuery(); @@ -1257,9 +1273,9 @@             {                 int id = rset.getInt("sub_pledge_id");                 String name = rset.getString("name");-                String leaderName = rset.getString("leader_name");+                int leaderId = rset.getInt("leader_id");                 // Create a SubPledge object for each record-                SubPledge pledge = new SubPledge(id, name, leaderName);+                SubPledge pledge = new SubPledge(id, name, leaderId);                 _subPledges.put(id, pledge);             } @@ -1310,7 +1326,7 @@         return _subPledges.values().toArray(new SubPledge[_subPledges.values().size()]);     } -    public SubPledge createSubPledge(L2PcInstance player, int pledgeType, String leaderName, String subPledgeName)+    public SubPledge createSubPledge(L2PcInstance player, int pledgeType, int leaderId, String subPledgeName)     {     	SubPledge subPledge = null;         pledgeType = getAvailablePledgeTypes(pledgeType);@@ -1322,7 +1338,7 @@         		player.sendMessage("You can't create any more sub-units of this type");         	return null;         }-        if (_leader.getName().equals(leaderName))+        if (_leader.getObjectId()==leaderId)         {         	player.sendMessage("Leader is not correct");         	return null;@@ -1344,18 +1360,18 @@ 	        try 	        { 	            con = L2DatabaseFactory.getInstance().getConnection();-	            PreparedStatement statement = con.prepareStatement("INSERT INTO clan_subpledges (clan_id,sub_pledge_id,name,leader_name) values (?,?,?,?)");+	            PreparedStatement statement = con.prepareStatement("INSERT INTO clan_subpledges (clan_id,sub_pledge_id,name,leader_id) values (?,?,?,?)"); 	            statement.setInt(1, getClanId()); 	            statement.setInt(2, pledgeType); 	            statement.setString(3, subPledgeName); 	            if (pledgeType != -1)-	                statement.setString(4, leaderName);+	                statement.setInt(4, leaderId); 	            else-	                statement.setString(4, "");+	                statement.setInt(4, 0); 	            statement.execute(); 	            statement.close(); -	            subPledge = new SubPledge(pledgeType, subPledgeName, leaderName);+	            subPledge = new SubPledge(pledgeType, subPledgeName, leaderId); 	            _subPledges.put(pledgeType, subPledge);  	            if(pledgeType != -1)@@ -1375,7 +1391,7 @@ 	        }         }         broadcastToOnlineMembers(new PledgeShowInfoUpdate(_leader.getClan()));-        broadcastToOnlineMembers(new PledgeReceiveSubPledgeCreated(subPledge));+        broadcastToOnlineMembers(new PledgeReceiveSubPledgeCreated(subPledge, _leader.getClan()));         return subPledge;     } @@ -1415,8 +1431,8 @@  	   try  	   {  		   con = L2DatabaseFactory.getInstance().getConnection();- 		   PreparedStatement statement = con.prepareStatement("UPDATE clan_subpledges SET leader_name=? WHERE clan_id=? AND sub_pledge_id=?");- 		   statement.setString(1, getSubPledge(pledgeType).getLeaderName());+ 		   PreparedStatement statement = con.prepareStatement("UPDATE clan_subpledges SET leader_id=? WHERE clan_id=? AND sub_pledge_id=?");+ 		   statement.setInt(1, getSubPledge(pledgeType).getLeaderId());  		   statement.setInt(2, getClanId());  		   statement.setInt(3, pledgeType);  		   statement.execute();@@ -1573,13 +1589,13 @@         return _privs.values().toArray(new RankPrivs[_privs.values().size()]);     } -    public int getLeaderSubPledge(String name)+    public int getLeaderSubPledge(int leaderId)     {         int id = 0;         for (SubPledge sp : _subPledges.values())         {-        	if (sp.getLeaderName() == null) continue;-        	if (sp.getLeaderName().equals(name))+        	if (sp.getLeaderId() == 0) continue;+        	if (sp.getLeaderId() == leaderId)                 id = sp.getId();         }         return id;Index: java/net/sf/l2j/gameserver/model/entity/FortSiege.java===================================================================--- java/net/sf/l2j/gameserver/model/entity/FortSiege.java	(revision 2034)+++ java/net/sf/l2j/gameserver/model/entity/FortSiege.java	(working copy)@@ -372,7 +372,7 @@         for(L2SiegeClan siegeclan : getAttackerClans())         {              clan = ClanTable.getInstance().getClan(siegeclan.getClanId());-             for (L2PcInstance member : clan.getOnlineMembers(""))+             for (L2PcInstance member : clan.getOnlineMembers(0))              {                  if (clear) member.setSiegeState((byte)0);                  else member.setSiegeState((byte)1);@@ -385,7 +385,7 @@         for(L2SiegeClan siegeclan : getDefenderClans())         {             clan = ClanTable.getInstance().getClan(siegeclan.getClanId());-            for (L2PcInstance member : clan.getOnlineMembers(""))+            for (L2PcInstance member : clan.getOnlineMembers(0))             {                 if (clear) member.setSiegeState((byte)0);                 else member.setSiegeState((byte)2);@@ -534,7 +534,7 @@         for(L2SiegeClan siegeclan : getAttackerClans())         {              clan = ClanTable.getInstance().getClan(siegeclan.getClanId());-             for (L2PcInstance player : clan.getOnlineMembers(""))+             for (L2PcInstance player : clan.getOnlineMembers(0))              {                 if (checkIfInZone(player.getX(), player.getY(), player.getZ())) players.add(player);              }@@ -551,7 +551,7 @@         {              clan = ClanTable.getInstance().getClan(siegeclan.getClanId());              if (clan.getClanId() == getFort().getOwnerId()) continue;-             for (L2PcInstance player : clan.getOnlineMembers(""))+             for (L2PcInstance player : clan.getOnlineMembers(0))              {                 if (checkIfInZone(player.getX(), player.getY(), player.getZ())) players.add(player);              }@@ -574,7 +574,7 @@         {              clan = ClanTable.getInstance().getClan(siegeclan.getClanId());              if (clan.getClanId() != getFort().getOwnerId()) continue;-             for (L2PcInstance player : clan.getOnlineMembers(""))+             for (L2PcInstance player : clan.getOnlineMembers(0))              {                 if (checkIfInZone(player.getX(), player.getY(), player.getZ())) players.add(player);              }Index: java/net/sf/l2j/gameserver/model/entity/Siege.java===================================================================--- java/net/sf/l2j/gameserver/model/entity/Siege.java	(revision 2034)+++ java/net/sf/l2j/gameserver/model/entity/Siege.java	(working copy)@@ -469,7 +469,7 @@     	for(L2SiegeClan siegeclan : getAttackerClans())         {              clan = ClanTable.getInstance().getClan(siegeclan.getClanId());-             for (L2PcInstance member : clan.getOnlineMembers(""))+             for (L2PcInstance member : clan.getOnlineMembers(0))              {                  if (clear) member.setSiegeState((byte)0);                  else member.setSiegeState((byte)1);@@ -482,7 +482,7 @@     	for(L2SiegeClan siegeclan : getDefenderClans())         {             clan = ClanTable.getInstance().getClan(siegeclan.getClanId());-            for (L2PcInstance member : clan.getOnlineMembers(""))+            for (L2PcInstance member : clan.getOnlineMembers(0))             {                 if (clear) member.setSiegeState((byte)0);                 else member.setSiegeState((byte)2);@@ -624,7 +624,7 @@     	for(L2SiegeClan siegeclan : getAttackerClans())         {              clan = ClanTable.getInstance().getClan(siegeclan.getClanId());-             for (L2PcInstance player : clan.getOnlineMembers(""))+             for (L2PcInstance player : clan.getOnlineMembers(0))              {              	if (checkIfInZone(player.getX(), player.getY(), player.getZ())) players.add(player);              }@@ -641,7 +641,7 @@         {              clan = ClanTable.getInstance().getClan(siegeclan.getClanId());              if (clan.getClanId() == getCastle().getOwnerId()) continue;-             for (L2PcInstance player : clan.getOnlineMembers(""))+             for (L2PcInstance player : clan.getOnlineMembers(0))              {              	if (checkIfInZone(player.getX(), player.getY(), player.getZ())) players.add(player);              }@@ -664,7 +664,7 @@         {              clan = ClanTable.getInstance().getClan(siegeclan.getClanId());              if (clan.getClanId() != getCastle().getOwnerId()) continue;-             for (L2PcInstance player : clan.getOnlineMembers(""))+             for (L2PcInstance player : clan.getOnlineMembers(0))              {              	if (checkIfInZone(player.getX(), player.getY(), player.getZ())) players.add(player);              }Index: java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminMenu.java===================================================================--- java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminMenu.java	(revision 2034)+++ java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminMenu.java	(working copy)@@ -127,7 +127,7 @@ 					teleportCharacter(player,x,y,z,activeChar, "Admin is teleporting you."); 					return true; 				}-				L2PcInstance[] members = clan.getOnlineMembers("");+				L2PcInstance[] members = clan.getOnlineMembers(0); 				for(int i = 0; i < members.length; i++) 					teleportCharacter(members[i], x, y, z, activeChar, "Your clan is being teleported by an Admin."); 			}Index: java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminSkill.java===================================================================--- java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminSkill.java	(revision 2034)+++ java/net/sf/l2j/gameserver/handler/admincommandhandlers/AdminSkill.java	(working copy)@@ -477,7 +477,7 @@ 				activeChar.sendMessage("You gave the Clan Skill: "+skillname+" to the clan "+player.getClan().getName()+"."); 				 				activeChar.getClan().broadcastToOnlineMembers(new PledgeSkillList(activeChar.getClan()));  -				for(L2PcInstance member: activeChar.getClan().getOnlineMembers(""))  +				for(L2PcInstance member: activeChar.getClan().getOnlineMembers(0))   				{   					member.sendSkillList();   				}  Index: java/net/sf/l2j/gameserver/serverpackets/AllyInfo.java===================================================================--- java/net/sf/l2j/gameserver/serverpackets/AllyInfo.java	(revision 2034)+++ java/net/sf/l2j/gameserver/serverpackets/AllyInfo.java	(working copy)@@ -59,7 +59,7 @@ 		for (L2Clan clan : ClanTable.getInstance().getClans()){ 		    if (clan.getAllyId() == _cha.getAllyId()){ 			clancount++;-			online+=clan.getOnlineMembers("").length;+			online+=clan.getOnlineMembers(0).length; 			count+=clan.getMembers().length; 		    } 		}Index: java/net/sf/l2j/gameserver/serverpackets/PledgeReceiveSubPledgeCreated.java===================================================================--- java/net/sf/l2j/gameserver/serverpackets/PledgeReceiveSubPledgeCreated.java	(revision 2034)+++ java/net/sf/l2j/gameserver/serverpackets/PledgeReceiveSubPledgeCreated.java	(working copy)@@ -15,6 +15,7 @@ package net.sf.l2j.gameserver.serverpackets;  import net.sf.l2j.gameserver.model.L2Clan.SubPledge;+import net.sf.l2j.gameserver.model.L2Clan;  /**  *@@ -24,13 +25,15 @@ { 	private static final String _S__FE_3F_PLEDGERECEIVESUBPLEDGECREATED = "[S] FE:40 PledgeReceiveSubPledgeCreated"; 	private SubPledge _subPledge;+	private L2Clan _clan;  	/** 	 * @param member 	 */-	public PledgeReceiveSubPledgeCreated(SubPledge subPledge)+	public PledgeReceiveSubPledgeCreated(SubPledge subPledge, L2Clan clan) 	{ 		_subPledge = subPledge;+		_clan = clan; 	}  	/**@@ -45,7 +48,7 @@ 		writeD(0x01);         writeD(_subPledge.getId());         writeS(_subPledge.getName());-        writeS(_subPledge.getLeaderName());+        writeS(_clan.getClanMember(_subPledge.getLeaderId()).getName()); 	}  	/**Index: java/net/sf/l2j/gameserver/serverpackets/PledgeShowMemberListAll.java===================================================================--- java/net/sf/l2j/gameserver/serverpackets/PledgeShowMemberListAll.java	(revision 2034)+++ java/net/sf/l2j/gameserver/serverpackets/PledgeShowMemberListAll.java	(working copy)@@ -82,7 +82,7 @@ 		SubPledge[] subPledge = _clan.getAllSubPledges(); 		for (int i = 0; i<subPledge.length; i++) 		{-			_activeChar.sendPacket(new PledgeReceiveSubPledgeCreated(subPledge[i]));+			_activeChar.sendPacket(new PledgeReceiveSubPledgeCreated(subPledge[i], _clan)); 		}  		for (L2ClanMember m : _members)@@ -118,7 +118,7 @@ 		writeD(_clan.getAllyId()); 		writeS(_clan.getAllyName()); 		writeD(_clan.getAllyCrestId());-        writeD(_clan.isAtWar());// new c3+        writeD(_clan.isAtWar()? 0 : 1);// new c3 		writeD(_clan.getSubPledgeMembersCount(_pledgeType));  		for (L2ClanMember m : _members)Index: java/net/sf/l2j/gameserver/serverpackets/CharSelectionInfo.java===================================================================--- java/net/sf/l2j/gameserver/serverpackets/CharSelectionInfo.java	(revision 2034)+++ java/net/sf/l2j/gameserver/serverpackets/CharSelectionInfo.java	(working copy)@@ -278,7 +278,7 @@             {                 L2Clan clan = ClanTable.getInstance().getClan(chardata.getInt("clanid"));                 if(clan != null)-                    clan.removeClanMember(name, 0);+                    clan.removeClanMember(objectId, 0);                                  L2GameClient.deleteCharByObjId(objectId);                 return null;Index: java/net/sf/l2j/gameserver/serverpackets/GMViewPledgeInfo.java===================================================================--- java/net/sf/l2j/gameserver/serverpackets/GMViewPledgeInfo.java	(revision 2034)+++ java/net/sf/l2j/gameserver/serverpackets/GMViewPledgeInfo.java	(working copy)@@ -57,7 +57,7 @@ 		writeD(_clan.getAllyId()); //c2 		writeS(_clan.getAllyName()); //c2 		writeD(_clan.getAllyCrestId()); //c2-		writeD(_clan.isAtWar()); //c3+		writeD(_clan.isAtWar()? 0 : 1); //c3  		writeD(_clan.getMembers().length); Index: java/net/sf/l2j/gameserver/datatables/ClanTable.java===================================================================--- java/net/sf/l2j/gameserver/datatables/ClanTable.java	(revision 2034)+++ java/net/sf/l2j/gameserver/datatables/ClanTable.java	(working copy)@@ -233,7 +233,7 @@  	    for (L2ClanMember member : clan.getMembers()) 	    {-	    	clan.removeClanMember(member.getName(), 0);+	    	clan.removeClanMember(member.getObjectId(), 0); 	    }  		_clans.remove(clanId);