One more clan issue fixed.
Contributed by rocknowx.
This commit is contained in:
parent
20e11faffc
commit
faf7e56f47
@ -544,6 +544,19 @@ public class L2Clan implements IIdentifiable, INamable
|
||||
return result;
|
||||
}
|
||||
|
||||
public int getPowerGradeParty(int grade)
|
||||
{
|
||||
int result = 0;
|
||||
for (L2ClanMember temp : _members.values())
|
||||
{
|
||||
if (temp.getPowerGrade() == grade)
|
||||
{
|
||||
result++;
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param pledgeType the Id of the pledge type.
|
||||
* @return the maximum number of members allowed for a given {@code pledgeType}.
|
||||
@ -1736,20 +1749,17 @@ public class L2Clan implements IIdentifiable, INamable
|
||||
public static class RankPrivs
|
||||
{
|
||||
private final int _rankId;
|
||||
private final int _party;// TODO find out what this stuff means and implement it
|
||||
private final EnumIntBitmask<ClanPrivilege> _rankPrivs;
|
||||
|
||||
public RankPrivs(int rank, int party, int privs)
|
||||
public RankPrivs(int rank, int privs)
|
||||
{
|
||||
_rankId = rank;
|
||||
_party = party;
|
||||
_rankPrivs = new EnumIntBitmask<>(ClanPrivilege.class, privs);
|
||||
}
|
||||
|
||||
public RankPrivs(int rank, int party, EnumIntBitmask<ClanPrivilege> rankPrivs)
|
||||
public RankPrivs(int rank, EnumIntBitmask<ClanPrivilege> rankPrivs)
|
||||
{
|
||||
_rankId = rank;
|
||||
_party = party;
|
||||
_rankPrivs = rankPrivs;
|
||||
}
|
||||
|
||||
@ -1758,11 +1768,6 @@ public class L2Clan implements IIdentifiable, INamable
|
||||
return _rankId;
|
||||
}
|
||||
|
||||
public int getParty()
|
||||
{
|
||||
return _party;
|
||||
}
|
||||
|
||||
public EnumIntBitmask<ClanPrivilege> getPrivs()
|
||||
{
|
||||
return _rankPrivs;
|
||||
@ -2005,7 +2010,7 @@ public class L2Clan implements IIdentifiable, INamable
|
||||
{
|
||||
for (int i = 1; i < 10; i++)
|
||||
{
|
||||
_privs.put(i, new RankPrivs(i, 0, new EnumIntBitmask<>(ClanPrivilege.class, false)));
|
||||
_privs.put(i, new RankPrivs(i, new EnumIntBitmask<>(ClanPrivilege.class, false)));
|
||||
}
|
||||
}
|
||||
|
||||
@ -2058,7 +2063,7 @@ public class L2Clan implements IIdentifiable, INamable
|
||||
}
|
||||
else
|
||||
{
|
||||
_privs.put(rank, new RankPrivs(rank, 0, privs));
|
||||
_privs.put(rank, new RankPrivs(rank, privs));
|
||||
|
||||
try (Connection con = ConnectionFactory.getInstance().getConnection();
|
||||
PreparedStatement ps = con.prepareStatement("INSERT INTO clan_privs (clan_id,rank,party,privs) VALUES (?,?,?,?)"))
|
||||
|
@ -19,7 +19,6 @@
|
||||
package com.l2jserver.gameserver.network.clientpackets;
|
||||
|
||||
import com.l2jserver.gameserver.model.L2Clan;
|
||||
import com.l2jserver.gameserver.model.L2Clan.RankPrivs;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.network.serverpackets.PledgePowerGradeList;
|
||||
|
||||
@ -40,12 +39,11 @@ public final class RequestPledgePowerGradeList extends L2GameClientPacket
|
||||
@Override
|
||||
protected void runImpl()
|
||||
{
|
||||
L2PcInstance player = getClient().getActiveChar();
|
||||
L2Clan clan = player.getClan();
|
||||
final L2PcInstance player = getClient().getActiveChar();
|
||||
final L2Clan clan = player.getClan();
|
||||
if (clan != null)
|
||||
{
|
||||
RankPrivs[] privs = clan.getAllRankPrivs();
|
||||
player.sendPacket(new PledgePowerGradeList(privs));
|
||||
player.sendPacket(new PledgePowerGradeList(clan));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -81,7 +81,11 @@ public final class RequestPledgeSetMemberPowerGrade extends L2GameClientPacket
|
||||
}
|
||||
|
||||
member.setPowerGrade(_powerGrade);
|
||||
member.getPlayerInstance().sendPacket(new PledgeReceiveUpdatePower(member.getClan().getRankPrivs(_powerGrade).getBitmask()));
|
||||
L2PcInstance player = member.getPlayerInstance();
|
||||
if (player != null)
|
||||
{
|
||||
player.sendPacket(new PledgeReceiveUpdatePower(member.getClan().getRankPrivs(_powerGrade).getBitmask()));
|
||||
}
|
||||
clan.broadcastToOnlineMembers(new PledgeReceiveMemberInfo(member));
|
||||
}
|
||||
|
||||
|
@ -18,15 +18,16 @@
|
||||
*/
|
||||
package com.l2jserver.gameserver.network.serverpackets;
|
||||
|
||||
import com.l2jserver.gameserver.model.L2Clan;
|
||||
import com.l2jserver.gameserver.model.L2Clan.RankPrivs;
|
||||
|
||||
public class PledgePowerGradeList extends L2GameServerPacket
|
||||
{
|
||||
private final RankPrivs[] _privs;
|
||||
private final L2Clan _clan;
|
||||
|
||||
public PledgePowerGradeList(RankPrivs[] privs)
|
||||
public PledgePowerGradeList(L2Clan clan)
|
||||
{
|
||||
_privs = privs;
|
||||
_clan = clan;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -34,11 +35,11 @@ public class PledgePowerGradeList extends L2GameServerPacket
|
||||
{
|
||||
writeC(0xFE);
|
||||
writeH(0x3D);
|
||||
writeD(_privs.length);
|
||||
for (RankPrivs temp : _privs)
|
||||
writeD(_clan.getAllRankPrivs().length);
|
||||
for (RankPrivs temp : _clan.getAllRankPrivs())
|
||||
{
|
||||
writeD(temp.getRank());
|
||||
writeD(temp.getParty());
|
||||
writeD(_clan.getPowerGradeParty(temp.getRank()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user