public static void OnPartyMemberRequest(WorldClient client, INetPacketStream packet) { var partyMemberRequestPacket = new PartyMemberRequestPacket(packet); var partyMemberRequestEventArgs = new PartyMemberRequestEventArgs(partyMemberRequestPacket); client.Player.NotifySystem <PartySystem>(partyMemberRequestEventArgs); }
private void OnPartyMemberRequest(IPlayerEntity player, PartyMemberRequestEventArgs e) { var worldServer = DependencyContainer.Instance.Resolve <IWorldServer>(); if (player.PlayerData.Id != e.PlayerId) { return; } var member = worldServer.GetPlayerEntityByCharacterId(e.MemberId); if (member == null) { WorldPacketFactory.SendAddPartyRequestCancel(player, e.MemberId, PartyRequestCancelMode.OtherServer); return; } // TODO: Check if in GW, Duel or other stuff that might disturb the player. if (member.Party.IsInParty) { WorldPacketFactory.SendAddPartyRequestCancel(player, e.MemberId, PartyRequestCancelMode.OtherParty); return; } // Send Request to other player WorldPacketFactory.SendAddPartyRequest(player, member, e.Troup); }