bcdice 3.0.0.pre.alpha.1

Sign up to get free protection for your applications and to get access to all the features.
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