fifthed_sim 0.2.3 → 0.3.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 +4 -4
- data/exe/diceroll +0 -2
- data/lib/fifthed_sim/compiler/parser.rb +2 -1
- data/lib/fifthed_sim/roll_repl.rb +20 -14
- data/lib/fifthed_sim/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 013d357049f4fc8bad49ca544b13df32f870a7a4
|
4
|
+
data.tar.gz: 3e28e9a9267b05a799dafb8f1f4b483c1b3d552e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a96cd8c16966da8e5499a29449d0c60fbdfaa1547071ac9600654f0e63c468a2eae9960c9dd171886dc0ebb790167d6820ed0f34352a9ddaa26c0f25272d74bf
|
7
|
+
data.tar.gz: 7c301fcfae55be5335fc9d34dec483d1bcb599e5a4125d3f60040345ca87db2701227839b47eb875ab1093345d63eb57a2ec6a7a2014c60a2dc2a98cc2c17da4
|
data/exe/diceroll
CHANGED
@@ -15,7 +15,8 @@ class FifthedSim::Compiler
|
|
15
15
|
.as(:dice)
|
16
16
|
end
|
17
17
|
rule(:base_term) { (dice | number) >> space? }
|
18
|
-
rule(:
|
18
|
+
rule(:parenthetical) { lparen >> addition >> rparen }
|
19
|
+
rule(:primary) { parenthetical | base_term }
|
19
20
|
|
20
21
|
rule(:add_op) { match('\+|-').as(:op) >> space? }
|
21
22
|
rule(:addition) do
|
@@ -1,8 +1,11 @@
|
|
1
1
|
module FifthedSim
|
2
2
|
class RollRepl
|
3
|
-
def initialize(inspect
|
3
|
+
def initialize(inspect: true,
|
4
|
+
errors: false,
|
5
|
+
auto_info: false)
|
4
6
|
@inspect = inspect
|
5
7
|
@errors = errors
|
8
|
+
@auto_info = auto_info
|
6
9
|
end
|
7
10
|
|
8
11
|
def run(kill_on_interrupt = false)
|
@@ -18,11 +21,15 @@ module FifthedSim
|
|
18
21
|
end
|
19
22
|
end
|
20
23
|
|
21
|
-
def
|
24
|
+
def info_command(cmd)
|
22
25
|
s = cmd.gsub(/info/, "").chomp
|
23
26
|
if s.length > 0
|
24
|
-
|
27
|
+
roll(s)
|
25
28
|
end
|
29
|
+
print_last_info
|
30
|
+
end
|
31
|
+
|
32
|
+
def print_last_info
|
26
33
|
return error_msg("Have nothing to get info of") unless @last_roll
|
27
34
|
lb = ->(x){Rainbow(x).color(:yellow).bright.to_s + ": "}
|
28
35
|
a = %i(max min percentile).map do |p|
|
@@ -33,7 +40,8 @@ module FifthedSim
|
|
33
40
|
|
34
41
|
def reroll
|
35
42
|
return error_msg("Nothing to reroll") unless @last_roll
|
36
|
-
|
43
|
+
@last_roll = @last_roll.reroll
|
44
|
+
display_roll(@last_roll)
|
37
45
|
end
|
38
46
|
|
39
47
|
def run_cmd(cmd)
|
@@ -42,15 +50,16 @@ module FifthedSim
|
|
42
50
|
self.exit
|
43
51
|
when "rr", "reroll"
|
44
52
|
self.reroll
|
45
|
-
when
|
46
|
-
|
47
|
-
self.info(cmd)
|
53
|
+
when "info"
|
54
|
+
info_command(cmd)
|
48
55
|
when "help"
|
49
56
|
self.help
|
50
57
|
when "inspect"
|
51
58
|
toggle_inspect
|
52
59
|
when "errors"
|
53
60
|
toggle_errors
|
61
|
+
when "autoinfo"
|
62
|
+
toggle_auto_info
|
54
63
|
else
|
55
64
|
self.roll(cmd)
|
56
65
|
end
|
@@ -69,12 +78,9 @@ module FifthedSim
|
|
69
78
|
end
|
70
79
|
|
71
80
|
def display_roll(r)
|
72
|
-
if @inspect
|
73
|
-
|
74
|
-
|
75
|
-
else
|
76
|
-
puts r.value.to_s
|
77
|
-
end
|
81
|
+
puts " = " + r.value_equation(terminal: true) if @inspect
|
82
|
+
puts " => " + Rainbow(r.value.to_s).underline.bright.to_s
|
83
|
+
print_last_info if @auto_info
|
78
84
|
end
|
79
85
|
|
80
86
|
def error_msg(msg)
|
@@ -89,7 +95,7 @@ module FifthedSim
|
|
89
95
|
end
|
90
96
|
end
|
91
97
|
|
92
|
-
[:inspect, :errors].each do |m|
|
98
|
+
[:inspect, :errors, :auto_info].each do |m|
|
93
99
|
send(:define_method, "toggle_#{m}") do
|
94
100
|
t = instance_variable_get("@#{m}")
|
95
101
|
puts "#{m}: #{t.inspect} => #{(!t).inspect}"
|
data/lib/fifthed_sim/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fifthed_sim
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anthony Super
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parslet
|