Package lineage2.gameserver.network.serverpackets

Source Code of lineage2.gameserver.network.serverpackets.GMViewPledgeInfo$PledgeMemberInfo

package lineage2.gameserver.network.serverpackets;

import lineage2.gameserver.model.Player;
import lineage2.gameserver.model.pledge.Clan;
import lineage2.gameserver.model.pledge.UnitMember;

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

public class GMViewPledgeInfo extends L2GameServerPacket
{
  private String char_name, clan_name, leader_name, ally_name;
  private int clan_id, clan_crest_id, clan_level, rank, rep, ally_id, ally_crest_id;
  private int hasCastle, hasHideout, hasFortress, atWar;
  private List<PledgeMemberInfo> infos = new ArrayList<PledgeMemberInfo>();

  public GMViewPledgeInfo(Player activeChar)
  {
    Clan clan = activeChar.getClan();
    for (UnitMember member : clan)
    {
      if (member == null)
        continue;
      char_name = member.getName();
      clan_level = member.getLevel();
      clan_id = member.getClassId();
      clan_crest_id = member.isOnline() ? member.getObjectId() : 0;
      rep = member.getSponsor() != 0 ? 1 : 0;
      infos.add(new PledgeMemberInfo(char_name, clan_level, clan_id, clan_crest_id, member.getSex(), 1, rep));
    }

    char_name = activeChar.getName();
    clan_id = clan.getClanId();
    clan_name = clan.getName();
    leader_name = clan.getLeaderName();
    clan_crest_id = clan.getCrestId();
    clan_level = clan.getLevel();
    hasCastle = clan.getCastle();
    hasHideout = clan.getHasHideout();
    hasFortress = clan.getHasFortress();
    rank = clan.getRank();
    rep = clan.getReputationScore();
    ally_id = clan.getAllyId();
    if (clan.getAlliance() != null)
    {
      ally_name = clan.getAlliance().getAllyName();
      ally_crest_id = clan.getAlliance().getAllyCrestId();
    }
    else
    {
      ally_name = "";
      ally_crest_id = 0;
    }
    atWar = clan.isAtWar();
  }

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

    writeS(char_name);
    writeD(clan_id);
    writeD(0x00);
    writeS(clan_name);
    writeS(leader_name);

    writeD(clan_crest_id);
    writeD(clan_level);
    writeD(hasCastle);
    writeD(hasHideout);
    writeD(hasFortress);
    writeD(rank);
    writeD(rep);
    writeD(0);
    writeD(0);
    writeD(ally_id);
    writeS(ally_name);
    writeD(ally_crest_id);
    writeD(atWar);
    writeD(0); // Territory castle ID

    writeD(infos.size());
    for (PledgeMemberInfo _info : infos)
    {
      writeS(_info._name);
      writeD(_info.level);
      writeD(_info.class_id);
      writeD(_info.sex);
      writeD(_info.race);
      writeD(_info.online);
      writeD(_info.sponsor);
    }
    infos.clear();
  }

  static class PledgeMemberInfo
  {
    public String _name;
    public int level, class_id, online, sex, race, sponsor;

    public PledgeMemberInfo(String __name, int _level, int _class_id, int _online, int _sex, int _race, int _sponsor)
    {
      _name = __name;
      level = _level;
      class_id = _class_id;
      online = _online;
      sex = _sex;
      race = _race;
      sponsor = _sponsor;
    }
  }
}
TOP

Related Classes of lineage2.gameserver.network.serverpackets.GMViewPledgeInfo$PledgeMemberInfo

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.