public ShopItem(int uid, bool auto_preview_equip, string category, byte flag, int guild_trophy, int item_id, byte item_rank, int price, short quantity, int required_achievement_grade, int required_achievement_id, byte required_championship_grade, short required_championship_join_count, int required_fame_grade, short required_guild_merchant_level, byte required_guild_merchant_type, int required_item_id, short required_quest_alliance, int sale_price, int stock_count, int stock_purchased, string template_name, byte token_type) { Uid = uid; AutoPreviewEquip = auto_preview_equip; Category = category; Flag = (ShopItemFlag)flag; GuildTrophy = guild_trophy; ItemId = item_id; ItemRank = item_rank; Price = price; RequiredAchievementGrade = required_achievement_grade; RequiredAchievementId = required_achievement_id; RequiredChampionshipGrade = required_championship_grade; RequiredChampionshipJoinCount = required_championship_join_count; RequiredFameGrade = required_fame_grade; RequiredGuildMerchantLevel = required_guild_merchant_level; RequiredGuildMerchantType = required_guild_merchant_type; RequiredItemId = required_item_id; RequiredQuestAlliance = required_quest_alliance; SalePrice = sale_price; StockCount = stock_count; StockPurchased = stock_purchased; TemplateName = template_name; TokenType = (ShopCurrencyType)token_type; Quantity = quantity; }
public ShopItem(dynamic data) { Uid = data.uid; AutoPreviewEquip = data.auto_preview_equip; Category = data.category; Flag = (ShopItemFlag)data.flag; GuildTrophy = data.guild_trophy; ItemId = data.item_id; ItemRank = data.item_rank; Price = data.price; RequiredAchievementGrade = data.required_achievement_grade; RequiredAchievementId = data.required_achievement_id; RequiredChampionshipGrade = data.required_championship_grade; RequiredChampionshipJoinCount = data.required_championship_join_count; RequiredFameGrade = data.required_fame_grade; RequiredGuildMerchantLevel = data.required_guild_merchant_level; RequiredGuildMerchantType = data.required_guild_merchant_type; RequiredItemId = data.required_item_id; RequiredQuestAlliance = data.required_quest_alliance; SalePrice = data.sale_price; StockCount = data.stock_count; StockPurchased = data.stock_purchased; TemplateName = data.template_name; TokenType = (ShopCurrencyType)data.token_type; Quantity = data.quantity; }
public static Packet Buy(int itemId, int quantity, int price, ShopCurrencyType shopCurrencyType) { PacketWriter pWriter = PacketWriter.Of(SendOp.SHOP); pWriter.WriteEnum(ShopMode.Buy); pWriter.WriteInt(itemId); pWriter.WriteInt(quantity); pWriter.WriteInt(price * quantity); pWriter.WriteEnum(shopCurrencyType); pWriter.WriteByte(); return(pWriter); }
public BeautyShopItem(dynamic data) { Uid = data.uid; ItemId = data.item_id; Gender = (Gender)data.gender; Flag = (ShopItemFlag)data.flag; RequiredLevel = data.required_level; RequiredAchievementId = data.required_achievement_id; RequiredAchievementGrade = (byte)data.required_achievement_grade; RequiredItemId = data.required_item_id; CurrencyType = (ShopCurrencyType)data.currency_type; CurrencyCost = data.currency_cost; }
public BeautyShop(dynamic data, List <BeautyShopItem> items) { Id = data.id; UniqueId = data.unique_id; BeautyCategory = (BeautyCategory)data.beauty_category; BeautyType = (BeautyShopType)data.beauty_type; VoucherId = data.voucher_id; CurrencyType = (ShopCurrencyType)data.currency_type; CurrencyCost = data.currency_cost; RequiredItemId = data.required_item_id; SpecialCost = data.special_cost; Items = items; }
private static bool Pay(GameSession session, ShopCurrencyType type, int tokenCost, int requiredItemId) { switch (type) { case ShopCurrencyType.Meso: return(session.Player.Wallet.Meso.Modify(-tokenCost)); case ShopCurrencyType.ValorToken: return(session.Player.Wallet.ValorToken.Modify(-tokenCost)); case ShopCurrencyType.Treva: return(session.Player.Wallet.Treva.Modify(-tokenCost)); case ShopCurrencyType.Rue: return(session.Player.Wallet.Rue.Modify(-tokenCost)); case ShopCurrencyType.HaviFruit: return(session.Player.Wallet.HaviFruit.Modify(-tokenCost)); case ShopCurrencyType.Meret: case ShopCurrencyType.GameMeret: case ShopCurrencyType.EventMeret: return(session.Player.Account.RemoveMerets(tokenCost)); case ShopCurrencyType.Item: Item itemCost = session.Player.Inventory.GetById(requiredItemId); if (itemCost == null) { return(false); } if (itemCost.Amount < tokenCost) { return(false); } session.Player.Inventory.ConsumeItem(session, itemCost.Uid, tokenCost); return(true); default: session.SendNotice($"Unknown currency: {type}"); return(false); } }
private static bool Pay(GameSession session, ShopCurrencyType type, int tokenCost, int requiredItemId) { switch (type) { case ShopCurrencyType.Meso: if (!session.Player.Wallet.Meso.Modify(-tokenCost)) { return(false); } break; case ShopCurrencyType.ValorToken: if (!session.Player.Wallet.ValorToken.Modify(-tokenCost)) { return(false); } break; case ShopCurrencyType.Treva: if (!session.Player.Wallet.Treva.Modify(-tokenCost)) { return(false); } break; case ShopCurrencyType.Rue: if (!session.Player.Wallet.Rue.Modify(-tokenCost)) { return(false); } break; case ShopCurrencyType.HaviFruit: if (!session.Player.Wallet.HaviFruit.Modify(-tokenCost)) { return(false); } break; case ShopCurrencyType.Meret: case ShopCurrencyType.GameMeret: case ShopCurrencyType.EventMeret: if (!session.Player.Wallet.RemoveMerets(tokenCost)) { return(false); } break; case ShopCurrencyType.Item: Item itemCost = session.Player.Inventory.Items.FirstOrDefault(x => x.Value.Id == requiredItemId).Value; if (itemCost.Amount < tokenCost) { return(false); } InventoryController.Consume(session, itemCost.Uid, tokenCost); break; default: session.SendNotice($"Unknown currency: {type}"); return(false); } return(true); }