bcdice 3.0.0.pre.rc.1 → 3.1.2

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 (161) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +48 -1
  3. data/README.md +33 -7
  4. data/i18n/DetatokoSaga/ja_jp.yml +3 -2
  5. data/i18n/DetatokoSaga/ko_kr.yml +1 -0
  6. data/i18n/MonotoneMuseum/ja_jp.yml +3 -3
  7. data/lib/bcdice.rb +2 -0
  8. data/lib/bcdice/arithmetic_evaluator.rb +2 -0
  9. data/lib/bcdice/common_command.rb +2 -0
  10. data/lib/bcdice/common_command/add_dice.rb +3 -1
  11. data/lib/bcdice/common_command/add_dice/randomizer.rb +2 -0
  12. data/lib/bcdice/common_command/barabara_dice.rb +2 -0
  13. data/lib/bcdice/common_command/barabara_dice/node.rb +2 -0
  14. data/lib/bcdice/common_command/calc.rb +2 -0
  15. data/lib/bcdice/common_command/d66_dice.rb +2 -0
  16. data/lib/bcdice/common_command/upper_dice.rb +2 -0
  17. data/lib/bcdice/common_command/version.rb +2 -0
  18. data/lib/bcdice/dice_table.rb +2 -0
  19. data/lib/bcdice/dice_table/chain_table.rb +2 -0
  20. data/lib/bcdice/dice_table/d66_grid_table.rb +2 -0
  21. data/lib/bcdice/dice_table/d66_parity_table.rb +2 -0
  22. data/lib/bcdice/dice_table/d66_range_table.rb +2 -0
  23. data/lib/bcdice/dice_table/d66_table.rb +2 -0
  24. data/lib/bcdice/dice_table/roll_result.rb +2 -0
  25. data/lib/bcdice/dice_table/sai_fic_skill_table.rb +1 -1
  26. data/lib/bcdice/dice_table/table.rb +2 -0
  27. data/lib/bcdice/enum.rb +2 -0
  28. data/lib/bcdice/format.rb +2 -0
  29. data/lib/bcdice/game_system.rb +7 -0
  30. data/lib/bcdice/game_system/AlchemiaStruggle.rb +59 -25
  31. data/lib/bcdice/game_system/Alshard.rb +1 -1
  32. data/lib/bcdice/game_system/AngelGear.rb +123 -0
  33. data/lib/bcdice/game_system/ArsMagica.rb +1 -1
  34. data/lib/bcdice/game_system/BBN.rb +7 -5
  35. data/lib/bcdice/game_system/BadLife.rb +1 -1
  36. data/lib/bcdice/game_system/BarnaKronika.rb +1 -1
  37. data/lib/bcdice/game_system/BeastBindTrinity.rb +2 -2
  38. data/lib/bcdice/game_system/BlindMythos.rb +1 -2
  39. data/lib/bcdice/game_system/BloodCrusade.rb +42 -42
  40. data/lib/bcdice/game_system/BloodMoon.rb +41 -0
  41. data/lib/bcdice/game_system/CardRanker.rb +2 -2
  42. data/lib/bcdice/game_system/ChaosFlare.rb +1 -1
  43. data/lib/bcdice/game_system/Chill.rb +1 -1
  44. data/lib/bcdice/game_system/CodeLayerd.rb +36 -66
  45. data/lib/bcdice/game_system/Cthulhu.rb +8 -4
  46. data/lib/bcdice/game_system/Cthulhu7th.rb +40 -334
  47. data/lib/bcdice/game_system/Cthulhu7th_ChineseTraditional.rb +2 -2
  48. data/lib/bcdice/game_system/Cthulhu7th_Korean.rb +2 -2
  49. data/lib/bcdice/game_system/CthulhuTech.rb +1 -1
  50. data/lib/bcdice/game_system/Cthulhu_ChineseTraditional.rb +1 -1
  51. data/lib/bcdice/game_system/Cthulhu_Korean.rb +1 -1
  52. data/lib/bcdice/game_system/DarkBlaze.rb +1 -1
  53. data/lib/bcdice/game_system/DesperateRun.rb +163 -0
  54. data/lib/bcdice/game_system/DetatokoSaga.rb +25 -7
  55. data/lib/bcdice/game_system/DetatokoSaga_Korean.rb +3 -3
  56. data/lib/bcdice/game_system/DiceBot.rb +22 -4
  57. data/lib/bcdice/game_system/DiceOfTheDead.rb +1 -1
  58. data/lib/bcdice/game_system/DoubleCross.rb +1 -1
  59. data/lib/bcdice/game_system/EarthDawn.rb +1 -1
  60. data/lib/bcdice/game_system/EarthDawn3.rb +1 -1
  61. data/lib/bcdice/game_system/EarthDawn4.rb +1 -1
  62. data/lib/bcdice/game_system/Elysion.rb +2 -2
  63. data/lib/bcdice/game_system/EmbryoMachine.rb +1 -1
  64. data/lib/bcdice/game_system/EtrianOdysseySRS.rb +1 -1
  65. data/lib/bcdice/game_system/FilledWith.rb +203 -1274
  66. data/lib/bcdice/game_system/FullMetalPanic.rb +1 -1
  67. data/lib/bcdice/game_system/Garako.rb +12 -4
  68. data/lib/bcdice/game_system/GehennaAn.rb +1 -1
  69. data/lib/bcdice/game_system/GoblinSlayer.rb +1 -1
  70. data/lib/bcdice/game_system/Gorilla.rb +1 -1
  71. data/lib/bcdice/game_system/HarnMaster.rb +1 -1
  72. data/lib/bcdice/game_system/HatsuneMiku.rb +1 -1
  73. data/lib/bcdice/game_system/HouraiGakuen.rb +1 -1
  74. data/lib/bcdice/game_system/Illusio.rb +25 -34
  75. data/lib/bcdice/game_system/InfiniteBabeL.rb +518 -0
  76. data/lib/bcdice/game_system/JekyllAndHyde.rb +42 -0
  77. data/lib/bcdice/game_system/LostRoyal.rb +1 -1
  78. data/lib/bcdice/game_system/MeikyuDays.rb +1 -1
  79. data/lib/bcdice/game_system/MeikyuKingdom.rb +2 -2
  80. data/lib/bcdice/game_system/MeikyuKingdomBasic.rb +3 -3
  81. data/lib/bcdice/game_system/MetalHeadExtream.rb +1 -1
  82. data/lib/bcdice/game_system/MetallicGuardian.rb +1 -1
  83. data/lib/bcdice/game_system/MonotoneMuseum.rb +1 -1
  84. data/lib/bcdice/game_system/NeverCloud.rb +540 -5
  85. data/lib/bcdice/game_system/NightWizard.rb +1 -1
  86. data/lib/bcdice/game_system/NightWizard3rd.rb +1 -1
  87. data/lib/bcdice/game_system/NinjaSlayer.rb +4 -13
  88. data/lib/bcdice/game_system/OneWayHeroics.rb +1 -1
  89. data/lib/bcdice/game_system/OracleEngine.rb +1 -1
  90. data/lib/bcdice/game_system/OrgaRain.rb +17 -25
  91. data/lib/bcdice/game_system/Paradiso.rb +1 -1
  92. data/lib/bcdice/game_system/ParanoiaRebooted.rb +1 -1
  93. data/lib/bcdice/game_system/Peekaboo.rb +1 -1
  94. data/lib/bcdice/game_system/Postman.rb +1 -1
  95. data/lib/bcdice/game_system/PulpCthulhu.rb +1 -1
  96. data/lib/bcdice/game_system/RecordOfLodossWar.rb +7 -5
  97. data/lib/bcdice/game_system/RecordOfSteam.rb +1 -1
  98. data/lib/bcdice/game_system/RokumonSekai2.rb +1 -1
  99. data/lib/bcdice/game_system/RyuTuber.rb +6 -4
  100. data/lib/bcdice/game_system/Ryutama.rb +1 -1
  101. data/lib/bcdice/game_system/SRS.rb +1 -1
  102. data/lib/bcdice/game_system/SamsaraBallad.rb +1 -1
  103. data/lib/bcdice/game_system/Satasupe.rb +79 -862
  104. data/lib/bcdice/game_system/SevenFortressMobius.rb +1 -1
  105. data/lib/bcdice/game_system/SharedFantasia.rb +1 -1
  106. data/lib/bcdice/game_system/ShinkuuGakuen.rb +2 -2
  107. data/lib/bcdice/game_system/ShinobiGami.rb +3 -3
  108. data/lib/bcdice/game_system/ShoujoTenrankai.rb +1 -1
  109. data/lib/bcdice/game_system/Skynauts.rb +2 -2
  110. data/lib/bcdice/game_system/SteamPunkers.rb +7 -5
  111. data/lib/bcdice/game_system/StrangerOfSwordCity.rb +2 -2
  112. data/lib/bcdice/game_system/SwordWorld.rb +46 -182
  113. data/lib/bcdice/game_system/SwordWorld2_0.rb +21 -149
  114. data/lib/bcdice/game_system/SwordWorld2_5.rb +126 -40
  115. data/lib/bcdice/game_system/Torg.rb +1 -1
  116. data/lib/bcdice/game_system/TorgEternity.rb +2 -2
  117. data/lib/bcdice/game_system/TunnelsAndTrolls.rb +1 -1
  118. data/lib/bcdice/game_system/TwilightGunsmoke.rb +1 -1
  119. data/lib/bcdice/game_system/UnsungDuet.rb +1 -1
  120. data/lib/bcdice/game_system/Utakaze.rb +1 -1
  121. data/lib/bcdice/game_system/VampireTheMasquerade5th.rb +1 -1
  122. data/lib/bcdice/game_system/Warhammer.rb +1 -1
  123. data/lib/bcdice/game_system/Warhammer4.rb +1 -1
  124. data/lib/bcdice/game_system/WorldOfDarkness.rb +1 -1
  125. data/lib/bcdice/game_system/YearZeroEngine.rb +1 -1
  126. data/lib/bcdice/game_system/Yggdrasill.rb +605 -0
  127. data/lib/bcdice/game_system/ZettaiReido.rb +1 -1
  128. data/lib/bcdice/game_system/cthulhu7th/full_auto.rb +294 -0
  129. data/lib/bcdice/game_system/cthulhu7th/rollable.rb +41 -0
  130. data/lib/bcdice/game_system/filled_with/enemy_data_tables.rb +322 -0
  131. data/lib/bcdice/game_system/filled_with/event_tables.rb +392 -0
  132. data/lib/bcdice/game_system/filled_with/tresure_tables.rb +179 -0
  133. data/lib/bcdice/game_system/meikyu_kingdom/item_table.rb +2 -0
  134. data/lib/bcdice/game_system/meikyu_kingdom/kingdom_name_table.rb +2 -0
  135. data/lib/bcdice/game_system/meikyu_kingdom/landscape_table.rb +2 -0
  136. data/lib/bcdice/game_system/meikyu_kingdom/name_tables.rb +2 -0
  137. data/lib/bcdice/game_system/meikyu_kingdom/placename_table.rb +2 -0
  138. data/lib/bcdice/game_system/meikyu_kingdom/tables.rb +2 -0
  139. data/lib/bcdice/game_system/meikyu_kingdom/word_table.rb +2 -0
  140. data/lib/bcdice/game_system/meikyu_kingdom_basic/item_table.rb +2 -0
  141. data/lib/bcdice/game_system/meikyu_kingdom_basic/kingdom_table.rb +2 -0
  142. data/lib/bcdice/game_system/meikyu_kingdom_basic/name_table.rb +2 -0
  143. data/lib/bcdice/game_system/meikyu_kingdom_basic/table.rb +2 -0
  144. data/lib/bcdice/game_system/meikyu_kingdom_basic/word_table.rb +2 -0
  145. data/lib/bcdice/game_system/one_way_heroics/dungeon_table.rb +2 -0
  146. data/lib/bcdice/game_system/one_way_heroics/random_event_table.rb +2 -0
  147. data/lib/bcdice/game_system/one_way_heroics/tables.rb +2 -0
  148. data/lib/bcdice/game_system/satasupe/tables.rb +723 -0
  149. data/lib/bcdice/game_system/sword_world/rating_lexer.rb +47 -0
  150. data/lib/bcdice/game_system/sword_world/rating_parsed.rb +99 -0
  151. data/lib/bcdice/game_system/sword_world/rating_parser.rb +457 -0
  152. data/lib/bcdice/game_system/sword_world/transcendent_test.rb +104 -0
  153. data/lib/bcdice/loader.rb +11 -4
  154. data/lib/bcdice/normalize.rb +2 -0
  155. data/lib/bcdice/randomizer.rb +2 -0
  156. data/lib/bcdice/repl.rb +2 -0
  157. data/lib/bcdice/result.rb +2 -0
  158. data/lib/bcdice/translate.rb +2 -0
  159. data/lib/bcdice/user_defined_dice_table.rb +2 -0
  160. data/lib/bcdice/version.rb +3 -1
  161. metadata +19 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 543af352f4624f57fc45ef2dcbd5d791c8b61b65c487b9da009a26a1f1645114
4
- data.tar.gz: 8a959dd5c0925a6fba2d2809d94131ba22704acb5718715144a454cde69bf0b1
3
+ metadata.gz: 2845b53edc8eaf447d222d1bd08a305dcaf8d38c7a9d6bd37539ed990713f533
4
+ data.tar.gz: 98bf76a14460707ec34952694e3e6256aabe6e66c187f1fd5394c816fb948df7
5
5
  SHA512:
6
- metadata.gz: c7fefae9b0473ac2642f2a42d51085ea4ec46966fe4a5ca2467e92d66ef7cd81beb1d466b8dc04e9f78236fcfc86e4b6d6a0cdf011f90cff57b495edddb75075
7
- data.tar.gz: 7cff2e1ff26358f2ebba187fe9aefb25bd086e4267c7842da946f093347286f0071b726714deb8b994bb608929424e24502e144f6eaec9edf07a4e42e09e9502
6
+ metadata.gz: 5860f30cf937951291575caf5795878894926ee27692f49bf9b586e6d8d1cde3f3eec62e1181d7868dfb16cda93a0035869da89c5e89f89089450c2d515f46e4
7
+ data.tar.gz: 0723eb18505cc461a866feaf8f7a99e57c061be28acc716d7d6b0481eb7a7f1d8beb9ed9ec95196ac09593dac5ccfd052e05f7bc7957a69df0dd0748bd6e6c88
data/CHANGELOG.md CHANGED
@@ -1,6 +1,49 @@
1
1
  # ChangeLog
2
2
 
3
- ## Unreleased
3
+ ## 3.1.2 2021/03/28
4
+
5
+ ### バグ修正
6
+ - 以下のゲームシステムのソートキーを修正 ([#399](https://github.com/bcdice/BCDice/pull/399), [#402](https://github.com/bcdice/BCDice/pull/402))
7
+ - 迷宮キングダム 基本ルールブック
8
+ - 剣の街の異邦人TRPG
9
+ - 크툴루
10
+ - 크툴루의 부름 7판
11
+ - 克蘇魯神話
12
+ - 克蘇魯神話第7版
13
+ - サイコロフィクション系のゲームシステムで `command_pattern` の出力に問題があったのを修正 ([#401](https://github.com/bcdice/BCDice/pull/401))
14
+
15
+ ## 3.1.1 2021/03/20
16
+
17
+ ### バグ修正
18
+ - エンゼルギア 天使大戦TRPG The 2nd Edition: SORT_KEYを修正
19
+
20
+ ## 3.1.0 2021/03/20
21
+
22
+ ### 対応ゲームシステムの追加
23
+ - エンゼルギア 天使大戦TRPG The 2nd Edition (AngelGear): sakura40さんありがとうっ! ([#398](https://github.com/bcdice/BCDice/pull/398))
24
+
25
+ ### 追加機能
26
+ - ソードワールド2.5: 森羅魔法のダメージ算出コマンドを追加。三木里 秀予さんありがとうっ! ([#372](https://github.com/bcdice/BCDice/pull/372))
27
+ - ソードワールド各種: 威力表コマンドの半減後の加減算修正への対応とコマンドの柔軟性を向上。三木里 秀予さんありがとうっ! ([#373](https://github.com/bcdice/BCDice/pull/373))
28
+ - ネバークラウドTRPG: 様々な表を追加。蜂紫さんありがとうっ! ([#381](https://github.com/bcdice/BCDice/pull/381))
29
+ - ソードワールド2.5: アビスカース表コマンドを追加。三木里 秀予さんありがとうっ! ([#393](https://github.com/bcdice/BCDice/pull/393))
30
+
31
+ ### 変更
32
+ - ガラコと破戒の塔: デフォルトダイスを10面に変更。くずもちさんありがとうっ! ([#371](https://github.com/bcdice/BCDice/pull/371))
33
+ - ガラコと破戒の塔: 判定コマンドの目標値を省略できるように。くずもちさんありがとうっ! ([#378](https://github.com/bcdice/BCDice/pull/378))
34
+ - ブラッドムーン: ブラッド・クルセイドから流用していた一部の表を専用の内容にする。ViViさんありがとうっ! ([#388](https://github.com/bcdice/BCDice/pull/388))
35
+ - クトゥルフ神話TRPG: コマンドを完全一致でのみ実行できるように変更 ([#389](https://github.com/bcdice/BCDice/pull/389))
36
+
37
+ ### 誤植修正
38
+ - モノトーンミュージアムRPG: 歪み表(館・城)のエラッタを反映。えいむさんありがとうっ! ([#375](https://github.com/bcdice/BCDice/pull/375))
39
+ - ブラッド・クルセイド: 先制判定指定特技表とシーン表の誤植を修正。ViViさんありがとうっ! ([#383](https://github.com/bcdice/BCDice/pull/383), [#384](https://github.com/bcdice/BCDice/pull/384))
40
+ - いくつかのゲームシステムのヘルプメッセージにあった誤植を修正。円柱さん報告ありがとうっ! ([#390](https://github.com/bcdice/BCDice/issues/390), [#391](https://github.com/bcdice/BCDice/pull/391))
41
+
42
+ ### バグ修正
43
+ - ビーストバインド トリニティ: 判定コマンドで大きい出目2個を取る処理が欠けていたのを修正 ([#386](https://github.com/bcdice/BCDice/pull/386))
44
+ - シノビガミ: 行為判定でクルティカルとファンブルが同時発生した際にファンブルを優先するように修正 ([#387](https://github.com/bcdice/BCDice/pull/387))
45
+
46
+ ## 3.0.0 2021/01/24
4
47
 
5
48
  ### 対応ゲームシステムの追加
6
49
  - SRSじゃない世界樹の迷宮TRPG (NSSQ): TTさんありがとうっ! ([#284](https://github.com/bcdice/BCDice/pull/284))
@@ -12,6 +55,10 @@
12
55
  - アルケミア・ストラグル (AlchemiaStruggle): ViViさんありがとうっ! ([#341](https://github.com/bcdice/BCDice/pull/341))
13
56
  - 呪印感染 (JuinKansen): 猫あきら。さん情報提供ありがとうっ! ([#345](https://github.com/bcdice/BCDice/pull/345))
14
57
  - 韓国語版マギカロギア 마기카로기아 (MagicaLogia:Korean): Faithさんありがとうっ! ([#360](https://github.com/bcdice/BCDice/pull/360))
58
+ - 鋼鉄のユグドラシル (Yggdrasill): Doktorさん、Mid9658さんありがとうっ! ([#361](https://github.com/bcdice/BCDice/pull/361))
59
+ - Desperate Run TRPG (Desperate Run): えおふさんありがとうっ! ([#362](https://github.com/bcdice/BCDice/pull/362))
60
+ - ジキルとハイドとグリトグラ (JekyllAndHyde): えおふさんありがとうっ! ([#362](https://github.com/bcdice/BCDice/pull/362))
61
+ - 少年のための少女展爛会異聞 Infinite BabeL (InfiniteBabeL): 全裸さんありがとうっ! ([#367](https://github.com/bcdice/BCDice/pull/367))
15
62
 
16
63
  ### 追加機能
17
64
  - ログ・ホライズンTRPG: LHZB1とLHZB2両方の財宝表をサポート、消耗表ロールを追加、財宝表ロールを追加、区切り文字を変更 ([#279](https://github.com/bcdice/BCDice/pull/279))
data/README.md CHANGED
@@ -8,18 +8,13 @@
8
8
 
9
9
  様々なTRPGシステムの判定に対応したIRC用ダイスボット兼オンセツール用ダイスエンジン
10
10
 
11
- ## :warning: 注意 :warning:
12
-
13
- リポジトリサイズ削減のため、2020/09/01にmasterブランチのコミットログを改変します。
14
-
15
- 詳細は [bcdice/BCDice#204](https://github.com/bcdice/BCDice/issues/204) をご覧ください。
16
11
 
17
12
  ## Documents
18
13
 
14
+ - [BCDiceコマンドガイド](https://docs.bcdice.org/)
19
15
  - [ロードマップ](ROADMAP.md)
20
16
  - [ChangeLog](CHANGELOG.md)
21
- - [旧README](docs/README.txt)
22
- - [ダイスボットの作り方](docs/how_to_make_dicebot.md)
17
+ - [ダイスボットの作り方(旧版)](docs/how_to_make_dicebot.md)
23
18
  - [Pull Requestを送る前に確認したいこと](https://github.com/bcdice/BCDice/wiki/Pull-Requestを送る前に確認したいこと)
24
19
 
25
20
  ## バグ報告や機能要望
@@ -31,6 +26,37 @@ BCDiceの問題を発見したり、機能の要望がある時に起こすア
31
26
  3. [問い合わせフォーム](https://forms.gle/yquupEAKbBTHzYF8A)から問い合わせる
32
27
  4. GitHubの issue や Pull Request を作成する (GitとGitHubがわかる人向け)
33
28
 
29
+ ## Quick Start
30
+
31
+ ```ruby
32
+ require "bcdice"
33
+ require "bcdice/game_system" # 全ゲームシステムをロードする
34
+
35
+ cthulhu7th = BCDice.game_system_class("Cthulhu7th")
36
+ result = cthulhu7th.eval("CC<=25") #=> #<BCDice::Result>
37
+ result.text #=> "(1D100<=25) ボーナス・ペナルティダイス[0] > 1 > 1 > クリティカル"
38
+ result.success? #=> true
39
+ result.critical? #=> true
40
+ ```
41
+
42
+ ```ruby
43
+ require "bcdice"
44
+ require "bcdice/user_defined_dice_table"
45
+
46
+ text = <<~TEXT
47
+ 飲み物表
48
+ 1D6
49
+ 1:水
50
+ 2:緑茶
51
+ 3:麦茶
52
+ 4:コーラ
53
+ 5:オレンジジュース
54
+ 6:選ばれし者の知的飲料
55
+ TEXT
56
+ result = BCDice::UserDefinedDiceTable.eval(text) #=> #<BCDice::Result>
57
+ result.text #=> "飲み物表(6) > 選ばれし者の知的飲料"
58
+ ```
59
+
34
60
  ## LICENSE
35
61
 
36
62
  [BSD 3-Clause License](LICENSE)
@@ -1,11 +1,12 @@
1
1
  ja_jp:
2
2
  DetatokoSaga:
3
3
  DS:
4
- input_options: "判定! スキルレベル:%{skill} フラグ:%{flag} 目標値:%{target}"
4
+ input_options: "判定! スキルランク:%{skill} フラグ:%{flag} 目標値:%{target}"
5
+ modifier: " 修正値:%{modifier}"
5
6
  success: 目標値以上!【成功】
6
7
  failure: 目標値未満…【失敗】
7
8
  JD:
8
- input_options: "判定! スキルレベル:%{skill} フラグ:%{flag}"
9
+ input_options: "判定! スキルランク:%{skill} フラグ:%{flag}"
9
10
  modifier: " 修正値:%{modifier}"
10
11
  total_value: "判定値:%{total}"
11
12
  less_than_flag: "、フラグ以下!【気力%{will}点減少】【判定値変更不可】"
@@ -2,6 +2,7 @@ ko_kr:
2
2
  DetatokoSaga:
3
3
  DS:
4
4
  input_options: "판정! 스킬레벨:%{skill} 플래그:%{flag} 목표치:%{target}"
5
+ modifier: " 수정치:%{modifier}"
5
6
  success: 목표치 이상!【성공】
6
7
  failure: 목표치 미달… 【실패】
7
8
  JD:
@@ -497,10 +497,10 @@ ja_jp:
497
497
  光をも塗りつぶす漆黒の闇が満ち、蝋燭の灯がすべて消える。何らかの手段で魔法的な光をPCたちが有していない限り、射撃攻撃の達成値は-5される。何らかの暗視能力や強力な嗅覚などを持つ、とGMが判断したキャラクターはこの効果を受けない。
498
498
  - |-
499
499
  【動く植物】
500
- 屋敷の植物、鳥や薔薇などが動き出し、襲いかかってくる。【反射】難易度12の判定に失敗すると、〈斬〉5D6のダメージを受ける。
500
+ 屋敷の植物、鳥や薔薇などが動き出し、襲いかかってくる。【知覚】難易度12の判定に失敗すると、〈斬〉5D6のダメージを受ける。
501
501
  - |-
502
502
  【黒い影】
503
- 歪みによって、館に(あるいは館の建っている場所に)住んでいた過去の人物たちが影となって蘇り、館内を徘徊する。【反射】難易度10の判定に失敗したPCは発見され、【MP】4D6点となる。
503
+ 歪みによって、館に(あるいは館の建っている場所に)住んでいた過去の人物たちが影となって蘇り、館内を徘徊する。【知覚】難易度10の判定に失敗したPCは発見され、【MP】4D6点となる。
504
504
  - |-
505
505
  【凶暴な獣】
506
506
  館に飼われている猛獣や、屋敷に住み着くネズミや鳥などが異形化し襲いかかってくる。GMは適切なエネミーを登場させ、戦闘を行なってもよい。
@@ -509,7 +509,7 @@ ja_jp:
509
509
  部屋が歪み、入ってきたものを食らおうと牙を剥く。室内にいるすべてのキャラクターは2D6を振り、出た目に等しい【HP】を失う。ただし出目が2の場合、即座に【HP】が0となる。
510
510
  - |-
511
511
  【灼熱の暖炉】
512
- 暖炉から炎が噴き出し襲いかかる。登場しているキャラクターは【反射】難易度12の判定を行ない、失敗すると【HP】4D6点を失う。
512
+ 暖炉から炎が噴き出し襲いかかる。登場しているキャラクターは【知覚】難易度12の判定を行ない、失敗すると【HP】4D6点を失う。
513
513
  - |-
514
514
  【無限回廊】
515
515
  果てしなく続く通廊に迷い込む。どこまで行っても同じ部屋だ。1D6時間【あるいはGMが定めた時間】を浪費し、同じだけの【HP】を失う。
data/lib/bcdice.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/version"
2
4
  require "bcdice/arithmetic"
3
5
  require "bcdice/arithmetic_evaluator"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module ArithmeticEvaluator
3
5
  class << self
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/common_command/add_dice"
2
4
  require "bcdice/common_command/barabara_dice"
3
5
  require "bcdice/common_command/calc"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/normalize"
2
4
  require "bcdice/common_command/add_dice/parser"
3
5
  require "bcdice/common_command/add_dice/randomizer"
@@ -5,7 +7,7 @@ require "bcdice/common_command/add_dice/randomizer"
5
7
  module BCDice
6
8
  module CommonCommand
7
9
  module AddDice
8
- PREFIX_PATTERN = /[+\-\dD(\[]+/.freeze
10
+ PREFIX_PATTERN = /[+\-\dD(]+/.freeze
9
11
 
10
12
  class << self
11
13
  def eval(command, game_system, randomizer)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module CommonCommand
3
5
  module AddDice
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/common_command/barabara_dice/parser"
2
4
 
3
5
  module BCDice
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/format"
2
4
  require "bcdice/common_command/barabara_dice/result"
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/common_command/calc/parser"
2
4
 
3
5
  module BCDice
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module CommonCommand
3
5
  class D66Dice
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/common_command/upper_dice/parser"
2
4
 
3
5
  module BCDice
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module CommonCommand
3
5
  module Version
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/dice_table/roll_result"
2
4
  require "bcdice/dice_table/chain_table"
3
5
  require "bcdice/dice_table/d66_grid_table"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module DiceTable
3
5
  class ChainTable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module DiceTable
3
5
  # D66を振って6x6マスの表を参照する
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module DiceTable
3
5
  # 出目の偶奇による場合分け機能をもつD66表
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module DiceTable
3
5
  # 項目をRangeを用いて参照するD66表
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module DiceTable
3
5
  # D66を振って出目を昇順/降順にして表を参照する
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module DiceTable
3
5
  class RollResult
@@ -77,7 +77,7 @@ module BCDice
77
77
  end
78
78
 
79
79
  def prefixes
80
- ([/RTT[1-6]?/i, "RCT", @rtt, @rct] + @rttn).compact
80
+ (["RTT[1-6]?", "RCT", @rtt, @rct] + @rttn).compact
81
81
  end
82
82
 
83
83
  private
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module DiceTable
3
5
  # 表を表すクラス
data/lib/bcdice/enum.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  # D66のダイス入れ替え
3
5
  module D66SortType
data/lib/bcdice/format.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module BCDice
2
4
  module Format
3
5
  module_function
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bcdice/game_system/AFF2e"
2
4
  require "bcdice/game_system/AceKillerGene"
3
5
  require "bcdice/game_system/Airgetlamh"
@@ -7,6 +9,7 @@ require "bcdice/game_system/Alshard"
7
9
  require "bcdice/game_system/AlterRaise"
8
10
  require "bcdice/game_system/Amadeus"
9
11
  require "bcdice/game_system/Amadeus_Korean"
12
+ require "bcdice/game_system/AngelGear"
10
13
  require "bcdice/game_system/AnimaAnimus"
11
14
  require "bcdice/game_system/Arianrhod"
12
15
  require "bcdice/game_system/ArsMagica"
@@ -42,6 +45,7 @@ require "bcdice/game_system/DarkDaysDrive"
42
45
  require "bcdice/game_system/DarkSouls"
43
46
  require "bcdice/game_system/DeadlineHeroes"
44
47
  require "bcdice/game_system/DemonParasite"
48
+ require "bcdice/game_system/DesperateRun"
45
49
  require "bcdice/game_system/DetatokoSaga"
46
50
  require "bcdice/game_system/DetatokoSaga_Korean"
47
51
  require "bcdice/game_system/DiceBot"
@@ -86,11 +90,13 @@ require "bcdice/game_system/Hieizan"
86
90
  require "bcdice/game_system/HouraiGakuen"
87
91
  require "bcdice/game_system/HuntersMoon"
88
92
  require "bcdice/game_system/Illusio"
93
+ require "bcdice/game_system/InfiniteBabeL"
89
94
  require "bcdice/game_system/InfiniteFantasia"
90
95
  require "bcdice/game_system/Insane"
91
96
  require "bcdice/game_system/Insane_Korean"
92
97
  require "bcdice/game_system/IthaWenUa"
93
98
  require "bcdice/game_system/JamesBond"
99
+ require "bcdice/game_system/JekyllAndHyde"
94
100
  require "bcdice/game_system/JuinKansen"
95
101
  require "bcdice/game_system/Kamigakari"
96
102
  require "bcdice/game_system/Kamigakari_Korean"
@@ -193,4 +199,5 @@ require "bcdice/game_system/WitchQuest"
193
199
  require "bcdice/game_system/WorldOfDarkness"
194
200
  require "bcdice/game_system/YankeeYogSothoth"
195
201
  require "bcdice/game_system/YearZeroEngine"
202
+ require "bcdice/game_system/Yggdrasill"
196
203
  require "bcdice/game_system/ZettaiReido"
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "bcdice"
3
+ require "bcdice/base"
4
4
 
5
5
  module BCDice
6
6
  module GameSystem
@@ -10,39 +10,52 @@ module BCDice
10
10
  SORT_KEY = "あるけみあすとらくる"
11
11
 
12
12
  HELP_MESSAGE = <<~MESSAGETEXT
13
- ■ ダイスロール( xAS )
14
- xDをロールします。
15
- 例) 5AS
16
- #{' '}
17
- ■ ダイスロール&最大になるようにピック( xASy )
18
- xDをロールし、そこから最大になるようにy個をピックします。
19
- 例) 4AS3
20
- #{' '}
21
-
22
- ・奇跡の触媒
23
- ・エレメント (CELE, CElement)
24
- ・アルケミア (CALC, CAlchemia)
25
- ・インフォーマント (CINF, CInformant)
26
- ・イノセンス (CINN, CInnocence)
27
- ・アクワイヤード (CACQ, CAcquired)
28
- ・携行品
29
- ・Sサイズ (ARS, ArticleS)
30
- ・Mサイズ (ARM, ArticleM)
31
- ・Lサイズ (ARL, ArticleL)
32
- ・PC情報獲得表 (PCI, PCInformation)
33
- ・理由表 (REA, Reason)
34
- ・交流表 (ASS, Associate)
35
- ・接触のきっかけ表 (CON, Contact)
13
+ ■ ダイスロール( xAS )
14
+ xDをロールします。
15
+ 例) 5AS
16
+
17
+ ■ ダイスロール&最大になるようにピック( xASy )
18
+ xDをロールし、そこから最大になるようにy個をピックします。
19
+ 例) 4AS3
20
+
21
+ ウルダイスの獲得( xUL )
22
+ xDのウルダイスを振り、出た出目の個数をNo.ごとにカウントします。
23
+ 例) 6UL
24
+
25
+
26
+ ・奇跡の触媒
27
+ ・エレメント (CELE, CElement)
28
+ ・アルケミア (CALC, CAlchemia)
29
+ ・インフォーマント (CINF, CInformant)
30
+ ・イノセンス (CINN, CInnocence)
31
+ ・アクワイヤード (CACQ, CAcquired)
32
+ ・携行品
33
+ ・Sサイズ (ARS, ArticleS)
34
+ ・Mサイズ (ARM, ArticleM)
35
+ ・Lサイズ (ARL, ArticleL)
36
+ ・PC情報獲得表 (PCI, PCInformation)
37
+ ・理由表 (REA, Reason)
38
+ ・交流表 (ASS, Associate)
39
+ ・接触のきっかけ表 (CON, Contact)
36
40
  MESSAGETEXT
37
41
 
38
42
  ROLL_REG = /^(\d+)AS(\d+)?$/i.freeze
39
43
 
40
- register_prefix('\\d+AS')
44
+ register_prefix('\d+AS', '\d+UL')
45
+
46
+ def initialize(command)
47
+ super(command)
48
+
49
+ @sort_add_dice = true # 加算ダイスのソート有
50
+ @sort_barabara_dice = true # バラバラダイスでソート有
51
+ @round_type = RoundType::CEIL # 割り算をした時の端数切り上げ
52
+ end
41
53
 
42
54
  def eval_game_system_specific_command(command)
43
55
  c = ALIAS[command] || command
44
56
 
45
57
  try_roll_alchemia(c) ||
58
+ try_roll_uldice(c) ||
46
59
  roll_tables(c, TABLES)
47
60
  end
48
61
 
@@ -67,6 +80,27 @@ module BCDice
67
80
  end
68
81
  end
69
82
 
83
+ def try_roll_uldice(command)
84
+ match = /^(\d+)UL$/.match(command)
85
+ return nil unless match
86
+
87
+ roll_dice_count = match[1].to_i
88
+ dice_list = @randomizer.roll_barabara(roll_dice_count, 6).sort
89
+ dice_list_text = dice_list.join(",")
90
+
91
+ result = dice_list.group_by(&:itself)
92
+ .map { |k, v| "No.#{k}: #{v.size}個" }
93
+ .join(", ")
94
+
95
+ sequence = [
96
+ "(#{roll_dice_count}D6)",
97
+ "[#{dice_list_text}]",
98
+ result
99
+ ]
100
+
101
+ sequence.join(" > ")
102
+ end
103
+
70
104
  def roll_alchemia(roll_dice_count)
71
105
  @randomizer.roll_barabara(roll_dice_count, 6)
72
106
  end