Module:DoD: Difference between revisions
No edit summary |
No edit summary |
||
| Line 25: | Line 25: | ||
-- Calculate the median value | -- Calculate the median value | ||
local median = math.floor | local median = numDice * math.floor((diceType + 1) / 2) + modifier | ||
return median | return median | ||
Revision as of 10:09, 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 type(diceCode) ~= "table" or not diceCode.args[1] then
return "Error: No valid input provided"
end
local diceString = diceCode.args[1]
-- Extract the number of dice from the dice code
local numDice = tonumber(string.match(diceString, "(%d+)d"))
-- Extract the type of dice from the dice code
local diceType = tonumber(string.match(diceString, "d(%d+)"))
-- Extract the modifier from the dice code
local modifier = tonumber(string.match(diceString, "[%+%-]?%d+$")) or 0
-- Check if any of the extracted values are nil
if not numDice or not diceType then
return "Error: Invalid dice code"
end
-- Calculate the median value
local median = numDice * math.floor((diceType + 1) / 2) + modifier
return median
end
return p