Module:AlchemyRecipes

From RuneTails
Revision as of 01:37, 13 February 2025 by NES (talk | contribs) (Created page with "local p = {} local categories = { Feather = { 'Clawk Feather (Albino)', 'Clawk Feather (Bliss)', 'Clawk Feather (Ethereal Opal)', 'Clawk Feather (Green)', 'Clawk Feather (Leopard)', 'Clawk Feather (Neon Eclipse)', 'Clawk Feather (Normal)', 'Clawk Feather (Purple)', 'Clawk Feather (Red)', 'Clawk Feather (Yellow)', 'Clawk Feather (Zebra)', 'Macaron Feather (Albino)', 'Macaron Feather (Bliss)', 'Macaron Feather (Blue)', 'Macaron Feather...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:AlchemyRecipes/doc

local p = {}

local categories = {
    Feather = {
        'Clawk Feather (Albino)', 'Clawk Feather (Bliss)', 'Clawk Feather (Ethereal Opal)', 'Clawk Feather (Green)',
        'Clawk Feather (Leopard)', 'Clawk Feather (Neon Eclipse)', 'Clawk Feather (Normal)', 'Clawk Feather (Purple)',
        'Clawk Feather (Red)', 'Clawk Feather (Yellow)', 'Clawk Feather (Zebra)', 'Macaron Feather (Albino)',
        'Macaron Feather (Bliss)', 'Macaron Feather (Blue)', 'Macaron Feather (Ethereal Opal)', 'Macaron Feather (Green)',
        'Macaron Feather (Leopard)', 'Macaron Feather (Neon Eclipse)', 'Macaron Feather (Normal)', 'Macaron Feather (Red)',
        'Macaron Feather (Yellow)', 'Macaron Feather (Zebra)'
    },
    AirFeather = {
        'Clawk Air Feather', 'Macaron Air Feather'
    },
}

p.recipes = {
-- LEVEL 1 RECIPES

    {
        Prod1Img = 'AlchemyEssence.png',
        Prod1Qty = 1,
        Prod1Name = 'Alchemy Essence',
        Mat1Img = 'BatWing.png',
        Mat1Qty = 1,
        Mat1Name = 'Bat Wing',
        Mat2Img = 'PrismScales.png',
        Mat2Qty = 1,
        Mat2Name = 'Prism Scales',
        Mat3Img = 'Runesap.png',
        Mat3Qty = 1,
        Mat3Name = 'Runesap',
        LvlReq = 1,
        Exp = 0,
        SellValue = '[Unknown]'
    },
    {
        Prod1Img = 'FishingEssence.png',
        Prod1Qty = 1,
        Prod1Name = 'Fishing Essence',
        Mat1Img = 'Pearl.png',
        Mat1Qty = 1,
        Mat1Name = 'Pearl',
        Mat2Img = 'AbyssalSword.png',
        Mat2Qty = 1,
        Mat2Name = 'Abyssal Sword',
        Mat3Img = 'Runesap.png',
        Mat3Qty = 1,
        Mat3Name = 'Runesap',
        LvlReq = 1,
        Exp = 0,
        SellValue = '[Unknown]'
    },
    {
        Prod1Img = 'ForagingEssence.png',
        Prod1Qty = 1,
        Prod1Name = 'Foraging Essence',
        Mat1Img = 'MistFlower.png',
        Mat1Qty = 1,
        Mat1Name = 'Mist Flower',
        Mat2Img = 'AncientBottle.png',
        Mat2Qty = 1,
        Mat2Name = 'Ancient Bottle',
        Mat3Img = 'MonsterEye.png',
        Mat3Qty = 1,
        Mat3Name = 'Monster Eye',
        Mat4Img = 'Runesap.png',
        Mat4Qty = 1,
        Mat4Name = 'Runesap',
        LvlReq = 1,
        Exp = 0,
        SellValue = '[Unknown]'
    },
    {
        Prod1Img = 'HealthLvl1.png',
        Prod1Qty = 1,
        Prod1Name = 'HP Potion Lv. 1',
        Mat1Img = 'Mushroom5.png',
        Mat1Qty = 1,
        Mat1Name = 'Emerald Twin-Tip',
        Mat2Img = 'Moss.png',
        Mat2Qty = 1,
        Mat2Name = 'Moss',
        Mat3Img = 'EmptyVial.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Vial',
        LvlReq = 1,
        Exp = 25,
        SellValue = 50
    },
    {
        Prod1Img = 'StaminaRegen.png',
        Prod1Qty = 1,
        Prod1Name = 'Stamina Potion',
        Mat1Img = 'HoneysuckleSwigCup.png',
        Mat1Qty = 1,
        Mat1Name = 'Cup Of Honeysuckle Swig',
        Mat2Img = 'ScalesGold.png',
        Mat2Qty = 1,
        Mat2Name = 'Gold Scales',
        Mat3Img = 'EmptyBottle.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Bottle',
        LvlReq = 1,
        Exp = 50,
        SellValue = 481
    },
    {
        Prod1Img = 'StaminaRegen.png',
        Prod1Qty = 1,
        Prod1Name = 'Stamina Potion',
        Mat1Img = 'LavenderHazeCup.png',
        Mat1Qty = 1,
        Mat1Name = 'Cup Of Lavender Haze',
        Mat2Img = 'ScalesGold.png',
        Mat2Qty = 1,
        Mat2Name = 'Gold Scales',
        Mat3Img = 'EmptyBottle.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Bottle',
        LvlReq = 1,
        Exp = 50,
        SellValue = 481
    },
    {
        Prod1Img = 'StaminaRegen.png',
        Prod1Qty = 1,
        Prod1Name = 'Stamina Potion',
        Mat1Img = 'TulipInfusionCup.png',
        Mat1Qty = 1,
        Mat1Name = 'Cup Of Tulip Infusion',
        Mat2Img = 'ScalesGold.png',
        Mat2Qty = 1,
        Mat2Name = 'Gold Scales',
        Mat3Img = 'EmptyBottle.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Bottle',
        LvlReq = 1,
        Exp = 50,
        SellValue = 481
    },
    {
        Prod1Img = 'StaminaRegen.png',
        Prod1Qty = 1,
        Prod1Name = 'Stamina Potion',
        Mat1Img = 'BerryBlissCup.png',
        Mat1Qty = 1,
        Mat1Name = 'Cup Of Berry Bliss',
        Mat2Img = 'ScalesGold.png',
        Mat2Qty = 1,
        Mat2Name = 'Gold Scales',
        Mat3Img = 'EmptyBottle.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Bottle',
        LvlReq = 1,
        Exp = 50,
        SellValue = 481
    },
    {
        Prod1Img = 'StaminaRegen.png',
        Prod1Qty = 1,
        Prod1Name = 'Stamina Potion',
        Mat1Img = 'SpicefireFizzCup.png',
        Mat1Qty = 1,
        Mat1Name = 'Cup Of Spicefire Fizz',
        Mat2Img = 'ScalesGold.png',
        Mat2Qty = 1,
        Mat2Name = 'Gold Scales',
        Mat3Img = 'EmptyBottle.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Bottle',
        LvlReq = 1,
        Exp = 50,
        SellValue = 481
    },
    {
        Prod1Img = 'StaminaRegen.png',
        Prod1Qty = 1,
        Prod1Name = 'Stamina Potion',
        Mat1Img = 'DaylilySwirlCup.png',
        Mat1Qty = 1,
        Mat1Name = 'Cup Of Daylily Swirl',
        Mat2Img = 'ScalesGold.png',
        Mat2Qty = 1,
        Mat2Name = 'Gold Scales',
        Mat3Img = 'EmptyBottle.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Bottle',
        LvlReq = 1,
        Exp = 50,
        SellValue = 481
    },

-- LEVEL 2 RECIPES

    {
        Prod1Img = 'HealthLvl2.png',
        Prod1Qty = 1,
        Prod1Name = 'HP Potion Lv. 2',
        Mat1Img = 'Mushroom5.png',
        Mat1Qty = 2,
        Mat1Name = 'Emerald Twin-Tip',
        Mat2Img = 'Moss.png',
        Mat2Qty = 1,
        Mat2Name = 'Moss',
        Mat3Img = 'EmptyBottle.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Bottle',
        LvlReq = 2,
        Exp = 45,
        SellValue = 150
    },
    {
        Prod1Img = 'AtkSpeed.png',
        Prod1Qty = 1,
        Prod1Name = 'Attack Speed Potion',
        Mat1Img = 'Mushroom6.png',
        Mat1Qty = 1,
        Mat1Name = 'Cloudy Pink Puff',
        Mat2Img = 'ScalesRuby.png',
        Mat2Qty = 1,
        Mat2Name = 'Ruby Scales',
        Mat3Img = 'EmptyBottle.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Bottle',
        LvlReq = 2,
        Exp = 55,
        SellValue = 215
    },
    {
        Prod1Img = 'Dodge.png',
        Prod1Qty = 1,
        Prod1Name = 'Dodge Potion',
        Mat1Img = 'Mushroom12.png',
        Mat1Qty = 1,
        Mat1Name = 'Cratered Cocoa Cap',
        Mat2Img = 'ScalesJade.png',
        Mat2Qty = 1,
        Mat2Name = 'Jade Scales',
        Mat3Img = 'EmptyBottle.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Bottle',
        LvlReq = 2,
        Exp = 65,
        SellValue = 281
    },

-- LEVEL 3 RECIPES

    {
        Prod1Img = 'CriticalChance.png',
        Prod1Qty = 1,
        Prod1Name = 'Critical Attack Potion',
        Mat1Img = 'Mushroom10.png',
        Mat1Qty = 1,
        Mat1Name = 'Amber Peak',
        Mat2Img = 'ScalesRuby.png',
        Mat2Qty = 1,
        Mat2Name = 'Ruby Scales',
        Mat3Img = 'EmptyBottle.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Bottle',
        LvlReq = 3,
        Exp = 95,
        SellValue = 215
    },
    {
        Prod1Img = 'CombatSpeed.png',
        Prod1Qty = 1,
        Prod1Name = 'Combat Speed Potion',
        Mat1Img = 'FeatherMacaronNormal.png',
        Mat1Qty = 1,
        Mat1Name = ':Category:Feather|Any Feather',
        Mat2Img = 'ScalesGold.png',
        Mat2Qty = 1,
        Mat2Name = 'Gold Scales',
        Mat3Img = 'EmptyBottle.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Bottle',
        LvlReq = 3,
        Exp = 105,
        SellValue = 356
    },

-- LEVEL 4 RECIPES

    {
        Prod1Img = 'Block.png',
        Prod1Qty = 1,
        Prod1Name = 'Block Potion',
        Mat1Img = 'Mushroom4.png',
        Mat1Qty = 1,
        Mat1Name = 'Mystic Mauve Rootshroom',
        Mat2Img = 'ScalesJade.png',
        Mat2Qty = 1,
        Mat2Name = 'Jade Scales',
        Mat3Img = 'EmptyBottle.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Bottle',
        LvlReq = 4,
        Exp = 115,
        SellValue = 281
    },
    {
        Prod1Img = 'AttackDmg.png',
        Prod1Qty = 1,
        Prod1Name = 'Attack Damage Potion',
        Mat1Img = 'Mushroom7.png',
        Mat1Qty = 1,
        Mat1Name = 'Noirbrella Spore',
        Mat2Img = 'ScalesRuby.png',
        Mat2Qty = 1,
        Mat2Name = 'Ruby Scales',
        Mat3Img = 'EmptyBottle.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Bottle',
        LvlReq = 4,
        Exp = 145,
        SellValue = 215
    },

-- LEVEL 5 RECIPES

    {
        Prod1Img = 'HealthLvl3.png',
        Prod1Qty = 1,
        Prod1Name = 'HP Potion Lv. 3',
        Mat1Img = 'Mushroom5.png',
        Mat1Qty = 3,
        Mat1Name = 'Emerald Twin-Tip',
        Mat2Img = 'Moss.png',
        Mat2Qty = 1,
        Mat2Name = 'Moss',
        Mat3Img = 'EmptyBottleMedium.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Medium Bottle',
        LvlReq = 5,
        Exp = 165,
        SellValue = 350
    },
    {
        Prod1Img = 'StaminaRegenLarge.png',
        Prod1Qty = 1,
        Prod1Name = 'Large Stamina Potion',
        Mat1Img = 'HoneysuckleSwigJug.png',
        Mat1Qty = 1,
        Mat1Name = 'Jug Of Honeysuckle Swig',
        Mat2Img = 'ScalesGold.png',
        Mat2Qty = 1,
        Mat2Name = 'Gold Scales',
        Mat3Img = 'EmptyBottleLarge.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Large Bottle',
        LvlReq = 5,
        Exp = 195,
        SellValue = 1575
    },
    {
        Prod1Img = 'StaminaRegenLarge.png',
        Prod1Qty = 1,
        Prod1Name = 'Large Stamina Potion',
        Mat1Img = 'LavenderHazeJug.png',
        Mat1Qty = 1,
        Mat1Name = 'Jug Of Lavender Haze',
        Mat2Img = 'ScalesGold.png',
        Mat2Qty = 1,
        Mat2Name = 'Gold Scales',
        Mat3Img = 'EmptyBottleLarge.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Large Bottle',
        LvlReq = 5,
        Exp = 195,
        SellValue = 1575
    },
    {
        Prod1Img = 'StaminaRegenLarge.png',
        Prod1Qty = 1,
        Prod1Name = 'Large Stamina Potion',
        Mat1Img = 'TulipInfusionJug.png',
        Mat1Qty = 1,
        Mat1Name = 'Jug Of Tulip Infusion',
        Mat2Img = 'ScalesGold.png',
        Mat2Qty = 1,
        Mat2Name = 'Gold Scales',
        Mat3Img = 'EmptyBottleLarge.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Large Bottle',
        LvlReq = 5,
        Exp = 195,
        SellValue = 1575
    },
    {
        Prod1Img = 'StaminaRegenLarge.png',
        Prod1Qty = 1,
        Prod1Name = 'Large Stamina Potion',
        Mat1Img = 'BerryBlissJug.png',
        Mat1Qty = 1,
        Mat1Name = 'Jug Of Berry Bliss',
        Mat2Img = 'ScalesGold.png',
        Mat2Qty = 1,
        Mat2Name = 'Gold Scales',
        Mat3Img = 'EmptyBottleLarge.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Large Bottle',
        LvlReq = 5,
        Exp = 195,
        SellValue = 1575
    },
    {
        Prod1Img = 'StaminaRegenLarge.png',
        Prod1Qty = 1,
        Prod1Name = 'Large Stamina Potion',
        Mat1Img = 'SpicefireFizzJug.png',
        Mat1Qty = 1,
        Mat1Name = 'Jug Of Spicefire Fizz',
        Mat2Img = 'ScalesGold.png',
        Mat2Qty = 1,
        Mat2Name = 'Gold Scales',
        Mat3Img = 'EmptyBottleLarge.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Large Bottle',
        LvlReq = 5,
        Exp = 195,
        SellValue = 1575
    },
    {
        Prod1Img = 'StaminaRegenLarge.png',
        Prod1Qty = 1,
        Prod1Name = 'Large Stamina Potion',
        Mat1Img = 'DaylilySwirlJug.png',
        Mat1Qty = 1,
        Mat1Name = 'Jug Of Daylily Swirl',
        Mat2Img = 'ScalesGold.png',
        Mat2Qty = 1,
        Mat2Name = 'Gold Scales',
        Mat3Img = 'EmptyBottleLarge.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Large Bottle',
        LvlReq = 5,
        Exp = 195,
        SellValue = 1575
    },

-- LEVEL 6 RECIPES

    {
        Prod1Img = 'AtkSpeedLarge.png',
        Prod1Qty = 1,
        Prod1Name = 'Large Attack Speed Potion',
        Mat1Img = 'Mushroom6.png',
        Mat1Qty = 1,
        Mat1Name = 'Cloudy Pink Puff',
        Mat2Img = 'ScalesRuby.png',
        Mat2Qty = 1,
        Mat2Name = 'Ruby Scales',
        Mat3Img = 'FeatherMacaronNormal.png',
        Mat3Qty = 1,
        Mat3Name = ':Category:Feather|Any Feather',
        Mat4Img = 'EmptyBottleLarge.png',
        Mat4Qty = 1,
        Mat4Name = 'Empty Large Bottle',
        LvlReq = 6,
        Exp = 215,
        SellValue = 234
    },
    {
        Prod1Img = 'DodgeLarge.png',
        Prod1Qty = 1,
        Prod1Name = 'Large Dodge Potion',
        Mat1Img = 'Mushroom12.png',
        Mat1Qty = 1,
        Mat1Name = 'Cratered Cocoa Cap',
        Mat2Img = 'ScalesJade.png',
        Mat2Qty = 1,
        Mat2Name = 'Jade Scales',
        Mat3Img = 'FeatherMacaronNormal.png',
        Mat3Qty = 1,
        Mat3Name = ':Category:Feather|Any Feather',
        Mat4Img = 'EmptyBottleLarge.png',
        Mat4Qty = 1,
        Mat4Name = 'Empty Large Bottle',
        LvlReq = 6,
        Exp = 235,
        SellValue = '[Unknown]'
    },

-- LEVEL 7 RECIPES

    {
        Prod1Img = 'HealthLvl4.png',
        Prod1Qty = 1,
        Prod1Name = 'HP Potion Lv. 4',
        Mat1Img = 'Mushroom5.png',
        Mat1Qty = 4,
        Mat1Name = 'Emerald Twin-Tip',
        Mat2Img = 'Moss.png',
        Mat2Qty = 1,
        Mat2Name = 'Moss',
        Mat3Img = 'EmptyBottleLarge.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Large Bottle',
        LvlReq = 7,
        Exp = 250,
        SellValue = 700
    },
    {
        Prod1Img = 'CriticalChanceLarge.png',
        Prod1Qty = 1,
        Prod1Name = 'Large Critical Attack Potion',
        Mat1Img = 'Mushroom10.png',
        Mat1Qty = 1,
        Mat1Name = 'Amber Peak',
        Mat2Img = 'ScalesRuby.png',
        Mat2Qty = 1,
        Mat2Name = 'Ruby Scales',
        Mat3Img = 'BerryYellow.png',
        Mat3Qty = 1,
        Mat3Name = 'Yellow Berry',
        Mat4Img = 'EmptyBottleLarge.png',
        Mat4Qty = 1,
        Mat4Name = 'Empty Large Bottle',
        LvlReq = 7,
        Exp = 275,
        SellValue = 235
    },
    {
        Prod1Img = 'CombatSpeedLarge.png',
        Prod1Qty = 1,
        Prod1Name = 'Large Combat Speed Potion',
        Mat1Img = 'FeatherMacaronAir.png',
        Mat1Qty = 1,
        Mat1Name = ':Category:AirFeather|Any Air Feather',
        Mat2Img = 'ScalesGold.png',
        Mat2Qty = 1,
        Mat2Name = 'Gold Scales',
        Mat3Img = 'EmptyBottleLarge.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Large Bottle',
        LvlReq = 7,
        Exp = 305,
        SellValue = 356
    },

-- LEVEL 8 RECIPES

    {
        Prod1Img = 'HealthLvl5.png',
        Prod1Qty = 1,
        Prod1Name = 'HP Potion Lv. 5',
        Mat1Img = 'Mushroom5.png',
        Mat1Qty = 5,
        Mat1Name = 'Emerald Twin-Tip',
        Mat2Img = 'Moss.png',
        Mat2Qty = 1,
        Mat2Name = 'Moss',
        Mat3Img = 'EmptyBottleXLarge.png',
        Mat3Qty = 1,
        Mat3Name = 'Empty Extra Large Bottle',
        LvlReq = 8,
        Exp = 325,
        SellValue = 1000
    },

-- LEVEL 9 RECIPES

    {
        Prod1Img = 'BlockLarge.png',
        Prod1Qty = 1,
        Prod1Name = 'Large Block Potion',
        Mat1Img = 'Mushroom4.png',
        Mat1Qty = 1,
        Mat1Name = 'Mystic Mauve Rootshroom',
        Mat2Img = 'ScalesJade.png',
        Mat2Qty = 1,
        Mat2Name = 'Jade Scales',
        Mat3Img = 'BerryBlue.png',
        Mat3Qty = 1,
        Mat3Name = 'Blue Berry',
        Mat4Img = 'EmptyBottleLarge.png',
        Mat4Qty = 1,
        Mat4Name = 'Empty Large Bottle',
        LvlReq = 9,
        Exp = 360,
        SellValue = 318
    },
    {
        Prod1Img = 'AttackDmgLarge.png',
        Prod1Qty = 1,
        Prod1Name = 'Large Attack Damage Potion',
        Mat1Img = 'Mushroom7.png',
        Mat1Qty = 1,
        Mat1Name = 'Noirbrella Spore',
        Mat2Img = 'ScalesRuby.png',
        Mat2Qty = 1,
        Mat2Name = 'Ruby Scales',
        Mat3Img = 'BerryRed.png',
        Mat3Qty = 1,
        Mat3Name = 'Red Berry',
        Mat4Img = 'EmptyBottleLarge.png',
        Mat4Qty = 1,
        Mat4Name = 'Empty Large Bottle',
        LvlReq = 9,
        Exp = 375,
        SellValue = 253
    },
}

function p.get_recipes_by_material(frame)
    local material = frame.args[1] or ''
    local pageName = mw.title.getCurrentTitle().text -- Get the current page name
    local result = ''

    -- If the page is "Potion Recipes", show all recipes
    local showAll = (pageName == "Alchemy Recipes")

    for _, recipe in ipairs(p.recipes) do
        local match = showAll

        if not match then
            -- Check if the page is a product
            if pageName == recipe.Prod1Name or (recipe.Prod2Name and pageName == recipe.Prod2Name) then
                match = true
            end
            
            -- Check if the page is a material
            if not match then
                for i = 1, 4 do
                    local matName = recipe["Mat" .. i .. "Name"]
                    if matName then
                        if matName:match(':Category:') then
                            local categoryName = matName:match(':Category:([^|]+)')
                            if categories[categoryName] then
                                for _, categoryItem in ipairs(categories[categoryName]) do
                                    if material == categoryItem then
                                        match = true
                                        break
                                    end
                                end
                            end
                        elseif material == matName then
                            match = true
                        end
                    end
                    if match then break end
                end
            end
        end

        if match then
            result = result .. '<tr>'
            result = result .. '<td style="width: 50px;">[[File:' .. recipe.Prod1Img .. '|50px]]' ..
                (recipe.Prod2Img and '<br>[[File:' .. recipe.Prod2Img .. '|50px]]' or '') .. '</td>'
            result = result .. '<td>' .. recipe.Prod1Qty .. ' x [[' .. recipe.Prod1Name .. ']]' ..
                (recipe.Prod2Name and '<br>' .. recipe.Prod2Qty .. ' x [[' .. recipe.Prod2Name .. ']]' or '') .. '</td>'

            result = result .. '<td>'
            for i = 1, 4 do
                if recipe["Mat" .. i .. "Name"] then
                    result = result .. recipe["Mat" .. i .. "Qty"] .. ' x [[File:' .. recipe["Mat" .. i .. "Img"] .. '|30px]] ' ..
                        ' [[' .. recipe["Mat" .. i .. "Name"] .. ']]' .. '<br>'
                end
            end
            result = result .. '</td>'

            result = result .. '<td>' .. recipe.LvlReq .. '</td>'
            result = result .. '<td>' .. recipe.Exp .. '</td>'
            
            result = result .. '<td>' .. recipe.SellValue .. '</td>'
            result = result .. '</tr>'
        end
    end
    return result
end

return p