diff --git a/Data.lua b/Data.lua index d95773d..38ccf11 100644 --- a/Data.lua +++ b/Data.lua @@ -12,12 +12,12 @@ AltSystem.Data.SkillLevels = { ["Master"] = 4, } --- The "Unskilled" entry is always the first (default) skill -local UNSKILLED_ENTRY = { name = "Unskilled", level = "Unskilled", modifier = -4 } +-- The "Inept" entry is always the first (default) 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 = "Unskilled", level = "Unskilled", modifier = -4 }, + { name = "Inept", level = "Inept", modifier = -4 }, { name = "Novice Skill", level = "Novice", modifier = -2 }, { name = "Adept Skill", level = "Adept", modifier = 0 }, { name = "Expert Skill", level = "Expert", modifier = 2 }, @@ -56,12 +56,12 @@ local function ParseSkillLevel(numericValue) end -- Fetch skills from the current TRP3 profile's personality traits. --- Returns an array of skill entries, always starting with "Unskilled". +-- Returns an array of skill entries, always starting with "Inept". -- Falls back to the default list if no profile or no valid skills are found. function AltSystem.Data:RefreshSkills() local skills = {} - -- Always add Unskilled as the first entry + -- Always add Inept as the first entry table.insert(skills, { name = UNSKILLED_ENTRY.name, level = UNSKILLED_ENTRY.level, modifier = UNSKILLED_ENTRY.modifier }) local foundAny = false @@ -89,7 +89,7 @@ function AltSystem.Data:RefreshSkills() end end - -- If no valid skills were found, use the default fallback list (skip first "Unskilled" since we already added it) + -- If no valid skills were found, use the default fallback list (skip first "Inept" since we already added it) if not foundAny then skills = {} for _, skill in ipairs(DEFAULT_SKILLS) do diff --git a/Roll.lua b/Roll.lua index 28f3752..aa1f97e 100644 --- a/Roll.lua +++ b/Roll.lua @@ -31,6 +31,19 @@ end) -- Calculate the final result based on the roll type and selected modifiers function AltSystem:CalculateAndDisplayResult(rollType, rollValue) + -- Critical rolls bypass normal calculation + if rollValue == 1 then + if AltSystem.ResultText then + AltSystem.ResultText:SetText("|cffff0000Critical Failure|r") + end + return + elseif rollValue == 20 then + if AltSystem.ResultText then + AltSystem.ResultText:SetText("|cff00ff00Critical Success|r") + end + return + end + local state = AltSystem.State local skill = AltSystem.Data.Skills[state.selectedSkillIndex] local item = AltSystem.Data.Items[state.selectedItemIndex] diff --git a/UI.lua b/UI.lua index 5d64ea6..cea1152 100644 --- a/UI.lua +++ b/UI.lua @@ -16,7 +16,7 @@ local function BuildSkillOptions() for _, skill in ipairs(AltSystem.Data.Skills) do local sign = skill.modifier >= 0 and "+" or "" local text - if skill.level == "Unskilled" then + if skill.level == "Inept" then text = skill.name .. " (" .. sign .. skill.modifier .. ")" else text = skill.name .. " (" .. skill.level .. " " .. sign .. skill.modifier .. ")" @@ -210,7 +210,7 @@ end function AltSystem:RefreshSkillDropdown() AltSystem.Data:RefreshSkills() - -- Reset selection to 1 (Unskilled) since the skill list may have changed + -- Reset selection to 1 (Inept) since the skill list may have changed AltSystem.State.selectedSkillIndex = 1 if AltSystem.SetSkillIndex then AltSystem.SetSkillIndex(1) diff --git a/docs/2-skills.md b/docs/2-skills.md index c7ec7fb..f118ffe 100644 --- a/docs/2-skills.md +++ b/docs/2-skills.md @@ -10,6 +10,6 @@ - Expert: 11-19 - Master: 20 - should a skill have a value of 0 or no value, it should be omitted from the list -- The list should have a default selected value of "Unskilled" which corresponds to a -4 modifier +- The list should have a default selected value of "Inept" which corresponds to a -4 modifier - In case no skills are found in the profile, or no profile is selected, a default list should be displayed - - Unskilled, Novice Skill, Adept Skill, Expert Skill, Master Skill \ No newline at end of file + - Inept, Novice Skill, Adept Skill, Expert Skill, Master Skill \ No newline at end of file