Module:DoD: Difference between revisions
No edit summary |
No edit summary |
||
Line 33: | Line 33: | ||
median = numDice * medianPerRoll | median = numDice * medianPerRoll | ||
-- Add modifier to the total median | -- Add modifier to the total median | ||
median = median + modifier | median = math.ceil (median + modifier) | ||
else | else | ||
return "Error: Invalid number of sides for dice" | return "Error: Invalid number of sides for dice" |
Revision as of 14: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(frame) -- Extract the dice code from the function argument local diceCode = frame.args[1] -- Check if diceCode is nil or empty if not diceCode then return "Error: No valid input provided" end -- Extract the number of dice, number of sides per dice, and modifier local numDice, diceType, modifier = string.match(diceCode, "(%d+)d(%d+)([%+%-]?%d*)") -- If no modifier is provided, set it to 0 modifier = tonumber(modifier) 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 of rolling the dice local median = 0 local totalSides = tonumber(diceType) -- Calculate the median value of rolling the dice if totalSides then -- Calculate median for each die roll local medianPerRoll = (totalSides + 1) / 2 -- Calculate the total median without modifier median = numDice * medianPerRoll -- Add modifier to the total median median = math.ceil (median + modifier) else return "Error: Invalid number of sides for dice" end return median end return p