30年前的電腦黎明期,讓我感到熱狂的網路駭客(NetHack)遊戲竟然還在繼續。
當時我只是普通地玩,最高好像能到15樓左右(?),那時候感覺就像是到達另一個世界,但已經不太記得清楚了。
這次我稍微想試玩一下,但畢竟已經不是正經玩遊戲的年紀了,所以當然會作弊。
原本 NetHack 裡就有探索模式,但如果使用那個模式,就可能無法正式通關,或者會遇到一些不方便的地方。
既然有原始碼,那就直接修改原始碼。
通常瓦爾基麗(Valkyrie)一開始就擁有不錯的盾牌,所以比較容易上手。
而且魔法的系統是,必須反覆學習,否則就會忘記,所以正常玩的話,比較強的角色比較容易上手。
但如果作弊的話,魔法可以無限次使用,而且 HP 和 MP 之間沒有關係,所以我選擇玩精靈女魔法師(Wizard)。
說到魔法師,總覺得腦海中浮現出《ロードス島戰記》裡女性精靈的形象。
2023/10/16 補充說明。
以下原本是在Mac上直接构建的,现在已转换为Docker并上传到GitHub。https://github.com/masalatea/NetHackCustom
https://github.com/masalatea/NetHackCustom
安装Docker後,可以在本地进行构建。
(以下的部分内容未包含。)
| 這次為了作弊,我們要從原始碼來編譯。環境是Mac。 首先,請下載以下內容: http://www.nethack.org/) http://jnethack.osdn.jp/) https://github.com/NetHack/NetHack 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 的檔案來進行設定。
number_pad 選項 https://nethackwiki.com/wiki/Options#number_pad |
| (如果數字鍵盤已開啟) 按下 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 https://nethackwiki.com/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將MAX MP設定為9999。 u.uenmax = 9999;常時MP回復,MP較少時的急速回復。雖然可以一直保持MP最大值,但為了讓使用者了解大約消耗了多少MP,所以採用了這種方式。 if (u.uen常時恢復飲食 (這樣,擊倒的獵物就可以全部餵給寵物吃。) if (u.uhunger為了快速提升等級的秘訣。 if (u.ulevel |
| 避免因進食而死亡(體力降至0)。 在 src/eat.c 檔案的第 2215 行,u.uhp += otmp->cursed ? -rnd(20) : rnd(20); 這行程式碼會根據隨機數導致體力下降,因此可能會死亡,所以需要在這之後加入判斷。u.uhp += otmp->cursed ? -rnd(20) : rnd(20); 這裡保持原樣 |
| 錢很多。 修改 src/hack.c 中的以下內容: money_cnt(otmp)在商店購物時,會出現奇怪的訊息,但因為可以完成購買,所以不放在心上。 |
| 即使不在巫師模式下,也能始終選擇「保留檔案」。 移除 sys/mac/macmain.c 檔案第 101 行左右的條件判斷語句。// if (discover || wizard) { 這行請註解如果您總是想保留儲存檔案,那麼請進一步註解掉。(如果想「從頭開始」,可以刪除儲存檔案。)// if (discover || wizard) { 這行請註解src/restore.c 也需要進行修改。// 如果 (!wizard && !discover) 這行請註解掉如果要取消现有保存文件覆盖确认,并始终进行覆盖,请修改 src/save.c 文件的第 149 行及其之后的内容。if (fd > 0) {這樣,「死了就從頭開始」這種惡搞遊戲,就會變成可以正常儲存的遊戲。 |
| 將魔法「必定成功」。 修改 src/spell.c 檔案第 1713 行的 percent_success 函數的 return 值为 100。 percent_success(spell)魔法是使用一次就會逐漸忘記的,為了防止忘記,強制覆寫記憶度(Retantion)。 在 src/spell.c 的 912 行左右。 spellknow(spell) = KEEN; // 增加這行 |
| 撿到物品時,一定將其屬性設定為「祝福」。 在 src/pickup.c 檔案的 1530 行,pick_obj 函數的最前面,強制設定以下屬性。struct obj |
| 撿到物品時,強制將其變成「蠟燭」。這是為了在通關時需要但找不到物品時,作為緊急用。 與上述相同,在 src/pickup.c 檔案的 1530 行,pick_obj 函數的最前面進行設定。otmp->otyp = TALLOW_CANDLE; 這個行,請新增。但是,這僅僅是改變了其他屬性,所以重量或種類等不會改變,因此行為會變得奇怪。這僅僅是為了通關的應急用。如果撿起來,請確保是可以使用「a 使用」指令的物品,並立即將其安裝在祈禱的燭台(Candelabrum of Invocation)上。 |
| 將卷軸的屬性強制設定為「祝福」。 在 src/read.c 檔案的第 402 行,if (!seffects(scroll)) { 這一行附近,強制設定屬性。scroll->blessed = 1; // 增加這行偶爾可能會有想閱讀被詛咒的卷軸的時候,但如果發生這種情況,請將其註釋掉並重新建構。 如果「將拾取物品時的屬性強制設定為「祝福」」就足夠,那麼這部分就不需要。 |
| 在閱讀卷軸時,將數量設定為2(之後會使用掉一個,所以剩下2)。 與上述相同,在 src/read.c 檔案的第 402 行,if (!seffects(scroll)) 的上方附近,強制設定。scroll->quan = 3; 這個行新增。 |
| 閱讀卷軸時,強制將其設定為特定卷軸。[緊急用] 在 src/read.c 檔案的第 402 行,if (!seffects(scroll)) 的附近,強制設定卷軸的種類。這表示,在閱讀卷軸之前,必須將其賦予對應的屬性。 因此,如果持有兩個或以上的卷軸,其卷軸種類可能會改變,並且使用一個卷軸會消耗掉一個。請注意。
|
| 對敵方造成的傷害增加。 在 src/weapon.c 檔案的 349 行, return tmp; 語句之後,增加數值。tmp = (tmp 5) + 100; // 增加這一行在遇到強敵之前,這個東西可能沒什麼用。平時使用普通模式,只有在遇到大量生成的地獄生物,無法對其造成傷害,被完全包圍且無法逃脫的情況下,才應該使用。如果出現無法造成傷害的敵人,就應該提高其數值。 |
| 强制设置可以使用的手杖数量。 在 src/zap.c 文件的 2199 行, if (!zappable(obj)) 语句上方,强制设置该值。obj->spe = 10; // 增加這行(設定為10次) |
| 「祈禱」(#pray指令)必須成功。 src/pray.c 1834行的dopray函數中,採用巫師模式的處理方式。 1846 行的 |
有兩層樓梯的樓層,可以從其中一層前往諾姆礦坑(Gnomish Mines)。首先攻略這裡,然後返回有兩層樓梯的樓層。
通常,在攻略之前會死很多次(從頭開始),而且只能偶爾成功。因為每次都要從1級開始,所以大多數人會因為這種情況而失去耐心。這次因為使用了作弊,所以可以進展得更遠。接下來的地方我很少去過,所以很多都是第一次。
抵達預言者神殿(The Oracle)。
可以使用擴展指令中的 #chat 來對話。用 50 點數無法獲得太多資訊,但支付 2000 點數可以獲得重要的情報。例如,關於如何擊敗美杜莎,或者如何進入最後的毀滅之神摩洛克(Moloch)的聖域(Sanctuary)等。
其中,又會出現分岔的樓梯(有兩條通往不同房間的樓梯),需要解開類似倉庫番遊戲的岩石移動謎題。真是太不可思議了,這種東西以前有嗎? 最後的通道是陷阱,所以必須用岩石堵住。一開始我以為是無法通過的,但這並不是真正的倉庫番遊戲,所以我用魔杖的魔法摧毀了一些岩石,成功通過了。這個樓層,魔法的「dig」(挖掘)功能似乎被無效化了,所以可能沒有魔杖就無法通過? 感覺是需要使用在前一層樓拾取的兩根魔杖才能通過。
這層樓並不是很難,但在最深處的岩石下方藏著一根魔杖。
這層樓敵人很多,如果最後一個通道被敵人堵住,就無法通關,請注意。攻略後會出現一個動物園(或者說充滿魔物的房間),在房間的深處有很好的道具。這次是減輕重量的包。如果不鑑定,看起來會像普通的包,但放入其中應該可以減輕重量。
然後,返回到原本的地牢。
然後,發現祭壇「」。這裡有一個底線,但這裡是祭壇。它具有屬性,如果不是與自己相同的屬性,就會發生奇怪的事情。雖然它有時也會出現在低層,但這次是第一次出現。在這裡放置物品可以檢查是否會被詛咒。
另外,如果使用 #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)可以獲得以下資訊,但對於那些熟悉美杜莎神話的人來說,內容是可預見的。
我偶然是魔法師,可以使用「寒冰錐」的魔法,所以可以用它凍結地面並前進。雖然因為是作弊所以可以隨意使用魔法,但如果沒有魔法或道具,這會是一個讓人感到沮喪的地方。即使可以使用相同的魔法,如果沒有作弊,魔力或魔法記憶度(Retantion)可能會不足,而且周圍都是水。如果穿戴雕像中的「反射之盾」,進入美杜莎的房間,美杜莎就會變成石像。雖然沒有任何訊息,所以可能很難理解,但如果不穿戴「反射之盾」進入,就會被石化,遊戲結束,這樣就能知道差異。
美杜莎原本所在的位置散落著石頭等物品,所以可能很難辨認,但該位置下方有一個通往樓下的階梯。
地下29樓的「城(Castle)」到達。落水陷阱需要穿著跳躍鞋 #jump 或漂浮鞋才能跳過。
默默地攻略,到達地下30階。這裡是名為「死亡之谷(Valley of the Dead)」的樓層。
在攻略頁面中,這個樓層被標記為「地獄(Gehenna)」,
但根據訊息來看,這個樓層並不是地獄,而是從下一個樓層開始才是地獄。
難道是變更了?
果然,敵人的強度越來越高,進度變得緩慢。
我祈禱,但似乎已經到了連我的神明都無法聽到的樓層。
如果惡魔增殖,被包圍就無法移動,只能被不斷擊殺,
如果不使用作弊,似乎很容易遊戲結束。
因為找不到樓梯,所以我用「dig」(挖掘)魔法在各處挖洞,才終於發現了樓梯。大部分的牆壁都無法使用「dig」(挖掘)魔法,但有些牆壁是可以被挖掘的。


然後,我們衝進了31樓的「地獄」。順便一提,到目前為止學到的魔法如下:
如果學會了魔法,相同的卷軸就不需要了。卷軸使用一次就會消失,但魔法只需要消耗MP。例如,如果學會了鑑定魔法,鑑定卷軸就不需要了。常用的攻擊魔法是「死亡之指」,但根據敵人的種類,可能「寒冰錐」或「魔法飛彈」更有效。
要凍結池塘等水面並在其上行走,可以使用「寒冰錐」。
要破壞牆壁,可以使用「dig」(挖掘)魔法。
往下走幾層後,會來到一個像迷宮的地方,但因為可以使用「dig」(挖掘)魔法,所以不會變成真正的迷宮。
穿過迷宮後,我進入了一個寬敞的房間。這裡是地下34樓。因為很暗,即使使用燈,也只能看到周圍。似乎這裡是「喬布雷克斯沼澤」(Juiblex's swamp,喬布雷克斯樓層)。
不久後,抵達了阿斯莫德斯的藏身處(Asmodeus' Lair,阿斯莫德斯樓層),位於地下36階。即使使用了作弊,也很難打倒阿斯莫德斯。即使攻擊了30次也無法打倒,所以我稍微增加了作弊造成的傷害數,結果一擊就擊退了。可能是因為傷害值沒有超過能夠對其造成傷害的閾值吧?
抵達地下37樓,巴爾賽布的藏身處(Baalzebub's Lair,貝爾賽布布樓層)。
巴耳謝(Baalzebub)會要求支付通行費,所以最好老老實實地付錢。如果不付錢或金額太少,它會生氣並召喚惡魔,但這些惡魔非常強大,即使使用作弊手段也無法擊敗,反而會被殺死,所以最好還是付錢。
我不知道其他逃避方法,但到了這個程度,錢已經沒有什麼用處,所以即使付錢也沒有問題。
而且,因為我使用了作弊手段,所以錢對我來說根本不重要。
雖然使用作弊手段時,它會要求支付非常高的金額,讓我感到驚訝,但如果關閉作弊手段並嘗試幾次,有時候要求的金額只有1500左右,所以並不是非常高的價格。
看起來它會根據對方的經濟狀況來決定要求的金額。
地下39階,通過「Orcus-town」(奧庫斯小鎮),「Orcus floor」(奧庫斯樓層)。
由於同階層有分岔,所以我嘗試爬樓梯,結果顯示「熱和煙消失了」,所以感覺是連接到除了蓋黑那之外的其他地方。

似乎這裡是「弗拉德之塔(Vlad's Tower)」。擊敗吸血鬼弗拉德(Vlad the Impaler),獲得祈禱燭台(Candelabrum of Invocation)。是通關的必要條件。
在地下45樓發現了一個「偽魔法師塔」(Fake Wizard's Tower)。我用魔法將池塘結冰,然後用「挖掘」魔法在牆上挖出一個洞,打倒了裡面吸取魔力的怪物(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)的祭壇以及祭司。




如果您忽略警告並進入,您將會受到攻擊,因為您褻瀆了神聖之物。如果您擊敗它,它會掉落「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)的聲音響起:(對那些注定要死亡的人等)生物! 幹得好!」
「為了感謝你的貢獻,我將讓你永生!」
「你獲得了(神話等)神格化的半神半人的稱號,並升天了。」
<完>
全地圖





