Package lineage2.gameserver.network.serverpackets

Source Code of lineage2.gameserver.network.serverpackets.PledgeShowMemberListAll$PledgePacketMember

package lineage2.gameserver.network.serverpackets;

import lineage2.gameserver.model.pledge.Alliance;
import lineage2.gameserver.model.pledge.Clan;
import lineage2.gameserver.model.pledge.SubUnit;
import lineage2.gameserver.model.pledge.UnitMember;

import java.util.ArrayList;
import java.util.List;

public class PledgeShowMemberListAll extends L2GameServerPacket
{
  private int _clanObjectId, _clanCrestId, _level, _rank, _reputation, _allianceObjectId, _allianceCrestId;
  private int _hasCastle, _hasClanHall, _hasFortress, _atClanWar;
  private String _unitName, _leaderName, _allianceName;
  private int _pledgeType;
  private List<PledgePacketMember> _members;

  public PledgeShowMemberListAll(Clan clan, final SubUnit sub)
  {
    _pledgeType = sub.getType();
    _clanObjectId = clan.getClanId();
    _unitName = sub.getName();
    _leaderName = sub.getLeaderName();
    _clanCrestId = clan.getCrestId();
    _level = clan.getLevel();
    _hasCastle = clan.getCastle();
    _hasClanHall = clan.getHasHideout();
    _hasFortress = clan.getHasFortress();
    _rank = clan.getRank();
    _reputation = clan.getReputationScore();
    _atClanWar = clan.isAtWarOrUnderAttack();

    Alliance ally = clan.getAlliance();

    if (ally != null)
    {
      _allianceObjectId = ally.getAllyId();
      _allianceName = ally.getAllyName();
      _allianceCrestId = ally.getAllyCrestId();
    }

    _members = new ArrayList<PledgePacketMember>(sub.size());

    for (UnitMember m : sub.getUnitMembers())
      _members.add(new PledgePacketMember(m));
  }

  @Override
  protected final void writeImpl()
  {
    writeC(0x5a);

    writeD(_pledgeType == Clan.SUBUNIT_MAIN_CLAN ? 0 : 1);
    writeD(_clanObjectId);
    writeD(_pledgeType);
    writeS(_unitName);
    writeS(_leaderName);
    writeD(_clanCrestId); // crest id .. is used again
    writeD(_level);
    writeD(_hasCastle);
    writeD(0x00);
    writeD(_hasClanHall);
    writeD(_hasFortress);
    writeD(_rank);
    writeD(_reputation);
    writeD(0x00);
    writeD(0x00);
    writeD(_allianceObjectId);
    writeS(_allianceName);
    writeD(_allianceCrestId);
    writeD(_atClanWar);
    writeD(0x00);

    writeD(_members.size());
    for (PledgePacketMember m : _members)
    {
      writeS(m._name);
      writeD(m._level);
      writeD(m._classId);
      writeD(m._sex);
      writeD(m._race);
      writeD(m._online);
      writeD(m._hasSponsor ? 1 : 0);
    }
  }

  private class PledgePacketMember
  {
    private String _name;
    private int _level;
    private int _classId;
    private int _sex;
    private int _race;
    private int _online;
    private boolean _hasSponsor;

    public PledgePacketMember(UnitMember m)
    {
      _name = m.getName();
      _level = m.getLevel();
      _classId = m.getClassId();
      _sex = m.getSex();
      _race = m.getRace();
      _online = m.isOnline() ? m.getObjectId() : 0;
      _hasSponsor = m.getSponsor() != 0;
    }
  }
}
TOP

Related Classes of lineage2.gameserver.network.serverpackets.PledgeShowMemberListAll$PledgePacketMember

TOP
Copyright © 2018 www.massapi.com. 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.