bcdice 3.5.0 → 3.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +29 -0
- data/i18n/FutariSousa/ja_jp.yml +705 -9
- data/i18n/KillDeathBusiness/ja_jp.yml +1 -1
- data/i18n/SwordWorld/ja_jp.yml +6 -0
- data/i18n/SwordWorld2_0/ja_jp.yml +37 -0
- data/i18n/SwordWorld2_5/ja_jp.yml +57 -0
- data/lib/bcdice/common_command/add_dice/node.rb +28 -4
- data/lib/bcdice/common_command/add_dice/parser.rb +149 -85
- data/lib/bcdice/dice_table/d66_parity_table.rb +8 -0
- data/lib/bcdice/game_system/Avandner.rb +1 -2
- data/lib/bcdice/game_system/Ayabito.rb +229 -0
- data/lib/bcdice/game_system/BattleTech.rb +1 -1
- data/lib/bcdice/game_system/CyberpunkRed.rb +135 -0
- data/lib/bcdice/game_system/DarkDaysDrive.rb +76 -41
- data/lib/bcdice/game_system/Elysion.rb +36 -20
- data/lib/bcdice/game_system/FutariSousa.rb +48 -4
- data/lib/bcdice/game_system/KemonoNoMori.rb +17 -17
- data/lib/bcdice/game_system/NeverCloud.rb +19 -8
- data/lib/bcdice/game_system/Shiranui.rb +145 -0
- data/lib/bcdice/game_system/ShuumatsuKikou.rb +298 -0
- data/lib/bcdice/game_system/StarryDolls.rb +318 -0
- data/lib/bcdice/game_system/StrangerOfSwordCity.rb +18 -5
- data/lib/bcdice/game_system/SwordWorld.rb +6 -6
- data/lib/bcdice/game_system/SwordWorld2_0.rb +16 -39
- data/lib/bcdice/game_system/SwordWorld2_5.rb +3 -63
- data/lib/bcdice/game_system/VampireTheMasquerade5th.rb +29 -28
- data/lib/bcdice/game_system/cyberpunk_red/tables.rb +530 -0
- data/lib/bcdice/game_system/meikyu_kingdom/tables.rb +1 -1
- data/lib/bcdice/game_system/meikyu_kingdom_basic/table.rb +1 -1
- data/lib/bcdice/game_system/satasupe/tables.rb +1 -1
- data/lib/bcdice/game_system/sword_world/rating_options.rb +47 -0
- data/lib/bcdice/game_system/sword_world/rating_parsed.rb +34 -82
- data/lib/bcdice/game_system/sword_world/rating_parser.rb +43 -53
- data/lib/bcdice/game_system/sword_world/transcendent_test.rb +14 -10
- data/lib/bcdice/game_system.rb +4 -0
- data/lib/bcdice/randomizer.rb +1 -1
- data/lib/bcdice/version.rb +1 -1
- metadata +11 -2
@@ -0,0 +1,298 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module BCDice
|
4
|
+
module GameSystem
|
5
|
+
class ShuumatsuKikou < Base
|
6
|
+
# ゲームシステムの識別子
|
7
|
+
ID = 'ShuumatsuKikou'
|
8
|
+
|
9
|
+
# ゲームシステム名
|
10
|
+
NAME = '終末紀行RPG'
|
11
|
+
|
12
|
+
# ゲームシステム名の読みがな
|
13
|
+
SORT_KEY = 'しゆうまつきこう'
|
14
|
+
|
15
|
+
# ダイスボットの使い方
|
16
|
+
HELP_MESSAGE = <<~HELP
|
17
|
+
■判定
|
18
|
+
xB6>=5
|
19
|
+
x: 能力値
|
20
|
+
(汎用コマンドそのままです)
|
21
|
+
|
22
|
+
■各種表
|
23
|
+
資源の減少チェック: ResourceLose, RLose
|
24
|
+
獲得資源決定: ResourceGain, RGain
|
25
|
+
|
26
|
+
□ランダムエリア決定表
|
27
|
+
都市/荒野決定: RandomArea, RArea
|
28
|
+
荒野エリア決定: RandomWaste, RWaste
|
29
|
+
都市エリア決定: RandomUrban, RUrban
|
30
|
+
|
31
|
+
□ランダム障害シーン決定表
|
32
|
+
シーン決定: RandomObs, RObs
|
33
|
+
技術系A: RandomObsTechA, ROTA
|
34
|
+
技術系B: RandamObsTechB, ROTB
|
35
|
+
生存系A: RandomObsSurviveA, ROSA
|
36
|
+
生存系B: RandomObsSurviveB, ROSB
|
37
|
+
戦闘系A: RandomObsCombatA, ROCA
|
38
|
+
戦闘系B: RandomObsCombatB, ROCB
|
39
|
+
|
40
|
+
□ランダム旅情シーン決定表
|
41
|
+
シーン決定: RandomEmo, REmo
|
42
|
+
日常系A: RandomEmoDailyA, REDA
|
43
|
+
日常系B: RandomEmoDailyB, REDB
|
44
|
+
日常系C: RandomEmoDailyC, REDC
|
45
|
+
追憶系A: RandomEmoReminiscenceA, RERA
|
46
|
+
追憶系B: RandomEmoReminiscenceB, RERB
|
47
|
+
追憶系C: RandomEmoReminiscenceC, RERC
|
48
|
+
|
49
|
+
□ランダム難所シーン決定表
|
50
|
+
荒野系: RandomDangerousWaste, RDW
|
51
|
+
都市系: RandomDangerousUrban, RDU
|
52
|
+
HELP
|
53
|
+
|
54
|
+
def eval_game_system_specific_command(command)
|
55
|
+
roll_tables(ALIAS[command] || command, TABLES)
|
56
|
+
end
|
57
|
+
|
58
|
+
# 5要素のテーブル.
|
59
|
+
# 1D6 を [1..2, 3, 4, 5, 6] の5通りに割り振る.
|
60
|
+
class FiveItemsTable < DiceTable::RangeTable
|
61
|
+
def initialize(name, item1, item2, item3, item4, item5)
|
62
|
+
super(
|
63
|
+
name,
|
64
|
+
"1D6",
|
65
|
+
[
|
66
|
+
[1..2, item1],
|
67
|
+
[3, item2],
|
68
|
+
[4, item3],
|
69
|
+
[5, item4],
|
70
|
+
[6, item5],
|
71
|
+
]
|
72
|
+
)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
TABLES = {
|
77
|
+
"ResourceLose" => DiceTable::Table.new(
|
78
|
+
"資源の減少チェック",
|
79
|
+
"1D6",
|
80
|
+
[
|
81
|
+
"〈食料〉",
|
82
|
+
"〈健康〉",
|
83
|
+
"〈電力〉",
|
84
|
+
"〈パーツ〉",
|
85
|
+
"〈ヴィークル〉",
|
86
|
+
"[資源の減少チェック]をもう1回行なう。その際、減少する資源は1ではなく2となる。",
|
87
|
+
]
|
88
|
+
),
|
89
|
+
"ResourceGain" => DiceTable::Table.new(
|
90
|
+
"獲得資源決定",
|
91
|
+
"1D6",
|
92
|
+
[
|
93
|
+
"〈食料〉",
|
94
|
+
"〈健康〉",
|
95
|
+
"〈電力〉",
|
96
|
+
"〈パーツ〉",
|
97
|
+
"〈ヴィークル〉",
|
98
|
+
"任意、好きな資源を手に入れる。",
|
99
|
+
]
|
100
|
+
),
|
101
|
+
"RandomArea" => DiceTable::RangeTable.new(
|
102
|
+
"都市/荒野決定",
|
103
|
+
"1D6",
|
104
|
+
[
|
105
|
+
[1..3, "荒野エリア決定表へ( → RWaste )"],
|
106
|
+
[4..6, "都市エリア決定表へ( → RUrban )"],
|
107
|
+
]
|
108
|
+
),
|
109
|
+
"RandomWaste" => FiveItemsTable.new(
|
110
|
+
"荒野エリア決定",
|
111
|
+
"平原――地平線の果てまで続く、茫漠とした荒野。それを貫くように走るハイウェイの痕跡。その沿道に廃墟が点在している。",
|
112
|
+
"砂漠――砂漠がどこまでも広がっている。大海に浮かぶ島のように、倒壊した高層ビルが顔を出している。熱と渇きが旅人を苛む。",
|
113
|
+
"汚染地帯――土も、水も、空気さえも、汚染物質で満たされた区域。ここでは呼吸すらも死を招く。あまり長居したい土地ではない。",
|
114
|
+
"雪原――視界一面を覆う雪の大地。ただそこにいるだけで、身体の熱が奪われていく。生命の活動を許さないモノトーンの世界だ。",
|
115
|
+
"山岳――旅人の前にそびえる巨大な山塊。山越えは落石や崩落の危険性など、通過するだけでリスクが高い。だが他に道はない。"
|
116
|
+
),
|
117
|
+
"RandomUrban" => FiveItemsTable.new(
|
118
|
+
"都市エリア決定",
|
119
|
+
"無人都市――かつて栄華を誇ったメトロポリス。だが今、旅人のほかに動いているものはいない。無数のビル群が墓標のようにそびえる。",
|
120
|
+
"要塞都市――巨大な城壁と、朽ち果てた無人防衛兵器群によって守られた要塞都市。この都市が守ろうとした住人はもういない。",
|
121
|
+
"地下都市――放棄された広大な地下シェルター。光の届かない暗黒の地下空間。ある時期の人類は、地下に生活拠点を移していたようだ。",
|
122
|
+
"密林都市――この都市の廃墟は、繁茂したミュータント植物の密林に覆われている。そこには異形の生態系が成立している。",
|
123
|
+
"水没都市――水没した都市。かつての人類の遺構群が、上昇した海面下に沈んでいる。都市の新たな主は、ミュータント魚群だ。"
|
124
|
+
),
|
125
|
+
"RandomObs" => DiceTable::Table.new(
|
126
|
+
"障害シーン決定",
|
127
|
+
"1D6",
|
128
|
+
[
|
129
|
+
"技術系A( → ROTA )",
|
130
|
+
"技術系B( → ROTB )",
|
131
|
+
"生存系A( → ROSA )",
|
132
|
+
"生存系B( → ROSB )",
|
133
|
+
"戦闘系A( → ROCA )",
|
134
|
+
"戦闘系B( → ROCB )",
|
135
|
+
]
|
136
|
+
),
|
137
|
+
"RandomObsTechA" => FiveItemsTable.new(
|
138
|
+
"ランダム障害シーン/技術系A",
|
139
|
+
"電子ロック――電子ロックが生きている倉庫を発見。ロックを開けて中の資源を回収する。【技術】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら[資源の減少チェック]1回。",
|
140
|
+
"発電機の再生――停止した風力発電機(風車)を発見。発電効率は低いが、復旧させればロボットのバッテリーを充電できる。【技術】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈電力〉-1。",
|
141
|
+
"オーバーホール――ヴィークルが不調だ。一度しっかり分解整備(オーバーホール)しなければ。【技術】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈ヴィークル〉-1。",
|
142
|
+
"リフォーム――居心地の良さそうな住居跡を発見。ちょっとリフォームすれば、快適な休息を取れる。【技術】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈健康〉-1。",
|
143
|
+
"ロボット工場――ロボット工場跡を発見。残された部品をうまく加工すれば、劣化したパーツを交換できる。【技術】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈パーツ〉-1。"
|
144
|
+
),
|
145
|
+
"RandomObsTechB" => FiveItemsTable.new(
|
146
|
+
"ランダム障害シーン/技術系B",
|
147
|
+
"悪路走破――ヴィークルで悪路を走る。スピードを落とさず走り抜ければ、時間的消耗を抑えることができる。【技術】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら[資源の減少チェック]を1回行なう。",
|
148
|
+
"食料生産プラント――食料生産プラント跡を発見。うまく復旧すれば、最後に残った材料で食料を生産できる。【技術】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈食料〉-1。",
|
149
|
+
"パーツ交換――ロボットのパーツが劣化、破損する。予備パーツはあるが、自力では交換が難しい。【技術】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈パーツ〉-1。",
|
150
|
+
"バッテリー回収――ドローンの残骸を発見。うまく解体すれば、バッテリーを回収できそうだ。【技術】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈電力〉-1。",
|
151
|
+
"ロボットの行商人――ロボットの行商人と出会う。彼は旅人たち(「数十年ぶりの客」らしい)に取り引きを持ちかけてくる。行商人の提示する品物の質を見極めろ。【技術】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0ならボッタくられ、[資源の減少チェック]を1回行なう。"
|
152
|
+
),
|
153
|
+
"RandomObsSurviveA" => FiveItemsTable.new(
|
154
|
+
"ランダム障害シーン/生存系A",
|
155
|
+
"迷い路――入り組んだ地域を進む。方向感覚を失えば、さらなる消耗を強いられる。【生存】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら道に迷い、[資源の減少チェック]を1回行なう。",
|
156
|
+
"危険地帯――ガスや汚染物質に満ちた危険地帯を通過する。ロボットはともかく、人間は長居できない。【生存】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら人間は負傷し〈健康〉-1。",
|
157
|
+
"カビ――ロボットにミュータントのカビが生える。このカビは特定の貴金属を好む。すぐに除去しなければ。【生存】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈パーツ〉-1。",
|
158
|
+
"水不足――水不足が深刻化し始める。一刻も早く水源を探して、補充しなければ。【生存】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈食料〉-1。",
|
159
|
+
"崩壊寸前――崩れかかった遺跡から、資源を回収する。時間をかければ崩落に巻き込まれる。【生存】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら[資源の減少チェック]を1回行なう。"
|
160
|
+
),
|
161
|
+
"RandomObsSurviveB" => FiveItemsTable.new(
|
162
|
+
"ランダム障害シーン/生存系B",
|
163
|
+
"隠れんぼ――狂暴なミュータントの群を発見。隠れてやりすごせ。【生存】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら[資源の減少チェック]を1回行なう。",
|
164
|
+
"ソーラーパネル掃除――ソーラーパネルを繁茂したミュータント植物が覆っている。植物を刈り取ってパネルを復旧し、電力を得よう。【生存】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈電力〉-1。",
|
165
|
+
"スタック――泥や砂地にハマって、ヴィークルがスタックする。力づくで引きずり出せ。【生存】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈ヴィークル〉-1。",
|
166
|
+
"体調不良――汚染物質を吸引したか、毒に当たったか、体調が急変する。うまく療養(看病)せよ。【生存】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈健康〉-1。",
|
167
|
+
"保存食の加工――食料の確保。小型の可食ミュータントを捕獲した。うまく保存用に加工せよ。【生存】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈食料〉-1。"
|
168
|
+
),
|
169
|
+
"RandomObsCombatA" => FiveItemsTable.new(
|
170
|
+
"ランダム障害シーン/戦闘系A",
|
171
|
+
"大群との遭遇――狂暴なミュータントの群の襲撃を受ける。激しい戦闘で消耗戦となる。【戦闘】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら[資源の減少チェック]を1回行なう。",
|
172
|
+
"地獄の毒々ミュータント――猛毒を持つ狂暴なミュータントが襲ってくる。うまく毒を避けて倒さなければ。【戦闘】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈健康〉-1。",
|
173
|
+
"暴走ドローン――暴走ドローンを発見。ロボットと共通のパーツを使っているようだ。うまく破壊すればパーツを回収できる。【戦闘】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈パーツ〉-1。",
|
174
|
+
"生体発電機――発電器官を有するミュータントに遭遇。発電器官を潰さずにしとめれば、電池代わりになるかもしれない。【戦闘】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈電力〉-1。",
|
175
|
+
"高速戦闘――ヴィークル型の高速ドローンが襲ってくる。ヴィークルを破壊して部品を奪うつもりのようだ。返り討ちにして逆に部品を奪え。【戦闘】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈ヴィークル〉を1失う。"
|
176
|
+
),
|
177
|
+
"RandomObsCombatB" => FiveItemsTable.new(
|
178
|
+
"ランダム障害シーン/戦闘系B",
|
179
|
+
"瓦礫撤去――巨大な瓦礫が進路を塞いでいる。破壊して通らなければ、遠回りを強いられ消耗する。【戦闘】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら[資源の減少チェック]を1回行なう。",
|
180
|
+
"溶解ミュータント――金属や樹脂を溶かすミュータントに遭遇。執拗にロボットを狙ってくる。【戦闘】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈パーツ〉-1。",
|
181
|
+
"電気食らい――電気を食う蟲型ドローンが寄ってくる。ロボットの体内にある電池は、彼らの食糧だ。【戦闘】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈電力〉-1。",
|
182
|
+
"殺人機械――暴走ドローンが襲ってくる。対人殺傷用らしく、人間だけを執拗に狙ってくる。【戦闘】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈健康〉-1。",
|
183
|
+
"ごちそうミュータント――大型の可食ミュータントに遭遇。貴重な食糧だ、可食部位を傷つけずに倒そう。【戦闘】の協力判定を行なう。成功数3以上なら[リワード]を1得る。成功数0なら〈食料〉-1。"
|
184
|
+
),
|
185
|
+
"RandomEmo" => DiceTable::Table.new(
|
186
|
+
"旅情シーン決定",
|
187
|
+
"1D6",
|
188
|
+
[
|
189
|
+
"日常系A( → REDA )",
|
190
|
+
"日常系B( → REDB )",
|
191
|
+
"日常系C( → REDC )",
|
192
|
+
"追憶系A( → RERA )",
|
193
|
+
"追憶系B( → RERB )",
|
194
|
+
"追憶系C( → RERC )",
|
195
|
+
]
|
196
|
+
),
|
197
|
+
"RandomEmoDailyA" => FiveItemsTable.new(
|
198
|
+
"ランダム旅情シーン/日常系A",
|
199
|
+
"野営――ふたりぼっちの夜がくる。熱を失わないよう、火を焚き、寄り添う。",
|
200
|
+
"暇つぶし――悪天候などにより、停滞を余儀なくされる。暇だ。とにかく暇だ。",
|
201
|
+
"遊ぶ――遊ぶ。かくれんぼでも、しりとりでも、雪合戦でも、なんでもいい。まったく無意味だが、それがいい。",
|
202
|
+
"訓練――いつ、どんな危険が襲ってくるか解らない。武器の扱いを訓練しよう。",
|
203
|
+
"移動――ヴィークルに揺られて移動する。淡々と、黄昏の景色がゆっくりと流れていく。"
|
204
|
+
),
|
205
|
+
"RandomEmoDailyB" => FiveItemsTable.new(
|
206
|
+
"ランダム旅情シーン/日常系B",
|
207
|
+
"食事――人間は、ものを食べなければ生きていけない。どうせいつかは死ぬのに、不便なことだ。",
|
208
|
+
"観察――もうひとりの旅人を観察する。今まで知らなかった一面が見られるかもしれない。知らない方がよかったかもしれない。",
|
209
|
+
"整備――ヴィークルを整備する。こいつも大事な旅の仲間だ。だが、いつかは部品や燃料が尽き、動かなくなるだろう。",
|
210
|
+
"星空――星空を見上げる。世界は激変したが、星の光はほとんど変わらない。ちょっと北極星がズレたぐらいだ。",
|
211
|
+
"水浴び――水場を発見。水浴びして汚れを落とす。ついでに洗濯も済ませてしまおう。どうせまた汚れるけど。"
|
212
|
+
),
|
213
|
+
"RandomEmoDailyC" => FiveItemsTable.new(
|
214
|
+
"ランダム旅情シーン/日常系C",
|
215
|
+
"記録――日記でも、写真、スケッチ、なんでもいい。今この瞬間を、形にして残しておきたい。",
|
216
|
+
"酒――なんと生きている酒蔵を発見。飲もうぜ、今宵、銀河を杯にして。ロボットが酔えるかは知らん。",
|
217
|
+
"歌う――なぜかメロディーが口をついて出る。郷愁を覚える。かつて好きだった歌なのかもしれない。",
|
218
|
+
"悪夢――悪夢にうなされ目が覚める。だが目覚めたこの世界が、悪夢よりマシであると言えるだろうか?",
|
219
|
+
"ケンカ――ささいなことが原因で仲たがいする。セッション中に仲直りしておけ。理由は「大事なもの」を壊してしまった、などがよいだろう、"
|
220
|
+
),
|
221
|
+
"RandomEmoReminiscenceA" => FiveItemsTable.new(
|
222
|
+
"ランダム旅情シーン/追憶系A",
|
223
|
+
"住居――住居跡を訪れる。ミイラ化した人間の死体を発見する。だいぶ前に死んだものだ。この死体はどう生き、どう死んだのだろう?",
|
224
|
+
"届かなかった手紙――郵便ポストを発見する。配達されなかった手紙が残されている。恋文、借金の督促など、往時の人類の日常を垣間見る。",
|
225
|
+
"ゆうえんち――娯楽施設跡(遊園地、テーマパーク)を訪れる。システムが生きており、稼働している遊具がある。少し遊んで行こう。きっと旅人は最後の客だ。",
|
226
|
+
"終末ショッピング――商業施設跡(ショッピングモールなど)を訪れる。半壊した接客ロボットが現れ、何もない店内を案内する。その後「彼」は機能を停止する。",
|
227
|
+
"天国なんてあるのかな――宗教施設跡(墓所や教会など)を訪れる。旅人が死んだら、誰が弔うのか? 天国はあるのか? ロボットもそこに行けるのか?"
|
228
|
+
),
|
229
|
+
"RandomEmoReminiscenceB" => FiveItemsTable.new(
|
230
|
+
"ランダム旅情シーン/追憶系B",
|
231
|
+
"人の遺したもの――文化施設跡(博物館、図書館、美術館)を訪れる。人類が築いた文化の残滓を垣間見る。",
|
232
|
+
"残骸――旅人のロボットとよく似た、別のロボットの残骸を発見する。このロボットは何のために動き、ここで力尽きたのだろう。",
|
233
|
+
"飛ばない鳥――飛行場跡を訪れる。無数の航空機が擱座している。この人工の鳥たちが、ふたたび空を舞うことはないだろう。",
|
234
|
+
"湯けむり終末紀行――温泉レジャー施設跡を訪れる。施設は半壊しているが、なんと未だに温泉が湧き続けている。世界が終わっても、温泉は心地よい。",
|
235
|
+
"終末学校――学校の跡を訪れる。机とイスが散乱している。人間の子供たちは、ここでさまざまなことを学んだのだろう。"
|
236
|
+
),
|
237
|
+
"RandomEmoReminiscenceC" => FiveItemsTable.new(
|
238
|
+
"ランダム旅情シーン/追憶系C",
|
239
|
+
"兵どもが夢の跡――戦場跡を通過する。動かなくなった兵器があちこちに散らばっている。彼らは何と、何のために戦ったのだろう?",
|
240
|
+
"地下鉄――廃墟の地下鉄。旅人が車両に乗ると、自動制御で勝手に走り出す。次の駅に到着すると、最後まで残っていた電力が尽きる。終電だったらしい。",
|
241
|
+
"謎のプラント――巨大なプラント跡を訪れる。爆発でもあったらしく、中心部が半壊している。あちこちにある表示は「ぬーくりあ」「でんじゃー」と読める。",
|
242
|
+
"メリークリスマス――廃墟が、電飾や植物を模した模型で飾り立てられている。赤い服を着て袋を持ち、動物のひくソリに乗った老人の人形が置かれている。",
|
243
|
+
"せめてよい夢を――完全に停止した冷凍睡眠施設を発見。眠ったまま干からびた人々がいる。旅人もこうなっていたかもしれない。その方が幸せだったかも。"
|
244
|
+
),
|
245
|
+
"RandomDangerousWaste" => DiceTable::Table.new(
|
246
|
+
"ランダム難所シーン/荒野系",
|
247
|
+
"1D6",
|
248
|
+
[
|
249
|
+
"渡河( p27 )",
|
250
|
+
"ワイルドレース( p27 )",
|
251
|
+
"冬来たる( p27 )",
|
252
|
+
"果てなき熱砂( p28 )",
|
253
|
+
"鋼鉄の嵐( p28 )",
|
254
|
+
"殺戮兵器、起動( p28 )",
|
255
|
+
]
|
256
|
+
),
|
257
|
+
"RandomDangerousUrban" => DiceTable::Table.new(
|
258
|
+
"ランダム難所シーン/都市系",
|
259
|
+
"1D6",
|
260
|
+
[
|
261
|
+
"亀裂を超える( p29 )",
|
262
|
+
"プラント復旧( p29 )",
|
263
|
+
"地下迷宮( p29 )",
|
264
|
+
"塔を登る( p29 )",
|
265
|
+
"自動防衛システム( p30 )",
|
266
|
+
"地底よりの恐怖( p30 )",
|
267
|
+
]
|
268
|
+
),
|
269
|
+
}.transform_keys(&:upcase).freeze
|
270
|
+
|
271
|
+
ALIAS = {
|
272
|
+
"RLose" => "ResourceLose",
|
273
|
+
"RGain" => "ResourceGain",
|
274
|
+
"RArea" => "RandomArea",
|
275
|
+
"RWaste" => "RandomWaste",
|
276
|
+
"RUrban" => "RandomUrban",
|
277
|
+
"RObs" => "RandomObs",
|
278
|
+
"ROTA" => "RandomObsTechA",
|
279
|
+
"ROTB" => "RandomObsTechB",
|
280
|
+
"ROSA" => "RandomObsSurviveA",
|
281
|
+
"ROSB" => "RandomObsSurviveB",
|
282
|
+
"ROCA" => "RandomObsCombatA",
|
283
|
+
"ROCB" => "RandomObsCombatB",
|
284
|
+
"REmo" => "RandomEmo",
|
285
|
+
"REDA" => "RandomEmoDailyA",
|
286
|
+
"REDB" => "RandomEmoDailyB",
|
287
|
+
"REDC" => "RandomEmoDailyC",
|
288
|
+
"RERA" => "RandomEmoReminiscenceA",
|
289
|
+
"RERB" => "RandomEmoReminiscenceB",
|
290
|
+
"RERC" => "RandomEmoReminiscenceC",
|
291
|
+
"RDW" => "RandomDangerousWaste",
|
292
|
+
"RDU" => "RandomDangerousUrban",
|
293
|
+
}.transform_keys(&:upcase).transform_values(&:upcase).freeze
|
294
|
+
|
295
|
+
register_prefix(TABLES.keys, ALIAS.keys)
|
296
|
+
end
|
297
|
+
end
|
298
|
+
end
|