
local common_descs = {
    "Likes to {fish|phish} at the weekends",
    "Resells {cleaning|teaching} supplies on the side",
    "Pretends they speak {French|Spanish|German|Japanese|Swahili}",
    "{Quacks|Barks|Meows} randomly at people",
    "Can't {tell the time|swim|read}",
    "Believes they have {magical powers|control over water|an army of undead}",
}
function add_common(tbl)
    for _, v in ipairs(common_descs) do
        table.insert(tbl, v)
    end
    return tbl
end
local descs = {
    -- Male
    add_common({
    }),
    -- Female
    add_common({
    })
}

function generate(player)
    -- TODO: Notes
    --   player will be some proxy/object that contains
    --   information about the current player this is
    --   being generated for. The script _should_ use
    --   this to generate better staff for better unis

    local variant = 0 -- TODO: math.random(0, 1)

    local desc = descs[1 + variant][math.random(#descs[1 + variant])]
    local desc = desc:gsub("{(.-)}", function(selections)
        local parts = selections:split("|")
        return parts[math.random(#parts)]
    end)

    local price_weight = 1.0

    return {
        description = desc,
        stats = {
        },
        price = math.random(1500 * price_weight, 5000 * price_weight),
        variant = variant,
    }
end