/* * Copyright (C) 2004-2015 L2J Server * * This file is part of L2J Server. * * L2J Server 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. * * L2J Server 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 . */ package com.l2jserver.gameserver.network.serverpackets; import java.util.Collection; import com.l2jserver.gameserver.data.sql.impl.ClanTable; import com.l2jserver.gameserver.model.ClanInfo; import com.l2jserver.gameserver.model.L2Clan; import com.l2jserver.gameserver.network.clientpackets.RequestAllyInfo; /** * Sent in response to {@link RequestAllyInfo}, if applicable.
* @author afk5min */ public class AllianceInfo extends L2GameServerPacket { private final String _name; private final int _total; private final int _online; private final String _leaderC; private final String _leaderP; private final ClanInfo[] _allies; public AllianceInfo(int allianceId) { final L2Clan leader = ClanTable.getInstance().getClan(allianceId); _name = leader.getAllyName(); _leaderC = leader.getName(); _leaderP = leader.getLeaderName(); final Collection allies = ClanTable.getInstance().getClanAllies(allianceId); _allies = new ClanInfo[allies.size()]; int idx = 0, total = 0, online = 0; for (final L2Clan clan : allies) { final ClanInfo ci = new ClanInfo(clan); _allies[idx++] = ci; total += ci.getTotal(); online += ci.getOnline(); } _total = total; _online = online; } @Override protected void writeImpl() { writeC(0xB5); writeS(_name); writeD(_total); writeD(_online); writeS(_leaderC); writeS(_leaderP); writeD(_allies.length); for (final ClanInfo aci : _allies) { writeS(aci.getClan().getName()); writeD(0x00); writeD(aci.getClan().getLevel()); writeS(aci.getClan().getLeaderName()); writeD(aci.getTotal()); writeD(aci.getOnline()); } } public String getName() { return _name; } public int getTotal() { return _total; } public int getOnline() { return _online; } public String getLeaderC() { return _leaderC; } public String getLeaderP() { return _leaderP; } public ClanInfo[] getAllies() { return _allies; } }