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,994 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BCDice
4
+ module GameSystem
5
+ class FutariSousa_Korean < Base
6
+ # ゲームシステムの識別子
7
+ ID = 'FutariSousa:Korean'
8
+
9
+ # ゲームシステム名
10
+ NAME = '둘이서 수사(후타리소우사)'
11
+
12
+ # ゲームシステム名の読みがな
13
+ SORT_KEY = '国際化:Korean:둘이서 수사'
14
+
15
+ # ダイスボットの使い方
16
+ HELP_MESSAGE = <<~MESSAGETEXT
17
+ ・판정용 커맨드
18
+ 탐정용:【DT】…10면체 주사위를 2개 굴려 판정합니다.『유리』라면【3DT】, 『불리』라면【1DT】를 사용합니다.
19
+ 조수용:【AS】…6면체 주사위를 2개 굴려 판정합니다. 『유리』라면【3AS】, 『불리』라면【1AS】를 사용합니다.
20
+ ・각종표
21
+ 【조사】
22
+ 이상한 버릇 결정표 SHRD
23
+  지껄이다표  SHFM/강압적인 수사표  SHBT/시치미 떼기표   SHPI
24
+  사건에 몰두표 SHEG/파트너와……표  SHWP/무언가 하고 있다표 SHDS
25
+  기상천외표  SHFT/갑작스런 번뜩임표 SHIN/희노애락표     SHEM
26
+ 이벤트표
27
+  현장에서  EVS/어째서? EVW/협력자와 함께 EVN
28
+  상대쪽에서 EVC/VS용의자 EVV
29
+ 조사의 장애표 OBT  변조표 ACT  목격자표 EWT  미제사건표 WMT
30
+ 【설정】
31
+ 배경표
32
+  탐정 운명의 혈통  BGDD/천상의 재능  BGDG/마니아    BGDM
33
+  조수 정의로운 사람 BGAJ/정렬적인 사람 BGAP/말려든 사람 BGAI
34
+ 신장표 HT  아지트표 BT  관계표 GRT  추억의 물건 결정표 MIT
35
+ 직업표A・B  JBT66・JBT10  패션 특징표A・B    FST66・FST10
36
+ 감정표A・B  FLT66・FLT10  좋아하는 것/싫어하는 것표A・B LDT66・LDT10
37
+ 호칭표A・B NCT66・NCT10
38
+ MESSAGETEXT
39
+
40
+ def initialize(command)
41
+ super(command)
42
+
43
+ @enabled_d66 = true
44
+ @d66_sort_type = D66SortType::ASC
45
+
46
+ @success_threshold = 4 # 成功の目標値(固定)
47
+ @special_dice = 6 # スペシャルとなる出目(ダイスの種別によらず固定)
48
+ end
49
+
50
+ register_prefix(
51
+ ['(\d+)?DT', '(\d+)?AS', 'SHRD', 'SHFM', 'SHBT', 'SHPI', 'SHEG', 'SHWP', 'SHDS', 'SHFT', 'SHIN', 'SHEM', 'EVS', 'EVW', 'EVN', 'EVC', 'EVV', 'OBT', 'ACT', 'EWT', 'WMT', 'BGDD', 'BGDG', 'BGDM', 'BGAJ', 'BGAP', 'BGAI', 'HT', 'BT', 'GRT', 'MIT', 'JBT66', 'JBT10', 'FST66', 'FST10', 'FLT66', 'FLT10', 'LDT66', 'LDT10', 'NCT66', 'NCT10',]
52
+ )
53
+
54
+ def eval_game_system_specific_command(command)
55
+ output = '1'
56
+ type = ""
57
+ diceText = ""
58
+
59
+ case command
60
+ when /^(\d+)?DT$/i
61
+ type = command
62
+ count = (Regexp.last_match(1) || 2).to_i
63
+ output, diceText = get_dt(count)
64
+ when /^(\d+)?AS$/i
65
+ type = command
66
+ count = (Regexp.last_match(1) || 2).to_i
67
+ output, diceText = get_as(count)
68
+ when 'SHRD'
69
+ type = '이상한 버릇 결정표'
70
+ output, diceText = get_strange_habit_random
71
+ when 'SHFM'
72
+ type = '이상한 버릇・지껄이다표'
73
+ output, diceText = get_strange_habit_from_mouth
74
+ when 'SHBT'
75
+ type = '이상한 버릇・강압적인 수사표'
76
+ output, diceText = get_strange_habit_bull_through
77
+ when 'SHPI'
78
+ type = '이상한 버릇・시치미 떼기표'
79
+ output, diceText = get_strange_habit_play_innocent
80
+ when 'SHEG'
81
+ type = '이상한 버릇・사건에 몰두표'
82
+ output, diceText = get_strange_habit_engrossed
83
+ when 'SHWP'
84
+ type = '이상한 버릇・파트너와……표'
85
+ output, diceText = get_strange_habit_with_partner
86
+ when 'SHDS'
87
+ type = '이상한 버릇・무언가 하고 있다표'
88
+ output, diceText = get_strange_habit_do_something
89
+ when 'SHFT'
90
+ type = '이상한 버릇・기상천외표'
91
+ output, diceText = get_strange_habit_fantastic
92
+ when 'SHIN'
93
+ type = '이상한 버릇・갑작스런 번뜩임표'
94
+ output, diceText = get_strange_habit_inspiration
95
+ when 'SHEM'
96
+ type = '이상한 버릇・희노애락표'
97
+ output, diceText = get_strange_habit_emotion
98
+ when 'EVS'
99
+ type = '현장에서/이벤트표'
100
+ output, diceText = get_event_scene
101
+ when 'EVW'
102
+ type = '어째서?/이벤트표'
103
+ output, diceText = get_event_why
104
+ when 'EVN'
105
+ type = '협력자와 함께/이벤트표'
106
+ output, diceText = get_event_npc
107
+ when 'EVC'
108
+ type = '상대쪽에서/이벤트표'
109
+ output, diceText = get_event_coming
110
+ when 'EVV'
111
+ type = 'VS용의자/이벤트표'
112
+ output, diceText = get_event_vs
113
+ when 'OBT'
114
+ type = '조사의 장애표'
115
+ output, diceText = get_obstruction_table
116
+ when 'ACT'
117
+ type = '변조표'
118
+ output, diceText = get_abnormal_condition
119
+ when 'EWT'
120
+ type = '목격자표'
121
+ output, diceText = get_eyewitness_table
122
+ when 'WMT'
123
+ type = '미제사건표'
124
+ output, diceText = get_wrapped_in_mystery_table
125
+ when 'BGDD'
126
+ type = '탐정・운명의 혈통 배경표'
127
+ output, diceText = get_background_detective_destiny
128
+ when 'BGDG'
129
+ type = '탐정・천성의 재능 배경표'
130
+ output, diceText = get_background_detective_genius
131
+ when 'BGDM'
132
+ type = '탐정・마니아 배경표'
133
+ output, diceText = get_background_detective_mania
134
+ when 'BGAJ'
135
+ type = '조수・정의로운 사람 배경표'
136
+ output, diceText = get_background_assistant_justice
137
+ when 'BGAP'
138
+ type = '조수・정렬적인 사람 배경표'
139
+ output, diceText = get_background_assistant_passion
140
+ when 'BGAI'
141
+ type = '조수・말려든 사람 배경표'
142
+ output, diceText = get_background_assistant_involved
143
+ when 'HT'
144
+ type = '신장표'
145
+ output, diceText = get_height_table
146
+ when 'BT'
147
+ type = '아지트표'
148
+ output, diceText = get_base_table
149
+ when 'GRT'
150
+ type = '관계표'
151
+ output, diceText = get_guest_relation_table
152
+ when 'MIT'
153
+ type = '추억의 물건 결정표'
154
+ output, diceText = get_memorial_item_table
155
+ when 'JBT66'
156
+ type = '직업표A'
157
+ output, diceText = get_job_table_66
158
+ when 'JBT10'
159
+ type = '직업표B'
160
+ output, diceText = get_job_table_10
161
+ when 'FST66'
162
+ type = '패션 특징표A'
163
+ output, diceText = get_fashion_table_66
164
+ when 'FST10'
165
+ type = '패션 특징표B'
166
+ output, diceText = get_fashion_table_10
167
+ when 'FLT66'
168
+ type = '감정표A'
169
+ output, diceText = get_feeling_table_66
170
+ when 'FLT10'
171
+ type = '감정표B'
172
+ output, diceText = get_feeling_table_10
173
+ when 'LDT66'
174
+ type = '좋아하는 것/싫어하는 것표A'
175
+ output, diceText = get_like_dislike_table_66
176
+ when 'LDT10'
177
+ type = '좋아하는 것/싫어하는 것표B'
178
+ output, diceText = get_like_dislike_table_10
179
+ when 'NCT66'
180
+ type = '호칭표A'
181
+ output, diceText = get_name_to_call_table_66
182
+ when 'NCT10'
183
+ type = '호칭표B'
184
+ output, diceText = get_name_to_call_table_10
185
+ end
186
+
187
+ return "#{type}(#{diceText}) > #{output}"
188
+ end
189
+
190
+ # DT
191
+ def get_dt(count)
192
+ diceList = @randomizer.roll_barabara(count, 10)
193
+
194
+ output = get_dt_result(diceList)
195
+ diceText = diceList.join(",")
196
+
197
+ return output, diceText
198
+ end
199
+
200
+ def get_dt_result(diceList)
201
+ max = diceList.max
202
+
203
+ return "펌블(변조를 받고, 조수의 마음고생이 1점 상승)" if max <= 1
204
+ return "스페셜(조수의 여유를 1점 획득)" if diceList.include?(@special_dice)
205
+ return "성공" if max >= @success_threshold
206
+
207
+ return "실패"
208
+ end
209
+
210
+ # AS
211
+ def get_as(count)
212
+ diceList = @randomizer.roll_barabara(count, 6)
213
+
214
+ output = get_as_result(diceList)
215
+ diceText = diceList.join(",")
216
+
217
+ return output, diceText
218
+ end
219
+
220
+ def get_as_result(diceList)
221
+ max = diceList.max
222
+
223
+ return "펌블(변조를 받고, 조수의 마음고생이 1점 상승)" if max <= 1
224
+ return "스페셜(여유 2점과, 탐정의 조수를 향한 감정을 획득)" if diceList.include?(@special_dice)
225
+ return "성공(여유 1점과, 탐정의 조수를 향한 감정을 획득)" if max >= @success_threshold
226
+
227
+ return "실패"
228
+ end
229
+
230
+ def getTableResult(table, dice)
231
+ number, text, command = table.assoc(dice)
232
+
233
+ if command.respond_to?(:call)
234
+ text += command.call(self)
235
+ end
236
+
237
+ return number, text
238
+ end
239
+
240
+ def getAddRoll(command)
241
+ return command if /^\s/.match(command)
242
+
243
+ text = eval_game_system_specific_command(command)
244
+ return " > #{command} is NOT found." if text.nil?
245
+
246
+ return " > \n #{command} > #{text}"
247
+ end
248
+
249
+ # 異常な癖決定表(이상한 버릇 결정표)
250
+ def get_strange_habit_random
251
+ table = [
252
+ [1, '「이상한 버릇・지껄이다표」를 사용한다.'],
253
+ [2, '「이상한 버릇・강압적인 수사표」를 사용한다.'],
254
+ [3, '「이상한 버릇・시치미 떼기표」를 사용한다.'],
255
+ [4, '「이상한 버릇・사건에 몰두표」를 사용한다.'],
256
+ [5, '「이상한 버릇・파트너와……표」를 사용한다.'],
257
+ [6, '「이상한 버릇・무언가 하고 있다표」를 사용한다.'],
258
+ [7, '「이상한 버릇・기상천외표」를 사용한다.'],
259
+ [8, '「이상한 버릇・갑작스런 번뜩임표」를 사용한다.'],
260
+ [9, '「이상한 버릇・희노애락표」를 사용한다.'],
261
+ [10, '원하는「이상한 버릇표」를 사용한다.'],
262
+ ]
263
+ diceText = @randomizer.roll_once(10)
264
+ output = get_table_by_number(diceText, table)
265
+ return output, diceText
266
+ end
267
+
268
+ def get_strange_habit_from_mouth
269
+ table = [
270
+ [1, '맹렬하게 감사인사를 한다.'],
271
+ [2, '빈정거리는 투로 말해버린다.'],
272
+ [3, '상대의 말을 긍정한 뒤 부정한다.'],
273
+ [4, '히죽히죽 웃으며 사과한다.'],
274
+ [5, '상대의 말을 듣지 않고 자신만 말한다.'],
275
+ [6, '「이렇게는 생각할 수 없을까요?」'],
276
+ [7, '「아니면, 뭔가 숨기고 있는 거라도 있나요?」'],
277
+ [8, '「묘하네요.」'],
278
+ [9, '「대충 알겠어요.」'],
279
+ [10, '「잠자코 있어.」'],
280
+ ]
281
+ diceText = @randomizer.roll_once(10)
282
+ output = get_table_by_number(diceText, table)
283
+ return output, diceText
284
+ end
285
+
286
+ def get_strange_habit_bull_through
287
+ table = [
288
+ [1, '마음대로 수사대상의 가방이나 서랍을 연다.'],
289
+ [2, '경찰의 수사에 끼어든다.'],
290
+ [3, '수사를 위해 해킹이나 불법침입을 한다.'],
291
+ [4, '허가 받지 않은 곳에 들어간다.'],
292
+ [5, '경찰의 수사를 엿보거나 엿듣는다.'],
293
+ [6, '증거품을 허가 없이 해체한다.'],
294
+ [7, '수사대상을 속여 정보를 캐낸다.'],
295
+ [8, '마음대로 관계자의 소지품을 만진다.'],
296
+ [9, '증거품을 마음대로 들고 다닌다.'],
297
+ [10, '마음대로 감식을 시작한다.'],
298
+ ]
299
+ diceText = @randomizer.roll_once(10)
300
+ output = get_table_by_number(diceText, table)
301
+ return output, diceText
302
+ end
303
+
304
+ def get_strange_habit_play_innocent
305
+ table = [
306
+ [1, '자신의 신분을 속이고 관계자에게 이야기를 듣는다'],
307
+ [2, '정보를 숨기며 이야기를 듣는다'],
308
+ [3, '파트너와 연기를 하며 정보를 캐내려 한다'],
309
+ [4, '행인인 척하며 관계자의 이야기를 엿듣는다.'],
310
+ [5, '우연을 가장해 증거품을 손에 넣어버린다.'],
311
+ [6, '부자연스럽게 시치미를 뗀다.'],
312
+ [7, '관계자를 화나게 하는 연기를 하여 정보를 끌어낸다.'],
313
+ [8, '완곡하게 관계자를 위협한다'],
314
+ [9, '물건을 잃어버렸다고 말하며 현장이나 증거품을 뒤진다.'],
315
+ [10, '관계자에게 유도 신문을 한다.'],
316
+ ]
317
+ diceText = @randomizer.roll_once(10)
318
+ output = get_table_by_number(diceText, table)
319
+ return output, diceText
320
+ end
321
+
322
+ def get_strange_habit_engrossed
323
+ table = [
324
+ [1, '파트너의 몸을 사용해 사건을 재현하려고 한다'],
325
+ [2, '수수께끼를 푸는 것이 즐거워서 웃어 버린다'],
326
+ [3, '먹지도 자지도 않고 수사를 하다 갑자기 쓰러진다'],
327
+ [4, '생각을 하느라 누구의 목소리도 들리지 않는다.'],
328
+ [5, '사건의 관계도를 가까운 벽이나 바닥에 그리기 시작한다'],
329
+ [6, '사건에 관계되는 말을 계속해서 말해나간다.'],
330
+ [7, '사건 해결 이외의 것은 전혀 생각하고 있지 않다.'],
331
+ [8, '사건의 흐름을 중얼중얼 말하기 시작한다.'],
332
+ [9, '사건 현장을 파고들어 조사를 한다.'],
333
+ [10, '식사중이라도, 상관 없이 사건 이야기를 한다.'],
334
+ ]
335
+ diceText = @randomizer.roll_once(10)
336
+ output = get_table_by_number(diceText, table)
337
+ return output, diceText
338
+ end
339
+
340
+ def get_strange_habit_with_partner
341
+ table = [
342
+ [1, '파트너의 신뢰에 응석부린다.'],
343
+ [2, '파트너를 두고 먼저 가버린다.'],
344
+ [3, '파트너에게 사건에 대해 어떻게 생각하는지 질문한다.'],
345
+ [4, '파트너에게 자랑한다.'],
346
+ [5, '파트너에게 사건에 관한 퀴즈를 낸다.'],
347
+ [6, '파트너와 사소한 일로 싸움을 한다.'],
348
+ [7, '파트너에게 선생님 행세를 한다.'],
349
+ [8, '파트너가 따라오는 전제로 멋대로 움직인다.'],
350
+ [9, '파트너에 대해서 친절하고 정중하게 사건을 설명한다.'],
351
+ [10, '파트너의 귓가에 갑자기 말하기 시작한다.'],
352
+ ]
353
+ diceText = @randomizer.roll_once(10)
354
+ output = get_table_by_number(diceText, table)
355
+ return output, diceText
356
+ end
357
+
358
+ def get_strange_habit_do_something
359
+ table = [
360
+ [1, '많은 양의 책을 읽고 있다.'],
361
+ [2, '좋아하는 음악을 큰 소리로 틀고 있다.'],
362
+ [3, '어떤 수식을 풀고 있다.'],
363
+ [4, '많은 양의 좋아하는 음식을 계속 먹고 있다.'],
364
+ [5, '계속 컴퓨터나 스마트폰 등의 화면과 마주보며 조사하고 있다.'],
365
+ [6, '작은 수수께끼를 풀고 있다.'],
366
+ [7, '체스나 장기 등을 두고 있다.'],
367
+ [8, '찻집 자리에 앉아 무언가를 기다리고 있다.'],
368
+ [9, '계속 잠들어 있다가 갑자기 일어난다.'],
369
+ [10, '잠시 아무 것도 하지 않는다.'],
370
+ ]
371
+ diceText = @randomizer.roll_once(10)
372
+ output = get_table_by_number(diceText, table)
373
+ return output, diceText
374
+ end
375
+
376
+ def get_strange_habit_fantastic
377
+ table = [
378
+ [1, '그만두라는 말을 듣고 있는 일을 한다.'],
379
+ [2, '잠시 사라졌다가 돌아온다.'],
380
+ [3, '예상치 못한 곳(땅 속이나 공중 등)에서 등장한다.'],
381
+ [4, '뭔가 생각나서 갑자기 달리기 시작한다.'],
382
+ [5, '한심한 자신을 비난한다.'],
383
+ [6, '모르는 사이에 사건의 수수께끼를 하나 풀고 있었다.'],
384
+ [7, '사건에 대해 알아차린 모양이지만 누구에게도 가르쳐 주지 않는다.'],
385
+ [8, '두고 가는 편지나 메일로 보고를 하면 모습이 보이지 않는다.'],
386
+ [9, '시계를 보고 갑자기 움직인다.'],
387
+ [10, '사건과는 관계 없을 것 같은 신문의 기사를 읽고 있다.'],
388
+ ]
389
+ diceText = @randomizer.roll_once(10)
390
+ output = get_table_by_number(diceText, table)
391
+ return output, diceText
392
+ end
393
+
394
+ def get_strange_habit_inspiration
395
+ table = [
396
+ [1, '식사를 하고 있으면 갑자기 수수께끼가 풀린다.'],
397
+ [2, '조수와의 아무렇지도 않은 대화에서 갑자기 수수께끼가 풀린다.'],
398
+ [3, '들려온 대화로부터 갑자기 수수께끼가 풀린다.'],
399
+ [4, '목욕을 하고 있으면 갑자기 수수께끼가 풀린다.'],
400
+ [5, '꿈 속에서 갑자기 수수께끼가 풀린다.'],
401
+ [6, '바람이 불어 날아온 물건으로 수수께끼가 풀린다.'],
402
+ [7, '책을 읽다가 사건의 힌트가 발견된다.'],
403
+ [8, '현장을 다시 방문하니 번뜩인다.'],
404
+ [9, '자료를 확인하는 중에 번뜩인다.'],
405
+ [10, '관계자와 대화를 나누는 중에 번뜩이다.'],
406
+ ]
407
+ diceText = @randomizer.roll_once(10)
408
+ output = get_table_by_number(diceText, table)
409
+ return output, diceText
410
+ end
411
+
412
+ def get_strange_habit_emotion
413
+ table = [
414
+ [1, '갑자기 운다.'],
415
+ [2, '갑자기 화낸다.'],
416
+ [3, '갑자기 웃기 시작한다.'],
417
+ [4, '갑자기 하이텐션이 된다.'],
418
+ [5, '갑자기 기뻐한다.'],
419
+ [6, '갑자기 소리친다.'],
420
+ [7, '갑자기 히죽거리기 시작한다.'],
421
+ [8, '갑자기 이 사건의 슬픔을 말한다.'],
422
+ [9, '담담하게 일을 진행한다.'],
423
+ [10, '로봇처럼 정해진 것만 한다.'],
424
+ ]
425
+ diceText = @randomizer.roll_once(10)
426
+ output = get_table_by_number(diceText, table)
427
+ return output, diceText
428
+ end
429
+
430
+ # イベント表
431
+ def get_event_scene
432
+ table = [
433
+ "신경쓰이는 것(P.165)\n 사건이 일어난 현장은 아직 남아 있다.\n 여기서 일어난 '무언가'는 안개 저편에 숨겨져 있었다.\n 그 안개에 손을 뻗는 자들이 있다.",
434
+ "거북해하다(P.166)\n 한 형사가 현장을 열심히 둘러보고 있다.\n 이 사건의 담당을 맡은 오사카베 마사요시(刑部正義)라는 남자다.\n 그는 PC들의 얼굴을 보자마자 얼굴을 찡그린다. 환영받지 못하고 있다.",
435
+ "탐문(P.167)\n PC들은 현장 부근을 지나다니거나 사건을 목격한 인물이 없는지 찾아다녔다.\n 그러나 어디서 무엇을 물어도 그럴 듯한 단서는 없다.\n 슬슬 다리에 피로가 쌓이기 시작했다.",
436
+ "완고한 관계자(P.168)\n 사건 현장에 어떤 인물이 나타났다.\n PC들은, 신묘한 얼굴로 현장을 바라보던 그 인물이 궁금해 말을 건다.\n 그 인물은 자신을 피해자의 관계자라고 자칭했다…….",
437
+ "현장을 철저히 조사!(P.169)\n 사건 현장에 남겨진 증거는 거의 찾아냈다.\n ……과연 정말 그럴까?\n 모든 각도에서 조사와 검증을 하여 현장에 남겨진 것은 없는지 찾아보게 됐다.",
438
+ "도망친 인물(P.170)\n 매우 빠르게 누군가가 현장에서 도망치고 있다.\n 그 인물의 달리는 모습이나 초조해하는 모습은 평범하지 않았다.\n 이건, 무언가를 알고 있다. 혹은 무언가를 가지고 떠났을 가능성이 있다.\n PC들은 쫓기 시작했다.",
439
+ ]
440
+ return get_table_by_1d6(table)
441
+ end
442
+
443
+ def get_event_why
444
+ table = [
445
+ "이동 루트(P.171)\n 이 길을 지나갔을 때, 그 사람은 무슨 생각을 했을까?\n 이 길을 지나갔을 때, 그 사람은 무엇을 해야 했을까?\n 사건관계자들의 행적에는 사건에 이어지는 무언가가 남아 있다.\n 그렇게 믿으며, 길을 걷는다.",
446
+ "자신이라면……(P.172)\n 탐정과 조수가 사건에 대해 이야기를 나누고 있었다.\n 이야기의 주제는,「 이 상황에서 자신이 범인이라면 어떻게 할 것인가.」\n 그 가정은 힌트를 줄 수도 있다.",
447
+ "수수께끼의 메시지(P.173)\n 그것은, 수수께끼의 말이었다.\n 단순한 문자열일 수도 있고 뜻 모를 말일 수도 있다.\n 사건과 관련된 장소에 있었다고 해서, 사건에 관련되어 있다고는 할 수 없다.\n 하지만, 이것은 사건에 연루되어 있다. 그렇게 직감이 고하고 있다.",
448
+ "사건 복습(P.174)\n 화이트보드, 칠판, 노트.\n 뭐든지 간에 쓸 것이 필요하다.\n 지금부터 사건에 대해 정리하는 거니까.",
449
+ "수상한 인물은?(P.175)\n PC들은 한 인물을 쫓고 있다.\n 그 인물은 사건에 이어지는 무언가를 가지고 있다. 그런 확신이 들었다.\n 자, 그는 어떤 사람일까?",
450
+ "피해자의 시점(P.176)\n 피해자의 몸에 무슨 일이 일어났는가.\n 피해자는 무엇을 보았는가.\n 그 힌트는 피해자 자신이 알 것이다.",
451
+ ]
452
+ return get_table_by_1d6(table)
453
+ end
454
+
455
+ def get_event_npc
456
+ table = [
457
+ "사건의 영상(P.177)\n PC들은 눈을 가늘게 뜨고 영상을 바라보고 있다.\n 그것은 공교롭게도 현장에서 찍힌 것이었다.\n 과연 진실은 이 영상 속에 담겨있는 것일까?",
458
+ "특이한 목격자(P.178)\n PC들은 수사 결과, 사건에 관한 무언가를 봤다는 목격자를 발견한다.\n 그러나 그 사람은 목격증언을 꺼렸다. 왜 그럴까?",
459
+ "전문가(P.179)\n 조사 중, 아무래도 전문적인 지식이 필요한 곳이 나온다.\n 지금이 그 때이고 PC들은 어떻게 할지 고민하고 있었다.",
460
+ "정보상(P.180)\n 메일 소프트웨어에 연락이 왔다.\n 연락해온 곳은 이 일대에서 유명한 정보상이었다.\n 그 정보상에게 걸리면 얻을 수 없는 정보는 없다고 한다.\n 자, 어떻게 할까?",
461
+ "관계자와 함께(P.181)\n 사건관계자 중 한명이 갑자기 협력을 제안했다.\n 아무래도 그 사람도 이 사건에 대해서는 생각하는 구석이 있는 것 같다.",
462
+ "아마추어 추리(P.182)\n 사건관계자 앞에서, 게스트 NPC가 추리를 선보이고 있다.\n 하지만 그 추리는 구멍투성이고…….",
463
+ ]
464
+ return get_table_by_1d6(table)
465
+ end
466
+
467
+ def get_event_coming
468
+ table = [
469
+ "수상한 전화(P.183)\n 갑자기 전화가 울렸다.\n 그 전화는 조사를 진전시키게 될까…….\n 동시에, 새로운 수수께끼를 남겼다.",
470
+ "지금은 여가를(P.184)\n 행운은 누워서 기다려라.\n 쥐구멍에도 볕 들 날이 있다.\n 라는 걸로, 일단은 아지트에 있다.\n 과연 상황이 나아질까?",
471
+ "길에서 딱(P.185)\n 개도 쏘다니면 몽둥이에 맞는다.\n 이 말에는 행운을 만난다는 의미도, 봉변을 당한다는 의미도 있다.\n 그럼, 탐정과 조수가 걸으면 무엇에 해당할까?",
472
+ "번뜩이는 순간(P.186)\n 우연한 계기로 탐정은 번뜩이는 수가 있다.\n 이번엔 대체 무엇이 계기였을까?",
473
+ "지인으로부터(P.187)\n 사건 수사의 단서를 가져온 것은, 지인이었다.\n 역시 친구밖에 없다.\n 라고 말하고 싶은 참인데…….",
474
+ "PC들의 위기(P.188)\n 수사는 갑자기 멈췄다.\n 그 원인은 알고 있다.\n 원인을 제거하지 않으면 사건 조사는 할 수 없다.",
475
+ ]
476
+ return get_table_by_1d6(table)
477
+ end
478
+
479
+ def get_event_vs
480
+ table = [
481
+ "용의자의 거짓말(P.189)\n 사람은 뭔가 떳떳하지 못한 일이 있을 때 거짓말을 한다.\n 이 용의자는 거짓말을 하고 있다.\n 그렇다면, 무엇을 숨기고 있을까?",
482
+ "흔들림(P.190)\n 그 용의자는 뭔가를 숨기고 있었다.\n 눈에 띄는 거짓말을 하고 있는 것은 아니다.\n 그렇지만 무언가 숨기고 있다. 탐정에겐, 그렇게 보였다.",
483
+ "외모로부터의 추리(P.191)\n 조금만 이야기를 했다.\n 조금만 그 모습을 보았다.\n 조금만, 그 사람을 알았다.\n 그것만으로 탐정이라는 생물은 열을 안다. 원래 그런 것이다.",
484
+ "직접 묻다(P.192)\n 여기서 탐정과 조수는 대담한 수를 썼다.\n 용의자를 상대로 사건의 구체적인 부분까지 파고드는 질문을 한 것이다.\n 그것에 대해 용의자는…….",
485
+ "위협 받다(P.193)\n 아무래도 우리는 위협을 받는 것 같다.",
486
+ "술래가 없는 사이에(P.194)\n 그 용의자를 찾아갔을 때 우연히 자리를 비우고 있었다.\n 이건 기회다.\n 그렇게 생각하는 것이 바로 탐정의 슬픈 천성이다.",
487
+ ]
488
+ return get_table_by_1d6(table)
489
+ end
490
+
491
+ # 調査の障害表(조사의 장애표)
492
+ def get_obstruction_table
493
+ table = [
494
+ [11, '탐정과 조수가 경찰에게 마크당한다.'],
495
+ [12, '탐정의 변덕'],
496
+ [13, '탐정의 의욕'],
497
+ [14, '탐정의 기행을 견딜 수 없게 되다.'],
498
+ [15, '탐정이 기이한 의심을 받다.'],
499
+ [16, '탐정이 피곤하다.'],
500
+ [22, '탐정과 조수가 수상한 인물로 오인받는다.'],
501
+ [23, '조수가 파트너에게 신뢰받지 못한다고 생각한다.'],
502
+ [24, '조수가 탐정에게 따라갈 수 없다.'],
503
+ [25, '조수의 수고가 어느 때보다 크다.'],
504
+ [26, '조수의 수사만이 잘 안 된다.'],
505
+ [33, '수사를 위한 자금이 없다.'],
506
+ [34, '세상의 눈이 매섭다.'],
507
+ [35, '경찰로부터 역겹다고 여겨진다.'],
508
+ [36, '관계자가 협력해주지 않는다.'],
509
+ [44, '수사해서는 안 된다고 압력이 들어온다.'],
510
+ [45, '범인에 의한 방해'],
511
+ [46, '범인에 의한 이면공작'],
512
+ [55, '화분이나 철골 등 부자연스럽게 위험한 물건이 날아온다.'],
513
+ [56, '누군가가 탐정과 조수에게 덤벼든다.'],
514
+ [66, '우연이 겹쳐서 잘 안 된다.'],
515
+ ]
516
+
517
+ return get_table_by_d66_swap(table)
518
+ end
519
+
520
+ # 変調表(변조표)
521
+ def get_abnormal_condition
522
+ table = [
523
+ '엇갈림',
524
+ '탐정의 폭주',
525
+ '다툼',
526
+ '미아',
527
+ '나쁜 소문',
528
+ '주목의 대상',
529
+ ]
530
+ return get_table_by_1d6(table)
531
+ end
532
+
533
+ # 目撃者表(목격자표)
534
+ def get_eyewitness_table
535
+ table = [
536
+ "놀이 상대를 원하는 젊은이. 판정기능:≪유행≫",
537
+ "기억력이 나쁜 사람. 판정기능:없음",
538
+ "바쁜 사람. 판정기능:≪비즈니스≫",
539
+ "범인의 지인. 판정기능:≪설득≫",
540
+ "탐정(경찰)을 싫어하는 사람. 판정기능:≪거짓말≫",
541
+ "반사회주의자. 판정기능:≪돌파≫",
542
+ ]
543
+ return get_table_by_1d6(table)
544
+ end
545
+
546
+ # 迷宮入り表(미제사건표)
547
+ def get_wrapped_in_mystery_table
548
+ table = [
549
+ [1, '진범이 아닌 인간이 범인이 되어, 실형을 받고 말았다. 그 증거는 없지만 그렇게 직감할 수 있다.'],
550
+ [2, '해결되지 않은 채 시간이 흐르고, 이윽고 사건은 잊혀졌다. 탐정과 조수, 그리고 사건관계자들만 기억한다.'],
551
+ [3, '피해자 유족과 관계자들은 슬픔에 잠겨 있다. 탐정과 조수는 그저 잠자코 보고만 있을 뿐이다. 그때, 범인을 잡았다면…….'],
552
+ [4, '경찰에 의해 범인이 검거되었다고 하지만, 그 사람이 정말로 범인인지 어떤지는 알 수 없다. 탐정도, 뭐라고 말할 수 없는 것 같다.'],
553
+ [5, '증거가 없어져 버렸다. 그것만 있다면, 사건의 조사를 재개할 수 있을 텐데……. 범인의 소행인지조차 알 수 없다.'],
554
+ [6, '관계자가 없어져 버렸다. 그 후 소식도 묘연하다. 도대체 무슨 생각을 하며 사라진 것일까? 어쨌든, 조사는 할 수 없게 되었다.'],
555
+ [7, '관계자에게 미움 받아, 접근 조차 할 수 없게 되었다. 탐정과 조수는 모두 출입금지가 되어 버린 것 같다. 이래서는 조사를 할 수 없다.'],
556
+ [8, '조수는 때때로 피해자의 관계자와 만나고 있다. 그들의 말을 듣고 그들의 감정을 받아들이는 것 같다.'],
557
+ [9, '탐정과 조수는 기회를 발견하고 사건을 재조사하고 있다. 그러나 확실한 증거는 찾지 못한 채 시간이 흘러간다.'],
558
+ [10, '탐정은 직감으로 진범을 밝혀냈다. 하지만 진범을 잡기 위한 증거가 없다. 범인을 고발하지 못해 이를 갈았다.'],
559
+ ]
560
+
561
+ diceText = @randomizer.roll_once(10)
562
+ output = get_table_by_number(diceText, table)
563
+ return output, diceText
564
+ end
565
+
566
+ # 背景表(배경표)
567
+ def get_background_detective_destiny
568
+ table = [
569
+ [1, '『명탐정인 조상(실재)』자신의 조상에 저명한 탐정이 있다. 그 이름을 대면 누구나 알 만한 대인물이다. 자신은 그 피를 진하게 잇고 있는 것 같고, 탐정으로서의 재능을 마음껏 발휘하고 있다.'],
570
+ [2, '『명탐정인 조상(허구)』자신의 조상은 저명한 탐정이다. 그러나 그 활약은 픽션으로 알려져 있다. 그 인물은 실존하지 않는다고 말하지지만… 그것은 사실이 아니다. 자신이 그 피를 잇고 있으니까.'],
571
+ [3, '『부모가 세계적인 탐정』자신의 부모는 세계적으로 알려진 명탐정이다. 숱한 난사건도 해결했다. 자신에게도 그 피가 흐르고 있어 사건에 대한 날카로운 통찰력을 이어받게 되었다.'],
572
+ [4, '『마을의 명탐정』자신의 부모는, 마을에서는 잘 알려진 명탐정이다. 마을 사람들에게 사랑받고 의지가 되는 존재였다. 자신도 그 피를 잇고 있는지 탐정으로서 활동할 힘이 있다.'],
573
+ [5, '『추리작가』자신을 키운 인물은 저명한 추리작가였다. 그 사고능력은 자신에게도 계승되었고, 트릭을 파헤치는 힘은 탐정 수준에 있다고 해도 좋을 것이다.'],
574
+ [6, '『양부모』자신을 키워 준 인물은, 사건을 해결로 이끈 적이 있는 인물이다. 그 사람의 가르침을 받고 자신은 탐정의 재능을 꽃피웠다.'],
575
+ [7, '『타락한 명탐정』일찍이, 자신의 부모는 모든 사건을 해결하여, 명탐정으로 유명했다. 그러나 지금은 뛰어난 사고능력을 악용해 사람들을 장기말마냥 다룬다. 능력을 이어받은 자신도 언젠가는 그렇게 될까?'],
576
+ [8, '『대악인의 피』세상을 떠들썩하게 했던 대악당과 대괴도. 그 피가 자신에게도 흐르고 있다. 그러므로 악인의 사고를 추적할 수 있으며 결과적으로 명탐정처럼 행동한다.'],
577
+ [9, '『숨겨진 핏줄』무슨 이유에서인지, 자신의 뿌리는 말소되어 있다. 내가 누구인지조차 모른다. 단지, 자신에게는 사건을 해결할 수 있는 힘이 있고, 그것이 뿌리와 관계가 있다고 직감할 수 있다.'],
578
+ [10, '『클론』자신은 유명한 명탐정의 DNA에서 태어난 존재다. 그래서인지 명탐정의 힘은 타고난 것이었다.'],
579
+ ]
580
+ diceText = @randomizer.roll_once(10)
581
+ output = get_table_by_number(diceText, table)
582
+
583
+ return output, diceText
584
+ end
585
+
586
+ def get_background_detective_genius
587
+ table = [
588
+ [1, '『초엘리트』자신은 엘리트로 활약하기 위해 모든 분야의 훈련을 받았다. 그리고 원하는 대로 우수한 사람이 되었다.'],
589
+ [2, '『순간기억능력』본 것은 모두 머릿속에 입력된다. 그리고, 절대로 잊지 않는다. 자신은 그런 능력을 갖추고 있다.'],
590
+ [3, '『지식의 샘』머리 속에 있는 서랍 속에는 온갖 지식이 담겨 있다. 즉, 모르는 게 없다는 얘기다.'],
591
+ [4, '『스파르타 교육』엄격한 교육을 받았고, 그 결과 지식을 얻을 수 있었다. 그 대신, 조금 별난 사고방식이 되어 버렸지만……. 별 것 아닐 것이다.'],
592
+ [5, '『이미 명탐정』이미 수많은 사건을 해결하고 있는 천재이다. 숱한 난사건도 자신의 수완으로 해결해 왔다. 그 옆에는 파트너의 모습도 있었다.'],
593
+ [6, '『동경하는 등』자신에게는 동경하고 있는 상대가 있었다. 그 존재를 따라잡기 위해 노력했고 지금의 능력을 얻었다. 그 인물은, 지금은…….'],
594
+ [7, '『라이벌』자신과 겨루던 라이벌이 있다. 능력으로는 거의 호각이었다. 경쟁 속에서, 자신의 능력은 연마되어 간 것이다.'],
595
+ [8, '『과거의 명탐정』이전에는, 모든 사건을 해결로 이끈 천재였다. 그러나 지금은 사건 해결에 소극적이다. 사건을 멀리하고 싶은 무언가가 있었던 것이다.'],
596
+ [9, '『고립된 명탐정』자신은 천재적인 능력을 가지고 수많은 사건을 해결한 명탐정이다. 그 때문에 소외되고, 두려운 존재로 여겨져, 세간이나 조직 속에서 고립되었다.'],
597
+ [10, '『인공 명탐정』자신은 누군가에게 연금되어 탐정 지식을 주입당한 「인공 명탐정」이다. 명탐정이 되도록 길러진 자신은 그 능력을 기대한 대로 발휘할 수 있다.'],
598
+ ]
599
+ diceText = @randomizer.roll_once(10)
600
+ output = get_table_by_number(diceText, table)
601
+
602
+ return output, diceText
603
+ end
604
+
605
+ def get_background_detective_mania
606
+ table = [
607
+ [1, '『서스펜스 마니아』자신은 서스펜스물의 픽션이나, 실존하는 사건에 대해서 매우 큰 관심을 가지고 있다. 쌓아온 트릭의 지식을 활용할 수 있는 기회를 노리고 있다.'],
608
+ [2, '『시체 마니아』자기는 시체에 대해 큰 관심을 갖고 있다. 시체의 상태나 상세정보를 아는 것으로써, 강한 흥분을 느끼는 성질인 것이다. 난처한 일이다.'],
609
+ [3, '『과학 마니아』과학에 의해 해명되지 못할 것은 없다. 나는 그렇게 생각하고 있으며 이를 위해 능력을 닦아 왔다. 사람이 일으키는 사건이라도, 과학은 모든 것을 내다볼 수 있을 것이다.'],
610
+ [4, '『이른바 오타쿠』게임이나 만화 등에서 얻은 지식이란 의외로 바보 취급할 수 없다. 자신은 게임을 통해 다양한 지식을 쌓아왔으며 이를 응용함으로써 모든 사건을 해결한다.'],
611
+ [5, '『인간 마니아』자신은 인간을 좋아한다. 그래서 관찰도 하고 있다. 행동에 당사자도 모르는 이유가 있다는 것도 알고 있다. 사건도, 왜 그런 일을 저질렀는지에 관심이 있다.'],
612
+ [6, '『서적 마니아』책에는 모든 것이 적혀 있다. 적어도 자신은 그렇게 생각하고 있고, 그 증거로 책의 지식을 응용함으로써 어려운 사건도 해결할 수 있다. 종이 속의 명탐정처럼.'],
613
+ [7, '『오컬트 마니아』오컬트나 초상현상을 믿는다. 그래서 가짜를 알아보는 법도 알며, 용서할 수 없다고 느끼고 있다. 그것이, 어찌된 영문인지 난사건 해결로도 연결된다. 신기하다.'],
614
+ [8, '『탐정 마니아』동서고금, 다양한 탐정이 있다. 그에 대해 조사해 가는 동안, 자신 또한 탐정으로서의 능력이 갖추어졌다.'],
615
+ [9, '『폭주하는 지식욕』자신은 한 가지 일에 마니아이지만, 그로부터 파생된 것의 지식도 잘 알고 있다. 자신의 지식욕은, 거기서부터 또다시 파생된 것까지 이른다.'],
616
+ [10, '『정의의 마니아』자신이 신봉하고 있는 무언가(서적, 과학 등)가 사건에 연루되면 좌불안석이다. 마니아로서 그 수수께끼를 풀어야 한다.'],
617
+ ]
618
+ diceText = @randomizer.roll_once(10)
619
+ output = get_table_by_number(diceText, table)
620
+
621
+ return output, diceText
622
+ end
623
+
624
+ def get_background_assistant_justice
625
+ table = [
626
+ '『착한 사람』자신은 다른 사람으로부터 곧잘 좋은 사람이라는 말을 듣는다. 그렇기 때문에 다른 사람의 부탁을 받고 사건에 얽히는 일이 잦았다. 그래니 남의 고민을 해결할 수 있는 능력이 있는 파트너와 함께 있다.',
627
+ '『용서할 수 없다』자신은 사건의 피해자에 이입하는 타입이다. 피해자의 심정을 생각하면 참담하면서도 범인을 용서할 수 없다는 생각이 든다. 그래서 범인을 쫓기 위해 파트너가 필요하다.',
628
+ '『납득하고 싶다』자신이 사건에 대해 깊이 관여하는 것은, 자신이 납득하길 원하기 때문이다. 사건을 통해 어떤 해답을 찾기 위해 정의를 행하고 있다. 파트너는 이를 위해 필요한 사람이다.',
629
+ '『이용하고 있다』어떤 수단을 써서라도 사건을 해결하는 것이 옳다고 자신은 생각하고 있다. 그것을 위한 도구로서 파트너를 쓰고 있을 뿐이다.',
630
+ '『믿을 수 있는 협력자』파트너를 의지할 수 있는 협력자라고 느끼고 있다. 파트너는 자신이 곤란할 때, 방황할 때, 대답을 해주는 사람이라고 생각한다. 상대가 어떻게 생각하든 그것은 변하지 않는다.',
631
+ '『정의의 동지』파트너도 함께 정의를 위해 사건 해결을 해주고 있다. 자신은 그렇게 느끼고 있다. 그렇게 믿고 있을 뿐일지도 모르지만, 그 믿음은 멈출 수 없다. 어쩌면 자신이 파트너를 휘두르고 있는지도 모르겠다.',
632
+ ]
633
+ return get_table_by_1d6(table)
634
+ end
635
+
636
+ def get_background_assistant_passion
637
+ table = [
638
+ '『능력에 반했다』자신은 파트너의 사건에 관한 능력에 반했다. 그 예리한 통찰력과 추리력, 지식의 깊이. 모든 것이 자신을 매료시키고 있다.',
639
+ '『인품에 반했다』자신이 파트너와 손을 잡고 있는 것은 인격적인 면이 크다. 언뜻 보기 힘든 대목도 있지만 감춰진 본질에 자신은 푹 빠져 있다.',
640
+ '『첫눈에 반했다』처음 만났을 때부터 파트너가 마음에 걸렸다. 그 능력도 그렇지만 직감적인 것을 느꼈던 것이다. 그래서 같이 있는다.',
641
+ '『마음이 맞았다』자신과 파트너는 마음이 잘 맞는다. 두 사람이면 흥을 돋울 수 있고, 두 사람이면 뭐든지 할 수 있다. 그렇게 생각한다……자신이 그렇게 생각하는 것일 뿐일지도 모르지만.',
642
+ '『대립』자신과 파트너는 대립하고 있다. 그래도 함께 있는 것은 파트너를 이해하기 위해서다…… 언젠가, 파트너를 쓰러뜨릴 수단을 찾기 위해서.',
643
+ '『내버려둘 수 없다』파트너를 내버려두면 무슨 짓을 할지 모른다. 그러니까 자신이 지켜보고 있어야 돼. 그렇게 느꼈다.',
644
+ ]
645
+ return get_table_by_1d6(table)
646
+ end
647
+
648
+ def get_background_assistant_involved
649
+ table = [
650
+ '『일방적으로 마음에 들었다』파트너가 일방적으로 좋아한다. 어쩌다 그랬는지는 모르겠지만 그런 것 같다. 함께 있는 것은 자신의 의지가 아니지만…….',
651
+ '『리액션 요원』파트너에 의하면, 자신에게 리액션을 기대하고 있는 것 같다. 사건을 해결했을 때나, 어떤 놀라움이 있었을 때에 보이는 반응이 즐겁다던가.',
652
+ '『과거의 빚』과거, 파트너에게 비밀이나 약점을 잡혔다. 그 이후, 파트너가 부려먹고 있다. 아직 도망치지 못했다.',
653
+ '『필요한 인재』파트너에게 자신이 필요하다고 부탁받았다. 그래서, 함께 사건을 해결하고 있다. 왜 자신이 필요한지는 아직 모른다.',
654
+ '『친한 사람』파트너에게 자신은 친근한 인물이다. 소꿉친구와 친구, 친척 등. 그래서 옛날부터 휘둘리고 있고 앞으로도 계속 휘둘릴 것이다.',
655
+ '『우연의 연속』파트너가 사건에 직면할 때마다 마침 그 자리에 있다. 그러다 보니 어느새 친해져 있었다. 지금은 함께 있는 일도 많다.',
656
+ ]
657
+ return get_table_by_1d6(table)
658
+ end
659
+
660
+ # 身長表(신장표)
661
+ def get_height_table
662
+ table = [
663
+ '매우 크다',
664
+ '큰 편',
665
+ '평균적',
666
+ '작은 편',
667
+ '매우 작다',
668
+ '파트너보다 조금 크다/조금 작다',
669
+ ]
670
+
671
+ return get_table_by_1d6(table)
672
+ end
673
+
674
+ # たまり場表(아지트표)
675
+ def get_base_table
676
+ table = [
677
+ [1, 'PC가 일하고 있는 직장'],
678
+ [2, '조용한 분위기의 찻집'],
679
+ [3, '떠들썩한 분위기의 술집'],
680
+ [4, '탐정활동을 위해 빌린 사무소'],
681
+ [5, 'PC 중 한쪽의 집'],
682
+ [6, '단골 음식점'],
683
+ [7, '이동에 쓰이는 차 안'],
684
+ [8, '지인에게 양도받은 창고'],
685
+ [9, '언제나 파트너와 만나는 교차점'],
686
+ [10, '둘만 알고 있는 비밀장소'],
687
+ ]
688
+ diceText = @randomizer.roll_once(10)
689
+ output = get_table_by_number(diceText, table)
690
+ return output, diceText
691
+ end
692
+
693
+ # 関係表()
694
+ def get_guest_relation_table
695
+ table = [
696
+ [11, '옛날 친구'],
697
+ [12, '친구(友人)'],
698
+ [13, '친구(親友)'],
699
+ [14, '안면이 있다'],
700
+ [15, '전우'],
701
+ [16, '악연'],
702
+ [22, '과거에 무언가 있었다'],
703
+ [23, '사촌'],
704
+ [24, '친구의 친구'],
705
+ [25, '먼 친척'],
706
+ [26, '이웃'],
707
+ [33, '민폐를 끼쳤다'],
708
+ [34, '스승'],
709
+ [35, '인터넷으로 알게 되었다'],
710
+ [36, '우연히 알게 되었다'],
711
+ [44, '전에 딱 한 번 만났다'],
712
+ [45, '파트너의 일로 상담 받았다'],
713
+ [46, '파트너에 대해 질문 받았다'],
714
+ [55, '소꿉친구'],
715
+ [56, '파트너를 쫓고 있다'],
716
+ [66, '일방적으로 알려져 있다'],
717
+ ]
718
+ return get_table_by_d66_swap(table)
719
+ end
720
+
721
+ # 思い出の品決定表(추억의 물건 결정표)
722
+ def get_memorial_item_table
723
+ table = [
724
+ [11, '아지트에 계속 놓여 있는 배달피자상자'],
725
+ [12, '같이 해결한 사건의 파일'],
726
+ [13, '두 사람이 만난 계기가 된 책'],
727
+ [14, '둘이서 놀았던 체스판이나 장기판'],
728
+ [15, '두 사람의 추억이 쌓인 게임기'],
729
+ [16, '두 사람이 찍힌 사진'],
730
+ [22, '두 사람의 수사노트'],
731
+ [23, '같이 사용한 청소도구'],
732
+ [24, '피해자로부터 받은 인형'],
733
+ [25, '둘이서 같이 앉은 소파'],
734
+ [26, '언제나 앉아있는 의자'],
735
+ [33, '자주 사용하는 전화기'],
736
+ [34, '둘의 시간을 새긴 시계'],
737
+ [35, '언제나 놓여있는 책상'],
738
+ [36, '사건 해설을 한 화이트보드나 칠판'],
739
+ [44, '어째선지 있는 인체모형'],
740
+ [45, '좋아하는 컵'],
741
+ [46, '사건해결에 쓴 소도구'],
742
+ [55, '같이 마시기로 약속한 술이나 주스'],
743
+ [56, '좋아하는 요리'],
744
+ [66, '둘만의 비밀교환일기'],
745
+ ]
746
+ return get_table_by_d66_swap(table)
747
+ end
748
+
749
+ # 職業表A(직업표A)
750
+ def get_job_table_66
751
+ table = [
752
+ [11, '파트너와 같음'],
753
+ [12, '프리터'],
754
+ [13, '학생(우수)'],
755
+ [14, '학생(보통)'],
756
+ [15, '학생(불성실)'],
757
+ [16, '교사,강사'],
758
+ [22, '파트너와 같음'],
759
+ [23, '회사원'],
760
+ [24, '주부'],
761
+ [25, '자영업자'],
762
+ [26, '딜레탕트'],
763
+ [33, '파트너와 같음'],
764
+ [34, '형사(신입)'],
765
+ [35, '형사(엘리트)'],
766
+ [36, '공무원'],
767
+ [44, '파트너와 같음'],
768
+ [45, '탐정조수'],
769
+ [46, '탐정'],
770
+ [55, '파트너와 같음'],
771
+ [56, '무직'],
772
+ [66, '파트너와 같음'],
773
+ ]
774
+
775
+ return get_table_by_d66_swap(table)
776
+ end
777
+
778
+ # 職業表B(직업표B)
779
+ def get_job_table_10
780
+ table = [
781
+ [1, '딜레탕트'],
782
+ [2, '형사'],
783
+ [3, '탐정(유명)'],
784
+ [4, '탐정(인기없음)'],
785
+ [5, '탐정조수'],
786
+ [6, '연구자'],
787
+ [7, '자영업자'],
788
+ [8, '회사원'],
789
+ [9, '작가'],
790
+ [10, '학생'],
791
+ ]
792
+
793
+ diceText = @randomizer.roll_once(10)
794
+ output = get_table_by_number(diceText, table)
795
+ return output, diceText
796
+ end
797
+
798
+ # ファッション特徴表A(패션특징표A)
799
+ def get_fashion_table_66
800
+ table = [
801
+ [11, '고급지향'],
802
+ [12, '정장'],
803
+ [13, '캐주얼 웨어(평상복)'],
804
+ [14, '포멀 웨어(정장)'],
805
+ [15, '스포츠웨어'],
806
+ [16, '합리적임'],
807
+ [22, '선글라스'],
808
+ [23, '와이셔츠'],
809
+ [24, '티셔츠'],
810
+ [25, '목걸이'],
811
+ [26, '모자'],
812
+ [33, '밀리터리'],
813
+ [34, '피어스'],
814
+ [35, '추리닝'],
815
+ [36, '붙임머리'],
816
+ [44, '일본전통옷'],
817
+ [45, '반지'],
818
+ [46, '초커'],
819
+ [55, '샌들'],
820
+ [56, '점퍼'],
821
+ [66, '패션에 구애받지 않는다'],
822
+ ]
823
+ return get_table_by_d66_swap(table)
824
+ end
825
+
826
+ # ファッション特徴表B(패션특징표B)
827
+ def get_fashion_table_10
828
+ table = [
829
+ [1, '정장'],
830
+ [2, '인버네스'],
831
+ [3, '백의'],
832
+ [4, '글로브'],
833
+ [5, '파이프'],
834
+ [6, '조끼'],
835
+ [7, '일본전통옷'],
836
+ [8, '컬러풀한 색 사용'],
837
+ [9, '파트너와 같음'],
838
+ [10, '패션에 구애받지 않는다'],
839
+ ]
840
+
841
+ diceText = @randomizer.roll_once(10)
842
+ output = get_table_by_number(diceText, table)
843
+ return output, diceText
844
+ end
845
+
846
+ # 好きなもの/嫌いなもの表A(좋아하는 것/싫어하는 것표A)
847
+ def get_like_dislike_table_66
848
+ table = [
849
+ [11, '시체'],
850
+ [12, '개'],
851
+ [13, '고양이'],
852
+ [14, '서스펜스'],
853
+ [15, '이야기'],
854
+ [16, '아이돌'],
855
+ [22, '범죄'],
856
+ [23, '오컬트'],
857
+ [24, '건강'],
858
+ [25, '정크푸드'],
859
+ [26, '고급식사'],
860
+ [33, '패션'],
861
+ [34, '권력'],
862
+ [35, '명예'],
863
+ [36, '우정'],
864
+ [44, '간식'],
865
+ [45, '고향'],
866
+ [46, '가족'],
867
+ [55, '경찰'],
868
+ [56, '음악'],
869
+ [66, '총'],
870
+ ]
871
+
872
+ return get_table_by_d66_swap(table)
873
+ end
874
+
875
+ # 好きなもの/嫌いなもの表B(좋아하는 것/싫어하는 것표B)
876
+ def get_like_dislike_table_10
877
+ table = [
878
+ [1, '범죄'],
879
+ [2, '수수께끼'],
880
+ [3, '탐정'],
881
+ [4, '파트너'],
882
+ [5, '파트너가 좋아하는 것'],
883
+ [6, '파트너가 싫어하는 것'],
884
+ [7, '딱히 없음'],
885
+ [8, '체스나 장기 등의 보드게임'],
886
+ [9, '인간'],
887
+ [10, '모르는 것'],
888
+ ]
889
+
890
+ diceText = @randomizer.roll_once(10)
891
+ output = get_table_by_number(diceText, table)
892
+ return output, diceText
893
+ end
894
+
895
+ # 感情表A(감정표A)
896
+ def get_feeling_table_66
897
+ table = [
898
+ [11, '얼굴'],
899
+ [12, '분위기'],
900
+ [13, '외관'],
901
+ [14, '수사방법'],
902
+ [15, '행동거지'],
903
+ [16, '냄새'],
904
+ [22, '존재 그 자체'],
905
+ [23, '말투'],
906
+ [24, '취미(취향)'],
907
+ [25, '왠지 모르게'],
908
+ [26, '타인을 향한 태도'],
909
+ [33, '금전감각'],
910
+ [34, '생활습관'],
911
+ [35, '기능'],
912
+ [36, '복장'],
913
+ [44, '말할 타이밍'],
914
+ [45, '윤리관'],
915
+ [46, '자신을 향한 태도'],
916
+ [55, '거리감'],
917
+ [56, '자신과의 관계'],
918
+ [66, '생활습관'],
919
+ ]
920
+
921
+ return get_table_by_d66_swap(table)
922
+ end
923
+
924
+ # 感情表B(감정표B)
925
+ def get_feeling_table_10
926
+ table = [
927
+ [1, '인간성'],
928
+ [2, '취미(취향)'],
929
+ [3, '기능'],
930
+ [4, '왠지 모르게'],
931
+ [5, '감각'],
932
+ [6, '분위기'],
933
+ [7, '자신이 모르는 점'],
934
+ [8, '자신이 잘 알고 있는 점'],
935
+ [9, '자신을 향한 태도'],
936
+ [10, '자신과의 관계'],
937
+ ]
938
+ diceText = @randomizer.roll_once(10)
939
+ output = get_table_by_number(diceText, table)
940
+ return output, diceText
941
+ end
942
+
943
+ # 呼び名表A(호칭표A)
944
+ def get_name_to_call_table_66
945
+ table = [
946
+ [11, '달링, 허니'],
947
+ [12, '이름'],
948
+ [13, '~군(くん)'],
949
+ [14, '~씨(さん)'],
950
+ [15, '~쨩(ちゃん)'],
951
+ [16, '~님(様), ~공(殿)'],
952
+ [22, '~선배, ~후배'],
953
+ [23, '파트너(相棒)'],
954
+ [24, '당신(あんた)'],
955
+ [25, '당신(あなた)'],
956
+ [26, '선생(님)'],
957
+ [33, '물건으로 비유한다.'],
958
+ [34, '네놈/자네(貴様)、귀하(貴殿)'],
959
+ [35, '너(てめえ、おまえ)'],
960
+ [36, '별명'],
961
+ [44, '유(ユー)'],
962
+ [45, '자네(お前さん)'],
963
+ [46, '탐정군, 탐정씨'],
964
+ [55, '친구'],
965
+ [56, '파트너와 같다.'],
966
+ [66, '매번 호칭이 바뀐다.'],
967
+ ]
968
+
969
+ return get_table_by_d66_swap(table)
970
+ end
971
+
972
+ # 呼び名表B(호칭표B)
973
+ def get_name_to_call_table_10
974
+ table = [
975
+ [1, '이름'],
976
+ [2, '~군(くん)'],
977
+ [3, '~씨(さん)'],
978
+ [4, '~쨩(ちゃん)'],
979
+ [5, '~님(様), ~공(殿)'],
980
+ [6, '파트너(相棒)'],
981
+ [7, '당신(あんた、あなた)'],
982
+ [8, '너(キミ)'],
983
+ [9, '사랑하는~'],
984
+ [10, '별명'],
985
+ ]
986
+
987
+ diceText = @randomizer.roll_once(10)
988
+ output = get_table_by_number(diceText, table)
989
+
990
+ return output, diceText
991
+ end
992
+ end
993
+ end
994
+ end