Module:Skill calc/Fletching/data

From RuneScape Classic Wiki
Jump to: navigation, search

Documentation for this module may be created at Module:Skill calc/Fletching/data/doc

--[=[
     Notations found in this Module:
        * name:     Name of product
        * icon:      Alternate image location
        * level:    Level required to complete
        * xp:       Experience gained
        * material: Materials required { #, "Item name", ...}
            - Special case for alternate currencies: {#, value, "Item name", ...}
        * mcount:   Material count - Number of materials required
            - This allows for exclusion of items not found in the GE
        * title:    Alternative name of object
            - Used to clarify the difference from a similar object or offer a cleaner name
        * mtrade:   Indicates whether the materials needed can be found in the GE
        * trade:    Indicates whether the product can be found in the GE
        * currency: Indicates an alternative currency being used
        * value:    Specifies the products value in alternative currency
        * members:  Indicates whether the object can be made by members only
--]=]
local skillData = {}

return function(trainMethod)
    -- Arrows
    if trainMethod == "Arrows" then
        local methods = 
        {
            {
                name        = "arrow shafts",
                level       = 1,
                xp          = 5,
                multiplier  = 10,
                material    = {1, "Logs"},
            }, {
                name        = "Headless Arrows",
                level       = 1,
                xp          = 10,
                multiplier  = 10,
                material    = {10, "arrow shafts", 10, "Feather"},
                mcount      = 2
            }, {
                name        = "Bronze Arrows",
                level       = 1,
                xp          = 12.5,
                multiplier  = 10,
                material    = {10, "bronze arrow heads", 10, "Headless Arrows"},
                mcount      = 2
            }, {
                name        = "Iron Arrows",
                level       = 15,
                xp          = 25,
                multiplier  = 10,
                material    = {10, "iron arrow heads", 10, "Headless Arrows"},
                mcount      = 2
            }, {
                name        = "Steel Arrows",
                level       = 30,
                xp          = 50,
                multiplier  = 10,
                material    = {10, "steel arrow heads", 10, "Headless Arrows"},
                mcount      = 2
            }, {
                name        = "Mithril Arrows",
                level       = 45,
                xp          = 75,
                multiplier  = 10,
                material    = {10, "mithril arrow heads", 10, "Headless Arrows"},
                mcount      = 2
            }, {
                name        = "Adamantite Arrows",
                level       = 60,
                xp          = 100,
                multiplier  = 10,
                material    = {10, "adamantite arrow heads", 10, "Headless Arrows"},
                mcount      = 2
            }, {
                name        = "Rune Arrows",
                level       = 75,
                xp          = 125,
                multiplier  = 10,
                material    = {10, "rune arrow heads", 10, "Headless Arrows"},
                mcount      = 2
            }
        }
        return methods
    end

    -- Arrows from scratch
    if trainMethod == "Arrows - Scratch" then
        local methods = 
        {
            {
                name        = "arrow shafts",
                level       = 1,
                xp          = 5,
                multiplier  = 10,
                material    = {1, "Logs"},
            }, {
                name        = "Headless Arrows",
                level       = 1,
                xp          = 10,
                multiplier  = 10,
                material    = {10, "arrow shafts", 10, "Feather"},
                mcount      = 2
            }, {
                name        = "Bronze Arrows",
                level       = 1,
                xp          = 22.5,
                multiplier  = 10,
                material    = {1, "bronze bar", 10, "arrow shafts", 10, "Feather"},
                mcount      = 3
            }, {
                name        = "Iron Arrows",
                level       = 15,
                xp          = 35,
                multiplier  = 10,
                material    = {1, "iron bar", 10, "arrow shafts", 10, "Feather"},
                mcount      = 3
            }, {
                name        = "Steel Arrows",
                level       = 30,
                xp          = 60,
                multiplier  = 10,
                material    = {1, "steel bar", 10, "arrow shafts", 10, "Feather"},
                mcount      = 3
            }, {
                name        = "Mithril Arrows",
                level       = 45,
                xp          = 85,
                multiplier  = 10,
                material    = {1, "mithril bar", 10, "arrow shafts", 10, "Feather"},
                mcount      = 3
            }, {
                name        = "Adamantite Arrows",
                level       = 60,
                xp          = 110,
                multiplier  = 10,
                material    = {1, "adamantite bar", 10, "arrow shafts", 10, "Feather"},
                mcount      = 3
            }, {
                name        = "Rune Arrows",
                level       = 75,
                xp          = 135,
                multiplier  = 10,
                material    = {1, "Runite bar", 10, "arrow shafts", 10, "Feather"},
                mcount      = 3
            }
        }
        return methods
    end

     -- Bows - Unstrung only
    if trainMethod == "Bows - Unstrung" then
        local methods = 
        {
            {
                name        = "Unstrung shortbow",
                level       = 1,
                xp          = 5,
                material    = {1, "Logs"}
            }, {
                name        = "Unstrung Longbow",
                level       = 10,
                xp          = 10,
                material    = {1, "Logs"}
            }, {
                name        = "Unstrung Oak Shortbow",
                level       = 20,
                xp          = 16.5,
                material    = {1, "Oak Logs"}
            }, {
                name        = "Unstrung Oak Longbow",
                level       = 25,
                xp          = 25,
                material    = {1, "Oak Logs"}
            }, {
                name        = "Unstrung Willow Shortbow",
                level       = 35,
                xp          = 33.25,
                material    = {1, "Willow Logs"}
            }, {
                name        = "Unstrung Willow Longbow",
                level       = 40,
                xp          = 41.5,
                material    = {1, "Willow Logs"}
            }, {
                name        = "Unstrung Maple Shortbow",
                level       = 50,
                xp          = 50,
                material    = {1, "Maple Logs"}
            }, {
                name        = "Unstrung Maple Longbow",
                level       = 55,
                xp          = 58.25,
                material    = {1, "Maple Logs"}
            }, {
                name        = "Unstrung Yew Shortbow",
                level       = 65,
                xp          = 66.5,
                material    = {1, "Yew Logs"}
            }, {
                name        = "Unstrung Yew Longbow",
                level       = 70,
                xp          = 75,
                material    = {1, "Yew Logs"}
            }, {
                name        = "Unstrung Magic Shortbow",
                level       = 80,
                xp          = 83.25,
                material    = {1, "Magic Logs"}
            }, {
                name        = "Unstrung Magic Longbow",
                level       = 85,
                xp          = 91.5,
                material    = {1, "Magic Logs"}
            }
        }
        return methods
    end

    -- Bows - Stringing only
    if trainMethod == "Bows - Stringing" then
        local methods = 
        {
            {
                name        = "Shortbow",
                level       = 1,
                xp          = 5,
                material    = {1, "Logs", 1, "bow string"},
                mcount      = 2
            }, {
                name        = "Longbow",
                level       = 10,
                xp          = 10,
                material    = {1, "Logs", 1, "bow string"},
                mcount      = 2
            }, {
                name        = "Oak Shortbow",
                level       = 20,
                xp          = 16.5,
                material    = {1, "Oak Logs", 1, "bow string"},
                mcount      = 2
            }, {
                name        = "Oak Longbow",
                level       = 25,
                xp          = 25,
                material    = {1, "Oak Logs", 1, "bow string"},
                mcount      = 2
            }, {
                name        = "Willow Shortbow",
                level       = 35,
                xp          = 33.25,
                material    = {1, "Willow Logs", 1, "bow string"},
                mcount      = 2
            }, {
                name        = "Willow Longbow",
                level       = 40,
                xp          = 41.5,
                material    = {1, "Willow Logs", 1, "bow string"},
                mcount      = 2
            }, {
                name        = "Maple Shortbow",
                level       = 50,
                xp          = 50,
                material    = {1, "Maple Logs", 1, "bow string"},
                mcount      = 2
            }, {
                name        = "Maple Longbow",
                level       = 55,
                xp          = 58.25,
                material    = {1, "Maple Logs", 1, "bow string"},
                mcount      = 2
            }, {
                name        = "Yew Shortbow",
                level       = 65,
                xp          = 66.5,
                material    = {1, "Yew Logs", 1, "bow string"},
                mcount      = 2
            }, {
                name        = "Yew Longbow",
                level       = 70,
                xp          = 75,
                material    = {1, "Yew Logs", 1, "bow string"},
                mcount      = 2
            }, {
                name        = "Magic Shortbow",
                level       = 80,
                xp          = 83.25,
                material    = {1, "Magic Logs", 1, "bow string"},
                mcount      = 2
            }, {
                name        = "Magic Longbow",
                level       = 85,
                xp          = 91.5,
                material    = {1, "Magic Logs", 1, "bow string"},
                mcount      = 2
            }
        }
        return methods
    end

    -- Darts
    if trainMethod == "Darts" then
        local methods = 
        {
            {
                name        = "Bronze Throwing Dart",
                level       = 1,
                xp          = 12,
                multiplier  = 12,
                material    = {12, "Bronze dart tips", 12, "Feather"},
                mcount      = 2
            }, {
                name        = "Prototype Throwing Dart",
                level       = 10,
                xp          = 12.5,
                material    = {1, "Prototype dart tip", 1, "Feather"},
                mcount      = 2
            }, {
                name        = "Iron Throwing Dart",
                level       = 22,
                xp          = 12,
                multiplier  = 12,
                material    = {12, "Iron dart tips", 12, "Feather"},
                mcount      = 2
            }, {
                name        = "Steel Throwing Dart",
                level       = 37,
                xp          = 12,
                multiplier  = 12,
                material    = {12, "Steel dart tips", 12, "Feather"},
                mcount      = 2
            }, {
                name        = "Mithril Throwing Dart",
                level       = 52,
                xp          = 12,
                multiplier  = 12,
                material    = {12, "Mithril dart tips", 12, "Feather"},
                mcount      = 2
            }, {
                name        = "Adamantite Throwing Dart",
                level       = 67,
                xp          = 12,
                multiplier  = 12,
                material    = {12, "Adamantite dart tips", 12, "Feather"},
                mcount      = 2
            }, {
                name        = "Rune Throwing Dart",
                level       = 82,
                xp          = 12,
                multiplier  = 12,
                material    = {12, "Rune dart tips", 12, "Feather"},
                mcount      = 2
            }
        }
        return methods
    end

    -- Darts from scratch
    if trainMethod == "Darts - Scratch" then
        local methods = 
        {
            {
                name        = "Bronze Throwing Dart",
                level       = 1,
                xp          = 12,
                multiplier  = 12,
                material    = {1.71, "bronze bar", 12, "Feather"},
                mcount      = 2
            }, {
                name        = "Prototype Throwing Dart",
                level       = 10,
                xp          = 12.5,
                material    = {1, "bronze bar", 1, "Feather"},
                mcount      = 2
            }, {
                name        = "Iron Throwing Dart",
                level       = 22,
                xp          = 12,
                multiplier  = 12,
                material    = {1.71, "iron bar", 12, "Feather"},
                mcount      = 2
            }, {
                name        = "Steel Throwing Dart",
                level       = 37,
                xp          = 12,
                multiplier  = 12,
                material    = {1.71, "steel bar", 12, "Feather"},
                mcount      = 2
            }, {
                name        = "Mithril Throwing Dart",
                level       = 52,
                xp          = 12,
                multiplier  = 12,
                material    = {1.71, "mithril bar", 12, "Feather"},
                mcount      = 2
            }, {
                name        = "Adamantite Throwing Dart",
                level       = 67,
                xp          = 12,
                multiplier  = 12,
                material    = {1.71, "adamantite bar", 12, "Feather"},
                mcount      = 2
            }, {
                name        = "Rune Throwing Dart",
                level       = 82,
                xp          = 12,
                multiplier  = 12,
                material    = {1.71, "Runite bar", 12, "Feather"},
                mcount      = 2
            }
        }
        return methods
    end
end