-- HousingDecorGuide - In-Game Shop Database
-- Seeded 2026-04-17 from a live C_CatalogShop capture via ProfTools -> Housing API -> Export ShopDB.
-- Virtual vendor (no physical NPC) representing the Hearthsteel cash shop and real-money bundles.
--
-- Schema:
--   HDG_ShopDB.vendor   = top-level metadata for the virtual "In-Game Shop" row
--   HDG_ShopDB.items    = { [itemID] = { productID, cost?, moneyCost?, bundleOnly?, quantity? } }
--   HDG_ShopDB.bundles  = { [bundleKey] = { name, productID, cost?, moneyCost?, contents = {[itemID]=qty} } }
--
-- Item fields:
--   productID  = C_CatalogShop product ID (stable, lets a runtime resolver fetch live data)
--   cost       = Hearthsteel amount per purchase (integer)
--   moneyCost  = real-money localized price string (e.g. "A$40") when no Hearthsteel path
--   bundleOnly = true when item has no individual purchase (only via bundle contents)
--   quantity   = items granted per purchase (default 1)
--
-- Bundle fields:
--   productID  = C_CatalogShop bundle productID (used as the bundle key too)
--   cost       = Hearthsteel amount
--   moneyCost  = real-money localized price string
--   contents   = { [itemID] = quantity }
--
-- HDG_VendorResolver synthesizes a HDG_VendorDB entry (npcID=-9001) at load
-- so the By Vendor view can render this row using existing rendering code.
-- Bundle-letter assignment and item→bundle mapping are derived at runtime from
-- HDG_ShopDB.bundles[].contents; items do not need to declare their bundles.

HDG_ShopDB = {
    vendor = {
        npcID = -9001,
        name = "In-Game Shop",
        zone = "In-Game Shop",
        faction = "N",
        expansion = "Midnight",
        added = 1770000000,
        note = "Cash-shop items purchased with Hearthsteel or real money.",
    },

    items = {
        -- Expansion Edition exclusive decor (Midnight Epic Edition bundles)
        [244668] = { productID = 1959841, bundleOnly = true },                     -- Light-Infused Fountain
        [245939] = { productID = 1959842, bundleOnly = true },                     -- Void-Corrupted Fountain
        [246414] = { productID = 1959839, bundleOnly = true },                     -- Light-Infused Rotunda
        [248809] = { productID = 1959840, bundleOnly = true },                     -- Void-Corrupted Rotunda
        [252666] = { productID = 1959843, bundleOnly = true },                     -- "The High Exarch" Painting
        [252667] = { productID = 1959854, bundleOnly = true },                     -- "The Ranger-General" Painting
        [252668] = { productID = 1959865, bundleOnly = true },                     -- "The Harbinger" Painting
        [252669] = { productID = 1959844, bundleOnly = true },                     -- "The Redeemer" Painting

        -- Lush Garden set (Hearthsteel direct-buy; most also in Lush Garden Decor Pack)
        [250793] = { productID = 2055279, cost = 250, quantity = 2 },              -- Lush Garden Trellis
        [250794] = { productID = 2055260, cost = 10,  quantity = 4 },              -- Colorful Shroomic Egg
        [250795] = { productID = 2055257, cost = 10,  quantity = 4 },              -- Colorful Dotted Egg
        [250796] = { productID = 2055245, cost = 10,  quantity = 4 },              -- Colorful Striped Egg
        [252419] = { productID = 2055266, cost = 250, quantity = 2 },              -- Lush Garden Fungal Basin
        [253546] = { productID = 2055263, cost = 100, quantity = 4 },              -- Lush Garden Butterfly Sconce
        [258294] = { productID = 2055249, cost = 50,  quantity = 8 },              -- Lush Garden Gnome-Like Statue
        [258567] = { productID = 2055269, cost = 250, quantity = 4 },              -- Lush Garden Fungal Chair
        [258888] = { productID = 2055270, cost = 500 },                            -- Lush Garden Fungal Fountain

        -- Spring Blossom set (Hearthsteel direct-buy; most also in Spring Blossom Decor Pack)
        [250797] = { productID = 2056388, cost = 100, quantity = 4 },              -- Spring Blossom Ceiling Light
        [250798] = { productID = 2056391, cost = 250, quantity = 2 },              -- Spring Blossom Shelf
        [253547] = { productID = 2056383, cost = 100, quantity = 4 },              -- Spring Blossom Wreath
        [254417] = { productID = 2056378, cost = 250, quantity = 4 },              -- Spring Blossom Hanging Chair
        [258568] = { productID = 2056397, cost = 100, quantity = 4 },              -- Spring Blossom Window
        [258569] = { productID = 2055224, cost = 800 },                            -- Spring Blossom Gazebo
        [263290] = { productID = 2072907, cost = 250, quantity = 3 },              -- Spring Blossom Tree

        -- Doormats (Hearthsteel direct-buy; also in Small Starter Decor Pack)
        [260727] = { productID = 2052029, cost = 200 },                            -- Alliance Doormat
        [260728] = { productID = 2052675, cost = 200 },                            -- Horde Doormat

        -- Beloved Plushies (Hearthsteel direct-buy)
        [263052] = { productID = 2027236, cost = 100, quantity = 4 },              -- Beloved Lion Plushie
        [263053] = { productID = 2027255, cost = 100, quantity = 4 },              -- Beloved Wolf Plushie

        -- Roofus Pack exclusive decor (real-money bundle only)
        [259044] = { productID = 2045008, bundleOnly = true },                     -- Paw Pal Water Dish
        [259045] = { productID = 2045010, bundleOnly = true },                     -- Paw Pal Bed and Blanket
        [259046] = { productID = 2045009, bundleOnly = true },                     -- Paw Pal Bed
        [259093] = { productID = 2045007, bundleOnly = true },                     -- Paw Pal Dog House Frame
        [259094] = { productID = 2045005, bundleOnly = true },                     -- Paw Pal Dog House Elwynn Roof
        [264275] = { productID = 2045003, bundleOnly = true },                     -- Paw Pal Dog House Durotar Roof
        [264276] = { productID = 2045004, bundleOnly = true },                     -- Paw Pal Dog House Eversong Roof
        [264277] = { productID = 2045006, bundleOnly = true },                     -- Paw Pal Dog House Shadowglen Roof
    },

    bundles = {
        [2055239] = {
            name      = "Lush Garden Decor Pack",
            productID = 2055239,
            cost      = 2500,
            contents  = {
                [250793] = 4, [250794] = 16, [250795] = 16, [250796] = 16,
                [252419] = 4, [253546] = 16, [258294] = 64, [258567] = 16, [258888] = 1,
            },
        },
        [2072906] = {
            name      = "Spring Blossom Decor Pack",
            productID = 2072906,
            cost      = 2500,
            contents  = {
                [250797] = 16, [250798] = 4, [253547] = 16,
                [254417] = 16, [258568] = 16, [263290] = 9,
            },
        },
        -- Real-money bundles: no static cost. Localized price ("$9.99" / "€9,99"
        -- / "A$32" etc.) is region-specific, so we leave it blank and let the
        -- runtime overlay fetch C_CatalogShop.GetProductInfo(productID).price
        -- once the shop has been opened. Until then the legend shows "$$$".
        [2045011] = {
            name      = "The Roofus Pack",
            productID = 2045011,
            contents  = {
                [259044] = 1, [259045] = 1, [259046] = 1, [259093] = 1,
                [259094] = 1, [264275] = 1, [264276] = 1, [264277] = 1,
            },
        },
        [2052674] = {
            name      = "Small Starter Decor Pack",
            productID = 2052674,
            contents  = { [260727] = 2, [260728] = 2 },
        },
        [1952444] = {
            name      = "Midnight Epic Edition",
            productID = 1952444,
            contents  = {
                [244668] = 1, [245939] = 1, [246414] = 1, [248809] = 1,
                [252666] = 1, [252667] = 1, [252668] = 1, [252669] = 1,
            },
        },
        -- Midnight Epic Edition Upgrade variants (1952445 A$60 / 1952446 A$30)
        -- are omitted: identical decor contents as the main edition above, just
        -- different tier pricing. Including them would produce empty (c)(d)
        -- bundle letters in the legend.
    },
}
