فهرست منبع

AllyInfo packet is not used anymore.

_DS_ 15 سال پیش
والد
کامیت
c22a15ead5

+ 14 - 0
L2_GameServer/java/com/l2jserver/gameserver/model/L2Clan.java

@@ -557,6 +557,20 @@ public class L2Clan
 
 
 	}
 	}
 
 
+	public int getOnlineMembersCount()
+	{
+		int count = 0;
+		for (L2ClanMember temp : _members.values())
+		{
+			if (temp == null || !temp.isOnline())
+				continue;
+
+			count++;
+		}
+
+		return count;
+	}
+
 	/**
 	/**
 	 * @return
 	 * @return
 	 */
 	 */

+ 70 - 3
L2_GameServer/java/com/l2jserver/gameserver/network/clientpackets/RequestAllyInfo.java

@@ -14,7 +14,11 @@
  */
  */
 package com.l2jserver.gameserver.network.clientpackets;
 package com.l2jserver.gameserver.network.clientpackets;
 
 
-import com.l2jserver.gameserver.network.serverpackets.AllyInfo;
+import com.l2jserver.gameserver.datatables.ClanTable;
+import com.l2jserver.gameserver.model.L2Clan;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.network.SystemMessageId;
+import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 
 
 /**
 /**
  * This class ...
  * This class ...
@@ -35,8 +39,71 @@ public final class RequestAllyInfo extends L2GameClientPacket
 	@Override
 	@Override
 	protected void runImpl()
 	protected void runImpl()
 	{
 	{
-		AllyInfo ai = new AllyInfo(getClient().getActiveChar());
-		sendPacket(ai);
+		final L2PcInstance activeChar = getClient().getActiveChar();
+		if (activeChar == null)
+			return;
+
+		SystemMessage sm;
+		if (activeChar.getAllyId() == 0)
+		{
+			sm = new SystemMessage(SystemMessageId.NO_CURRENT_ALLIANCES);
+			sendPacket(sm);
+			return;
+		}
+
+		sm = new SystemMessage(SystemMessageId.ALLIANCE_INFO_HEAD);
+		sendPacket(sm);
+		sm = new SystemMessage(SystemMessageId.ALLIANCE_NAME_S1);
+		sm.addString(activeChar.getClan().getAllyName());
+		sendPacket(sm);
+
+		int clanCount = 0;
+		int totalMembers = 0;
+		int onlineMembers = 0;
+		for (L2Clan clan : ClanTable.getInstance().getClans())
+		{
+			if (clan.getAllyId() != activeChar.getAllyId())
+				continue;
+
+			clanCount++;
+			totalMembers += clan.getMembersCount();
+			onlineMembers += clan.getOnlineMembersCount();
+		}
+		sm = new SystemMessage(SystemMessageId.CONNECTION_S1_TOTAL_S2);
+		sm.addNumber(onlineMembers);
+		sm.addNumber(totalMembers);
+		sendPacket(sm);
+
+		final L2Clan leaderClan = ClanTable.getInstance().getClan(activeChar.getAllyId());
+		sm = new SystemMessage(SystemMessageId.ALLIANCE_LEADER_S2_OF_S1);
+		sm.addString(leaderClan.getName());
+		sm.addString(leaderClan.getLeaderName());
+		sendPacket(sm);
+
+		sm = new SystemMessage(SystemMessageId.ALLIANCE_CLAN_TOTAL_S1);
+		sm.addNumber(clanCount);
+		sendPacket(sm);
+
+		sm = new SystemMessage(SystemMessageId.CLAN_INFO_HEAD);
+		for (L2Clan clan : ClanTable.getInstance().getClans())
+		{
+			if (clan.getAllyId() != activeChar.getAllyId())
+				continue;
+
+			sendPacket(sm); // send head or separator
+			sm = new SystemMessage(SystemMessageId.CLAN_INFO_NAME);
+			sm.addString(clan.getName());
+			sendPacket(sm);
+			sm = new SystemMessage(SystemMessageId.CLAN_INFO_LEADER);
+			sm.addString(clan.getLeaderName());
+			sendPacket(sm);
+			sm = new SystemMessage(SystemMessageId.CLAN_INFO_LEVEL);
+			sm.addNumber(clan.getLevel());
+			sendPacket(sm);
+			sm = new SystemMessage(SystemMessageId.CLAN_INFO_SEPARATOR);
+		}
+		sm = new SystemMessage(SystemMessageId.CLAN_INFO_FOOT);
+		sendPacket(sm);
 	}
 	}
 
 
 	/* (non-Javadoc)
 	/* (non-Javadoc)

+ 0 - 115
L2_GameServer/java/com/l2jserver/gameserver/network/serverpackets/AllyInfo.java

@@ -1,115 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later
- * version.
- * 
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- * 
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see <http://www.gnu.org/licenses/>.
- */
-package com.l2jserver.gameserver.network.serverpackets;
-
-
-import com.l2jserver.gameserver.datatables.ClanTable;
-import com.l2jserver.gameserver.model.L2Clan;
-import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
-import com.l2jserver.gameserver.network.SystemMessageId;
-
-
-/**
- */
-public class AllyInfo extends L2GameServerPacket
-{
-	//private static Logger _log = Logger.getLogger(AllyInfo.class.getName());
-	private static final String _S__B5_ALLYINFO = "[S] b5 AllyInfo";
-	private static L2PcInstance _cha ;
-
-	public AllyInfo(L2PcInstance cha)
-	{
-		_cha = cha;
-	}
-
-	@Override
-	protected final void writeImpl()
-	{
-	    L2PcInstance activeChar = getClient().getActiveChar();
-	    if (activeChar == null) return;
-
-	    if (activeChar.getAllyId() == 0)
-	    {
-	        _cha.sendPacket(new SystemMessage(SystemMessageId.NO_CURRENT_ALLIANCES));
-            return;
-	    }
-
-		//======<AllyInfo>======
-	    SystemMessage sm = new SystemMessage(SystemMessageId.ALLIANCE_INFO_HEAD);
-		_cha.sendPacket(sm);
-		//======<Ally Name>======
-		sm = new SystemMessage(SystemMessageId.ALLIANCE_NAME_S1);
-		sm.addString(_cha.getClan().getAllyName());
-		_cha.sendPacket(sm);
-		int online = 0;
-		int count = 0;
-		int clancount = 0;
-		for (L2Clan clan : ClanTable.getInstance().getClans()){
-		    if (clan.getAllyId() == _cha.getAllyId()){
-			clancount++;
-			online+=clan.getOnlineMembers(0).length;
-			count+=clan.getMembers().length;
-		    }
-		}
-		//Connection
-		sm = new SystemMessage(SystemMessageId.CONNECTION_S1_TOTAL_S2);
-		sm.addString(""+online);
-		sm.addString(""+count);
-		_cha.sendPacket(sm);
-		L2Clan leaderclan = ClanTable.getInstance().getClan(_cha.getAllyId());
-		sm = new SystemMessage(SystemMessageId.ALLIANCE_LEADER_S2_OF_S1);
-        sm.addString(leaderclan.getName());
-		sm.addString(leaderclan.getLeaderName());
-		_cha.sendPacket(sm);
-		//clan count
-		sm = new SystemMessage(SystemMessageId.ALLIANCE_CLAN_TOTAL_S1);
-		sm.addString(""+clancount);
-		_cha.sendPacket(sm);
-		//clan information
-		sm = new SystemMessage(SystemMessageId.CLAN_INFO_HEAD);
-		_cha.sendPacket(sm);
-		for (L2Clan clan : ClanTable.getInstance().getClans()){
-		    if (clan.getAllyId() == _cha.getAllyId()){
-			//clan name
-			sm = new SystemMessage(SystemMessageId.CLAN_INFO_NAME);
-			sm.addString(clan.getName());
-			_cha.sendPacket(sm);
-			//clan leader name
-			sm = new SystemMessage(SystemMessageId.CLAN_INFO_LEADER);
-			sm.addString(clan.getLeaderName());
-			_cha.sendPacket(sm);
-			//clan level
-			sm = new SystemMessage(SystemMessageId.CLAN_INFO_LEVEL);
-			sm.addNumber(clan.getLevel());
-			_cha.sendPacket(sm);
-			//---------
-			sm = new SystemMessage(SystemMessageId.CLAN_INFO_SEPARATOR);
-			_cha.sendPacket(sm);
-		    }
-		}
-		//=========================
-		sm = new SystemMessage(SystemMessageId.CLAN_INFO_FOOT);
-		_cha.sendPacket(sm);
-	}
-
-	/* (non-Javadoc)
-	 * @see com.l2jserver.gameserver.serverpackets.ServerBasePacket#getType()
-	 */
-	@Override
-	public String getType()
-	{
-		return _S__B5_ALLYINFO;
-	}
-}