## default_traits.lua

    --[[- Vanilla traits, reimplemented in Profession Framework style.

    Note the data in here is from BaseGameCharacterDetails.DoTraits
    in MainCreationMethods.lua.

    Any of these table entries can be retrieved and modified using:

    local trait = ProfessionFramework.getTrait(name)

    ]]

    -- skip this file unless RemoveDefaultTraits is true
    if not ProfessionFramework.RemoveDefaultTraits then return end

    local addTrait = ProfessionFramework.addTrait

    addTrait("Axeman", {
        name = "UI_trait_axeman",
        description = "UI_trait_axemandesc",
        profession = true,
    })

    addTrait("Handy", {
        name = "UI_trait_handy",
        description = "UI_trait_handydesc",
        cost = 8,
        xp = {
            [Perks.Maintenance] = 1,
            [Perks.Woodwork] = 1
        }
    })

    addTrait("SpeedDemon", {
        name = "UI_trait_SpeedDemon",
        description = "UI_trait_SpeedDemonDesc",
        cost = 1,
        exclude = { "SundayDriver" }
    })

    addTrait("SundayDriver", {
        name = "UI_trait_SundayDriver",
        description = "UI_trait_SundayDriverDesc",
        cost = -1,
    })

    addTrait("Brave", {
        name = "UI_trait_brave",
        description = "UI_trait_bravedesc",
        cost = 4,
        exclude = { "Cowardly" }
    })

    addTrait("Cowardly", {
        name = "UI_trait_cowardly",
        description = "UI_trait_cowardlydesc",
        cost = -2,
    })

    addTrait("Clumsy", {
        name = "UI_trait_clumsy",
        description = "UI_trait_clumsydesc",
        cost = -2,
        exclude = { "Graceful" },
    })

    addTrait("Graceful", {
        name = "UI_trait_graceful",
        description = "UI_trait_gracefuldesc",
        cost = 4,
    })

    --[[ disabled in build 41.18
    addTrait("Hypercondriac", {
        name = "UI_trait_hypochon",
        description = "UI_trait_hypochondesc",
        cost = -2,
    })
    ]]

    addTrait("ShortSighted", {
        name = "UI_trait_shortsigh",
        description = "UI_trait_shortsighdesc",
        cost = -2,
        exclude = { "EagleEyed" }
    })

    addTrait("HardOfHearing", {
        name = "UI_trait_hardhear",
        description = "UI_trait_hardheardesc",
        cost = -4,
        exclude = { "KeenHearing" }
    })

    addTrait("Deaf", {
        name = "UI_trait_deaf",
        description = "UI_trait_deafdesc",
        cost = -12,
        exclude = { "HardOfHearing", "KeenHearing" }
    })

    addTrait("KeenHearing", {
        name = "UI_trait_keenhearing",
        description = "UI_trait_keenhearingdesc",
        cost = 6,
    })

    addTrait("EagleEyed", {
        name = "UI_trait_eagleeyed",
        description = "UI_trait_eagleeyeddesc",
        cost = 6,
    })

    addTrait("HeartyAppitite", {
        name = "UI_trait_heartyappetite",
        description = "UI_trait_heartyappetitedesc",
        cost = -4,
        exclude = { "LightEater" }
    })

    addTrait("LightEater", {
        name = "UI_trait_lighteater",
        description = "UI_trait_lighteaterdesc",
        cost = 4,
    })

    addTrait("ThickSkinned", {
        name = "UI_trait_thickskinned",
        description = "UI_trait_thickskinneddesc",
        cost = -6,
        exclude = { "Thinskinned" }
    })

    addTrait("Unfit", {
        name = "UI_trait_unfit",
        description = "UI_trait_unfitdesc",
        cost = -10,
        xp = {
            [Perks.Fitness] = -4,
        },
        exclude = { "Out of Shape" }
    })

    addTrait("Out of Shape", {
        name = "UI_trait_outofshape",
        description = "UI_trait_outofshapedesc",
        cost = -6,
        xp = {
            [Perks.Fitness] = -2,
        }
    })

    addTrait("Fit", {
        name = "UI_trait_fit",
        description = "UI_trait_fitdesc",
        cost = 6,
        xp = {
            [Perks.Fitness] = 2,
        },
        exclude = { "Out of Shape", "Unfit", "Overweight", "Obese" }
    })

    addTrait("Athletic", {
        name = "UI_trait_athletic",
        description = "UI_trait_athleticdesc",
        cost = 10,
        xp = {
            [Perks.Fitness] = 4,
        },
        exclude = { "Overweight", "Fit", "Obese", "Out of Shape", "Unfit" }
    })

    addTrait("Nutritionist", {
        name = "UI_trait_nutritionist",
        description = "UI_trait_nutritionistdesc",
        cost = 4,
        exclude = { "Nutritionist2" }
    })

    addTrait("Nutritionist2", {
        name = "UI_trait_nutritionist",
        description = "UI_trait_nutritionistdesc",
        profession = true,
    })

    addTrait("Emaciated", {
        name = "UI_trait_emaciated",
        description = "UI_trait_emaciateddesc",
        cost = -10,
    })

    addTrait("Very Underweight", {
        name = "UI_trait_veryunderweight",
        description = "UI_trait_veryunderweightdesc",
        cost = -10,
        exclude = { "Underweight" }
    })

    addTrait("Underweight", {
        name = "UI_trait_underweight",
        description = "UI_trait_underweightdesc",
        cost = -6,
    })

    addTrait("Overweight", {
        name = "UI_trait_overweight",
        description = "UI_trait_overweightdesc",
        cost = -6,
        exclude = { "Obese", "Underweight", "Very Underweight", "Emaciated" }
    })

    addTrait("Obese", {
        name = "UI_trait_obese",
        description = "UI_trait_obesedesc",
        cost = -10,
        exclude = { "Underweight", "Very Underweight", "Emaciated" }
    })

    addTrait("Strong", {
        name = "UI_trait_strong",
        description = "UI_trait_strongdesc",
        cost = 10,
        xp = {
            [Perks.Strength] = 4
        },
        exclude = { "Feeble", "Stout" }
    })

    addTrait("Stout", {
        name = "UI_trait_stout",
        description = "UI_trait_stoutdesc",
        cost = 6,
        xp = {
            [Perks.Strength] = 2
        },
        exclude = { "Feeble" }
    })

    addTrait("Weak", {
        name = "UI_trait_weak",
        description = "UI_trait_weakdesc",
        cost = -10,
        xp = {
            [Perks.Strength] = -5
        },
        exclude = { "Strong", "Stout", "Feeble" }
    })

    addTrait("Feeble", {
        name = "UI_trait_feeble",
        description = "UI_trait_feebledesc",
        cost = -6,
        xp = {
            [Perks.Strength] = -2
        }
    })

    addTrait("Resilient", {
        name = "UI_trait_resilient",
        description = "UI_trait_resilientdesc",
        cost = 4,
        exclude = { "ProneToIllness" }
    })

    addTrait("ProneToIllness", {
        name = "UI_trait_pronetoillness",
        description = "UI_trait_pronetoillnessdesc",
        cost = -4,
    })

    addTrait("Agoraphobic", {
        name = "UI_trait_agoraphobic",
        description = "UI_trait_agoraphobicdesc",
        cost = -4,
    })

    addTrait("Claustophobic", {
        name = "UI_trait_claustro",
        description = "UI_trait_claustrodesc",
        cost = -4,
    })

    addTrait("Lucky", {
        name = "UI_trait_lucky",
        description = "UI_trait_luckydesc",
        cost = 4,
        exclude = { "Unlucky" }
    })

    addTrait("Unlucky", {
        name = "UI_trait_unlucky",
        description = "UI_trait_unluckydesc",
        cost = -4,
    })

    addTrait("Marksman", {
        name = "UI_trait_marksman",
        description = "UI_trait_marksmandesc",
        profession = true,
    })

    addTrait("NightOwl", {
        name = "UI_trait_nightowl",
        description = "UI_trait_nightowldesc",
        profession = true,
    })

    addTrait("FastHealer", {
        name = "UI_trait_FastHealer",
        description = "UI_trait_FastHealerDesc",
        cost = 6,
        exlude = { "SlowHealer" }
    })

    addTrait("FastLearner", {
        name = "UI_trait_FastLearner",
        description = "UI_trait_FastLearnerDesc",
        cost = 6,
        exlude = { "SlowLearner" }
    })

    addTrait("FastReader", {
        name = "UI_trait_FastReader",
        description = "UI_trait_FastReaderDesc",
        cost = 2,
        exlude = { "SlowReader" }
    })

    addTrait("AdrenalineJunkie", {
        name = "UI_trait_AdrenalineJunkie",
        description = "UI_trait_AdrenalineJunkieDesc",
        cost = 8,
    })

    addTrait("Inconspicuous", {
        name = "UI_trait_Inconspicuous",
        description = "UI_trait_InconspicuousDesc",
        cost = 4,
    })

    addTrait("NeedsLessSleep", {
        name = "UI_trait_LessSleep",
        description = "UI_trait_LessSleepDesc",
        cost = 2,
        requiresSleepEnabled = true,
        exclude = { "NeedsMoreSleep" }
    })

    addTrait("Nightvision", {
        name = "UI_trait_NightVision",
        description = "UI_trait_NightVisionDesc",
        cost = 2,
    })

    addTrait("Organized", {
        name = "UI_trait_Packmule",
        description = "UI_trait_PackmuleDesc",
        cost = 6,
        exclude = { "Disorganized" }
    })

    addTrait("LowThirst", {
        name = "UI_trait_LowThirst",
        description = "UI_trait_LowThirstDesc",
        cost = 6,
        exclude = { "HighThirst" }
    })

    addTrait("FirstAid", {
        name = "UI_trait_FirstAid",
        description = "UI_trait_FirstAidDesc",
        cost = 4,
        xp = {
            [Perks.Doctor] = 1
        }
    })

    addTrait("Fishing", {
        name = "UI_trait_Fishing",
        description = "UI_trait_FishingDesc",
        cost = 4,
        xp = {
            [Perks.Fishing] = 1
        },
        recipes = { "Make Fishing Rod", "Fix Fishing Rod" },
    })

    addTrait("Gardener", {
        name = "UI_trait_Gardener",
        description = "UI_trait_GardenerDesc",
        cost = 4,
        xp = {
            [Perks.Farming] = 1
        },
        recipes = { "Make Mildew Cure", "Make Flies Cure" },
    })

    addTrait("Jogger", {
        name = "UI_trait_Jogger",
        description = "UI_trait_JoggerDesc",
        cost = 4,
        xp = {
            [Perks.Sprinting] = 1
        }
    })

    addTrait("SlowHealer", {
        name = "UI_trait_SlowHealer",
        description = "UI_trait_SlowHealerDesc",
        cost = -6,
    })

    addTrait("SlowLearner", {
        name = "UI_trait_SlowLearner",
        description = "UI_trait_SlowHealerDesc",
        cost = -6,
    })

    addTrait("SlowReader", {
        name = "UI_trait_SlowReader",
        description = "UI_trait_SlowReaderDesc",
        cost = -2,
    })

    addTrait("NeedsMoreSleep", {
        name = "UI_trait_MoreSleep",
        description = "UI_trait_MoreSleepDesc",
        cost = -4,
        requiresSleepEnabled = true,
    })

    addTrait("Conspicuous", {
        name = "UI_trait_Conspicuous",
        description = "UI_trait_ConspicuousDesc",
        cost = -4,
        exclude = { "Inconspicuous" }
    })

    addTrait("Disorganized", {
        name = "UI_trait_Disorganized",
        description = "UI_trait_DisorganizedDesc",
        cost = -4,
    })

    addTrait("HighThirst", {
        name = "UI_trait_HighThirst",
        description = "UI_trait_HighThirstDesc",
        cost = -6,
    })

    addTrait("Illiterate", {
        name = "UI_trait_Illiterate",
        description = "UI_trait_IlliterateDesc",
        cost = -8,
        exclude = { "SlowReader", "FastReader" }
    })

    addTrait("Insomniac", {
        name = "UI_trait_Insomniac",
        description = "UI_trait_InsomniacDesc",
        cost = -6,
        requiresSleepEnabled = true,
    })

    addTrait("Pacifist", {
        name = "UI_trait_Pacifist",
        description = "UI_trait_PacifistDesc",
        cost = -4,
    })

    addTrait("Thinskinned", {
        name = "UI_trait_ThinSkinned",
        description = "UI_trait_ThinSkinnedDesc",
        cost = -6,
    })

    addTrait("Smoker", {
        name = "UI_trait_Smoker",
        description = "UI_trait_SmokerDesc",
        cost = -4,
    })

    addTrait("Dextrous", {
        name = "UI_trait_Dexterous",
        description = "UI_trait_DexterousDesc",
        cost = 2,
        exclude = { "AllThumbs" }
    })

    addTrait("AllThumbs", {
        name = "UI_trait_AllThumbs",
        description = "UI_trait_AllThumbsDesc",
        cost = -2,
    })

    addTrait("Desensitized", {
        name = "UI_trait_Desensitized",
        description = "UI_trait_DesensitizedDesc",
        profession = true,
        exclude = { "Hemophobic", "Cowardly", "Brave", "Agoraphobic", "Claustophobic", "AdrenalineJunkie" }
    })

    addTrait("WeakStomach", {
        name = "UI_trait_WeakStomach",
        description = "UI_trait_WeakStomachDesc",
        cost = -3,
    })

    addTrait("IronGut", {
        name = "UI_trait_IronGut",
        description = "UI_trait_IronGutDesc",
        cost = 3,
        exclude = { "WeakStomach" }
    })

    addTrait("Hemophobic", {
        name = "UI_trait_Hemophobic",
        description = "UI_trait_HemophobicDesc",
        cost = -3,
    })

    addTrait("Asthmatic", {
        name = "UI_trait_Asthmatic",
        description = "UI_trait_AsthmaticDesc",
        cost = -5,
    })

    addTrait("Cook", {
        name = "UI_trait_Cook",
        description = "UI_trait_CookDesc",
        cost = 6,
        xp = {
            [Perks.Cooking] = 2,
        },
        recipes = { "Make Cake Batter", "Make Pie Dough", "Make Bread Dough" },
        exclude = { "Cook2" }
    })

    addTrait("Cook2", {
        name = "UI_trait_Cook",
        description = "UI_trait_Cook2Desc",
        profession = true,
    })

    addTrait("Herbalist", {
        name = "UI_trait_Herbalist",
        description = "UI_trait_HerbalistDesc",
        cost = 6,
        recipes = { "Herbalist" },
    })

    addTrait("Brawler", {
        name = "UI_trait_BarFighter",
        description = "UI_trait_BarFighterDesc",
        cost = 6,
        xp = {
            [Perks.Axe] = 1,
            [Perks.Blunt] = 1,
        },
    })

    addTrait("Formerscout", {
        name = "UI_trait_Scout",
        description = "UI_trait_ScoutDesc",
        cost = 6,
        xp = {
            [Perks.Doctor] = 1,
            [Perks.PlantScavenging] = 1,
        },
    })

    addTrait("BaseballPlayer", {
        name = "UI_trait_PlaysBaseball",
        description = "UI_trait_PlaysBaseballDesc",
        cost = 4,
        xp = {
            [Perks.Blunt] = 1,
        },
    })

    addTrait("Hiker", {
        name = "UI_trait_Hiker",
        description = "UI_trait_HikerDesc",
        cost = 6,
        xp = {
            [Perks.PlantScavenging] = 1,
            [Perks.Trapping] = 1,
        },
        recipes = { "Make Stick Trap", "Make Snare Trap", "Make Wooden Cage Trap" },
    })

    addTrait("Hunter", {
        name = "UI_trait_Hunter",
        description = "UI_trait_HunterDesc",
        cost = 8,
        xp = {
            [Perks.Aiming] = 1,
            [Perks.Trapping] = 1,
            [Perks.Sneak] = 1
        },
        recipes = { "Make Stick Trap", "Make Snare Trap", "Make Wooden Cage Trap", "Make Trap Box", "Make Cage Trap" },
    })

    addTrait("Gymnast", {
        name = "UI_trait_Gymnast",
        description = "UI_trait_GymnastDesc",
        cost = 5,
        xp = {
            [Perks.Lightfoot] = 1,
            [Perks.Nimble] = 1,
        },
    })

    addTrait("Mechanics", {
        name = "UI_trait_Mechanics",
        description = "UI_trait_MechanicsDesc",
        cost = 5,
        xp = {
            [Perks.Mechanics] = 1,
        },
        recipes = { "Basic Mechanics", "Intermediate Mechanics" },
        exclude = { "Mechanics2" }
    })

    addTrait("Mechanics2", {
        name = "UI_trait_Mechanics",
        description = "UI_trait_Mechanics2Desc",
        profession = true,
    })

    if ProfessionFramework.COMPATIBILITY_MODE then
        -- build 40
        -- nothing to do!
    else
        -- build 41+
        getTrait("Hunter").xp[Perks.SmallBlade] = 1
    end

generated by LDoc 1.4.6 Last updated 2022-01-10 09:07:12