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,680 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bcdice/dice_table/table'
4
+
5
+ module BCDice
6
+ module GameSystem
7
+ class ShinobiGami < Base
8
+ # ゲームシステムの識別子
9
+ ID = 'ShinobiGami'
10
+
11
+ # ゲームシステム名
12
+ NAME = 'シノビガミ'
13
+
14
+ # ゲームシステム名の読みがな
15
+ SORT_KEY = 'しのひかみ'
16
+
17
+ # ダイスボットの使い方
18
+ HELP_MESSAGE = <<~INFO_MESSAGE_TEXT
19
+ ・各種表
20
+  ・(無印)シーン表 ST/ファンブル表 FT/感情表 ET
21
+    /変調表 WT/戦場表 BT/異形表 MT/ランダム特技決定表 RTT
22
+  ・(弐)都市シーン表 CST/館シーン表  MST/出島シーン表 DST
23
+  ・(参)トラブルシーン表 TST/日常シーン表 NST/回想シーン表 KST
24
+  ・(死)東京シーン表 TKST/戦国シーン表 GST
25
+  ・(乱)戦国変調表 GWT
26
+  ・(リプレイ戦1〜2巻)学校シーン表 GAST/京都シーン表 KYST
27
+    /神社仏閣シーン表 JBST
28
+  ・(怪)怪ファンブル表 KFT/怪変調表 KWT
29
+  ・(その他)秋空に雪舞えばシーン表 AKST/災厄シーン表 CLST
30
+   /出島EXシーン表 DXST/斜歯ラボシーン表 HLST
31
+   /夏の終わりシーン表 NTST/培養プラントシーン表  PLST
32
+   ・忍秘伝  中忍試験シーン表 HC/滅びの塔シーン表 HT/影の街でシーン表 HK
33
+   /夜行列車シーン表 HY/病院シーン表 HO/龍動シーン表 HR/密室シーン表 HM/催眠シーン表 HS
34
+ ・D66ダイスあり
35
+ INFO_MESSAGE_TEXT
36
+
37
+ def initialize(command)
38
+ super(command)
39
+
40
+ @sort_add_dice = true
41
+ @enabled_d66 = true
42
+ @d66_sort_type = D66SortType::ASC
43
+ end
44
+
45
+ def check_2D6(total, dice_total, _dice_list, cmp_op, target)
46
+ return '' unless cmp_op == :>=
47
+
48
+ if dice_total <= 2
49
+ " > ファンブル"
50
+ elsif dice_total >= 12
51
+ " > スペシャル(【生命力】1点か変調一つを回復)"
52
+ elsif target == "?"
53
+ ""
54
+ elsif total >= target
55
+ " > 成功"
56
+ else
57
+ " > 失敗"
58
+ end
59
+ end
60
+
61
+ def eval_game_system_specific_command(command)
62
+ string = command.upcase
63
+
64
+ result = roll_tables(command, TABLES)
65
+ if result
66
+ return result
67
+ end
68
+
69
+ case string
70
+ when /\w*RTT/ # ランダム特技決定表
71
+ return sinobigami_random_skill_table()
72
+ when 'MT' # 異形表
73
+ return sinobigami_metamorphose_table()
74
+ end
75
+
76
+ return nil
77
+ end
78
+
79
+ private
80
+
81
+ # ランダム指定特技表
82
+ def sinobigami_random_skill_table()
83
+ skill_table, value1 = get_table_by_1d6(RANDOM_SKILL_TABLE)
84
+ table_name, skill_table = skill_table
85
+ skill, value2 = get_table_by_2d6(skill_table)
86
+
87
+ return "ランダム指定特技表(#{value1},#{value2}) > 『#{table_name}』#{skill}"
88
+ end
89
+
90
+ # 異形表
91
+ def sinobigami_metamorphose_table()
92
+ text, value = get_table_by_1d6(METAMORPHOSE_TABLE)
93
+ output = "異形表(#{value}) > #{text}"
94
+
95
+ if (demon_skill_table = DEMON_SKILL_TABLES[value - 1])
96
+ text, = get_table_by_1d6(demon_skill_table[:table])
97
+ output += " #{demon_skill_table[:name]} > #{text}#{demon_skill_table[:page]}"
98
+ end
99
+
100
+ return output
101
+ end
102
+
103
+ TABLES = {
104
+ 'ST' => DiceTable::Table.new(
105
+ 'シーン表',
106
+ '2D6',
107
+ [
108
+ '血の臭いがあたりに充満している。何者かの戦いがあった気配。 いや?まだ戦いは続いているのだろうか?',
109
+ 'これは……夢か? もう終わったはずの過去。しかし、それを忘れることはできない。',
110
+ '眼下に広がる街並みを眺める。ここからなら街を一望できるが……。',
111
+ '世界の終わりのような暗黒。暗闇の中、お前達は密やかに囁く。',
112
+ '優しい時間が過ぎていく。影の世界のことを忘れてしまいそうだ。',
113
+ '清廉な気配が漂う森の中。鳥の囀りや、そよ風が樹々を通り過ぎる音が聞こえる。',
114
+ '凄まじい人混み。喧噪。影の世界のことを知らない無邪気な人々の手柄話や無駄話が騒がしい。',
115
+ '強い雨が降り出す。人々は、軒を求めて、大慌てて駆けだしていく。',
116
+ '大きな風が吹き荒ぶ。髪の毛や衣服が大きく揺れる。何かが起こりそうな予感……',
117
+ '酔っぱらいの怒号。客引きたちの呼び声。女たちの嬌声。いつもの繁華街の一幕だが。',
118
+ '太陽の微笑みがあなたを包み込む。影の世界の住人には、あまりにまぶしすぎる。',
119
+ ]
120
+ ),
121
+ 'CST' => DiceTable::Table.new(
122
+ '都市シーン表',
123
+ '2D6',
124
+ [
125
+ 'シャワーを浴び、浴槽に疲れた身体を沈める。時には、癒しも必要だ。',
126
+ '閑静な住宅街。忍びの世とは関係のない日常が広がっているようにも見えるが……それも錯覚なのかもしれない',
127
+ '橋の上にたたずむ。川の対岸を結ぶ境界点。さて、どちらに行くべきか……?',
128
+ '人気のない公園。野良猫が一匹、遠くからあなたを見つめているような気がする。',
129
+ '至福の一杯。この一杯のために生きている……って、いつも言ってるような気がするなぁ。',
130
+ '無機質な感じのするオフィスビル。それは、まるで都市の墓標のようだ。',
131
+ '古びた劇場。照明は落ち、あなたたちのほかに観客の姿は見えないが……。',
132
+ '商店街を歩く。人ごみに混じって、不穏な気配もちらほら感じるが……。',
133
+ 'ビルの谷間を飛び移る。この街のどこかに、「アレ」は存在するはずなのだが……。',
134
+ '見知らぬ天井。いつの間にか眠っていたのだろうか?それにしてもここはどこだ?',
135
+ '廃屋。床には乱雑に壊れた調度品や器具が転がっている。',
136
+ ]
137
+ ),
138
+ 'MST' => DiceTable::Table.new(
139
+ '館シーン表',
140
+ '2D6',
141
+ [
142
+ 'どことも知れぬ暗闇の中。忍びの者たちが潜むには、おあつらえ向きの場所である。',
143
+ '洋館の屋根の上。ここからなら、館の周りを一望できるが……。',
144
+ '美しい庭園。丹精こめて育てられたであろう色とりどりの花。そして、綺麗に刈り込まれた生垣が広がっている。',
145
+ 'あなたは階段でふと足を止めた。何者かの足音が近づいているようだ。',
146
+ 'あなたに割り当てられた寝室。ベッドは柔らかく、調度品も高級なものばかりだが……。',
147
+ 'エントランスホール。古い柱時計の時報が響く中、館の主の肖像画が、あなたを見下ろしている。',
148
+ '食堂。染み一つないテーブルクロスに覆われた長い食卓。その上は年代物の燭台や花で飾られている。',
149
+ '長い廊下の途中。この屋敷は広すぎて、迷子になってしまいそうだ。',
150
+ '戯れに遊戯室へ入ってみた。そこには撞球台やダーツの的、何組かのトランプが散らばっているポーカーテーブルがあった。',
151
+ 'かび臭い図書室。歴代の館の主たちの記録や、古今東西の名著が、ぎっしりと棚に並べられている。',
152
+ '一族の納骨堂がある。冷気と瘴気に満ちたその場所に、奇妙な叫びが届く。遠くの鳥のさえずりか?それとも死者の恨みの声か……?',
153
+ ]
154
+ ),
155
+ 'DST' => DiceTable::Table.new(
156
+ '出島シーン表',
157
+ '2D6',
158
+ [
159
+ '迷宮街。いつから囚われてしまったのだろう?何重にも交差し、曲がりくねった道を歩き続ける。このシーンの登場人物は《記憶術》で判定を行わなければならない。成功すると、迷宮の果てで好きな忍具を一つ獲得する。失敗すると、行方不明の変調を受ける。',
160
+ '幻影城。訪れた者の過去や未来の風景を見せる場所。このシーンの登場人物は、《意気》の判定を行うことができる。成功すると、自分の持っている【感情】を好きな何かに変更することができる。',
161
+ '死者たちの行進。無念の死を遂げた者たちが、仲間を求めて彷徨らっている。このシーンの登場人物は《死霊術》で判定を行わなければならない。失敗すると、ランダムに変調を一つを受ける。',
162
+ 'スラム。かろうじて生き延びている人たちが肩を寄せ合い生きているようだ。ここなら辛うじて安心できるかも……。',
163
+ '落書きだらけのホテル。その周囲には肌を露出させた女や男たちが、媚態を浮かべながら立ち並んでいる。',
164
+ '立ち並ぶ廃墟。その影から、人とも怪物ともつかぬ者の影が、あなたの様子をじっとうかがっている。',
165
+ '薄汚い路地裏。巨大な黒犬が何かを貪っている。あなたの気配を感じて黒犬は去るが、そこに遺されていたのは……。',
166
+ '昏い酒場。バーテンが無言でグラスを磨き続けている。あなたの他に客の気配はないが……。',
167
+ '地面を覆う無数の瓦礫。その隙間から暗黒の瘴気が立ち昇る。このシーンの登場人物は《生存術》で判定を行わなければならない。失敗すると、好きな【生命力】を1点失う。',
168
+ '熱気溢れる市場。武器や薬物などを売っているようだ。商人たちの中には、渡来人の姿もある。このシーンの登場人物は、《経済力》で判定を行うことができる。成功すると、好きな忍具を一つ獲得できる。',
169
+ '目の前に渡来人が現れる。渡来人はあなたに興味を持ち、襲い掛かってくる。このシーンの登場人物は《刀術》で判定を行わなければならない。成功すると、渡来人を倒し、好きな忍具を一つ獲得する。失敗すると、3点の接近戦ダメージを受ける。',
170
+ ]
171
+ ),
172
+ 'TST' => DiceTable::Table.new(
173
+ 'トラブルシーン表',
174
+ '2D6',
175
+ [
176
+ '同行者とケンカしてしまう。うーん、気まずい雰囲気。',
177
+ 'バシャ! 同行者のミスでずぶ濡れになってしまう。……冷たい。',
178
+ '敵の気配に身を隠す。……すると、同行者の携帯が着信音を奏で始める。「……えへへへへ」じゃない!',
179
+ '同行者の空気の読めない一言。場が盛大に凍り付く。まずい。何とかしないと。',
180
+ '危機一髪! 同行者を死神の魔手から救い出す。……ここも油断できないな。',
181
+ '同行者が行方不明になる。アイツめ、どこへ逃げたッ!',
182
+ 'ずて────ん! あいたたたた……同行者がつまずいたせいで、巻き込まれて転んでしまった。',
183
+ '同行者のせいで、迷子になってしまう。困った。どこへ行くべきか。',
184
+ '「どこに目つけてんだ、てめぇ!」同行者がチンピラにからまれる。うーん、助けに入るべきか。',
185
+ '! 油断していたら、同行者に自分の恥ずかしい姿を見られてしまう。……一生の不覚!',
186
+ '同行者が不意に涙を流す。……一体、どうしたんだろう?',
187
+ ]
188
+ ),
189
+ 'NST' => DiceTable::Table.new(
190
+ '日常シーン表',
191
+ '2D6',
192
+ [
193
+ 'っくしゅん! ……うーん、風邪ひいたかなあ。お見舞いに来てくれたんだ。ありがとう。',
194
+ '目の前のアイツは、見違えるほどドレスアップしていた。……ゆっくりと大人な時間が過ぎていく。',
195
+ 'おいしそうなスイーツを食べることになる。たまには甘いものを食べて息抜き息抜き♪',
196
+ 'ふわわわわ、いつの間にか寝ていたようだ。……って、あれ? お前、いつからそこにいたッ!!',
197
+ '買い物帰りの友人と出会う。方向が同じなので、しばらく一緒に歩いていると、思わず会話が盛り上がる。',
198
+ 'コンビニ。商品に手を伸ばしたら、同時にその商品をとろうとした別の人物と手が触れあう。なんという偶然!',
199
+ 'みんなで食卓を囲むことになる。鍋にしようか? それとも焼き肉? お好み焼きなんかもい〜な〜♪',
200
+ 'どこからか楽しそうな歌声が聞こえてくる。……って、あれ? 何でお前がこんなところに?',
201
+ '野良猫に餌をやる。……猫はのどを鳴らし、すっかりあなたに甘えているようだ。',
202
+ '「……! ……? ……♪」テレビは、なにやら楽しげな場面を映している。あら。もう、こんな時間か。',
203
+ '面白そうなゲーム! 誰かと対戦することになる。GMは、「戦術」からランダムに特技1つを選ぶ。このシーンに登場しているキャラクターは、その特技の判定を行う。成功した場合、同じシーンに登場しているキャラクターを1人を選び、そのキャラクターの自分に対する【感情】を好きなものに変更する(何の【感情】も持っていない場合、好きな【感情】を芽生えさせる)。',
204
+ ]
205
+ ),
206
+ 'TKST' => DiceTable::Table.new(
207
+ '東京シーン表',
208
+ '2D6',
209
+ [
210
+ 'お台場、臨界副都心。デート中のカップルや観光客が溢れている。',
211
+ '靖国神社。東京の中とも思えぬ、緑で満ちた場所だ。今は観光客もおらず、奇妙に静かだ……。',
212
+ '東京大学の本部キャンパス。正門から伸びる銀杏並木の道を学生や教職員がのんびりと歩いている。道の向こうには安田講堂が見える。',
213
+ '山手線の中。乗車率200%を超える、殺人的な通勤ラッシュ真っ最中。この中でできることは限られている……。',
214
+ '霞が関。この場に集う情報は、忍者にとっても価値が高いものだ。道を行く人々の中にも、役人や警察官が目につく。',
215
+ '渋谷駅前の雑踏。大型屋外ヴィジョンが見下ろす中で、大勢の若者たちが行き交っている。',
216
+ '夜の新宿歌舞伎町。酔っぱらったサラリーマン、華やかな夜の蝶、明らかに筋ものと判る男、外国人などの様々な人間と、どこか危険な雰囲気に満ちている。',
217
+ '新宿都庁。摩天楼が林立するビル街の下、背広姿の人々が行き交う。',
218
+ '神田古書街。多くの古書店が軒を連ねている。軒先に積まれた本の山にさえ、追い求める謎や、深遠な知識が埋もれていそうな気がする。',
219
+ '山谷のドヤ街。日雇い労働者が集う管理宿泊施設の多いこの場所は、身を隠すにはうってつけだ。',
220
+ '東京スカイツリーの上。この場所からならば東京の町が一望できる。',
221
+ ]
222
+ ),
223
+ 'KST' => DiceTable::Table.new(
224
+ '回想シーン表',
225
+ '2D6',
226
+ [
227
+ '闇に蔓延する忍びの気配。あのときもそうだった。手痛い失敗の記憶。今度こそ、うまくやってみせる。',
228
+ '甘い口づけ。激しい抱擁。悲しげな瞳……一夜の過ちが思い返される。',
229
+ '記憶の中でゆらめくセピア色の風景。……見覚えがある。そう、私はここに来たことがあるはずだッ!!',
230
+ '目の前に横たわる死体。地面に広がっていく。あれは、私のせいだったのだろうか……?',
231
+ 'アイツとの大切な約束を思い出す。守るべきだった約束。果たせなかった約束。',
232
+ '助けを求める右手が、あなたに向かってまっすぐ伸びる。あなたは、必死でその手を掴もうとするが、あと一歩のところで、その手を掴み損ねる……。',
233
+ 'きらきらと輝く笑顔。今はもう喪ってしまった、大事だったアイツの笑顔。',
234
+ '恐るべき一撃! もう少しで命を落とすところだった……。しかし、あの技はいまだ見切れていない。',
235
+ '幼い頃の記憶。仲の良かったあの子。そういえば、あの子は、どこに行ってしまったのだろう。もしかして……。',
236
+ '「……ッ!!」激しい口論。ひどい別れ方をしてしまった。あんなことになると分かっていたら……。',
237
+ '懐の中のお守りを握りしめる。アイツにもらった、大切な思い出の品。「兵糧丸」を1つ獲得する。',
238
+ ]
239
+ ),
240
+ 'GST' => DiceTable::Table.new(
241
+ '戦国シーン表',
242
+ '2D6',
243
+ [
244
+ '炎上する山城。人々の悲鳴や怒号がこだましている。どうやら、敵対する武将による焼き討ちらしい。今ならば、あるいは……。',
245
+ '荒れ果てた村。カラスの不吉な鳴き声が聞こえてくる中で、やせ細った村人たちが、うつろな瞳でこちらを伺っている。',
246
+ '人気のない山道。ただ鳥の声だけが響いている。通りがかった人を襲うのには、好都合かもしれない。',
247
+ '乾いた骸の転がる合戦後。生き物の姿はなく、草の一本さえも生えていない。落ち武者たちの恨みがましい声が聞こえてきそうだ……。',
248
+ '不気味な気配漂う森の中。何か得体のしれぬものが潜んでいそうだ。',
249
+ '荒れ果てた廃寺。ネズミがカサカサと這いまわる本堂の中を、残された本尊が見下ろしている。',
250
+ '街道沿いの宿場町。戦から逃げてきたらしい町人や、商売の種を探す商人、目つきの鋭い武士などが行き交い、賑わっている。',
251
+ '城の天守閣のさらに上。強く吹く風が、雲を流していく。',
252
+ '館の天井裏。この下では今、何が行われているのか……。',
253
+ '合戦場に設けられた陣内。かがり火がたかれ、武者たちが酒宴を行っている。',
254
+ '戦の真っただ中にある合戦場。騎馬にまたがった鎧武者が駆け抜けていく。勝者となるのは、いずれの陣営だろうか。',
255
+ ]
256
+ ),
257
+ 'GAST' => DiceTable::Table.new(
258
+ '学校シーン表',
259
+ '2D6',
260
+ [
261
+ '清廉な気配が漂う森の中。鳥のさえずりやそよ風が木々を通りすぎる音が聞こえる。',
262
+ '学校のトイレ。……なんだか少しだけ怖い気がする。',
263
+ '誰もいない体育館。バスケットボールがころころと転がっている。',
264
+ '校舎の屋上。一陣の風が吹き、衣服をたなびかせる。',
265
+ '校庭。体操服姿の生徒たちが走っている。',
266
+ '廊下。休憩時間か放課後か。生徒たちが、楽しそうにはしゃいでいる。',
267
+ '学食のカフェテリア。生徒たちがまばらに席につき、思い思い談笑している。',
268
+ '静かな授業中の風景。しかし、忍術を使って一般生徒に気取られない会話をしている忍者たちもいる。',
269
+ '校舎と校舎をつなぐ渡り廊下。あなた以外の気配はないが……。',
270
+ '特別教室。音楽室や理科室にいるのってなんか楽しいよね。',
271
+ 'プール。水面が、ゆらゆら揺れている。',
272
+ ]
273
+ ),
274
+ 'KYST' => DiceTable::Table.new(
275
+ '京都シーン表',
276
+ '2D6',
277
+ [
278
+ '夜の街並み。神社仏閣はライトアップされ、にぎやかな酔客が通りを埋める。昼間とはまた違った景色が広がっている。',
279
+ '京都駅ビル。その屋上は、京都市で最も高く、周囲を一望できる。',
280
+ '旅館で一休み。……のはずが、四方山話に花が咲く。',
281
+ '鴨川のあたりを歩いている。カップルが均等に距離を置いて座っているのが面白い。',
282
+ '京都はどこにでもおみやげ物屋があるなぁ。さて、あいつに何を買ってやるべきか……?',
283
+ '「神社仏閣シーン表(JBST)」で決定。',
284
+ '新京極でお買い物。アーケードには、新旧様々な店が建ち並ぶ。',
285
+ '大学が近くにあるのかな? 安い定食屋や古本屋、ゲームセンターなどが軒を連ねる学生街。京都はたくさん大学があるなぁ。',
286
+ '静かな竹林。凛とした気配が漂う。',
287
+ '祇園。時折、しずしずと歩く舞妓さんとすれ違う。雰囲気のある町並みだ。',
288
+ '一般公開された京都御所の中を歩く。昼間だというのに人通りはあまりなく、何だか少し寂しい気持ち。',
289
+ ]
290
+ ),
291
+ 'JBST' => DiceTable::Table.new(
292
+ '神社仏閣シーン表',
293
+ '2D6',
294
+ [
295
+ '清明神社。一条戻り橋を越えたところにある小さな社。陰陽師に憧れる女性たちの姿が目立つ。',
296
+ '東寺。東寺真言宗総本山。密教独特の厳しい気配が漂う。',
297
+ '平安神宮。大鳥居を白無垢の花嫁行列がくぐり抜けていくのが見える。どうやら結婚式のようだ。',
298
+ '慈照寺――通称、銀閣寺。室町後期の東山文化を代表する建築である。錦鏡池を囲む庭園には、物思いにふける観光客の姿が……。',
299
+ '鹿苑寺――通称、金閣寺。室町前期の北山文化を代表する建築である。鏡湖池に映る逆さ金閣には、強力な「魔」を封印していると言うが……?',
300
+ '三十三間堂。荘厳な本堂に立ち並ぶ千一体の千手観音像は圧巻。',
301
+ '清水寺。清水坂を越え、仁王門を抜けると、本堂――いわゆる清水の舞台にたどり着く。そこからは、音羽の滝や子安塔が見える。',
302
+ '八坂神社。祇園さんの名前で知られるにぎやかな神社。舞妓さんの姿もちらほら。',
303
+ '伏見稲荷。全国約四万社の稲荷神社の総本宮。稲荷山に向かって立ち並ぶ約一万基の鳥居は、まるで異界へと続いているかのようだ……。',
304
+ '化野念仏寺。無数の石塔、石仏が立ち並ぶ景色は、どこか荒涼としている……。',
305
+ '六道珍皇寺。小野篁が冥界に通ったとされる井戸のある寺。この辺りは「六道の辻」と呼ばれ、不思議な伝説が数多く残っている。',
306
+ ]
307
+ ),
308
+ 'AKST' => DiceTable::Table.new(
309
+ '秋空に雪舞えばシーン表',
310
+ '2D6',
311
+ [
312
+ 'どこから紛れ込んできたのか。シーンプレイヤーが1D6を振って3以下ならナタを持った少女、4以上なら冬篭りに備えた熊が襲ってくる。シーンに登場したキャラクターは、少女なら《刀術》・熊なら《鳥獣術》で判定し、失敗すると接近戦ダメージを1点受ける。',
313
+ '3:暗い夜の森の中、月明かりのみが周囲を照らす。忍が動くにはいい時間だ。',
314
+ '4:秋晴れの下、両脇で黄金色の稲穂が風に靡く道。刈り取りを控えたこの短い間にしか見る事の出来ない貴重な光景だ。',
315
+ '5:美味しそうな果実がたわわに実っている。一つくらい取って行ってもバチは当たらないだろう…。',
316
+ '6:山中に続く林道。勾配の厳しい道から、紅葉が浮かび流れる穏やかな川が見下ろせる。',
317
+ '7:村の広場。山や田畑が一望できる。波打つ稲穂の絨毯、山々には紅葉。秋を感じるひと時だ。',
318
+ '8:パチパチと爆ぜる音。どうやら籾殻で焚き火をしているらしい。少し暖まっていこうか。',
319
+ '9:神秘的な神社。祭りの準備が進められているが、今は人がいないようだ。',
320
+ 'ひと雨きそうな午後。重たい空気にキンモクセイがつと香る。',
321
+ '草に埋もれ、崩れかけの古い空き家。どこか物悲しさを感じる。',
322
+ 'カツーン、カツーン、誰かが丑の刻参りをしている音が聞こえる。シーンに登場したキャラクターは《呪術》で判定し、成功すると誰かに《呪い》の変調を与えることができる。失敗すると《呪い》の変調を受ける。',
323
+ ]
324
+ ),
325
+ 'CLST' => DiceTable::Table.new(
326
+ '災厄シーン表',
327
+ '1D6',
328
+ [
329
+ '瘴気に晒され続けたことであなたの身体が妖魔へと変貌する。《封術》の判定に失敗したシーンプレイヤーは、背景:劣勢因子と背景:魔人を獲得する。',
330
+ '妖魔があなたに従属を強いる。やつが掲げた手の中には…。《遁走術》の判定に失敗したシーンプレイヤーは、背景:人質と兵糧丸1つを獲得する。',
331
+ '妖魔の群れに捕まった!独力での包囲網突破のために君の体は限界を迎えようとしていた。《拷問術》の判定に失敗したシーンプレイヤーは、背景:侵食と神通丸1つを獲得する。',
332
+ '戦いの激化はあなたの体を蝕む。《医術》の判定に失敗したシーンプレイヤーは、背景:病魔と神通丸1つを獲得する。',
333
+ '下級妖魔を束ねたボスが、新たなる力を手に入れようとしている。シーンプレイヤーが《見敵術》の判定に失敗した場合、ボスに対してエニグマ:『秘奥義』が公開状態で追加される。',
334
+ '力なき者が生き残ることは出来ない。ボスが新たな力を手に入れようとしている。シーンプレイヤーが《怪力》の判定に失敗した場合、ボスに対してエニグマ:『八面六臂』が公開状態で追加される。',
335
+ ]
336
+ ),
337
+ 'DXST' => DiceTable::Table.new(
338
+ '出島EXシーン表',
339
+ '2D6',
340
+ [
341
+ '迷宮街。いつから囚われてしまったのだろう?何重にも交差し、曲がりくねった道を歩き続ける。このシーンの登場人物は《記憶術》で判定を行わなければならない。成功すると、迷宮の果てで好きな忍具を一つ獲得する。失敗すると、行方不明の変調を受ける。',
342
+ '幻影城。訪れた者の過去や未来の風景を見せる場所。このシーンの登場人物は、《意気》の判定を行うことができる。成功すると、自分の持っている【感情】を好きな何かに変更することができる。',
343
+ '死者たちの行進。無念の死を遂げた者たちが、仲間を求めて彷徨らっている。このシーンの登場人物は《死霊術》で判定を行わなければならない。失敗すると、ランダムに変調を一つを受ける。',
344
+ 'スラム。かろうじて生き延びている人たちが肩を寄せ合い生きているようだ。ここなら辛うじて安心できるかも……。',
345
+ '落書きだらけのホテル。その周囲には肌を露出させた女や男たちが、媚態を浮かべながら立ち並んでいる。',
346
+ '立ちふさがるのは妖魔の群れ。他に道などない、真正面から突き進むほかは…災厄シーン表(CLST)を振ること。',
347
+ '薄汚い路地裏。巨大な黒犬が何かを貪っている。あなたの気配を感じて黒犬は去るが、そこに遺されていたのは……。',
348
+ '昏い酒場。バーテンが無言でグラスを磨き続けている。あなたの他に客の気配はないが……。',
349
+ '地面を覆う無数の瓦礫。その隙間から暗黒の瘴気が立ち昇る。このシーンの登場人物は《生存術》で判定を行わなければならない。失敗すると、好きな【生命力】を1点失う。',
350
+ '熱気溢れる市場。武器や薬物などを売っているようだ。商人たちの中には、渡来人の姿もある。このシーンの登場人物は、《経済力》で判定を行うことができる。成功すると、好きな忍具を一つ獲得できる。',
351
+ '目の前に渡来人が現れる。渡来人はあなたに興味を持ち、襲い掛かってくる。このシーンの登場人物は《刀術》で判定を行わなければならない。成功すると、渡来人を倒し、好きな忍具を一つ獲得する。失敗すると、3点の接近戦ダメージを受ける。',
352
+ ]
353
+ ),
354
+ 'HC' => DiceTable::Table.new(
355
+ '中忍試験シーン表',
356
+ '2D6',
357
+ [
358
+ '深い闇が辺りを覆う。何度目かの夜……いつまでこの試験は続くのだろう。このシーンに登場するキャラクターは《生存術》で判定を行い、失敗すると集団戦ダメージを1点受ける。',
359
+ '山の冷気が肉体を蝕む。このシーンに登場するキャラクターは《衣装術》で判定を行い、失敗すると射撃戦ダメージを1受ける。',
360
+ '腹を空かせた獣が襲いかかってくる。このシーンに登場するキャラクターは、《鳥獣術》で判定を行い、失敗すると射撃戦ダメージを1点受ける。',
361
+ '上忍の仕掛けたトラップが発動。このシーンに登場するキャラクターは《罠術》で判定を行い、失敗すると射撃戦ダメージを1点受ける。',
362
+ '濃い霧が出てきた。視界が極端に悪くなり、不安を感じる……。',
363
+ '清廉な気配が漂う森の中。鳥のさえずりや、そよ風が木々を通り過ぎる音が聞こえる。',
364
+ '朽ちた山小屋を発見する。何年も使った様子はなさそうだが……。',
365
+ '山の天気は変わりやすい。嵐がやってくる。今後、戦闘が発生したとき、戦場表を使わなかった場合、その戦場は「平地」ではなく「悪天候」として扱う。',
366
+ 'ひときわ高くなっている尾根にたどり着く。このシーンの登場するキャラクターは、《登術》で判定を行い、成功すると、好きなキャラクター1人の【居所】を獲得する。',
367
+ '深山幽谷(しんざんゆうこく)の果てに、清涼な泉を発見する。ふう、生き返るな。このシーンに登場するキャラクターは、《意気》の判定に成功すると、【生命力】を1点回復させることができる。',
368
+ '脱落した別のグループの忍者の死体を発見する。こいつらには、もう不要だろう。好きな忍具1つを獲得する。(何を獲得するか宣言すること)。',
369
+ ]
370
+ ),
371
+ 'HK' => DiceTable::Table.new(
372
+ '影の街でシーン表',
373
+ '2D6',
374
+ [
375
+ '血の臭いがあたりに充満している。何者かの戦いがあった気配。 いや?まだ戦いは続いているのだろうか?',
376
+ 'これは……夢か? もう終わったはずの過去。しかし、それを忘れることはできない。',
377
+ '眼下に広がる街並みを眺める。ここからなら街を一望できるが……。',
378
+ '世界の終わりのような暗黒。暗闇の中、お前達は密やかに囁く。',
379
+ '死者たちの行進。無念の死を遂げた者たちが、死者を求めて彷徨っている。このシーンの登場人物は《死霊術》で判定を行わなければいけない。失敗すると、ランダムに変調1つを受ける。',
380
+ '立ち並ぶ廃墟。その影から、人とも怪物ともつかない者の影が、あなたの様子を窺っている。',
381
+ '地面を覆う瓦礫。その隙間から暗黒の瘴気が立ち昇る。このシーンの登場人物は、《生存術》で判定を行わなければならない。失敗すると好きな【生命力】1点を失う。',
382
+ '強い雨が降り出す。人々は、軒を求めて、大慌てて駆けだしていく。',
383
+ '大きな風が吹き荒ぶ。髪の毛や衣服が大きく揺れる。何かが起こりそうな予感……',
384
+ '酔っぱらいの怒号。客引きたちの呼び声。女たちの嬌声。いつもの繁華街の一幕だが。',
385
+ '太陽の微笑みがあなたを包み込む。影の世界の住人には、あまりにまぶしすぎる。',
386
+ ]
387
+ ),
388
+ 'HLST' => DiceTable::Table.new(
389
+ '斜歯ラボシーン表',
390
+ '2D6',
391
+ [
392
+ '今週のびっくりどっくり斜歯開発室、1D6を振り奇数なら好きな忍具が入手できる。偶数でも好きな忍具が入手できるが、射撃戦ダメージを1点受ける。',
393
+ 'トランスポーターだ!《絡繰術》で判定すること。失敗するとどこかへ飛ばされて《行方不明》の変調を受ける。成功した場合、望む場所へ到達できる。好きな「居所」を入手すること。',
394
+ '改造室。調整途中の下忍戦闘員たちが錯乱し、あなたに襲い掛かる。〈傀儡術〉の判定を行う。失敗すると1点の集団戦ダメージを受ける。成功すれば「居所」を持っている他のキャラクターに1点の集団戦ダメージを与えることができる。',
395
+ 'エレベーター。ただし四方八方へ移動する。行き先ボタンは無い。この箱はこれから何処へ行くのか。',
396
+ '長く続く廊下。不気味なほどに静まり返っているが、周囲からはまとわりつくような敵意を感じる。',
397
+ 'たくさんの巨大な円筒状のガラスが立ち並び、中には様々な人間が謎の液体に浮かぶ。もちろん肝心な部分は光の反射で見えない。こいつは…まさか…!培養プラントシーン表(PLST)を振ること。',
398
+ 'LEDが視覚的にやかましいコンピュータールーム。壁一面を埋めるディスプレイがちかちか光る。斜歯の誇る超コンピュータは性能に反して古めかしい。',
399
+ '司令室。とうとうDr.斜歯を追い詰めた。泣いて土下座するDr.斜歯……の首がバネ仕掛けで飛び出し、大爆発。影武者だ!このシーン中のファンブル値は+2される。',
400
+ '斜歯のロボット兵器がところ狭しと並べられている。こいつらが起動したとしたら…《潜伏術》で判定し、失敗した場合ロボット兵器に見つかって1点の射撃戦ダメージを受ける。',
401
+ '自爆装置のある中枢ルーム。《火術》で判定し、成功すると自爆させることができる。自爆させた場合、Dr.斜歯に2点の接近戦ダメージを与えることができる。',
402
+ '部屋に置かれた実験装置によりマインドコントロールを受けてしまう。このシーンのあなたはGMの指定した行動をとらねばならない。',
403
+ ]
404
+ ),
405
+ 'HM' => DiceTable::Table.new(
406
+ '密室シーン表',
407
+ '2D6',
408
+ [
409
+ '……ふう。あいつらと一緒にいると、緊張で息苦しくなる。トイレにいるときだけは、少しだけ落ち着くな。',
410
+ 'パチ、パチパチ……。電灯が明滅する。ずっと薄暗い部屋にいたせいで、時間の感覚が麻痺してきた。一体、いまは何時なんだ?',
411
+ 'ガチャン!誰かが食器を落として割ってしまったようだ。落としたヤツは悪びれもせず、こっちを見て肩をすくめている。',
412
+ '誰かがつけたテレビ。くだらないバラエティ番組が映っている。静かな部屋に作り物の笑いがむなしく響く。',
413
+ '空調がイカれているのか、妙に暑い。じっとりと汗ばんでくる……。',
414
+ 'ぴちょん、ぴちょん、ぴちょん……静かな室内に水道から水が滴る音が響く。さっき、きっちり閉めたはずなんだが。',
415
+ 'タバコの煙が目に染みる。閉じきった部屋で吸うから、空気が悪くなってきているな。',
416
+ '床に散乱した書類の中から、一枚の写真を見つける。この部屋の持ち主と、その恋人らしき人物が仲よさそうに写っているが……。',
417
+ '誰かが、八つ当たり気味に壁を殴る。そんなことして、一体なんになるというのだろう?',
418
+ 'ベッドでごろんと横になる。くそ!いつになったら、ここから出られるんだ!',
419
+ '壁のシミをぼんやりとながめていたら、それがゆっくりと人の顔の形になり、にやりと笑いかけてきた。……幻覚か。',
420
+ ]
421
+ ),
422
+ 'HO' => DiceTable::Table.new(
423
+ '病院シーン表',
424
+ '2D6',
425
+ [
426
+ '謎の入院患者。車椅子に座った少女が、あなたをじっと見つめている。',
427
+ '急患入り口。サイレンの音に続いて、ストレッチャーに乗せられた救急患者が運ばれてきた。',
428
+ '病院の屋上。巨大な病院の敷地が一望できる。',
429
+ '診察室。机と清潔なベットが設えられている無機室な部屋。机の上にはパソコンといくつかの器具が置かれている。',
430
+ '病院の廊下。患者の姿はなく、静まり返っている。',
431
+ '面会用のロビーは、入院患者とその見舞客で賑わっている。だが、それに紛れて、妙な気配を感じるが……。',
432
+ '病室。きつい消毒液の香りに混じって、死の匂いが漂っている。',
433
+ '奇妙な囁き声。「助けてくれ……。」そんな訴えを耳元で聞いた気がしたが……?',
434
+ 'ナースステーション。数人の看護師たちが慌ただしく業務をこなしている。',
435
+ '中庭。どこからか悲鳴が聞こえたような気がするが……?',
436
+ '霊安室。その扉が並ぶ長い廊下には、地下特有の淀んだ空気が漂っている。なぜだか気分が悪い。',
437
+ ]
438
+ ),
439
+ 'HR' => DiceTable::Table.new(
440
+ '龍動シーン表',
441
+ '2D6',
442
+ [
443
+ '血の匂いが辺りに充満している。何者かの戦いがあった気配。いや?まだ戦いは続いているのだろうか?',
444
+ 'これは……夢か?もう終わったはずの過去。しかし、それを忘れることはできない。',
445
+ '眼下に広がる街並みを眺める。ここからなら街を一望できるが……。',
446
+ '世界の終りのような暗闇。暗闇の中、お前たちは囁く。',
447
+ '雰囲気のある古い街並みを歩く。あの建物は見たことがあるような……。',
448
+ '霧の中を黒い影が飛び回っている。連中か?',
449
+ '分厚い霧が街を折っている。霧の向こうには黒い影が……。',
450
+ '強い雨が降り出す。人々は軒を求めて、大慌てで駆け出していく。',
451
+ '大きな風が吹き荒ぶ。髪の毛や衣服が大きく揺れる。何かが起こりそうな予感……。',
452
+ 'どこからか奇妙な歌が響く。それはまるで、邪悪な神に捧げる祈りのようにも聞こえた。',
453
+ '無残で冒涜的な死体。犠牲者の表情は苦悶に満ちあふれ、四肢には何者かに貪り食われた痕がある。',
454
+ ]
455
+ ),
456
+ 'HS' => DiceTable::Table.new(
457
+ '催眠シーン表',
458
+ '1D6',
459
+ [
460
+ 'あなたは心地よいベッドの中で、恋人の肌のぬくもりを感じながら微睡んでいる。恋人は「そろそろ起きる時間」とベッドからすり抜ける。目を開けると、そこには裸のナビキャラクターがいた。そして、ナビキャラクターはあなたに優しく口づけをした。柔らかな感触が、あなたの記憶を掘り起こす。',
461
+ 'あなたは一人で死体の片付けを行っている。とても恐ろしく、とても憎かったナビキャラクターを殺したのだ。ナビキャラクターの意志のない瞳を見下ろし、あなたは晴れやかな気分になる。そして、その死体の手のひらに何かが書かれているのに気が付いた。',
462
+ 'あなたはなぜかTVショーに登場している。黒いサングラスをかけた司会者と楽しくおしゃべりしていたら、友人を紹介してほしいと言われ、電話を渡された。覚えのある番号にかけてみると、受話器の向こうからナビキャラクターの声がした。声は、あなたにこう囁く……。',
463
+ 'あなたはいつの間にか子どもになって、お気に入りのアニメを見ている。夢中になってアニメを見ていると、ナビキャラクターがアニメの登場人物として現れた。ナビキャラクターは、画面から抜け出してきて、あなたをアニメの世界に引きずり込む。そして、あなたは世界の真実に気付いてしまう!',
464
+ 'あなたはレストランでお腹を空かせている。そこに給仕の姿をしたナビキャラクターが、食事を運んできた。メインディッシュの銀製の蓋を開けてみると、そこにはあなたの大好物が。食欲をそそる香りが立ちこめ、あなたは重大な事実を思い出す。',
465
+ 'あなたは膨大な数の書架が林立する無人の図書館を歩いている。何気なく一冊の本を棚から抜き出すと、その本の向こう側にナビキャラクターの顔がのぞいている。「お前の求めるものは、その本の14ページに書かれている。」その言葉に従い、恐る恐る14ページを開いてみると……。',
466
+ ]
467
+ ),
468
+ 'HT' => DiceTable::Table.new(
469
+ '滅びの塔シーン表',
470
+ '2D6',
471
+ [
472
+ '血の臭いがあたりに充満している。何者かの戦いがあった気配。 いや?まだ戦いは続いているのだろうか?',
473
+ 'これは……夢か? もう終わったはずの過去。しかし、それを忘れることはできない。',
474
+ '眼下に広がる街並みを眺める。ここからなら街を一望できるが……。',
475
+ '世界の終わりのような暗黒。暗闇の中、お前達は密やかに囁く。',
476
+ '優しい時間が過ぎていく。影の世界のことを忘れてしまいそうだ。',
477
+ '凄まじい業火。このシーンの登場する者は、『器術』分野からランダムに特技1つを選び、判定を行う。失敗すると射撃戦ダメージ1点を受ける。',
478
+ '凄まじい人混み。喧噪。影の世界のことを知らない無邪気な人々の手柄話や無駄話が騒がしい。',
479
+ '強い雨が降り出す。人々は、軒を求めて、大慌てて駆けだしていく。',
480
+ '大きな風が吹き荒ぶ。髪の毛や衣服が大きく揺れる。何かが起こりそうな予感……',
481
+ '凄まじい業火。このシーンの登場する者は、『器術』分野からランダムに特技1つを選び、判定を行う。失敗すると射撃戦ダメージ1点を受ける。',
482
+ '太陽の微笑みがあなたを包み込む。影の世界の住人には、あまりにまぶしすぎる。',
483
+ ]
484
+ ),
485
+ 'HY' => DiceTable::Table.new(
486
+ '夜行列車シーン表',
487
+ '2D6',
488
+ [
489
+ '車内の灯りがすべて消える。停電か?それとも……。すべてが闇に覆われる。',
490
+ 'どうやらこの車輌は喫煙席のようだ。もうもうと煙がたちこめている。しかし、あなたたち以外に、客の姿は見えないのだが……?',
491
+ '気分を変えるために、食堂車に移動する。そこには「解体屋」を名乗る例の女性がいた。あなたにむかって、婉然とほほえみかけてくる。',
492
+ '……はッ!?夢か?いつの間にか眠っていたようだ。何か、悪夢を見ていたようなのだが……。',
493
+ '窓越しに通過する駅のホームが見える。しかし、その駅の名前をどうしても読むことができない。どうにも、日本語には見えないのだが……。',
494
+ 'ガタンガタンガタン……路線を走る音をぼんやりと聞いている。一体、この列車はどこに向かっているんだろう?',
495
+ '車内を照らす白熱灯に、羽虫がたかり、それに合わせるように光が明滅する。',
496
+ '髑髏のような細身の車掌あなたのチケットを確認すると、にたりと邪悪に微笑み、去って行った。',
497
+ '一等車輛はコンパートメントになっているようだ。コンパートメントの中からは、楽しげな親子の話し声が聞こえてくるが……?',
498
+ '「お弁当に、お茶……。」車内販売の少女がやってくる。しかし、そこで売られている食べ物や飲み物は、生き物の内臓のような器官やぐねぐねと蠢く触手、異様な毛の塊など異形のものばかり。《経済力》の判定に成功すると、好きな「忍具」1つを購入できる。',
499
+ '車輌の果てを確かめるため、延々扉をくぐっているが、いつまでたっても最前列(最後尾?)にたどりつかない。今、いったい何輌目だろうか?',
500
+ ]
501
+ ),
502
+ 'NTST' => DiceTable::Table.new(
503
+ '夏の終わりシーン表',
504
+ '2D6',
505
+ [
506
+ 'どこから紛れ込んできたのか。ナタを持った少女がこちらに迫ってくる。あっそぼうよぉ。シーンに登場したキャラクターは《刀術》で判定し、失敗すると接近戦ダメージを1点受ける。',
507
+ '暗い夜の森の中、月明かりのみが周囲を照らす。忍が動くにはいい時間だ。',
508
+ '鬱蒼と繁っていて少し涼しい森の中。ほんのひとときでもいい。使命を忘れて少し涼もうか。',
509
+ 'ほとんど人が出入りしない公民館。かろうじて扇風機は回っているが暑い。',
510
+ '山の斜面に立ち並ぶ墓石。踏み固められた周囲と墓前に供えられた小さな花束。こんな山中にも日々通う人がいるのだろうか。',
511
+ '村の広場。田畑が一望できる。夏の風物詩であるセミの鳴き声がうるさい。',
512
+ '澄み切った清流。冷たい飛沫が気持ちいい。森の中の穴場だ。',
513
+ '神秘的な神社。夏の終わりに向けて祭りの準備がされているが、今は人がいないようだ。',
514
+ '無人の廃屋が並び、不気味な雰囲気が漂う。廃屋の影から息を潜める何者かの気配を感じる。',
515
+ '村の上空。ここから眺めれば村など小さいものだ。',
516
+ 'カツーン、カツーン、誰かが丑の刻参りをしている音が聞こえる。シーンに登場したキャラクターは《呪術》で判定し、成功すると誰かに《呪い》の変調を与えることができる。失敗すると《呪い》の変調を受ける。',
517
+ ]
518
+ ),
519
+ 'PLST' => DiceTable::Table.new(
520
+ '培養プラントシーン表',
521
+ '1D6',
522
+ [
523
+ '培養槽。あなたそっくりの人間が謎の液体に浸かっている。あなたは本当に本物のあなただろうか?《記憶術》で判定を行い、失敗すると《忘却》の変調を受ける。',
524
+ '巨大なガラス管の中に冒涜的な生物が蠢く実験室。《意気》で判定を行い、失敗すると《マヒ》の変調を受ける。',
525
+ '試験管に浮かぶDr斜歯のクローン脳が大量にあるクローン施設。',
526
+ '各流派頭領が浮かぶ試験管。ランダムな特技を決定し判定を行う。決定した特技が自分の得意分野の場合、成功すると兵糧丸を1つ入手する。得意分野でない場合、失敗すると接近戦ダメージを1点受ける。',
527
+ '無人の実験室。中央には破壊された培養器があり、人とも獣ともつかない濡れた足跡が扉へと続いている。',
528
+ '美少年改造プラント。このシーンに登場した者は《変装術》で判定すること。成功した場合、美少年になることができる。',
529
+ ]
530
+ ),
531
+ 'FT' => DiceTable::Table.new(
532
+ 'ファンブル表',
533
+ '1D6',
534
+ [
535
+ '何か調子がおかしい。そのサイクルの間、すべての行為判定にマイナス1の修正がつく。',
536
+ 'しまった! 好きな忍具を1つ失ってしまう。',
537
+ '情報が漏れる! このゲームであなたが獲得した【秘密】は、他のキャラクター全員の知るところとなる。',
538
+ '油断した! 術の制御に失敗し、好きな【生命力】を1点失う。',
539
+ '敵の陰謀か? 罠にかかり、ランダムに選んだ変調1つを受ける。変調は、変調表で決定すること。',
540
+ 'ふう。危ないところだった。特に何も起こらない。',
541
+ ]
542
+ ),
543
+ 'KFT' => DiceTable::Table.new(
544
+ '怪ファンブル表',
545
+ '1D6',
546
+ [
547
+ '何か調子がおかしい。そのサイクルの間、すべての行為判定にマイナス1の修正がつく。',
548
+ 'しまった! 好きな忍具を1つ失ってしまう。',
549
+ '情報が漏れる! あなた以外のキャラクターは、あなたの持っている【秘密】か【居所】の中から、好きなものをそれぞれ一つ知ることができる。',
550
+ '油断した! 術の制御に失敗し、好きな【生命力】を1点失う。',
551
+ '敵の陰謀か? 罠にかかり、ランダムに選んだ変調一つを受ける。変調は、変調表で決定すること。',
552
+ 'ふう。危ないところだった。特に何も起こらない。',
553
+ ]
554
+ ),
555
+ 'ET' => DiceTable::Table.new(
556
+ '感情表',
557
+ '1D6',
558
+ [
559
+ '共感(プラス)/不信(マイナス)',
560
+ '友情(プラス)/怒り(マイナス)',
561
+ '愛情(プラス)/妬み(マイナス)',
562
+ '忠誠(プラス)/侮蔑(マイナス)',
563
+ '憧憬(プラス)/劣等感(マイナス)',
564
+ '狂信(プラス)/殺意(マイナス)',
565
+ ]
566
+ ),
567
+ 'WT' => DiceTable::Table.new(
568
+ '変調表',
569
+ '1D6',
570
+ [
571
+ '故障:すべての忍具が使用不能。1サイクルの終了時に、《絡繰術》で判定を行い、成功するとこの効果は無効化される。',
572
+ 'マヒ:修得済み特技がランダムに1つ使用不能になる。1サイクルの終了時に、《身体操術》で成功するとこの効果は無効化される。',
573
+ '重傷:次の自分の手番に行動すると、ランダムな特技分野1つの【生命力】に1点ダメージ。1サイクルの終了時に、《生存術》で成功すると無効化される。',
574
+ '行方不明:その戦闘終了後、メインフェイズ中に行動不可。1サイクルの終了時に、《経済力》で成功すると無効化される。',
575
+ '忘却:修得済み感情がランダムに1つ使用不能。1サイクルの終了時に、《記憶術》で成功すると無効化される。',
576
+ '呪い:修得済み忍法がランダムに1つ使用不能。1サイクルの終了時に、《呪術》で成功すると無効化される。',
577
+ ]
578
+ ),
579
+ 'KWT' => DiceTable::Table.new(
580
+ '怪変調表',
581
+ '1D6',
582
+ [
583
+ '故障:すべての忍具が使用不能になる。この効果は累積しない。各サイクルの終了時に、《絡繰術》で行為判定を行い、成功するとこの変調は無効化される。',
584
+ 'マヒ:修得している特技の中からランダムに一つを選び、その特技が使用不能になる。この効果は、修得している特技の数だけ累積する。各サイクルの終了時に、《身体操術l》で行為判定を行い、成功するとこの変調はすべて無効化される。',
585
+ '重傷:命中判定、情報判定、感情判定を行うたびに、接近戦ダメージを1点受ける。この効果は累積しない。各サイクルの終了時に、《生存術》で行為判定を行い、成功するとこの変調は無効化される。',
586
+ '行方不明:メインフェイズ中、自分以外がシーンプレイヤーのシーンに登場することができなくなる。この効果は累積しない。各サイクルの終了時に、《経済力》で行為判定を行い、成功するとこの変調は無効化される。',
587
+ '忘却:修得している【感情】の中からランダムに一つを選び、その【感情】を持っていないものとして扱う。この効果は、修得している【感情】の数だけ累積する。各サイクルの終了時に、《記憶術》で行為判定を行い、成功するとこの変調はすべて無効化される。',
588
+ '呪い:修得している忍法の中からランダムに一つを選び、その忍法を修得していないものとして扱う。この効果は、修得している忍法の数だけ累積する。各サイクルの終了時に、《呪術》で行為判定を行い、成功するとこの変調はすべて無効化される。',
589
+ ]
590
+ ),
591
+ 'GWT' => DiceTable::Table.new(
592
+ '戦国変調表',
593
+ '1D6',
594
+ [
595
+ '催眠:戦闘に参加した時、戦闘開始時、もしくはこの変調を受けた時に【生命力】を1点減少しないと、戦闘から脱落する。サイクル終了時に〈意気〉判定し成功すると無効化。',
596
+ '火達磨:ファンブル値が1上昇し、ファンブル時に1点の近接ダメージを受ける。シーン終了時に無効化。',
597
+ '猛毒:戦闘に参加した時、ラウンドの終了時にサイコロを1つ振る(飢餓と共用)。奇数だったら【生命力】を1減少。サイクル終了時に〈毒術〉判定し成功すると無効化。',
598
+ '飢餓:戦闘に参加した時、ラウンドの終了時にサイコロを1つ振る(猛毒と共用)。偶数だったら【生命力】を1減少。サイクル終了時に〈兵糧術〉判定し成功すると無効化。',
599
+ '残刃:回復判定、忍法、背景、忍具の効果による【生命力】回復無効。サイクル終了時に〈拷問術〉判定し成功すると無効化。',
600
+ '野望:命中判定に+1、それ以外の判定に-1。サイクル終了時に〈憑依術〉判定し成功すると無効化。',
601
+ ]
602
+ ),
603
+ 'BT' => DiceTable::Table.new(
604
+ '戦場表',
605
+ '1D6',
606
+ [
607
+ '平地:特になし。',
608
+ '水中:海や川や、プール、血の池地獄など。この戦場では、回避判定に-2の修正がつく。',
609
+ '高所:ビルの谷間や樹上、断崖絶壁など。この戦場でファンブルすると1点のダメージを受ける。',
610
+ '悪天候:嵐や吹雪、ミサイルの雨など。この戦場では、すべての攻撃忍法の間合が1上昇する。',
611
+ '雑踏:人混みや教室、渋滞中の車道など。この戦場では、行為判定のとき、2D6の目がプロット値+1以下だとファンブルする。',
612
+ '極地:宇宙や深海、溶岩、魔界など。ラウンドの終わりにGMが1D6を振り、経過ラウンド以下なら全員1点ダメージ。ここから脱落したものは変調表を適用する。',
613
+ ]
614
+ ),
615
+ }.freeze
616
+
617
+ # ランダム指定特技表
618
+ RANDOM_SKILL_TABLE = [
619
+ ['器術', ['絡繰術', '火術', '水術', '針術', '仕込み', '衣装術', '縄術', '登術', '拷問術', '壊器術', '掘削術']],
620
+ ['体術', ['騎乗術', '砲術', '手裏剣術', '手練', '身体操術', '歩法', '走法', '飛術', '骨法術', '刀術', '怪力']],
621
+ ['忍術', ['生存術', '潜伏術', '遁走術', '盗聴術', '腹話術', '隠形術', '変装術', '香術', '分身の術', '隠蔽術', '第六感']],
622
+ ['謀術', ['医術', '毒術', '罠術', '調査術', '詐術', '対人術', '遊芸', '九ノ一の術', '傀儡の術', '流言の術', '経済力']],
623
+ ['戦術', ['兵糧術', '鳥獣術', '野戦術', '地の利', '意気', '用兵術', '記憶術', '見敵術', '暗号術', '伝達術', '人脈']],
624
+ ['妖術', ['異形化', '召喚術', '死霊術', '結界術', '封術', '言霊術', '幻術', '瞳術', '千里眼の術', '憑依術', '呪術']],
625
+ ].freeze
626
+
627
+ # 異形表
628
+ METAMORPHOSE_TABLE = [
629
+ '1D6を振り、「妖魔忍法表A」で、ランダムに忍法の種類を決定する。妖魔化している間、その妖魔忍法を修得しているものとして扱う。この異形は、違う種類の妖魔忍法である限り、違う異形として扱う。',
630
+ '1D6を振り、「妖魔忍法表B」で、ランダムに忍法の種類を決定する。妖魔化している間、その妖魔忍法を修得しているものとして扱う。この異形は、違う種類の妖魔忍法である限り、違う異形として扱う。',
631
+ '1D6を振り、「妖魔忍法表C」で、ランダムに忍法の種類を決定する。妖魔化している間、その妖魔忍法を修得しているものとして扱う。この異形は、違う種類の妖魔忍法である限り、違う異形として扱う。',
632
+ '妖魔化している間、戦闘中、1ラウンドに使用できる忍法のコストが、自分のプロット値+3点になり、装備忍法の【揺音】を修得する。',
633
+ '妖魔化している間、【接近戦攻撃】によって与える接近戦ダメージが2点になる。',
634
+ '妖魔化している間、このキャラクターの攻撃に対する回避判定と、このキャラクターの奥義に対する奥義破り判定にマイナス1の修正がつく。'
635
+ ].freeze
636
+
637
+ # 妖魔忍法表A, B, C
638
+ DEMON_SKILL_TABLES = [
639
+ {
640
+ name: '妖魔忍法表A',
641
+ page: '(怪p.252)',
642
+ table: [
643
+ '【震々】',
644
+ '【神隠】',
645
+ '【夜雀】',
646
+ '【猟犬】',
647
+ '【逢魔時】',
648
+ '【狂骨】',
649
+ ]
650
+ },
651
+ {
652
+ name: '妖魔忍法表B',
653
+ page: '(怪p.253)',
654
+ table: [
655
+ '【野衾】',
656
+ '【付喪神】',
657
+ '【見越】',
658
+ '【木魂】',
659
+ '【鵺】',
660
+ '【生剥】',
661
+ ]
662
+ },
663
+ {
664
+ name: '妖魔忍法表C',
665
+ page: '(怪p.254)',
666
+ table: [
667
+ '【百眼】',
668
+ '【呑口】',
669
+ '【荒吐】',
670
+ '【怨霊】',
671
+ '【鬼火】',
672
+ '【蛭子】',
673
+ ]
674
+ }
675
+ ].freeze
676
+
677
+ register_prefix(['MT', 'RTT'] + TABLES.keys)
678
+ end
679
+ end
680
+ end