Back then, I used to play it normally, and the limit seemed to be around the 15th floor (?), where I would reach a different world. I don't remember it very well.


This time, I felt like trying it out, but since I'm not at an age where I play games seriously, of course, I'll use cheats.
NetHack originally has an exploration mode, but using that prevents you from getting a proper clear and has other inconveniences. Since we have the source code, I'll modify it directly.
Normally, Valkyrie starts with a good shield, making it easier to play. Also, the magic system makes you constantly re-learn spells, so it's generally easier to play with stronger characters. However, if you cheat, you can use magic as many times as you want, and HP and MP are irrelevant, so I'll play as an elf female mage (wizard). When I think of mages, I vaguely remember the image of female elves from the Lodoss War.
2023/10/16 Added information.
The following was originally built on macOS and is now available on GitHub using Docker.https://github.com/masalatea/NetHackCustom
https://github.com/masalatea/NetHackCustom
You can build it locally after installing Docker.
(Some of the following content is not included.)
| This time, I will build from the source code to cheat. The environment is Mac. First, download the following: http://www.nethack.org/) http://jnethack.osdn.jp/) https://github.com/NetHack/NetHack https://github.com/NetHack/NetHack Version 3.6.2 (Beta) ■ Command notes GCC is required, so install it using Brew. brew install gcc Build and install. sh sys/unix/setup.sh sys/unix/hints/macosx10.10 make install I wondered where it was installed, and it turns out it was installed in Users/username/nethackdir. To start it, run the following command from the command line: nethackdir/nethack |
Since it is inconvenient to use the numeric keypad for movement as is, create a file named Users/username/.nethackrc and configure it.
number_pad option https://nethackwiki.com/wiki/Options#number_pad |
■ Commands (only important ones)
| (If the number pad is ON) Press 5, then press the direction keys to move forward until something is found. Save: S CTRL + C (Exit the game without saving. If you want to return to the save point, exit once with this and restart.) Press . to pause. Press s to explore (Pressing it several times when the path ahead is blocked may reveal a new path). The > and < on the screen. < で同じキーを押すと階段を上り下りする。ペットがいる場合は隣接していないと付いてこないので注意 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 で祭壇に獲物の死体を捧げる(同じ属性の祭壇が基本。属性が違うと神様が怒る) |
To avoid the save directory being cleared each time a build is performed, the build process includes a few additional commands before and after `make install`.
`mkdir save_backup ; mv ~/nethackdir/save/*.Z save_backup/ ; make install ; mv save_backup/*.Z ~/nethackdir/save/`
| src/allmain.c The `for (;;) {` loop on line 83 is for command input processing, so I will embed some processing around there. The area above `if (context.move) {` seems like a good place. Set MAX HP to 9999. u.uhpmax = 9999;Constant stamina recovery, and rapid recovery when stamina is low. It would be possible to always have maximum stamina, but this system is in place so that you can see how much damage you are taking. if (u.uhp < u.uhpmax / 2) {Set MAX MP to 9999.u.uenmax = 9999;Constant MP recovery, and rapid recovery when MP is low. While it could always be at maximum MP, it's designed this way so you can see how much MP is being consumed. if (u.uen < u.uenmax / 2) {Always restore food (with this, you can have all the food from defeated creatures eaten by your pets). if (u.uhunger < 900) {A quick way to level up. if (u.ulevel < MAXULEV && u.uexp < newuexp(u.ulevel) - 20) { |
| Avoid death (HP reaching 0) during meals. In src/eat.c, line 2215, the line `u.uhp += otmp->cursed ? -rnd(20) : rnd(20);` randomly decreases HP, which could lead to death. Therefore, I will add a check after this line. u.uhp += otmp->cursed ? -rnd(20) : rnd(20); This part remains the same. |
| Lots of money. Please modify the following section in src/hack.c. money_cnt(otmp) This part remains as is.When I go shopping at a store, a strange message appears, but I can still make purchases, so I don't worry about it. |
| To always allow the user to choose "Save the file" regardless of whether they are in wizard mode, remove the conditional statement around line 101 of sys/mac/macmain.c. // if (discover || wizard) { This line is commented outIf you always want to keep the save file, then add more comments. (In this case, if you want to "start over," you can delete the save file.) // if (discover || wizard) { This line is commented outsrc/restore.c also needs to be modified.// if (!wizard && !discover) This line should be commented out.To disable the confirmation for overwriting existing save files and always overwrite, modify the code starting from line 149 in src/save.c. if (fd > 0) {This will change the game from a "game over" experience where you have to start from the beginning each time you die, to a game where you can normally save your progress. |
| Make magic "definitely successful." Change the return value of the percent_success function at line 1713 of src/spell.c to 100. percent_success(spell)Magic is forgotten more and more with each use, so the retention rate is forcibly overwritten to prevent forgetting. Around line 912 of src/spell.c. spellknow(spell) = KEEN; This line should be added. |
| When an item is picked up, always set the "blessed" attribute. Forcefully set the attribute as follows at the beginning of the pick_obj function at line 1530 of src/pickup.c. struct obj * |
| When an item is picked up, it is forcibly changed to a "candle." This is for emergencies when it is needed to clear the game but cannot be found. Similar to the above, set it at the beginning of the pick_obj function at line 1530 of src/pickup.c. otmp->otyp = TALLOW_CANDLE;However, this does not change other attributes, so the weight and type remain the same, which will alter its behavior. This is only for emergency use to clear the game. If you pick it up, you can use the "a use" command for items of that type, and you should immediately attach it to the Candelabrum of Invocation. |
| Make sure the scroll has the "blessed" attribute. Forcibly set the attribute around line 402 of src/read.c, above the `if (!seffects(scroll)) {` statement. scroll->blessed = 1; Add this line.There might be rare occasions when I want to read a cursed scroll, but in those cases, please comment it out and rebuild. If the option "Always set the 'blessed' attribute when picking up an item" is sufficient, this is not necessary. |
| When reading a scroll, set the quantity to 2 (after which one is used, leaving a remaining quantity of 2). Similarly to the above, forcibly set this value around the `if (!seffects(scroll))` statement on line 402 of `src/read.c`. scroll->quan = 3; This line should be added. |
| When reading a scroll, it forces the game to recognize that a specific scroll has been read. [Emergency use] Around line 402 of src/read.c, in the `if (!seffects(scroll))` block, you can forcibly set the type of scroll. This means that the game will apply the appropriate attributes to the scroll being used before reading it. Therefore, if you have two or more of the same scroll, the type of scroll will change, and using one will consume it. Please be careful.
|
| Increase damage to enemies. Increase the value after the `return tmp;` statement on line 349 of `src/weapon.c`. tmp = (tmp * 5) + 100;It might not be necessary until you encounter a strong enemy. It's best to use it only in situations where you are surrounded by monsters that you cannot defeat with normal attacks, such as demons that have multiplied, and you cannot escape. If you encounter an enemy that you cannot damage, increase its value. |
| Force the number of usable staffs. Force the value above the `if (!zappable(obj))` line in `src/zap.c` at line 2199. obj->spe = 10; // Add this line (set to 10). |
| "Pray" command (#pray command) must always succeed. Use the wizard mode processing within the dopray function on line 1834 of src/pray.c. On line 1846, change |
■Strategy
You can reach the Gnomish Mines from one of the floors with two staircases. First, clear the Gnomish Mines, then return to the floor with the two staircases.
Normally, you will die dozens of times before clearing a floor (starting from the beginning), and you can only clear it occasionally. Since you have to start from level 1 every time, you usually run out of motivation after a while. This time, I'm using cheats, so I'm progressing further. I haven't been to many of the places ahead, so there are a lot of new locations.
I have arrived at the Oracle's Shrine (The Oracle).

You can talk to the extended command #chat. You can't learn much for 50, but if you pay 2000, you can get important information. For example, how to defeat Medusa, or how to enter the sanctuary of the final destroyer god, Moloch.

Eventually, another staircase split (where two rooms are connected by stairs) appears, and you need to solve a rock-moving puzzle, like in a warehouse keeper game. What an experience. I wonder if something like this existed before? The final passage seems to be a pit trap, so you need to block it with rocks. At first, I thought it was impossible to clear, but it's not exactly the same as the warehouse keeper game, so you can clear it by destroying some of the rocks with a magic wand. It seems that the magic "dig" (to dig) is disabled on this floor, so you might not be able to clear it without a wand? It seems like you need to use the two wands you picked up on the previous floor to clear it.
This floor is not that difficult, but a staff was hidden under the rock at the very end.

This floor has many enemies, so be careful because if enemies get trapped in the last corridor, it will be impossible to clear.
If you clear it, you will find a zoo (or a room full of monsters), and there are good items behind it. In this case, it's a lightweight bag. It looks like a normal bag if you don't appraise it, but it should reduce the weight if you put something inside.
Then, return to the original dungeon.

Then, I discovered an altar " _ ". It's an altar, even though it's an underscore. It has attributes, and strange things happen if you don't have the same attribute.
This can sometimes appear on lower floors, but this is the first time I've seen it here. You can place items here to check if they are cursed.
Also, if you offer fresh monster corpses using the #offer command, good things might happen. It might change the attribute to your own.
If you're in a very difficult situation, you might get something good by using the #pray command, but if you pray too much, the gods might get angry and punish you.




If you go a little further, you suddenly get caught in a teleportation trap (?), and you are sent to a place that looks like your homeland. It seems that the place you are sent to is different depending on your profession. Apparently, you need to defeat a being called Dark One and retrieve something called the Eye of the Aethiopica. There was a staircase hidden behind a secret door in the back of the room where you received the request, so I started the quest from there.




Defeat the Dark One to obtain the Eye of the Aethiopica, and speak to the quest giver to complete the quest.
Obtain the silver bell. If you appraise it, it will become the Bell of Opening. This is necessary to clear the game.
By the way, when I prayed at the altar at the end of the quest, the strongest weapon for mages, the Magicbane, appeared.





After that, I entered a hidden vault on a deeper level and was transported to Fort Ludios.



If you defeat a group of monsters, you will obtain a lot of money, but if you are cheating, it doesn't matter much.

When you descend further into the original dungeon, you reach the Medusa level.
At the Oracle's shrine, you can obtain the following information, but it is content that anyone familiar with the myth of Medusa can imagine.

I happen to be a mage and can use the "cone of cold" spell, so I can freeze the ground and move forward. It's a place where I would be at a loss if I couldn't use magic or items, because I'm essentially cheating and can use magic freely. Even if I could use the same magic, I feel like my magic power or magic memory (retention) would be insufficient, as I am surrounded by water. If you equip the "shield of reflection" that is inside one of the statues and go to the Medusa's room, the Medusa turns into a statue. There is no message, so it is not obvious, but if you go to the room without the "shield of reflection," you will be petrified and the game will be over, so you can tell the difference. Although there are stones and other things scattered in the place where the Medusa was, it is not obvious, but there is a staircase leading down to that place.

Arrived at "Castle" on the 29th basement level. Pits can be jumped over by wearing jump boots #jump or by flying with levitation boots.

I quietly progressed and reached the 30th floor underground. This seems to be a floor called "Valley of the Dead." According to the walkthrough page, from this floor it's supposed to be Gehenna, but when I read the messages, this floor isn't Gehenna, but the next floor is. Maybe something has changed?
The enemies have become stronger, so my progress has slowed down. It seems I've reached a floor where my prayers don't reach my own god. If the demons proliferate and surround me, I'll be unable to move and will be easily defeated, so if I hadn't used cheats, I would probably have a game over.

I couldn't find the stairs, so I used the "dig" magic to create holes everywhere until I finally found the stairs. Most of the walls are immune to the "dig" magic, but some walls can be dug.



And then, we entered the 31st floor, Gehenna.
By the way, the spells I have learned so far are as follows:

If you learn a spell, you no longer need the corresponding scroll. Scrolls are used once and then disappear, but spells only consume MP. For example, if you learn the Identify spell, you no longer need Identify scrolls.
A frequently used offensive spell is Finger of Death, but depending on the type of enemy, Cone of Cold or Magic Missile may be more effective.
To freeze a pool of water and walk on it, you can use Cone of Cold.
To break a wall, you use the dig spell.

If you go down a few floors, you will reach a section that looks like a maze, but you can use the "dig" magic, so it doesn't become a maze.

After passing through the maze, I entered a large room. This is the 34th underground level. It's dark, so even with a lamp, I can only see the immediate surroundings. It seems to be a level with a lot of water.
Apparently, this is called Juiblex's swamp.

Eventually, we arrived at Asmodeus' Lair (Asmodeus Floor), which is the 36th underground level.
Even with cheating, Asmodeus is difficult to defeat. Even with about 30 attacks, I couldn't defeat him, so I increased the cheat damage slightly, and he was defeated in one hit. Perhaps the damage I was dealing was not exceeding the threshold required to inflict damage?

Arrived at the underground 37th floor, Baalzebub's Lair (Baalzebub Floor).

Baalzebub will demand a toll, so I pay it honestly.
If I don't pay or the amount is too small, he gets angry and summons demons, but these demons are incredibly strong and overpowered, and even if I cheat, I can't defeat them and end up being killed, so it's better to pay. I don't know any other ways to avoid it, but at this point, there's no use for money anyway, so it's fine to pay, and besides, since I'm cheating, money is irrelevant. When I'm cheating, he demands an enormous amount, which is surprising, but when I disable the cheat and try a few times, there were times when he demanded only 1500, so it doesn't seem outrageous. It seems like he decides based on the other person's financial situation.

Passing through the underground 39th floor, the Orcus-town (Orcus floor).


Since there was a branch at the same level, I climbed the stairs, and it displayed "Heat and smoke have disappeared," so it seems to connect to somewhere other than Gehenna.



It seems this is "Vlad's Tower."
Defeat the vampire Vlad (Vlad the Impaler) to obtain the Candelabrum of Invocation. Required to clear the game.

A fake wizard's tower was discovered on the 45th underground level.
The pond was frozen with magic, and then a hole was dug in the wall with a digging spell. The disenchanter monster inside was defeated, but it didn't have anything of great value.

A similar "Fake Wizard's Tower" was discovered on the 47th underground level.
If you go to the center, a magical entrance will activate, allowing you to enter the real "Fake Wizard's Tower."
Beyond this, there is the "Wizard of Yendor," who must be defeated. However, even if you defeat him, he becomes stronger and revives, so for now, just check the entrance and proceed to the normal dungeon as far as you can. Then, in the "Fake Wizard's Tower," defeat the "Wizard of Yendor."


Apparently, the last room has a very unusual atmosphere.
You defeat the Wizard of Yendor there.





If you knock it over, you will obtain a Spellbook. If you appraise it, it will become the Book of the Dead. It is necessary to clear the game.


I am going to a place that is 48 floors underground, where "you can feel a subtle vibration from the ground."
You can find out what to do here by asking at the Oracle's shrine (The Oracle).

First, place seven candles in the Candelabrum of Invocation.


After that, you will use the Candelabrum of Invocation.


Next, we will use the Bell of Opening.




Next, I will read the Book of the Dead.

Then, the map changes, and stairs appear.


Underground floor 49. Even at the entrance of this room, a special message appeared: "This is a room that gives off a creepy feeling."

The altar and priests of the god of destruction, Moloch, were discovered.






If you ignore the warnings and enter, you will offend the sacred and be attacked.
If you defeat it, it will drop the Amulet of Yendor, so obtain it.
After that, you will endlessly return to the surface.


When you return to the ground, more trials will continue.



It seems to be the final trial (Final Test).
Up until now, it's been an RPG, but this final trial (Final Test) has 5 floors, and the first 4 floors – the Earth level, the Wind level, the Fire level, and the Water level – have such different atmospheres that it makes you think the authors are different. It's not just that it's troublesome; it doesn't feel like a "game." Up until now, it was a proper, classic RPG, but here, there aren't many hints or strategies, and it feels like some malicious, intelligent programmer added it later. It's unforgivable that such a good game is ruined by a programmer like that who interferes and throws off the game balance. It's truly a waste. This final trial (Final Test) is unnecessary. It's just troublesome and time-consuming, and it doesn't feel like a game. The final Astral Plane is the last part, so I think something like this is acceptable.
Initially, it's the Earth level. The composition is subtle: you have to find a magic entrance (random). The magic entrance is located somewhere in what was originally an empty space.

Next is the level called "Air Plane." Since you are floating in the sky, you cannot move unless you use items like floating boots.
It is a large map, but as you move, some clouds will clear, and within the areas where the clouds have cleared, you can use the "wand of secret door detection."

This time, it was found in the upper right corner. It seems to be located in roughly the same area.

Next is the Plane of Fire.
There is a magical entrance somewhere on the ground, so search for it. This time, it was located in the upper center.




Next is the Water Plane. Search for the entrance to the magic world while moving through the water puddles.
However, the entrance seems to be moving, so it's all up to chance.
After moving for a while, I was suddenly warped to the Astral Plane without understanding what was happening.





The "&" mark represents Pestilence, which spreads diseases that lead to death. It can be countered and defeated using a unicorn's horn. Even if you cheat, you can be defeated in a few turns if you are careless, making it a very formidable enemy.


Now, we have arrived at the final altar. Let's try offering the Amulet of Yendor, but something seems strange...




Ending?
"Thoth accepted the offering. And by gaining power, he gained an advantage over the god of war, Anhur, and Thoth gained dominance."
"The god Anhur was enraged, but you did not die because you were protected by Thoth."
"Orange smoke enveloped you..."
Wait? Something about the message is strange... I was supposed to ascend... But when I spoke to the priest of this temple, it seems this is Thoth's temple. Hmm. When I checked, it seems I was originally worshipping Anhur, but I offered it to a different god. It seems I have reached a bad ending. Since I have a cheat, I will restart from a save point.

I went to the left side of the same floor. There, there was also an altar and a priest.


This is a place where the god is different; it seems to be the temple of the god Ptah.





I tried offering it as a gift, but as expected, it resulted in the same bad ending.

When I went to the altar on the right, it was the temple of the god Anhur. It seems that this is the correct place.





Ending
"You offered the Amulet of Yendor to the god Anhur..."
"An invisible choir began to sing, and you began to glow..."
"The voice of the god Anhur resonated: 'Creature destined for death! Well done!'
'In return for your contribution, I shall grant you immortality!'
'You have received the title of a deified, semi-divine being, and ascended.'
All maps





