droll 1.0rc5.4.0 → 1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/COPYING +2 -3
- data/README.md +56 -34
- data/bin/droll +1 -1
- data/lib/droll.rb +1 -1
- metadata +6 -6
data/COPYING
CHANGED
@@ -1,6 +1,5 @@
|
|
1
|
-
The droll project is copyright 2010
|
2
|
-
|
3
|
-
for license text.
|
1
|
+
The droll project is copyright 2010 Chad Perrin, and may be distributed under
|
2
|
+
the terms of the Open Works License. See the owl.txt file for license text.
|
4
3
|
|
5
4
|
The Rubinius implementation of Ruby allows distribution under the terms of the
|
6
5
|
MIT/X11 license. See the [Rubinius project](http://rubini.us) for more details
|
data/README.md
CHANGED
@@ -1,23 +1,27 @@
|
|
1
|
-
#
|
1
|
+
# Droll
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
This dice rolling simulator was designed as a digital aid for playing
|
4
|
+
roleplaying games, and named "droll" as an abbreviation for "die roll" or "dice
|
5
|
+
roller". The term "droll" also seemed apt as a reference to its beginnings as
|
6
|
+
an amusing little toy program, though it now offers reasonably sophisticated
|
7
|
+
support for different dice-rolling techniques used in various RPGs. It is a
|
8
|
+
Ruby library with included command line interface (`droll`) and IRC dicebot
|
9
|
+
(`drollbot`).
|
6
10
|
|
7
11
|
At present, droll provides a number of different die rolling techniques,
|
8
12
|
including simplistic roll-and-sum, various exploding roll schemes, counting
|
9
13
|
dice that meet a threshhold, and rolling several dice then discarding some by
|
10
14
|
threshhold before summing. Threshholds are typically the highest possible
|
11
15
|
number for the die type, or the maximum possible for the sum in some cases, or
|
12
|
-
even the lowest possible number for the die type, though alternate
|
16
|
+
even the lowest possible number for the die type, though alternate threshholds
|
13
17
|
can be used.
|
14
18
|
|
15
19
|
Use NdN as the pattern for normal die rolls (where N stands in for a number),
|
16
|
-
and NxN for exploding die rolls. Modifiers can be included as
|
17
|
-
NdN-N. Die codes, at this time, do not work if they have spaces
|
18
|
-
Certain die codes are rejected (i.e. 0x0). Exploding is limited to
|
19
|
-
unreasonably high number (1000), to prevent crashing. Specifying alternate
|
20
|
-
|
20
|
+
and NxN for exploding die rolls, for instance. Modifiers can be included as
|
21
|
+
well: NdN+N or NdN-N. Die codes, at this time, do not work if they have spaces
|
22
|
+
in them. Certain die codes are rejected (i.e. 0x0). Exploding is limited to
|
23
|
+
an unreasonably high number (1000), to prevent crashing. Specifying alternate
|
24
|
+
threshholds uses a .N syntax (NxN.N). Die values are chosen (pseudo)randomly
|
21
25
|
from numbers between 1 and N (the number following the x or d), or between 0
|
22
26
|
and N if the N is preceded by a 0 character. An example of the full
|
23
27
|
sophistication of die code parsing is:
|
@@ -34,15 +38,28 @@ immediately rolled to handle exploding die values.
|
|
34
38
|
|
35
39
|
## installation
|
36
40
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
the
|
41
|
+
Installing the Ruby programming language's runtime is a relatively simple
|
42
|
+
operation, and a prerequisite for running droll (because it is a Ruby project).
|
43
|
+
The "standard" reference implementation, often called MRI/YARV (for Matz' Ruby
|
44
|
+
Implementation + Yet Another Ruby VM) is available in the default software
|
45
|
+
management system of most open source Unix-like operating systems as well as
|
46
|
+
Apple MacOS X, though you should make sure your system uses the 1.9 version of
|
47
|
+
ruby instead of the older 1.8 version (see below). For users of Microsoft
|
48
|
+
Windows, the [RubyInstaller for Windows](http://rubyinstaller.org/) makes Ruby
|
49
|
+
easy to install there, as well.
|
41
50
|
|
42
|
-
|
51
|
+
The normal way to install Ruby on most operating systems will also install the
|
52
|
+
gems tool, which is a sort of software management system specific to Ruby
|
53
|
+
tools, and is the way most Ruby libraries and applications are distributed,
|
54
|
+
including droll.
|
43
55
|
|
44
|
-
|
45
|
-
use the gem command
|
56
|
+
Once you have Ruby installed with rubygems, installing droll should be easy.
|
57
|
+
Just use the gem command:
|
58
|
+
|
59
|
+
$ gem install droll
|
60
|
+
|
61
|
+
You can also download the gem package from the [Bitbucket project][bitbucket]
|
62
|
+
and use the gem command to install it:
|
46
63
|
|
47
64
|
$ gem install droll-<version>.gem
|
48
65
|
|
@@ -60,6 +77,15 @@ systems, please feel free to submit patches to this README file via one of the
|
|
60
77
|
approaches detailed in the **contributions** section at the bottom of this
|
61
78
|
file.
|
62
79
|
|
80
|
+
### Ruby 1.8
|
81
|
+
|
82
|
+
Droll assumes Ruby 1.9.x, and some die code validation (for zero-based die
|
83
|
+
codes, e.g. 1d05) does not work properly. Normally, it will not install on a
|
84
|
+
system using a version of Ruby older than 1.9, but this can be overridden if
|
85
|
+
you wish by using the `-f` option with the `gem install` command:
|
86
|
+
|
87
|
+
$ gem install -f droll
|
88
|
+
|
63
89
|
## usage
|
64
90
|
|
65
91
|
The following sections explain how to use the executable tools that come with
|
@@ -71,14 +97,14 @@ dicebot.
|
|
71
97
|
|
72
98
|
Using the basic droll program from the command line is pretty simple:
|
73
99
|
|
74
|
-
|
100
|
+
$ droll d20
|
75
101
|
d20: [15] + 0 = 15
|
76
|
-
|
102
|
+
$ droll 2d4+3
|
77
103
|
2d4+3: [1, 2] + 3 = 6
|
78
|
-
|
104
|
+
$ droll 1d10 2d03
|
79
105
|
1d10: [1] + 0 = 1
|
80
106
|
2d03: [3, 2] + 0 = 5
|
81
|
-
|
107
|
+
$ droll 4x05.4+7
|
82
108
|
4x05.4+7: [5, 2, 0, 4, 0, 1] + 7 = 19
|
83
109
|
|
84
110
|
In each example, the numbers between `[brackets]`, separated by commas, are the
|
@@ -140,17 +166,13 @@ to see more information about configuring drollbot.
|
|
140
166
|
|
141
167
|
## license
|
142
168
|
|
143
|
-
Droll project files may be redistributed under the terms of the Open Works
|
144
|
-
License.
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
The OWL was chosen with a conscious adherence to copyfree policies. See the
|
149
|
-
[Copyfree Initiative][copyfree] site for more details about the copyfree
|
150
|
-
philosophy of licensing.
|
169
|
+
Droll project files may be redistributed under the terms of the [Open Works
|
170
|
+
License][owl]. The OWL was chosen with a conscious adherence to copyfree
|
171
|
+
policies. See the [Copyfree Initiative][copyfree] site for more details about
|
172
|
+
the copyfree philosophy of licensing.
|
151
173
|
|
152
|
-
See the COPYING file for more information about
|
153
|
-
droll and the code associated with it.
|
174
|
+
See the COPYING file in the project repository for more information about
|
175
|
+
copyright and licensing for droll and the code associated with it.
|
154
176
|
|
155
177
|
|
156
178
|
## contributions
|
@@ -162,7 +184,7 @@ using the `export` command. To produce a patch based on the most recent
|
|
162
184
|
commits in your local clone of the project, this command should suffice to
|
163
185
|
produce a usable patch for an update from the immediately previous commit:
|
164
186
|
|
165
|
-
|
187
|
+
$ hg export tip
|
166
188
|
|
167
189
|
* Patches may be submitted via the issue tracker, as a comment with attachment
|
168
190
|
in response to whatever issue it fixes.
|
@@ -171,8 +193,8 @@ produce a usable patch for an update from the immediately previous commit:
|
|
171
193
|
* Another way to submit contributions is to clone the project on
|
172
194
|
[Bitbucket][bitbucket] and send a "pull request" from the clone when changes
|
173
195
|
have been made. The process of submitting contributions via fork and pull
|
174
|
-
request is described in a TechRepublic article:
|
175
|
-
Projects Using Forks and Pull Requests*][forkpull].
|
196
|
+
request is described in a TechRepublic article:
|
197
|
+
[*Contribute to Bitbucket Projects Using Forks and Pull Requests*][forkpull].
|
176
198
|
|
177
199
|
[owl]: http://owl.apotheon.org
|
178
200
|
[copyfree]: http://copyfree.org
|
data/bin/droll
CHANGED
@@ -3,7 +3,7 @@ require 'optparse'
|
|
3
3
|
require 'droll'
|
4
4
|
|
5
5
|
help_text = {
|
6
|
-
:quiet
|
6
|
+
:quiet => 'Suppress verbose output.',
|
7
7
|
:help => 'Display this help text.',
|
8
8
|
:syntax => 'Display comprehensive syntax help.',
|
9
9
|
:version => 'Display version and license information.'
|
data/lib/droll.rb
CHANGED
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: droll
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: '1.0'
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Chad Perrin
|
@@ -13,7 +13,7 @@ date: 2012-06-04 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: isaac
|
16
|
-
requirement: &
|
16
|
+
requirement: &4302560 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '0.2'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *4302560
|
25
25
|
description: ! " Droll is a Ruby library providing dice roller functionality, with
|
26
26
|
a command\n line utility and an IRC bot as included user interfaces. It was
|
27
27
|
created\n with roleplaying gamers in mind, with a range of sophisticated capabilities\n
|
@@ -60,9 +60,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
60
60
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
|
-
- - ! '
|
63
|
+
- - ! '>='
|
64
64
|
- !ruby/object:Gem::Version
|
65
|
-
version:
|
65
|
+
version: '0'
|
66
66
|
requirements: []
|
67
67
|
rubyforge_project:
|
68
68
|
rubygems_version: 1.8.15
|