Fixed clan subpledge invitation issues.

This commit is contained in:
MobiusDev 2017-11-02 22:36:02 +00:00
parent d3b68cc899
commit fbaa73d331
39 changed files with 106 additions and 171 deletions

View File

@ -87,7 +87,6 @@ import com.l2jmobius.gameserver.network.serverpackets.ExWorldChatCnt;
import com.l2jmobius.gameserver.network.serverpackets.HennaInfo;
import com.l2jmobius.gameserver.network.serverpackets.ItemList;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowInfoUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListAll;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PledgeSkillList;
@ -373,7 +372,6 @@ public class EnterWorld implements IClientIncomingPacket
PledgeShowMemberListAll.sendAllTo(activeChar);
clan.broadcastToOnlineMembers(new ExPledgeCount(clan));
activeChar.sendPacket(new PledgeSkillList(clan));
activeChar.sendPacket(new PledgeShowInfoUpdate(clan));
final ClanHall ch = ClanHallData.getInstance().getClanHallByClan(clan);
if ((ch != null) && (ch.getCostFailDay() > 0))
{

View File

@ -57,6 +57,6 @@ public class RequestClanAskJoinByName implements IClientIncomingPacket
return;
}
invitedPlayer.sendPacket(new AskJoinPledge(activeChar, activeChar.getClan().getSubPledge(_pledgeType) != null ? activeChar.getClan().getSubPledge(_pledgeType).getName() : null, _pledgeType, activeChar.getClan().getName()));
invitedPlayer.sendPacket(new AskJoinPledge(activeChar, _pledgeType, activeChar.getClan().getName()));
}
}

View File

@ -74,8 +74,7 @@ public final class RequestJoinPledge implements IClientIncomingPacket
}
final String pledgeName = activeChar.getClan().getName();
final String subPledgeName = (activeChar.getClan().getSubPledge(_pledgeType) != null ? activeChar.getClan().getSubPledge(_pledgeType).getName() : null);
target.sendPacket(new AskJoinPledge(activeChar, subPledgeName, _pledgeType, pledgeName));
target.sendPacket(new AskJoinPledge(activeChar, _pledgeType, pledgeName));
}
public int getPledgeType()

View File

@ -53,6 +53,7 @@ public final class RequestPledgePower implements IClientIncomingPacket
return;
}
player.sendPacket(new ManagePledgePower(client.getActiveChar().getClan(), _action, _rank));
if (_action == 2)
{
if (player.isClanLeader())
@ -71,9 +72,5 @@ public final class RequestPledgePower implements IClientIncomingPacket
player.getClan().setRankPrivs(_rank, _privs);
}
}
else
{
player.sendPacket(new ManagePledgePower(client.getActiveChar().getClan(), _action, _rank));
}
}
}

View File

@ -77,7 +77,7 @@ public final class RequestPledgeSetMemberPowerGrade implements IClientIncomingPa
if (member.getPledgeType() == L2Clan.SUBUNIT_ACADEMY)
{
// also checked from client side
activeChar.sendMessage("You cannot change academy member grade");
activeChar.sendPacket(SystemMessageId.THAT_PRIVILEGE_CANNOT_BE_GRANTED_TO_A_CLAN_ACADEMY_MEMBER);
return;
}

View File

@ -39,7 +39,7 @@ public class RequestPledgeWaitingApplied implements IClientIncomingPacket
public void run(L2GameClient client)
{
final L2PcInstance activeChar = client.getActiveChar();
if ((activeChar == null) || (activeChar.getClan() == null))
if ((activeChar == null) || (activeChar.getClan() != null))
{
return;
}

View File

@ -23,14 +23,12 @@ import com.l2jmobius.gameserver.network.OutgoingPackets;
public final class AskJoinPledge implements IClientOutgoingPacket
{
private final L2PcInstance _requestor;
private final String _subPledgeName;
private final int _pledgeType;
private final String _pledgeName;
public AskJoinPledge(L2PcInstance requestor, String subPledgeName, int pledgeType, String pledgeName)
public AskJoinPledge(L2PcInstance requestor, int pledgeType, String pledgeName)
{
_requestor = requestor;
_subPledgeName = subPledgeName;
_pledgeType = pledgeType;
_pledgeName = pledgeName;
}
@ -39,14 +37,8 @@ public final class AskJoinPledge implements IClientOutgoingPacket
public boolean write(PacketWriter packet)
{
OutgoingPackets.ASK_JOIN_PLEDGE.writeId(packet);
packet.writeD(_requestor.getObjectId());
packet.writeS(_requestor.getName());
if (_subPledgeName != null)
{
packet.writeS(_pledgeType > 0 ? _subPledgeName : _pledgeName);
}
packet.writeS(_pledgeName);
if (_pledgeType != 0)
{

View File

@ -36,16 +36,12 @@ public class ManagePledgePower implements IClientOutgoingPacket
@Override
public boolean write(PacketWriter packet)
{
// TODO: Verify this!
if (_action == 1)
{
OutgoingPackets.MANAGE_PLEDGE_POWER.writeId(packet);
packet.writeD(_rank);
packet.writeD(_action);
packet.writeD(_clan.getRankPrivs(_rank).getBitmask());
return true;
}
return false;
OutgoingPackets.MANAGE_PLEDGE_POWER.writeId(packet);
packet.writeD(_rank);
packet.writeD(_action);
packet.writeD(_clan.getRankPrivs(_rank).getBitmask());
return true;
}
}

View File

@ -34,15 +34,18 @@ public class PledgeShowMemberListAll implements IClientOutgoingPacket
private final String _name;
private final String _leaderName;
private final Collection<L2ClanMember> _members;
private int _pledgeType;
private final int _pledgeId;
private final boolean _isSubPledge;
private PledgeShowMemberListAll(L2Clan clan, SubPledge pledge)
private PledgeShowMemberListAll(L2Clan clan, SubPledge pledge, boolean isSubPledge)
{
_clan = clan;
_pledge = pledge;
_pledgeId = _pledge == null ? 0x00 : _pledge.getId();
_leaderName = pledge == null ? clan.getLeaderName() : CharNameTable.getInstance().getNameById(pledge.getLeaderId());
_name = pledge == null ? clan.getName() : pledge.getName();
_members = _clan.getMembers();
_isSubPledge = isSubPledge;
}
public static void sendAllTo(L2PcInstance player)
@ -50,33 +53,32 @@ public class PledgeShowMemberListAll implements IClientOutgoingPacket
final L2Clan clan = player.getClan();
if (clan != null)
{
player.sendPacket(new PledgeShowMemberListAll(clan, null));
for (SubPledge subPledge : clan.getAllSubPledges())
{
player.sendPacket(new PledgeShowMemberListAll(clan, subPledge));
player.sendPacket(new PledgeShowMemberListAll(clan, subPledge, false));
}
player.sendPacket(new PledgeShowMemberListAll(clan, null, true));
}
}
@Override
public boolean write(PacketWriter packet)
{
final int pledgeId = (_pledge == null ? 0x00 : _pledge.getId());
OutgoingPackets.PLEDGE_SHOW_MEMBER_LIST_ALL.writeId(packet);
packet.writeD(_pledge == null ? 0 : 1);
packet.writeD(_isSubPledge ? 0x00 : 0x01);
packet.writeD(_clan.getId());
packet.writeD(Config.SERVER_ID);
packet.writeD(pledgeId);
packet.writeD(_pledgeId);
packet.writeS(_name);
packet.writeS(_leaderName);
packet.writeD(_clan.getCrestId()); // crest id .. is used again
packet.writeD(_clan.getLevel());
packet.writeD(_clan.getCastleId());
packet.writeD(0x00);
packet.writeD(_clan.getHideoutId());
packet.writeD(_clan.getFortId());
packet.writeD(0x00);
packet.writeD(_clan.getRank());
packet.writeD(_clan.getReputationScore());
packet.writeD(0x00); // 0
@ -86,11 +88,11 @@ public class PledgeShowMemberListAll implements IClientOutgoingPacket
packet.writeD(_clan.getAllyCrestId());
packet.writeD(_clan.isAtWar() ? 1 : 0); // new c3
packet.writeD(0x00); // Territory castle ID
packet.writeD(_clan.getSubPledgeMembersCount(_pledgeType));
packet.writeD(_clan.getSubPledgeMembersCount(_pledgeId));
for (L2ClanMember m : _members)
{
if (m.getPledgeType() != _pledgeType)
if (m.getPledgeType() != _pledgeId)
{
continue;
}
@ -110,7 +112,6 @@ public class PledgeShowMemberListAll implements IClientOutgoingPacket
}
packet.writeD(m.isOnline() ? m.getObjectId() : 0); // objectId = online 0 = offline
packet.writeD(m.getSponsor() != 0 ? 1 : 0);
packet.writeC(m.getOnlineStatus());
}
return true;
}

View File

@ -89,7 +89,6 @@ import com.l2jmobius.gameserver.network.serverpackets.ExWorldChatCnt;
import com.l2jmobius.gameserver.network.serverpackets.HennaInfo;
import com.l2jmobius.gameserver.network.serverpackets.ItemList;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowInfoUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListAll;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PledgeSkillList;
@ -376,7 +375,6 @@ public class EnterWorld implements IClientIncomingPacket
PledgeShowMemberListAll.sendAllTo(activeChar);
clan.broadcastToOnlineMembers(new ExPledgeCount(clan));
activeChar.sendPacket(new PledgeSkillList(clan));
activeChar.sendPacket(new PledgeShowInfoUpdate(clan));
final ClanHall ch = ClanHallData.getInstance().getClanHallByClan(clan);
if ((ch != null) && (ch.getCostFailDay() > 0))
{

View File

@ -57,6 +57,6 @@ public class RequestClanAskJoinByName implements IClientIncomingPacket
return;
}
invitedPlayer.sendPacket(new AskJoinPledge(activeChar, activeChar.getClan().getSubPledge(_pledgeType) != null ? activeChar.getClan().getSubPledge(_pledgeType).getName() : null, _pledgeType, activeChar.getClan().getName()));
invitedPlayer.sendPacket(new AskJoinPledge(activeChar, _pledgeType, activeChar.getClan().getName()));
}
}

View File

@ -74,8 +74,7 @@ public final class RequestJoinPledge implements IClientIncomingPacket
}
final String pledgeName = activeChar.getClan().getName();
final String subPledgeName = (activeChar.getClan().getSubPledge(_pledgeType) != null ? activeChar.getClan().getSubPledge(_pledgeType).getName() : null);
target.sendPacket(new AskJoinPledge(activeChar, subPledgeName, _pledgeType, pledgeName));
target.sendPacket(new AskJoinPledge(activeChar, _pledgeType, pledgeName));
}
public int getPledgeType()

View File

@ -53,6 +53,7 @@ public final class RequestPledgePower implements IClientIncomingPacket
return;
}
player.sendPacket(new ManagePledgePower(client.getActiveChar().getClan(), _action, _rank));
if (_action == 2)
{
if (player.isClanLeader())
@ -71,9 +72,5 @@ public final class RequestPledgePower implements IClientIncomingPacket
player.getClan().setRankPrivs(_rank, _privs);
}
}
else
{
player.sendPacket(new ManagePledgePower(client.getActiveChar().getClan(), _action, _rank));
}
}
}

View File

@ -77,7 +77,7 @@ public final class RequestPledgeSetMemberPowerGrade implements IClientIncomingPa
if (member.getPledgeType() == L2Clan.SUBUNIT_ACADEMY)
{
// also checked from client side
activeChar.sendMessage("You cannot change academy member grade");
activeChar.sendPacket(SystemMessageId.THAT_PRIVILEGE_CANNOT_BE_GRANTED_TO_A_CLAN_ACADEMY_MEMBER);
return;
}

View File

@ -39,7 +39,7 @@ public class RequestPledgeWaitingApplied implements IClientIncomingPacket
public void run(L2GameClient client)
{
final L2PcInstance activeChar = client.getActiveChar();
if ((activeChar == null) || (activeChar.getClan() == null))
if ((activeChar == null) || (activeChar.getClan() != null))
{
return;
}

View File

@ -23,14 +23,12 @@ import com.l2jmobius.gameserver.network.OutgoingPackets;
public final class AskJoinPledge implements IClientOutgoingPacket
{
private final L2PcInstance _requestor;
private final String _subPledgeName;
private final int _pledgeType;
private final String _pledgeName;
public AskJoinPledge(L2PcInstance requestor, String subPledgeName, int pledgeType, String pledgeName)
public AskJoinPledge(L2PcInstance requestor, int pledgeType, String pledgeName)
{
_requestor = requestor;
_subPledgeName = subPledgeName;
_pledgeType = pledgeType;
_pledgeName = pledgeName;
}
@ -39,14 +37,8 @@ public final class AskJoinPledge implements IClientOutgoingPacket
public boolean write(PacketWriter packet)
{
OutgoingPackets.ASK_JOIN_PLEDGE.writeId(packet);
packet.writeD(_requestor.getObjectId());
packet.writeS(_requestor.getName());
if (_subPledgeName != null)
{
packet.writeS(_pledgeType > 0 ? _subPledgeName : _pledgeName);
}
packet.writeS(_pledgeName);
if (_pledgeType != 0)
{

View File

@ -36,16 +36,12 @@ public class ManagePledgePower implements IClientOutgoingPacket
@Override
public boolean write(PacketWriter packet)
{
// TODO: Verify this!
if (_action == 1)
{
OutgoingPackets.MANAGE_PLEDGE_POWER.writeId(packet);
packet.writeD(_rank);
packet.writeD(_action);
packet.writeD(_clan.getRankPrivs(_rank).getBitmask());
return true;
}
return false;
OutgoingPackets.MANAGE_PLEDGE_POWER.writeId(packet);
packet.writeD(_rank);
packet.writeD(_action);
packet.writeD(_clan.getRankPrivs(_rank).getBitmask());
return true;
}
}

View File

@ -34,15 +34,18 @@ public class PledgeShowMemberListAll implements IClientOutgoingPacket
private final String _name;
private final String _leaderName;
private final Collection<L2ClanMember> _members;
private int _pledgeType;
private final int _pledgeId;
private final boolean _isSubPledge;
private PledgeShowMemberListAll(L2Clan clan, SubPledge pledge)
private PledgeShowMemberListAll(L2Clan clan, SubPledge pledge, boolean isSubPledge)
{
_clan = clan;
_pledge = pledge;
_pledgeId = _pledge == null ? 0x00 : _pledge.getId();
_leaderName = pledge == null ? clan.getLeaderName() : CharNameTable.getInstance().getNameById(pledge.getLeaderId());
_name = pledge == null ? clan.getName() : pledge.getName();
_members = _clan.getMembers();
_isSubPledge = isSubPledge;
}
public static void sendAllTo(L2PcInstance player)
@ -50,33 +53,32 @@ public class PledgeShowMemberListAll implements IClientOutgoingPacket
final L2Clan clan = player.getClan();
if (clan != null)
{
player.sendPacket(new PledgeShowMemberListAll(clan, null));
for (SubPledge subPledge : clan.getAllSubPledges())
{
player.sendPacket(new PledgeShowMemberListAll(clan, subPledge));
player.sendPacket(new PledgeShowMemberListAll(clan, subPledge, false));
}
player.sendPacket(new PledgeShowMemberListAll(clan, null, true));
}
}
@Override
public boolean write(PacketWriter packet)
{
final int pledgeId = (_pledge == null ? 0x00 : _pledge.getId());
OutgoingPackets.PLEDGE_SHOW_MEMBER_LIST_ALL.writeId(packet);
packet.writeD(_pledge == null ? 0 : 1);
packet.writeD(_isSubPledge ? 0x00 : 0x01);
packet.writeD(_clan.getId());
packet.writeD(Config.SERVER_ID);
packet.writeD(pledgeId);
packet.writeD(_pledgeId);
packet.writeS(_name);
packet.writeS(_leaderName);
packet.writeD(_clan.getCrestId()); // crest id .. is used again
packet.writeD(_clan.getLevel());
packet.writeD(_clan.getCastleId());
packet.writeD(0x00);
packet.writeD(_clan.getHideoutId());
packet.writeD(_clan.getFortId());
packet.writeD(0x00);
packet.writeD(_clan.getRank());
packet.writeD(_clan.getReputationScore());
packet.writeD(0x00); // 0
@ -86,11 +88,11 @@ public class PledgeShowMemberListAll implements IClientOutgoingPacket
packet.writeD(_clan.getAllyCrestId());
packet.writeD(_clan.isAtWar() ? 1 : 0); // new c3
packet.writeD(0x00); // Territory castle ID
packet.writeD(_clan.getSubPledgeMembersCount(_pledgeType));
packet.writeD(_clan.getSubPledgeMembersCount(_pledgeId));
for (L2ClanMember m : _members)
{
if (m.getPledgeType() != _pledgeType)
if (m.getPledgeType() != _pledgeId)
{
continue;
}

View File

@ -82,14 +82,14 @@ public class ExPledgeBonusOpen implements IClientOutgoingPacket
// Members online bonus
packet.writeD(highestMembersOnlineBonus.getRequiredAmount());
packet.writeD(clan.getMaxOnlineMembers());
packet.writeD(highestMembersOnlineBonus.getSkillReward().getSkillId());
packet.writeD(membersOnlineBonus != null ? highestMembersOnlineBonus.getSkillReward().getSkillId() : 0x00);
packet.writeC(membersOnlineBonus != null ? membersOnlineBonus.getLevel() : 0x00);
packet.writeC(membersOnlineBonus != null ? 0x01 : 0x00);
// Hunting bonus
packet.writeD(highestHuntingBonus.getRequiredAmount());
packet.writeD(clan.getHuntingPoints());
packet.writeD(highestHuntingBonus.getItemReward().getId());
packet.writeD(huntingBonus != null ? highestHuntingBonus.getItemReward().getId() : 0x00);
packet.writeC(huntingBonus != null ? huntingBonus.getLevel() : 0x00);
packet.writeC(huntingBonus != null ? 0x01 : 0x00);
return true;

View File

@ -89,7 +89,6 @@ import com.l2jmobius.gameserver.network.serverpackets.ExWorldChatCnt;
import com.l2jmobius.gameserver.network.serverpackets.HennaInfo;
import com.l2jmobius.gameserver.network.serverpackets.ItemList;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowInfoUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListAll;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PledgeSkillList;
@ -376,7 +375,6 @@ public class EnterWorld implements IClientIncomingPacket
PledgeShowMemberListAll.sendAllTo(activeChar);
clan.broadcastToOnlineMembers(new ExPledgeCount(clan));
activeChar.sendPacket(new PledgeSkillList(clan));
activeChar.sendPacket(new PledgeShowInfoUpdate(clan));
final ClanHall ch = ClanHallData.getInstance().getClanHallByClan(clan);
if ((ch != null) && (ch.getCostFailDay() > 0))
{

View File

@ -57,6 +57,6 @@ public class RequestClanAskJoinByName implements IClientIncomingPacket
return;
}
invitedPlayer.sendPacket(new AskJoinPledge(activeChar, activeChar.getClan().getSubPledge(_pledgeType) != null ? activeChar.getClan().getSubPledge(_pledgeType).getName() : null, _pledgeType, activeChar.getClan().getName()));
invitedPlayer.sendPacket(new AskJoinPledge(activeChar, _pledgeType, activeChar.getClan().getName()));
}
}

View File

@ -74,8 +74,7 @@ public final class RequestJoinPledge implements IClientIncomingPacket
}
final String pledgeName = activeChar.getClan().getName();
final String subPledgeName = (activeChar.getClan().getSubPledge(_pledgeType) != null ? activeChar.getClan().getSubPledge(_pledgeType).getName() : null);
target.sendPacket(new AskJoinPledge(activeChar, subPledgeName, _pledgeType, pledgeName));
target.sendPacket(new AskJoinPledge(activeChar, _pledgeType, pledgeName));
}
public int getPledgeType()

View File

@ -53,6 +53,7 @@ public final class RequestPledgePower implements IClientIncomingPacket
return;
}
player.sendPacket(new ManagePledgePower(client.getActiveChar().getClan(), _action, _rank));
if (_action == 2)
{
if (player.isClanLeader())
@ -71,9 +72,5 @@ public final class RequestPledgePower implements IClientIncomingPacket
player.getClan().setRankPrivs(_rank, _privs);
}
}
else
{
player.sendPacket(new ManagePledgePower(client.getActiveChar().getClan(), _action, _rank));
}
}
}

View File

@ -77,7 +77,7 @@ public final class RequestPledgeSetMemberPowerGrade implements IClientIncomingPa
if (member.getPledgeType() == L2Clan.SUBUNIT_ACADEMY)
{
// also checked from client side
activeChar.sendMessage("You cannot change academy member grade");
activeChar.sendPacket(SystemMessageId.THAT_PRIVILEGE_CANNOT_BE_GRANTED_TO_A_CLAN_ACADEMY_MEMBER);
return;
}

View File

@ -39,7 +39,7 @@ public class RequestPledgeWaitingApplied implements IClientIncomingPacket
public void run(L2GameClient client)
{
final L2PcInstance activeChar = client.getActiveChar();
if ((activeChar == null) || (activeChar.getClan() == null))
if ((activeChar == null) || (activeChar.getClan() != null))
{
return;
}

View File

@ -23,14 +23,12 @@ import com.l2jmobius.gameserver.network.OutgoingPackets;
public final class AskJoinPledge implements IClientOutgoingPacket
{
private final L2PcInstance _requestor;
private final String _subPledgeName;
private final int _pledgeType;
private final String _pledgeName;
public AskJoinPledge(L2PcInstance requestor, String subPledgeName, int pledgeType, String pledgeName)
public AskJoinPledge(L2PcInstance requestor, int pledgeType, String pledgeName)
{
_requestor = requestor;
_subPledgeName = subPledgeName;
_pledgeType = pledgeType;
_pledgeName = pledgeName;
}
@ -39,14 +37,8 @@ public final class AskJoinPledge implements IClientOutgoingPacket
public boolean write(PacketWriter packet)
{
OutgoingPackets.ASK_JOIN_PLEDGE.writeId(packet);
packet.writeD(_requestor.getObjectId());
packet.writeS(_requestor.getName());
if (_subPledgeName != null)
{
packet.writeS(_pledgeType > 0 ? _subPledgeName : _pledgeName);
}
packet.writeS(_pledgeName);
if (_pledgeType != 0)
{

View File

@ -36,16 +36,12 @@ public class ManagePledgePower implements IClientOutgoingPacket
@Override
public boolean write(PacketWriter packet)
{
// TODO: Verify this!
if (_action == 1)
{
OutgoingPackets.MANAGE_PLEDGE_POWER.writeId(packet);
packet.writeD(_rank);
packet.writeD(_action);
packet.writeD(_clan.getRankPrivs(_rank).getBitmask());
return true;
}
return false;
OutgoingPackets.MANAGE_PLEDGE_POWER.writeId(packet);
packet.writeD(_rank);
packet.writeD(_action);
packet.writeD(_clan.getRankPrivs(_rank).getBitmask());
return true;
}
}

View File

@ -34,15 +34,18 @@ public class PledgeShowMemberListAll implements IClientOutgoingPacket
private final String _name;
private final String _leaderName;
private final Collection<L2ClanMember> _members;
private int _pledgeType;
private final int _pledgeId;
private final boolean _isSubPledge;
private PledgeShowMemberListAll(L2Clan clan, SubPledge pledge)
private PledgeShowMemberListAll(L2Clan clan, SubPledge pledge, boolean isSubPledge)
{
_clan = clan;
_pledge = pledge;
_pledgeId = _pledge == null ? 0x00 : _pledge.getId();
_leaderName = pledge == null ? clan.getLeaderName() : CharNameTable.getInstance().getNameById(pledge.getLeaderId());
_name = pledge == null ? clan.getName() : pledge.getName();
_members = _clan.getMembers();
_isSubPledge = isSubPledge;
}
public static void sendAllTo(L2PcInstance player)
@ -50,33 +53,32 @@ public class PledgeShowMemberListAll implements IClientOutgoingPacket
final L2Clan clan = player.getClan();
if (clan != null)
{
player.sendPacket(new PledgeShowMemberListAll(clan, null));
for (SubPledge subPledge : clan.getAllSubPledges())
{
player.sendPacket(new PledgeShowMemberListAll(clan, subPledge));
player.sendPacket(new PledgeShowMemberListAll(clan, subPledge, false));
}
player.sendPacket(new PledgeShowMemberListAll(clan, null, true));
}
}
@Override
public boolean write(PacketWriter packet)
{
final int pledgeId = (_pledge == null ? 0x00 : _pledge.getId());
OutgoingPackets.PLEDGE_SHOW_MEMBER_LIST_ALL.writeId(packet);
packet.writeD(_pledge == null ? 0 : 1);
packet.writeD(_isSubPledge ? 0x00 : 0x01);
packet.writeD(_clan.getId());
packet.writeD(Config.SERVER_ID);
packet.writeD(pledgeId);
packet.writeD(_pledgeId);
packet.writeS(_name);
packet.writeS(_leaderName);
packet.writeD(_clan.getCrestId()); // crest id .. is used again
packet.writeD(_clan.getLevel());
packet.writeD(_clan.getCastleId());
packet.writeD(0x00);
packet.writeD(_clan.getHideoutId());
packet.writeD(_clan.getFortId());
packet.writeD(0x00);
packet.writeD(_clan.getRank());
packet.writeD(_clan.getReputationScore());
packet.writeD(0x00); // 0
@ -86,11 +88,11 @@ public class PledgeShowMemberListAll implements IClientOutgoingPacket
packet.writeD(_clan.getAllyCrestId());
packet.writeD(_clan.isAtWar() ? 1 : 0); // new c3
packet.writeD(0x00); // Territory castle ID
packet.writeD(_clan.getSubPledgeMembersCount(_pledgeType));
packet.writeD(_clan.getSubPledgeMembersCount(_pledgeId));
for (L2ClanMember m : _members)
{
if (m.getPledgeType() != _pledgeType)
if (m.getPledgeType() != _pledgeId)
{
continue;
}

View File

@ -82,14 +82,14 @@ public class ExPledgeBonusOpen implements IClientOutgoingPacket
// Members online bonus
packet.writeD(highestMembersOnlineBonus.getRequiredAmount());
packet.writeD(clan.getMaxOnlineMembers());
packet.writeD(highestMembersOnlineBonus.getSkillReward().getSkillId());
packet.writeD(membersOnlineBonus != null ? highestMembersOnlineBonus.getSkillReward().getSkillId() : 0x00);
packet.writeC(membersOnlineBonus != null ? membersOnlineBonus.getLevel() : 0x00);
packet.writeC(membersOnlineBonus != null ? 0x01 : 0x00);
// Hunting bonus
packet.writeD(highestHuntingBonus.getRequiredAmount());
packet.writeD(clan.getHuntingPoints());
packet.writeD(highestHuntingBonus.getItemReward().getId());
packet.writeD(huntingBonus != null ? highestHuntingBonus.getItemReward().getId() : 0x00);
packet.writeC(huntingBonus != null ? huntingBonus.getLevel() : 0x00);
packet.writeC(huntingBonus != null ? 0x01 : 0x00);
return true;

View File

@ -89,7 +89,6 @@ import com.l2jmobius.gameserver.network.serverpackets.ExWorldChatCnt;
import com.l2jmobius.gameserver.network.serverpackets.HennaInfo;
import com.l2jmobius.gameserver.network.serverpackets.ItemList;
import com.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowInfoUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListAll;
import com.l2jmobius.gameserver.network.serverpackets.PledgeShowMemberListUpdate;
import com.l2jmobius.gameserver.network.serverpackets.PledgeSkillList;
@ -376,7 +375,6 @@ public class EnterWorld implements IClientIncomingPacket
PledgeShowMemberListAll.sendAllTo(activeChar);
clan.broadcastToOnlineMembers(new ExPledgeCount(clan));
activeChar.sendPacket(new PledgeSkillList(clan));
activeChar.sendPacket(new PledgeShowInfoUpdate(clan));
final ClanHall ch = ClanHallData.getInstance().getClanHallByClan(clan);
if ((ch != null) && (ch.getCostFailDay() > 0))
{

View File

@ -57,6 +57,6 @@ public class RequestClanAskJoinByName implements IClientIncomingPacket
return;
}
invitedPlayer.sendPacket(new AskJoinPledge(activeChar, activeChar.getClan().getSubPledge(_pledgeType) != null ? activeChar.getClan().getSubPledge(_pledgeType).getName() : null, _pledgeType, activeChar.getClan().getName()));
invitedPlayer.sendPacket(new AskJoinPledge(activeChar, _pledgeType, activeChar.getClan().getName()));
}
}

View File

@ -74,8 +74,7 @@ public final class RequestJoinPledge implements IClientIncomingPacket
}
final String pledgeName = activeChar.getClan().getName();
final String subPledgeName = (activeChar.getClan().getSubPledge(_pledgeType) != null ? activeChar.getClan().getSubPledge(_pledgeType).getName() : null);
target.sendPacket(new AskJoinPledge(activeChar, subPledgeName, _pledgeType, pledgeName));
target.sendPacket(new AskJoinPledge(activeChar, _pledgeType, pledgeName));
}
public int getPledgeType()

View File

@ -53,6 +53,7 @@ public final class RequestPledgePower implements IClientIncomingPacket
return;
}
player.sendPacket(new ManagePledgePower(client.getActiveChar().getClan(), _action, _rank));
if (_action == 2)
{
if (player.isClanLeader())
@ -71,9 +72,5 @@ public final class RequestPledgePower implements IClientIncomingPacket
player.getClan().setRankPrivs(_rank, _privs);
}
}
else
{
player.sendPacket(new ManagePledgePower(client.getActiveChar().getClan(), _action, _rank));
}
}
}

View File

@ -77,7 +77,7 @@ public final class RequestPledgeSetMemberPowerGrade implements IClientIncomingPa
if (member.getPledgeType() == L2Clan.SUBUNIT_ACADEMY)
{
// also checked from client side
activeChar.sendMessage("You cannot change academy member grade");
activeChar.sendPacket(SystemMessageId.THAT_PRIVILEGE_CANNOT_BE_GRANTED_TO_A_CLAN_ACADEMY_MEMBER);
return;
}

View File

@ -39,7 +39,7 @@ public class RequestPledgeWaitingApplied implements IClientIncomingPacket
public void run(L2GameClient client)
{
final L2PcInstance activeChar = client.getActiveChar();
if ((activeChar == null) || (activeChar.getClan() == null))
if ((activeChar == null) || (activeChar.getClan() != null))
{
return;
}

View File

@ -23,14 +23,12 @@ import com.l2jmobius.gameserver.network.OutgoingPackets;
public final class AskJoinPledge implements IClientOutgoingPacket
{
private final L2PcInstance _requestor;
private final String _subPledgeName;
private final int _pledgeType;
private final String _pledgeName;
public AskJoinPledge(L2PcInstance requestor, String subPledgeName, int pledgeType, String pledgeName)
public AskJoinPledge(L2PcInstance requestor, int pledgeType, String pledgeName)
{
_requestor = requestor;
_subPledgeName = subPledgeName;
_pledgeType = pledgeType;
_pledgeName = pledgeName;
}
@ -39,14 +37,8 @@ public final class AskJoinPledge implements IClientOutgoingPacket
public boolean write(PacketWriter packet)
{
OutgoingPackets.ASK_JOIN_PLEDGE.writeId(packet);
packet.writeD(_requestor.getObjectId());
packet.writeS(_requestor.getName());
if (_subPledgeName != null)
{
packet.writeS(_pledgeType > 0 ? _subPledgeName : _pledgeName);
}
packet.writeS(_pledgeName);
if (_pledgeType != 0)
{

View File

@ -36,16 +36,12 @@ public class ManagePledgePower implements IClientOutgoingPacket
@Override
public boolean write(PacketWriter packet)
{
// TODO: Verify this!
if (_action == 1)
{
OutgoingPackets.MANAGE_PLEDGE_POWER.writeId(packet);
packet.writeD(_rank);
packet.writeD(_action);
packet.writeD(_clan.getRankPrivs(_rank).getBitmask());
return true;
}
return false;
OutgoingPackets.MANAGE_PLEDGE_POWER.writeId(packet);
packet.writeD(_rank);
packet.writeD(_action);
packet.writeD(_clan.getRankPrivs(_rank).getBitmask());
return true;
}
}

View File

@ -34,15 +34,18 @@ public class PledgeShowMemberListAll implements IClientOutgoingPacket
private final String _name;
private final String _leaderName;
private final Collection<L2ClanMember> _members;
private int _pledgeType;
private final int _pledgeId;
private final boolean _isSubPledge;
private PledgeShowMemberListAll(L2Clan clan, SubPledge pledge)
private PledgeShowMemberListAll(L2Clan clan, SubPledge pledge, boolean isSubPledge)
{
_clan = clan;
_pledge = pledge;
_pledgeId = _pledge == null ? 0x00 : _pledge.getId();
_leaderName = pledge == null ? clan.getLeaderName() : CharNameTable.getInstance().getNameById(pledge.getLeaderId());
_name = pledge == null ? clan.getName() : pledge.getName();
_members = _clan.getMembers();
_isSubPledge = isSubPledge;
}
public static void sendAllTo(L2PcInstance player)
@ -50,33 +53,32 @@ public class PledgeShowMemberListAll implements IClientOutgoingPacket
final L2Clan clan = player.getClan();
if (clan != null)
{
player.sendPacket(new PledgeShowMemberListAll(clan, null));
for (SubPledge subPledge : clan.getAllSubPledges())
{
player.sendPacket(new PledgeShowMemberListAll(clan, subPledge));
player.sendPacket(new PledgeShowMemberListAll(clan, subPledge, false));
}
player.sendPacket(new PledgeShowMemberListAll(clan, null, true));
}
}
@Override
public boolean write(PacketWriter packet)
{
final int pledgeId = (_pledge == null ? 0x00 : _pledge.getId());
OutgoingPackets.PLEDGE_SHOW_MEMBER_LIST_ALL.writeId(packet);
packet.writeD(_pledge == null ? 0 : 1);
packet.writeD(_isSubPledge ? 0x00 : 0x01);
packet.writeD(_clan.getId());
packet.writeD(Config.SERVER_ID);
packet.writeD(pledgeId);
packet.writeD(_pledgeId);
packet.writeS(_name);
packet.writeS(_leaderName);
packet.writeD(_clan.getCrestId()); // crest id .. is used again
packet.writeD(_clan.getLevel());
packet.writeD(_clan.getCastleId());
packet.writeD(0x00);
packet.writeD(_clan.getHideoutId());
packet.writeD(_clan.getFortId());
packet.writeD(0x00);
packet.writeD(_clan.getRank());
packet.writeD(_clan.getReputationScore());
packet.writeD(0x00); // 0
@ -86,11 +88,11 @@ public class PledgeShowMemberListAll implements IClientOutgoingPacket
packet.writeD(_clan.getAllyCrestId());
packet.writeD(_clan.isAtWar() ? 1 : 0); // new c3
packet.writeD(0x00); // Territory castle ID
packet.writeD(_clan.getSubPledgeMembersCount(_pledgeType));
packet.writeD(_clan.getSubPledgeMembersCount(_pledgeId));
for (L2ClanMember m : _members)
{
if (m.getPledgeType() != _pledgeType)
if (m.getPledgeType() != _pledgeId)
{
continue;
}

View File

@ -82,14 +82,14 @@ public class ExPledgeBonusOpen implements IClientOutgoingPacket
// Members online bonus
packet.writeD(highestMembersOnlineBonus.getRequiredAmount());
packet.writeD(clan.getMaxOnlineMembers());
packet.writeD(highestMembersOnlineBonus.getSkillReward().getSkillId());
packet.writeD(membersOnlineBonus != null ? highestMembersOnlineBonus.getSkillReward().getSkillId() : 0x00);
packet.writeC(membersOnlineBonus != null ? membersOnlineBonus.getLevel() : 0x00);
packet.writeC(membersOnlineBonus != null ? 0x01 : 0x00);
// Hunting bonus
packet.writeD(highestHuntingBonus.getRequiredAmount());
packet.writeD(clan.getHuntingPoints());
packet.writeD(highestHuntingBonus.getItemReward().getId());
packet.writeD(huntingBonus != null ? highestHuntingBonus.getItemReward().getId() : 0x00);
packet.writeC(huntingBonus != null ? huntingBonus.getLevel() : 0x00);
packet.writeC(huntingBonus != null ? 0x01 : 0x00);
return true;