Implement dice and percent as global lua functions
Intended to simplify many of the math.random calls currently in use, and make them more semantic and thus more readable. The dice function d() takes either a two-argument form which is the same as in the C source (number of dice, faces per die) or a one-argument form that rolls a single die. The percent(N) function returns true N% of the time.
This commit is contained in:
committed by
Pasi Kallinen
parent
fd89663a0f
commit
c4bb3c904f
@@ -21,3 +21,23 @@ end
|
||||
|
||||
align = { "law", "neutral", "chaos" };
|
||||
shuffle(align);
|
||||
|
||||
-- d(2,6) = 2d6
|
||||
-- d(20) = 1d20 (single argument = implicit 1 die)
|
||||
function d(dice, faces)
|
||||
if (faces == nil) then
|
||||
-- 1-arg form: argument "dice" is actually the number of faces
|
||||
return math.random(1, dice)
|
||||
else
|
||||
local sum = 0
|
||||
for i=1,dice do
|
||||
sum = sum + math.random(1, faces)
|
||||
end
|
||||
return sum
|
||||
end
|
||||
end
|
||||
|
||||
-- percent(20) returns true 20% of the time
|
||||
function percent(threshold)
|
||||
return math.random(0,99) < threshold
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user