Module:DoD: Difference between revisions
No edit summary |
No edit summary |
||
Line 10: | Line 10: | ||
-- Extract the number of dice, the type of dice, and the modifier from the dice code | -- Extract the number of dice, the type of dice, and the modifier from the dice code | ||
local numDice, diceType, modifier = string.match(diceCode, "(%d+)d(%d+)([%+%-]?%d*)") | local numDice, diceType, modifier = string.match(diceCode, "(%d+)d(%d+)([%+%-]?%d*)") | ||
-- Check if any match is found | |||
if not numDice or not diceType then | |||
return "Error: Invalid dice code" | |||
end | |||
-- If no modifier is provided, set it to 0 | -- If no modifier is provided, set it to 0 |
Revision as of 10:03, 6 February 2024
Script error: The function "skills" does not exist.
0-22 : Cost of 3 : Script error: The function "calculate_A_cost" does not exist.
0-18 : Cost of 2 : Script error: The function "calculate_A_cost" does not exist.
5-10 : Cost of 1 : Script error: The function "calculate_A_cost" does not exist.
B_Skill at level 1 : Cost of 5 Script error: The function "calculate_B_cost" does not exist.
B_Skill at level 2 : Cost of 5 Script error: The function "calculate_B_cost" does not exist.
B_Skill at level 3 : Cost of 5 Script error: The function "calculate_B_cost" does not exist.
B_Skill at level 4 : Cost of 5 Script error: The function "calculate_B_cost" does not exist.
B_Skill at level 5 : Cost of 5 Script error: The function "calculate_B_cost" does not exist.
B_Skill at level 5 from 2 : Cost of 5 Script error: The function "calculate_B_cost" does not exist.
local p = {} -- Function to parse D&D dice codes and return median value function p.calculateMedian(diceCode) -- Check if diceCode is nil or empty if not diceCode or diceCode == "" then return "Error: No input provided" end -- Extract the number of dice, the type of dice, and the modifier from the dice code local numDice, diceType, modifier = string.match(diceCode, "(%d+)d(%d+)([%+%-]?%d*)") -- Check if any match is found if not numDice or not diceType then return "Error: Invalid dice code" end -- If no modifier is provided, set it to 0 modifier = modifier == "" and 0 or tonumber(modifier) -- Calculate the median value local median = math.floor((tonumber(numDice) * ((tonumber(diceType) + 1) / 2)) + modifier) return median end return p