copperwater / xnethack Goto Github PK
View Code? Open in Web Editor NEWExperimental features and improvements applied to NetHack 3.7-dev
License: Other
Experimental features and improvements applied to NetHack 3.7-dev
License: Other
In a recent game, the achievement "You completed the Gnomish Mines" was not recorded in the end game log.
It appears to have been replaced by a "You handled the Bell of Opening" message (this appears twice).
The Mines' End variant was the Gnomish Sewer.
Dump log:
https://eu.hardfought.org/userdata/G/Graznop/xnethack/dumplog/1623968162.xnh.html
Acquiring the Mines' End luckstone was noted by Beholder on IRC (at 09:00), just before attaining the rank of Exhumer (at 09:05):
https://www.hardfought.org/irclog/%23hardfought-2021-06-19.log
The file hacklib.c
currently has a lot of code guarded with defined(BSD)
that makes various functions use long
for time stamps instead of time_t
. However, this hasn't been the case for decades. Please fix the code by discarding the BSD special code path.
This was first noticed in by a compiler warning:
hacklib.c:1146:24: warning: incompatible pointer types passing 'long *' to parameter of type 'const time_t *' (aka 'const long long *') [-Wincompatible-pointer-types]
lt = localtime((long *) (&date));
^~~~~~~~~~~~~~~~
../include/system.h:541:38: note: passing argument to parameter here
E struct tm *localtime(const time_t *);
^
There are probably more issues coming from this.
There aren't any release binaries pre-built for macOS. What are the steps to manually compile xNetHack, if it is even possible in its current state of development? Thanks :)
This would be a backwards-compatibility shim, because probably 99% of the time when someone wishes for "leather armor" in xNetHack, they want to get the base-leather piece of armor that provides 2 AC, not any random object in ARMOR_CLASS that happens to have its material set to leather.
So the token "leather armor" in a wish should:
In xNetHack version 5.0 on hardfought.org (US server), attempting to view the encyclopedia and additional information on darts or shuriken crashes to the server menu. Upon re-entering the game, I'm told "There is already a game in progress under your name. Destroy old game?" Answering 'no' boots me back to the server menu again.
This happens when inspecting darts or shuriken from the inventory, or when using /
(what is) followed by ?
(something else) and typing "dart" or "shuriken". Typing "darts" or "shurikens" shows the encyclopedia entry, but without the added information (damage, material, etc), and in the case of "darts", the entry is shown twice in a row (which may be unrelated).
I suspect that the error has to do with the bit in the extra information that displays the associated skill. The only weapon I found to show the description "Thrown missile" is the boomerang, which is incorrectly described as using the broadsword skill. SpliceHack doesn't show the weapon's skill, and the bug is absent there.
I'm pretty sure my legs should feel shorter when I take my jumping boots off...
All giants may need their difficulties bumped.
See YANI #1678, #3158
┌────────────────────────────────────────────────────────────────────────────────┐
│Restoring save file... │
│NetHack is filmed in front of an undead studio audience. │
│Hello wizard, the orcish Ranger, welcome back to xNetHack! │
│xNetHack is filmed in front of a live studio audience. │
│Do you want to keep the save file? [yn] (n) │
└────────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────────┐
│ │
│ 0 │
│ ·+────┐ │
│ │@·(=·│ │
│ q-=·I··│ │
│ │I·(±~│ │
│ └···──┘ │
│ ▒▒▒▒ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
│ │
└────────────────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────────────────┐
│Wizard the Marksman St:14 Dx:10 Co:15 In:13 Wi:13 Ch:10 Chaotic │
│Dlvl:1 $:0 HP:111(111) Pw:102(102) AC:7 Xp:30 T:288 Hallu │
└────────────────────────────────────────────────────────────────────────────────┘
These messages come from two separate commits. The first (9fb1868) commit is the original one that was added to xNetHack. This was later upstreamed to the vanilla NetHack 3.7 by the second commit (a9c41d2), which was then merged back to xNetHack by 15b7311.
Lines 717 to 724 in 9fb1868
Lines 686 to 692 in a9c41d2
The upstreamed one was inserted to a different location in the welcome
function, hence they did not get merged into one automatically nor cause a merge conflict.
If a store is given one of the new diamond shapes and the entrance is at one of the points of the diamond, the shopkeeper will refuse to move out of your way to allow you to enter (or presumably exit). Apparently it would cause him to lose contact with the control square just inside the door...
Instead of the artifact club, the Caveman quest goal level generates a non-artifact mace named "Big Stick". This makes it impossible for Cavemen to get their own quest artifact.
This is an idea from "Red kangaroo" on the nethackwiki. It should probably follow the logic of whatever displacer beast meat does to grant temporary displacement.
Visual Studio keeps giving me this error, and I'm not very familiar with compiling source code. The instructions are very confusing. Can somebody pre-compile this? I'd love to play offline.
error : Your project does not reference ".NETFramework,Version=v4.0" framework. Add a reference to ".NETFramework,Version=v4.0" in the "TargetFrameworks" property of your project file and then re-run NuGet restore.
One wrinkle is that bones eligibility cannot currently be designated per level. Should there be a new level flag that blocks bones from being produced?
Object lookup works fine for "X of Y" phrasings like "wand of death" or "ring of slow digestion". But it does not work for "Y X" phrasings like "death wand" and "slow digestion ring"; these just get whatever encyclopedia entry happens to match.
xNetHack/sys/unix/Makefile.top
Line 241 in 973e1a3
It seems bad that this line explicitly looks for a folder called "nethackdir"? When I'm trying to run xnh locally, I don't have any folder called nethackdir, because i followed the instructions to set my own folder names. I have
PREFIX=$(wildcard ~)
HACKDIR=$(PREFIX)/xnethack
SHELLDIR = $(PREFIX)/shelldir
INSTDIR=$(HACKDIR)
VARDIR = $(HACKDIR)/var
, which seems to work for compiling and running splicehack, but XNH keeps looking for folders that don't exist:
~/git/xNetHack$ ~/xnethack/xnethack
/home/foot/xnh/install/games/lib/xnethackdir: No such file or directory
Cannot chdir to /home/roja/xnh/install/games/lib/xnethackdir.
~/git/xNetHack$ ~/xnh/xnethack
/home/foot/xnh/xnethack: 68: exec: /home/foot/xnh/xnethackdir/xnethack: not found
~/git/xNetHack$ ~/xnh/xnethackdir/inst/xnethack
/home/foot/xnh/install/games/lib/xnethackdir: No such file or directory
Cannot chdir to /home/foot/xnh/install/games/lib/xnethackdir.
~/git/xNetHack$ ./src/xnethack
/home/foot/xnh/install/games/lib/xnethackdir: No such file or directory
Cannot chdir to /home/roja/xnh/install/games/lib/xnethackdir.
I've been at this for a few hours and I just feel like an idiot, I don't understand how people casually compile and run all these variants locally. 😭
I was playing on Hardfought (xNetHack version 5.1). Wanted to dilute some potions, so I jumped in the moat on the Oracle level. Did it 2 or 3 times, and the game crashed. When I opened the game, it told my I had a game in progress, asked I wanted to abandon it. Got in touch with an admin who recovered the save file. I went back to the Oracle level and jumped in the water again, game crashed again, no "game in progress" notification this time.
When I moved into the moat I was a Samurai, Level 10, ~90 HP, wearing GDSM, wielding Snickersnee, and carrying ~8 potions (a couple of which were acid), nothing else in inventory.
Happy to provide additional info or attempt to reproduce if that would help.
There should be a fearless() macro that governs this behavior.
Fearless monsters should not be capable of turning and fleeing from active scare effects. (Probably the scroll of scare monster should still work on them.)
A filler level in Gehennom generated with no maze, only solid rock and a few rooms.
I've occasionally seen a single room fail to connect properly with the maze, requiring me to dig in or out, but this is the first time I've seen no maze at all. I used a stethoscope to search for secret passages all around the room with the upstair, then dug a few tiles to the right before reading a mapping scroll.
My best guess as to the cause is that the tiny room in the lower-left was supposed to be the maze, but somehow it stopped generating past a few tiles. That guess is based on that it's too small to be a normal room, but it could be a short piece of maze hallway.
I have tried to execute the macOS build through sys/unix/install_macos.sh. I have an M1 MacBook with macOS 12.6.3 (Monterey).
The build runs fine until I run into this error:
[CC] monst.c
In file included from monst.c:6:
In file included from ../include/config.h:710:
In file included from ../include/integer.h:54:
In file included from /Library/Developer/CommandLineTools/usr/lib/clang/14.0.0/include/stdint.h:52:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdint.h:52:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/_types.h:32:
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:309:39: error: too few arguments provided to function-like macro invocation
#if __has_attribute(warn_unused_result)
^
1 error generated.
Any advises on what I could do?
It ends instantly w/o any visible output, so no useful feedback here. The terminal version works correctly, although I didn't play much.
After hitting > to travel down into the Mine's End level, I received this error:
After hitting Enter on that screen, I received this error:
This was my first time going down this stair. I'm playing an Elven Ranger on hardfought. The server is running xNethack version 5.1. Saving and reloading the game did not cause any errors to occur.
This could repurpose the defunct abattoir sickness code to instead scan the area around the hero for a hezrou. It should happen at fairly low frequency (so that you're not guaranteed to get nauseous just from being near a hezrou for a few turns).
This should happen only if olfaction() is true.
A different but more complicated implementation would be to make the gas clouds emitted by hezrous, and only those gas clouds, induce nausea.
Raise XL cutoffs for Excalibur higher; possibly much higher for non-Knight lawfuls.
for example, you can't eat a corpse or food without picking it up, and it's completely impossible to quaff from fountains.
normally the game prompts you asking if you want to eat the corpse below you or quaff from the fountain if you are standing on it, and if you say no then it moves on to your inventory but this behaviour is absent in xnethack and without the ability to specify the ground from the inventory menu, there's no way to interact with things on the ground with this option enabled.
this happens both in the current master as well as the current xnethack version on hardfought.
Good evening! I'm trying to make a FreeBSD package out of this and the way you use Lua is quite weird. Please add a simple way to use the system's Lua installation instead. Also let me know if a specific Lua version is needed.
Hey there--I'm not sure if this is an appropriate forum for general feedback--let me know if there's somewhere you'd prefer I post this.
I'm playing on Hardfought for the first time in a year or so with no idea that I was on a new xNetHack version. I was delighted when I realized the Valkyrie quest was overhauled. The new Home level is much more interesting, and the Bifrost is very cool. Overall I love it.
I have one complaint, and that's anti-synergy of the Sol Valtiva with my other weapon options. I started with the +1 Spear, took a little while to find a long sword and then #dipped for Excalibur. Eventually I found a convertible altar and sacrificed for Mjolnir, and then went on the Quest, where I was surprised to pick up Sol Valtiva. So I have 3 great weapon options. Sol Valtiva, dealing fire damage and being 2-handed seems like a sub-optimal choice for Gehennom. It's really cool that it acts as a light source, but I mostly want a light source for throwing Mjolnir, and it won't work for that because I'd need to wield both of them. So while I'm psyched for a new artifact, I'm a little disappointed that I'll probably not use it much.
When I play a Valkyrie, I love wielding Mjolnir. It seems super-thematic. I like the way it's beefed up in xNetHack with the new #invoke ability and I don't mind the risky two-handed trade-off for more damage. Maybe Mjolnir should just be the Valkyrie quest artifact? But it doesn't seem like Valks need a new weapon option.
Thanks for all your work!
I already have NetHack configured using this variable. xNetHack uses the same variable although it's for a different game. It should use only XNETHACKOPTIONS
or something for configuration so that separate installations of these games could exist together.
Stood on the upstairs on the nemesis level of the ranger quest and read a cursed scroll of earth. The scroll disappeared but no boulder was produced. Some new bit of f*ckery?
Helps add to the circle-of-life feeling of such a nest. Chickatrices should still be in the minority though.
A few issues with the curses permanent inventory:
I have a game where I'm a valkyrie. when I go down the stairs to the 2nd level of the quest, it takes me to the gnomish mines final level, then when I try to go up I just get more and more mines levels, even into negative numbers. Got to dungeon level -4. Then I went back down the bottom, saved, and restarted. Acted normal for a while.
Then, on later levels (24, 27, 32) when I go down the stair I end up on dungeon level one. If I dig a hole it will take me to the next level, though.
An easy way to reproduce this is to go to Vlad's cavern level (tower4) and ^G summon "tame saddled wumpus" and #ride it. Make sure not to have levitation or flying.
If you are completely surrounded by air, you are not allowed to dismount the wumpus.
If, however, you are next to at least one walkable space:
Expected behavior is that the wumpus remains in place, clinging to the ceiling, and you dismount on one of the adjacent walkable spaces.
This doesn't have to wait for any particular quest overhaul to be completed. Includes:
When a weapon-wielding demon (such as a horned devil) is gated in, the message about it wielding its item will get printed before the message about it appearing in a cloud of brimstone.
This occurs because in msummon, makemon is called first to create the monster, possibly triggering messages about the monster wielding its weapon, and then the brimstone message is printed after all demons have been gated in.
Possible solutions:
This will be the next redesigned quest.
A few parts of this quest have already been redesigned in the effort to not have it be a carbon copy of the Priest quest, so there's less redesign effort than usual involved, but this largely focused on levels and not making a distinct quest story.
Notes on a distinct story from quest overhaul brainstorming, not necessarily committed to:
These are from NetHack Fourk.
NOTE: Lawful Barb will require some updates to quest text which assumes they will never be lawful.
Hi there, just had a game crash (playing on Hardfought, xNetHack 5.1) after I stepped on a fire trap. I got the "flames erupt from the floor" message, my shield smouldered, a potion exploded and I healed a little bit - and I was prompted to name that potion, then another potion exploded "strange feeling for a moment, then it passes", I named the second potion, and basically as soon as I hit enter with that name I was back at the Hardfought home screen - no more messages, no dying, etc. Starting up xNetHack again I got the new game screen.
I'm that guy who first prompted that issue on Reddit. So I would like to repost it here.
Hi, guys! I'm still trying to play xNetHack, but I have no knowledge about coding. However, now I've noticed, that this fork, xNetHack, forcefully overwrites my colors for curses interface, and I don't know, how could I change that behaviour. The set of color options from configuration file doesn't work. What should I do to set my preset of colors, taken from windows prompt?
Here is the link to the same issue in NetHack branch, with some nice info provided by entrez: Curses windowport overwrites terminal color settings
You kill the gas spore! rn2(0) attempted, returning 0--More--
I was firing darts at gas spores as a Valkyrie. Also happens when firing arrows as Valkyrie.
On Hardfought US.
Unix xNetHack Version 5.0 - last build Thu Feb 13 18:53:40 2020
(7926277bdcf78a0d6fae8bd9c01eb6270da7d4b6).
Options compiled into this edition:
color, console escape codes for tile hinting, data file compression,
data librarian, end-of-game dumplogs, insurance files for recovering
from crashes, log file, extended log file, errors and warnings log file,
mail daemon, news file, pattern matching via posixregex, pseudo random
numbers generated by ISAAC64, strong PRNG seed available from
/dev/urandom, screen clipping, shell command, traditional status
display, status via windowport with highlighting, suspend command,
terminal info library, timed wait for display effects, system
configuration at run-time, save and bones files accepted from versions
5.0.0 through 5.0.0, and basic NetHack features.
Supported windowing systems:
"tty" (traditional text with optional line-drawing) and "curses"
(terminal-based graphics), with a default of "tty".
edit here's a backtrace
#0 rn2 (x=0) at rnd.c:105
No locals.
#1 0x0000556c7df37b20 in thitmonst (mon=0x556c7e8897c0, obj=0x556c7e829d10) at dothrow.c:1797
broken = 0 '\000'
chance = 0
speadjust = 0 '\000'
wasthrown = 1 '\001'
chopper = 0 '\000'
tmp = 0
disttmp = 2
otyp = 6
hmode = 1
guaranteed_hit = 0 '\000'
dieroll = 7
#2 0x0000556c7df35ad6 in throwit (obj=0x556c7e829d10, wep_mask=512, twoweap=0 '\000') at dothrow.c:1347
obj_gone = 125 '}'
mon = 0x556c7e8897c0
range = 6
urange = 6
crossbowing = 0 '\000'
clear_thrownobj = 0 '\000'
impaired = 0 '\000'
tethered_weapon = 0 '\000'
#3 0x0000556c7df3155a in throw_obj (obj=0x556c7e7d2360, shotlimit=0) at dothrow.c:250
otmp = 0x556c7e829d10
multishot = 1
skill = -24 '\350'
wep_mask = 512
twoweap = 0 '\000'
weakmultishot = 0 '\000'
#4 0x0000556c7df31e82 in dofire () at dothrow.c:430
shotlimit = 0
obj = 0x556c7e7d2360
#5 0x0000556c7dee5cdf in rhack (cmd=0x556c7e1dc920 <in_line> "f") at cmd.c:4993
tlist = 0x556c7e1d1dc0 <extcmdlist+960>
res = 2116080504
func = 0x556c7df31d26 <dofire>
spkey = 0
prefix_seen = 0 '\000'
bad_command = 1 '\001'
firsttime = 1 '\001'
#6 0x0000556c7deaab28 in moveloop (resuming=1 '\001') at allmain.c:472
moveamt = 12
wtcap = 0
change = 0
monscanmove = 0 '\000'
energyfrac = 0
#7 0x0000556c7e123d5b in main (argc=1, argv=0x7ffc73823a08) at ../sys/unix/unixmain.c:351
fd = 4
dir = 0x4 <error: Cannot access memory at address 0x4>
exact_username = 0 '\000'
resuming = 1 '\001'
plsel_once = 0 '\000'
I'm on Vlad's Tower, Level 1, and killed a Gray Dragon on an "air" tile while levitating via a ring. I got a message about it's body falling away and disappearing, but it also dropped dragon scales that are just "floating" there in the air. Seems like a bug that the scales don't also fall away.
Playing on Hardfought.
Unix NetHack Version 7.0.0 - last build Mar 20 2022 21:41:19
(d8d347d964b310a1d65c52326b9d30ac073ddabd).
Thanks for all your work!
I was on my way to make more holy water, I dipped into the big room's fountain and received the following messages:
Your potion of confusion dilutes. deleting trap (5) containing ammo (218)?
Program in disorder! (Saving and reloading may fix this problem.)
Please report these messages to [email protected].
Alternatively, contact local support: Contact K2 or Tangles on
irc.libera.chat channel #hardfought
Water gushes forth from the overflowing fountain!
The room looks like this:
The Curses interface is tend to place the pop-ups to the right part, But, for me, it looks ugly... Is this possible to re-align the popup menus to the center, just like DynaHack developer did?
I'm not sure that I did anything out of the ordinary this time, but taking the stairs down after defeating Medusa resulted in this mazewalk unfinished? stone at <2,2>
message:
Then,
Suddenly, the dungeon collapses.
To report this error, Contact K2 or Tangles on irc.libera.chat channel #hardfought
and it may be possible to rebuild.
mazexy: can't find a place!
In case that helps any, here's a core dump from just before the collapse: core.632359.remove.this.txt
And a tarball of ~/nh/install/games: nh-games.tar.gz
My Barbarian tried in vain to get Idefix to follow down to Dlvl 2. The pet could move, and could stay near me, but would not come down despite repeated attempts.
Having failed, I went to the mines alone and found a leash. A level teleport trap sent me back up.
I tamed my now feral pet again, applied a leash, buc tested a few things, and tried to go down stairs again.
Pet's attachment to Dlvl 1 was evidently stronger than my leash, and I received this message:
leash in use isn't attached to anything? Program in disorder! (Saving and reloading may fix this problem.)
If I go back up to Dlvl 1, I see tame little dog called Idefix, leashed to you
.
If I go back down again, I no longer get the message though my pet remains upstairs.
This is running 32b859ac8 Pre-release addition of flavor text strings for 8.0
built with stock sys/unix/hints/linux.370
.
Here's a core file, standing on the downstairs next to the pet:
core.566911.remove.this.txt
Edit: After saving and reloading, the problem persists. I dropped the leash from my inventory. The dog picked up and dropped the leash. Farlook says "tame little dog called Idefix, fleeing, leashed to you" despite the leash being on the ground (I suppose that might just be fallout from the disorder of the leash in use coming unattached?).
Basically, this leads to bohsplosions, and actual cases where the player wants to put everything they can into a container are expected to be very rare (and can be worked around with a few key presses anyway).
There is supposedly an UnNetHack commit which does this.
Drink a blessed potion of enlightenment while dagger skill is "Expert" produced the message "You have unskilled skill with dagger."
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.