private static void HandleOpen(GameSession session, PacketReader packet) { int itemId = packet.ReadInt(); Item item = session.Player.Inventory.Items.Values.FirstOrDefault(x => x.Id == itemId); if (item == null) { return; } ShopMetadata shop = ShopMetadataStorage.GetShop(item.ShopID); if (shop == null) { Console.WriteLine($"Unknown shop ID: {item.ShopID}"); return; } session.Send(ShopPacket.Open(shop)); foreach (ShopItem shopItem in shop.Items) { session.Send(ShopPacket.LoadProducts(shopItem)); } session.Send(ShopPacket.Reload()); session.Send(SystemShopPacket.Open()); }
private static void HandleViaItem(GameSession session, PacketReader packet) { bool openShop = packet.ReadBool(); if (!openShop) { return; } int itemId = packet.ReadInt(); Item item = session.Player.Inventory.Items.Values.FirstOrDefault(x => x.Id == itemId); if (item == null) { return; } Shop shop = DatabaseManager.Shops.FindById(item.ShopID); if (shop == null) { Logger.Warn($"Unknown shop ID: {item.ShopID}"); return; } session.Send(ShopPacket.Open(shop)); foreach (ShopItem shopItem in shop.Items) { session.Send(ShopPacket.LoadProducts(shopItem)); } session.Send(ShopPacket.Reload()); session.Send(SystemShopPacket.Open()); }
private static void OpenSystemShop(GameSession session, int shopId) { Shop shop = DatabaseManager.Shops.FindById(shopId); session.Send(ShopPacket.Open(shop)); foreach (ShopItem shopItem in shop.Items) { session.Send(ShopPacket.LoadProducts(shopItem)); } session.Send(ShopPacket.Reload()); session.Send(SystemShopPacket.Open()); }
private static void HandleMapleArenaShop(GameSession session, PacketReader packet) { bool openShop = packet.ReadBool(); if (!openShop) { return; } Shop shop = DatabaseManager.GetShop(168); session.Send(ShopPacket.Open(shop)); foreach (ShopItem shopItem in shop.Items) { session.Send(ShopPacket.LoadProducts(shopItem)); } session.Send(ShopPacket.Reload()); session.Send(SystemShopPacket.Open()); }
public static void OpenSystemShop(GameSession session, int shopId, int npcId) { Shop shop = DatabaseManager.Shops.FindById(shopId); if (shop is null) { Log.Logger.ForContext(typeof(ShopHelper)).Warning("Unknown shop ID: {shopID}", shopId); return; } session.Send(ShopPacket.Open(shop, npcId)); foreach (ShopItem shopItem in shop.Items) { session.Send(ShopPacket.LoadProducts(shopItem)); } session.Send(ShopPacket.Reload()); session.Send(SystemShopPacket.Open()); }
private static void HandleOpen(GameSession session, PacketReader packet) { int itemId = packet.ReadInt(); List <Item> playerInventory = new(session.Player.Inventory.Items.Values); Item item = playerInventory.FirstOrDefault(x => x.Id == itemId); if (item == null) { return; } ShopMetadata shop = ShopMetadataStorage.GetShop(item.ShopID); session.Send(ShopPacket.Open(shop)); session.Send(ShopPacket.LoadProducts(shop.Items)); session.Send(ShopPacket.Reload()); session.Send(SystemShopPacket.Open()); }