-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
64 lines (48 loc) · 2.29 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Games::RollDice
THIS MODULE IS STILL UNDERGOING DEVELOPMENT. It is not complete yet. The description below
describes what it _will_ do, not what it does now.
You can use this module to generate a roll of an N-sided die, or many N-sided dice. Notation is
standard RPG (such as D&D) notation, but extended with some custom operators. Examples:
# D&D
my @results = roll("3d6"); # returns 3 random numbers, each from 1 to 6
my $result = roll("3d6"); # same thing, but add them together and return the sum
my $result = roll("3+d6"); # roll 4d6, drop the lowest result, return sum of the rest
my $result = roll("3++d6"); # same thing, but best 3 out of 5
my $result = roll("3*d6"); # "first die full" (same as 2d6 + 6)
my $result = roll("3**d6"); # same as 1d6 + 12
my $result = roll("3^d6"); # 3d6, but any 1s count as 2s
my $result = roll("3^^d6"); # 1s and 2s count as 3s
my $result = roll("3^*++d6"); # can make wacky combos
my $result = roll("3+*+^d6"); # order of the symbols doesn't matter
my $result = roll("d%"); # return a number between 1 and 100
my $result = roll("85@d%"); # return 1 if d% is 85 or higher, else 0
# Storyteller
my $result = roll("7@5d10"); # instead of sum, return count of results that are >= 7
my @result = roll("7@5d10"); # *exactly* the same as roll("5d10") in list context
my $result = roll("7@5&d10"); # a 10 counts as a 10, plus you roll another d10
my $result = roll("7@5&&d10"); # reroll 9s and 10s
# Fudge
my $result = roll("4dF"); # returns a number between -4 and 4
# Heroscape
my $result = roll("3A"); # roll 3 attack dice; return number of skulls
my $result = roll("3D"); # roll 3 defense dice; return number of shields
my $result = roll("3V"); # roll 3 Valkyrie dice; return number of Valkyrie symbols
my $result = roll("3&A"); # 3 Valk dice, reroll symbols, return number of skulls
INSTALLATION
To install this module, run the following commands:
perl Makefile.PL
make
make test
make install
Alternatively, to install with Module::Build, you can use the
following commands:
perl Build.PL
./Build
./Build test
./Build install
DEPENDENCIES
None.
COPYRIGHT AND LICENSE
Copyright (C) 2011, Buddy Burden
This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself.