public async Task JoinNonConnectedAsync() { var mjoinPacket = new MJoinPacket { VisualId = 50, Type = VisualType.Player }; await _mjoinPacketHandler !.ExecuteAsync(mjoinPacket, _session !).ConfigureAwait(false); Assert.IsFalse(_session !.Character.MapInstance.Map.MapId == 20001); }
public void JoinNonFriend() { var mjoinPacket = new MJoinPacket { VisualId = _targetSession.Character.CharacterId, Type = VisualType.Player }; _mjoinPacketHandler.Execute(mjoinPacket, _session); Assert.IsFalse(_session.Character.MapInstance.Map.MapId == 20001); }
/// <summary> /// mjoin packet /// </summary> /// <param name="mJoinPacket"></param> public void JoinMiniland(MJoinPacket mJoinPacket) { ClientSession sess = ServerManager.Instance.GetSessionByCharacterId(mJoinPacket.CharacterId); if (sess?.Character != null) { if (sess.Character.MinilandState == MinilandState.OPEN) { ServerManager.Instance.JoinMiniland(Session, sess); } else { Session.SendPacket(UserInterfaceHelper.Instance.GenerateInfo(Language.Instance.GetMessageFromKey("MINILAND_CLOSED_BY_FRIEND"))); } } }
public void JoinPrivateBlocked() { var mjoinPacket = new MJoinPacket { VisualId = _targetSession.Character.CharacterId, Type = VisualType.Player }; _connectedAccountHttpClient.Setup(s => s.GetCharacter(_targetSession.Character.CharacterId, null)) .Returns((new ServerConfiguration(), new ConnectedAccount { ChannelId = 1, ConnectedCharacter = new Character { Id = _targetSession.Character.CharacterId } })); _connectedAccountHttpClient.Setup(s => s.GetCharacter(_session.Character.CharacterId, null)) .Returns((new ServerConfiguration(), new ConnectedAccount { ChannelId = 1, ConnectedCharacter = new Character { Id = _session.Character.CharacterId } })); _friendHttpClient.Setup(s => s.GetListFriends(It.IsAny <long>())).Returns(new List <CharacterRelationStatus> { new CharacterRelationStatus { CharacterId = _targetSession.Character.CharacterId, IsConnected = true, CharacterName = _targetSession.Character.Name, RelationType = CharacterRelationType.Blocked } }); _minilandProvider.Setup(s => s.GetMiniland(It.IsAny <long>())).Returns(new Miniland { MapInstanceId = TestHelpers.Instance.MinilandId, State = MinilandState.Private }); _mjoinPacketHandler.Execute(mjoinPacket, _session); var lastpacket = (InfoPacket)_session.LastPackets.FirstOrDefault(s => s is InfoPacket); Assert.AreEqual(lastpacket.Message, Language.Instance.GetMessageFromKey(LanguageKey.MINILAND_CLOSED_BY_FRIEND, _session.Account.Language)); Assert.IsFalse(_session.Character.MapInstance.Map.MapId == 20001); }
public void JoinPrivate() { var mjoinPacket = new MJoinPacket { VisualId = _targetSession.Character.CharacterId, Type = VisualType.Player }; _connectedAccountHttpClient.Setup(s => s.GetCharacter(_targetSession.Character.CharacterId, null)) .Returns((new ServerConfiguration(), new ConnectedAccount { ChannelId = 1, ConnectedCharacter = new Character { Id = _targetSession.Character.CharacterId } })); _connectedAccountHttpClient.Setup(s => s.GetCharacter(_session.Character.CharacterId, null)) .Returns((new ServerConfiguration(), new ConnectedAccount { ChannelId = 1, ConnectedCharacter = new Character { Id = _session.Character.CharacterId } })); _friendHttpClient.Setup(s => s.GetListFriends(It.IsAny <long>())).Returns(new List <CharacterRelationStatus> { new CharacterRelationStatus { CharacterId = _targetSession.Character.CharacterId, IsConnected = true, CharacterName = _targetSession.Character.Name, RelationType = CharacterRelationType.Friend } }); _minilandProvider.Setup(s => s.GetMiniland(It.IsAny <long>())).Returns(new Miniland { MapInstanceId = TestHelpers.Instance.MinilandId, State = MinilandState.Private }); _mjoinPacketHandler.Execute(mjoinPacket, _session); Assert.IsTrue(_session.Character.MapInstance.Map.MapId == 20001); }
/// <summary> /// mjoin packet /// </summary> /// <param name="mJoinPacket"></param> public void JoinMiniland(MJoinPacket mJoinPacket) { if (Session.CurrentMapInstance.MapInstanceType != MapInstanceType.BaseMapInstance && Session.CurrentMapInstance.MapInstanceType != MapInstanceType.Act4Instance) { Session.SendPacket(UserInterfaceHelper.Instance.GenerateMsg(Language.Instance.GetMessageFromKey("MUST_BE_IN_CLASSIC_MAP"), 0)); return; } ClientSession sess = ServerManager.Instance.GetSessionByCharacterId(mJoinPacket.CharacterId); if (sess?.Character != null) { if (sess.Character.MinilandState == MinilandState.OPEN) { ServerManager.Instance.JoinMiniland(Session, sess); } else { Session.SendPacket(UserInterfaceHelper.Instance.GenerateInfo(Language.Instance.GetMessageFromKey("MINILAND_CLOSED_BY_FRIEND"))); } } }