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,122 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BCDice
4
+ module GameSystem
5
+ class Fiasco_Korean < Base
6
+ # ゲームシステムの識別子
7
+ ID = 'Fiasco:Korean'
8
+
9
+ # ゲームシステム名
10
+ NAME = '피아스코'
11
+
12
+ # ゲームシステム名の読みがな
13
+ SORT_KEY = '国際化:Korean:피아스코'
14
+
15
+ # ダイスボットの使い方
16
+ HELP_MESSAGE = <<INFO_MESSAGE_TEXT
17
+ ・판정 커맨드(FSx, WxBx)
18
+ 관계, 비틀기 요소용(FSx):관계나 비틀기 요소를 위해 x개의 다이스를 굴려 나온 값별로 분류한다.
19
+ 흑백차이판정용(WxBx) :비틀기, 후기를 위해 흰 다이스(W지정)과 검은 다이스(B지정)으로 차이를 구한다.
20
+ ※ W와B는 한 쪽만 지정(Bx, Wx), 앞뒤 바꿔 지정(WxBx,BxWx)도 가능
21
+ INFO_MESSAGE_TEXT
22
+
23
+ COMMAND_TYPE_INDEX = 1
24
+
25
+ START_DICE_INDEX = 2
26
+
27
+ BW_FIRST_DICE_INDEX = 2
28
+ BW_SECOND_DICE_INDEX = 5
29
+ BW_SECOND_DICE_TAG_INDEX = 4
30
+
31
+ START_COMMAND_TAG = "FS"
32
+ W_DICEROLL_COMMAND_TAG = "W"
33
+ B_DICEROLL_COMMAND_TAG = "B"
34
+
35
+ register_prefix(['(FS|[WB])(\d+).*'])
36
+
37
+ def eval_game_system_specific_command(command)
38
+ m = /\A(FS|[WB])(\d+)(([WB])(\d+))?/.match(command)
39
+ unless m
40
+ return ''
41
+ end
42
+
43
+ type = m[COMMAND_TYPE_INDEX]
44
+ if type == START_COMMAND_TAG
45
+ return makeStartDiceRoll(m)
46
+ else
47
+ return makeWhiteBlackDiceRoll(type, m)
48
+ end
49
+ end
50
+
51
+ def makeStartDiceRoll(m)
52
+ dice = m[START_DICE_INDEX].to_i
53
+
54
+ dice_list = @randomizer.roll_barabara(dice, 6)
55
+
56
+ diceList = [0, 0, 0, 0, 0, 0]
57
+ dice_list.each do |takeDice|
58
+ diceList[takeDice - 1] += 1
59
+ end
60
+
61
+ return "1 => #{diceList[0]}개 2 => #{diceList[1]}개 3 => #{diceList[2]}개 4 => #{diceList[3]}개 5 => #{diceList[4]}개 6 => #{diceList[5]}개"
62
+ end
63
+
64
+ def makeWhiteBlackDiceRoll(type, m)
65
+ if type == W_DICEROLL_COMMAND_TAG
66
+ whiteTotal, whiteDiceText, blackTotal, blackDiceText = makeArgsDiceRoll(m[BW_FIRST_DICE_INDEX], m[BW_SECOND_DICE_INDEX])
67
+ result = "흰색#{whiteTotal}[#{whiteDiceText}]"
68
+ if blackDiceText
69
+ if m[BW_SECOND_DICE_TAG_INDEX] == W_DICEROLL_COMMAND_TAG
70
+ return "#{m}:흰색 지정(#{W_DICEROLL_COMMAND_TAG})은 중복될 수 없습니다."
71
+ end
72
+
73
+ result += " 검은색#{blackTotal}[#{blackDiceText}]"
74
+ end
75
+ elsif type == B_DICEROLL_COMMAND_TAG
76
+ blackTotal, blackDiceText, whiteTotal, whiteDiceText = makeArgsDiceRoll(m[BW_FIRST_DICE_INDEX], m[BW_SECOND_DICE_INDEX])
77
+ result = "검은색#{blackTotal}[#{blackDiceText}]"
78
+ if whiteDiceText
79
+ if m[BW_SECOND_DICE_TAG_INDEX] == B_DICEROLL_COMMAND_TAG
80
+ return "#{m}:검은색 지정(#{B_DICEROLL_COMMAND_TAG})은 중복될 수 없습니다."
81
+ end
82
+
83
+ result += " 흰색#{whiteTotal}[#{whiteDiceText}]"
84
+ end
85
+ else
86
+ return ''
87
+ end
88
+
89
+ if blackTotal > whiteTotal
90
+ return "#{result} > 검은색#{blackTotal - whiteTotal}"
91
+ elsif blackTotal < whiteTotal
92
+ return "#{result} > 흰색#{whiteTotal - blackTotal}"
93
+ end
94
+
95
+ return "#{result} > 0"
96
+ end
97
+
98
+ def makeArgsDiceRoll(firstDice, secondDice)
99
+ firstDice = firstDice.to_i
100
+ secondDice = secondDice&.to_i
101
+
102
+ secondTotal = 0
103
+
104
+ dice_list = @randomizer.roll_barabara(firstDice, 6)
105
+ firstTotal = dice_list.sum()
106
+ firstDiceText = dice_list.join(",")
107
+
108
+ if secondDice
109
+ if secondDice > 0
110
+ dice_list = @randomizer.roll_barabara(secondDice, 6)
111
+ secondTotal = dice_list.sum()
112
+ secondDiceText = dice_list.join(",")
113
+ else
114
+ secondDiceText = "0"
115
+ end
116
+ end
117
+
118
+ return firstTotal, firstDiceText, secondTotal, secondDiceText
119
+ end
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,1543 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BCDice
4
+ module GameSystem
5
+ class FilledWith < Base
6
+ # ゲームシステムの識別子
7
+ ID = 'FilledWith'
8
+
9
+ # ゲームシステム名
10
+ NAME = 'フィルトウィズ'
11
+
12
+ # ゲームシステム名の読みがな
13
+ SORT_KEY = 'ふいるとういす'
14
+
15
+ # ダイスボットの使い方
16
+ HELP_MESSAGE = <<~MESSAGETEXT
17
+ ・判定 (3FW@x#y<=z or z-3FW@x#y)
18
+ 3個の6面ダイスを振る判定。
19
+ @x:xにクリティカル値を入力。省略可。(省略時クリティカル値4)
20
+ #y:yにファンブル値を入力。省略可(省略時ファンブル値17)
21
+ <=z or z-:zに目標値を入力。±の計算に対応。省略可。
22
+ ・【必殺技!】 (HST)
23
+ ホムンクルス特技【必殺技!】表。
24
+ ・マジカルクッキング (COOKx)
25
+ マジカルクッキングのシェフのおすすめコース。
26
+ xにクッキングレベルを入力。(1-8)
27
+ ・ナンバーワンくじ (LOTN or LOTP)
28
+ LOTNでノーマルくじ、LOTPでプレミアムくじ。(GURPS-FW版)
29
+ ----------夢幻の迷宮用----------
30
+ ・共通書式
31
+ a:aに地形(1-6の数字)を入力。省略可。(省略時ランダム決定)
32
+ (1:洞窟 2:遺跡 3:山岳 4:水辺 5:森林 6:墓場)
33
+ d:dに難易度を入力。(E:初級 N:中級 H:上級 L:悪夢)
34
+ ・ランダムイベント表 (RANDda)
35
+ ・ランダムエンカウント表 (RENCda)
36
+ ・エネミーデータ表 (REDde)
37
+ エネミーデータ参照表。
38
+ GMがシークレットダイスで参照するとPLに知られずにエネミーデータを参照可能。
39
+ e:3桁のイベントダイスを入力(D666の結果)。
40
+ ・トラップ表 (TRAPd)
41
+ ・財宝表 (TRSr±x)
42
+ r:rに財宝ランクを入力。
43
+ ±x:xに財宝ランク修正値を入力。省略可。
44
+ ・迷宮追加オプション表(ROPd)
45
+ MESSAGETEXT
46
+
47
+ register_prefix(['3FW.*', '[\+\-\d]*-3FW.*', 'LOT[NP]', 'HST', 'COOK[1-8]', 'RAND.*', 'RENC.*', 'RED.*', 'TRS.*', 'TRAP[ENHL]', 'ROP[ENHL]'])
48
+
49
+ def initialize(command)
50
+ super(command)
51
+ @enabled_d66 = true
52
+ @d66_sort_type = D66SortType::NO_SORT; # d66の差し替え
53
+ end
54
+
55
+ def eval_game_system_specific_command(command)
56
+ # ダイスロールコマンド
57
+ result = checkRoll(command)
58
+ return result unless result.nil?
59
+
60
+ tableName = ""
61
+ number = 0
62
+
63
+ # 各種コマンド
64
+ case command
65
+ when /LOT(N|P)/
66
+ type = Regexp.last_match(1)
67
+ if type == "P"
68
+ tableName = "ナンバーワンプレミアムくじ"
69
+ else
70
+ tableName = "ナンバーワンノーマルくじ"
71
+ end
72
+ result, number = getLotResult(type)
73
+
74
+ when "HST"
75
+ tableName = "【必殺技!】"
76
+ result, number = getSpecialResult
77
+
78
+ when /COOK([1-8])/
79
+ lv = Regexp.last_match(1).to_i
80
+ tableName = "マジカルクッキング"
81
+ result, number = getCookResult(lv)
82
+
83
+ when /TRAP[ENHL]/
84
+ return getTrapResult(command)
85
+
86
+ when /TRS.*/i
87
+ return getTresureResult(command)
88
+
89
+ when /RAND.*/
90
+ return getRandomEventResult(command)
91
+
92
+ when /RENC.*/
93
+ return getRandomEventResult(command)
94
+
95
+ when /RED.*/i
96
+ return getRandomEnemyDataResult(command)
97
+
98
+ when /ROP[ENHL]/
99
+ return getRandomOptionResult(command)
100
+
101
+ else
102
+ return nil
103
+ end
104
+
105
+ return "#{tableName}(#{number}):#{result}"
106
+ end
107
+
108
+ def checkRoll(command)
109
+ crt = 4
110
+ fmb = 17
111
+
112
+ if command =~ /(\d[\+\-\d]*)-(\d+)FW(\@(\d+))?(\#(\d+))?/i
113
+ difficultyText = Regexp.last_match(1)
114
+ diceCount = Regexp.last_match(2).to_i
115
+ crt = Regexp.last_match(4).to_i unless Regexp.last_match(3).nil?
116
+ fmb = Regexp.last_match(6).to_i unless Regexp.last_match(5).nil?
117
+ elsif command =~ /(\d+)FW(\@(\d+))?(\#(\d+))?(<=([\+\-\d]*))?/i
118
+ diceCount = Regexp.last_match(1).to_i
119
+ crt = Regexp.last_match(3).to_i unless Regexp.last_match(2).nil?
120
+ fmb = Regexp.last_match(5).to_i unless Regexp.last_match(4).nil?
121
+ difficultyText = Regexp.last_match(7)
122
+ else
123
+ return nil
124
+ end
125
+
126
+ # 目標値の計算
127
+ difficulty = getValue(difficultyText, nil)
128
+
129
+ # ダイスロール
130
+ dice_list = @randomizer.roll_barabara(diceCount, 6)
131
+ dice = dice_list.sum()
132
+ dice_str = dice_list.join(",")
133
+
134
+ # 出力用ダイスコマンドを生成
135
+ command = "#{diceCount}FW"
136
+ command += "@#{crt}" unless crt == 4
137
+ command += "##{fmb}" unless fmb == 17
138
+ command += "<=#{difficulty}" unless difficulty.nil?
139
+
140
+ # 出力文の生成
141
+ result = "(#{command}) > #{dice}[#{dice_str}]"
142
+
143
+ # クリティカル・ファンブルチェック
144
+ if dice <= crt
145
+ result += " > クリティカル!"
146
+ elsif dice >= fmb
147
+ result += " > ファンブル!"
148
+ else
149
+ # 成否判定
150
+ unless difficultyText.nil?
151
+ success = difficulty - dice
152
+ if dice <= difficulty
153
+ result += " > 成功(成功度:#{success})"
154
+ else
155
+ result += " > 失敗(失敗度:#{success})"
156
+ end
157
+ end
158
+ end
159
+
160
+ return result
161
+ end
162
+
163
+ def getValue(text, defaultValue)
164
+ return defaultValue if text.nil? || text.empty?
165
+
166
+ ArithmeticEvaluator.eval(text)
167
+ end
168
+
169
+ def getAdjustNumber(number, table)
170
+ min = table.first.first
171
+ return min if number < min
172
+
173
+ max = table.last.first
174
+ return max if number > max
175
+
176
+ return number
177
+ end
178
+
179
+ # 必殺技表
180
+ def getSpecialResult
181
+ table = [
182
+ '[命中]判定に出目[1,1,1]でクリティカル。更に致傷力に「SLv×20」のボーナスを得る。',
183
+ '[命中]判定と致傷力に「SLv×10」のボーナスを得る。',
184
+ '致傷力に「SLv×10」のボーナスを得る。',
185
+ '攻撃が命中するとバッドステータス「転倒」を与える。',
186
+ '通常攻撃。',
187
+ '[命中]判定に[6,6,6]でファンブル。更に、使用者がバッドステータス「転倒」を受ける。',
188
+ ]
189
+ return get_table_by_1d6(table)
190
+ end
191
+
192
+ # マジカルクッキング
193
+ def getCookResult(lv)
194
+ cook(lv, "")
195
+ end
196
+
197
+ def cook(lv, num)
198
+ case lv
199
+ when 1
200
+ table = [
201
+ 'おべんとミートボール',
202
+ 'パリパリ小魚',
203
+ 'キャロットタルト',
204
+ 'おにぎり',
205
+ lambda { return cook(2, 5) },
206
+ lambda { return cook(2, 6) },
207
+ ]
208
+ when 2
209
+ table = [
210
+ 'カリカリミミズ肉',
211
+ '竹つきチクワ',
212
+ 'トロピカルジュース',
213
+ 'イナリ寿司',
214
+ lambda { return cook(3, 5) },
215
+ lambda { return cook(3, 6) },
216
+ ]
217
+ when 3
218
+ table = [
219
+ 'ホットミートパイ',
220
+ '魔界魚の目玉',
221
+ 'パンプキンプリン',
222
+ 'スタミナ丼',
223
+ lambda { return cook(4, 5) },
224
+ lambda { return cook(4, 6) },
225
+ ]
226
+ when 4
227
+ table = [
228
+ 'ジャンボ串焼き',
229
+ 'シルヴァまっしぐら',
230
+ 'フラウアイスクリーム',
231
+ 'ピクニックランチ',
232
+ lambda { return cook(5, 5) },
233
+ lambda { return cook(5, 6) },
234
+ ]
235
+ when 5
236
+ table = [
237
+ 'グラント風香草焼き',
238
+ 'エドマエスシ',
239
+ 'スターフルーツパフェ',
240
+ '具沢山本格カレー',
241
+ lambda { return cook(6, 5) },
242
+ lambda { return cook(6, 6) },
243
+ ]
244
+ when 6
245
+ table = [
246
+ 'ドラゴンステーキ',
247
+ '刺身盛り合わせ',
248
+ 'エデンのアップルパイ',
249
+ 'フォートレス炒飯',
250
+ lambda { return cook(7, 5) },
251
+ lambda { return cook(7, 6) },
252
+ ]
253
+ when 7
254
+ table = [
255
+ 'マツザカスペシャル',
256
+ 'オオトロスシ',
257
+ 'スノーホワイトボンブ',
258
+ 'よもつへぐい',
259
+ lambda { return cook(8, 5) },
260
+ lambda { return cook(8, 6) },
261
+ ]
262
+ when 8
263
+ table = [
264
+ '超特大マンガ肉',
265
+ '特上うな丼',
266
+ '魔将樹のかき氷',
267
+ 'ヘブンズランチ',
268
+ lambda { return cook(9, 5) },
269
+ lambda { return cook(9, 6) },
270
+ ]
271
+ when 9
272
+ table = [
273
+ '世界樹のサラダ',
274
+ '世界樹のサラダ',
275
+ '世界樹のサラダ',
276
+ '黄金のラダマン鍋',
277
+ '黄金のラダマン鍋',
278
+ '黄金のラダマン鍋',
279
+ ]
280
+ end
281
+
282
+ result, number = get_table_by_1d6(table)
283
+ if result.class.name == "Array"
284
+ number = result[1]
285
+ result = result[0]
286
+ end
287
+ number = "#{num}#{number}"
288
+ return result, number
289
+ end
290
+
291
+ # フィルトウィズナンバーワンくじ(GURPS-FW版)
292
+ def getLotResult(type)
293
+ if type == "P"
294
+ premium(1, "")
295
+ else
296
+ normal(1, "")
297
+ end
298
+ end
299
+
300
+ # ノーマルくじ表
301
+ def normal(phase, num)
302
+ case phase
303
+ when 1
304
+ table = [
305
+ 'イレブンチキン',
306
+ 'イレブンチキン',
307
+ 'イレブンチキン',
308
+ lambda { return normal(2, 4) },
309
+ lambda { return normal(2, 5) },
310
+ lambda { return normal(3, 6) },
311
+ ]
312
+ when 2
313
+ table = [
314
+ 'バロールたわし',
315
+ 'イグニスジッポ',
316
+ 'ヤコ仮面or梟の文鎮(選択可)',
317
+ 'ナレッジのハンモックorジンジャビースト',
318
+ lambda { return normal(3, 5) },
319
+ lambda { return normal(3, 6) },
320
+ ]
321
+ when 3
322
+ table = [
323
+ '特性HPポーション',
324
+ '特性MPポーション',
325
+ '黒い甲冑',
326
+ '天体望遠鏡',
327
+ '金獅子の剥製',
328
+ lambda { return normal(4, 6) },
329
+ ]
330
+ when 4
331
+ table = [
332
+ '特性スタミナポーション',
333
+ '戦乙女の兜',
334
+ 'フェンリルの首輪',
335
+ 'フェニックスカーペット',
336
+ '動くアダマンゴーレム',
337
+ lambda { return normal(5, 6) },
338
+ ]
339
+ when 5
340
+ table = [
341
+ 'キャンディークッション',
342
+ '屑鉄の金床',
343
+ '薪割り王の斧',
344
+ 'ロジエの水差し',
345
+ '箱舟の模型',
346
+ lambda { return premium(5, 6) },
347
+ ]
348
+ end
349
+
350
+ result, number = get_table_by_1d6(table)
351
+ if result.class.name == "Array"
352
+ number = result[1]
353
+ result = result[0]
354
+ end
355
+ number = "#{num}#{number}"
356
+ return result, number
357
+ end
358
+
359
+ # プレミアムくじ表
360
+ def premium(phase, num)
361
+ case phase
362
+ when 1
363
+ table = [
364
+ 'プレミアムチキン',
365
+ 'プレミアムチキン',
366
+ 'プレミアムチキン',
367
+ lambda { return normal(3, 4) },
368
+ lambda { return premium(2, 5) },
369
+ lambda { return premium(2, 6) },
370
+ ]
371
+ when 2
372
+ table = [
373
+ '親衛隊バッジ',
374
+ 'ハタモトチャブダイ',
375
+ '星のコンパス',
376
+ '白銀の甲冑',
377
+ lambda { return normal(4, 5) },
378
+ lambda { return premium(3, 6) },
379
+ ]
380
+ when 3
381
+ table = [
382
+ '特性クイックHPポーション',
383
+ '特性クイックMPポーション',
384
+ '特製クイックスタミナポーション',
385
+ '火龍のフィギュアor氷龍のフィギュア(選択可)',
386
+ 'ヒメショーグンドレス',
387
+ lambda { return premium(4, 6) },
388
+ ]
389
+ when 4
390
+ table = [
391
+ 'クイックユグドラポーション',
392
+ '銀河龍のフィギュア/ドラゴン',
393
+ '銀河龍のフィギュア/魔族',
394
+ '魔族チェスセット',
395
+ 'イグニスコンロ',
396
+ lambda { return premium(5, 6) },
397
+ ]
398
+ when 5
399
+ table = [
400
+ 'グレヴディバリウス',
401
+ '天使の望遠鏡orデスの目覚まし時計(選択可)',
402
+ '世界樹の蔦',
403
+ '死神の飾りドレス',
404
+ 'ザバーニヤ等身大フィギュア',
405
+ lambda { return premium(6, 6) },
406
+ ]
407
+ when 6
408
+ table = [
409
+ 'イレブンチキン',
410
+ 'イレブンチキン(2ピース)',
411
+ 'イレブンチキン(3ピース)',
412
+ 'イレブンチキン(6ピース)',
413
+ 'イレブンチキン(12ピース)',
414
+ 'wish star',
415
+ ]
416
+ end
417
+
418
+ result, number = get_table_by_1d6(table)
419
+ if result.class.name == "Array"
420
+ number = result[1]
421
+ result = result[0]
422
+ end
423
+ number = "#{num}#{number}"
424
+ return result, number
425
+ end
426
+
427
+ # 夢幻の迷宮財宝表
428
+ def getTresureResult(command)
429
+ return nil unless command =~ /TRS(\d+)([\+\-]\d)?/
430
+
431
+ rank = Regexp.last_match(1).to_i
432
+ modify = Regexp.last_match(2).to_i
433
+
434
+ tableName = "財宝表"
435
+
436
+ rank += modify unless modify.nil?
437
+ rank = 0 if rank < 0
438
+ rank = 10 if rank > 10
439
+
440
+ case rank
441
+ when 0
442
+ table = [
443
+ 'HPポーション(消耗品)',
444
+ 'FPポーション(消耗品)',
445
+ 'マジックパウダー:火(消耗品)',
446
+ 'マジックパウダー:氷(消耗品)',
447
+ 'マジックパウダー:雷(消耗品)',
448
+ '500GP',
449
+ ]
450
+
451
+ when 1
452
+ table = [
453
+ '高級HPポーション(消耗品)',
454
+ '高級FPポーション(消耗品)',
455
+ '高級抵抗ポーション(消耗品)',
456
+ '高級鉄壁ポーション(消耗品)',
457
+ 'マジックパウダー:火、氷、雷の3点セット(消耗品)',
458
+ '1000GP',
459
+ ]
460
+
461
+ when 2
462
+ table = [
463
+ '鈴のお守り(装飾品)',
464
+ '盗賊の小手(装飾品)',
465
+ '狩人の羽帽子(装飾品)',
466
+ '狙撃手の指貫(装飾品)',
467
+ '「スタミナバンド」「健康お守り」「レザーマント」3点セット',
468
+ '2000GP',
469
+ ]
470
+
471
+ when 3
472
+ table = [
473
+ '最高級HPポーション(消耗品)',
474
+ '最高級FPポーション(消耗品)',
475
+ '最高級抵抗ポーション(消耗品)',
476
+ '任意の装飾品1つ(3000GPまでのもの)',
477
+ 'アタッチメント割引券(全員に1枚)',
478
+ 'GP',
479
+ ]
480
+
481
+ when 4
482
+ table = [
483
+ '任意の「ミスリル」武器1つ',
484
+ 'ミスリルシールド(盾)',
485
+ 'ミスリルメイル(鎧)',
486
+ '任意の装飾品1つ(5000GPまでのもの)',
487
+ 'アタッチメント割引券(全員に2枚)',
488
+ '5000GP',
489
+ ]
490
+
491
+ when 5
492
+ table = [
493
+ '任意の武器1つ(10000GPまでのもの)',
494
+ '任意の盾1つ(10000GPまでのもの)',
495
+ '任意の鎧1つ(10000GPまでのもの)',
496
+ '最高級HPポーション(人数分)',
497
+ '任意の装飾品1つ(10000GPまでのもの)',
498
+ '7500GP',
499
+ ]
500
+
501
+ when 6
502
+ table = [
503
+ '任意の武器1つ(15000GPまでのもの)',
504
+ '任意の盾1つ(15000GPまでのもの)',
505
+ '任意の鎧1つ(15000GPまでのもの)',
506
+ '任意の装飾品1つ(15000GPまでのもの)',
507
+ '最高級FPポーション(人数分)',
508
+ '10000GP',
509
+ ]
510
+
511
+ when 7
512
+ table = [
513
+ '任意の武器1つ(30000GPまでのもの)',
514
+ '任意の盾1つ(30000GPまでのもの)',
515
+ '任意の鎧1つ(30000GPまでのもの)',
516
+ '任意の装飾品1つ(30000GPまでのもの)',
517
+ '蘇生ポーション(消耗品)',
518
+ '20000GP',
519
+ ]
520
+
521
+ when 8
522
+ table = [
523
+ '任意の武器1つ(60000GPまでのもの)',
524
+ '任意の盾1つ(60000GPまでのもの)',
525
+ '任意の鎧1つ(60000GPまでのもの)',
526
+ '任意の装飾品1つ(60000GPまでのもの)',
527
+ '蘇生ポーション(装飾品)+アタッチメント割引券10枚(割引券は人数分)',
528
+ '40000GP',
529
+ ]
530
+
531
+ when 9
532
+ table = [
533
+ '任意の武器1つ(100000GPまでのもの)',
534
+ '任意の盾1つ(100000GPまでのもの)',
535
+ '任意の鎧1つ(100000GPまでのもの)',
536
+ '任意の装飾品1つ(100000GPまでのもの)',
537
+ '蘇生ポーション(装飾品)+アタッチメント割引券20枚(割引券は人数分)',
538
+ '60000GP',
539
+ ]
540
+
541
+ when 10
542
+ table = [
543
+ '任意の武器1つ(150000GPまでのもの)',
544
+ '任意の盾1つ(150000GPまでのもの)',
545
+ '任意の鎧1つ(150000GPまでのもの)',
546
+ '任意の装飾品1つ(200000GPまでのもの)',
547
+ '蘇生ポーション(装飾品)+アタッチメント割引券30枚(割引券は人数分)',
548
+ '黄金の守護者の証(装飾品)(【ハッキング】があれば黄金の電子暗号キー(装飾品)も追加)',
549
+ ]
550
+
551
+ else
552
+ return nil
553
+ end
554
+
555
+ result, number = get_table_by_1d6(table)
556
+
557
+ return "#{tableName}(#{number}):#{result}"
558
+ end
559
+
560
+ # 夢幻の迷宮トラップ表
561
+ def getTrapResult(command)
562
+ return nil unless command =~ /TRAP(E|N|H|L)/
563
+
564
+ dif = Regexp.last_match(1)
565
+ tableName = "トラップ表"
566
+
567
+ case dif
568
+ when "E"
569
+ difficultyText = "初級"
570
+ difficulty = 0
571
+
572
+ when "N"
573
+ difficultyText = "中級"
574
+ difficulty = 1
575
+
576
+ when "H"
577
+ difficultyText = "上級"
578
+ difficulty = 2
579
+
580
+ when "L"
581
+ difficultyText = "悪夢"
582
+ difficulty = 3
583
+
584
+ else
585
+ return nil
586
+ end
587
+
588
+ table = [
589
+ "トライディザスター:宝箱から広範囲に火炎・冷気・電撃が放たれる罠。PC全員に「3D+#{[3, 50, 70, 100][difficulty]}」の「火炎」「冷気」「電撃」属性ダメージ。",
590
+ "ペトロブラスター:広範囲に石化光線を放つ罠。PC全員[抵抗-#{[2, 4, 6, 8][difficulty]}]判定を行い、失敗したPCはBS「石化」を受ける。",
591
+ "クロスボウストリーム:宝箱から矢の嵐が放たれる罠。PC全員に「3D+#{[20, 40, 60, 90][difficulty]}」の「刺突」属性ダメージ。「ドッジ-#{[4, 6, 8, 10][difficulty]}」で[回避]が可能。",
592
+ "フォーチュンイーター:PC全員の幸運を食らい、Ftを#{[1, 2, 3, 4][difficulty]}点減少させる。Ftが0の場合「3D+#{[30, 50, 70, 100][difficulty]}」点の防護点無視ダメージ。",
593
+ "スロット:解除に失敗しても害はないが、スロットが揃うまで開かない宝箱。スロットを1回まわすには#{[100, 300, 600, 1000][difficulty]}GPが必要。行動を消費して[感覚-#{[4, 6, 8, 10][difficulty]}]判定に成功すればスロットは揃う。有利な特異点「ビビット反射」があれば判定に+4のボーナス。",
594
+ "テレポーター:PC全員(とエンカウントしているエネミー)を転送して道に迷わせる。「財宝ランク」が1段階減少する。",
595
+ "アイスコフィン:宝箱を開けようとしたキャラクターを氷漬けにする罠。対象1体に「3D+#{[30, 50, 70, 100][difficulty]}」の「冷気」属性ダメージ。更にFPにも#{[5, 10, 15, 20][difficulty]}点の防護点無視ダメージ。",
596
+ "クロスボウ:宝箱を開けようとしたキャラクターに強力な矢が放たれる罠。対象1体に「3D+#{[20, 40, 60, 90][difficulty]}」の「刺突」属性ダメージ。「ドッジ-#{[4, 6, 8, 10][difficulty]}」",
597
+ "毒針:宝箱を開けようとしたキャラクターに毒針を突き刺す罠対象1体に#{[15, 30, 45, 60][difficulty]}点の防護点無視ダメージ。更に[抵抗-#{[4, 6, 8, 10][difficulty]}]判定に失敗するとシナリオ終了まであらゆる判定に-2のペナルティ。",
598
+ "アラーム:即座にその地形のエンカウント表を振って、それに対応したエネミーが出現する。出現したエネミーはそのターンから行動順に組み込まれる。出現するエネミー以外の記述は無視する。",
599
+ "殺人鬼の斧:宝箱を開けようとしたキャラクターに斧が振り下ろされる罠。対象1体に「3D+#{[30, 50, 70, 100][difficulty]}」の「打撃」「斬撃」属性ダメージ。「ドッジ-#{[4, 6, 8, 10][difficulty]}」か「シールド-#{[4, 6, 8, 10][difficulty]}」で[回避]が可能。",
600
+ "死神:宝箱を開けようとしたキャラクターに死神を取り憑かせる罠。4ラウンド目が終了するまであらゆる判定に-3のペナルティを受け、4ラウンド目の終了と同時に「3D+#{[30, 50, 70, 100][difficulty]}」の防護点無視ダメージ。",
601
+ "幻の宝:宝箱に偽の財宝を入れ、本物の財宝を入手させない罠。トラップが発動すると価値の無い偽の宝物「幻の宝」を入手してしまう。「幻の宝」はアイテム欄を3つ占有し、シナリオ終了まで捨てられない。アイテム欄に空きがない場合は、何かを捨てて誰かが必ず持たなくてはならない。",
602
+ "エクスプロージョン:宝箱が大爆発を起こし、中身を粉々にしてしまう罠。宝箱の中身は消滅する。PC全員に「3D+#{[10, 30, 50, 80][difficulty]}」の「打撃」「火炎」属性ダメージ。",
603
+ "レインボーポイズン:宝箱から七色の毒ガスが放たれる罠。PC全員に「3D+#{[10, 30, 45, 60][difficulty]}」の防護点無視ダメージ。更にシナリオ終了まであらゆる判定に-2のペナルティ。[抵抗-#{[4, 6, 8, 10][difficulty]}]判定に成功すれば無効。",
604
+ "デスクラウド:宝箱から致死性の毒ガスを放つ罠。PC全員を即死させる。[抵抗-#{[2, 4, 6, 8][difficulty]}]判定に成功すれば無効。",
605
+ ]
606
+
607
+ result, number = get_table_by_nD6(table, 3)
608
+
609
+ return "#{tableName}<#{difficultyText}>(#{number}):#{result}"
610
+ end
611
+
612
+ # 夢幻の迷宮追加オプション表
613
+ def getRandomOptionResult(command)
614
+ return nil unless command =~ /ROP(E|N|H|L)/
615
+
616
+ dif = Regexp.last_match(1)
617
+ tableName = "迷宮追加オプション表"
618
+
619
+ case dif
620
+ when "E"
621
+ difficultyText = "初級"
622
+ difficulty = 0
623
+
624
+ when "N"
625
+ difficultyText = "中級"
626
+ difficulty = 1
627
+
628
+ when "H"
629
+ difficultyText = "上級"
630
+ difficulty = 2
631
+
632
+ when "L"
633
+ difficultyText = "悪夢"
634
+ difficulty = 3
635
+
636
+ else
637
+ return nil
638
+ end
639
+
640
+ table = [
641
+ [11, "黄金の迷宮(財宝ランク+2):全てが黄金で彩られた迷宮。財宝ランクが大きく上昇する。"],
642
+ [12, "密林の迷宮(財宝ランク+1):密林の中にひっそりとたたずむ迷宮。分類が「魔獣」「獣人」「霊獣」のエネミーが行うあらゆる判定に+2のボーナス。"],
643
+ [13, "カラクリの迷宮:複雑なカラクリが周囲で絶え間なく動いている迷宮。分類「ギア」のエネミーが行うあらゆる判定に+2のボーナス。クリア時に「アタッチメント割引券」を全員が#{[1, 2, 3, 5][difficulty]}枚獲得。"],
644
+ [14, "フラウの舞踏会:あちこちに花畑のある迷宮。フラウが発生するランダムイベントが発生した際、「この迷宮を制覇して、私達が舞踏会を開けるようにしてね」とお願いされ、クリア時の報酬に#{['「キノコの帽子」(装飾品)', '「猛毒の花」(装飾品)', '「フルブロウン」(鎧)', '「緊急召喚の宝珠」(装飾品)'][difficulty]}が追加される。"],
645
+ [15, "アズマ風の迷宮:風流なアズマ風の迷宮。武器に「刀」を持つエネミーが行うあらゆる判定に+2のボーナス。クリア時に「アタッチメント割引券」を全員が#{[1, 2, 3, 5][difficulty]}枚獲得。"],
646
+ [16, "枯れた泉の迷宮:「全地形1-1」の回復の泉が全て枯れており、回復効果を得ることができない。「断崖1-6」の貴重な水源や、「水辺1-6」の毒の泉などはそのまま存在する。"],
647
+
648
+ [21, "天空への道(財宝ランク+1):上へ上へと果てしなく登っていく迷宮。空気が薄くなって疲労しやすくなる。【特技】特技などによるFP消費が全て+3。"],
649
+ [22, "灼熱焦土の迷宮(財宝ランク+1):とてつもなく暑く、あちこちで炎が燃え盛る迷宮。エネミーが行う「火炎」属性を含む攻撃の致傷力に+#{[10, 20, 30, 50][difficulty]}のボーナス。"],
650
+ [23, "灼熱焦土の迷宮(財宝ランク+1):とてつもなく寒く、気温が氷点下の迷宮。エネミーが行う「冷気」属性を含む攻撃の致傷力に+#{[10, 20, 30, 50][difficulty]}のボーナス。"],
651
+ [24, "盗賊王の迷宮:迷宮内での罠や鍵を解除する[感覚]判定に-3のペナルティ。4ラウンドまでに出現した宝箱の「財宝ランク」+1。"],
652
+ [25, "ミミック狂暴化:「全地形2-5」のミミックの致傷力に+#{[20, 30, 50, 80][difficulty]}のボーナス。ミミックを見破った場合に得られるGPが#{[500, 1000, 3000, 5000][difficulty]}GP増加する。"],
653
+ [26, "トレジャーイーター狂暴化:「全地形2-6」のトレジャーイーターを見破る[感覚]判定に-3のペナルティ。4ラウンドまでに出現した宝箱の「財宝ランク」+1。"],
654
+
655
+ [31, "暗闇の迷宮:どこもかしこも真っ暗な迷宮。「猫の目」がなければ視覚に関する[感覚]判定に-5のペナルティ。"],
656
+ [32, "騒音の迷宮:常に大音量で謎の音楽(BGM)が鳴っている迷宮。聴覚に関する[感覚]判定に-5のペナルティ。"],
657
+ [33, "未知の怪物の迷宮(財宝ランク+1):エネミーの姿がシルエットのみになる迷宮。エネミーのデータがいかなる手段でも判明させられなくなる。(通常通り[HP][FP][先制]は判明する)"],
658
+ [34, "氾濫中の迷宮:大雨が降っており、川などが氾濫している迷宮。水泳を行う際の[敏捷]判定に-5のペナルティ。「森林3-6」の山火事イベントの効果は無視できる。"],
659
+ [35, "間抜けの迷宮(財宝ランク+1):頭がおかしくなりそうな極彩色の迷宮。[知力][意志]判定に-2のペナルティ。[知力]や[意志]そのものが下がるわけではない。"],
660
+ [36, "瘴気の迷宮(財宝ランク+1):生命力を奪う紫の霧で満ちた迷宮。"],
661
+
662
+ [41, "加速する迷宮:狂ったように針の動く時計が多数された迷宮。「CT:安息の日」以外の【特技】が「CT:なし」になる。"],
663
+ [42, "停滞する迷宮(財宝ランク+1):動かない時計が多数設置された迷宮。「CT:安息の日」以外のCTの存在する【特技】が「CT:シナリオ終了」になる。この効果はシナリオ終了まで持続する。"],
664
+ [43, "猛毒の迷宮(財宝ランク+1):見るからに毒々しい紫色の沼があちこちにある迷宮。エネミーが行う、名称に「毒」もしくは「ポイズン」が入る【特技】や、名称に「毒」もしくは「ポイズン」が入るトラップの致傷力に+#{[10, 20, 40, 50][difficulty]}のボーナス。"],
665
+ [44, "死の迷宮(財宝ランク+2):死の運命から逃れることのできない、血まみれの迷宮。「生命保険証」の効果が適用されない。"],
666
+ [45, "幸運の迷宮:何者かの加護を感じる迷宮。PC全員のFtの最大値と現在値に+1のボーナス。この効果はシナリオ終了まで持続する。"],
667
+ [46, "不運の迷宮:PC全員のFt最大値と現在値に-1のペナルティ。この効果はシナリオ終了まで持続する。"],
668
+
669
+ [51, "レアメタルの迷宮:非常にレアなエネミー「レアメタルキャンディー」「レアメタルクラウン」が生息している迷宮。キャンディークラウン(CL40)、ゴールデンクラウン(CL177)から獲得できる通常ドロップのGPが5倍になる。"],
670
+ [52, "魔力の泉:PCとエネミーの双方が、[FP]を消費せずに【魔法】を使用できるようになる。最終的な消費[FP]が最大[FP]より大きい【魔法】は使用できない。"],
671
+ [53, "ブルーの迷宮:陰鬱な気分になり、他のキャラクターと関わる気力を失う。PC全員が不利な特異点「嫌な奴」を1段階得る。"],
672
+ [54, "レッドの迷宮:なぜか興奮して非常に好戦的になる。PC全員が不利な特異点「脳みそ筋肉」を得る。交戦中に「1:回復系」のイベントが発生しても戦闘を終了させることができない。"],
673
+ [55, "ピンクの迷宮:なんだか身近な異性(同性も?)が気になって仕方なくなる。PC全員が不利な特異点「英雄色を好む」を得る。魔族も戦闘意欲を失い、「分類:魔族」のエネミーが出現するイベントは無視する。"],
674
+ [56, "ハズレの迷宮(財宝ランク-1):ツギハギだらけの壁などでできた、ハリボテのような貧相な迷宮。宝箱の中身もなんだか貧相になる。"],
675
+
676
+ [61, "ラダマンティスの迷宮(財宝ランク+2):第一魔将ラダマンティスの像が入口に設置された迷宮。全てのエネミーが行うあらゆる判定に+2のボーナス。また、「遺跡6-6」のイベントのダメージ+#{[20, 40, 60, 80][difficulty]}。"],
677
+ [62, "グレイヴディガーの迷宮(財宝ランク+2):第二魔将グレイブディガーの像が入口に設置された迷宮。「分類:アンデッド」のエネミーが行うあらゆる判定に+5のボーナス。"],
678
+ [63, "ハイペリオンの迷宮(財宝ランク+2):第三魔将ハイペリオンの像が入口に設置された迷宮。全てのエネミーが「ターン開始」時に[HP]を全回復する。"],
679
+ [64, "ムスペルニヴルの迷宮(財宝ランク+2):勇ましくも美しい女性の像が設置された迷宮。エネミーが行う「火炎」もしくは「冷気」属性を含む攻撃の致傷力に+#{[20, 40, 60, 80][difficulty]}のボーナス。"],
680
+ [65, "ウェルスの迷宮:人懐っこそうなアズマ風の青年が設置された迷宮。シナリオ上で第五魔将の正体が明らかに鳴っている場合のみ、PC全員のFtの最大値と現在値に+5のボーナス。この効果はシナリオ終了まで持続する。"],
681
+ [66, "バロールの迷宮(財宝ランク+2):第六魔将バロールの像が入口に設置された迷宮。「分類:ギア」のエネミーが行うあらゆる判定に+5のボーナス。"],
682
+ ]
683
+
684
+ result, number = get_table_by_d66(table)
685
+ _, result = result
686
+
687
+ return "#{tableName}<#{difficultyText}>(#{number}):#{result}"
688
+ end
689
+
690
+ # 夢幻の迷宮ランダムイベント表
691
+ def getRandomEventResult(command)
692
+ if command =~ /RAND(E|N|H|L)([1-6])?/
693
+ dif = Regexp.last_match(1)
694
+ area = Regexp.last_match(2).to_i
695
+ area = @randomizer.roll_once(6) if Regexp.last_match(2).nil?
696
+ type = @randomizer.roll_once(6)
697
+ elsif command =~ /RENC(E|N|H|L)([1-6])?/
698
+ dif = Regexp.last_match(1)
699
+ area = Regexp.last_match(2).to_i
700
+ area = @randomizer.roll_once(6) if Regexp.last_match(2).nil?
701
+ type = 4
702
+ else
703
+ return nil
704
+ end
705
+
706
+ tableName = "ランダムイベント表"
707
+
708
+ case dif
709
+ when "E"
710
+ difficultyText = "初級"
711
+ difficulty = 0
712
+
713
+ when "N"
714
+ difficultyText = "中級"
715
+ difficulty = 1
716
+
717
+ when "H"
718
+ difficultyText = "上級"
719
+ difficulty = 2
720
+
721
+ when "L"
722
+ difficultyText = "悪夢"
723
+ difficulty = 3
724
+
725
+ else
726
+ return nil
727
+ end
728
+
729
+ case area
730
+ when 1
731
+ areaText = "洞窟"
732
+ case type
733
+ when 1
734
+ table = [
735
+ "回復の泉。PC全員の[HP][FP]が完全に回復する。「死亡」以外のあらゆるBSも回復する。",
736
+ "淡い光を放つ鉱石に包まれた部屋に出る。Ftが#{[1, 2, 3, 4][difficulty]}点回復する。",
737
+ "天井が開いていて植物の育っている洞窟内庭園。[知力-#{[3, 6, 9, 12][difficulty]}]判定に成功すると、力の枠木の実を見つけてPC全員の[HP][FP]を#{[20, 30, 40, 50][difficulty]}点回復できる。有効:「自然と生きる」【賢人の知恵】",
738
+ "「きのこっきのこっげんきでろ~♪」洞窟内で栽培できる特殊なキノコを栽培する、キノコのフラウに出会う。100GP支払うことでキノコを1つ譲ってもらうことができ、[HP]が全回復してシナリオ終了まで[HP]の最大値に+#{[10, 15, 20, 25][difficulty]}のボーナスを得る。",
739
+ "ギア技術を用いた強力な懐中電灯のおいてある休憩室。迷宮を出るまでPC全員に有利な特異点「猫の目」があるものとして扱う。迷宮を出ると懐中電灯は寿命が来たのか壊れてしまう。",
740
+ "不思議な光を放つ水が湧いている。PCの[HP][FP]のいずれかが減少している場合、このイベントは拒否できない。また全快でも不利な特異点「好奇心は猫を殺す」を持つPCは飲みにいこうとする。飲んだキャラクターは1Dを振り、以下の様な効果が発生する。
741
+ ----------
742
+ 1:[HP][FP]と「死亡」以外のBS全回復
743
+ 2:シナリオ終了まで不利な特異点が全て消滅する
744
+ 3:シナリオ終了まで精神的に不利な特徴が1つ消滅する
745
+ 4:[HP]が1点になってしまう。[HP]が0以下の場合は[HP][FP]が全回復
746
+ 5:シナリオ終了まで余分な獣っぽい耳や尻尾が生える。既に生えているキャラクターはそれが大きくなる。聴覚に関する[感覚]判定+4。
747
+ 6:あいやー!それ呪いの泉アルよ!シナリオ終了まで性別が男女入替わる。ロールプレイが面白かった場合、シナリオ終了時に「アタッチメント割引券」を与えても良い",
748
+ ]
749
+
750
+ when 2
751
+ table = [
752
+ "財宝ランク#{[0, 2, 4, 6][difficulty]}の宝箱を発見する。カギやトラップはかかっていない。行動を消費することで開けることができる。",
753
+ "財宝ランク#{[1, 3, 5, 7][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12][difficulty]}のカギがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12][difficulty]}]判定でカギを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
754
+ "財宝ランク#{[1, 3, 5, 7][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12][difficulty]}のトラップがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12][difficulty]}]判定でトラップを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
755
+ "頑丈な岩壁に阻まれた隠し財宝の部屋を発見する。岩壁は「打撃」属性で合計#{[100, 200, 300, 500][difficulty]}点のダメージを与えると破壊され、財宝ランク#{[2, 4, 6, 8][difficulty]}のアイテムを入手可能。岩壁はどのHexからでも隣接扱いで攻撃可能。",
756
+ "ミミックの罠。ランダムなキャラクターに「3D+#{[30, 50, 70, 100][difficulty]}」の「斬撃」属性ダメージを与える。[知力-#{[3, 6, 9, 12][difficulty]}]判定に成功すればこの罠を見抜いて無効化でき、なおかつ#{[1000, 2000, 5000, 10000][difficulty]}GPを入手可能。有効:【盗賊の心得】【ロックスミス】",
757
+ "トレジャーイーターの罠。冒険中に入手したアイテム(消耗品・GP以外)を全て失う。[知力-#{[3, 6, 9, 12][difficulty]}]判定に成功すればこの罠を見抜いて無効化することができ、なおかつ#{[1000, 2000, 5000, 10000][difficulty]}GP入手可能。",
758
+ ]
759
+
760
+ when 3
761
+ table = [
762
+ "洞窟内で暗がりの中に近道を発見!有利な特異点「猫の目」を持つキャラクターがいればクリア時の財宝ランク+1。",
763
+ "洞窟内で近道を発見!だが狭くて通れるかどうか…?有利な特異点「軟体動物」を持つキャラクターがいればクリア時の財宝ランク+1。",
764
+ "6つの分かれ道だ、どちらに進めばいいのだろうか…?1Dを振って1~3が出ればクリア時の財宝ランク+1。4~6が出ればクリア時の財宝ランク-1。有効:「非凡な直感」",
765
+ "足場の悪い道だ。うまく降りられればいいが…。[敏捷-#{[3, 6, 9, 12][difficulty]}]判定に成功すればクリア時の財宝ランク+1。失敗すると判定を行ったキャラクターに[3D+20]の防護点無視ダメージ。有効:「軟体動物」",
766
+ "大きな岩でふさがれた近道。力づくでどかせてやる![体力-#{[2, 4, 6, 8][difficulty]}]判定に成功すれば売り味の財宝ランク+1。失敗すると判定を行ったキャラクターは[FP]を5点消費する。",
767
+ "6つの分かれ道だ、どうやら正解の道以外はエネミーの巣だが…。1Dを振って1が出ればクリア時の財宝ランク+1。2~6が出れば即座に洞窟のエンカウントイベントが発生する!有効:「非凡な直感」",
768
+ ]
769
+
770
+ when 4
771
+ table = [
772
+ "水あめ状のボディに王冠をのせた、珍しいエネミーだ!エネミーとエンカウント。",
773
+ "獣の皮をかぶった魔族が狩った獲物の取り分でもめているようだ。彼らは興奮して争っているが、PCたちを見つけると向きを変えて襲い掛かってくる!エネミーとエンカウント。「マジカルクッキング」で持ち歩くタイプのものを作っていた場合、それを渡すことで戦闘を回避することもできる。",
774
+ "岩だと思って通りすぎようとしたら魔族だった!?エネミーとエンカウント。相手は洞窟で巧妙に擬態しており、[先制]に+10のボーナスを得る。有利な特異点「虫の知らせ」があれば[先制]ボーナスを無効化できる。",
775
+ "洞窟でトロッコに乗ったら暴走するギア魔族に追いかけられた!エネミーとエンカウント。トロッコに乗って逃げつつの戦闘になり、2ラウンド以内に倒せなければ轢かれてPC全員が「3D+#{[30, 30, 30, 100][difficulty]}」の防護点無視ダメージを受ける。また、1ラウンドに1人誰かが行動を消費してトロッコを運転する必要があり、これに失敗すると即座に轢かれてしまう。轢かれると戦闘は終了する。PCにケイヴウォーカーがいればトロッコの運転を「支援ターン」で行える。",
776
+ "炎の燃え盛る洞窟だ!運の悪いことに魔獣までいるようだ…。イベント詳細決定時に敵味方全員が「3D+#{[10, 20, 30, 50][difficulty]}」の「火炎」属性ダメージを受ける。さらにエネミーとエンカウント。",
777
+ "冷気に包まれた洞窟だ。更に氷の魔族や魔獣まで棲息している!イベント詳細決定時に敵味方全員が「3D+#{[10, 20, 30, 50][difficulty]}」の「冷気」属性ダメージを受ける。さらにエネミーとエンカウント。",
778
+ ]
779
+
780
+ when 5
781
+ table = [
782
+ "突然の落盤がエネミーを押しつぶす!戦闘中の場合、ランダムにエネミー1体を即死させ、ドロップ品も入手可能。それ以外の場合は特に何も起きない。「分類:ネームド」「分類:魔将」のエネミーには「3D+50」の防護点無視ダメージ。",
783
+ "採掘用のダイナマイトが打ち捨てられている。ケイヴウォーカー用の消耗品#{['「ダイナマイト」', '「特性ダイナマイト」2個と「ダイナマイト」', '「特性ダイナマイト」4個と「ダイナマイト」', '「特性ダイナマイト」'][difficulty]}を持てるだけ持つことができる。",
784
+ "洞窟内に有毒ガスが発生している!敵味方全員[抵抗-#{[4, 6, 8, 10][difficulty]}]で判定し、失敗したキャラクターは#{[15, 30, 45, 60][difficulty]}点の防護点無視ダメージを受ける。有効:【ガシンショウタン】",
785
+ "溶岩の流れる部屋だ、早くおさらばしたいところだが…。[敏捷-#{[3, 6, 9, 12][difficulty]}]判定に成功すれば何事も無く渡り切ることができる。失敗するとPC全員に「3D+#{[20, 40, 60, 90][difficulty]}」の「火炎」属性ダメージ。PCにドラコニアンがいれば判定不要。有効:【野伏の歩み】",
786
+ "突然の落盤がPCのうちランダムに1人を押しつぶす!「3D+#{[40, 60, 80, 120][difficulty]}」の防護点無視ダメージを受ける。「ドッジ-#{[4, 6, 8, 10][difficulty]}」で回避可能。有利な特異点「猫の目」か「虫の知らせ」があれば判定不要。",
787
+ "突然の地震が起きて洞窟全体が崩落を始める!このイベントが発生すると戦闘は強制終了する。PC全員[敏捷#{['', '-1', '-2', '-4'][difficulty]}]で判定し、失敗したキャラクターは[HP]が0になる。[HP]が0以下だった場合は死亡してしまう。全員が判定に成功した場合、クリア時の財宝ランク+1。",
788
+ ]
789
+
790
+ when 6
791
+ table = [
792
+ "プラネタリウムのように鉱石が輝く部屋。星の配置に関する謎かけになっている。行動を消費して[知力-#{[6, 9, 12, 15][difficulty]}]判定に成功するとこの謎を解くことができる。謎が解けると「うぃっしゅすたー」(大事なもの)#{['か、10000GP', '2個か、20000GP', '3個か、30000GP', '5個か、50000GP'][difficulty]}の好きな方を入手可能。有効:【賢人の知恵】",
793
+ "地熱で温泉が湧いている!みんなで一休みできそうだ。このイベントが発生すると戦闘は強制終了する。PC全員の[HP][FP][Ft]が全回復する。また、シナリオ終了まで「ターン開始」時に[HP]が#{[5, 10, 15, 20][difficulty]}点ずつ回復する。",
794
+ "地下渓流を発見する。どうやらここを進んでいくしかないようだ…。このラウンドではPCが「水中」にいるものとする。また、[敏捷-#{[6, 9, 12, 15][difficulty]}]判定に成功すると水中に沈んだ宝箱を発見する。中身は「#{['3Dx100GP', '(3D+10)x100GP', '(3D+30)x100GP', '3Dx1000GP'][difficulty]}」で、カギやトラップはかかっていない。行動を消費することで開けることができる。有効:【野伏の歩み】",
795
+ "とてつもない量のアダマン合金の原石を発見する!持ち帰り放題だ!「アダマン原石」は1つ#{[300, 500, 1000, 2000][difficulty]}GPで売却可能で、行動を消費することで自分のアイテム欄に好きなだけ入手可能。",
796
+ "地面から強力な重力で引きつけられる!敵味方全員が[移動]に-5のペナルティを受ける。さらに洞窟のエンカウントイベントが発生。「4-5」と「4-6」の部屋のダメージは適用しない。",
797
+ "怪しい光を放つ鉱石の部屋。鉱石は不気味な振動を放っており、ラウンド終了時にランダムなPC1人の武器が1つ壊れてシナリオ終了まで使用できなくなる。鉱石は「打撃」属性で合計#{[100, 200, 300, 500][difficulty]}点のダメージを与えると破壊される。鉱石はどのヘクスからでも隣接扱いで攻撃可能。",
798
+ ]
799
+
800
+ else
801
+ return nil
802
+ end
803
+
804
+ when 2
805
+ areaText = "遺跡"
806
+ case type
807
+ when 1
808
+ table = [
809
+ "回復の泉。PC全員の[HP][FP]が完全に回復する。「死亡」以外のあらゆるBSも回復する。",
810
+ "随分進んだし一休みしよう。ラウンド数が奇数の場合は[FP]が「#{['3D', '3D+5', '3D+10', '3D+15'][difficulty]}」回復する。ラウンド数が偶数の場合は進んだように見せかけて迷っているだけだった。どっと疲れてしまい[FP]は回復せず、クリア時の財宝ランク-1。有利な特異点「精緻な記憶」があれば、偶数ラウンドでも[FP]が回復して財宝ランクも減少しない。",
811
+ "どうやらここは古代の医務室らしい。なにやら怪しげな機械がたくさんあるが…。[知力-#{[3, 6, 9, 12][difficulty]}]判定に成功すればPC全員の[HP][FP]が完全に回復する。「死亡」以外のあらゆるBSも回復する。有効:【魔導工学のススメ】",
812
+ "「きみたちの道に光りあれ…お金?いらないよ」道標の光ゴケを栽培している、苔のフラウに出会う。以後「いくつかの道から正解を選ぶ」イベントが発生した場合、光ゴケがそのうちの1つに飛んでいき、必ず正解の道を選ぶことができる。",
813
+ "ダンジョンの見取り図を書いた部屋に出る。次のランダムイベントでは、好きな地形を選択してからイベント表を振ることができる。次が最終イベントだった場合、クリア時の財宝ランク+1。",
814
+ "「パワーアップ装置!」と書かれた怪しげな機械が置いてある。#{[3000, 5000, 10000, 20000][difficulty]}GPを支払って使用するとキャラクターを強化(?)可能。使用するかは自由だが、不利な特異点「好奇心は猫を殺す」を持っているキャラクターはGPがあるなら入ってしまう。使用したキャラクターは1Dを振り、以下のような効果が発生する。
815
+ ----------
816
+ 1:なんと、ランダムな[主能力]が1点上昇する!
817
+ 2:ただの日焼けサロンだ!健康的に焼け、シナリオ終了まで「火炎」に対する防護点+10。
818
+ 3:CLが1上昇する!やったね!【特技】はシナリオが終了してから習得する。
819
+ 4:装置は突然爆発する!ダメージは受けないが髪型がアフロに。装置は壊れる。
820
+ 5:巨大化してシナリオ終了まで第代[HP]+50![HP][FP]も全回復。装置は壊れる。
821
+ 6:故障のせいかランダムな[主能力]が1点下降する…大ショック…",
822
+ ]
823
+
824
+ when 2
825
+ table = [
826
+ "財宝ランク#{[0, 2, 4, 6][difficulty]}の宝箱を発見する。カギやトラップはかかっていない。行動を消費することで開けることができる。",
827
+ "財宝ランク#{[1, 3, 5, 7][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12][difficulty]}のカギがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12][difficulty]}]判定でカギを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
828
+ "財宝ランク#{[1, 3, 5, 7][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12][difficulty]}のトラップがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12][difficulty]}]判定でトラップを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
829
+ "部屋で脱出ゲームのような様々な仕掛けをとかないと開かない宝箱。行動を消費して[知力-#{[6, 9, 12, 15][difficulty]}]判定に成功すれば開けることができ、財宝ランク#{[2, 4, 6, 8][difficulty]}のアイテムを入手可能。判定に失敗すると宝箱を入手可能。判定に失敗すると宝箱は爆発してしまい、中身も失われる。有効:【盗賊の心得】",
830
+ "ミミックの罠。ランダムなキャラクターに「3D+#{[30, 50, 70, 100][difficulty]}」の「斬撃」属性ダメージを与える。[知力-#{[3, 6, 9, 12][difficulty]}]判定に成功すればこの罠を見抜いて無効化でき、なおかつ#{[1000, 2000, 5000, 10000][difficulty]}GPを入手可能。有効:【盗賊の心得】【ロックスミス】",
831
+ "トレジャーイーターの罠。冒険中に入手したアイテム(消耗品・GP以外)を全て失う。[知力-#{[3, 6, 9, 12][difficulty]}]判定に成功すればこの罠を見抜いて無効化することができ、なおかつ#{[1000, 2000, 5000, 10000][difficulty]}GP入手可能。",
832
+ ]
833
+
834
+ when 3
835
+ table = [
836
+ "鏡に映る怪人が自分の真似をしろとジェスチャーしている。[敏捷-#{[6, 8, 10, 12][difficulty]}]判定に成功するとうまく真似してパントマイムすることができ、鏡が消滅して隠し通路が開かれる。クリア時の財宝ランク+1。【華劇:○○】を習得したフラウがいれば判定不要。",
837
+ "小さな魔将の像がフィルトウィズの地図上で乱雑に置かれている。[知力-#{[6, 9, 12, 15][difficulty]}]判定に成功すれば魔将の所在地を正しく配置することができ、隠し通路が開かれる。クリア時の財宝ランク+1。有効:【賢人の知恵】",
838
+ "シュートの罠に引っかかるが、結果的に新たな道を発見できた!このイベントが発生すると戦闘は強制終了する。PC全員が「3D+10」の「打撃」属性ダメージを受けるが、クリア時の財宝ランク+1。",
839
+ "ラダマンティス崇拝者が創りだした巨大な甲羅のようなものが置かれた部屋。登っていけば近道することができそうだが、これはかなり骨が折れそうだ…。行動を消費して[敏捷-#{[6, 9, 12, 15][difficulty]}]判定を行い、成功すればクリア時の財宝ランク+1。判定に挑戦したキャラクターは次のターンまで[回避]判定を行えない。有効:「軟体動物」【野伏の歩み】",
840
+ "後ろから重い物が転がってくる音がする。ローリングストーンだ!このイベントが発生すると戦闘は強制終了する。ラウンド終了時に全員の[移動]が#{[6, 8, 10, 12][difficulty]}以上であればクリア時の財宝ランク+1。[移動]が#{[6, 8, 10, 12][difficulty]}未満のPCは「3D+#{[30, 50, 70, 100][difficulty]}」の防護点無視ダメージを受ける。",
841
+ "通路が複雑に入り組んでおり道に迷いそうだ…。2Dを振り、ゾロ目ならクリア時の財宝ランク+1。それ以外の場合はクリア時の財宝ランク-1。有効:「非凡な直感」",
842
+ ]
843
+
844
+ when 4
845
+ table = [
846
+ "絶体絶命、モンスターハウスだ!危機感を煽るBGMも流れてくる。1Dをふって無限の迷宮の地形から1つ選択する。その地形で該当する難易度に名前の書かれたエネミーが全て1体ずつ出現する。特別な強化が施されている場合それも適用する。これらのエネミーを全滅させた際、最後に倒したエネミーからは必ず「レア」を入手できる。エネミー決定後に逃亡を宣言しても良い。その場合クリア時の財宝ランク-2。",
847
+ "石像が並んでいる通路があるが…なんと石像は警備装置だった!エネミーとエンカウント。奇襲攻撃のため、エネミーからの攻撃の[回避]に-4のペナルティを受ける。【魔導工学のススメ】があれば警戒していたため、このペナルティは受けない。",
848
+ "魔族が障害物に身を隠しながら狙撃してきた!エネミーとエンカウント。障害物のため、エネミーは近接攻撃に対する防護点に+30のボーナス。",
849
+ "「汝が戦う理由とは何か?答えい人間!」ブツゼンにモンスターが仁王立ちしており、問答を行ってくる。[意思-6]判定に成功すると戦闘を回避することができ、ドロップ品も入手可能。判定に失敗するか戦闘を望んだ場合、エネミーとエンカウント。有効:【詩人の交渉術】",
850
+ "進路上に鎖に繋がれたモンスターを発見する。どうやら普通のモンスターより凶暴なようだ、戦うべきか避けるべきか…エネミーとエンカウント。エネミーはあらゆる致傷力に+#{[10, 20, 30, 40][difficulty]}のボーナスを得る。戦闘を避けた場合クリア時の財宝ランク-1。",
851
+ "暴れゴーレムが襲い掛かってくる!暴走しているせいか凄まじいスピードだ!エネミーとエンカウント。このエネミーは[移動][先制]に+10のボーナスを得ており、全員が行動終了した後、ラウンド終了前にもう1度ターンがまわってくる。",
852
+ ]
853
+
854
+ when 5
855
+ table = [
856
+ "一斉に周囲の壁の射出光が開き、無数の矢が放たれる!PC全員に「3D+#{[20, 40, 60, 90][difficulty]}」の「刺突」属性ダメージ。「ドッジ-#{[4, 6, 8, 10][difficulty]}」で[回避]が可能。有利な特異点「虫の知らせ」があれば[回避]に+4のボーナスを得る。",
857
+ "突然部屋に白いガスが充満して睡魔が襲ってくる!PC全員がBS「睡眠」を受ける。[抵抗-#{[2, 4, 6, 8][difficulty]}]判定で無効化。",
858
+ "フロアイミテーターの罠だ!突然部屋の入口が閉まり、君たちを消化し始める!「斬撃」属性で合計#{[100, 200, 300, 500][difficulty]}点のダメージを与えると入り口が開き脱出できるが、それまでPC全員は「ターン開始」時に#{[10, 20, 30, 40][difficulty]}点の防護点無視ダメージを受ける。ラウンドごとの地形変化やイベントは行われず、最終イベントにも進めなくなる。入り口はどのヘクスからでも隣接扱いで攻撃可能。誰も「斬撃」属性の攻撃ができないなら君たちの冒険はここまでだ。",
859
+ "休憩室のようだ。寝心地のよさそうなふかふかのベッドまである。このイベントが発生すると戦闘は強制終了する。PC全員が[意思-#{[2, 4, 6, 8][difficulty]}]判定を行い、失敗したPCはBS「眠り」を受ける。この「眠り」は誰かが行動を羊皮して叩き起こさない限り、シナリオ終了まで持続する。全員が判定に失敗した場合、君たちの冒険はここまでだ。もう目覚めることはないが、せめていい夢を見れるといいだろう。ホムンクルスは「居眠り禁止」を厳命されているため、「眠り」を受けない。",
860
+ "「ラダマンティスの蛇」の像と目が合ってしまった。どうやらダンジョンの監視者に見つかってしまったらしい!以後探索中にエネミーと遭遇した場合、CLの最も高いエネミーが1体増加する。このイベントの効果は累積せず、「分類:ネームド」「分類:魔将」のエネミーの数は変化しない。",
861
+ "怪しげな卵が置かれた部屋。君たちが近寄ると卵が割れて…?1Dを振り、その出目によって中から様々なものが出現する。
862
+ ----------
863
+ 1~2:これは財宝だ!財宝ランク#{[2, 4, 6, 8][difficulty]}のアイテムが入手可能。
864
+ 3~4:卵はそのまま大爆発!PC全員に「3D+#{[30, 50, 70, 100][difficulty]}」の「打撃」「火炎」属性ダメージ。
865
+ 5~6:卵からドラゴンが!エネミーとエンカウント。",
866
+ ]
867
+
868
+ when 6
869
+ table = [
870
+ "突然ダンジョンの明かりが消えてほぼ真っ暗になってしまう!次のラウンドに入るまであらゆる判定に-6のペナルティを受ける。有利な特異点「猫の目」があればペナルティを受けない。また「洞窟1-5の懐中電灯」や「遺跡1-4の光ゴケ」などがあれば無効。",
871
+ "どうやら古代の訓練施設のようだ。「パンチングマシーン」と書かれたものがあり、行動を消費すれば100GPを支払って挑戦可能。「格闘」武器でのダメージ判定を1回行い、与えたダメージによってファンファーレとともに景品が出る。1回挑戦すると、ガタが来ていたのか壊れてしまう。
872
+ ----------
873
+ ダメージ#{[20, 40, 60, 80][difficulty]}以上:財宝ランク#{[0, 2, 4, 6][difficulty]}のアイテム
874
+ ダメージ#{[30, 50, 70, 90][difficulty]}以上:財宝ランク#{[1, 3, 5, 7][difficulty]}のアイテム
875
+ ダメージ#{[40, 60, 80, 100][difficulty]}以上:財宝ランク#{[2, 4, 6, 8][difficulty]}のアイテム",
876
+ "謎の装置のせいで気になるあの子と体が入れ替わってしまった!?シナリオ終了までPCのうち2人の体や能力が入れ替わってしまう。入れ替わるキャラクターはランダムで決定するか、面白くなるようにGMが選ぶ。戦闘で扱うデータは今までどおりだが、入れ替わったキャラクターのロールプレイを行うこと。",
877
+ "やった、きんきらきんの宝物庫だ!「2-1」「2-2」「2-3」の宝箱が3つ同時に出現する。ただし、「2-3」の罠の解除に失敗すると、宝箱を開けようとしたキャラクターは黄金像になってしまう。めでたく財宝の仲間入りだ。BS「石化」と同様に扱うが、シナリオ終了までいかなる手段でも治せない。",
878
+ "キャンディークラウンハウスだ!エネミーとエンカウント。4ラウンド終了までに1体も倒せなかった場合、チャンスを逃した悔しさからPC全員が[FP]に「逃げたキャンディークラウンの数x5」の防護点無視ダメージを受ける。",
879
+ "なぜここに呼ばれたかお分かりになりますでしょうか?ラダマンティス崇拝者の作りだした審判の部屋に飛ばされてしまった!ラウンド終了時に部屋の中央のラダマンティス像から裁きの光が放たれ、PC全員が「3D+#{[50, 80, 110, 150][difficulty]}」の防護点無視ダメージを受ける。#{[200, 400, 600, 1000][difficulty]}点のダメージを与えれば破壊可能でダメージも受けない。ラダマンティス像はどのヘクスからでも隣接扱いで攻撃可能。破壊に成功すると財宝ランク#{[3, 5, 7, 9][difficulty]}のアイテムが入手可能。",
880
+ ]
881
+
882
+ else
883
+ return nil
884
+ end
885
+
886
+ when 3
887
+ areaText = "山岳"
888
+ case type
889
+ when 1
890
+ table = [
891
+ "回復の泉。PC全員の[HP][FP]が完全に回復する。「死亡」以外のあらゆるBSも回復する。",
892
+ "休憩に丁度いい広場を見つけた。[FP]が3D#{['', '+5', '+10', '+15'][difficulty]}点回復する!だが、居心地が良すぎて離れづらくなってしまう。PC全員が[意思-#{[2, 3, 4, 6][difficulty]}]判定を行う。PCのうち半分以上が失敗した場合、次のラウンドもこのイベントが発生して、クリア時の財宝ランク-1。",
893
+ "山小屋を発見し一休み。[HP]と[FP]が3D#{['', '+5', '+10', '+15'][difficulty]}点回復する。PCが4人の時にこのイベントが発生した場合、休憩中の暇つぶしに山小屋の四隅をぐるぐるまわって運動し始める。だが、後から妙なことに気が付きFtが1点減少する…",
894
+ "「へーっ、こんなとこまでよく来たね!これ、食べる?食べる?」キイチゴを栽培しているフラウに出会う。栄養満点で幸せになる。PC全員の[HP]と[FP]を10点、Ftを1点回復することができる。さらに、【魔法の料理人】を持つPCがいれば、消耗品「いちごジャム」をSLv個入手可能。
895
+ ----------
896
+ 名称:いちごジャム
897
+ 価格:非売品
898
+ 解説:[HP]と[FP]を10点、Ftを1点回復する。戦闘中には使用できない。",
899
+ "少し休憩できそうな洞窟を発見する。PC全員の[FP]を10点回復する。中には他のエクスプローラーが残していったと思われる道具もあった。「#{['高級HPポーション', '最高級HPポーション', '特性HPポーション', 'うぃっしゅすたー'][difficulty]}」を入手することができる。大雨が降っていたり、火災が起こったりしていた場合、その効果も消滅する。",
900
+ "回復の泉。PC全員の[HP][FP]が完全に回復する。「死亡」以外のあらゆるBSも回復する。しかし山間の貴重な水源のため亜人によって管理されており、使用するには#{[500, 1000, 2000, 4000][difficulty]}GPが必要。PCのパーティーに管理している亜人と同じ種族がいるか、【詩人の交渉術#{[1, 2, 3, 4][difficulty]}】を持つキャラクターがいれば無料で使用可能。どの種族が管理しているかは1Dを振って決定する。
901
+ ----------
902
+ 1:ドラコニアン
903
+ 2:リザードとワイズマン
904
+ 3:フラウ
905
+ 4:シルヴァテイル
906
+ 5:ストームコーザー
907
+ 6:グラント",
908
+ ]
909
+
910
+ when 2
911
+ table = [
912
+ "財宝ランク#{[0, 2, 4, 6][difficulty]}の宝箱を発見する。カギやトラップはかかっていない。行動を消費することで開けることができる。",
913
+ "財宝ランク#{[1, 3, 5, 7][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12][difficulty]}のカギがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12][difficulty]}]判定でカギを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
914
+ "財宝ランク#{[1, 3, 5, 7][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12][difficulty]}のトラップがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12][difficulty]}]判定でトラップを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
915
+ "狭い谷底に宝箱があるのが見える。そして手元には岩とロープが。これはもうバンジージャンプで取ってくるしかない!行動を消費して[敏捷-#{[3, 6, 9, 12][difficulty]}][意思-#{[3, 5, 7, 9][difficulty]}]で判定を行い、両方に成功すれば財宝ランク#{[3, 5, 7, 9][difficulty]}のアイテムを入手できる。[敏捷]判定がファンブルだった場合ロープがちぎれてしまい、4ラウンド目が終了するまで戻ってこれない。有効:【野伏の歩み】([敏捷]判定のみ)",
916
+ "ミミックの罠。ランダムなキャラクターに「3D+#{[30, 50, 70, 100][difficulty]}」の「斬撃」属性ダメージを与える。[知力-#{[3, 6, 9, 12][difficulty]}]判定に成功すればこの罠を見抜いて無効化でき、なおかつ#{[1000, 2000, 5000, 10000][difficulty]}GPを入手可能。有効:【盗賊の心得】【ロックスミス】",
917
+ "トレジャーイーターの罠。冒険中に入手したアイテム(消耗品・GP以外)を全て失う。[知力-#{[3, 6, 9, 12][difficulty]}]判定に成功すればこの罠を見抜いて無効化することができ、なおかつ#{[1000, 2000, 5000, 10000][difficulty]}GP入手可能。",
918
+ ]
919
+
920
+ when 3
921
+ table = [
922
+ "山歩きの達人だけが発見できるショートカットコース。有利な特異点「鷹の目」#{['', '', '2段階', '2段階'][difficulty]}か【野伏の歩み#{[1, 2, 3, 4][difficulty]}】を持つキャラクターがいればクリア時の財宝ランク+1。",
923
+ "鉱物を運んでいたのであろう、運搬用トロッコを発見する。うまく運転できれば素早く進行できそうだが…?[敏捷-#{[3, 6, 9, 12][difficulty]}]判定に成功すればクリア時の財宝ランク+1。判定に失敗すると脱線して放り出されてしまい、PC全員が「3D+10」の防護点無視ダメージを受ける。PCにケイヴウォーカーがいれば判定不要。",
924
+ "険しい斜面が続く。これは体力勝負になりそうだ…。PC全員が[体力#{['', '-1', '-2', '-4'][difficulty]}]判定を行い、全員が成功すればクリア時の財宝ランク+1。判定に失敗したキャラクターは[FP]に#{[5, 10, 15, 20][difficulty]}点の防護点無視ダメージを受ける。",
925
+ "空を飛べればショートカットできそうな崖を発見する。なんらかの飛行手段のあるPCがいる場合、クリア時の財宝ランク+1。元々飛行できなくてもラウンド中に【フライト】などの【特技】を使用してラウンド終了時に「飛行状態」であれば良い。",
926
+ "遠くから山彦のような不思議な声が聞こえる。山彦と会話をすると迷いやすい道を教えてくれるが、大声で会話をしているのでエネミーに見つかりやすくなる。会話をするなら次のイベントは必ず山岳のエンカウントイベントになり、会話を諦めるならクリア時の財宝ランク-1。有利な特異点「天体時計」があれば会話を諦めてもデメリットはない。",
927
+ "急に突風が吹いてきて、体力のないものは吹き飛ばされてしまう!もっとも「体力」の低いPC1人が[体力-#{[2, 3, 4, 6][difficulty]}]判定を行い、失敗すると「3D+#{[20, 40, 60, 90][difficulty]}」の防護点無視ダメージを受ける。さらに、救助に時間がかかるためクリア時の財宝ランク-1。PCにストームコーザーがいればイベントの効果を無視できる(演出は自由)。",
928
+ ]
929
+
930
+ when 4
931
+ table = [
932
+ "高いところから多数の岩がごろごろと…いや、これは魔物だ!エネミーとエンカウント。高低差で勢いがついているため、エネミーは[移動]に+5、物理攻撃の致傷力に+#{[10, 30, 60, 120][difficulty]}のボーナスを得る",
933
+ "空中から羽をもった魔物があちこちから攻撃を仕掛けてきた!エネミーとエンカウント。エネミーのうち#{[3, 3, 1, 1][difficulty]}体は任意の「PC配置ヘクス」に設置される。",
934
+ "「た、隊長、もうダメです!」「バカもん!この程度で根を上げるな!」登山訓練中の魔族の正体と出くわす。だが相手は疲れているようだ?エネミーとエンカウント。[FP]は最大値から10点減少している。",
935
+ "山道の横から突然穴が空き、魔物と鉢合わせしてしまう!エネミーとエンカウント。PC全員が[感覚-3]判定を行い、失敗したキャラクターはそのラウンド中に行動することができない。([回避]や[抵抗]の判定、自分のターン以外で行う【特技】は可能)有効:「狐の耳」",
936
+ "ケタケタ笑いながら空から襲撃される。エネミーとエンカウント。彼女達はとても飽きっぽいので2ラウンド行動した後、3ラウンド目の開始前に立ち去ってしまう。(ドロップは入手できない)",
937
+ "フェニックスがつがいで暮らす縄張りに足を踏み入れてしまった!エネミーとエンカウント。すぐに引き返せば戦闘を回避できるが、クリア時の財宝ランク-1。そのまま進むのであれば[意思-6]で判定を行い、成功すれば見逃してもらうことができる。失敗するとフェニックスは怒り狂い、襲ってくる。有効:【詩人の交渉術】",
938
+ ]
939
+
940
+ when 5
941
+ table = [
942
+ "ジャーンジャーン!げぇ、落石だ!!上から魔族が岩を落とし始める。PC全員に「3D+#{[20, 40, 60, 90][difficulty]}」点の「打撃」属性ダメージ。「ドッジ-#{[3, 5, 7, 9][difficulty]}」で[回避]が可能。",
943
+ "ファイトー!いっぱーつ!!足場が崩れ出す。PC全員が[敏捷-#{[3, 6, 9, 12][difficulty]}]判定を行い、失敗すると「3D+#{[20, 40, 60, 90][difficulty]}」点の防護点無視ダメージを受ける。成功したPCは[体力]判定を行い、失敗したPC1人を支えることができる。この判定に失敗した場合、支えようとしたキャラクターも一緒にダメージを受ける。有効:【野伏の歩み】",
944
+ "滑りやすい岩を飛び移っていく道が続いている。敵味方全員が[敏捷-2]で判定を行い、失敗したキャラクターはBS「転倒」を受ける。飛行可能なキャラクターはこの影響を受けない。有効:【野伏の歩み】",
945
+ "先に進む道に『銀糸の甲殻』アルゲントゥムの巣がびっしり張られている。幸い主はいないようだが、巣が邪魔で移動がしにくい…敵味方全員が4ラウンド目まで飛行状態になれなくなり、[移動]にも-5のペナルティを受ける。不利な特異点「トラウマ:虫」などがあればそれも適用する。",
946
+ "美しい万年雪の中を進んでいたと思ったのも束の間、雪崩に遭遇してしまう!全員が「3D+#{[30, 50, 70, 100][difficulty]}」点の「打撃」「冷気」属性ダメージを受け、クリア時の財宝ランク-2。[感覚-#{[6, 9, 12, 15][difficulty]}]の判定に成功すれば、すぐに洞窟に避難してやり過ごすことができる。洞窟の中には#{['スノーの結晶(装飾品/3000GP)', '紺碧の瞳(装飾品/10000GP)', '氷狼の爪(装飾品/25000GP)', '氷河龍の盾(盾/65000GP)'][difficulty]}があり、入手可能。有効:「狐の耳」【野伏の歩み】",
947
+ "下から魔族の大群が登ってくる!ジャーンジャーン!石を落として撃退だ!魔族の群れは射撃攻撃で合計#{[100, 200, 300, 500][difficulty]}点のダメージを与えれば撃退可能。複数の対象を攻撃できる【特技】を使用した場合は、ダメージを2回計算可能。ラウンド終了時までに撃退できなかった場合、PC全員が撃破に足りなかったダメージに等しい防護点無視ダメージを受ける。魔族の群れはどのヘクスからでも攻撃可能だが、射程が10ヘクス以上の攻撃でなければならない。石を落としても攻撃可能で、「3D+#{[10, 20, 30, 50][difficulty]}」点の「打撃」属性ダメージを与える。この攻撃は判定なしで自動的に命中する。",
948
+ ]
949
+
950
+ when 6
951
+ table = [
952
+ "急に大雨が降り出した、屋内に避難したいところだが…地形が「洞窟」か「遺跡」に変更されるまで、ラウンド終了時、[FP]に「#{['1D', '2D', '3D', '3D+5'][difficulty]}」点の防護点無視ダメージを受ける。[FP]に受けるダメージはPCがそれぞれダイスを振って決定する。「水中行動」が可能なPCはこの効果を受けない。",
953
+ "色とりどりの石が岩肌に…これはカラーストーンの原石だ![知力-#{[6, 9, 12, 15][difficulty]}]判定に成功すればカラーストーン原石を持ち帰ることができる。「カラーストーン原石」は1つ#{[500, 1000, 2000, 3000][difficulty]}GPで売却可能で、行動を消費することで自分のアイテム欄に好きなだけ入手可能。有効:【魔導工学のススメ】",
954
+ "不思議な岩がある。1Dを振って1~2であれば「火炎」属性、3~4であれば「冷気」属性、5~6であれば「電撃」属性の攻撃で、4ラウンド目終了までに#{[30, 60, 100, 200][difficulty]}点のダメージを与えれば破壊可能。不思議な岩はどのヘクスからでも隣接扱いで攻撃可能で、破壊したあとには財宝ランク#{[2, 4, 6, 8][difficulty]}のアイテムが発見できる。",
955
+ "「こんなところで人間に会うなんて珍しいな、お前らも食っていくか?」ストームコーザーが獲物を取った後調理している。このイベントが発生するとエネミーは消滅する。マジカルクッキングLv4「ジャンボ串焼き」を食べさせてもらえる。【魔法の料理人】を習得したPCがいれば、Lv5「グラント風香草焼き」にパワーアップする。この料理の効果は、自分たちが「マジカルクッキング」で作った料理と累積する。",
956
+ "高山植物の群生地を発見する。薬草の材料になるものもありそうだ?[知力-#{[6, 9, 12, 15][difficulty]}]判定に成功すれば、薬草を持ち帰ることができる。「高山の薬草」は1つ#{[500, 1000, 2000, 3000][difficulty]}GPで売却可能で、行動を消費することで自分のアイテム欄に好きなだけ入手可能。【ポーションナレッジ】があれば判定は不要。有効:【賢人の知恵】「自然と生きる」",
957
+ "岩壁が大きく崩れていく!崩落に巻き込まれて入口付近まで戻されてしまい、クリア時の財宝ランク-2。だが、崩落した後に鈍く輝くアイテムが転がっている…?[感覚-#{[6, 9, 12, 15][difficulty]}]判定に成功すれば#{['アダマンソード(剣/8000GP)', 'アダマンスケイル(鎧/15000GP)', 'アダマンプレート(鎧/30000GP)', 'ヒュージーブレード(剣/45000GP)'][difficulty]}を入手可能。有効:「鷹の目」",
958
+ ]
959
+
960
+ else
961
+ return nil
962
+ end
963
+
964
+ when 4
965
+ areaText = "水辺"
966
+ case type
967
+ when 1
968
+ table = [
969
+ "回復の泉。PC全員の[HP][FP]が完全に回復する。「死亡」以外のあらゆるBSも回復する。",
970
+ "甲羅干しに適した暖かい小島を見つける。少しだけ休憩しよう。[HP]と[FP]が「3D#{['', '+5', '+10', '+15'][difficulty]}」点回復する。ワイズマンのPCは全回復する。何か面白い寝言を言ったPCに「#{['HPポーション', '高級HPポーション', '最高級HPポーション', 'うぃっしゅすたー'][difficulty]}」が空から降ってくる。",
971
+ "魚の群れを発見!捕まえてたらふくいただくとしよう!【魔法の料理人】があればマジカルクッキングの「魔界魚の目玉」(Lv3)#{['', '、【魔法の料理人2】があれば「シルヴァまっしぐら」(Lv4)と「エドマエスシ」(Lv5)', '、【魔法の料理人2】があれば「シルヴァまっしぐら」(Lv4)と「エドマエスシ」(Lv5)', '、【魔法の料理人2】があれば「シルヴァまっしぐら」(Lv4)と「エドマエスシ」(Lv5)'][difficulty]}#{['', '', '、【魔法の料理人3】があれば「刺身盛り合わせ」(Lv6)と「オオトロスシ」(Lv7)', '、【魔法の料理人3】があれば「刺身盛り合わせ」(Lv6)と「オオトロスシ」(Lv7)'][difficulty]}#{['', '', '', '、【魔法の料理人4】があれば「特上うな丼」(Lv8)'][difficulty]}の全ての効果を得られる。この効果はすでにマジカルクッキングを使用していても累積する。",
972
+ "「こんにちは、スーっとして気持ちいいよ。…ふふ、一緒に入ろうか?」ミントや菖蒲を育てているフラウに出会い、薬湯に浸かって[FP]が全回復する。さらに、「火炎」属性に対する防護点に+10のボーナス。",
973
+ "リザードの集落につく。[HP]の減ったキャラクターがいれば持て囃され、マジカルクッキング「カリカリミミズ肉」(Lv2)をごちそうしてもらい、この先の道案内も買って出てくれる。クリア時の財宝ランク+1。全員の[HP]が満タンの場合は、そっけない扱いをされ何も起こらない。この効果はすでにマジカルクッキングを使用していても累積する。",
974
+ "回復の泉に見せかけた毒の泉。パーティーメンバーの[HP][FP]のいずれかが減少している場合このイベントは拒否できない。毒の水で「3D+#{[10, 20, 30, 50][difficulty]}」点の防護点無視ダメージを受ける。[HP][FP]が全快のキャラクターと「虫の知らせ」があるPCはこの効果を受けない。[知力-6]判定に成功すればこれが毒の泉だとわかる。有効:【野伏の歩み】【賢人の知恵】",
975
+ ]
976
+
977
+ when 2
978
+ table = [
979
+ "財宝ランク#{[0, 2, 4, 6][difficulty]}の宝箱を発見する。カギやトラップはかかっていない。行動を消費することで開けることができる。",
980
+ "財宝ランク#{[1, 3, 5, 7][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12][difficulty]}のカギがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12][difficulty]}]判定でカギを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
981
+ "財宝ランク#{[1, 3, 5, 7][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12][difficulty]}のトラップがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12][difficulty]}]判定でトラップを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
982
+ "水中の奥深くに宝箱があるのが見える。とってくるのは無理そうに見えるが…行動を消費して[敏捷-#{[9, 12, 15, 18][difficulty]}]判定を行い、成功すれば財宝ランク#{[3, 5, 7, 9][difficulty]}のアイテムを入手できる。有利な特異点「水中行動」があれば判定不要。有効:【野伏の歩み】",
983
+ "ミミックの罠。ランダムなキャラクターに「3D+#{[30, 50, 70, 100][difficulty]}」の「斬撃」属性ダメージを与える。[知力-#{[3, 6, 9, 12][difficulty]}]判定に成功すればこの罠を見抜いて無効化でき、なおかつ#{[1000, 2000, 5000, 10000][difficulty]}GPを入手可能。有効:【盗賊の心得】【ロックスミス】",
984
+ "トレジャーイーターの罠。冒険中に入手したアイテム(消耗品・GP以外)を全て失う。[知力-#{[3, 6, 9, 12][difficulty]}]判定に成功すればこの罠を見抜いて無効化することができ、なおかつ#{[1000, 2000, 5000, 10000][difficulty]}GP入手可能。",
985
+ ]
986
+
987
+ when 3
988
+ table = [
989
+ "進みやすい浅瀬が続き、すいすいと進める。クリア時の財宝ランク+1。有利な特異点「水中行動」や【ミズグモ】をもつPCがいればクリア時の財宝ランク+2。ただしグラントがいると浅瀬にもかかわらず溺れてしまい、財宝ランクは変化しない。(RP次第でグラントがいるデメリットをなくしても良い)",
990
+ "様々な漂流物が流れこむ船の墓場だ。お宝もありそうだが探索は大変そうだ…[FP]を3点消費する代わりに水辺の財宝系イベント「2-1~2-6」が発生する。この効果を望まない場合は特に何も起きない。",
991
+ "ヒャッハー、ウォータースライダーだ!巨大な植物の幹を滑って進むことができるが、かなり怖いので勇気が必要。PC全員が[意思#{['', '-1', '-2', '-4'][difficulty]}]判定を行い、全員成功すればクリア時の財宝ランク+1。この判定に成功したPCは、失敗したPCを1人まで抱えて滑り落ちることで成功扱いにできる。",
992
+ "大蓮のような植物の群生地を渡っていく。重たい装備を身に着けていると沈んでしまいそうだ…[必要体力]が15以上の装備を所有しているPCがいるとクリア時の財宝ランク-1。そのPCに有利な特異点「水中行動」や【ミズグモ】があればこのデメリットは受けない。",
993
+ "水流が複雑になっており、思うように進めず戻されてしまう。[体力-#{[4, 5, 6, 8][difficulty]}]判定に失敗するとクリア時の財宝ランク-1。",
994
+ "突然の激流にイカダが巻き込まれる!身を任せている場合じゃない!敵味方全員が[敏捷-#{[2, 3, 4, 6][difficulty]}]判定を行い、失敗したキャラクターは4ラウンド終了まで帰ってこれなくなる。全員が失敗してしまった場合、冒険は強制的に失敗となりダンジョンの入口に戻されてしまう。ダンジョン内で手に入れたアイテムも消耗品とGP以外はセバて水に流されて消滅する。有効:【野伏の歩み】",
995
+ ]
996
+
997
+ when 4
998
+ table = [
999
+ "蟹の魔物がイカダをちょんぎろうとしている!早く倒さなくては!エネミーとエンカウント。1ラウンド以内に倒せなかった場合、イカダをちょんぎられてクリア時の財宝ランク-1。",
1000
+ "アシガル潜水隊と遭遇。エネミーとエンカウント。エネミーは奇襲攻撃を仕掛けてくるため[先制]に+5のボーナスを得る。[感覚-#{[6, 8, 10, 12][difficulty]}]判定に成功すると水面に動く竹筒を発見可能で、その場合は[先制]へのボーナスは無効化可能。有効:「鷹の目」",
1001
+ "何か水面が揺れている…まさか、あれはニンジャ!?エネミーとエンカウント。エネミーは謎の光学迷彩ギアで姿を隠しており、[回避]に+#{[2, 2, 4, 6][difficulty]}のボーナス。",
1002
+ "水辺で花を育てている少女に出会う…が、少女は魔族だった!エネミーとエンカウント。彼女が育てている花の根元には無数の動物の死体が無残にも肥料にされている。戦闘開始時に[意思]判定を行い、失敗したキャラクターは戦慄して1ターン行動不可。[回避][抵抗]の判定を行うことはできる。",
1003
+ "高波にのった魔族の騎士が現れる!エネミーとエンカウント。エネミーは波で勢いがついているため、最初のターンは[移動][先制]に+5のボーナス。",
1004
+ "湖の上を渡っていると思ったら巨大なスライムの上だった!?エネミーとエンカウント。エネミーは巨大なため[HP]に+#{[50, 100, 150, 250][difficulty]}のボーナスを得ている。また、全てのヘクスに対して隣接しているものとする。(移動妨害も全てのヘクスで受ける)",
1005
+ ]
1006
+
1007
+ when 5
1008
+ table = [
1009
+ "美しい歌声が響き渡る、意識が引きずり込まれそうだ。その場にいる敵味方全員は[抵抗-#{[2, 4, 6, 8][difficulty]}]判定を行い、失敗すると1ターンBS「☆眠り」を受ける。有効:【音響補正装置】",
1010
+ "小舟で進んでいると、なにやら激しい水の音がする。この先は滝のようだ!PC全員が[移動-#{[3, 4, 5, 7][difficulty]}]判定を行い(「水中行動」があれば+5のボーナスを得る)、成功したキャラクターがいれば事なきを得る。更に滝の裏の洞窟から財宝ランク#{[3, 5, 7, 9][difficulty]}のアイテムを入手可能。[移動]判定に全員失敗した場合、全員が滝から転落して「3D+#{[20, 30, 40, 60][difficulty]}」の防護点無視ダメージを受ける。有効:【野伏の歩み】",
1011
+ "船の墓場を進んでいると、強風でマストが倒れてくる!PC全員が「ドッジ-#{[2, 4, 6, 8][difficulty]}」判定を行い、失敗すると「3D+#{[10, 20, 30, 50][difficulty]}」の防護点無視ダメージを受け、BS「☆転倒」を受ける。",
1012
+ "ぺっぺっ、水がしょっぱい!濃い塩水がギアをダメにしてしまう。所有している武器と盾についたアタッチメントがシナリオ終了まで消滅してしまう。【魔導工学のススメ#{[1, 1, 2, 3][difficulty]}】があれば応急処置を行い、この効果を受けない。",
1013
+ "とても寒く冷たい水辺で、体力をどんどん奪われてしまう。「冷気」属性に対する防護点が#{[10, 15, 20, 25][difficulty]}以下のキャラクターは、ラウンド終了時に[FP]を#{[5, 10, 15, 20][difficulty]}点消費する。",
1014
+ "突然間欠泉が吹き出してダメージを受ける!敵味方全員のうちランダムで1体に3D+#{[40, 60, 80, 120][difficulty]}点の「火炎」属性ダメージとBS「☆転倒」を与える。このイベントが2ラウンド目で発生した場合、4ラウンド目のイベントはダイスを振らず「洞窟6-2」の温泉イベントになる。",
1015
+ ]
1016
+
1017
+ when 6
1018
+ table = [
1019
+ "傷ついた#{['スワンプランナー', 'スカイサーチャー', 'グリマルキン', 'ゴールデンコーン'][difficulty]}を発見する。ラウンド終了までに[HP]を#{[30, 50, 70, 100][difficulty]}点まで回復させればなついて#{['スワンプランナー(ペット/4000GP)', 'スカイサーチャー(ペット/6000GP)', 'グリマルキン(ペット/15000GP)', 'ゴールデンコーン(ペット/30000GP)'][difficulty]}を入手可能。回復できなかった場合、#{['スワンプランナー', 'スカイサーチャー', 'グリマルキン', 'ゴールデンコーン'][difficulty]}は逃走する。",
1020
+ "なにやら派手な魚を見つける。あれはもしやアズマに伝わる幻の魚「ニシキゴイ」か!?行動を消費して[敏捷-#{[8, 10, 12, 15][difficulty]}]判定に成功すれば見事に捕まえ、アイテム欄に入手することができる。売却すると#{[3000, 6000, 12000, 24000][difficulty]}GPになる。この判定は4ラウンド目が終了するまで何度でも行うことができる。有効:【野伏の歩み】",
1021
+ "カエルの合唱が響き渡る。何やら意味がある歌声に聞こえるが…[知力-#{[6, 9, 12, 15][difficulty]}]判定に成功すると歌の意味を理解できる。カエル達は安全な道を教えてくれていたのだ!判定に成功した場合クリア時の財宝ランク+1。判定に失敗すると毒の沼に足を踏み入れ、PC全員が「3D+#{[10, 20, 30, 50][difficulty]}」点の防護点無視ダメージを受ける。有効:「自然と生きる」【賢人の知恵】",
1022
+ "老齢のグラントが岩に腰かけ釣りをしている。このイベントが発生するとエネミーは消滅する。「どうだね、よかったら釣り勝負をやっていかないか?」PC全員が行動を消費して3Dを振り、誰かが3か4を出せば見事勝利することができる。「見事じゃ、そこにあるガラクタはワシには必要ないものじゃから好きに持って行くがいい」と財宝を渡してくれる。財宝ランク#{[3, 5, 7, 9][difficulty]}のアイテムを2つ入手可能。",
1023
+ "沈没した「死者の方舟」だ。探せば何かありそうだが危険そうだ…1Dを振って以下の結果を適用すること。このイベントは無視することができ、その場合は何も起きない。
1024
+ ----------
1025
+ 1~2:…これは財宝だ!財宝ランク#{[3, 5, 7, 9][difficulty]}のアイテムと#{['スケルトンメイル(鎧)', '死者の心臓(装飾品)', '死霊貴族の服(鎧)', 'デュラハンの盾(盾)'][difficulty]}を入手。
1026
+ 3~4:…マストが倒れてきた!「水辺5-3」と同様のイベントが発生する。
1027
+ 5~6:…船に残っていたアンデッドが襲ってきた!エネミーとエンカウント。",
1028
+ "貝の群生地だ。貝の中にはキラリと光るものが…あれは真珠だ!行動を消費して[敏捷-#{[6, 9, 12, 15][difficulty]}]判定を行い、成功すれば1回ごとにアイテム「真珠」を入手可能。これは1つ#{[1000, 2000, 4000, 8000][difficulty]}GPで売却可能で、4ラウンド目が終了するまで何回でも入手可能。ただし、判定の成否に関わらず[FP]を2点消費する。「水中行動」があれば判定不要で[FP]も消費しない。有効:【野伏の歩み】",
1029
+ ]
1030
+
1031
+ else
1032
+ return nil
1033
+ end
1034
+
1035
+ when 5
1036
+ areaText = "森林"
1037
+ case type
1038
+ when 1
1039
+ table = [
1040
+ "回復の泉。PC全員の[HP][FP]が完全に回復する。「死亡」以外のあらゆるBSも回復する。",
1041
+ "鬱蒼とした森の奥に見事な佇まいの茶室を見つける。ラウンド中に【ソチャデスカ】を使用した際の回復量が2倍になる。茶室の中には友好的なカラクリフラウがいて、#{[100, 200, 300, 500][difficulty]}GPを支払ったPC全員の[HP][FP]を「3D+#{[10, 20, 30, 50][difficulty]}」点回復してくれる。",
1042
+ "おいしそうな果実の木だ!とてもおいしく、食べるとやたらとテンションが高くなる。[HP][FP]が「3D#{['', '+5', '+10', '+15'][difficulty]}」点回復するが、シナリオ終了まで不利な特異点「脳みそ筋肉」を得たかのように猪突猛進型の性格になってしまう。[知力-#{[3, 6, 9, 12][difficulty]}]判定に成功すれば興奮作用のある種をどけてデメリットは受けない。有効:「自然と生きる」【賢人の知恵】",
1043
+ "「ひんやりおいしい森のアイスやさんですよ~。今なら私との握手券付き~♪」フラウが果物いっぱいのトロピカルなアイスクリームを売っている。マジカルクッキング「フラウアイスクリーム」(Lv4)を食べさせてもらえる。この料理の効果は、自分たちが「マジカルクッキング」で作った料理と累積する。",
1044
+ "森のなかにひっそりとたたずむジンジャを発見して、ナインテイルのカンヌシかミコが旅の無事を祈ってくれる。PT全員に【不死なる炎】がかかり、最終イベントに入るまで、死亡判定に自動成功するようになる。",
1045
+ "食人植物の花粉による回復の泉の幻影。PTメンバーの[HP][FP]のいずれかが減少している場合このイベントは拒否できない。[知力-6]判定に失敗すると食人植物の群生地にふらふらと入り、PC全員が「3D+#{[20, 30, 40, 60][difficulty]}」の「斬撃」属性ダメージを受ける。有利な特異点「自然と生きる」があれば、事前に気が付きダメージは受けない。有効:【賢人の知恵】",
1046
+ ]
1047
+
1048
+ when 2
1049
+ table = [
1050
+ "財宝ランク#{[0, 2, 4, 6][difficulty]}の宝箱を発見する。カギやトラップはかかっていない。行動を消費することで開けることができる。",
1051
+ "財宝ランク#{[1, 3, 5, 7][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12][difficulty]}のカギがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12][difficulty]}]判定でカギを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
1052
+ "財宝ランク#{[1, 3, 5, 7][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12][difficulty]}のトラップがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12][difficulty]}]判定でトラップを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
1053
+ "上から3本の蔓が垂れ下がっている。すごく引っ張りたくなる形状だ…行動を消費して引っ張ったキャラクターは1Dを振って以下のものを入手する。蔦を1つ引っ張ると他の蔦はスルスルっと上に消えていってしまう。有効:「非凡な直感」
1054
+ ----------
1055
+ 1~2:大当たり!財宝ランク#{[3, 5, 7, 9][difficulty]}の財宝
1056
+ 3~4:小当たり!おいしい果物(#{['HPポーション', '高級HPポーション', '最高級HPポーション', '奇跡のポーション'][difficulty]}と同等)
1057
+ 5~6:「ハズレ」と書かれた硬い木の実が直撃!「3D+#{[10, 20, 30, 50][difficulty]}」点の「打撃属性ダメージを受ける」",
1058
+ "ミミックの罠。ランダムなキャラクターに「3D+#{[30, 50, 70, 100][difficulty]}」の「斬撃」属性ダメージを与える。[知力-#{[3, 6, 9, 12][difficulty]}]判定に成功すればこの罠を見抜いて無効化でき、なおかつ#{[1000, 2000, 5000, 10000][difficulty]}GPを入手可能。有効:【盗賊の心得】【ロックスミス】",
1059
+ "トレジャーイーターの罠。冒険中に入手したアイテム(消耗品・GP以外)を全て失う。[知力-#{[3, 6, 9, 12][difficulty]}]判定に成功すればこの罠を見抜いて無効化することができ、なおかつ#{[1000, 2000, 5000, 10000][difficulty]}GP入手可能。",
1060
+ ]
1061
+
1062
+ when 3
1063
+ table = [
1064
+ "この獣道を通れば近道になりそうだ!しかし狭くて動きにくい…クリア時の財宝ランクが+1されるが、ラウンド中の[移動]に-3のペナルティ。",
1065
+ "「ホウホウホーウ。そっちの道は危ないぞ…」鳥たちが古い言葉で道案内をしてくれる。[知力-6]判定に成功すれば、クリア時の財宝ランク+1。失敗すると次のイベントは必ず「森林」のエンカウントイベントになる。このイベントが4ラウンド目だった場合、道に迷ってクリア時の財宝ランク-1。有効:「自然と生きる」【賢人の知恵】",
1066
+ "時計をもった兎が忙しそうに走っている。追いかけていくと木の幹に落っこちて妙な場所についてしまった!4ラウンド目が終了するまで「迷宮オプション」を新たに1つ追加する。このイベントが4ラウンド目だった場合、近道になりクリア時の財宝ランク+1。",
1067
+ "毒草の群生地だ!突っ切れば近道になりそうだが…気にせず直進すればシナリオ終了まで[HP]の最大値と現在値が#{[10, 15, 20, 25][difficulty]}点減少するが、クリア時の財宝ランク+1。迂回すると悪い効果は受けないがクリア時の財宝ランク-1。",
1068
+ "「花の香りのする方においで」と看板がある。[感覚-#{[6, 9, 12, 15][difficulty]}]判定に失敗すると遠回りになりクリア時の財宝ランク-1。有利な特徴「犬の鼻」が#{['あれば判定不要。', 'あれば判定不要。', '二段階あれば判定不要。一段階はボーナスのみ。', '二段階あれば判定不要。一段階はボーナスのみ。'][difficulty]}",
1069
+ "おや、進行方向から動物たちが逃げてくるぞ?…大変だ、森林火災だ!引き返して火災から逃げるとクリア時の財宝ランク-2。構わず突っ切るなら4ラウンド目が終了するまで、ターン開始時に「3D+#{[10, 15, 20, 30][difficulty]}」点の「火炎」属性ダメージを受ける。",
1070
+ ]
1071
+
1072
+ when 4
1073
+ table = [
1074
+ "森の盗賊団がこちらの懐を狙ってきた!エネミーとエンカウント。このエネミーからダメージをうけるたびに所持品のうち価格の安いものを奪われてしまう。4ラウンド目までに倒せばうばいかえすことができる。",
1075
+ "動物刈りを楽しんでいた魔族と偶然遭遇してしまう。エネミーとエンカウント。「分類:魔物」「分類:魔獣」のエネミーが登場していた場合、魔族たちにに狩られると思い逃亡する。",
1076
+ "魔族の偵察隊と遭遇する。報告される前に倒さなくては!指定のエネミーを1ラウンド以内に倒せなかった場合、次のエンカウントが発生した際、新たに登場するエネミーは準備万端で待ち構えているため[先制]に+10、あらゆる致傷力に+#{[10, 20, 30, 40][difficulty]}のボーナス。",
1077
+ "森を支配する木の魔族の王に遭遇してしまった!エネミーとエンカウント。#{['エネミーは[HP]に+100のボーナス。', 'エネミーは[HP]に+150のボーナス。', 'エネミーは[HP]に+200のボーナス。', ''][difficulty]}4ラウンド終了までに討伐に成功すると財宝ランク#{[3, 5, 7, 9][difficulty]}のアイテムを入手できる。",
1078
+ "フラウとその尖兵が道案内をしてくれる…と思ったらカラーコンタクトをつけてフラウのふりをした魔族とその尖兵だった!エネミーとエンカウント。尖兵は「PC配置ヘクス」に配置すること。PCはラウンド終了まで[回避]に-6のペナルティ。有利な特異点「背中の目」があれば[回避]へのペナルティは受けない。",
1079
+ "迷彩服をキて軍事訓練中の第3師団精鋭コンバット部隊だ!エネミーとエンカウント。エネミーは[先制]に+4のボーナス。",
1080
+ ]
1081
+
1082
+ when 5
1083
+ table = [
1084
+ "良い香りが周囲に満ちていく。戦闘中だった場合、闘争心を失わせるキノコの香りで敵味方ともに剣を収め強制的に戦闘終了となる。戦闘中ではなかった場合は[知力-6]判定に失敗すると香りをまともにかいで闘争心を失ってしまい、シナリオ終了まであらゆる致傷力に-5のペナルティ。有効:「犬の鼻」「自然と生きる」【賢人の知恵】",
1085
+ "突然上から木の蔓が誰かを吊り上げて首を絞めようとする!ランダムなPC1人は[感覚-#{[3, 4, 5, 7][difficulty]}]判定を行い、失敗すると「3D+#{[30, 50, 70, 100][difficulty]}」点の防護点無視ダメージを受け、そのラウンド中は行動も[回避]も行えない。有利な特異点「自然と生きる」をもつPCが対象になった場合は何も起きない。有効:【野伏の歩み】",
1086
+ "巧妙なベアトラップが仕掛けてある。ランダムなキャラクター1人(エネミーも含む)に「3D+#{[10, 20, 30, 50][difficulty]}」点の「斬撃」属性ダメージを与え、[移動][回避]を0にする。このトラップにかかったキャラクターか隣接したキャラクターが行動を消費して[感覚-#{[6, 8, 10, 12][difficulty]}]判定に成功すれば解除可能。有効:【盗賊の心得】【ロックスミス】",
1087
+ "突然前も見えないほどのスコールに見舞われる!敵味方全員の攻撃や【特技】の射程が全て1になってしまう。森林「3-6」の山火事が起きていた場合、鎮火する。",
1088
+ "ランダムなPC1人が巨大な食虫植物に喰われてしまう!幸いすぐに助け出すことができたのだが、鎧も服もボロボロにされてしまう(イヤーン)喰われたPCが装備していた鎧はシナリオ終了まで使用不可能になる。",
1089
+ "すさまじい悪臭を放つ巨大な花だ!あまりの悪臭にPCの装備していた「ペット」じゃ全て気絶してシナリオ終了まで使用不可能になる。なぜかギア製のペットももれなく気絶する。有利な得意点「犬の鼻」をもつPCがいれば近寄る前に回避可能。",
1090
+ ]
1091
+
1092
+ when 6
1093
+ table = [
1094
+ "魔族の狩りで傷ついた狼を発見する。ラウンド終了までに[HP]を1点でも回復してやればふらふらと歩きだし、木の根元でここを掘れというように吠える。埋まっていたものは1Dを振って決定する。
1095
+ ----------
1096
+ 1:犬の糞(ゴミ)
1097
+ 2:10GP
1098
+ 3:財宝ランク#{[0, 2, 4, 6][difficulty]}のアイテム
1099
+ 4:財宝ランク#{[1, 3, 5, 7][difficulty]}のアイテム
1100
+ 5:財宝ランク#{[2, 4, 6, 8][difficulty]}のアイテム
1101
+ 6:うぃっしゅすたー(大事なもの)",
1102
+ "少し開けた原っぱでフラウのダンスパーティーに誘われる。このイベントが発生するとエネミーは消滅する。行動を消費して[敏捷-#{[6, 8, 10, 12][difficulty]}]判定に成功してダンスを踊ると原っぱの中心からすくすくと大きなキノコが育ち、キノコの馬車でダンジョンのゴール付近まで一気にすっとばしてくれる。第4ラウンドが終了したものと扱い、クリア時の財宝ランク+2。",
1103
+ "フラウたちが「森ガールファッションコンテスト」を開催しており、その助っ人を依頼される。このイベントが発生するとエネミーは消滅する。[意思-#{[6, 8, 10, 12][difficulty]}]判定に成功すれば的確なアドバイスで助っ人を依頼したフラウを優勝に導くことができ、その謝礼として#{['狩人の羽根帽子(装飾品)', '緊急召喚の宝珠(装飾品)', '毒の香水瓶(装飾品)', '女王の花冠(装飾品)'][difficulty]}",
1104
+ "霊樹の花にたまった水が神秘的な魔力を帯びている。[知力-6]判定に成功するとそれにポーションとしての効果があることがわかり、奇跡のポーション(消耗品)を入手する。【ポーションナレッジ】を習得したPCがいれば判定不要。有効:【賢人の知恵】",
1105
+ "迷子のフラウを見つける。4ラウンド目が終了するまでに他のフラウに出会うイベントが発生した場合、偶然にもそのフラウと知り合いで、お礼に財宝ランク#{[3, 5, 7, 9][difficulty]}のアイテムを渡してくれる。フラウに出会えずシナリオをクリアした場合も、迷宮からひとまず出ることができたお礼に財宝ランク#{[1, 3, 5, 7][difficulty]}のアイテムを渡してくれる。",
1106
+ "ランダムに選んだPC1人が、うっかり泉に武器を落としてしまう。すると泉から女神が出現して、落とした武器と同じ種類の超高級品の武器(魔将ドロップ品など)を落としたかどうかを聞いてくる。[意思#{['', '-2', '-4', '-6'][difficulty]}]判定に成功すれば正直に答え、武器に#{[5000, 10000, 30000, 50000][difficulty]}GPまでの任意のアタッチメントを追加してくれる。失敗すると嘘をついて女神を怒らせてしまい、装備していた武器を失ってしまう。",
1107
+ ]
1108
+
1109
+ else
1110
+ return nil
1111
+ end
1112
+
1113
+ when 6
1114
+ areaText = "墓場"
1115
+ case type
1116
+ when 1
1117
+ table = [
1118
+ "回復の泉。PC全員の[HP][FP]が完全に回復する。「☆死亡」以外のあらゆるBSも回復する。",
1119
+ "「彼らは生前の思いが強すぎ成仏できません。語りかけて鎮めてやるとよいでしょう…」アズマ風の墓石が佇んでいる。[知力-#{[3, 6, 9, 12][difficulty]}]判定か[意思-#{[3, 6, 9, 12][difficulty]}]判定に成功するとアズマ式お祈りや語りかけにより霊に感謝され、[HP][FP][Ft]が全回復する。失敗すると霊を怒らせて呪われ、全員の[Ft]が1点減少する。有効:【賢人の知恵】(知力)【詩人の交渉術】(意思)",
1120
+ "墓守の休憩所を見つける。心の落ち着くお線香の香りがする…[HP][FP]#{[10, 15, 20, 25][difficulty]}点とBSを回復する。更にシナリオ終了まで[抵抗]に+2のボーナス。",
1121
+ "「人間か。キミたちはここの亡者のようにならないようにね…」ヒガンバナの世話をするフラウと出会い、「ヒガンバナの毒」を武器に塗ってもらうことができる。物理攻撃の致傷力に+5のボーナス。",
1122
+ "シルヴァテイルのネクロマンサー達が集まって、何やら怪しい儀式をしている。道中で「☆死亡」した、もしくは保険を適用して強制送還されたキャラクターがいれば、[HP][FP]とBSが全回復した状態で復活させてもらうことができる。それ以外の場合は不気味な儀式に不安を感じ、FPを1点消費する。",
1123
+ "回復の泉があるのだが…?PCのうち1人でも[HP][FP]のいずれかが減少している場合このイベントは拒否できない。PC全員の[HP][FP]が完全に回復する。「☆死亡」以外のあらゆるBSも回復する。黄泉の国の水を飲んだことでシナリオ終了まで「分類:アンデッド」となり、【死者に鞭】【アマテラスの光】などの、一部の【特技】の効果を受ける。",
1124
+ ]
1125
+
1126
+ when 2
1127
+ table = [
1128
+ "財宝ランク#{[0, 2, 4, 6][difficulty]}の宝箱を発見する。カギやトラップはかかっていない。行動を消費することで開けることができる。",
1129
+ "財宝ランク#{[1, 3, 5, 7][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12][difficulty]}のカギがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12][difficulty]}]判定でカギを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
1130
+ "財宝ランク#{[1, 3, 5, 7][difficulty]}の宝箱を発見する。難易度#{[3, 6, 9, 12][difficulty]}のトラップがかかっている。行動を消費して[感覚-#{[3, 6, 9, 12][difficulty]}]判定でトラップを解除して開けることができる。有効:【盗賊の心得】【ロックスミス】",
1131
+ "骸が何かを大事そうに握りしめている(抱きかかえている)。行動を消費して[体力-#{[2, 4, 6, 10][difficulty]}]判定に成功すれば、財宝ランク#{[2, 4, 6, 8][difficulty]}のアイテムを入手できるが、Ftが1点減少する。",
1132
+ "ミミックの罠。ランダムなキャラクターに「3D+#{[30, 50, 70, 100][difficulty]}」の「斬撃」属性ダメージを与える。[知力-#{[3, 6, 9, 12][difficulty]}]判定に成功すればこの罠を見抜いて無効化でき、なおかつ#{[1000, 2000, 5000, 10000][difficulty]}GPを入手可能。有効:【盗賊の心得】【ロックスミス】",
1133
+ "トレジャーイーターの罠。冒険中に入手したアイテム(消耗品・GP以外)を全て失う。[知力-#{[3, 6, 9, 12][difficulty]}]判定に成功すればこの罠を見抜いて無効化することができ、なおかつ#{[1000, 2000, 5000, 10000][difficulty]}GP入手可能。",
1134
+ ]
1135
+
1136
+ when 3
1137
+ table = [
1138
+ "ちょっとなにか出そうな、柳の木でできたトンネルを発見する。PC全員が[意思]判定を行い、全員成功した場合はクリア時の財宝ランク+1。最も成功度の低かった(失敗度の大きかった)PCは揺れる柳を幽霊と思い込み、4ラウンド終了まであらゆる判定に-2のペナルティ。",
1139
+ "石畳の道を歩いている途中で朽ちた祠を発見する。何かお供え物をしたほうが良いだろうか?アイテム欄の消耗品1つをお供えすると祠が動いて地下通路が出現する!この通路を通ることで近道できて、クリア時の財宝ランク+1。",
1140
+ "道が途切れ、草が伸び放題の荒れ地に出る。方向もわからず、進むには骨が折れそうだ…[体力-#{[2, 4, 6, 8][difficulty]}]判定を行い、成功すればクリア時の財宝ランク+1。失敗するとクリア時の財宝ランク-1。",
1141
+ "どこまでも卒塔婆とススキしかない…同じ景色が続き、進んでいるか怪しくなる。1Dを振って1~3が出れば何もないが、4~6が出るとクリア時の財宝ランク-1。有利な特異点「天体時計」があればペナルティは受けない。",
1142
+ "地面から突如骨の手が伸びて足を掴んでくる!PC全員が[移動#{['+4', '+2', '', '-2'][difficulty]}]判定を行い、クリア時の財宝ランクが「失敗した人数」分減少する。【死者に鞭】を持つPCがいれば骨は威圧されて引っ込み、この効果は無視できる。",
1143
+ "先へ進む道には纏わりつくような死者の呪いが満ちている。直進するとシナリオ終了まであらゆる判定に-2のペナルティ。遠回りをすると悪影響は受けないがクリア時の財宝ランク-2。【死者に鞭】か【鎮魂の盾】を持つPCがいれば呪いをはねつけ、直進してもペナルティを受けない。",
1144
+ ]
1145
+
1146
+ when 4
1147
+ table = [
1148
+ "墓場に浮かんでいた人魂が突如魔物になって襲いかかってきた!エネミーとエンカウント。",
1149
+ "朽ちていた骨が突如起き上がり襲いかかってきた!エネミーとエンカウント。このエネミーは業物の武器を持っており、物理攻撃の致傷力に+#{[5, 10, 15, 20][difficulty]}のボーナス。",
1150
+ "不吉な歌を口ずさみ、ステップを踏みながらかわいらしい少女が近づいてくる。エネミーとエンカウント。",
1151
+ "遠くから不吉な進軍の音を聞く。PC全員が[感覚-#{[2, 4, 6, 8][difficulty]}]判定を行い、誰か1人でも成功すれば、第二魔将グレヴディガーの軍勢が迫っているのを知る。全員判定に失敗してしまうとPCは第二魔将グレイヴディガーとその配下である無数の亡霊騎士団と相対することになる。#{['「保険」に入っていなければPCたちは死亡して、グレイヴディガーの配下にさせられてしまう。君たちの冒険はここで終了だ。', '「保険」に入っていなければPCたちは死亡して、グレイヴディガーの配下にさせられてしまう。君たちの冒険はここで終了だ。', '「保険」に入っていなければPCたちは死亡して、グレイヴディガーの配下にさせられてしまう。君たちの冒険はここで終了だ。', 'エネミーとエンカウント。'][difficulty]}有効:「狐の耳」「虫の知らせ」",
1152
+ "「我らの眠りを妨げるものは誰だ…!」貴族の棺とそれを守る人形だ。墓荒らしには容赦なく襲い掛かる!エネミーとエンカウント。棺の中には貴金属が入っており、一部エネミーの通常ドロップの金額が増加する。",
1153
+ "壁に埋まった10mはあろうかという巨大な蛇の骨が動き出し襲い掛かってくる!エネミーとエンカウント。",
1154
+ ]
1155
+
1156
+ when 5
1157
+ table = [
1158
+ "PC全員に墓から突然幻影が襲いかかる。幻影なので実害はないのだが、本当の攻撃と思って「パリイ」か「シールド」を1回消費してしまう。どちらも行えない場合、腰を抜かしてBS「☆転倒」を受ける。【トゥルービジョン】などがかかっているPCには無効。",
1159
+ "「ひひっ、かかったなボケが!」理不尽にもギロチンが突如ランダムなPC1人に落ちてくる!「ドッジ-#{[4, 6, 8, 10][difficulty]}」判定を行い、失敗すると「3D+#{[40, 60, 80, 120][difficulty]}」点の「斬撃」属性ダメージを受ける。",
1160
+ "「すいっちおーん。私達の仲間にしてやるよ!」用途不明の建物に迷い込んでしまったが…なんてこった、ここは火葬場だ!早く脱出しないと灰になるまで焼かれてしまうぞ!PC全員が「3D+#{[30, 40, 50, 70][difficulty]}」点の「火炎」属性ダメージを受ける。[移動]が#{[8, 9, 10, 12][difficulty]}以上のPCは何とか逃げ出しダメージを受けず、さらに自分より[体力]の低いキャラクター1人を連れて脱出可能。有効:【盗賊の心得】【ロックスミス】",
1161
+ "墓石が動き出し中から何かが出てこようとしている![体力-#{[4, 6, 8, 10][difficulty]}]判定に成功すればなにも起こらないが、失敗すると探索中に倒されたエネミーの中で最もCLが高いエネミーが再度出現する。該当モンスターが存在しなかった場合は、昼寝をしていたフラウが出てくるだけ。",
1162
+ "金の亡者のゾンビが群がってくる。金を渡してやるまで満足しそうにない…#{[1000, 2000, 4000, 8000][difficulty]}GPを支払うと満足して去っていくが、支払いを拒否した場合(もしくはお金が足りなかった場合)はPC全員が「3D+#{[10, 20, 30, 50][difficulty]}」の「打撃」属性ダメージを受ける。【死者に鞭】を持つPCがいればひと睨みでそそくさと去っていく。",
1163
+ "「おやおや。死者に気に入られましたか…困りましたねえホッホッ」ランダムなPC1人の武器が死者の怨念を吸い取り魔剣となる!魔剣は攻撃力に+5のボーナスを得るが、装備していると[HP]の最大値が10点減少する。魔剣となった武器は売却不可能で、不要な場合は捨てるしかない。すでに魔剣となっている武器と、【特技】によって入手した武器は魔剣にならない。",
1164
+ ]
1165
+
1166
+ when 6
1167
+ table = [
1168
+ "雷が突然鳴り響く。敵味方全員が3Dを振り、出目が一番高いキャラクターは「3D+#{[30, 50, 70, 100][difficulty]}」点の「電撃」属性ダメージを受ける。",
1169
+ "「いいところに来たナ。どうだ、お前らも飲んでいくカ?」タルの上に腰かけ、減ることのない酒を口に運び続けるスケルトンがいる。このイベントが発生するとエネミーは消滅する。酒を飲む場合、行動を消費して[意思#{['', '-1', '-2', '-4'][difficulty]}]判定を4回連続で行う。全て成功すると、「ついに酒が切れたカ、最後の晩酌に付き合ってもらって感謝するゼ」と感謝を述べて消滅し、あとには財宝ランク3のアイテムが残る。途中で1度でも失敗した場合、酒に悪酔いしてシナリオ終了まであらゆる判定に-2のペナルティ。",
1170
+ "怪しい輝きを放つ宝石を発見する。手にとったPCは呪われてシナリオ終了まであらゆる判定に-2のペナルティ。手に取らない場合は全員に[意思#{['', '-1', '-2', '-3'][difficulty]}]判定が必要で、不利な特異点「金の亡者」「好奇心は猫を殺す」があるとこの[意思]判定に-4のペナルティ。無事持ち帰った場合呪いは解け、#{[2000, 6000, 20000, 60000][difficulty]}GPで売却できる。",
1171
+ "朽ちたギアの墓場だ。まだ使えるギアがあるかもしれない。【魔導工学のススメ】があれば、SLvに応じたアイテムが1つ入手可能。
1172
+ ----------
1173
+ SLv1:カラクリバランサー(装飾品)
1174
+ SLv2:カラクリお茶キット(装飾品)
1175
+ SLv3:ゴーレムアーム(装飾品)
1176
+ #{['', 'SLv4:ホイールブースター(装飾品)', 'SLv4:ホイールブースター(装飾品)', 'SLv4:ホイールブースター(装飾品)'][difficulty]}
1177
+ #{['', '', 'SLv5:ナグルファル装甲(装飾品)', 'SLv5:ナグルファル装甲(装飾品)'][difficulty]}
1178
+ #{['', '', '', 'SLv6:死者の止まらない歯車(装飾品)'][difficulty]}",
1179
+ "「ほーらよっといでーよっといでー、地獄の沙汰も金次第…」うすら寒い気配の漂う川辺に出る。川辺には渡し守らしき、ローブをかぶった2人の少女がいる。1人あたり#{[200, 500, 1000, 2000][difficulty]}GPを支払えばクリア時の財宝ランク+1。支払いを拒否したかお金が足りない場合、エネミーとエンカウント。",
1180
+ "『千ノ戦イデ千ノ勝チヲ知ル者、ココニ眠ル』と刻まれた棺を見つける。棺を開けた場合はエネミーとエンカウント。勝利すると#{['キメラパーツ(装飾品)', 'キメラパーツ(装飾品)', 'グレートキメラパーツ(装飾品)', 'ウェポンマスターの証(装飾品)'][difficulty]}を入手できる。不利な特異点「好奇心は猫を殺す」「脳みそ筋肉」を持つキャラクターは[意思]判定を行い、失敗すると棺を開けてしまう。",
1181
+ ]
1182
+
1183
+ else
1184
+ return nil
1185
+ end
1186
+
1187
+ else
1188
+ return nil
1189
+ end
1190
+
1191
+ result, event = get_table_by_1d6(table)
1192
+ number = "#{area}#{type}#{event}"
1193
+
1194
+ return "#{tableName}(#{number}):#{areaText}<#{difficultyText}>:#{result}"
1195
+ end
1196
+
1197
+ # 夢幻の迷宮エネミーデータ表
1198
+ def getRandomEnemyDataResult(command)
1199
+ if command =~ /RED(E|N|H|L)(256|265|465|665|666)/
1200
+ dif = Regexp.last_match(1)
1201
+ area = 0
1202
+ event = Regexp.last_match(2).to_i
1203
+ number = event
1204
+ elsif command =~ /RED(E|N|H|L)([1-6])4([1-6])/
1205
+ dif = Regexp.last_match(1)
1206
+ area = Regexp.last_match(2).to_i
1207
+ event = Regexp.last_match(3).to_i
1208
+ number = "#{area}4#{event}"
1209
+ else
1210
+ return nil
1211
+ end
1212
+
1213
+ tableName = "エネミーデータ表"
1214
+
1215
+ case dif
1216
+ when "E"
1217
+ difficultyText = "初級"
1218
+ difficulty = 0
1219
+
1220
+ when "N"
1221
+ difficultyText = "中級"
1222
+ difficulty = 1
1223
+
1224
+ when "H"
1225
+ difficultyText = "上級"
1226
+ difficulty = 2
1227
+
1228
+ when "L"
1229
+ difficultyText = "悪夢"
1230
+ difficulty = 3
1231
+
1232
+ else
1233
+ return nil
1234
+ end
1235
+
1236
+ case area
1237
+ when 1
1238
+ areaText = "洞窟"
1239
+ table = [
1240
+ [1, [
1241
+ 'キャンディークラウン(CL40)1匹',
1242
+ 'キャンディクラウン(CL40)「1D-3」匹(最低1匹)',
1243
+ 'キャンディークラウン「1D-2」匹(最低1匹)出目が6だった場合ゴールデンクラウン(CL177)1匹',
1244
+ 'ゴールデンクラウン(CL177)とエンカウント'
1245
+ ]],
1246
+ [2, [
1247
+ 'ベルセルク(CL7)3匹',
1248
+ 'ベルセルク(CL7)3匹([命中]+4、[HP]+30、[FP]+10、あらゆる致傷力+20)',
1249
+ 'ベルセルク(CL7)3匹([命中]+8、[HP]+60、[FP]+20、あらゆる致傷力+40)',
1250
+ 'ベルセルク(CL7)3匹([命中]+16、[HP]+120、[FP]+40、あらゆる致傷力+80)'
1251
+ ]],
1252
+ [3, [
1253
+ 'ガーゴイル(CL10)2匹',
1254
+ 'ガーゴイル(CL10)2匹([命中]+4、[HP]+20、[FP]+10、あらゆる致傷力と防護点+20)',
1255
+ 'ガーゴイル(CL10)2匹([命中]+8、[HP]+40、[FP]+20、あらゆる致傷力と防護点+40)',
1256
+ 'ザッハーク(CL39)3匹'
1257
+ ]],
1258
+ [4, [
1259
+ 'デビルホイール(CL18)1匹',
1260
+ 'デビルホイール(CL18)1匹、あらゆる致傷力+20',
1261
+ 'デビルホイール(CL18)1匹、あらゆる致傷力+40',
1262
+ 'ムスペルヘイムの獣(CL65)、あらゆる防護点+20'
1263
+ ]],
1264
+ [5, [
1265
+ 'ヘルハウンド(CL12)1匹、インプ(CL3)2匹',
1266
+ 'フェニックス(CL25)2匹',
1267
+ '火龍ヘルブレイザー(CL50)1匹、ケルベロス(CL33)1匹',
1268
+ '煉獄龍バーガトリ(CL100)1匹'
1269
+ ]],
1270
+ [6, [
1271
+ 'アイスメイデン(CL10)1匹、アイスリザード(CL7)2匹',
1272
+ 'クリスタルビースト(CL25)2匹',
1273
+ '氷河龍グレイシャル(CL65)1匹',
1274
+ '冥界龍コキュートス(CL110)1匹'
1275
+ ]],
1276
+ ]
1277
+
1278
+ when 2
1279
+ areaText = "遺跡"
1280
+ table = [
1281
+ [1, [
1282
+ '1Dをふって無限の迷宮の地形から1つ選択する。その地形で該当する難易度[初級]に名前の書かれたエネミーが全て1体ずつ出現する。特別な強化が施されている場合それも適用する。',
1283
+ '1Dをふって無限の迷宮の地形から1つ選択する。その地形で該当する難易度[中級]に名前の書かれたエネミーが全て1体ずつ出現する。特別な強化が施されている場合それも適用する。',
1284
+ '1Dをふって無限の迷宮の地形から1つ選択する。その地形で該当する難易度[上級]に名前の書かれたエネミーが全て1体ずつ出現する。特別な強化が施されている場合それも適用する。',
1285
+ '1Dをふって無限の迷宮の地形から1つ選択する。その地形で該当する難易度[悪夢]に名前の書かれたエネミーが全て1体ずつ出現する。特別な強化が施されている場合それも適用する。'
1286
+ ]],
1287
+ [2, [
1288
+ 'アルテミス(CL8)3匹',
1289
+ 'アルテミス(CL8)3匹([命中]+4、[HP]+30、[FP]+20、あらゆる致傷力+20)',
1290
+ 'アルテミス(CL8)3匹([命中]+8、[HP]+60、[FP]+30、あらゆる致傷力+40)',
1291
+ 'アルテミス(CL8)3匹([命中]+16、[HP]+120、[FP]+40、あらゆる致傷力+80)'
1292
+ ]],
1293
+ [3, [
1294
+ 'スターゲイザー(CL10)2匹',
1295
+ 'コスモロジスト(CL20)2匹',
1296
+ 'コスモロジスト(CL20)4匹',
1297
+ 'デスサジタリー(CL45)2匹'
1298
+ ]],
1299
+ [4, [
1300
+ 'ヤシャ(CL10)1匹、スケルトン(CL3)3匹',
1301
+ 'ヤシャ(CL10)3匹([命中]+4、[HP]+30、[FP]+10、あらゆる致傷力+15)',
1302
+ 'アシュラ(CL48)2匹',
1303
+ 'コンゴウ(CL60)2匹'
1304
+ ]],
1305
+ [5, [
1306
+ 'ヘルハウンド(CL12)2匹',
1307
+ 'クリスタルビースト(CL25)2匹',
1308
+ '火龍ヘルブレイザー(CL50)1匹、氷河龍グレイシャル(CL65)',
1309
+ '『単眼の巨神』アイングロース(CL100/ネームド)'
1310
+ ]],
1311
+ [6, [
1312
+ 'ゴーレム(CL13)1匹',
1313
+ 'ミスリルゴーレム(CL27)1匹',
1314
+ 'アダマンゴーレム(CL45)1匹',
1315
+ 'カラクリヒメショーグン(CL75)1匹'
1316
+ ]],
1317
+ ]
1318
+
1319
+ when 3
1320
+ areaText = "山岳"
1321
+ table = [
1322
+ [1, [
1323
+ 'アイアンプリチン(CL5)5匹',
1324
+ 'アイアンプリチン(CL5)5匹([命中]+4、[HP]+30、[FP]+10)',
1325
+ 'アイアンプリチン(CL5)5匹([命中]+8、[HP]+60、[FP]+20)',
1326
+ 'アイアンプリチン(CL5)5匹([命中]+16、[HP]+120、[FP]+40)'
1327
+ ]],
1328
+ [2, [
1329
+ 'ウイングスレイブ(CL4)5匹',
1330
+ 'ウイングスレイブ(CL4)5匹([命中]+4、[HP]+30、[FP]+10、あらゆる致傷力+20)',
1331
+ 'ガルーダ(CL40)2匹',
1332
+ '栄光の天使(CL60)2匹'
1333
+ ]],
1334
+ [3, [
1335
+ 'ブラックナイト(CL10)1匹、ソルジャー(CL4)3匹',
1336
+ 'デュラハン(CL22)1匹、ブラックナイト(CL10)2匹',
1337
+ 'サーバントマスター(CL35)1匹、デュラハン(CL22)2匹',
1338
+ 'ジェネラル(CL55)1匹、サーバントマスター(CL35)2匹'
1339
+ ]],
1340
+ [4, [
1341
+ 'ソルジャーアント(CL8)2匹',
1342
+ 'ソルジャーアント(CL8)2匹([命中]+4、[HP]+30、[FP]+10、あらゆる致傷力+20)',
1343
+ 'インペリアルアント(CL30)2匹',
1344
+ '『女王キノコ』アカシックツリー(CL50/ネームド)1匹、インペリアルアント(CL30)2匹'
1345
+ ]],
1346
+ [5, [
1347
+ 'カボチャの魔女(CL8)2匹',
1348
+ 'カボチャの魔女(CL8)2匹([命中]+4、[HP]+30、[FP]+10、あらゆる致傷力+20)',
1349
+ 'カボチャの大魔女(CL35)2匹',
1350
+ '堕落の黒天使(CL60)2匹'
1351
+ ]],
1352
+ [6, [
1353
+ 'フェニックス(CL25)2匹',
1354
+ 'フェニックス(CL25)2匹([命中]+4、[HP]+40、[FP]+10、あらゆる致傷力+30)',
1355
+ 'フェニックス(CL25)2匹([命中]+8、[HP]+80、[FP]+20、あらゆる致傷力+60)',
1356
+ '煉獄フェニックス(CL85)2匹'
1357
+ ]],
1358
+ ]
1359
+
1360
+ when 4
1361
+ areaText = "水辺"
1362
+ table = [
1363
+ [1, [
1364
+ 'フロストクラブ(CL6)2匹',
1365
+ 'フロストクラブ(CL6)3匹',
1366
+ '『氷海の主』ギガントキャンサー(CL20/ネームド)',
1367
+ '『氷海の主』ギガントキャンサー(CL20/ネームド)、フロストクラブ(CL6)3匹'
1368
+ ]],
1369
+ [2, [
1370
+ 'アシガル(CL4)3匹',
1371
+ 'ハタモト(CL10)3匹',
1372
+ 'ヒトキリ(CL33)2匹',
1373
+ 'スカーレス(CL38)3匹'
1374
+ ]],
1375
+ [3, [
1376
+ 'アンブッシュマン(CL5)3匹',
1377
+ 'アンブッシュマン(CL5)3匹([命中]+4、[HP]+20、[FP]+10、あらゆる致傷力+10)',
1378
+ 'シャドウストーカー(CL35)2匹',
1379
+ 'シャドウストーカー(CL35)3匹'
1380
+ ]],
1381
+ [4, [
1382
+ 'アップルドール(CL12)2匹',
1383
+ 'アップルドール(CL12)2匹、ポイズンリリー(CL7)2匹',
1384
+ 'テラードール(CL30)2匹',
1385
+ 'テラードール(CL30)2匹、バリアリーフ(CL27)2匹'
1386
+ ]],
1387
+ [5, [
1388
+ 'ナイトライダー(CL15)1匹',
1389
+ 'ナイトライダー(CL15)2匹',
1390
+ 'ジェネラル(CL55)1匹',
1391
+ 'ジェネラル(CL55)2匹'
1392
+ ]],
1393
+ [6, [
1394
+ 'ジェルスケルトン(CL10)1匹',
1395
+ 'ジェルスケルトン(CL10)1匹([命中]+4、[FP]+10、あらゆる致傷力+20)',
1396
+ 'ジェルスケルトン(CL10)1匹([命中]+8、[FP]+20、あらゆる致傷力+40)',
1397
+ 'ジェルスケルトン(CL10)1匹([命中]+12、[FP]+40、あらゆる致傷力+80)'
1398
+ ]],
1399
+ ]
1400
+
1401
+ when 5
1402
+ areaText = "森林"
1403
+ table = [
1404
+ [1, [
1405
+ 'スナッチャー(CL4)3匹',
1406
+ 'ゴールデンビースト(CL10)3匹',
1407
+ 'ヨウコ(CL30)2匹',
1408
+ 'イビルオーメン(CL42)2匹'
1409
+ ]],
1410
+ [2, [
1411
+ 'スターゲイザー(CL10)1匹、オーク(CL3)3匹',
1412
+ 'スターゲイザー(CL10)1匹、ヘルハウンド(CL12)2匹',
1413
+ 'コスモロジスト(CL20)1匹、ケルベロス(CL33)1匹',
1414
+ 'サーバントマスター(CL35)1匹、ケルベロス(CL33)2匹'
1415
+ ]],
1416
+ [3, [
1417
+ 'オウルセージ(CL5)1匹、インプ(CL3)3匹。指定エネミー:オウルセージ',
1418
+ 'オウルセージ(CL5)3匹。指定エネミー:オウルセージ',
1419
+ 'オウルコマンダー(CL18)1匹、キメラ(CL15)2匹。指定エネミー:オウルコマンダー',
1420
+ 'オウルコマンダー(CL18)2匹、キメラグレート(CL60)1匹。指定エネミー:オウルコマンダー'
1421
+ ]],
1422
+ [4, [
1423
+ 'グリーンアクトレス(CL22)1匹',
1424
+ '魔将樹の騎士(CL40)1匹',
1425
+ '魔将樹の番人(CL80)1匹',
1426
+ '『魔将樹の剣姫』ロジエモール(CL120/ネームド)1匹'
1427
+ ]],
1428
+ [5, [
1429
+ 'ポイズンリリー(CL7)1匹、リリーの尖兵(CL5)1匹',
1430
+ 'ポイズンリリー(CL7)1匹、リリーの尖兵(CL5)1匹([命中]+4、[HP]+30、[FP]+10、あらゆる致傷力+20)',
1431
+ 'バリアリーフ(CL27)1匹、リリーの尖兵(CL5)1匹([命中]+8、[HP]+60、[FP]+20、あらゆる致傷力+40)',
1432
+ '『密林の女王』クイーンリリー(CL70/ネームド)1匹、リリーの尖兵(CL5)1匹([命中]+16、[HP]+120、[FP]+40、あらゆる致傷力+80)'
1433
+ ]],
1434
+ [6, [
1435
+ 'ブラックナイト(CL10)1匹、ソルジャー(CL4)3匹',
1436
+ 'ヴァルキリー(CL20)1匹、ブラックナイト(CL10)2匹',
1437
+ 'フレイヤ(CL45)1匹、ヴァルキリー(CL20)2匹',
1438
+ 'ジェネラル(CL55)1匹、フレイヤ(CL45)2匹'
1439
+ ]],
1440
+ ]
1441
+
1442
+ when 6
1443
+ areaText = "墓場"
1444
+ table = [
1445
+ [1, [
1446
+ 'ヤコ(CL6)3匹(【狐の送り火】のデータを「疲労:なし」に変更)',
1447
+ 'ヨウコ(CL30)1匹(【狐の送り火】のデータを「疲労:なし」に変更)',
1448
+ 'ヨウコ(CL30)3匹(【狐の送り火】のデータを「疲労:なし」に変更)',
1449
+ 'タタリドラゴン(CL60/ネームド)1匹(【狐の送り火】のデータを「疲労:なし」に変更)'
1450
+ ]],
1451
+ [2, [
1452
+ 'スケルトン(CL3)4匹',
1453
+ 'ナイトスケルトン(CL12)3匹',
1454
+ 'ヒトキリ(CL33)2匹(「分類:アンデッド」を追加)',
1455
+ '堕ちた黒龍(CL48)2匹'
1456
+ ]],
1457
+ [3, [
1458
+ 'ポイズンリリー(CL7)1匹(【華劇:リリーオブザバレー】使用済み)、ファントム(CL5)2匹',
1459
+ 'ポイズンリリー(CL7)1匹(【華劇:リリーオブザバレー】使用済み)、ゴースト(CL10)3匹',
1460
+ 'グリーンアクトレス(CL22)1匹(【華劇:フォレストステップ】使用済み)、デュラハン(CL22)2匹',
1461
+ 'グリーンアクトレス(CL22)1匹(【華劇:フォレストステップ】使用済み)、カラクリヒメショーグン(CL75)1匹'
1462
+ ]],
1463
+ [4, [
1464
+ '君たちの冒険はここで終了だ。',
1465
+ '君たちの冒険はここで終了だ。',
1466
+ '君たちの冒険はここで終了だ。',
1467
+ '第二魔将『葬送者』グレイヴディガー(CL200/魔将)1匹、『ディガー様親衛隊長』フネライユ(CL66/ネームド)1匹、『トラップマスター』アンテルモン(CL65/ネームド)1匹'
1468
+ ]],
1469
+ [5, [
1470
+ 'ゴースト(CL10)1匹(通常ドロップ「1000GP」)、ソルジャー(CL4)2匹',
1471
+ 'ゴースト(CL10)1匹(通常ドロップ「2000GP」)、ハタモト(CL10)3匹',
1472
+ 'リッチ(CL44)1匹(通常ドロップ「4000GP」)、ミスリルゴーレム(CL27)1匹',
1473
+ 'エルダーリッチ(CL55)1匹(通常ドロップ「8000GP」)、アダマンゴーレム(CL45)1匹'
1474
+ ]],
1475
+ [6, [
1476
+ 'ボーンスネーク(CL20)1匹',
1477
+ 'ボーンスネーク(CL20)2匹',
1478
+ 'ラダマンティスの蛇(CL50)1匹',
1479
+ 'ラダマンティスの蛇(CL50)1匹(ネームド仕様[HP4倍、【ネームドエネミー】習得])'
1480
+ ]],
1481
+ ]
1482
+
1483
+ when 0
1484
+ table = [
1485
+ [256, [
1486
+ 'ボーンスネーク(CL50)1匹',
1487
+ 'ラダマンティスの蛇(CL50)1匹',
1488
+ '銀河龍ラクテア/ドラゴン形態(CL90)1匹',
1489
+ '『三つ首の災厄』トライディザスター(CL100/ネームド)1匹'
1490
+ ]],
1491
+ [265, [
1492
+ 'キャンディークラウン(CL40)「1D」匹',
1493
+ 'キャンディークラウン(CL40)「1D+1」匹',
1494
+ 'キャンディークラウン(CL40)「1D」匹、ゴールデンクラウン(CL177)1匹',
1495
+ 'キャンディークラウン(CL40)「1D」匹、ゴールデンクラウン(CL177)2匹'
1496
+ ]],
1497
+ [465, [
1498
+ 'リビングデッド(CL5)3匹',
1499
+ 'ゴースト(CL10)3匹',
1500
+ 'デュラハン(CL22)3匹',
1501
+ 'リッチ(CL44)3匹'
1502
+ ]],
1503
+ [665, [
1504
+ 'カロン(CL12)2匹',
1505
+ 'カロンキャプテン(CL25)2匹',
1506
+ 'リッチ(CL44)2匹',
1507
+ 'エルダーリッチ(CL55)2匹([HP]+10)'
1508
+ ]],
1509
+ [666, [
1510
+ '『漆黒の戦鬼』ブラックナイト(CL10/ネームド)1匹',
1511
+ '『漆黒の戦鬼』ブラックナイト(CL10/ネームド)1匹([命中]+4、あらゆる致傷力+20、[HP]+200)',
1512
+ '『白銀の猛将』ジェネラル(CL55/ネームド)1匹',
1513
+ '『白銀の猛将』ジェネラル(CL55/ネームド)1匹([命中]+4、あらゆる致傷力+20、[HP]+500)'
1514
+ ]],
1515
+ ]
1516
+ case event / 100
1517
+ when 1
1518
+ areaText = "洞窟"
1519
+ when 2
1520
+ areaText = "遺跡"
1521
+ when 3
1522
+ areaText = "山岳"
1523
+ when 4
1524
+ areaText = "水辺"
1525
+ when 5
1526
+ areaText = "森林"
1527
+ when 6
1528
+ areaText = "墓場"
1529
+ else
1530
+ return nil
1531
+ end
1532
+
1533
+ else
1534
+ return nil
1535
+ end
1536
+
1537
+ result = get_table_by_number(event, table)
1538
+
1539
+ return "#{tableName}(#{number}):#{areaText}<#{difficultyText}>:#{result[difficulty]}"
1540
+ end
1541
+ end
1542
+ end
1543
+ end