Giter Site home page Giter Site logo

unnethack / unnethack Goto Github PK

View Code? Open in Web Editor NEW
101.0 17.0 29.0 120.71 MB

NetHack fork that is in development

Home Page: https://unnethack.wordpress.com

CSS 0.03% C 92.35% C++ 2.04% Shell 0.09% Awk 0.10% OpenEdge ABL 0.04% GAP 0.01% Max 0.01% Makefile 0.28% Ruby 0.03% Batchfile 0.09% DIGITAL Command Language 0.23% Lex 0.21% Yacc 0.72% M4 0.56% Assembly 0.32% sed 0.01% Rez 0.06% Lua 2.83%

unnethack's Introduction

General information about UnNetHack
===================================

UnNetHack is a fork of NetHack, originally based on NetHack version 3.4.3.

It features more randomness, more levels, more challenges and more fun than
vanilla NetHack.

In a nutshell I would describe UnNetHack as "how NetHack would look today if
the DevTeam didn't stop releasing", following a modern open source project
approach of development.


The project page with detailed information about changes from NetHack, the
development blog, public servers, source code repository and ways to reach the
developer can be found at: https://unnethack.wordpress.com/

For discussions, join the IRC channel #unnethack on Libera.Chat, post to the
Reddit group r/nethack or the Usenet group rec.games.roguelike.nethack.


 -- Good luck, and happy Hacking

unnethack's People

Contributors

adriaandegroot avatar bhaak avatar chasonr avatar copperwater avatar demogorgon22 avatar elunna avatar entrez avatar fredriq avatar guest41 avatar h3xx avatar k21971 avatar kdgarris avatar nhmall avatar nhtangles avatar noeda avatar paxed avatar raz-w avatar rojjacebolla avatar stackc00ki3 avatar tedav avatar tung avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

unnethack's Issues

Not detecting save files

After I try to save a character, I can see the save file in the main unnethack folder, but if I relaunch the game there is no saves in the "who are you" screen. I can resume the character by typing in the character's name manually. Not sure if related, but saving does not put any file into the "save" folder. Is there a setting that I need to change somewhere?

Postgame wrapup disrupted; report error to wizard

Ascended (as a knight). Got the error:

impossible called impossible
Postgame wrapup disrupted.
Report error to "wizard".

Last thing that worked was showing me my conduct.

I'm a dirty save-scummer, so i can reproduce.

Unix UnNetHack Version 6.0.5 - last build Thu Jun  2 21:53:19 2022.

~/src/UnNetHack@mx-5% git log | head
commit be3bd338a66bc72439a51ba8032a20e73031299f

Darwin mx-5.icpsr.umich.edu 21.5.0 Darwin Kernel Version 21.5.0: Tue Apr 26 21:08:22 PDT 2022; root:xnu 8020.121.3~4/RELEASE_X86_64 x86_64

Taking off glowing dragon scales before they start glowing results in warning

Klaak reported:
Tried to wear my glowing dragon scales while standing next to an opposite gender foocubus, which initiated its seduction attack in the middle of the turns required to put on my scales.

This was the output:
a - a blessed +0 athame (weapon in hand) {10}.
What do you want to wear? [gHJ or ?*]
You feel very attracted to the incubus. The incubus murmurs sweet nothings into your ear. "Take off your suit; let's get a little closer."
Warning: end_burn: obj set of disintegration dragon scales not lit. The set of disintegration dragon scales stops glowing. Time stands still while you and the incubus lie in each other's arms...

Sokoban level 3h: got stuck in walled tile outside map

I fell through the final level of sokoban by walking over a pit and was teleported to walled tile just outside the level 3h map. And I guess there's no way to get out. [https://nethackwiki.com/wiki/Sokoban_Level_3h](see level 3h here) notice the empty tile to the right of the down stair, that's where I fell and got stuck. I've not yet quit the game just incase there's a way out...

parallel `./../sys/unix/unixmain.c:9:10: fatal error: date.h: No such file or directory` build failures

When building in parallel, like make -j16 the build fails occasionally on missing date.h file:

$ ./configure --enable-curses-graphics --disable-tty-graphics --with-owner=no --with-group=no --with-gamesdir=/tmp/unnethack
$ make -j16
gcc -DAUTOCONF -Wall -I../include -I./../include -g -O2  -c ./../sys/unix/unixmain.c
./../sys/unix/unixmain.c:9:10: fatal error: date.h: No such file or directory
    9 | #include "date.h"
      |          ^~~~~~~~

AFAIU date.h is an autogenerated file, but unixmain.o does not state it's dependency on that anywhere.

It's best reproducible with make --shuffle from GNU make-4.4.

Object detection via blessed magic mapping scroll hides monsters until they move

To reproduce, read a blessed scroll of magic mapping in front of a sleeping monster (with/standing on an item), eg. in a nymph garden or leprechaun hall.

A possible fix is given here
cfe8bb3

This simple fix has the slight side effect of denying the player a glimpse at the glyph of the first item in any currently visible monster's inventory. Other detection methods provide this information at the cost of a --More-- prompt.

windows binary still has a tiles problem

Out of the box run of the windows download gives unable to load tiles file, reverting to default. error. The unchozo32b.bmp is present but does not seem to work... Switched to untekhack.bmp which works fine

Line-of-sight ignored sometimes

On levels with lava rivers, dragons get generated flying over the lava behind the dungeon walls. When they move around, line of sight is sometimes ignored. The dragon can be seen, and breathes at the player, from behind the walls.
screenshot from 2018-06-29 15-38-04

Shop layout for a given seed occasionally changes with system clock

This was observed on an older version, where seed layout differs from the current version. The version used was compiled following the command

git checkout -b oldversion 3eb89b1

with the added modification given in #5 to get the normal layout to reproduce in wizard mode, for testing purposes. Dungeons of Doom:19 has a general store in a U shaped layout. Observe the items/mimics in the leftmost 3 columns of the shop. Setting the system clock to a specific time and date produces a different collection of items/mimics in these columns. One such occasion was April 18th 2015, 13:20 local time (12:20 UTC). The effect persists for a few minutes. I observed this effect at least two other times, but can't recall the times to reproduce. In each case, the shop generates as normal after a few minutes.

Request - add #name of item on floor (as in vanilla)

It would be nice to be able to #name an item on the floor (as you can in vanilla).
Two specific use cases
You've kicked that gray stone, it hurt, you want to name it 'loadstone' without picking it up
That scroll on the shop floor causes your pet to flee - let's name it scare monster without risking paying for used goods

I guess the alternate in both causes is to automatically name them as with other unique messages.

Custom walls for branches in 32x32 tileset

The 32x32 tileset includes custom walls for branches/special levels beyond those available in vanilla NetHack. Following Sokoban (the purple walls), these are:

  • Ruins of Moria
  • Black Market
  • Town
  • Vlad's Tower
  • Astral Plane
  • Sheol
  • Dragon Caves
  • The Castle
  • Medusa
  • Oracle
  • Nymph level

Following those are walls intended for the quests (as these cover a variety of terrain). At present only the vanilla walls (Gnomish Mines, Gehennom, Fort Ludios, Sokoban) are enabled.

Iron safes can be blown up by magical explosions

Putting a wand of cancellation into a bag of holding might destroy an iron safe that is on the ground.

Iron safes should be strong enough to withstand such an explosion (although its contents could be shattered).

Whatis_MoveSkip doesn't seem to work

Fairly simple issue, though one that is causing me some serious funk due to my decades of of muscle memory!
The default setting for 'Rest' in UnNethack appears to be "." now instead of the space bar, and the Rest_on_Space option was removed I'm sure for very good reasons. As a result, I tried to use the move skip Whatis option but it doesn't appear to do Anything when I try to toggle it between True and False.

I would LOVE to try out Unnethack for the first time, is there something I'm missing or is this just Nertz?

Update untiles32x.png for latest version

In the tilesets folder, it says for untiles32x.png:

(currently out of date for 4.0.0, will be updated later)

Consider this a feature request for that.

If I use the current file for the latest version, will the game still be playable?

makemon trying to create a monster at <81,0>?

Recent run on an HF server using UnNetHack 6.0.3
On a couple of levels - primarily VotD and the elemental planes - I was getting the following errors -

    makemon trying to create a monster at <81,0>?
    Program in disorder; you probably should S)ave and restart the process.
    makemon trying to create a monster at <81,0>?
    Program in disorder; you probably should S)ave and restart the process.
    makemon trying to create a monster at <81,0>?
    Program in disorder; you probably should S)ave and restart the process.

Restarting had no effect but going to the next level stopped until for a while. Not sure whether this is an HF server issue or an UnNetHack issue.

duplication of wizard class starting inventory

Platform: Android

I had been playing a wizard, named Will. He died, so sad.

I started a new game, entered 'Will' as the name, got the list of classes to choose and did not make a selection. Put my phone down, it was late, I went to sleep, when I woke up the battery was low.

When I opened UnNethack it was still at the class selection screen. I chose Wizard, human, male, chaotic. Spawned into the game with (about) 50 sets of starting gear.

About 50 spellbooks (half of them force bolt), 24 spells already known. 50 +0 cloaks of magic resistance, a huge pile of different scrolls, potions, rings. Only a handful of tools, and 2 weapons:

  • 1 +0 quarterstaff
  • 0 +0 quarterstaves

Among the tools, both:

  • a blindfold, and
  • 0 blindfolds

Most of the items had '#' as a label, and could not be used (everything was "a silly thing to eat/drink/read"). Many of the items had text similar to what you see after you die, and choose to identify your inventory, like "1 [uncursed] scroll of confuse monster [confuse monster]"

I dropped everything, and started sorting through it. Used WoC to clear the useless potions and scrolls, drank the rest (successfully), read some enchant armors, enchant weapon.

Decided to poly-pile the rest. Stacked some things up, grabbed a wand of locking to zap the nearest door while I was working. As soon as I zapped it at an open door, game crashed, no save game created.

It's possible, given the low battery over night, that Android paged out some or all of the app while at the class selection screen, and the bug occurred when it re-opened it the next morning.

crash at ascension - Report error to "wizard"

MacOS 13.2.1 x64 on 16" MBP

version:

~/src/UnNetHack@mx-5% git log | head
commit a72806564aaeab8eec9a7f23807d8e0049c006b2
Author: Patric Mueller <[email protected]>
Date:   Fri Jan 27 13:27:18 2023 +0100

    Fix tests

Bug: Ascended, went through possessions, inventory, genocides, etc - through conduct, then got:

impossible called impossible
Postgame wrapup disrupted.
Report error to "wizard".

Can provide savefile & binaries if helpful.

suggestion: Make the Executioner ignore wands in inventory

Just went to clean out Sheol and got to the executioner. He was generated with a wand of magic missile, and rather than whacking me with Cleaver, he tried zapping me with the wand.

He was therefore extremely easily dispatched. I had a lot more trouble with the rest of his level than with him. Based on my tombstone from an earlier encounter, I know that's not the intent. :)

So, if someone's feeling frisky, perhaps modify him so that he'll ignore wands if he's within Cleaving distance of the player.

Crash after life saving from drowning via cursed scroll of flood

To reproduce, start a game in wizard mode, wish for 2 cursed loadstones, wish for a cursed scroll of flood. Move to open floor, read the scroll. The game crashes before the wizard mode life saving prompt occurs, with the message

extract_nobj: object lost
Suddenly, the dungeon collapses.

The crash occurs only when reading from a single cursed scroll of flood, reading from a stack of many such scrolls works fine.

problem when interrogated by guard - do not have the opportunity to pacify.

I ran into a guard while I was in the vault with the portal. I had already killed Croesus.

I gave the guard my name, but was unable to pacify him. See attached screenshot.

Can provide (macos x64) savefile & config.log, commit was:

commit a72806564aaeab8eec9a7f23807d8e0049c006b2 (HEAD -> master, origin/master, origin/HEAD)
Author: Patric Mueller <[email protected]>
Date:   Fri Jan 27 13:27:18 2023 +0100

Some vaults in vaults.des lack appropriate depth conditions

This is generating monsters that are too difficult if the player encounters them on an early level. An example is the Ozymandias' Tomb vault, which makes up to 3 web traps, with accompanying giant spiders, and can appear from Dungeons of Doom:1. Web traps don't normally generate above depth 7.

segfault when trying to use tiles (ubuntu)

after ./configure with --enable_x11_graphics, i get a segfault when trying to run unnethack.

Linux 5.3.0-42-generic #34~18.04.1-Ubuntu SMP Fri Feb 28 13:42:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

menu- and statuscolor patches doesn't work at all

I have encountered a weird issue with UnNetHack v5.2.0-1 recently. The main problem is, that the statuscolor and menucolor patches takes no effect on the game's appearance. The NetHack wiki says, that UnNetHack incorporates the color patches by default, but I haven't found any way to switch it on. This game seems quite unplayable without being colored properly, so I need your help. What should I do to make these patches working? I have Windows 7 running on my PC, if you're interested.

Very Minor/Cosmetic: artifact name not used in message when #dipping

# dip
What do you want to dip? [a-dfhktvxzA-DF-HMR-TVX or ?*]
What do you want to dip the long sword into? [X or ?*]
Your Vorpal Blade softly glows with a light blue aura.

Doubt my specifics matter much but:

Unix UnNetHack Version 6.0.4 - last build Fri Apr 15 16:20:01 2022.
UnNetHack-6.0.4-20220203-1f061e93b

Darwin mx-5.icpsr.umich.edu 21.4.0 Darwin Kernel Version 21.4.0: Fri Mar 18 00:45:05 PDT 2022; root:xnu-8020.101.4~15/RELEASE_X86_64 x86_64

6.0.3 - when max power is zeroed by anti-magic fields, my power no longer goes up when i gain a level

Hi,
6.0.3 on MacOS latest, locally compiled with no configure options except --dir's

My tourist ran into some anti-magic fields early on and max power went down to zero. Based on spoilers on nethackwiki, losing max power does seem to be intended, so no problem there.

However, since that happened, I no longer get a bump in max power when I gain a level.

I've come across a few potions of gain energy so my level 22 character now has max power of 31.

This is an interesting challenge, so I'm not sure whether it is intentional or a bug, but I thought I'd report it.

tcsetattr(STDIN_FILENO, TCSAFLUSH, &raw) hangs up tty

At https://github.com/UnNetHack/UnNetHack/blob/master/sys/share/unixtty.c#L469 there is an attempt to set the terminal to raw mode. Unfortunately it also seems to set the speed to 0. This has the effect of terminating the login session and even the xterm (if that's what you're using) to close.

This patch avoids the issue:

+++ sys/share/unixtty.c
@@ -462,7 +462,8 @@ check_utf8_console()
     }
 
     /* set minimal raw mode */
-    struct termios raw = { 0 };
+    struct termios raw = original;
+    cfmakeraw(&raw);
     raw.c_cc[VMIN] = 0;
     raw.c_cc[VTIME] = 3; /* timeout of 0.3 seconds */
     if (tcsetattr(STDIN_FILENO, TCSAFLUSH, &raw) == -1) {

My manual tcsetattr(3) says:

     The cfmakeraw function sets the flags stored in the termios structure
     (initialized by tcgetattr) to a state disabling all input and output
     processing, giving a "raw I/O path".  It should be noted that there is no
     function to reverse this effect.  This is because there are a variety of
     processing options that could be re-enabled and the correct method is for
     an application to snapshot the current terminal state using the function
     tcgetattr, setting raw mode with cfmakeraw and the subsequent tcsetattr,
     and then using another tcsetattr with the saved state to revert to the
     previous terminal state.

Pacifist & Nudist conducts switched in the conducts tracking menu

When you select pacifist in the conducts tracking menu (before starting a game), you start with your armour off and when you put it on it acts as if you have broken nudist (spawns a cobra, "You realise you were nude").

When you select nudist in the conducts tracking menu, you start with your weapon unwielded and upon breaking /pacifist/, you get the "You feel violent! Do you want to quit?" prompt.

I think the two conducts are just swapped. I think (but am not confident enough to be sure) that you can switch the two lines in wintty.c:

https://github.com/UnNetHack/UnNetHack/blob/master/win/tty/wintty.c#L497

here the pacifist flag comes before the nudist one, but in the menu the nudist one comes before the pacifist one.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.