bcdice 3.16.1 → 3.17.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.
Files changed (149) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +111 -0
  3. data/i18n/Airgetlamh/ja_jp.yml +5 -0
  4. data/i18n/Airgetlamh/ko_kr.yml +5 -0
  5. data/i18n/Alsetto/ja_jp.yml +5 -0
  6. data/i18n/Alsetto/ko_kr.yml +5 -0
  7. data/i18n/AnimaAnimus/ja_jp.yml +28 -0
  8. data/i18n/AnimaAnimus/ko_kr.yml +28 -0
  9. data/i18n/BlackJacket/ja_jp.yml +79 -0
  10. data/i18n/BlackJacket/ko_kr.yml +79 -0
  11. data/i18n/Bloodorium/ja_jp.yml +3 -0
  12. data/i18n/Bloodorium/ko_kr.yml +3 -0
  13. data/i18n/Cthulhu/ko_kr.yml +1 -1
  14. data/i18n/Dracurouge/ko_kr.yml +1284 -205
  15. data/i18n/Emoklore/ja_jp.yml +1 -0
  16. data/i18n/Emoklore/ko_kr.yml +1 -0
  17. data/i18n/FutariSousa/ja_jp.yml +70 -0
  18. data/i18n/FutariSousa/ko_kr.yml +157 -0
  19. data/i18n/HatsuneMiku/ja_jp.yml +579 -0
  20. data/i18n/HatsuneMiku/ko_kr.yml +579 -0
  21. data/i18n/Irisbane/ja_jp.yml +27 -0
  22. data/i18n/Irisbane/ko_kr.yml +27 -0
  23. data/i18n/JuinKansen/ja_jp.yml +168 -0
  24. data/i18n/JuinKansen/ko_kr.yml +168 -0
  25. data/i18n/KemonoNoMori/ja_jp.yml +229 -0
  26. data/i18n/KemonoNoMori/ko_kr.yml +229 -0
  27. data/i18n/KizunaBullet/ko_kr.yml +653 -0
  28. data/i18n/MagicPunk/ja_jp.yml +5 -0
  29. data/i18n/MagicPunk/ko_kr.yml +5 -0
  30. data/i18n/MorkBorg/ja_jp.yml +34 -0
  31. data/i18n/MorkBorg/ko_kr.yml +34 -0
  32. data/i18n/Nechronica/ko_kr.yml +43 -0
  33. data/i18n/NegikureNegimaki/ja_jp.yml +6 -0
  34. data/i18n/NegikureNegimaki/ko_kr.yml +6 -0
  35. data/i18n/Nuekagami/ja_jp.yml +219 -0
  36. data/i18n/Nuekagami/ko_kr.yml +219 -0
  37. data/i18n/Revulture/ja_jp.yml +8 -0
  38. data/i18n/Revulture/ko_kr.yml +8 -0
  39. data/i18n/SRS/ja_jp.yml +4 -0
  40. data/i18n/SRS/ko_kr.yml +4 -0
  41. data/i18n/ShinobiGami/ja_jp.yml +879 -0
  42. data/i18n/ShinobiGami/ko_kr.yml +876 -0
  43. data/i18n/StarryDolls/ja_jp.yml +456 -0
  44. data/i18n/StarryDolls/ko_kr.yml +456 -0
  45. data/i18n/StratoShout/ja_jp.yml +8 -8
  46. data/i18n/SwordWorld2_5/ja_jp.yml +48 -0
  47. data/i18n/Ventangle/ja_jp.yml +4 -0
  48. data/i18n/Ventangle/ko_kr.yml +4 -0
  49. data/i18n/YearZeroEngine/ja_jp.yml +12 -0
  50. data/i18n/YearZeroEngine/ko_kr.yml +12 -0
  51. data/i18n/ZombiLine/ja_jp.yml +27 -0
  52. data/i18n/ZombiLine/ko_kr.yml +27 -0
  53. data/i18n/ko_kr.yml +2 -0
  54. data/i18n/zh_hant.yml +2 -2
  55. data/lib/bcdice/dice_table/d66_left_range_table.rb +21 -0
  56. data/lib/bcdice/game_system/Aionia.rb +68 -19
  57. data/lib/bcdice/game_system/Airgetlamh.rb +64 -41
  58. data/lib/bcdice/game_system/Airgetlamh_Korean.rb +53 -0
  59. data/lib/bcdice/game_system/Alsetto.rb +63 -50
  60. data/lib/bcdice/game_system/Alsetto_Korean.rb +51 -0
  61. data/lib/bcdice/game_system/AnimaAnimus.rb +15 -32
  62. data/lib/bcdice/game_system/AnimaAnimus_Korean.rb +39 -0
  63. data/lib/bcdice/game_system/BlackJacket.rb +57 -113
  64. data/lib/bcdice/game_system/BlackJacket_Korean.rb +8 -206
  65. data/lib/bcdice/game_system/Bloodorium.rb +1 -1
  66. data/lib/bcdice/game_system/Bloodorium_Korean.rb +34 -0
  67. data/lib/bcdice/game_system/ChroniclesOfDarkness2e.rb +163 -0
  68. data/lib/bcdice/game_system/Cthulhu7th_Korean.rb +471 -300
  69. data/lib/bcdice/game_system/DeadlineHeroes_Korean.rb +273 -0
  70. data/lib/bcdice/game_system/Dracurouge_Korean.rb +25 -19
  71. data/lib/bcdice/game_system/DungeonsAndDragons5.rb +106 -73
  72. data/lib/bcdice/game_system/DungeonsAndDragons5_Korean.rb +53 -0
  73. data/lib/bcdice/game_system/DungeonsAndDragons_Korean.rb +61 -0
  74. data/lib/bcdice/game_system/Emoklore.rb +34 -9
  75. data/lib/bcdice/game_system/Emoklore_Korean.rb +10 -2
  76. data/lib/bcdice/game_system/FateCoreSystem.rb +10 -6
  77. data/lib/bcdice/game_system/FullMetalPanic_Korean.rb +28 -0
  78. data/lib/bcdice/game_system/FutariSousa.rb +37 -12
  79. data/lib/bcdice/game_system/FutariSousa_Korean.rb +25 -8
  80. data/lib/bcdice/game_system/GaiaCare.rb +40 -0
  81. data/lib/bcdice/game_system/GardenOrder.rb +2 -2
  82. data/lib/bcdice/game_system/GardenOrderReEdit.rb +849 -0
  83. data/lib/bcdice/game_system/GardenOrder_Korean.rb +839 -0
  84. data/lib/bcdice/game_system/HatsuneMiku.rb +51 -605
  85. data/lib/bcdice/game_system/HatsuneMiku_Korean.rb +56 -0
  86. data/lib/bcdice/game_system/HunterTheReckoning5th.rb +15 -11
  87. data/lib/bcdice/game_system/Irisbane.rb +17 -30
  88. data/lib/bcdice/game_system/Irisbane_Korean.rb +52 -0
  89. data/lib/bcdice/game_system/JuinKansen.rb +41 -208
  90. data/lib/bcdice/game_system/JuinKansen_Korean.rb +8 -213
  91. data/lib/bcdice/game_system/KemonoNoMori.rb +67 -276
  92. data/lib/bcdice/game_system/KemonoNoMori_Korean.rb +62 -0
  93. data/lib/bcdice/game_system/KinAriel.rb +117 -0
  94. data/lib/bcdice/game_system/KizunaBullet_Korean.rb +109 -0
  95. data/lib/bcdice/game_system/KutuluRevised.rb +94 -0
  96. data/lib/bcdice/game_system/LiverLabyrinth.rb +321 -0
  97. data/lib/bcdice/game_system/Lost.rb +89 -0
  98. data/lib/bcdice/game_system/MagicPunk.rb +85 -0
  99. data/lib/bcdice/game_system/MagicPunk_Korean.rb +39 -0
  100. data/lib/bcdice/game_system/MarvelHeroicRoleplaying.rb +144 -0
  101. data/lib/bcdice/game_system/MetallicGuardian_Korean.rb +28 -0
  102. data/lib/bcdice/game_system/MorkBorg.rb +170 -0
  103. data/lib/bcdice/game_system/MorkBorg_Korean.rb +49 -0
  104. data/lib/bcdice/game_system/NanimonaiMura.rb +112 -0
  105. data/lib/bcdice/game_system/Nechronica_Korean.rb +6 -6
  106. data/lib/bcdice/game_system/NegikureNegimaki.rb +140 -0
  107. data/lib/bcdice/game_system/NegikureNegimaki_Korean.rb +48 -0
  108. data/lib/bcdice/game_system/NeonUnderRealm.rb +122 -0
  109. data/lib/bcdice/game_system/NinjaSlayer2.rb +170 -49
  110. data/lib/bcdice/game_system/Nuekagami.rb +19 -261
  111. data/lib/bcdice/game_system/Nuekagami_Korean.rb +43 -0
  112. data/lib/bcdice/game_system/ParanoiaPerfect.rb +74 -0
  113. data/lib/bcdice/game_system/PastFutureParadox.rb +2245 -55
  114. data/lib/bcdice/game_system/PreciousDays.rb +170 -0
  115. data/lib/bcdice/game_system/Revulture.rb +8 -5
  116. data/lib/bcdice/game_system/Revulture_Korean.rb +7 -81
  117. data/lib/bcdice/game_system/Ryutama.rb +46 -46
  118. data/lib/bcdice/game_system/SRS.rb +4 -4
  119. data/lib/bcdice/game_system/SRS_Korean.rb +67 -0
  120. data/lib/bcdice/game_system/ShinobiGami.rb +154 -1047
  121. data/lib/bcdice/game_system/ShinobiGami_Korean.rb +102 -0
  122. data/lib/bcdice/game_system/StarryDolls.rb +70 -508
  123. data/lib/bcdice/game_system/StarryDolls_Korean.rb +80 -0
  124. data/lib/bcdice/game_system/StratoShout.rb +1 -1
  125. data/lib/bcdice/game_system/SwordWorld.rb +28 -2
  126. data/lib/bcdice/game_system/SwordWorld2_0.rb +1 -1
  127. data/lib/bcdice/game_system/SwordWorld2_5.rb +67 -3
  128. data/lib/bcdice/game_system/TacticalExorcist.rb +222 -0
  129. data/lib/bcdice/game_system/TenkaRyouran_Korean.rb +30 -0
  130. data/lib/bcdice/game_system/VampireTheMasquerade5th.rb +38 -33
  131. data/lib/bcdice/game_system/Ventangle.rb +8 -7
  132. data/lib/bcdice/game_system/Ventangle_Korean.rb +6 -95
  133. data/lib/bcdice/game_system/Warhammer4.rb +202 -6
  134. data/lib/bcdice/game_system/WerewolfTheApocalypse5th.rb +20 -15
  135. data/lib/bcdice/game_system/WorldEndScrapyard.rb +333 -0
  136. data/lib/bcdice/game_system/WorldsEndFrontline_Korean.rb +26 -0
  137. data/lib/bcdice/game_system/YearZeroEngine.rb +7 -7
  138. data/lib/bcdice/game_system/YearZeroEngine_Korean.rb +46 -0
  139. data/lib/bcdice/game_system/ZombiLine.rb +29 -36
  140. data/lib/bcdice/game_system/ZombiLine_Korean.rb +37 -0
  141. data/lib/bcdice/game_system/cthulhu7th_Korean/full_auto.rb +294 -0
  142. data/lib/bcdice/game_system/cthulhu7th_Korean/rollable.rb +43 -0
  143. data/lib/bcdice/game_system/sword_world/rating_options.rb +9 -0
  144. data/lib/bcdice/game_system/sword_world/rating_parsed.rb +19 -0
  145. data/lib/bcdice/game_system/sword_world/rating_parser.rb +229 -149
  146. data/lib/bcdice/game_system/sword_world/transcendent_test.rb +1 -0
  147. data/lib/bcdice/game_system.rb +42 -0
  148. data/lib/bcdice/version.rb +1 -1
  149. metadata +87 -2
@@ -51,11 +51,14 @@ def parsed(rate, modifier, option)
51
51
  p.first_modify = option.first_modify || 0
52
52
  p.first_modify_ssp = option.first_modify_ssp || 0
53
53
  p.rateup = option.rateup&.eval(@round_type) || 0
54
+ p.add_damage = option.add_damage&.eval(@round_type) || 0
54
55
  p.greatest_fortune = option.greatest_fortune if !option.greatest_fortune.nil?
55
56
  p.semi_fixed_val = option.semi_fixed_val&.clamp(1, 6) || 0
56
57
  p.tmp_fixed_val = option.tmp_fixed_val&.clamp(1, 6) || 0
58
+ p.set_zero_val = option.set_zero_val || 0
57
59
  p.modifier_after_half = option.modifier_after_half&.eval(@round_type)
58
60
  p.modifier_after_one_and_a_half = option.modifier_after_one_and_a_half&.eval(@round_type)
61
+ p.modifier_after_double = option.modifier_after_double&.eval(@round_type)
59
62
  p.critical = option.critical&.eval(@round_type)&.clamp(0, 13) || (p.half || p.one_and_a_half ? 13 : 10)
60
63
  end
61
64
  end
@@ -67,123 +70,142 @@ end
67
70
  ##### State transition tables begin ###
68
71
 
69
72
  racc_action_table = [
70
- 36, 66, 67, 27, 28, 5, 68, 3, 4, 37,
71
- 38, 18, 16, 17, 19, 6, 20, 21, 23, 24,
72
- 39, 64, 65, 5, 13, 9, 14, 22, 15, 18,
73
- 16, 17, 19, 10, 20, 21, 23, 24, 64, 65,
74
- 64, 65, 13, 11, 14, 22, 15, 18, 16, 17,
75
- 19, 5, 20, 21, 23, 24, 34, 41, 34, 43,
76
- 13, 44, 14, 22, 15, 30, 31, 30, 31, 33,
77
- 34, 33, 34, 64, 65, 64, 65, 34, 45, 30,
78
- 31, 30, 31, 33, 34, 33, 30, 31, 53, 34,
79
- 33, 34, 58, 30, 31, 59, 34, 33, 30, 31,
80
- 30, 31, 33, 34, 33, 30, 31, 60, 34, 33,
81
- 34, 62, 30, 31, 63, 34, 33, 30, 31, 30,
82
- 31, 33, 34, 33, 30, 31, 69, 34, 33, 34,
83
- nil, 30, 31, nil, 34, 33, 30, 31, 30, 31,
84
- 33, nil, 33, 30, 31, 64, 65, 33, 64, 65 ]
73
+ 41, 78, 79, 32, 33, 6, 80, 3, 4, 5,
74
+ 76, 77, 7, 42, 43, 21, 18, 19, 20, 6,
75
+ 23, 10, 24, 25, 44, 22, 27, 28, 51, 76,
76
+ 77, 52, 15, 11, 16, 26, 17, 21, 18, 19,
77
+ 20, 12, 23, 13, 24, 25, 6, 22, 27, 28,
78
+ 76, 77, 76, 77, 15, 6, 16, 26, 17, 21,
79
+ 18, 19, 20, 46, 23, 47, 24, 25, 49, 22,
80
+ 27, 28, 76, 77, 76, 77, 15, 50, 16, 26,
81
+ 17, 21, 18, 19, 20, 53, 23, 62, 24, 25,
82
+ 39, 22, 27, 28, 67, 39, 68, 39, 15, 69,
83
+ 16, 26, 17, 35, 36, 39, 73, 38, 35, 36,
84
+ 35, 36, 38, 39, 38, 39, 76, 77, 35, 36,
85
+ 39, 74, 38, 75, 81, 39, 35, 36, 35, 36,
86
+ 38, 39, 38, 35, 36, nil, 39, 38, 35, 36,
87
+ nil, 39, 38, 39, 35, 36, nil, nil, 38, 35,
88
+ 36, 39, nil, 38, 35, 36, 35, 36, 38, 39,
89
+ 38, 39, nil, nil, 35, 36, 39, nil, 38, nil,
90
+ nil, 39, 35, 36, 35, 36, 38, 39, 38, 35,
91
+ 36, nil, 39, 38, 35, 36, nil, nil, 38, nil,
92
+ 35, 36, nil, nil, 38, 35, 36, nil, nil, 38 ]
85
93
 
86
94
  racc_action_check = [
87
- 15, 56, 56, 12, 12, 0, 56, 0, 0, 15,
88
- 15, 7, 7, 7, 7, 1, 7, 7, 7, 7,
89
- 15, 47, 47, 3, 7, 4, 7, 7, 7, 25,
90
- 25, 25, 25, 5, 25, 25, 25, 25, 49, 49,
91
- 51, 51, 25, 6, 25, 25, 25, 50, 50, 50,
92
- 50, 9, 50, 50, 50, 50, 13, 17, 14, 19,
93
- 50, 20, 50, 50, 50, 13, 13, 14, 14, 13,
94
- 16, 14, 18, 52, 52, 57, 57, 22, 21, 16,
95
- 16, 18, 18, 16, 23, 18, 22, 22, 29, 24,
96
- 22, 27, 37, 23, 23, 38, 28, 23, 24, 24,
97
- 27, 27, 24, 30, 27, 28, 28, 39, 31, 28,
98
- 33, 44, 30, 30, 45, 41, 30, 31, 31, 33,
99
- 33, 31, 64, 33, 41, 41, 60, 65, 41, 66,
100
- nil, 64, 64, nil, 67, 64, 65, 65, 66, 66,
101
- 65, nil, 66, 67, 67, 72, 72, 67, 73, 73 ]
95
+ 17, 65, 65, 14, 14, 0, 65, 0, 0, 0,
96
+ 55, 55, 1, 17, 17, 8, 8, 8, 8, 3,
97
+ 8, 4, 8, 8, 17, 8, 8, 8, 24, 57,
98
+ 57, 24, 8, 5, 8, 8, 8, 29, 29, 29,
99
+ 29, 6, 29, 7, 29, 29, 10, 29, 29, 29,
100
+ 60, 60, 61, 61, 29, 11, 29, 29, 29, 58,
101
+ 58, 58, 58, 19, 58, 20, 58, 58, 22, 58,
102
+ 58, 58, 66, 66, 84, 84, 58, 23, 58, 58,
103
+ 58, 59, 59, 59, 59, 25, 59, 34, 59, 59,
104
+ 15, 59, 59, 59, 42, 16, 43, 18, 59, 44,
105
+ 59, 59, 59, 15, 15, 21, 51, 15, 16, 16,
106
+ 18, 18, 16, 26, 18, 27, 85, 85, 21, 21,
107
+ 28, 52, 21, 53, 69, 32, 26, 26, 27, 27,
108
+ 26, 33, 27, 28, 28, nil, 35, 28, 32, 32,
109
+ nil, 36, 32, 38, 33, 33, nil, nil, 33, 35,
110
+ 35, 46, nil, 35, 36, 36, 38, 38, 36, 47,
111
+ 38, 49, nil, nil, 46, 46, 76, nil, 46, nil,
112
+ nil, 77, 47, 47, 49, 49, 47, 78, 49, 76,
113
+ 76, nil, 79, 76, 77, 77, nil, nil, 77, nil,
114
+ 78, 78, nil, nil, 78, 79, 79, nil, nil, 79 ]
102
115
 
103
116
  racc_action_pointer = [
104
- 2, 15, nil, 20, 20, 31, 43, 7, nil, 48,
105
- nil, nil, -8, 54, 56, -2, 68, 52, 70, 51,
106
- 53, 70, 75, 82, 87, 25, nil, 89, 94, 70,
107
- 101, 106, nil, 108, nil, nil, nil, 90, 93, 96,
108
- nil, 113, nil, nil, 109, 112, nil, 8, nil, 25,
109
- 43, 27, 60, nil, nil, nil, -10, 62, nil, nil,
110
- 124, nil, nil, nil, 120, 125, 127, 132, nil, nil,
111
- nil, nil, 132, 135 ]
117
+ 2, 12, nil, 16, 16, 25, 39, 43, 11, nil,
118
+ 43, 52, nil, nil, -12, 88, 93, -2, 95, 58,
119
+ 57, 103, 61, 67, 18, 75, 111, 113, 118, 33,
120
+ nil, nil, 123, 129, 65, 134, 139, nil, 141, nil,
121
+ nil, nil, 92, 94, 84, nil, 149, 157, nil, 159,
122
+ nil, 104, 119, 121, nil, -7, nil, 12, 55, 77,
123
+ 33, 35, nil, nil, nil, -14, 55, nil, nil, 122,
124
+ nil, nil, nil, nil, nil, nil, 164, 169, 175, 180,
125
+ nil, nil, nil, nil, 57, 99 ]
112
126
 
113
127
  racc_action_default = [
114
- -37, -37, -5, -37, -37, -37, -37, -1, -5, -37,
115
- -4, 74, -6, -37, -37, -37, -13, -37, -37, -37,
116
- -37, -37, -37, -37, -37, -2, -5, -37, -37, -37,
117
- -37, -37, -34, -37, -36, -8, -9, -37, -37, -37,
118
- -14, -15, -17, -18, -37, -37, -21, -22, -31, -23,
119
- -3, -24, -25, -7, -32, -33, -37, -28, -10, -11,
120
- -37, -16, -19, -20, -37, -37, -37, -37, -35, -12,
121
- -29, -30, -26, -27 ]
128
+ -42, -42, -6, -42, -42, -42, -42, -42, -1, -6,
129
+ -42, -42, -5, 86, -7, -42, -42, -42, -14, -42,
130
+ -42, -42, -42, -42, -42, -42, -42, -42, -42, -2,
131
+ -6, -6, -42, -42, -42, -42, -42, -39, -42, -41,
132
+ -9, -10, -42, -42, -42, -15, -16, -18, -20, -42,
133
+ -22, -42, -42, -42, -26, -27, -36, -28, -3, -4,
134
+ -29, -30, -8, -37, -38, -42, -33, -11, -12, -42,
135
+ -17, -19, -21, -23, -25, -24, -42, -42, -42, -42,
136
+ -40, -13, -34, -35, -31, -32 ]
122
137
 
123
138
  racc_goto_table = [
124
- 29, 35, 7, 40, 1, 42, 47, 49, 25, 46,
125
- 51, 52, 2, 56, nil, 8, 57, 54, 55, nil,
126
- nil, 26, nil, nil, nil, nil, 50, nil, 61, nil,
139
+ 34, 40, 1, 45, 55, 57, 48, 8, 65, 60,
140
+ 61, 54, nil, 2, 29, 66, 9, nil, nil, nil,
141
+ 63, 64, nil, 30, 31, nil, nil, nil, nil, nil,
142
+ nil, 70, 71, nil, 72, 58, 59, nil, nil, nil,
127
143
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
128
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 72,
129
- 73, 70, 71 ]
144
+ nil, nil, nil, nil, nil, 84, 85, nil, nil, nil,
145
+ nil, 82, 83 ]
130
146
 
131
147
  racc_goto_check = [
132
- 5, 5, 3, 5, 1, 5, 6, 6, 3, 5,
133
- 6, 6, 2, 7, nil, 2, 6, 5, 5, nil,
134
- nil, 2, nil, nil, nil, nil, 3, nil, 5, nil,
148
+ 5, 5, 1, 5, 6, 6, 5, 3, 7, 6,
149
+ 6, 5, nil, 2, 3, 6, 2, nil, nil, nil,
150
+ 5, 5, nil, 2, 2, nil, nil, nil, nil, nil,
151
+ nil, 5, 5, nil, 5, 3, 3, nil, nil, nil,
135
152
  nil, nil, nil, nil, nil, nil, nil, nil, nil, nil,
136
- nil, nil, nil, nil, nil, nil, nil, nil, nil, 6,
137
- 6, 5, 5 ]
153
+ nil, nil, nil, nil, nil, 6, 6, nil, nil, nil,
154
+ nil, 5, 5 ]
138
155
 
139
156
  racc_goto_pointer = [
140
- nil, 4, 12, 0, nil, -13, -17, -20, nil ]
157
+ nil, 2, 13, 5, nil, -15, -23, -30, nil ]
141
158
 
142
159
  racc_goto_default = [
143
- nil, nil, nil, nil, 12, 48, nil, nil, 32 ]
160
+ nil, nil, nil, nil, 14, 56, nil, nil, 37 ]
144
161
 
145
162
  racc_reduce_table = [
146
163
  0, 0, :racc_error,
147
- 2, 24, :_reduce_1,
148
- 3, 24, :_reduce_2,
149
- 4, 24, :_reduce_3,
150
- 2, 25, :_reduce_4,
151
- 0, 26, :_reduce_5,
152
- 2, 26, :_reduce_6,
153
- 4, 26, :_reduce_7,
154
- 3, 26, :_reduce_8,
155
- 3, 26, :_reduce_9,
156
- 4, 26, :_reduce_10,
157
- 4, 26, :_reduce_11,
158
- 5, 26, :_reduce_12,
159
- 2, 26, :_reduce_13,
160
- 3, 26, :_reduce_14,
161
- 3, 26, :_reduce_15,
162
- 4, 26, :_reduce_16,
163
- 3, 26, :_reduce_17,
164
- 3, 26, :_reduce_18,
165
- 4, 26, :_reduce_19,
166
- 4, 26, :_reduce_20,
167
- 3, 26, :_reduce_21,
168
- 2, 27, :_reduce_22,
169
- 2, 27, :_reduce_23,
170
- 3, 27, :_reduce_24,
171
- 3, 27, :_reduce_25,
164
+ 2, 28, :_reduce_1,
165
+ 3, 28, :_reduce_2,
166
+ 4, 28, :_reduce_3,
167
+ 4, 28, :_reduce_4,
168
+ 2, 29, :_reduce_5,
169
+ 0, 30, :_reduce_6,
170
+ 2, 30, :_reduce_7,
171
+ 4, 30, :_reduce_8,
172
+ 3, 30, :_reduce_9,
173
+ 3, 30, :_reduce_10,
174
+ 4, 30, :_reduce_11,
175
+ 4, 30, :_reduce_12,
176
+ 5, 30, :_reduce_13,
177
+ 2, 30, :_reduce_14,
178
+ 3, 30, :_reduce_15,
179
+ 3, 30, :_reduce_16,
180
+ 4, 30, :_reduce_17,
181
+ 3, 30, :_reduce_18,
182
+ 4, 30, :_reduce_19,
183
+ 3, 30, :_reduce_20,
184
+ 4, 30, :_reduce_21,
185
+ 3, 30, :_reduce_22,
186
+ 4, 30, :_reduce_23,
187
+ 4, 30, :_reduce_24,
188
+ 4, 30, :_reduce_25,
172
189
  3, 30, :_reduce_26,
173
- 3, 30, :_reduce_27,
174
- 1, 30, :_reduce_none,
175
- 3, 29, :_reduce_29,
176
- 3, 29, :_reduce_30,
177
- 1, 29, :_reduce_none,
178
- 2, 28, :_reduce_32,
179
- 2, 28, :_reduce_33,
180
- 1, 28, :_reduce_none,
181
- 3, 31, :_reduce_35,
182
- 1, 31, :_reduce_36 ]
183
-
184
- racc_reduce_n = 37
185
-
186
- racc_shift_n = 74
190
+ 2, 31, :_reduce_27,
191
+ 2, 31, :_reduce_28,
192
+ 3, 31, :_reduce_29,
193
+ 3, 31, :_reduce_30,
194
+ 3, 34, :_reduce_31,
195
+ 3, 34, :_reduce_32,
196
+ 1, 34, :_reduce_none,
197
+ 3, 33, :_reduce_34,
198
+ 3, 33, :_reduce_35,
199
+ 1, 33, :_reduce_none,
200
+ 2, 32, :_reduce_37,
201
+ 2, 32, :_reduce_38,
202
+ 1, 32, :_reduce_none,
203
+ 3, 35, :_reduce_40,
204
+ 1, 35, :_reduce_41 ]
205
+
206
+ racc_reduce_n = 42
207
+
208
+ racc_shift_n = 86
187
209
 
188
210
  racc_token_table = {
189
211
  false => 0,
@@ -193,24 +215,28 @@ racc_token_table = {
193
215
  :R => 4,
194
216
  :H => 5,
195
217
  :O => 6,
196
- :G => 7,
197
- :F => 8,
198
- :S => 9,
199
- :T => 10,
200
- :PLUS => 11,
201
- :MINUS => 12,
202
- :ASTERISK => 13,
203
- :SLASH => 14,
204
- :PARENL => 15,
205
- :PARENR => 16,
206
- :BRACKETL => 17,
207
- :BRACKETR => 18,
208
- :AT => 19,
209
- :SHARP => 20,
210
- :DOLLAR => 21,
211
- :TILDE => 22 }
212
-
213
- racc_nt_base = 23
218
+ :D => 7,
219
+ :B => 8,
220
+ :G => 9,
221
+ :F => 10,
222
+ :S => 11,
223
+ :T => 12,
224
+ :Z => 13,
225
+ :A => 14,
226
+ :PLUS => 15,
227
+ :MINUS => 16,
228
+ :ASTERISK => 17,
229
+ :SLASH => 18,
230
+ :PARENL => 19,
231
+ :PARENR => 20,
232
+ :BRACKETL => 21,
233
+ :BRACKETR => 22,
234
+ :AT => 23,
235
+ :SHARP => 24,
236
+ :DOLLAR => 25,
237
+ :TILDE => 26 }
238
+
239
+ racc_nt_base = 27
214
240
 
215
241
  racc_use_result_var = true
216
242
 
@@ -239,10 +265,14 @@ Racc_token_to_s_table = [
239
265
  "R",
240
266
  "H",
241
267
  "O",
268
+ "D",
269
+ "B",
242
270
  "G",
243
271
  "F",
244
272
  "S",
245
273
  "T",
274
+ "Z",
275
+ "A",
246
276
  "PLUS",
247
277
  "MINUS",
248
278
  "ASTERISK",
@@ -282,7 +312,7 @@ end
282
312
 
283
313
  def _reduce_2(val, _values, result)
284
314
  _, rate, option = val
285
- raise ParseError if option.modifier_after_one_and_a_half
315
+ raise ParseError if option.modifier_after_one_and_a_half or option.modifier_after_double
286
316
  option.modifier_after_half ||= Arithmetic::Node::Number.new(0)
287
317
  modifier = option.modifier || Arithmetic::Node::Number.new(0)
288
318
  result = parsed(rate, modifier.eval(@round_type), option)
@@ -292,7 +322,7 @@ end
292
322
 
293
323
  def _reduce_3(val, _values, result)
294
324
  _, _, rate, option = val
295
- raise ParseError if option.modifier_after_half
325
+ raise ParseError if option.modifier_after_half or option.modifier_after_double
296
326
  option.modifier_after_one_and_a_half ||= Arithmetic::Node::Number.new(0)
297
327
  modifier = option.modifier || Arithmetic::Node::Number.new(0)
298
328
  result = parsed(rate, modifier.eval(@round_type), option)
@@ -301,17 +331,27 @@ def _reduce_3(val, _values, result)
301
331
  end
302
332
 
303
333
  def _reduce_4(val, _values, result)
304
- result = val[1].to_i
334
+ _, _, rate, option = val
335
+ raise ParseError if option.modifier_after_half or option.modifier_after_one_and_a_half
336
+ option.modifier_after_double ||= Arithmetic::Node::Number.new(0)
337
+ modifier = option.modifier || Arithmetic::Node::Number.new(0)
338
+ result = parsed(rate, modifier.eval(@round_type), option)
339
+
305
340
  result
306
341
  end
307
342
 
308
343
  def _reduce_5(val, _values, result)
344
+ result = val[1].to_i
345
+ result
346
+ end
347
+
348
+ def _reduce_6(val, _values, result)
309
349
  result = RatingOptions.new
310
350
 
311
351
  result
312
352
  end
313
353
 
314
- def _reduce_6(val, _values, result)
354
+ def _reduce_7(val, _values, result)
315
355
  option, term = val
316
356
  raise ParseError unless option.modifier.nil?
317
357
 
@@ -321,7 +361,7 @@ def _reduce_6(val, _values, result)
321
361
  result
322
362
  end
323
363
 
324
- def _reduce_7(val, _values, result)
364
+ def _reduce_8(val, _values, result)
325
365
  option, _, term, _ = val
326
366
  raise ParseError unless option.critical.nil?
327
367
 
@@ -331,7 +371,7 @@ def _reduce_7(val, _values, result)
331
371
  result
332
372
  end
333
373
 
334
- def _reduce_8(val, _values, result)
374
+ def _reduce_9(val, _values, result)
335
375
  option, _, term = val
336
376
  raise ParseError unless option.critical.nil?
337
377
 
@@ -341,7 +381,7 @@ def _reduce_8(val, _values, result)
341
381
  result
342
382
  end
343
383
 
344
- def _reduce_9(val, _values, result)
384
+ def _reduce_10(val, _values, result)
345
385
  option, _, term = val
346
386
  raise ParseError unless option.settable_first_roll_adjust_option?
347
387
 
@@ -351,7 +391,7 @@ def _reduce_9(val, _values, result)
351
391
  result
352
392
  end
353
393
 
354
- def _reduce_10(val, _values, result)
394
+ def _reduce_11(val, _values, result)
355
395
  option, _, _, term = val
356
396
  raise ParseError unless option.settable_first_roll_adjust_option?
357
397
 
@@ -361,7 +401,7 @@ def _reduce_10(val, _values, result)
361
401
  result
362
402
  end
363
403
 
364
- def _reduce_11(val, _values, result)
404
+ def _reduce_12(val, _values, result)
365
405
  option, _, _, term = val
366
406
  raise ParseError unless option.settable_first_roll_adjust_option?
367
407
 
@@ -371,7 +411,7 @@ def _reduce_11(val, _values, result)
371
411
  result
372
412
  end
373
413
 
374
- def _reduce_12(val, _values, result)
414
+ def _reduce_13(val, _values, result)
375
415
  option, _, _, _, term = val
376
416
  raise ParseError unless @version == :v2_5 && option.settable_first_roll_adjust_option?
377
417
 
@@ -381,7 +421,7 @@ def _reduce_12(val, _values, result)
381
421
  result
382
422
  end
383
423
 
384
- def _reduce_13(val, _values, result)
424
+ def _reduce_14(val, _values, result)
385
425
  option, _ = val
386
426
  raise ParseError unless option.modifier_after_half.nil?
387
427
 
@@ -391,7 +431,7 @@ def _reduce_13(val, _values, result)
391
431
  result
392
432
  end
393
433
 
394
- def _reduce_14(val, _values, result)
434
+ def _reduce_15(val, _values, result)
395
435
  option, _, term = val
396
436
  raise ParseError unless option.modifier_after_half.nil?
397
437
 
@@ -401,7 +441,7 @@ def _reduce_14(val, _values, result)
401
441
  result
402
442
  end
403
443
 
404
- def _reduce_15(val, _values, result)
444
+ def _reduce_16(val, _values, result)
405
445
  option, _, _ = val
406
446
  raise ParseError if option.modifier_after_one_and_a_half
407
447
 
@@ -411,7 +451,7 @@ def _reduce_15(val, _values, result)
411
451
  result
412
452
  end
413
453
 
414
- def _reduce_16(val, _values, result)
454
+ def _reduce_17(val, _values, result)
415
455
  option, _, _, term = val
416
456
  raise ParseError if option.modifier_after_one_and_a_half
417
457
 
@@ -421,7 +461,27 @@ def _reduce_16(val, _values, result)
421
461
  result
422
462
  end
423
463
 
424
- def _reduce_17(val, _values, result)
464
+ def _reduce_18(val, _values, result)
465
+ option, _, _ = val
466
+ raise ParseError unless option.modifier_after_double.nil?
467
+
468
+ option.modifier_after_double = Arithmetic::Node::Number.new(0)
469
+ result = option
470
+
471
+ result
472
+ end
473
+
474
+ def _reduce_19(val, _values, result)
475
+ option, _, _, term = val
476
+ raise ParseError unless option.modifier_after_double.nil?
477
+
478
+ option.modifier_after_double = term
479
+ result = option
480
+
481
+ result
482
+ end
483
+
484
+ def _reduce_20(val, _values, result)
425
485
  option, _, term = val
426
486
  raise ParseError unless [:v2_5, :v2_0].include?(@version) && option.rateup.nil?
427
487
 
@@ -431,7 +491,17 @@ def _reduce_17(val, _values, result)
431
491
  result
432
492
  end
433
493
 
434
- def _reduce_18(val, _values, result)
494
+ def _reduce_21(val, _values, result)
495
+ option, _, _, term = val
496
+ raise ParseError unless [:v2_5].include?(@version) && option.add_damage.nil?
497
+
498
+ option.add_damage = term
499
+ result = option
500
+
501
+ result
502
+ end
503
+
504
+ def _reduce_22(val, _values, result)
435
505
  option, _, _ = val
436
506
  raise ParseError unless [:v2_5, :v2_0].include?(@version) && option.settable_non_2d_roll_option?
437
507
 
@@ -441,7 +511,7 @@ def _reduce_18(val, _values, result)
441
511
  result
442
512
  end
443
513
 
444
- def _reduce_19(val, _values, result)
514
+ def _reduce_23(val, _values, result)
445
515
  option, _, _, term = val
446
516
  raise ParseError unless [:v2_5, :v2_0].include?(@version) && option.settable_non_2d_roll_option?
447
517
 
@@ -451,7 +521,7 @@ def _reduce_19(val, _values, result)
451
521
  result
452
522
  end
453
523
 
454
- def _reduce_20(val, _values, result)
524
+ def _reduce_24(val, _values, result)
455
525
  option, _, _, term = val
456
526
  raise ParseError unless [:v2_5, :v2_0].include?(@version) && option.settable_non_2d_roll_option?
457
527
 
@@ -461,7 +531,17 @@ def _reduce_20(val, _values, result)
461
531
  result
462
532
  end
463
533
 
464
- def _reduce_21(val, _values, result)
534
+ def _reduce_25(val, _values, result)
535
+ option, _, _, term = val
536
+ raise ParseError unless [:v2_5].include?(@version)
537
+
538
+ option.set_zero_val = term.to_i
539
+ result = option
540
+
541
+ result
542
+ end
543
+
544
+ def _reduce_26(val, _values, result)
465
545
  option, _, term = val
466
546
  raise ParseError unless @version == :v2_5 && option.kept_modify.nil?
467
547
 
@@ -471,69 +551,69 @@ def _reduce_21(val, _values, result)
471
551
  result
472
552
  end
473
553
 
474
- def _reduce_22(val, _values, result)
554
+ def _reduce_27(val, _values, result)
475
555
  result = val[1]
476
556
  result
477
557
  end
478
558
 
479
- def _reduce_23(val, _values, result)
559
+ def _reduce_28(val, _values, result)
480
560
  result = Arithmetic::Node::Negative.new(val[1])
481
561
  result
482
562
  end
483
563
 
484
- def _reduce_24(val, _values, result)
564
+ def _reduce_29(val, _values, result)
485
565
  result = Arithmetic::Node::BinaryOp.new(val[0], :+, val[2])
486
566
  result
487
567
  end
488
568
 
489
- def _reduce_25(val, _values, result)
569
+ def _reduce_30(val, _values, result)
490
570
  result = Arithmetic::Node::BinaryOp.new(val[0], :-, val[2])
491
571
  result
492
572
  end
493
573
 
494
- def _reduce_26(val, _values, result)
574
+ def _reduce_31(val, _values, result)
495
575
  result = Arithmetic::Node::BinaryOp.new(val[0], :+, val[2])
496
576
  result
497
577
  end
498
578
 
499
- def _reduce_27(val, _values, result)
579
+ def _reduce_32(val, _values, result)
500
580
  result = Arithmetic::Node::BinaryOp.new(val[0], :-, val[2])
501
581
  result
502
582
  end
503
583
 
504
- # reduce 28 omitted
584
+ # reduce 33 omitted
505
585
 
506
- def _reduce_29(val, _values, result)
586
+ def _reduce_34(val, _values, result)
507
587
  result = Arithmetic::Node::BinaryOp.new(val[0], :*, val[2])
508
588
  result
509
589
  end
510
590
 
511
- def _reduce_30(val, _values, result)
591
+ def _reduce_35(val, _values, result)
512
592
  result = Arithmetic::Node::DivideWithGameSystemDefault.new(val[0], val[2])
513
593
 
514
594
  result
515
595
  end
516
596
 
517
- # reduce 31 omitted
597
+ # reduce 36 omitted
518
598
 
519
- def _reduce_32(val, _values, result)
599
+ def _reduce_37(val, _values, result)
520
600
  result = val[1]
521
601
  result
522
602
  end
523
603
 
524
- def _reduce_33(val, _values, result)
604
+ def _reduce_38(val, _values, result)
525
605
  result = Arithmetic::Node::Negative.new(val[1])
526
606
  result
527
607
  end
528
608
 
529
- # reduce 34 omitted
609
+ # reduce 39 omitted
530
610
 
531
- def _reduce_35(val, _values, result)
611
+ def _reduce_40(val, _values, result)
532
612
  result = val[1]
533
613
  result
534
614
  end
535
615
 
536
- def _reduce_36(val, _values, result)
616
+ def _reduce_41(val, _values, result)
537
617
  result = Arithmetic::Node::Number.new(val[0])
538
618
  result
539
619
  end
@@ -2,6 +2,7 @@
2
2
 
3
3
  require "bcdice/result"
4
4
  require "bcdice/translate"
5
+ require "bcdice/game_system/SwordWorld"
5
6
 
6
7
  module BCDice
7
8
  module GameSystem