File tree 2 files changed +7
-13
lines changed
2 files changed +7
-13
lines changed Original file line number Diff line number Diff line change @@ -55,16 +55,9 @@ def dice_op(self, opsel):
55
55
return SetOperator .new (* opsel )
56
56
57
57
def diceexpr (self , dice ):
58
- reduced_dice = []
59
- for token in dice :
60
- if isinstance (token , Token ):
61
- reduced_dice .append (token )
62
- else :
63
- reduced_dice .append (token .children [0 ])
64
-
65
- if len (reduced_dice ) == 1 :
66
- return Dice (1 , * reduced_dice )
67
- return Dice (* reduced_dice )
58
+ if len (dice ) == 1 :
59
+ return Dice (1 , * dice )
60
+ return Dice (* dice )
68
61
69
62
def selector (self , sel ):
70
63
return SetSelector (* sel )
@@ -423,12 +416,12 @@ class Dice(Node): # diceexpr
423
416
def __init__ (self , num , size ):
424
417
"""
425
418
:type num: lark.Token or int
426
- :type size: lark.Token or int
419
+ :type size: lark.Token or int or str
427
420
"""
428
421
super ().__init__ ()
429
422
self .num = int (num )
430
- if size . value == "%" :
431
- self .size = size . value
423
+ if str ( size ) == "%" :
424
+ self .size = str ( size )
432
425
else :
433
426
self .size = int (size )
434
427
Original file line number Diff line number Diff line change @@ -33,6 +33,7 @@ def test_sane_totals():
33
33
assert 1 <= r ("1d20" ) <= 20
34
34
assert 0 <= r ("1d%" ) <= 90
35
35
assert 0 <= r ("1d%" ) % 10 <= 9
36
+ assert r ("1d%" ) % 10 == 0
36
37
assert 3 <= r ("4d6kh3" ) <= 18
37
38
assert 1 <= r ("(((1d6)))" ) <= 6
38
39
assert 4 <= r ("(1d4, 2+2, 3d6kl1)kh1" ) <= 6
You can’t perform that action at this time.
0 commit comments