bcdice 3.0.0.pre.alpha.1

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 (258) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +21 -0
  3. data/.github/.codecov.yaml +10 -0
  4. data/.github/workflows/coverage.yaml +21 -0
  5. data/.github/workflows/lint.yaml +13 -0
  6. data/.github/workflows/test.yml +20 -0
  7. data/.gitignore +14 -0
  8. data/.rubocop.yml +96 -0
  9. data/.rubocop_todo.yml +113 -0
  10. data/CHANGELOG.md +868 -0
  11. data/Gemfile +11 -0
  12. data/LICENSE +29 -0
  13. data/README.md +38 -0
  14. data/ROADMAP.md +30 -0
  15. data/Rakefile +118 -0
  16. data/bcdice.gemspec +27 -0
  17. data/bin/repl.rb +21 -0
  18. data/docs/README.txt +2028 -0
  19. data/docs/dicebot_sort_key.md +72 -0
  20. data/docs/how_to_make_dicebot.md +453 -0
  21. data/lib/bcdice.rb +8 -0
  22. data/lib/bcdice/arithmetic_evaluator.rb +167 -0
  23. data/lib/bcdice/base.rb +423 -0
  24. data/lib/bcdice/command_parser.rb +242 -0
  25. data/lib/bcdice/common_command.rb +23 -0
  26. data/lib/bcdice/common_command/add_dice.rb +54 -0
  27. data/lib/bcdice/common_command/add_dice/node.rb +488 -0
  28. data/lib/bcdice/common_command/add_dice/parser.rb +282 -0
  29. data/lib/bcdice/common_command/add_dice/randomizer.rb +48 -0
  30. data/lib/bcdice/common_command/barabara_dice.rb +57 -0
  31. data/lib/bcdice/common_command/calc.rb +39 -0
  32. data/lib/bcdice/common_command/choice.rb +35 -0
  33. data/lib/bcdice/common_command/d66_dice.rb +63 -0
  34. data/lib/bcdice/common_command/reroll_dice.rb +190 -0
  35. data/lib/bcdice/common_command/upper_dice.rb +165 -0
  36. data/lib/bcdice/common_command/version.rb +26 -0
  37. data/lib/bcdice/dice_table.rb +8 -0
  38. data/lib/bcdice/dice_table/chain_table.rb +33 -0
  39. data/lib/bcdice/dice_table/d66_grid_table.rb +26 -0
  40. data/lib/bcdice/dice_table/d66_range_table.rb +26 -0
  41. data/lib/bcdice/dice_table/d66_table.rb +34 -0
  42. data/lib/bcdice/dice_table/range_table.rb +267 -0
  43. data/lib/bcdice/dice_table/roll_result.rb +43 -0
  44. data/lib/bcdice/dice_table/sai_fic_skill_table.rb +32 -0
  45. data/lib/bcdice/dice_table/table.rb +35 -0
  46. data/lib/bcdice/enum.rb +15 -0
  47. data/lib/bcdice/format.rb +36 -0
  48. data/lib/bcdice/game_system.rb +187 -0
  49. data/lib/bcdice/game_system/AFF2e.rb +141 -0
  50. data/lib/bcdice/game_system/AceKillerGene.rb +55 -0
  51. data/lib/bcdice/game_system/Airgetlamh.rb +117 -0
  52. data/lib/bcdice/game_system/Alsetto.rb +124 -0
  53. data/lib/bcdice/game_system/Alshard.rb +27 -0
  54. data/lib/bcdice/game_system/AlterRaise.rb +282 -0
  55. data/lib/bcdice/game_system/Amadeus.rb +622 -0
  56. data/lib/bcdice/game_system/Amadeus_Korean.rb +501 -0
  57. data/lib/bcdice/game_system/AnimaAnimus.rb +96 -0
  58. data/lib/bcdice/game_system/Arianrhod.rb +50 -0
  59. data/lib/bcdice/game_system/ArsMagica.rb +149 -0
  60. data/lib/bcdice/game_system/Avandner.rb +101 -0
  61. data/lib/bcdice/game_system/BBN.rb +143 -0
  62. data/lib/bcdice/game_system/BadLife.rb +435 -0
  63. data/lib/bcdice/game_system/BarnaKronika.rb +188 -0
  64. data/lib/bcdice/game_system/BattleTech.rb +530 -0
  65. data/lib/bcdice/game_system/BeastBindTrinity.rb +348 -0
  66. data/lib/bcdice/game_system/BeginningIdol.rb +2527 -0
  67. data/lib/bcdice/game_system/BeginningIdol_Korean.rb +2378 -0
  68. data/lib/bcdice/game_system/BladeOfArcana.rb +252 -0
  69. data/lib/bcdice/game_system/BlindMythos.rb +460 -0
  70. data/lib/bcdice/game_system/BloodCrusade.rb +423 -0
  71. data/lib/bcdice/game_system/BloodMoon.rb +213 -0
  72. data/lib/bcdice/game_system/CardRanker.rb +249 -0
  73. data/lib/bcdice/game_system/ChaosFlare.rb +181 -0
  74. data/lib/bcdice/game_system/Chill.rb +163 -0
  75. data/lib/bcdice/game_system/Chill3.rb +52 -0
  76. data/lib/bcdice/game_system/CodeLayerd.rb +132 -0
  77. data/lib/bcdice/game_system/ColossalHunter.rb +569 -0
  78. data/lib/bcdice/game_system/CrashWorld.rb +81 -0
  79. data/lib/bcdice/game_system/Cthulhu.rb +252 -0
  80. data/lib/bcdice/game_system/Cthulhu7th.rb +767 -0
  81. data/lib/bcdice/game_system/Cthulhu7th_ChineseTraditional.rb +386 -0
  82. data/lib/bcdice/game_system/Cthulhu7th_Korean.rb +383 -0
  83. data/lib/bcdice/game_system/CthulhuTech.rb +263 -0
  84. data/lib/bcdice/game_system/Cthulhu_ChineseTraditional.rb +243 -0
  85. data/lib/bcdice/game_system/Cthulhu_Korean.rb +240 -0
  86. data/lib/bcdice/game_system/DarkBlaze.rb +207 -0
  87. data/lib/bcdice/game_system/DarkDaysDrive.rb +425 -0
  88. data/lib/bcdice/game_system/DarkSouls.rb +91 -0
  89. data/lib/bcdice/game_system/DeadlineHeroes.rb +583 -0
  90. data/lib/bcdice/game_system/DemonParasite.rb +524 -0
  91. data/lib/bcdice/game_system/DetatokoSaga.rb +310 -0
  92. data/lib/bcdice/game_system/DetatokoSaga_Korean.rb +310 -0
  93. data/lib/bcdice/game_system/DiceBot.rb +17 -0
  94. data/lib/bcdice/game_system/DiceOfTheDead.rb +111 -0
  95. data/lib/bcdice/game_system/DoubleCross.rb +373 -0
  96. data/lib/bcdice/game_system/DoubleCross_Korean.rb +371 -0
  97. data/lib/bcdice/game_system/Dracurouge.rb +1856 -0
  98. data/lib/bcdice/game_system/Dracurouge_Korean.rb +310 -0
  99. data/lib/bcdice/game_system/DungeonsAndDragons.rb +19 -0
  100. data/lib/bcdice/game_system/EarthDawn.rb +225 -0
  101. data/lib/bcdice/game_system/EarthDawn3.rb +275 -0
  102. data/lib/bcdice/game_system/EarthDawn4.rb +272 -0
  103. data/lib/bcdice/game_system/EclipsePhase.rb +51 -0
  104. data/lib/bcdice/game_system/Elric.rb +36 -0
  105. data/lib/bcdice/game_system/Elysion.rb +1213 -0
  106. data/lib/bcdice/game_system/EmbryoMachine.rb +227 -0
  107. data/lib/bcdice/game_system/EndBreaker.rb +132 -0
  108. data/lib/bcdice/game_system/EtrianOdysseySRS.rb +27 -0
  109. data/lib/bcdice/game_system/Fiasco.rb +123 -0
  110. data/lib/bcdice/game_system/Fiasco_Korean.rb +122 -0
  111. data/lib/bcdice/game_system/FilledWith.rb +1543 -0
  112. data/lib/bcdice/game_system/FullMetalPanic.rb +27 -0
  113. data/lib/bcdice/game_system/FutariSousa.rb +994 -0
  114. data/lib/bcdice/game_system/FutariSousa_Korean.rb +994 -0
  115. data/lib/bcdice/game_system/Garako.rb +559 -0
  116. data/lib/bcdice/game_system/GardenOrder.rb +451 -0
  117. data/lib/bcdice/game_system/GehennaAn.rb +136 -0
  118. data/lib/bcdice/game_system/GeishaGirlwithKatana.rb +120 -0
  119. data/lib/bcdice/game_system/GoblinSlayer.rb +168 -0
  120. data/lib/bcdice/game_system/GoldenSkyStories.rb +77 -0
  121. data/lib/bcdice/game_system/Gorilla.rb +44 -0
  122. data/lib/bcdice/game_system/GranCrest.rb +518 -0
  123. data/lib/bcdice/game_system/Gundog.rb +52 -0
  124. data/lib/bcdice/game_system/GundogRevised.rb +294 -0
  125. data/lib/bcdice/game_system/GundogZero.rb +261 -0
  126. data/lib/bcdice/game_system/Gurps.rb +403 -0
  127. data/lib/bcdice/game_system/GurpsFW.rb +2330 -0
  128. data/lib/bcdice/game_system/HarnMaster.rb +208 -0
  129. data/lib/bcdice/game_system/HatsuneMiku.rb +706 -0
  130. data/lib/bcdice/game_system/Hieizan.rb +48 -0
  131. data/lib/bcdice/game_system/HouraiGakuen.rb +270 -0
  132. data/lib/bcdice/game_system/HuntersMoon.rb +503 -0
  133. data/lib/bcdice/game_system/Illusio.rb +89 -0
  134. data/lib/bcdice/game_system/InfiniteFantasia.rb +51 -0
  135. data/lib/bcdice/game_system/Insane.rb +822 -0
  136. data/lib/bcdice/game_system/Insane_Korean.rb +773 -0
  137. data/lib/bcdice/game_system/IthaWenUa.rb +38 -0
  138. data/lib/bcdice/game_system/JamesBond.rb +45 -0
  139. data/lib/bcdice/game_system/Kamigakari.rb +394 -0
  140. data/lib/bcdice/game_system/Kamigakari_Korean.rb +428 -0
  141. data/lib/bcdice/game_system/KanColle.rb +938 -0
  142. data/lib/bcdice/game_system/KemonoNoMori.rb +258 -0
  143. data/lib/bcdice/game_system/KillDeathBusiness.rb +1420 -0
  144. data/lib/bcdice/game_system/KillDeathBusiness_Korean.rb +1510 -0
  145. data/lib/bcdice/game_system/KurayamiCrying.rb +49 -0
  146. data/lib/bcdice/game_system/LiveraDoll.rb +375 -0
  147. data/lib/bcdice/game_system/LogHorizon.rb +3567 -0
  148. data/lib/bcdice/game_system/LogHorizon_Korean.rb +1407 -0
  149. data/lib/bcdice/game_system/LostRecord.rb +30 -0
  150. data/lib/bcdice/game_system/LostRoyal.rb +242 -0
  151. data/lib/bcdice/game_system/MagicaLogia.rb +1148 -0
  152. data/lib/bcdice/game_system/MeikyuDays.rb +415 -0
  153. data/lib/bcdice/game_system/MeikyuKingdom.rb +466 -0
  154. data/lib/bcdice/game_system/MeikyuKingdomBasic.rb +269 -0
  155. data/lib/bcdice/game_system/MetalHead.rb +249 -0
  156. data/lib/bcdice/game_system/MetalHeadExtream.rb +917 -0
  157. data/lib/bcdice/game_system/MetallicGuardian.rb +31 -0
  158. data/lib/bcdice/game_system/MonotoneMuseum.rb +354 -0
  159. data/lib/bcdice/game_system/MonotoneMuseum_Korean.rb +304 -0
  160. data/lib/bcdice/game_system/Nechronica.rb +211 -0
  161. data/lib/bcdice/game_system/Nechronica_Korean.rb +160 -0
  162. data/lib/bcdice/game_system/NeverCloud.rb +74 -0
  163. data/lib/bcdice/game_system/NightWizard.rb +231 -0
  164. data/lib/bcdice/game_system/NightWizard3rd.rb +24 -0
  165. data/lib/bcdice/game_system/NightmareHunterDeep.rb +117 -0
  166. data/lib/bcdice/game_system/NinjaSlayer.rb +274 -0
  167. data/lib/bcdice/game_system/NjslyrBattle.rb +54 -0
  168. data/lib/bcdice/game_system/Nuekagami.rb +293 -0
  169. data/lib/bcdice/game_system/OneWayHeroics.rb +134 -0
  170. data/lib/bcdice/game_system/OracleEngine.rb +265 -0
  171. data/lib/bcdice/game_system/OrgaRain.rb +77 -0
  172. data/lib/bcdice/game_system/Oukahoushin3rd.rb +162 -0
  173. data/lib/bcdice/game_system/Paradiso.rb +323 -0
  174. data/lib/bcdice/game_system/Paranoia.rb +64 -0
  175. data/lib/bcdice/game_system/ParanoiaRebooted.rb +109 -0
  176. data/lib/bcdice/game_system/ParasiteBlood.rb +231 -0
  177. data/lib/bcdice/game_system/Pathfinder.rb +21 -0
  178. data/lib/bcdice/game_system/Peekaboo.rb +324 -0
  179. data/lib/bcdice/game_system/Pendragon.rb +39 -0
  180. data/lib/bcdice/game_system/PhantasmAdventure.rb +73 -0
  181. data/lib/bcdice/game_system/Postman.rb +185 -0
  182. data/lib/bcdice/game_system/PulpCthulhu.rb +184 -0
  183. data/lib/bcdice/game_system/Raisondetre.rb +171 -0
  184. data/lib/bcdice/game_system/RecordOfLodossWar.rb +58 -0
  185. data/lib/bcdice/game_system/RecordOfSteam.rb +149 -0
  186. data/lib/bcdice/game_system/RokumonSekai2.rb +110 -0
  187. data/lib/bcdice/game_system/RoleMaster.rb +24 -0
  188. data/lib/bcdice/game_system/RuneQuest.rb +47 -0
  189. data/lib/bcdice/game_system/RyuTuber.rb +266 -0
  190. data/lib/bcdice/game_system/Ryutama.rb +199 -0
  191. data/lib/bcdice/game_system/SRS.rb +348 -0
  192. data/lib/bcdice/game_system/SamsaraBallad.rb +111 -0
  193. data/lib/bcdice/game_system/Satasupe.rb +1173 -0
  194. data/lib/bcdice/game_system/ScreamHighSchool.rb +128 -0
  195. data/lib/bcdice/game_system/SevenFortressMobius.rb +34 -0
  196. data/lib/bcdice/game_system/ShadowRun.rb +26 -0
  197. data/lib/bcdice/game_system/ShadowRun4.rb +49 -0
  198. data/lib/bcdice/game_system/ShadowRun5.rb +80 -0
  199. data/lib/bcdice/game_system/SharedFantasia.rb +69 -0
  200. data/lib/bcdice/game_system/ShinMegamiTenseiKakuseihen.rb +85 -0
  201. data/lib/bcdice/game_system/ShinkuuGakuen.rb +506 -0
  202. data/lib/bcdice/game_system/ShinobiGami.rb +680 -0
  203. data/lib/bcdice/game_system/ShoujoTenrankai.rb +677 -0
  204. data/lib/bcdice/game_system/Skynauts.rb +324 -0
  205. data/lib/bcdice/game_system/SteamPunkers.rb +485 -0
  206. data/lib/bcdice/game_system/StellarKnights.rb +856 -0
  207. data/lib/bcdice/game_system/SterileLife.rb +452 -0
  208. data/lib/bcdice/game_system/StrangerOfSwordCity.rb +103 -0
  209. data/lib/bcdice/game_system/StratoShout.rb +316 -0
  210. data/lib/bcdice/game_system/StratoShout_Korean.rb +314 -0
  211. data/lib/bcdice/game_system/Strave.rb +223 -0
  212. data/lib/bcdice/game_system/SwordWorld.rb +491 -0
  213. data/lib/bcdice/game_system/SwordWorld2_0.rb +295 -0
  214. data/lib/bcdice/game_system/SwordWorld2_5.rb +121 -0
  215. data/lib/bcdice/game_system/TherapieSein.rb +93 -0
  216. data/lib/bcdice/game_system/TokumeiTenkousei.rb +96 -0
  217. data/lib/bcdice/game_system/TokyoGhostResearch.rb +122 -0
  218. data/lib/bcdice/game_system/TokyoNova.rb +19 -0
  219. data/lib/bcdice/game_system/Torg.rb +364 -0
  220. data/lib/bcdice/game_system/Torg1_5.rb +139 -0
  221. data/lib/bcdice/game_system/TorgEternity.rb +414 -0
  222. data/lib/bcdice/game_system/TrinitySeven.rb +364 -0
  223. data/lib/bcdice/game_system/TunnelsAndTrolls.rb +287 -0
  224. data/lib/bcdice/game_system/TwilightGunsmoke.rb +527 -0
  225. data/lib/bcdice/game_system/Utakaze.rb +153 -0
  226. data/lib/bcdice/game_system/VampireTheMasquerade5th.rb +132 -0
  227. data/lib/bcdice/game_system/Villaciel.rb +555 -0
  228. data/lib/bcdice/game_system/WARPS.rb +33 -0
  229. data/lib/bcdice/game_system/WaresBlade.rb +34 -0
  230. data/lib/bcdice/game_system/Warhammer.rb +336 -0
  231. data/lib/bcdice/game_system/WitchQuest.rb +275 -0
  232. data/lib/bcdice/game_system/WorldOfDarkness.rb +135 -0
  233. data/lib/bcdice/game_system/YankeeYogSothoth.rb +440 -0
  234. data/lib/bcdice/game_system/YearZeroEngine.rb +134 -0
  235. data/lib/bcdice/game_system/ZettaiReido.rb +142 -0
  236. data/lib/bcdice/game_system/meikyu_kingdom/item_table.rb +383 -0
  237. data/lib/bcdice/game_system/meikyu_kingdom/kingdom_name_table.rb +89 -0
  238. data/lib/bcdice/game_system/meikyu_kingdom/landscape_table.rb +196 -0
  239. data/lib/bcdice/game_system/meikyu_kingdom/name_tables.rb +223 -0
  240. data/lib/bcdice/game_system/meikyu_kingdom/placename_table.rb +214 -0
  241. data/lib/bcdice/game_system/meikyu_kingdom/tables.rb +610 -0
  242. data/lib/bcdice/game_system/meikyu_kingdom/word_table.rb +117 -0
  243. data/lib/bcdice/game_system/meikyu_kingdom_basic/item_table.rb +380 -0
  244. data/lib/bcdice/game_system/meikyu_kingdom_basic/kingdom_table.rb +184 -0
  245. data/lib/bcdice/game_system/meikyu_kingdom_basic/name_table.rb +417 -0
  246. data/lib/bcdice/game_system/meikyu_kingdom_basic/table.rb +912 -0
  247. data/lib/bcdice/game_system/meikyu_kingdom_basic/word_table.rb +121 -0
  248. data/lib/bcdice/game_system/one_way_heroics/dungeon_table.rb +67 -0
  249. data/lib/bcdice/game_system/one_way_heroics/random_event_table.rb +166 -0
  250. data/lib/bcdice/game_system/one_way_heroics/tables.rb +668 -0
  251. data/lib/bcdice/loader.rb +37 -0
  252. data/lib/bcdice/normalize.rb +38 -0
  253. data/lib/bcdice/preprocessor.rb +87 -0
  254. data/lib/bcdice/randomizer.rb +137 -0
  255. data/lib/bcdice/repl.rb +155 -0
  256. data/lib/bcdice/user_defined_dice_table.rb +153 -0
  257. data/lib/bcdice/version.rb +3 -0
  258. metadata +304 -0
@@ -0,0 +1,89 @@
1
+ module BCDice
2
+ module GameSystem
3
+ class MeikyuKingdom
4
+ # 王国名決定表1(D66)
5
+ def mk_kingdom_name_1_table(num)
6
+ table = [
7
+ [11, "暗黒"],
8
+ [12, "王政"],
9
+ [13, "超"],
10
+ [14, "共和制"],
11
+ [15, "古代"],
12
+ [16, "社会主義"],
13
+ [22, "自由"],
14
+ [23, "新(ネオ)"],
15
+ [24, "神聖(セント、聖)"],
16
+ [25, "正統"],
17
+ [26, "絶対主義"],
18
+ [33, "大"],
19
+ [34, "天階"],
20
+ [35, "深階"],
21
+ [36, "第三"],
22
+ [44, "中央"],
23
+ [45, "帝政"],
24
+ [46, "統一"],
25
+ [55, "独立"],
26
+ [56, "東"],
27
+ [66, "立憲"],
28
+ ]
29
+ return get_table_by_number(num, table)
30
+ end
31
+
32
+ # 王国名決定表2(D66)
33
+ def mk_kingdom_name_2_table(num)
34
+ table = [
35
+ [11, "英雄"],
36
+ [12, "連合"],
37
+ [13, "グランドゼロ"],
38
+ [14, "迷宮(ダンジョン)"],
39
+ [15, "災厄"],
40
+ [16, "魔神(デーモン)"],
41
+ [22, "征服"],
42
+ [23, "中華"],
43
+ [24, "ドラゴン(龍)"],
44
+ [25, "猫"],
45
+ [26, "バナナ"],
46
+ [33, "ファンタジー"],
47
+ [34, "冒険"],
48
+ [35, "魔法(マジカル)"],
49
+ [36, "超人"],
50
+ [44, "無敵"],
51
+ [45, "路地裏"],
52
+ [46, "ローマ"],
53
+ [55, "(好きな単語表で決定)"],
54
+ [56, "(プレイ会場の地名 例:ネリマ)"],
55
+ [66, "(国王の名前。後で決定)"],
56
+ ]
57
+ return get_table_by_number(num, table)
58
+ end
59
+
60
+ # 王国名決定表3(D66)
61
+ def mk_kingdom_name_3_table(num)
62
+ table = [
63
+ [11, "王国(キングダム)"],
64
+ [12, "王朝"],
65
+ [13, "会社(公社)"],
66
+ [14, "学園(学校)"],
67
+ [15, "合衆国"],
68
+ [16, "共同体"],
69
+ [22, "共和国"],
70
+ [23, "星"],
71
+ [24, "公国"],
72
+ [25, "市(街、シティ、ポリス)"],
73
+ [26, "自治国"],
74
+ [33, "植民地"],
75
+ [34, "帝国"],
76
+ [35, "同盟"],
77
+ [36, "首長国"],
78
+ [44, "幕府"],
79
+ [45, "領"],
80
+ [46, "村"],
81
+ [55, "横丁(亭)"],
82
+ [56, "ランド"],
83
+ [66, "連邦"],
84
+ ]
85
+ return get_table_by_number(num, table)
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,196 @@
1
+ module BCDice
2
+ module GameSystem
3
+ class MeikyuKingdom
4
+ # 迷宮風景決定表
5
+ def mk_ls_decide_table(num)
6
+ output = ""
7
+ num.times do |_i|
8
+ output += "「" + mk_landscape_table(@randomizer.roll_once(6)) + "」"
9
+ end
10
+ return output
11
+ end
12
+
13
+ # 迷宮風景表(1D6)
14
+ def mk_landscape_table(num)
15
+ dice = @randomizer.roll_d66(D66SortType::ASC)
16
+ table = [
17
+ [1, lambda { mk_artifact_landscape_table(dice) }],
18
+ [2, lambda { mk_cave_landscape_table(dice) }],
19
+ [3, lambda { mk_natural_landscape_table(dice) }],
20
+ [4, lambda { mk_waterside_landscape_table(dice) }],
21
+ [5, lambda { mk_skyrealm_landscape_table(dice) }],
22
+ [6, lambda { mk_strange_place_landscape_table(dice) }],
23
+ ]
24
+ return get_table_by_number(num, table)
25
+ end
26
+
27
+ # 人工風景表(D66)
28
+ def mk_artifact_landscape_table(num)
29
+ table = [
30
+ [11, "石組みの部屋"],
31
+ [12, "巨大な縦穴に刻まれた螺旋階段"],
32
+ [13, "埃だらけの古い図書館"],
33
+ [14, "古びた、素朴な祭壇"],
34
+ [15, "歯車やピストンがやかましい動力室"],
35
+ [16, "石組みの巨大な階段"],
36
+ [22, "太い丸太で組まれた部屋"],
37
+ [23, "作りかけの製品が放置された工房"],
38
+ [24, "錆びた武器や骨が散らばる古戦場"],
39
+ [25, "石組みのトイレ"],
40
+ [26, "高い天井の厨房"],
41
+ [33, "レンガで組まれた部屋"],
42
+ [34, "静まりかえった劇場"],
43
+ [35, "がらくたが散らばっているゴミ捨て場"],
44
+ [36, "切り出し途中で放棄された巨大な石像"],
45
+ [44, "壁画やタペストリーが残る大広間"],
46
+ [45, "メトロ汗国の線路"],
47
+ [46, "絵画や彫刻が展示してあるギャラリー"],
48
+ [55, "石棺が並ぶ墓"],
49
+ [56, "錆びついた扉が残る巨大な門"],
50
+ [66, "放置された牢獄"],
51
+ ]
52
+ return get_table_by_number(num, table)
53
+ end
54
+
55
+ # 洞窟風景表(D66)
56
+ def mk_cave_landscape_table(num)
57
+ table = [
58
+ [11, "岩肌がむき出しの洞穴"],
59
+ [12, "コウモリや羽蟲が飛び交う洞穴"],
60
+ [13, "放置された坑道"],
61
+ [14, "誰かのキャンプ跡"],
62
+ [15, "岩だらけで見通しのきかない空洞"],
63
+ [16, "煙が吹きぬける洞穴"],
64
+ [22, "どこからか水音が響く鍾乳洞"],
65
+ [23, "光の衰えた星がまたたく幻想的な空洞"],
66
+ [24, "流砂が流れる洞穴"],
67
+ [25, "生物が掘った、つるつるした洞穴"],
68
+ [26, "冷えきった氷の洞穴"],
69
+ [33, "巨大な岩の隙間"],
70
+ [34, "動物や狩を描いた素朴な壁画が続く洞穴"],
71
+ [35, "巨大な空洞にかけられた自然の橋"],
72
+ [36, "埋まりかけで天井すれすれの洞穴"],
73
+ [44, "奈落と断崖絶壁"],
74
+ [45, "壁がうごめく蟲でおおわれた洞穴"],
75
+ [46, "無数の化石が埋まっている洞穴"],
76
+ [55, "熱気を放つ溶岩が流れる空洞"],
77
+ [56, "水晶でできた洞穴"],
78
+ [66, "骨が散らばるなにものかの住処"],
79
+ ]
80
+ return get_table_by_number(num, table)
81
+ end
82
+
83
+ # 自然風景表(D66)
84
+ def mk_natural_landscape_table(num)
85
+ table = [
86
+ [11, "苔むした部屋"],
87
+ [12, "動物の声が響き渡る密林"],
88
+ [13, "つる草でできた通路"],
89
+ [14, "空洞いっぱいのお花畑"],
90
+ [15, "壁から木の根が突き出している部屋"],
91
+ [16, "空洞に広がる耕作地"],
92
+ [22, "折り重なって繁茂する森林"],
93
+ [23, "垂直の空洞にえんえんと伸びる大木の幹"],
94
+ [24, "空洞中に広がるアザラシの営巣地"],
95
+ [25, "カビで壁がねとつく部屋"],
96
+ [26, "サボテンが点在する部屋"],
97
+ [33, "巨大キノコの群生地"],
98
+ [34, "真ん中に大木が一本そびえ立っている空洞"],
99
+ [35, "通路いっぱいに進む野生ウマトカゲの大群"],
100
+ [36, "落ち葉がうずたかく積もった部屋"],
101
+ [44, "植え込みで作られた迷宮庭園"],
102
+ [45, "生い茂る竹林"],
103
+ [46, "松ぼっくりが転がる部屋"],
104
+ [55, "丈の長い草が生い茂る部屋"],
105
+ [56, "枯れた森林"],
106
+ [66, "大木の空洞内のような通路や部屋"],
107
+ ]
108
+ return get_table_by_number(num, table)
109
+ end
110
+
111
+ # 水域風景表(D66)
112
+ def mk_waterside_landscape_table(num)
113
+ table = [
114
+ [11, "轟々と流れる川にかかった橋"],
115
+ [12, "色とりどりの珊瑚の中"],
116
+ [13, "腰高まで水に浸かった部屋"],
117
+ [14, "澄んだ水が流れる噴水と水飲み場"],
118
+ [15, "沸騰する湖"],
119
+ [16, "地面が干潟化した部屋"],
120
+ [22, "水をたたえた貯水池"],
121
+ [23, "熱い蒸気がたちこめる部屋"],
122
+ [24, "空洞に広がる沼地"],
123
+ [25, "樽や鎖が放置されている船の中"],
124
+ [26, "水槽が並ぶ水族館"],
125
+ [33, "悪臭を放つ下水道"],
126
+ [34, "底に遺跡が見える水没した空洞"],
127
+ [35, "桟橋と船着き場"],
128
+ [36, "筏やハシケが浮かぶ湖"],
129
+ [44, "巨大な縦穴と滝"],
130
+ [45, "かつて建設された上水道の中"],
131
+ [46, "ペンギンの右往左往する氷結した湖"],
132
+ [55, "湯気を立てる温泉"],
133
+ [56, "奇怪な彫刻が施された古井戸"],
134
+ [66, "壁に貝やフジツボがはりついた部屋"],
135
+ ]
136
+ return get_table_by_number(num, table)
137
+ end
138
+
139
+ # 天空風景表(D66)
140
+ def mk_skyrealm_landscape_table(num)
141
+ table = [
142
+ [11, "雨が降る部屋"],
143
+ [12, "チーズにうがたれた洞穴"],
144
+ [13, "中空に何層にも重なる空中庭園"],
145
+ [14, "無限に連なる真っ白な洗濯物"],
146
+ [15, "天空に向かって伸びる豆の木"],
147
+ [16, "巨大な縦穴にぶら下がる縄ばしごや鎖"],
148
+ [22, "強風の吹き荒れる部屋"],
149
+ [23, "雲の上。なぜか、その上を歩くことができる"],
150
+ [24, "濃霧に覆われた空洞"],
151
+ [25, "無重量でふわふわ浮く部屋"],
152
+ [26, "雪がしんしんと降り積もる部屋"],
153
+ [33, "時空がねじ曲がった空中回廊"],
154
+ [34, "怪物よけの風車が音を立てる通路"],
155
+ [35, "天井に遺跡が見える空洞"],
156
+ [36, "轟々と音を立てる巨大排気孔"],
157
+ [44, "時折稲妻の走る部屋"],
158
+ [45, "鳥の羽毛が舞い落ちる部屋"],
159
+ [46, "青空が壁面いっぱいに描かれた空洞"],
160
+ [55, "一面、鏡でできた部屋"],
161
+ [56, "オーロラがゆらめく空洞"],
162
+ [66, "重力方向がばらばらの部屋"],
163
+ ]
164
+ return get_table_by_number(num, table)
165
+ end
166
+
167
+ # 異界風景表(D66)
168
+ def mk_strange_place_landscape_table(num)
169
+ table = [
170
+ [11, "古びた六畳間"],
171
+ [12, "せせこましいカラオケボックス"],
172
+ [13, "時の止まった街"],
173
+ [14, "ボールが一個転がっている体育館"],
174
+ [15, "毛が生えている部屋"],
175
+ [16, "なにかの待合室"],
176
+ [22, "生物の粘液したたる体内"],
177
+ [23, "ブランコやすべり台のある小公園"],
178
+ [24, "安っぽいユニットバス"],
179
+ [25, "上の住人がうるさい部屋"],
180
+ [26, "人骨で組まれている部屋"],
181
+ [33, "呼吸している部屋"],
182
+ [34, "斜めに傾いた部屋"],
183
+ [35, "ラブホテルの一室"],
184
+ [36, "ときどきなにかが覗いていく部屋"],
185
+ [44, "がやがやと話し声が聞こえる部屋"],
186
+ [45, "触手が生えている部屋"],
187
+ [46, "机と椅子が置いてある取調室"],
188
+ [55, "静まりかえった教室"],
189
+ [56, "天井に巨大な人の顔がある部屋"],
190
+ [66, "常に揺れている部屋"],
191
+ ]
192
+ return get_table_by_number(num, table)
193
+ end
194
+ end
195
+ end
196
+ end
@@ -0,0 +1,223 @@
1
+ module BCDice
2
+ module GameSystem
3
+ class MeikyuKingdom
4
+ # 名前表
5
+ def mk_name_table
6
+ debug("mk_name_table begin")
7
+ output = "1"
8
+ # 名前表
9
+ name_n = @randomizer.roll_once(6)
10
+ debug("name_n", name_n)
11
+
12
+ d1 = @randomizer.roll_d66(D66SortType::ASC)
13
+ d2 = @randomizer.roll_d66(D66SortType::ASC)
14
+ debug("d1, d2", d1, d2)
15
+
16
+ debug("name_n", name_n)
17
+ if name_n <= 1
18
+ # 名前表A+二つ名表A
19
+ output = mk_nick_a_table(mk_name_a_table(d1), d2)
20
+ elsif name_n <= 2
21
+ # 名前表B+二つ名表A
22
+ output = mk_nick_a_table(mk_name_b_table(d1), d2)
23
+ elsif name_n <= 3
24
+ # 名前表エキゾチック+二つ名表A
25
+ output = mk_nick_a_table(mk_name_ex_table(d1), d2)
26
+ elsif name_n <= 4
27
+ # 名前表A+二つ名表B
28
+ output = mk_nick_b_table(mk_name_a_table(d1), d2)
29
+ elsif name_n <= 5
30
+ # 名前表B+二つ名表B
31
+ output = mk_nick_b_table(mk_name_b_table(d1), d2)
32
+ else
33
+ # 名前表ファンタジー+二つ名表B
34
+ output = mk_nick_b_table(mk_name_fa_table(d1), d2)
35
+ end
36
+
37
+ dice = "#{name_n},#{d1},#{d2}"
38
+
39
+ return output, dice
40
+ end
41
+
42
+ # 二つ名表A(D66)
43
+ def mk_nick_a_table(output, num)
44
+ table = [
45
+ [11, "“災い転じて福となす”"],
46
+ [12, "“七転び八起きの”"],
47
+ [13, "“冗談にも程がある”"],
48
+ [14, "“虎の尾を踏む”"],
49
+ [15, "“石橋を叩いて渡る”"],
50
+ [16, "“一を聴いて十を知る”"],
51
+ [22, "“喉から手が出る”"],
52
+ [23, "“据え膳食わぬは男の恥の”"],
53
+ [24, "“天につば吐く”"],
54
+ [25, "“風に柳の”"],
55
+ [26, "“目に入れても痛くない”"],
56
+ [33, "“とかく浮世は色と酒の”"],
57
+ [34, "“当たるも八卦、当たらぬも八卦の”"],
58
+ [35, "“泣く子も黙る”"],
59
+ [36, "“天上天下唯我独尊”"],
60
+ [44, "“虫も殺さぬ”"],
61
+ [45, "“花も恥じらう”"],
62
+ [46, "“触らぬ神に祟り無しの”"],
63
+ [55, "“両手に花の”"],
64
+ [56, "“(ゲーム会場の地名)でも一、二を争う”"],
65
+ ]
66
+ if num < 66
67
+ output = get_table_by_number(num, table) + output
68
+ else
69
+ output = "#{output}#{@randomizer.roll_once(6)}世"
70
+ end
71
+
72
+ return output
73
+ end
74
+
75
+ # 二つ名表B(D66)
76
+ def mk_nick_b_table(output, num)
77
+ table = [
78
+ [11, "“身も蓋もない”"],
79
+ [12, "“七人の敵がいる”"],
80
+ [13, "“ドラゴンも裸足で逃げ出す”"],
81
+ [14, "“われらが”"],
82
+ [15, "“機会攻撃を誘発する”"],
83
+ [16, "“佳人薄命”"],
84
+ [22, "“すねに傷持つ”"],
85
+ [23, "“湯上りは親でも惚れる”"],
86
+ [24, "“叶わぬ時の神頼みの”"],
87
+ [25, "“果報は寝て待つ”"],
88
+ [26, "“清濁併せ呑む”"],
89
+ [33, "“かゆいところに手が届く”"],
90
+ [34, "“酒池肉林の”"],
91
+ [35, "“蛇の道は蛇の”"],
92
+ [36, "“口から先に生まれた”"],
93
+ [44, "“柔よく剛を制す”"],
94
+ [45, "“死人に口なしの”"],
95
+ [46, "“噂をすれば”"],
96
+ [55, "“ミスター/ミス”"],
97
+ [56, "“(好きな名前表)の子”"],
98
+ [66, "“(好きな単語表)の父/母”"],
99
+ ]
100
+ return get_table_by_number(num, table) + output
101
+ end
102
+
103
+ # 名前表A(D66)
104
+ def mk_name_a_table(num)
105
+ table = [
106
+ [11, "オレンジ/ジャスミン"],
107
+ [12, "ホオズキ/アサガオ"],
108
+ [13, "クローバー/ダチュラ"],
109
+ [14, "ダフニ/キノコ"],
110
+ [15, "グラナーダ/プリムローズ"],
111
+ [16, "ラディッシュ/マリーゴールド"],
112
+ [22, "サイプレス/マグノリア"],
113
+ [23, "バンブー/オリーブ"],
114
+ [24, "クラウド/クリマ"],
115
+ [25, "タオ/スノウ"],
116
+ [26, "アヴァランチ/エクレール"],
117
+ [33, "ビバシータ/メトロノーム"],
118
+ [34, "カノン/ファゴット"],
119
+ [35, "オーボエ/アルモニカ"],
120
+ [36, "チューバ/オルガノ"],
121
+ [44, "ナン/クッキー"],
122
+ [45, "ウイロウ/カシュカシュ"],
123
+ [46, "スコーン/クスクス"],
124
+ [55, "フラスコ/クリップ"],
125
+ [56, "クラパドーラ/クレヨン"],
126
+ [66, "ソープ/ブルーム"],
127
+ ]
128
+
129
+ return get_table_by_number(num, table)
130
+ end
131
+
132
+ # 名前表B(D66)
133
+ def mk_name_b_table(num)
134
+ table = [
135
+ [11, "エイジ/ウェンズデイ"],
136
+ [12, "ジョルノ/ノエル"],
137
+ [13, "タスク/マニャーナ"],
138
+ [14, "ウィンター/ジュノー"],
139
+ [15, "ハイラン/ブランカ"],
140
+ [16, "ウォルナット/ルージュ"],
141
+ [22, "グレイ/スカーレット"],
142
+ [23, "シュバルツ/モエギ"],
143
+ [24, "スロット/キリエ"],
144
+ [25, "ジョーカー/ダイス"],
145
+ [26, "ジグソウ/ドミノ"],
146
+ [33, "バックギャモン/マーブル"],
147
+ [34, "シーガロ/ココア"],
148
+ [35, "スピーチカ/オレンジペコー"],
149
+ [36, "ジッポ/ショコラ"],
150
+ [44, "ナインピンズ/ルチャ"],
151
+ [45, "デカスロン/ラクロス"],
152
+ [46, "カバディ/ピンポン"],
153
+ [55, "ポンド/ヴェルベット"],
154
+ [56, "ルーブル/コットン"],
155
+ [66, "シリング/シルク"],
156
+ ]
157
+
158
+ return get_table_by_number(num, table)
159
+ end
160
+
161
+ # 名前表エキゾチック(D66)
162
+ def mk_name_ex_table(num)
163
+ table = [
164
+ [11, "モアイ/スイショウドクロ"],
165
+ [12, "チュパカブラ/ムベンベ"],
166
+ [13, "カンフー/インヤン"],
167
+ [14, "ブシドー/ミヤコ"],
168
+ [15, "チャンピオン/バービー"],
169
+ [16, "ウパニシャッド/ゾルゲ"],
170
+ [22, "デスマーチ/インテル"],
171
+ [23, "ゴッホ/ヴィクトリア"],
172
+ [24, "ゾンビ/オニャンコポン"],
173
+ [25, "ゲロッパ/カルメン"],
174
+ [26, "オーバーキル/サシミ"],
175
+ [33, "ブッチャー/デヴィ"],
176
+ [34, "ブロンソン/マドンナ"],
177
+ [35, "ガイギャックス/エロイカ"],
178
+ [36, "好きな星の名前(スピカ,オリオン)"],
179
+ [44, "好きな武器の名前(エペ,フランベルジュ)"],
180
+ [45, "好きな動物の名前(イタチ,パグ)"],
181
+ [46, "好きな鉱物の名前(ルビィ,ヒスイ)"],
182
+ [55, "好きな言葉+ドラゴン"],
183
+ [56, "好きな単語表で決定する"],
184
+ [66, "プレイヤーと同じ名前"],
185
+ ]
186
+ return get_table_by_number(num, table)
187
+ end
188
+
189
+ # 名前表ファンタジー(D66)
190
+ def mk_name_fa_table(num)
191
+ table = [
192
+ [11, "アダム/イヴ"],
193
+ [12, "ジャック/モモ"],
194
+ [13, "オズ/アリス"],
195
+ [14, "コナン/レダ"],
196
+ [15, "アーサー/イシス"],
197
+ [16, "エルリック/グローリアーナ"],
198
+ [22, "ギルガメッシュ/アマテラス"],
199
+ [23, "マハラジャ/クリシュナ"],
200
+ [24, "カゲオトコ/クロトカゲ"],
201
+ [25, "オルフェウス/ヴィーナス"],
202
+ [26, "ソロモン/サロメ"],
203
+ [33, "ワタリガラス/ディードリット"],
204
+ [34, "ニャルラトホテプ/バースト"],
205
+ [35, "アンナタール/フォルトゥナ"],
206
+ [36, "ザナドゥ/ヨミ"],
207
+ [44, "アルビオン/ラピュタ"],
208
+ [45, "ゼンダ/ゴーメンガースト"],
209
+ [46, "インスマウス/イース"],
210
+ [55, "フウヌイム/ヤプー"],
211
+ [56, "ザンス/ナルニア"],
212
+ [66, "カレワラ/イーハトーブ"],
213
+ ]
214
+
215
+ return get_table_by_number(num, table)
216
+ end
217
+ end
218
+ end
219
+ end
220
+
221
+ # puts BCDice::GameSystem::MeikyuKingdom.new.methods.sort
222
+
223
+ # exit 1