懐かしのネットハック(NetHack)をチートでプレイ [RPGゲーム]

2018-03-26 記載
トピックゲーム

30年前のコンピュータ黎明期に私を熱狂させたネットハック(NetHack)がまだ生き残っていることにびっくりしました。
当時は普通にプレイして最高で15階前後(?)の別世界みたいなところに行くのが限界だったような気がしますがあまりよく覚えていません。



今回ちょっとプレイしてみたくなりましたが、流石に真面目にプレイしている年ではありませんのでもちろんチートします。 元々NetHackには探索モードとかついていますがそれを使ってしまうと正式クリアにならなかったり何かと不便なことも多いので、せっかくソースコードがあるのですからソースに手を入れます。

普通はワルキューレが最初から良い盾を持っているのでやり易いですし、魔法は何度も覚え直さないとどんどんと忘れるシステムなので普通にやるには力が強いキャラの方がやり易いのですがチートしてしまえば魔法は何回でも使えますしHPとMPは関係ないのでエルフの女魔法使い(ウィザード)で行きます。魔法使いと言えばなんとなくロードス島戦記の女性のエルフのイメージが残っています。


2023/10/16 追記

以下は元々Macでそのままビルドしておりましたが、DockerにしてGitHubにアップしました。
https://github.com/masalatea/NetHackCustom
Dockerをインストール後、手元でビルドできます。
(以下の一部は入っていません。)


今回はチートするためにソースコードからビルドします。環境はMacです。
まずは以下をダウンロード
ソースコード nethack-361-src.tgz (公式ページ)
日本語パッチ jnethack-3.6.1-0.3.diff.gz (JNetHackページ)
メモ: 以下のように文字コード変換しつつパッチ適用する必要がありそう。
cat jnethack-3.6.1-0.1.diff |iconv -f cp932 -t utf8 | patch
・・・と思ったら3.6.1はgcc5を使っていて、gcc5はMac OS Mojave Ver 10.14.3 には対応していなくてビルドが通らないので英語の最新版を以下からゲットしてやり直し。
https://github.com/NetHack/NetHack Ver 3.6.2 (Beta)

■コマンドのメモ
GCCが必要なのでBrewを使ってインストール
brew install gcc

ビルドしてインストール
sh sys/unix/setup.sh sys/unix/hints/macosx10.10
make install

どこにインストールされたのかなと思ったら Users/ユーザ名/nethackdir にインストールされていましたので起動するにはコマンドラインから以下を実行すると開始します。
nethackdir/nethack


このままでは移動にテンキーを使えなかったり不便なので Users/ユーザ名/.nethackrc というファイルを作って設定します。

OPTIONS:number_pad

参考:
number_padオプション


■コマンド (重要なもののみ)
(number_padがONの場合) 5を押してから方向キーを押すと何かが見つかるまで進む
セーブ: S
CTRL + C (セーブせずに)ゲーム終了(セーブ時まで戻りたい時は一旦これで終了してから再起動)
. で休む
s で探索 (通路の奥が塞がっている時に何回か押すと先の道が見つかったりする)
画面の > や < で同じキーを押すと階段を上り下りする。ペットがいる場合は隣接していないと付いてこないので注意
k を押してから方向キーを押すとキック。閉じている扉を蹴り破ることができる。
dで荷物を置く。魔物の死骸をペット近くに置くとペットに餌をあげるという意味になる。
eで食べる(チートするなら関係ない)
,で拾う(お店の商品など)
pでお店で買った代金を払う
wで剣装備, Wで鎧装備, Aで剣/鎧解除
Pで指輪やお守り(アミュレット)装備, Rで指輪やお守り(アミュレット)解除
Zで魔法
@ 自動で物を拾うモード(Auto Pick up)の切り替え
aで道具を使う。例えば、暗いところでランプを使うと遠くまで見えるようになる。魔法のマーカ(Magic Marker)を使うと何も書いていない巻物に呪文を書き込むことができる。何を書けるかはNethack Wiki: Magic markerを参照。「magic mapping」等。
$で現在の所持金表示
r 巻物を読む
qで何かを飲む
tで物を投げる
#chat で話しかける
#loot で地面にある大箱(Large Box)を開ける。鍵がかかっている場合は鍵を「.」に対して使うと箱の鍵を開けることができる。
#adjust で道具に割り当てられたレターのアルファベットを変更できる。
#offer で祭壇に獲物の死体を捧げる(同じ属性の祭壇が基本。属性が違うと神様が怒る)

■チート
ビルドし直す度にsaveディレクトリがクリアされてしまうのを避けるためビルドは make install の前後に少しコマンド追加して行います。
mkdir save_backup ; mv ~/nethackdir/save/*.Z save_backup/ ; make install ; mv save_backup/*.Z ~/nethackdir/save/

src/allmain.c
83行目のfor (;;) {のループがコマンド入力の処理なのでこの辺りにいくつか処理を埋め込む。if (context.move) {の上あたりが良さそうです。

MAX HPを9999に設定
        u.uhpmax = 9999;
常時体力回復、体力が少ない時の急回復。ずっと体力MAXでも良いのですがどのくらいダメージ食らっているのか分かるようにこうしてあります。
        if (u.uhp < u.uhpmax / 2) {
u.uhp = u.uhpmax * 2 / 3;
}
if (u.uhp < u.uhpmax) {
u.uhp++;
}
MAX MPを9999に設定
        u.uenmax = 9999;
常時MP回復、MPが少ない時の急回復。ずっとMP MAXでも良いのですがどのくらいMP消費しているのか分かるようにこのようにしてあります。
        if (u.uen < u.uenmax / 2) {
u.uen = u.uenmax * 2 / 3;
}
if (u.uen < u.uenmax) {
u.uen++;
}
常時食事回復 (これで、倒した獲物はペットに全部食べてもらえば良いです)
        if (u.uhunger < 900) {
u.uhunger++;
}
すぐにレベルアップするためのおまじない
        if (u.ulevel < MAXULEV && u.uexp < newuexp(u.ulevel) - 20) {
u.uexp = newuexp(u.ulevel) - 20;
}


食事での死亡(体力0)を避けます。
src/eat.c 2215行目の u.uhp += otmp->cursed ? -rnd(20) : rnd(20); でランダムにより体力低下して死ぬ可能性があるのでこの後に判定入れます。
            u.uhp += otmp->cursed ? -rnd(20) : rnd(20);   ここはそのまま
if (u.uhp < u.uhpmax / 2) { この行追加
u.uhp = u.uhpmax / 2; この行追加
} この行追加


お金たくさん
src/hack.c の以下を変更
money_cnt(otmp)   ここはそのまま
struct obj *otmp; ここはそのまま
{
return (long) 9999; この行追加
お店で買い物をするときに変なメッセージが表示されるが購入はできるので気にしない。


ウィザードモードでなくても常に「Saveファイルを取っておくか」を選択できるようにする。

sys/mac/macmain.c 101行目あたりの条件文を外す
            // if (discover || wizard) {   この行をコメントアウト
if (yn("Do you want to keep the save file?") == 'n')
(void) delete_savefile();
else {
(void) chmod(fq_save, FCMASK); /* back to readable */
nh_compress(fqname(SAVEF, SAVEPREFIX, 0));
}
// } この行をコメントアウト
常にSaveファイルを残したいのであれば更にコメントアウト。(この場合「最初からやり直す」場合はセーブファイルを消せば良い。)
            // if (discover || wizard) {   この行をコメントアウト
// if (yn("Do you want to keep the save file?") == 'n') 更にこの行をコメントアウト
// (void) delete_savefile(); 更にこの行をコメントアウト
// else { 更にこの行をコメントアウト
(void) chmod(fq_save, FCMASK); /* back to readable */
nh_compress(fqname(SAVEF, SAVEPREFIX, 0));
// } 更にこの行をコメントアウト
// } この行をコメントアウト
src/restore.cも変更する必要があります。
    // if (!wizard && !discover)   この行をコメントアウト
// (void) delete_savefile(); この行をコメントアウト
既存Saveファイルの上書き確認を無くして常に上書きにしたい場合は src/save.c 149目以降 を直します。
        if (fd > 0) {
(void) nhclose(fd);
clear_nhwindow(WIN_MESSAGE);
// There("seems to be an old save file."); この行をコメントアウト
// if (yn("Overwrite the old file?") == 'n') { この行をコメントアウト
// nh_compress(fq_save); この行をコメントアウト
// return 0; この行をコメントアウト
// } この行をコメントアウト
}
これで「死んだら最初からやり直し」みたいな鬼ゲーから普通にSaveできるゲームに変わります。


魔法を「必ず成功」にする。
src/spell.c 1713行目のpercent_success関数のreturnを100にする。
percent_success(spell)
int spell;
{
return 100; この行を追加
魔法は使うごとにどんどん忘れてしまうので、忘れないように記憶度(Retantion)を強制上書き
src/spell.c 912行目あたりで
    spellknow(spell) = KEEN;    この行を追加
if (spellknow(spell) <= 0) { この行はそのまま


アイテムを拾った時に必ず「祝福された」属性にする。
src/pickup.c 1530行目のpick_obj関数の先頭に以下のように強制的に属性を設定。
struct obj *      この行はそのまま
pick_obj(otmp) この行はそのまま
struct obj *otmp; この行はそのまま
{ この行はそのまま
otmp->blessed = 1; この行を追加
otmp->cursed = 0; この行を追加


アイテムを拾った時に強制的に「ろうそく」にする。クリアに必要だが見つからない時の緊急用。
上と同様にsrc/pickup.c 1530行目のpick_obj関数の先頭で設定
    otmp->otyp = TALLOW_CANDLE;    この行を追加
ただし、これは他の属性はそのままなので重さや種類などは変わないままなので挙動が変になります。あくまでもクリアのための緊急用。拾う場合は「a 使う」コマンドが使える種類のものを拾ってすぐに祈りの燭台(Candelabrum of Invocation)に付けてしまいましょう。


巻物を必ず「祝福された」属性にする。
src/read.c 402行目のif (!seffects(scroll)) {の上あたりで強制的に属性を設定。
    scroll->blessed = 1;    この行を追加
scroll->cursed = 0; この行を追加
稀に呪われた巻物を読みたい時もあるかもしれないですが、その時はコメントアウトしてビルドし直して下さい。
上にある「アイテムを拾った時に必ず”祝福された”属性にする。」で十分ならばこれは不要。


巻物を読む時、数量を2に設定(その後1つ使われるので残りは2になる)
上と同じくsrc/read.c 402行目のif (!seffects(scroll)) {の上あたりで強制的に設定。
    scroll->quan = 3;   この行を追加


巻物を読んだ時に特定の巻物を読んだことにする。[非常用]
src/read.c 402行目のif (!seffects(scroll)) {の上あたりで強制的に巻物の種類を設定。 これは、使用する巻物に該当の属性をつけてから巻物を読むと言う処理になる。よって、2つ以上持っている場合はその巻物の種類が変わってしまって1つ消費すると言う動きになるので注意。

虐殺の巻物の場合。
    scroll->otyp = SCR_GENOCIDE;
祝福された巻物ならクラスごとまとめて虐殺できる。(参考: 何を虐殺すべきか)
虐殺候補: 「lich」 リッチ等 「;」巨大ウナギ系 「V」ヴァンパイア 「Z」ゾンビ 「T」トロール 「N」ナーガ 「P」プリン 「n」ニンフ 「h」マインドフレア(ドワーフも) 「c」コカトリス

鑑定の巻物の場合
    scroll->otyp = SCR_IDENTIFY;

これは非常用。例えば敵が強過ぎて通過できない時に虐殺の巻物を読みたい、等という時に一時的に使うことを想定。読み終わったらソースを戻してビルドし直さないとその巻物しか使えなくなるので注意。


敵へのダメージ増大
src/weapon.c 349行目の return tmp; の上で値を増やす
    tmp = (tmp * 5) + 100;    この行を追加
return tmp; この行はそのまま
強い敵が出るまではこれは不要かも。普段はノーマルで、増殖したデーモンなど倒すことができない魔物に一面囲まれて倒すこともできず逃れることもできないような状況でのみ使うと良いかも。ダメージを与えられない敵が現れたら値を増やす。


杖の使用可能数を強制設定
src/zap.c 2199行目の if (!zappable(obj)) の上で値を強制設定
    obj->spe = 10;    この行を追加(10回に設定)
if (!zappable(obj)) この行はそのまま


「祈る」(#prayコマンド)を必ず成功させる。
src/pray.c 1834行目のdopray関数の中にあるウィザードモードの処理を流用する。

1846行目の
if (wizard && p_type >= 0) {

if (p_type >= 0) {
にする。


■攻略
階段が2つある階の片方からノームの鉱山(Gnomish Mines)に行ける。まずはそこを攻略してから階段が2つある階まで戻る。
普通は攻略までに何十回も死んで(最初から)やり直しで、たまにしか攻略できません。毎回レベル1からやり直しなので、そのくらいまでで大抵は気力が果てます。今回はチートしているので更に先に進みます。これから先はあんまりしたことがないので初めての場所が多いです。

オラクルの神託所(The Oracle)に到着

拡張コマンドの #chat で話しかけることができる。50じゃ大したことは聞けないが2000払えば重要な情報を教えてもらえます。例えばメヂューサの倒し方とか、最後の破壊神モーロック(Moloch)の聖域(サンクチュアリ)に入る方法など。


そのうちまた階段分岐(登る階段が2つの部屋)が出てくるが、倉庫番ゲームのような岩動かしパズルを解く必要がある。なんとまあ。こんなの昔あったっけ? 最後の通路は落とし穴なので岩で塞がないといけないようだ。最初はクリア不可能かと思ったが、これは倉庫番そのものではないので幾つかの岩を杖の魔法で破壊することでクリア。この階、魔法のdig(掘る)は無効にされてしまうので杖がないとクリアできないのかも? 前の階で拾った2つの杖を使ってクリアするという面な気がしてきました。


この階はそんなに難しくありませんが一番奥の岩の下に杖が隠れていました。


この階は敵が多く出るので最後の通路に敵が挟まるとクリア不可能になるので注意...
攻略すると動物園(というか魔物ぎっしり部屋)があり、その奥に良いアイテムが落ちている。今回の場合は軽量化の鞄。鑑定しないと普通の鞄のように見えるが、中に入れると重量軽減される筈。

そして、元のダンジョンまで戻る。


すると、祭壇「_」を発見。アンダーバーですけど、祭壇です。属性があって、自分と同じ属性でないと変なことが起こります。
これは低い階に出現することもありますが今回はこれが初です。ここに物を置くと呪われているかどうかを調べることができます。
又、新鮮な魔物の死体を #offer コマンドで捧げると良いことがあります。属性を自分のものに変更できたりします。
とても困った時は #pray で何かいいことがるかもしれませんが祈りすぎると神様が怒って罰が下ります。


もうちょっと進んだらいきなりテレポートの罠(?)に引っかかり、故郷(Homeland)っぽいところに飛ばされました。これは職業によって飛ばされるところが違うようです。どうやら Dark Oneというのを倒してEye of the Aethiopica というのを取り戻せば良いらしい。依頼を受けた部屋の奥の隠し扉の奥に階段があったのでそこからクエスト開始。


Dark Oneを倒してEye of the Aethiopicaを入手し、依頼主に話しかければクエスト終了。
銀のベル(silver bell)入手。鑑定すれば開放のベル(Bell of Opening)になる。クリアに必要。
ちなみに、クエスト最後にある祭壇で祈ったら魔法使い最強の武器 マジックベーン (Magicbane) が出てきました。


その後、深い階の隠し金庫に入るとローディオス砦(Fort Ludios, フォートローディオス)に飛ばされた。


魔物の群れを倒すと沢山のお金が手に入るが、チートしているのならばあまり関係ない。


元のダンジョンを更に降りてゆくとメデューサレベル(Medusa level)に到達。

オラクルの神託所(The Oracle)で以下のような情報が入手できますが、普通にメデューサの神話の話を知っていれば想像がつく内容です。


私はたまたま魔法使いで cone of cold の魔法が使えるのでそれで地面を凍らせて進むことができますしチートしているから魔法使い放題だから良いものの、魔法やアイテムがなければ途方にくれそうな場所です。同魔法が使えてもチートしていなければ魔力や魔法の記憶度(Retantion)が足りなくなりそうなくらい水に囲まれています。彫像の1つに入っている反射の盾(shield of reflection)を装備してメデューサの部屋に行くとメデューサが石像になっている。何もメッセージがないので分かり辛いが反射の盾無しで行くと石化されてゲームオーバーなので違いがわかる。メデューサがいた場所に石などが散乱しているので分かり辛いが、その場所に下に行く階段がある。


地下29階の「城(Castle)」に到着。落とし穴はジャンプの靴を履いて #jump あるいは浮遊の靴で飛び越える。


地味に攻略して地下30階に到達。ここは「死の谷(Valley of the Dead)」と言う階のようです。攻略ページだとこの階からゲヘナとなっていますが、メッセージを読むとこの階はゲヘナではなくて次の階からゲヘナのようです。変わったのかな? 流石に敵が強くなってきて進みが遅くなってきました。祈っても自分の神様に願いは届かない階にまで来てしまったようです。デーモンが増殖して囲まれたら動けなくなってやられ放題なので、チートしていなければあっさりゲームオーバーっぽい感じです。


階段が見つからないのでそこらじゅうdig(掘る)魔法で穴を開けてようやく階段発見。ほとんどの壁はdig(掘る)が無効ですが一部の壁は掘ることができました。


そして31階のゲヘナへ突入。

ちなみに、ここまでに覚えた魔法は以下。

魔法を覚えたならば同じ巻物は不要になります。巻物は1回使うとなくなりますが魔法であればMP消費するだけですので。例えば鑑定の魔法を覚えたら鑑定の巻物は不要になります。
よく使う攻撃の魔法は Finger of Death ですが敵の種類によっては Cone of Cold や Magic Missile が効いたりします。
池などを凍らせてその上を歩くには Cone of Cold が使えます。
壁を壊すには dig (掘る) を使います。


何階か下がると迷路っぽい面に来ますが、dig (掘る) 魔法が使えるので迷路になりません。


迷路を超えると広い部屋に出ました。地下34階です。暗いのでランプを使っても周囲しか見えません。どうやら水が多い階のようです。
どうやらここはジョウビレックスの沼(Juiblex's swamp, ジョウビレックスフロア)と言うようです。


やがて、アスモデウスの隠れ家(Asmodeus' Lair, アスモデウスフロア)に到着。地下36階
アスモデウスはチートしていてもなかなか倒せない。30攻撃くらいしても倒せなかったのでチートのダメージ数を少し増やしたら一撃で撃退。ダメージを与えるためのしきい値を超えていなかったのかな?


地下37階、バアルゼブの隠れ家(Baalzebub's Lair, ベルゼブブフロア)に到着。


バアルゼブ(Baalzebub)は通行料を要求してくるので素直に払います。
払わないか金額が少ないと怒って悪魔を召喚してきますが、これがとてつもなく強くてチートしていても倒せずに殺されてしまいますので払ったほうが良さそう。他の抜け道は知りませんけどこのあたりになるとお金なんて使い道もないので払っても問題なしですし、そもそもチートしているのでお金は関係ないです。チートしているととてつもない金額を要求されてびっくりしますが、チートを外して何度か試してみたら1500とかの要求の時もあったので、それほど法外と言うわけでもなさそうです。相手の懐具合をみて決めているようなな感じです。


地下39階、オーケスの町(Orcus-town, オーケスフロア)を通過します。


同階に分岐があったので階段を登ってみると「熱と煙が消えた」と表示されたのでゲヘナ以外のところに通じているような感じですね。


どうやらここは「ヴラドの塔(Vlad's Tower)」らしい。
吸血鬼ヴラド(Vlad the Impaler)を倒して祈りの燭台(Candelabrum of Invocation)を入手する。クリアに必要。


地下45階で 偽の魔法使いの塔 (Fake Wizard's Tower)を発見。
池を魔法で凍らせてから壁をdig(掘る)魔法で穴を空け、中にいる吸魔の怪物(disenchanter)を倒したけど大したものを持っていない。


地下47階で同様の 偽の魔法使いの塔 (Fake Wizard's Tower)を発見。
この真ん中に行くと魔法の入り口が作動して本当の魔法使いの塔 (Fake Wizard's Tower)に行ける。

この奥に イェンダーの魔法使い(Wizard of Yendor)がいて倒す必要があるが、倒しても倒しても強くなって復活してくるのでまだ倒さずに入り口だけ確認してまずは通常の迷宮を行けるところまで攻略する。その後、魔法使いの塔 (Fake Wizard's Tower)でイェンダーの魔法使い(Wizard of Yendor)を倒す。


最後の部屋は何やら凄い感じがするらしい。そこでイェンダーの魔法使い(Wizard of Yendor)を倒します。


倒したらスペルブック(Spellbook)を入手し、鑑定すれば 死者の書(Book of the Dead )になります。クリアに必要。


地下48階の「足元から神妙な振動を感じる」場所に行きます。

ここで何をすれば良いのかはオラクルの神託所(The Oracle)で聞くことができます。

まず、祈りの燭台(Candelabrum of Invocation)にろうそく7本を付けます。


その後、その祈りの燭台(Candelabrum of Invocation)を使います。


次に開放のベル(Bell of Opening)を使います。


次に死者の書(Book of the Dead )を読みます。


すると、マップが変わって階段が現れます。


地下49階。この部屋の入り口でも特別なメッセージ「薄気味悪い感じがする部屋だ」が表示されました。


破壊神モーロック(Moloch)の祭壇および司祭を発見。


警告を無視して侵入すると神聖を犯したことで怒って攻撃してきます。
倒すと イェンダーの魔除け(Amulet of Yendor)を落とすので入手。

その後、地上まで延々と戻る。


地上に戻ると、もう少し試練が続きます。


最終試練(Final Test)だそうです。

ここまではRPGですが、この最終試練(Final Test)は5階あるが、そのうちの最初の4階、土のレベル・風のレベル・火のレベル・水のレベルは毛色が違うというか、作者が別でしょ? って思わせるほど雰囲気が違う。ただ単に面倒なだけで「ゲーム」になっていない。ここまではちゃんとした古典的RPGなのにここは攻略方法らしき攻略方法も大してなくて、どっかの意地悪な頭の良いプログラマが後付けした感がプンプンします。せっかくここまで面白いゲームなのに、こういう意地悪なプログラマが首突っ込んでゲームバランスを崩すのは許せないね。ほんと、もったいない。この最終試練(Final Test)いらないでしょ。 面倒で時間かかるだけでゲームになってないし。最後の天上界(Astral Plane)は最後だからこのくらいでも良いと思いますけど。

最初は土のレベル(Earth Plane)。どこかにある魔法の入り口(ランダム)を探すと言う微妙な構成。魔法の入り口は元々空間だった所のどこかにある。


次は風のレベル(Air Plane)。空に浮いているので浮遊の靴などを使わないと移動できない。
広いマップだが、動くと所々雲が晴れて、雲が晴れた範囲では扉探索の杖(wand of secret door detection)が使える。


今回は右上で見つかった。どうやら大体同じあたりにあるらしい?


次は火のレベル(Plane of Fire)
地上のどこかに魔法の入り口があるので探す。今回は中央上部にありました。


次は水のレベル(Water Plane)。水の中の水たまりを動きながら魔法の入り口を探す。
とは言っても、入り口は移動しているらしいのでこんなの運次第。
しばらく動いていたらなんだかよくわからないうちにワープして天上界(Astral Plane)へ。


「&」マークのペスティレンス(Pestilence)が死に至る病気を撒き散らすのでユニコーンの角で直しつつ撃退。チートしていても油断していたら数
ターンでやられてしまうほど手強い。


さて、最後の祭壇に到着。イェンダーの魔除け(Amulet of Yendor)を捧げてみますが、何か変...


エンディング?
「トート神は捧げ物を受け入れた。そして、力を得たことで戦いの神アンフル(Anhur)に対して優位になり、トート神は支配力を得た。」
「アンフル神(Anhur)は激怒したが、貴方はトート神により守られているため死ぬことはなかった。」
「オレンジ色の煙が貴方を包んだ...」
<完?>

あれ? 何かメッセージが変... 昇天する筈だけれども... この神殿の司祭に話しかけたら、どうやらここはトート神の神殿らしい。ふむ。 確認してみたら最初はアンフル神(Anhur)を崇めていたので、違う神に捧げてしまったっぽいです。どうやらバッドエンドしてしまった模様。チートしているのでセーブポイントからやり直し。


同じ階の左の方に行ってみる。そこにも祭壇と司祭がいる。


ここは神が違って プタハ神(Ptah)の神殿らしい。


試しに捧げてみると、やはり同様のバッドエンド。


右の祭壇に行ってみるとそこはアンフル神(Anhur)の神殿。ここがどうやら正解のようです。


エンディング
「貴方はイェンダーの魔除け(Amulet of Yendor)をアンフル神(Anhur)に捧げた...」
「目に見えない合唱団が歌い始めた。そして貴方は輝き始めた...」
「アンフル神(Anhur)の声が鳴り響いた:(死ぬべき運命にある人などの)生物よ! よくやった!」
「お前の貢献の見返りに、お前を不死にしてやろう!」
「貴方は (神話などの)神格化された半神半人の称号を得て、昇天した。」
<完>


全マップ




トピックゲーム