droll 1.0rc5.4.0 → 1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|