Пример #1
0
    private static void HandleUpdateCatalysts(GameSession session, PacketReader packet)
    {
        long itemUid     = packet.ReadLong();
        bool addCatalyst = packet.ReadBool();

        if (!session.Player.Inventory.HasItem(itemUid) && !session.Player.Inventory.ItemIsEquipped(itemUid))
        {
            return;
        }

        ItemEnchant itemEnchant = session.Player.ItemEnchant;

        if (itemEnchant is null)
        {
            return;
        }

        if (!itemEnchant.UpdateAdditionalCatalysts(itemUid, addCatalyst))
        {
            EnchantHelper.ExcessCatalystError(session, itemEnchant);
            return;
        }

        session.Send(ItemEnchantPacket.UpdateCharges(itemEnchant));
    }