private static void HandleNewBeauty(GameSession session, PacketReader packet) { byte unk = packet.ReadByte(); bool useVoucher = packet.ReadBool(); int beautyItemId = packet.ReadInt(); EquipColor equipColor = packet.Read <EquipColor>(); Item beautyItem = new Item(beautyItemId) { Color = equipColor, IsTemplate = false }; BeautyMetadata beautyShop = BeautyMetadataStorage.GetCosmeticShopByItemId(beautyItem.Id); if (useVoucher) { if (!PayWithVoucher(session, beautyShop)) { return; } } else { if (!PayWithShopItemTokenCost(session, beautyItemId)) { return; } } ModifyBeauty(session, packet, beautyItem); }
private static void HandleModifyExistingBeauty(GameSession session, PacketReader packet) { byte unk = packet.ReadByte(); bool useVoucher = packet.ReadBool(); long beautyItemUid = packet.ReadLong(); EquipColor equipColor = packet.Read <EquipColor>(); Item beautyItem = session.Player.GetEquippedItem(beautyItemUid); if (beautyItem.ItemSlot == ItemSlot.CP) { HatData hatData = packet.Read <HatData>(); beautyItem.HatD = hatData; session.FieldManager.BroadcastPacket(ItemExtraDataPacket.Update(session.FieldPlayer, beautyItem)); return; } BeautyMetadata beautyShop = BeautyMetadataStorage.GetCosmeticShopByItemId(beautyItem.Id); if (!HandleShopPay(session, beautyShop, useVoucher)) { return; } beautyItem.Color = equipColor; ModifyBeauty(session, packet, beautyItem); }
private static bool PayWithShopItemTokenCost(GameSession session, int beautyItemId) { BeautyMetadata beautyShop = BeautyMetadataStorage.GetCosmeticShopByItemId(beautyItemId); BeautyItem item = beautyShop.Items.FirstOrDefault(x => x.ItemId == beautyItemId); if (!Pay(session, item.TokenType, item.TokenCost, item.RequiredItemId)) { return(false); } return(true); }
private static void HandleModifyExistingBeauty(GameSession session, PacketReader packet) { byte unk = packet.ReadByte(); bool useVoucher = packet.ReadBool(); long beautyItemUid = packet.ReadLong(); EquipColor equipColor = packet.Read <EquipColor>(); int colorIndex = packet.ReadInt(); Item beautyItem = session.Player.Equips.FirstOrDefault(x => x.Value.Uid == beautyItemUid).Value; BeautyMetadata beautyShop = BeautyMetadataStorage.GetCosmeticShopByItemId(beautyItem.Id); if (!HandleShopPay(session, beautyShop, useVoucher)) { return; } beautyItem.Color = equipColor; ModifyBeauty(session, packet, beautyItem); }