Esempio n. 1
0
        public async Task SetupAsync()
        {
            SystemTime.Freeze();
            _session = await TestHelpers.Instance.GenerateSessionAsync().ConfigureAwait(false);

            _item            = TestHelpers.Instance.GenerateItemProvider();
            _biPacketHandler = new BiPacketHandler(Logger);
        }
 public void Setup()
 {
     SystemTime.Freeze();
     TestHelpers.Reset();
     _item             = TestHelpers.Instance.GenerateItemProvider();
     _session          = TestHelpers.Instance.GenerateSession();
     _putPacketHandler = new PutPacketHandler(_session.WorldConfiguration);
 }
 public void Setup()
 {
     SystemTime.Freeze();
     TestHelpers.Reset();
     _item    = TestHelpers.Instance.GenerateItemProvider();
     _session = TestHelpers.Instance.GenerateSession();
     _spTransformPacketHandler = new SpTransformPacketHandler();
 }
Esempio n. 4
0
 public void Setup()
 {
     SystemTime.Freeze();
     _session          = TestHelpers.Instance.GenerateSession();
     _item             = TestHelpers.Instance.GenerateItemProvider();
     _mailHttpClient   = new Mock <IMailHttpClient>();
     _itemInstanceDao  = new Mock <IGenericDao <IItemInstanceDto> >();
     _pclPacketHandler = new PclPacketHandler(_mailHttpClient.Object, _item, _itemInstanceDao.Object);
 }
Esempio n. 5
0
        public async Task SetupAsync()
        {
            SystemTime.Freeze();
            await TestHelpers.ResetAsync().ConfigureAwait(false);

            _item    = TestHelpers.Instance.GenerateItemProvider();
            _session = await TestHelpers.Instance.GenerateSessionAsync().ConfigureAwait(false);

            _putPacketHandler = new PutPacketHandler(_session.WorldConfiguration);
        }
Esempio n. 6
0
        public async Task SetupAsync()
        {
            SystemTime.Freeze();
            await TestHelpers.ResetAsync().ConfigureAwait(false);

            _item    = TestHelpers.Instance.GenerateItemProvider();
            _session = await TestHelpers.Instance.GenerateSessionAsync().ConfigureAwait(false);

            _getPacketHandler = new GetPacketHandler(Logger, TestHelpers.Instance.DistanceCalculator);
        }
Esempio n. 7
0
 public void Setup()
 {
     _session     = TestHelpers.Instance.GenerateSession();
     _item        = TestHelpers.Instance.GenerateItemProvider();
     _nRunHandler = new NrunPacketHandler(Logger, new NrunProvider(
                                              new List <IEventHandler <Tuple <IAliveEntity, NrunPacket>, Tuple <IAliveEntity, NrunPacket> > >
     {
         new ChangeClassEventHandler()
     }));
 }
Esempio n. 8
0
        public async Task SetupAsync()
        {
            await TestHelpers.ResetAsync().ConfigureAwait(false);

            SystemTime.Freeze();
            _session = await TestHelpers.Instance.GenerateSessionAsync().ConfigureAwait(false);

            _item             = TestHelpers.Instance.GenerateItemProvider();
            _mailHttpClient   = new Mock <IMailHttpClient>();
            _itemInstanceDao  = new Mock <IDao <IItemInstanceDto?, Guid> >();
            _pclPacketHandler = new PclPacketHandler(_mailHttpClient.Object, _item, _itemInstanceDao.Object);
        }
Esempio n. 9
0
 public MapNpc(IItemProvider?itemProvider, IDao <ShopDto, int>?shops,
               IDao <ShopItemDto, int>?shopItems,
               List <NpcMonsterDto>?npcMonsters, ILogger logger, List <NpcTalkDto> npcTalks)
 {
     _npcMonsters  = npcMonsters;
     _npcTalks     = npcTalks;
     _shops        = shops;
     _shopItems    = shopItems;
     _itemProvider = itemProvider;
     _logger       = logger;
     Requests      = new Subject <RequestData>();
 }
Esempio n. 10
0
        public async Task SetupAsync()
        {
            await TestHelpers.ResetAsync().ConfigureAwait(false);

            _session = await TestHelpers.Instance.GenerateSessionAsync().ConfigureAwait(false);

            _item        = TestHelpers.Instance.GenerateItemProvider();
            _nRunHandler = new NrunPacketHandler(Logger, new NrunProvider(
                                                     new List <IEventHandler <Tuple <IAliveEntity, NrunPacket>, Tuple <IAliveEntity, NrunPacket> > >
            {
                new ChangeClassEventHandler()
            }));
        }
Esempio n. 11
0
        public void Setup()
        {
            var items = new List <ItemDto>
            {
                new Item {
                    VNum = 1, ItemType = ItemType.Title, EffectValue = 0, Type = NoscorePocketType.Main
                },
            };

            _itemProvider = new ItemProvider(items,
                                             new List <IEventHandler <Item, Tuple <InventoryItemInstance, UseItemPacket> > >());

            Session = TestHelpers.Instance.GenerateSession();
            Handler = new TitleGuriHandler();
        }
Esempio n. 12
0
        public async Task SetupAsync()
        {
            var items = new List <ItemDto>
            {
                new Item {
                    VNum = 1, ItemType = ItemType.Title, EffectValue = 0, Type = NoscorePocketType.Main
                },
            };

            _itemProvider = new ItemProvider(items,
                                             new List <IEventHandler <Item, Tuple <InventoryItemInstance, UseItemPacket> > >());

            Session = await TestHelpers.Instance.GenerateSessionAsync().ConfigureAwait(false);

            Handler = new TitleGuriHandler();
        }
Esempio n. 13
0
        public void Setup()
        {
            var items = new List <ItemDto>
            {
                new Item {
                    VNum = 1, ItemType = ItemType.Magical, Type = NoscorePocketType.Etc, Effect = ItemEffectType.Speaker
                },
            };

            _itemProvider = new ItemProvider(items,
                                             new List <IEventHandler <Item, Tuple <InventoryItemInstance, UseItemPacket> > >());

            Session = TestHelpers.Instance.GenerateSession();
            _logger = new Mock <ILogger>();
            Handler = new SpeakerGuriHandler(_logger.Object);
            Broadcaster.Instance.LastPackets.Clear();
        }
Esempio n. 14
0
        public async Task Test_Wear_Put_Item_BadGenderAsync(GenderType genderToTest)
        {
            _session !.Character.Gender = genderToTest;
            var items = new List <ItemDto>
            {
                new Item
                {
                    Type = NoscorePocketType.Equipment, VNum = 1, EquipmentSlot = EquipmentType.MainWeapon,
                    Sex  = (byte)(3 - Math.Pow(2, (byte)genderToTest))
                }
            };

            _item = new ItemProvider(items,
                                     new List <IEventHandler <Item, Tuple <InventoryItemInstance, UseItemPacket> > >
            {
                new WearEventHandler(Logger)
            });

            _session.Character.InventoryService !.AddItemToPocket(InventoryItemInstance.Create(_item.Create(1, 1),
                                                                                               _session.Character.CharacterId));
            await _wearPacketHandler !.ExecuteAsync(new WearPacket {
                InventorySlot = 0, Type = PocketType.Equipment
            }, _session).ConfigureAwait(false);

            Assert.IsTrue(_session.Character.InventoryService.All(s => s.Value.Type == NoscorePocketType.Equipment));
            var packet = (SayPacket?)_session.LastPackets.FirstOrDefault(s => s is SayPacket);

            Assert.IsTrue((packet?.Message == GameLanguage.Instance.GetMessageFromKey(LanguageKey.BAD_EQUIPMENT,
                                                                                      _session.Account.Language)) && (packet.Type == SayColorType.Yellow));

            foreach (var validClass in Enum.GetValues(typeof(GenderType)).OfType <GenderType>()
                     .Where(s => s != genderToTest).ToList())
            {
                _session.Character.Gender = validClass;
                var item = _session.Character.InventoryService.First();
                await _wearPacketHandler.ExecuteAsync(new WearPacket { InventorySlot = 0, Type = PocketType.Equipment }, _session).ConfigureAwait(false);

                Assert.IsTrue(item.Value.Type == NoscorePocketType.Wear);
                item.Value.Type = NoscorePocketType.Equipment;
                item.Value.Slot = 0;
            }
        }
Esempio n. 15
0
        public async Task Test_Wear_WearFairy_SpUseBadElementAsync()
        {
            var items = new List <ItemDto>
            {
                new Item
                {
                    Type    = NoscorePocketType.Equipment, VNum = 1, EquipmentSlot = EquipmentType.Fairy,
                    Element = ElementType.Light
                },
                new Item
                {
                    Type             = NoscorePocketType.Equipment, VNum = 2, EquipmentSlot = EquipmentType.Sp,
                    Element          = ElementType.Fire,
                    SecondaryElement = ElementType.Water
                }
            };

            _item = new ItemProvider(items,
                                     new List <IEventHandler <Item, Tuple <InventoryItemInstance, UseItemPacket> > >
            {
                new WearEventHandler(Logger)
            });

            _session !.Character.InventoryService !.AddItemToPocket(InventoryItemInstance.Create(_item.Create(1, 1),
                                                                                                 _session.Character.CharacterId));
            _session.Character.InventoryService.AddItemToPocket(InventoryItemInstance.Create(_item.Create(2, 1),
                                                                                             _session.Character.CharacterId));
            await _wearPacketHandler !.ExecuteAsync(new WearPacket {
                InventorySlot = 1, Type = PocketType.Equipment
            }, _session).ConfigureAwait(false);

            _session.Character.UseSp = true;
            await _wearPacketHandler.ExecuteAsync(new WearPacket { InventorySlot = 0, Type = PocketType.Equipment }, _session).ConfigureAwait(false);

            Assert.IsTrue(_session.Character.InventoryService.Any(s =>
                                                                  (s.Value.ItemInstance !.ItemVNum == 1) && (s.Value.Type == NoscorePocketType.Equipment)));
            var packet = (MsgPacket?)_session.LastPackets.FirstOrDefault(s => s is MsgPacket);

            Assert.IsTrue(packet?.Message == GameLanguage.Instance.GetMessageFromKey(LanguageKey.BAD_FAIRY,
                                                                                     _session.Account.Language));
        }
Esempio n. 16
0
        public async Task Test_Wear_SpInLoadingAsync()
        {
            _session !.Character.HeroLevel = 1;
            var items = new List <ItemDto>
            {
                new Item
                {
                    Type          = NoscorePocketType.Equipment, VNum = 1,
                    EquipmentSlot = EquipmentType.Sp
                },
                new Item
                {
                    Type          = NoscorePocketType.Equipment, VNum = 2,
                    EquipmentSlot = EquipmentType.Sp
                }
            };

            _item = new ItemProvider(items,
                                     new List <IEventHandler <Item, Tuple <InventoryItemInstance, UseItemPacket> > >
            {
                new WearEventHandler(Logger)
            });
            _session.Character.InventoryService !.AddItemToPocket(InventoryItemInstance.Create(_item.Create(1, 1),
                                                                                               _session.Character.CharacterId));
            _session.Character.InventoryService.AddItemToPocket(InventoryItemInstance.Create(_item.Create(2, 1),
                                                                                             _session.Character.CharacterId));
            await _wearPacketHandler !.ExecuteAsync(new WearPacket {
                InventorySlot = 0, Type = PocketType.Equipment
            }, _session).ConfigureAwait(false);

            _session.Character.SpCooldown = 30;
            await _wearPacketHandler.ExecuteAsync(new WearPacket { InventorySlot = 1, Type = PocketType.Equipment }, _session).ConfigureAwait(false);

            Assert.IsTrue(_session.Character.InventoryService.Any(s =>
                                                                  (s.Value.ItemInstance !.ItemVNum == 2) && (s.Value.Type == NoscorePocketType.Equipment)));
            var packet = (MsgPacket?)_session.LastPackets.FirstOrDefault(s => s is MsgPacket);

            Assert.IsTrue(packet?.Message ==
                          string.Format(GameLanguage.Instance.GetMessageFromKey(LanguageKey.SP_INLOADING, _session.Account.Language),
                                        30));
        }
Esempio n. 17
0
        public async Task Test_Wear_WearFairy_SpUseGoodSecondElementAsync()
        {
            var items = new List <ItemDto>
            {
                new Item
                {
                    Type    = NoscorePocketType.Equipment, VNum = 1, EquipmentSlot = EquipmentType.Fairy,
                    Element = ElementType.Water
                },
                new Item
                {
                    Type             = NoscorePocketType.Equipment, VNum = 2, EquipmentSlot = EquipmentType.Sp,
                    Element          = ElementType.Fire,
                    SecondaryElement = ElementType.Water
                }
            };

            _item = new ItemProvider(items,
                                     new List <IEventHandler <Item, Tuple <InventoryItemInstance, UseItemPacket> > >
            {
                new WearEventHandler(Logger)
            });

            _session !.Character.InventoryService !.AddItemToPocket(InventoryItemInstance.Create(_item.Create(1, 1),
                                                                                                 _session.Character.CharacterId));
            _session.Character.InventoryService.AddItemToPocket(InventoryItemInstance.Create(_item.Create(2, 1),
                                                                                             _session.Character.CharacterId));
            await _wearPacketHandler !.ExecuteAsync(new WearPacket {
                InventorySlot = 1, Type = PocketType.Equipment
            }, _session).ConfigureAwait(false);

            _session.Character.UseSp = true;
            await _wearPacketHandler !.ExecuteAsync(new WearPacket {
                InventorySlot = 0, Type = PocketType.Equipment
            }, _session).ConfigureAwait(false);

            Assert.IsTrue(
                _session.Character.InventoryService.Any(s =>
                                                        (s.Value.ItemInstance?.ItemVNum == 1) && (s.Value.Type == NoscorePocketType.Wear)));
        }
Esempio n. 18
0
        public async Task Test_Wear_SpInUseAsync()
        {
            _session !.Character.HeroLevel = 1;
            var items = new List <ItemDto>
            {
                new Item
                {
                    Type          = NoscorePocketType.Equipment, VNum = 1,
                    EquipmentSlot = EquipmentType.Sp
                },
                new Item
                {
                    Type          = NoscorePocketType.Equipment, VNum = 2,
                    EquipmentSlot = EquipmentType.Sp
                }
            };

            _item = new ItemProvider(items,
                                     new List <IEventHandler <Item, Tuple <InventoryItemInstance, UseItemPacket> > >
            {
                new WearEventHandler(Logger)
            }, Logger);
            _session.Character.InventoryService !.AddItemToPocket(InventoryItemInstance.Create(_item.Create(1, 1),
                                                                                               _session.Character.CharacterId));
            _session.Character.InventoryService.AddItemToPocket(InventoryItemInstance.Create(_item.Create(2, 1),
                                                                                             _session.Character.CharacterId));
            await _wearPacketHandler !.ExecuteAsync(new WearPacket {
                InventorySlot = 0, Type = PocketType.Equipment
            }, _session).ConfigureAwait(false);

            _session.Character.UseSp = true;
            await _wearPacketHandler.ExecuteAsync(new WearPacket { InventorySlot = 1, Type = PocketType.Equipment }, _session).ConfigureAwait(false);

            Assert.IsTrue(_session.Character.InventoryService.Any(s =>
                                                                  (s.Value.ItemInstance !.ItemVNum == 2) && (s.Value.Type == NoscorePocketType.Equipment)));
            var packet = (SayPacket?)_session.LastPackets.FirstOrDefault(s => s is SayPacket);

            Assert.IsTrue((packet?.Message == GameLanguage.Instance.GetMessageFromKey(LanguageKey.SP_BLOCKED,
                                                                                      _session.Account.Language)) && (packet.Type == SayColorType.Yellow));
        }