# Configuration

```lua
Config = {}

Config.Debug = false

-- General Settings
Config.Menu = "ox_lib"              -- [ 'qb-menu' / 'ox_lib' (ox_contextmenu) ] Set the menu
Config.InputMenu = 'ox_lib'         -- [ 'qb-input' / 'ox_lib' (ox_inputmenu)] Set the target script name
Config.RadialMenu = 'ox_lib' -- [ 'qb-radialmenu' / 'ox_lib' (ox_radialmenu)] Set the target script name
Config.HandleNotify = true          -- [true / false] Whether or not the notify system should be handled by the framework or not if not modify in editable_functions.lua

-- Dispatch System (FALLBACK ONLY)
-- Community Bridge handles dispatch automatically via Bridge.Dispatch
-- This setting is ONLY used if Bridge.Dispatch is not available on your server
-- Options: 'qbcore' / 'ps-dispatch' / 'cd-dispatch' / 'none'
-- If using a custom dispatch, set to 'none' and modify client/editable_functions.lua
Config.DispatchSystem = "qbcore"
Config.UseBuiltInShop = true        --Uses the built in shop for fishing gear (Set To False to Use Your Own System For Obtaining Fishing Gear)
Config.UsingBoatRental = true       -- Uses the built in boat rental system for renting boats (Set to false to use your own rental system of choice)
Config.UsingLeaderboard = true      -- Uses the built in leaderboard system for fish weight and length (Set to false to disable this feature)
Config.UsingFishingContracts = true -- Uses the built in fishing contracts system for fishing contracts (Set to false to disable this feature)
Config.UsingDJsFishingProps = false -- Uses Our Partners Fishing Props https://djscollections.com/category/misc-escrowed

--Illegal Settings
Config.IllegalCallChance = 50 -- Percentage Chance of Police Being Called While Using Illegal Bait
Config.OnlySellAtNight = true -- Whether or not Criminals can only sell illegal fish at night or not (Midnight)


Config.Blips = {
    [1] = {
        enabled = true,
        name = "Millers Fishery",
        coords = vector3(1300.8, 4318.7, 37.15),
        sprite = 68,
        display = 2,
        color = 3,
        scale = 0.7,
    },
    [2] = {
        enabled = true,
        name = "Bait Shop",
        coords = vector3(-1593.04, 5202.91, 3.31),
        sprite = 68,
        display = 2,
        color = 3,
        scale = 0.7,
    },
}

Config.DJsProps = {
    ['fishingrod'] = 'djs_basic_pole_gray',
    ['advanced_fishingrod'] = 'djs_basic_pole_green',
    ['midtier_fishingrod'] = 'djs_basic_pole_red',
    ['hightier_fishingrod'] = 'djs_basic_pole_blue',
    ['the_master_fishingrod'] = 'djs_advanced_pole_yellow',
    ['tacklebox_blue'] = 'djs_tacklebox_blue',
    ['tacklebox_brown'] = 'djs_tacklebox_brown',
    ['tacklebox_tan'] = 'djs_tacklebox_tan',
    ['note_in_bottle'] = 'djs_bottle_message',
}

Config.FishingContracts = {
    [1] = {
        objective = "Get 3 Rockfish",
        requiredItems = {
            { name = "rockfish", amount = 3 },
        },
        reward = {
            { type = "item", name = "goldbar", amount = 1 },
            { type = "money", name = "cash", amount = 1000 },
            { type = "xp", amount = 10 },
        }
    }
}

--Boat Rental Settings
Config.BoatRentals = {
    refundPercent = 0.5, -- 50% refund when returning boat (0.0 to 1.0)
    boatsAvailable = {
        ["dinghy"] = {
            model = "dinghy",
            label = "Dinghy",
            coords = vector4(-1600.47, 5214.54, 0.12, 0),
            price = 100,
        },
        ["marquis"] = {
            model = "marquis",
            label = "Marquis",
            coords = vector4(-1612.94, 5216.3, 0.39, 27.21),
            price = 200,
        },
    }
}

--Tackle Boxes Config (Add More If Wanted)
Config.TackleBoxes = {
    [1] = {
        itemName = "tacklebox_blue",
        itemLabel = "Blue Tacklebox",
        price = 100,
        size = 10000,
        slots = 6,
    },
    [2] = {
        itemName = "tacklebox_brown",
        itemLabel = "Brown Tacklebox",
        price = 100,
        size = 10000,
        slots = 6,
    },
    [3] = {
        itemName = "tacklebox_tan",
        itemLabel = "Tan Tacklebox",
        price = 100,
        size = 10000,
        slots = 6,
    }
}

--XP & Level Settings ([Level] = Amount of XP)
Config.XPGainMin = 1
Config.XPGainMax = 5

Config.ExperienceTable = {
    [2] = 20, [3] = 30, [4] = 40, [5] = 50
}

-- Ped Settings
Config.Peds = {
    -- Fisherman
    {
        enabled = true,
        model = "ig_old_man1a",
        coords = vector4(-1593.04, 5202.91, 3.31, 297.68),
        interactionName = "fisherman",
        interactionLabel = "Talk to the Fisherman",
        distance = 2,
        interactionFunction = function(pedHandle) -- DO NOT TOUCH
            TriggerEvent("dhs-fishing:menu:main")
        end
    },
    --Millers Fishery Sell Area
    {
        enabled = true,
        model = "ig_old_man1a",
        coords = vector4(1300.8, 4318.7, 37.15, 306.48),
        interactionName = "fishery",
        interactionLabel = "Talk to The Fishery Employee",
        distance = 2,
        interactionFunction = function(pedHandle) -- DO NOT TOUCH
            TriggerEvent("dhs-fishing:menu:sellFish")
        end
    },
    --Illegal Bait Shop
    {
        enabled = true,
        model = "ig_old_man1a",
        coords = vector4(1140.43, -2297.01, 29.7, 268.95),
        interactionName = "illegal_bait_shop",
        interactionLabel = "Talk with Illegal Bait Delivery",
        distance = 2,
        interactionFunction = function(pedHandle) -- DO NOT TOUCH
            TriggerEvent("dhs-fishing:menu:illegalMain")
        end
    },
    --Illegal Fish Sell
    {
        enabled = true,
        model = "ig_old_man1a",
        coords = vector4(46.01, -2794.03, 4.72, 2.53),
        interactionName = "illegal_fish_sell",
        interactionLabel = "Talk with Illegal Fishery",
        distance = 2,
        interactionFunction = function(pedHandle) -- DO NOT TOUCH
            TriggerEvent("dhs-fishing:menu:sellIllegalFish")
        end
    },
}

Config.DifficultySettings = {
    [1] = {
        MinWaitCatchTime = 60,  -- Minimum Time To Wait To Catch a Fish (In Seconds)
        MaxWaitCatchTime = 120, -- Maxium Time To Wait To Catch a Fish (In Seconds)
        MinigameCircleNum = 5,  -- (Default Minigame Setting Check Docs For More Info)
        MinigameCircleMS = 15,  -- (Default Minigame Setting Check Docs For More Info)
    },
    [2] = {
        MinWaitCatchTime = 60,  -- Minimum Time To Wait To Catch a Fish (In Seconds)
        MaxWaitCatchTime = 100, -- Maxium Time To Wait To Catch a Fish (In Seconds)
        MinigameCircleNum = 4,  -- (Default Minigame Setting Check Docs For More Info)
        MinigameCircleMS = 20,  -- (Default Minigame Setting Check Docs For More Info)
    },
    [3] = {
        MinWaitCatchTime = 40, -- Minimum Time To Wait To Catch a Fish (In Seconds)
        MaxWaitCatchTime = 80, -- Maxium Time To Wait To Catch a Fish (In Seconds)
        MinigameCircleNum = 3, -- (Default Minigame Setting Check Docs For More Info)
        MinigameCircleMS = 25, -- (Default Minigame Setting Check Docs For More Info)
    },
    [4] = {
        MinWaitCatchTime = 30, -- Minimum Time To Wait To Catch a Fish (In Seconds)
        MaxWaitCatchTime = 60, -- Maxium Time To Wait To Catch a Fish (In Seconds)
        MinigameCircleNum = 2, -- (Default Minigame Setting Check Docs For More Info)
        MinigameCircleMS = 30, -- (Default Minigame Setting Check Docs For More Info)
    },
    [5] = {
        MinWaitCatchTime = 15, -- Minimum Time To Wait To Catch a Fish (In Seconds)
        MaxWaitCatchTime = 30, -- Maxium Time To Wait To Catch a Fish (In Seconds)
        MinigameCircleNum = 1, -- (Default Minigame Setting Check Docs For More Info)
        MinigameCircleMS = 35, -- (Default Minigame Setting Check Docs For More Info)
    },
}

-- NOTE: Fish catch wait times are configured per-level in Config.DifficultySettings above
-- (MinWaitCatchTime and MaxWaitCatchTime for each fishing level)

--Bait Settings
Config.Bait = {
    [1] = {
        itemName = "bait_worms",
        itemLabel = "Worms",
        lossChance = 100,     -- In Percentage
        otherCatchChance = 5, -- In Percentage
        fishCatchable = {
            { name = "rockfish",          chance = 33 },
            { name = "californiahalibut", chance = 33 },
            { name = "jacksmelt",         chance = 34 },
        },
        otherCatchable = {
            { name = "rusty_key",     chance = 5 },
            { name = "rusty_lockbox", chance = 5 },
            { name = "note_in_bottle", chance = 5 },
        }
    },
    [2] = {
        itemName = "bait_minnows",
        itemLabel = "Minnows",
        lossChance = 75,       -- In Percentage
        otherCatchChance = 10, -- In Percentage
        fishCatchable = {
            { name = "surfperch",         chance = 33 },
            { name = "californiacorbina", chance = 33 },
            { name = "calicobass",        chance = 34 },
        },
        otherCatchable = {
            { name = "rusty_key",     chance = 5 },
            { name = "rusty_lockbox", chance = 5 },
            { name = "note_in_bottle", chance = 5 },
        }
    },
    [3] = {
        itemName = "bait_cricket",
        itemLabel = "Cricket",
        lossChance = 50,       -- In Percentage
        otherCatchChance = 15, -- In Percentage
        fishCatchable = {
            { name = "mackeral",     chance = 33 },
            { name = "whiteseabass", chance = 33 },
            { name = "sheephead",    chance = 34 },
        },
        otherCatchable = {
            { name = "rusty_key",     chance = 5 },
            { name = "rusty_lockbox", chance = 5 },
            { name = "note_in_bottle", chance = 5 },
        }
    },
    [4] = {
        itemName = "bait_grasshopper",
        itemLabel = "Grasshopper",
        lossChance = 25,       -- In Percentage
        otherCatchChance = 10, -- In Percentage
        fishCatchable = {
            { name = "yellowtail", chance = 33 },
            { name = "salmon",     chance = 33 },
            { name = "barracuda",  chance = 34 },
        },
        otherCatchable = {
            { name = "rusty_key",     chance = 5 },
            { name = "rusty_lockbox", chance = 5 },
            { name = "note_in_bottle", chance = 5 },
        }
    },
    [5] = {
        itemName = "bait_leech",
        itemLabel = "Leech",
        lossChance = 10,       -- In Percentage
        otherCatchChance = 20, -- In Percentage
        fishCatchable = {
            { name = "lingcod", chance = 100 },
        },
        otherCatchable = {
            { name = "rusty_key",     chance = 5 },
            { name = "rusty_lockbox", chance = 5 },
            { name = "note_in_bottle", chance = 5 },
        }
    },
}

Config.IllegalBait = {
    [1] = {
        itemName = "bait_seaweed",
        itemLabel = "Seaweed",
        lossChance = 50,       -- In Percentage
        otherCatchChance = 30, -- In Percentage
        fishCatchable = {
            { name = "green_turtle",        chance = 33 },
            { name = "leatherback_turtle",  chance = 33 },
            { name = "olive_ridley_turtle", chance = 34 },
        },
        otherCatchable = {
            { name = "rusty_key",     chance = 5 },
            { name = "rusty_lockbox", chance = 5 },
            { name = "note_in_bottle", chance = 5 },
        }
    },
    [2] = {
        itemName = "bait_squid",
        itemLabel = "Squid",
        lossChance = 50,       -- In Percentage
        otherCatchChance = 30, -- In Percentage
        fishCatchable = {
            { name = "blue_whale", chance = 50 },
            { name = "gray_whale", chance = 50 },
        },
        otherCatchable = {
            { name = "rusty_key",     chance = 5 },
            { name = "rusty_lockbox", chance = 5 },
            { name = "note_in_bottle", chance = 5 },
        }
    },
    [3] = {
        itemName = "bait_octopus",
        itemLabel = "Octopus",
        lossChance = 50,       -- In Percentage
        otherCatchChance = 35, -- In Percentage
        fishCatchable = {
            { name = "humpback_whale", chance = 100 },
        },
        otherCatchable = {
            { name = "rusty_key",     chance = 5 },
            { name = "rusty_lockbox", chance = 5 },
            { name = "note_in_bottle", chance = 5 },
        }
    },
    [4] = {
        itemName = "bait_cowcarcass",
        itemLabel = "Cow Carcass",
        lossChance = 50,       -- In Percentage
        otherCatchChance = 40, -- In Percentage
        fishCatchable = {
            { name = "school_shark", chance = 50 },
            { name = "horn_shark",   chance = 50 },
        },
        otherCatchable = {
            { name = "rusty_key",     chance = 5 },
            { name = "rusty_lockbox", chance = 5 },
            { name = "note_in_bottle", chance = 5 },
        }
    },
    [5] = {
        itemName = "bait_pigcarcass",
        itemLabel = "Pig Carcass",
        lossChance = 50,       -- In Percentage
        otherCatchChance = 45, -- In Percentage
        fishCatchable = {
            { name = "greatwhite_shark", chance = 100 },
        },
        otherCatchable = {
            { name = "rusty_key",     chance = 5 },
            { name = "rusty_lockbox", chance = 5 },
            { name = "note_in_bottle", chance = 5 },
        }
    },
}

--Treasure gotten from lockboxes (Can Add More lockboxes if desired)
Config.Treasure = {
    ["rusty_lockbox"] = {
        itemRequired = "rusty_key", -- Key required to open the chest [rusty_key, silver_key, gold_key]
        amountOfItems = 2,
        loot = {
            { name = "goldbar", chance = 100, amount = 2 },
        }
    }
}

Config.Notes = {
    {
        note = "Hey Phil, I'm in the hospital, I'm not sure if I'll make it. I'm sorry for everything, I love you.", -- What The Note Says
        item = nil, -- Item to give to the player if the note has an item
        chance = 75, -- Chance of getting the note
    },
    {
        note = "The Treasure is in the...", -- What The Note Says
        item = 'rusty_key', -- Item to give to the player if the note has an item
        chance = 80, -- Chance of getting the note
    },
    {
        note = "Four pieces torn and cast to sea,\nEach holds a secret, waiting to be free.\nWhen joined together they'll show the way,\nTo treasures hidden from light of day.\n\n- Map Fragment (1/4)", -- What The Note Says
        item = 'map_piece_part1', -- Item to give to the player if the note has an item
        chance = 10, -- Chance of getting the note
    },
    {
        note = "In depths where shadows dance and sway,\nBeneath the waves where merfolk play.\nThe third piece lies cold and deep,\nWhere ancient secrets currents keep.\n\n- Map Fragment (2/4)", -- What The Note Says
        item = 'map_piece_part2', -- Item to give to the player if the note has an item
        chance = 9, -- Chance of getting the note
    },
    {
        note = "Through caverns dark where echoes ring,\nPast waterfalls that softly sing.\nThe final piece waits in nature's hold,\nWhere stalactites drip silver and gold.\n\n- Map Fragment (3/4)", -- What The Note Says
        item = 'map_piece_part3', -- Item to give to the player if the note has an item
        chance = 8, -- Chance of getting the note
    },
    {
        note = "Where moonlight meets the breaking tide,\nAnd ancient stones their secrets hide.\nThe final piece completes the way,\nTo treasures of a bygone day.\n\n- Map Fragment (4/4)", -- What The Note Says
        item = 'map_piece_part4', -- Item to give to the player if the note has an item
        chance = 7, -- Chance of getting the note
    },

}

Config.Maps = {
    ["treasure_map"] = {
        note = "Four pieces now united stand,\nRevealing secrets of this land.\nWhere sea meets cave beneath the moon,\nAt midnight's highest sacred tune.\nSeek the cross where X marks true,\nAncient riches wait for you.\n\n- Complete Map", -- What The Note Says
        pieces = {
            'map_piece_part1',
            'map_piece_part2',
            'map_piece_part3',
            'map_piece_part4',
        },
        coords = vector4(3064.41, 2219.12, 3.01, 53.38), -- Coords where the map leads to
        keyRequired = "rusty_key", -- Key required to open the chest [rusty_key, silver_key, gold_key]
        -- model = "djs_woodgold_treasurechest_large", -- Uncomment if your using dj's props
        model = "prop_mb_crate_01a",
        reward = {
            { name = "goldbar", chance = 100, amount = 2 },
        }
    }
}

Config.FishingRodPrices = {
    [1] = {
        rod = "fishingrod",
        label = "Fishing Rod",
        price = 25,
    },
    [2] = {
        rod = "advanced_fishingrod",
        label = "Advanced Fishing Rod",
        price = 50,
    },
    [3] = {
        rod = "midtier_fishingrod",
        label = "Mid-Tier Fishing Rod",
        price = 75,
    },
    [4] = {
        rod = "hightier_fishingrod",
        label = "High-Tier Fishing Rod",
        price = 100,
    },
    [5] = {
        rod = "the_master_fishingrod",
        label = "The Master Fishing Rod",
        price = 1000,
    },
}

--Built In Shop Settings

Config.Items = {
    label = "Bait Shop",
    items = {
        { name = 'bait_worms',       price = 10, count = 50 },
        { name = 'bait_minnows',     price = 20, count = 50 },
        { name = 'bait_cricket',     price = 30, count = 50 },
        { name = 'bait_grasshopper', price = 40, count = 50 },
        { name = 'bait_leech',       price = 50, count = 50 }
    }
}

Config.IllegalItems = {
    label = "Illegal Bait Shop",
    items = {
        { name = 'bait_squid',      price = 60,  count = 50 },
        { name = 'bait_cowcarcass', price = 100, count = 50 },
        { name = 'bait_pigcarcass', price = 150, count = 50 },
        { name = 'bait_seaweed',    price = 200, count = 50 },
        { name = 'bait_octopus',    price = 250, count = 50 },
    }
}

--Prices For Selling Legal Fish
Config.LegalFish = {
    ["rockfish"] = {
        ["name"] = "rockfish",
        ["price"] = 10
    },
    ["californiahalibut"] = {
        ["name"] = "californiahalibut",
        ["price"] = 20
    },
    ["jacksmelt"] = {
        ["name"] = "jacksmelt",
        ["price"] = 30
    },
    ["surfperch"] = {
        ["name"] = "surfperch",
        ["price"] = 40
    },
    ["halibut"] = {
        ["name"] = "halibut",
        ["price"] = 50
    },
    ["californiacorbina"] = {
        ["name"] = "californiacorbina",
        ["price"] = 60
    },
    ["calicobass"] = {
        ["name"] = "calicobass",
        ["price"] = 70
    },
    ["mackeral"] = {
        ["name"] = "mackeral",
        ["price"] = 80
    },
    ["whiteseabass"] = {
        ["name"] = "whiteseabass",
        ["price"] = 90
    },
    ["sheephead"] = {
        ["name"] = "sheephead",
        ["price"] = 100
    },
    ["yellowtail"] = {
        ["name"] = "yellowtail",
        ["price"] = 110
    },
    ["salmon"] = {
        ["name"] = "salmon",
        ["price"] = 120
    },
    ["barracuda"] = {
        ["name"] = "barracuda",
        ["price"] = 130
    },
    ["lingcod"] = {
        ["name"] = "lingcod",
        ["price"] = 140
    }
}

--Prices For Selling Illegal Fish
Config.IllegalFish = {
    ["gray_whale"] = {
        ["name"] = "gray_whale",
        ["price"] = 300
    },
    ["blue_whale"] = {
        ["name"] = "blue_whale",
        ["price"] = 310
    },
    ["humpback_whale"] = {
        ["name"] = "humpback_whale",
        ["price"] = 320
    },
    ["school_shark"] = {
        ["name"] = "school_shark",
        ["price"] = 330
    },
    ["horn_shark"] = {
        ["name"] = "horn_shark",
        ["price"] = 340
    },
    ["greatwhite_shark"] = {
        ["name"] = "greatwhite_shark",
        ["price"] = 350
    },
    ["green_turtle"] = {
        ["name"] = "green_turtle",
        ["price"] = 360
    },
    ["leatherback_turtle"] = {
        ["name"] = "leatherback_turtle",
        ["price"] = 370
    },
    ["olive_ridley_turtle"] = {
        ["name"] = "olive_ridley_turtle",
        ["price"] = 380
    },
}

--Fish Weight & Length Settings
Config.SmallFishChance = 80
Config.MediumFishChance = 15
Config.LargeFishChance = 5

Config.FishSize = {
    ["small"] = {
        ["rockfish"] = {
            ["minWeight"] = 4,  -- LBS
            ["minLength"] = 10, -- Inches
            ["maxWeight"] = 9,  -- LBS
            ["maxLength"] = 20, -- Inches
        },
        ["californiahalibut"] = {
            ["minWeight"] = 25, -- LBS
            ["minLength"] = 21, -- Inches
            ["maxWeight"] = 50, -- LBS
            ["maxLength"] = 42, -- Inches
        },
        ["jacksmelt"] = {
            ["minWeight"] = 1,  -- LBS
            ["minLength"] = 8,  -- Inches
            ["maxWeight"] = 1,  -- LBS
            ["maxLength"] = 16, -- Inches
        },
        ["surfsmelt"] = {
            ["minWeight"] = 1, -- LBS
            ["minLength"] = 4, -- Inches
            ["maxWeight"] = 1, -- LBS
            ["maxLength"] = 9, -- Inches
        },
        ["surfperch"] = {
            ["minWeight"] = 1,  -- LBS
            ["minLength"] = 6,  -- Inches
            ["maxWeight"] = 2,  -- LBS
            ["maxLength"] = 12, -- Inches
        },
        ["halibut"] = {
            ["minWeight"] = 153, -- LBS
            ["minLength"] = 33,  -- Inches
            ["maxWeight"] = 306, -- LBS
            ["maxLength"] = 67,  -- Inches
        },
        ["californiacorbina"] = {
            ["minWeight"] = 3,  -- LBS
            ["minLength"] = 10, -- Inches
            ["maxWeight"] = 7,  -- LBS
            ["maxLength"] = 21, -- Inches
        },
        ["calicobass"] = {
            ["minWeight"] = 5,  -- LBS
            ["minLength"] = 6,  -- Inches
            ["maxWeight"] = 10, -- LBS
            ["maxLength"] = 13, -- Inches
        },
        ["mackeral"] = {
            ["minWeight"] = 3,  -- LBS
            ["minLength"] = 8,  -- Inches
            ["maxWeight"] = 6,  -- LBS
            ["maxLength"] = 17, -- Inches
        },
        ["barracuda"] = {
            ["minWeight"] = 18, -- LBS
            ["minLength"] = 21, -- Inches
            ["maxWeight"] = 36, -- LBS
            ["maxLength"] = 42, -- Inches
        },
        ["whiteseabass"] = {
            ["minWeight"] = 32, -- LBS
            ["minLength"] = 21, -- Inches
            ["maxWeight"] = 65, -- LBS
            ["maxLength"] = 42, -- Inches
        },
        ["sheephead"] = {
            ["minWeight"] = 5,  -- LBS
            ["minLength"] = 12, -- Inches
            ["maxWeight"] = 11, -- LBS
            ["maxLength"] = 25, -- Inches
        },
        ["yellowtail"] = {
            ["minWeight"] = 32, -- LBS
            ["minLength"] = 33, -- Inches
            ["maxWeight"] = 64, -- LBS
            ["maxLength"] = 67, -- Inches
        },
        ["salmon"] = {
            ["minWeight"] = 4,  -- LBS
            ["minLength"] = 6,  -- Inches
            ["maxWeight"] = 9,  -- LBS
            ["maxLength"] = 13, -- Inches
        },
        ["lingcod"] = {
            ["minWeight"] = 28, -- LBS
            ["minLength"] = 21, -- Inches
            ["maxWeight"] = 56, -- LBS
            ["maxLength"] = 42, -- Inches
        },
        ["green_turtle"] = {
            ["minWeight"] = 122, -- LBS
            ["minLength"] = 17,  -- Inches
            ["maxWeight"] = 244, -- LBS
            ["maxLength"] = 34,  -- Inches
        },
        ["leatherback_turtle"] = {
            ["minWeight"] = 695,  -- LBS
            ["minLength"] = 25,   -- Inches
            ["maxWeight"] = 1390, -- LBS
            ["maxLength"] = 50,   -- Inches
        },
        ["olive_ridley_turtle"] = {
            ["minWeight"] = 35, -- LBS
            ["minLength"] = 10, -- Inches
            ["maxWeight"] = 70, -- LBS
            ["maxLength"] = 21, -- Inches
        },
        ["school_shark"] = {
            ["minWeight"] = 19, -- LBS
            ["minLength"] = 27, -- Inches
            ["maxWeight"] = 38, -- LBS
            ["maxLength"] = 55, -- Inches
        },
        ["horn_shark"] = {
            ["minWeight"] = 7,  -- LBS
            ["minLength"] = 17, -- Inches
            ["maxWeight"] = 15, -- LBS
            ["maxLength"] = 34, -- Inches
        },
        ["greatwhite_shark"] = {
            ["minWeight"] = 833,  -- LBS
            ["minLength"] = 87,   -- Inches
            ["maxWeight"] = 1667, -- LBS
            ["maxLength"] = 175,  -- Inches
        },
        ["gray_whale"] = {
            ["minWeight"] = 31250, -- LBS
            ["minLength"] = 204,   -- Inches
            ["maxWeight"] = 62500, -- LBS
            ["maxLength"] = 409,   -- Inches
        },
        ["blue_whale"] = {
            ["minWeight"] = 145444, -- LBS
            ["minLength"] = 458,    -- Inches
            ["maxWeight"] = 290888, -- LBS
            ["maxLength"] = 917,    -- Inches
        },
        ["humpback_whale"] = {
            ["minWeight"] = 62500,  -- LBS
            ["minLength"] = 371,    -- Inches
            ["maxWeight"] = 125000, -- LBS
            ["maxLength"] = 742,    -- Inches
        },
    },
    ["medium"] = {
        ["rockfish"] = {
            ["minWeight"] = 9,  -- LBS
            ["minLength"] = 20, -- Inches
            ["maxWeight"] = 10, -- LBS
            ["maxLength"] = 23, -- Inches
        },
        ["californiahalibut"] = {
            ["minWeight"] = 50, -- LBS
            ["minLength"] = 42, -- Inches
            ["maxWeight"] = 60, -- LBS
            ["maxLength"] = 50, -- Inches
        },
        ["jacksmelt"] = {
            ["minWeight"] = 1,  -- LBS
            ["minLength"] = 16, -- Inches
            ["maxWeight"] = 1,  -- LBS
            ["maxLength"] = 19, -- Inches
        },
        ["surfsmelt"] = {
            ["minWeight"] = 1,  -- LBS
            ["minLength"] = 9,  -- Inches
            ["maxWeight"] = 1,  -- LBS
            ["maxLength"] = 10, -- Inches
        },
        ["surfperch"] = {
            ["minWeight"] = 2,  -- LBS
            ["minLength"] = 12, -- Inches
            ["maxWeight"] = 2,  -- LBS
            ["maxLength"] = 15, -- Inches
        },
        ["halibut"] = {
            ["minWeight"] = 306, -- LBS
            ["minLength"] = 67,  -- Inches
            ["maxWeight"] = 367, -- LBS
            ["maxLength"] = 80,  -- Inches
        },
        ["californiacorbina"] = {
            ["minWeight"] = 7,  -- LBS
            ["minLength"] = 21, -- Inches
            ["maxWeight"] = 8,  -- LBS
            ["maxLength"] = 25, -- Inches
        },
        ["calicobass"] = {
            ["minWeight"] = 10, -- LBS
            ["minLength"] = 13, -- Inches
            ["maxWeight"] = 12, -- LBS
            ["maxLength"] = 15, -- Inches
        },
        ["mackeral"] = {
            ["minWeight"] = 6,  -- LBS
            ["minLength"] = 17, -- Inches
            ["maxWeight"] = 7,  -- LBS
            ["maxLength"] = 20, -- Inches
        },
        ["barracuda"] = {
            ["minWeight"] = 36, -- LBS
            ["minLength"] = 42, -- Inches
            ["maxWeight"] = 43, -- LBS
            ["maxLength"] = 50, -- Inches
        },
        ["whiteseabass"] = {
            ["minWeight"] = 65, -- LBS
            ["minLength"] = 42, -- Inches
            ["maxWeight"] = 78, -- LBS
            ["maxLength"] = 50, -- Inches
        },
        ["sheephead"] = {
            ["minWeight"] = 11, -- LBS
            ["minLength"] = 25, -- Inches
            ["maxWeight"] = 13, -- LBS
            ["maxLength"] = 30, -- Inches
        },
        ["yellowtail"] = {
            ["minWeight"] = 64, -- LBS
            ["minLength"] = 67, -- Inches
            ["maxWeight"] = 76, -- LBS
            ["maxLength"] = 80, -- Inches
        },
        ["salmon"] = {
            ["minWeight"] = 9,  -- LBS
            ["minLength"] = 13, -- Inches
            ["maxWeight"] = 10, -- LBS
            ["maxLength"] = 15, -- Inches
        },
        ["lingcod"] = {
            ["minWeight"] = 56, -- LBS
            ["minLength"] = 42, -- Inches
            ["maxWeight"] = 67, -- LBS
            ["maxLength"] = 50, -- Inches
        },
        ["green_turtle"] = {
            ["minWeight"] = 244, -- LBS
            ["minLength"] = 34,  -- Inches
            ["maxWeight"] = 292, -- LBS
            ["maxLength"] = 40,  -- Inches
        },
        ["leatherback_turtle"] = {
            ["minWeight"] = 1390, -- LBS
            ["minLength"] = 50,   -- Inches
            ["maxWeight"] = 1667, -- LBS
            ["maxLength"] = 60,   -- Inches
        },
        ["olive_ridley_turtle"] = {
            ["minWeight"] = 70, -- LBS
            ["minLength"] = 21, -- Inches
            ["maxWeight"] = 84, -- LBS
            ["maxLength"] = 25, -- Inches
        },
        ["school_shark"] = {
            ["minWeight"] = 38, -- LBS
            ["minLength"] = 55, -- Inches
            ["maxWeight"] = 45, -- LBS
            ["maxLength"] = 65, -- Inches
        },
        ["horn_shark"] = {
            ["minWeight"] = 15, -- LBS
            ["minLength"] = 34, -- Inches
            ["maxWeight"] = 17, -- LBS
            ["maxLength"] = 40, -- Inches
        },
        ["greatwhite_shark"] = {
            ["minWeight"] = 1667, -- LBS
            ["minLength"] = 175,  -- Inches
            ["maxWeight"] = 2000, -- LBS
            ["maxLength"] = 210,  -- Inches
        },
        ["gray_whale"] = {
            ["minWeight"] = 62500, -- LBS
            ["minLength"] = 409,   -- Inches
            ["maxWeight"] = 75000, -- LBS
            ["maxLength"] = 490,   -- Inches
        },
        ["blue_whale"] = {
            ["minWeight"] = 290888, -- LBS
            ["minLength"] = 917,    -- Inches
            ["maxWeight"] = 349065, -- LBS
            ["maxLength"] = 1100,   -- Inches
        },
        ["humpback_whale"] = {
            ["minWeight"] = 125000, -- LBS
            ["minLength"] = 742,    -- Inches
            ["maxWeight"] = 150000, -- LBS
            ["maxLength"] = 890,    -- Inches
        },
    },
    ["large"] = {
        ["rockfish"] = {
            ["minWeight"] = 10, -- LBS
            ["minLength"] = 23, -- Inches
            ["maxWeight"] = 12, -- LBS
            ["maxLength"] = 27, -- Inches
        },
        ["californiahalibut"] = {
            ["minWeight"] = 60, -- LBS
            ["minLength"] = 50, -- Inches
            ["maxWeight"] = 72, -- LBS
            ["maxLength"] = 60, -- Inches
        },
        ["jacksmelt"] = {
            ["minWeight"] = 1,  -- LBS
            ["minLength"] = 19, -- Inches
            ["maxWeight"] = 1,  -- LBS
            ["maxLength"] = 22, -- Inches
        },
        ["surfsmelt"] = {
            ["minWeight"] = 1,  -- LBS
            ["minLength"] = 10, -- Inches
            ["maxWeight"] = 1,  -- LBS
            ["maxLength"] = 12, -- Inches
        },
        ["surfperch"] = {
            ["minWeight"] = 2,  -- LBS
            ["minLength"] = 15, -- Inches
            ["maxWeight"] = 2,  -- LBS
            ["maxLength"] = 18, -- Inches
        },
        ["halibut"] = {
            ["minWeight"] = 367, -- LBS
            ["minLength"] = 80,  -- Inches
            ["maxWeight"] = 440, -- LBS
            ["maxLength"] = 96,  -- Inches
        },
        ["californiacorbina"] = {
            ["minWeight"] = 8,  -- LBS
            ["minLength"] = 25, -- Inches
            ["maxWeight"] = 9,  -- LBS
            ["maxLength"] = 30, -- Inches
        },
        ["calicobass"] = {
            ["minWeight"] = 12, -- LBS
            ["minLength"] = 15, -- Inches
            ["maxWeight"] = 14, -- LBS
            ["maxLength"] = 18, -- Inches
        },
        ["mackeral"] = {
            ["minWeight"] = 7,  -- LBS
            ["minLength"] = 20, -- Inches
            ["maxWeight"] = 8,  -- LBS
            ["maxLength"] = 24, -- Inches
        },
        ["barracuda"] = {
            ["minWeight"] = 43, -- LBS
            ["minLength"] = 50, -- Inches
            ["maxWeight"] = 51, -- LBS
            ["maxLength"] = 60, -- Inches
        },
        ["whiteseabass"] = {
            ["minWeight"] = 78, -- LBS
            ["minLength"] = 50, -- Inches
            ["maxWeight"] = 93, -- LBS
            ["maxLength"] = 60, -- Inches
        },
        ["sheephead"] = {
            ["minWeight"] = 13, -- LBS
            ["minLength"] = 30, -- Inches
            ["maxWeight"] = 15, -- LBS
            ["maxLength"] = 36, -- Inches
        },
        ["yellowtail"] = {
            ["minWeight"] = 76, -- LBS
            ["minLength"] = 80, -- Inches
            ["maxWeight"] = 91, -- LBS
            ["maxLength"] = 96, -- Inches
        },
        ["salmon"] = {
            ["minWeight"] = 10, -- LBS
            ["minLength"] = 15, -- Inches
            ["maxWeight"] = 12, -- LBS
            ["maxLength"] = 30, -- Inches
        },
        ["lingcod"] = {
            ["minWeight"] = 67, -- LBS
            ["minLength"] = 50, -- Inches
            ["maxWeight"] = 80, -- LBS
            ["maxLength"] = 60, -- Inches
        },
        ["green_turtle"] = {
            ["minWeight"] = 292, -- LBS
            ["minLength"] = 40,  -- Inches
            ["maxWeight"] = 350, -- LBS
            ["maxLength"] = 48,  -- Inches
        },
        ["leatherback_turtle"] = {
            ["minWeight"] = 1667, -- LBS
            ["minLength"] = 60,   -- Inches
            ["maxWeight"] = 2000, -- LBS
            ["maxLength"] = 72,   -- Inches
        },
        ["olive_ridley_turtle"] = {
            ["minWeight"] = 84,  -- LBS
            ["minLength"] = 25,  -- Inches
            ["maxWeight"] = 100, -- LBS
            ["maxLength"] = 30,  -- Inches
        },
        ["school_shark"] = {
            ["minWeight"] = 45, -- LBS
            ["minLength"] = 65, -- Inches
            ["maxWeight"] = 54, -- LBS
            ["maxLength"] = 77, -- Inches
        },
        ["horn_shark"] = {
            ["minWeight"] = 17, -- LBS
            ["minLength"] = 40, -- Inches
            ["maxWeight"] = 20, -- LBS
            ["maxLength"] = 47, -- Inches
        },
        ["greatwhite_shark"] = {
            ["minWeight"] = 2000, -- LBS
            ["minLength"] = 210,  -- Inches
            ["maxWeight"] = 2400, -- LBS
            ["maxLength"] = 252,  -- Inches
        },
        ["gray_whale"] = {
            ["minWeight"] = 75000, -- LBS
            ["minLength"] = 490,   -- Inches
            ["maxWeight"] = 90000, -- LBS
            ["maxLength"] = 588,   -- Inches
        },
        ["blue_whale"] = {
            ["minWeight"] = 349065, -- LBS
            ["minLength"] = 1100,   -- Inches
            ["maxWeight"] = 418878, -- LBS
            ["maxLength"] = 1320,   -- Inches
        },
        ["humpback_whale"] = {
            ["minWeight"] = 150000, -- LBS
            ["minLength"] = 890,    -- Inches
            ["maxWeight"] = 180000, -- LBS
            ["maxLength"] = 1068,   -- Inches
        },
    },
}

Config.Lang = {

    target = {
        pick_up_tacklebox = "Pick Up Tacklebox",
        open_tacklebox = "Open Tacklebox",
        dig_up_treasure = "Dig Up Treasure",
        open_chest = "Open Chest",
    },
    menu = {
        fishing_contracts_completed = "You have completed all daily fishing contracts!",
        fishing_contracts_header = "Fishing Contracts",
        pounds = " lbs",
        inches = " inches",
        fishing_main_menu_header = "Fishing Main Menu",
        fishing_main_menu_text = "Current Fishing Level: ",
        fishing_main_menu_text_2 = "XP: ",
        open_bait_shop_header = "Open Bait Shop 🐟",
        fishing_rod_header = "Purchase Skill Appropriate Fishing Rod 🎣",
        fishing_rod_text = "Purchase ",
        fishing_rod_text_2 = " For $",
        rent_boat = "Rent a Boat",
        fishing_sell_menu_header = "Millers Fishery Menu",
        fishing_sell_illegal_menu_header = "Illegal Fishery Menu",
        fishing_sell_header = "Sell All Fish 🐟",
        fishing_main_illegal_menu_header = "Illegal Bait Dealer Menu",
        open_illegal_bait_shop_header = "Open Illegal Bait Shop 🐟",
        open_leaderboard_header = "Open Fishing Leaderboard 🏆",
        leader_board_header = "Fishing Leaderboard 🏆",
        buy_tacklebox = "Buy Tacklebox 📦",
        tacklebox_menu = "Tackleboxes 📦",
        weight = "Weight",
        length = "Length",
        price = "Price",
        fish = "- Fish: ",
        required = "Required: ",
        rewards = "Rewards: ",
        dollars = "$",
        xp = "XP",
    },
    notify = {
        not_enough_items = "You do not have the required items to complete this contract!",
        chest_locked = "You need a key to open this chest!",
        treasure_area = "You are in the treasure area!",
        missing_pieces = "You are missing some pieces to complete the map!",
        map_completed = "You have completed the map!",
        note_found = "The Note Says:",
        rod1 = "Purchased Fishing Rod",
        rod2 = "Purchased Advanced Fishing Rod",
        rod3 = "Purchased Mid-Tier Fishing Rod",
        rod4 = "Purchased High-Tier Fishing Rod",
        rod5 = "Purchased The Master Fishing Rod",
        cannot_fish = "You Cannot Fish Right Now",
        no_water = "Your Not Facing Any Water",
        instructions = "Press [Left Click] to cast line, [Backspace] to cancel.",
        waiting_bite = "Waiting For a Fish To Bite",
        bite_triggered = "You Feel A Bite",
        use_bait = "Add Bait To Your Rod",
        missing_bait = "You Haven't added bait to your rod yet",
        added_bait = "Added Bait To Your Rod!",
        lost_bait = "Fish Ate all The Bait!",
        fish_success = "You caught a %s!",
        kick = "Kicked For Cheating",
        fish_lost = "The fish got away!",
        anchor_down = "Set Down Anchor",
        anchor_up = "Pull Up Anchor",
        cant_anchor = "Cant Put Down Anchor While in a Boat",
        cant_anchor_2 = "No Boat Nearby",
        anchor_released = "Anchor Released",
        deposit = "%s$ Taken as deposit!",
        not_enough = "You do not enough to rent this vehicle.",
        level_up = "Fishing Has Leveled Up!",
        no_fish = "You Dont Have Any Fish To Sell!",
        sold_fish = "You have sold your fish and recieved",
        no_items = "You Dont Have Any Items",
        record_broken = "You broke your previous record!",
        inventory_full = "Inventory Full",
        not_enough_money = "Not Enough money.",
        invalid = "Invalid item, Contact a dev!",
        wont_open_without_key = "The lockbox wont open without a key of some type.",
        not_in_debug = "Whoa! be careful your not in debug mode!, please switch to debug mode to use this command.",
        fishing_reset = "Fishing Level Reset!",
        fishing_increased = "Fishing Level Increased!",
        upgrade_needed = "Your rod is getting old you should probably buy a new one if you plan on catching more fish.",
        cant_sell = "What are you doing? Im not taking your goods until after midnight!",
        cant_use = "You arent the required level to use this fishing rod",
        fishing_cancelled = "Fishing Cancelled!",
        already_placed = "You already have a tacklebox placed!",
        boat_returned = "Boat returned! Refund: $%d",
        not_in_boat = "No rental boat nearby",
        not_rental = "This is not a rental boat",
    },
    input = {
        boat_choice = "Which Boat Do You Want To Rent?",
        boats = "Boats",
    },
    progress = {
        digging_up_treasure = "Digging Up Treasure...",
        opening_lockbox = "Opening Lockbox...",
        opening_tacklebox = "Opening Tacklebox...",
        setting_down_anchor = "Setting Down Anchor...",
        pulling_up_anchor = "Pulling Up Anchor...",
        opening_bottle = "Opening Bottle...",
    },
    commands = {
        reset_level = "resetfishinglevel",
        reset_level_info = "Resets Your Fishing Level (Debug Only)",
        increase_level = "increaselevel",
        increase_level_info = "Increases Your Fishing Level by 1 (Debug Only)",
    },
    police_alert = {
        illegal_activity = "Illegal Activity",
    },
    radialmenu = {
        anchor_boat = "Anchor Boat",
        return_boat = "Return Rental Boat",
    }
}

```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dragon-heart-studios.gitbook.io/dragonheartstudios/scripts/dhs-fishing/configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
