Add a 'base roll' skill

This commit is contained in:
Gonçalo Correia 2026-04-14 00:49:04 +01:00
parent 5a0d0f2ca4
commit 865404ffb7
3 changed files with 20 additions and 9 deletions

View file

@ -12,11 +12,15 @@ AltSystem.Data.SkillLevels = {
["Master"] = 4,
}
-- The "Inept" entry is always the first (default) skill
-- The "Base roll" entry is always the first (default) skill
local BASE_ROLL_ENTRY = { name = "Base roll", level = "Base", modifier = 0 }
-- The "Inept" entry is always the second skill
local UNSKILLED_ENTRY = { name = "Inept", level = "Inept", modifier = -4 }
-- Default/fallback skill list used when no TRP3 profile skills are found
local DEFAULT_SKILLS = {
{ name = "Base roll", level = "Base", modifier = 0 },
{ name = "Inept", level = "Inept", modifier = -4 },
{ name = "Novice Skill", level = "Novice", modifier = -2 },
{ name = "Adept Skill", level = "Adept", modifier = 0 },
@ -56,12 +60,13 @@ local function ParseSkillLevel(numericValue)
end
-- Fetch skills from the current TRP3 profile's personality traits.
-- Returns an array of skill entries, always starting with "Inept".
-- Returns an array of skill entries, always starting with "Base roll" and "Inept".
-- Falls back to the default list if no profile or no valid skills are found.
function AltSystem.Data:RefreshSkills()
local skills = {}
-- Always add Inept as the first entry
-- Always add Base roll as the first entry, then Inept
table.insert(skills, { name = BASE_ROLL_ENTRY.name, level = BASE_ROLL_ENTRY.level, modifier = BASE_ROLL_ENTRY.modifier })
table.insert(skills, { name = UNSKILLED_ENTRY.name, level = UNSKILLED_ENTRY.level, modifier = UNSKILLED_ENTRY.modifier })
local foundAny = false
@ -89,7 +94,7 @@ function AltSystem.Data:RefreshSkills()
end
end
-- If no valid skills were found, use the default fallback list (skip first "Inept" since we already added it)
-- If no valid skills were found, use the default fallback list
if not foundAny then
skills = {}
for _, skill in ipairs(DEFAULT_SKILLS) do