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