lita-dicebag 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.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/README.md +23 -0
- data/Rakefile +6 -0
- data/lib/lita-dicebag.rb +12 -0
- data/lib/lita/handlers/dicebag.rb +43 -0
- data/lita-dicebag.gemspec +22 -0
- data/locales/en.yml +4 -0
- data/spec/lita/handlers/dicebag_spec.rb +4 -0
- data/spec/spec_helper.rb +6 -0
- data/templates/.gitkeep +0 -0
- metadata +114 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3234b74045eca233812109b3544c686156ba8e03
|
4
|
+
data.tar.gz: d5c330597e575f0de189b02c911f460cd2b47103
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2dfee74fa12729b2578423d1ef6e96f2ff196b785134cdb6cf8abd6d8ec0cb0c33a4a39399595353deb9eb0aaee0e486ee2fbe879560e680b8c3fdb83b0f2fbb
|
7
|
+
data.tar.gz: b4f29b6d084e407b155ec64d821f3a1729e6965d3daa960d12795f8c1230f8522954b876888740c0f0d0047cb94009f8c830692277372736a751e9c3eed4b92c
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/README.md
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
# lita-dicebag
|
2
|
+
|
3
|
+
Add a dice roller to Lita
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add lita-dicebag to your Lita instance's Gemfile:
|
8
|
+
|
9
|
+
``` ruby
|
10
|
+
gem "lita-dicebag"
|
11
|
+
```
|
12
|
+
|
13
|
+
|
14
|
+
## Usage
|
15
|
+
|
16
|
+
```
|
17
|
+
!roll 4d6 r2
|
18
|
+
!roll 4d6 d1
|
19
|
+
!roll 4d6 k1
|
20
|
+
!roll 1d20 e20
|
21
|
+
!roll 4d10 t8
|
22
|
+
!roll 2d6 + 5 * 3 - 6
|
23
|
+
```
|
data/Rakefile
ADDED
data/lib/lita-dicebag.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require "lita"
|
2
|
+
|
3
|
+
Lita.load_locales Dir[File.expand_path(
|
4
|
+
File.join("..", "..", "locales", "*.yml"), __FILE__
|
5
|
+
)]
|
6
|
+
|
7
|
+
require "lita/handlers/dicebag"
|
8
|
+
|
9
|
+
Lita::Handlers::Dice_bag.template_root File.expand_path(
|
10
|
+
File.join("..", "..", "templates"),
|
11
|
+
__FILE__
|
12
|
+
)
|
@@ -0,0 +1,43 @@
|
|
1
|
+
require 'dicebag'
|
2
|
+
|
3
|
+
module Lita
|
4
|
+
module Handlers
|
5
|
+
class Dice_bag < Handler
|
6
|
+
route(/^!roll\s+?(.*)/i, :diceroll, help: {
|
7
|
+
'roll 4d6 r2' => 'Roll 4d6 reroll 1\'s & 2\'s',
|
8
|
+
'roll 4d6 d1' => 'Roll 4d6 drop lowest 1 die',
|
9
|
+
'roll 4d6 k1' => 'Roll 4d6 keep highest 1 die',
|
10
|
+
'roll 1d20 e20' => 'Roll 1d20 if 20 expode and roll, adding the two rolls together',
|
11
|
+
'roll 4d10 t8' => 'Roll 4d10 and result of each die must be above 8 to count as a success',
|
12
|
+
'roll 2d6 + 5 * 3 - 6' => 'Roll the 2d6 for the total, then add 5 to it, then multiply that total by 3, and finally subtract 6',
|
13
|
+
# '' => '',
|
14
|
+
})
|
15
|
+
|
16
|
+
def diceroll(response)
|
17
|
+
dstr, _ = response.matches.first
|
18
|
+
log.info "Dice Roll #{dstr}"
|
19
|
+
if dstr.nil? then return end
|
20
|
+
dice = DiceBag::Roll.new(dstr)
|
21
|
+
result = dice.result()
|
22
|
+
output_a = [result, '||']
|
23
|
+
result.each do |section|
|
24
|
+
if output_a.length > 2
|
25
|
+
output_a << '#'
|
26
|
+
end
|
27
|
+
case section
|
28
|
+
when DiceBag::RollPart
|
29
|
+
output_a << "#{section.total}(#{section.tally.join(',')})"
|
30
|
+
when DiceBag::StaticPart
|
31
|
+
output_a << "#{section}(#{section.total})"
|
32
|
+
else
|
33
|
+
log.info "Encountered unhandled option #{section.class}"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
response.reply "#{response.user.name} rolled #{output_a.join(' ')}"
|
37
|
+
end
|
38
|
+
|
39
|
+
Lita.register_handler(self)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
Gem::Specification.new do |spec|
|
2
|
+
spec.name = "lita-dicebag"
|
3
|
+
spec.version = "0.1.0"
|
4
|
+
spec.authors = ["Craig Davis"]
|
5
|
+
spec.email = ["cdavis@stoneydavis.com"]
|
6
|
+
spec.description = "Add a dice roller to Lita"
|
7
|
+
spec.summary = "Use DiceBag to make dice rolls"
|
8
|
+
spec.homepage = "https://github.com/syntruth/Dice-Bag"
|
9
|
+
spec.license = "GPLv3"
|
10
|
+
spec.metadata = { "lita_plugin_type" => "handler" }
|
11
|
+
|
12
|
+
spec.files = `git ls-files`.split($/)
|
13
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
14
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
15
|
+
spec.require_paths = ["lib"]
|
16
|
+
|
17
|
+
spec.add_runtime_dependency "lita", "~> 4.0"
|
18
|
+
spec.add_runtime_dependency "dicebag", "~> 3.0"
|
19
|
+
|
20
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
21
|
+
spec.add_development_dependency "rspec", ">= 3.0.0"
|
22
|
+
end
|
data/locales/en.yml
ADDED
data/spec/spec_helper.rb
ADDED
data/templates/.gitkeep
ADDED
File without changes
|
metadata
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: lita-dicebag
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Craig Davis
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-09-28 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: lita
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: dicebag
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '3.0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '3.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: bundler
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.3'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.3'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 3.0.0
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 3.0.0
|
69
|
+
description: Add a dice roller to Lita
|
70
|
+
email:
|
71
|
+
- cdavis@stoneydavis.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- ".gitignore"
|
77
|
+
- Gemfile
|
78
|
+
- README.md
|
79
|
+
- Rakefile
|
80
|
+
- lib/lita-dicebag.rb
|
81
|
+
- lib/lita/handlers/dicebag.rb
|
82
|
+
- lita-dicebag.gemspec
|
83
|
+
- locales/en.yml
|
84
|
+
- spec/lita/handlers/dicebag_spec.rb
|
85
|
+
- spec/spec_helper.rb
|
86
|
+
- templates/.gitkeep
|
87
|
+
homepage: https://github.com/syntruth/Dice-Bag
|
88
|
+
licenses:
|
89
|
+
- GPLv3
|
90
|
+
metadata:
|
91
|
+
lita_plugin_type: handler
|
92
|
+
post_install_message:
|
93
|
+
rdoc_options: []
|
94
|
+
require_paths:
|
95
|
+
- lib
|
96
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
101
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - ">="
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '0'
|
106
|
+
requirements: []
|
107
|
+
rubyforge_project:
|
108
|
+
rubygems_version: 2.5.1
|
109
|
+
signing_key:
|
110
|
+
specification_version: 4
|
111
|
+
summary: Use DiceBag to make dice rolls
|
112
|
+
test_files:
|
113
|
+
- spec/lita/handlers/dicebag_spec.rb
|
114
|
+
- spec/spec_helper.rb
|