|
@@ -100,12 +100,6 @@ public final class RequestJoinParty extends L2GameClientPacket
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- if (target.getInstanceId() != requestor.getInstanceId())
|
|
|
|
- {
|
|
|
|
- requestor.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_TARGET));
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
if (target.isInJail() || requestor.isInJail())
|
|
if (target.isInJail() || requestor.isInJail())
|
|
{
|
|
{
|
|
requestor.sendMessage("Player is in Jail");
|
|
requestor.sendMessage("Player is in Jail");
|
|
@@ -115,9 +109,6 @@ public final class RequestJoinParty extends L2GameClientPacket
|
|
if (target.isInOlympiadMode() || requestor.isInOlympiadMode())
|
|
if (target.isInOlympiadMode() || requestor.isInOlympiadMode())
|
|
return;
|
|
return;
|
|
|
|
|
|
- if (target.isInDuel() || requestor.isInDuel())
|
|
|
|
- return;
|
|
|
|
-
|
|
|
|
if (!requestor.isInParty()) //Asker has no party
|
|
if (!requestor.isInParty()) //Asker has no party
|
|
{
|
|
{
|
|
createNewParty(target, requestor);
|
|
createNewParty(target, requestor);
|
|
@@ -146,35 +137,37 @@ public final class RequestJoinParty extends L2GameClientPacket
|
|
SystemMessage msg;
|
|
SystemMessage msg;
|
|
|
|
|
|
// summary of ppl already in party and ppl that get invitation
|
|
// summary of ppl already in party and ppl that get invitation
|
|
- if (requestor.getParty().getMemberCount() + requestor.getParty().getPendingInvitationNumber() >= 9 )
|
|
|
|
|
|
+ if (!requestor.getParty().isLeader(requestor))
|
|
{
|
|
{
|
|
- requestor.sendPacket(new SystemMessage(SystemMessageId.PARTY_FULL));
|
|
|
|
|
|
+ requestor.sendPacket(new SystemMessage(SystemMessageId.ONLY_LEADER_CAN_INVITE));
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
-
|
|
|
|
- if (!requestor.getParty().isLeader(requestor))
|
|
|
|
|
|
+ if (requestor.getParty().getMemberCount() >= 9 )
|
|
{
|
|
{
|
|
- requestor.sendPacket(new SystemMessage(SystemMessageId.ONLY_LEADER_CAN_INVITE));
|
|
|
|
|
|
+ requestor.sendPacket(new SystemMessage(SystemMessageId.PARTY_FULL));
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
+ if (requestor.getParty().getPendingInvitation())
|
|
|
|
+ {
|
|
|
|
+ requestor.sendPacket(new SystemMessage(SystemMessageId.WAITING_FOR_ANOTHER_REPLY));
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
|
|
if (!target.isProcessingRequest())
|
|
if (!target.isProcessingRequest())
|
|
{
|
|
{
|
|
requestor.onTransactionRequest(target);
|
|
requestor.onTransactionRequest(target);
|
|
// in case a leader change has happened, use party's mode
|
|
// in case a leader change has happened, use party's mode
|
|
target.sendPacket(new AskJoinParty(requestor.getName(), requestor.getParty().getLootDistribution()));
|
|
target.sendPacket(new AskJoinParty(requestor.getName(), requestor.getParty().getLootDistribution()));
|
|
- requestor.getParty().increasePendingInvitationNumber();
|
|
|
|
|
|
+ requestor.getParty().setPendingInvitation(true);
|
|
|
|
|
|
if (Config.DEBUG)
|
|
if (Config.DEBUG)
|
|
_log.fine("sent out a party invitation to:"+target.getName());
|
|
_log.fine("sent out a party invitation to:"+target.getName());
|
|
|
|
|
|
- msg = new SystemMessage(SystemMessageId.YOU_INVITED_S1_TO_PARTY);
|
|
|
|
- msg.addString(target.getName());
|
|
|
|
- requestor.sendPacket(msg);
|
|
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
msg = new SystemMessage(SystemMessageId.S1_IS_BUSY_TRY_LATER);
|
|
msg = new SystemMessage(SystemMessageId.S1_IS_BUSY_TRY_LATER);
|
|
|
|
+ msg.addString(target.getName());
|
|
requestor.sendPacket(msg);
|
|
requestor.sendPacket(msg);
|
|
|
|
|
|
if (Config.DEBUG)
|
|
if (Config.DEBUG)
|
|
@@ -192,28 +185,21 @@ public final class RequestJoinParty extends L2GameClientPacket
|
|
*/
|
|
*/
|
|
private void createNewParty(L2PcInstance target, L2PcInstance requestor)
|
|
private void createNewParty(L2PcInstance target, L2PcInstance requestor)
|
|
{
|
|
{
|
|
- SystemMessage msg;
|
|
|
|
-
|
|
|
|
if (!target.isProcessingRequest())
|
|
if (!target.isProcessingRequest())
|
|
{
|
|
{
|
|
requestor.setParty(new L2Party(requestor, _itemDistribution));
|
|
requestor.setParty(new L2Party(requestor, _itemDistribution));
|
|
|
|
|
|
requestor.onTransactionRequest(target);
|
|
requestor.onTransactionRequest(target);
|
|
target.sendPacket(new AskJoinParty(requestor.getName(), _itemDistribution));
|
|
target.sendPacket(new AskJoinParty(requestor.getName(), _itemDistribution));
|
|
- requestor.getParty().increasePendingInvitationNumber();
|
|
|
|
|
|
+ requestor.getParty().setPendingInvitation(true);
|
|
|
|
|
|
if (Config.DEBUG)
|
|
if (Config.DEBUG)
|
|
_log.fine("sent out a party invitation to:"+target.getName());
|
|
_log.fine("sent out a party invitation to:"+target.getName());
|
|
|
|
|
|
- msg = new SystemMessage(SystemMessageId.YOU_INVITED_S1_TO_PARTY);
|
|
|
|
- msg.addString(target.getName());
|
|
|
|
- requestor.sendPacket(msg);
|
|
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- msg = new SystemMessage(SystemMessageId.S1_IS_BUSY_TRY_LATER);
|
|
|
|
- msg.addString(target.getName());
|
|
|
|
- requestor.sendPacket(msg);
|
|
|
|
|
|
+ requestor.sendPacket(new SystemMessage(SystemMessageId.WAITING_FOR_ANOTHER_REPLY));
|
|
|
|
|
|
if (Config.DEBUG)
|
|
if (Config.DEBUG)
|
|
_log.warning(requestor.getName() + " already received a party invitation");
|
|
_log.warning(requestor.getName() + " already received a party invitation");
|